Saya ingin berbagi sedikit pengalaman saya mengenai AS400 Warning Message yang sedikit menyebalkan, tapi sebelumnya mohon perkenalkan dulu, nama saya Andreas dan saya adalah seorang programmer JAVA.
AS400 adalah sebuah mesin keluaran ibm yang biasa – nya digunakan sebagai database di banyak lembaga keuangan. Kebetulan company tempat saya bekerja, menggunakan mesin ini, dan saya ditugaskan membuat sistem CRUD pada mesin ini. Setiap user yang ingin menggunakan sistem harus memasukkan id & password mereka masing2 untuk authentikasi nya. Jika anda menggunakan JDBC, bisa menggunakan driver jt400.jar dari ibm dengan driver Class com.ibm.as400.access.AS400JDBCDriver.
Ok. Disinilah permasalahan mulai timbul. Settingan mesin AS400 nya di set, jika user salah memasukkan password maka akan muncul windows kecil, sebagai warning message kalau password yang dimasukkan salah, dan harap memasukkan password yang benar kembali. Jika aplikasi yang kita buat adalah desktop base tentu hal ini tidak masalah, tapi kalau misalkan aplikasi yang kita buat adalah web base, hal ini akan menjadi bumerang yang sangat besar. Warning message tersebut akan muncul di server dan bukan pada client. Karena tidak ada Handler untuk mengirim error message seperti itu. Kira-kira begini scenario nya:
- Client salah menginputkan password
- Keluar warning message di Server, dan meminta user untuk memasukkan kembali password yang benar
- Pada komputer client, program akan tetap loading sampai timeout. Hal ini dikarenakan warning message masih menggantung di server, dan tidak ada nilai kembalian ke client.
Sempat pusing tujuh keliling, cari2 Class untuk menghandle masalah seperti ini. Bagaimana cara menangkap error message nya. Akhirnya saya menemukan solusi jitu yang cukup mudah. Kalau pakai JDBC gak berhasil, ya sudah balik pakai ODBC saja. ;D. Driver Class yang digunakan adalah sun.jdbc.odbc.JdbcOdbcDriver, sudah include di JDK, jadi tidak perlu menggunakan file jar tambahan. Lalu keuntungan nya, nilainya hanya bersifat TRUE atau FALSE, jadi jika user salah memasukkan password nya, langsung di return False dengan warning letter dari Database.
Masalah terselesaikan. Case Closed.
terus kl untuk CRUD-nya tetep bs pk ODBC ini jg bos?
CRUD ya tetep bisa boss. ODBC itu cuma sebagai connector ke DB nya aja, minta bantuan third party, jadi bukan JAVA nya yg create connection. Sisanya mah sama aja kayak pake JDBC.