ACCESS2010からODBC経由でphpMyAdminへデータを移動する

ACCESSで作成したデータをサーバ上に移動するための手段の一つです。
逆にACCESSへデータをインポートすることも可能です。
OBCDとは「Open DataBase Connectivity」の略で、データベース管理ソフトとSQLサーバを連動してくれる仕組みのことです。

数多くあるデータベース管理ソフトですが、その中のどれを使っても上手いことサーバとつなげてくれる、そんな認識で良いのだと思います。

この作業ではまったので備忘録で残します。
実にしょうもない理由でしたので、同じ環境の方が悩む前に読んで頂ければ幸いです。

環境は以下のとおりです。

・ Windows7 64bit
・ Microsoft Access2010
・ phpMyAdmin 3.5.2

作業は次の3ステップです。

1.ODBCドライバーをインストールする
2.ODBCデータソースアドミニストレーターの設定をする
3.accessからエクスポートする

結論から言うと「ODBCドライバーに64bit版を使ってはいけない」ということでした。

1.ODBCドライバーをインストールする

まずはドライバーをダウンロードします。

公式から最新版をダウンロードしましょう。
2012年8月30日現在の最新版は「Connector/ODBC 5.1.11」です。

リンク先の一覧から一番上、インストーラ付きの「Windows (x86, 32-bit), MSI Installer Connector-ODBC」を選択します。

ここで64bit版を選ぶと、いざACCESSからエクスポートする際に

ODBC–呼び出しが失敗しました。
[Microsoft][ODBC Driver Manager]指定された DSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています。(#0)

というエラーが発生します。

ダウンロードをクリックするとメールアドレスなどを入力する画面になりますが無視して構いません。
下にある「» No thanks, just start my download!」をクリックするとすぐにダウンロードが始まります。

ダウンロードが完了したらインストールを行います。

特に変更点はありません。さくさくいきましょう。

「SetUp Type」も「Typical」のままで問題ありません。

これでインストールは完了です。

2.ODBCデータソースアドミニストレーターの設定をする

「C:\Windows\SysWOW64\odbcad32.exe」を起動します。

通常はコントロールパネル→管理ツール→データソース(OBCD)でアドミニストレーターを開くのですが、ドライバーが32bit版のためここから設定しようとすると選択肢に肝心のODBCドライバーが出てこないという悲劇に遭います 。

ただし、起動すると出てくるウィンドウは同じです。

「ユーザー DNS」タブから「追加」を選択します。

「MySQL ODBC ○○ドライバー」を選びましょう。○○はイントールしたバージョンなので変わる場合があります。

「C:\Windows\SysWOW64\odbcad32.exe」から起動していない場合、ここに「MySQL ODBC ○○ドライバー」という選択肢が出ませんのでご注意を。

ドライバーをダブルクリック、または選択して「完了」を押すと設定画面が開きます。
下の画像ではすでに空欄を埋めていますが、接続先の情報を入力していきます。

ここでは、ローカルに作成したphpMyAdminへ接続するための内容となっています。
4項目が最低限入力する箇所となっています。

Date Source Name……ここはどのような名前でも構いません。わかりやすい名前にしましょう。
TCP/IP Server……接続先のサーバー、ここではlocalhost。ポートはデフォルトのままです。
User……phpMyAdminのユーザ名。ここではrootです。
Password……phpMyAdminのパスワード。

入力が完了したら、「Test」を押してみましょう。
正しく入力されていれば接続成功を告げるウィンドウが出ます。

正しく接続されていれば、「Datebase」のプルダウンメニューから接続先のデータベースを選択できるはずです。
ここで選択したデータベースにデータを送ったり受け取ったりするということになります。

データベース選択で移動先、または受け取り先が決まっている場合はそれを選択します。
または、phpMyAdminにログインして任意のデータベースを作成して選択しましょう。

これで設定は完了です。
先ほど「Date Source Name」で付けた名前のデータソース名ができます。

3.accessからエクスポートする

ここまでくればあとは簡単です。
ACCESSを起動して、接続先のデータベースへ送りたいテーブルを右クリックして「エクスポート」から「ODBCデータベース」を選択します。

すると、このようなウィンドウが開きます。
ここでは「item」となっていますがそれぞれ選択したテーブル名になっています。
問題なければ「OK」を押しましょう。

データソースの選択ウィンドウが出てくるので、「ファイル データ ソース」ではなく「コンピューター データソース」タブを選択。

先ほど作成した(ここではlocalhost)を選んで「OK」を押しましょう。

以上で完了です。
無事に成功したでしょうか?

おまけ

なお、データをphpMyAdminからACCESSへ移動する場合はACCESSの上部タブ「外部データ」より、「ODBCデータベース」を選択します。

ここから

・データをACCESSに取り込む(インポート)
・phpMyAdmin上のデータを直接編集する

ことが可能なようですが試していないのでわかりません。


コメント

 DISQUSコメントシステムとは?
DISQUSコメントシステムFacebook Twitter Google などのアカウントを使用してコメントを残すことができます。
また、それらを使いたくない場合でも メールアドレスのみ でコメントが可能で、その際のアドレスはもちろん非公開です。
YouTubeTweet などはURLを貼ると自動で埋め込み表示されますし、画像をアップすることもできます。
お気軽にコメント頂けると嬉しいです。

New Post



Random


CLOSE