• ベストアンサー

MS-AccessまたはExcleで作ったものをMySQLにインポートするには?

MySQL(ver 4.1.8)をインストールしました。 いろいろサイトを探し調べていますが、DB構築方法が良くわからないため、MS-AccessまたはExcleで作ったものをMySQLにインポートできないものかと考えています。 方法をご存知の方がいましたら、ご教授下さいませ。 ちなみに、クライアントでテストしています。 クライアントのOSはWindowsXP、PHPを使ってブラウザ上からMySQLテーブルへ読み書きしたいと思っています。(PHPも勉強中です…)

質問者が選んだベストアンサー

  • ベストアンサー
  • TM31
  • ベストアンサー率38% (8/21)
回答No.2

MySQLにはインポート先となるデータベース(ここでは仮に"databaseA"とします)及びテーブル(同じく仮に"tableA"とします)が既にできており、接続ユーザー(同じく仮に"userA"、パスワードを"passwordA"とします)も設定されているとします。 また、ODBCドライバ(MyODBC)もインストールされているものとします。 ODBCデータソースの設定方法は、Windows2000であれば以下の手順になります。 1.「コントロールパネル」→「管理ツール」→「データソース(ODBC)」を開く。 2.「システムDNS」タブの「追加」ボタンをクリックし、「MySQL ODBC 3.51 Driver」を選択し「完了」ボタンをクリック。 3.「DataSourceName」に任意の名前(ここでは仮に"DataSourceA"とします)を入力し、「Host/ServerName」にMySQLが稼動しているサーバー名、「Database Name」に上記の"DatabaseA"、「User」「Password」にそれぞれ上記の"UserA"、"PasswordA"を入力し、「OK」ボタンをクリック。 4.Accessのテーブルリンク設定画面で上記の"DataSourceA"を選択すれば、テーブルの一覧が表示されるので、その中からリンクしたいテーブルを選択すればOKです。 また、もっと簡単な方法として、MySQLクライアントを用いて、CSVファイルを直接インポートすることができたはずです。(ExcelファイルをCSVに変換、もしくは、AccessのテーブルもCSVとしてエクスポートすればOKですね) 昨日回答した時点では、この機能があることを忘れていました。 この方法については私もど忘れしてしまいましたので、インターネットで検索してみて下さい。すぐに見つかると思います。

THUBAN
質問者

お礼

WindowsXPだったこともあってか、ちょっと画面とか設定項目とかが違っていたようでしたが、いろいろ触って設定して試してみていたところ、無事接続できました! で、Accessテーブルに、きちんとMySQLのデータがインポートされました。 どうも、ありがとうございました! MySQLでの、CSVファイルのインポートは、ちょっと不明です。 MySQLにAccessやExcelデータをインポートさせたかったのですが・・・ phpMyAdmin画面で見るに、エクスポートはあるのですが、インポートの設定をどこで行うのかは不明です・・・(>_<)

THUBAN
質問者

補足

その後、いろいろやってみたところ、以下で出来そうなので、ご報告まで。 Accessでテーブルを作って、ODBC接続をし、MySQLにエクスポートしてみました。 phpMyAdminでMySQLを確認したところ、MySQLにテーブルが出来、データもきちんとインポートされているようでした。 これで、いけそうです。 ただ、MySQLの方で、フイールド名もフィールド内のデータも2バイト(全角)が文字化けしてしまっているので、正確にインポートされているかどうかが、判断できていませんが・・・(>_<)

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • TM31
  • ベストアンサー率38% (8/21)
回答No.3

>ただ、MySQLの方で、フイールド名もフィールド内のデータも2バイト(全角)が文字化けしてしまっているので、正確にインポートされているかどうかが、判断できていませんが・・・(>_<) MySQLの文字コード設定はどうなっていますか? デフォルトではlatinになっていますので、日本語を扱う場合はsjisなどを指定しておく必要があります。 設定方法はmy.iniの[mysqld]行の下に default-character-set=sjis と記述し、MySQLを再起動すれば有効になります。 ただし、既存のデータベースには反映されないので、もう一度データベースを作り直す必要があります。 他にもujis(euc)やutf8などが日本語を扱えます。 ujisで設定する場合は default-character-set=ujis とします。 MySQLのクライアントとしてAccessを利用するのであればsjisでいいでしょう。 Webアプリケーションであれば、Webアプリケーションの文字コードに合わせる必要があります。 また、.NETアプリケーションであればutf8が無難でしょう。 phpMyAdminは使ったことがないので、phpMyAdminによる確認方法はちょっと分かりませんが、phpMyAdminが表示されているときのブラウザのエンコードとMySQLの文字コードを同じにすれば、日本語を正しく扱うことができるのではないかと思います(←あくまでも予想です)。

THUBAN
質問者

お礼

自分でも調べていろいろとやってみましたが、結局、解決しませんでした。 「かねやんMyAdmin」というツールがあることを知ったので、AccessとphpMyAdminの使用はあきらめて、それでやってみることにしました。 いったん、締め切りたいと思います。 また疑問がでたら、Qしたいと思います。 どうも、ありがとうございました。

すると、全ての回答が全文表示されます。
  • TM31
  • ベストアンサー率38% (8/21)
回答No.1

AccessにExcelのデータをインポートし、MySQLのテーブルをAccessにODBCリンク接続。 あとはAccess内のテーブル同士のやりとりになります。 この方法が一番簡単かと思われます。 ちなみにODBCドライバは http://dev.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.11-1-win.msi/from/ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com/ にてダウンロードできます。

THUBAN
質問者

補足

ありがとうございます。 AccessでODBC接続するのは何となくわかっていたのですが、具体的にデータソースの選択画面でどうやって進めていいのかが良くわからなくて・・・ もし、手順がおわかりであれば、ご教授下さいませ。

すると、全ての回答が全文表示されます。

関連するQ&A