2012-11-30 79 views
1

如何使用jdbc調用存儲過程,其中IN參數是一個嵌套表,其中包含一個包含xmltype的結構?是否可以使用JDBC傳遞包含XmlType的Oracle集合?

例如,下面使用瘦驅動程序調用p_my_package.insert_proc以及xml數據可能大於4000個字符的jdbc代碼是什麼?

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; 

回答

0
stmt = conn.createStatement(); 

字符串insertQuery = 「INSERT INTO TABLENAME(ID,NAME,STUDENTXML)」 + 「VALUES(,,XMLTYPE()???)」;

pStmt =(OraclePreparedStatement)conn.prepareStatement(insertQuery);pStmt.setObject(1,「001」); pStmt.setObject(2,「VIGILANCE」); pStmt.setStringForClob(3,「studentXMLString」);

pStmt.executeUpdate();使用ojdbc14.jar,從here下載

相關問題