2012-01-16 59 views
0

我知道這已被問了一堆,但我似乎無法得到我已閱讀解決我的問題的修復。我得到SQL Server錯誤,「超時完成操作或服務器沒有響應超時。」我將工具>選項>設計器>「覆蓋連接字符串超時值」下的設置更改爲120秒(根據this發佈),但是...它在30秒後仍然超時。我從visual studio訪問數據庫,直接使用它,而不是在客戶端代碼中使用ado。我打開的建議......這裏的BTW查詢:SQl服務器我需要修復「超時過期,超時時間已過」的錯誤

SELECT Symbol FROM tblSymbolsMain WHERE ((SELECT dbo.LatestDateInDailyPricingVolBySymbol(tblSymbolsMain.Symbol) AS Expr1) < dbo.RecentTradingDateByNumber(5))

概括地說,我們的目標是從沒有每天的價格數據點主要符號表中返回所有的股票代碼在定價表中至少5個交易日。

一如往常在此先感謝..

+0

當您直接從數據庫工具(如Management Studio)調用該查詢時,該查詢是否會快速運行? – DOK 2012-01-16 19:15:59

+0

當您在Management Studio中運行查詢時會發生什麼?完成查詢所用的時間是多少? – HardCode 2012-01-16 19:18:58

+0

@DOK,HardCode我現在運行,我們在5分鐘,仍然運行..它看起來像我需要更好的邏輯? – StatsViaCsh 2012-01-16 19:24:04

回答

1

犯規似乎是正確的代碼...你有...WHERE (SELECT...) 哪裏是什麼?

你確定你是不是以後

SELECT MyCols FROM MyTable WHERE ID IN (...)

OR

SELECT MyCols FROM MyTable WHERE ID NOT IN (...)

其中(...)代表了另一種選擇返回某種ID的。

否則,當然你會得到一個超時。該選擇可能會返回一個計數,並且WHERE 1可以繼續並繼續...

+0

我同意當我讀你的文章,並採取了我的另一個第一遍,但WHERE子句應該返回一個布爾值,評估每一行。該功能比較比較兩個日期。我會認爲沒有問題... – StatsViaCsh 2012-01-16 20:07:19

+0

StatsViaCsh - 很好,如果它涉及到一個布爾值你的查詢仍然不正確,你必須說:'SELECT blah FROM MyTable WHERE myCol <(SELECT ...)'這就是你所缺少的,目前你沒有比較任何東西。 – JonH 2012-01-16 20:10:20

+0

Gotcha ..所以我需要選擇「比較」。你是對的,它現在正在運行,但以一種改變的形式,謝謝。 – StatsViaCsh 2012-01-16 20:16:03

相關問題