ODBC接続とは #
ODBC(Open Database Connectivity)とは、アプリケーションがデータベース管理システム(DBMS)などに接続し、データの取得や書き込み、操作などを行うルールです。このルールはマイクロソフトが定めています。
MySQLに接続するには、MySQL用のODBCドライバーが必要です。DBに接続するアプリケーションは、このODBCという仕組みを利用し、DBにアクセスしデータを入出力します。
この文書では、32bit版のMySQL用ODBCドライバーのインストールについて説明します。
アンインストール #
すでに64bit版のODBCがインストールされている場合、アンインストールしてください。
手順: コントロールパネルを開き「アプリ」を選択します。
「odbc」と入力し検索すると、インストール済みのドライバーが表示されるので、アンインストールしてください。
確認ダイアログで「はい」を選びます。
ODBC接続の準備 #
MySQLのDBとODBC接続をするため、MySQLのサイトよりODBCドライバーをダウンロード、インストールします。 MySQL用ODBCドライバーは次のページよりダウンロードできます。
- Select Operating System で、「Microsoft Windwos」を選びます
- Select OS Version で、「x86, 32bit」を選びます
- Other Downloads の、「MSI Installer」にある「ダウンロード」ボタンを押します
- ダウンロードページに移動するので(Oracleのアカウントがない場合には)、「No thanks, just start my download.」を選ぶとダウンロードが始まる
インストール #
上記ODCBドライバーのダウンロードができたら、次に開発PC(Windows)にインストールしてみましょう。
.msi ファイルを開きます。
セキュリティの警告ダイアログが出た場合、「実行」を選択します。
「this application requires visual studio 2019 x64 redistributable..」のようなメッセージが表示された場合、次のファイルをダウンロードしてください。 C++ 再配布可能パッケージ(32bit版) 参考
ダウンロードすると exe ファイルが出来上がりますので、起動しインストールしてください。
インストールができたら、再度上記手順1から順に進めてください。
次のような画面になります。Nextを押してください。
ライセンスを確認し Nextを押してください。
Setup type で Complete を選び Next 押してください。
インストール内容を確認し Next 押してください。
インストールが終了しました。Finishボタンを押してください。
これで ODBCドライバーがインストールできました。
DBへのODBC接続の実例 #
アプリケーションからのODBC接続を使ってMySQLに接続する方法を2つご紹介します。
- DSNを使わない接続
- DSNを使う接続
下記サンプルはIDなど必要な部分を書き換えてエディタでファイルに保存し、アイコンをダブルクリックして実行してみましょう。
あらかじめ testDB が必要です。次の資料よりそれぞれ事前に作成してください。
「testDB」テーブル:
https://tulipsoft.com/reference/docs/sql/createdb/
「test」テーブル:
https://tulipsoft.com/reference/docs/sql/createtable/
DSNを使わない接続 #
こちらは、IDやパスワードなどDB接続に必要なDB接続文字列について、全てコードに記述し実行する方法です。
下記はサンプルコードです。コードを実行すると、コード内に指定された DriverやServer情報などが接続文字列に追加されます。その後、DBに接続し指定のテーブルよりデータを取得しメッセージボックスで表示します。
15行目で接続文字列を変数にセットし、これをDB接続時に利用しています。
Filename : bydriver.vbs
|
|
DSNを使う接続 #
DSNを呼び出す方法とは、あらかじめ保存しておいたDSNをコード実行時に呼び出す方法です。 上記の 接続文字列を全てコードに記述との違いは次の通りです。
項目 | DSNを使わない接続 | DSNを使う接続 |
---|---|---|
DB接続文字列 | 全てコードに書く | DSNに書き呼び出す |
アプリケーション間での共有 | × | ◯ |
DSNを使わない接続は、アプリケーション内にDB接続文字列を全て書いて埋め込んでいるのに対し、DSNを使う方法ではあらかじめアプリケーション外のDSNに保存しておいたものを読み込みます。 DSNを使う接続は、コンピュータ上の複数のアプリケーションで使いまわすことができます。
DSNの保存 #
DSN(Data Source Name)とは、IDやパスワードなどDB接続に必要なDB接続文字列についてあらかじめ保存しておいたものです。 DSNを使ったDB接続をするために、DSNを保存する方法をご紹介します。
DSNを保存するには、Windowsボタンを押して「odbc」と検索し、表示された「ODBCデータソース(32ビット)」を選択します。
(あらかじめ、上記の ODBCの 接続準備 を実行しておいてください)
「ODBCデータソース(32ビット)」が起動すると、次のような画面になります。 「システムDSN」タブを選び、「追加」ボタンを押してください。
「MySQL ODBC 8.0 Unicode Driver」を選択し、「完了」ボタンを押してください。
接続文字列の新規登録画面が表示されますので、入力し「OK」ボタンを押してください。
- Data Source Name:アプリケーションから呼び出す際にコードに記述するDSNの名前です。分かりやすい名前に自由に付けてください。
- Server:MySQLのサーバが起動しているコンピュータのIPアドレスです。
- User:DB接続時のユーザIDです。DBサーバで設定したもものを記載します。
- Password:DB接続時のパスワードです。DBサーバで設定したもものを記載します。
- Database:接続先のDB名です。DBサーバに作成したものを記載します。
OKボタンを押すと入力した内容が登録されています。この例では保存された DSN は「mysql-dsn」です。この名前でコードより DSN を指定すると保存した内容が接続文字列にセットされます。
🍵以上で、DSNの保存ができました。
DSNを呼び出してODBC接続する #
上記で保存したDSNを使ってDB接続をするサンプルコードを示します。
3行目であらかじめ保存しておいた DSN を変数に保存します。
9行目で保存した DSN を接続文字列としセットしています。
DB接続に成功すると、13行目でレコードを取得しています。
Filename : bydsn.vbs
|
|