环境:通过ODBC连接到DB2,VS2003,
代码:返回Dataset的程序如下:
Public Function getDataset(ByVal con As OdbcConnection, ByVal SQL As String) As DataSet
Dim dataset1 As New DataSet
Dim myadapter As OdbcDataAdapter
Try
myadapter = New OdbcDataAdapter(SQL, con)
myadapter.Fill(dataset1)
Catch ex As Exception
End Try
Return dataset1
End Function
现象:本地调试一切好使。
部署到服务器上时,
Catch到错误。
SQL0666-Estimated query processing time 192 exceeds limit 30.
其它:追出来的SQL语句用SQL Explorer通过同一个ODBC连接执行,可以查到数据。
这个表一共大约有130万条数据。
不能动表
想高人们解释一下。为什么C/s程序通过ODBC可以读出来。而我用asp.net读的时候给我报超时错误?我在哪里修改这个limit值?
------解决方案--------------------------------------------------------
这个不懂,偶能做的只有帮你顶上去让达人帮你解决了~
------解决方案--------------------------------------------------------
为什么C/s程序通过ODBC可以读出来。
这个我也不太清楚,只知道odbc象一个转换接口似的,可以把很多类型的数据库连接到应用程序上.
而我用asp.net读的时候给我报超时错误?
因为使用odbc来读取数据需要一个转换过程,所以肯定是很慢的,你可以尝试一下修改一下自己的程序,下载一个VS2003的DB2的类库(好象VS2003就自带着),直接使用其中的类,这样可以快很多.
我在哪里修改这个limit值?
你可以sqlcommand中寻找到timeout值进行修改