ちょっとした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 . "としてアップロードしました。<br>MySQLに取り込みます。<br>";
$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で実行しました。
まあ他にも使う人いるかもと思いメモ。