小编sec*_*den的帖子

Prepared Statement不会检索sql的确切结果

我正在尝试从我的应用程序中读取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)

java oracle resultset prepared-statement

5
推荐指数
1
解决办法
149
查看次数

标签 统计

java ×1

oracle ×1

prepared-statement ×1

resultset ×1