我有一个配置了ColdFusion 10的Web服务器。在我在ColdFusion中构建的应用程序中,我想部署一个需要用户输入参数的Crystal Report。我在Crystal Reports 2011中构建了报表。该报表在Designer中运行。
然后我使用Recrystallize生成与报告一起使用的ASPX,ASPX.VB和Web.config页面。
我必须调整IIS设置以适应ColdFusion需要启用32位应用程序的事实,并且Crystal Reports组件需要通过将Crystal Report和页面放在他们自己的文件夹中来禁用32位应用程序,将它们转换为应用程序并将该应用程序设置为与ColdFusion应用程序不同的应用程序池。
报表查看器最初打开时会显示构建报表的参数的提示。输入参数并单击“确定”后,报告将显示错误,并显示以下对话框:无法打开连接。无法打开连接。 [使用报告名称]。
我不知道从哪里开始排除故障。
非常感谢您提供的任何帮助。
答案 0 :(得分:0)
这是aspx文件.....
<asp:UpdatePanel ID="updpnlReport" runat="server">
<ContentTemplate>
<CR:CrystalReportViewer ID="crvAccountReportParameter" runat="server"
oninit="crvAccountReportParameter_Init"
EnableParameterPrompt="False" HasToggleParameterPanelButton = "false" HasCrystalLogo ="False"/>
</ContentTemplate>
</asp:UpdatePanel>
这是.cs fie ..........
protected void btnSubmit_Click(object sender, EventArgs e)
{
LoadData();
}
protected void LoadData()
{
string pstrType;
pstrType = Request.QueryString["Type"];
string strCompanyName = objSession.SelCompanyName;
string strBranchName = objSession.SelBranchName;
string strHeading = "";
DataSet dsData = null;
dsData = objAccountReportBAL.getAccountRegister(Convert.ToInt16(objSession.FyId), int.MinValue, long.MinValue, Convert.ToDateTime(RadDtpFromDate.SelectedDate), Convert.ToDateTime(RadDtpToDate.SelectedDate), pstrType);
dsData.Tables[0].TableName = "Account_Trn_v";
if (pstrType == "JV")
{
strHeading = "Journal Voucher Register Report";
rptDoc.Load(Server.MapPath("~/ReportCrystal/Account/Detail/GeneralVoucharRegister.rpt"));
}
rptDoc.SetDataSource(dsData.Tables[0]);
rptDoc.SetParameterValue("@CompanyName", objSession.SelCompanyName);
rptDoc.SetParameterValue("@BranchName", objSession.SelBranchName);
rptDoc.SetParameterValue("@Heading", strHeading);
rptDoc.SetParameterValue("@Stdate", RadDtpFromDate.SelectedDate);
rptDoc.SetParameterValue("@EnDate", RadDtpToDate.SelectedDate);
crvAccountReportParameter.ReportSource = rptDoc;
crvAccountReportParameter.DataBind();
}