0

我有一个使用 ColdFusion 10 配置的网络服务器。在我在 ColdFusion 中构建的应用程序中,我想部署一个需要用户输入参数的 Crystal Report。我在 Crystal Reports 2011 中构建了报表。该报表在 Designer 中工作。

然后,我使用 Recrystallize 生成报表附带的 ASPX、ASPX.VB 和 Web.config 页面。

我不得不调整 IIS 设置以适应 ColdFusion 需要启用 32 位应用程序和 Crystal Reports 组件需要禁用 32 位应用程序的事实,方法是将 Crystal Report 和页面放在它们自己的文件夹中,将它们转换为应用程序和将该应用程序设置为与 ColdFusion 应用程序不同的应用程序池。

报表查看器最初打开时会提示输入报表所基于的参数。当您输入参数并单击确定时,报告将出错并显示以下对话框:无法打开连接。无法打开连接。[带有报告名称]。

我不知道从哪里开始解决这个问题。

您可以提供的任何帮助将不胜感激。

4

1 回答 1

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 文件…………

   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();      

    }
于 2013-04-17T05:23:38.340 回答