更改数据库位置会删除所有者架构

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但程序锁定了.所以不知道该怎么做.

Igo*_*gor 1

过去,我们通过执行以下操作成功更改了连接参数:

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