0

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)
4

1 に答える 1