2013-07-06 56 views
0

在我的VB.NET应用程序和水晶报表(VS2010版)CrystalReports中的商店登录凭证?

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

另外,它不应提示输入我的应用程序。

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

谢谢。

+1

如果有人会看到这些,你会不会介意吗?如果不是,我会强烈建议不要将敏感数据存储在任何类似的报告中。 – Codexer

+0

谢谢。在我的情况下安全不是主要问题因此... –

回答

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; 
} 

这样的事情也应该适合你。

+0

谢谢,但我不想使用代码来传递登录凭证 –

+0

这样做不会提示用户! – Waqar

1

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

请记住,这将暴露您的密码纯文本。

+0

我不想在我的应用程序中使用代码,只想让客户端无法打开我的数据库,只有我的水晶报表可以访问我的数据库。谢谢。 –

0

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