ADO.NET连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接。一旦一个新的连接被创建并且放置在连接池中,应用程序。
技巧和提示
1.当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。
2.在关闭数据库连接前确保关闭了所有用户定义的事务。
3.不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连接,然后在下一个请求到来时创建连接池。
ADO.NET连接池faq
1.何时创建连接池?
当***个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。
2.何时关闭连接池?
当连接池中的所有连接都已经关闭时关闭连接池。
3.当连接池中的连接都已经用完,而有新的连接请求到来时会发生什么?
当连接池已经达到它的***连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。ADO.NET连接池当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。
4.我应该如何允许连接池?
对于.net应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在sqlconnection对象的连接字符串中加进pooling=true;确保你的应用程序允许连接池的使用。
5.我应该如何禁止ADO.NET连接池?
ado.net默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:
1)使用sqlconnection对象时,往连接字符串加入如下内容:pooling=false;
2)使用oledbconnection对象时,往连接字符串加入如下内容:ole db services=-4;
oling=true;确保你的应用程序允许ADO.NET连接池的使用。
5.我应该如何禁止连接池?#t#
ado.net默认为允许数据库连接池,如果你希望禁止ADO.NET连接池,可以使用如下的方式:
1)使用sqlconnection对象时,往连接字符串加入如下内容:pooling=false;
2)使用oledbconnection对象时,往连接字符串加入如下内容:ole db services=-4;