2011-03-17 46 views
2

SQL在47秒内工作。TimeOut中的SQL已过期

SELECT B.HESAP_NO, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2 AS 'TEKLIF',B.MUS_K_ISIM, 
dbo.fngcodeme(B.HESAP_NO, B.DOVIZ_KOD, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,'20110201', '20110228') AS 'YATAN', 
(CASE WHEN B.DOVIZ_KOD = 21 THEN 'EUR' WHEN B.DOVIZ_KOD = 2 THEN 'USD' WHEN B.DOVIZ_KOD = 1 THEN 'TL' END) AS 'KUR', 
D.AVUKAT, 
(CASE WHEN D.HESAP IN (SELECT T_HESAP_NO FROM TAKIP) THEN 
(SELECT CONVERT(VARCHAR(10),ICRA_TAR,103) FROM TAKIP WHERE T_HESAP_NO = D.HESAP) 
ELSE ' ' END) AS 'ICRA TARİHİ', 
(CASE WHEN D.HESAP IN (SELECT T_HESAP_NO FROM TAKIP) THEN 
(SELECT CONVERT(VARCHAR(10),HACIZ_TAR,103) FROM TAKIP WHERE T_HESAP_NO = D.HESAP) 
ELSE '' END) AS 'HACİZ TARİHİ' 
FROM YAZ..MARDATA.S_TEKLIF B, AVUKAT D 
WHERE B.HESAP_NO = D.HESAP 
AND B.KAPANIS_TAR IS NULL 
AND ISNULL(dbo.fngcodeme(B.HESAP_NO, B.DOVIZ_KOD, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,'20110201', '20110228'),0) > 0 
GROUP BY B.HESAP_NO, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,B.DOVIZ_KOD ,B.MUS_K_ISIM, D.AVUKAT, D.HESAP 

我的超时是Connect Timeout=20000

但我仍然得到这个错误。

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 

Line 160:  myConnection.Open(); 
Line 161: 
Line 162:  SqlDataReader dr = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection); 
Line 163: 
Line 164:  // show the data 

我可以在哪里做错了吗?

回答

4

你必须增加在mycommand的对象超时:

myCommand.CommandTimeout = 60000; // 1 minute, put 0 for infinite 
+0

你是绝对正确的。谢谢 ! – 2011-03-17 08:01:24

+1

是不是在几秒钟内的价值? http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout.aspx – 2012-07-19 10:06:41

1

也许这不是连接超时,但asp.net超时

+0

你是对的。谢谢 – 2011-03-17 08:01:42