2011-12-08 10 views
0

データベースからカーソルを取得する際に問題があります。 データベース:Oracle Database 10gのEnterprise Editionのリリース10.2.0.4.0OJDBC/Oracle registerOutParameterカーソル取得エラー

データベースのストアド・プロシージャ・:Javaで

procedure p_dddw_Client(s_Client in csmweb.web_order_header.client_code_regional%type, 
         s_ClientRole in varchar2, 
         arr_AnyRec in out r_AnyRec); //TYPE r_AnyRec IS REF CURSOR; 

読むストアド手順:行のデータベースから

Connection connection = null; 
    CallableStatement cs = null; 
    try 
    { 
     connection = createConnection(); 
     cs = connection.prepareCall("ord_aux.p_dddw_client(?,?,?)"); 

      //Input parameters 
     cs.setString("s_Client", "20975-A"); 
     cs.setString("s_ClientRole",""); 
     cs.registerOutParameter("arr_AnyRec",OracleTypes.CURSOR); 
     cs.execute(); //ERROR 

エラーコードですcs.execute(): ORA-03115:サポートされていないネットワーク・データ型または表現

誰かが正しいや提案をする方法を経験していますか? 何か問題がありましたか? ありがとうございました。

+1

をそれは無関係かもしれないが、なぜあなたはIN OUTパラメータを必要とするか、その理由だけではなく、でる? –

答えて

0

これが問題なのかどうかわかりませんが、準備呼び出しの構文は正しいですか?

私はそれがあるべきだと思う。私もsetStringのへの呼び出しについてはよく分からないです

CallableStatement stmt = 
      conn.prepareCall("{ call ord_aux.p_dddw_client(?,?,?) }"); 

。私は例えば、常に数でパラメータを扱っているが、何を持っていることはあまり有効であり、私はわからない:

cs.setString(1, "20975-A"); 
cs.setString(2,""); 
cs.registerOutParameter(3,OracleTypes.CURSOR); 
関連する問題