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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-20 22:16:52

作者:oldbank  出处:
-2951        左和右定界符必须用二个字符的串指定。

DELIMITERS指令要求一个恰恰是二个字符的串,当显示显示字段时使用左和右定界符
(标记)。字符可以相同但必须为二个。

-2952        为了使用一个图片,图片长度必须与显示的显示字段长度相同。

PICTURE属性指定的串的长度必须完全与SCREEN节中描述的显示字段长度相同。重新检
查这个显示字段的定义,使两个长度相同。

-2953        名字<名称>不是这个屏幕表格中的一个数据库字段。

COMPOSITES列表中命名的所有字段必须被定义在ATTRIBUTES节中。检查所有名字的拼
写,并确保已经定义了它们。

-2954        你已经超出了控制指令数的极限。

这个屏幕表格的INSTRUCTIONS节超出了屏幕表格编译器所能处理它的能力。你将必须
简化这个屏幕表格,删除某些指令。

-2955        名称<显示字段标记>不是这个屏幕表格中的一个显示的显示字段。

显示的名字出现在ATTRIBUTES节中但不在SCREEN节中。检查名字的拼写;在那些地方
之一出错,或者已经被从屏幕版面布置中忽略了。

-2956        你没能给显示的显示字段<显示字段标记>设置一个值,因为它所相联的数据
库字段没有一个属于和<表名>相同的表,它也不是一个可变的只能显示的显示字段。

你不能在LET语句中跨表设定值。在LET语句中与<显示字段标记>有关的所有字段必须
属于控制块的打开命令中命名的表,或者它必须是一个只能显示的显示字段。

-2957        你不能把下一个显示字段设置为<标记1>,这是由于它所联系的数据库字段没
有一个属于与<标记2>相同的表。

NEXTFILELD语句中命名的显示字段必须与当前显示字段相同的表相联。再检查一下字
段和这个屏幕表格中的表之间的关系,并修正它。

-2958        在一个C函数中最多可以有十个参数。

由于有太多的参数,对外部C函数的调用是不合适的。你将必须找到某种方法用更少的
参数通过相同的信息。

-2959        两个表联结时最多只能有<限定数目>个列配对,包括所有复合字段的组成部
分。

一个联结中包含的字段数目是有限制的。这包括ATTRIBUTES语句中命名的联结字段和
COMPOSITES语句中为同一个表命名的联结字段。

-2970        这个字段名与其它字段联结,但它没有被索引。建议为了跨表查询而索引那
个字段。创建一个索引可以及大地提高执行性能。

一个联结中包含的字段中至少有一个字段存在索引,则可以使联结操作非常快。可
是,当一个或两个表很小时(几打行)不需要索引。在使屏幕表格进入制作过程前,考
虑在所有联结字段上创建一个索引。

-2971        这个字段不是一个字符字段,因此不能被下标。

这个语句在一个字段名后包含一个下标------方括弧中的一对数字。可是,字段的数
据类型不是CHAR,VARCHAR,或TEXT。只有这样的字段才能被下标。
检查你是否命名了正确的字段;如果没问题,则检查它在数据库中的定义。

-2972        这个字段不能右对齐或填充零,这是因为它的显示宽度不匹配实际的字段宽
度。

为了使用RIGHT 或ZEROFILL属性,你必须保证显示字段大小(象SCREEN节中描述的那
样)完全与该数据库字段的宽度相同。重新检查这个语句,屏幕版面设计,和数据库
中表的定义以保证这些大小一致。

-2973        在一个显示显示字段描述中只可以有一个主要的字段。

这条语句定义了一个联结列表,一个有关相同屏幕表格显示字段的两个或两个以上的
字段名字的列表。在这样的列表中,在一个字段名前加上一个星号表明那个字段是一
个检验联结中的主要字段。在任何联结中只允许有一个这样的字段,但在这个列表中
却有两个或两个以上的主要字段。再检查一下检验联结上的文档说明并选择一个单一
的主要表。

-2975        用于显示的显示字段标签<标签名>还未被使用。

指出的名字被定义在SCREEN节中,但不在ATTRIBUTES节中。再检查一下每节中的标记
并修正屏幕表格以便所有的标记都被定义。

-2976        已经过早地到达屏幕表格结尾。

这个屏幕表格说明有一个SREEN节但无TABLES 或ATTRIBUTES节。完成该屏幕表格说
明。

-2977        由于它们未联结,表<表1>不能是表<表2>的主。

MASTER OF指令中命名的这两个表必须被联结。表之间的联结通过在ATTRIBUTES
节中的一个语句中命名来自两个表的字段来表示。此处,检查表名拼写,并再查看一
下属性语句。

-2978        由于它们的类型或长度不同,字段<列名1> 和 字段<列名2>不能是联结的字
段。

一个联结中的所有字段必须包含来自相同定义域的数据。而实际上,这些字段有不同
的类型或(如果它们是字符字段的话)长度从而指出它们的内容不是来自同一个定义
域。检查字段名字的拼写以确保你命名了正确的字段。再检查一下数据库的设计并保
证这些表就是这些字段上的联结。

-2984        表标识符<表名>被定义了一次以上。

改正TABLES节中的语句以便每个表只定义一次。也许你已经定义了一个与真正表名相
同的别名。

-2985        表标识符<名称1>和<名称2>表示相同的表。

在TABLE节中,这两个名字定义成涉及相同的数据库表。它们之一或者俩者是一个表别
名。修改语句以便每个名字只代表一个表,每个表仅有一个名字。

-2986        屏幕表格说明已经超出了主/明细对的最大限制数。

一个屏幕表格中可以支持的主/明细对数是有限制的。你必须找到一种方法去简化该屏
幕表格。

-2987        屏幕表格说明已经超出了限定屏幕的最大数。

一个屏幕表格中可以支持的屏幕版面布置数是有限制的。你必须找到一种方法去简化
该屏幕表格。

-2988        FORMBUILD已经用完内存。

屏幕表格编译器不能获得足够的内存去处理屏幕表格说明。你必须找到一种方法去简
化这个屏幕表格。

-2989        这个字段名是一个参考字段,但它未被索引。建议为了查寻而索引那个参考
字段。创建一个索引可以极大地提高执行性能。


你已经把指出的字段定义为使用LOOKUP属性的一个参考字段。这意味每当操作符在显
示字段中输入一个值,都在这个字段中查寻。当存在一个索引时这样一个查寻操作是
非常快的。此时该字段并没有索引。没有索引查寻可能非常慢。除非显示字段不允许
操作符input(这种情况下你应该删除星号)或者表非常小(至多几打),否则在使屏幕表
格进入使用状态之前你应该为这个字段创建一个索引。

-2990        字段<字段1> 和 <字段2>不在相同的数据库表中。

一个单一LOOKUP属性中引用的所有字段必须属于同一个表。检查名字拼写并保证它们
都是你所想要的字段。

-2991        警告: 你的多屏屏幕表格仅有第一屏将在4GL下显示。

当你使用4GL编译器编译一个多页PERFORM屏幕时,出现这个警告。一个4GL程序只能显
示多页屏幕表格的第一页。如果屏幕表格说明有多个SCREEN节,那么它已经被特意地
分成多页,这将必须重新设计4GL。如果只有一个单一的屏幕版面布置,由于它不适合
屏屏幕,4GL屏幕表格编译器把它分成两页。屏幕表格设计可能不允许由4GL保存四个
屏幕行。

-2992        显示标签<名字>已经被使用。

由于某种原因,屏幕表格编译器认为指出的名字已经被定义了两次。这些名字必须在
屏幕表格说明中唯一定义。重新检查所有使用的名字,看是否它们之一有错误。

-2993        在这个屏幕表格中指定了一个循环联结路径。

这个屏幕表格定义了一串三个或更多的联结,使表A联结到表B,表B联结到表C,表C又
联结到表A。由于使用表别名名字,这种循环也许不是明显的。再检查一下ATTRIBUTES
节中所有的语句和所有的COMPOSITES语句,并绘制一张联结关系图表。修改这个屏幕
表格以便没有创建循环联结。

-2994        屏幕表格已经超出表之间最大的联结数。

可以指定的联结数是有极限的。你必须找出一种方法去简化该屏幕表格。

-2995        屏幕表格已经超过联结中容纳的最大表数。

可以容纳在一个联结中的表的数目有一个极限。你必须找到一种方法去简化该屏幕
表格。

-2996        已经出现了未预期的错误号 os-error。请给RDS打电话。

显示的错误号来自主机操作系统。"RDS"是Informix Software曾经用过的名字。这条
信息不应该出现。如果该错误再次出现,请记录所有情况,并与Informix 技术支持部
联系。

-2997        见错误号<号码>。

显示的错误号是由数据库服务器返回的。请在这个文档中查找它。也可以查看其它错
误信息,那里也许可以给出更多的信息。

-2998        操作系统错误os-error: text。

显示的错误来自主机操作系统。这条信息不应该出现。如果该错误再次出现,请记录
所有情况,并与Informix 技术支持部联系。

-2999        SQL服务器终止。

应用已经与数据库服务器失去了联系。在UNIX下,可能已经有人偶然地杀掉了数据库
daemon进程或OnLine 线索,或者一个内部错误可能已经破坏了应用和数据库服务器之
间的管道。在本地网络系统中,文件服务器中数据库服务器进程或线索可能已经终止
或者文件服务器可能被down(关机)。寻找其它可以给出更多的细节的信息,尤其是操
作系统信息。
-3000        ISAM或系统错误号<号码>。

查寻本手册中的错误号。

-3001        当前目录中没有屏幕表格。

你可以只运行当前目录中或者你的DBPATH环境变量中命名的一个目录中呈现的屏幕表
格。把目录改成包含想要的屏幕表格的目录,或者改成DBPATH的内容。

-3002        没有BLOB显示字段可看。

你选定了View菜单选项。这个选项是让你查看一个屏幕表格的TEXT和BYTE显示字段的
内容;可是这个屏幕表格没有这种字段。

-3003        这个BLOB显示字段为空。

你选定了View(视图)菜单选项。游标定位在表达BYTE字段的一个显示字段中,并且你
已按下!键去编辑该显示字段的内容。可是,显示字段为null;要查看的数据不存在。
使用Query去选择这个字段中包含非null数据的一行。

-3005        你没有存取屏幕表格<名称>的权限。

屏幕表格文件<名称>存在;可是你的帐户没有读写该文件的操作系统权限。

-3006        在.frm文件中发现了一个未知的代码。请在再次运行它之前重新编译你的屏
幕表格。

重新编译该屏幕表格以保证该.frm文件没有被破坏。如果还出现相同的错误,检查你
正在运行的FORMBUILD和 PERFORM 产品是否在完全相同的版本级上(从命令行上执行命
令时,如果不使用-s选项,将显示版本号)。如果错误再次出现,请记录所有的情况并
与Informix技术支持部联系。

-3007        你的屏幕表格与当前版本的PERFORM不兼容。请在再次运行它之前重新编译你
的屏幕表格。

使用FORMBUILD编译这个屏幕表格,然后再运行PERFORM一次。

-3010        数据库 <数据库名> 没找到。

屏幕表格DATABASE节中命名的数据库不能被打开。或者它不能被找到,或者你的
帐户还未被授予CONNECT那个数据库的特权。你可以使用INFORMIX-SQL去区分这些
情况。使用Database菜单的Select选项。如果列出了<数据库名>,则数据库可以找到
但不能打开。

数据库服务器首先在当前目录中寻找一个数据库,然后在DBPATH环境变量中命名的目
录中寻找。请检查一下<数据库名>.dbs是否存在于上述目录中的某一个。

-3011        一个表被锁定 -- 不允许读取或写入。

由于另一个用户已经用排他方式锁定了一个表,PERFORM不能继续。在表未被锁定时,
重新运行该事务。

-3019        非预期的错误数已经发生了,请给Informix Software打电话。

请记录所有情况并与Informix 技术支持部联系。

-3020        表<表名>不在数据库中--再建一次你的屏幕表格。

无法找到在屏幕表格TABLES节中列出的一个表。再检查一下DATABASE语句以保证那个
屏幕表格正在使用正确的数据库。如果是这样的话,并且如果表名字的拼写是你所想
要的,那么该表已经被取消了或者被重新命名了。使用Tables菜单的Info
选项,你可以用INFORMIX-SQL检查表名。请使用正确的名字修正屏幕表格。

-3030        字段<字段名>不在数据库中--再建一次你的屏幕表格。

屏幕表格TABLES节中指定的表存在,但ATTRIBUTES节中命名的字段column-nameb
不存在。检查column-name拼写与实际表的对照。表也许已经被更改了或者字段可能被
重新命名了。使用Tables菜单的Info选项,你可以用INFORMIX-SQL检查字段名。请使
用正确的字段名字去修正屏幕表格。

-3031        不能查找或打开表格 form-name 

PERFORM 不能在当前目录或以 DBPATH 环境变量命名的目录中对编译表格
form-name.frm 定位。或者,即便它查找到文件也不能打开这个文件。检查名字的
拼法,看看文件是否存在,并检查是否已读取对它的存取。

-3035        字段 column-name 已改变字段类型 -- 重新建立表格。

在表格的 ATTRIBUTES 节中命名的字段 column-name 不再具有它在编译表格(表
已变更)时所具有的数据类型。检查目前的数据类型;然后检验表格说明以确保它
在适当大小的显示字段中来显示字段。按要求修改并重建表格。

-3037        字段 column-name 不是复合字段 -- 重新建立表格。

字段 column-name在表格说明中的INSTRUCTIONS节中是作为COMPOSITE的
一部分提到的。其实,对数据库中的该字段及其伙伴字段没有复合索引(对复合
关键字的所有列的索引)存在。编译表格之后,复合索引被取消。或者它应该被
恢复,或者表格应该被修订。

-3050        操作系统错误。不能打开临时文件。

PERFORM 正在试图打开一个先前建立的临时文件。
寻找操作系统错误信息,它可能会有更详细的信息。
你可能已经超出了打开文件数量的限制。
如果再发生这个错误,请注意所有的环境状况,
并与 Informix 技术支持部门联系。

-3060        操作系统错误。
不能建立临时文件。

PERFORM 建立临时文件失败。
在 UNIX 操作系统中,检查你的帐号是否允许在 /tmp
目录、或者在 DBTEMP 环境变量中命名的目录中进行写操作,
并检查该目录是否满了。可能你已经超出了
操作系统关于打开文件数量的限制。在这种
情况下,必须减少用在这个屏幕表格中的表
的数量。

-3081        指定的输出文件有错误的后缀。

输出文件可能没有下列使用后缀之一:
*.dat
*.idx
*.aud
*.per
*.frm
*.ace 
*.arc
*.sql
*.unl
选择一个不同的文件名。

-3082        没有指定程序用于编辑这个BYTE显示字段。

在一个BYTE显示字段的显示中,屏幕表格用户已经锁上!。可是,没有为这个显示字段
定义program=attribute(属性)。

-3101        字段<字段名>不允许 null 值。

当向一个表增加数据时,没有为该字段指定数据。可是,那个字段在数据库中被定义
为不允许null值。除非提供一个值,否则该行不能被增加。

-3120        显示字段中有错误。

输入到当前显示字段的数据不适合该显示字段的数据类型。

-3200        当前列表中无行。

在执行UPDATE,REMOVE,NEXT或PREVIOS命令之前,你必须首先查询表。

-3210        当前行位置包含一个删除的行。

现在显示的行刚被另一个用户删除。这行不再存在。直到你使用QUERY显示一个有效行
之前,你不能使用UPDATE,REMOVE,NEXT,或PREVIOUS命令。

-3260        这是一个无效值--它不在<表名>表中。

这个字段与表table-name中的一个字段有一个检验联结。输入到这个显示字段的任何
值都必须在那个表中找到。请输入一个正确的值。

-3261        无效值---<表名>表中不存在它的复合值。

与其它字段列出的这个字段作为屏幕表格说明的INSTRUCTIOND节中的一个COMPOSITE。
它指明那个地方需要检验对表table-name中字段的匹配。已经输入的、与复合值中其
它值一起考虑的那个值不在table-name中。

-3265        遗漏了<列名>上要求的索引---请恢复。

在检验联结中的所有主字段(名字前带有星号的那些字段)必须被索引。也许由于编译
屏幕表格而取消了索引。重新创建索引并再运行一次该屏幕表格
 
阅读(655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~