我使用测试DB创建了一个水晶报告 . 我使用.NET ReportDocument类运行报告 . 一切正常,直到我连接到测试数据库 .
当同一个报告指向UAT DB时(UAT中也可以使用所有必需的DB对象),我收到错误 . 要解决此问题,我必须在RPT文件中手动将服务器名称更改为UAT DB .
如何解决这个问题?
解决方案是创建用于连接到目标数据库的系统DSN(ODBC) . 然后,您可以将ODBC切换到您想要的任何数据库(本地,测试,阶段等) . 此外,如果确保所有服务器上都提供相同名称的ODBC连接,则从dev-> test-> stage-> production移动报表应该很容易 .
使用push reports应该可以解决您的问题 . 您可以将报表设置为接受强类型的ADO.NET数据集,并在运行时提供该数据集 .
这不是它应该如何工作?它必须知道它连接的是什么数据库?
也许我错过了一些东西,但听起来你只需要正确的连接 .
3 回答
解决方案是创建用于连接到目标数据库的系统DSN(ODBC) . 然后,您可以将ODBC切换到您想要的任何数据库(本地,测试,阶段等) . 此外,如果确保所有服务器上都提供相同名称的ODBC连接,则从dev-> test-> stage-> production移动报表应该很容易 .
使用push reports应该可以解决您的问题 . 您可以将报表设置为接受强类型的ADO.NET数据集,并在运行时提供该数据集 .
这不是它应该如何工作?它必须知道它连接的是什么数据库?
也许我错过了一些东西,但听起来你只需要正确的连接 .