我似乎在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”上设置了一次,并在整个页面中使用它。 –