SqlServer Odbc接続をしている状態です。
ネットワーク回線切れ等で接続できない時、
da.Fillをしたときにしばらく固まる現象を、すぐ抜けるようにしたいです。
CommandTimeout,connectionTimeOutは3秒に設定されています。
odbcad32の中を開いて、システムDNSの設定を完全に削除すると、固まりません。
また、SqlServerではなくFirebirdで接続をした際に、
DB接続エラーになった場合のda.fill部分での挙動はすぐにCatchへ抜けてくれます。
もしかしたら、SqlServer用のドライバー特有の設定があったりするのかなと思っているのですが。。。
何かわかる方いましたら教えて下さい。
宜しくお願いします。
public void ExecuteQuery(OdbcCommand odbccmd, DataTable dt) { if (_DbConnection == null) { Open(); } odbccmd.Connection = _DbConnection; if (_Transaction != null) odbccmd.Transaction = _Transaction; using (OdbcDataAdapter da = new OdbcDataAdapter(odbccmd)) { da.SelectCommand.CommandTimeout = 3; ///ここで固まる。(try, Catchをしても同じ。Tryの中で固まります) da.Fill(dt); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。