Crystal报表(运行时13.0.2)不释放与MySql服务器的ODBC连接

时间:2014-12-15 05:36:40

标签: mysql asp.net crystal-reports

使用带有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驱动程序的问题吗?

1 个答案:

答案 0 :(得分:0)

更多地挖掘水晶报告支持四分之一。事实证明,这是他们在水晶报告中引入的一个错误。详情请见: http://scn.sap.com/thread/3664672

希望其他任何有水晶报告问题的人都会停止拔毛(现在)。

切换回13 SP 10修复问题!!请远离SP12。