我们公司有一堆VB6应用程序.我们正在尝试调试随机SQL超时错误,并在审核登录事件上使用SQL Server Profiler进行跟踪.我们注意到连接是以非汇集方式进入的.我们将SQLOLEDB提供程序与SQL Server 2000和2005一起使用.我搜索了互联网,我遇到的所有内容都表明默认情况下在SQLOLEDB提供程序中汇总了连接,但我们没有看到这一点.下面是我们用于连接数据库的代码.我们确实需要将这些连接合并,因为我们认为这可能是我们的随机超时错误的问题.任何人都可以阐明为什么连接池不起作用以及任何使其工作的方法?谢谢.
Dim cnn As New ADODB.Connection cnn.ConnectionString = "Provider=SQLOLEDB;Data Source=xxx;Catalog=xxx;User ID=xxx Password=xxx;" Call cnn.Open Dim cmd As New ADODB.Command Set cmd.ActiveConnection = cnn cmd.CommandText = "SELECT * FROM [Table]" Dim rs As New ADODB.RecordSet Call rs.Open(cmd, , adOpenStatic, adLockOptimistic) While Not rs.eof 'Do stuff Call rs.MoveNext Wend 'Close and Dispose connection here
cmsjr.. 5
在每次呼叫时处置连接可能会阻止池化
...始终为每个唯一用户实例化至少一个Connection对象实例.否则,当该字符串的最后一个Connection对象关闭时,将销毁该池.
http://msdn.microsoft.com/en-us/library/ms810829.aspx
在每次呼叫时处置连接可能会阻止池化
...始终为每个唯一用户实例化至少一个Connection对象实例.否则,当该字符串的最后一个Connection对象关闭时,将销毁该池.
http://msdn.microsoft.com/en-us/library/ms810829.aspx