社内には VB6 アプリがたくさんあります。ランダムな SQL タイムアウト エラーをデバッグしようとしており、Audit Login イベントで SQL Server Profiler を使用してトレースを行いました。接続が非プールとして入っていることに気付きました。SQL Server 2000 および 2005 で SQLOLEDB プロバイダーを使用しています。インターネットを検索したところ、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