SSブログ

クエリ ODBCリンクテーブルへのクエリのタイムアウト [クエリ]

 ODBCリンクテーブルへのクエリを実行て、処理時間が長くなった場合、タイムアウトのメッセージが表示される場合があります。
 一定時間を経過してデータベースから応答が無い場合、ACCESSが異常とみなして処理を中断するようになっています。

 レスポンスが極端に悪い場合は問題ですが、ある程度の処理時間が予想される場合、処理が中断してしまうと困ります。
 その場合、以下の手順で、タイムアウトまでの時間を設定することができます。


 クエリのデザインビューでプロパティを表示し、図のように上半分の何も無い所をクリックすることで、クエリそのもののプロパティが表示されます。
 「ODBCタイムアウト」の値を設定します(単位は秒)。「0」を設定すると、タイムアウトなしになりますが、「0」に設定することはお勧めしません。

 この設定は、あくまでODBCリンクテーブルを使ったクエリが対象になる設定なので、ACCESSのテーブルに対して実行されるクエリには影響しません
 ACCESSのテーブルに対するクエリのタイムアウト設定が、どこかにあるのかと思って探して見ましたが、どうやら無いようです。で、タイムアウトもしないようです。それはそれでどうかと・・・。

 余談ですが、OracleやSQLServerに対してリンクテーブルを作成した場合、データベースウィンドウのテーブル一覧にリンクテーブルが作成されます。ここからテーブルを開く場合のタイムアウト時間は、普通には変更できません。(普通は遭遇しませんが、VIEWに対してリンクすると起きることが。)
 ・・・マイクロソフトのサポート情報に対応方法があったと思ったんですけど、今検索したら、見つけられませんでした・・・。確かレジストリに設定があったはずなんだけど。
 回避策は、パススルークエリを使うとか、ACCESSのクエリ経由でリンクテーブルを開くとか。この場合も、クエリプロパティのタイムアウトを適切に設定して下さい。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
※URL(リンク)は記述できません。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。