ページの先頭行へ戻る
Symfoware Server V11.0.0 アップデート情報
Symfoware

2.61 getLongメソッドの仕様変更

変更内容

5.0.1以前

データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用してデータを取り出すと、下1桁または2桁のデータが不定のデータになります。

たとえば、列定義がDECIMAL(18,0)の列から16桁データ“9999999999999991”を取り出すと、データが16桁の“9999999999999992”になって出力されます。

6.0以降

データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用してデータを取り出すと、格納されたデータどおりの値を取得可能です。

たとえば、列定義がDECIMAL(18,0)の列から16桁データ“9999999999999991”を取り出すと、16桁の“9999999999999991”が返却されます。

非互換

データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用すると、JDBCドライバから、アプリケーションに返却されるデータが変更されます。

対処方法

JDBCデータソースの登録時または、アプリケーションに指定するURLに、JDBCドライバの以下のオプションを指定してください。オプションを指定することで、5.0.1以前と同様の動作になります。

COMPATIBLE_MODE=(3)