お世話になります。 バックエンドSQL Server、フロントエンドAccessの環境です。 リンクテーブルにしてあります。 以下のSQLを実行すると、 「odbc 呼び出しが失敗しました」 となってしまいます。 strSQL = "INSERT INTO W_テーブル(フィールド1,フィールド2)" _ & " SELECT フィールド1,フィールド2" _ & " FROM T_テーブル" _ & " WHERE ID = " & me!ID cn.Execute strSQL 毎回ではありません。 レコード件数は約5千件です。 Accessのテーブルからテーブル「T_テーブル」を開くと 問題なく開けます。 何が問題でしょうか?
ODBCのエラーは、接続の失敗や、場合によっては、ユニークキーの重複によっても起こりえます。 なので、そのメッセージのみでは判断しかねます。 1.「ODBCの呼び出しが失敗しました」の他に、番号や詳細は出てきませんか? Ex.時間切れやタイムアウト 2.バックエンドの SQLServer は、ネットワーク上にあるのでしょうか? フロントエンドと同じマシンでしょうか? 3. サーバー/クライアント 両方の アップデートが最新か確認 4. サーバー/クライアント 定期定期bな再起動 5. 操作しようとする対象のテーブルに対し、ロックは掛かっていないか? (複数人使用の際の、接続方法やレコードセットタイプ 或いは、同一マシン上の処理ではあるが、別接続にて接続していないか) 6.ネットワーク上であるなら、その時のネットワークトラフィック 同一マシンであれば、その時のマシン負荷 7. ファイヤーウォール・ウィルスソフトを切ってみる 8. サーバー側のスリープ設定は無いか。 9. サーバー側のハードウェアに問題がないか 10.マシンとOfficeのビット数が同一か ODBCの接続について、DSNを使用しているのか 11. ODBC接続のタイムアウト設定 12. ODBCデータソースに 「トレース」があると思います。 そこで、トレースの実行「トレースの開始」を押し、エラーが発生した際のログファイルを確認する 13. ADOではなく、DAOを使用する様にし エラーが発生した場合に、DBEngineの Errors コレクションを参照させる様にする 確認してみてください。
お世話になります。 1.「ODBCの呼び出しが失敗しました」の他に、番号や詳細は出てきませんか? Ex.時間切れやタイムアウト 実行時エラー -2147467259(800004005) が出ます。 2.バックエンドの SQLServer は、ネットワーク上にあるのでしょうか? フロントエンドと同じマシンでしょうか? 同じマシンです。 3. サーバー/クライアント 両方の アップデートが最新か確認 最新になっています。 4. サーバー/クライアント 定期定期bな再起動 再起動してもダメでした。 5. 操作しようとする対象のテーブルに対し、ロックは掛かっていないか? (複数人使用の際の、接続方法やレコードセットタイプ 或いは、同一マシン上の処理ではあるが、別接続にて接続していないか) 私ひとりの利用なので、ロックはかかっていないと思います。 6.ネットワーク上であるなら、その時のネットワークトラフィック 同一マシンであれば、その時のマシン負荷 タスクマネージャーで確認しましたが、 負荷がかかっているようには見えません。 7. ファイヤーウォール・ウィルスソフトを切ってみる 切ってもダメでした。 8. サーバー側のスリープ設定は無いか。 スリープ設定はしていません。 9. サーバー側のハードウェアに問題がないか 別のPCでも試しましたがダメでした。 よってハードの問題ではないと思われます。 10.マシンとOfficeのビット数が同一か ODBCの接続について、DSNを使用しているのか Office2016のボリュームライセンス版を使っています。 Windowsは64ビットですが、 マイクロソフトからの推奨でOfficeは32ビットを使っています。 Officeも64ビットにするのは難しいです。 11. ODBC接続のタイムアウト設定 すみません、やり方が分かりません。 1分ほどカーソルがクルクルしてからエラーになります。 12. ODBCデータソースに 「トレース」があると思います。 そこで、トレースの実行「トレースの開始」を押し、エラーが発生した際のログファイルを確認する すみません、やり方が分かりません。 13. ADOではなく、DAOを使用する様にし エラーが発生した場合に、DBEngineの Errors コレクションを参照させる様にする DAOで試してみます。 取り急ぎご連絡しました。
引用:実行時エラー -2147467259(800004005) が出ます。
引用:私ひとりの利用なので、ロックはかかっていないと思います。
引用:別のPCでも試しましたがダメでした。 よってハードの問題ではないと思われます。
引用:Windowsは64ビットですが、 マイクロソフトからの推奨でOfficeは32ビットを使っています。 Officeも64ビットにするのは難しいです。
引用:12. ODBCデータソースに 「トレース」があると思います。 そこで、トレースの実行「トレースの開始」を押し、エラーが発生した際のログファイルを確認する すみません、やり方が分かりません。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定アソシエイト(ACA)
マイクロソフト テクノロジー アソシエイト(MTA)