Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示报表.net winform应用程序时,Crystal reports登录提示将数据库名称留空_C#_Crystal Reports_Crystal Reports 2010 - Fatal编程技术网

C# 显示报表.net winform应用程序时,Crystal reports登录提示将数据库名称留空

C# 显示报表.net winform应用程序时,Crystal reports登录提示将数据库名称留空,c#,crystal-reports,crystal-reports-2010,C#,Crystal Reports,Crystal Reports 2010,我们在VS2015(.NET 4.5)中开发了一个CRM C#.NET应用程序,其中显示了大量报告 由于几个月以来,我们在生成报告时显示的登录提示出现问题,所有字段都正确填写,但数据库为空且已禁用 只有在对报表进行数据库更改后(添加表等时),才会出现此问题 在报告中,我们使用SQL本机客户端11 数据库连接在代码中传递: 首先,报告被载入 接下来,我们设置登录信息: var crConnectionInfo = new ConnectionInfo { ServerName = ser

我们在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;
之后,我们设置reportsource和parameterfields:

 _crView.ReportSource = _report;    
 _crParameterFields = _crView.ParameterFieldInfo;
还有其他人遇到过这个问题吗

尝试了不同的解决方案,例如将legacyV2运行时添加到app.config

 <startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 </startup>

通过将报表中的数据类型从SQLNCLI11更改为SQLOLEDB,解决了该问题