Bud*_*aya 15 c# sql-server ado.net sqlconnection
任何人都可以向我简要介绍如何在ADO.Net中进行连接池,我需要连接到3个独立的数据库.其中2个在同一服务器中,另一个在另一个服务器中.
更好的代码片段..
Mar*_*ell 14
只要您严格处理连接,默认情况下(至少对于sql-server)就是它会自动运行.在您的示例中,您最好只有3个底层连接(每个连接字符串一个).
但始终确保您的连接处置,理想情况下using:
using(var conn = new SqlConnection(connectionString)) {
// use conn
}
Run Code Online (Sandbox Code Playgroud)
然后它被释放回池中(当接下来看到相同的连接字符串时重新使用),即使抛出异常也是如此.
要禁用池(如果选择),请Pooling=false;在连接字符串中包含.
某些提供程序不提供连接池.据我所知,这包括Microsoft Access数据库(Jet)和SQL Server CE(精简版)的连接字符串.
缺少连接池会使数据库访问速度显着降低.
丢失的Jet池的解决方案是让我在整个程序生命周期内始终与Jet数据库建立一个单独的连接(与推荐的技术相反).这极大地加速了我在.NET应用程序中的Jet Access数据库SQL查询,但也只适用于本地Jet数据库; 对于网络共享上的Jet数据库,我得到了关于太多打开文件句柄的相对快速的异常.
对于SQL Server CE,到目前为止我找不到解决方案.
| 归档时间: |
|
| 查看次数: |
9618 次 |
| 最近记录: |