2012-07-24 66 views
0

IHAVE阅读接受的答案这个帖子:ExecuteReader requires an open and available Connection. The connection's current state is Connecting.NET连接池领土

我存储在数据库表中的几个连接字符串。我在想这样做这样的事情:

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 

我游荡,如果这将导致与连接池机制的问题,因为我有效地封装了一些逻辑的一类用于连接到这些数据库。

回答

0

您的类的实例不会影响SQL Server的连接字符串池的能力。只要连接字符串声明连接池并且连接字符串相同,SQL服务器就会尝试使用当前连接而不创建新连接。有关更多信息,请参阅MSDN