В нашей компании есть несколько приложений 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