日期:2014-05-18  浏览次数:20446 次

非常非常急。敬请高手们帮忙!!分在前两天都散光了!DB2数据库连接出现 SQL0666-Estimated query processing time 192 exceeds limit 30
环境:通过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值进行修改