はじめに
Office 製品が採用しているデータベースエンジンは、大きく 2 つ存在します。
この 2 つの概要と、注意点を書きなぐっておきます。
Jet
- Joint Engine Technology (共同エンジン技術) の頭字語
- Jet のバージョンは 4.0 まで存在している
- 32 ビット版のみ存在 (このため、64 ビットのアプリケーションでは使用することができない)
- Microsoft Data Access Components (MDAC) のコンポーネントとしてダウンロードできた
- OLEDB を使用する場合は、ConnectionString プロパティの Provider 引数に
Microsoft.Jet.OLEDB.4.0
と設定する (Provider に指定する数字部分は、Jet のバージョン) - 今は (たぶん)、単体でダウンロードするすべがない
ACE
- 当初は Office Access Connectivity Engine (ACE) と呼ばれていた
- 現在は Access データベースエンジン
- ただなぜか、省略する場合はいまだに ACE と書かれている。(たまに ADE と書かれているので紛らわしい)
- Jet エンジンと下位互換がある
- 32 ビットと 64 ビットの両方がある
- Office 2007 から登場
- ACE のバージョンは 12.0 から始まる (Office 2007 の内部バージョンが 12.0 に起因していると思う)
- Office のバージョンとともに、ACE のバージョンも 15.0、16.0と上がっていく
- ただし接続文字列は 12.0 のまま (accdb 形式のファイルバージョンが 12.0 だから?)
- OLEDB を使用する場合は、ConnectionString プロパティの Provider 引数に
Microsoft.ACE.OLEDB.12.0
と設定する (Provider に指定する数字部分は、ACE のバージョンではないので注意) - Access Database Engineの再頒布可能コンポーネントや、Access Runtime をインストールすることで、ACE を使用することができる
Office をインストールしている端末に、Access Database Engine や Access Runtime をインストールする場合は、一般的な Office 製品の共存ルールに従う必要があります。
たとえば、同じビットをインストールする必要があります。
なお、Access Database Engine 2016 は、MSI 形式でインストールします。
よって、 C2R 形式である Office 2019 以降とは共存できません。
この場合、Access Runtime をインストールする必要があります。
ただし、Office 製品をインストールすると、ACE ももれなくインストールします。
このため、Office を使用している環境では、Access Runtime を導入する必要はないと思います。
参考資料