次の方法で共有


64ビットOSでのMDBデータアクセスについて

質問

2011年11月7日月曜日 23:51

ここで取り扱う内容ではないかもしれませんが、他に適切な場所がみあたらないので

質問させていただきます。

現在、vs2010pro(vb.netを使用)で開発を行っています。

データベースにはMDBを用いているのですが、気になることがあります。

それは64bit版windowsにおけるJet4.0の所在です。

MSのサイトによれば、「64 ビット版の Windows オペレーティング システムでは、

Msjet40.dll ファイルは Windows\SysWOW64 フォルダにあります。」

(http://support.microsoft.com/kb/239114/ja)

とあり、実際に私の開発用PC(Win7Pro64bit)でも問題なく実行できているのですが・・・

このDLLはAccess(32bit版)をインストールしていなくても最初から存在しているのでしょうか?

私のPCはOffice2010Pro(32bit版)をインストール済みなので判断できなくなりました。

(他にAccessが入ってない64bit版WindowsのPCはありません。)

※ファイルの日付は2009/7/14でありofficeを入れた日(今年の5月)より前なので最初から存在したかもしれませんが、

日付だけでは断言できないと考えました。

また、最初から存在するとすれば接続文字列のProviderをMicrosoft.Jet.OLEDB.4.0とし、

x86でコンパイルしておけば、(未来のWindowsを除いて)どのような環境でも動くと考えてよいのでしょうか?

よろしくおねがいします。

すべての返信 (2)

2011年11月8日火曜日 0:14 ✅回答済み

msjet40.dll は Windows 7 であれば、x86/x64 共に付属していると思います。

しかし、JET エンジンは既に収束していくシステムで、すでに  MDAC による再頒布も終了しているようなものです。SQL Server や ACE 等に乗り換えることも考慮されたほうがよいのではないかと思います。

前者には、ACE は JET の機能を全部備えていないので、JET の後継としては SQL Server を使えとなっていますね。


2011年11月9日水曜日 1:53

K. Takaoka様、お返事ありがとうございます。

私もさらに調べてみましたが、このサイトを見たところ・・・

http://msdn.microsoft.com/ja-jp/data/gg607262

「Jet 4.0 エンジンや Jet 用の ODBC ドライバーなどは Windows OS 同梱で提供しています。

そのため、インストールは不要です。ただし、64 ビット版は提供していません。

64 ビット OS では、WOW64 でアプリケーションを動作させることで 32 ビット版を利用できます。」

・・・と、いうことなので、x86でコンパイルすれば問題なさそうですね。

>しかし、JET エンジンは既に収束していくシステムで、すでに  MDAC による再頒布も終了しているようなものです。

>SQL Server や ACE 等に乗り換えることも考慮されたほうがよいのではないかと思います。

できればそうしたいところですが、ユーザーのPC環境が多種多様であるため、

確実に動く方法を取りたいのです。

(今からSQL Serverに変更するのは難しいので)

何はともあれ一先ず安心できました。

ありがとうございました。