Excelってなに?
Microsoft Excelのあれやこれや・・・・・
プロフィール

Author:るた
「るた」です。
気の向くままに記事を書いていきたいと思います。

最近の記事

カテゴリー

ExcelからMySQLサーバーへの接続 2
次は、エクセル側の設定を行います。
Microsoft Active Data Object(ADO)を使用し、MySQLに接続することにします。
ADOを使用するにあたって、MyODBCドライバが必要となります。

以下のURLにアクセスし、ドライバをダウンロードしてインストールします。
http://dev.mysql.com/
・「DownLoads」をクリック
019_MySQLHP1.png
・「MySQL Connectors」をクリック
019_MySQLHP2.png
・「Connector/ODBC」をクリック
019_MySQLHP3.png
・環境に応じたドライバーをダウンロードしてインストールする
019_MySQLHP4.png

※ここで注意です。この段階で私は何か月も悩んでいました(放置でしたが・・・)。
私の環境はWindows7 64bitとExcel2010(32bit)の組み合わせで、上記ドライバをインストールしたところうまく動きませんでした。別の機能の記事でしたが、「エクセルの方の仕様に合わせる必要がある」と言うのを見て、32bitのドライバを試してみたところ正常に動作しました。
Windows (x86, 64-bit), MSI Installerと書いてありますが、これはOSが64bitと言うわけではないようです。

ExcelからMySQLサーバーへの接続 1
さて、いよいよ本題となるエクセルからデータベースへの接続準備です。
まず準備として、MySQLにエクセルで接続するためのユーザーアカウントを追加します。

phpMyAdminにログインします。
・「http://***.***.***.***:81/phpMyAdmin/」にアクセスする。
・ID、Passを入力し、ログインする(admin/password)。


新しいユーザーの追加をします。
ユーザーの追加1
・「特権」をクリック
・「新しいユーザーを作成する」クリック
018_ユーザーの追加0
・ユーザー名:xluser(好きな名前で良い)
・ホスト:%(いったん全てのホスト以外を選択し、全てのホストに戻ると自動的に入力される)
・パスワード:1111(後から変更可能)
・「同名のデータベースを作成してすべての特権を与える」にチェック

以上の設定が完了したら、画面右下の「実行」ボタンをクリックする。
すると、ユーザーとデータベースが作成されます。
018_ユーザーの追加3

MySQLサーバーの設定
共有フォルダを作成した後、作成したフォルダにMySQLサーバーを設置します。
上段メニューから「ネットワーク」、下段メニューから「MySQLサーバー」を選択し、表示される画面の中の「設定変更ボタン」をクリックします。

設定画面が表示されたら、以下のとおりに設定し、保存ボタンをクリックします。
MySQLサーバー設定画面

すると、「phpMyAdminを開く」ボタンが追加されますのでクリックします。

phpMyAdminログイン画面

以上でmySQLサーバーの設置は完了です。
この時点でのユーザー名は「admin」、パスワードは「password」となっています。
これを打ち込んでphpMyAdminにログインします。

localhost 画面

まず、私がいじったのはアクションのところにあるパスワード変更です。しかし、ここで変更するとなぜかログインできなくなりました。ログインできなくなるともう終了です・・・・・。いったん設定したMySQLは初期化等の操作が一切できなくなりますので注意が必要です。先に作成したフォルダの削除も基本的にはできないと思ってください(偶然発見した方法ですが、HDDのフォーマット以外に削除する方法は存在します。興味のある方はコメントください)。
もしもphpMyAdminにログインできなくなった場合には、MySQL用のフォルダを新たに作成し、そこへMySQLを再設置してください。

パスワード等のユーザーの設定関連は特権メニューから行うのが正解なようです。
ログインできなくなると非常に困るので、ここでは新たにユーザーを追加する方法を紹介しておきます。

「特権」メニューを選択し、「新しいユーザーを追加する」をクリックしてください。
特権 初期画面

「ユーザー名」、「ホスト名」、「パスワード」を入力し、下部の「実行」ボタンを押すとユーザーが追加されます。「ホスト名」にはLocalHostを指定しないとダメなようです。
多分処理する内容によってはグローバル特権の設定が必要になってくると思いますが、必要になった時点で追加する方針で行きたいと思います。
ユーザー作成画面