ResultSetMetaData getTableName return 空
ResultSetMetaData getTableName return empty
我正在尝试通过以下代码从 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);)
}`
我关注这个link:https://docs.oracle.com/cd/E13222_01/wls/docs91/jdbc_drivers/oracle.html#1075290
但是,getTableName return 仍然是空的。
如何设置ResultSetMetaDataOptions?
我如何使用其他方法 select tableName?
您 link 的文档是针对一个非常老的驱动程序的。最新版本的 Oracle JDBC 驱动程序文档在 Using Result Set Metadata Extensions:
中明确指出
The oracle.jdbc.OracleResultSetMetaData
interface is JDBC
2.0-compliant but does not implement the getSchemaName
and getTableName
methods because Oracle Database does not make this
feasible.
换句话说,您无法为 Oracle 获取此数据。
我正在尝试通过以下代码从 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);)
}`
我关注这个link:https://docs.oracle.com/cd/E13222_01/wls/docs91/jdbc_drivers/oracle.html#1075290
但是,getTableName return 仍然是空的。
如何设置ResultSetMetaDataOptions? 我如何使用其他方法 select tableName?
您 link 的文档是针对一个非常老的驱动程序的。最新版本的 Oracle JDBC 驱动程序文档在 Using Result Set Metadata Extensions:
中明确指出The
oracle.jdbc.OracleResultSetMetaData
interface is JDBC 2.0-compliant but does not implement thegetSchemaName
andgetTableName
methods because Oracle Database does not make this feasible.
换句话说,您无法为 Oracle 获取此数据。