我想通过DatabaseMetaData取到数据库中所有表的列信息,用getColumns方法,但是就是下面的Comments无法得到,希望各位大大能帮帮忙,有没有其他方法得到,小弟万分感谢 
SQL> desc table; 
Name  Type  Nullable    Default  Comments              
---------- -------------- -------- ------- ---------------我要实现与数据库类型无关 
dbmd=conn.getMetaData(); 
rs=dbmd.getColumns(null,schema, null,null); 
rs.getString("TABLE_NAME"); 
通过上面的代码可以取到所有的表名,API中说 
rs.getString("REMARKS");应该是取列注释的,但是我就是取不到,用desc table可以看到Comments,不知道是不是我理解错了,到底怎样才能取到Comments啊

解决方案 »

  1.   

    这个一般取不到,一个可能的原因就是jdbc驱动里面没有实现这个逻辑,直接返回了空,比如oracle的jdbc,用这个方法好像从来每成功过,
    另外一个可能的原因就是数据库里根本就没有记录comments信息,比如建表脚本里面就没有comments
      

  2.   

    与数据库无关似乎很难,好像每个数据库的数据库结构的存放方式不一样,
    看看能不能找到 databrowser_drv源码,似乎里面有
      

  3.   

    参考:if (pConnection instanceof oracle.jdbc.driver.OracleConnection)
              ((oracle.jdbc.driver.OracleConnection)pConnection).setResReporting(true);