问题描述
我有一个使用 .NET Framework 3.5 和 ODP.NET 托管驱动程序 (Oracle.DataAccess.dll 2.112.3.0) 的 VB 程序,该程序连接到远程服务器(默认为池化)以查询数据。
我已将 CommandTimeout 指定为 5 秒并尝试查询需要大约 10 秒才能完成的数据。但是 OracleDataAdapter 在连接到远程服务器时不会抛出 sql 超时错误。同时 OracleDataAdapter 在连接到本地数据库时会抛出 sql 超时错误。看起来 CommandTimeout 对远程服务器不起作用。如何使 CommandTimeout 工作到远程服务器?
另一个问题是程序在执行方法期间互联网连接丢失时卡在填充方法中。将 CommandTimeout 设置为 60 秒不起作用。为什么在查询数据期间连接丢失时 CommandTimeout 不起作用? 包含的代码:
Dim connection As OracleConnection = New OracleConnection(connectionstring)
Dim oracleDataAdapter As New OracleDataAdapter(connection.CreateCommand())
Dim dataset as New DataSet
Try
oracleDataAdapter.SelectCommand.AddToStatementCache = False
oracleDataAdapter.SelectCommand.NotificationAutoEnlist = False
oracleDataAdapter.SelectCommand.CommandTimeout = 60
oracleDataAdapter.SelectCommand.CommandText = str_sql
Dim int_Count As Integer = oracleDataAdapter.Fill(dataset,table)
Return int_Count
Catch
Throw
Finally
Dataset.dispose()
oracleDataAdapter.dispose()
End Try
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)