3

Worklight SQLAdapter から IBM DB2 で作成されたストアード・プロシージャーを呼び出すと、以下のエラーが発生します

プロシージャーの呼び出し結果: Worklight Server からの「track_ReqByMob_No」:

{
   "errors": [
      "Runtime: Failed to retrieve data with procedure : track_ReqByMob_No"
   ],
   "info": [
   ],
   "isSuccessful": false,
   "warnings": [
   ]
}

コンソール出力

[ERROR   ] FWLSE0099E: An error occurred while invoking procedure  [project Raoming_Advisor]SQLAdapter/StoredProcedureFWLSE0100E:  parameters: [project Raoming_Advisor]


Failed to retrieve data with procedure : track_ReqByMob_No

FWLSE0101E: Caused by:  [project Raoming_Advisor]com.ibm.db2.jcc.am.SqlSyntaxErrorException:

DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=TRACK_REQBYMOB_NO;PROCEDURE,

DRIVER=3.66.46java.lang.RuntimeException: Failed to retrieve data with procedure : track_ReqByMob_No

DB2 のストアド プロシージャ (TRAVEL はスキーマ名、trouble_ticket はテーブル名)

CREATE PROCEDURE track_ReqByMob_No (IN MOB_NO BIGINT )
DYNAMIC RESULT SETS 1

P1: BEGIN

DECLARE cursor2 CURSOR WITH RETURN for

SELECT TRAVEL ."trouble_ticket"."id", TRAVEL."trouble_ticket"."query_trouble_ticket",TRAVEL."trouble_ticket"."status_trouble_ticket"    FROM TRAVEL."trouble_ticket" WHERE TRAVEL."trouble_ticket"."Mob_No"=MOB_NO;

        OPEN cursor2;
END P1 

私のSQLadapter呼び出し関数

function  track_ReqByMob_No(Mob_No){
    return WL.Server.invokeSQLStoredProcedure({
        procedure : "track_ReqByMob_No",
        parameters : [Mob_No]
    });
}
4

1 に答える 1

2

たとえば、スキーマ名がTRAVELであるため、関数の呼び出しでスキーマ名を使用したため、SQLadapter呼び出し関数で

*procedureの代わりに: "track_ReqByMob_No" *

書きます *手順:「TRAVEL.track_ReqByMob_No」*

----------私の UPADTED SQLadapter 呼び出し関数----------

function  track_ReqByMob_No(Mob_No){
    return WL.Server.invokeSQLStoredProcedure({
        procedure : "TRAVEL.track_ReqByMob_No",
        parameters : [Mob_No]
    });
}
于 2014-07-09T14:10:03.957 に答える