Kamis, 25 Desember 2008

Koneksi VFP ke IBM DB2....

Mungkin bagi temen-temen yang masih berkutat tools desktop VFP80/90, tulisan ini bermanfaat.

Karena sekarang ini, saya masih berkubang di danau bernama IBM DB2 alias Database Bingung Banget :))
saya coba mainan lama VFP80, koneksi pake' sqlconnectstring ke DB2 ternyata simple, begitu juga koneksi ke MySQL (opensource DB).

##Koneksi ke IBM DB2##

1. pastikan DB2 Admin Client sudah terpasang dengan sempurna di PC / Lepi anda. Artinya, {IBM DB2 ODBC DRIVER} sudah terinstall dengan baik.
2. Untuk percobaan, anda tidak perlu membuat form/screen, coba aja di command editor VFP80.
3. Buat variable "lcKonek", sebagai operan untuk koneksinya.

lcdriver2 =
"{IBM DB2 ODBC DRIVER}"
lchostname2 = "[Nama Server/Host/IP]" &&misalnya Capten/sebutkan IP addressnya
lcPort2 = "[port dari DB2 server dimana DB terinstall" &&biasanya 50000 / 50001 / tergantung adminnya
lcProtocol2 = "[protocol yg digunakan]" &&biasanya "TCPIP"
lcDatabase2 = "[nama databasenya]" &&misalnya DBku
lcUID2 = "[user id DB tsb]"
lcpwd2 = "[Password DB tsb]"

lcKonek ="driver="+lcdriver2+";database="+lcDataBase2+";hostname="+lchostname2+"port="+lcport2+
";protocol="+lcprotocol2+";uid="+lcUID2+";pwd="+lcpwd2+";"

***buat koneksi variable
gnConn =sqlstringconnect(lcKonek)

nah, kalau nilai dari gnConn2 >0 maka koneksi suksesss...

Kalau udah sukses, anda bisa mencoba perintah query sak karepmu wis.....

Misalnya :
sqlexec("gnConn,"Select * from tableku","cursorku")
maka hasil dari query tersebut akan keluar sebagai cursor di VFP80.

Ingak...ingak....
Structure Data di DB2 ketika di cursor ada beberapa hal yang perlu diperhatikan.
- semua tipe Numeric (decimal, smallint,numeric), akan keluar sebagai numerik KECUALI "BIGINT". Bigint ketika di cursor VFP80 diterjemahkan sebagai tipe Memo. Jadi Anda kudu convert dulu dengan sintaks VAL(namafieldnya) kalau mau mainin tuh field.
- tipe string, apapun namanya, kalau sourcenya mempunyai lebar > 254 maka akan diterjemahkan sebagai Memo juga. Tapi memo kan caracter juga.




1 komentar: