环境:
产品:DB2 UDB
平台:跨平台
版本:v8,v7
问题描述:
在调用 DB2 所自带的函数(如 SUM,MAX 等)时,有时会遇到 SQL0440N 的报错信息,这里介绍导致这一问题发生的一种原因,及其解决问题的方法。
解答:
如果用户在运行包含 DB2 自带函数的 SQL 语句时,如下述使用了 ABS 函数的查询语句:
db2 select prodname, abs(margin) from prodlist
遇到 SQL0440N 的错误:
SQL0440N 在函数路径中找不到名称为 "ABS" 且带兼容自变量的函数。 SQLSTATE=42884
使用命令:
db2 ? sql0440n
查看错误的解释时,得到如下得输出内容:
SQL0440N 找不到具有兼容自变量的类型为“<例程类型>”的名为“<例程名>”的已授权例程。
解释:
当数据库管理器找不到可用来实现引用的例程时,若引用例程“ <例程名>” ,则会发生此错误。引起此错误的原因有下列几个:
:
:
从输出信息中对问题原因的解释可以发现,导致这一问题的原因有多种,当用户将所列示的原因逐条检查后,却发现这些都不是导致自己当前所遇到的 SQL0440N 错误的原因,此时可考虑另外一个 SQL0440N 解释信息中未提到的一种情况:即当函数的创建时间晚于系统的当前时间,同样会出现该报错。
为检查问题,用户可利用下面的 SQL 语句对各函数创建的时间戳选项 CREATE_TIME 进行查询:
db2 select funcschema, funcname, create_time from syscat.functions
如果存在某些函数的创建时间晚于当前系统时间的情况,例如用户误置系统的时间为过去某个时间,而使用的函数的创建时间又晚于这一时间,便会在运行相关 SQL 语句时遇到 SQL0440N 的报错。
解决这一问题的方法很简单,用户只要重新正确地设置操作系统的当前时间,使它晚于 DB2 自带函数的创建时间即可。
有时候以上方式都无法解决问题,求助其他解决方式。
分享到:
相关推荐
DB2中几种遇到的SQL1032N出错的解决
DB2 SQL 消息,非常方便管理员与操作者查找以便解决错误.比如SQL0440N 找不到具有兼容自变量的类型为 例程类型 的名为 例程名 的已授权例程。
在DB2连接时,客户端出现 SQL1032N的错误有可能是DB2的认证信息过期了,或者启动DB2启动不了、列出db2 list active database等等,有报错包里面有错误的解释、操作的文件和把DB2修改成永久的的文件
DB2游标及动态SQL,异常处理,sqlcode,sqlstate
DB2中出现的主要错误,操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原因
DB2 存储过程 SQL DB2 SQL存储过程基础 SQL
DB2存储过程表空间sql专题整理学习
db2 存储过程 db2 存储过程 db2 存储过程
DB2中sql执行错误返回的sqlcode错误码,对应的sqlstate和错误信息描述字典表。
DB2报错:SQL10007N Message "-1390" could not be retrieved. Reason code
$ db2 restore database dbname from "/db2home/db2inst1" on "/db2home/db2inst1/db2inst1/NODE0000" into dbname SQL2519N The database was restored but the restored database was not upgraded to the ...
如何解决恢复DB2数据库的32位实例下的压缩备份到64位实例时遇到的SQL2570N错误?
可远程连接db2,非常方便,参考文档http://blog.csdn.net/zht666/article/details/8781332 的第一步,然后安装此exe连接db2.
DB2数据库SQL注入手册1
本文将为大家介绍了DB2数据库创建存储过程时遇到的错误。
DB2中常用的SQL语句 经典SQL语句集锦 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
DB2 SQL存储过程语法官方权威指南,介绍DB2中存储过程的基本语法
DB2编程基础要点 DB2编程基础要点 sql 存储过程
db2启动错误db2启动错误db2启动错误db2启动错误db2启动错误db2启动错误
DB2 sql 存储过程基础,希望有更多的DB2存储过程资料共享