変更内容
データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用してデータを取り出すと、下1桁または2桁のデータが不定のデータになります。
たとえば、列定義がDECIMAL(18,0)の列から16桁データ“9999999999999991”を取り出すと、データが16桁の“9999999999999992”になって出力されます。
データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用してデータを取り出すと、格納されたデータどおりの値を取得可能です。
たとえば、列定義がDECIMAL(18,0)の列から16桁データ“9999999999999991”を取り出すと、16桁の“9999999999999991”が返却されます。
非互換
データ型がNUMERIC型またはDECIMAL型で、精度15桁を超えるデータが格納されているとき、ResultSet.getLongメソッドを使用すると、JDBCドライバから、アプリケーションに返却されるデータが変更されます。
対処方法
JDBCデータソースの登録時または、アプリケーションに指定するURLに、JDBCドライバの以下のオプションを指定してください。オプションを指定することで、V5.0L30以前と同様の動作になります。
COMPATIBLE_MODE=(3)