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

用DatabaseMetaData 获取不了列的备注
数据库是oracle
用DatabaseMetaData来获取列的备注时总得到一个null值。
我的获取方法是
DatabaseMetaData metadata = conn.getMetaData();
ResultSet results = metadata.getColumns(null, schemaName, tableName, "%");
while (results.next()) {
  System.out.println(results.getString("REMARKS"));//结果总是为null
}
请问有朋友有遇到过这种情况,有解决办法吗?

------解决方案--------------------
Properties prop = new Properties();
prop.setProperty("user", user());
prop.setProperty("password", password());
prop.setProperty("remarks", "true");

conn = DriverManager.getConnection(url, prop);


这样就可以通过 DatabaseMetaData中getColumns的rs.getString("REMARKS")来获取备注信息。不过我也说了,这样会导致整体效率低了很多的,应该只在必要时候用。