Archive for November, 2015

Konversi table MS Access ke MySQL

November 1, 2015

Oke, situasinya adalah saya mencoba mengkonversikan database MS Access (mdb), ke MySQL/MariaDB. Tantangannya adalah tools yang tersedia (mdbtools) cuma menyediakan fasilitas ekspor skema dan data dalam format csv. Kalau tabel nya sedikit sih ga masalah, tapi kalau tabelnya banyak, meeeh, malesin kalau harus dilakukan pertable. Apa cara yang bisa dilakukan? Manfaatkan bash shell scripting dan kita bisa melakukannya langsung dari command line Linux. Oke begini caranya:

1. Install mdbtools. Di Ubuntu Linux, cukup dengan perintah: sudo apt-get install mdbtools.

2. Buat database dan user nya untuk menyimpan data hasil konversi:

————————————————

hendrowicaksono@hendrowicaksono:~$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 175
Server version: 5.5.44-MariaDB-1ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE konversi_mdb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON konversi_mdb.* TO konversi@localhost IDENTIFIED BY 'rahasia';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
hendrowicaksono@hendrowicaksono:~$

——————————————————-

2. Masuk ke folder dimana file mdb disimpan. Ekspor skema database, kemudian import ke MySQL/MariaDB.

——————————————————-

hendrowicaksono@hendrowicaksono:~$ cd Projekto/konversi-mdb/
hendrowicaksono@hendrowicaksono:~/Projekto/konversi-mdb$ mdb-schema Bm310.mdb mysql > konversi_mdb.sql
hendrowicaksono@hendrowicaksono:~/Projekto/konversi-mdb$ mysql -u konversi -p konversi_mdb < konversi_mdb.sql 
Enter password: 
hendrowicaksono@hendrowicaksono:~/Projekto/konversi-mdb$

——————————————————-

3. Lakukan perintah looping di basj shell via command line:

——————————————————-

hendrowicaksono@hendrowicaksono:~/Projekto/konversi-mdb$ for TAB in `mdb-tables -1 Bm310.mdb`
> do mdb-export Bm310.mdb $TAB > $TAB.csv; mysqlimport --ignore-lines=1 --fields-terminated-by=, --verbose --local -u konversi --password="rahasia" konversi_mdb $TAB.csv
> done

——————————————————-

Nanti akan muncul tampilan proses import nya:

——————————————————-

Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Alamat.csv into Alamat
konversi_mdb.Alamat: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Anggota.csv into Anggota
konversi_mdb.Anggota: Records: 142 Deleted: 0 Skipped: 0 Warnings: 298
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Artikel_Majalah.csv into Artikel_Majalah
konversi_mdb.Artikel_Majalah: Records: 11029 Deleted: 0 Skipped: 0 Warnings: 61600
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Asal.csv into Asal
konversi_mdb.Asal: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Bahasa.csv into Bahasa
konversi_mdb.Bahasa: Records: 10 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Denda_Buku.csv into Denda_Buku
konversi_mdb.Denda_Buku: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Denda_Maj.csv into Denda_Maj
konversi_mdb.Denda_Maj: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Denda_NBM.csv into Denda_NBM
konversi_mdb.Denda_NBM: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Detail_Pengadaan.csv into Detail_Pengadaan
konversi_mdb.Detail_Pengadaan: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Edisi_Majalah.csv into Edisi_Majalah
konversi_mdb.Edisi_Majalah: Records: 789 Deleted: 0 Skipped: 0 Warnings: 792
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Eksemplar_Majalah.csv into Eksemplar_Majalah
konversi_mdb.Eksemplar_Majalah: Records: 779 Deleted: 0 Skipped: 0 Warnings: 3116
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Eksemplar_NBM.csv into Eksemplar_NBM
konversi_mdb.Eksemplar_NBM: Records: 17 Deleted: 0 Skipped: 0 Warnings: 51
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Groups.csv into Groups
konversi_mdb.Groups: Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Jabatan.csv into Jabatan
konversi_mdb.Jabatan: Records: 8 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Jenis_Buku.csv into Jenis_Buku
konversi_mdb.Jenis_Buku: Records: 17 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Jenis_Majalah.csv into Jenis_Majalah
konversi_mdb.Jenis_Majalah: Records: 34 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Kala_Terbit.csv into Kala_Terbit
konversi_mdb.Kala_Terbit: Records: 9 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Klasifikasi.csv into Klasifikasi
konversi_mdb.Klasifikasi: Records: 1774 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Koleksi.csv into Koleksi
konversi_mdb.Koleksi: Records: 3 Deleted: 0 Skipped: 0 Warnings: 3
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Kota.csv into Kota
konversi_mdb.Kota: Records: 318 Deleted: 0 Skipped: 0 Warnings: 14
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Majalah.csv into Majalah
konversi_mdb.Majalah: Records: 79 Deleted: 0 Skipped: 0 Warnings: 2
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/NBM.csv into NBM
konversi_mdb.NBM: Records: 16 Deleted: 0 Skipped: 0 Warnings: 43
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Peminjam.csv into Peminjam
konversi_mdb.Peminjam: Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Penerbit.csv into Penerbit
konversi_mdb.Penerbit: Records: 1364 Deleted: 0 Skipped: 0 Warnings: 35
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Pengadaan.csv into Pengadaan
konversi_mdb.Pengadaan: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Pengarang.csv into Pengarang
konversi_mdb.Pengarang: Records: 15583 Deleted: 0 Skipped: 0 Warnings: 14930
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Pengarang_Artikel.csv into Pengarang_Artikel
konversi_mdb.Pengarang_Artikel: Records: 6978 Deleted: 0 Skipped: 0 Warnings: 13208
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Pengarang_Buku.csv into Pengarang_Buku
konversi_mdb.Pengarang_Buku: Records: 19750 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Pengarang_NBM.csv into Pengarang_NBM
konversi_mdb.Pengarang_NBM: Records: 12 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Perolehan.csv into Perolehan
konversi_mdb.Perolehan: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Sirk_Buku.csv into Sirk_Buku
konversi_mdb.Sirk_Buku: Records: 3 Deleted: 0 Skipped: 0 Warnings: 12
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Sirk_Majalah.csv into Sirk_Majalah
konversi_mdb.Sirk_Majalah: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Sirk_NBM.csv into Sirk_NBM
konversi_mdb.Sirk_NBM: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Status.csv into Status
konversi_mdb.Status: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Subjek.csv into Subjek
konversi_mdb.Subjek: Records: 4349 Deleted: 0 Skipped: 0 Warnings: 9
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Subjek_Artikel.csv into Subjek_Artikel
konversi_mdb.Subjek_Artikel: Records: 6498 Deleted: 0 Skipped: 0 Warnings: 9642
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Subjek_NBM.csv into Subjek_NBM
konversi_mdb.Subjek_NBM: Records: 16 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Supplier.csv into Supplier
konversi_mdb.Supplier: Records: 0 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Users.csv into Users
konversi_mdb.Users: Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Buku.csv into Buku
konversi_mdb.Buku: Records: 22172 Deleted: 0 Skipped: 0 Warnings: 106077
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Eksemplar_Buku.csv into Eksemplar_Buku
konversi_mdb.Eksemplar_Buku: Records: 20994 Deleted: 0 Skipped: 0 Warnings: 62984
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Jenis_NBM.csv into Jenis_NBM
konversi_mdb.Jenis_NBM: Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Mata_Uang.csv into Mata_Uang
konversi_mdb.Mata_Uang: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/Subjek_Buku.csv into Subjek_Buku
konversi_mdb.Subjek_Buku: Records: 19232 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/OPAC_bbaru.csv into OPAC_bbaru
konversi_mdb.OPAC_bbaru: Records: 4 Deleted: 0 Skipped: 0 Warnings: 10
Disconnecting from localhost
Connecting to localhost
Selecting database konversi_mdb
Loading data from LOCAL file: /home/hendrowicaksono/Projekto/konversi-mdb/OPAC_Kabar.csv into OPAC_Kabar
konversi_mdb.OPAC_Kabar: Records: 2 Deleted: 0 Skipped: 0 Warnings: 2
Disconnecting from localhost

——————————————————-

Jika tidak ingin ada tampilan progres import seperti diatas, cukup buang output bukan ke standard output tapi ke /dev/null pada sintaks mysqlimport:

——————————————————-

hendrowicaksono@hendrowicaksono:~/Projekto/konversi-mdb$ for TAB in `mdb-tables -1 Bm310.mdb`
> do mdb-export Bm310.mdb $TAB > $TAB.csv; mysqlimport --ignore-lines=1 --fields-terminated-by=, --verbose --local -u konversi --password="rahasia"konversi_mdb $TAB.csv > /dev/null
> done

——————————————————-

Selamat mencoba!