【问题标题】:Is it possible to use JDBC to pass an Oracle collection that contains an XmlType?是否可以使用 JDBC 传递包含 XmlType 的 Oracle 集合?
【发布时间】:2012-11-30 21:01:20
【问题描述】:

如何使用 jdbc 调用存储过程,其中 IN 参数是一个嵌套表,其中包含一个包含 xmltype 的结构?

例如,下面使用瘦驱动调用p_my_package.insert_proc的jdbc代码是什么,xml数据可能大于4000个字符?

CREATE OR REPLACE TYPE ot_config_info
AS
  OBJECT
  (
    config_id  VARCHAR2(512),
    config_xml sys.xmltype );

CREATE OR REPLACE type tt_config_list
AS
  TABLE OF ot_config_info;

CREATE OR REPLACE
PACKAGE p_my_package
IS
  PROCEDURE insert_proc(
      p_config_list tt_config_list);
END p_my_package;

【问题讨论】:

    标签: oracle jdbc xmltype


    【解决方案1】:
    stmt = conn.createStatement();
    

    String insertQuery = "INSERT INTO TABLENAME (ID, NAME, STUDENTXML)"+ " VALUES(?,?,XMLTYPE(?))";

    pStmt = (OraclePreparedStatement) conn.prepareStatement(insertQuery); pStmt.setObject(1, "001"); pStmt.setObject(2, "警惕"); pStmt.setStringForClob(3, "studentXMLString");

    pStmt.executeUpdate();

    使用ojdbc14.jar,从here下载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多