- - PR -
Commons DBUtils NULL値の登録について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-28 14:00
みーちくと申します。
SQLServer8のDBへJava側よりCommons DBUtilsを使用して登録を行っております。 datetime型にNULLを登録したいのですが、下記のエラーメッセージが表示され、 登録できません。 DBUtils QueryRunner fillStatement()において、setNull()が使用されており、 NULL値はセットされております。 どうすれば、NULL値を登録できるのでしょうか? 宜しくお願い致します。 [エラーメッセージ] このドライバは、指定された SQL タイプをサポートしていません。 |
|
投稿日時: 2005-12-28 18:09
DB2ですが、同様の現象に遭遇しました。原因は、
QueryRunner#fillStatement()メソッドのなかで、 PreparedStatement#setNull(i + 1, Types.OTHER)と、 java.sql.Types.OTHER が指定されているためです。 QueryRunnerのサブクラスを作成して、fillStatement()メソッドをオーバーライドし、 このsetNull()の第2引数をTypes.OTHERではなく、Types.VARCHARなどを指定する 実装を書けばOKです。 恐らくDbUtilsのバージョンは1.0を使用されていると思いますが、 1.1devでは上記のように修正されているようです。 http://cvs.apache.org/viewcvs.cgi/jakarta-commons/dbutils/src/java/org/apache/commons/dbutils/QueryRunner.java?r1=1.13&r2=1.14&diff_format=h |
|
投稿日時: 2006-01-04 09:14
みーちくです。
cloyさん 返信ありがとうございました。 変更されたソース(QueryRunner.java)をダウンロードして、 再度Jarを作り直して対応しました。 情報ありがとうございました。 |
1