zoukankan      html  css  js  c++  java
  • 水晶报表 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(); 
            }
    

      

  • 相关阅读:
    vue实战使用ajax请求后台数据(小白)
    jQuery实现tab栏切换效果
    jQuery下的ajax实例
    数据库之视图更新
    SQL Server 全文索引创建
    SQL Server 分区表
    数据快照 (Database Snapshot)
    FileStream
    ODBC,OLEDB,ADO,ADO.net,JDBC 理解
    拖延症?贪玩?来试试"百万金币时间管理法"
  • 原文地址:https://www.cnblogs.com/clairelss/p/3539402.html
Copyright © 2011-2022 走看看