我正在尝试从我的应用程序中读取Oracle表信息.要获取表描述,我在我的应用程序上执行此查询:
SELECT DBMS_METADATA.GET_DDL('TABLE', 'CONTRACT_TABLE' ,'SCHEMA_NAME') FROM DUAL
Run Code Online (Sandbox Code Playgroud)
这是执行查询的代码块:
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "SELECT DBMS_METADATA.GET_DDL('TABLE', 'CONTRACT_TABLE' ,'SCHEMA_NAME') FROM DUAL";
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
Clob clob = resultSet.getClob(1);
String str = clob.getSubString(1, (int)clob.length());
return str;
} else {
throw new DBPlatformException("Object not available [Schema: "
+ schema + "].[Name: " + objectName + "]!");
}
Run Code Online (Sandbox Code Playgroud)
当我直接在数据库上运行sql时,我得到了这个结果:
CREATE TABLE "SCHEMA_NAME"."CONTRACT_TABLE"
( "CONTRACT_ID" NUMBER,
"START_DATE" DATE,
"END_DATE" DATE
) PCTFREE 0 PCTUSED …Run Code Online (Sandbox Code Playgroud)