Rabu, 17 Agustus 2011

Insert Image to Blob Field in MySQL with Delphi

Untuk memasukan file gambar atau apapun ke field BLOB yang ada di database MySQL ternyata tidak sesulit yang di perkirakan....
Sempat mencoba beberapa cara antara lain :
  1. Menggunakan Parameter query
  2. Menggunakan TSTream
  3. Menggunakan table tambahan sebagai temporary kolom yang nantinya di update di field yang seharusnya.
Ternyata dari beberapa yang digunakan banyak kendala diantara nya :
  1. File yang di insert harus mempunyai syarat tertentu supaya tidak terpotong atau berkesan Corrupt.
  2. Bisa di insert tapi proses yang lama sekali.
  3. Banyak proses yang di lewati yang menyebabkan aplikasi berkesan lambat.
Akhirnya cari-cari di google dan ketemu lah cara yang efektif (menurut saya sih...hehehe) yaitu dengan cara menggunakan fungsi yang ada di MySQL sendiri yaitu LOAD_FILE.

Cara menggunakan nya juga tidak sesulit yang di bayangkan.
Sebagai contoh saya punya file gambar yang ada di file D:\Foto\Foto1.jpg
maka yang saya lakukan untuk menambah data/row baru di tabel hanya menggunakan perintah :
mysql > INSERT INTO DATAGBR (IMG) VALUES (LOAD_FILE('D:\\FOTO\\FOTO1.JPG'));

Tidak bedanya dengan update data juga hanya mengetikan :
mysql > UPDATE DATGBR SET IMG=LOAD_FILE('D:\\FOTO\FOTO1.JPG')

Perlu di perhatikan dalam penulisan backslash harus menggunakan double backslash supaya proses berhasil dan apabila tidak ada file nya maka LOAD_FILE akan memberikan nilai NULL.

Demikian pengalamanku yang selama ini seperti mimpi buruk dalam inser/update BLOB Field.

Semoga bisa bermanfaat bagi teman-teman yang masih bingung dengan BLOB dan ini catatan saya untuk bisa digunakan di lain project....Alhamdulillah....

referensi :

1 komentar:

  1. bisa di berikan contoh proses pembuatannya setidaknya berupa gambar lah, biar mudah untuk di pahami, makasih

    BalasHapus