sqlconnection连接池


前段时间尝试连接数据库,然后调用sqlConnection.Close(), 最后再将该数据库删除,结果提示数据库正在使用,后来察看数据库进程情况,发现是自己在用该数据库,突然想到.Net支持连接池技术。sqlConnection.Closle()和sqlConnection.Dispose()并不会关掉数据库的物理连接。查看MSDN,结论如下:

当连接打开时,将根据一种精确的匹配算法来创建连接池,该算法会使连接池与连接中的字符串相关联。每个连接池都与一个不同的连接字符串相关联。当新连接打开时,如果连接字符串不精确匹配现有池,则将创建一个新池。

连接池是为每个唯一的连接字符串创建的。当创建一个池后,将创建多个连接对象并将其添加到该池中,以满足最小池大小的要求。连接将根据需要添加到池中,直至达到最大池大小。对 Connection 调用 Close 或 Dispose 时,连接被释放回池中,而跟数据库的物理连接并没有断掉。连接池一旦创建,直到活动进程终止时才会被毁坏。非活动或空池的维护只需要最少的系统开销。

连接字符串中,有Pooling这个关键字,默认情况下,其值为true,即支持连接池技术。如果不想支持连接池技术,可以显式地将其赋值为false.另外Max Pool Size, Min Pool Size为池允许的最大和最小连接数。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中,使用SqlConnection类来建立与SQL Server数据库的连接。连接字符串的格式取决于数据库的配置和登录方式。 如果数据库的连接字符串是类似于"server=.;database=数据库;uid=DESKTOP-32BLS5P\\Dell;integrated security=SSPI"的形式,其中使用的是Windows验证方式,可以使用以下代码来建立连接: ```csharp string myconnection1 = "server=.;database=数据库;uid=DESKTOP-32BLS5P\\Dell;integrated security=SSPI"; SqlConnection sqlconn1 = new SqlConnection(myconnection1); ``` \[1\] 如果数据库的连接字符串是类似于"server=.\\SQLEXPRESS;database=数据库;uid=DATA02\\Administrator;integrated security=SSPI"的形式,其中使用的是Windows验证方式,可以使用以下代码来建立连接: ```csharp string myconnection1 = "server=.\\SQLEXPRESS;database=数据库;uid=DATA02\\Administrator;integrated security=SSPI"; SqlConnection sqlconn1 = new SqlConnection(myconnection1); ``` \[2\] 在连接字符串中,还可以设置一些连接池的属性,例如Pooling、Max Pool Size和Min Pool Size。Pooling属性用于指定是否启用连接池,Max Pool Size属性用于指定连接池中允许的最大连接数,Min Pool Size属性用于指定连接池中允许的最小连接数。 例如,如果要启用连接池,并设置最大连接数为100,最小连接数为0,可以在连接字符串中添加以下属性: ```csharp string myconnection1 = "server=.;database=数据库;uid=DESKTOP-32BLS5P\\Dell;integrated security=SSPI;Pooling=true;Max Pool Size=100;Min Pool Size=0"; SqlConnection sqlconn1 = new SqlConnection(myconnection1); ``` \[3\] 以上是根据提供的引用内容给出的答案,希望能够帮到您。 #### 引用[.reference_title] - *1* *2* [C#项目中使用SQLConnection连接SQL server数据库](https://blog.csdn.net/qq_36323164/article/details/121415147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C# SqlConnection 连接池](https://blog.csdn.net/qqshuaishuai/article/details/121747658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值