ちょっとしたPHPプログラムを書いているのだが、 AccessのMDBをMySQLに移行させるための処理。 こういうのって結構需要ありそうなんだけど、あまりない。 MDBのフォーマットからPHP(Windows)のADOを使って、 自動的にMySQLのCREATE文を作るのは既に成功。 MDBからデータ書きだしをして、最終的にMySQLで扱いたいのだけど、 phpMyAdminなども駆使してみると、やはりAccessからマクロを使ってCSVファイ ルを書き出すのが、行数制限も文字コード(eucのみ)の問題も解決できて嬉しい。 ただしphpMyAdminは使えないので、phpでアップロードしてMySQLのインポート用 テーブルに読み込ませたい。 こういう事を考えている人が他にもいた。 [参考]PHPからMYSQLへデータをインポートする http://webtech.seesaa.net/article/106290358.html このサイトは結局うまくいっていないのですが、 やってみたらできましたよ! (上記続きのサイトにあるコードをもとに) — echo $csvname . “としてアップロードしました。
MySQLに取り込みます。
”; $filepath= str_replace(“\”,”/”, realpath( “.” ).”/csv/”.$csvname ); $sql=”LOAD DATA LOCAL INFILE ‘”.$filepath.”’ INTO TABLE MDB_IMPORT FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘"’ LINES TERMINATED BY ‘\r\n’;”; $result = mysql_query($sql); —- というあたりがみそ。 system関数ではエラーが見づらいので、MySQLのQueryで実行しました。 まあ他にも使う人いるかもと思いメモ。