Wednesday, May 16, 2007

Connect VFP to MySQL (1)

Sudah bukan masanya lagi membangun aplikasi berbasis data yang besar hanya mengandalkan database native, disamping kemampuannya yang terbatas, kompatibilitasnya juga patut diperhitungkan. Ambil contoh Visual Foxpro yang sampai saat ini masih saya anggap sebagai bahasa pemrograman yang cukup mudah dengan kemampuan yang powerfull, dilengkapi dengan report designer, database native dan cursor adapter (versi 9.0). namun kemampuannya akan lebih powerfull apabila digabungkan dengan database engine seperti mySQL.
Kenapa harus mySQL, disamping FREE tentu saja, juga multi platform. bayangkan anda bisa mengembangkan aplikasi dengan interface berbasis ms windows sementara database tersimpan dalam mySQL yang running pada OS Linux. Tentu saja masih banyak kelebihan yang akan didapat dari penggabungan VFP dengan mySQL, namun untuk memulainya kita mulai tahap demi tahap.

saya asumsikan anda sudah bisa instalasi mySQL ataupun Visual Foxpro, banyak documentasi tentang itu, langsung saja kita melangkah bagaimana koneksi VFP dengan mySQL.
1. pastikan driver mySQL sudah terinstall pada komputer anda, apabila belum googling aja.
2. buat koneksi dengan sqlstringconnect()

contoh kode :

*definisikan variable koneksi untuk memudahkan anda dalam menulis kode.
cKoneksi = "driver=mysql odbc 3.51 driver;server=192.168.42.4;uid=root;pwd=telematika;database=mybisgm"

*keterangan :
*driver mendefinisikan versi driver yang terinstall pada komputer anda.
*server diisi dengan ip address / nama komputer yang didalamnya terinstall mysql
*uid diisi dengan user yang melakukan koneksi
*pwd adalah password untuk user tersebut
*database adalah nama database yang akan anda buka

*buat koneksi
oConnect = SQLSTRINGCONNECT("&cKoneksi")
*pastikan oConnect menghasilkan nilai diatas 0 (positif, artinya koneksi berhasil)

setelah berhasil terkoneksi, anda tinggal menikmati keunggulan mySQL dari visual foxpro anda.
contoh :
SQLEXEC(oConnect,"CALL OPENFILE(?cFileAkun,'','')","CURCU")
* sintak tersebut berarti, menjalankan perintah sql "SQLEXEC" dengan koneksi "oConnect" dan menjalankan stored prosedur dalam mySQL "CALL OPENFILE(?cFileAkun,'','')" untuk kemudian outputnya ditampung dalam cursor "CURCU"
PERHATIKAN :
karena sintak ini dikerjakan dalam server, maka vfp tidak memberikan umpan balik bilamana sintak anda terdapat kesalahan pada mysql server. untuk memastikan bahwa prosedur anda benar, panggil prosedur melalui mysql prompt.
OK sampai sini dulu.. lanjut lagi lain waktu.

22 comments:

  1. Wah .. thanx ya bos edi tutorialnya ... and tuh forum VFP ya ... ok banget. Aku dah lama nyari eh .. baru sekarang ketemu .... Thanx ya ...

    ReplyDelete
  2. Anonymous3:44 PM

    Hooiiii bang Edi apa kabar? Muhzien dan Joko apa kabar juga, jadi inget masa-masa di Dinus euy...

    ReplyDelete
  3. idiotzz9:53 PM

    kk script generate database mysql lwt vfp 9 gmn???
    bantuin ya klo ada kirimin ke email aq : jnm251004@gmail.com
    thanks b4

    ReplyDelete
  4. kk kalo mau konekin antara vb dgm mysql pada access gmn y???

    ReplyDelete
  5. ka, cara bljar cepat mysql gmn ya??

    ReplyDelete
  6. Anonymous8:48 PM

    Kk aq msh awam dalam foxpro. Tp setelah baca2 ttg fitur foxpro aq jd tertarik. Tlg kirimkan aq referensinya y kak. emailku erlingga.anugerah@gmail.com

    ReplyDelete
  7. @All : Pada prinsipnya antara mySQL dan VFP dapat bersinergi. semua sintak sql dapat dieksekusi dari VFP, dengan perintah sqlexec, Bagaimana cara membuat database mySQL dari foxpro ? Gunakan SQLEXEC(variablekoneksi,"string sql")
    - Cara belajar cepat SQL : Praktis make perfect
    - Referensinya lengkap di Help nya VFP.
    - Akses ? kenapa mesti akses ke mySQL ? akses database, MySQL database.. aku jadi bingung

    ReplyDelete
  8. nice post..
    makasih buat tutorialnya..semoga bermanfaat..

    ReplyDelete
  9. Anonymous7:42 AM

    master...
    nannya donkk..
    masih awam nih saya,,tapi akan terus belajar,,
    master,,connector nya mesti pake ODBC ya??
    apa langsung ketik listing nya aja...nah klo misal nya ngetik langsung,,ngetik nya dimana??
    makasih...

    ReplyDelete
  10. Yang dimaksud ODBC atau DSN ?
    kalo ODBC itu kan driver untuk interkoneksi antar mesin database, gak perlu nulis macem2.. cukup instal aja ODBC drivernya, terus sebutkan pada saat menghubungkan seperti saya tulis diatas.

    Kalau DSN (data source name) boleh pakai boleh tidak, kalau saya biasa gak pakai, atau DSNless. menurut saya itu lebih fleksible (CMIIW) cara nulisnya tuh diatas udah saya tulis.

    ReplyDelete
  11. Anonymous3:46 PM

    ooo..
    gitu ya master..
    master..
    klo script mysql nya sndiri bisa di pake di VFP ga si??
    contoh nya : klo di php kan tinggal langsung tuh,, misal , $lihat=mysql_query(select*from nma tabel nya where index nya) tapi klo di VFP gmna script nya??sya bca di help nya malah bikin bingung,,
    makasih ya..

    ReplyDelete
  12. Bisa aja to ..
    SQLEXEC(variablekoneksi,"string sql")
    dalam script "string sql" ini kan script yang dipakai di mysql, berlaku sintaks mysql, bukan sintaksnya VFP

    ReplyDelete
  13. Anonymous3:56 PM

    oh gitu,,
    biar saya coba..

    ReplyDelete
  14. Anonymous1:50 PM

    master,,
    maap bgt nih saya mw tanya lagi..
    VFp kan punya database sndiri ya,,

    yang jadi masalah,,
    database ntu bisa di export ga si??

    makasih ya..

    ReplyDelete
  15. di eksport kemana ? kalo ke MySQL bisa saja, untuk lebih mudahnya gunakan mySQL GUI Front end, seperti Navicat, atau lainnya (saran saya gunakan Asli) tapi kalau tidak punya yang asli, buat saja logika sederhana dari VFP.
    1. Buat table yg sesuai (type datanya) di mySQL seperti table di VFP yang ingin di eksport.
    2. dari VFP baca table secara sequential, setiap record terbaca, Lakukan INSERT data kedalam mySQL server, gunakan SQLEXEC().

    sudah begitu saja, simple to.

    ReplyDelete
  16. w masih bingung nie, maklum masih awam,,,,
    klo mysql nya pke xampp bisa gag?
    trus Gimana cara ngoneksikan ke Foxpro,
    sekalian klo ada softwarenya ODBC bisa di share gag?
    makasih, By The Killer Insthink !!!

    ReplyDelete
  17. Anonymous7:25 AM

    mysql saya pakai appserv, bisa gak ya, tolong diberi contoh lengkapnyanya mass, udah bingung kali nih..., kalau bisa kirim ke email saya aja nih. bestproinfo@gmail.com

    ReplyDelete
  18. Jgn terjbak pada berbagai macam tools.. pahami konsep dasarnya pasti aka lebih mudah. Boleh pakai xampp, appserv, dll yang penting kita tahu mysql yang terinstall di komp kita seperti apa. Driver ODBC download aja gratis kok.. disitusnya mysql juga ada. Semoga membantu

    ReplyDelete
  19. pak, kalo get output dari cursornya bagaimana syntax nya?
    masi awam kalo konek ke mysql, agak bingung

    ReplyDelete
  20. sqlexec(cKoneksi,'SELECT * FROM ANGGOTA','CURSORANGGOTA')

    PENJELASAN :
    cKoneksi adalah koneksi yang telah kita buat, string di tengan 'SELECT * FROM ANGGOTA' adalah sintak sql, 'CURSORANGGOTA' adalah output dari sintak sql berupa sebuah cursor. kalau sintak sqlnya salah cursor tidak tercipta, dan tidak ada pesan error..

    ReplyDelete