使用带有MySQL服务器的.NET运行时13.0.2的crystal report。报告采用odbc连接设计。将报告导出为pdf时,连接不会释放到MySQL服务器。搜索网络,发现关于关闭报告文档的一些建议将释放连接,但无论我尝试什么似乎都不起作用。甚至遍历每个表并处理主对象和子报表上的对象并关闭连接。
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和水晶报告13.0.12 64位,Windows Server 2008 R2 64位但系统DSN是64位DSN。
是ODBC驱动程序的问题吗?
答案 0 :(得分:0)
更多地挖掘水晶报告支持四分之一。事实证明,这是他们在水晶报告中引入的一个错误。详情请见: http://scn.sap.com/thread/3664672
希望其他任何有水晶报告问题的人都会停止拔毛(现在)。
切换回13 SP 10修复问题!!请远离SP12。