SQL Server 2008データベースにDATETIME
という列のテーブルがあります。挿入される日付は、挿入時にNOWを使用できるという意味でのタイムスタンプではありません。日付は挿入の少し前に生成され、私はこの値を保持したいと思います。SQL Server 2008 datetime列JDBC挿入の問題
Datetimesはyyyy-mm-dd hh:mm:ss.[fff...]
という形式の文字列としてシリアル化されてから、挿入される前にJDBCタイムスタンプオブジェクトに変換されます。
私はSQL Serverとに実行している問題は、それが挿入される前にTIMESTAMPに値を変換し、これで文句を言うことです:
com.microsoft.sqlserver.jdbc.SQLServerException:
Cannot insert an explicit value into a timestamp column.
Use INSERT with a column list to exclude the timestamp column,
or insert a DEFAULT into the timestamp column.
どのように私はちょうど、変換なしでDATETIMEカラムに挿入することができます?
ありがとうございました。
テーブルにタイムスタンプタイプの列がないことを確認してください。それらは、SQLサーバーのエラーメッセージのように、Javaではなくタイムスタンプになります。 - スキーマ – Mark
を100%表示します。その質問は既に答えられました。 setStringはsetTimestampではなく、必要なものです。私は、各JDBCドライバがdatetimesをさまざまな方法で処理すると思います。 – Max