Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91124058
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-20 22:13:50

作者:oldbank  出处:
-4431        扩展的报表参数的数目已超过了最大许可值。

这条信息不能被当前任何 Informix产品返回。如果发生了这个错误,请记录全部环境
并且与Informix 技术支持部联系。

-4432        一个GROUP子句中的元素必须是ORDER BY 子句中的成员。

为了执行分组,选定行的集合必须按相同字段排次序。这是强制使全部相等的值都能
被找到,成为一个组的唯一方法。重写语句使每个选定来成组的值都在一个ORDER BY 
语句中出现。注意这两个语句允许你按照它们的位置数参考选定值,如下例所示:

SELECT customer_num, month(order_date), avg(ship_weight)
        FROM orders
        ORDER BY 1

-4433        用在上述语句中的变量必须是CHAR或VARCHAR类型。

在REPORT TO 语句中的文件名必须赋予一个字符值;而且,在REPORT TO PIPE语句中
的程序名也必须赋予一个字符值。在任一情况下该值必须是一个常数、上述两种类型
之一的变量或一个表达式。但是它不能是数或其它数据类型;在这个语句中无自动的
类型转换。

-4434        -INFORMIX-4GL 演示版本的期限已经超过,请打电话给Informix Software, 
Inc,号码为 (415) 926-6300,以取得许可信息。

一个使用-INFORMIX-4GL 演示版本编译的程序只能包含一个不超过150个语句的模块。
这个程序或是包含太多的语句,或是调用了另一个模块内的函数。与你的INFORMIX销
售代理联系,以取得完全许可的信息。

-4435        一个可接受的连字符键的格式是CONTROL-X ,此处X是除A, D, H, L, 
R, 或 X之外的任何字符。

当一个键被一个ON KEY子句锁住时,它丢失了其它特殊功能;例如,如果锁住了退出
键,必须用OPTIONS语句建立另外一个可接受的键。不允许用控制键A, D, H,
L, R, 或X,因为它们有编辑功能,而且没有办法将其它键指定为这些功能。

-4436        在一个语句中有过多的变量要 VALIDATE 或 INITIALIZE。

在 VALIDATE 或 INITIALIZE语句中有一个250个(到版本4.0)名称的限制。只需把这
个语句分成多个语句使之不超过极限。

-4437        在SELECT列表中的全部表的名称必须与FROM子句中的表的名称相同。

一个用于字段列表中选定的表的名称没有出现在FROM子句中。可能只是简单地在一或
两个地方拼错了名称,或者可能在选定列表中使用了表的别名,而忘记在FROM子句中
定义。

-4438        不能SELECT到一个字符变量的子串。

子串标识在INTO子句中不允许。可以在一系列字段中和在一个WHERE子句中指定一个字
段的子串去选定。但是,你不得不选定进一个整个的变量。使用一个LET语句定义一个
变量选定或移动数据到一个目标子串。

-4439        不能SELECT到记录<记录名称>因为元素<元素名称>是一个记录或数组。

INTO子句只能命名简单变量。星号或THRU标识的用法是一个为了在记录中列出全部显
示字段元件的速记。在这种情况下,显示字段名称不是简单的。也许你参考了错误的
记录。如果不是,将不得不分别将名称元件列表,指定一个或更多的它的元件部分。

-4440        在记录/对象中,<名称1>在<名称2>字段之前,当与THROUGH速记合用时也
必须在它之前。

THROUGH 或 THRU 速记要求给出它们在记录中以物理顺序出现的开始和结束的字段。
检查名称的拼法。如果它们是所要的,那么参考记录被定义处的VARIABLE语句,看看
它们为何不按你所期望的顺序。这个错误只能被NewEra返回。

-4440        在记录/目标中,<名称1>在<名称2>之前,当与THROUGH速记合用时也必须在
它之前。

THROUGH 或 THRU 速记要求给出它们在记录中以物理顺序出现的开始和结束的字段。
检查名称的拼法。如果它们是所要的,那么参考记录被定义处的DEFINE语句,看看它
们为何不按你所期望的顺序。这个错误只能被4GL返回。

-4451        从这个函数/报表中产生的pcode的大小已超过每一函数32K的限制。

该函数或报表将不得不简化。抽出一部分代码变成一个独立的函数并调用该函数。
这个错误只由 NewEra 传回。

-4451        从这个函数中产生的pcode的大小已超过每一函数32K的限制。

该函数将不得不简化。抽出一部分代码变成一个独立的函数并调用该函数。

-4452        这个函数(或报表)名称已被定义。

不同函数不能同时拥有相同名称。不同报表不能同时拥有相同名称。改变相同名称函
数的其中一个名称。这个错误只由NewEra 传回。

-4452        函数(或报表)的名称已经被定义。函数和报表不能有相同的名称。

每个函数(或报表,与函数类似)在程序中必须有唯一的名称。改变函数或报表的
名称。

-4453        在程序中有太多的全局标识符和文字串。

一个256K字节长的表包括用在主函数、全局以及模块级的字符串和标识符,这个表也
包括屏幕格式、窗口和光标的标识符。为了避免这个错误,将一些使用了很多文字串
的代码移到一个单独的模块或函数中。或者,找一个不指定文字串而初始化字符变量
的办法,例如从一个数据库或文件中读取初始值。减少全局和模块内的变量数也有帮
助。

-4453        全局字符串表的尺寸已超过32767的限度。

表是用於保留使用在主函数及全局和模块级的字符串及标识符的。这个表也包括屏幕
格式、窗口和光标的标识符。为了避免这个错误,将一些带有很多文字串的代码移到
一个单独的模块或函数中。或者,找到不指定文字串而初始化字符变量的办法,例如
从一个数据库或文件中读取初始值。减少全局和模块内的变量数也有帮助。这个错误
仅被4GL返回。

-4454        太多的局部标识符和文字串在这个程序块中。

当前函数使用的文字串和标识符保存在一个256K字节的表中。为了避免这个错误,
将这个函数分割成两个或更多的子函数。另一种办法是,寻找一种不需要赋值文字串
就能初始化字符变量的方法,例如从一个数据库或文件中读取初值。这个错误仅被
NewEra返回。

-4454        局部字串的尺寸已超过32767的限度。

表格是用於保留使用在目前函数中的文字串及标识符。为了避免这个错误,将这个函
数分割成两个或更多的子函数。另一种办法是,寻找一种不需要赋值文字串就能初始
化字符变量的方法,例如从一个数据库或文件中读取初值。这个错误仅被4GL返回。

-4458        数组的每一维必须在1和32767之间,包括1和32767。

数组的维不能小于1或大于32,767。如果需要更大的数组,必须将数组分割成多重数
组,或使用多维。

-4475        "name"不能既用于一个函数(或报表)名又用于一个标识符名。

名称至少被用两种方法定义。全局或模块级的名称必须是唯一的。定位所有的有关这
个名称的定义和说明并修改除一个以外的全部。这个错误仅被NewEra返回。

-4475        "name"不能既用于一个函数(或报表)名又用于一个变数名称。

名称至少被用两种方法定义。全局或模块级的名称(函数名称,报表名称及整体或模组
变数名称)必须是唯一的。定位所有的有关这个名称的定义和说明并修改除一个以外的
全部。错误-4475仅被4.1版之后的4GL返回。

-4475        "name"不能既用于一个函数(或报表)名又用于一个标识符。

名称至少被用两种方法定义。全局或模块级的名称必须是唯一的。定位所有的有关这
个名称的定义和说明并修改除一个以外的全部。错误-4475仅被4.1版之后的4GL返回。

-4476        记录成员不能被数据库字段子串使用。可能是错误拼写或使用未定义的主机
变量。

这个语句有一个name1.name2[...]屏幕表格的参考。这是一个必须指定字段:
table.column[...]子串的格式。而名称不是数据库中的一个表和字段,所以4GL
预测它们代表一个表中的一个显示字段。检查语句并决定想做什么:一个字段的参考
还是一个记录的参考。如果是一个字段的参考,检验数据库中表和字段的名称。如果
是一个记录参考,检验那个记录和元件是否正确定义。如果记录和表的名称相同,在
名称上加一个@前缀以清楚的表明是表而不是记录。

-4479        警告:非ANSI注释指示器。对ANSI兼容使用"--"

如果你想要SQL语句符合标准,你必须使用双破折号注解界定符号 (- -)。这个数字
符号的注解界定 (#) 及大括弧 ({ }) 不适用於符合ANSI标准的系统。这条信息的
出现,是因为你指定程序对不符合ANSI标准的结构发出警告(藉由ansi指令列参数、
DBANSIWARN 环境变数或在informix.ini文件的DBANSIWARN设定)。这个错误仅被
NewEra返回。

-4479        警告:非ANSI注释指示器。对ANSI兼容使用"--"

如果你想要SQL语句符合标准,你必须使用双破折号注解界定符号 (- -)。这个数字
符号的注解界定 (#) 及大括弧 ({ }) 不适用於符合ANSI标准的系统。这条信息的
出现,是因为你指定程序对不符合ANSI标准的结构发出警告(藉由ansi指令列参数或DBANSIWARN 环境变数)。这个错误仅被4GL返回。

-4486        Blob变量和字自动换行显示字段不能打印到headers或尾部。

4GL能够预见一个报表中有多少行用于header或尾部。因为TEXT变量的长度是不可预见
的,你不能在上下文中显示一个。

-4487        不允许将参数与局部记录定义混合,此记录中含有TEXT或BYTE类型的变量。
请为局部记录变量使用第二个定义。

在这个报表主体中,请为报表参数和任何类型的局部变量分别使用DEFINE语句。

-4488        程序不能在这点CONTINUE或EXIT<语句类型>,因为它不是恰好位于
<语句类型>中。

这个CONTINUE或EXIT语句在上下文中不合适。可能是语句放置错误,也可能指定了错
误的语句类型。

-4489        上面的语句不允许在它的表达式中使用局部变量或报表参数。

这条语句不能引用一个函数中的参数,也不能引用定义在函数中的变量。它只能使用
在模块级(MAIN节之前)或在GLOBALS节定义的变量。在用于OUTPUT REPORT
TO时,这个语句在运行一个START REPORT语句期间有效。在这时没有参数传递到报表
描述,并且没有初始化局部变量的报表描述语句执行。改变语句以引用一个可以在启
动报表前被初始化的变量。

-4490        不能对同一个显示字段中使用多重BEFORE子句。

不能为同一个显示字段指定超过一个的BEFORE子句。

-4491        参数名称已经被改变。

超过一个的函数原形拷贝发生在当前作用域,并且被这个消息指出的一个是为一个正
式参数指定为一个不同名的,而不是已经遇到的被任何原形指定的那一个。

-4492        警告:参数赋予新的缺省值。

超过一个的函数原形拷贝发生在当前作用域,并且被这个消息指出的是为正式参数指
定的不同的缺省值的,而不是已经遇到的被任何原形指定的那一个。

-4493        命名的参数只允许用于正式的函数/报表。

指示的函数参考使用命名的参数,但函数或报表的说明使用了非正式风格的参数说
明,其中只有参数列表中指定的名称和后面辅助说明中指定的类型。

-4494        遗漏命名的参数"name"没有缺省值。

指明的函数请求中有一个参数没有列出值,并且函数说明对它又不提供缺省值。在说
明中增加一个缺省值,或在请求中的这里增加一个名称/值对。

-4495        重复或无效的参数。

函数请求中指定的参数名和任何一个说明的函数名都不匹配,或者是一个无效的
-NewEra 标识符。检查它的拼写。

-4496        CHAR (*)类型不能出现在记录或类中。

CHAR (*)只能作为一个参数出现在函数原形中,不能作为记录或类的元素。

-4497        事件"name"已经在类中说明。

同一个类中的两个事件不能同名。

-4498        事件/句柄名必须与内部成员函数名不同。

不能说明一个和内部成员函数名(!copy(), !derive(), 或类名)相同的事件或句柄。
改变事件或句柄的名称。

-4499        成员"name"已经在类或它的基类中说明。

一个称为"name"的成员已经在当前类中存在,并且你试图用那个名字说明另一个成
员。或者你试图重载一个事件或变量。只有成员函数可以被重载。

-4500        一个数值转换错误。因为调用程序和它的函数参数之间或变量和它的赋值表
达式之间的不兼容产生。

参照错误-1317,它替代了这个错误。

-4501        在调用和被调用函数之间产生了一个参数数目失配。

参照错误-1318,它替代了这个错误。

-4502        4GL程序运行超出了执行时的数据存储空间。

参照错误-1319,它替代了这个错误。

-4503        一个函数没有返回函数调用所期待的正确的数值。

参照错误-1320,它替代了这个错误。

-4504        一个被VALIDATE命令引起的确认错误。

VALIDATE 变量的类型不能转换成确认值的类型。
此错误仅被NewEra返回。

-4504        一个被VALIDATE命令引起的确认错误。

参照错误-1321,它替代了NewEra产品之外的这个错误。

-4505        不能打开一个报表的输出文件。

参照错误-1322,它替代了这个错误。

-4506        不能打开一个报表输出管道。

参照错误-1323,它替代了这个错误。

-4507        不能写入一个报表的输出文件。

参照错误-1324,它替代了这个错误。

-4508        PRINT FILE错误-不能为读打开文件<文件名>。

参照错误-1325,它替代了这个错误。

-4509        一个数组的下标被引用时,超出了指定的维数。

已超出数组边界,数组边界的检查已启动。数组边界的检查可经由编译器开关 "-a"
或PRAGMA ARRAY BOUNDS语句启动。此错误仅被NewEra返回。

-4509        一个数组的下标被引用时,超出了指定的维数。

参照错误-1326,它替代了NewEra产品之外的这个错误。

-4510        不能为一个报表使用的临时表中插入行准备一个插入语句。

参照错误-1327,它替代了这个错误。

-4511        不能在选定的数据库中建立一个报告需要的临时表。用户必须具有在选定的
数据库中建立表的许可。

参照错误-1328,它替代了这个错误。

-4512        不能为一个报告需要的临时数据库建立一个数据库索引。

参照错误-1329,它替代了这个错误。

-4513        用于DISPLAY AT位置或SCROLL计数的数必须是正的。

对于DISPLAY AT语句参看错误-1335,它替代了这个错误。从4.0版本开始,SCROLL
语句接受负数。

-4514        不能向临时报表中插入一行。

参照错误-1330,它替代了这个错误。

-4515        不能从临时报表中提取一行。

参照错误-1331,它替代了这个错误。

-4516        一个字符变量的参考下标超出范围。

参照错误-1332,它替代了这个错误。

-4517        函数调用不能返回长度>512的串。

参照错误-1333,它替代了这个错误。

-4518        4GL程序不能为临时串存储分配更多的空间。

程序试图从函数返回超过32768字节的CHAR,VARCHAR,或CHAR(*)值,或者程序隐含建立
的临时的CHAR(*)的字节数超越了32768。这个错误只被-NewEra返回。

-4518        4GL程序不能为临时串存储分配更多的空间。

对于NewEra以外的产品,请参见出错号1334,该出错号已取代本错误。

-4535        包含在表句法"file1""file2"中错误的存储。

一个内部的错误产生。

代码正产生包含语句,产生INCLUDE语句的前端Application Builder代码和执行从数
据库中添加和搬移数据的后台Application Builder代码失步。

这也可能在一个特长的文件名超越64K的存储是发生。

-4536        打开数据库失败。

应用开发工具不能打开数据库。这可能因为网络失败,-INFORMIX-NET失败,或在
DBPATH环境变量中有一个非法的值。检查DBPATH的设置,并运行SETNET,
也要检查unix主机在正确的状态。

-4538        没有给出数据库名称。

Application Builder试图不指定数据库名称运行OPEN DATABASE命令。检查
informix.ini中"database=..."一行。如果想要确省的数据库,设置该行为
"database=syspg4gl"

-4542        企图更新数据库结构失败。

Application Builder试图把一个-INFORMIX-4GL老风格数据库升级到由NewEra
新风格数据库失败。这个进程包括建立一系列新表以及修改和移动数据。
这个错误可能因缺少许可而产生。更新应该由数据库的拥有者来完成。
这个错误可能由于磁盘满产生。更新在写和校验完成前不会擦除老的信息,然后只有
被要求才会。一个更新所需求的自由空间的总和近似等于旧的数据库的总和。

-4555        变量大小不能超越65535字节。

企图建立一个总大小超越65535的对象。数组能以超出你注意的速度消费空间。一个简
单的CHAR(6)的数组A[100,100]将占用10,000*7-70,000字节。

-4556        对象大小不能超越65535字节。

企图建立一个总大小超越65535的对象。数组能以超出你注意的速度消费空间。一个简
单的CHAR(6)的数组A[100,100]将占用10,000*7-70,000字节。

-4654        CHAR大小应该在1到32766的范围内。

程序说明的一个CHAR类型变量的大小超出可接受的范围。

-4655        为VARCHAR指定的范围无效。

对fort VARCHAR(最大的,保留的)的声明不正确的指定了一个保留值。它不在包括
的0和最大值的区间内。

-4658        常量不允许做光标名。

用于动态光标名的标识符必须是变量。

-4659        CHAR(*)类型不允许做报表参数。

一个正式的参数不能接受一个未指定长度的字符数据类型,象CHAR(*)。

-4660        报表参数不能带有对象参考。

一个正式的参数不能指定一个类名(也不能是FOREIGN)作为它的数据类型。

-4661        存取控制约束不允许这样的内部成员函数。

内部成员函数!copy()和!derive()必须有一个-PUBLIC存取控制。注意这是一个缺省的
成员函数存取控制。

-4663        从引擎产生的ODBC错误—"<文字>

使用了-useccl编译开关。一个ODBC错误,这里是"<文字>"被侦测到。

-4664        CCL类的声明要求一个"-useccl"开关。在模块中增加INCLUDE SYSTEM 
"ixstmt.4gh"

如果用户要通过-useccl开关编译一个REPORT或MAIN程序块,需要包含ixstmt.4gh。
这个语句调用的函数在参数表中嵌套了其它的函数调用,并超过了四级。最大的支持
级数是四,象如下的表达式:Afun(2-Bfun(3+Cfun(4*Dfun(5))))。
重写表达式用变量存储最内层的函数调用结果,并将变量用于表达式中。

-4665        警告:报表页首或页尾输出必须以新行符结束,所以新行符被自动加入报表。

报表头或报表尾在行尾包含一个分号,而报表体中结尾的分号抑制新行的产生,所
以头和尾必须以新行字符结尾以使执行正确。编译器忽略了分号,所以,要避免出现
本警告信息,需删除源代码中的分号。

-6000        试图在未打开的表或数据库上执行一个操作。数据库尚未打开。

在一个程序存取数据前,必须选定一个数据库,然后用dbselect()函数选定一个表。
回顾程序逻辑并找出为什么没有进行这些调用。

-6001        数据库或表不存在。

函数指定的数据库或表不存在。名称不正确或选定了错误的数据库,或数据库已经被
改变。

-6002        企图打开多于一个的数据库。

程序连续两次通过DBOPEN标志调用dbselect()。程序在打开另一个数据库之前必须用
DBCLOSE标志调用-dbselect()。

-6004        没有打开数据库。

程序调用了一个要求一个已被打开的数据库的函数,但没有打开的数据库。程序必须
在调用这个函数之前调用dbselect()。

-6005        不能找到一个字段。

传递给函数的字段名称至少有一个在表中不存在。回顾表的名称和字段的名称。如果
它们是正确的,则是选择了错误的数据库或数据库已被改变。

-6006        表名尚未打开。

名称传递给函数的表尚未打开。调用dbselect()时程序必须首先打开表。

-6007        无法在当前表中找到字段或索引。

传递给函数的字段名在表中不存在。回顾名称的拼写。如果它是正确的,则是选择了
错误的数据库或表已经被改变。

-6008        表名尚未打开。

dbselfield()使用的表必须首先用dbselect调用打开。回顾程序逻辑并确认这已完
成。

-6009        表中没有数据。

这个指示在dbselfield()或dbfind()对空表调用时返回。它并不反映程序错误而是反
映一个表的状态。

-6010        找不到值。

按关键字搜索的dbfind()调用无数据返回。要找的值在选定的索引字段中没有找到。
 
阅读(678) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~