水晶报告连接没有使用SetDatabaseLogon关闭



我正在使用晶体报告(过程绑定),当我退出报告时不释放连接。我将参数传递给crystal为:

Dim InserSql = "exec USP_TEST parameter1,parameter2
ConnectDB() /* connecting to database */
DtAdapter = New OdbcDataAdapter(InserSql, Con)
DtAdapter.Fill(DataTable)
rpt.SetDataSource(DataTable)
rpt.SetDatabaseLogon("usrname", "password")
CrystalReportViewer1.ReportSource = rpt /* rpt is crystal report object */
Con.Close() /*closing connection */
rpt.Database.Dispose()
Con.Dispose() 

关闭UI中的连接,但不释放水晶报表的连接。请帮助。

您正在使用报表登录到服务器,但是将报表的数据源设置为使用数据适配器拉出的数据表。一旦数据表被填充并且连接被处理,您就不再连接到sql server,因为您正在处理内存中的数据集。不要为报表设置登录凭据,清除数据源连接并将数据源设置为内存中的数据表。

Dim InserSql = "exec USP_TEST parameter1,parameter2" 
ConnectDB() /* connecting to database */ 
DtAdapter = New OdbcDataAdapter(InserSql, Con) 
DtAdapter.Fill(DataTable)
DtAdapter.Dispose() /* dispose data adapter after filling datatable */
Con.Close()
Con.Dispose() /* connection disposed */
rpt.DataSourceConnections.Clear() /* Clear existing login/datasource for report object */ 
rpt.SetDataSource(DataTable)     
CrystalReportViewer1.ReportSource = rpt /* rpt is crystal report object */ 
CrystalReportViewer1.RefreshReport() /* rpt is refreshed with data from datatable and is not connected to database */

相关内容

  • 没有找到相关文章

最新更新