varbinary(MAX)类型的大数据的SQL Server超时

时间:2012-11-01 21:45:12

标签: c# sql-server

我在SQL Server表中保留了大约12 MB的二进制数据。保存此数据的列的类型为varbinary(MAX)

当我从服务器下载这个二进制数据时,如果我在局域网中就可以了。但是,我在尝试获取数据的C#应用​​程序中收到SQL Server超时错误。

出现此错误的原因是什么?默认情况下,数据库实例的远程查询超时属性为600秒。将此更改为零并没有帮助。

可以从服务器连接并获取其他值。例如,我首先检查同一个表中的DateTime值,以确定是否应下载~12 MB的数据。如果内容是新的,那么我开始执行下载大数据。

2 个答案:

答案 0 :(得分:1)

您的连接超时是多少? RemoteQuery Timeout是服务器定义的,用于测量从EXEC到任务完成所用的时间,但连接超时是客户端定义的。 尝试在连接字符串中添加一个子句,如:

Connect Timeout=300;

并查看是否会影响您的错误。 以下是有关差异的一些信息: http://msdn.microsoft.com/en-us/library/ms177457%28v=SQL.90%29.aspx http://vyaskn.tripod.com/watch_your_timeouts.htm

答案 1 :(得分:1)

您使用System.Data.SqlClient进行查询吗?如果是这样,您可以调整SqlCommand.CommandTimeout值。默认值为30秒。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout.aspx