2
請考慮一段代碼:DB2連接池
static string GetUser(int id)
{
Console.WriteLine("Start get -> {0}", id);
var connb = new DB2ConnectionStringBuilder(ConfigurationManager.ConnectionStrings["DB2_USER"].ConnectionString);
connb.Pooling = true;
connb.MinPoolSize = 10;
connb.MaxPoolSize = 100;
var conn = new DB2Connection(connb.ConnectionString);
var cmd = new DB2Command("SELECT name FROM USR.USERS WHERE id = @id");
cmd.Parameters.Add("@id", id);
cmd.Connection = conn;
conn.Open();
// conn.IsConnectionFromPool <-- false
var reader = cmd.ExecuteReader();
var result = string.Empty;
while(reader.Read())
result = reader.GetString(0);
conn.Close();
conn.Dispose();
Console.WriteLine("End get <- {0} {1}", id, result);
return result;
}
的IBM .NET數據庫驅動程序此示例中使用。
雖然連接字符串明確定義連接池設置,但屬性IsConnectionFromPool從不爲真。
這是否真的意味着數據庫驅動程序不爲我的情況維護池? 在這種情況下,.NET驅動程序設置應該以某種方式進行調整嗎?
確實!我對MinPoolSize的解釋是'關閉後不會銷燬的連接對象的數量,因此可供重用'。所以我期望即使是第一個將處理'連接池'商店。 –