MySQLのテーブルの作成、更新には「MySQLAdministrator」を使っていますが、データの追加や更新をすると「MySQL server has gone away (エラーコード:Error 2006)」といったエラーでデータベースへの反映が出来なくなる時があります。
設定の見直しで何とかなるのかもしれませんが、有力な情報も無くデータの更新は非効率ながらもJavaで作成した画面経由で行っていましたのですが、
今使っているPCは購入する時にOfficeのProfessionalを入れていたのを思い出し、ODBC接続でデータのメンテナンスが出来ないか試してみました。
■ 用意したもの
・MySQL用のODBC用ドライバ
ダウンロードしてインストールしておきます。
・Microsoft Access 2007
■ 作業手順
1、ODBCデータソースの作成
コントロールパネルの管理ツールより「データソース(ODBC)」をクリック
タブ「システムDSN」をクリックし「追加」ボタンをクリック
ドライバ一覧から「MySQL ODBC 3.51 Driver」を選択し「完了」をクリック
設定画面が表示されるので項目を入力して「OK」ボタンをクリック
タブ:Login
項目名 | 内容 |
Data Source Name | ACCESSから接続する際に使用する名前 |
Description | コメント?の様なので未入力 |
Server | サーバ名、もしくはIPアドレス |
User | ユーザ名 |
Password | パスワード |
Database | 上の3つが正しければコンボボックスにデータベース名が一覧で表示されるのでデータベースを選択 |
項目名 | 内容 |
Initial Statement | set names utf8 |
Character Set | cp932 |
その他 | 特に設定なし |
タブ:Advanced
色々と設定できる項目があるみたいですが、今回は設定なし。
2、Accessの設定
Access 2007 の起動して新規にファイルを作成
リボンメニュー「外部データ」をクリックして「その他」-「ODBCデータソース」をクリック
「リンクテーブルを作成してソース データにリンクする」を選択して「OK」ボタンをクリック
タブ「コンピュータデータソース」を選択して一覧から先ほど作成したODBCデータソースを選択して「OK」ボタンをクリック
テーブルの一覧が表示されるので選択して「OK」ボタンをクリック
以上の手順でAccessからMySQLのデータの操作が出来るようになりました。
はまった所がODBCデータソースの作成時の文字コード部分で、Character Setの値が空やsjisでも表示は出来るのですが、日本語の入力時、環境依存文字(㈱、①等)に文字コードが認識できないようなエラーが出ました。
0 件のコメント:
コメントを投稿