0

在我的 VB.NET 应用程序和水晶报表中(VS2010 版)

由于某些原因,我不想使用代码传递登录凭据运行时。我想以这样的方式存储它们的设计时间,它永远不会提示输入用户 ID、密码、服务器......等。

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

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

谢谢你。

4

3 回答 3

1

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

请记住,这将以纯文本形式公开您的密码。

于 2013-07-07T22:34:30.587 回答
0

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

于 2013-11-15T21:30:14.357 回答
0

您在制作报告时确实为报告指定了数据库,因此您只需要输入用户 ID 和密码,我不太确定它在 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;
}

像这样的东西也应该对你有用。

于 2013-07-06T06:01:46.643 回答