0
我正在開發一個Java程序,用於將Microsoft Access 2010數據庫從一個模式轉移到另一個模式。我注意到大約3%的記錄包含無效的日期,這些日期引發了DateTime字段溢出異常。防止日期時間字段溢出異常
如何編寫日期值的測試,以將任何無效日期轉換爲null,然後才能觸發DateTime字段溢出異常?
這裏是觸發異常的代碼行的一個示例:
try {ps6.setDate(4, myDate);} catch (SQLException e) {e.printStackTrace();}
這裏是指明MyDate可變的無效值,其拋出異常的示例:
0151-06-25
而這裏是錯誤的堆棧跟蹤:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Datetime field overflow
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3156)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:215)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:137)
at pic_data.test.MigrateDataTools.migratePICIntakeTable(MigrateDataTools.java:1007)
at pic_data.test.MigrateDataTools.main(MigrateDataTools.java:17)