SY 發問時間: 電腦與網際網路程式設計 · 2 0 年前

vb和MS SQL 2000的連線逾時問題

我現在是用這二個工具來寫程式..

而在我的一行SQL語法要執行時..會出現\"逾時過期\"的錯誤訊息

rsa.open Set rsa = New ADODB.Recordset

rsa.CursorLocation = adUseClient

rsastr = \"select sum(fee_amount) as total_amount from A Where id = \'\" & rs.fields(\"r_id\") & \"\'\"

rsa.Open rsastr, objStr, adOpenDynamic, adLockReadOnly<--死在這一行

TABLE A的資料量約有三百多萬筆...

在SQL Query時..就約要一分多鐘...結果還是會秀出來

但我想應該不會影響查詢時間要那麼久吧!

所以我想應該是vb的問題或是sql那裡可以改變設定...

希望各位大大幫忙囉!

已更新項目:

我試過了..設過600及1200..甚至設為0(不限制)也沒有用

2 個已更新項目:

我已找到問題所在了!!查詢的欄位..沒有設索引..所以才慢的像烏龜一樣!

1 個解答

評分
  • 2 0 年前
    最佳解答

    加大Connection的Timeout時間試看看

    例如:

    objStr.CommandTimeout = 120 '代表超過120秒便會產生time out; 預設是30秒

    2006-02-08 09:24:43 補充:

    那麼先建一個view呢?Create View TotalAmountOfAAsSelect id, sum(fee_amount) as total_amount from A group by id然後rsastr = "select total_amount from TotalAmountOfA Where id = '" & rs.fields("r_id") & "'"

    參考資料: MSDN Library
還有問題?馬上發問,尋求解答。