在我的VB.NET应用程序和Crystal Reports(VS2010版本)中
由于某些原因,我不想使用Code传递Login Credentials Runtime。我想以这样的方式存储它们的设计时间,它永远不会提示用户ID,密码,服务器等等。
此外,在部署我的应用程序后,它不应提示这些凭据。
请在这方面提供一些解决方案。
谢谢。
答案 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路径的任何报表时,它都会在不提示输入密码或用户名的情况下运行。