0
我正在使用以下代碼模式在使用ODBC的第三方數據庫上運行某些查詢。ODBC代碼僅在連接池處於打開狀態時才起作用
如果我使用ODBC數據源管理員手動啓用連接池,一切正常。
問題是如果連接池被禁用,第二次數據庫調用時出現ODBC連接錯誤。
基本上,我想避免在客戶計算機上啓用連接池的部署麻煩(除非有一些簡單的方法)。
以下ODBC代碼有問題嗎?
using (var conn = GetODBCConnection())
{
using (var sdr = new OdbcCommand("SELECT * FROM [TABLE]", conn).ExecuteReader())
{
while (sdr.Read())
{
// use data
}
}
}
private OdbcConnection GetGenieConnection()
{
var conn = new OdbcConnection(_connString);
conn.Open();
return conn;
}
PS:我正在使用4D v12 ODBC驅動程序。我調查了連接字符串選項來打開連接池但找不到任何東西。
編輯:這種行爲可能與線程有關嗎?我正在調用BackgroundWorker線程中的第一個ODBC數據庫調用。這似乎工作,如果我在一個單一的線程中調用一切。這可以解釋嗎?