MYSQLIMPORT di windows

Wednesday, January 16, 2013 0 Comments

Setelah menggunakan mysqlimport di linux (baca : Ubuntu), akhirnya berkesempatan juga (terpaksa) menjajal mysqlimport versi Windows. Lho? Adakah yang berbeda? Pada awalnya saya pikir hanya dengan menggunakan full-path ke file mysqlimport.exe-nya sudah menyelesaikan masalah. Namun ternyata, setelah dicoba, eng-ing-eng.. Gagal. Duh!

Dengan syntax yang sama :
$ mysqlimport --user=root --password=password --delete
--fields-optionally-enclosed-by='"'--fields-terminated-by=';'
--fields-escaped-by='' --lines-terminated-by='\n' --local
database table.txt 
ternyata tidak bekerja dengan baik.

Saya menggunakan WAMPSERVER sebagai web server-nya. Karena 'musti' fullpath (bisa juga sih, setting global environment atau apapun dulu itu namanya; cuma karena terlalu ribet, jadinya yang simple aja, make full path), script saya otomatis jadi seperti ini :
shell_exec("D:\wamp\bin\mysql\mysql5.5.8\bin\mysqlimport.exe
--user=root --password= --fields-optionally-enclosed-by='\"'
--fields-terminated-by=';' --fields-escaped-by=''
--lines-terminated-by='\n' --local --delete
database
path/to/file");
Script di atas akan menghasilkan output yang sama seperti kalau hanya mengakses
D:\wamp\bin\mysql\mysql5.5.8\bin\mysqlimport.exe 
Bahkan dengan mengaksesnya langsung di command prompt sekalipun. Tentu, dengan menyesuaikan scriptnya, menghilangkan '\' yang tidak perlu.

[HOW-TO]
Setelah berpusing ria beberapa jam,  ketemulah solusinya. Seperti biasa, solusi yang sangat menjengkelkan dan sebenarnya sangat simple : me-replace semua ' (apostrophe) menjadi " (double-quote)

Meskipun pengen teriak sekeras-kerasnya, tetapi ada satu kepuasan tersendiri bisa solving masalah dengan usaha sendiri :D

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Do you think I forgot to change this text? No, dude. I did it on purpose ahahahay..