jdbc通过DatabaseMetaData获取oracle数据库表字段数据类型错误

心乱红尘恋 2017-09-28 04:57:38
Linux机器上有个oracle服务器,有个表中的字段是number(38,0),但是通过

int columnSize=columnRs.getInt("COLUMN_SIZE");
int decimalDigits = columnRs.getInt("DECIMAL_DIGITS");

得到的数据大小是 0,小数位是 -127.

但是从我本机上的oracle服务器表中获取的类型是 38,0 正确的。

请教这是怎么回事,是oralce服务器的某些设置造成的吗?还是其他原因?
...全文
684 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifewell1 2017-09-29
  • 打赏
  • 举报
回复
可能系统编译版本问题吧,你试试number(38)
lifewell1 2017-09-29
  • 打赏
  • 举报
回复
因为Java的缺陷 对int操作会出现0.99999998的情况 数据库类型必须明确无小数类型 直接给number(38) 不要加,0
心乱红尘恋 2017-09-29
  • 打赏
  • 举报
回复
引用 1 楼 u013835778 的回复:
因为Java的缺陷 对int操作会出现0.99999998的情况 数据库类型必须明确无小数类型 直接给number(38) 不要加,0
但是从我自己本上的oracle上为什么能得到正确的结果那,同样设置的number(38,0)

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧