【问题标题】:How Do I Force A DataSource Location In Crystal Reports?如何在 Crystal Reports 中强制数据源位置?
【发布时间】:2012-04-16 13:57:03
【问题描述】:

我继承了一些广泛使用 Crystal Reports 的非常糟糕的代码。我的问题是我可以让报告在本地正常工作,但是当我移动到生产服务器时它崩溃了。

当我在 Visual Studio 的“设置数据源位置”向导中更改连接信息时,它不会让我将其更改为生产服务器的连接信息,因为它会测试连接并且自然会失败。失败后,它会恢复到旧的“工作”连接信息。

我知道它无法远程连接。我只是想更改在服务器上部署连接信息时的连接信息。肯定有办法将这些信息强加到报告中。

任何帮助将不胜感激。我的头发快用完了。

【问题讨论】:

  • 考虑标记/提及语言和 dbms

标签: sql crystal-reports connection report datasource


【解决方案1】:

您可以创建一个 ConnectionInfo 对象,然后使用 ApplyLogOnInfo 将其应用于报表上的每个表

这是来自MSDN article on the ConnectionInfo Class的示例

private void SetConnectionInfo (string table, string server, string database, string user, string password)
{ 
   TableLogOnInfo logOnInfo = new TableLogOnInfo();
   logOnInfo = Report.Database.Tables[table].LogOnInfo;
   ConnectionInfo connectionInfo = new ConnectionInfo ();
   connectionInfo = logOnInfo.ConnectionInfo;

   connectionInfo.DatabaseName = database;
   connectionInfo.ServerName = server;
   connectionInfo.Password = password;
   connectionInfo.UserID = user;
   Report.Database.Tables [table].ApplyLogOnInfo(logOnInfo);
}

虽然我发现为 ORACLE 使用 ODBC 或 TNS 条目名称并在所有环境中保持名称相同,但通常更容易,这完全避免了代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多