将SQL密码嵌入到Crystal Reports RPT文件中?

3
我们正在尝试使用Crystal Reports查看器,例如:http://www.thereportviewer.com/,它实际上可以重新连接到数据源并使用实时数据重新运行Crystal Reports RPT文件。但是,在运行报表时,查看器会要求输入连接到数据源的密码(在此情况下为SQL Server)。Crystal Reports是否有一种方法将连接密码嵌入到RPT文件中以避免这种情况?还是我应该使用控制面板/ODBC中的系统DSN来解决这个问题?我想其他人一定也遇到过这个问题。
5个回答

4
您不能这样做。如果可能,请在DSN中设置密码或使用可以为您存储密码的报表查看器。当然,如果您掌握.NET知识,也可以构建自己的.NET报表查看器,这并不难。
2020年4月29日添加:
您可以尝试以下操作: 通过Crystal Reports中的“创建连接”连接到“ODBC(RDO)”。在对话框底部,您会找到一个选项来输入连接字符串。连接字符串可以包含登录信息,如下面的示例所示。
示例连接字符串: DSN =; DB =; UID =; PWD = password

我尝试使用用户DSN,但它似乎无法记住密码。是否应该使用特定类型的DSN? - codeulike
我已修改原始答案,添加了一种可能的解决方案。 - Marc van Breemen
最终,我使用asp.net和CrystalReportViewer编写了自己的查看器。 - codeulike

2

自动连接SQL使用用户sa和密码在Crystal Reports中

1)在ODBC控制中创建文件DSN 2)在创建文件DSN中添加包含SA密码的行,如下所示:

[ODBC]
DRIVER=SQL Server
UID=sa
PWD=your_pass
DATABASE=Your_Database
WSID=YourServerName
APP=System operacyjny Microsoft® Windows®
SERVER=YourServerName\YourDatabase
Description=YourDescription

3) 使用您的DSN文件在Crystal Report中连接SQL

请记住,您的密码很容易被发现,因此非常危险。


1
在最新版本的报表查看器中,您可以创建一个覆盖连接,将服务器和数据库字段留空,但设置用户名和密码,它将正常工作。该软件将把用户名和密码设置为该值,而不更改报表内部的其他连接设置。这将阻止它提示您输入用户名和密码。
您也可以在ODBC驱动程序或其他驱动程序设置中设置用户名和密码,但由于安全原因,某些数据库不允许此操作...并且您可能没有使用ODBC。

0

我们也遇到了这个问题,但目前正在评估Sabrelogic Logicity Viewer。 它将用户名和密码存储在单独的文件中,调用并运行报告。 它的优点是我可以将报告存储在一个中央位置,并仅向每个用户发送调用每个报告的文件,简化了分发已分发报告的更改问题。 Sabrelogic

到目前为止,我发现它唯一的缺点是无法很好地处理动态参数。


0

我在使用HANA Studio和Crystal Report时也遇到了同样的问题,但是通过下面的连接字符串解决了它。原来我的问题在于忘记填写用户名和密码。

DRIVER={yourdriver};SERVERNODE=服务器名称或IP地址;DATABASE=数据库名称;UID=数据库用户;PWD=密码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接