2009-07-17 56 views
0

我使用测试数据库创建了一个水晶报表。我使用.NET ReportDocument类运行报告。一切正常,直到我连接到测试数据库。Crystal报表 - 运行通过.NET

当同一报告指向UAT DB(所有必需的DB对象都可用于UAT)时,我收到错误。为了解决这个问题,我必须在RPT文件中手动将服务器名称更改为UAT DB。

如何解决这个问题?

回答

1

解决方案是创建一个用于连接到目标数据库的系统DSN(ODBC)。然后,您可以将ODBC切换到您想要的任何数据库(本地,测试,舞台等)。另外,如果确保所有服务器上都有相同名称的ODBC连接,则从dev-> test-> stage-> production中移动报告应该很容易。

0

使用push reports应该可以解决您的问题。您可以将报告设置为接受强类型的ADO.NET数据集,并在运行时提供该数据集。

+0

不,我没有使用任何ADO.NET数据集。该报告正确地与DB对象进行交谈。我唯一要做的就是在运行时发送连接细节。 – Kaz 2009-07-17 15:25:15

+0

AFAIK,你不能。该报告维护自己的数据库设置,这些设置在设计时设置,并且不能在运行时更改。 – 2009-07-17 15:53:02

0

是不是它应该如何工作?它必须知道它连接的是哪个数据库?

也许我错过了一些东西,但它听起来像你只是需要获得连接权。