Oracle と Access で ORA-01013
サーバ上の Oracle 8.1.6 のデータベースを、クライアント側にある Access2000 で ODBC 経由にて「テーブルのリンク」を張り、クエリーを作成して Excel フォーマットでエクスポートして資料を作っていました。
ふだんなら、40〜50秒ほどかかってエクスポートできていたのが、ある時、突然、エクスポートしようとすると、「ODBC--呼び出しに失敗しました。[Oracle][ODBC][Ora]ORA-01013:ユーザーによってカレント操作の取消しが要求されました。(#1013)」とメッセージが連発するようになりました。今までも、時々、出ていたが再度、実行するとうまくいっていたので、あまり気にしなかったが、今回は。。。。。
「取り消しなんかしとらんぞ」と思いつつ、ほかのクエリーも試してみましたが、同様のエラーが出る。「これはデータ件数が先月より増えたせいだな」と思ったが、今更、どうしようもない。誰かに聞くにも、今はAM2:00。資料は今日の午前中までに必要。
考えられるとすると、データ件数が増えたことにより、タイムアウトが発生しているらしい。エラーメッセージが出るのは決まって60秒後だからだ。
内容からすると、ODBC の設定らしいので、ODBC の設定から調べてみたがそれらしいところはなかった。
ODBC は Jet を経由しているから、 Jet の設定かもと思ったが、設定するところが見つからず。
Web で ODBC の設定、 Jet の設定、Oracle 、 Net8 の設定を調べて見たが、どうもわからない。
そこで、 Microsoft 社の「サポート技術情報検索」で調べてみた。いろいろ、調べた結果、「ODBC接続タイムアウトの設定をレジストリで変更する」と言うのを見つけた。障害の内容として異なるが、何とかいけそうな気がしたので設定を変更してみたが、だめだった。
いろいろ悩んだあげく、 Access の Help を検索してみた。すると、意外なことに Help に載っていた。(今まで、 Help で解決した試しがないので。。。)
解決方法は下記の内容です。
わかってしまえば、何の事はなかった。
もっと早く、Help を見ておけばよかった。Microsoft に申し訳ない。灯台もと暗しとはこのことか。。。