クライアントのアプリケーションをデバッグしようとしています。アプリケーションは、MSVC (アンマネージ) C++ で構築されています。これは、(ODBC を介して) MS Access DB に接続します。
MS Access DB がローカル ドライブに配置されている場合、ODBC 経由で送信されたすべてのクエリは正常に機能して完了します。
DB がネットワーク ドライブに配置されている場合、問題が発生します。「Select」ベースのすべてのクエリ (「Select * from FOO」など) は正常に返されるようです。
データを削除、挿入、または更新するクエリをプッシュしようとすると、ODBC 呼び出しは失敗します。この呼び出しは、特に有用な情報を返しません。結果として -1 を返します (失敗を示します)。ハンドル (SQL_HANDLE_ENV、SQL_HANDLE_DBC、SQL_HANDLE_STMT) を調べて、失敗に関連する追加のエラー情報があるかどうかを確認しました。
たとえば、削除しようとすると、「[Microsoft][ODBC Microsoft Access Driver] 指定されたテーブルから削除できませんでした」というエラー メッセージが返されます。
問題が何であるかを理解するのに苦労しています。エラーに関するより有用な情報 (ODBC トレースなど) を取得する方法はありますか?
データを追加/削除/変更するものはすべて失敗しているように見えるのに、単純な選択はうまく機能しているように見えるのは奇妙です。
これをデバッグするための最良の戦略は何ですか? この問題を解決するのに役立つアイデアはありますか?
これらの症状は、ユーザー/権限のアクセシビリティの問題ですか?