在CrystalReports中存储登录凭据?

时间:2013-07-06 04:57:23

标签: vb.net crystal-reports

在我的VB.NET应用程序和Crystal Reports(VS2010版本)中

由于某些原因,我不想使用Code传递Login Credentials Runtime。我想以这样的方式存储它们的设计时间,它永远不会提示用户ID,密码,服务器等等。

此外,在部署我的应用程序后,它不应提示这些凭据。

请在这方面提供一些解决方案。

谢谢。

3 个答案:

答案 0 :(得分:1)

您无法在报告中保存密码。在您的情况下,最好的方法是使用集成安全性并处理数据库内的用户权限。在这种情况下,您的安全性不会受到影响,也不需要任何代码。如果您不想这样做,那么唯一可行的解​​决方案是使用ODBC文件并使用记事本编辑它以添加如下所示的行: PWD = YourPasswordHere

请记住,这会以纯文本形式显示您的密码。

答案 1 :(得分:0)

您在制作报表时指定了数据库,因此您只需要使用UserID和密码进行提供,我不太确定它在VB中是如何工作的,但在Windows窗体和WPF中我们使用此

private void ConfigureCrystalReports()
{
    rpt= new ReportDocument();
    rpt.Load(reportPath);
    ConnectionInfo connectionInfo = new ConnectionInfo();
    connectionInfo.DatabaseName = "Database";
    connectionInfo.UserID = "sa";
    connectionInfo.Password="password";
    SetDBLogonForReport(connectionInfo,rpt);
    CrystalReportViewer1.ReportSource = rpt;
}

这样的事也适合你。

答案 2 :(得分:0)

虽然您无法在报告中保存密码,但您可以进入ODBC连接并将密码保存在连接本身上。 这样,每当您运行连接到该ODBC路径的任何报表时,它都会在不提示输入密码或用户名的情况下运行。