1

如何使用 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;
4

1 回答 1

0
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,从这里下载

于 2012-12-26T11:11:42.173 回答