Crystal 报告登录提示在显示报告 .net winform 应用程序时将数据库名称留空
Crystal reports login prompt leaves database name blank when displaying report .net winform application
我们在 VS2015 (.net 4.5) 中开发了一个 CRM C#.NET 应用程序,我们在其中显示了很多报告。
自几个月以来,我们在生成报告时显示的登录提示出现问题,所有字段均已正确填写,但数据库为空白且已禁用。
只有在我们对报表进行数据库更改后(添加表格等时)才会出现此问题
在报告中我们使用SQL原生客户端11.
代码中传入数据库连接:
首先正在加载报告。
接下来我们设置登录信息:
var crConnectionInfo = new ConnectionInfo
{
ServerName = servername,
DatabaseName = databasename,
UserID = userid,
Password = password,
};
var crTables = _report.Database.Tables;
foreach (Table crTable in crTables)
{
var crtableLogoninfo = crTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crtableLogoninfo);
}
_report.SetDatabaseLogon(userid, password);
_report.DataSourceConnections[0].IntegratedSecurity = false;
之后我们设置报告源和参数字段:
_crView.ReportSource = _report;
_crParameterFields = _crView.ParameterFieldInfo;
有没有其他人也遇到过这个问题?
尝试了不同的解决方案,例如将 legacyV2 运行时添加到 app.config。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
通过将报告中的数据类型从 SQLNCLI11 更改为 SQLOLEDB
解决了这个问题
我们在 VS2015 (.net 4.5) 中开发了一个 CRM C#.NET 应用程序,我们在其中显示了很多报告。
自几个月以来,我们在生成报告时显示的登录提示出现问题,所有字段均已正确填写,但数据库为空白且已禁用。
只有在我们对报表进行数据库更改后(添加表格等时)才会出现此问题
在报告中我们使用SQL原生客户端11.
代码中传入数据库连接:
首先正在加载报告。
接下来我们设置登录信息:
var crConnectionInfo = new ConnectionInfo
{
ServerName = servername,
DatabaseName = databasename,
UserID = userid,
Password = password,
};
var crTables = _report.Database.Tables;
foreach (Table crTable in crTables)
{
var crtableLogoninfo = crTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crtableLogoninfo);
}
_report.SetDatabaseLogon(userid, password);
_report.DataSourceConnections[0].IntegratedSecurity = false;
之后我们设置报告源和参数字段:
_crView.ReportSource = _report;
_crParameterFields = _crView.ParameterFieldInfo;
有没有其他人也遇到过这个问题?
尝试了不同的解决方案,例如将 legacyV2 运行时添加到 app.config。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
通过将报告中的数据类型从 SQLNCLI11 更改为 SQLOLEDB
解决了这个问题