免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1843 | 回复: 1

用C开发DB2应用时使用动态语句的问题 [复制链接]

论坛徽章:
0
发表于 2005-07-06 10:46 |显示全部楼层
初学DB2,只好上来求教。首先描述一下开发环境:AIX4.3,DB2 8.0

现象是:别人写的一个动态语句,原来运行得好好的,我重建数据库后,在prepare语句时就报sqlcode=-204,但是其他的静态sql语句运行正常。难道是建库有问题?
哪位帮忙分析一下这是怎么回事?

论坛徽章:
0
发表于 2005-07-06 17:13 |显示全部楼层

用C开发DB2应用时使用动态语句的问题

SQL0204N "<名称>;" 是一个未定义的名称。

解释:

此错误由以下之一引起:

o   未在数据库中定义由 "<名称>;" 标识的对象。

o   正在使用某个数据类型。此错误可能是由于下列原因而发生的:

    -   如果 "<名称>;"
        是限定名称,则具有此名称的数据类型在数据库中不存在。

    -   如果 "<名称>;"
        是非限定名称,则用户的函数路径不包含期望的数据类型所属于的
        模式。

    -   该数据类型在创建时间戳记早于程序包绑定时间的数据库中不存在(适
        用于静态语句)。

    -   若数据类型在 CREATE TYPE 语句的 UNDER 子句中,
        则该类型名可能与正定义的类型相同,这是无效的。

o   下列其中一项中正在引用某个函数:

    -   DROP FUNCTION 语句

    -   COMMENT ON FUNCTION 语句

    -   CREATE FUNCTION 语句的 SOURCE 子句

         如果 "<名称>;" 是限定名称,则函数不存在。如果 "<名称>;"
        是非限定名称,则当前函数路径的任何模式中都不存在此名称的函
        数。注意,函数不能  以 COALESCE、 NULLIF 或 VALUE
        内置函数作为源函数。



可为任何类型的数据库对象生成此返回码。

联合系统用户:在数据库中未定义由 "<名称>;" 标识的对象,或者
"<名称>;" 不是 DROP NICKNAME 语句中的昵称。

某些数据源 不向 "<名称>;"
提供适当的值。在这些情况下,消息标记将具有以下格式:"OBJECT:<数据源
>; TABLE/VIEW",指示指定数据源的实际值未知。

不能处理该语句。

用户响应:

确保在 SQL 语句中正确指定了对象名(包括任何必需的限定符),并且它存
在。对于 SOURCE
子句中丢失的数据类型或函数,可能是该对象不存在,或该对象处于某模式
中,但该模式不在您的函数路径中。

联合系统用户:若该语句是 DROP
NICKNAME,则确保该对象实际上是一个昵称。该对象可能不存在于联合数据
库中或 数据源 上。验证联合数据库对象(若有的话)和 数据源
对象(若有的话)的存在情况。

sqlcode :  -204

sqlstate :  42704


是不是没指定schema啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会以“架构革新 高效可控”为主题,设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。
http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP