{0}", id); -6ren">
gpt4 book ai didi

c# - DB2 连接池

转载 作者:太空宇宙 更新时间:2023-11-03 10:56:09 24 4
gpt4 key购买 nike

请考虑一段代码:

    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 驱动程序设置?

最佳答案

    connb.Pooling = true;
connb.MinPoolSize = 10;
connb.MaxPoolSize = 100;

同时连接数超过 MinPoolSize 后将启用池化。

关于c# - DB2 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19431395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com