【发布时间】:2017-01-28 08:11:42
【问题描述】:
try
{
string spath = AppDomain.CurrentDomain.BaseDirectory;
spath += "myReportFileName.rpt";
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(spath);
cryRpt.DataSourceConnections[0].SetConnection("Server Name", "DB Name", true);
cryRpt.DataSourceConnections[0].IntegratedSecurity = true;
cryRpt.SetParameterValue("Field Name", "Value");
cryRpt.RecordSelectionFormula = "Correct Formula";
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
catch (System.Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
在我的系统中,这段代码是可以的。但在其他系统中,它有错误。我在所有其他系统中正确安装了水晶报告。
此代码执行时出错:
crystaldecisions.crystalreports.engine.reportdocument' 抛出异常
然后我在客户端系统中执行了 CRRuntime_32bit_13_0_3.msi。该错误解决了但其他问题:
运行代码后,出现“数据库登录”对话框,我没有自动连接数据库,也没有查看报告文件!!!
请帮帮我,我该怎么办?
【问题讨论】:
-
如果您使用集成安全性,则执行您的报告的用户需要拥有数据库权限。如果身份验证失败,则会向用户显示连接对话框以提供正确的凭据。您的代码中没有什么需要修复的。
-
用户有权限,“数据库登录”对话框显示禁用数据库名称字段!!!然后使用无法设置数据库名称
-
我的解决方案是什么? @rene
-
我不知道。如果您确定凭据正常并且其他依赖项到位,我不知道。
-
@rene 还是谢谢你
标签: c# crystal-reports reportdocument