【发布时间】:2018-04-19 15:01:34
【问题描述】:
我正在尝试通过以下代码从 ResultSetMetaData 中获取 TableName:
`Properties info = new java.util.Properties();
info.put ("user",this.username);
info.put ("password",this.password);
info.put ("ResultSetMetaDataOptions","1");
Connection conn = DriverManager.getConnection(this.url,info);
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet rs = preparedStatement.executeQuery();
ResultSetMetaData metaData = rs.getMetaData();
metaData.getTableName(0);
for (int i = 1; i <= metaData.getColumnCount(); i++) {
logger.info("Table Name : " + metaData.getTableName(i);)
}`
我点击这个链接:https://docs.oracle.com/cd/E13222_01/wls/docs91/jdbc_drivers/oracle.html#1075290
但是,getTableName 返回还是空的。
如何设置ResultSetMetaDataOptions? 如何使用其他方法选择 tableName?
【问题讨论】:
-
您使用的是哪个版本的 Oracle JDBC 驱动程序?您正在链接到非常旧的文档,我知道 Oracle 从更新的驱动程序中删除了一些元数据选项,因为它们的用处有限并且对性能的影响。还有你正在执行的查询是什么?
-
我的 ojdbc 版本:
和我的 sql 查询: select * from TABLE_A a , TABLE_B b where a.sameColumn = b.sameColumn;oracle ojdbc6 11.2.0.3
标签: java jdbc metadata resultset