クエリ ODBCリンクテーブルへのクエリのタイムアウト [クエリ]
ODBCリンクテーブルへのクエリを実行て、処理時間が長くなった場合、タイムアウトのメッセージが表示される場合があります。
一定時間を経過してデータベースから応答が無い場合、ACCESSが異常とみなして処理を中断するようになっています。
レスポンスが極端に悪い場合は問題ですが、ある程度の処理時間が予想される場合、処理が中断してしまうと困ります。
その場合、以下の手順で、タイムアウトまでの時間を設定することができます。
クエリのデザインビューでプロパティを表示し、図のように上半分の何も無い所をクリックすることで、クエリそのもののプロパティが表示されます。
「ODBCタイムアウト」の値を設定します(単位は秒)。「0」を設定すると、タイムアウトなしになりますが、「0」に設定することはお勧めしません。
この設定は、あくまでODBCリンクテーブルを使ったクエリが対象になる設定なので、ACCESSのテーブルに対して実行されるクエリには影響しません。
ACCESSのテーブルに対するクエリのタイムアウト設定が、どこかにあるのかと思って探して見ましたが、どうやら無いようです。で、タイムアウトもしないようです。それはそれでどうかと・・・。
余談ですが、OracleやSQLServerに対してリンクテーブルを作成した場合、データベースウィンドウのテーブル一覧にリンクテーブルが作成されます。ここからテーブルを開く場合のタイムアウト時間は、普通には変更できません。(普通は遭遇しませんが、VIEWに対してリンクすると起きることが。)
・・・マイクロソフトのサポート情報に対応方法があったと思ったんですけど、今検索したら、見つけられませんでした・・・。確かレジストリに設定があったはずなんだけど。
回避策は、パススルークエリを使うとか、ACCESSのクエリ経由でリンクテーブルを開くとか。この場合も、クエリプロパティのタイムアウトを適切に設定して下さい。
コメント 0