【发布时间】:2016-09-21 09:24:45
【问题描述】:
我是 C# 和 SQL Server 的新手;我在 T-SQL 和 C# 中编写了一个简单的存储过程,代码调用如下:
da = new SqlDataAdapter("select_equals_Cycle", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
ds = new DataSet();
da.Fill(ds, "select_equals_Cycle");
但在这一行:
da.Fill(ds, "select_equals_Cycle");
我收到此错误:
超时。在操作完成之前超时时间已过或服务器没有响应。
我的连接字符串是这样的:
string conn = "Data Source=.;Initial Catalog=ClubEatc;Integrated Security=True;Connect Timeout=30;";
我该如何解决?谢谢。
【问题讨论】:
-
你需要找到超时的根本原因。是因为您试图从数据库中加载数以亿计的千兆字节吗?你在等锁吗?你的网络真的很慢吗?您有网络吗?你总是可以增加超时时间,但除非你明白为什么它不会真正成为一个修复,更像是一个创可贴。
-
好吧,如果所有其他方法都失败了,您可以增加连接字符串中的超时时间 - 如果过程运行那么长时间 - 但是如果存储过程运行超过 30 秒来填充数据集,则该过程是相当低效或服务器未设置为您需要的负载。
-
试试这个链接stackoverflow.com/questions/8602395/…中的步骤
标签: c# sql-server stored-procedures