我似乎在Oracle連接中出現間歇性問題,指出有關信號量的問題,這表明Oracle以某種方式保持連接而不是在使用後刪除它們。關於Oracle連接的查詢
下面的代碼和連接字符串我用:
連接字符串:user id=user;password=password;data source=dataSource; Validate Connection=true;Min Pool Size=10;Connection Lifetime=5;Connection Timeout=60;Incr Pool Size=5;
我使用的代碼是這樣的:
Dim OracleConn As New OracleConnection()
Dim DataTable As DataTable
Dim queryOracle As OracleCommand
Dim OracleDataAdapter As OracleDataAdapter
Dim connStr As String = "user id=user;password=password;data source=dataSource; Validate Connection=true;Min Pool Size=10;Connection Lifetime=5;Connection Timeout=60;Incr Pool Size=5;"
OracleConn.ConnectionString = connStr
Try
OracleConn.Open()
queryOracle = OracleConn.CreateCommand()
queryOracle.CommandText = "select * from table1"
DataTable = New DataTable()
OracleDataAdapter = New OracleDataAdapter(queryOracle)
OracleDataAdapter.Fill(DataTable)
table1.DataSource = DataTable.DefaultView
table1.DataBind()
Catch OracleEx As OracleException
Throw
Catch ex As Exception
Throw
Finally
If Not OracleConn Is Nothing And OracleConn.State = ConnectionState.Open Then
OracleConn.Close()
End If
End Try
現在我的問題是:
- 這是做這件事的最好方法嗎?
- 我只有「關閉」我的連接,我需要「處置」它嗎?
我使用的方式是Oracle.DataAccess.Client
。
任何幫助將非常感激
感謝您的答案 - 順便說一下,我在這個階段拋出的唯一原因是爲了測試目的:) –
也應該把using語句放在一個'Try Catch'中嗎? –
對不起另一件事 - 如果我使用'Using'方法,我必須在每次使用時重置ConnectionString - 是否正確?目前,我在「Page_Load」上設置了一次,並在整個頁面中使用它。 –