วันจันทร์ที่ 5 พฤษภาคม พ.ศ. 2551

การแก้ปัญหา JasperException Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP

ปัญหา
org.apache.jasper.JasperException: Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP.

สาเหตุ

ในตารางที่โปรแกรมเข้าไปอ่านนั้นนั้นมีคอลัมน์ที่เป็น datetime หรือเป็นชนิดข้อมูลที่สามารถแปลงค่าให้เป็น TIMESTAMP ได้โดยที่ในตารางนั้นมีแถวที่มีค่า '0000-00-00 00:00:00' ในคอลัมน์ดังกล่าว

วิธีการแก้ปัญหา

1) ดูจาก trace ของ exception เพื่อไปที่โค้ดไฟล์ที่มีปัญหา แล้วจะทราบตารางที่มีปัญหาดังกล่าว
2) ดูโครงสร้างในตารางดังกล่าว พิจารณาดูว่าคอลัมน์ไหนมีชนิดข้อมูลที่สามารถแปลงให้เป็น timestamp ได้
3) เข้าไปดูข้อมูลในตารางดังกล่าว แล้วลบแถวที่มีค่า
'0000-00-00 00:00:00' ในคอลัมน์ดังกล่าว