我正在尝试执行此查询:
SELECT * from vwLstDtaLines d1,vwLStDtafiles d2 where d1.DtaLinePaymentDate='1/1/2000'or d1.DtaLinePaymentDate='1/1/2012' or d1.DtaLineUserCre='abc' or d1.DtaLineUserMatch='abc' or d2.DtaFileName='Sent'
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
一次又一次地出现此错误
答案 0 :(得分:2)
好吧,只看你的SQL,我觉得你创建的结果集比你想要的更大。
SELECT *
from vwLstDtaLines d1,vwLStDtafiles d2
where d1.DtaLinePaymentDate='1/1/2000' or
d1.DtaLinePaymentDate='1/1/2012' or
d1.DtaLineUserCre='abc' or
d1.DtaLineUserMatch='abc' or
d2.DtaFileName='Sent'
此SQL语句在两个视图之间没有明确的JOIN。因此,您得到的结果集可能类似于d1r * d2r,其中d1r是d1中的行数,d2r是d2中的行数。
我会开始寻找那里。在SQL Server中运行以下查询以查找:
SELECT COUNT(*)
from vwLstDtaLines d1,vwLStDtafiles d2
where d1.DtaLinePaymentDate='1/1/2000' or
d1.DtaLinePaymentDate='1/1/2012' or
d1.DtaLineUserCre='abc' or
d1.DtaLineUserMatch='abc' or
d2.DtaFileName='Sent'
如果行数是天文数字,则会出现连接问题。
答案 1 :(得分:1)
您可以在Connect Timeout
string connection
Nota:默认值为15秒
调整样本
<add name="ConnectionString" connectionString="Data Source=;Initial Catalog=;Persist Security Info=True;User ID=;Password=;Connect Timeout=200" providerName="System.Data.SqlClient"/>
</connectionStrings>
链接:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx