2016-08-09 3 views
0

Javaメソッドの引数としてREFERENCEを渡して、それを変換したいのですが、MbElement []の形式で返したいと思います。JavaからESQLにMbElement []を返す方法は?

これまで私は以下のことを試みました。上記のコードをテストしながら

public static Long retrieve(Long employeeAge,MbElement[] outputRoot) 
{ 
MbElement xmlnsc = outputRoot[0].getFirstElementByPath("XMLNSC"); 
MbElement employees =  xmlnsc.createElementAsFirstChild(MbElement.TYPE_NAME, "employees", null); 
MbElement employee =employees.createElementAsLastChild(MbElement.TYPE_NAME, "employee", ""); 
employee.createElementAsLastChild(MbElement.TYPE_NAME, "emp-id", 1001); 
employee.createElementAsLastChild(MbElement.TYPE_NAME, "emp-name", "john"); 
employee.createElementAsLastChild(MbElement.TYPE_NAME, "emp-age", 30); 
employee.createElementAsLastChild(MbElement.TYPE_NAME, "emp-city", "london"); 


return new Long(0); 
} 

:以下

create function retrieveData(IN empId INTEGER,INOUT outputXML REFERENCE) 
returns integer 
language java 
external name "com.test.util.Database.retrieve"; 

は、Javaメソッドである:私は次のようにJavaメソッドを呼び出すESQL

CALL retrieveData(CAST(AGE AS INTEGER),OutputRoot.XMLNSC.employees) into RESULT; 

に次のコードを使用しています

、それはSqlRoutine :: clearDownChildEnvエラーを投げています。

これを解決する方法。ありがとうございます...

答えて

0

出力されました。

DECLARE RESULT INTEGER; 

SET OutputRoot.XMLNSC.employees=null; 

DECLARE outputref REFERENCE TO OutputRoot.XMLNSC.employees; 

CALL retrieveData(CAST(AGE AS INTEGER),outputref) into RESULT; 

その作業罰金:

私は、次の方法を使用しています。

関連する問題