【问题标题】:Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884原因:com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL 错误:SQLCODE=-440,SQLSTATE=42884
【发布时间】:2014-07-07 14:52:24
【问题描述】:

从我的 Worklight SQLAdapter 调用用 IBM DB2 编写的存储过程时出现以下错误

过程的调用结果:来自 Worklight 服务器的“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]
    });
}

【问题讨论】:

  • 解决方案:在我调用 SQLadapter 函数 function track_ReqByMob_No(Mob_No){ return WL.Server.invokeSQLStoredProcedure({ procedure : "TRAVEL.track_ReqByMob_No", parameters : [Mob_No] }); }
  • 能否请您在下面添加解决方案,以便其他人更容易看到它
  • 最低声望 10 需要添加灵魂;这就是我在评论中添加解决方案的原因
  • 您现在应该可以添加解决方案了。你有 11 声望
  • @Jaalger 谢谢 :)

标签: ibm-mobilefirst adapter ibm-data-studio


【解决方案1】:

在调用函数中使用的模式名称,例如我的模式名称是 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]
    });
}

【讨论】:

    猜你喜欢
    • 2017-04-02
    • 2013-08-24
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2015-11-02
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多