MFCのCRecordset CDatabaseを使用して
Accessデータベースのレコードを更新(追加も)するソフトを作成しました。
いままで、正常に動いていたのですが・・、
突然ファイルが更新されなくなり、MDB自身をAccessで開こうとしたところ、
「ほかのユーザーが同じデータに対して同時に変更を試みているのでプロセスが停止しまし
た。」
とエラーが出るようになってしまって、[SHIFT]押しながら起動しても、最適化、修復しようと
しても同様のエラーが出てしまって困っています。
このデータベースを修復(開ける)ようにするには、どうすればいいのでしょうか?
また、どのような処理がこの現象を誘発するのでしょうか?
※Web上で、同様の現象が起こった人は、居たのですが、解決策が見つかりませんでした。
開発環境
Windows NT4.0SP6
Visual Studio 6.0 SP5
データベースアクセス方法
ODBC DSN:MS Access Database
動作環境
Windows 2000
Access 2000
以上 よろしくお願い致します
こんなのを見つけました。
このエラーは、OLEやメモ型のデータが壊れると発生するようです。(No.3197)
「データベースの破損に起因するエラーメッセージ」
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q182867&
dairygoodsさんレスありがとうございます。
>「データベースの破損に起因するエラーメッセージ」
> http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q182867&
ここは、すでに見つけていました・・(^^;
JETCOMP.exeも試しましたが
エラー[Error Compacting database.]
が出てうまくいきません
>このエラーは、OLEやメモ型のデータが壊れると発生するようです。(No.3197)
メモ型は、使っていませんし、OLEと言っても日付型ぐらいしか使ってないのですが・・
なんとか壊れたデータベースのデータを取得したいのですが・・、
何か良い方法は、ありませんか?
MSDEのOSQLからアクセスすること出来ませんか?
解決策としてもう見ているのでしょうけど
> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q273956
のJetComp.docに書かれているサンプルソースも実行してみましたのでしょうか
先のMSDEについては、MDBの作成をACCESS2000で
作成していることを前提としていました
ACCESS97で作成し利用しているのであれば
たしかMSDEが受け付けないはずですので
サンプルソースの法を試してみてはどうでしょうか
>先のMSDEについては、MDBの作成をACCESS2000で
>作成していることを前提としていました
>ACCESS97で作成し利用しているのであれば
>たしかMSDEが受け付けないはずですので
ACCESS2000で作成したものならばMSDEが使えるということですよね?
MSDEは、どこで手に入るものなのでしょうか、
MSのサイトでダウンロードできなかったので・・・
>サンプルソースの法を試してみてはどうでしょうか
試してみましたが、ファイルすら開けないようで、エラー3343が出て駄目みたいです。
ダウンロード
http://www.microsoft.com/japan/msdn/vstudio/msde/default.asp
または
Visual Studio 6.0 プラスパックのCDにあります
また
Access 2000はこのエンジンを使えるようになっています
付属しているはずですが
参考までに、ここ見たことあると思いますけど
http://www.ki.rim.or.jp/~kuro/MSDE/index.html
返答をすっかり、忘れていました・・(汗
二ヶ月もたってました・・
色々やって見ましたが結局うまくいきませんでした・・
修復もやらずに済みそうな展開になったので、解決にさせていただきます
いろいろ、ありがとうございました。