mad*_*kow 5 .net c# visual-studio-2010 crystal-reports
我们在8.0.1.0中创建了数百个报告(我知道它们已经过时了).
我们创建了一个Visual Studio 2010 C#应用程序来运行这些报告.这是一个Windows应用程序.Web App有些麻烦.
报告全部保存在PROD环境下.
我们正在TEST环境中工作.
我们使用的是Oracle环境,所有报告都使用Oracle Server连接.
当我们通过C#运行报告时,我们继续将所有数据库位置更改为TEST环境.发生这种情况时,将删除"所有者"(架构)信息.报告失败,出现942错误.
现在,如果我们不更改数据库,请将其保留为PROD,一切正常.似乎通过更改数据库,删除了架构信息.
有任何想法吗.我一直在寻找,找不到解决方案.
代码片段:
connectionInfo.DatabaseName = "";
connectionInfo.ServerName = <SERVER>;
connectionInfo.UserID = <USER>;
connectionInfo.Password = <PWORD>;
foreach (Table crTable in crTables)
{
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = connectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
// if you wish to change the schema name as well, you will need to set Location property as follows:
//crTable.Location = "<SCHEMA>." + crTable.Name;
}
Run Code Online (Sandbox Code Playgroud)
我试过设置crTable.Location但程序锁定了.所以不知道该怎么做.
过去,我们通过执行以下操作成功更改了连接参数:
CrystalDecisions.Shared.TableLogOnInfo info = document.Database.Tables[iTable].LogOnInfo.Clone() as CrystalDecisions.Shared.TableLogOnInfo;
info.ConnectionInfo.ServerName = <SERVER>;
info.ConnectionInfo.DatabaseName = "";
info.ConnectionInfo.UserID = <USER>;
info.ConnectionInfo.Password = <PASSWORD>;
document.Database.Tables[iTable].ApplyLogOnInfo(info);
Run Code Online (Sandbox Code Playgroud)
哪里。documentCrystalDecisions.CrystalReports.Engine.ReportDocument