com.ibm.db2.jcc.am.io:DB2 SQL错误:SQLCODE = -440,SQLSTATE = 42884

时间:2012-09-27 12:58:36

标签: java properties batch-file db2

这里我可能有一个简单的问题。我试图连接到DB2数据库并通过java执行SP。我能够连接到数据库但是在执行SP时遇到了错误。请让我知道如何解决这个问题。通过我将所有JDBC url,schema,usrname和密码放在属性文件中并运行批处理文件

这是我运行批处理文件时的堆栈跟踪

URL :`jdbc:db2://ip:50001/RMSDB:currentSchema=etwrms;currentPackagePath=etwrms,sysibm,sysfun,sysproc;currentFunctionPath=sysibm,sysfun;

Santosh....after WF_NON_MSG_SEND

ERROR [main] WorkflowMailer (processcycle:344) - DB2 SQL Error: SQLCODE=-440, SQ
LSTATE=42884, SQLERRMC=WF_NON_MSG_SEND;PROCEDURE, DRIVER=3.57.82
com.ibm.db2.jcc.am.io: DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=WF_
NON_MSG_SEND;PROCEDURE, DRIVER=3.57.82
        at com.ibm.db2.jcc.am.bd.a(bd.java:676)
        at com.ibm.db2.jcc.am.bd.a(bd.java:60)
        at com.ibm.db2.jcc.am.bd.a(bd.java:127)
        at com.ibm.db2.jcc.am.km.c(km.java:2506)
        at com.ibm.db2.jcc.am.km.d(km.java:2483)
        at com.ibm.db2.jcc.am.km.a(km.java:1963)
        at com.ibm.db2.jcc.t4.db.g(db.java:139)
        at com.ibm.db2.jcc.t4.db.d(db.java:75)
        at com.ibm.db2.jcc.t4.t.d(t.java:63)
        at com.ibm.db2.jcc.t4.sb.k(sb.java:170)
        at com.ibm.db2.jcc.am.km.fb(km.java:1958)
        at com.ibm.db2.jcc.am.lm.kc(lm.java:2813)
        at com.ibm.db2.jcc.am.lm.b(lm.java:3515)
        at com.ibm.db2.jcc.am.mm.Yb(mm.java:113)
        at com.ibm.db2.jcc.am.mm.execute(mm.java:96)
        at com.ramco.rvw.workflow.mail.WorkflowMailer.processcycle(WorkflowMaile
r.java:338)
        at com.ramco.rvw.workflow.mail.WorkflowMailer.main(WorkflowMailer.java:6
5)
`

1 个答案:

答案 0 :(得分:5)

下次出现DB2错误时,您可以使用这个方便的error message website来查找原因。

-440

NO AUTHORIZED例程类型名称常规名称在当前路径中找到具有相容性的论点

<强>解释

尝试调用例程,但DB2®无法将例程(包括参数列表)的调用解析为特定的例程定义。

常规型

例程的类型,例如FUNCTION或PROCEDURE。

routine-name或schema-name.routine-name

例程的名称。如果原始语句引用限定名称,则消息文本中的例程名称将由模式名称限定。

此错误的可能原因包括:

  • 例程名称未正确指定或数据库中不存在。
  • 使用了限定引用,并且未正确指定架构限定符。
  • 用户的SQL路径不包含所需函数所属的架构,并使用了不合格的引用。
  • 包含了错误的参数数量。
  • 参数的正确数量包含在例程引用中,但是一个或多个参数的数据类型不正确。
  • 例程的调用者无权执行例程。

您的回复

看看你的SQL语句,找出问题所在。