Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当数据库移动到另一台服务器时,Crystal报表未打开 请考虑,我的数据库在一个服务器“River中”,IIS在另一个服务器“IISServer”中。由于RiboServer中的某些问题,我已将数据库还原到另一台服务器“NewServer”_C#_Asp.net_Crystal Reports - Fatal编程技术网

C# 当数据库移动到另一台服务器时,Crystal报表未打开 请考虑,我的数据库在一个服务器“River中”,IIS在另一个服务器“IISServer”中。由于RiboServer中的某些问题,我已将数据库还原到另一台服务器“NewServer”

C# 当数据库移动到另一台服务器时,Crystal报表未打开 请考虑,我的数据库在一个服务器“River中”,IIS在另一个服务器“IISServer”中。由于RiboServer中的某些问题,我已将数据库还原到另一台服务器“NewServer”,c#,asp.net,crystal-reports,C#,Asp.net,Crystal Reports,由于此更改,我的web应用程序运行良好。但并非所有的水晶报告都是公开的 它将错误显示为 ASP.stores\u indent\u ascx-无法打开连接。详细信息:[数据库供应商代码:17]无法打开连接。IndentPOMRV{7BAD9D95-0A37-4041-8CBD-F4A3527C646E}。rpt详细信息:[数据库供应商代码:17] 这是我的代码: CrystalDecisions.CrystalReports.Engine.ReportDocument rpt =

由于此更改,我的web应用程序运行良好。但并非所有的水晶报告都是公开的

它将错误显示为 ASP.stores\u indent\u ascx-无法打开连接。详细信息:[数据库供应商代码:17]无法打开连接。IndentPOMRV{7BAD9D95-0A37-4041-8CBD-F4A3527C646E}。rpt详细信息:[数据库供应商代码:17]

这是我的代码:

CrystalDecisions.CrystalReports.Engine.ReportDocument rpt =
                new CrystalDecisions.CrystalReports.Engine.ReportDocument();
try
{
    string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
    string[] str = conn.Split(';');
    string server = str[0].Substring(str[0].IndexOf(" = ") + 3);
    string database = str[1].Substring(str[1].IndexOf(" = ") + 3);
    string userid = str[2].Substring(str[2].IndexOf(" = ") + 3);
    string password = str[3].Substring(str[3].IndexOf(" = ") + 3);

    rpt.Load(Server.MapPath("~/Purchase/Reports/SupplyPurchaseorder.rpt"));

    for (int i = 0; i < rpt.DataSourceConnections.Count; i++)
        rpt.DataSourceConnections[i].SetConnection(server, database, userid, password);
    rpt.SetParameterValue(0, POID);
    rpt.SetParameterValue(1, UserName);
    rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "SupplyPurchaseOrder");
}
catch (Exception ex)
{
    rpt.Dispose();
    BussinessLayer.RIBOException.Instance.HandleMe(this, ex);            
}
CrystalDecisions.CrystalReports.Engine.ReportDocument rpt=
新的CrystalDecisions.CrystalReports.Engine.ReportDocument();
尝试
{
string conn=ConfigurationManager.ConnectionString[“ConnectionString”].ToString();
字符串[]str=conn.Split(“;”);
字符串服务器=str[0]。子字符串(str[0]。IndexOf(“=”)+3);
字符串数据库=str[1]。子字符串(str[1]。IndexOf(“=”)+3);
字符串userid=str[2]。子字符串(str[2]。IndexOf(“=”)+3);
字符串密码=str[3]。子字符串(str[3]。IndexOf(“=”)+3);
Load(Server.MapPath(“~/Purchase/Reports/SupplyPurchaseorder.rpt”);
对于(int i=0;i

我能理解上面的错误。但在我的应用程序中,我有更多的crystal报表,很难在每个报表中更改数据库连接。因此,请建议解决此问题的任何解决方案。

使用Crystal Reports SDK

你好,面包车,请检查一个类似的案例:@NidheeshNNamboodhiri:是的。但我有200多份报告。有没有其他方法可以简化它?您可以使用Crystal Reports或RAS SDK来实现这一点。