Microsoft Access 2010 データベースをあるスキーマから別のスキーマに転送するための Java プログラムを開発しています。レコードの約 3% に無効な日付が含まれており、DateTime フィールド オーバーフローの例外がスローされていることに気付きました。
DateTime フィールドのオーバーフロー例外をトリガーできるようになる前に、無効な日付を null に変換する Date 値のテストを作成するにはどうすればよいですか?
例外をトリガーするコード行の例を次に示します。
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)