DB Access「ODBC–呼び出しが失敗しました。」の対処方法今日はAccessを使っていたハマった話。 ある日、PostgreSQLのテーブルをODBC経由でリンクテーブルを作成して、Accessで開こうとすると下記のようなエラーが発生しました。 ODBC--呼び出しが失敗しました。 Could not send Query(connection dead); Could not send Query(connection dead)(#26) 結論を先にいうと、PostgreSQLのバージョンが古い場合の、ODBCドライバーの指定が悪かったのです。 エラーの詳細「ODBC–呼び出しが失敗しました。」自体はよく出るメッセージで原因は多岐にわたります。このメッセージだけでの原因特定は難しいかもしれません。 今回の現象としては、
こんな感じです。 値が表示できていないだけっぽいので、文字コード?そんな指定あったっけ? 原因と対処方法Accessでリンクテーブルを作る際の設定を探してみましが、結局見つからず。 上記エラーになった設定はコチラ↓ 「PostgreSQL ANSI」です。本体のPostgreSQLの文字コードがEUC-JPとなっているため、このドライバーを指定していました。 それを「PostgreSQL」で接続を作り直します。 その後、Access側で再度、リンクテーブルを作成すると今度は無事に表示されました。 このドライバーは、PosgreSQLのバージョンとのマッピングがあるっぽくて、古いPostgreSQLには古いドライバーを使えってことなのでしょうか。ぼくの環境では下記のドライバー指定でうまくいきました。
以上、備忘録でした。 NT4.0 SQL 6.5 に 展開している 約240フィールド、20万件のテーブルに対して ACCESS97や2000で単純なクエリーを実行した場合でも 「ODBC--呼び出しは失敗しました。」(Error.Number 3146) が発生しています。 DBの存在するパソコンのスペックはCEL-666MHz MEM:320MB ネットワークを介さずODBCリンクで自身からACCESSでクエリ ーを実行しても同様です。 DBの設定に問題があるのか、SQL6.5の限界なのかどちらでし ょうか。 また、このテーブルに対するデータのインポート作業でも同 様の現象が発生する為、データ分割をして行いました。 有効なインポート手段などもあれば紹介願います。
関連するQ&A
ODBC接続のタイムアウトは?"ODBCTimeout/ODBC タイムアウト" プロパティは、Access が待機する秒数を表す整数型の値です。 既定値は 60 秒です。 このプロパティが 0 に設定されている場合、タイムアウト エラーは発生しません。
Ora原因 Oracle データソースの設定が正しく構成されていません。
ODBC どこ?[スタート] ボタンをクリックし、 [コントロール パネル] をクリックします。 [コントロール パネル] ウィンドウの [管理ツール] をダブルクリックします。 [管理ツール] ウィンドウの [データ ソース (ODBC)] をダブルクリックします。
ODBC 何の略?Open Database Connectivity (ODBC) は、関係データベース管理システム (RDBMS) にアクセスするための共通インタフェース (API)である。
|