0

この投稿に対する受け入れられた回答を読みました: 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

これらのデータベースに接続するためのクラス内のロジックの一部を効果的にカプセル化しているため、これが接続プール メカニズムに問題を引き起こすかどうかはわかりません。

4

1 に答える 1

0

クラスのインスタンスは、接続文字列をプールする SQL サーバーの機能には影響しません。接続文字列が接続プーリングを宣言し、接続文字列が同じである限り、SQL サーバーは新しい接続を作成せずに現在の接続を使用しようとします。詳細については、 MSDNを参照してください。

于 2012-07-24T13:17:36.097 に答える