- - PR -
PreparedStatement#setNull(int,int)の使用について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-26 17:28
お世話になっております。
掲題のsetNullメソッドを使用してデータベースにNull値を挿入しようと 試みていますが、エラーで失敗してしまいます。 挿入先:Oracle8.1.7 項目型:Number(10,0) 実行ソース:ps.setNull(3,Types.BIGINT); //ps はPreparedStatementのインスタンスです。 発生するエラーメッセージは、 java.sql.Exception "ORA-01438:指定した精度を超える値が列に指定されています。" です。 指定するjava.sql.Typesが誤っているのかと思い、 Types.BIGINT,DOUBLE,INTEGER,SMALLINT,NUMERIC,CHAR,VARCHAR など想定できる型すべてを使用してみましたが、同じエラーが発生してしまいます。 Oracle側が、CHAR()型やVARCHAR()型の場合は、 ps.setString(3,null); で、Null値を設定できることは確認していますが、Oracle上の数値項目への Null値の挿入、更新ができません。 以上、初歩的な質問であるかもしれませんが、 何卒よろしくお願い致します。 | ||||
|
投稿日時: 2004-08-26 17:40
DECIMALでも駄目でしょうか? | ||||
|
投稿日時: 2004-08-26 17:53
cheat ですが、
oracle.jdbc.OracleTypes.NUMERIC を使うとどうなります? | ||||
1
