日期:2014-05-20  浏览次数:20884 次

关于元数据 COLUMN_SIZE 的问题
本帖最后由 jimgoal 于 2012-11-13 16:15:32 编辑 Oracle, 如 SCOTT下的 SALGRADE

  CREATE TABLE "SCOTT"."SALGRADE" 
   ( "GRADE" NUMBER, 
"LOSAL" NUMBER, 
"HISAL" NUMBER
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" 

这里的NUMBER没有做长度限制,而
ResultSet columnsRs = conn.getMetaData().getColumns(null, "%", "SALGRADE", "%");
Integer retVal = column.setColumnSize(columnsRs.getInt("COLUMN_SIZE"));
的结果不会有null,就如SALGRADE的列,返回来3个都是22

谁能告诉我,可以如何判断,有长度限制,没有长度限制,以及限制长度是22的

求教,谢啦!
------解决方案--------------------
顶起,在OTN找到类似的问题,但没有解决方法,是不是个bug呢?