在我的 VB.NET 应用程序和水晶报表中(VS2010 版)
由于某些原因,我不想使用代码传递登录凭据运行时。我想以这样的方式存储它们的设计时间,它永远不会提示输入用户 ID、密码、服务器......等。
此外,在我部署我的应用程序后,它不应该提示输入这些凭据。
请在这方面提供一些解决方案。
谢谢你。
在我的 VB.NET 应用程序和水晶报表中(VS2010 版)
由于某些原因,我不想使用代码传递登录凭据运行时。我想以这样的方式存储它们的设计时间,它永远不会提示输入用户 ID、密码、服务器......等。
此外,在我部署我的应用程序后,它不应该提示输入这些凭据。
请在这方面提供一些解决方案。
谢谢你。
您不能将密码保存在报告中。在您的情况下,最好的方法是使用集成安全并处理数据库内的用户权限。在这种情况下,您的安全不会受到损害,也不需要任何代码。如果您不想这样做,那么唯一可能的解决方案是使用 ODBC 文件并使用记事本对其进行编辑以添加如下行:PWD=YourPasswordHere
请记住,这将以纯文本形式公开您的密码。
虽然您无法将密码保存在报告中,但您可以进入 ODBC 连接并将密码保存在连接本身上。这样,每当您运行任何连接到该 ODBC 路径的报告时,它将在不提示输入密码或用户名的情况下运行。
您在制作报告时确实为报告指定了数据库,因此您只需要输入用户 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;
}
像这样的东西也应该对你有用。