Dalam merancang query saya menggunakan SQL Developer, sedangkan untuk merancang report kami menggunakan Jaspersoft iReport Designer 5.6.0. Query sudah dibuat dan lancar dijalankan di SQL Developer. Di iReport juga berhasil Read Fields, yang artinya tidak ada masalah di query.
tampilan layar Jaspersoft iReport Designer 5.6.0 |
Masalah baru muncul setelah unggah report ke Jasper Server. Ketika report dijalankan, ada pesan error standar yang muncul. Pesan error tersebut terlalu standar untuk dapat digunakan dalam identifikasi permasalahan. Jalan terbaik adalah dengan melihat log error di server. Untuk akses file log tersebut harus SSH menggunakan PuTTY atau perangkat lain yang disukai.
Dari log didapati bahwa SQL query invalid. Ternyata Jasper Server memiliki validator SQL yang banyak batasannya. Validator tersebut dapat dicustom dengan mematikan beberapa pengujian, tapi hal tersebut sangat rentan terhadap serangan SQL Injection.
Sebagai langkah terbaik, query diubah menyesuaikan batasan SQL Validator dari Jasper Server.
Dari pengalaman tersebut saya belajar :
- Untuk tabel anak gunakan Subreport
- Untuk tabel referensi gunakan left outer join
Tidak ada komentar:
Posting Komentar