1
VB2005で作成したレポートがあります。レポートビルダーで完全に機能し、サーバー上のレポートマネージャーで機能します。SSRS2005レポートはビルダーとマネージャーでは動作しますが、ビューアーでは機能しません
ただし、レポートビューアではaspxページがあり、結果は0です。
レポートはレンダリングされますが、データは返されません。ここで
は私のSQLコードです:ここで
SELECT v_rpt_Company.Company_Name, SO_Activity.Subject, SO_Activity.Notes, SO_Activity.Date_Closed, SO_Activity.Last_Update, v_rpt_Member.Member_ID,
v_rpt_ActivityType.SO_Activity_Type_Desc, v_rpt_ActivityStatus.SO_Act_Status_Desc
FROM v_rpt_Company LEFT OUTER JOIN
SO_Activity ON v_rpt_Company.Company_RecID = SO_Activity.Company_RecID LEFT OUTER JOIN
v_rpt_Member ON SO_Activity.Assign_To = v_rpt_Member.Member_ID LEFT OUTER JOIN
Company_Team ON v_rpt_Member.Member_RecID = Company_Team.Member_RecID AND
v_rpt_Company.Company_RecID = Company_Team.Company_RecID LEFT OUTER JOIN
v_rpt_ActivityType ON SO_Activity.SO_Activity_Type_RecID = v_rpt_ActivityType.SO_Activity_Type_RecID LEFT OUTER JOIN
v_rpt_ActivityStatus ON SO_Activity.so_act_status_recid = v_rpt_ActivityStatus.SO_Act_Status_RecID
WHERE (@acctmgr <> 'true' OR Company_Team.AcctMgr_Flag = 1) AND
(SO_Activity.Assign_To = @member) AND (v_rpt_ActivityStatus.SO_Act_Status_Desc = CASE WHEN @act_status IS NULL
THEN v_rpt_ActivityStatus.so_act_status_desc ELSE @act_status END) AND ((@company = '') OR (v_rpt_Company.Company_RecID = @company)) AND (SO_Activity.Last_Update >= CONVERT(datetime, @date_start, 101)) AND (SO_Activity.Last_Update <= CONVERT(datetime, @date_end, 101))
GROUP BY v_rpt_Company.Company_Name, SO_Activity.Subject, SO_Activity.Notes, SO_Activity.Date_Closed, SO_Activity.Last_Update, v_rpt_Member.Member_ID,
v_rpt_ActivityType.SO_Activity_Type_Desc, v_rpt_ActivityStatus.SO_Act_Status_Desc
ORDER BY v_rpt_Company.Company_Name, SO_Activity.Last_Update DESC
は私のasp.netコードです:
<div style="text-align:center;border-style:solid;border-width:3px; width:auto;height:auto;">
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
Height="700px" ProcessingMode="Remote" Width="100%" ShowParameterPrompts="False">
<ServerReport ReportPath="/path/report" ReportServerUrl="http:myserver/reportserver" />
</rsweb:ReportViewer>
</div>
そしてここでは、私のC#のである:
/*
* Retrieve parameters from URL and send them to the report
*/
private void getParametersFromURL()
{
//Load Parameters from URL
//Requests that are commented, are commented because of lack of ConnectWise Support
String[] parameters = new String[7];
parameters[0] = Request.QueryString["acctmgr"];
parameters[1] = Request.QueryString["member"];
parameters[2] = Request.QueryString["details"];
parameters[3] = Request.QueryString["act_status"];
parameters[4] = Request.QueryString["company"];
parameters[5] = Request.QueryString["date_start"];
parameters[6] = Request.QueryString["date_end"];
//Create Parameter Collection Array
Microsoft.Reporting.WebForms.ReportParameter[] reportParameterCollection = new Microsoft.Reporting.WebForms.ReportParameter[parameters.Length];
//Loop through each parameter and load the name and value into the parameter collection
int i = 0;
foreach (String parameter in parameters)
{
reportParameterCollection[i] = new Microsoft.Reporting.WebForms.ReportParameter();
reportParameterCollection[i].Name = getParameterName(i);
reportParameterCollection[i].Values.Add(Convert.ToString(parameters[i]));
i++;
}
//Load Parameters into the ReportViewer
ReportViewer1.ServerReport.SetParameters(reportParameterCollection);
ReportViewer1.ServerReport.Refresh();
}
/*
* Takes the index of the element in the parameter array
* then returns the correct parameter name to return to the report viewer
*/
public String getParameterName(int number)
{
switch (number)
{
case 0:
return "AcctMgr";
case 1:
return "member";
case 2:
return "details";
case 3:
return "act_status";
case 4:
return "company";
case 5:
return "date_start";
case 6:
return "date_end";
default:
Response.Write("<script language='javascript'>alert('Error: getParameterName(number) failed. Parameter #: " + number + ");</script>");
return "error";
}
}
"reportParameterCollection"にパラメータがありませんか? ReportViewer ShowParameterPrompts = "True"に設定して手動で入力しようとしましたか? –
いいえ、何もありません。私は何のエラーもなく、レンダリングしても結果はありません。 パラメータプロンプトを使用して完全に動作します。 –
これは私のURLの例です: ます。http:?//myurl/reports/myapp.aspx会社= 2&詳細= D&メンバー=メンバー名&acctmgr =偽&act_status =&DATE_START = 01パーセント2f01%の2f2012&DATE_END = 03パーセント2f14%の2f2012 –