原因:com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL 错误:SQLCODE=-440,SQLSTATE=42884
Posted
技术标签:
【中文标题】原因:com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL 错误:SQLCODE=-440,SQLSTATE=42884【英文标题】:Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: 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 谢谢 :) 【参考方案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]
);
【讨论】:
以上是关于原因:com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL 错误:SQLCODE=-440,SQLSTATE=42884的主要内容,如果未能解决你的问题,请参考以下文章
“'NSInternalInconsistencyException' 的替代原因,原因:'此 NSPersistentStoreCoordinator 没有持久存储。'”