Wednesday, November 16, 2011

PowerBuilder - Binary Data Terbatas sampai 32 KB

Wihartoyo     Wednesday, November 16, 2011    




Hmm...., ini sebenarnya masalah lama yang pernah aku tangani. Namun kemarin ada lagi temen yang menanyakan hal ini, "Kenapa binary data waktu dieksekusi dengan updateblob make ODBC untuk Sybase ASE gak perah bisa lewat dari 32KB?"
Sebenarnya ini bukan keterbatasan, tapi memang batas yang telah di-set pada file konfigurasinya. Ini dilakukan untuk menjamin performa baik aplikasi maupun database.  Seperti diketahui bahwa Sybase ASE menggunakan device files dan databases nya ditanamkan ke dalam device files tersebut serta binary data ikut dibenamkan ke dalam database dan bukan pada files yang tersimpan pada direktori file system.  Dengan kondisi ini, ukuran 32KB untuk binary data bisa dianggap sebagai ukuran yang cukup kecil namun masih bisa mewakili karena toh untuk file gambar (misal) dalam format jpg dengan ukuran 32Kb masih cukup baik untuk ditampilkan lagi.  Namun pada beberapa kasus, seperti salah-satunya yang dihadapi teman tadi, kita sering tidak bisa men-drive user untuk membatasi ukuran file sampai maksimal 32KB.  Disamping kemampuan si user sendiri, atau dengan alasan kecepatan pelayanan karena si user kebetulan juga melayani kastemer, seringkali kita mengabaikan optimasi performa dengan membatasi besar data, untuk kemudian hanya mengandalkan optimasi pada performa mesin dan komunikasi saja. Ini tidak salah, sampai pada batas yang bisa diterima.
OK, kita kembali ke PowerBuilder.  Untuk koneksi database Sybase ASE menggunakan ODBC, kita bisa melakukan perubahan konfigurasi default dengan memodifikasi file %INSTALLATIONROOT%\Sybase\Shared\PowerBuilder\pbodbxxx.ini. Dimana %INSTALLATIONROOT% biasanya adalah pada "C:\Program Files" atau "C:\Program Files (x86)" untuk windows 64bit, sedang xxx pada pbodb menujukkan versi PowerBuilder terinstall pada mesin atau PowerBuilder yang kita yang akan kita modifikasi file konfigurasinya.  Dengan menggunakan notepad, kita buka file pbodbxxx.ini dan cari pada bagian "[SQL SERVER]".  Hati-hati dengan hasil temuan, karena ada 2 bagian yang mengandung SQL SERVER, satu adalah [MICROSOFT SQL SERVER] sementara yang lain adalah [SQL SERVER]. Kenapa sama-sama menggunakan SQL SERVER, karena baik Sybase ASE maupun Microsoft SQL Server memang pernah dikembangkan secara bersama oleh Sybase dan Microsoft. Kita ambil yang [SQL SERVER] saja.  Perhatikan potongan berikut,

[SQL Server]
PBCatalogOwner='dbo'
PBSyntax='SYBASE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='SYBASE_FUNCTIONS'
PBSpecialDataTypes='SYBASE_SPECIALDATATYPES'
PBObjectIDs='YES'
PBMaxBlobSize='32767'
PBMaxTextSize='32767'
PBDWDynamic='NO'
SQLSrvrTSPrefix='0x'
PBTrimCatCharColumns='YES'
PBUseProcOwner='YES'
IdentifierQuoteChar='"'



Nah, kita hanya perlu untuk melakukan modifikasi pada bagian yang diblok hijau.  Untuk file gambar, kita ubah nila PBMaxBlobSize sesuai kebutuhan kita.  Sementara untuk text kita ubah PBMaxTextSize.  Nilai yang tertera dalam satuan bytes.  Jadi, silakan dan selamat mencoba.....

,

Recommended