mysql:12216
From: "NAGASAWA Teruo" <"NAGASAWA Teruo" <tech-ml@xxxxxxxxxx>>
Date: Wed, 5 Oct 2005 14:52:17 +0900 (JST)
Subject: [mysql 12216] Re: 皆さんの使っているJDBC= ?ISO-2022-JP?B?GyRCJUklaSUkJVAkTiVQITwlOCVnJXMbKEI=?=
長沢です。 > Connector/Jにおけるフィールド値 "0000-00-00 00:00:00"の取り扱いですが、 > 調べていたらどうも既にドキュメントに結論のようなものが書かれておりました。 > > http://dev.mysql.com/doc/mysql/en/cj-upgrading.html#cj-upgrading-3-0-to-3-1 > > ・JDBC仕様/SQL標準により忠実なのはSQLExceptionをスローする挙動 > ・ver3.1.4から実装を変更した > ・現在はオプションを指定することで挙動を選ぶことができる > > プロパティ名:zeroDateTimeBehavior > 値の候補:exception ・・・SQLExceptionをスローする(デフォルト) > 値の候補:convertToNull ・・・nullを返す(ver3.0系と同じ動き) > 値の候補:round ・・・"0001-01-01 00:00:00"を返す > > とのことです。既にドキュメントにもこう書かれてしまっていますので、 > これを変更するのはちょっと難しいかなと思います・・・。 > > この話だけで考えれば、データソース設定なりの部分で > 渡す接続プロパティを1つ追加(zeroDateTimeBehavior=convertToNull) > するだけということにはなりますが。 ごめんなさい。zeroDateTimeBehavior=convertToNullにしたら すんなりスローしなくなりました。お騒がせしました。m(_ _)m ただ、ResultSet.getObject()だとnullか'0001-01-01'か SQLExceptionしか選べないんですね。 # Stringの"0000-00-00"で返してほしいけど、この方がおかしいですね。。。 これはこれで十分な機能だと思いますので、 今後、作戦を変更して、フィールドにnullを許可するようにします。 # その方が自然でしたね。。。 -- NAGASAWA Teruo <tech-ml@xxxxxxxxxx>
12200 2005-10-01 23:53 [NAGASAWA Teruo <tech] 皆さんの使っているJDBCドライバのバージョン 12201 2005-10-01 23:53 ┣["TAKAHASHI, Tomohiro] 12202 2005-10-01 23:58 ┃┗["TAKAHASHI, Tomohiro] 12203 2005-10-02 00:23 ┃ ┗[NAGASAWA Teruo <tech] 12206 2005-10-03 15:28 ┗[Tetsuro IKEDA <tetsu] 12211 2005-10-05 01:35 ┗[NAGASAWA Teruo <tech] 12212 2005-10-05 02:13 ┣[Tetsuro IKEDA <ikdtt] 12213 2005-10-05 06:22 ┣[Tetsuro IKEDA <ikdtt] 12214 2005-10-05 07:17 ┃┣[Tetsuro IKEDA <tetsu] -> 12216 2005-10-05 14:52 ┃┗["NAGASAWA Teruo" <te] Re: 皆さんの使っているJDBC= ?ISO-2022-JP?B?GyRCJUklaSUkJVAkTiVQITwlOCVnJXMbKEI=?= 12217 2005-10-05 15:44 ┃ ┗["TAKAHASHI, Tomohiro] Re: 皆さんの使っているJDBC=?ISO-202 2-JP?B?GyRCJUklaSUkJVAkTiVQITwlOCVnJXMbKEI= 12218 2005-10-05 17:00 ┃ ┗[NAGASAWA Teruo <tech] 12215 2005-10-05 11:21 ┗["TAKAHASHI, Tomohiro]