1. ホーム
  2. sql

SQLサーバーの接続文字列の「接続タイムアウト」とは何ですか?

2023-10-11 06:02:05

質問

次のような接続文字列があります(SQL Serverのプロパティから取得)。

Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\myUser\Desktop\adoBanche\Banche\bin\Debug\banche.mdf;Integrated Security=True;Connect Timeout=30

の意味がわかりません。 Timeout=30 . 誰かこの意味を説明してください。

どのように解決するのですか?

タイムアウトで を作成します。 を実行するタイムアウトではなく、接続を作成するタイムアウトです。 以上 その接続で実行されたコマンドのタイムアウトではありません。

例えば http://www.connectionstrings.com/all-sql-server-connection-string-keywords/ (プロパティは "Timeout" ではなく、 "Connect Timeout" (または "Connection Timeout") であることに注意してください)。


コメントより。

接続文字列を通してコマンドのタイムアウトを設定することはできません。しかし、SqlCommand には コマンドタイムアウト プロパティ (DbCommand から派生) があり、コマンドごとにタイムアウト (秒単位) を設定することができます。

でクエリの結果をループさせる場合、以下のことに注意してください。 Read() でクエリ結果をループする場合、タイムアウトは読み込みごとにリセットされることに注意してください。タイムアウトはネットワークリクエストごとに発生し、接続全体では発生しません。