DB2 で実行されているストアド プロシージャを呼び出す必要があります。Oracle DB アダプタは DB2 をサポートしていないため、Java 埋め込みを使用してストアド プロシージャを呼び出しました。Java埋め込みを使用してストアドプロシージャを呼び出し、結果セットを取得する際に問題はありません。問題は、結果セットを出力変数に割り当て始めるときに始まります。変数を設定するには、以下の抜粋を使用します。
rset=statement.executeQuery("SELECT name, number, salary from Employee");
rset = statement.getResultSet();
int j=1;
if (rset != null)
{
while(rset.next())
{
name=rset.getString("name");
name=rset.getString("number");
name=rset.getString("salary");
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empname",name);
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empno",number);
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:salary",salary);
j=j+1;
}
}
上記のコードでは、出力変数 temp に割り当てられるすべての従業員のすべての従業員名、番号、および給与の詳細を表示することを期待しています。しかし、表示される出力は最後の従業員の詳細のみです。残りの従業員の詳細は表示されません。変数 j を 1 または 2 または 3 などに置き換えます。その配列要素の詳細のみの出力を取得しますが、他の詳細は不明です。結果セット全体を出力変数に取得するのを手伝ってくれませんか。