[やりたいこと・しりたいこと]
Microsoft Access から MySQL5.0 に ODBC connecter で 接続したい。
[環境]
WindowsXP SP3 on VMware
mysql-essential-5.0.67-win32.msi
mysql-connector-odbc-5.1.5-win32.msi
Access 2003 SP3
MySQLとAccessは 同一仮想マシンの上にインストールされている
[やったこと・わかったこと]
1. my.iniにcharacter setを追記する
[client]
default-character-set=sjis
[mysqld]
default-character-set=sjis
[mysqldump]
default-character-set=sjis
[mysql]
default-character-set=sjis
2. mysqlで現在のcharacter setを 確認する
mysql> SHOW VARIABLES LIKE 'char%';
使用できる character setを 確認する
mysql> show character set like '%cp%';
mysql> show character set like '%jis%';
mysql> show character set like '%utf%';
3.1 acsessから接続するdatabaseを作る
mysql> create database db_acsess character set sjis
3.2 サンプルのtableを作る
create table tbl_sample (id int, name varchar(30));
3.3 サンプルの情報を登録する
insert into tbl_sample (id, name) values (1, '綾波レイ');
insert into tbl_sample values (3, '碇シンジ');
4. mysql-connector-odbc の インストール
mysql-connector-odbc-5.1.5-win32.msi
5.
コントロールパネル
データソース(ODBC)
ユーザーDSN 追加
MuSQL ODBC 5.1 Driver 完了
Data Source Name:mysql_access
Description:
Sever: localhost
Port:3306
User:root
Password:********
Database:db_access
Data Source Name: この接続の識別名
Description: この接続の説明
Server: データベースサーバー
Port:MySQLのポートナンバー
User: データベースに接続するためのアカウント
Password: 上記アカウントのパスワード
Database: 接続対象のデータベース
6. AccessからMySQLのデータベースに接続する
新規データベース作成
sample.mdb
ファイル -> 外部データの取り込み -> テーブルリンク ->
ODBCデータベース -> コンピュータデータソース -> mysql_access
[注意点・はまった箇所]
MySQLInstanceConfig.exeを使わず、手動でサービス登録などをしているので、default_character_set=latin1 になっている。
この状態で、create database db_accessだけだと database の character set が latin1 になってしまう。
その場合は明示的に create database db_acsess character set sjis とする。
my.ini に sjis の設定が済んでいるなら、明示的に create database db_acsess character set sjis とする必要はない。
utf8 に 設定した場合 英数字はOK だが かな漢字の表示が 旨くいかなかった。 sjisなら 表示できた。
mysql5 utf8 php5 utf8 access2003 sjis だと 問題になる。
mysql5 sjis php5 sjis access2003 sjis なら 問題ないはず。
[参考]
MS AccessからMySQLのデータベースに接続する
http://www.hm-lab.net/archives/305
Microsoft Access で Connector/ODBC を使用する
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-examples-tools-with-access.html
文字コード確認設定
http://www.smaps.co.jp/blog/03_service/02_www/post_28.php
mySQL 操作メモ(一般)
http://www.netp.tuis.ac.jp/moodle/course/view.php?id=18&page=MySQL
KRAKENBEAL RECORD: mysqlのデータベースへaccess 2003のテーブルのリンク
http://krakenbeal.javascript:void(0)blogspot.com/2009/06/mysqlaccess-2003.html