こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

ACCESSのODBC接続

ご存知の方がいたら教えて下さい。

【動作環境】
OS:WINDOWS10(PRO)
ACCESS 2013
SQL SERVER EXPRESS 2016

ODBCを使用してACCESSからSQL SERVERに接続しています。
データ参照やINSERTは問題なく、データ削除で2万件ほどのデータを削除しようとすると、「実行時エラー'3146' ODBC---呼び出しが失敗しました」のメッセージが表示され止まってしまいます。
1000件ほどでしたら、削除は行えます。
・パススルークエリでDELETE FROM ○○を実行
・リンクテーブルをVBAからクエリを開き削除
・SQL SERVERにストアドを作成して、ACCESSから実行する
を試したのですが、結果は変わりありません。
また、LOOPで1000件づつ削除も試したのですが、6回(6000件)ほどで同じメッセージが表示されてしまいます。

ODBCでの接続がネックなのかと思っているのですが、解決策が見出せません。
ヒント等でも教えていただければ助かります。
よろしくお願いします。

投稿日時 - 2017-04-25 17:55:18

QNo.9321677

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

なんとなくなのですが、データベースに変更する時に何らかのエラーが発生した場合に備えて、元に戻せるように前の状態を保持しているのです。
そういう機能をトランザクションというのですが、そのために生じるエラーもあり得るかなと思いました。
1000件を一度に削除できるのであれば、1000件の削除ごとにcommitしてみてはどうでしょうか。

https://msdn.microsoft.com/ja-jp/library/ms131281.aspx

投稿日時 - 2017-05-12 16:33:56

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-