1

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

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

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

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

4

2 回答 2

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

于 2012-11-01T21:52:56.603 回答
1

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

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

于 2012-11-02T02:28:28.363 回答