1

SQLServerテーブルに約12MBのバイナリデータを保持しています。このデータを保持する列のタイプはvarbinary(MAX)です。

このバイナリデータをサーバーからダウンロードするとき、LANにいる場合は問題ありません。ただし、データを取得しようとしているC#アプリケーションでSQLServerタイムアウトエラーが発生します。

このエラーが発生する理由は何でしょうか?データベースインスタンスのリモートクエリタイムアウトプロパティは、デフォルトで600秒です。これをゼロに変更しても効果はありませんでした。

接続してサーバーから他の値を取得しても問題ありません。たとえば、最初DateTimeに同じテーブルの値をチェックして、最大12MBのデータをダウンロードする必要があるかどうかを判断します。コンテンツが新しい場合は、大きなデータのダウンロードの実行を開始します。

4

2 に答える 2

1

接続タイムアウトはどれくらいですか? RemoteQuery タイムアウトはサーバーで定義され、EXEC からタスクの完了までの経過時間を測定しますが、接続タイムアウトはクライアントで定義されます。次のような句を接続文字列に追加してみてください。

Connect Timeout=300;

それがエラーに影響するかどうかを確認してください。違いに関する情報は次のとおり です

于 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 に答える