この投稿に対する受け入れられた回答を読みました: ExecuteReader には、オープンで利用可能な接続が必要です。接続の現在の状態は [接続中] です
データベース テーブルに格納されている接続文字列がいくつかあります。私はこのようなことを考えていました:
Public class classConnection
private con1 As dbConnection
private strConnectionString As String
private intType As Integer
Public Sub New()
con1 = New SQLConnection({connectionstring})
End Sub
Public Sub getConnectionStringByDescription()
'Connect to con1 and get connection string
'Set the connection string property
'Set the database type e.g. Oracle
End Sub
Public Sub getConnectionStringByStatus()
'Connect to con1 and get connection string
'Set the database type e.g. Oracle
End Sub
Public Function getConnection() As dbConnection
If intType=1 Then
return New SQLConnection(strConnectionString)
ElseIf intType=2 Then
return New OracleConnection(strConnectionString)
End If
End Function
これらのデータベースに接続するためのクラス内のロジックの一部を効果的にカプセル化しているため、これが接続プール メカニズムに問題を引き起こすかどうかはわかりません。