• 水晶报表 Issue


    pull模式 代码如下

    private void ShowCrystalReport()
    {
    string strDBServer = Application["DBServer"].ToString();
    string strDBName = Application["DBName"].ToString();
    string strUserId = Application["DBUserID"].ToString();
    string strPassword = Application["DBPassword"].ToString();
    //连接代码
    CrystalReportSource1.ReportDocument.Load(Server.MapPath("Report/JPInvoice.rpt"));
    CrystalReportSource1.ReportDocument.SetDatabaseLogon(strUserId, strPassword, strDBServer, strDBName);
    //设置参数
    CrystalReportSource1.ReportDocument.SetParameterValue("Invoice_No_From", strInvoiceForm);
    CrystalReportSource1.ReportDocument.SetParameterValue("Invoice_No_To", strInvoiceTo);
    CrystalReportSource1.ReportDocument.SetParameterValue("TRX_Date_From", strDateFrom);
    CrystalReportSource1.ReportDocument.SetParameterValue("TRX_Date_To",strDateTo );
    CrystalReportSource1.ReportDocument.SetParameterValue("Org_ID", "86");
    CrystalReportSource1.ReportDocument.SetParameterValue("SOB_ID", "2029");
    CrystalReportSource1.DataBind();
    CrystalReportViewer1.ReportSource = CrystalReportSource1;
    CrystalReportViewer1.DataBind();
    }
    

     开始遇到的问题是 “无法加载数据库 crdb_oracle.dll

    解决方法: 
    1) 找到 crdb_oracle.dll.

    «C:Program FilesCommon FilesBusiness Objects3.0in»或者在

     «C:Program FilesCommon FilesCrystal Decisions2.0in»中(Crystal 9)
    2)Copy to «C:Program FilesCommon FilesBusiness Objects2.7Bin 
    3)Reload solution.

    后来又遇到问题 您请求的报表需要更多信息 如图:

    首先检查DBServer和用户名密码是否配置正确,重新编译一次。

    另外 修改了代码

     private void ShowCrystalReport()
            {
              
                TableLogOnInfo log = new TableLogOnInfo(); 
                ReportDocument rd = new ReportDocument();
    
                log.ConnectionInfo.ServerName = Application["DBServer"].ToString();
                log.ConnectionInfo.Password = Application["DBPassword"].ToString();
                log.ConnectionInfo.UserID = Application["DBUserID"].ToString();
                log.ConnectionInfo.DatabaseName = Application["DBName"].ToString();
    
                rd.Load(Server.MapPath("Report/JPInvoice.rpt"));
    
                rd.SetParameterValue("Invoice_No_From", strInvoiceForm);
                rd.SetParameterValue("Invoice_No_To", strInvoiceTo);
                rd.SetParameterValue("TRX_Date_From", strDateFrom);
                rd.SetParameterValue("TRX_Date_To", strDateTo);
                rd.SetParameterValue("Org_ID", "86");
                rd.SetParameterValue("SOB_ID", "2029");
    
             
                rd.Database.Tables[0].ApplyLogOnInfo(log);//获得第一个table
    
                CrystalReportViewer1.ReportSource = rd;
                CrystalReportViewer1.DataBind(); 
            }
    

      

  • 相关阅读:
    接口中解决默认方法冲突
    继承中的访问域问题
    继承中的多态问题
    Java中方法的调用过程
    【JS】表格获取每一列方法
    【Git报错】 ! [rejected] master -> master (fetch first)
    【Vue】vue-cli配置proxyTable调用服务器接口
    layui监听多个radio事件
    【总结】display属性inline,block,inline-block
    【实例总结】fixed定位元素内部滚动显示
  • 原文地址:https://www.cnblogs.com/clairelss/p/3539402.html
Copyright © 2020-2023  润新知