2017-04-10 19 views
0

で接続タイムアウトを設定します。SQL:私はこのような接続文字列を持つコンソールアプリケーションでは、接続文字列

Data Source=localhost;Initial Catalog=database_name;Integrated Security=True;Connect Timeout=100 

私が設定した接続文字列にConnect Timeoutを追加する必要がhereを読みましたタイムアウトが、私は

WAITFOR DELAY '00:00:40'; 

を含むクエリを実行する場合には、接続文字列からtimeoputが無視されているようですので、私は、タイムアウト例外を取得します。どのように接続文字列(と接続またはコマンドオブジェクトではない)でタイムアウトを設定するのですか?

+0

どのようにこれを使用していますか? SqlConnectionオブジェクトを通して?代わりに... – Milney

+0

を設定できるTimeoutプロパティがありますが、この文字列は多くの接続を作成するために使用されるため、接続文字列でのみタイムアウトを設定する必要があります。 –

+0

文字列のみの接続タイムアウトクエリーを実行するのではなく、サーバーに接続するのにかかる時間に影響します。唯一の方法は、SqlConnectionオブジェクトとSqlCommandオブジェクトに設定することです。申し訳ありません。 – Milney

答えて

2

SQL接続/コマンドに関連する2つのタイムアウトがあります - 接続はあなたがそれを開こうとすると待って喜んでどのくらい影響接続タイムアウト、およびどのくらい影響コマンドタイムアウトがあります実行されている個々のコマンドが待機します。

これらのうちの2番目のものを調整する必要があります。 SqlCommandオブジェクトのCommandTimeoutプロパティを設定します。

+0

と接続文字列でコマンドのタイムアウトを設定する方法はありますか? –

+0

私はそれについて聞いたことがありません。しかし、そうでないという意味ではありません。それがうまくいっている(タイムアウト例外がスローされた)とは言わなかったのですか? –

+0

@BudaGavril - いいえ、ありません。デフォルトの30秒は不合理ではありません。より長く/無限のタイムアウトを設定する必要がある*例外的な状況でなければなりません。 –

0

これは無視されません。これは動作です...タイムアウトすると、例外がスローされます。タイムアウトしなかった場合は、クエリが返されるまで実行されます。

try-catchブロックを使用して、例外がスローされたときに必要な操作を行います。

+0

Okですが、接続文字列でタイムアウトを10分に設定する方法はありますか? –

関連する問題