Crystal report(运行时13.0.2)未发布到MySql服务器的OBDC连接
在MySQL服务器上使用crystal report for.NET runtime 13.0.2。报表采用odbc连接设计。将报告导出为pdf时,不会释放到MySQL服务器的连接。在网上搜索,发现一些关于关闭报告文档的建议将释放连接,但无论我尝试什么似乎都不起作用。甚至遍历每个表,处理对象并关闭主报表和子报表上的连接Crystal report(运行时13.0.2)未发布到MySql服务器的OBDC连接,mysql,asp.net,crystal-reports,Mysql,Asp.net,Crystal Reports,在MySQL服务器上使用crystal report for.NET runtime 13.0.2。报表采用odbc连接设计。将报告导出为pdf时,不会释放到MySQL服务器的连接。在网上搜索,发现一些关于关闭报告文档的建议将释放连接,但无论我尝试什么似乎都不起作用。甚至遍历每个表,处理对象并关闭主报表和子报表上的连接 foreach (Table table in _reportDocument.Database.Tables) {
foreach (Table table in _reportDocument.Database.Tables)
{
table.Dispose();
}
// Now loop through all the sections and its objects to do the same for the subreports
//
foreach (Section section in _reportDocument.ReportDefinition.Sections)
{
// In each section we need to loop through all the reporting objects
foreach (ReportObject reportObject in section.ReportObjects)
{
if (reportObject.Kind == ReportObjectKind.SubreportObject)
{
var subReport = (SubreportObject)reportObject;
ReportDocument subDocument = subReport.OpenSubreport(subReport.SubreportName);
foreach (Table table in subDocument.Database.Tables)
{
table.Dispose();
}
subDocument.Database.Dispose();
subDocument.Close();
subDocument.Dispose();
}
}
}
_reportDocument.Database.Dispose();
_reportDocument.DataSourceConnections.Clear();
_reportDocument.Close();
_reportDocument.Dispose();
_reportDocument = null;
我们正在运行的是:MySQL 5.6.20、MySQL ODBC 5.3 ANSI驱动程序、asp.net 4.0和crystal report 13.0.12 64位、windows server 2008 R2 64位,但系统DSN是64位DSN
这是ODBC驱动程序的问题吗?深入了解crystal report support fourm。原来这是他们在crystal report中引入的一个bug。请参见此处的详细讨论: 希望其他与crystal report有同样问题的人现在不要再胡闹了 切换回13 SP 10解决问题!!请远离SP12