A5:SQL Mk-2 でAccessのデータベースファイルを開いてみた話¶
Access 2016で作ったデータベースファイル(.accdb)をA5:SQL Mk-2というアプリで開こうとしたらエラーになりましたので、対処してみました。
試した環境は下記です。
A5:SQL Mk-2 version 2.11.6 (32bit版 ポータブルモード)
Access 2016 32bit版 (Office365 solo)
Windows10 64bit版
目次
A5:SQL Mk-2とは¶
「高機能かつ軽量な汎用SQL開発ツール / ER図ツール」です。公式サイトがありますが、ダウンロードはVectorからです。
ちょっとER図を描いてみたくてドロー系のツールを探そうと思ったのですが、どうせなら専用のツールの方が楽だろうとA5:SQL Mk-2を試してみることにしました。サイトの説明をみるとODBC接続できるということなので、AccessのデータベースファイルにもODBC接続できるだろうと考えました。32bit版にしたのは、Access2016が32bit版だからです。
A5:SQL Mk-2でaccdbファイルを開いてみる¶
A5:SQL Mk-2を起動して、メニューの「データベース」の中にある「データベースの追加と削除」を選択します。そうすると、「データベースの追加と削除」というダイアログが開きます。そこで「追加」をクリックします。
するとデータベースの種類を選択するダイアログが開くので、Accessを選択します。
そうするとファイルを選択するダイアログが開きます。ここで開きたいaccdbファイルを選択して、「テスト接続」をクリックします。
そうすると、こんな感じでエラーが出ます。 えっ!Access 2016は確かにインストール済みだよ!なんで!?
Microsoftのサイトに説明がありました。日本語で表示すると何を言っているかわからないのですが、機械翻訳前のタイトルは下記の様になっています。
Can't use the Access ODBC driver or OLEDB provider outside Office Click-to-Run applications
つまり「Office Click-to-Runアプリ以外からは、Access ODBC driverとOLEDB providerは使えないよ。」ということです。もっと平たく言うと、Office365 soloのAccess 2016には一般に使えるODBCドライバーは無いよということなのですね。
おいおい、それって機能ダウンじゃね。機能を削るならアップブレードとか言うなよ。サポート切れのバージョンに戻せって言うのかよ。
というわけでMicrosoftのサイト内で指定されている「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント」の32bit版をインストールします。データベースファイル自体は正規に購入したAccess 2016で作成しますので、利用条件にも適うでしょう。ODBCドライバーが頒布されていなければSQLiteに切り替えるところでした。まあ、Microsoft的にはAccessのユーザーインターフェースで十分でしょということなのかもしれませんが。
Accessデータベースエンジン2010のインストール後にA5:SQL Mk-2からaccdbファイルにテスト接続すると、こういうメッセージが出ます。
試しにデータベースからER図をリバース生成してみるとこんな感じです。
おお!すごい!