Informix 4gl错误代码信息和更正

(一)Informix信息和更正
出版日期:6 1996 年 年 1 11 月
0 成功。
操作成功。当 SQL 语句成功地执行时,数据库服务器把这个 SQLCODE 值返回给应用程序。
100 没有发现匹配的记录。
数据库服务器不能寻找更多的数据。这个信息是 ANSI 标准的 SQLCODE 值。如果你想选择或
取数据,遇到了数据结束,或没有数据匹配 WHERE 子句中的条件。检查是否是空表。使用这
个 SQLCODE 值决定一个语句什么时候到达数据结束。要了解更多的信息,请参看适当的
INFORMIX-ESQL/C 程序员手册中的讨论。数据库服务器能够返回这个 SQLCODE 值给在运行的
程序。
1203 找不到信息文件
数据提取不能找到所需的信息文件。确保当你设置 INFORMIXDIR 和 DBLANG 环境变量时,已
指定了适当的路径名。如果你在设置环境变量时需要帮助,请与系统管理员联系。
1204 你的系统遇到了一个未知的终端类型。
确认你正确地设置了 TERM 环境变量。检查数据库名拼写正确与否。如果你在设置环境变量
时需要帮助,请与系统管理员联系。
2005 数据库<数据库名>没有发现或不正确的格式。
检查数据库名拼写正确与否。
2008 表<表名>在数据库中不存在。
在 DATABASE 节中所指定的数据库不含有在屏幕表格说明文件的 TABLE 节中包含的表名。检
查表名是否拼写正确。
2009 你没有选择数据库表。
必须在屏幕格式说明文件的 TABLE 节中,包含一个或多个表名。
2020 下表含有一个错误:<表名>。
检查对系统运行指示中跟随出现的信息。给出的错误包含指示的表。
4074 不能在你给出路径的目录中找到 C 语言的编译器。
这是一个 4GL 的编译器的信息。你需要 C 编译器来完成编译程序的工作。改变你的执行路
径,以便在名字 cc 下能执行 C 编译器。
4102 请看错误编号<号码>。
这是一个 4GL 编译器的信息。查找错误编码信息。
4150 程序错误在<模块>,<行号>的行上。
指示行含有生成 该 4GL 运行信息的错误代码。有时,实际的错误或遗漏的小问题存在于前
面的代码行中。检查解释错误的附加信息。
4152 FORMS 语句错误编号<号码>。
这是一个 4GL 运行时的错误。检查错误编码信息。
4153 SQL 语句错误编号<-号码>。
这是一个 4GL 运行时的错误。检查<-号码>信息。
4154 程序停止在<模块>,<行号>的行上。
这是一个 4GL 运行时的信息,它指出由于错误程序停止的地方。检查解释错误的附加信息。
4155 4GL 运行错误编号<-号码>。
这是一个 4GL 运行时的错误。检查<-号码>信息。
4156 ISAM 错误编号<-号码>。
这是一个 4GL 运行时的错误。检查<-号码>信息。
4157 SYSTEM 错误编号<-号码>。
这是一个 4GL 运行时的错误。检查<-号码>信息。
8009 请看错误编码 <错误码>。
检查系统活动的指示跟随出现的信息。使用 finderr 实用工具或 Informix 错误信息手册,
找出错误信息的位置。
19750 无效的序列号。请查看安装指令。
这个 RSAM 错误信息指出不正确的序列号。
21957 无效的块大小。
你已经在 onload 或 onunload 命令中,为磁带设备指定了不够块的大小。使块的大小比在
跟随的错误信息指出的大小(用 k 字节计)大。onload 和 onunload 实用工具需要块大小参
数,对于 2k 字节一页的机器最小值为 4,对于 4k 字节一页的机器最小值为 8。
25500 sqlexecd 精灵进程未许可供远程使用。
在运行 Informix 客户/服务器产品安装程序时,输入了不正确的序列号或者序列号密码。输
入正确的序列号和密码,然后重新安装 Informix 客户/服务器产品。
25501 你必须作为根注册来启动 sqlexecd daemon。
从根登录,然后启动 sqlexecd daemon 进程。
25502 sqlexecd daemon 不能执行 fork 系统调用。
与系统管理员联系,解决系统问题。
25503 这个产品不支持 Informix 网络特性。
sqlexecd daemon 不支持你的网络连接。确保在 DBPATH 环境变量中,你指定了正确的数据
库或数据库服务器。与系统管理员咨询有关 INPORMIX-NET 的许可权问题。
25504 sqlexecd daemon 不能打开一个套接字。
确保你正确地安装了 TCP/IP 网。检查 TCP/IP 网的故障。
25505 sqlexecd daemon 不能将名字连接到套接字。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25506 sqlexecd daemon 不能在套接字上接受连接。
确保你正确地安装了 TCP/IP 网。检查 TCP/IP 网的故障。
25507 你指定了一个未知的服务名或协议。
告诉你的数据库管理员,检查一下 sqlhosts 文件的输入。确保在 ONCONFIG 文件中设置的
NETTYPE 与 sqlhosts 文件中设置的 NETTYPE 相匹配。
如果你正在使用 TCP/IP 协议,确保在 /etc/services 文件中出现的服务名是正确的。如果
你在使用 NFS,用 ypmake 来检查 /etc/services 文件。有时,daemon 不能识别在缺省引
导之后增加的服务名。
25510 execv 不能启动数据库引擎<服务器名>,系统错误码<错误码>。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25511 sqlexecd daemon 不能从客户机上接收数据。
确保你正确地安装了 TCP/IP 网。检查 TCP/IP 网的故障。
25512 不能访问数据库服务器程序。
确保你能够访问所需要的数据库服务器程序。
25514 sqlexecd daemon 不能打开日志文件。
确保你能写入所需要的日志文件。
25515 你传给 sqlexecd daemon 的参数太多。
参看你的 Informix 产品手册。检查与 Informix 客户/服务器产品有关的版本信息,以检验
这些产品之间的兼容性。
25518 你在 DBNETTYPE 中指定了一个不知道的网络类型。假定是 STARLAN。
如果你的网络支持 STARLAN 连接,把 DBNETTYPE 环境变量设置为 starlan。如果你的网络
支持 TCP/IP 连接,把 DBNETTYPE 环境变量设置为 tcp/ip。Informix 6.0 版本以及更高版
本的数据库服务器不使用这种信息。
25519 sqlexecd daemon 不能打开网络设备。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25520 sqlexecd daemon 不能分配调用结构。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25521 sqlexecd daemon 不能分配返回结构。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25522 sqlexecd daemon 不能分配调用结构。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25523 sqlexecd daemon 不能连接网络结构。
sqlexecd daemon 进程试图使用相同的设备号分配给另一个运行中的进程。确保系统管理程
序不需要使用在运行的 sqlexecd 进程。那么,杀死 sqlexecd 进程,启动一个新的进程。
或者,增加新的入口给 /etc/services 文件,并对使用新的服务号的服务启动 daemon。参
见你的系统手册,可获得更详细的信息。
25526 sqlexecd daemon 不能监听网络设备。
再次输入你需要的东西。如果问题仍然出现,运行网络诊断程序以确定问题的根源。
25528 sqlexecd daemon 不能接受连接。
确保你已正确地安装了网络的软硬件。检查网络中的故障。
25529 sqlexecd daemon 不能获取主机结构。
确保你所要的是一个有效的主机名。检验 /etc/hosts 文件是否包含有所需要的主机名输入。
25530 sqlexecd daemon 不能连接到所需要的端口地址。
确保在端口地址上没有其它的 daemon 在运行。
25531 sqlexecd daemon 不能连接到所需要的地址。
确保在端口地址上没有其它的 daemon 在运行。
25533 sqlexecd daemon 不能关闭网络。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25534 sqlexecd daemon 不能分配一个结构。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25535 在 sqlexecd daemon 中,地址转换失败。
再次输入你需要的东西。如果问题仍然出现,参见你的系统手册,可获得更详细的信息。
25537 sqlexecd daemon 不能连接到网络。
确保 你正确地安装了 TCP/IP 或 StarGROUP 网络。检查网络中的故障。
25543 你指定了一个不知道的服务名或协议。
检查 /etc/services 文件,验证所需要的服务名存在。同样,确保 /etc/services 指定了
正确的协议和/或端口号。
25544 sqlexecd daemon 不能发现主机结构。
确保你使用了一个有效的服务器名。检查 /etc/hosts 文件,验证你正确地定义了所需要的
服务器名,客户机地址和主机名。
25545 sqlexecd daemon 不能通知指定的服务名。
你在一个运行可移植的 INFORMIX-OnLine for NetWare,网络协议为 IPX/SPX 的系统上启动
sqlexecd daemon。但是,daemon 不能在 INFORMIX-OnLine for NetWare 的网络数据库服务
器上通知服务名。可能的原因包括:另一个 sqlexecd daemon 已在使用相同的服务名;一个
有相同的服务名且刚刚已停止了的 sqlexecd daemon 不能从它的服务处撤回通知;或者,在
你的系统上可移植的 INFORMIX-OnLine for NetWare 软件已被关闭。
每个数据库服务器的服务名在整个 INFORMIX-OnLine for NetWare 网络上必须保持唯一。缺
省的服务名是 sqlexec。如果该名字已被网络上另外一个 sqlexecd daemon 或数据库服务器
所用,那么使用别的服务名启动 sqlexecd daemon。可在 sqlexecd 命令行中显式地指定某服
务名为参数。
如果你在重新启动刚刚终止了的 sqlexec daemon,前面的 sqlexecd 可能不能完成撤销通知
或者不能撤销通知服务名。当在终止一个 sqlexecd daemon 时,只使用 TERM 信号(15)(亦
即 kill- 15 pid,或 kill pid)。如果你没有正常地结束一个服务,那么,依据你的
INFORMIX-OnLine for NetWare 配置,可能需要大约三分钟来自动地结束被撤销通知的服务。
29061 EDA 警告(EDA_警告)。
SQL 语句已成功执行,但是 EDA 客户或服务器发出警告。EDA 警告显示字段包括警告信息。
EDA 警告显示字段的格式化与错误信息 -29060 中所描述的 EDA 错误显示字段相同。参见第
451 页“Informix 网关错误”。
32700 不能找到许可文件。
程序不能打开许可文件。程序首先要打开用户在 LM
LICENSE_FILE 中所指定的文件。如果
你还没有设置这个环境变量,程序试图打开在缺省位置 INFORMIXDIR/etc/ifmxld.dat 中的
许可文件。如果你打算使用 LM- LICENSE
FILE,检查你是否已在该文件中正确地设置了许
可文件的路径名。
32701 无效的许可文件句法。
如果特性名,daemon 名,或者服务器名超过允许的最大长度;或者特性行不完全;那么出现
这种错误。如果你在安装以后,已经编辑了许可文件,检查你编辑是否有错。服务器名的最
大长度是 32 个字符。在安装期间,自动地生成特性名,daemon 名和特性行。
32702 不能连接到许可的 daemon 服务器。
如果在安装以后你编辑了授权文件,确保你没有错误。如果在授权文件的特性行所指定的
daemon 名字与厂商的 daemon 名字不匹配;或者,如果试图在所有的服务器结点上连接厂商
daemon 不成功;那么出现这种错误。确保在所有的许可服务器上的 daemon 仍然在运行,并
且网络在正常地工作。
32703 用户的许可号已经到期。检查 daemon 的日志。
使用 1mstat 或检查授权的 daemon 日志文件来检查网络的授权活动,以决定是否应该从
Infomix 购买更多的用户容量。
32704 不存在这样的特性。
在许可文件中,不能找到这种特性。保证授权文件含有你在试用产品的特性行,并且产品具
有正当的授权。
32705 不存在 TCP/IP 授权服务。
检查在使用的授权文件,确保在服务器的一行或多行上的 TCP/IP 端口号有效。如果 TCP/IP
端口号无效,修改授权文件,使用有效的端口号。
32706 没有套接字连接到授权管理程序服务器。
这个错误表示在信息的传送或接收期间,出现一个内部错误。注意观察所有的发生情况和其
它错误信息。与系统管理员一起检查系统是否在正常地运行。
32707 在授权文件中的加密码是不一致的。
这个错误表示授权文件行中的代码,与在授权文件中的其它数据不匹配。当所有的软件成分
不是用相同的加密码建立时,通常会出现这种错误。仔细检查 create_license.c,
ls_vendor.c 和应用程序代码,确保它们具有相同的厂商代码。在安装期间已经生成授权文
件后,不要修改授权文件中的加密代码。
32708 无效的主机。
当在授权文件中指定的主机 ID ,与软件正在运行的结点不匹配时,出现这种错误。
32709 特性已经过期。
目前的日期超过授权文件中特性的期限日期。决定是否你想从评估版改变为这个 Informix
产品的普通版,并与 Informix 联系,获得你需要的程序。
32710 无效的日期格式在授权文件中。
检查授权文件中的日期字段是否具有格式 dd-mmm-yyyy,在这里 dd 是表示两位数字的日,
mmm 是表示三个字母的月,yyyy 是表示四位数字的年。安装程序生成这些日期。如果你没有
在这些字段上修改授权文件,把这个问题连同授权文件的输出报告给 Informix 技术支持部。
32711 来自授权 daemon 服务器的无效返回数据。
保证在服务器行上的端口号没有任何其它的服务使用。与系统管理员共同检查一下,保证网
络在正常运行。检查授权的 daemon 服务器日志以获取所有的错误信息。
32712 在许可文件中没有服务器行。
在许可文件中不存在服务器行。所有的非零许可计数特性至少需要一个服务器行。
32713 网络数据库中不能找到 SERVER 主机名。
检查所有相关的系统文件,如 /etc/hosts,保证整个网络都知道服务器主机名。
32714 不能从授权 daemon 服务器中读数据。
保证所有授权服务器中的 daemon 正在运行。对任何错误信息检查 daemon 日志。
32715 不能写数据到授权 daemon 服务器中。
与系统管理员共同检查一下,保证网络在正常运行。同样的,检查 daemon 日志中其它错误
信息。
32716 授权 daemon 服务器不支持这种特性。
特性已经到期或者还没有开始,或者你正想使用的产品的版本不是许可的版本。确保在授权
daemon 服务器和运行这种 Informix 产品的计算机中,授权文件已被正确地建立。
32717 授权 daemon 服务器忙 (并不是大多数)。
授权 daemon 服务器忙于建立服务器结点的法定人数,以便授权能够启动。稍后再试一下这
一操作。
32718 授权文件不支持这一版本。
保证你正想使用的产品的版本是授过权的。检查授权文件以保证在特性行上的版本与你想使
用的版本一样或更新。
32719 在授权 daemon 服务器上特性检查失败。
检查请求没有从厂商 daemon 接收到合适的回答。(可以认为授权一直在使用)。检查 daemon
日志输出看是否有更多的错误信息。如果错误重复出现,请记录下所有情况,并与 Informix
技术支持部 联系。
32720 授权 daemon 服务器临时性地忙(新的服务器连接)。
厂商 daemon 忙于建立法定人数条件。来自客户机的新请求在这个周期间被延缓。稍后再试
一下这个操作。
32721 授权 daemon 服务器不支持这一特性的这个版本。
你想使用的版本比你授权的版本更新。检查授权文件中的特性保证所需要的产品版本与你正
使用版本相同或更新。
32722 需要比该特性所能支持的更多许可。
为了得到多于授权文件中所支持的授权,进行切出操作。保证你没有为检查出比处理能力更
多的授权而改变授权核对请求。对于每个请求应该切出唯一的一个授权。
32723 不能读授权文件。
保证授权文件具有正确的读许可权。
32724 无效的 daemon 加密握手。
在任何授权操作出现之前,客户机利用 daemon 执行加密握手操作。这次握手操作失败了。
与系统管理员一起检查一下,保证系统和网络正在正常运行。如果错误重复出现,请记录下
所有细节,并与 Informix 技术支持部 联系。
32725 在 daemon 中的特性数据库损坏。
daemon 的运行特性数据结构是坏的。这一内部的 daemon 错误表示存在严重的问题。如果错
误重复出现,请记录下所有细节,并与 Informix 技术支持部联系。
32726 不能分配动态内存。
malloc() 调用失败,没有返回足够的内存。当从授权文件(特别地,如果用户已经设置超长
的 LM_LICENSE_FILE 路径)读特性时,可能出现这一错误。与系统管理员共同检查一下,保
证系统在正常运行。
32727 特性没有切出
这个信息是提供给用户的。它不是一个错误。
32728 在 daemon 中设置检查的时钟不可利用。
这个信息是提供给用户的。它不是一个错误。
32766 未知的错误信息<号码>。
你启动的程序不能找到 Informix 错误信息文件。INFORMIXDIR 环境变量设置可能不正确。
INFORMIXDIR 指向含有存储信息文件的 msg 目录。
35201 在 SQL 语句中使用了 SQLCODE 或使用 SQLCODE 作为 IN 参数。
从 SQL 语句中删除 SQLCODE 和/或从参数表中删除 IN。SQLCODE 只是一 out 参数。
35202 SQLCODE 参数必须用 SQLCODE_TYPE 类型说明。
把 SQLCODE 声明为一个 SQLCODE_TYPE 类型的参数。
38002 未知的事件记忆或代码<事件记忆码>。
在审计追踪中,遇到了未知的事件记忆或代码。检查事件记忆或代码,修改命令行或装载文
件,再重新试一下。
38005 无效的路径名,< 路径名 >( 错误码= <号码>)。
你指定了一个无效的路径名。核实一下你的输入,再试一下。
38006 无效的文件名,< 文件名 >(错误码= <号码>)。
你指定了一个无效的文件名。核实一下你的输入,再试一下。
38007 在文件<文件名>上没有读许可权。
对指定的文件,你没有读许可权。核实一下许可权,再试一下。
38008 不能建立文件< 文件名 >( 错误码= <号码>)。
指定的文件不能被建立。核实一下路径和目录的许可权,再试一下。
38010 内部错误:非法使用 set_msg (越界)。
set_msg 函数已经超出有错的缓冲区中分配的存储量。如果错误重复出现,请记录下所有细
节,并与 Informix 技术支持部 联系。
38047 无效的序列号。请查阅安装说明。
你输入了一个无效的序列号。检查一下你的产品的安装说明,再试一下。
38053 无效的选项用法:对 add 需要 -u。
你对 onaudit 的 add 命令不完整。你没有指定用户名。检查一下用法信息,再试一下。
38054 无效的选项用法:对 modify 需要 -u。
你对 onaudit 的 modify 命令不完整;没有指定用户名。检查一下用法信息,再试一下。
38055 不知道的选择项 '-x'。
对于 onaudit 的命令行有不正确或不完整的句法。你指定了一个不知道的选择项。检查一下
用法信息,再试一下。
38060 在行号为< 行号>的行,无效地格式化了 mask/role/event 的定义。
数据库服务器不能对装入文件中 mask/role/event 的定义作句法分析。编辑装入文件,再试
一下。
38061 对 onaudit ,动作必须是第一个参数。
onaudit 的命令行有不正确的或不完整的句法。动作必须是第一个参数。检查一下用法信息,
再试一下。
38062 发现没有带需要参数的选择项。
onaudit 的命令行有不正确的或不完整的句法。你没有包含选择项需要的参数。检查一下用
法信息,再试一下。
38064 不可以定义多于两个事件集合。
onaudit 的命令行有不正确的或不完整的句法。你已经指定了多于两个事件集合。检查一下
用法信息,再试一下。
38065 不能连接共享内存。
确认 INFORMIX-OnLine 动态服务器在活动,再试一下。
38083 在 bulk 操作(行号为< 行号>)期间,不能修改 mask。
在装入文件中定义的 mask 已经存在。或者编辑装入文件,或者删除存在的定义。
38084 这个平台不支持 OS 方式审计。
这个平台不执行 -O 选择项。从命令中删除它,再试一下。
38085 不能找到 ONCONFIG 文件。
数据库服务器不能找到 $INFORMIXDIR/etc/$ONCONFIG 文件,和/或 ADTPATH 和/或
DBSERVERNAME 没有定义。
38086 发现无效格式过的审计记录。
审计追踪含有句法分析错误。检查路径和目录许可权,再试一下。
38088 不能作用用户<用户名>,出现错误<号码>。
这条一般的 onaudit 失败信息可能表示一条命令不正确或不完整,数据库不能访问,或者用
户不是 informix。检查许可权,ID 及命令行句法,再试一下。
38089 不起作用,出现错误<号码>。
这个一般的 onaudit 失败信息可能表示一条命令不正确或不完整,数据库不能访问,或者用
户不是 informix。检查许可权 id 及命令行句法,再试一下。
38090 跳过现有的审计追踪<文件名>。
数据库服务器不能覆盖一个现有的审计追踪文件。当 INFORMIX-OnLine 动态服务器运行起
来,并且 ADTPATH 保持旧的审计数据时,可能出现这种信息。删除所有旧的审计追踪。
38091 审计追踪建立<文件名>失败。
数据库服务器不能打开下一个审计文件,因为对 aio_fopen() 调用失败。确保 ADTPATH 指
向由用户或 informix 组可以写的有效目录。
38092 不能打开下一个审计文件。
数据库服务器不能打开下一个审计文件,因为对 aio_fopen() 调用失败。确保 ADTPATH 指
向由用户或 informix 组可以写的有效目录。
38093 Informix 级审计写失败 (错误码 =< 号码>)。
数据库服务器不能把当前审计记录写到审计追踪文件中。确保 ADTPATH 指向由用户或
informix 组可以写的有效目录,并且有盘空间可以使用。也可检查目录和审计追踪文件的许
可权。
38094 为 ADTERR 设置的<串>无效。
ONCONFIG 文件包含无效的参数。为了使参数为 0/1,修改 ONCONFIG
文件。
38095 为 ADTMODE 设置的<串>无效。
ONCONFIG 文件包含无效的参数。为了使参数为 0/1,修改 ONCONFIG 文件。
71561 只有 Informix-Admin 组的成员才能执行这个命令。
你登录所用的帐号可能不属于 Informix-Admin 组的成员。请与 Windows NT 系统管理员联
系。
71562 请用 -iy 选项初始化 INFORMIX-OnLine Dynamic Server。
在控制面板->服务器- >“启动”对话框中指定的命令行选项为 -i。
当 OnLine 作为服务器运行时,它不会提示你进行确认。如果确实想完全初始化 OnLine 根
dbspace,则改用 -iy 选项启动 OnLine Dynamic Server。
71563 OnLine 不能访问 %INFORMIXDIR%\dbssodir 或 %INFORMIXDIR%\aaodir。
首先,检查对于 dbssodir 和 aaodir 前的路径字段的访问权限。如果 %INFORMIXDIR% 在网
络驱动器上,应确保 oninit 进程的权限没有改变。另外,还须确保在下列注册表中的 AAO 和
DBSSO 组名是有效的:
HKEY_LOCAL_MACHINE\SOFTWARE\Informix\OnLine\CurrentVersion\Security
71564 警告:在存储过程中不支持 SYSTEM 命令。
在 Version 7.21 以前,INFORMIX-OnLine Dynamic Server for Windows NT 不支持存储过
程中的 SYSTEM 命令。在 Version 7.21 中添加了这个特性。在存储过程的外面运行 SYSTEM
命令。
71565 对于指定的配置,根 dbspace 不够大。实际的大小为 xxx 页,而需要的大小为 yyy
页。尽量在包含根 dbspace 的磁盘上释放出一些空间,并重新初始化 OnLine Dynamic
Server。
71566 在 ONCONFIG 文件中,为 TAPEDEV 或 LTAPEDEV 指定的值是无效的。
为 TAPEDEV 和/或 LTAPEDEV 指定值。关于参数设置配置的详细信息,请参阅数据库服务器
管理员手册。
71567 OnLine 以恢复方式启动失败。检查事件日志来获取错误信息。
阅读事件日志,了解来自 OnLine 的错误,并将之纠正。
71568 oninit :在注册表的 SQLHOSTS 键之下没有找到 DBSERVERNAME `servername'。
在注册表中添加键。更详细的信息,请参考数据库服务器的管理员手册。
71569 OnLine 以恢复方式启动失败。服务已在运行中。
检查 SQLHOSTS 键之下 INFORMIXSERVER 的注册表设置。
71570 因为用户未用密码登录,所以不能执行存储过程中的 System() 命令。
用密码重新登录,并执行存储过程。
71571 错误信息的缓冲区大小不够。
为错误信息分配的缓冲区不够大。与 Informix 技术支持联系。
71572 存储过程中的 System() 命令失败。
更详细的信息请查阅 OnLine 信息日志。
-1 不是所有者。
一个具有上述意义的操作系统错误代码,不可预料地返回到数据库服务器。检查在当前操作
中所使用的文件和目录的所有关系和许可权。查找操作系统的错误信息,它会给出更详细的
信息。
-2 没有这样的文件或目录。
一个具有上述意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,它会给出更详细的信息。
-3 没有这样的进程。
一个具有上述意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,它会给出更详细的信息。如果错误重复出现,请记录下所有细节,并与 Informix
技术支持部 联系。
-4 中断系统调用。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。你可能在关键时
刻按下中断键,或者可能软件生成中断信号,比如 UNIX 命令 kill。如果错误重复出现,请
记录下所有细节,并与 Informix 技术支持部联系。
-5 输入/输出错误。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找操作系统的
错误信息,它会给出更详细的信息。特别地,应该想办法决定是什么设备产生的错误,以及
错误是否阻塞数据库或其它种类的文件。
-6 没有这样的设备或地址。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。这可能反映在配
置数据库软件中的一些错误,或者可能是在报表的 REPORT TO 子句中有错误。查找其它操作
系统的错误信息,它会给出更详细的信息。
-7 参数表太长。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,它可能会给出更详细的信息。如果错误重复出现,请参考“Informix-OnLine
管理员指南附录 B "的“陷井错误 ”以得到进一步诊断。请就诊断信息与 Informix 技术支
持部联系。
-8 执行格式错误。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,它会给出更多信息。如果错误重复出现,请记录下所有细节,并与 Informix 技
术支持部 联系。
-9 无效的文件号。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。如果错误重复出现,请记录下所有细节,并与
Informix 技术支持部 联系。
-10 没有子进程。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。如果错误重复出现,请记录下所有细节,并与
Informix 技术支持部 联系。
-11 没有更多的进程。
你的应用程序不能启动数据库服务器进程,或是不能建立某些下一级函数,如 REPORT TO 管
道或网络访问程序所需要的进程。这个错误也可能反映了你的操作系统中配置的限制。查找
其它操作系统错误信息,它会给出更详细的信息。
-12 无足够的核心。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。核心可能涉及到
操作系统函数所需内存的数据空间。查找其它操作系统错误信息,可能会给出更详细的信息。
-13 许可被拒。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。这个错误代码一
般是由于想执行一个不是程序或 shell 笔迹的文件;它也可能反映一个报表中的 REPORT TO
说明有错。查找其它操作系统错误信息,可能会给出更详细的信息。
-14 无效地址。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。如果错误重复出现,请记录下所有细节,并与
Informix 技术支持部联系。
-15 需要块设备。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。在数据库软件的
配置中可能存在错误。这个错误可能包含大块设备或磁带设备赋给 OnLine 的参数中的无效
地址。查找其它操作系统错误信息,可能会给出更详细的信息。
-16 安装设备忙。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。如果错误重复出现,请记录下所有细节,并与
Informix 技术支持部联系。
-17 文件已存在。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。这个错误可能反
映企图在 REPORT TO 说明中替换一个存在的文件。查找其它操作系统错误信息,可能会给出
更详细的信息。
-18 交叉设备连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部 联系。
-19 没有这样的设备。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。在数据库软件的
配置中可能存在错误。这个错误可能包含赋给 OnLine 的大块设备或磁带设备参数中的无效
地址。或者,在报表中的 REPORT TO 说明中可能有错误。查找其它操作系统错误信息,可能
会给出更详细的信息。
-20 不是一个目录。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。某些数据库服务器把存储数据库作为名为
database.dbs 的目录。如果在 DBPATH 中用 .dbs 后缀放置文件(而不是目录),这种错误
可能会发生。
-21 是一个目录。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。已直接对目录进
行文件类型的操作。有些数据库服务器存储表,索引和锁定文件,是作为数据库目录中带有
特别后缀的文件的。如果用目录来代替这样的文件,这就可能产生错误。查找其它操作系统
错误信息,可能会给出更详细的信息。
-22 无效的参数。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更详细的信息。如果错误重复出现,请参考“Informix-OnLine 管
理员指南附录 B "的“陷井错误 ”以得到进一步诊断。请就诊断信息与 Informix 技术支持
部联系。
-23 文件表溢出。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。这一错误可能反
映出在操作系统中配置的限制。查找其它操作系统错误信息,它会给出更详细的信息。
-24 太多的打开文件。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。这一错误可能反
映出在操作系统中配置的限制。查找其它操作系统错误信息,可能会给出更详细的信息。
-25 不是打字机。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。在数据库软件的
配置中可能有错误。这个错误可能包含给于 OnLine 的 log-device 参数中的错误地址。查找
其它操作系统错误信息,可能会给出更详细的信息。如果错误重复出现,请记录下所有细节,
并与 Informix 技术支持部联系。
-26 文本文件忙。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果当前的操作
需要使用文本文件 (如报表中的 LOAD 或 PRINT FILE 语句的输入文件),那么在后面要再
试一下操作。查找其它操作系统错误信息,可能会给出更详细的信息。
-27 文件太大。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。检查操作系统的
文档,找出“太大”在当前操作的上下文中可能是指的是什么意思。
-28 设备已没有空间。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。或者数据库表,
或者 ASCII 输出文件可能已经占满了可用的盘空间。查找其它操作系统错误信息,可能会给
出更详细的信息。
-29 非法的查找。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可能会给出更多信息,例如,出现错误的设备。如果错误重复出现,请记录下
所有细节,并与 Informix 技术支持部联系。
-30 只读文件系统。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。整个文件系统 (盘
或盘分区)已成为只读的。与系统管理员联系找出原因。
-31 太多的连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,特别涉及到的单个文件或多个文件,可能会给出更多信息。如果错误重复出现,
请记录下所有细节,并与 Informix 技术支持部联系。
-32 破裂的管道。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。管道是两个进程
之间的数据通道;如果在另一个进程正等待数据时,一个进程已不可预料地退出,则管道是
破裂的。查找其它操作系统错误信息,尤其在所涉及的进程方面,可能会给出更多信息。如
果错误重复出现,请记录下所有细节,并与 Informix 技术支持部联系。
-33 参数太大。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部 联系。
-34 结果太大。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-35 操作可能受阻。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-36 操作正在进行中。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-37 操作已在进行中。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-38 在非套接字上进行套接字操作。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,尤其在涉及到的问题和处理方面,可能会给出更多信息。如果错误重复出现,
请记录下所有细节,并与 Informix 技术支持部联系。
-39 需要目标地址。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-40 信息太长。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-41 错误的套接字协议类型。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-42 协议不支持的选项。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-43 不支持协议。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-44 不支持套接字类型。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-45 不支持套接字上的操作。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-46 不支持协议系列。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-47 协议家族不支持地址家族。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-48 地址已在使用。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-49 不能设定所需要的地址。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-50 网络关闭。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果你正想使用
INFORMIX-STAR 或 INFORMIX-NET,请与系统管理员联系,找出何时备份网络。不然的话,请
记录下所有细节,并与 Informix 技术支持部联系。
-51 网络不可到达。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果你正想使用
INFORMIX-STAR 或 INFORMIX-NET,请与系统管理员联系,找出网络的问题。不然的话,请记
录下所有细节,并与 Informix 技术支持部联系。
-52 网络将连接放在重置位置上。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果你正想使用
INFORMIX-STAR 或 INFORMIX-NET,请与系统管理员联系,以报告网络的问题。不然的话,请
记录下所有细节,并与 Informix 技术支持部联系。
-53 软件引起连接异常结束。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果你正想使用
INFORMIX-STAR 或 INFORMIX-NET 请与系统管理员联系,以报告网络的问题。不然的话,请
记录下所有细节,并与 Informix 技术支持部联系。
-54 利用对等程序重置连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果你正想使用
INFORMIX-STAR 或 INFORMIX-NET 请与系统管理员联系,以报告网络的问题。不然的话,请
记录下所有细节,并与 Informix 技术支持部联系。
-55 无缓冲区空间可利用。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系
统错误信息,可获得更详细的信息。
-56 套接字已经被连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-57 套接字没有连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-58 在套接字关闭之后,不能传送。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-59 太多的引用:不能连接。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果错误重复出
现,请记录下所有细节,并与 Informix 技术支持部联系。
-60 连接时间超出。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。如果正试图使用
INFORMIX-STAR 或 INFO-RMIX NET,与系统管理员联系,报告网络的问题。如果还不能解决
问题,请记录下所有细节,并与 Informix 技术支持部联系。
-61 连接被拒绝。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果你正试图使用
INFORMIX-STAR 或 INFORMIX-NET,与你的系统管理员联系以报告网络问题。否则,请记录下
所有的环境信息并与 Informix 技术支持部门联系。
-62 符号连接的层次过多。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。数据库服务器一般不使用
符号连接。查看其它操作系统错误信息可能会获得进一步的信息,特别是正在访问的文件。
-63 文件名过长。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。报表的 REPORT TO 语句的
编码可能有错误。否则,请记录下所有的环境信息并与 Informix 技术支持部门联系。
-64 主机已关闭。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果你正试图使用
INFORMIX-STAR 或 INFORMIX-NET,与你的系统管理员联系并报告网络问题。否则,请记录下
所有的环境信息并与 Informix 技术支持部门联系。
-65 无法达到的主机。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果你正试图使用
INFORMIX-STAR 或 INFORMIX-NET,与你的系统管理员联系并报告网络问题。否则,请记录下
所有的环境信息并与 Informix 技术支持部门联系。
-66 目录不空。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。查看其它操作系统错误信
息可能会获得进一步的信息,特别是所要删除的目录。如果错误再次出现,请记录下所有的
环境信息并与 Informix 技术支持部门联系。
-67 过多的进程。
你的应用程序不能启动一个数据库服务器进程,或是不能为某些子例程函数,如 REPORT TO
管道或是一个网络存取程序,建立所需的进程。这个错误可能反映了操作系统配置的极限。
查看其它操作系统错误信息可能会获得进一步的信息。
-68 过多的用户。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。这个错误可能反映了操作
系统配置的极限。查看其它操作系统错误信息可能会获得进一步的信息。
-69 超出磁盘限额。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。可能在操作系统中配置了
磁盘限额的极限。查看其它操作系统错误信息可能会获得进一步的信息,特别是有关的磁盘。
与系统管理员联系,要求更多的自由限额。
-70 失效的 NFS 文件句柄。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。这反映了在网络文件系统
中文件服务器的一个错误。尽管 Informix 数据库服务器不支持对安装在 NFS 上文件系统的数
据库存取,但是当数据库服务器可执行文件或其他与数据库服务器相关的文件位于安装在
NFS 的磁盘上时(换句话说,就是环境变量 INFORMIXDIR 命名了一个安装在 NFS 上的磁盘),
就有可能发生这个错误。这个错误一般是暂时的,反映了文件服务器的崩溃和后来的重新启
动。重新安装文件系统到你的工作站上并重新运行你的应用程序。
-71 路径中远程的层次过多。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-72 不是一个数据流设备。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。查看其它操作系统错误信
息可能会获得进一步的信息,特别是有关的设备。如果错误再次出现,请记录下所有的环境
信息并与 Informix 技术支持部门联系。
-73 计时器超时。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-74 数据流资源用尽。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-75 没有想要的类型的信息。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-76 不是一个数据信息。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-77 标识符被删除。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
-78 侦测到/避免了死锁情况。
一个带有上述含义的操作系统错误码意外地返回到数据库服务器。如果错误再次出现,请记
录下所有的环境信息并与 Informix 技术支持部门联系。
在 AIX 下,这个代码的意义是连接超时。
-79 没有可用的记录锁。
一个具有上面所说的意义的操作系统错误码意外地返回到数据库服务器。这个 Informix 数据
库服务器的实现可能使用了核心锁定,就是说使用了操作系统的功能来锁定表的行。操作系
统锁定表的能力已被超出。与你的系统管理员联系把操作系统配置得可以支持更多的锁。同
时也检查你的应用程序,看看是否可以少用一些锁,例如在每一个事务中少更新一些行,或
是锁定整个表来代替锁定行。
-100 ISAM 错误:对有唯一键的记录重复取值。
某一行在被插入或是更新时,其键值在索引中已经存在。对 C-ISAM 程序,在最后一次调用
iswrite,isrewrite,isrewcurr 或 isaddindex 时传递了重复的键值。检查程序逻辑和输入
数据。对 SQL 产品,在最后一个 INSERT 或 UPDATE 中使用了重复的键值。
-101 ISAM 错误:文件未打开。
ISAM 处理器被要求使用一个未打开的文件(表)。对 C-ISAM 程序,程序试图在调用 isopen 打
开文件前使用该文件,或是试图写一个只读方式打开的文件。如果错误再次出现,请参考
INFORMIX-Online 的“管理员指南”附录 B,“陷井错误”以得到进一步诊断。有关诊断信息
请与 Informix 技术支持部联系。
-102 ISAM 错误: 不合法的 ISAM 函数参数。
一个传递给 C-ISAM 函数的参数值超出了可接受的范围。对 C-ISAM 程序,检查这个函数调用
中使用的参数,并与该函数的文档比较。如果错误再次出现,请参考 INFORMIX-Online 的“管
理员指南”附录 B,“陷井错误”以得到进一步诊断。有关诊断信息请与 Informix 技术支持
部联系。
-103 ISAM 错误: 不合法的键描述符(部分过多或是太长)。
ISAM 处理器被给予了一个无效的键描述符。对 C-ISAM 程序,检查键描述符。每个键描述符
最多可以有 8 个部分和 120 个字符。如果错误再次出现,请参考 INFORMIX-Online 的“管理
员指南”附录 B,“陷井错误”以得到进一步诊断。有关诊断信息请与 Informix 技术支持部
联系。
-104 ISAM 错误: 打开文件过多。
ISAM 处理器已经到达了打开文件数的极限。对 C-ISAM 程序,检查并改变程序逻辑使得它同
时打开较少的文件。使用 isclose 来关闭不需要的文件。对 SQL 产品,这个查询过于复杂;
它同时使用了过多的表。分步执行查询并使用临时表。
-105 ISAM 错误: 坏的 ISAM 文件格式。
一个 ISAM 文件(表或索引)的内容已被损坏。对 C-ISAM,如果已使用了事务日志,你可以用
isrecover 程序来恢复该文件。否则,重新建立或是从备份上恢复该文件。对 SQL 产品,使
用 bcheck 或 secheck 实用工具来获取有关此问题的进一步信息,可能的话改正错误(在
INFORMIX-OnLine数据库服务器中使用tbcheck或是在INFORMIX-OnLine 动态服务器 中使用
oncheck)。如果实用工具不能恢复表或索引,你必须重新建立或恢复它。
-106 ISAM 错误: 非排它存取。
ISAM 处理器被要求增加或取消一个索引,但它并没有排它存取权。对 C-ISAM 程序,在做这
个操作之前文件必须以排它存取方式打开。检查程序逻辑,确保在打开文件时把 ISEXCLLOCK
标志传递给了 isopen。对 SQL 产品,在要求对表的排它锁定时,INFORMIX-OnLine 动态服务
器和 INFORMIX-SE 数据库服务器中可能会返回这个错误。例如,当第一个用户锁定了表后,
第二个用户又试图变更表时,就会出现这个错误。
-107 ISAM 错误: 记录被锁定。
所需求的记录,或是包含该记录的文件(表),已被另一个用户的需求锁定。这一般是一个暂
时的情况。程序可以通过滚回当前事务来恢复,等一小段时间,然后重新执行操作。对交互
式的 SQL,重新进行该操作。对 C-ISAM 程序,检查程序逻辑,确保程序可以处理这种在多程
序环境中的正常事件。你可以把 ISEXCLLOCK 标志传递给 isopen 以获得对表的排它存取。对
SQL 程序,检查程序逻辑,确保程序可以处理这种在多程序环境中的正常事件。处理这种情
况的最简单的方法就是使用命令 SET LOCK MODE TO WAIT。对于批量更新参见 LOCK TABLE 命
令和 DATABASE 语句的 EXCLUSIVE 选项。
-108 ISAM 错误: 键已存在。
ISAM 处理器被要求建立一个已存在的索引。对 C-ISAM 程序,检查程序逻辑。该程序必须在
它定义其它索引之前先删除已有的索引。如果错误再次出现,请记录下所有的环境并与
Informix 技术支持部联系。
-109 ISAM 错误: 该键是文件的主键。
ISAM 处理器被要求删除主键索引。对 C-ISAM 程序,isdelindex 调用不能删除主键。如果错
误再次出现,请记录下所有的环境并与 Informix 技术支持部联系。
-110 ISAM 错误: 文件的开头或结尾。
ISAM 处理器向前或向后顺序地读取行时达到了文件(表)的一端。对 C-ISAM 程序,这个信息
是文件结束的正常信号。使用 isread 的其它检索方法来在文件中重新定位。对 SQL 产品,参
见 SQL 错误信息或返回代码。
-111 ISAM 错误: 没找到记录。
ISAM 处理器不能定位需求的记录。对 C-ISAM 程序,根据所使用的检索方式,没有具有所需
求的索引值或记录号的记录。确认正在使用正确的索引。对 SQL 产品,参见 SQL 错误信息或
返回代码。可能是此次查询没有找到相应的行。
-112 ISAM 错误: 没有当前记录。
ISAM 处理器被请求返回一个当前记录,但是还没有建立当前记录。对 C-ISAM 程序,检查程
序逻辑。在程序使用 ISCURR 检索方式之前,必须使用另一个检索方式,例如 ISFIRST,以建
立一个当前记录。如果错误再次出现,请记录下所有的环境并与 Informix 技术支持部联系。
-113 ISAM 错误:该文件已被锁定。
另一个用户的需求已经用排它方式打开需求的文件(表)。在使用文件锁定的系统中,存在一
个<表名>.lok 文件。可能这个文件是另一个程序异常结束后遗留的产物。如果你能肯定是这
样的,你可以通过清空该文件来解除锁定。在许多系统中都不使用锁定文件,INFORMIX-OnLine
动态服务器也从不使用它。
对 C-ISAM 程序,在文件被解锁后重新运行该程序。对 SQL 产品,表是由 LOCK TABLE 显式锁
定,并在执行 CREATE INDEX 和 ALTER TABLE 语句时被隐含地锁定。在表被解锁后重新运行程
序或查询。
-114 ISAM 错误: 文件名过长。
ISAM 处理器被要求打开或建立一个文件名长于 10 个字符的文件。对 C-ISAM 程序,这个长度
超出产品的最大值。选择一个较短的文件名。如果错误再次出现,请记录下所有的环境并与
Informix 技术支持部联系。
-115 ISAM 错误: 不能建立锁定文件。
ISAM 处理器被要求存取使用锁定来存取一个文件或一行。因为这个操作系统使用锁定的文
件,ISAM 必须建立一个<表名>.lok 文件。当 ISAM 试图这样做时,它收到了操作系统的错误
代码。可能是磁盘已满,或者你的帐户可能没有在相关目录的写许可。查看操作系统错误信
息可能会获得进一步的信息。
-116 ISAM 错误: 不能分配内存。
ISAM 处理器需要分配内存用于数据存储但是没有成功。可能是操作系统出了问题;查看操作
系统错误信息可能会获得更多的信息。一个原因可能是选定了包含有巨大的 BYTE 或 TEXT 字
段的一行到一个临时表中或是作为一个 INSERT 或 UPDATE 的一部分。在某些版本中,整个行
包括 BLOB 值都被缓冲到内存中。对 C-ISAM 程序,查看程序,寻找任何可以减少内存使用的
办法。对 SQL 产品,如果可能的话,简化程序,屏幕表格或报表。
-117 ISAM 错误: 坏的整理顺序。
这个信息不会被任何当前的 Informix 产品显示。如果该错误重复出现,请记录下所有的环境
并与 Informix 技术支持部联系。
-118 ISAM 错误: 不能读取日志记录。
ISAM 处理器试图滚回一个事务或恢复一个文件但是在读取日志记录时遇到了错误。查看操作
系统错误信息可能会获得进一步的信息。使用 dblog 或 selog 实用工具获取与此问题有关的
更多的信息。如果该文件(表)不能被恢复,则必须重新建立或从备份上恢复。
-119 ISAM 错误: 坏的日志记录。
ISAM 处理器正试图滚回一个事务或恢复一个文件,但是在日志记录中遇到了坏的数据。dblog
或 selog 实用工具可以用来获取与此问题有关的更多的信息。如果该文件(表)不能被恢复,
则必须重新建立或从备份上恢复。
-120 ISAM 错误: 不能打开日志文件。
ISAM 处理器试图打开一个事务日志文件但接到了从操作系统来的错误信息。查看操作系统错
误信息可能会得到进一步的信息。对 C-ISAM 程序,检查传递给 islogopen 的参数。确定它指
定了一个已存在的可写的日志文件的正确的名字,并且当文件不在当前目录下时,它包含了
路径。对 SQL 产品,START DATABASE 语句建立了事务的日志文件。确定该日志文件还在与执
行 STARTDATABASE 语句时相同的目录位置上,并且你的帐户可以写存取。
-121 ISAM: 不能写日志记录。
ISAM 处理器正试图给事务日志增加一条记录,但是从操作系统接到了一个错误信息。磁盘可
能已满。查看操作系统错误信息可能会获得进一步的信息。事务日志文件可能会增长得相当
大。为了减小其大小,你必须做两件事。首先给数据文件(对 C-ISAM)或所有的数据库文件(对
SQL)做一个备份拷贝,然后,清空事务日志文件。如果例行地执行以上步骤,就可以控制日
志文件的大小。
-122 ISAM 错误: 事务不可用。
ISAM 处理器被要求给一个事务标记开始或结束,但是事物日志并未工作。对 C-ISAM 程序,
这个文件没有以日志方式打开。检查 isopen 调用并确保 ISTRANS 参数已被包括。对 SQL 产品,
这个数据库不支持事务日志。如果你正在使用 OnLine 数据库服务器,请 OnLine 管理员允许
这个数据库进行日志操作。否则,使用 START DATABASE 语句来开始事务日志。在所有情况
下,日志只能在已获得数据库的一个完全的备份后马上开始。
-123 ISAM 错误:没有共享内存。
ISAM 的实现使用了共享内存,但是共享内存分区还没有建立起来。与系统管理员或安装产品
的人联系。
-124 ISAM 错误: 还没有开始工作。
ISAM 处理器被要求为事务结束给一个标记,但是还没有任何事务开始。对 C-ISAM 程序,检
查程序逻辑,确保在调用 iscommit 或 isrollback 之前已调用过 isbegin。对 SQL 产品,确
定在执行 COMMIT WORK 或 ROLLBACK WORK 前先执行了 BEGIN WORK。
-125 ISAM 错误: 不能使用 nfs。
ISAM 处理器被要求打开一个位于其它机器的磁盘上的文件,并通过网络文件系统(NFS)来对
它进行存取。这个功能不被支持。数据库文件必须位于在物理上属于正在运行 ISAM 处理器的
计算机的磁盘上。要想使用其他计算机上的数据库,你必须安装 INFORMIX-STAR 或
INFORMIX-NET 网络软件。那时这台计算机上的应用程序就可以与磁盘所在的计算机上运行的
数据库服务器进行通讯了。
-126 ISAM 错误: 错误的行 id。
ISAM 处理器被要求使用某一行的物理位置来检索它,但是在那个位置却找不到。对 C-ISAM
程序,如果使用记录号进行存取,检查在 isrecnum 中存储的数据;它是无效的。否则当前的
索引可能已被损坏;运行 bcheck 或 secheck 实用工具。对 SQL 产品,索引已被损坏;如果你
正在使用 INFORMIX-SE 数据库服务器,运行 bcheck 或 secheck 实用工具来检查和修复索引。
如果使用的是INFORMIX-OnLine数据库服务器,运行tbcheck。如果使用的是INFORMIX-OnLine
动态服务器,运行 oncheck。
-127 ISAM 错误: 没有主键。
ISAM 处理器的一个函数被调用,该函数需要一个唯一的主键索引,但是该文件没有这样的索
引。对 C-ISAM 程序,检查数据文件的设计;它是用零部分主索引建立的,(就是说,使用记
录号序列检索)。如果不是上述情况,索引可能已被损坏;运行 bcheck 或 secheck 实用工具。
如果错误重复出现,请记录所有的环境并与 Informix 技术支持部联系。
-128 ISAM 错误: 没有日志。
ISAM 处理器的一个函数被调用,该函数需要一个事务日志,但该文件没有日志。对 C-ISAM
程序,检查数据文件的建立。在使用象 isbegin 这类函数之前,程序必须用 islogopen 设置
一个日志。对 SQL 产品,这个数据库不支持事务日志。如果你正在使用 OnLine 数据库服务
器,请系统管理员允许此数据库进行日志操作。否则,使用 START DATABASE 语句开始事务日
志。在所有情况下,日志只能在数据库完全备份后马上开始。
-129 ISAM 错误: 过多的用户。
ISAM 的实现使用了共享内存,配置时已经达到为共享内存所规定的最大并发用户数。你可能
需要增加 ONCONFIG 文件中的参数 USERTHREADS 和 TRANSACTIONS 的值。如果问题再次出现,
与系统管理员或是安装此产品的人联系。
"用户"这个词可能会使人误解;实际上是对使用数据库服务器的并发的应用程序个数有限制。
一个用户可以同时启动多个应用程序。例如,当用户启动 INFORMIX-4GL 程序员环境时,它
打开一个与数据库服务器的会话。当用户发出命令编译一个 4GL 程序时,4GL 编译器被启动
并且还打开一个与数据库服务器的会话。在编译期间,用户有两个会话在运行。
-130 ISAM 错误: 没有这个 dbspace。
这个代码指出下面两个问题之一。最可能的问题是这个操作以名字指定了一个 dbspace(例如
在 CREATE TABLE 语句的 IN 子句中或是在环境变量 DBSPACETEMP 的设置中),但这个名字没有
被定义。你可以运行带有-d 选项的 tbstat 或 onstat 实用工具来查看已定义的 dbspace 的名
字。请求 OnLine 管理员建立一个新的 dbspace。
如果操作并没有显式地命名一个 dbspace 或是该名字是正确的,问题就比较严重了。该错误
可能反映了根 dbspace 的保留页被损坏。使用实用工具 tbcheck 或 oncheck 的-cr 选项来查
看这个情况。
-131 ISAM 错误: 没有可用的磁盘空间。
没有足够的连续可用的磁盘空间来完成当前的操作。对 C-ISAM 程序,如果正在使用事务日
志,滚回当前事务。腾出一些可用的磁盘空间并重新运行程序。对 SQL 产品,如果可能的话,
滚回当前事务。与系统管理员联系以给数据库获得更多的磁盘空间。
-132 ISAM 错误: 行尺寸太大。
单一行的尺寸极限是 OnLine 所支持的磁盘页大小。用不同的方法来定义表,以使得每一行短
一些。考虑把该表分割成两个或更多的表,或使用更加紧凑的数据类型。
-133 ISAM 错误: 审计跟踪已存在。
ISAM 处理器被要求以一种与审计跟踪不兼容的方式对文件进行操作,但是该文件的审计跟踪
已经存在了。对 C-ISAM 程序,在审计跟踪存在时,你不能调用 iscluster。首先用 AUDSTOP
方式调用 isaudit。对 SQL 产品,在一个表有审计跟踪时,你不能给该表建立聚类的索引,
先使用 DROP AUDIT 命令取消审计跟踪。
-134 ISAM 错误: 没有更多的锁。
ISAM 处理器需要锁定一行或一个索引页但是已没有可用的锁了。一个操作所需要的锁的个数
主要取决于在一个事务中改变的行的个数。你可以通过减少每个事务所修改的行数来减少一
个操作所需的锁的个数,或通过锁定整个表来代替锁定行。可用的锁的个数根据你所使用的
实现可能在下面三个位置之一被配置:操作系统核心;共享内存段;或是 OnLine。向你的系
统管理员咨询如何获得更多的锁。
-135 ISAM 错误: tblspace 不存在。
这个错误可能表明根的 dbspace 控制信息被损坏。这是一个严重的错误,需要从档案上恢复
系统。简单地说,滚回当前的事务并且终止应用程序。然后 OnLine 管理员应该运行 tbcheck
或 oncheck 实用工具。
-136 ISAM 错误: 没有更多的区间
OnLine 数据库服务器需要给一个表增加一个区间,但是不能做到这一点。或者,在 dbspace
中没有足够的磁盘空间,或者,该表已被给定了一个可允许的扩展数的最大值。OnLine 管理
员可以按如下方法确定原因:

  1. 确定表的 tblspace 数目。这个值为该表在 systables 表中所对应的 partnum 列
    值。
  2. 将 tblspace 数目转换成 16 进制并提取其最高的两位数字(高字节)。 这个大块
    号指出该表所在之处。
  3. 使用 tbstat 或 onstat 实用工具的-t 选项来找出这个表的磁盘使用情 况。特别
    注意报告的 npages(可用的磁盘页),nused(已使用的磁盘页)和 nextns(区间个数)的值。
    如果 nused 小于 npages 并且 nextns 很大(200 以上),那么表就拥有过多的区间。每个表可
    以拥有的区间数的上限在 200 到 50 之间,该上限随表的定义和使用的磁盘页大小的不同而不
    同。重新分配表,使用较少但是较大的区间。把表的数据卸载到一个平文件上,取消该表,
    重新建立表,指定第一个区间大小应足够装入它现在所有的数据,下一个区间大小在当前大
    小的四分之一和六分之一之间。然后把数据重新装入到表中。
    如果 nextns 比较小或是 npages 和 nused 之间的差距比表的下一个区间还要小,表所在的
    dbspace 没有足够的磁盘空间。使用步骤 2 的大块号和 DB-Monitor 或 ON-Monitor 的 Chunks
    显示来确定 dbspace,然后给该 dbspace 增加一个新的大块。
    -137 ISAM 错误:大块表溢出。
    OnLine 管理员可以看到这个错误。OnLine 数据库服务器被配置成只能处理一定数目的磁盘大
    块。这个最大数目的极限已经达到,所以这个大块不能被增加。增加 TBCONFIG 或 ONCONFIG
    文件的 CHUNKS 参数并初始化共享内存。
    -138 ISAM 错误: dbspace 表溢出。
    OnLine 管理员可以看到这个错误。OnLine 数据库服务器被配置成只能处理一定数目的
    dbspace。这个最大数目的极限已经达到,所以这个 dbspace 不能被增加。增加 TBCONFIG 或
    ONCONFIG 文件的 DBSPACES 参数并初始化共享内存。
    -139 ISAM 错误: 日志文件表溢出。
    OnLine 管理员可以看到这个错误。OnLine 数据库服务器被配置成只能处理一定数目的逻辑日
    志。这个最大数目的极限已经达到,所以这个日志不能被增加。增加 TBCONFIG 或 ONCONFIG
    文件的 LOGSMAX 参数并初始化共享内存。
    -140 ISAM 错误: 全局部分不允许存取。
    这个错误仅在 VMS 操作系统下发生。在初始化共享内存时发生了一个内部错误。如果错误重
    复发生,请记录所有的的环境并与 Informix 技术支持部联系。
    -141 ISAM 错误: tblspace 表溢出。
    OnLine 数据库服务器被配置成只能处理一定数目的打开的 tblspace(大致与表对应)。现在已
    经达到了这个 tblspace 数目的极限,所以这个语句中使用的表不能被打开。简而言之,滚回
    当前事务并在有较少的并发操作进行的情况下重新执行。为了防止再次出现这个错误,OnLine
    管理员应配置系统使之可以处理更多的打开的 tblspace。TBCONFIG 或 ONCONFIG 文件中的
    TBLSPACES 参数设置了这个极限。DB Mornitor 或 ON Mornitor Profile 显示的 ovrtable 计
    数反映了这个错误发生的次数。
    -142 ISAM 错误: tblspace 页溢出。
    出现一个内部错误(可能已经过时)。如果该错误重复出现,请记录下所有的环境并与
    Informix 技术支持部联系。
    -143 ISAM 错误: 侦测到死锁。
    OnLine 数据库服务器在你的需求和其他并发的用户需求之间侦测到一个即将发生的死锁。每
    个用户都在等待一个资源(一行或一磁盘页),而该资源又被链中的其他用户所要求;如果你
    需求的操作继续下去,这条链将闭合起来,所有要求都将陷入死锁。简单地说,处理方法与
    错误-107(记录被锁定)相同:滚回当前事务并在一定延时后重新执行。为防止再次出现此错
    误,检查使用同一个表而且并发执行的应用程序的设计。有很多设计策略可以尽量减小出现
    死锁的概率。
    当 INFORMIX-STAR 是活跃的并且你的应用程序正在同时使用这一系统和其他系统的表时,死
    锁检测不再是决定性的,而是概率性的,与另一系统上等待资源的延时长度有关。OnLine 管
    理员可以设置延时的长度,超过该延时则认为发生了死锁。
    -144 ISAM 错误: 键值被锁定。
    当前的操作插入一个带有某主键值的行,或是将一行更新为带有某一主键值,但是一个尚未
    提交的事务已从索引里删除该键值。这个错误只有在锁定方式设置为 NOT WAIT 的情况下才会
    出现。处理方法与错误-107(记录被锁定)相同:滚回当前事务,在一段延时后重新执行。如
    果其它事务已提交,锁定不再存在。如果其它事务滚回,该键存在,这个操作将得到一个重
    复键错误。
    -145 ISAM 错误: 系统没有磁盘镜像。
    OnLine 管理员可以看到这个错误。OnLine 系统没有被初始化成支持磁盘镜像的。在你能够增
    加一个镜像大块之前,你必须重新初始化"初始磁盘参数",在标有"镜象"的字段处选 Y。这
    个动作实现了对磁盘镜像的支持。
    -146 ISAM 错误: 这个磁盘的另一个拷贝现在被禁止或是不存在。
    OnLine 管理员可以看到这个错误。在使一个大块脱机之前必须使这个镜像对的另一个大块成
    为联机状态。
    -147 ISAM 错误: 正在进行归档。
    OnLine 管理员可以看到这个错误。在进行归档的时候你请求的行动不能被执行。例如,在归
    档期间你不能增加一个日志或一个镜像。取消归档操作或是等到归档结束,然后重新发出该
    命令。
    -148 ISAM 错误: dbspace 不空。
    OnLine 管理员可以看到这个错误。在一个 dbspace 中的所有表都被取消之前,你不能删除这
    个 dbspace。使用带有-pe 选项的 tbcheck 或 oncheck 实用工具来寻找剩余的表的名字;它会
    按大块列出 dbspace 内的表。
    -149 ISAM 错误: INFORMIX-OnLine daemon 不在执行。
    你的应用程序正在与一个 OnLine 数据库服务器通讯,但数据库服务器不在执行中。当下一次
    启动时,OnLine 系统进行快速恢复并将你的当前事务滚回。结束你的应用程序并与 OnLine
    管理员联系,看看发生了什么情况以及什么时候数据库服务器能重新启动。
    -150 超越了 INFORMIX 演示版的限制。
    你正在使用数据库服务器的一个演示版本。这个版本对于其能够管理的表的数目和表的大小
    都有严格的限制。当前操作使得它超越了其中的一个限制。请与你的 Informix 代理联系购买
    本软件的正式产品版本。
    -151 ISAM 错误: 在 varchar 长度字段的值不合法。
    在磁盘上用于表示 VARCHAR 长度的某个 VARCHAR 字段的前导字节比该字段在建立时所定义的
    最大长度还要大时,就会发生这个内部错误。如果错误重复出现,请参考“Informix-OnLine
    管理员指南附录 B "的“陷井错误”以得到进一步诊断。
    请就诊断信息与 Informix 技术支持部联系。
    -152 ISAM 错误: 从远程进程接收的信息类型不合法。
    这个内部错误不应出现。记录下正在使用的网络软件的所有细节,以及在这台及其它主机系
    统上使用的数据库服务器的版本号。如果错误重复出现,请记录所有的环境并与 Informix
    技术支持部联系。
    -153 ISAM 错误: 不是在 ISMANULOCK 方式下。
    ISAM 处理器被请求锁定或解锁当前文件(表),但是该文件并未以适当的方式打开。对 C- ISAM
    程序,查看 isopen 的使用并确保在打开一个手工锁定的表的时候,ISMANULOCK 标志已被传
    递。如果错误重复出现,请记录所有的环境并与 Informix 技术支持部门联系。
    -154 ISAM 错误: 锁定因超时而失效。
    这个网络操作已被暂停,等待另一个数据库服务器的响应的时间已经超过了最长的等待时间。
    INFORMIX-OnLine 动态服务器假定出现了分布的死锁,用户的需求在等待一个其它系统中的
    某个用户锁定的资源,而那个用户在等待这个用户所拥有的某些东西。滚回当前事务,在一
    段延时后重新运行。如果这个错误经常出现,要求 OnLine 管理员调整死锁超时的时间间隔的
    长度。
    如果一个显式的等待时间超时,也会返回这个错误代码;就是说,如果你有语句 SET LOCK MODE
    TO WAIT 3,你对某个锁定的需求被放在队列中超过 3 秒,那么该操作以这个 ISAM 错误代码
    结束。
    -155 ISAM 错误:基本的和镜像大块是坏的。
    基本的大块(以及镜像大块,如果存在的话)是无法使用的。滚回当前的事务并结束应用程序。
    与 OnLine 管理员联系。必须定义新的磁盘大块,然后必须从磁带上恢复系统。
    -157 ISAM 错误: 被中断的 ISAM 调用。
    被侦测到的来自客户进程的中断终止了操作。重新开始该操作。
    -158 ISAM 错误: SMI 伪表中不允许的操。作
    你试图进行一个在系统监视界面(SMI)伪表中不支持的 SQL 操作。试试其它操作。
    -159 ISAM 错误: 无效的整理序列。
    你正试图使用一个不被支持的或是与最初用来建立 ISAM 文件的序列不匹配的整理序列。使用
    islanginfo()来确定 ISAM 文件的语言。
    -160 ISAM 错误: 在任何时候只能同时打开一个 blob。
    这个内部错误不应该发生。数据库服务器对一行调用了两次 blob 管理器的 isbopen。如果错
    误重复出现,请记录所有的环境并与 Informix 技术支持部联系。
    -161 ISAM 错误: 没有打开的 blob。
    这个内部错误不应该发生。数据库服务器没有先调用isbopen就已调用一个blob管理器函数。
    如果错误重复出现,请记录所有的环境并与 Informix 技术支持部联系。
    -162 ISAM 错误: BlobSpace 不存在。
    造成这个错误的最有可能的原因是当前语句试图使用子句"IN blobspace"定义一个 BYTE 或
    TEXT 字段,但是没有定义给定名字的 blobsapce。然而,如果 blobspace 的拼写正确并且存
    在,那就可能是由于在根 dbsapce 保留的页遭到了损坏。在这种情况下,OnLine 管理员应该
    运行带有-cr 选项的 tbcheck 或 oncheck 实用工具来检查情况。如果语句并未引用 blob 字段,
    可能是根 dbspace 已满或被损坏;与 OnLine 管理员联系以获得进一步的帮助。
    -163 ISAM 错误: 开始和结束页时间戳不同。
    OnLine 数据库服务器报告了数据库损坏的迹象。每个磁盘页在两端都有时间戳,在从磁盘上
    读出该页时,这两个时间戳应该相同。这个数据完整性测试的失败表明或是有一个磁盘页没
    有被完全写入磁盘,或是该页在磁盘或内存中被部分地覆盖了。在任何情况下,都应滚回当
    前的事务并停止应用程序。然后通知 OnLine 管理员运行 tbcheck 或 oncheck 实用工具以获得
    有关失败的更进一步的信息。
    -164 ISAM 错误: Blob 时间戳不正确。
    这个操作返回了一个不合法的 BYTE 或 TEXT 值。可能是数据页已被损坏。滚回当前的事务。
    请 OnLine 管理员运行带有-D 选项的 tbcheck 或 oncheck 以获得关于此问题的进一步的信息。
    如果程序正在进行 Dirty Read 或 Committed Read 隔离,这个错误代码表明可能有其它进程
    或线索已经删除了该 BYTE 或 TEXT 值,但该值所在的页又部分地被重新分配给了一个无关的
    值。一个使用 Dirty Read 隔离的程序可以读取已被删除但该删除还未被提交的行。如果删除
    已经提交,而程序正在读取 BYTE 或 TEXT 值,且如果分配给该值的空间被其它程序重新使用,
    就可能返回这个错误代码。
    在使用 Committed Read 隔离时,程序将看不到已被标为删除的行;但是对没有正在被读取并
    修改的行并不锁定。在取得一行后,第二步才读取 BYTE 或 TEXT 数据。在这个漫长的步骤中,
    其它程序可能删除该行,并提交删除,blobspace 也可能被重新使用。要判断是否出现了这
    种情况,程序应停止处理 BYTE 或 TEXT 的值并重新读取该行。如果程序不能读取该行中的
    non-blob 值,那么该行已被删除。如果该行还可以被读取,说明 blobspace 已被损坏。
    -165 ISAM 错误: Blob 字段不存在。
    这个内部错误不应出现。数据库服务器已为一个未被定义为 BYTE 或 TEXT 的表字段调用了
    blob 管理器的 isbcreate 函数。如果错误重复出现,请记录下所有的环境并与 Informix 技
    术支持部联系。
    -166 ISAM 错误:BlobSpace 满。
    这个操作试图插入或修改一个 BYTE 或 TEXT 字段,但是在存储字段的 blobspace 中没有足够
    的空间。滚回当前事务并结束应用程序。请与 OnLine 管理员联系,要求给这个 blobspace
    增加一个大块的磁盘空间。
    在 BYTE 和 TEXT 值被删除或替换时,它们在 blobspace 中所占用的页只有在该事务出现的逻
    辑日志被释放后才能重新被使用。一个逻辑日志在它已被备份到磁带上并且在该日志中的所
    有事务都被关闭后才能被释放。
    -167 ISAM 错误: BlobPage 大小不是 PAGESIZE 的倍数。
    OnLine 管理员可以看到这个错误。在定义一个 blobspace 时,你必须指定页的大小,它必须
    是系统页大小的整数倍。系统页大小是在 OnLine 第一次初始化时在参数屏幕中设置的。
    -168 ISAM 错误: 归档阻塞了分配 BlobPage。
    在生成一个联机档案的时候,从 blobspace 中分配磁盘页的操作被冻结。在归档开始时,包
    含数据的 blobpage 在它们可以被写入档案磁带前不会被释放或被新的 blobpage 覆盖。一旦
    一个 blobspace 大块中的所有使用过的 blobpage 都已被归档,在该大块中分配 blobpage 的
    工作就可以重新开始。在归档时,正常的行数据可以继续被改变,因为被改变的 dbspace 页
    可以在任何时候被写入,或是重写到磁带上。
    -169 ISAM 错误: 在增加大块的操作被记录到日志中之前,不能从大块中分配 BLOB 页。
    通过增加一个新的大块来扩展一个 blobspace 时,在日志记录了这个增加大块的操作之前,
    不能分配页。如果不强行制定这个规则,在恢复中就可能出现的某些异常情况。不必等到日
    志文件已满,你就可以通过运行带有-l 选项的 tbmode 或 onmode 实用工具来强制一个开关指
    向下一个日志文件。
    -170 ISAM 错误:不合法地使用 blobspace。
    你试图给 blobspace 增加一个日志。你只能给 dbspace 增加日志。
    -171 ISAM 错误:发现 ISAM 文件格式改变。
    一个使用特定锁定方法或索引结点大小的程序试图存取一个使用另外的锁定方法或索引结点
    大小建立的 ISAM 文件。
    如果你正在从使用不同索引结点大小的平台上移植文件,你必须对所有 ISAM 文件(.dat
    和.idx)运行带有-s 选项的实用工具 bcheck 或 secheck 来重新设置索引结点大小。
    对 INFORMIX-SE,如果你在使用不同锁定方法的平台之间移植应用程序的话,你必须在你存
    取 ISAM 文件时设置环境变量 RESETLOCK 以转换它们。如果时间允许,你可以通过在给定的
    数据库中运行 UPDATE STATISTICS,这将使你能够存取该数据库的所有文件。
    对 C-ISAM 应用程序,如果你在使用不同锁定方法的平台之间移植应用程序的话,你必须在你
    存取 C-ISAM 文件时设置环境变量 RESETLOCK 以转换它们。
    -172 ISAM 错误: 非期望的内部错误。
    你遇到了一个未预料到的内部事件。咨询 online.log,看看 OnLine 的诊断是否保留了有关
    这一事件的更多信息。如果错误重复出现,请参考 Informix-OnLine“管理员指南附录 B "
    的“陷井错误 ”以得到进一步诊断。请就诊断信息与 Informix 技术支持部联系。
    -173 ISAM 错误: 在逻辑日志备份时发生了错误。
    这个一般性信息表明逻辑日志备份失败。SQL API 也包含了与这个错误有关的有用的错误文
    本。
    -174 ISAM 错误: 在档案备份时发生了错误。
    这个一般性信息表明档案备份失败。SQL API 也包含了与这个错误有关的有用的错误文本。
    -175 ISAM 错误:在物理恢复期间发生了错误。
    这个一般性信息表明物理恢复失败。SQL API 也包含了与这个错误有关的有用的错误文本。
    -176 ISAM 错误:在逻辑恢复期间发生了错误。
    这个一般性信息表明逻辑恢复失败。SQL API 也包含了与这个错误有关的有用的错误文本。
    -178 ISAM 错误: 数据库是锁定的;对日志模式的改变未完成。
    提出一个改变数据库日志状态的请求。在对数据库使用的所有 dbspace 和 blobspace 做了 0
    级归档操作之前,对数据库的存取操作被阻塞。
    -179 ISAM 错误: 没有可用的磁盘空间用于排序。
    在进行排序时,OnLine 没有找到足够的连续可用的磁盘空间来建立所需要的临时文件。你可
    能是因为磁盘空间不足,在再次运行程序前应提供较多的可供使用的磁盘空间。你可能是在
    DBSPACETEMP 中指定临时 dbspace 或在 PSORT_DBTEMP 中指定目录名时犯了错误。检查你在
    DBSPACETEMP 中指定临时空间名时的拼写。如果你指定了多重的临时 dbspace,检查你是否使
    用了冒号(:)或是逗号(,)作为分隔符。
    -181 ISAM 错误: 没有光盘子系统连接。
    目前没有光盘子系统。这通常意味着你在 INFORMIX-OnLine 动态服务器上请求了一个光盘操
    作,但是 INFORMIX-OnLine 动态服务器正在没有 INFORMIX-OnLine/Optical 配置的情况下工
    作。
    -182 ISAM 错误: 重复的光盘 BLOBSpace 名。
    已有一个 blobspace 用相同的名字被定义为一个光盘族名。
    -190 ISAM 错误: 事务表溢出。
    在事务表中不再有可供使用的插槽。要查看该表,运行带-x 选项的 onstat。
    -191 ISAM 错误: 没有此大块。
    指定要取消的大块不存在。
    -192 ISAM 错误: 不能取消第一个大块。
    dbsapce 或 blobspace 的第一个大块是永远不能作为取消对象的,选择另一个大块。
    -193 ISAM 错误: 大块忙。
    逻辑恢复不能前滚一个“大块增加”操作,因为该大块已存在。当从 dbspace 或 blobspace
    中取消了该大块,没有进行 0 级备份操作就在另一个 dbspace 或 blobspace 中重新使用该大
    块时,就会产生这个错误。
    -194 ISAM 错误: 大块不空。
    一个大块不空因此不能被取消。
    -196 ISAM 错误: 在临时的 dbspace 中不允许的操作。
    在临时的 dbspace 中执行的一个操作要求使用临时 dbspace 不提供的功能(很可能是日志)。
    使用一个非临时 dbspace 来执行这一操作。
    -197 ISAM 错误:新近附加的分区;不能对写或日志打开。
    如果这个内部错误重复出现,请记录下所有情况,并与 Informix 技术支持部联系。
    -198 不能变更表。在进程中表有太多现场变更。
    Informix 将未完成的现场 ALTER TABLE 要求数限制在 255。在第 1 个现场表变更完成之前
    就要求第 256 个现场表变更。完成是指第 1 个现场表变更中表的所有行已在物理上变更。
    为了从这个错误恢复过来,你必须采取以下步骤之一:
  • 等到第 1 个现场表变更完成,并发出另一个现场 ALTER TABLE 语句。
  • 改变 ALTER TABLE 语句的格式以要求一个不把字段增加到表末的变更。 这样一个
    语句将使用老算法而不是现场变更算法。
  • 执行表中每个行的更新以强制完成未完成的变更。因为在更新行时只按最近方式修
    改,所以,在物理上强制完成现场变更就是更新表中每一行。为了得到这个结果使用哑更新,
    其中表的每个字段都设置成其自身值。哑更新强制行在进程中按最近方式更新而不实际改变
    字段值。行总是按最近方式更新,所以遍历一次表更新所有行将完成所有未完成的变更。
    -199 Smart Disk 错误。
    Smart Disk 系统发生了错误。查看伴随的信息以获得更多信息。
    -200 标识符太长。
    SQL 语句中的标识符的长度必须小于或等于 18 个字符。检查语句中的标识符是否超长,是否
    没有标点错(例如一个遗漏的空格或逗号),不要使两个名字连成了一个。
    -201 发生了一个语法错误。
    这个通用错误信息指出 SQL 语句形式的错误。检查是否有遗漏的或多余的标点符号(例如,遗
    漏的或多余的逗号,在子查询的附近遗漏了括号等等),关键字拼写错误(例如把 VALUES 写作
    VALEUS),关键字误用(例如在 INSERT 语句中的 SET,子查询中的 INTO),关键字次序错(例如
    把"NOT value IS"写作"value IS NOT"的情况),或是使用保留字作为标识符。
    提供"完全遵循 NIST "的数据库服务器不保留任何字;在这类数据库服务器下工作的查询在
    用于 Informix 数据库服务器较早版本时可能会失败并返回错误 -201。
    -202 在语句中发现一个不合法的字符。
    这个语句中嵌入了不能被解释为 SQL 语句的一部分的字符。如果程序构造了该语句,这个字
    符可能是一个不可打印的控制字符。确保语句中仅含有可打印的 ASCII 字符并重新执行之。
    -203 在语句中发现一个不合法的整数。
    在期待出现一个整型值的地方出现了一个不可接受的数值常数。检查该语句,寻找那些包含
    小数点或字母 e ,或是大于 2,147,483,647(231-1),但应是整型的数字。
    -204 在语句中发现不合法的浮点数。
    一个所含标点与浮点数类似的数值常数(有一个小数点和/或一个以 e 打头的指数)是不可接
    受的。可能是指数大于可处理的值。
    -205 如果视图有基于多个表的分组、聚集,不能使用 ROWID。
    关键字 ROWID 代表仅存在于简单表中的一个虚拟字段。这个信息引用了一个表的 ROWID,但
    该表是由两个或两个以上的表通过含有聚集函数,分组或联结的选定操作所构成的视图。这
    类查询结果没有 ROWID 字段。因此该视图尽管表现得象一个表,也同样不含有 ROWID。要在
    查询中使用 ROWID,你必须对构成视图的表进行查询。
    -206 指定的表<表名>不在数据库中。
    检查语句中的表名。如果它们的拼写与你所希望的相同,检查你是否正在使用正确的数据库。
    如果是这样的话,该数据库一定已被改变过了。可能是该表已被重新命名或被取消了。你可
    以通过查询 systables 来找出数据库中的所有表的名字。
    -207 不能更新声明在多个表上的游标。
    在这个语句中所使用的游标已说明 FOR UPDATE,但有一个 SELECT 语句,它会合并二个或更
    多的表格。这个动作是不受支持的;数据库不知道如何分配新值到多重表格中。如果你用游
    标来说明 SELECT 语句,就必须修改它本身或是 FOR UPDATE 子句。如果程序建立了 SELECT
    语句,并且将它与游标动态地相关联,则程序应告知用户不得在此应用程序中使用多重表格
    SELECT 语句。(这条信息仅出现在 4.0 版或更早的版本)。
    -207 不能说明一个 SELECT INTO 语句 FOR UPDATE。
    当说明一个游标时,你不能同时使用 INTO 和 FOR UPDATE 子句。为了使用这个游标来修改选
    定的行,省略INTO 子句。或者在FETCH语句中使用 INTO 子句(或是在 4GL 中的 FOREACH语句)。
    -208 在查询处理中分配内存失败。
    数据库服务器需要分配数据空间内存以处理查询,但不能得到内存。这个错误可能反映了硬
    件上的限制,或是操作系统配置上的限制,或是临时的空间短缺。
    在一段延迟后再次执行该查询。如果仍然失败,向你的系统管理员咨询。如果可能的话,修
    订你的查询,联结较少的表或是对较少的字段排序或分组,或是使用两个或多个语句来完成
    查询。在 DOS 系统中,退出到操作系统命令行,释放一些磁盘空间,或是减少你的程序的复
    杂性,并重新提交你的程序。
    在 5.01 后的版本中,只有这条错误信息通知你数据库服务器不能分配内存。
    -209 不兼容的数据库格式。
    一个过时版本的数据库软件建立了这个数据库。转换这个数据库才能被当前的软件处理。使
    用 dbupdate 实用工具。在使用数据之前你必须运行它(从 Version4.0 开始这条信息已不存
    在)。
    -210 显式的路径名太长。
    这个语句包含的一个文件路径名超过了 64 个字符的最大长度。检查该语句以确定路径名是否
    确实太长;也可能是一个标点错误使得语句的其它部分也被包含进了路径名里。如果不是这
    样,请重新放置文件或者用较短的路径名重新命名某些目录名。
    -211 不能读取系统目录<目录表>。
    数据库服务器在处理大多数语句时参照系统目录表。当不能读取这些重要的表时就产生了严
    重的错误。检查伴随的 ISAM 错误代码以获得更多的信息。错误的影响取决于正在执行的语句
    和特定的表,如下所示。
  • CREATE TABLE 语句,systabauth 不能读取;该表可以被建立,但不能象正常情况一
    样授权给 PUBLIC。
  • DROP TABLE 语句,systables 不能读取;不做任何动作。
  • DROP TABLE 语句,sysviews 不能读取;该表将被取消,但任何依赖于该表的视图将
    不能被自动取消。
  • DROP VIEW 语句,sysviews 不能读取;不做任何动作。
  • DROP INDEX 语句,systables 或 sysindexs 不能读取;不做任何动作。
  • DROP SYNONYM 语句,systables 或 syssynonyms 不能读取;不做任何动作。
  • DROP DATABASE 语句,systables 不能读取;不做任何动作。
  • START DATABASE 语句,systables 不能读取;不做任何动作。
  • DATABASE 语句,systables 或 sysusers 不能读取;该数据库不被选中
    (没有当前数据库,后来的操作见错误-349)。
    其它语句可能在错误被侦测出来之前已经部分完成了。滚回当前的事务并调查错误的原因。
    使用实用工具bcheck或secheck(INFORMIX-OnLine的tbcheck或INFORMIX-OnLine动态服务
    器的 oncheck)来检查或修复索引。如有必要,从备份和逻辑日志磁带上恢复数据库。
    -212 不能增加索引。
    这个语句试图增加一个索引,可能是显式地通过 CREATE INDEX,或是隐含地作为对多个无索
    引表的 SELECT 的处理的一部分。不管在哪种情况下,某些错误阻止了索引的建立。请检查伴
    随的 ISAM 错误代码以获得更多的信息。产生这个问题的一个常见的原因是磁盘空间不足。
    -213 语句被用户中断。
    数据库服务器接收到用户发出的一个中断信号,可能是由于用户按下了中断键(通常是
    Delete 键或 Control-C)。语句提前结束。程序应滚回当前的事务并友好地结束。如果该语句
    可能修改表,交互式用户应该执行 ROLLBACK WORK 以取消任何不完全的修改。
    -214 不能给表<表名>删除文件。
    数据库服务器不能完全地删除该表。检查伴随的 ISAM 错误代码以获得更多的信息。操作系统
    的文件访问权限问题,只读文件和硬件错误可能引发这个错误。
    -215 不能为表<表名>打开文件。
    数据库服务器不能打开操作系统文件或存储该表处的文件。请检查伴随的 ISAM 错误代码以获
    得更多的信息。操作系统的文件访问权限问题,内存不足和硬件错误可能引发这个错误。
    -216 不能删除文件的 ISAM 索引。
    数据库服务器不能完全地删除一个索引。检查伴随的 ISAM 错误代码以获得更多的信息。操作
    系统的文件访问权限问题,只读文件和硬件错误可能引发这个错误。
    -217 在查询中未在任何表内发现字段<字段名>。
    该字段名出现在这个查询的选定列表或是 WHERE 子句中,但在表中未定义。检查选定的表的
    名字是否拼写得与你所预期的相同。如果是这样的话,或是你正在使用不正确的数据库,或
    是该数据库已被改变;可能是某个字段已被改名或清除。为了列出表内全部字段,见对错误
    -328 的讨论。
    -218 同义字<同义字名>未找到。
    同义字在这个数据库中未被定义。检查同义字名是否拼写得如你所预期的。检查你正在使用
    你所希望用的数据库。如果是这样的话,该同义字可能被取消了。该同义字可能是在它所在
    的表被取消时被自动取消了。为了显示所有被定义的同义字,查询 systables,如下所示:
    SELECT tabname FROM systables WHERE tabtype = s' -219 通配符匹配不能用于非字符类型。 这个语句的 WHERE 子句中包含了对一非字符字段的测试,该测试使用了关键字 LIKE 或 MATCHES,并使用了代表多重字符的特殊字符,(例如在 MATCHES 中使用星号和问号,或是在 LIKE 中使用百分号和下划线)。只对数据库中被定义为 CHAR 或 VARCHAR 的字段才使用这类测 试。不提供自动的数据转换。检查 WHERE 子句中的字段正是你所希望的。如果是这样的话, 表的定义可能被修改过了。 -220 查询中没有 FROM 子句。 每一个SELECT语句必须包括一个FROM子句来为表或将被查询的表命名。检查FROM是否拼错, 或有额外的分号意外插在语句尾端。即使只选择一个常数,或选择与任何表格无关的函数值 (例如 USER 或 TODAY 等),你也必须为表命名。你可以从系统目录选择一已知的行,例如: SELECT 'today is', TODAY,'and I am', USER FORM systables WHERE tabid=100 数据库中,第一个用户定义的表格的 tabid 值总是等於 100,因此,如果有表格已被定义, 这个查询总会回复一行。(在 4.1 版及以后版本,若没 FROM 子句,会发出-201 语法错误。) -220 不能开始保存点。 从版本 4.1 开始可以侦测到的内部错误。如果该错误再次出现,请记录下所有的环境并与 Informix 技术支持部联系。 -221 不能建立新表<表名>的临时文件。 数据库服务器不能建立一个临时磁盘文件。该文件应在环境变量 DBTEMP 指定的目录下被创 建。如果 DBTEMP 没有定义,在缺省情况下,数据库服务器在根目录下搜索名为 tmp 的子目录, 并在该目录下建立临时磁盘文件。检查伴随的 ISAM 错误代码,并查看操作系统信息以获得更 多的信息。可能是你的帐户没有在该目录下写的许可,也可能是磁盘已满。从版本 5.01 开始, INFORMIX-SE 数据库服务器就已使用环境变量 DBTEMP,但 INFORMIX-Online 动态服务器没有 使用。 -222 不能写新表<表名>的临时文件。 数据库服务器建立了一个临时磁盘文件,但当试图写该文件时发生了一个错误。请检查伴随 的 ISAM 错误代码,并查看操作系统信息以获得更多的信息。在 UNIX 系统中,该文件应在环 境变量 DBTEMP 所指定的目录下被建立(缺省值为 /tmp);在 DOS 系统中,该文件应位于当前 目录下。可能是磁盘已满,或是发生了硬件错误。从版本 5.01 开始,INFORMIX-SE 数据库服 务器就已使用环境变量 DBTEMP,但 INFORMIX-Online 动态服务器没有使用。 -223 在 FROM 子句中重复的表名<表名>。 表名在关键字 FROM 之后的列表中出现两次。检查语句看看你是否想第二次命名其它一些表。 如果你的意图是使表自连接,第二次和以后表的实例必须使用表的别名。下例表明查找有相 同名字的顾客的一种方法: SELECT main.lname, main.customer_num, sub.customer_num FROM customer main, customer sub WHERE main.lname = sub.lname AND main.rowid != sub.rowid 在使用表的别名时(上例中的字 main 和 sub),该表可以两次或多次选择。 -224 不能打开事务日志文件。 数据库服务器不能打开进行事务日志登录的文件。在这个文件修复之前,不能启动任何事务 处理。(在符合 ANSI 标准的数据库中,什么事情也不能做;在其它数据库中,只能做查询。) 对 INFORMIX OnLine 动态服务器,向 OnLine 管理员报告这种问题。对其它数据库,检查伴随 的 ISAM 错误代码,查看操作系统错误信息,它可能给出更多的信息。START DATABASE 语句 指定了到日志文件的路径。如果文件已经删除,可以重新建立它作为一个空文件。如果路径 已经改变,可以发布新的 START DATABASE 语句来重新定义它。 -225 不能为系统目录<表名>创建文件。 数据库服务器(不是 OnLine)试图对系统目录创建表,可能作为 CREATE DATABASE 语句的一 部分。可能存在主机操作系统禁止的问题。更多的信息请检查伴随的 ISAM 错误代码,查看操 作系统错误信息。磁盘空间不足和操作系统文件访问权限的问题可能产生这个问题。 -226 不能为系统目录<表名>创建索引。 数据库服务器(不是 OnLine)试图对系统目录创建表,可能作为 CREATE DATABASE 语句的一 部分。它创建该表但存在主机操作系统禁止它建索引的问题。更多的信息请检查伴随的 ISAM 错误代码,查看操作系统错误信息。磁盘空间不足可能产生这个问题。 -227 禁止对 ROWID 进行 DDL 操作。 这条语句试图改变名为 ROWID 的字段。该字段是每个表的一部分,除被分段存储的表外。你 可以用 SELECT 语句中选择它并在 WHERE 子句中比较,但不可以用 DDL 语句更改它。 -228 禁止对 ROWID 进行 UPDATE 或 INSERT。 这条语句命名字段列表中的字段 ROWID 用于插入或修改。rowid 是不能修改的固有特性。你 可以在 SELECT 语句中选择它并在 WHERE 子句中比较,但不可以语句修改它的内容。 -229 不能打开或创建临时文件。 数据库服务器不能创建一个临时磁盘文件。应该在由 DBTEMP 环境变量指定的目录(或在 UNIX 系统上由缺省指定的/tmp)中创建临时文件。检查伴随的 ISAM 错误代码,查看操作系统错误 信息,它可能给出更多的信息。可能你的帐户已经没有在那个目录中写的权限,可能磁盘已 满。从版本 5.01 开始,INFORMIX-SE 数据库服务器就已使用环境变量 DBTEMP,但 INFORMIX-Online 动态服务器没有使用。 -230 不能读取临时文件。 数据库服务器在由 DBTEMP 环境变量指定的目录(或在 UNIX 系统上由缺省指定的/tmp)中创 建临时文件,但是在试图把文件读回时发生错误。检查伴随的 ISAM 错误代码,查看操作系统 错误信息,它可能给出更多的信息。可能出现了硬件故障,可能另一个用户意外地删去临时 文件。从版本 5.01 开始,INFORMIX-SE 数据库服务器就已使用环境变量 DBTEMP,但 INFORMIX-Online 动态服务器没有使用。 -231 不能用关于表达式的 distinct 执行聚集函数。 这条语句在聚集函数内选择 DISTINCT (表达式)。这个动作是不支持的。选择 DISTINCT 值和 其它字段进入一个临时表,然后从那个表选择 ALL 运用聚集函数。 -232 SERIAL 字段<字段名>不能修改。 你不能用 UPDATE 语句中的数据类型 SERIAL 更改字段内容,即使修改的值是零。(在使用 INSERT 语句时可以为序号字段指定零值;数据库服务器不理睬零而插入一个生成的数。)修 正语句以便只修改非序号字段。 -233 不能读取被其它用户锁定的记录。 其它用户已经锁定由这条语句选出的行。如果你交互地执行该语句,可以做两件事之一。 可 以等待一会儿再输入这条语句,或执行语句 SET LOCK MODE TO WAIT,之后你将很难再看见 这条信息。 在一个程序中,你应该滚回当前事务处理,等待随机的间隔,再运行该事务。如果你用 WAIT 的 LOCK MODE 运行事务,就能减少这种错误的频率,但它在某些情况下仍会出现,例如当发 现死锁时。该错误通常伴随一个 ISAM 错误代码,-107, -113, -134, -143, -144 或-154, 程序可以对每种错误做出不同响应。 -234 不能插入虚拟字段<字段名>。 这条 INSERT 语句指向一个视图,而不是一个真正的表,在视图中定义的一个字段实际上是一 个表达式的值。不允许对有这种字段的视图进行插入和修改。对视图所依赖的真正的表运用 INSERT。 -235 字符字段的宽度太大。 这条语句对宽度大于 32,767 的字段或宽度超过 255 的 VARCHAR 字段指定了 CHAR 数据类型。 如果你需要这种大小的字段,就使用 TEXT 数据类型,它允许无限长。否则,检查语句是否印 刷错误。 -236 在 INSERT 中字段数与 VALUES 的数目不匹配。 在 INSERT 语句中命名或采用的每个字段必须分别有值表达式。如果语句没有列出特定的字 段,检查表的定义,或字段的数量及其数据类型。也检查 VALUES 子句中表达式的列表是否没 有多余的或遗漏的逗点,它们可能会导致错误的赋值数量。要特别小心长字符串和带括号的 表达式。 -237 不能进行开始工作。 数据库服务器不能执行 BEGIN WORK 语句。更多的信息请检查伴随的 ISAM 错误代码。在访问 事务日志时可能发生问题。 -238 不能进行提交工作。 数据库服务器不能执行 COMMIT WORK 语句。更多的信息请检查伴随的 ISAM 错误代码。在访问 事务日志时可能发生问题。 -239 不能插入新行 — 在 UNIQUE INDEX 字段中有重复值。 正在被插入(或修改具有新的主键)的行在限制必须有唯一值的字段中,包含已经存在的某 些行的重复值。该行不能被插入。滚回当前事务处理,没有任何重复行后再执行它。 -240 不能删除行。 数据库服务器不能完成 DELETE 语句的执行。滚回当前的事务处理;然后,检查伴随的 ISAM 错误代码,得到更多的信息。 -241 不能进行滚回工作。 数据库服务器不能执行 ROLLBACK WORK 语句。更多的信息请检查伴随的 ISAM 错误代码。在访 问事务日志时可能发生问题。 -242 不能打开数据库表< 表名>。 数据库服务器不能开始读取表。更多的信息请检查伴随的 ISAM 错误代码。问题可能是在文件 权限,硬件错误,或被损坏的系统目录等方面。除非 ISAM 错误代码或操作系统信息指出其它 原因,否则运行 bcheck 或 secheck 实用工具来检验文件的完整性。 -243 不能在表< 表名>内定位。 数据库服务器不能对代表某表的文件内的实际行设置文件位置。更多的信息请检查伴随的 ISAM 错误代码。硬件错误可能发生,或文件可能被损坏(截断)。除非 ISAM 错误代码或操作 系统信息指出其它原因,否则运行 bcheck 或 secheck 实用工具来检验文件的完整性。 -244 不能按物理顺序读来取得下一行。 数据库服务器不能读取包含一个表的某行的磁盘页。更多的信息请检查伴随的 ISAM 错误代 码。可能硬件有问题,或表文件或索引文件可能被损坏。除非 ISAM 错误代码或操作系统信息 指出其它原因,否则运行 bcheck 或 secheck 实用工具来检验文件的完整性。 -245 不能通过索引在文件内定位。 数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的 ISAM 错误代码。表 文件或索引文件可能被损坏。除非 ISAM 错误代码或操作系统信息指出其它原因,否则运行 bcheck 或 secheck 实用工具来检验文件的完整性。 -246 不能按带索引的读得到下一行。 数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的 ISAM 错误代码。表 文件或索引文件可能被损坏。除非 ISAM 错误代码或操作系统信息指出其它原因,否则运行 bcheck 或 secheck 实用工具来检验文件的完整性。 -247 前滚数据库失败。 数据库服务器不能提供审计跟踪来向前滚动数据库。更多的信息请检查伴随的 ISAM 错误代 码。 -248 不能提交保存点(savepoint)。 在版本 4.1 以上的产品中能侦测到这个内部错误。如果错误重复发生,请记录详细情况并与 Informix 技术支持部联系。 -249 虚拟字段必须有显式名。 在选择 INTO TEMP 时你正在创建一个表。在用任何表时,临时表的字段必须都有名称。当你 选择单个字段时,临时表中的该字段接收相同的名字。当你选择表达式时必须提供使用字段 别名的名称,如下例所示: SELECT order_num, ship_date, ship_date + 14 expected FROM orders INTO TEMP ord_dates 临时表 ord_dates 有三个字段,分别命名为 order_num,ship_date 和 expected。同一原则 亦用于视图:每个字段必须有一个名字。当你从表中选出视图的每个字段时,根据缺省,视 图可以有相同的字段名。当你从表达式派生视图的任何字段时,所有字段必须给出显式名称, 如下例所示: CREATE VIEW ord_dates(order_num, ship_date, expected) AS SELECT order_num, ship_date, ship_date + 14 FROM orders -250 不能从文件读取记录用于修改。 数据库服务器在修改之前不能得到某表的数据行。更多的信息请检查伴随的 ISAM 错误代码。 其它用户可能已经锁定该行或表,或者存在更严重的问题。 -251 ORDER BY 或 GROUP BY 的字段号太大。 ORDER BY 或 GROUP BY 子句使用字段顺序号,至少其中之一大于选择列表的字段数目。检查 你输入的子句是否正确,选择列表是否没有丢失项目。 -252 不能得到表的系统信息。 数据库服务器不能从一个或多个系统目录表读。更多的信息请检查伴随的 ISAM 错误代码。除 非 ISAM 错误代码或操作系统信息指出其它原因,运行 bcheck 或 secheck 实用程序,检验文 件的完整性。 -253 标识符太长 — 最大长度是 18。 语句中的一个名字超过最大长度。检查名字的长度,并检查是否有印刷错误导致两个名称一 起运行。 -254 给出太多或太少宿主变量。 你在这条语句的 INTO 子句中命名的宿主变量的数量与写入该语句的"?"位置标识符的数目不 匹配。定位该语句的正文(在 PREPARE 或 DECLARE 语句中),并检验位置标识符的数目。然后 检查在 INTO 子句中的列表,看看哪个项目不正确。 -255 不在事务中。 数据库服务器不执行该 COMMIT WORK 或 ROLLBACK WORK 语句,因为没有执行 BEGIN WORK 来启 动一个事务。由于没有事务启动,你就不能够结束它。对数据库所作的任何修改都固定不变; 它们不能滚回但不需要提交。检查 SQL 语句的顺序,看看事务应该在什么地方开始。 -256 事务不能用。 不能在这个数据库中开始一个事务,因为它没有事务日志。为了支持事务,必须启动一个事 务日志。使用 INFORMIX-OnLine 动态服务器时,OnLine 管理员使用 DB-Monitor 或 ON-Monitor 的 Logical Logs 菜单的 Databases 屏幕来开始一个事务日志。而使用其它数据库服务器时, 则用 START DATABASE 语句。 -257 关于最大语句数的系统限制超过 — 最大是<计数值>。 数据库服务器只能为每个用户处理固定数量的准备 SQL 语句。这种限制包括用 PREPARE 准备 的语句和用 DECLARE 说明的游标。这个语句(PREPARE, DECLARE 或 PREPARE IMMEDIATE)超过 那个限制。该语句不被执行。FREE 语句释放准备语句。检查程序逻辑并修改它,以便在不需 要时释放准备语句。 5.0 版以后的数据库服务器没有这种限制。然而,必须与早先版本兼容的程序仍应在这个限 制之下使用 FREE。 -258 系统错 — sqlexec 进程收到无效的语句标识符。 当前的语句(EXECUTE 或 OPEN)引用了一个准备的 SQL 语句或者不存在的游标。产生的原 因可能是该语句标识符无效,或者该语句是准备好的、但被 FREE 语句释放了。检查程序的 逻辑,确保该语句中命名的语句或游标是有效的、是正确地准备或声明好的、而且没有在这 之前被释放掉。 如果程序成功地执行了一句准备的 DATABASE 语句,数据库服务器将自动释放这句准备的语 句。因此,如果释放了准备的 DATABASE 语句,会在 FREE 语句上收到这条错误信息。在这 种情况下,可以不理睬它。 -259 游标没打开。 当前语句使用了一个游标但它没有被打开。检查程序逻辑看它在此之前为何不能执行 OPEN 语句。结束事务的语句(COMMIT WORK 和 ROLLBACK WORK)也关闭游标, 除非游标被说明为 WITH HOLD。 -260 不能执行已 PREPARE 的 SELECT 语句 — 必须使用游标。 虽然可以准备一条 SELECT 语句,但是能执行 SELECT 语句的唯一办法是把它的语句 id 与一个 游标联系(使用 DECLARE 语句)然后打开游标。 一个重要的例外是 SELECTINTO TEMP 语句,你可以执行它,却不能借助游标使用它。 你可以用 EXECUTE 语句执行其它准备语句。如果你在写程序时已经知道这条 SELECT 语句的内 容,并且确知它只返回单一数据行,就可以把它嵌入程序。如果它必须在程序运行时动态地 准备,那么修改程序以通过游标来执行它。 -261 无法建立表<表名>的文件。 通常,数据库服务器无法建立描述这个表的文件。检查附带的 ISAM 错误代码以获得更多信息。 此文件将用 INFORMIX-SE 建立在数据库 dbs 目录下(除非你已提供了 IN<路径名>语句)。它 的文件名将以<表名>的前几个字母开头,后面是三位数字和后缀.dat 或.idx。对于 INFORMIX-SE,问题可能出在文件权限方面,或可能是磁盘满了。 INFORMIX-OnLine 动态服务器允许分段存储,这会引起 dbspaces 的扩展使用。你需要检查为 该表指定的 dbspace。如果没有指定的 dbspace,那么建立数据库的 dbspace 将被使用。为建 立数据库,如果没有指定的 dbspace,那么使用 rootdbs。对于 OnLine,指定的 dbspace 可 能不存在,或磁盘满了。 -262 没有当前游标。 这个内部错误不应该发生。记录使用中的网络软件的所有细节以及本台或其它主机系统中的 数据库服务器版本号。如果重复发生错误,请记录详细情况并与 Informix 技术支持部联系。 -263 不能锁定行用于 UPDATE。 这条语句失败,可能是命名游标的 FETCH 语句说明了 FOR UPDATE,因为该语句取得的行不能 被锁定。请检查伴随的 ISAM 错误代码(通常是错误 -107, -113, -134, -143, -144 或-154) 可获得更多的信息。有可能另一程序正在用该行(-107)或表(-113)。可使用 SET LOCK MODE TO WAIT 将消除这些错误,但检测死锁 (-143 或-154)和锁定的表满(-134) 仍会发生。 -264 不能写入临时文件。 数据库服务器在由 DBTEMP 环境变量指定的目录(或在 UNIX 系统上由缺省指定的/tmp)中创 建临时文件,但在试图向文件写入数据时会发生错误。检查伴随的 ISAM 错误代码,查看操作 系统错误信息,它可能给出更多的信息。可能已经有硬件故障,也可能磁盘已满。从版本 5.01 开始,INFORMIX-SE 数据库服务器使用 DBTEMP 环境变量,但 INFORMIX OnLine 动态服务器不 使用。 -265 装入或插入游标必须在一个事务内运行。 试图打开一个insert游标。这个数据库有一个事务日志。在这样的数据库中,在打开用INSERT 语句或用 FOR UPDATE 子句说明的游标之前,必须执行 BEGIN WORK 语句。修正程序的逻辑, 以便在打开游标之前程序开始一个事务。 在没有事务日志的数据库中也可确保程序工作,把程序按如下办法修改。紧接在执行 DATABASE 语句之后,把 SQLAWARN 警告标志数组的第二单元的内容保存在 SQL 通信区中。 如果数据库没有使用事务,该单元将是空,而如使用事务,将包含字母 W。在每一事务逻辑 上开始和结束点,测试保存的值。如果含有 W,执行事务语句开始或结束一个事务。 -266 UPDATE/DELETE 游标没有当前行。 当前语句使用 WHERE CURRENT OF <游标名>子句,但该游标还没有与当前行发生联系。要么 从它被打开开始还没有执行 FETCH 语句,要么是最近的 fetch 发生错误,这样就没有行返回。 修正程序的逻辑,以便在执行这条语句之前总能成功地取得数据行。 -267 游标已经先释放,不能用。 FREE 语句已释放在这条语句中命名的游标所连接的资源。在能够使游标之前,必须再次准备 与它相关联的 SQL 语句。如果游标用 FOR 语句说明,它的 DECLARE 必须被重新执行。如果它 用 FOR 一个语句的 id 说明,必须重新执行 PREPARE 语句。 -268 唯一限制<限制名>违法。 在执行这条语句期间,重复的值引入受唯一性限制保护的字段。不允许有重复值的行进入表 中(不能插入或修改)。对于 OnLine 数据库服务器,在发现重复值之前由这条语句做的任何 改动已被滚回。(然而,在事务中先于语句的影响,如果有的话,仍然起作用,必须明确地滚 回或提交。) -269 不能增加不接收 null 的字段<字段名>。 这条语句申请有 NOT NULL 限制的新字段,然而,当某字段加到已有的表中时,null 值正好 要被装入已存在的行中。必须定义包括这个字段的新表,然后从旧表把数据 INSERT 这个表以 便为这个字段提供合适的非 null 值。 -270 不能放在临时文件内。 数据库服务器在由 DBTEMP 环境变量指定的目录(或在 UNIX 系统上缺省指定的/tmp )中创建 文件,要在文件中定位(寻找)时碰到一个错误。检查伴随的 ISAM 错误代码,查看操作系统 错误信息以便获得更多的信息。可能是硬件故障,或另一个用户已经截断文件。从版本 5.01 开始,INFORMIX-SE 数据库服务器使用 DBTEMP 环境变量,INFORMIX OnLine 动态服务器不使 用。 -271 不能把新行插入这个表。 这个问题可能有许多原因,包括锁定的表或满磁盘。更多的信息请查看伴随的 ISAM 错误代码。 -272 没有 SELECT 权限。 创建这个表的人没有授予 Select 权限给你的帐户名或 public。必须在表的所有者或 DBA 授 予这个权限后,你才能从该表选择数据。 -273 没有 UPDATE 权限。 创建这个表的人没有授予 Update 权限给你的帐户名或 public。必须在表的所有者或 DBA 授 予这个权限后,你才能修改该表的数据行。 -274 没有 DELETE 权限。 创建这个表的人没有授予 Delete 权限给你的帐户名或 public。必须在表的所有者或 DBA 授 予这个权限后,你才能删除该表的数据行。 -275 没有 INSERT 权限。 创建这个表的人没有授予 Insert 权限给你的帐户名或 public。必须在表的所有者或 DBA 授 予这个权限后,你才能向该表插入数据行。 -276 没有发现游标。 在这个语句中命名的游标没有在当前会话期中说明。当前会话期从一个 DATABASE 语句到下一 个 DATABASE 或 CLOSE DATABASE 语句之间运行。检查程序的逻辑保证它在 DATABASE 语句之后 执行这个游标的 DECLARE 语句。 版本 5.01 以后的数据库服务器不使用这条错误信息。 -277 UPDATE 表<表名>和游标的表不相同。 UPDATE WHERE CURRENT OF<游标名>语句参考的表不同于用游标说明的 SELECT 语句参考的表。 请检查程序逻辑确保这一点:在通过游标进行修改时,它只修改游标正在读的表。 -278 ORDER BY 的字段太多。 此 SELECT 语句要求的字段超过数据库服务器所能支持的。这个限制视所用的数据库服务器而 定,但处理分类上都最多只到 8 个字段。更新这个语句以便要求较少的字段。 4.0 及以後的版本对 ORDER BY 的字段数没有特别的限制。当执行排序操作时复杂的排序工作 会使数据库服务器用尽内存或磁盘空间。 -278 不能滚回保存点。 4.1 及以后版本的产品能检测这一内部错误。如果反复发生错误,请记录详细情况并与 Informix 技术支持部联系。 -279 不能授予或取消表或视图的数据库权限。 这条语句命名一个或多个数据库级权限 (CONNECT, RESOURCE 和 DBA),但是它也使用 ON < 表名>子句。没有描述具体表的语句(不包含 ON 子句)必须授予或取消数据库级的权限。表 级权限如 INSERT 需要 ON 子句。这两种不能混合在同一语句中。 -280 带引号的字符串超过 256 个字节。 这个语句中有字符文字超过允许的最大值。审查该语句,检查其中所有带引号字符串的长度 和标点。可能遗漏两个引号,使两个短字符串成为一个长串。必须修改语句使用更短一些的 字符串。 -281 不能把索引加到临时表中。 检查伴随的 ISAM 错误代码,找出具体问题,然后查看操作系统错误信息以求得到更多信息。 可能是磁盘满了。 -282 发现一个引号没有相匹配的引号。 审查当前语句,检查带引号的所有字符串的标点。为了将引号放在文字字符串中,用一些单 撇号作为字符串的分隔符。如下例所示: SELECT ' " ', fname, ' " '," ' ' ", lname, " ' ' " FROM customer -283 发现没有终结的注释("{"和"}"不匹配)。 审查当前语句并查注释及带引号字符串的标点。可以使用大括号将注释插入 SQL 语句,但大 括号必须成对出现。或者,可以用双连字符附注释于行后。 -284 子查询实际不是返回一行。 用于表达式的子查询在文字值的位置上必须只返回单行和单个字段。在这条语句中,一条子 查询的返回超过一行,数据库服务器不能选择哪个返回值用于表达式。可使子查询总是只返 回一行。使用 WHERE 子句,对有唯一索引的字段测试相等性。或是只选择统计函数。检查子 查询并检查它们只返回一行。 这个错误在使用单一 SELECT 语句来检索多行时也可能发生。必须使用 ECLARE/OPEN/FETCH 语句系列,或 EXECUTE INTO 语句来检索多行。 -285 无效的游标被 sqlexec 接收。 在这条语句中使用的游标没有适当地说明或准备,否则就是 FREE 语句已经释放它。检查程序 逻辑,保证游标已经说明。如果是,并且该 DECLARE 语句参考一个语句 id,检查被参考的语 句已经准备。 -286 主键字段<字段名>的缺省值是 NULL。 作为主键一部分的字段不能有 null 作为它的缺省值。 -287 不能增加序列字段<字段名>到表中。 不能将数据类型 SERIAL 的字段加到存在的表中。这样的字段不能含有 null 值,但当增加一 个字段时,数据库服务器必须把 null 值放入所有存在的行中。可以用三步增加序列字段。首 先用一个 INTEGER 数据类型增加该字段。然后把非 null 的、唯一值放入新字段的每一行中, 更新表。最后,使用 ALTER TABLE MODIFY 改变该字段的数据类型为 SERIAL。 -288 表<表名>未被当前用户锁定。 这条 UNLOCK TABLE 语句命名一个还没有被锁定的表。如果你早些时候锁定该表,那么它已经 被解锁。在事务处理结束或数据库关闭时,表自动解锁。如果另一个用户锁定表,你不能解 开它的锁。 -289 不能以需求的方式锁定表<表名>。 该表已经以排它方式锁定。必须在处理之前等待该表解锁。 -290 游标没有用 FOR UPDATE 子句说明。 这条语句试图用未被说明用于修改的游标来修改。由于为防止程序错误而设计的安全度量和 性能特征的原因,数据库服务器不允许这种操作。为了使用有 UPDATE 或 DELETE 语句的游标, 必须说明它以便修改。检查程序逻辑以确信在这条语句中使用想要用的游标。 在符合 ANSI 标准的数据库中操作时,任何游标可以被用于修改;不需要 FOR UPDATE 子句(会 产生一个警告)。 -291 不能改变表的锁定方式。 当前的 LOCK TABLE 语句不能被执行,因为已经用不同方式(EXCLUSIVE 或 SHARE)锁定同一个 表。为改变锁定方式,在再次锁定之前要对这个表解锁。 -292 隐含的插入字段<字段名>不接收 NULL。 这条 INSTER 语句不对表中的所有字段提供值。至少忽略了一个字段限制不能为 null。因为 数据库服务器必须为每个未提及的字段插入 null 值,它不能执行这种插入。对照表的定义检 查语句。可能表的定义已经改变。 -293 IS [NOT] NULL 的谓词只能被简单字段使用。 对于 null 值的测试可只适用于<字段名>(例如不适用于带下标字符的字段或表达式)。检查 WHERE 子句中关键字的用法。 -294 字段<字段名>必须在 GROUP BY 列表中。 在分组的 SELECT 中,必须在 GROUP BY 子句中列出每个非统计字段,以确保在每一分组行中 每个选定的字段有定义好的值。一个字段或是包含一个统计值,或是包含对那个组来说是唯 一的值。如果选定的字段既不是统计值又不在列表中,在同一组中可能那个字段有两个或多 个值,数据库服务器不能选择要显示哪一个。修正查询以便在该子句中包含该字段名或它的 位置号。 -295 被参考表和参考表必须在相同的数据库中。 参考限制不能跨数据库。换言之,被参考字段和参考字段(或父键和子键)必须在相同数据 库中。 -296 被参考表<表名>没找到。 在参考限制中指定的被参考表不存在。 -297 不能找到对参考表<表名>的唯一限制和主键。 数据库服务器不能把参考的限制放在 sysconstraints 系统目录表中,参考的限制不是在相同 的 ALTER TABLE 语句中作为参考限制创建的。参考的限制不存在。检查是否输入有相应限制 的有效字段名。有效的限制字段说明了一个内部错误。如果错误再次发生,请记录详细情况 并与 Informix 技术支持部联系。 -298 不能用授予选项授予 public 权限。 子句 WITH GRANT OPTION 允许接受者授予他人相同权限的授权。在这种情况下,授权的接受 者是 PUBLIC。如果执行这条语句,每个人将有该权限,而且每个人能授权。该权限禁止这种 操作。或者指定被授予者,或者删除子句 WITH GRANT OPTION。 -299 不能授予本身权限。 这条 GRANT 语句把你的用户 id 作为一个被授予者。如果你能授予该权限,你就已经有该权限。 检查语句,从 TO 子句去掉你的用户名。 -300 有太多的 GROUP BY 字段。 在 GROUP BY 子句中可以列出的字段数是数据库服务器的实现限制。所有数据库服务器至少支 持 8 个字段。检查当前语句,确信 GROUP BY 子句的标点是正确的。如果是你想象的,你就必 须寻找用两步或两步以上做这件事的办法。因为所有非统计的选择字段必须在 GROUP BY 子 句中列出,而列表的长度受限制,就必须只选择区别每组所必须的非统计值。把该组的结果 放入一个临时表,把这个表连接到原来的表以选择其它非统计值。 -301 GROUP BY 字段的总数太大。 数据库服务器限制在 GROUP BY 子句中列出的组合字段的字节总数。所有数据库服务器至少支 持 120 个字节。更多的信息参考错误 -300 的讨论。 -302 对多表视图没有 GRANT 选项或选项非法。 这条 GRANT 语句不能被执行。无权为这个表授予指定的权限,表名是一个别名;或该表是一 个视图,对它不能授予这个选项。为了授予某表任意权限,你必须有这个数据库的 DBA 的权 限,必须是这个表的所有者,或者被授予相同权限 WITH GRANT OPTION。如果符合其中之一, 有问题的表的确是一个不能修改的别名或视图,因此不能用于插入、修改或删除操作。 -303 表达式把字段和统计函数混淆。 这条 SELECT 语句在它的 WHERE 子句中使用统计函数。这种操作是不允许的。WHERE 子句必须 在表被扫描时逐行使用,而统计函数只能在所有行被选出和分组后计算。检查该语句是否这 样做了。如果只打算选择某组记录,可以把这样的测试放在 HAVING 子句中,它适用于已分组 的行。 这条信息的文本有些易使人误解的地方。事实上,你能够在表达式中把字段名和统计函数混 合使用。然而,你只能在选择列表或 HAVING 子句(不是在 WHERE 子句)中做这件事,字段必 须出现在 GROUP BY 子句。 版本 5.01 后的数据库服务器中不使用这条错误信息。 -304 HAVING 只能有统计或 GROUP BY 子句中的字段的表达式。 HAVING 子句用于在分组后选择完成的行。因此它能测试的唯一选择值是能在完成的分组行中 得到的值,名义上是在 GROUP BY 子句中命名的单值字段和统计值。检查 HAVING 子句是否符 合这种规则。如果要在分组进行之前选择具体的行,可以使用 WHERE 子句。 -305 有下标的字段<字段名>不是类型 CHAR, VARCHAR, TEXT ,也不是 BYTES。 只能从所述类型的字段选择子串。检查在这条语句中使用的所有方括号,确信每个方括号遵 循有这些类型之一的字段的命名。如果是这种情况,检验你使用的是你想要的数据库,重复 检查该表的定义。可能表中的一个字段已经改变,使用了不同的类型。 -306 下标超出范围。 这条语句参考一个字符变量的子串。子串的值(在方括号中的两个数)是不正确的。第一个 小于零或大于字段的长度,或者第二个小于第一个。检查语句中使用的所有方括号,找出错 误。可能是改变了某字段的字长,使子串工作时失败。 -307 不合法的下标定义。 这条语句参考一个字符变量的子串。子串的值(在方括号中的两个数)是不正确的。第一个 小于零或大于字段的长度,或者第二个小于第一个。检查语句中使用的所有方括号,找出错 误。可能是改变了某字段的字长,使子串工作时失败。 -308 对于每条 UNION 语句,相应的字段类型必须是一致的。 在 SELECT 语句的 UNION 中产生的所有行必须有相同的格式。因此每个字段应该有相同的数据 类型。在当前语句中,在第二条或接下去的 SELECT 中的某字段和前面的 SELECT 中的同一字 段不一致。检查和比较所有 SELECT 语句。核对选择的东西与前面的 SELECT 语句不相同的语 句的每一个地方。在 UNION 期间不提供自动的数据转换;数据类型在选择时必须相同。如果 不可能,考虑建立临时表并使用一系列 INSERT 语句来与想要的行结合以作补充。在 INSERT 期间提供自动的数据转换,因此这样有差别但兼容的数据类型可以被改成相同类型。 -309 ORDER BY 的字段<字段名> 必须在 SELECT 列表中。 所示的字段出现在这条 SELECT 语句的 ORDER BY 子句中,但它不在选择列表(词 SELECT 之后 的值列表)中。这种操作是不支持的。所有分类键必须以分类的顺序出现在输出行中。修改 语句使之符合这一规则。如果只想对涉及这个字段的表达式排序,不是对字段本身,则可以 在列表中按它的位置号参考表达式。 -310 数据库中已存在表<表名>。 这条语句试图创建所示名字的一个表,但那个名字的表已经存在。在一个数据库中只能存在 一个给定名称的表。(在符合 ANSI 标准的数据库中,表是由创建它的用户的名称限定的,因 此每个用户只能有一个给定名称的表。) 检查那个名称的拼写,如果与你所想的一样,你应确认它不存在,确认你正在使用的数据库 是你所想的。你可以通过查询如下的 systables,检查在这个数据库中的所有表名。 SELECT tabname FROM systables WHERE tabid > 99 该语句将只显示永久表的名字,而没有临时表的名字。临时表不出现在 systables 中。如果 该名字不出现,结束数据库会话并启动新的数据库,临时表将被取消。 -311 不能打开系统目录<表名>。 数据库服务器不能访问系统目录中的一个表。有关原因的详细信息请见伴随的 ISAM 错误代 码,并查看操作系统的错误信息,那里可能给出更多的信息。 -312 不能修改系统目录<表名>。 数据库服务器不能记录所示系统目录表中的变动。有关原因的更详细信息,请检查伴随的 ISAM 错误代码。一个常见的原因是缺少磁盘空间。 -313 不是表的所有者。 这条语句试图做某些事,例如取消一个表,这只能由表的所有者或有数据库管理员权限的用 户才能做。要确认语句中的表名是你所想的表。如果是,就必须是该表的所有者或 DBA,以 便执行这条语句。为了查知与谁联系,可以查询如下系统目录。 SELECT tabname, owner FROM systables WHERE tabid > 99; SELECT username FROM sysusers WHERE usertype = 'D' -314 表<表名>现正在使用。 这条语句试图做某些事,例如取消一个表,在其它用户使用这个表时,这件事不能做。等待 一会儿再试试。为了确认没有表在使用,用 DATABASE EXCLUSIVE 打开数据库。 -315 没有创建索引的权限。 这条语句试图为一个表创建索引。或是没有对这个表授予 INDEX 权限,或者该表本身是一个 视图或别名。如果命名的这个表确实是一个表,与表的所有者或数据库管理员联系(见错误 -313 的讨论)并请求授予这种权限。 -316 数据库中索引< 索引名>已经存在。 这条语句试图用所示的名字创建一个索引,但那个名字的索引已经存在。在一个数据库中只 能存在一个给定名称的索引。(在符合 ANSI 标准的数据库中,创建索引名的用户名限定了这 一点,因此每个用户只能有一个给定名称的索引。)检查名称的拼写,如果与你所想的一样, 你应确认它不存在,确认你正在使用正确的数据库。你可以通过联结如下的 systables 和 sysindexes,检查所有索引的名字和它们的所有者。 SELECT T.tabname, I.idxname, I.owner FROM systables T, sysindexes I WHERE I.tabid = T.tabid AND T.tabid > 99 -317 在每个 UNION 单元里所选的字段数必须相同。 在一个联合中产生的所有行必须有相同的格式。因此在联合中的每条 SELECT 语句必须选择相 同的字段数。在这个联合中第二条或接下去的 SELECT 语句列出的字段数和前面的不相同。检 查整个联合,并检查所有选择列表的数量和数据类型都一样。如果其中一条语句没有相应的 字段,在那个位置指定相应类型的文字值。例如,在需要匹配数值字段的地方,指定一个文 字零。 -318 和指定的日志文件有相同名称的文件已经存在。 在 WITH LOG IN 子句中指定的事务日志文件不能已经存在。数据库服务器必须启动新的日志 文件;它不能把日志数据附加到旧日志文件。已存在的日志文件包含可能是很关键的恢复信 息,因此它不是简单地清空已存在的文件。为了对以前还没有登录过的数据库开始登录:锁 定数据库;把所有数据库目录拷贝到备份介质;并使用 START DATABASE 语句命名新文件。为 了顺序地存档:锁定数据库;把所有日志文件拷贝到备份介质并存储它作为完整的档案;擦 去或重命名日志文件;使用 STARTDATABASE 语句。 -319 索引不在 ISAM 文件中。 这条语句参考不存在的索引。(参考无关的 ISAM 文件,不予理睬。)检查索引名的拼写,如果 正确并确实存在,确认是在使用正确的数据库。 在符合 ANSI 标准的数据库中,不属于自己所有的索引必须由它的所有者名限定。检查所有索 引的名称和所有者的办法,见错误 -316 的讨论。 -320 不是索引的所有者。 这条语句试图做只能由索引的所有者或有数据库管理员权限的用户做的事情,例如取消索引。 确认该语句命名你想要的索引。如果正确,你就必须是它的所有者或 DBA,才有权执行这条 语句。关于列出索引的名称和所有者的办法,见错误 -316 的讨论。 -321 不能用统计字段分组。 这个语句中的 GROUP BY 子句参考所选的值是统计函数的值。这种操作是不支持的(在形成分 组之前,不能计算分组使用的值)。能够按照字段或字段表达式的值把数据行分组,但表达式 不能包括统计函数。检查 GROUP BY 子句,把它和选择列表比较。可能是 GROUP BY 子句中一 个字段数有错误。 -322 不能创建、更改或重命名视图<视图名>的触发器。 可以只在一个表上创建触发器。考虑在取得视图的表上创建触发器,或者考虑作为表创建视 图<视图名>,然后在其上创建触发器。 如果对视图使用 START VIOLATIONS TABLE 语句或 STOP VIOLATIONS TABLE 语句也能收到该信 息。两个语句中都必须指定基表的名字。 -323 不能对临时表授予权限。 GRANT 语句命名临时表。这种操作是不支持的。只对永久表记录权限。因为临时表不在系统 目录中记录,没有地方来记录它们的权限。只有创建临时表的人能访问它。 -324 二义性字段<字段名>。 说明的字段名出现在这个查询的 FROM 子句里列出的多个表中。数据库服务器需要知道要用哪 些字段。修正查询语句,使在查询中出现这个字段名的地方用它的表名做前缀(<表名>.<字 段名>)。如果这样写使语句太长,就在 FROM 子句中给表起一个短一些的别名(举例见错误 -316 的讨论)。 -325 文件名必须用全路径名指定。 如在试图用 WITH LOG IN 子句创建一个表,但没有对注册文件指定全路径时发生这个错误。 如果使用 INFORMIX-SE 来创建数据库登录而又没有指定注册文件的全路径,也会发生这个错 误。确认已指定全路径名,包括指出注册文件常驻地方的名称。 -326 参考限制有太多的被参考字段。 指定的参考限制多于 16 个字段(或 INFORMIX-SE 中 8 个字段)。 -327 不能解事务内表<表名>的锁。 在事务内,即在执行 BEGIN WORK 之后,不允许有命令 UNLOCK TABLE。在使用事务时,可能 还在使用 LOCK TABLE,但是在事务结束时,所有表将被自动地解锁,因为所有锁在事务结束 时被释放。在符合 ANSI 标准的数据库中不使用 BEGIN WORK,事务总是起作用,决不要使用 UNLOCK TABLE 语句。 -328 表中已经存在字段<字段名>。 这个语句试图加入所说明的字段,但该名字的字段已经存在。检查名称的拼写;如果是你想 要的,则该表不是如你所期望的安排。通过查询 syscolumns,可以检查表中的所有字段。用 如下查询提供表名。 SELECT colname, colno FROM syscolumns C, systables T WHERE C.tabid =T.tabid AND T.tabname =table-name'
    可以使用 RENAME COLUMN 改变字段名。
    -329 数据库没有找到或没有系统权限。
    试图打开的数据库在数据库服务器中找不到。检查名称的拼写。可能是数据库放在不同的数
    据库服务器(或网络系统),而你忽略了指定有该数据库名的服务器名(或节点名)。如果确
    认数据库如你拼写的那样存在,下一步就取决于正在使用的数据库了。
    如果使用的是 INFORMIX-SE,看得见的数据库是在形如<数据库名>.dbs 中的目录名。必须对
    它们可读可写。数据库服务器首先在当前工作目录查看,然后是在 DBPATH 环境变量中命名的
    每个目录。这个错误的最常见原因是不正确设置或没有设置 DBPATH 环境变量。
    如果使用的是 INFORMIX OnLine 动态服务器,按所拼写的数据库不存在。在某些环境中,可
    能有一次运行两个或更多的 OnLine 的实例,每个实例有它自己的数据库集合。对于版本 6.0
    或以后版本,INFORMIX SERVER 环境变量决定使用哪个 INFORMIX OnLine 动态服务器的实例。
    对于版本 5.01 或更早的版本,TBCONFIG 环境变量指出配置文件,它决定使用哪个 INFORMIX
    -OnLine 的实例。如认为可能在使用错误的 OnLine 实例,请找 OnLine 管理员。
    -330 不能建立数据库。
    可能试图用与已存在的数据库相同的名称建立一个数据库。如果是这样,选择不同的名称。
    否则,有关原因的更详细信息,请检查伴随的 ISAM 错误代码。可能是磁盘空间不足或存在文
    件权限的问题。
    -331 不能取消数据库目录。
    在数据库服务器执行 DROP DATABASE 语句时,从<数据库名>.dbs 删除所有与数据库相关的文
    件并试图删除目录本身,因而发生错误。有关原因的更详细信息,请检查伴随的 ISAM 错误代
    码。最有可能的原因是你或其它用户在同一目录中建立了非数据库文件。而目录不能被删除,
    因为它还不是空的。
    -332 不能访问审计追踪名的信息。
    在读审计追踪文件时发生错误。重新执行最后的语句,如果还发生错误,审计追踪文件有错
    误。在这种情况下,将需要取消并重新启动审计追踪。
    -333 审计追踪文件已经存在,有不同的名称。
    在启动新的审计追踪之前,必须取消已存在的审计追踪。使用 DROP AUDIT 语句。
    -334 不能建立审计追踪。
    某些问题防止数据库服务器初始化审计追踪文件。检查为文件指定完整的、正确的路径名。
    查看操作系统错误信息,它可能给出较多的信息。常见的问题包括缺少磁盘空间和文件的权
    限问题。
    -335 对指定的表没有审计追踪。
    这条语句要求有审计追踪工作,但不存在对该表的当前审计追踪。要么不曾启动,要么被取
    消。检查该表是你想要的。如果是在进行恢复工作(语句是 RECOVER TABLE),那么,请检查
    该表是否从备份的拷贝恢复。如果是,那么在做这个备份时,该表没有审计追踪。如果审计
    追踪在后来指定,则在备份和开始审计之间有未知的一段时间,在此期间可能有未被审计的
    修改。
    -336 不能建立或取消对临时表<表名>的审计。
    临时表不能被审计。关于审计追踪的命令将不接收临时表的这个表名。如果目的不是命名临
    时表,检查显示的表<表名>的拼写。关于显示数据库中所有永久表名的办法,见错误编号 -313
    的讨论。
    -337 试图在临时表<表名>上建立视图。
    视图只能建立在永久性的表上。在最新的语句中定义视图的 SELECT 语句中有临时表,表名。
    如果你本来不想命名一个临时表,请查看表名的拼法。请参看-313 号错误的讨论,那里给出
    了显示数据库中全部永久表名的方法。
    -338 不能删除审计追踪。
    在执行 DROP AUDIT 命令时,发生了未预料到的错误。为得到更详细的信息,请查看伴随的
    ISAM 错误代码。
    -339 审计追踪文件的名字必须以全路径名的形式给出。
    CREATE AUDIT 语句中指定的审计追踪文件必须指定全路径。因为审计追踪文件不必放在特定
    的目录中,数据库服务器无法用当前路径或 DBPATH 变量去寻找它。
    -340 不能打开审计追踪文件。
    数据库服务器需要为此表而使用审计追踪文件,但是某种意外的错误阻止了它。硬件错误、
    文件权限问题、不小心删除了审计追踪文件都可能导致该错误。请查看操作系统错误信息,
    它可能会提供更多的信息。
    -341 不能从审计追踪文件中读一行。
    在数据库服务器读取此表的审计追踪文件时,遇到了意外的错误。错误的原因可能是文件权
    限问题、硬件错误。请查阅操作系统信息,以获得更多的信息。
    -342 远程主机不能执行此语句。
    本语句被送到别的系统上的数据库服务器上执行,但数据库服务器不支持所请求的函数。也
    许是早期版本的原因。
    -343 审计追踪中的行被加到了不同于期望的位置上。
    当数据库服务器按审计追踪中重新构造表时,发现被插入的行现在的位置与审计追踪中记录
    的该行第一次插入时的位置不同。要么审计追踪已经损坏;要么审计追踪不完全,即丢失了
    一部分修改记录。表不能按审计追踪恢复。在确认已经使表完全地恢复到审计追踪建立时的
    状态之后,再重新操作一次。如果错误再次发生,请按其它方式重建表。
    -344 不能删除行-表中的行与审计追踪中的行不匹配。
    当数据库服务器按审计追踪重新构造表时,发现被删除的行现在的位置与审计追踪中记录的
    该行第一次删除时的位置不同。要么审计追踪已经损坏;要么审计追踪不完全,即丢失了一
    部分修改记录。表不能按审计追踪恢复。在确认已经使表完全恢复到审计追踪建立时的同样
    状态之后,重新操作一次。如果错误再次发生,请按其它方式重建表。
    -345 不能变更记录-表中的记录与审计追踪中的记录不匹配。
    当数据库服务器按审计追踪重新构造表时,发现更新后的的行现在的内容与审计追踪中首次
    进行更新时记录的内容不同。或者审计追踪已经损坏;或者审计追踪不完全,即丢失了一部
    分修改记录。表不能按审计追踪恢复。在确认表已经精确地恢复到它在建立审计追踪时的状
    态之后,重新操作一次。如果错误再次发生,请用其它方式重建表。
    -346 不能修改表中的一行。
    在数据库服务器处理 UPDATE 时,收到一个非期待的错误,为得到引起该错误原因的更详细的
    信息,请查看伴随的 ISAM 错误代码。原因可能是硬件错误或者锁冲突。
    -347 不能按排他存取方式打开表。
    数据库服务器不能完成 LOCK TABLE 命令,或者隐含的 LOCK TABLE 作为其他命令(例如 ALTER
    TABLE,RENAME, CREATE INDEX 这类改变表定义的语句)的一部分被执行。为得到引起该错误
    原因的更详细的信息,请查看伴随的 ISAM 错误代码。可能的原因包括锁冲突、锁表已满,或
    低层的主机操作系统的锁机制有问题。
    -348 不能从表中读一行。
    数据库服务器试图从表中取一行时,接到了一个意想不到的错误。为得到引起该错误原因的
    更详细的信息,请查看伴随的 ISAM 错误代码。原因可能是硬件错或者锁冲突。
    -349 未选择数据库。
    因为没有当前的数据库,所以此语句不能执行。或许当前数据库没有建立,或许当前数据库
    被 CLOSE DATABASE 语句关闭了。你可以执行 DATABASE 或者 CREATE
    DATABASE 命令建立当前的数据库。
    -350 该字段的索引已存在。
    由于在同一字段或同一字段组合上已存在索引,所以 CREATE INDEX 不能执行。任意字段组合
    最多可以有两个索引,一个为升序索引,一个为降序索引。可以通过联结 sysindexes 和
    systables 产生的特殊表来显示索引。在下述语句中给出表名即可:
    SELECT * FROM sysindexes,systables
    WHERE sysindexes.tabid =systables.tabid
    AND systables.tabname =table-name' sysindexes 表不是普通的表(part 字段是重复的组),所以没有简单的 SELECT 语句可以返 回索引的所有字段名。 -351 数据库中有属于其它用户的表。 DROP DATABASE/UPDATE STATISTICS 语句不能运行,可能是由于以下的原因:可能会破坏其 它用户的数据。为了取消此数据库,先要取消全部属于其它用户的表。做此事时你必须有 DBA 的权限。请参看-313 号错误的讨论,那里给出了显示全部表和它们的拥有者的方法。 -352 字段<字段名>没有找到。 CREATE INDEX 语句中命名的字段或其中之一不存在。重新查看语句中所有字段的拼法。请参 看-328 号错误的讨论,那里有列出表的所有字段名的方法。 -353 在赋予或撤消权限时,没有指定表或视图。 此语句指定表级别的权限(ALTER, DELETE,INDEX, INSERT, SELECT, UPDATE 和 ALL)中的一 个;但没有指定权限所作用的表。在赋予或撤消数据库级别的权限(CONNECT,DBA,RESOURCE) 时,你可以不命名表名。但在赋予或撤消表级别的权限时,你必须指定表。 -354 数据库名或游标名的格式不正确。 此语句中含有不正确的数据库名或游标名格式。如果语句是程序的一部分,数据库名可能已 被传到一个主机的变量中。在 OnLine 中数据库名应该不多于 18 个字符,在 INFORMIX-SE 中 数据库名不多于 10 个字符(在某些操作系统中可能更少)。游标名必须不超过 18 个字符。 数据库名和游标名必须以字母开始,包含字母、数字、下划线字符。6.0 及以后版本数据库 名和游标名可以以下划线字符开始。 在 DOS 系统中,文件名最多只能是 8 个字符加 3 个字符的扩展名。 -355 不能重新命名表的文件名。 RENAME 语句不能完成,因为数据库服务器得到一个非期待的错误。为得到该错误的更详细的 信息,请查看伴随的 ISAM 错误代码。可能的原因包括硬件错误和文件权限问题。 -356 引用和被引用的字段的数据类型不匹配。 子约束中的字段的数据类型必须与父约束中的字段数据类型相同。 -357 视图<视图名>所依赖的表已被变更。 自从视图定义以来,视图所依赖的表的数据已被变更。此变更删除或者重新命名了视图中用 到的一个字段。视图不能再使用了。取消视图,按现在的模式重新定义视图。 -358 在对数据库执行 CREATE、START 或 ROLLFORWARD 操作之前必须关闭当前的数据库。 此类语句要选择新的当前数据库。但当前数据库必须首先被关闭。请先用 CLOSE DATABASE 关闭数据库。 -359 不能取消当前数据库。 当前打开的数据库不能取消。请先用 CLOSE DATABASE 语句关闭数据库,然后再取消它。 -360 不能修改用于子查询中的表或视图。 UPDATE/INSERT 语句使用的数据是从与子查询相同 的表中取出的。这种操作是不允许的,因 为它将导致无穷循环的危险。你可以先把输入数据选择到个临时表,然后再用 UPDATE/INSERT 语句引用此临时表。 -361 字段太长。 这个内部错误反映了数据库服务器和应用程序之间通讯方面的问题。不应看到此错误。如果 此类错误再次发生,请记录下全部环境并与 INFORMIX 技术支持部联系。 -362 只能有一个 SERIAL 型字段。 表中最多可以有一个 SERIAL 型字段。该 CREATE TABLE 语句指定了两个或两个以上的 SERIAL 型字段。重新检查语句,删除多余的的 SERIAL 型字段。如果你想在表中有一个外码字段(即 引用其它表中的 SERIAL 型字段),那么在本表中应使用 INTEGER 数据类型字段。 -363 CURSOR 不在 SELECT 语句中。 此语句(也许是 OPEN 语句)中的游标被联系到一个非 SELECT 语句的预备语句。重新查看程 序的逻辑,特别是游标定义的 DECLARE 语句、所指定的语句 id、建立语句的 PREPARE。如果 想在 INSERT 中使用游标,那么只能把 INSERT 写为 DECLARE 语句的一部分。如果要执行一些 SQL 语句,可直接用 EXECUTE 语句而不要使用间接的游标方式。 当你试图将游标联系到一个 SELECTINTO TEMP 语句时,也会返回这个错误。由于 INTO TEMP 子句的存在,SELECT 语句不能返回任何记录,因此不能使用游标。 -364 没有说明 UPDATE OF 的字段<字段名>。 UPDATE...WHERE CURRENT OF <游标名>语句至少引用了一个字段:它未出现在定义游标的 DECLARE 语句的 FOR UPDATE OF 子句中。将某些字段列在游标声明中,数据库服务器将不允 许其它字段被修改。重新查看此游标的定义和使用。也许消息提到的字段和其它的字段应该 加到定义中;或者应该删除 OF 子句,从而允许游标删除表中任意字段。 -365 FOR UPDATE 子句中的游标仅可用在简单 SELECT 中。 此语句(也许是 OPEN 语句)中命名的游标在 FOR UPDATE 子句中定义。然而,它所联系的 SELECT 语句或者联结了两个以上的表的联合;用到了 UNIQUE, DISTINCT,ORDER BY, GROUP BY 或 UNION;或者选择了一个计算值。此类选择语句不能用于更新,因无法把新数据分配回多个表 中。重新查看游标定义,如果它被定义为 FOR <语句 id>,还要重新查看建立该语句的 PREPARE 语句。也许需要两个游标,一个游标用于一般查询,另一个用于更新。 -366 小数位数超过了指定的最大精度。 此语句中 DECIMAL/ MONEY 数据类型的精度或小数位数有问题。重新查看这些类型的用法。首 先,DECIMAL 应该定义为 DECIMAL(p)或 DECIMAL(p,s)。此处的 p 代表 1 到 32 之间的精度(数 字的总共位数),s 代表小数位数(数字小数点右边的数字个数),并且 S 不大于 P。MONEY 型 遵循同样规则。 -367 不能计算字符型字段的总和或平均值。 此语句用 SUM /AVG 函数对字符型字段(即 CHAR 或 VARCHAR 数据类型)进行计算。如果你不 想计算字符型字段的总和或平均值 ,请重新检查表定义时字段名的拼法。如果字符型字段中 存的是字符形式的数值,有个方法可以巧妙地实现数据库服务器(4.0 及以后版本)的自动 转换。在表达式中用圆括号的表达式 (<字段名>+0)代替函数中的字段名。 -368 不兼容的 sqlexec 模块。 数据库服务器版本与数据库应用程序例行函数库版本不匹配。这个不兼容性在应用程序能够 执行之前必须解决。数据库服务器通过 SQLEXEC 环境变量被选中(专指 6.0 以前版本的数据 库服务器),此变量含有数据库服务器代码的全路径,它常用的名字是 sqlexec 或 sqlturbo (专指 6.0 以前的数据库服务器版本)。连接到程序中的存取例行程序是在编译时选择的。如 果你正在执行的程序是由 Informix 提供的,那么可能是此 Informix 产品或其它 Informix 产品安装不正确。 -369 非法的序列号。请参阅你的安装指南。 在安装你的 INFORMIX 产品时产生一些错误。请查看 SQLEXEC 环境变量的值(对 6.0 之前的数 据库服务器版本而言)和 INFORMIXDIR 环境变量,然后向软件安装人员咨询并请重新查看安 装指南。 -370 不能删除最后一个字段。 ALTER TABLE DROP 语句要删除表中的每个字段。至少要留一个字段。改正语句,至少保留 一个字段。如果你不想要整个表,可用 DROP TABLE 语句删除该表。 -371 不能在含有重复值的字段上创建唯一索引。 CREATE UNIQUE INDEX 语句不能完成,因为此字段(或一些字段)有一条以上重复的行。你 可以建一个普通索引以接受重复值,或者删除掉重复的值。要得到一列字段中的重复值,可 先建立一个普通索引,在下述 SELECT 语句中填入表名和字段名,然后执行之: SELECT column FROM table main WHERE 1 < ( SELECT COUNT(*) FROM table sub WHERE main.column = sub.column ) 这种语句可扩展到使用了 AND 的多个字段的情况。 -372 不能变更打开了审计追踪的表。 一旦某表的审计追踪被启动,表就不应变更。如果必需变更,请执行下述操作:把表复制到 备份介质上,用 DROP AUDIT 去掉审计追踪,删除审计追踪文件,变更表,再把表复制到备份 介质上的,最后用 CREATE AUDIT 启动新的审计追踪。如果表变更失败(如果表太大,那么操 作过程将长,需要大量的磁盘操作),就要把第一次复制的表恢复回去。第二次复制的表也是 必要的,因为如果变更后的表必须恢复时,那么新的审计追踪应该被使用有相同的字段格局 的备份。 -373 DBPATH 太长。 在使用 DBPATH 环境变量定位数据库时,数据库服务器构造的全路径串超出了 80 个字符的限 制。此限制为完整的数据库目录路径名(即从斜线或者反斜线起到.dbs 止)的长度的限制。为 了能使用数据库,你可能要把它定位在较高层的目录上。(此信息易引起误会,对 DBPATH 内 容的总长度没有特别限制。) -374 在带 UNION 的 ORDER BY 子句中只能使用字段号。 此查询语句包含 UNION 和 ORDER BY 子句。在一个有几个选择语句、而且每个语句中的被选字 段的名字不必要相同的"并"查询语句中,不能在 ORDER BY 子句中使用字段名。但可以用位置 号表示,即用 1 表示第一个字段、2 表示第二个字段等等。请重写此查询,在 ORDER BY 子句 中只使用数字。 -375 不能生成事务的日志文件。 当数据库企图利用执行 START 命令创建事务日志时,遇到了一个非期待的错误。请查看伴随 的 ISAM 错误代码,它将提供更详细的信息。典型的原因为磁盘空间不够,文件权限问题,可 同时打开文件的个数的限制。 -376 日志文件已存在。 你在 WITH LOG IN 子句中定义的事务日志文件必须是尚不存在的。数据库服务器必须使用新 的日志文件。没有办法在旧的日志文件的后面添加日志数据。已存在的日志文件中的恢复数 据是至关重要的,所以不能简单清空已存在的日志文件。要作一完全备份:先锁定数据库, 把数据库的目录复制到备份介质上,删除日志文件(这个文件已不再需要了),执行 START DATABASE 语句。要进行部分归档,先对数据库加锁,把日志文件复制到备份介质上并以全归 档的方式存储复制的日志文件,删除/重命名日志文件,执行 START DATABASE 语句。 -377 在关闭数据库之前必须结束事务。 只有在当前事务完成后,该语句(DATABASE,CREATE DATABASE 或 CLOSE DATABASE)才能执行。 你可以使用 COMMIT WORK 语句,也可以用 ROLLBACKWORK 语句,然后就可以关闭数据库了。 -378 当前记录被其它用户锁住。 此语句需要的表中的一行不能被访问,因为此行已被锁住。为得到更多的信息,请查看伴随 的 ISAM 错误号。可能的错误码为-107, -113, -134, -143, -144, -154,它们分别表示你的 程序和其它用户程序之间些微不同的关系。可用 SET LOCK MODE TO WAIT 来阻止大部分(但 不是全部)此类错误的发生。 在 4.1 之版本前的数据库服务器中,这类错误只是由 UPDATE 和 DELETE WHERE CURRENT OF 语句引起的在 6.0 版本中,这条错误信息不再被使用。 -379 不能撤消字段上的权限。 在 GRANT 语句中,可以对特定的字段授与 UPDATE 或 SELECT 权。然而,REVOKE 权限语句只能 接受权限类型的关键字,你不能撤消对指定字段的访问权限。如果要改变某个用户所允许访 问的字段,那就必须先撤消全部权限,再按新的字段列表予以授权。 -380 不能删除日志文件。 数据库服务器在初始化事务的日志时,接收到一个非期待的错误。请查看伴随的 ISAM 错误代 码,它将给出关于原因的详细说明。典型的原因是硬件错误和文件权限错误。 -381 不能将权限授给那些将该种权限赋予你的用户。 你试图将原先以 WITH GRANT OPTION 授与你的权限授予别人。原来授予你该权限的用户的名 字也列在当前命令的用户名单之中。为了系统安全起见,不允许相互授权。重写语句,去掉 那些授权给你的用户的名字。要查看你不该授权的用户名单,请按下列方式查询 systabauth: SELECT grantor FROM systabauth WHERE grantee = USER -382 在视图和选择子句中指定的字段个数必须相等。 在此VIEW语句中,你已经列出了视图的字段名。然而,此处列出的字段数与定义视图的SELECT 语句中的字段数不等。检查两个列表中的标点,确认你为选择列表中的每项都提供了名字。 -383 聚合或表达式中的视图字段必须显式地命名。 在该 VIEW 语句中你没有为字段列出特定的名称。只有当 SELECT 语句只选择简单的、命名的 字段时,这种操作才是允许的。然而,此处的 SELECT 语句选择了一个或者多个表达式。你必 须在视图名后的括号中列出字段的名字。因为不能只给出一部分字段名, 你必须列出全部字段名。 -384 不能修改非简单视图。 此语句试图修改(插入、删除、修改)一视图中的某些字段。然而,此视图不可被修改。此 视图是基于联结两个或者更多的表的 SELECT 语句的,或者是用来选择计算值、文字值的 SELECT 语句的。(但你可以对从单个表中选出的视图进行 DELETE 操作,即使有一些计算值被 选出也是允许的。)你必须使此语句直接对视图所基于的表进行操作。 -385 数据值越界。 此语句企图向一个用 WITH CHECK OPTION 定义的视图中送数据。因此新的数据必须满足视图 中 WHERE 子句的检查条件。然而,在当前语句中有一个或者多个数据值不满足条件。所以此 变更操作不能执行。事物被滚回。要查看新数据必须满足的条件,可用下列语句显示视图的 定义: SELECT seqno, viewtext FROM sysviews, systables WHERE systables.tabname = 'viewname' AND systables.tabid = sysviews.tabid ORDER BY seqno -386 字段中包含空值。ALTER TABLE 语句中包含的 MODIFY 字句将 NOT NULL 属性赋予一 个已经存在的字段。但此字段已包含了一个或者多个 null 值。除非将所有的 null 值删除或 者将其更新为非 null 值,否则此修改无法完成。 -387 没有连接权限。 不能访问这条语句所要求的数据库,因为没有被获准与该数据库连接的权限。请与拥有该数 据库管理员权限的人联系,并向他申请与该数据库连接的权限。 -388 没有资源权限。 如果有 CREATE TABLE, CREATE INDEX,或 CREATE PROCEDURE 语句,这些语句不能被执行, 因为你的帐户没有被授予此数据库的 RESOURCE 权限。你需要 RESOURCE 权限去创建永久性的 表和永久性表的索引和过程。 如果有 SET 语句,START VIOLATIONS TABLE 语句,或 STOP VIOLATIONS TABLE 语句,这些语 句不能被执行,因为你的帐户没有被授予此数据库的 RESOURCE 权限。你需要 RESOURCE 权限 在当前数据库中对一限制的、触发的或定义了索引的表去执行 SET 语句。在当前数据库中对 一基表执行 START VIOLATIONS TABLE 或 STOP VIOLATIONS TABLE 语句也需要 RESOURCE 权限。 为解决此错误,请与有此数据库的 DBA 权限的人联系,并请他授给你该数据库的 RESOURCE 权限。 -389 没有 DBA 权限。 此语句不能被执行。因为你的帐户没有被授予此数据库的 DBA 的权限。请与有此数据库 DBA 权限的人联系,并请他授权给你(或者请他帮你执行此语句)。 -390 此同义名已作为表名或同义名使用过。 CREATE SYNONYM 语句命名了一个已在使用的同义名。为查看当前定义的同义名和表名,请按 如下方式查询 systables: SELECT tabname, owner FROM systables WHERE tabid >99 -391 不能向字段<字段名>中插入 null。 此语句试图向所指出的字段中送入 NULL 值。但此字段被定义为 NOT NULL。当前事务被滚回。 如果这是一段程序,请重新检查表的定义并修改程序的逻辑使 null 不被用于不接受 NULL 的 字段。 -392 系统错误- -遇到非期望的 NULL 指针。 这是一个不应发生的内部错误。如果此类错误再次发生,请记录下全部环境并与 INFORMIX 技术支持部联系。 -393 where 子句中的条件导致双向外部联结。 此查询需要一个外部联结。但是在 WHERE 子句有一个或更多的条件使主—从关系发生冲突。 请重新察看查询,确认关联两个表的每个条件都是必要的。 -394 没有找到视图<视图名>。 所命名的视图不存在,故不能删除之。可用如下语句查询 systables 中现存的视图的名字: SELECT tabname FROM systables WHERE tabtype = V'
    -395 WHERE 子句包含一个外部笛卡尔乘积。
    此查询需要一个外部联结。但是 WHERE 子句的写法实际是要对于主表的每一行分别选出从属
    表的每一行,这将导致一个规模非常大的输出。请重新察看查询语句,并检查在查询语句中
    至少有一个条件使每一对主—从表之间有关联。
    -396 在嵌套的外部表与保留表之间存在不合法的联结。
    此查询需要一个外部联结。但是 WHERE 子句中的一个条件使一个嵌套的从属表与一个不是它
    的直接父表的保留表之间发生关联。这种操作是不被支持的。请重新察看此查询,确认每个
    条件中相关联的两个表分别是保留表与它的直接从属表。
    -397 系统目录 <表名> 损坏。
    这个内部错误不该出现。该数据库服务器在一个或多个系统目录表中遇到一些破坏完整性约
    束的内容。运行 tbcheck 或 oncheck 实用工具 (对于 OnLine) 或者 bcheck 或 secheck 实
    用工具 (对于 INFORMIX-SE)。如果该错误再次出现,请记下全部细节并与 Informix 技术支
    持部联系。
    -398 游标控制必须在一个事务内部。
    试图使用一个 UPDATE 或一个 DELETE WHERE CURRENT OF 语句时会产生这个错误信息。这个
    语句将通过一个游标修改一个表。然而,这个数据库使用一个事务日志。对这种情况,通过
    一个游标进行修改必须处于一个事务的范围。
    检查程序逻辑,并检查在这个语句之前先执行 BEGIN WORK 语句而且在适当的时间结束该事
    务。如果程序既要通过使用事务的数据库,又要通过不使用事务的数据库来工作,你可以让
    它检测 SQL 通讯区的 sqlwarn 数组的第二个元素。如果该数据库有一个事务日志,该通讯
    区就包含一个跟随 DATABASE 语句的字母 W;如果没有事务日志,就包含一个空格。
    -399 不能存取日志文件。
    这个查询参考一个命名为 syslog 的表。systables 目录有一行在 tabname 字段中具有
    syslog,但这只是一个存储事务日志文件路径名的方便地方。在 INFORMIX-SE 下一个命名为
    syslog 的表不能存于登录的一个数据库中。(一般地,不宜使用以 sys-开始的表名,而 syslog
    是不允许的。)
    -400 试图在未打开的游标上进行 Fetch。
    这个 FETCH 语句命名一个从未打开或已经关闭的游标。检查程序逻辑并检查它将在此之前打
    开该游标,而且没有意外地关闭它。除非一个游标用 WITH HOLD 说明,它自动地由一个 COMMIT
    WORK 或 ROLLBACK WORK 语句 关闭。
    -401 试图在 NULL 游标上进行 Fetch。
    这个 FETCH 语句传递一个无效的游标数据结构或一个 null 指针。该游标可能已经用 FREE
    语句释放,或者该游标数据结构可能在内存被覆盖。
    5.0 及以后版本的数据库服务器不返回这个错误代码。参见错误-267 和 -404。
    -402 主机变量的地址为 NULL。
    检查程序构造 sqlda 和相关数据结构的方法,弄清它被设置为 null 指针的原因。如果程序
    是用 INFORMIX-4GL 或其它语言编写的(在这种语言中,sqlda 不是由程序直接构造的),或
    者如果该语句只是通过名称来引用宿主变量,这个错误就不应当产生。如果这个错误产生了,
    请注意所有的环境状况,并与 Informix 技术支持部门联系。
    -403 接收行的大小与期望的大小矛盾。
    这个内部错误说明在数据库服务器和调用它的函数库函数之间通讯有问题。检查你的程序与
    使用的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技
    术支持部联系。
    -404 一个 NULL 控制块已经作为一个参数传递。
    检查程序构造 sqlda 和相关的数据结构的方式;检查它是否以某种方法设置一个 null 指
    针。如果程序是用 INFORMIX-4GL 语言或在其内没有用程序直接构造 sqlda 的其它语言编写
    的,或者如果这个语句只用名字参考了主机变量,这个错误就不应该出现。请与 Informix 技
    术支持部联系。
    在 4.1 版及更早版本的数据库服务器按所指明的意义上返回这个错误信息。对于 5.0 版之后
    的数据库服务器版本,参见下一个条目。
    -404 无游标或语句可供使用。
    这个语句为一个游标命名,而此游标已与 FREE 语句同时发布。重新检视此程序的逻辑,并检
    查在到达这个语句之前,所指定的游标是有所说明,打开的,但没有释放。
    当使用 5.0 版本及其後版本时,这出错码的意义如上。对於较老的数据库服务器,参见上一
    个说明。
    -405 一个主机变量的地址不是严格地匹配的。
    检查该程序构造 sqlda 和相关的数据结构的方式;检查它是否以某种方法设置一个不是字匹
    配的指针。确认全部主机变量在它们的类型的合适的地址范围。如果程序是用 INFORMIX-4GL
    语言或另一种程序员不能在其内控制存储调整的语言编写的,那么这个错误就不应该出现。
    如果该错误再出现,请记下全部细节并与 Informix 技术支持部联系。
    -406 内存分配失败。
    在当前语句中某些内容要求为数据存储分配内存,但内存不可使用。几件事情可能导致这个
    错误,包括:你的应用有一个内存漏洞;你正在请求比系统允许配置的更多的资源;或者 UNIX
    系统本身有问题需要重启该系统。
    滚回当前事务。设法使这个语句更简单或移动更少的数据。也可以与你的 UNIX 系统管理员
    商量解决内存问题或者设法使操作系统给这个程序更多的虚拟内存,以在其内运行这个程序。
    在 DOS 系统,退出操作系统命令行,释放一些磁盘空间,并重新提交你的程序。
    -407 从 sqlexec 进程接收到的错误号零。
    这个内部错误表示在数据库服务器和调用它的函数库函数之间通讯的问题。检查你的程序与
    使用的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技
    术支持部联系。
    -408 从 sqlexec 进程接收到无效的消息类型。
    这个内部错误表示在数据库服务器和调用它的函数库函数之间通讯的问题。检查你的程序与
    使用的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技
    术支持部联系。
    -409 当前用户没有发现或不能执行 Sqlexec。
    在启动应用程序时,应用程序与数据库服务器进程相联系。该操作使用 SQLEXEC 环境变量中
    的值就做到这一点(对于数据库服务器 6.0 以前的版本);它应该指向两个可执行文件之一:
    INFORMIX-SE 的 sqlexec 或 INFORMIX-OnLine 的 sqlturbo (6.0 以前的版本)。通常这些将
    驻留在由 INFORMIXDIR 环境变量命名的目录的 lib 子目录中。检查你的 SQLEXEC 环境变量
    是否确实正确地设置以及你的帐户是否已经存取到这些目录和文件。
    -410 准备语句失败或没执行。
    这个 EXECUTE 语句参考一个尚未准备的语句 id。或者没有执行 PREPARE 语句,或者虽然执
    行却返回一个错误代码。检查程序逻辑,确保语句是准备好的且 PREPARE 的返回代码被检测。
    一个从 PREPARE 返回的负的错误码通常反映一个已准备的语句中的错误。
    -411 不能同时指定主机变量和描述符。
    这个语句有一个 USING DESCRIPTOR 子句,但它还参考一个用主机变量说明的游标(即用
    SELECT...INTO 或 INSERT ,它们使用 VALUES 子句中的变量)。描述符结构和主机变量名字
    的目的都是指定数据值的位置,且只能用一种方法。检查该游标的说明并决定指定数据值位
    置的一种方法。
    -412 命令指针是 NULL。
    这个语句(可能是 EXECUTE 或 DECLARE)参考一个从未准备或已经被释放的动态 SQL 语句。
    检查程序逻辑,确认语句已经准备好,即 PREPARE 没有返回一个错误代码,并且在此之前没
    有用 FREE 语句释放该语句。
    -413 试图在未打开的游标上插入。
    这个 INSERT 语句命名一个从未打开的或者已经被关闭的游标。检查程序逻辑并检查它将在
    此之前打开该游标,而且不会意外地关闭它。一个插入游标是自动地由 COMMIT WORK 或
    ROLLBACK WORK 语句关闭的。
    -414 试图在 NULL 游标上插入。
    这个 PUT 语句指定一个无效的游标。该游标可能已经用 FREE 语句释放,或者该游标数据结
    构可能已在内存中被覆盖。
    -415 数据转换错误。
    数据库服务器不能进行一个程序变量和一个数据库字段之间的转换。在许多情况中它执行自
    动数据转换,但在这种情况中却不行。例如一个字符串只要包含一个有效数的数字就将被转
    换成一个数值类型;或者一个浮点或十进制数将被转换成整数,只要接收器对该值有足够的
    精度。检查这个语句,检查每个与匹配的数据库字段没有相同数据类型的程序变量。
    -416 打开语句的 USING 选项对于插入游标是无效的。
    这个 OPEN 语句参考一个为 INSERT 语句说明的游标。OPEN 的 USING 子句在这种情况是不
    合适的;它只能用于指定一个 SELECT 语句使用的变量。检查程序以确认在这个语句中是否
    使用了正确的游标。如果在这个语句使用的游标是正确的,并且如果 INSERT 语句是 DECLARE
    语句的部分,你可以在其中直接命名宿主变量。如果 INSERT 语句已经准备好,你可以在 PUT
    语句的 FROM 子句中指定宿主变量。
    -417 FLUSH 只能被用于一个插入游标。
    这个 FLUSH 语句参考一个与 SELECT 语句而不是 INSERT 语句结合在一起的游标。FLUSH 只
    适合插入游标。检查程序,确认命名了正确的游标。
    -418 遇到 NULL SQLDA 描述符或主机变量列表。
    检查程序构造 sqlda 及相关的数据结构的方式;检查它设置一个 null 指针的原因。如果程
    序是用 INFORMIX-4GL 语言或另一个在其内没有用程序直接构造 sqlda 的语言编写的,或
    者,如果这个语句只用名字引用了主机变量,则这个错误不应该出现。如果该错误再出现,
    请记下全部细节并与 Informix 技术支持部联系。
    -419 在 SQLDA 或宿主变量中的 SQLDATA 指针是 null。
    检查程序构造 sqlda 及相关的数据结构的方式;检查它设置一个 null 指针的原因。如果程
    序是用 INFORMIX-4GL 语言或另一个在其内没有用程序直接构造 sqlda 的语言编写的,或
    者,如果这个语句只用名字引用了宿主变量,则这个错误不应该出现。如果该错误再出现,
    请记下全部细节并与 Informix 技术支持部联系。
    -420 不能执行远程 sqlexec。
    应用程序正在启动并试图与另一个计算机中的数据库服务器进程连通。为此,它使用了
    SQLHOST 环境变量的内容。检查 SQLHOST 变量并修改在其它机器中已经启动的 INFORMIX-NET
    或 INFORMIX-STAR 服务。
    -421 执行远程 sqlexec 的未知服务。
    应用程序正在启动并试图与其它机器中的一个数据库服务器连通。它使用来自服务入口 sql
    下的文件 /etc/services 的信息,但没有发现该文件。请与在系统上安装 INFORMIX-NET 的
    人联系。
    -422 试图在未打开的游标上刷新。
    这个 FLUSH 语句命名一个从未打开的游标,或已经被关闭的游标。检查程序逻辑并确保它将
    在此之前打开该游标,而且不会意外地关闭它。一个插入的游标是自动地由 COMMIT WORK 或
    ROLLBACK WORK 关闭的。
    -423 试图在无当前行时执行 FETCH CURRENT。
    这个 FETCH 语句请求当前行,但当前行不存在。或者游标刚被打开,或者先前的 fetch 返回
    一个错误代码,也许由于它处在数据的结尾而产生这种情况。在试图使用这个语句前,检查
    程序逻辑,并检查使用一个 FETCH NEXT 语句或其它 FETCH 操作以建立一个当前行。
    -424 游标已经从这个准备好的语句说明了。
    这个 DECLARE 语句把一个游标与一个准备好的语句名结合在一起。然而,另一个 DECLARE 语
    句已经被执行,并把另外一个游标与相同的语句 id 结合在一起。这种操作是不被支持的;
    一个已知语句只能被一个游标结合。检查程序中的全部 DECLARE 语句并确认它们全部参考唯
    一的语句。本错误信息在 5.0 及以后的版本中不应再出现。
    -425 当前数据库是由其它用户打开的。
    其它用户以排它的方式打开了要求的数据库。在暂停后或当已知的数据库闲置时,再重复该
    语句。
    -426 提供了未知的值。
    这个内部错误不该出现。如果该错误再出现,请记下全部细节并与 Informix
    技术支持部联系。
    -427 连接用一个不同的 count 调用的 count 例程。
    这个内部错误不该出现。如果不能找到直接的原因,请记下全部细节并与 Informix 技术支
    持部联系。
    -428 连接例程调用的次数太多。
    这个内部错误不该出现。如果不能找到直接的原因,请记下全部细节并与 Informix 技术支
    持部联系。
    -429 指示变量应该是两位字节的整数。
    这个语句把一个宿主变量命名为一个指示变量,该宿主变量未被说明为一个小的整型。返回
    到一个指示变量的值是一个小的整型值。检查该语句,尤其是作为指示变量的主机变量的使
    用。确认指示变量的名字拼写正确且它们的说明是合适的。如果在一个 4GL 程序中,该错误
    应该出现。如果这个错误再出现,请记下全部细节并与 Informix 技术支持部联系。
    -430 类型 integer 不匹配大小。
    这个内部错误指出在数据库服务器和调用它的库函数之间通讯的问题。检查你的程序与使用
    的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技术
    支持部联系。
    -431 类型 float 不匹配大小。
    这个内部错误指出在数据库服务器和调用它的库函数之间通讯的问题。检查你的程序与使用
    的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技术
    支持部联系。
    -432 类型 date 不匹配大小。
    这个内部错误指出在数据库服务器和调用它的库函数之间通讯的问题。检查你的程序与使用
    的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技术
    支持部门联系。
    -433 类型 money 不匹配大小。
    这个内部错误指出在数据库服务器和调用它的库函数之间通讯的问题。检查你的程序与使用
    的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技术
    支持部门联系。
    -434 类型 decimal 不匹配大小。
    这个内部错误指出在数据库服务器和调用它的函数库函数之间通讯的问题。检查你的程序与
    使用的数据库服务器有相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技
    术支持部门联系。
    -435 Time-out 值必须大于等于-1。
    在 INFORMIX-ESQL/C 或 ESQL/COBOL 中,你为你的回调 函数/例程提供一个非法的
    time-out 值。请检查 time-out 值大于等于-1。
    -436 当 time-out 值大于等于零时,回调函数必须被定义。
    你没有对你的 time-out 值提供一个回调函数。确认你既提供了 time-out 值也提供了一个
    回调函数。
    -437 连接必须建立在登记回调函数之前。
    在连接到一个数据库服务器之前,试图登记回调函数。首先必须连接到一个数据库服务器,
    然后登记回调。
    -438 如果 time-out 值是-1,回调函数必须是 NULL。
    对撤消回调函数提供了一个非法值。给该回调函数传递一个 null 值,而不是一个函数指针。
    -439 数据库服务器当前正在处理一个 SQL 任务。
    你试图在一个信号处理函数/例程或一个回调 函数/例程内调用一个 SQL 程序,或试图执行
    一个 SQL 语句。只能使用你的 INFORMIX-ESQL/C 回调函数内部的 sqldone() 和 sqlbreak()
    函数库函数。只能使用你的 ESQL/COBOL 回调过程内部的 ECO-SQD 和 ECO-SQB 函数库程序。
    另外,如果你要在 INFORMIX-ESQL/C 中不寄存你的回调函数,你可以在你的回调过程中调用
    sqlbreakcallback()回调登记函数。如果你要在 ESQL/COBOL 中不寄存你的回调过程,你可
    以在你的回调过程中调用 ECO-SQBCB 回调寄存程序。
    -450 不合法的 ESQL 定位器,或 4GL 中未初始化的 blob 变量。
    在这个语句中使用的一个 BYTE 或 TEXT 主机变量是无效的。如果这是一个 4GL 程序,该变
    量没有用 LOCATE 语句初始化,或者定位后被释放。检查程序逻辑,确认全部的 blob 变量
    在使用前是定位的。如果这是 ESQL/C,则定位器结构是无效的或未初始化的。检查全部定位
    器结构在使用前已分配空间并且已赋值。
    -451 定位器缓冲区太小。
    定位器结构为一个 BYTE 或 TEXT 提供值,在这个语句中指定一个内存缓冲区小于该值(在
    loc_bufsize 显示字段中)。实际的大小是在 loc_indicator 中。没有数据被转换。修改程
    序使用一个较大的缓冲区,在一个文件中定位该值来代替内存,或在程序段通过一个用户提
    供的读取函数传递该值。另外,你可以在 SELECT 语句指定一个值的子串。如果这是一个 4GL
    程序,这个错误不应出现。如果该错误再出现,请记下全部细节并与 Informix 技术支持部
    联系。
    -452 'loc_open()' 失败。
    loc_open()函数在定位器结构提供的一个 BYTE 或 TEXT 值,在这个语句中被调用并返回一个
    负的返回代码。当该值用用户提供的函数( loc_loctype 包含 LOCUSER)定位时,这个函数是
    程序的部分并且你不得不自己诊断它的问题。当该值在一个文件(loc_loctype 包含
    LOCFILE,或在一个 4GL 程序,该变量已被定位在一个文件)被定位时,这个错误表示系统提
    供的 loc_open()函数不能打开该文件。可能的原因包括: 该文件不存在;你没有对该文件的
    读取许可;打开文件太多。
    -453 'loc_close()' 失败。
    loc_close()函数在定位器结构提供的一个 BYTE 或 TEXT 值,在这个语句中被调用并返回一
    个负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)定位时,这个函数
    是程序的部分并且你不得不自己诊断它的问题。当该值在一个文件(loc_loctype 包含
    LOCFILE,或在一个 4GL 程序,该变量已被定位在一个文件)被定位时,这个错误表示系统提
    供的 loc_close() 函数不能关闭该文件。
    -454 'loc_read()' 失败。
    loc_read()函数在定位器结构提供的一个 BYTE 或 TEXT 值,在这个语句中被调用并返回一个
    负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)定位时,这个函数是
    程序的部分并且你不得不自己诊断它的问题。当该值在一个文件(loc_loctype 包含
    LOCFILE,或在一个 4GL 程序,该变量已被定位在一个文件)被定位时,这个错误表示系统提
    供的 loc_read() 函数不能从该文件读取。
    -455 'loc_write()' 失败。
    loc_write() 函数在定位器结构提供的一个 BYTE 或 TEXT 值,在这个语句中被调用并返回
    一个负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)定位时,这个函
    数是程序的部分并且你不得不自己诊断它的问题。当该值在一个文件(loc_loctype 包含
    LOCFILE,或在一个 4GL 程序,该变量已被定位在一个文件)被定位时,这个错误表示系统提
    供的 loc_write() 函数不能写到该文件。可能的原因包括: 磁盘是满的,你没有对该磁盘的
    写许可;发生了一个硬件错误。
    -456 指示器值不能适合宿主变量。
    这个内部错误给出在数据库服务器和调用它的库函数之间通讯的问题。检查你的程序与使用
    的数据库服务器在相同的软件级。如果该错误再出现,请记下全部细节并与 Informix 技术
    支持部联系。
    -457 数据库服务器意外终止。
    你的应用程序正在工作的数据库服务器进程或线索已经终止。DBA 可能关闭该系统。后面的
    大多数的可能原因是一个内部错误。寻找操作系统信息可以得到更多的信息。如果该错误再
    出现,请记下全部细节并与 Informix 技术支持部联系。
    检查伴随这个错误返回的 ISAM 错误代码。如果它是 -129,数据库服务器没有终止,而只是
    达到当前用户会话数限制(看错误 -129 的解释)
    -458 长事务失败。
    数据库服务器 (可能是 OnLine 或 INFORMIX-OnLine for NetWare) 用完记录这个事务的日
    志空间。没有被完全记录的那个事务不能被滚回,为保护数据库完整性,操作系统结束该事
    务并将它自动滚回。事务开始后的全部改变已被取消。终止该应用并重新计划它,以便每个
    事务修改较少的行。另外,与 OnLine 管理员联系讨论增加逻辑日志的数量。准备讨论修改
    或插入行的数量和每行的大小。
    -459 INFORMIX-OnLine 被关闭。
    你的应用程序使用的 OnLine 实例已被它的操作者关闭。当数据库服务器再次启动时,你的
    当前事务将被自动滚回。在那个时间重新运行你的应用程序。
    -460 语句长度超出最大值。
    在这个 PREPARE, DECLARE, 或 EXECUTE IMMEDIATE 语句中,语句文本长于数据库服务器可
    以处理的长度。对于不同的设备,实际的限制是不同的,但总是放宽的,多数情况最多为
    32,000 字符。检查程序逻辑,确认某个错误不会使它提供一个比预期长度要长的串(例如,
    在内存中覆盖 null 串结束符字节)。如果文本有预期长度,修改程序使其每次提供较少的语
    句。
    -461 打开文件错误。
    这个语句在一个文件和一个 BYTE 或 TEXT 字段之间转换值。由于定位器结构显示字段
    loc_loctype 被设置到 LOCFNAME,数据库服务器试图用 loc_fname 中的路径名和
    loc_oflags 中的标志打开该文件。返回一个操作系统错误。检查伴随的 ISAM 错误代码以获
    得更多的信息,并寻找操作系统信息。典型的原因包括缺少磁盘空间,文件许可问题,以及
    打开文件的个数限制。
    -462 文件关闭错误。
    这个语句从一个 BYTE 或 TEXT 字段读取一个值到一个文件。数据库服务器将该数据复制到
    那个文件,但是,当数据库服务器关闭该文件时,得到一个操作系统错误。检查伴随的 ISAM
    错误代码以获得更多的信息,并寻找操作系统信息。典型的原因包括缺少磁盘空间和硬件错
    误。
    -463 读取文件错误。
    这个语句从一个文件将一个值写到一个 BYTE 或 TEXT 字段。当读取该文件时,数据库服务
    器得到一个操作系统错误。检查伴随的 ISAM 错误代码以获得更多的信息,并寻找操作系统
    信息。
    -464 写文件错误。
    这个语句从一个 BYTE 或 TEXT 字段读取一个值到一个文件。当写该数据时,数据库服务器
    得到一个操作系统错误。检查伴随的 ISAM 错误代码以获得更多的信息,并寻找操作系统信
    息。典型的原因包括缺少磁盘空间和硬件错误。
    -465 没有更多的内存给定位器缓冲区。
    这个查询返回一个位于内存的 BYTE 或 TEXT 值,并且定位器结构(在 loc_bufsize 设置-1)
    请求数据库服务器分配内存。不可能为缓冲区得到必要的内存。如果你能用操作系统方法为
    你的程序分配更多的数据空间内存,则照此处理并再次运行它。除此以外,你可以在一个文
    件中定位值,或用一个子串选择一部分值。如果这是一个 4GL 程序,则该错误不应出现。在
    DOS 系统,退出到操作系统命令行,释放一些磁盘空间,并重新提交你的程序。如果该错误
    再出现,请记下全部细节并与 Informix 技术支持部联系。
    -466 文件长度错误。
    这个语句从一个文件将一个值存储在一个 BYTE 或 TEXT 字段。定位器结构在 loc_locsize
    为该数据制定一个长度,但是,数据库服务器在读取足够数据之前发现文件结束。检查程序,
    确认输入文件的定位是合适的,并指定了正确的长度。如果该文件应该读取到它的结束,指
    定一个-1 的长度。如果这是一个 4GL 程序,则这个错误不应该出现。如果该错误再出现,请
    记下全部细节并与 Informix 技术支持部联系。
    -467 指示器对象遗漏。
    这个程序用 -icheck 标志编译,且当前的 SQL 语句返回一个截段的或 null 值,对这个值将
    正常地设置一个指示器,然而,没有指示器变量指定到一个宿主变量。修改程序使用指示器
    变量。
    -468 不能从系统获得用户 id: 不能开始数据库服务器。
    你的应用正试图打开与一个数据库服务器的通讯。作为该操作的一部分,必须从系统口令文
    件读取你的用户 id,但这个工作失败了。参考操作系统错误信息,可以获得更多的指导信息。
    与系统管理员商量,确认用户 id 的文件对全部用户是可读的。
    -469 本描述符不存在。
    指定的系统描述符区域的名字在系统描述符区域列表中不存在,所以它没有被分配。必须先
    执行 ALLOCATE DESCRIPTOR 语句分配好描述符的名字,然后才能使用它。
    -470 出现的值必须大于零。
    如果在 ALLOCATE DESCRIPTOR 语句中包含 WITHMAX <出现>子句,则必须指定一个大于零的<
    出现>的值。改变<出现>的值成正的整数,并再次执行 ALLOCATE DESCRIPTOR 语句。
    -471 使用了一个无效的描述符名字。
    本错误在 SQL 描述符的名字是一个空字符串或是一个未被初始化的宿主变量时产生。描述
    符的名字遵循和标识符一样的命名规则。检查描述符的名字并检验它已经用 SET
    DESCRIPTOR 语句设置或用 ALLOCATE DESCRIPTOR 语句分配或被初始化。
    -472 出现的值超出范围。
    改变 COUNT 语句的值使其小于或等于<出现>的值并且大于零,然后再试一次。
    -473 指定数据类型不是 X/Open 标准类型本错误发生在 GET DESCRIPTOR 或 SET
    DESCRIPTOR 语句在 X/Open 方式下执行,并且类型字段的值不是 X/Open 的标准类型的时侯。
    再次检查 X/Open 代码的数据类型并确认使用的类型正确。
    -474 未知的字段类型。
    一个未知的字段类型已经被请求。检查你正使用的是 X/Open 方式下的有效字段类型之一,
    并再试一次,有效的字段类型是 TYPE、LENGTH、PRECISION、SCALE、NULLABLE、INDICATOR、
    DATA 和 NAME。
    -475 在 GET 语句中,如果 DATA 为空,则 INDICATOR 必须被指定。
    这一 X/Open 规则说明当 DATA 为空时必须在 GET DESCRIPTOR 语句中请求 INDICATOR 值。
    -476 当类型为 SQLCHAR 时,LENGTH 字段必须被指定。
    当使用 SET DESCRIPTOR 语句,并且 TYPE 设置为 SQLCHAR 时,则 LENGTH 字段在同一个
    SET DESCRIPTOR 语句中也必须被指定和设置。
    -477 缓冲区太小。
    在 GET DESCRIPTOR 语句中,指定用来存储 NAME 表项的缓冲区(字符宿主变量)太小。增
    大缓冲区大小并再次调用 GET DESCRIPTOR 语句。本出错信息在宿主变量是 FILE 类型时也
    会被显示,而且用于存储其名字的缓冲区是太小的。
    -478 用户必须指定 TYPE。
    在初始状态,当用户执行一个 SET DESCRIPTOR 语句时,必须指定 TYPE 作为要设置的字段
    之一。在 SET DESCRIPTOR 语句中设置 TYPE 字段并再次执行。
    -479 DESCRIBED 字段数大于分配的空间。
    在表中的字段数大于分配的描述符。使用 ALLOCATE DESCRIPTOR 语句去重新分配一个更大的
    出现值,并重试 DESCRIBE 语句。
    -480 有相同名字的描述符已经存在。
    具有相同名字的一个系统描述符区域已经被分配,所以本描述符是不唯一的。在 ALLOCATE
    DESCRIPTOR 语句中改变描述符的名字,使描述符成为唯一的,并再次执行本语句。
    -481 无效语句名或语句没有被 PREPARE。
    语句还没有被准备或者使用的语句名字不是有效的。有效的语句名字是在 1 个字符至 18 个字
    符之间; 它由非数字字符开始,并且不包含任何空格及除下划线以外的非字母数字字符。
    -482 对非 SCROLL 游标的无效操作。
    用户不能用非滚动游标发出 FETCH PRIOR、FETCH FIRST、FETCH LAST、 FETCH CURRENT、FETCH
    RELATIVE n、或 FETCH ABSOLUTE n 语句。要这样做,必须首先将游标说明为滚动游标。
    -483 SQL 描述符的名字太长。限于 18 个字符。
    SQL 描述符的名字不能超过 18 个字符。
    -484 语句/游标的名字太长。限于 18 个字符。
    语句或游标的名字必须是从 1 个字符到 18 个字符。
    -485 宿主变量的个数与 SELECT 列表不匹配。
    这一错误仅当用户的数据库符合 ANSI 标准时才会发生。该错误表示在 ESQL 语句中的宿主变
    量的个数与由数据库服务器返回的值不一样。此外,一个警告标志被置于 sqlca 的 sqlwarn
    结构的第 3 个结构成员中。
    执行下面的 ESQL/C 实例中的第二个语句返回本错误:
    $create table mytab (i integer, f float)
    $select * into :var1 from mytab; --error
    如果用户的数据库不符合 ANSI 标准,本语句及类似语句会没有错误地完成,而且宿主变量的
    值顺次置为各自的返回值。如果返回的值小于主机变量的值,则余下的宿主变量是未被定义
    的。在符合 ANSI 标准的数据库中,一个警告标志被置于 sqlca 的 sqlwarn 结构的第 3 个结
    构成员中。
    -486 在数据转换期间发现不合法的数据类型。
    在系统描述符 sqlvar 表项找到的数据类型或者是不合法的,或者是未初始化的。不能使用
    GET DESCRIPTOR 语句从未初始化的 sqlvar 获取一个值。
    -487 游标只能被说明为静态的或者动态的。
    指定的 SQL 语句要求用户把游标说明为静态的或动态的。依据所要求的游标类型把游标说
    明为静态的或动态的,并重试指定的操作。
    -488 无效的游标操作。
    试图对一个游标进行无效的操作。为 SELECT 语句说明的游标不能在 PUT 语句中使用。同样,
    为 INSERT 语句说明的游标不能在 FETCH 语句中使用。检查程序并重试。
    -489 异常号超出范围。
    被请求的异常号或者小于 1,或者大于诊断区域的诊断表项数。
    -490 建立数据库没有 NLS 功能。
    用户建立了一个缺少 NLS 功能的数据库。
    -491 DBNLS 未设置(LC_COLLATE 必须是<字符串值>)
    把环境变量 DBNLS 设置为一个适当的值。确认 LC_COLLATE 被设置为指定的<字符串值>。
    -492 LANG 或 LC_COLLATE 环境变量无效。
    用户对环境变量 LANG 或 LC_COLLATE 指定了一个无效的值。
    -493 DBNLS 未设置(LC_CTYPE 必须是<字符串值>)
    把环境变量 DBNLS 设置为一个适当的值。确认 LC_CTYPE 被设置为指定的字符串值。
    -494 LANG 或 LC_CTYPE 环境变量无效。
    用户对环境变量 LANG 或 LC_CTYPE 指定了一个无效的值。
    -495 LANG 或 LC_MONETARY 环境变量无效。
    用户对环境变量 LANG 或 LC_MONETARY 指定了一个无效的值。
    -496 LANG 或 LC_NUMERIC 环境变量无效。
    用户对环境变量 LANG 或 LC_NUMERIC 指定了一个无效的值。
    -497 LANG 或 LC_TIME 环境变量无效。
    用户对环境变量 LANG 或 LC_TIME 指定了一个无效的值。
    -498 不良的 ixtomsg 文件。请检察安装。
    保存有 SQLCODE 和 SQLSTATE 值的映射表的 ixtomsg 文件的版本是不合法的。ixtomsg 文件
    被定位在目录$INFORMIXDIR/msg 中。请检查文件的数据和大小。如果错误再次发生,则请记
    录所有的情况并和 Informix 技术支持部联系。
    -500 聚类索引<索引名>在表中已经存在。
    一个表一次只可以在一个索引上被聚类。本表已经在索引上被聚类,其名字如所示。要在另
    一个索引上聚类之前,必须执行 ALTER INDEX <索引名>TO NOT CLUSTER,使其成为未被聚类
    的。要查看哪一个表在哪一个索引上被聚类,查询 sysindexes 和 systables 如下:
    SELECT tabname, idxname FROM systables T, sysindexes X WHERE T.tabid =
    X.tabid AND X.clustered = 'C'
    -501 索引<索引名>已经未被聚类。
    表不再在(如果曾经在)本索引上被聚类。确认本索引是用户意指的索引;如果这样,则不
    必变更本索引。查看哪一个表已被聚类的方法,参见出错号 -500 的讨论。
    -502 不能聚类索引。
    当数据库服务器以行的聚集顺序建立表的新拷贝时,得到一个不期望的错误。检查 ISAM 出
    错代码以获取更多的信息。典型的原因包括磁盘空间的短缺。
    -503 锁定的表太多。
    在本主机操作系统的数据库服务器中,有一个关于一次可锁定的表的数量的限制。它不能锁
    定用户请求的表。滚回当前的事务,然后重新设计操作以锁定较少的表,或者代之以行级的
    锁定,或者以互斥方式打开数据库。
    -504 不能锁定视图。
    本 LOCK TABLE 命令不能被执行,因为指定的表实际是一个视图。只有实际的表可以被锁定。
    滚回当前的事务。然后重新设计操作针对视图所基于的实际的表进行工作,或者以互斥方式
    打开数据库。
    -505 在 UPDATE 中的字段数与 VALUES 的数目不匹配。
    本 UPDATE 语句使用一个 SET 子句,在其中一个字段名字的列表设置为等于表达式的列表,
    或者等于 SELECT 语句。等式左边的字段数并不等同于右边产生的数据值。滚回当前的事务,
    然后重写语句。如果表达式的列表被使用,检查标点以确认每个表达式是不同的。如果 SELECT
    语句被使用,检查看有多少字段返回。
    -506 没有更新所有字段的许可。
    用户的账户已经被授予更新特别字段的权限,但是本 UPDATE 语句更新所有的字段,或者更
    新用户没有权限的字段。与表的拥有者联系或与本数据库中某个有数据库管理员权限的人员
    联系,并要求授予完全的 UPDATE 权限。列出表的拥有者的方法,参见出错号 -313 的讨论。
    -507 游标 <游标名> 没有找到。
    在本 UPDATE 或 DELETE 语句中 WHERE CURRENT OF 子句命名的游标不存在。重新审查名字
    的拼法。如果是用户所要的名字,则检查 DECLARE 语句并确认该语句已被执行。同时还要确
    认游标没有用 FREE 语句释放。
    -508 不能改名临时表。
    本 RENAME TABLE 语句不能被执行,因为指定的表是临时的。不能改名一个临时表。重新审
    查表名的拼法。如果是用户所要的名字,取消它,用不同的名字再建立一次。
    -509 不能改名临时表中的字段。
    本 RENAME COLUMN 语句不能被执行,因为指定的表是临时的。不能在临时表中重命名字段。
    重新审查表名的拼法。如果是用户所要的名字,取消它,用不同的字段再建立一次。
    -510 不能为临时表 <表名> 建立同义词。
    本 CREATE SYNONYM 语句不能被执行,因为指定的表是临时的。重新审查表名的拼法。如果
    是用户所要的名字,则必须重新设计应用程序:或者使表变为永久的,或者不使用同义词。
    -511 不能修改系统目录 <表名>。
    不允许用户更新、插入或删除本表中的行。如果用户有把握必须这样做,则必须作为用户
    informix 签字。那个用户账户可以修改多数的系统目录表;然而,这是一个有很大风险的不
    被推荐的作法,除非得到 Informix 技术支持部的特别通知。
    -512 对参考的字段没有参考权限。
    用户对参考的字段没有参考权限。参考表的拥有者,或者有参考权限的用户带有那个表的授
    权选项,可以使用 GRANT 语句授权用户这一权限。
    -513 语句不可与本数据库服务器一起使用。
    本语句(或其中的子句)被某些数据库服务器支持,但是不被用户当前正使用的数据库服务
    器支持。数据库服务器的选择(当有一个选择时) 由 SQLEXEC 环境变量(对于 6.0 以前的
    版本的数据库服务器)的设置决定。如果本语句在以前而不是现在工作,查看在 SQLEXEC
    中的变化。
    -514 只有 DBA 可以建立、取消或授权其它用户。
    本数据定义语句指定由其它用户拥有或作为其它用户授权的表、视图、索引或同义词。任何
    这些事情都要求有数据库管理员的权限,而用户在本数据库中没有这一权限。如果用户意欲
    在自己拥有的对象上工作,重新审查语句的标点;在某处你已限定具有另一帐户的 user-id
    的名字。否则,要求 DBA 为你授权 DBA 权限,或者直接为你做这些操作。
    -515 约束<约束名>已经被取消。
    试图在同一个 ALTER TABLE 语句中取消一个已经被取消的约束。
    -516 系统错误 - 临时输出文件还未建立。
    这个内部错误表示在数据库服务器和调用它的库函数之间的通信中出了问题。检查用户程序
    与数据库服务器在同一软件级。如果错误再次发生,则请记录所有的情况并和 Informix 技术
    支持部联系。
    -517 索引的总大小太大或者索引中有太多的部分。
    所有的数据库服务器有关于可以在索引中包含的字段数的限制,及关于键(字段宽度之和)
    的字节总数的限制。本 CREATE INDEX 语句对于本数据库服务器将超过那个限制。所有的数
    据库服务器支持至少 8 个字段及 126 字节的宽度。OnLine 分别允许 16 和 255。
    -518 子约束<约束名>未找到。
    如果这个内部错误再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
    -519 不能修改字段成不合法的值。
    本 UPDATE 语句的值中的一个是基于一个错误的表达式。检查每个 SET 语句中表达式的正确
    性,特别注意内置函数如 LENGTH 及 DATE 的用法。
    -520 不能打开数据库 tblspace。
    OnLine 数据库服务器不能定位在存储有本命令要参考的表的磁盘分区。与 OnLine 管理员联
    系以找出问题之所在。可能包含该 tblspace 的大块已经脱机。
    -521 不能锁定系统目录<表名>。
    不允许锁定任何一个包含系统目录的表。这些表是所有用户在任何时间都需要的。数据库服
    务器正确地处理对它们的并行访问,所以,用户可以从程序中直接删除这些语句。
    -522 表<表名>在查询时不被选择。
    使用一个相关的名字使字段名在 GROUP BY 子句或在 SET 子句合格。考虑在作为触发动作的
    存储过程中重写语句,传递作为参数的字段值。在任何情形下,必须重写语句且在 GROUP BY
    子句或 SET 子句中没有使用相关的名字。
    -523 只能恢复、修补或取消表。
    本语句(RECOVER、REPAIR 或 DROP)指定一个视图。然而,这些语句只支持真实表而不支持
    视图。在 DROP 的情形下,如果要取消视图中使用的表中的任何一个表,则视图也同时被取消。
    要恢复或修补这种表,必须恢复或修复这些表在其上已有视图定义。列出是视图的表的名字
    的方法,参见出错号-394 的讨论。
    -524 锁定表只能在事务内使用。
    因为本数据库有一个事务日志,所以表只能在事务内锁定。重新审查程序并确保本语句之前
    已发出一个 BEGIN WORK 语句启动事务。
    -525 不能满足参考的约束<约束名>。
    在 ALTER TABLE 或 SET 语句期间,你增加或激活了一个由表中损坏的数据的参考约束。检查
    正参考字段的数据(子键)在被参考字段(父键)中存在。
    -526 不允许修改滚动游标。
    对一 DECLARE 子句,则子句 FOR UPDATE 不允许和 SCROLL 关键字在一起。对一符合 ANSI
    标准的数据库(在其中,当说明游标要修改时,FOR UPDATE 子句是不需要的)中的 UPDATE
    语句:则本语句命名的游标用 SCROLL 关键字说明,并且不能用于更新。滚动游标的实现方
    法使对表的更新不安全,因为它有时不反应选定行的当前状态。如果用户要使用滚动游标来
    检查行,然后更新它们,可以重新用下面的方法设计应用程序(其中之一) :使用滚动游标
    同时选择每行的 ROWID。再次说明非滚动游标选择进行更新的行是基于其 ROWID。当更新一选
    定行时:
  • 使用由滚动游标找到的 ROWID 值打开更新游标。
  • 取出该行并检查出错代码 (行可能已被删除)。
  • 如果 fetch 成功,检验行的内容未从滚动游标(游标现在是锁定的,因此不能被进
    一步修改,但是在两个 fetch 之间它可能已经被修改) 的选定中改变。
  • 如果游标未改变,则使用非滚动游标修改。
  • 关闭非滚动游标。
  • 本过程确保修改反应当前表的状态而保持了滚动游标的方便。一个由新近取出的行
    的 ROWID 的 fetch 常常没有磁盘活动并且不会花费很多时间。
    -527 本系统中加锁方式不可用。
    用户试图使用 SET LOCK MODE TO WAIT 语句于 INFORMIX-SE,而 INFORMIX-SE 数据库服务器
    使用 CREATE LOCKING 而不是 System V 的锁定。如果错误再次发生,则请记录所有的情况并
    和 Informix 技术支持部联系。
    数据库服务器不能执行 SET LOCK MODE TO WAIT 语句,因为主机操作系统对于锁定并允许等
    待锁的释放没有适当地支持。本系统中,用户的程序在表或行被锁定(有出错号如-233 或
    -378)时将被通知;程序决定在下一步要做什么,例如,回滚事务并再试。
    -528 最大的输出行大小<最大大小>被超过。
    本语句选择的总字节数超过数据库服务器和程序间可以传递的最大值。确认选择的字段是所
    需要的字段;检查例如没有由于错误而命名了很宽的字符字段,或者忘记指定一个子字符串,
    或者指定了过长的子字符串。如果选择是所需求的,把 SELECT 重写成两个或更多的语句,
    每个语句只选定字段中的某一个。如果这是几个表的联结,则最好选择所有想要的数据 INTO
    TEMP;然后选择临时表的专用字段。如果这是一个借助程序中游标的 fetch,则可以修改程
    序如下。首先,改变游标以便只选择想要的行 ROWID,第二,用一组 SELECT 语句扩大 FETCH
    语句,每个语句选择一个或几个字段 WHERE ROWID= 保存的 row-id。
    -529 不能连到共享内存。
    本出错信息在 6.0 版以前的版本中出现。用户的应用程序不能初始化其对数据库服务器的连
    接,因为用户正使用一个共享内存工具。要么数据库共享内存还未被初始化,要么最大个数
    的用户已经启动使用系统。检查伴随的 ISAM 出错代码以获取更多的信息。
    -529 不能连到事务。
    本出错信息在 6.0 版以前的版本中出现。用户的应用程序不能初始化其对数据库服务器的连
    接,因为用户正使用一个共享内存工具。要么数据库共享内存还未被初始化,要么最大个数
    的用户已经启动使用系统。检查伴随的 ISAM 出错代码以获取更多的信息。
    -530 检查约束<约束名>失败。
    放置在表字段的检查约束已经被扰乱。要找与字段相联系的检查约束,可以查询 syschecks
    系统目录表。然而,用户在查询 syschecks 之前必须知道检查约束的 constrid。(constrid
    在 sysconstrains 系统目录表中赋值。)使用下面的子查询以显示<约束名>的检查约束。
    SELECT * FROM syschecks WHERE constrid =
    (SELECT constrid FROM sysconstraints WHERE constrname =
    constraint-name)
    -531 在视图中存在有重复的字段<字段名>。
    本 CREATE VIEW 语句给出一个字段名的列表,并且其中至少有一个字段在列表中出现两次。
    重新审查字段名列表并确认每个字段只出现一次。
    -532 不能变更临时表<表名>。
    所示的表只是一个临时表,它将在会话期结束时消失。这样的表不能被改变。要改变表的形
    式,直接取消并重新建立之。
    -533 范围大小太小,最小值为数字 k。
    为磁盘范围(无论 EXTENT SIZE 子句或 NEXT SIZE 子句)指定的大小必须至少四倍于磁盘页
    大小,如所示。通常,把 EXTENT SIZE 设置得足够大,以容纳在最初估计的所有的行,而设
    置 NEXT SIZE 为其八分之一或四分之一。
    -534 表被锁住,不能在表中插入新行。
    4.0 及以后版本的数据库服务器不返回本错误。在较早的版本中,其意义与错误号-271(带
    ISAM 出错代码-113)相同。滚回当前事务,并在表被解锁以后重新运行。
    -534 不能开启 EXPLAIN 输出文件。
    SET EXPLAIN ON 语句已被执行,且数据库服务器正试着开启目前工作目录下的 sqexplain.out
    文件。有某种操作系统的错误阻止了它。详情参见 ISAM 错误码。更详细部份可查看操作系统
    错误信息。可能的原因有:缺少对目前目录的应有权限;磁盘空间满。4.1 版开始有这条出
    错信息。
    -535 已在事务中。
    本 BEGIN WORK 语句是多余的;事务已经在处理。如果这是一个程序,重新审查其逻辑以确
    认没有意外的失败结束先前的事务。
    -536 子约束中的字段数与父约束中的字段数不匹配。
    正参考的字段(子键)数与参考约束中被参考的字段(父键)数不匹配。检查在被参考和正
    参考字段间的一对一对应关系。
    -537 约束字段<字段名>在表中没有找到。
    在约束定义中指定的字段不存在。
    -538 游标<游标名>已经被说明。
    在 DECLARE 语句中命名的游标已经在较早执行的 DECLARE 语句中命名。可能同一个
    DECLARE 语句正在一个循环中被执行;也可能程序要为此游标执行一个 FREE 语句,但没有
    执行。重新审查程序逻辑以确认对每一个游标只执行一次 DECLARE(释放的游标除外)。
    -539 DBTEMP 太长
    在 DBTEMP 环境变量中的路径名超过关于路径名长度为 80 个字符的限制。用户必须把临时目
    录定位在目录结构的较高层次上。从版本 5.01 开始,INFORMIX-SE 数据库服务器使用 DBTEMP
    环境变量,而 INFORMIX-OnLine 动态服务器不使用。
    -540 在约束上写失败
    定义约束时发生错误。可能用户已经定义了一个约束,其名字与另一个约束、表、或索引重
    复。如果是这种情形,指定一个唯一的名字重复此语句。否则,核查 伴随的 ISAM 出错代码
    以获取更多的信息。
    -541 用户没有 ALTER 权限
    用户在变更表、名称、类型、或字段数以前,必须有正确的权限。用户必须是表的拥有者或
    者在数据库中有数据库管理员的权限,或者必须有表的拥有者或 DBA 批准的 ALTER 权限。
    见出错号-313 关于用 DBA 权限列出表的拥有者的方法的讨论。
    -542 在约束、触发器或索引中不能多次指定同一字段。
    在更新触发器的触发字段表中多次命名同一字段。删除重复出现的字段名并重试。在索引表
    中如果有重复的字段名,也会出现本错误。
    -543 ESCAPE 字符必须是一个单字符。
    在 WHERE 子句中,ESCAPE 微子句包含多个字符作为一个字符。重新审查子句的标点并加以
    修改使其只指定一个字符。
    -544 统计内不能有统计。
    语句包含参数表内对于另一个统计函数的统计函数调用,例如 SUM(MAX(COLUMN))。这种操作
    是不被支持的,因为所有的统计函数是在行的同一组进行计算的。如果这种表达式不是想要
    的表达式,查找遗漏的或放错地方的圆括号。如果这种表达式是想要的表达式,就必须重新
    想办法。例如,可以选择 MAX 值放入临时表中,然后取其
    SUM。
    -545 对于表<表名>没有写许可。
    检查伴随的 ISAM 出错代码以获取更多的信息。对于数据库服务器,一个数据库是一个具有
    名字<数据库名>.dbs 的目录,而表和索引是目录内的文件。用户必须具有所有这些文件的读
    写访问权限,以便正常地运用数据库函数。
    -546 当建立视图<视图名>时,不能有宿主变量。
    本语句或者准备、 或者执行一个 CREATE VIEW 语句,在此语句中 SELECT 语句访问宿主变
    量。这种操作是不被支持的。SELECT 语句在视图中可以从任何程序中被执行,并且可以不依
    赖于程序的变量。重新审查 CREATE VIEW 语句,并确认该语句不包含任何宿主变量的名字、
    INTO 子句,也不包含?通配符。5.01 版以后的数据库服务器不使用本错误信息。
    -547 必须在数据库所在目录前滚数据库。
    在执行 ROLLFORWARD 语句之前,使当前目录成为为数据库包含<数据库名>.dbs 目录的目录。
    然后再次执行语句。
    -548 在 TEMP 表中不允许参考约束和触发器。
    用户不能在一个临时(TEMP)表中建立约束或触发器。考虑建立临时表作为数据库中的参数
    表。如果选项可行,则建立该表,然后在其上建立触发器。
    -549 在 UNIQUE 约束中,字段<字段名>不是表中的字段。
    出现在为 UNIQUE 子句列表的字段中显示的字段,不是在表中定义的字段之一。检查在本语
    句中所有字段名字的拼法。如果所有字段的拼法正确,则检查表的定义。见出错号 -328 关
    于在表中列出所有字段名的方法的讨论。
    5.01 版本以后的数据库服务器不使用本出错信息。
    -550 在约束中的字段总长太长。
    列在 UNIQUE、PRIMARY KEY 或者 FOREIGN KEY 子句中的所有字段的总长是有限的。这个限
    制取决于使用的数据库服务器,而所有的服务器支持 120 字节的总长。这个限制,和复合索
    引中的所有字段总长的限制是一样的。更详细的信息,请参阅 《Informix SQL 指南:语法》
    中 CREATE TABLE 语句。
    -551 约束包含太多的字段
    在 UNIQUE、PRIMARY KEY 或 FOREIGN KEY 子句列出的字段是有限制的。限制(limit)取决
    于使用中的数据库服务器,但所有的数据库服务器都支持 8 个字段。在复合索引中的字段数,
    limit 和 restriction 是一样的。要获取附加的信息,请参考 Informix Guide to SQL: Syntax
    中的 CREATE TABLE 语句。
    -552 在多语句准备中,Blob 主机变量不被允许。
    本 EXECUTE 命令执行一个有准备的多重语句列表。在列表中,通配符? 提供的一个或多个主
    机变量是对于 TEXT 或 BYTE 的定位器结构。这种操作是不被允许的。访问 TEXT 或 BYTE 变
    量的语句可能已准备好并被执行,但它们必须是单个语句,而不是多语句列表的一部分。
    -553 在$INFORMIXDIR/bin 中未找到 mkdbsdir。参考安装说明。
    可执行程序 mkdbsdir 在 CREATE DATABASE 语句期间,用于建立数据库目录的初始内容。
    它由数据库服务器分配并且应该在 INFORMIXDIR 环境变量命名的目录的子目录 bin 中找
    到,但是没有找到。检查 INFORMIXDIR 环境变量的设置,然后咨询软件安装人员。
    -554 在本数据库服务器中不允许的句法。
    使用的数据库服务器不支持本语句或某些子句。程序启动时,由 SQLEXEC 环境变量(对 6.0
    及以前版本的数据库服务器而言)决定选择所使用的数据库服务器。在 Informix 数据库服
    务器之间,语句的句法方面有几个小的区别。例如,使用 OnLine 的 CREATE TABLE 语句支持
    子句 IN <数据库空间名>(不使用引号字符)而其它的数据库服务器支持子句 IN '<路径名

'(要求有单引号)。
-555 在多重查询准备中,不能使用选择或任何数据库语句。
由 PREPARE 提供的语句文本有由分号分开的多重语句,其语句之一是 SELECT、DATABASE、
CREATE DATABASE 或 CLOSE DATABASE。这些语句必须总是准备成单语句文本。核查语句文本
字符串并确认想要多重语句;然后修改程序单独执行这四种类型的语句。
-556 在另一个数据库服务器上不能建立、取消或修改对象。
本语句试图建立、取消或修改不是当前数据库的外部数据库中的对象。用户只可以读外部数
据库的内容。如果使数据库成为当前的数据库,可以修改其内容。重新审查在外部数据库<
数据库名>访问目标,开始<数据库名>时名字的所有用法。
-557 在<级别数>级同义词映射后,不能定位另一个服务器表。
本问题中命名的表之一事实上是一个同义词,指向当前数据库的外面。其命名指向数据库外
面的另一同义词,并且没有发现一个实际的表来计数同义词。数据库服务器已经放弃一个无
结束的同义词链情况的查询。可以通过询问 systables 和
syssyntable 访问外部数据库,重新审查在当前数据库中的同义词如下:
SELECT T.tabname synonym, servername, dbname, user, S.tabname
FROM systables T, syssyntable S WHERE T.tabtype =
'S' AND T.tabid = S.tabid AND S.btabid IS NULL
通过外部数据库追踪一个同义词链,在外部数据库中使用一个类似的询问,代替每次前一个
询问返回的 servername、dbname 和 tabname 的值。
SELECT T.tabname synonym, servername, dbname, user, S.tabname
FROM dbname@servername:systables T,
dbname@servername:syssyntable S WHERE T.tabtype = 'S'
AND T.tabname = 'tabname' AND T.tabid = S.tabid
当本查询没有返回行时,请求的<表名>没有作为一个同义词在那个数据库中定义(它是一个
表或视图,或没有定义)。
-558 在 $INFORMIXDIR/bin 中未找到 changrp。请参考安装说明。
本命令要求有名字为 changrp 的可执行程序。该程序通常作为数据库服务器的一部分被安
装,并应在由环境变量 INFORMIXDIR 命名的目录的子目录 bin 之下。检查该变量的值,然后
咨询安装软件的人员。
-559 在同义词的上面不能创建同义词。
本 CREATE SYNONYM 命令命名另一同义词。产生一个同义词链是不被允许的。见出错号-218
关于列出所有同义词的方法的讨论。为使具有同样意义的第二个同义词放在第一位,找出另
一同义词的意义,然后造一个新的同义词去访问一个基表。对一个给定的同义词,要看到基
表,按如下方法询问 systables 和 syssyntable,代替同义词的名字:
SELECT T.tabname synonym, S.*
FROM systables T,
syssyntable S
WHERE T.tabname = name
AND T.tabid = S.tabid
如果 btabid 在结果显示中定义,则该同义词是指 tabid 的当前数据库,否则指一外部数据库。
-560 有 tabid<号码>的同义词在 systables 中未找到。
systables 或 syssyntable 系统目录,或它们中之一的索引已经被损坏。运行 bcheck 或
secheck 实用程序。准备重建所有的同义词。
-561 对日期时间值不能进行求和及平均值计算。
本语句应用一个统计函数(如 SUM)于一个具有类型 DATETIME 的字段。该函数不是对这种
数据类型定义的,因为不是算术类型。重新审查统计函数的用法,并必须修改原查询。
-562 数据库转换失败。
用户正运行一个数据库服务器的新的版本,并且第一次已用这一级的软件打开了一个数据库。
数据库服务器试图通过定义一个附加的系统目录表自动地更新数据库。发生一个意外的错误。
检查 伴随的 ISAM 出错码以得到更多的信息。如果错误再次发生,则请记录所有的情况并和
Informix 技术支持部联系。
5.01 及以后版本的数据库服务器不使用该错误信息。
-563 不能为数据库转换获取排他锁定。
正在运行数据库服务器的新版本,并且刚好首次以这个软件级别打开了一个数据库。该数据
库服务器已经试图通过定义附加的系统目录表来自动地升级数据库。然而,这需要锁定数据
库,以便独占使用,来完成这次转换,但其它用户已将该数据库打开了。请稍候,然后再重
新试一下这个语句。到那时,这个数据库可能被释放了(或者其它用户的操作已将它更新了)。
-564 不能排序行。
这个内部错误反映执行排序时的意外情况。检查 ISAM 出错码以得到更多的信息。如果错误
再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-565 不能读已排序的行。
这个内部错误反映执行排序时的意外情况。检查 ISAM 出错码以得到更多的信息。如果错误
再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-566 不能开始排序。
这个内部错误反映执行排序时的意外情况。检查 ISAM 出错码以得到更多的信息。如果错误
再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-567 不能写已排序的行。
这个内部错误反映执行排序时的意外情况。检查 ISAM 出错码以得到更多的信息。如果错误
再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-568 不能访问不带日志的外部数据库。
本语句访问一个当前数据库以外的数据库。然而,当前数据库使用事务日志,而外部的数据
库不使用。这种操作是不被支持的。在单个事务中使用的数据库必须全都使用日志或者全都
不使用日志。
-569 不能访问带日志的外部数据库。
本语句访问一个当前数据库以外的数据库。然而,当前数据库不使用事务日志,而外部的数
据库使用。这种操作是不被支持的。在单个事务中使用的数据库必须全都使用日志或者全都
不使用日志。
-570 不能访问外部的 ANSI 数据库。
本语句访问一个当前数据库以外的数据库。然而,当前数据库是不符合 ANSI 标准的,而外部
的数据库符合。这种操作是不被支持的。在单个事务中使用的数据库必须全都是符合 ANSI
标准或者全都不符合 ANSI 标准。
-571 不能访问外部的非 ANSI 数据库。
本语句访问一个当前数据库以外的数据库。然而,当前数据库是符合 ANSI 标准的,而外部的
数据库不符合。这种操作是不被支持的。在单个事务中使用的数据库必须全都是符合 ANSI
标准或者全都不符合 ANSI 标准。
-572 指定的等待持续时间太长。
用户在 SET LOCK MODE 中作为 WAIT 时间可以指定的最大时间是 32767 秒。重新审查本语
句并确认指定的正是所需的以秒计的持续时间。如果是这样,则或者使用一个较短的持续时
间,或者(因为 32767 秒大于 9 个小时)省去持续时间直接指定一个无限的等待。
-573 在模式 ANSI 数据库中不能使日志设置为缓冲方式。
本语句试图应用 BUFFERED LOG 方式,但数据库是符合ANSI标准的;亦即,数据库由子句 MODE
ANSI 建立。遵循 ANSI 的一个方面是,所有的事务在 COMMIT WORK 语句执行期间立即记入日
志。使用缓冲日志方式必然伴有日志记录的延迟写入,这样在某些较小丢失事务日志的风险
时会改善性能。在标准下不允许这样的风险;符合 ANSI 标准的数据库必须使用非缓冲日志方
式。
-574 一个子查询返回的不是严格的只有一个字段。
本语句包含一个作为单值使用的子查询(在圆括号内的 SELECT 语句)。(例如,在相
关操作符如相等的一边)。这样的子查询必须严格的只在一行和一个字段返回;否则,就会对
返回值中哪一个是所需要的这一问题发生疑问。本子查询返回不止一个值。重新审查所有的
子查询并确认它们都最多只返回一个字段(在 SELECT 后只列出一个表达式)而且最多只有
一行(在 WHERE 子句中测试唯一键)。
-575 LENGTH()要求字符串类型值。
本语句包含应用于不是字符类型(不是 CHAR 或 VARCHAR)的字段或表达式的 LENGTH 的用法。
这种操作是不被支持的。重新审查 LENGTH 的用法并确认它们只应用于字符值。
-576 不能为 TEMP 表指定 CONSTRAINT 名。
用户不能为安排在临时表的约束指定约束名(无论是 UNIQUE、 PRIMARY KEY、FOREIGN KEY、
或 CHECK),这种操作对于临时表是不支持的。然而可以指定一个字段接收约束中的一个约束,
而且当已有一个约束时指定一个字段列表。但是不能使用 CONSTRAINT <约束名>子句。临时
表及它们的索引没有记录在通常的系统目录表中。
-577 字段集中已有同一类型的限制。
用户已安排字段集的约束(可以是 UNIQUE、PRIMARY KEY、FOREIGN KEY、或 CHECK
)但是关于那些字段的同一类型的约束已经存在。在 FOREIGN KEY 的情况下,这种
错误只在同一个外码字段集访问同一个已经存在的父码字段集时才会发生。无论约束
在表格创建时发生,还是已经被加入,自从字段存在以后就不能再次加入。
-578 所有者的名字太长。
本语句包含一个限制表、视图、索引及同义词名的所有者的名字,并且所有者的名字比 8 个
字符的最大值更长。例如 overly_long.tablename。重新审查所有标识符的标点和拼法;可
能遗漏一个空格或逗号使两个名字合成一个名字。选择相关系统目录的拥有者字段:
systables、sysindexes、或 syssynonyms,可以检查所有已知拥有者的名字。
-579 不是同义词的拥有者。
不拥有在 DROP SYNONYM 语句中规定的同义词。要取消一个自己不拥有的对象,必须要有数
据库管理员的权限。
-580 不能取消许可。
REVOKE 语句不能被执行,或者本语句取消一个数据库级的权限而用户不是这一数据库的数据
库管理员,或者本语句取消一个用户帐户名无权取消的表级的权限。重新审查权限和用户名
确认其正确。用如下方法通过询问 systabauth 从而列出已获准的表级权限。
SELECT A.grantee, T.tabname FROM systabauth A, systables T
WHERE A.grantor = USER AND A.tabid = T.tabid
-581 装入信息文件错。
SET EXPLAIN 语句不能被完成,因为数据库服务器准备解释输出时,不能找到所使用的信息
样板文件。询问 Informix 软件的安装人员。
-582 数据库没有日志。
本 ROLLFORWARD 语句不能被执行,因为数据库没有事务日志。前滚操作用事务日志作为其输
入,由于没有对任何事务进行日志,所以数据库不能被前滚。
-583 察看许可不再有效 -- 远程目标许可被收回。
本语句需要一个基于外部数据库表的视图(当前数据库以外的其它数据库)。然而在一个或多
个这样的数据库中,用户的账号没有拥有视图使用的表的表级权限;或者用户对外部数据库
的 CONNECT 权限已经被取消。关于显示视图定义的方法,参见出错号-385 的讨论。在视图
定义中寻找用数据库名及可能的场地名限定的表的名字。
-584 不能改名系统目录。
RENAME TABLE 语句不能被执行,因为它将改名组成系统目录表中的一个表。这些表的名字不
可以被改变;数据库服务器使用它们。
-585 不能改名系统目录中的字段。
RENAME COLUMN 语句不能被执行,因为它将改名组成系统目录的表中的一个字段。数据库服
务器依赖于这些字段名字供内部需要,并且不能改变这些名字。
-586 游标已经是打开的。
本数据库以与 ANSI 相一致的方式运行 (以 MODE ANSI 创建或启动)。按照 ANSI SQL 的规
则,一个游标必须总是在关闭以后才能再一次被打开。重新审查程序的逻辑。可能最初是要
利用 Informix 对 SQL 的扩展:如果游标被重新打开,它就自动地被关闭和打开。在当前的
数据库中这种操作是不被支持的。
-587 不能删除文件<文件名>。
4.0 及其以上版本不使用本信息。对先前的版本,检查伴随的 ISAM 出错代码以获取更多的
信息。
-588 无效的主机变量号。
用 4.1 版本启动的数据库服务器检测此内部错误。如果错误再次发生,则请记录所有的情况
并和 Informix 技术支持部联系。
-589 在单个事务内不能修改多个场所。
本数据库服务器只支持单场所修改,一个事务内的操作只可以修改网络中一个节点的数据;
事务内前面的某个语句已经修改了一个节点中的数据;当前语句将修改第二个节点的数据。
此语句不被执行。滚回当前事务,根据这一限制检查应用程序,检查受 UPDATE、INSERT、和
DELETE 影响的所有表格的名字,以确认它们都在同一个数据库中,或者在同一个数据库服务
器保持的数据库中。(检查任何同义词的定义。因为同义词可以使外部数据库中的表格看起来
就象在当前的数据库中一样。)
5.01 以后版本的数据库服务器不使用本出错信息。
-590 过程高速缓存已经毁损。
如果这个内部错误再次发生,请注意所有的环境状况,并与 Informix 技术支持部门联系。
-591 字段/变量 <字段名>/<变量名>的无效缺省值。
指定的缺省值对于字段或存储的过程变量是错误的类型。字段的缺省值用 CREATE 语句中的
DEFAULT 子句规定。存储过程中变量的缺省值用过程中 DEFINE 语句的 DEFAULT 子句规定。
-592 当缺省值为空时,不能指定字段为非空。
本 CREATE 或 ALTER TABLE 语句规定字段不能包含空(NOT NULL 子句),但是也有一个
DEFAULT 子句为新行给出为 NULL 的缺省值。这种不一致是不允许的。
-593 不能为 SERIAL 字段指定缺省值。
本 CREATE 或 ALTER TABLE 语句规定字段的数据类型为 SERIAL,但也有一个对于字段的
DEFAULT 子句。数据库服务器在每次建立一行时为 SERIAL 字段生成值,所以 DEFAULT 子句
是无意义的。
-594 不能为 blob 字段指定非空缺省值。
本 CREATE 或 ALTER TABLE 语句规定字段的数据类型为 BYTE 或 TEXT。而且有一个 DEFAULT
子句为字段规定除 NULL 以外的内容。用户只可以为 TEXT 或 BYTE 数据类型的字段指定缺
省值 NULL。
-595 在上下文中不恰当的统计用法。
统计函数在存储过程表达式内的 SQL 语句之外使用或在检查限制之内使用。
下面是这个错误的一个例子:
LET var = MAX(another_var) + 10; -- error
存储过程表达式或检查限制内的表达式,只可以访问一个单值,所以使用统计函数是无意义
的。
-596 不好的 EXIT/CONTINUE 语句。未在<语句名>循环内部。
存储过程 EXIT 和 CONTINUE 语句必须放在 FOREACH,WHILE,或 FOR 循环之内。
-597 [内部的]过早的 End Of Buffer。
如果这个内部错误再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-598 不好的游标名字<游标名>。
在一个存储过程内部,在 UPDATE/DELETE. . .WHERE CURRENT OF 语句中指定了一个不存在
的游标名字。
FOREACH cur1 FOR SELECT col INTO var FROM tab
UPDATE tab SET col = proc(var)
WHERE CURRENT OF bad_cur_name; -- error
END FOREACH
-599 不能把 INFORMIX-OnLine 句法和 INFORMIX-SE 句法混和在一起。
对 INFORMIX-OnLine Dynamic Server 特定的句法和对 INFORMIX-SE 数据库特定的句法已
混淆在同一语句中。使用对你的数据库服务器来说合适的句法。
-600 不能建立 blob。
本语句建立一个 BYTE 或 TEXT 值,但某些意外的错误阻止值的建立。滚回当前的事务,检查 伴
随的 ISAM 出错码以得到更多的信息。可能 blobspace 或 tblspace 数据已满。或者你没有指
定一个合法的 blobspace。如果错误再次发生,则请记录所有的情况并和 Informix 技术支持
部联系。
-601 不能删除 blob。
本语句替换或删除一个 BYTE 或 TEXT 值,但某些意外的错误阻止旧值的删除。滚回当前的事
务,检查相应的 ISAM 出错码以得到更多的信息;可能有硬件错误或者blobspace或tblspace
的数据有损坏。如果错误再次发生,请记下所有的情况并和 Informix 技术支持部联系。
-602 不能打开 blob。
本语句涉及一个 BYTE 或 TEXT 值,但某些意外的错误阻止值的定位。滚回当前的事务,检查
相应的 ISAM 出错码以得到更多的信息;可能有硬件错误或者 blobspace 或 tblspace 的数据
有损坏。如果错误再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-603 不能关闭 blob。
本语句写一个 BYTE 或 TEXT 值,但某些意外的错误阻止完成值的建立。滚回当前的事务,检
查相应的 ISAM 出错码以得到更多的信息;可能有硬件错误或者 blobspace 或 tblspace 有数
据损坏。如果错误再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-604 不能读 blob。
本语句涉及一个 BYTE 或 TEXT 值,但某些意外的错误阻止了对该值的访问。滚回当前的事务,
检查相应的 ISAM 出错码以得到更多的信息;可能有硬件错误或者 blobspace 或 tblspace
的数据有损坏。如果错误再次发生,则请记录所有的情况并和 Informix 技术支持部联系。
-605 不能写 blob。
本语句写一个 BYTE 或 TEXT 值,但某些意外的错误阻止了值的建立。滚回当前的事务,检查
相应的 ISAM 出错码以得到更多的信息; 可能有硬件错误或者 blobspace 或 tblspace 的数
据有损坏。一个可能的原因是这一字段的 blobspace 是满的。另一个可能是虽然一个新块已
分配给 blobspace,但是直到另外的块已被记录并且日志文件已被关闭以后才分配到页面。
OnLine 管理员可以使用 tbmode -l 或 onmode -l 命令强制关闭日志文件。如果错误再次发生,
则请记录所有的情况并和 Informix 技术支持部联系。
-606 无效的 blob 空间名字。
如果本语句涉及一个 blobspace(例如 CREATE TABLE 语句可以建立具有类型 TEXT IN
<blobspace 名>的字段),但名字无效或不存在。重新审查打算作为 blobspace 名字的标识符,
如果拼法正确,则咨询 OnLine 管理员以确定它们是否存在并联机。如果语句不涉及
blobspace,则此时是一个内部错误。如果错误再次发生,则请记录所有的情况并和 Informix
技术支持部联系。
-607 Text/Byte 下标错。
本语句涉及使用子字符串符号的 TEXT 或 BYTE 值(名字后跟带方括号的数字)。但子字符串
未写正确。重新审查子字符串的所有用法,确认第一个数字大于零并且不大于值的长度;第
二个数字不小于第一个数字;数字间有逗号分开。
-608 不合法的企图转换 Text/Byte blob 类型。
本语句包含从 TEXT 或 BYTE 值到另外的数据类型的转换。例如,在表达式中把它与其它类
型进行组合或将其插入到另外类型的字段中。这是不支持的;TEXT 和 BYTE 字段只可以被选
择或被拷贝到同一类型的其它字段。重新对语句进行审查以确认语句命名的字段是想要的字
段,并且数据类型也是所需的类型。
-609 不合法的使用 Text/Byte 主机变量的企图。
本语句使用一个 TEXT 或 BYTE 定位器结构的主机变量,但使用某些其它类型的数据进行组合
(例如在表达式中或将其插入到另一类型的字段中)这是不支持的。这些类型的主机变量只
可以用于选择、建立、或插入同一类型的字段。
-610 索引在 blob 字段不允许。
这个 CREATE INDEX 语句命名一个 TEXT 或 BYTE 类型的字段;但这些类型是不支持索引的。原
因是没有在这些类型中定义词汇次序,所以数据库服务器不知道如何排序或比较它们;因而
它不能建立一个翻转的索引。可能你对数据有足够的理解,知道如何从中抽出一个关键值的
集合的次序;如果是这样,在同一个表中抽出一个独立的字段并索引那个字段。
-611 滚动游标不能选定 blob 字段。
在这个语句中命名的游标与一个返回一个或多个 TEXT 或 BYTE 字段的 SELECT 语句有联系;同
时这个游标和 SCROLL 关键字一起说明。这是不支持的。原因是通过一个滚动游标取得的行也
是存贮在临时表中的。因为 TEXT 和 BYTE 值的大小,这将产生一个不能接受的时间和磁盘空
间的花费。修改游标的说明以选定其它类型的想要的字段,同时 ROWID 也进行同样处理。在
通过滚动游标取得一行后,使用独立的,非滚动的游标取得 BYTE 或 TEXT 值,WHERE ROWID=<
主机变量>。
-612 Blob 在"group by"子句中是不允许的。
这个 SELECT 语句选定一个或多个 BYTE 或 TEXT 值,并且也在 GROUP BY 子句中指定了那些字
段。这是不支持的。因为没有对 BYTE 或 TEXT 值指定词汇次序,数据库服器不能对它们排序
或比较。所以不能在它们的值上对行分组。(这即使在从一个 BYTE 或 TEXT 字段中选定子串时
也是对的)。检查 SELECT 语句以确定在 ORDER BY 子句中命名了正确的字段。
-613 Blob 不允许在"distinct"子句中。
这个语句指定了 DISTINCT 值,但它也选定了一个 BYTE 或 TEXT 值。数据库服务器不知道如何
比较这些值或认定它们的次序。因此不能给它们排序,也不能定位重复的值。因而当选定这
些数据类型时不能使用 DISTINCT 关键字。回顾 SELECT 语句以移去关键字或只选定普通字段。
-614 Blob 不允许在"order by"子句中。
这个 SELECT 语句选定一个或多个 BYTE 或 TEXT 值,并且也在 ORDER BY 子句中指定了那些字
段。这是不支持的。因为没有对 BYTE 或 TEXT 值指定词汇次序,数据库服务器不能将它们排
序(这即使在从一个 BYTE 或 TEXT 字段中选定子串时也是对的)。回顾 SELECT 语句以确定在
ORDER BY 子句中命名了正确的字段。
-615 Blob 在这个表达式中是不允许的。
这个语句使用了一个如 COUNT,SUM,MIN,MAX,或 AVG 的统计表达式,但将它应用到了一个
BYTE 或 TEXT 数据类型的字段。这是不支持的。回顾函数的使用并确定它们只在简单字段上
应用。
-616 一个 blob 下标在这个上下文中不允许。
这个 UPDATE 或 INSERT 语句指定了一个 BYTE 或 TEXT 类型的下标字段作为目标。下标注释在
这个上下文中是不允许的;一个 BYTE 或 TEXT(或任何其它)值必须被完全的替换。修改语句
以给整个字段赋值。
-617 一个 blob 数据类型必须在这个上下文中指定。
这个语句为一个 BLOB(BYTE 或 TEXT)字段赋一个非 BLOB 值,或将一个 BLOB 字段赋给一个非
BLOB 字段。二者都是不支持的。BYTE 和 TEXT 值必须被作为整个单元赋给同一类型的字段。
回顾语句确定指定了所要的字段。
-618 拷贝 blob 数据出错。
这个语句从一行到另一行拷贝一个 BYTE 或 TEXT 值,但一些意外的错误干扰了这一操作。滚
回当前的事务。检查相应的 ISAM 错误的代码以得到更多的信息。可能是一个硬件错误,或
blobspace 或 tblspace 上的数据损坏,或缺少磁盘空间,或一个非法的 blobspace 名。如果
这个错误又发生,请记录全部的环境并和 Informix 技术支持部联系。
-619 一个 blob 错误发生在前端应用程序。
这个语句在数据库和用户程序之间传递一个 BYTE 或 TEXT,但有一些事情阻止它。例如,不
能在内存中为一个值分配一个缓冲区。检查相应的 ISAM 错误的代码以得到更多的信息。
-620 不能更新下一个范围的大小。
这个内部错误指示数据库服务器不能改变一个存储在根 dbspace 上的内部数据结构(不是一
个系统目录)。检查相应的 ISAM 错误的代码以得到更多的信息。可能是根 dbspace 损坏。请
OnLine 管理员运行 tbcheck 或 oncheck 工具。
-621 不能更新新的锁定级。
这个内部错误指示数据库服务器不能将一个锁定从共享转换为独占。检查相应的 ISAM 错误代
码以得到更多的信息。可能是一个硬件问题或一个共享内存的问题。如果这个错误再次发生,
请记录全部的环境并联系 Informix 技术支持部。
-622 定位约束索引<索引名>错误。
这个内部错误显示数据库服务器正试图在UNIQUE或PRIMARY KEY约束下为唯一性测试一个新
的或更新的行,但实现约束的索引找不到。检查相应的 ISAM 错误代码以得到更多的信息。可
能是系统目录或根 dbspace 损坏,或一个硬件问题。如果这个错误再次发生,请记录全部的
环境并和 Informix 技术支持部联系。
-623 不能发现 CONSTRAINT<约束名>。
在这个语句中指定的约束不能找到。检查所示名称的拼写。如果它是所愿的,通过查询系统
约束表检查存在名称的约束如以下的实例所示。如果想要的约束的所有者名称显示不是你的,
你需要成为一个数据库管理员以参考它(并且,如果这个数据库是 ANSI 兼容的,你需要使用
所有者名来限制它)。
SELECT constrname,owner FROM informix.sysconstraints
-624 不能终止 CONSTRAINT<约束名>。
这个内部错误显示数据库服务器在取消一个约束或实现该约束的索引时有一个意外的错误。
检查相应的 ISAM 错误代码以得到更多的信息。可能是系统目录或根 dbspace 损坏,或一个硬
件问题。如果这个错误再次发生,请记录全部的环境并和 Informix 技术支持部联系。
-625 约束名称<约束名>已经存在。
所示的约束名称已经存在。检查它的拼写;如果正是所希望的,则必须选定一个其它的名称,
或取消并重新定义存在的约束。参照错误-623 的讨论以得到一个列出全部约束的办法。
-626 不能得到或设置系列值
这个内部错误信息不代表定义在一个表中的一个 SERIAL 字段有问题。数据库服务器由于很多
原因使用唯一的整型值(例如一个新的或变更的表的 id 数值)一个内部错误使得无法生成一
个新的、唯一的数;例如,在使用文件实现锁定的主机系统中,一些事情阻止产生一个锁定
文件。检查相应的 ISAM 错误代码以得到更多的信息。如果这个错误再次发生,请记录全部的
环境并和 Informix 技术支持部联系。
-627 不能为两阶段提交准备协调者。
由于协调者不能准备这个 INFORMIX-STAR 两阶段提交事务,所有参与者最后滚回全部和此事
务关联的工作。不需要管理的干预。参照 ISAM 错误以得到更多的关于为什么数据库服务器不
能准备提交本地事务的信息。
-628 不能在协调者结束两阶段提交事务。
OnLine数据库服务器的协调者不能结束这个INFORMIX-STAR两阶段提交事务并且事务依然打
开。最后,INFORMIX-STAR 自动恢复机制将结束这个事务。不要求管理的干预。参照 ISAM 错
误以得到更多的关于为什么数据库服务器不能合适地结束事务的信息。
-629 不能结束启发式滚回事务。
OnLine数据库服务器的协调者不能结束这个INFORMIX-STAR两阶段提交事务并且事务依然打
开。最后,INFORMIX-STAR 自动恢复机制将结束它。没有要求管理的干预。参照 ISAM 错误以
得到更多的关于为什么数据库服务器不能合适的结束事务的信息。
-630 不能为提交准备数据库服务器<服务器名>。
指定的OnLine数据库服务器不能准备与这个INFORMIX-STAR两个阶段提交事务相关的本地事
务。最后,所有的采用者滚回全部和事务相关的工作。不要求管理的干预。参照 ISAM 错误以
得到更多的关于为什么数据库服务器不能准备提交本地事务的信息。
-631 不能在非 blob 字段<字段名>上建立光盘聚类。
只能在 TEXT 或 BYTE 类型的字段上建立光盘聚类。所示的字段名是一些其它的类型。确定字
段是你要指定的那一个,并检查表的定义。
-632 不能建立光盘聚类。
试图建立一个光盘聚类失败。参照 ISAM 错误以得到更多的信息。
-633 不能取消光盘聚类。
试图取消一个光盘聚类失败。参照 ISAM 错误以得到更多的信息。
-634 对象不存在。
试图取消一个不存在的触发器。检查触发器名称的拼写。同时,可以查询 systriggers 系统
目录表以回顾数据库中的触发器的名称。
-635 不是对象的拥有者。
试图取消一个不属于你的触发器。可以查询 systriggers 系统目录表以得知谁拥有这个触发
器。可能需要向这个触发器的拥有者或 DBA 申请取消这个触发器。
-636 键域的大小太大或有太多的键域。
违反了下列有关聚类键约束之一,这些键在 CREATE OPTICAL CLUSTER 语句的 ON 子句中指定。

  • 包含在一个组合聚类键中的字段数超越 16。
  • 一个 CHARACTER 字段的长度超越 256 字节。
    -637 不能变更光盘聚类。
    试图变更一个光盘聚类的大小失败。参照 ISAM 错误以得到更多的信息。
    -638 不能在非光盘媒体中聚类 blob 字段。
    只能在存储在光盘媒体上的 TEXT 或 BYTE 字段上建立一个的光盘聚类。检查以确定没有指定
    存储在 dbspace 或 blobspace 上的 blob 字段的名称。
    -639 不能在不同的光盘家族上聚类 blob 字段。
    在 CREATE OPTICAL CLUSTER 语句的 FOR 子句中指定的全部 blob 字段必须属于相同的光盘家
    族。检查以确定为一个光盘聚类指定的字段不属于不同的家族。
    -640 Qplan 稳定失败<行号>。
    运行 UPDATE STATISTICS 可能会修正这个错误。如果这个错误再次发生,请记录全部的环境
    并和 Informix 技术支持部联系。
    -641 不能在非光盘媒体上保留/发布家族。
    在 RESERVE 或 RELEASE 语句中指定的家族名必须在光盘媒体上存在。检查以确定没有用这些
    语句中的任何一个指定一个 dbspace 或 blobspace。
    -642 家族名必须是一个字符串。
    在 RESERVE 或 RELEASE 语句中指定的光盘家族名必须是一个字符串,或一个主机或估计为一
    个字符串的过程变量。如果已经指定了一个字符串,确定已将它用引号引起来。
    -643 卷必须是一个数。
    在 RESERVE 或 RELEASE 语句中的卷参数必须是一个 INTERGER 或 SMALLINT。
    -644 FAMILY(),VOLUME(),和 DESCR()要求在光盘媒介上的 BLOB 字段。
    FAMILY(),VOLUME(),或 DESCR()函数的参数必须是一个存储在光盘媒介体上的 TEXT 或 BYTE
    字段。检查你并未指定一个不同数据类型的一个字段,或存储在一个 dbspace 或 blobspace
    的一个 blob 字段。
    -645 不能保留卷。
    试图保留一个带有 RESERVE 语句的要求光盘卷失败。参照从光盘子系统来的错误(一个在
    -7000 到-7199 范围内的错误) 以得到更多的信息。
    -646 不能发布卷。
    试图发布一个带有 RELEASE 语句的要求光盘卷失败。参照从光盘子系统来的错误(一个在
    -7000 到-7199 范围内的错误) 以得到更多的信息。
    -647 计算数学库函数<函数名>错误。
    参数的数据类型是正确的,但是传递给函数的值对数学函数是不恰当的。检查确定传递了一
    个合法的值给函数。
    -648 不能为存储过程跟踪打开 DEBUG 文件。
    试图打开 DEBUG 跟踪文件时发生一个错误。这个错误可能发生在指定的调试文件名中一个目
    录不存在或目录是写保护时。确定那个目录路径是合法的并且 informix 组是能够写那个目录
    的。
    -649 调试文件名必须是一个 NON-NULL CHAR 或 VARCHAR。
    在 SET DEBUG 语句中为调试文件指定的参数必须是一个字符数据类型。
    -650 最大的 varchar 大小已经被超越。
    这个语句指示一个 VARCHAR(m,r)字段带有的最大宽度 m 大于允许的值(255)。检查字段定义
    的标点。如果它是所要的,使用一个宽度范围在 1 个字符到 255 个字符的 VARCHAR 重新设计
    表。
    -651 保留的字段大小>最大字段大小(varchar)。
    这个语句指定了一个 VARCHAR(m, r)带有一个大于最大宽度 m 的保留宽度 r。检查字段定义的
    标点。如果它是所要的,修改那个语句使得 m >= r。
    -652 局部变量不允许缺省值。
    试图用一个缺省值定义一个局部变量。只有全局变量和参数能有缺省值。
    下面是一个错误的例子:
    DEFINE var INT DEFAULT 10; -- 错误
    更正如下:
    DEFINE var INT; LET var = 10;
    -653 声明为 LIKE 的变量不能是全局的。
    一个全局变量定义为 LIKE。LIKE 变量必须是局部变量。
    下面是一个错误的例子:
    DEFINE GLOBAL var LIKE tab.col; -- 错误
    更正:不要对全局变量使用 LIKE 关键字。换句话说,显式地指定数据类型。
    -654 错误使用 PROCEDURE 声明类型。
    过程声明用在参数或 RETURNING 子句中。存储过程不能接受或返回过程。
    下面是一个错误的例子:
    CREATE PROCEDURE testproc (proc1 procedure) -- 错误 RETURNING
    procedure; -- 错误
    ...
    END PROCEDURE
    更正:不要试图在一个参数或 RETURNING 子句中使用过程说明。
    -655 RETURN 值计数与过程说明不匹配。
    一个过程在 RETURNING 子句中声明的返回值的个数与在一个 RETURN 子句中的值的个数不匹
    配。
    下面是一个错误的例子:
    CREATE PROCEDURE testproc () RETURNING INT, INT;
    ...
    RETURN 1,2,3; -- 错误
    ...
    RETURN 1; -- error END PROCEDURE
    更正:在这个实例中,严格地返回两个参数。
    -656 过程没有说明为有返回值。
    当过程说明时,它没有包含一个 RETURNING 子句指定这个过程将有任何返回值,但随后一个
    RETURN 语句在过程体中被发现。
    下面是一个错误的例子:
    CREATE PROCEDURE testproc() DEFINE a INT; LET a = 10; RETURN a + 1; --
    错误 END PROCEDURE
    更正:在 DEFINE 前增加一个 RETURNING 子句或移去 RETURN 语句。
    -657 不能在过程内建立过程。
    不能在一个 CREATE PROCEDURE 语句中有 CREATE PROCEDURE 语句。
    -658 说明成 GLOBAL 的变量要求一个缺省值。
    一个全局变量没有给缺省值。全局变量要求一个缺省值。
    错误的例子:
    DEFINE GLOBAL glob INT; -- 错误。
    更正:
    DEFINE GLOBAL glob INT DEFAULT 10;
    -659 SELECT 语句要求 INTO TEMP 表。
    一个 SELECT 语句没有指定在哪里放返回值。一个过程中的 SELECT 语句要求一个 INTO TEMP
    子句或一个引用适当过程变量的 INTO 子句。
    错误的例子:
    CREATE PROCEDURE testproc()
    ...
    SELECT col1, col2 FROM tab; -- 错误 END PROCEDURE
    更正:
    CREATE PROCEDURE testproc()
    ...
    SELECT col1, col2 INTO var1, var2 FROM tab; SELECT col1, col2
    FROM tab INTO TEMP another_table; END PROCEDURE
    -660 循环变量<变量名>不能被修改。
    试图修改一个 FOR 语句中的循环变量。循环变量不能在循环内部被修改。
    错误的例子:
    FOR i IN (1,2,3,4) LET i = i + 1; -- 错误 END FOR
    更正:在 LET 语句中使用另一个变量。
    -661 变量数和返回值数不匹配。
    一个 LET 语句左边的变量的个数和右边的值数不匹配。
    错误的例子:
    LET a,b = 10,20,39; LET i,j = proc1()+proc2(); LET a,b = (SELECT c1
    FROM tab)
    更正:匹配 LET 语句两边表达式的个数。
    -662 指定的循环变量<变量名>超过一个。
    在一个 FOREACH 语句中使用一个循环变量超过一次。
    错误的例子:
    FOREACH SELECT col1, col2 INTO var, var FROM tab -- 错误
    ...
    END FOREACH
    更正:
    FOREACH SELECT col1, col2 INTO var1, var2 FROM tab
    ...
    END FOREACH
    -663 对过程<过程名>使用了多于一次的过程调用句法。
    调用一个过程时,一些参数命名了而其它的没命名。
    错误的例子:
    LET var = proc (arg1 = 10, 20, arg3 = 30); -- 错误
    更正:
    LET var = proc (arg1 = 10, arg2 = 20, arg3 = 30); --正确 LET var =
    proc (10,20,30);--正确
    -664 系统函数<函数名>的参数个数错误。
    对一个函数指定了一个非法的参数个数。检查对函数传递了正确的参数个数。
    -665 语意上的内部错误-<代码号>。
    如果这个内部错误再次发生,请记录全部的环境并和 Informix 技术支持部联系。
    -666 变量<变量名>必须被说明为 INTEGER 或 SMALLINT。
    在一个 FOR 语句中,包含范围的循环变量必须被说明为 INT 或 SMALLINT。
    错误的例子:
    DEFINE var CHAR(10); FOR var IN (e1, e2 TO e3, e4) -- 错误
    ...
    END FOR;
    更正:因为 FOR 语句包含一个范围操作符(TO 子句),"var"必须被说明为 INT 或
    SMALLINT。
    -667 变量<变量名>没有被说明。
    指定的变量没有说明。检查未定义变量的拼写以确定其不导致错误。
    -668 系统命令不能被执行。
    一个系统调用在操作系统中失败。下面的语句显示一个可能导致一个错误的例子。SYSTEM
    hello'; -669 变量<变量名>重复说明。 一个变量在同一个作用域中被说明两次。参照 Informix Guide to SQL: -Tutorial,第 12 章, 过程变量的作用域的一个解释。 -670 变量<变量名>说明为 SERIAL 类型。 SERIAL 类型不是一个合法的过程类型。使用整数类型去匹配 SQL SERIAL 类型。 -671 过程调用<过程名>有重复的参数名。 一个过程调用命名同一个参数不止一次。 错误的例子: LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- 错误 -672 无效的数据结构<执行树>。 如果这个内部错误再次发生,请记录全部的环境并和 Informix 技术支持部联系。 -673 过程<过程名>已经在数据库中存在。 试图建立一个已经在数据库中存在的过程。如果你想建立过程的一个新版本,在试图建立过 程的新版本前使用 DROP PORCEDURE 语句取消这个过程。 -674 过程<过程名>没找到。 一个被调用的过程在数据库中不存在。如果你准备了一个 EXECUTE PROCEDURE 语句,然后过 程被你的应用或一个其它的应用在你执行准备的语句前终止,会收到这个错误。 -675 不合法的 SQL 语句在存储过程中。 在一个过程中运行一个禁止的语句。这个错误发生在一个过程被一个 SQL 数据管理语句调用 时。 错误的例子: CREATE PROCEDURE testproc (arg INT, id INT) RETURNING INT; UPDATE tab SET col = arg WHERE key = id; -- 错误 RETURN id; END PROCEDURE; SELECT col FROM tab WHERE testproc(tab.col, tab.key) = 10; 更正:不要使用一个限制的语句(诸如前面的 UPDATE 语句)。 -676 无效的检查约束字段。 一个在字段级指定的检查约束只能参考那个字段。要指定一个跨越多于一个字段的检查约束, 在表级指定检查约束。不能为字段建立一个穿越表的约束。 -677 检查约束不能包含子查询或过程。 一个检查约束不能有子查询或过程调用。 -678 在检查约束中无效的字段<字段名>下标。 在一个检查约束中一个带下标的字段的下标超出字段的边界。检查字段的最大长度不要超越 带下标的字段指定的边界。如果知道字段的表名,可以使用以下的子查询查询系统目录表以 找出字段的最大长度。 SELECT collength FROM syscolumns WHERE colname = column-name'
    AND tabid =
    (SELECT tabid FROM systables WHERE tabname =
    table-name') -679 不能对约束<约束名>读违背约束的数据。 参照 ISAM 错误以得到更多的信息。如果这个内部错误再次发生,请记录全部的环境并和 Informix 技术支持部联系。 -680 不能对约束<约束名>写违背约束的数据。 参照 ISAM 错误以得到更多的信息。如果这个内部错误再次发生,请记录全部的环境并和 Informix 技术支持部联系。 -681 在 INSERT 列表中字段不止一次被指定。 这个错误当用户在 INSERT 字段列表中指定一个字段名超过一次时发生。 -682 在表<表名>中读取约束索引错误。 系统不能验证约束。参照 ISAM 错误以得到更多的信息。如果这个内部错误再次发生,请记录 全部的环境并和 Informix 技术支持部联系。 -683 指定的 STEP 表达式将不通过 RANGE。 在 FOR 语句中的 STEP 表达式的计算值将导致一个无穷的循环。 错误的例子: FOR i = 10 TO 20 STEP -1; -- 错误 ... END FOR 更正:更正范围或步长表达式以使增加的值在范围之内。 -684 过程<过程名>返回太多的值。 从一个过程返回的值的个数多于调用者期待的值的个数。 错误的例子: CREATE PROCEDURE testproc (arg INT) RETURNING INT, INT; RETURN 1,2; END PROCEDURE SELECT col FROM tab WHERE col = testproc(1); -- 错误 -685 过程<过程名>返回太少的值。 从一个过程返回的值的个数少于调用者期待的值的个数。 错误的例子: CREATE PROCEDURE testproc (arg INT) RETURNING INT, INT; RETURN 1,2; END PROCEDURE UPDATE tab SET (c1, c2, c3) = (testproc(1)); -- 错误 -686 过程<过程名>返回超过一行的值。 一个过程在调用者期待只返回一行值的时候,返回了超过一行的值。(例如,它执行 RETURN... WITH RESUME) 错误的例子: CREATE PROCEDURE testproc (limit INT) RETURNING INT; DEFINE i INT; FOR i IN (1 TO limit) RETURN i WITH RESUME; END FOR END PROCEDURE; CREATE PROCEDURE gettest() DEFINE var INT; LET var = testproc (10); -- 错误 END PROCEDURE -687 在跟踪存储过程前设置调试文件。 一个 TRACE 语句(除了 TRACE OFF)在一个 SET DEBUG FILE 语句前执行。不知道 TRACE 语句 的输出到何处。 错误的例子: TRACE procedure; -- 错误 更正: SET DEBUG FILE TO trace.out';
    TRACE procedure;
    -688 变量<变量名>必须被说明为 CHAR 或 VARCHAR。
    说明了 CHAR 或 VARCHAR 数据类型以外的变量。更正说明并重试。
    -689 全局变量<变量名>说明不合理。
    两个或更多的执行着的过程定义了不同数据类型的同一个全局变量。
    错误的例子:
    CREATE PROCEDURE test1()
    DEFINE GLOBAL glob INT DEFAULT 10;
    ...
    END PROCEDURE
    CREATE PROCEDURE test2()
    DEFINE GLOBAL glob CHAR (9) DEFAULT USER;
    ...
    END PROCEDURE
    更正:一致地说明全局变量。(使用合适的命名约定将是有用的。)同一数据类型但不同长度
    的两个变量被认为是不一致的。
    -690 不能从参考表<表名>中读取码。
    指示约束不能生效。参照 ISAM 错误以得到更多的信息。如果使用级连的删除,数据库日志必
    须打开。
    -691 在参照约束<约束名>的参照表中遗漏键。
    一个参照约束被违反。这种情况常常发生在试图将值插入到一个是某个参照约束的一部分的
    字段中,或修改这样的字段的值时发生。试图键入的值在参照的(父键)字段中不存在。如
    果使用级连的删除,数据库日志必须打开。
    -692 约束<约束名>的键值仍然被参照。
    违反了一个参照约束。这种情况常常在试图删除正被另一行(子键)参照着的一个字段中的
    一行(父键)时发生。如果使用级连的删除,数据库日志必须打开。
    -693 系统命令期待一个非 null 值。
    一个 null 值被传递给 SYSTEM 语句。
    错误的例子:
    DEFINE c CHAR(100);
    LET c = NULL;
    ...
    SYSTEM c; -- 错误
    -694 太多的参数传递给过程<过程名>。
    传递给过程的参数比过程说明接受的参数多。
    -695 参数不是过程<过程名>的一个参数。
    一个命名的参数被传递给一个过程,但那个命名的参数不存在。
    错误的例子:
    CREATE PROCEDURE testproc (arg1 INT, arg2 INT)
    RETURNING INT;
    ...
    RETURN 1; END PROCEDURE SELECT col FROM tab WHERE testproc
    (arg1 = 10, arg5 = 20); --错误
    -696 变量<变量名>有未定义的值。
    一个变量被使用但从未赋一个值。
    错误的例子:
    DEFINE i, j INT;
    LET i = j + 1; -- 错误
    更正:在使用各个变量和参数之前赋予它们一个合法的值。
    -697 STEP 表达式求值得 ZERO。
    一个 FOR 语句的 STEP 表达式计算得零。
    错误的例子:
    LET e = -1;
    FOR i = 10 TO 20 STEP e+1; -- 错误
    ...
    END FOR
    更正:改变 STEP 表达式使得它计算出一个非零的值。
    -698 不一致的事务。服务器的数和名称滚回<服务器>。
    如果有 INFORMIX-STAR 两阶段提交或分布式事务以混合结果实现时,则返回该信息。这就是
    说,一些参与该事务的 OnLine 数据库服务器滚回了整个事务中它们那个部分,但另外一些数
    据库服务器则提交了整个事务中它们那部分。滚回工作的数据库服务器的数目总是精确的但
    服务器名称的列表(被 DBSERVERNAME 值指定的)可能是不完整的。如果大量的服务器滚回工
    作,列表可能被截断到保存空间。参考协调者 OnLine 信息日志以得到服务器名称的完整列表。
    如果这个信息返回,你必须决定是否你的网络数据库系统处在一个不一致的状态。这个过程
    的详细描述在 INFORMIX--OnLineAdministrator's Guide 中(或,对版本 6.0 或更高,在
    INFORMIX--OnLine DynamicServer Administrator's Guide 中)。
    -699 事务启发式地滚回。
    如果一个INFORMIX-STAR 两阶段提交事务被所有参与的OnLine数据库服务器启发式地滚回,
    将返回这个信息。因为全部数据库服务器滚回了这个事务,网络上的数据库系统依然是一致
    的。
    -700 在一个全局事务中语句是无效的。
    当用户试图在一个全局事务中执行一个 BEGIN WORK,COMMIT WORK, 或 ROLLBACK WORK 语句时
    产生该错误。
    -701 在 XA 环境中语句是无效的。
    在一个 X/Open 分布的事务处理环境中执行下面任意语句就会产生该错误:
  • CLOSE DATABASE
  • CREATE DATABASE
  • DROP DATABASE
  • SET LOG
    在这种环境下,可以在一个 xa_open 的调用之后执行一个单一的 DATABASE 语句来指定当前
    的数据库。但是,在该数据库被选择之后,不能执行其它的 DATABASE 语句。该错误产生于试
    图再次执行 DATABASE 语句时。
    -702 不能认排他模式打开数据库。
    在一个 X/Open 分布的事务处理环境中,不能认排他模式打开一个数据库。
    -703 在表<表名>中主键有一个带 null 键值的域。
    不能在一个是主键一部分的字段中插入一个 null 值。
    -704 主键已在表中存在。
    一个表只能有一个主键。
    -705 不能取消/修改过程<过程名>。它当前正在使用中。
    试图取消一个正在执行的过程,或在当前正在执行的过程上执行一个 UPDATE STATISTICS。
    该错误发生在一个过程试图取消它本身或一个嵌套的过程试图取消调用它的过程时。
    错误的例子:
    CREATE PROCEDURE testproc()
    ...
    DROP PROCEDURE testproc; -- 错误 END PROCEDURE
    更正:可以使用一个 ON EXCEPTION 语句捕获该错误,且不执行 DROP PROCEDURE 或 UPDATE
    STATISTICS 语句
    -706 在过程<过程名>中执行的权限被取消。
    一个用户如果未拥有过程或不是 DBA,则必须有执行权限去运行一个过程。
    -707 在光盘聚类中的 Blob 字段必须是不同的。
    同一字段在 CREATE OPTICAL CLUSTER 语句中 FOR 子句的字段列表中被指定了一次以上。改
    变语句使得字段不能出现一次以上。
    -708 光盘聚类<聚类名>已经存在。
    试图用一个已存在的聚类名称产生一个新的光盘聚类。必须取消已存在的聚类,或用一个不
    同的聚类名称重执行该语句。
    -709 Blob 字段<字段名>已经聚类。
    已经用命名了的 blob 字段产生了一个光盘聚类。因为一个单一的 blob 字段只能是一个光盘
    聚类的一部分,因此试图在该字段上产生一个新的聚类失败。
    -710 表<表名>已经取消、更改或改名。
    这个错误可能在明确准备好的语句中发生。这些语句具有形式:
    PREPARE 语句 标识号 FROM 带引号的字符串
    当一个语句在一个数据库服务器中准备好以后且用户执行它之前,表被改名或更改,可能是
    改变表的结构。结果将出现问题。
    这个错误也可能在存储过程中发生。在数据库服务器第一次执行一个新的存储过程之前,它
    优化在存储过程中的代码(语句)。优化使代码依赖于过程参照的表的结构。如果在过程优化
    后,但还没有执行前,表结构改变了,将产生这个错误。
    每个存储过程在它第一次运行(而不是它被创建)时被优化。这种行为说明一个存储过程在
    它第一次运行时可能成功,但以后在同一个实际的环境中会失败。存储过程的失败也可能是
    间歇的,因为在一次执行中的失败将强制一个内部警告在下一次执行以前重新优化过程。
    数据库服务器有一个存储过程显式参照的表的列表。无论何时这些显式参照表中的一部分被
    修改了,数据库服务器在过程下一次执行时重新优化该过程。
    但是,如果存储过程依赖于一个只是间接参照的表,数据库服务器无法在表被改动后发现重
    新优化过程的需要。例如,如果一个存储过程调用了一个触发器,一个表就能被间接参照。
    如果被那个触发器参照(但没有被存储过程参照)的表改变了,数据库服务器不知道它应该
    在那个存储过程运行以前将其重新优化。当该存储过程在表被修改后运行,这个错误可能发
    生。
    使用下面两种方法之一从这个错误中恢复:
  • 发出 UPDATE STATISTICS 语句以强制重新优化过程。
  • 重新运行该过程。
    为了防止这个错误,可以强制存储过程的重新优化。要强制重新优化,执行下面的语句:
    UPDATE STATISTICS FOR PROCEDURE <过程名>
    可以将这条语句用下列的任一方法加在程序中:
  • 将 UPDATE STATISTICS 语句放在每个改变了对象模式的语句后面。
  • 将 UPDATE STATISTICS 语句放在每个存储过程执行之前。
    更有效地,可以将 UPDATE STATISTICS 语句和程序(改变对象模式或执行过程)中不经常发
    生的动作放在一起。大多数情况下,程序中不经常发生的动作是对象模式的改变。
    当按照这种办法从这个错误中恢复时,必须为每个间接参照了改变的表的过程执行
    UPDATE STATISTICS 语句,除非该过程也显式地参照了这个表。
    也可以通过简单地重新运行存储过程来从这种错误中恢复。存储过程第一次失败时,数据库
    服务器标志该过程为需要重新优化。下次运行这个过程,数据库服务器在运行它之前优化它。
    但是两次运行存储可能既不实用也不安全。一个安全的选择是使用 UPDATE STATISTICS 语句
    来强制过程的重新优化。
    -711 不能插入编码的 BLOB 描述符。
    使用 DESCR() 函数插入一个编码的 blob 描述符失败。参看 ISAM 错误以得到更多的信息。
    -712 不能在非光盘的 BLOB 字段上插入编码的 BLOB 描述符。
    试图使用DESCR()函数在一个存储在dbspace 或 blobspace中的 TEXT或BYTE字段中插入一
    个编码的 blob 描述符。只能使用该函数将描述符插入存储在光盘媒体上的 blob 字段。
    -713 不能为 BLOB 描述符解码。
    一个 blob 描述符在插入数据行之前解码失败。参看从光盘子系统中来的的错误(在 7000 到
    7199 范围中的错误)以得到更多的信息。
    -714 不能为 BLOB 描述符编码。
    一个为了在光盘媒体中存储的 blob 描述符的编码失败。参看从光盘子系统中来的错误(在
    7000 到 7199 范围中的错误)以得到更多的信息。
    -715 事务状态错。
    检索事务状态错误。参看 ISAM 错误以取得更多的信息。
    -716 可能不一致的事务。<服务器名称列表>是未知的服务器。
    在管理员杀死一个协调者之后该信息出现-OnLine 数据库服务器进程、线索或会话使用
    tbmode -z 或 onmode -z 一个协调者作出决定提交或滚回一个两阶段提交事务之后的任何时
    间。必须检查未知的服务器每次决定是否本地事务被提交或滚回时留下的 OnLine 信息日志或
    OnLine 逻辑日志。如果一些参与的 OnLine 数据库服务器滚回事务且其它的提交它,必须判
    定联网的数据库系统是否处于不一致状态。这个过程在 INFORMIX--OnLine Administrator's
    Guide (或,对于版本 6.0, 在 INFORMIX-OnLine Dynamic Server Administrator's Guide
    中)中作了详细的描述。
    -717 无效的参数传递给系统函数<函数名>。
    一个无效的数据类型被传递给算术函数之一。(HEX(), TRUNC(), ROUND())。
    -718 当一个全局的事务被挂起时语句是无效的。
    如果一个作为资源管理器运行的 OnLine 数据库服务器在一个 X/Open 分布的事务处理环境中
    已经挂起了一个事务,它的下一个语句必须是 xa_start。全部其它语句皆不允许。
    -719 循环变量<变量名>不能说明为 GLOBAL。
    一个全局变量不能用作循环变量。重新定义使它对于循环是局部的,或用另一个(局部的)
    变量作为循环变量。
    -720 在 FOREACH SELECT 中的字段数与变量的个数不匹配。
    在 SELECT 返回的字段数和在 INTO 列表中指定的变量数之间存在不匹配。更正 INTO 列表中的
    变量数。
    -721 存储过程<过程名>不再有效。
    试图从一个 EXECUTE 语句执行一个过程,但它在 PREPARE 语句运行后已经重新定义了。必须
    在 EXECUTE PROCEDURE 语句上再使用 PREPARE 语句。
    例如,下面的代码序列将产生该错误:
    $prepare pr_stat from execute procedure testproc()'; ... /* drop procedure testproc create procedure testproc() ...... [same application or different] */ ... $execute pr_stat; /* 触发器错误 -721 */ -722 堆栈空间溢出。 服务器运行的堆栈空间溢出。请求 Informix 数据库管理员增加在$ONCONFIG (或 $TBCONFIG) 文件中指定的 STACKSIZE 参数以分配更多的内存。为使此改变生效,OnLine 必须重新开始。 -723 不能禁止在一个符合 ANSI 标准的数据库中进行日志。 试图使用 START DATABASE <数据库> WITH NO LOG 句法去取消在一个符合 ANSI 标准的 SE 数 据库上的数据库日志。不能在这种数据库上运行该语句来关掉日志。 -724 系统初始化文件$INFORMIXDIR/cnv50t60.sql 丢失。 确定$INFORMIXDIR/cnv50t60.sql 在正确位置且可读。如果确是,系统仍然失败,重装系统。 -725 当读取系统初始化文件$INFORMIXDIR/cnv50t60.sql 时出错。 确定手迹文件$INFORMIXDIR/cnv50t60.sql 是可读的。如果是这样但仍失败,重装系统。 -726 dbinfo()的第一个参数必须是一个引号引起的串常数。 确定 dbinfo()的第一个参数是对应于下面值之一的引号串:dbspace',
    sqlca.sqlerrd1', 或sqlca.sqlerrd2'。
    -727 无效或 NULL tblspace 数送给 dbinfo(dbspace)。
    dbspace' 串常数作为第一个参数调用 dbinfo() 函数。必须提供一个有效的表空间的数 或一个能计算出与第二个参数一样的数的表达式。检查是否提供了一个数作为第二个参数, 并且对应于一个有效的表空间的数。 -728 dbinfo <参数名>的第一个参数未知。 dbinfo()函数的有效的参数是引用串dbspace' 后跟一个有效表空间的数或下面两个值之
    一:sqlca.sqlerrd1' 或 sqlca.sqlerrd2'。确定提供了这些值之一,并且用引号引起了
    串。
    -729 触发器没有触发操作。
    CREATE TRIGGER 语句不包括一个触发操作。在触发器定义中增加一个触发操作列表,然后重
    新提交 CREATE TRIGGER 语句。
    -730 如果触发器没有 FOR EACH ROW,不能指定 REFERENCING。
    在一个不包括FOR EACH ROW触发操作节的CREATE TRIGGER语句中包括了一个REFERENCING 子
    句。删掉 REFERENCING 子句或,如果恰当的话,增加遗漏的关键字 FOR EACH ROW,后跟一个
    此时要发生的触发操作。
    -731 在触发器主体中参考的字段的使用是无效的。
    为了插入和删除触发器,这意味着在 EXECUTE PROCEDURE 语句(只在一个修改触发器中允许)
    的 INTO 子句中使用了冲突的字段。从 INTO 子句中删除字段名称。
    -732 在触发器内部旧的或新的值相关名称的非法使用。
    不能在 FOR EACH ROW 节外,或在 EXECUTE PROCEDURE 语句的 INTO 子句之中使用旧的或新
    的相关名称。使用旧的或新的相关名称来验证 SELECT COUNT DISTINCT 字段也是无效的。例
    如下面的语句返回该错误:
    SELECT COUNT (DISTINCT oldname.colname)
    不能对一个插入触发器指定一个旧的相关名称,不能对一个删除触发器指定一个新的相关名
    称。
    -733 不能在 CREATE TRIGGER 语句中参考过程变量。
    在一个存储过程内部有一个 CREATE TRIGGER 语句,在 CREATE TRIGGER 语句中参考了在存
    储过程中定义的变量。这是非法的。删掉从 CREATE TRIGGER 语句中对存储过程变量的参考,
    再试一次。
    -734 对象名称匹配旧的或新的值相关名称。
    该错误在下面三种情况下返回:
  • 触发表名称,或同义字,(如果使用了),匹配 REFERENCING 子句中的旧的或 新的
    相关名称。
  • 在动作子句中参考的表名称,或同义字,(如果使用了),匹配 REFERENCING 子句中
    的旧的或新的相关名称。
  • 旧的相关名称匹配新的相关名称。
    改变相关名称或表名称,然后再执行 CREATE TRIGGER 语句。
    -735 不能参考参与在级联删除中的表。
    如果一个子表在一个相关的子查询中被参考,该子查询是 DELETE 语句的一部分,这个子表不
    能是一个删除将要级联的表之一。不允许的原因是结果依赖于行被处理的次序。重写查询使
    子表不在相关的子查询中被参考。
    -736 分辨率在 LOW 模式下无意义。
    既然数据分布只建立在 MEDIUM 或 HIGH 模式下,因此指定的分辨率是无意义的。取消
    RESOLUTION 子句或将模式从 LOW 改变为 MEDIUM 或 HIGH。
    -737 信任对 HIGH 模式无意义。
    从该语句删掉信任值。即,如果冲突的语句是:
    UPDATE STATISTICS HIGH RESOLUTION 0.1 0.99;
    将其改变为:
    UPDATE STATISTICS HIGH RESOLUTION 0.1;
    如果想要一个基于抽样而不是使用字段中的全部数据的分布,应该用 MEDIUM 替换 HIGH。
    -738 DROP DISTRIBUTIONS 只在 LOW 模式下有效。
    缺省地,LOW 模式不能取消分布,所以需要 DROP DISTRIBUTIONS 子句。如果要取消 HIGH 或
    MEDIUM 分布,使用 DROP DISTRIBUTIONS 子句。
    -739 信任必须在范围[0.80, 0.99](包括)之内。
    如果一个想要的信任值大于 0.99,使用 HIGH 模式。小于 0.80 的值是不允许的因为可能会得
    到一个很差的分布。如果降低信任以使执行一个更新统计命令的时间降低,应该考虑使用较
    大的分辨率值。
    -740 分辨率必须大于 0.005,或小于等于 10.0。
    该参数值决定数据分布的分辨的精确程度。一个 10.0 的分辨率意即为任何单一选定过滤器的
    应用的估计的精确度限制于(+或-)百分之五。大于 10.0 的值无意义因为它不能提供关于数
    据分布的足够的细节。
    -741 同一事件的触发器已经存在。
    为一个事件产生一个触发器,但是已经存在一个该事件的触发器。在一个表中只能有
    一个插入或删除触发器。如果在一个更新中定义了多重触发器,在 UPDATE 语句中的字段列表
    必须是互相排斥的-即,不能在超过一个的 UPDATE 子句中将一个字段命名为触发字段。
    -742 触发器和指示的约束不能共存。
    删掉不能与指示的约束共存的触发器。
    -743 对象<对象名>已经在数据库中存在。
    试图在数据库中定义一个已存在的对象。
    -744 在触发器中不合法的 SQL 语句。
    当触发的 SQL 语句是 BEGIN WORK, COMMIT WORK, ROLLBACK WORK, 或 SET CONSTRAINTS 时
    该错误返回。这些语句在作为触发操作时是不允许的。删掉冲突的语句。
    -745 触发器执行失败。
    该信息为在触发操作的存储过程中指定错误条件这一普遍用途而定义。
    -746 <信息串>。
    为这条信息提供信息字符串。当在一个触发操作的存储过程指定错误条件时可以提供这条信
    息。对该错误的改正操作依赖于产生它的条件。条件和信息文本均由用户定义。
    -747 表或字段匹配在触发器语句中参考的对象。
    该错误在下述情形返回:当一个触发的 SQL 语句作用在触发表上时,或当两种语句被更新且
    字段在触发的操作中被更新与字段被触发语句更新是一样时。
    -748 级联的触发器数超过了最大极限。
    超过了级联触发器的最大数 61。可以关掉触发器而不实现它。可以查询 systriggers 系统目
    录表,找出在数据库中存在着什么样的触发器。考虑在存储过程中放置初始化触发器动作子
    句并使用 SPL TRACE 语句跟踪触发动作。
    -749 远程游标操作在 5.01 之前的服务器上不允许。
    触发器语句或游标操作由 5.01 之前的数据库服务器发送。这是不允许的。
    -750 发现对<表名>的无效的分配格式。
    这个内部错误一般不会发生,除非数据库在某种程度上损坏了。用 UPDATE STATISTICS 重建
    分布。如果错误仍然发生,请记录全部环境并与 Informix 技术支持部联系。
    -751 在 5.01 之前的服务器上不允许执行远程过程。
    触发器的动作子句包含一个未在数据操作语句中调用的存储过程,该过程将被一个外部的
    5.01 之前的数据库服务器执行。这是不允许的。一个在数据操作语句中调用的存储过程受执
    行某种 SQL 语句的限制,包括与处理有关的语句。与处理有关的语句在一个触发器动作的存
    储过程中是不允许的。一个早于 5.01 的数据库服务器不配备来检查这些,所以过程是不允许
    的。如果可能,在一个 5.01 数据库服务器上执行该过程。
    -752 全部 Smart Disk 设备忙。
    等待一段时间,重试 Smart Disk 操作。
    -753 拒绝存取-已超越了单用户极限。
    许可加强只为单用户配置;多重用户不能同时使用本产品。如果在一个远程机器上使用本产
    品,该产品只对非网络环境实施许可。如果从本地机器上使用本产品,等待当前用户退出后
    再试一次。
    -754 不能存取许可证文件。
    系统找不到用户的许可证文件。用户许可证文件可能尚未安装或未正确安装。也可能因为没
    有存取用户许可证文件的正确的文件许可或目录许可。参考安装文件。
    -755 不能存取许可证文件以发布许可。
    可能不具备进行某种特定操作的许可。与系统管理员一起检查。
    -756 评测版本已经期满。
    本产品的评测版本只能工作一段指定的时间周期。它允许你评测本产品但不能长期使用。当
    评测版本期满后,电话联系 Informix 定购本产品的标准版本。
    -757 为轻附加进行的文件打开不能伪关闭。
    这是一个内部错误。如果错误再次发生,请记录全部环境并与 Informix 技术支持部联系。
    -758 不能隐含地重连接一个新服务器<服务器名>。
    如果使用 CONNECT TO 语句连接一个服务器,不能通过 DATABASE,START DATABASE 等等
    DATABASE 语句之一隐含地重连接另一个服务器。必须用 SET CONNECTION 语句转向它。
    -759 在一个显式的数据库连接中不能使用数据库命令。
    如果连接到一个数据库且服务器使用 CONNECT TO <数据库>@<服务器>句法,直到关闭当前连
    接之前不能使用另一个数据库。
    -760 远程过程必须在返回之前提交或恢复。
    当过程将控制返回应用之前远程过程必须执行 COMMIT WORK 及 ROLLBACK WORK 语句。
    -761 INFORMIXSERVER 与 DBSERVERNAME 或 DBSERVERALIASES 都不匹配。
    INFORMIXSERVER 环境变量与 DBSERVERNAME 或设置在试图连接的服务器的 ONCONFIG 配置文
    件中的任何 DBSERVERALIASES 不匹配。检查环境变量和 ONCONFIG 配置文件,确保
    INFORMIXSERVER 与 ONCONFIG 文件中的一个设置匹配。
    -762 进行语句分析时栈溢出。
    这条错误说明 SQL 分析器已达到了一个内部的内存极限。当查询包含过多的嵌套表达式时出
    现该错。例如,该查询的 WHERE 子句中包含很多 AND 或 OR。解决的办法是重写查询取消一些
    嵌套的表达式。
    -763 检查环境初始化错误。
    这是一个全目标信息,意在指出当用户试图与一个加密的数据库服务器连接时出现了问题。
    与安全管理员或 DBA 联系如何进行操作。
    -764 在该方式中只有 DBA 可以在数据库上运行修改统计。
    试图在该方式中,在整个数据库上带 DROP DISTRIBUTIONS 子句运行 UPDATE STATISTICS
    语句,并且不是 LOW 模式。只有用户 informix 或数据库管理员可以做该操作。
    -765 不能 EXECUTE 一个已 DECLARE 的语句。
    不能执行一个已经说明的准备好的语句。但是,可以使用 EXECUTE INTO (或 EXECUTE
    PROCEDURE INTO) 而不是执行 DECLARE, OPEN,和 FETCH 语句为一个准备好的单个的 SELECT
    语句指定一个输出变量。
    -766 串必须以 null 结尾。
    在 INFORMIX-ESQL/C 中,如果在一个 INSERT 语句或一个 SQL 语句的 WHERE 子句中使用宿主变
    量,且数据库是 ANSI 兼容的,串必须以 null 结尾。
    -767 不能用带检查选项的视窗 UPDATE/INSERT 一个远程表。
    当使用带检查选项的视窗时,不能对驻留在网络之上的表执行 UPDATE 或 INSERT 操作。从视
    窗中取消全部检查选项或本地执行 UPDATE/INSERT。
    -768 在例程<例程名>中内部错误。
    如果又发生该内部错误,请记录全部环境并与 Informix 技术支持部联系。
    -769 内部错:循环因子执行/状态错误参数。
    请记录全部环境并与 Informix 技术支持部联系。
    -770 指定了一个错误的分段 id。
    这是一个内部错误。如果没有找到直接的原因,请记录全部环境并与 Informix 技术支持部
    联系。
    -771 指定了一个错误的表锁定 id。
    如果没有找到导致此内部错误的直接原因,请记录全部环境并与 Informix 技术支持部联系。
    -772 记录/键对任何表/索引分段都不合格。
    该错发生在插入或更新一个记录时。最可能的原因是一个未指定 REMAINDER 的非法的分段存
    储说明。最容易的改错方法是增加一个 REMAINDER 分段到 SQL 语句中。但是最好的方法可能
    是重新检查原始的分段存储说明,找出错误的原因,在 ALTER FRAGMENT 语句中定位它。
    -773 表达式要求一个新的分段。
    当增加一个分段到一个基于分段存储策略的表达式中时,必须为新的分段指定一个表达式。
    重写 SQL 语句使之包括一个分段表达式。
    -774 不能用一个 round-robin 分段存储指定分段表达式。
    如果表分段存储是基于 round-robin 策略的,在 ALTER FRAGMENT 操作中不能指定一个分段
    表达式。
    -775 该 dbspace 不能被表/索引使用。
    在 ALTER FRAGMENT 操作中指定的 dbspace 不正确,因为在 dbspace 中没有分段。指定一个有
    分段的 dbspace。
    -776 变更分段错:不能将行移到新的分段存储方案中。
    在 ALTER FRAGMENT 操作中,行不能移到另一个分段存储策略中。查看伴随的 ISAM 错误以得
    到更多的为何 ALTER FRAGMENT 操作失败的信息。
    -777 内部错:函数在分段表上无效。
    如果没有找到导致此内部错误的直接原因,请记录全部环境并与 Informix 技术支持部联系。
    -778 不能在索引上变更分段存储的方案。
    在 ALTER FRAGMENT 操作中,索引的分段存储策略不能变更。查看伴随的 ISAM 错误以得到更
    多的为何 ALTER FRAGMENT 操作失败的信息。
    -779 在变更分段说明中重复使用了表名。
    你不能多次联结同一个表。请确保在你变更分段说明时,每个表只能联结一次。
    -780 表/索引未被分段。
    由于表或者索引未被分段,你不能执行 ALTER FRAGMENT 操作。对表或索引进行分段,或者
    不要执行分段存储操作。
    -781 不能在一个临时表上变更分段存储。
    你试图变更一个基于临时表的分段。一般来说,不允许对 TEMP 表进行动态修改。如果你需要
    不同的分段存储模式,你必须重新生成临时表。
    -782 被连上的表是分段的。
    当你连上表时,被使用的表不能是被分段的。
    -783 由于模式不兼容,不能连上。
    互不兼容的表模式不允许你执行 attach 操作。当你执行 attach 时,表的模式必须相同。可
    以先用 ALTER TABLE 语句使模式兼容,然后再执行 ALTER FRAGMENT . . . ATTACH 操作。
    -784 由于参照约束的存在,不能分离。
    已存在的参照约束不允许你执行分离。在对 dbspace 或表执行 datach 操作之前,你必须先取
    消参照约束。
    -785 由于表或者索引的分段存储,不能取消字段。
    在取消字段之前,你必须变更分段存储表达式,除去对字段的引用。
    -786 所连的非分段表不在连接列表中。
    残留表必须在连接列表的第一个入口处。
    -787 "象表一样"地被分段的索引不能被变更。
    如果你未在 CREATE INDEX 语句中指定一个存储说明,那么索引将与基本表同样地被分段,同
    时要满足分段索引的各种限制条件。例如,如果基本的分段存储策略为 round-robin,而索
    引为唯一的,那么将返回一个错误码。你不能变更这种索引分段存储类型。如果你希望变更
    索引分段存储,你可以使用 ALTER INDEX 的 INIT 选项分离索引。这就使得索引与表是相互
    独立的,从而允许你分别独立地变更它们。
    -788 不认识的操作符/类型。
    如果找不到导致此内部错误的直接原因,请记录所有的错误现场,并与 Informix 技术支持部
    联系。
    -789 内部错误,表达式定义得不正确。
    如果找不到导致此内部错误的直接原因,请记录所有的错误现场,并与 Informix 技术支持部
    联系。
    -790 Rowids 在表中已经存在。
    不能多次生成 rowids。你试图在一个已经定义了 rowids 的表中加入 rowids。不要运行导致
    这个错误的命令。
    -791 无法打开 Informix 口令文件。
    请检查 INFORMIXDIR 环境变量,确保它的值设置正确。同时检查 Informix 的口令文件
    INFORMIXDIR\ETC\PASSWD。如果Informix口令文件被毁坏或者删除,请重新安装INFORMIX-SE
    数据库服务器。
    -795 在寻找中断的时候发生错误。可能未装入 INFORMIX-NET for Windows TSR。
    如果你希望通过网络同一个 INFORMIX-OnLine for NetWare 数据库服务器通讯,你必须在
    DOS 环境下运行 INETIPX.EXE TSR(内存驻留程序)。请确保你有足够的内存来装入该 TSR。
    -801 SQL 编辑缓冲区已满。
    文本编辑器无法扩展用来保存你的 SQL 语句的缓冲区,因为没有更多的可用数据空间内存。
    如果你在缓冲区中有多个语句,请逐个地执行它们。
    -802 不能打开运行文件。
    无法打开要你指定的、需要读取的 SQL 命令文件。请检查一下指定的文件名。如果它拼写无
    误,那么请确保它位于当前目录或 DBPATH 环境变量中的一个目录之中,而且你的帐户有对它
    的读取权限。
    -803 文件过大,无法进行内部编辑。
    你用“选择”选项选定的 SQL 命令文件太大,无法存入编辑缓冲区中。编辑缓冲区的大小是
    动态变化的,程序无法为存放命令文件的内容分配足够的存储空间。(在 DOS 下,如果命令文
    件的大小超过了 64K 字节,那么也会发生这个错误。)请确保你指定的文件是你实际需要的,
    而且是一个 SQL 命令文件。如果它确实是你希望指定的,那么你只能将它拆成若干个小的文
    件,然后分别使用它们。
    -804 注释不完整。
    这个语句包含一个位于大括号之中的注释 { },但是括号不完全匹配。请检查语句中的标点
    符号,确保所有的大括号都有配对。
    -805 不能打开装入文件。
    打不开 LOAD 命令中指定的输入文件。请检查伴随的 ISAM 错误码以得到更多的信息。可能需
    要更完整的路径名;文件不存在;你的的帐户没有对它或者它所在的目录的读取权限。
    -806 不能打开卸载文件。
    打不开 UNLOAD 命令中指定的输出文件。请检查伴随的 ISAM 错误码以得到更多的信息。可能
    需要更完整的路径名;文件虽然存在但是你的帐户没有对它的写权限;或者是磁盘已经满了。
    -807 不能打开文件进行输出。
    程序不能够打开你在 Save 选项中指定的文件。这个文件应该被保存在当前目录下。这可能是
    由于你的帐户没有对该目录的写权限。也可能是由于那个目录中存在一个同名的只读文件(你
    可以试试换一个名字保存来消除这种可能性)。也可能是由于磁盘已满。请检查操作系统信息,
    它可能告诉你更多的信息。
    -808 不能打开选择文件。
    你为Choose菜单选项指定的SQL命令文件不能被打开进行输入。请确保此文件在当前目录中,
    而且对你的帐户是可读的。
    -809 发生 SQL 句法错误。
    当前 LOAD 语句中的 INSERT 语句的句法无效。请检查它的标点符号以及关键字的用法。
    -810 不能打开用来保存的文件。
    SQL 命令文件不能被保存。请检查你的帐户是否有对当前目录的写权限,以及磁盘是否已满。
    -811 不能打开打印机进行输出。
    应用程序试图打开 DBPRINT 环境变量中指定的设备,结果失败了。请检查变量的设置,然后
    重新运行程序。
    -812 不能打开管道进行输出。
    在 Output 选项下你选择了 To-pipe 并且指定了一个程序或者命令来接收该输出。然而,
    INFORMIX-SQL 不能够打开到那个程序或者命令的管道。请重新检查一下你键入的命令或者程
    序,看它是否是有效的 UNIX 或 DOS 命令,而且它必须在当前的可执行程序路径中可以找到。
    同时看一下操作系统的错误信息,因为你可能超出了系统在内存或者进程方面的定额限制。
    -813 不能将输出写入管道(没有读取进程)。
    在 Output 选项下,你通过管道将输出送给命令或者程序。尽管管道已经建立起来(表明命令
    有正确的句法并且命名了已存在的程序),它可能被关闭了。这表明管道中的(第一个)程序在
    接收完所有输出之前终止了。它可能是由于一个错误而退出,也可能是由于你或者其他用户
    使用 kill 命令使它终止了。请检查一下管道程序的信息,这可能会对它退出的原因予以解释。
    -816 不能写文件(检查文件的许可权限)。
    不能对前一个命令中指定的文件进行写操作。这很可能是由于你的帐户没有对该文件进行写
    操作的权限。请检查许可权限,然后再运行程序。
    -817 不能读取文件(检查文件的许可权限)。
    不能读取前一个命令中指定的文件。这很可能是由于你的帐户没有对该文件进行读取的操作
    系统许可权限。请检查许可权限,然后再运行程序。
    -818 未找到指定的用户菜单。
    找不到需求的用户菜单。请检查菜单名的拼写。如果它确实是你所希望的,请检查当前数据
    库的 sysmenus 表的内容;该菜单可能未在数据库中定义。
    -819 菜单中没有菜单项。
    你选定的菜单中没有菜单项。你可以选择其他菜单或者修改当前的菜单。如果你认为菜单中
    应该有菜单项,请检查当前数据库的 sysmenuitems 表的内容。
    -820 没有更多的数据可以显示。
    被选中的行已经显示完毕。这不是一个可滚屏的显示器;这些行不能被再次显示出来。你可
    以从头重新开始查询或者输入一个新的查询。
    -821 不能为缺省的报表打开文件。
    你已经请求生成一个缺省的报表说明。这个文件被保存在当前目录中,但是某些问题使操作
    失败了。这可能是由于磁盘已满或者你的帐户不允许你在这个目录下写入文件。
    -822 语句已经被保存过了。
    当前的 SQL 语句已经用屏幕顶部显示的名字保存过了。(这条信息看起来不再出现。)
    -823 没有可以运行的语句。
    你选择了 Run 选项却没有输入 SQL 语句。你可以输入一个语句或者用 Choose 装入一个。
    -824 Insert 语句中遗漏了 values 子句。
    可能任何现在的 informix 产品不会返回该消息。如果它确实出现了,请参考-836 号错误的
    讨论。如果错误再次发生,请记录下所有的现场环境信息并与 Informix 技术支持部联系。
    -825 未找到程序。
    无法找到一个支持的可执行文件。它应该位于 INFORMIXDIR 环境变量指定的目录中。请与安
    装 informix 软件的人联系。
    -826 Fork 系统调用失败。
    这个内部错误表明不能启动一个子进程,这可能发生在使用了"使用编辑器"选项时试图从
    DB-Acess 进入 vi 时。请寻找可能给出更多信息的操作系统信息。重试同一操作,如果错误
    再次发生,请与你的系统管理员联系。在 DOS 系统下,你可能遇到了内存不足的情况;这时
    你可以退回到操作系统的命令行并重新提交你的程序。
    -827 未找到数据库。
    请参见错误号-329 的讨论。
    -828 未找到命令文件。
    在当前目录和DBPATH环境变量中列出的目录中都未找到你指定的需要进行编译的SQL命令文
    件。请检查名字的拼写以及 DBPATH 的设置。
    -829 未找到屏幕表格。
    在当前目录和 DBPATH 环境变量中列出的目录中都未找到你指定的需要进行编译的屏幕表格
    说明。请检查名字的拼写以及 DBPATH 的设置。
    -830 未找到报表。
    在当前目录和 DBPATH 环境变量中列出的目录中都未找到你指定的需要进行编译的报表说明。
    请检查名字的拼写以及 DBPATH 的设置。
    -831 在报表说明中发现错误。
    在对报表说明进行编译的过程中发现了一个或者多个错误。请编辑报表说明并重新进行编译。
    在这条提示的后面可以看到错误信息。它们可以在本书中找到。
    -832 在屏幕表格说明中发现错误。
    在对报表说明进行编译的过程中发现了一个或者多个错误。请编辑报表说明并重新进行编译。
    在这条提示的后面可以看到错误信息。它们可以在本书中找到。
    -833 Saceprep 不能对报表进行编译。
    报表编译器 saceprep 在对一个报表说明进行编译的时候遇到一个错误。请查找 saceprep 和
    操作系统的其它错误信息,可能会提供更多的信息。
    -834 Sformbld 不能对屏幕表格进行编译。
    报表编译器 sformbld 在对一个报表说明进行编译的时候遇到一个错误。请查找 sformbld 和
    操作系统的其他错误信息,可能会提供更多的信息。
    -835 当前的子句在交互方式下无效。
    WHERE CURRENT OF 子句只有在使用游标来读取行的程序中才有意义。在当前的交互式上下文
    中,你必须在你的 WHERE 子句中指定 CURRENT 之外的条件。
    -836 插入语句没有 values 子句。
    INSERT 语句是当前的 LOAD 命令的一部分,它需要一个 VALUES 子句。请进行更正,在语句中
    加入一个 VALUES 子句。
    -837 没有足够的可用内存。
    INFORMIX-SQL 需要为某一个小的工作区分配内存,但是不能分配。你可以终止程序的运行,
    然后重新启动程序;如果这样还不能解决问题,请找你的系统管理员要求更多的内存。在 DOS
    系统下,你需要释放掉一些磁盘空间。
    在 4.1 版之后,数据库服务器不再产生这条错误信息。请参看-208 号错误信息中的相关错误
    信息。
    -838 装入文件中的一行过长。
    LOAD 的输入文件中的每一行必须先整个地读入存储器之后才能得到处理。INFORMIX-SQL 在
    必要的时候重新设置它的内存缓冲区的大小以保存当前行,但是在当前的情况下它无法分配
    足够大的缓冲区。这个错误经常是由于装入文件中有 TEXT 或者 BYTE 类型的数据值,或者非
    常长的 CHAR 类型的值。一行的所有值必须包含在装入文件的一行中。如果你不能获得足够多
    的可用内存来重新运行程序,那么你修改装入文件,使之每行中的值更少或者更短。你也可
    以试用 dbload 实用工具来装入。
    -839 表未被找到。
    你指定了当前的数据库中不存在的一个表名。请重新察看表名的拼写并确保你使用了正确的
    数据库。请参考-310 号错误中关于如何显示所有表的名字的方法。
    -840 名字过长。
    数据库的名字以及报表、屏幕表格和其他文件的名字的长度不能大于 10 个字符。请选择一个
    新的、更短的名字,然后重复当前的操作。在 DOS 系统下,文件名中至多可以包含 8 个字符
    和另外 3 个字符的扩展名。
    -841 命名必须以字母或""开始,而且只能包含字母,数字或者""。
    数据库的命名,以及报表、屏幕表格和其他文件的命名都必须遵守上面所述的规则。请在正
    确命名之后重复当前操作。从 6.0 版开始,下列标识符的命名可以以下划线开始:字段,连
    接,约束,数据库,索引,过程,同义字,表,触发器,视图,服务器和游标名。
    -842 不能读取临时文件。
    INFORMIX-SQL 已经生成了一个临时文件;现在它正在试图从临时文件中读取数据。但是,它
    接收到一个非期待的操作系统返回码。这可能是由于你或者其他用户已经删除了这个文件,
    也可能是由于发生了一个硬件错误。
    -843 不能写临时文件。
    INFORMIX-SQL 正在试图将当前的 SQL 源文件写入一个临时文件以备编辑,它接收到一个非期
    望的操作系统返回码。请察看操作系统的错误消息以得到更多的信息。可能的原因是你的帐
    户没有对/tmp 目录或者 DBTEMP 环境变量中指定的目录的写权限,也可能是因为磁盘已满。
    从 5.01 版开始,DBTEMP 环境变量由 INFORMIX-SE 服务器使用,而不由 INFORMIX-OnLine 动
    态服务器使用。
    -844 语句过长(最多个字符)。
    INFORMIX-SQL 不能够分配足够大的内存缓冲区来存放该语句。你只能设法缩短该语句或者将
    其写成两个或多个部分。
    -845 数据库中没有用户菜单。
    本数据库中不包含系统菜单表或者菜单表是空的,也可能由于顶层菜单未命名为 main。确保
    你正在使用你实际想要使用的数据库。或者咨询为本数据库定义用户菜单的人。
    -846 装入文件中的值的个数与字段的个数不相等。
    LOAD 处理程序通过对装入文件的首行的定界符进行计数来判断装入文件中的值的个数。表中
    的每一个字段都必须有一个定界符;如果指定了字段列表,那么列表中的每一个字段都应该
    有一个分界符。请确保你指定的文件是你真正要的,而且文件中使用了正确的分界符字符。
    如果你不能保证这一点,请在 LOAD 命令中指定分界符。
    提示:装入文件中的空白行将导致该错误。确保装入文件尾部没有空白行。
    -847 在装入文件的<行号>行时发生错误。
    在装入数据文件的指出的行的数据时出现问题。在插入了指出的行之前的所有行之后(即插入
    了<行号>-1 行)。如果该操作位于一个事务中,该事务将被滚回;如果不是这样的,那么你
    在重复该操作之前需要删除表中已经插入的行或文件中已经使用过的行。为了改正文件,请
    察看一下附加的错误信息,这有助于找出问题所在。可能的原因是指出的行中的显示字段(分
    界符)不足或者太多。也可能由于存在数据转换的问题,例如一个数值型的显示字段中有非数
    值字符,DATETIME 值的格式不正确,或者一个串数据过长等。还有一种可能是在不允许出现
    null 的字段出现了 null 显示字段(长度为 0 的)。请编辑装入文件以纠正错误;察看一下后
    续的行中有无类似的问题,然后重复被中止的操作。
    -848 Form4gl 不能对屏幕表格进行编译。
    你请求对一个屏幕表格说明进行编译,但是屏幕表格编译器报告了一个或者多个错误。请在
    改正了屏幕表格说明之后重新进行编译。你可以在<屏幕表格名称>。err 文件中找到错误信
    息。
    -849 在屏幕表格说明中发现了一个(或多个)警告。
    你请求进行编译的屏幕表格说明已经编译完毕,但是屏幕表格编译器报告了一个或者多个警
    告信息。虽然你可以不理睬警告信息,直接试一下屏幕表格;但是建议你先消除这个警告。
    你可以在<屏幕表格名称>.err 文件中找到错误信息。
    -850 用户无权修改此菜单。
    只有生成本数据库的系统菜单的用户才能够修改菜单结构。该用户是在本数据库是"当前的"
    的时候选择"用户菜单"显示的"修改"选项的第一个用户。按照下面的方法查询 systables 找
    到这个人。
    SELECT owner FROM systables WHERE tabname LIKE `sysmenu*'
    如果这样不太合适,你可以请求那个人取消系统菜单和系统菜单项表,并且让应该维护系统
    菜单的人重新生成菜单。
    -851 不能删除文件(检查文件的许可权限)。
    你请求删除一个文件,但是这个文件不能被删除掉,这可能是由于你的帐户没有该文件或者
    它所在目录的写权限。请使用操作系统命令检查文件的权限。
    -852 写操作失败。卸出<计数>行(检查用户限制或磁盘空间)。
    在将<计数>行输出写入卸载文件之后,再试图写入下一行时发生错误。请检查一下操作系统
    信息,它可能给出更多的信息。这可能是由磁盘已满或者磁盘的定额限制引起的。
    -853 由于错误或者遗漏 COMMIT WORK,当前的事务被滚回。
    在执行一个命令文件中的 SQL 语句的时候,INFORMIX-SQL 接收到一个错误返回码,或者执行
    到文件的尾部却没有找到 BEGIN WORK 语句。由于事务正在进行之中(如果文件中包含 BEGIN
    WORK 或者数据库是符合 ANSI 标准的),INFORMIX-SQL 将事务滚回。(不能留下打开的事务,
    而且即使没有错误返回也不能假定成功。)
    -854 未发现后端或后端忙。
    在 DOS 中,应用不能与本地 INFORMIX- SE 引擎或 INFORMIX- NET PC 通讯模块建立连接。
    在与 SE 引擎(访问本地数据库)或 INFORMIX- NET PC 通讯模块建立连接之前,例如要使用
    DATABASE 语句,必须先把它们装入。运行 PSTARTSQ 可装入 SE 引擎,而运行 REMSQL 可装入
    INFORMIX- NET PC 通讯模块。如果已装入 SE 引擎或 INFORMIX- NET PC 通讯模块而你仍然收
    到了本错误信息,那么有可能是因为别的应用目前正与 SE 引擎或 INFORMIX- NET PC 通讯模
    块连接着(它们在同一时刻只能有一个连接),或者当前应用因为一个内部错而失掉了连接。
    如果是前一种情况,你必须要先释放那个连接,然后才能考虑连接当前应用。如果另外那个
    连接应用是一个 4GL 或 ESQL/C 程序,那么可通过执行 CLOSE DATABASE 语句或调用 SQLEXIT
    ()函数或索引退出来释放连接。
    如果是出现了内部错,你只能退出应用,然后通过 DOS 命令行杀死 SE 引擎或 INFORMIX- NET
    PC通讯模块。杀死SE后,你应该使用不需任何选项的PSTARTSQ命令重启它。要杀死INFORMIX-
    NET PC 通讯模块,使用-T 选项运行 SETNET 命令。杀死它之后,应该运行 REMSQL 重启它。
    当某个客户 Windows 应用使用了错误的.DLL 文件通过网络连接数据库服务器时,也可能出现
    这条错误信息。INFORMIX- NET PC 4.1 版本(如 4.1 版的 ESQL/C)上的 Client Windows 应
    用同样可在 INFORMIX- NET for Windows 5.01 版本上工作。查看是否有这两种产品在同一台
    客户机上并行工作。如果是这样,那么确认 5.01 版的 LDLLSQLW.DLL 文件,在 PATH 环境变量
    中的设置出现在 4.1 版的 LDLLSQLW.DLL 文件之前。另外,4.1 版的 LDLLSQLW.DLL 文件不应
    该出现在下面目录中:当前目录,MS- Windows 目录。MS- Windows 的 SYSTEM 目录,或者包
    含你正在运行应用的可执行文件的目录。
    -855 不能取消一个未分段的表的 rowid。
    你试图用 ALTER TABLE . . . DROP 句法来取消一个未分段的表的 rowid 字段。一个未分段
    的表有一个 rowid 字段,但它是不可取消的。
    -856 Rowid 在表中已经存在。
    指定的表已经存在一个 rowid 字段。你不能多次为同一个表生成 rowid。请修改你的 SQL 语
    句。
    -857 Rowid 在表中不存在。
    你不能取消一个不存在的 rowid。你指定的 rowid 并不存在于指定的表中。在你的 SQL 语句
    中应该避免使用 rowid。可以用主键代替 rowid 来删除数据。
    -858 不能在一个分段存储说明中指定同一个 dbspace 两次。
    你在同一个分段存储说明中多次指定了同一个 dbspace。请修改分段存储说明,使每个分段
    有不同的 dbspace。
    -859 'Distributions only'在一个 Update statictics LOW 请求中是无意义的。
    你不能在 UPDATE STATISTICS 语句的 LOW 模式中指定 DISTRIBUTIONS ONLY 选项。
    -860 一个分段的对象拥有的分段数必须大于 1。
    你将一个对象分成一个分段。要将对象放入一个单个的 dbspace,应该使用 IN 子句代替
    FRAGMENT BY 子句。
    -861 不能够生成新的 PDQ 线索。
    更多的信息请参见伴随的 ISAM 错误。
    -862 变更分段连接必须至少指定一个被消耗的表。
    你还没有指定将被消耗的表。请参见 INFORMIX-SQL 指南: 句法部分中关于 ALTER
    FRAGMENT . . . ATTACH 的句法和用法。
    -863 不能够分离一个带 rowid 的表。
    在你使用 ALTER FRAGMENT . . . DETACH 之前,你必须先取消 rowid。请参阅 INFORMIX-SQL
    指南: 句法部分的句法和用法。
    -864 不能够连上一个带 rowid 的表。
    在你连上一个表之前,你必须先取消残留表上的 rowid。
    -865 不能在增加或取消 rowid 的同时进行其他的变更表选项。
    你必须使用一个单独的 ALTER TABLE . . . ADD 或 ALTER TABLE . . . DROP 语句来增加或
    取消 rowid。
    -866 不能连上包含 serial 字段的表。
    在使用一个 ALTER FRAGMENT . . . ATTACH 语句之前,你必须先取消所有的 serial 字段或
    者修改字段的类型。
    -867 不能生成新的 rowid。
    更多的信息请参见伴随的 -ISAM 错误。如果一个表中有 serial 或 rowid 字段,那么表中能
    够容纳不超过 2G 字节的记录。
    -868 不能对残留表进行约束检查。
    如果残留表上有检查、参考、主键或 NOT NULL 约束,你就不能连上这个表。你应该先取消检
    查、参考或 NOT NULL 约束,连上表,然后重新建立那些极为重要的检查、参考或 NOT NULL
    约束。
    -869 在分段存储表达式中不允许出现子查询和过程。
    分段存储表达式只能引用当前表中的字段和一个单个行的数据值。这种限制使子查询、存储
    的过程等都是不允许的。
    -870 不能重复指定其余分段。
    你指定了重复的其余分段。请从你的 SQL 语句中删除一个其余分段。
    -871 Remainder 分段只能在最后指定。
    如果你指定了一个 REMAINDER,它必须是最后一个分段表达式。请重写你的句法,在最后指
    定其余字段。
    -872 在唯一的索引情况下的无效分段策略或表达式。
    唯一的索引不能用 round-robin 方法分段。如果索引是用表达式方法分段的,那么分段表达
    式中使用的所有字段都必须是索引键的一部分。
    -873 无效的分段表达式字段。
    你不能在一个分段表达式中同时使用不同表中的字段。
    -874 发生浮点异常错误。
    这个内部错误影响查询优化程序产生的费用计算。如果这个错误再次发生,请记录所有的环
    境信息并与 Informix 技术支持部联系。
    -875 存取方式与隔离级不兼容。
    如果你将存取方式设为 READ-WRITE,你就不能将隔离级设为 READ-UNCOMMITTED。
    -876 在一个事务启动之后不能使用 SET TRANSACTION。
    当有一个事务是活动的时候,不要使用 SET TRANSACTION 语句。在执行了 DLL 或者 DML 语
    句之后,一个事务成为活动的。在 BEGIN WORK 与 SET TRANSACTION 语句之间只允许有 SET
    EXPLAIN,SET CONSTRAINT,SET DATASKIP 等 SET 语句。
    -877 隔离级已由前面的 "Set Transaction" 设置。
    你的程序试图在 SET TRANSACTION 语句建立了隔离级之后对它进行重置。不要在一个 SET
    TRANSACTION 语句的后面使用 SET ISOLATION 语句。
    -878 对一个 READ-ONLY 事务进行了无效的操作。
    你在 SET TRANSACTION 语句中指定了一个 READ-ONLY 事务,然后试图变更数据库。也就是
    说,READ-ONLY 保证你可以读取数据,但是你不能够变更数据。如果你希望变更数据,你应
    该在 SET STATEMENT 语句中指定 READ-WRITE。如果你仅仅希望读取数据,请改正你的程序,
    使之不再试图去变更数据。
    -879 Trim 字符必须为 null 或者长度为 1。
    TRIM 函数计算出的值为 NULL。但是,TRIM 字符值表达式必须为 null 或者只包含一个字符。
    你编写的程序有错误。如果 TRIM 计算出的值为 NULL,说明你的程序插入 TRIM 字符值表达
    式的值既不是 null ,也不是单个字符。请改正该错误,程序编译,然后重新运行你的程序。
    -880 Trim 字符和 trim 来源必须都是串数据类型。
    当你使用 TRIM 函数时,TRIM 字符值表达式与来源字符值表达式的数据类型发生冲突。字符
    与来源的值表达式都必须是串数据类型的。请检查一下 TRIM 函数的句法,确保字符与来源
    的值都是串数据类型的。
    -881 TRIM 的返回串的长度必须介于 1 到 255 个字符之间。
    TRIM 函数返回的串的长度不是介于 1 到 255 个字符之间的。TRIM 函数返回一个 VARCHAR 串,
    而 VARCHAR 串的长度必须介于 1 到 255 个字符之间。确保 TRIM 返回的串的长度在有效范围之
    内。
    -882 不能在一个未被分段的表上生成 rowid。
    你试图使用 ALTER TABLE . . . ADD 句法在一个未被分段的表上增加一个 rowid 字段。这不
    是合法的用法,因为已经存在一个 rowid 字段,非分段的表上总是存在 rowid 的。
    -883 不能对分段存储表达式求值。
    你的程序中的一个分段存储表达式是无效的。请检查并改正之。请检查表达式的逻辑。表达
    式中的某些元件可能并不代表实际存在的或定义的元素,例如字段、散列值,范围,索引键
    等。
    -884 不能变更临时表上的索引。
    你的程序试图变更临时表上的索引。请改正你的程序。
    -885 传给 dbinfo(utc_to_datetime)的 utc 时间是无效的或 NULL。
    你试图将一个无效的或者 NULL 值传递给 dbinfo()函数。请确保你传递到 dbinfo()函数的值
    是有效的、非空的。
    -886 由于依赖关系的存在,不能取消表或视图。
    当你使用 DROP TABLE 或 DROP VIEW 语句时,如果你指定了 RESTRICT 选项并且存在一个视图
    或者外码约束依赖于表或视图,那么表或视图不能被取消。当你指定了 RESTRICT 选项并且该
    表存在一个检查和诊断表时,你同样不能取消该表。
    -887 由于权限、视图或约束的限制,不能取消。
    你不能使用 RESTRICT 选项 REVOKE 一个权限,如果该操作将导致被抛弃的权限、被抛弃的视
    图或者被抛弃的表约束。请参考 INFORMIX-SQL 指南:Tutorial 中的说明。
    -888 不能连上一个有约束的表。
    你试图连上一个有约束的表。请先将所有的参照的和主的约束去掉,然后重新试图继续连接。
    -889 内部的 dataskip 条件应该重新定位到下一行并继续。
    如果这个内部错误再次发生,请记录下所有的现场信息并与 Informix 技术支持部联系。
    -891 临时表对象仅仅可以被激活
    你不能改变临时表目标的目标模式为使不能的或者为过滤目标模式。
    -892 不能使目标<目标名>无效,由于其它活动目标正在使用它。
    其它目标正在使用这个目标,如果正在使无效的目标是一个索引,则一个唯一约束,基本约
    束或者引用约束可能正在使用这个目标。如果这个目标是唯一的或者是基本约束,则可能一
    个引用约束正在使用这个目标。
    -893 因为它的依赖性不能激活/产生目标<目标名>。
    用户已经发布了一个 SET 已经去设置数据库目标为使能或者过滤目标模式。或者用户已经发
    布一个 CREATE INDEX,CREATE TRIGGER 或者 CREATE TABLE 已经去产生一个使能的或者过滤模
    式的数据库目标。但是,这个目标需要其它的无效目标。比如,在使能一个表上的引用约束
    时,用户必须首先激活该约束需要的索引。
    -894 不能找到目标<目标名>。
    用户在 SET 语句中明确指定的目标名称在数据库中没有找到。
    -895 不能产生检查/诊断表。
    用户已经为一个目的表发布一个 START VIOLATIONS TABLE 语句。数据库服务器不能为这个
    目的表产生检查和诊断表。任一下列情况均可是失败的原因:
  • 目的表已经有一个检查/诊断表。
  • 在 START VIOLATIONS TABLE 语句中指定检查和诊断表的名称是非法的。
    比如,如果你在语句中漏了 USING 子句并且在目的表名称中的字符数加上四个字符
    比最大标识符长度长,检查和诊断表的产生的名称将比最大标识符长度长。
    如果检查和诊断表的名称因为这个原因非法,用户可以在 START
    VIOLATIONS TABLE 语句的 USING 短语中为检查和诊断表给出清晰的名称来纠正
    这个问题。
  • 在 START VIOLATIONS TABLE 语句中指定检查和诊断表的名称于数据库中
    已经存在的表名称匹配。
  • 目的表包括名为 informix tupleid 或者 informix optype 的列。由于这
    两个名称将复制检查表中的 informix tupleid 或者 informix optype 的列,数据库
    服务器不能产生检查表。
  • 目的表是临时表。
  • 目的表正在作为其它表的检查或者诊断表。
  • 目的表是系统目录表。
    -896 没有为目的表打开检查表。
    如果一个检查表或者诊断表没有为目的表开动,并且一个 INSERT,DELETE,或者 UPDATE 语
    句不能满足任一个表上的过滤模式的目标,发布这个 INSERT,DELETE 或者 UPDATE 语句的用
    户收到这个消息。
    要从这个消息恢复,你必须为目的表开动检查表和诊断表。然后当用户发布不能满足定义在
    该表上的过滤模式目标的 INSERT,DELETE 或者 UPDATE 语句时,他们不会收到这个消息。
    -897 不能修改/删除一个检查/诊断表
    用户试图修改或者删除正在作为另一个表的检查表或者诊断表的表。
    -898 不能改变与检查/诊断表联系的表。用户试图增加,删除或者修改某个有检查和诊断
    表与之相联系的表中的一个列。
    -899 太多的冲突
    在诊断表中的记录数超出或者将要超出在 START VIOLATIONS TABLE 语句中的 MAX ROWS 短语
    指定的上限。当一个在目的表上的简单语句(比如 INSERT 或者 SET 语句)引起要插入到诊断表
    的记录数比用 MAX ROWS 短语指定的上限多时。这个错误将返回给在该目的表上发布语句的用
    户。
    -903 许可的 INFORMIX-SQL 服务器不能被访问。
    这个语句引用了另外的宿主计算机系统,而且那个系统是活动的、可访问的。然而,sqlexecd
    网络 daemon 没有被启动,因此,不能从它那里得到数据库服务。请与该系统的 DBA 联系。请
    确保 INFORMIX-STAR 和 INFORMIX-NET 是正确安装的。
    -904 授权文件未在许可的 INFORMIX-SQL 服务器上注册。
    这条信息表明 Informix 网络软件的安装不完全正确。请检查工作站和网络服务器上的安装步
    骤,确保它是正确无误的。
    -905 不能定位在/etc/services 中定位 sqlexec service/tcp 服务。
    这个系统的 INFORMIX-STAR 或 INFORMIX-NET 软件安装得不正确。具体来说,未生成系统配置
    文件/etc/services (UNIX)或 \etc\services (DOS) 中的入口。请与安装你的 Informix 软
    件的人联系。
    -906 不能定位远程系统(检查 DBPATH)。
    INFORMIX-NET 正在搜索当前语句中请求的数据库。它使用 DBPATH 环境变量中提供的入口,
    逐个进行尝试,它使用//<节点名>的格式指定其它计算机系统上的目录。那个系统是不可访
    问的。请检查DBPATH环境变量的设置。确保它所指定的所有其它系统都安装了INFORMIX-STAR
    或者 INFORMIX-NET,并且当前是活动的。这条信息出现在 6.0 版之前。
    -906 不能够定位数据库服务器(检查 DBPATH)。
    在你的 DBPATH 环境中指定的服务器名称是不正确的。确定在 DBPATH 设置中,每一个服务器
    名称都是正确的,且未超过 18 个字符。6.0 版後有这条信息。
    -907 不能生成当前数据库服务器的套接字。
    INFORMIX-STAR 或者 INFORMIX-NET 正在试图访问另外的计算机系统,但是不能建立连接。请
    求你的系统管理员检查 TCP/IP 是否已经正确安装而且功能正常。
    -908 试图连接到数据库服务器(<服务器名>, conerr=<连接错误号>,
    oserr=<系统错误号>)失败。
    程序或应用正在试图访问其它的数据库服务器,但是失败了。请记录下当前语句中的服务器
    名以及消息中显示的连接错误号和系统错误号。
    所需的数据库服务器是不可使用的,或者由于网络已经关闭或被堵塞。请求你的 DBA 和网络
    管理员确认服务器和网络是否仍正在正常工作。如果网络被堵塞,可以通过设置
    INFORMIXCONTIME 和 INFORMIXCONRETRY 环境变量来调整连接计时。请参考"INFORMIX-SQL 指
    南:参考手册"的第 4 章中关于设置这些环境变量的说明。
    这条信息出现在 6.0 及以后版本。
    -908 试图连接到远程系统失败。
    INFORMIX-STAR 或 INFORMIX-NET 正试图存取另外的计算机系统,且已失败。注意目前语句
    中的节点名。以一个日志文件开始 daemon,并在这个日志文件中检查操作系统错误。如果得
    不到结论,就与系统管理员联系,并要求检查网络是否可运作,及特定节点是否活跃。
    这条信息在 6.0 版之前的数据库服务器里出现。
    -909 无效的数据库命名格式。
    这个语句看来引用了另外的数据库服务器上的数据库,但是数据库名称、节点名或服务器名、
    标点可能有误。请重新检查语句,确保所有的限定符都以字母开头(6.0 及以后版本,也可以
    是下划线),并且名字中只包含字母、数字或下划线,而且以 dbname@sitename 或
    //sitename/dbname(6.0 之 前 的 版 本 ) , 或 者 dbname@servername 或
    //servername/dbname(6.0 及以后版本)的格式。如果你正在使用 INFORMIX-OnLine for
    NetWare,请检查你是否按照产品手册中解释的几种格式提供了远程数据库的名字。
    -910 不能从一个 INFORMIX-SE 客户机上创建一个 INFORMIX-OnLine
    数据库。
    CREATE DATABASE 语句不能被执行,原因在于你的工作站上与另一个计算机系统上的数据库
    服务器产品的类型不同:一个是 OnLine,而另一个是 INFORMIX-SE。当你在这种配置下操作
    数据库时,你不能创建数据库。为了能够创建,或者在两个系统上运行同样的产品,或者在
    其它计算机系统上运行本地命令。SQLEXEC 环境变量(对于 6.0 之前的版本)决定了你的应用
    程序使用哪个数据库服务器。
    -911 系统错误 - 不能从管道读取。
    这是一个内部错误,它反映了你的应用程序与 INFORMIX-STAR 或者 INFORMIX-NET 软件之间的
    通讯有误。请检查操作系统提供的错误信息。重新启动应用程序。如果问题再次发生,请记
    录下所有的现场信息并与 Informix 技术支持部联系。
    -912 网络错误 - 不能写到数据库服务器。
    发生了网络错误。请检查操作系统的错误信息。重新启动应用程序。如果问题再次发生,请
    与你的系统管理员联系,并请求他运行网络诊断程序。
    -913 网络错误 - 不能从数据库服务器读取。
    发生了网络错误。请检查操作系统的错误信息。重新启动应用程序。如果问题再次发生,请
    与你的系统管理员联系,并请求他运行网络诊断程序。
    -914 系统错误 - 不能写到管道。
    这是一个内部错误,它反映了你的应用程序与 INFORMIX-STAR 或者 INFORMIX-NET 软件之间的
    通讯有误。请检查操作系统提供的错误信息。重新启动应用程序。如果问题再次发生,请记
    录下所有的现场信息并与 Informix 技术支持部联系。
    -915 不能从一个 INFORMIX-OnLine 客户机上创建一个 INFORMIX-SE
    数据库。
    CREATE DATABASE 语句不能被执行,原因在于你的工作站上与另一个计算机系统上的数据库
    服务器产品的类型不同:一个是 OnLine,而另一个是 INFORMIX-SE。当你在这种配置下操作
    数据库时,你不能创建数据库。为了能够创建,或者在两个系统上运行同样的产品,或者在
    其它计算机系统上运行本地命令。SQLEXEC 环境变量决定了你的应用程序使用哪个数据库服
    务器(对于 6.0 之前的版本)。
    -916 NFS 安装表错误。
    你试图存取的数据库服务器或者你的DBPATH环境变量中指定的一个路径位于一个NFS文件系
    统上。然而,数据库服务器或客户应用程序在访问 NFS 安装表文件/etc/mtab(或者,在某些
    操作系统上的/etc/mnttab)时遇到了一个错误。这可能是因为你的帐户没有对它的读取权限。
    请与你的系统管理员联系,使这个文件成为公众可读的。
    这条信息出现 6.0 及以后版本。
    -916 不能开启 /etc/mtab。
    数据库服务器需检查系统配置文件/etc/mtab 来辨认文件系统的位置。然而,当它尝试去读
    取这文件时发生错误,可能是你的帐户没有读取它的权限。与你的系统管理员联系,而且使
    这个文件设成公共可读取的。
    这条消息出现在 6.0 及以后版本。
    -917 在使用一个新的数据库之前必须关闭当前的数据库。
    这个语句(DATABASE 或者 CREATE DATABASE)要求打开不同的数据库。然而,当前的数据库位
    于另外的计算机系统上,因此,你必须使用显式的 CLOSE DATABASE 命令将其关闭。(如果你
    当前使用的数据库与应用程序位于同一个计算机系统上,数据库服务器会自动将其关闭。)
    如果这个错误被一个程序收到,请重新检查程序的逻辑,确保它在[CREATE] DATABASE 语句
    之前执行了一个 CLOSE DATABASE 语句。这适用于网络和本地两种情况。
    -918 收到非期望的来自其它数据库服务器的数据。
    这个内部错误反映了你的应用程序与其它节点上的INFORMIX-STAR或者INFORMIX-NET软件的
    通讯错误。请重新启动你的应用程序。如果问题再次发生,请求你的系统管理员运行网络诊
    断程序。如果错误再次出现,请记录下所有的现场信息并与 Informix 技术支持部联系。
    -919 系统错误。传递给数据库服务器进程的参数个数非法。
    这个内部错误反映了在你的应用程序与 INFORMIX-STAR、INFORMIX-NET 软件或者其它计算机
    系统上的数据库服务器的通讯出了问题。首先请确保所有三个软件元件处于互相兼容的状态。
    (对于 6.0 之前的版本,请参考相应的 INFORMIX-NET/INFORMIX-STAR 安装与配置指南中的兼
    容性图表)。在必要的时候要重新编译和连接你的应用程序。如果问题再次发生,请记录下所
    有的现场信息,并与 Informix 技术支持部联系。
    -921 系统错误。传递给 sqlexec 服务器的参数个数非法。
    这个内部错误反映了在你的应用程序与 INFORMIX-STAR、INFORMIX-NET 软件或者其它计算机
    系统上的数据库服务器的通讯出了问题。首先请确保所有三个软件元件处于互相兼容的状态。
    (对于 6.0 之前的版本,请参考相应的 INFORMIX-NET/INFORMIX-STAR 安装与配置指南中的兼
    容性图表)。在必要的时候要重新编译和连接你的应用程序。如果问题再次发生,请记录下所
    有的现场信息,并与 Informix 技术支持部联系。
    -922 不能取得当前工作目录名字。
    在你的应用程序正在使用的这个系统或者其它系统上的工作目录出了问题。可能是因为你的
    帐户对该目录没有读取的权限,或者是因为包含该目录的文件系统安装得不正确。请退出应
    用程序的执行并重试。如果问题依然存在,请与你的系统管理员联系。
    -923 INFORMIX 未被许可为只访问当前的数据库服务器。
    Informix 产品的这个版本未被许可为网络用途。请找到许可用于 INFORMIX-STAR 或者
    INFORMIX-NET 的版本,并重设你的 INFORMIXDIR 环境变量和 SQLEXEC 环境变量(用于 6.0 之
    前的数据库服务器版本)以指向它。
    -924 INFORMIX 未被许可以访问指定的数据库服务器。
    如果你在你的客户机上只安装了一个 INFORMIX-NET NET 工作站软件包,那么你就不能访问本
    地驻留的数据库。如果你试图访问的数据库并不是本地驻留的,那么请在数据库的名字前面
    指定节点,并重试此命令,或者通过设置你的 DBPATH 环境变量来指示只在指定的节点上搜索。
    如果你希望你的数据库产品同时能够访问本地和远程的数据库,请与你的 Informix 代理联系
    如何购买相应的 Informix 产品。
    -925 协议的类型应该是 tcp。
    OnLine 上的$INFORMIXDIR/etc/sqlhosts 文件或者 INFORMIX-OnLine for Netware 上的
    \INFORMIX\etc\sqlhosts 文件中的协议类型应该是 tcp。
    -926 INFORMIX- OnLine 未被许可为分布式用途的数据访问。
    这个语句引用了其它计算机系统中的数据库,例如,以 dbname@sitename:table 这样的形式
    对表名进行限定。然而 sitename 节点机上活动的-OnLine 的版本没有被许可为此种用途。使
    用当前的版本,你只能使用在同一个数据库服务器上的数据库中的表。请与你的 Informix
    代理联系,看看如何将此数据库服务器升级为完整的 INFORMIX-STAR 状态。如果你确认已经
    安装了 INFORMIX-STAR,那么请检查 INFORMIXDIR 环境变量的内容。如果你正在使用
    INFORMIX-OnLine for NetWare,那么除非你拥有 INFORMIX-NET PC 系统,否则你无法访问远
    程系统上的表或者数据库。
    -927 超过了你可以引用的服务器的最大个数。
    这个语句包含对多于数据库服务器可以处理的节点的引用。从 4.1 版开始,出现在一个语句
    中的不同节点的个数最多可达 32 个(后面的版本可能允许更多的节点数)。请重新检查这个语
    句,确保它只引用了必要的节点。如果确实有必要,请修改操作以使用更少的节点;例如,
    先把一部分数据选进一个本地的、临时的表中。
    -928 数据库服务器未被许可为分布式用途的数据访问。
    这个语句引用了其它计算机系统中的数据库,例如,以 dbname@sitename:table 这样的形式
    对表名进行限定。然而 sitename 节点机上活动的 OnLine 的版本没有被注册为此种用途。这
    指示了其它计算机系统的安装错误:它被配置为适合网络访问的,但是启动了错误的数据库
    服务器。请与网络管理员联系,请求在启动 sqlexecd daemon 的时候对环境变量进行检查。
    如果你正在使用 INFORMIX-OnLine for NetWare,那么你试图去访问了未许可远程访问的一
    个 OnLine 系统上的表;你只能访问其它的 INFORMIX-NET PC 系统。
    -930 不能连接到数据库服务器<服务器名>。
    这个应用程序正试着存取另一个计算机系统,且已失败。注意在目前语句中的服务器名称。
    要求你的网络管理员及 DBA 检查网络是否可运作,并检查数据库服务器是否活跃。这条信息
    从 6.0 及以后版本出现。
    -930 不能连接到远程主机<节点名>。
    INFORMIX-STAR 或者 INFORMIX-NET 正在试图访问另外的计算机系统,但失败了。请记下当前
    语句中的节点名。请与你的网络管理员联系,请求检查网络是否是可用的,所指的节点机是
    否是活跃的。这条信息出现在 6.0 版之前版本的数据库服务中。
    -931 不能在/etc/services 中找到<服务名>service/tcp 服务。
    上面提到的服务未被列在/etc/services(UNIX)或者\etc\services(DOS)网络配置文件中。请
    检查$INFORMIXDIR/etc/sqlhosts 文件,确保所需的服务的名字拼写正确。如果是正确的,
    请与你的网络管理员联系,找出服务未知的原因。如果你使用的是 INFORMIX-OnLine for
    NetWare,请检查客户机上的\etc\services 文件中相应的入口。
    -932 网络连接错误,<函数>系统调用失败。
    这是一个内部错误,它反映你的应用程序与其它节点上的网络软件(INFORMIX-STAR,
    INFORMIX-NET, INFORMIX-NET for Windows, 等等)的通讯发生了错误。重新启动你的应用程
    序并察看可能提供更多信息的操作系统信息。
    如果你使用的是 INFORMIX-NET for Windows,那么这可能是一个 Windows Sockets 错误。请
    察看你的 Windows Sockets 1.1 的文档中的信息。检查特殊的 Windows Sockets 消息的 sqlca
    结构的 sqlerrm 域。
    在 ASCL 环境中,这个错误可能表示 informix.ini 文件有问题。验证 SERVICE、HOST 及 PASSWD
    入口都是正确的。
    如果这个问题再次发生,请求你的网络管理员运行网络诊断程序进行诊断。如果错误再次发
    生,请记录下全部的现场环境信息并与 Informix 技术支持部联系。
    -933 DBNETTYPE 中指定了未知的网络类型。
    在某些机器上,DBNETTYPE 环境变量被用来在两种可用的网络协议中选用其中之一。它的当
    前设置值是一种不被支持的类型。请显示变量的值,确保它的设置是正确的。对于 6.0 版之
    前的版本,请参考 INFORMIX-NET/INFORMIX-STAR 安装与配置指南中关于如何正确设置的说
    明。如果你正在使用 INFORMIX-OnLine for NetWare,可将 DBNETTYPE 设为 starlan, tcp/ip
    或者其它被支持的网络。
    -934 到远程节点的连接不再有效。
    这个语句使用了来自其它计算机系统的数据,而连接已经丢失。请重新建立连接,然后将事
    务滚回并重试一次。
    -935 不能获得服务器名<服务器名>的 IPX 地址。
    你正在试图用一个服务器名通过带有可移植的 INFORMIX-OnLine for NetWare 系统上的
    IPX/SPX 网络协议去连接一个数据库服务器。客户应用程序,INFORMIX-NET 或者
    INFORMIX-STAR 不能决定指定的服务器名字所对应的 IPX 地址。可能的原因包括:你的
    sqlhosts 文件中的服务器名字拼写错了;sqlexecd daemon 程序或者 OnLine 数据库服务器现
    在没有运行起来,或者是可移植的 INFORMIX-OnLine for NetWare 软件操作得不正确。请求
    你 的 DBA 或 者 系 统 管 理 员 确 认 sqlexecd daemon, 数 据 库 服 务 器 以 及 可 移 植 的
    INFORMIX-OnLinefor NetWare 软件是可用的。
    -936 在远程连接<连接名>时发生错误。
    试图连接到一个远程主机的企图失败了。请检查你的连接语句(即 CONNECT,DATABASE 等等)
    中指定的连接的名字,以确保你正确地指定了连接的名字和路径。检查有没有错误的拼写。
    检查有没有错误的连接名。
    -951 数据库服务器不认识用户<用户名>。
    你试着要存取的数据库服务器不能接受你的用户 id,或在~/.netrc 文件上所要连接上的服务
    器主机的注册名称,或在 CONNECT 语句中 USER 子句中所指定的用户名称。如果你在~/.netrc
    文件中或在 CONNECT 语句指定你的用户名称,确定这名称是对的。如果你在服务机器没有可
    以有效使用的用户 id,找你的系统管理员。(6.0 及以后版本有这条信息)。
    -951 用户是远程主机所不知道的。
    这条语句引用了其它计算机系统上的一个数据库,但是你的帐户名不被其它系统接受。你必
    须拥有你要访问的计算机系统的有效登录身份。请问一下你的网络管理员怎样得到一个登录
    身份。(这条信息出现在 6.0 版之前的版本中。)
    -952 数据库服务器的用户密码不正确。
    服务器计算机~/.netrc 文件中指定的密码,或是 CONNECT 语句中 USER 子句不正确。数据库
    服务器不能接受(或是找不到)你的帐户密码。确定你的密码被正确指定。再试一下。(6.0 版
    後有这条信息)。
    -952 远程主机的使用者密码不正确。
    在另一个计算机系统的数据库服务器不能接受(或找不到)你的帐户密码。请检查你的密码是
    否正确录入到授权文件或密码文件中。(这个信息出现在 6.0 版以前的版本)。
    -953 网络服务器不能执行 sqlexec 程序。
    网络服务器不能启动数据库服务器线程。导致这个错误的最常见的原因是 root 在启动数据库
    服务器进程时定义 INFORMIXDIR 环境变量失败。请与你的网络管理员联系,请求远程系统上
    的数据库服务器进程使用 Informix 软件的有效路径重新进行启动。(这条信息从 6.0 及以后
    版本出现。)
    -953 远程主机无法执行 sqlexec 程序。
    在其它计算机系统的网络 daemon,splexec,无法启动数据库服务器程序。这个错误的最常
    见原因,是由根在启动 daemon 时定义 INFORMIXDIR 和 SQLEXEC 环境变数失败。请与网络管理
    员联系,并要求在远成系统的 daemon 以至 Informix 软体的正确路径重新启动。(这个信息在
    6.0 版以前出现)。
    -954 客户机是远程主机不知道的。
    你的正在运行的应用程序所在的计算机是你试图访问的计算机所不知道的计算机。请与你的
    网络管理员联系,请求他使你的计算机成为可知的。通常使一台计算机被其它系统知道的方
    法 是 通 过 修 改 其 它 系 统 上 的 /etc/hosts.equiv 配 置 文 件 。 请 参 考
    INFORMIX-NET/INFORMIX-STAR 安装与配置指南。(这条信息出现在 6.0 版之前的版本中。)
    -954 数据库服务器不认识客户机。
    你正试着存取的数据库服务器,不能辨认正在执行你的应用程序的机器。请与你的网络管理
    员联系,要求将你的计算机成为可辨认的。通常让一部机器成为可辨认的方法是通过在另一
    系统中的配置文件/etc/hosts。(这条信息在 6.0 及以后版本出现)。
    -955 远程主机不能接收到来自客户的数据。
    这是一个内部错误,它反映了你的应用程序与其他节点的 INFORMIX-STAR 或 INFORMIX-NET
    软件进行通讯时发生的错误。请重新启动你的程序。注意操作系统信息中可能提供更多的信
    息。如果此问题再次发生,请求你的网络管理员进行诊断。如果此错误再次出现,请记录下
    所有的现场信息并与 Informix 的技术支持部门联系。(这条信息出现在早于 6.0 的版本中。)
    -955 数据库服务器不能接收到来自客户的数据。
    这是一个内部错误,它反映了你的客户应用程序与其他节点的数据库服务器软件进行通讯时
    发生的错误。请重新启动你的程序。注意操作系统信息中可能提供更多的信息。如果此问题
    再次发生,请求你的 DBA 执行网络诊断程序进行诊断。如果此错误再次出现,请记录下所有
    的现场信息并与 Informix 技术支持部联系。(这条信息从 6.0 版开始出现。)
    -956 远端主机里的 / etc / hosts.eguiv 没有用户端<用户端名称>。
    因为用户端机器(当地主机,其名称由 hostname 指令返回)的名称无法被指定的远方机器辨
    别。用户端名称正常是记录在配置文件 / etc / hosts.equiv 中。远程机器的 rhosts 文件
    亦可能需要修改。这些档案的详情可试着在 UNIX 系统打 man rhosts。找远程主机管理员;
    确认用户端主机名称有指定在远程主机的 /etc/hosts.equiv 文件中。6.0 之前版本有这条
    信息。
    -956 客户端<客户端名>或用户不受数据库服务器信任。
    客户端计算机或你的 id 并未经由数据库服务器信任。要求系统管理员将客户端计算机包含进
    去,成为可信任主机;及(或)将你的用户 id 加在服务器中的/etc/hosts.equiv 文件,或是
    将你的用户id加在服务器中你的用户目录中的.rhosts文件,成为受信任的用户。请参阅UNIX
    手册中有关 HOSTS.EQUIV(5) 的部分以得到更多信息。
    相对地,你可以在 CONNECT 语句 USER 子句明确指定你的用户名称及密码。请参阅
    <<INFORMIX-SQL指南: 语法中关于CONNECT语句的信息>>,和 UNIX 手册中有关NETRC(5) 的
    页,以得到 .netrc 文件的信息。这条信息从 6.0 版以後才有。
    -957 在 NFS 安装上不能建立/访问数据库。
    在这个错误发生时,请注意你的系统的特殊性,并打电话给 Informix 技术支持。
    -971 检测到完整性冲突。
    用户试图改变一个无效的约束或者无效的唯一索引为有效的或者为过滤模式。但是 SET 语句
    因为表中存在与约束或者唯一索引要求的冲突而失败。如果一个冲突表已经为一个具有不一
    致数据的表开动,这个消息将返回给用户。无论是否 SET 语句中包括了 WITH ERROR 选项,
    这个消息都要返回。
    类似的,当一个 INSERT,DELETE 或者 UPDATE 语句引起一些记录加入到冲突表中,由于该语
    句与一个过滤模式的目标冲突,如果以下两个条件为真的话,这个消息将返回给用户:
  • 为该目标指定过滤目标模式的 SET 语句或者 CREATE 语句中包括
    WITH ERROR 选项。
  • 在 INSERT,DELETE 或者 UPDATE 语句中没有遇到其它的错误。
    -972 不能更改表<表名>。
    现场修改表不能完成。请参见相伴的 ISAM 错误的更多消息。
    -973 不能从检查表插入到目的表。
    用户已经发布了一个试图插入检查表的行到目的表的语句。比如,用户键入以下语句:
    INSERT INTO mytable SELECT * FROM mytable_vio 如果目的表具有一些过滤模式的目标,这
    个错误被返回给用户。用户可以用下列方法恢复:
  • 设置过滤目标的目标模式为其它模式停止检查表插入检查表中的行到一个
    临时表,然后把临时表中的行插入到目的表。
    -974 不能删除在 SERIAL 列上的非空约束。
    用户发布了一个命令删除在一个具有 SERIAL 数据类型的列上的 NOT NULL 约束。这些约束可
    以被置为无效,但是它们直到该列被删除时才可被删除。
    -975 非法的目标和目标模式组合。
    用户试图在一种不适合某目标类型的目标模式下产生一个新的目标,或者用户设置一个已经
    存在的目标的目标模式为一个与该目标类型不合适的模式。比如,如果用户试图在过滤模式
    产生一个触发器,或者把一个已经存在的触发器设置为过滤模式,用户收到这个错误。
    -976 表必须被表达式分段来授予分段的权力。
    用户试图对一个没有分段的表或者没有被表达式分段的表授予分段级别的权限。
    -977 对分段(<dbspace 名字>)没有权限
    用户在表分段上没有必须的分段-级别的权限。这个消息常常跟有其它指示用户缺少权限的消
    息。如果一个 INSERT 语句失败,第二个后跟的消息是 -271。如果一个 UPDATE 语句失败,第二
    个后跟的消息是 -346。如果一个 DELETE 语句失败,第二个后跟的消息是 -240。
    -978 对检查/诊断表没有插入权限
    用户对一个表带过滤模式目标地发布一个 INSERT,DELETE,或者 UPDATE 语句。因为用户缺
    少对与该表相联系的检查或者诊断表的 INSERT 权限,用户会收到这个消息。用户必须在数据
    库服务器能够写入列到该用户的检查和诊断表之前具有对该检查和诊断表的 INSERT 权限。
    类似的,如果用户已经发布了一个 SET 语句去改变一个无效的约束或者一个无效的唯一索引
    的目标模式为有效的或者为过滤模式,并且如果一个检查表已经被为目的表启动,如果用户
    缺少与目的表联系的检查或者诊断表的 INSERT 权限,用户会收到这个消息。
    -999 尚未被实现。
    这是一个不应该出现的内部错误。如果该错误再次发生了,请记录下全部现场环境信息,并
    与 Informix 技术支持部联系。
    -1003 环境中的 ACCEPTKEY 设置无效。
    ACCEPTKEY 环境变量中指定的键无法解释;它没有以 F 开头,或者它的号码是无效的。请另
    外指定一个键。
    -1004 被选定的 ACCEPTKEY 已经预先被分配给 ISQL。
    ACCEPTKEY 环境变量中指定的键是一个总被 INFORMIX-SQL 使用的键。请为环境变量设置另外
    的值。
    -1005 你指定的 termcap 文件不能被读取。
    TERMCAP 环境变量指定了一个文件,但是不能打开这个文件。可能是由于文件根本不存在,
    或者是由于你的帐户没有对它进行读取的操作系统许可。请检查环境变量以及它命名的文件。
    -1006 错误号。
    只显示了返回错误的代码,但程序不能显示出这个代码所代表的消息文本,可能是由于某一
    个.iem 消息文件不在 INFORMIX 环境变量指定的目录中。请在手册中查找这条错误信息。你
    也可以询问安装 Informix 软件的人员,找出消息文件不能使用的原因。
    -1007 INFORMIXTERM 环境变量有非法值。
    INFORMIXTERM 环境变量仅有的合法设置是 termcap 和 terminfo。设置变量值为 termcap(或
    保持未定义)指示 4GL 在终端控制时使用 TERMCAP 设备。设置变量为 terminfo 导致 4GL 使
    用 TERMINFO 设备。其他设置,包括 termcap 和 terminfo 中有大写字符都将引出这条信息。
    -1008 termcap 入口太长了。
    当应用程序初始化时,TERMCAP 环境变量或 termcap 数据库中 termcap 入口的内容被读进存
    储中。然而,分配用来保存 termcap 人口的内存缓冲区只有 1,024 字节,现正使用的比这要
    长。你将不得不用一个简单些的 termcap。
    -1009 错误的 termcap 入口。
    当应用程序初始化时,TERMCAP 环境变量或 termcap 数据库中 termcap 入口的内容被读进存
    储中。在这个过程中,程序在 termcap 入口中发现不合适的标点符号,具体来说,一个期望
    出现的冒号没有出现。检查指定的 termcap 并且选择不同的一个或修改现在这个。
    -1010 tc= 间接的次数太多。
    在终端的 termcap 定义中,入口 tc= 定义要使用其它终端的缺省值。定义其它终端的时候可
    能也使用了 tc=入口。但是,4GL 不允许有超过 4 个 tc= 命令。现在正在使用的 termcap 的
    定义(由 TERM 或 TERMCAP 环境变量指定)超出了这个限制。请写出或找到更为自包含的
    termcap 定义。
    -1101 变量地址为 NULL。
    这是一个内部错误。
    -1102 屏幕表格中找不到该显示字段名。
    在 INPUT,INPUT ARRAY,CONSTRUCT,SCROLL 或 DISPLAY 语句中列出的显示字段名在当前显
    示的屏幕表格的表格说明中找不到。检查程序逻辑结构,确认当前窗口正是想显示的窗口,
    想显示的屏幕表格也显示在该窗口中,并且该语句中所有的显示字段名称拼写正确。
    通常的问题是试图使用显示字段标志代替显示字段名称。显示字段标志是写在屏幕图形中的
    名字并且它显示在该显示字段 ATTRIBUTES 语句的左边。它不是用于输入或输出的显示字段的
    名字。显示字段名字是它所关联的字段的名字。这个名字在 ATTRIBUTES 语句显示等号的右边:
    ATTRIBUTES
    f000 = customer.customer_num,color=red;
    在上例中,显示字段名是 custerm_num。在 INPUT 语句中使用标志 f000 将产生一个错误。
    -1103 这个值不是合法的值。
    为该字段建立了一个可接受值的列表或范围(经由屏幕表格说明文件中的 INCLUDE 属性指
    定)。你必须输入一个在接受范围的值。
    对 4GL 程序,该错误由-1301 代替。
    -1104 两次输入不一致 -- 请再试一次。
    为了避免打字错误,这个显示字段指定了 VERIFY 属性(在表格说明文件中)。这个显示字段
    的值必须同样地被输入两次。另外,你可以用中断键取消表格的输入(通常使用 CTRL-C,但
    这依赖于程序作者所提供的操作指令)。
    对 4GL 程序,这个错误由-1302 代替。
    -1105 由于图形的存在,你不能使用这个编辑功能。
    这个显示字段定义时(在表格说明文件中)使用了 PICTURE 属性来指定它的格式。在你编辑
    这类显示字段时,你不能使用某些编辑键(例如,CTRL-A, CTRL-D, 和 CTRL-X)。只能用可
    打印字符和退格键输入值。
    对 4GL 程序,这个错误由-1303 代替。
    -1106 显示字段出错。
    你在该显示字段中输入的值不能被指定来接收它的程序变量保存。例如,你可能在应用程序
    只提供整数变量时输入了一个十进制数;或你输入了比应用程序所期望的要长的字符串。记
    下所有的细节情况,并与该应用程序作者讨论这一问题。
    对 4GL 程序,这个错误由-1304 代替。
    -1107 显示字段下标越界。
    在INPUT,DISPLAY或CONSTRUCT语句中的屏幕数组下标小于1或大于数组中的显示字段数目。
    结合屏幕表格说明,检查程序源文件找出错误。
    -1108 记录不在屏幕表格中。
    在 INPUT ARRAY 或 DISPLAY ARRAY 中指定的屏幕记录在当前显示的屏幕表格中没有出现。结
    合屏幕表格说明,检查源文件看它是否与屏幕记录名称匹配。
    -1109 列表与记录显示字段数目不相符合。
    程序变量的个数与在 CONSTRUCT,INPUT,INPUT ARRAY,DISPLAY,或 DISPLAY ARRAY 语句中
    的屏幕显示字段数目不相符合。结合表格说明检查语句,察看错误的所在。通常问题有:一
    个屏幕记录定义的改变没有反映到每一个使用了该记录的语句中,一个程序记录的改变没有
    反映到该屏幕表格的设计中。
    -1110 找不到屏幕表格文件。
    OPEN FORM 中指定的屏幕表格文件没有找到。检查该语句的"form-file"参数。它不能包含该
    文件的后缀.frm。然而,如果屏幕表格文件不在当前的目录中,它应该包含文件的全路径。
    -1111 显示字段表偏移越界。
    这是一个内部错误。如果该错误发生,请记下所有细节情况,并与 Informix 技术支持部门联
    系。
    -1112 屏幕表格与当前的 4GL 版本不兼容。重建你的屏幕表格。
    OPEN FORM 语句中指定的屏幕表格不被接受。它可能是由于某些原因被破坏,也有可能仅是
    由于屏幕表格被编译时使用的表格编译器的版本是与编译该程序所使用的 4GL 编译器不兼
    容。用当前版本的表格编译器重新编译该屏幕表格说明。
    -1113 内存分配错误。
    一个 BYTE 或 TEXT 变量已经在内存中被分配而且已有一个值被赋给该变量。然而,没有足够
    的数据内存用来保持该变量。检查程序并把大的值放入文件中保存。对 4GL 程序,该错误由
    -1319 代替。
    -1114 没有屏幕表格被显示。
    当前语句需要用到屏幕表格。例如,DISPLAY...TO 或一个 INPUT 语句必须用到一个屏幕表格
    的显示字段。然而,从当前窗口被打开后没有 DISPLAY FORM 语句被执行。检查程序逻辑结
    构确定在试图使用一个屏幕表格前已打开了它并且显示了它。
    -1115 对该显示字段,数字值太长
    在一个屏幕表格显示字段中,4GL 试图使数字值的显示规范化并且对该显示字段而言结果串
    太长。检查程序,找出被赋值的数值有多大。
    对在 4GL/GX 下由版本 5.0 或更高的版本下编译的 4GL 程序,这个错误不可能出现。
    -1116 屏幕表格显示字段的缺省值不能转换至输入变量类型。
    这个语句从屏幕表格的一个显示字段得到输入,该显示字段的缺省值(在屏幕表格中用
    ATTRIBUTES 的关键字 DEFAULT 指定)与接受它的程序变量数据类型不兼容。检查这个语句中
    指定的程序变量并把它们与显示字段的定义相比较。确保每个变量与相应的显示字段一致,
    有兼容的数据类型。
    -1117 日期值不能转换成串值。
    这个信息被认为在现在的任何产品中都不会出现。如果该错出现,请记下所有细节并与
    Informix 技术支持部门联系。
    -1119 在屏幕表格中没发现 NEXT FIELD 中指定的显示字段名。
    这个语句(INPUT 或 INPUT ARRAY)包含了一个 NEXT FIELD 子句,子句所指定的显示字段在
    屏幕表格中未定义。也许屏幕表格已被改变而程序没有。参阅错误-1102 的解释。
    对 4GL 程序,这个错误由-1371 代替。
    -1120 没发现信息文件。
    最近执行的 OPTIONS 语句 HELP FILE 子句中指定的信息文件不存在。在程序中找到该 OPTIONS
    语句,检查<帮助文件>的参数。它必须包含所准备的信息文件的全名,并且,如果文件不在
    当前目录中,它必须有完整的路径名。信息文件要使用 mkmessage 工具准备好。
    对 4GL 程序,这个错误由-1227 代替。
    -1121 信息文件中没有该信息号。
    在当前信息文件中,找不到由 INPUT,PROMPT 或 MENU 语句中 HELP 子句给出的信息号。这个
    信息文件是由最近执行的 OPTIONS HELP FILE 语句建立的。在程序中找到该语句,检查该信
    息文件是否为所需文件。然后,检查信息文件来源,确认它包含了程序中用到的所有信息号
    的定义。用 mkmessage 工具重新编译信息文件再重新运行该程序。
    对 4GL 程序,这个错误由-1228 代替。
    -1122 不兼容的信息文件。
    最近执行的 OPTIONS HELP FILE 语句中指定的信息文件不被接受。可能有几种原因导致它被
    破坏。有可能是指定信息源文件的 OPTIONS 语句出错而不是编译过的信息文件(mkmessage
    的结果)。可能是文件使用了过时的 mkmessage 工具版本进行编译。重新用当前版本的工具编
    译信息;并检查程序源文件以确保指定了一个正确的文件。
    对 4GL 程序,这个错误被-1229 代替。
    -1123 没有指定帮助文件。
    这个 INPUT,PROMPT,或 MENU 语句包含了一个 HELP help_number 子句;然而没有建立相应
    的信息文件。信息文件由 OPTIONS HELP FILE 语句建立;但此时并未有一条这种语句被执行。
    检查程序并修改使得在需要帮助文件之前已经执行了带 HELP FILE 子句的 OPTIONS 语句。
    对 4GL 程序,这个错误由-1343 代替。
    -1124 这个显示字段需要输入值。
    游标在被指定 REQUIRED 属性的表格显示字段中。在游标移到另一个显示字段之前,你必须输
    入值。然而,你可以通过输入任何可印刷字符然后退格从而输入空值。另外,你能用中断键
    取消表格输入(通常是 CTRL-C,但取决于程序作者提供的操作指令)。
    对 4GL 程序,这个错误由-1305 代替。
    -1125 为检验请再输入一次。
    游标在一个被指定 VERRIFY 属性的屏幕表格显示字段中。在游标能移至另一显示字段之前,
    你必须两次输入同一值。这是帮助确定在数据输入的过程中没有打字错误。另一方面,你可
    以用中断键取消表格输入(通常是 CTRL-C,但取决于程序作者提供的操作指令)。
    对于 4GL 程序,这个错误由-1306 代替。
    -1126 不能插入另一行 - 输入数组已满。
    你正在往一个记录数组中输入数据,这个数组在程序中由一组程序变量说明。现在这个数组
    满了;已没有空间存储另一个记录。按下 ACCEPT 功能键(通常是 ESCAPE 键,但取决于程序
    作者提供的操作指令)处理你已输入的记录。
    对 4GL 程序,这个错误由-1307 代替。
    -1127 不能删除这一行 - 它是一个空行。
    在一个空行,按下了删除行的功能键(通常是 F2,但取决于程序作者提供的操作指令)。不
    能删除任何数据。
    对 4GL 程序,这个错误由-1308 代替。
    -1128 在你的这个方向上,已没有更多的行。
    你试图越界滚动一组记录;或是在记录组顶端向上滚或在记录组底部往下滚。更进一步的企
    图将导致相同的结果,但如果你还是不明白就请往后看。
    对于 4GL 程序,这个错误被-1309 代替。
    -1129 屏幕表格中没发现 BEFORE/AFTER 指定的显示字段。
    这个语句包含了一个 BEFORE FIELD 子句或 AFTER FIELD 子句,子句中指定了一个当前显示的
    屏幕表格中没有定义的显示字段。检查程序,确认正确的屏幕表格被显示;然后再对照这个
    屏幕表格的说明检查该语句,确认指定的显示字段都存在。参阅信息-1102 中关于显示字段
    名的解释。
    -1130 同一显示字段不能有多个 BEFORE 子句。
    这个语句包含了至少两个对应同一名称的表格显示字段的BEFORE FIELD子句。仅能支持一个。
    找出所有与同一显示字段相关的 BEFORE FIELD 子句然后把它们合并成一个子句。
    -1131 同一显示字段不能有多个 AFTER 子句。
    这个语句包含了至少两个对应同一名称的表格显示字段的 AFTER FIELD 子句。仅能支持一个。
    找出所有与同一显示字段相关的 AFTER FIELD 子句,然后把它们合并成一个子句。
    -1132 CONSTRUCT 语句的目标串长度不够。
    CONSTRUCT 语句的结果是一个包含了用户输入的所有条件的字符串。在屏幕表格中,这个串
    适合用于 SELECT 语句中的 WHERE 子句。在这个 CONSTRUCT 语句中,结果串比用来接收它的程
    序变量要长。作为一个一般规则,变量的长度必须有足够的空间装下用于这个语句的所有屏
    幕显示字段的名称,加上显示字段的内容,加上标点符号和关系符。检查这个语句,并且相
    应地修改接收变量的定义。
    -1133 菜单中不含 NEXT OPTION 所指定的选项名。
    这个 MENU 语句所包含的一个 NEXT OPTION 子句指定的某个菜单选项在语句中没有定义。跟
    在 NEXT OPTION 后的串必须与同一 MENU 语句中跟在 COMMAND 子句后的一个串相同。检查语句,
    确认这些子句彼此一致。
    -1134 没有对应该功能键的 termcap 格式。
    这个 OPTIONS 语句的某子句指定的键在 termcap 文件(或者如果使用的是 terminfo 文件,则
    在 terminfo 文件)中没有定义。检查子句 HELP KEY,INSERT KEY,NEXT KEY,PREVIOUS KEY
    和 DELETE KEY。比较所指定的功能键与当前使用的 termcap 文件中键的定义。
    -1135 DISPLAY AT 中的行号或列号超出了你的终端的限制。
    检查 DISPLAY...AT 语句。在 DISPLAY AT 中的行或列号超出了终端的限制。确认行列位置是
    以正确顺序给出(先行后列)并且它们相对当前终端或窗口是有意义的。UNIX 系统下,在程
    序开始执行时,通过读入 termcap 信息(或 terminfo 信息,这依赖于 INFOMIXTERM 环境变量
    的值)确定终端的大小.这样一个屏幕的大小对某些用户是正确的,但对另一些却可能根本就
    不对。在 DOS 系统下,窗口的大小总是 24x80。
    -1136 窗口太大,在屏幕上显示不下。
    由这个 OPEN WINDOW 语句中 WITH 子句指定的窗口大小与屏幕的大小发生了冲突。完整的窗
    口不能被显示,所以语句不能被执行。如果用了 WITH 子句指定窗口大小,那你可以用小一些
    的窗口;如果是在屏幕表格中指定,窗口大小由 SCREEN 语句在表格说明文件中指定。另一方
    面,你可以通过在 AT 子句中改变位置坐标使窗口可以显示在屏幕上。UNIX 系统下,在程序
    开始执行时,通过读入 termcap 信息(或 terminfo 信息,这依赖于 INFOMIXTERM 环境变量的
    值)确定终端的大小。这样一个屏幕的大小对某些用户是正确的,但对另一些却可能根本就
    不对。在 DOS 系统下,窗口的大小总是 24x80。
    -1137 不能打开窗口。
    问题的原因是数据内存不够。修改程序,使并发的打开的窗口数减少,或使用更少的全局变
    量。
    -1138 窗口的边不能显示在屏幕上,窗口太大。
    用 OPEN WINDOW 说明的窗口不能打开,因为它的边不能显示在屏幕上。不管信息怎么说,窗
    口不一定要比屏幕要更大一些。只是它的一条或更多的边(上,下,左或右)不能在屏幕上
    画出来。窗口的位置在 OPEN WINDOW 语句中设定;确信它的始点不高于第二行也不左于第二
    列(或取消 BORDER 属性)。窗口的大小也由 OPEN WINDOW 语句设定或由它指定的屏幕表格设
    定。
    UNIX 系统中,在程序开始执行时,通过读入 TERMCAP 信息(或 TERMINFO 信息,这依赖于
    INFOMIXTERM 环境变量的值)确定终端的大小.如果 TERMCAP 格式包含 sg#1 (terminfo:
    xmc#1),4GL 在窗口的左右两边各保留一多余的列。在 DOS 系统下,窗口的大小总是 24x80。
    -1139 FORM LINE 不能使用 LAST 关键字设置。
    这个 OPTION 语句包含了使用了 LAST 的 FORM LINE 子句。这是不允许的;你可以指定一根绝
    对的表格线或一根相对于 FIRST 的表格线,但是不能指定相对于 LAST 的表格线。
    -1140 NEXT OPTION 是一个隐藏的选项。
    在这个 NEXT OPTION 语句中指定的选项已经使用 HIDDEN OPTION 语句给隐藏了起来。既然它
    对用户是不可见的,它不能被作为下一个选择被高亮显示。
    -1141 不能关闭有作用的 INPUT 语句,DISPLAY ARRAY 语句或 MENU 语句的窗口。
    CLOSE WINDOW 语句不能被执行,因为在该窗口中仍然有一个输入操作在起作用。CLOSEWINDOW
    语句必须包含在输入语句自身中或在输入语句自身中调用。重新检查程序,修改程序使得在
    关闭窗口之前,输入语句已经完成。
    -1142 窗口太小,显示不下这个屏幕表格。
    窗口大小太小了,以至于不能包含要显示的屏幕表格。重新检查窗口大小并把它与所有要在
    窗口中显示的屏幕表格比较。屏幕表格的大小是在屏幕表格说明文件中用 SCREEN 语句说明。
    窗口大小的设定在 OPEN WINDOW 语句中,不管是直接打开的窗口还是随一特定屏幕表格打开
    的窗口。
    -1143 窗口已经打开。
    OPEN WINDOW 语句中指明的窗口已经打开了。重新检查程序逻辑,看看是应该包含一个 CLOSE
    WINDOW 语句还是简单地使用 CURRENT WINDOW 语句使打开的窗口出现在屏幕上就可以了。
    -1144 不能打开窗口。窗口的坐标原点不在屏幕上。
    OPEN WINDOW 语句中 AT 子句给出的行列位置指到了屏幕之外。这个语句不能执行。重新检查
    这个程序,确认行列值是以正确的顺序给出(先行后列)。程序开始执行时,通过读入 termcap
    信息(或 terminfo 信息,这依赖于 INFOMIXTERM 环境变量的值)确定终端的大小,所以一个
    窗口的坐标对某些用户是正确的,但对另一些却可能根本就不对。
    -1145 不能打开 ERROR 窗口。
    4GL 试图打开一个单行,80 列的窗口以显示错误信息,但不能成功。可能的原因包括内存不
    够或内部错误。
    对 4GL 程序,这个错误由-1319 代替。
    -1146 PROMPT 的信息太长,在窗口中显示不下。
    尽管 4GL 将截断 MESSAGE 及 COMMENT 的输出以使用窗口大小,但它对 PTOMPT 和用户的响应却
    不会这样做。缩短提示的长度或扩大窗口。使用 DISPLAY 你能显示大部分提示正文,然后显
    示单个空格或冒号。
    -1147 不能对未打开的窗口进行 CLOSE,CLEAR 或 CURRENT 操作。
    CLOSE WINDOW, CLEAR WINDOW,或 CURRENT WINDOW 语句中使用的窗口尚未打开或已经关闭。
    检查程序逻辑结构,除非确信已打开窗口,否则不引用它。
    -1148 窗口大小不能为负数。
    OPEN WINDOW 语句的 AT 子句使用了负数。行和列的大小都必须是正整数。改正这个语句。
    -1149 在屏幕表格中侦测到未知代码。
    当前显示的屏幕表格在一些情况下不被接受。有可能它被破坏;有可能它是被过时的 form4gl
    所编译。重新编译这个屏幕表格。如果问题再次发生,请记下所有的细节,再与 Informix 技
    术支持部门联系。
    -1150 窗口太小,显示不下这个菜单。
    结合 MENU 语句,检查当前窗口的 OPEN WINDOW 语句。窗口应至少有两行高,并且它必须足够
    宽以显示菜单标题,最长的选项名,两组三点的省略号,和六个空格。修改程序使得窗口足
    够大到可以显示短一些的菜单名以及短一些的菜单选项。
    -1151 INFORMIX-4GL 运行时间设备。
    这个信息在当前所有产品中被认为不太可能出现。如果出现这个错误,请记下所有的细节状
    况,然后与 INFORMIX 技术支持部门联系。
    -1152 输入一个指定范围内的值。
    这是信息 -1103/-1301 的另一版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1103。
    -1153 检验不合法。
    这是信息 -1104/-1302 的另一版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1104。
    -1154 不能使用编辑键。
    这是信息 -1105/-1303 的一个版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1105
    -1155 在显示字段中输入值。
    这是信息 -1124/-1305 的另一版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1124。
    -1156 再次输入值。
    这是信息 -1125/-1306 的另一版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1125。
    -1157 没有更多的行。
    这是信息 -1127/-1309 的另一版本,是由 INFORMIX-4GL/RF 在非常小的屏幕的手持式终端上
    使用的。见信息-1127。
    -1158 FMP 运行内存不够。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1159 并发的 INPUT 语句数超出了 FMP 的限制。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1160 并发的 DISPLAY ARRAY 语句数超出了 FMP 的限制。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1161 FMP 当前不在一个 INPUT 语句中间。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1162 并发打开的屏幕表格数目超出了 FMP 的限制。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1163 FMP 版本号与 4GL 程序不兼容。重新连接 4GL 程序并且再运行。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1164 在当前的输入语句中,屏幕表格指令部分指定的 NEXT FIELD 没有被使用。
    当前屏幕表格显示字段有 NEXT FIELD 的说明(在屏幕表格的 INSTRUCTION 部分中指定)。然
    而,指定的下一个显示字段没有在当前的 INPUT 语句中指明,故游标不能移到那一个显示字
    段。
    -1165 FMP 不允许用这个语句。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1166 FMP 收到一段非法代码。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1167 FMP 收到一个未知的屏幕表格名称。
    “FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
    -1168 菜单中没有这一命令。
    SHOW OPTION,HIDE OPTION 或 NEXT OPTION 语句不能引用不存在的选项(命令)。
    检查选项名的拼写。
    -1170 你的终端类型系统不支持。
    检查你的 TERM 环境变量以及 TERMCAP 或 TERMINFO 环境变量的设置。如果你需要这方面的帮
    助,通知系统管理员。
    -1171 FMP 遇到一个不被允许的数据类型。
    "FMP"意思是指 INFORMIX-4GL/RF。详见你的系统安装手册。
    -1176 同样的 COMMAND KEY 值在当前菜单的另一处出现。
    在指定的 MENU 语句中,定义了一个在多个 COMMAND KEY 键表中出现的键值;或该键值既在
    COMMAND KEY 键表中出现,同时又是一个或几个非隐藏 COMMAND 子句的缺省激活键(例如,
    这个键值也是一个或几个菜单选项字串的首字符)。这种情况是非法的,因为给定的键敲入后,
    菜单没办法知道该做哪件事。
    因为在得到唯一的字串前,程序将提示用户输入后续字符,所以某个特定的键可以作为多个
    COMMAND(没有 KEY 子句)的缺省激活键。但这在 COMMAND KEY 中却不可以,因为只比较一个
    敲入的键。
    如果一个 COMMAND 当前是隐藏的(使用 HIDE OPTION 关键字),那么它的激活键被忽略,从而
    不会触发这个错误条件。
    -1200 对于 DECIMAL 数据类型,数值太大了。
    DECIMAL 数据类型数值的绝对值范围在 10-130 到 10124 之间。精度(有效位数)在
    1 到 32 之间变化;但是这个错误的原因不在于数值的长度而是它的量级。
    -1201 对于 DECIMAL 数据类型,值太小了。
    DECIMAL 数据类型数值的绝对值范围在 10-130 到 10124 之间。精度(有效位数)在 1 到
    32 之间变化;但是这个错误的原因不在于数值的长度而是它的量级。
    -1202 试图作除以 0 的运算。
    一个除数不能为 0。在一些情况下,出现这个错误是因为除数是一个字符值而没有恰当地转
    换为数值。
    -1203 用于 MATCH 的值必须都是 CHARACTER 类型。
    MATCHES 关系仅能应用于字符数据;它的操作项必须是 CHAR 或 VARCHAR 类型的字段或变量,
    或文字字符串。如果你需要进行正规模式与一个数字值的匹配,那么你可以在 4GL 中通过把
    数字值赋值给一个 CHAR 变量从而进行比较。
    -1204 日期中的无效年份。
    DATE 值或文字中的年份必须由二或四位数字给出;即从 00 到 99 或 0001 到 9999。数 0000
    和其它数字值是都不被接受的。
    -1205 日期中的无效月份。
    DATE 值或文字中的月份必须是 1 到 12 之 间的一位或二位数字。
    -1206 日期中的无效日值。
    DATE 值或文字中的日值必须是从 1 到 28,30 或 31 之间(取决于所给的月份)的,并且以一
    位或两位数的形式给出。
    -1207 被转换值不能放入分配的空间。
    一个非字符值在转换成字符串后过长以致不能放进提供的缓冲区。若转换是自动的,修改程
    序以提供更大的主机变量来接受串。若是显式调用转换函数,传递更大的缓冲区。
    -1208 没有从非字符值到字符值的转换。
    如果你在用版本 4.0 以前的数据库服务器,在 INSERT 和 UPDATE 等 SQL 语句中,没有从数值
    到字符的自动转换。确认指定给每一字段的值符合该字段的数据类型。若使用版本 4.0 或更
    高的数据库服务器,不会出现此信息。
    -1209 没有定界符,日期必须恰好包含 6 或 8 个数字。
    当一个文字日期值被用数值形式输入,而不是包含在引号中作为字符串时,必须准确地用 6
    位数字(代表 mmddyy)或 8 位数字(代表 mmddyyyy)输入。由于没有标点,任何含其它数量数
    字的日期是二义的;它不能被确凿地分成月,日,年。
    -1210 日期不能被转换为 月/日/年 格式。
    DATE 类型和 INTEGER 类型是兼容的,但不是所有整数都是有效的日期。当试图将数值小于
    -693,594 或大于 2,958,464 的日期转换为字符时,将产生此错误。超出此范围的数值不表
    示日期。
    -1211 内存不足。
    4GL 不能分配一块小的,临时的内存以处理一个表达式。尽量简化程序来释放足够多的内存,
    从而避免此错误。
    -1212 数据转换格式必须包含月,日,年元件。
    当一数值在内部二进制格式和显示或输入格式间被转换时,转换由模式指引。当转换自动进
    行时,模式来自DBDATE环境变量。当转换是通过显式调用rfmtdate(),rdefmtdate(),或USING
    函数进行时,模式串作为参数被传递。在任何情况中,模式串(信息的"格式")必须包括指示
    日期的三部分的字母:2 或 3 个字母 d; 2 或 3 个字母 m;2 或 4 个字母 y。
    -1213 字符到数值的转换失败。
    一个字符被转换为数值形式来存储进数值字段或变量中。然而,字符串不能被解释为数值:
    它包含了除空格,数字,符号,小数点,字母 e 之外的字符; 或有顺序错误,因此不能被解
    释。
    如果你使用 NLS,那么十进制字符或千分符可能在本地环境下出错。
    -1214 值过大,不能放进一个 SMALLINT。
    SMALLINT 数据类型能接受绝对值从 0 到 32,767 (±215-1)的数值。若要存储超过此范围的
    数,字段或变量必须重定义为 INTEGER 或 DECIMAL 类型。(-32,767 是 16 位的值,但不被接
    受;在 4GL 中,它被用来指示一个 null 值。)
    -1215 值过大,不能放进一个 INTEGER。
    INTEGER 数据类型能接受绝对值从 0 到 2,147,483,647 (±231-1)的数值。若要存储超过此
    范围的数,字段或变量必须重定义为 DECIMAL 类型。(-2,147,483,648 是 32 位的值,但不被
    接受;在 4GL 中,它被用来指示一个 null 值。)
    -1216 不合法的指数。
    一个数值文字的指数不能超越 32,767。事实上,可供使用的数据类型中,都不能接纳这么大
    的指数的;然而,在检查数值的目的之前,指数本身触发了此信息。检查语句是否遗漏或错放
    了标点,那将导致两个数被连在一起。
    -1217 格式串过大。
    被用来格式化一个日期(或是 DBDATE环境变量,或是传递到 rfmtdate()或 USING 功能的模式)
    的模式串过长。限制是 80 字节。
    -1218 串到日期转换错误。
    函数 rstrdate() 的输入未正确表示一个日期:或者在应是数字处有非数字,或有非期望的定
    界符,或者数值过大或不一致。
    -1219 来自数据库的数值对 COBOL 数据项来说过大。
    在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与 Informix
    技术支持部门联系。
    -1220 来自数据库的数值对 COBOL 数据项来说过小。
    在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与 Informix
    技术支持部门联系。
    -1221 不能转换 null 数据类型。
    在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与 Informix
    技术支持部门联系。
    -1222 值不能用 SMALLFLOAT 表达。
    SMALLFLOAT 数据类型能接受一定指数范围内的数值。最大和最小指数值依主机操作系统不同
    而不同(取值范围与主机系统中 C 编译程序支持的 float 值范围一样)。在当前语句中,一
    常数数值被转换存储进 FLOAT 变量或字段中,但指数过大或过小。
    -1223 值不能用 FLOAT 表达。
    FLOAT 数据类型能接受一定指数范围的数值。最大和最小指数值依主机操作系统不同而不同
    (取值范围与主机系统中 C 编译程序支持的 double 值范围一样)。在当前语句中,一常数数
    值被转换存储到 FLOAT 变量或字段中,但指数过大或过小。
    -1224 非法的十进制数。
    在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与 Informix
    技术支持部门联系。
    -1225 字段不接受 NULL 值。
    此语句试图存储 null 值到已被定义为不允许 null 的字段。检查表的定义,修改语句,使它
    提供值给所有需要的字段。
    -1226 十进制或 money 值超出了最大精度。
    4GL 试图转换一个字符格式的数值为 DECIMAL 或 MONEY 变量。然而,此数值小数点左边的数
    字多于变量说明允许的位数。修改程序,分配被转换数值给具有更高精度的变量。
    -1227 没找到信息文件。
    4GL 找不到一信息文本文件。此文件有.iem 后缀且存放在产品目录$INFORMIXDIR/msg 中。重
    新安装这些文件。若你已修改了用户信息文件 4glusr.msg,确认它的编译后的版本已被放在
    当前目录下。
    -1228 在信息文件中没有找到信息号。
    4GL 不能在与产品一起安装的信息文件中找到相应的信息号。重新安装所有.iem 类型文件。
    若你已修改文件 4glusr.msg 的内容,检查你所有可能的删除,并且重新编译此文件。
    -1229 不兼容的信息文件。
    4GL 试图在信息文件中查找一信息文本,文件中有和产品的当前版本不匹配的内容。可能文
    件是损坏的;可能找到的是以前的版本信息文件。文件有后缀.iem 且存放在 INFORMIXDIR 环
    境变量指定的路径的 etc 子目录中。重新安装这些文件。如果你已修改用户信息文件
    4glusr.msg,一定要用当前版本的 mkmessage 工具重新编译它。
    -1230 错误的信息文件名格式。
    提供给信息文件的文件名是非法的,此信息文件要用来象本书这样显示错误信息,故它无法
    被打开。检查 DBLANG 环境变量的值,如果它被指定了的话。
    -1231 不能在信息文件中查找。
    应用程序试图在一信息文件中查找一信息文本,当试图在文件中定位时收到一错误代码。这
    说明文件本身有问题;可能文件已被损坏或截断。重新安装所有的.iem 类型文件。如果你已
    修改了用户信息文件 4glusr.msg,要重新编译它。
    -1232 信息缓冲区太小。
    4GL 在从一编译过的信息文件中读取信息文本,但不能调整缓冲区大小来容纳完整的信息。
    这可能说明数据空间的危急短缺,更可能是表明信息文件被毁或者非法。重新安装所有.iem
    类型的文件。如果你已修改了用户信息文件 4glusr.msg,你需要重新编译它。
    -1233 无效的时,分,秒。
    在当前任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与 Informix 技术
    支持部门联系。
    -1234 函数只可用于 datetime 数据类型。
    在当前任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与 Informix 技术
    支持部门联系。
    -1235 字符主机变量相对数据太短。
    在一个 ESQL/C 程序中,程序试图取得一个字段值放进一个不够大的主机变量中。可用
    DESCRIBE 命令得到字段值的大小。
    如果这个错误出现在 4GL 程序中,请记下所有环境后与 Informix 技术支持部门联系。
    -1236 错误的日期纪元
    输入串中给定的纪元名或纪元偏移的是非法的或没有以要求的格式输入。检查输入串中的纪
    元名和偏移是否合法,次序是否适当。检查输入串格式对于 DBTIME 型值,DBDATE 型值或传
    递到 SQL API 函数的格式化串是否合适。
    -1237 错误的纪元名
    日期格式要求一个纪元名,但在输入串中却未找到与 GLS 局部环境设置中的纪元名相对应的
    名字。检查是否使用了正确的局部环境设置以及输入了正确的纪元名。
    -1238 错误的纪元初始化
    这是一个内部错误,请通知 Informix 技术支持部门。
    -1239 纪元年号溢出
    给出的纪元偏移不在纪元所指定的范围。检查纪元偏移是否在纪元指定的合法范围中。
    -1250 不能建立管道。
    应用程序使用操作系统的管道功能初始化它与数据库服务器的通讯时,操作系统返回了非期
    望的错误代码。查阅操作系统错误信息可以得到更多的细节。
    -1251 不能建立共享内存。semget 失败。
    在服务器用共享内存进行通讯的版本中,应用程序在初始化与服务器的通讯时,调用操作系
    统函数 semget 发生了非期望的错误。查阅操作系统错误信息可以得到更多的细节。请向安装
    Informix 共享内存产品的人咨询。
    -1252 不能建立共享内存。shmget 失败。
    在使用共享内存进行通讯的服务器的版本中,应用程序在初始化与服务器的通讯时,调用操
    作系统函数 shmget 发生了非期望的错误。查阅操作系统错误信息可以得到更多的细节。请向
    安装 Informix 共享内存产品的人咨询。
    -1254 不能与远程主机连接。
    程序试图打开一个由另一个系统中的数据库服务器管理的数据库,但不能打开与另一个系统
    的网络连接。检查 DATABASE 或 CREATE DATABASE 语句中指定的节点名。如果那是你想要的,
    寻找来自网络元件或操作系统的错误信息。与另一系统的操作者联系,验证它是活动的且接
    受网络连接。
    -1257 操作系统不能为后端产生分支进程。
    "后端"是指数据库服务器。这是一个内部错误。寻找操作系统信息将给出更多信息。在 DOS
    系统中,你可能是内存不足;退回到操作系统命令行,并再次提交你的程序。若验证了这不是
    系统极限的后果或本地问题,请记下所有环境并与 Informix 技术支持部门联系。
    -1258 不能连上用来与后端通信的共享内存。
    "后端"是指数据库服务器。这是一个内部错误。寻找操作系统信息将给出更多信息。若验证
    了这不是系统极限的后果或本地问题,请记下所有环境并与 Informix 技术支持部门联系。
    -1260 在指定的类型间转换是不可能的。
    系统将尝试任何有意义的数据转换。然而,有一些转换是不支持的,如 INTERVAL 到 DATE,
    DATETIME 到 MONEY。你可能涉及了错误的变量或字段。确认你已指定了你所要的数据类型,
    且数据值的文字的格式正确。
    -1261 datetime 或 INTERVAL 的第一个显示字段中数字太多。
    一个 DATETIME 文字的第一个显示字段必须包含 1 或 2 个数字(如果它不是 YEAR),或者 2 或 4
    个数字(如果它是 YEAR)。一个 INTERVAL 文字的第一个显示字段代表单元的个数,且最多可
    有 9 位数字,这依赖它的限定符中指定的精度。请检查此语句中的 DATETIME 和 INTERVAL 文
    字并且改正。
    -1262 非数值字符出现在 datetime 或 INTERVAL 中。
    DATETIME 或 INTERVAL 文字的格式是很严格的。只能包含十进制数字和允许的分界符:在年,
    月,日间的连字符;在日和时间的空格;在时,分,秒间的冒号,和在秒和分数间的小数点。
    任何其它字符,或这些字符的次序错误,都被检测为错误。
    -1263 datetime 或 INTERVAL 中的显示字段超出了范围或是非法的。
    检查此语句中的 DATETIME 和 INTERVAL 文字;至少其中一个包含了至少一个非法的显示字段。
    在一个 DATETIME 文字中,年可能是零;月可能不在 1-12 内;日可能不在 1-31 内或与月冲突;
    小时可能不在 0-23 内;分或秒可能不在 0-59 内;或相对指定的精度,分数的数字太多。
    在一个 INTERVAL 文字中,除了第一个显示字段是一个计数且可有限定符指定的个数的数字之
    外,约束是同样的。
    -1264 在 datetime 或 INTERVAL 尾部的额外字符。
    除了空格,DATETIME 或 INTERVAL 文字值之后不能有任何字符。检查此语句是否有遗漏或非
    法的标点。
    -1265 datetime 或 INTERVAL 运算溢出。
    DATETIME 和 INTERVAL 值在内部都存储为 DECIMAL 值。在此语句中,一个使用 DATETIME 或
    INTERVAL 值的算术运算导致了溢出。这是不应发生的。检查为 INTERVAL 值指定的精度。如
    果你想输入的 INTERVAL 值超过了显示字段允许的数字数,你必须在定义中明确标识有效数字
    位数。如果错误重复发生,请记下所有环境并与 Informix 技术支持部门联系。
    -1266 INTERVAL 或 datetime 对运算不兼容。
    有些 DATETIME,INTERVAL 和数值的算术组合是无意义和不允许的。请检查语句中的数学表达
    式。可能其中之一错误地使用了 DATETIME 或 INTERVAL 字段或变量。如果没有,查看你的 SQL
    参考资料中这些数据类型的正确用法。
    -1267 一个 datetime 的计算结果越界。
    在此语句中,一个 DATETIME 计算产生了不能被存储的值。例如,如果一个很大的 INTERVAL
    加到 DATETIME 上,就会发生这种情况。请检查语句中的表达式,看是否可以改变运算顺序来
    避免溢出。
    -1268 无效的 datetime 或 INTERVAL 限定符。
    此语句包含了一个不可接受的DATETIME 或 INTERVAL 限定符。这些限定符只可是 YEAR,MONTH,
    DAY,HOUR,MINUTE,SECOND,FRACTION 和 TO。FRACTION 后的圆括号中可以是一个 1 到 5 之
    间的数。检查语句中遗漏的标点和错放的词。一个常见的错误是多加了个 s,如 MINUTES,这
    是非法的。
    -1269 定位器转换错误。
    此信息的产生是因为一个要求定位器参数(BYTE 或 TEXT 值的引用)的函数接收的不是一个有
    效的定位器(如一个 NULL 参数)。检查程序逻辑,确认参数是正确的。如果错误再次发生,请
    记下所有环境并与 Informix 技术支持部门联系。
    -1270 INTERVAL 文字值不能有嵌入的负号。
    你可以在一个 INTERVAL 文字和其它值之间使用负号作为算术运算符,或用负号作为一个
    INTERVAL 文字的前缀来说明它是负的量。然而你不能在文字之中嵌入负号。如果你没有这样
    作,检查语句是否遗漏或错放标点。
    -1271 在 datetime 或 INTERVAL 分数中遗漏了小数点。
    当 DATETIME 或者 INTERVAL 文字值的限定符中包含 FRACTION 一词时,此文字值应该有一个小
    数点。此语句中有这样一个文字值但缺少小数点。检查文字的限定符并寻找遗漏或错放的标
    点。
    -1272 没指定输入缓冲区。
    你没有为此函数指定一个输入串,所以转换不能进行。设置输入串参数,再调用函数。(此函
    数可能要求用 DBTIME 环境变量定义格式指令。)
    -1273 输出缓冲区为 NULL 或太小不能保持结果。
    当函数被调用并且输出缓冲区的地址空间为 null 或小于格式串长度时,发生此错误。重定义
    地址大小并执行函数。(此函数可能要求用 DBTIME 环境变量定义格式指令。)
    -1274 没指定输出缓冲区。
    当输出缓冲区的长度为零或缓冲区指针为 null 时,发生此错误。版本 5.01 之后的数据库服
    务器不采用此错误信息。
    -1275 在 DATETIME 或 INTERVAL 格式串中显示字段的宽度或精度无效。
    在 DATETIME 或 INTERVAL 格式说明中的显示字段的宽度或精度必须是有意义的。显示字段宽
    度必须是一个十进制数,带前导零或负号(-)。如果有精度说明,也必须是十进制数,且用点
    (.)与显示字段的宽度说明分开。
    -1276 格式转换字符不被支持。
    格式串中的格式转换字符不是有效的。对照你的嵌入语言的产品手册中关于 DATETIME 和
    INTERVAL 格式转换函数的格式转换指令表检查串。可以参看 "Informix SQL 指南:参考手册"
    第四章中关于 DBTIME 环境变量的详述。
    -1277 输入与格式说明不匹配。
    确认包含 DATETIME 或 INTERVAL 值的 ASCII 串与格式串一致。例如,在 DATETIME 或 INTERVAL
    ASCII 串中的一个百分号字符(),在格式串中必须有一个匹配序列"%%"。可以参看 "Informix
    SQL 指南:参考手册" 第四章中关于 DBTIME 环境变量的详述。
    -1278 无效的转义顺序。
    检查语句的 LIKE 或 MATCHES 子句中指定的模式匹配串。在 ANSI 数据库中,可以有效转义的
    字符只有: LIKE 子句的%,和转义字符,MATHES 子句的*,?,[,]和转义字符。
    -1279 值超过了字符串字段的长度
    这条信息仅出现在 ANSI 数据库中。试图将一个字符串主变量插入到一个 CHAR,NCHAR,
    VARCHAR,或 NVARCHAR 字段中,但字符串太长了。
    -1280 libgen.so 与 Library API 不兼容。
    和你的客户应用程序一起编译的libgen.so共享库与在$INFORMIXDIR/lib目录中的版本不兼
    容。用新的 libgen.so 共享库的路径设定 INFORMIXDIR,然后重新编译你的应用程序。
    -1281 libos.so 与 Library API 不兼容。
    和你的客户应用程序一起编译的 libos.so 共享库与在$INFORMIXDIR/lib 目录中的版本不兼
    容。用新的 libos.so 共享库的路径设定 INFORMIXDIR,然后重新编译你的应用程序。
    -1282 libsql.so 与 Library API 不兼容。
    和你的客户应用程序一起编译的libsql.so共享库与在$INFORMIXDIR/lib目录中的版本不兼
    容。用新的 libsql.so 共享库的路径设定 INFORMIXDIR,然后重新编译你的应用程序。
    -1283 libgls.so 与 Library API 不兼容。
    和你的客户应用程序一起编译的libgls.so共享库与在$INFORMIXDIR/lib目录中的版本不兼
    容。用新的 libgls.so 共享库的路径设定 INFORMIXDIR,然后重新编译你的应用程序。
    -1301 这个值不在有效的可能范围之中。
    本字段可接受的值的列表或范围已被建立(由屏幕表格说明中的 INCLUDE 属性)。你必须输入
    一个在可接受范围之内的值。
    -1302 两次输入是不同的--请再试一次。
    为防止敲键错误,此显示字段已被指定 VERIFY(在屏幕表格说明文件中)。此显示字段的值必
    须被同样地输入两次。仔细地重输数据。你也可以用中断键取消屏幕表格输入(通常是
    CTRL-C,但要看程序作者提供的操作说明)。
    -1303 由于存在图片你不能使用这个编辑特性。
    此显示字段被(在屏幕表格说明文件中的)PICTURE 属性指定了格式。当你编辑这样的显示字
    段时,特定的编辑键(例如,CTRL-A,CTRL-D 和 CTRL-X)是不允许用的。只能用输入可打印字
    符和退格输入值。
    -1304 显示字段中的错误。
    你已经在显示字段中输入一个值,但不能被存储在接收它的程序变量中。例如,你输入一个
    十进制数,而应用程序只提供了整型变量;或你可能输入了一个超出应用程序期望长度的字
    符串。记下所有环境并且和写应用程序的人讨论这个问题。
    -1305 这个显示字段要求一个输入值。
    游标在已被指定 REQUIRED 的屏幕表格显示字段中。在游标能移动到另一显示字段之前你必须
    输入值。然而,你可以通过敲入任何可打印字符再退格消去的方法来输入 null 值。代替地,
    你可以用中断键取消屏幕表格输入(通常是 CTRL-C,但要看程序作者提供的操作说明)。
    -1306 为了校验请再敲一遍。
    游标在已被指定 VERIFY 的屏幕表格显示字段中。在游标能移动到另一显示字段之前,你必须
    输入同样的值两次。这是为了确保在数据输入中没有敲键错误。你也可以用中断键取消屏幕
    表格输入(通常是 CTRL-C,但要看程序作者提供的操作说明)。
    -1307 不能插入另一行,输入数组已满。
    你正在输入数据到一个记录数组,此数组在程序中用程序变量数组表示。这个数组现在是满
    的;没有地方来存储另一个记录。按 ACCEPT 键(通常是 ESCAPE,但要看程序作者提供的操作
    说明)来处理你已输入的记录。
    -1308 不能删除行 - 此行没有数据。
    你在一空行上按下删除行功能健(通常是 F2,但要看程序作者提供的操作说明),没有任何东
    西被删除。
    -1309 在你进行的方向上没有更多的行。
    你在试图在范围外滚动记录数组,或者是在数组顶端向上滚,或者是在数组底端向下滚。进
    一步尝试将会是同样的结果,如果那使你高兴就继续吧。
    -1310 没有执行一个 RETURN 语句而结束了当前函数。
    当前函数不是返回 void 类型的,但没有执行 RETURN 语句就准备退出。
    -1312 FORMS 语句错误号<号码>。
    这是有关于屏幕表格的问题。在本文档中查找错误号。结合当前的语句对它进行分析。
    -1313 SQL 语句错误号<号码>。
    当前语句访问数据库服务器时后者侦测到错误并且返回一个错误代码号。在本文档中查找号
    码。也可寻找其它错误信息。
    -1314 程序在语句<行号>行处停止。
    在程序的指示点侦测到错误。寻找其它给出本错误细节的错误信息。用本信息中的号可在程
    序源文件中定位错误。
    -1315 4GL 运行时错误号<号码>。
    因为侦测到错误,程序已经停止。在本文档中查找错误代码号。也寻找其它错误信息,以得
    到更多细节。
    -1316 ISAM 错误号<号码>。
    当前的语句访问数据库服务器,数据库服务器侦测到了错误(可能显示错误 -1313 报告)。这
    条信息包含关于错误发生的附加信息。可在本文档中查找号码。
    -1317 因为在调用程序和它的函数参数之间或变量和它的赋值表达式之间的
    不兼容,发生了数值转换错误。
    只要不丢失信息,4GL 在两种数据类型间自动转换。在当前的语句里,不能这样做。首先查
    看函数调用,检查作为参数传递的值。确认传递的值和参数在函数体内定义的类型相符。(一
    个错误的实例是调用函数 fun("X"),而函数的参数定义为整数。)如果是 LET 语句,确认在
    右边计算出的值能被左边命名的变量容纳。
    -1318 调用函数和被调用函数的参数个数不匹配。
    在调用函数时给的参数太多或太少。调用可能在与被调用的函数不同的源模块中。检查函数
    的定义和它被调用的所有点,确认使用参数个数与定义的相同。
    -1319 4GL 程序已经超出了运行时可用的数据空间内存。
    你将不得不减少程序要求的数据空间。检查大字符变量的大小和数组的维数。可能需要将程
    序分割成可以分别装入的几个程序。
    -1320 函数没有返回调用函数期望的数值的数目。
    如果函数作为表达式的一部分被调用,那么它返回多于一个的数值。如果使用 CALL 语句调用
    它,那么 RETURN 语句(函数中)后表达式的数目不同于 RETURNING 从句(CALL 语句中)中
    列出的变量的数目。
    确认调用了正确的函数。检查该函数的逻辑,特别是它的返回语句,确认总是返回期望数目
    的数值。
    -1321 VALIDATE 命令的执行结果出现确认错误。
    VALIDATE 语句对照存储于 syscolval 表中的规则测试当前变量的值。检测出失配情况。通常
    程序使用 WHENEVER 语句来获取这个错误,显示或修正错误的值。检查 VALIDATE 语句,找出
    正在测试的变量,并找出为什么它们是错误的。
    -1322 不能打开报表输出文件。
    不能打开 REPORT TO 语句指定的文件。确认你的帐户具有对这样文件的写权限,磁盘未满,
    并且你没有超过某些关于可打开文件数目的极限。
    -1323 不能打开报表输出管道。
    REPORT TO PIPE 语句指定的管道不能开始。确认其中命名的所有程序都存在,并在你的执行
    路径中是可访问的。还要查看操作系统信息,可能给出更具体的错误信息。
    -1324 报表输出文件无法写入。
    REPORT TO 语句指定的文件已经打开,但写入时出现错误。可能磁盘已满。查看操作系统信
    息,可能会给出更多的细节。
    -1326 数组变量的引用超过指定的维数范围。
    数组下标表达式产生的数值或小于 1 或大于数组元素的个数。检查直到这条语句的逻辑,判
    定错误是如何产生的。
    -1327 无法准备插入语句以将数据行插入报表使用的临时表。
    在报表函数中,4GL 生成 SQL 语句把数据行保存在临时表中。语句的动态准备(参考 PREPARE
    语句的参考资料)发生错误。最可能的原因是程序被编译后保持原样,直到运行时,数据库
    表格还没有定义;或者数据库已改变或者程序选择了与当前编译不同的数据库。另外的可能
    性是数据库管理员已回收你对报表中使用的一个或多个表的 SELECT 权限。查看其它错误信
    息,可能给出更多细节。
    -1328 在选定的数据库中,不能创建报表所需的临时表。用户在所定的数据库中必须具有
    创建表的权限。
    在报表定义中,4GL 生成 SQL 语句将数据行保存在临时表中。但无法创建临时表。最可能的
    原因是数据库中没有余下磁盘空间。其它通常的原因是当前数据库存在与临时表同名的表,
    报表定义试图创建该临时表作为排序表。排序表被命名为"t
    <报表名>"。(例如,报表名是
    "order_rpt",其排序表将命名为"t_order_rpt")因此,建议用户定义表时避开以"t_"打头
    的名字。与一些数据库服务器有关的-1328 错误另外可能的原因是,你超过打开文件的操作
    系统极限。查看其它错误信息,可能会获得更多的细节。
    -1329 无法创建报表所需的临时数据库表的数据库索引。
    在报表定义中,4GL 生成 SQL 语句把数据行保存在临时表中。但无法创建该临时表的索引。
    最可能的原因是在数据库中存在同名的索引(排序索引被命名为"i_<报表名>"例如
    "i_order_rpt")。另一通常的原因是在文件系统或 dbspace 中没有磁盘空间可用。另外,与
    某些数据库服务器有关的可能性是你已超过打开文件的操作系统极限。查看其它错误信息,
    可能获得更多的细节信息。
    -1330 往临时报表中插入一行失败。
    在报表定义时,4GL 产生往临时报表中存入行的 SQL 语句。然而,当这些行被插入时,有错
    误发生。有可能的原因是数据库磁盘空间不够。查阅其它的错误信息,可以得到更多的细节。
    -1331 无法从报表临时表中获取数据行。
    在报表定义中,4GL 生成 SQL 语句从临时表中取数据行。已成功地创建了表,但从中检索数
    据行时出错。唯一可能的原因是硬件失败,或数据库服务器出错。查看操作系统信息,以获
    取更多细节。
    -1332 字符变量引用的下标超出范围。
    在当前语句中,用于提取字符值子串的变量包含小于 1 的数,或大于变量大小的数,或者第
    一个子串表达式大于第二个。检查直到这条语句的程序逻辑,找出错误的原因。
    -1333 串的长度大于 512,不能从函数调用中被返回。
    当前 RETURN 语句包含一个表达式,其结果是长于 512 个字符的字符串。它不被支持。检查函
    数的逻辑,并修改它,使之不返回如此长的字符串值。更长字符串可赋予全局变量。
    -1334 4GL 程序不能为临时串的处理分配更多的空间。
    在一个比 4.1 版高的环境上编译的程序执行时,不应看到这条出错信息;然而 4GL 的 4.1 版
    或更早的版本上编译的程序必须处理这个问题。
    当求字符串表达式的值时会用到“临时”串的存贮。临时串的存贮分配是从一个固定大小的
    缓冲区中通过一个简单算法实现的。在最后一个未解决的字符串表达式完成前,缓冲区中的
    空间是不能被利用的。因为大多数表达式结束很快,所以该串缓冲区通常用起来快,清空也
    快。
    然而当表达式涉及到函数调用时,表达式的求值在函数调用期间搁置起来。在函数调用返回
    前,缓冲区不能清空。例如,在下面的语句中: LET charvar=numvar USING '###',
    myfunc()临时空间用于文字串'###'和 USING 操作符的结果。这些被搁置的值在 myfunc()函
    数调用期间一直保留在串缓冲区中。如果在 myfunc()函数和它的子函数求值期间用到的临时
    串值总量超过了缓冲区的大小,就会发生这里的错误。
    通过将函数调用分配在几个语句中,通常是可以避免上述错误的,如下面的例子:
    LET charvar=myfunc()
    LET charvar=numvar USING '###', charvar clipped
    在调用第一个语句的函数 myfunc()期间,串缓冲区是空闲的,当第二个语句执行完后,串缓
    冲区又是空闲的。
    CASE 语句中 WHEN 子语句的缩减形式也会产生被搁置的字符表达式。下面例子中,在整个函
    数 func_A()和 func_B()调用期间,临时串存贮空间将不予使用。
    CASE charvar
    WHEN 'A' CALL func_A()
    WHEN 'B' CALL func_B()
    ...
    WHEN 子句的完整形式不会产生上述问题,因为字符表达式的求值在函数调用开始时就结束
    了。 CASE
    WHEN charvar='A' CALL func_A()
    WHEN charvar='B' CALL func_B()
    当 WORDWRAP 子句出现在 PRINT 语句中时,INFORMIX-4GL 的 4.1 版中的某些版本中的一个熟
    悉的错误会引起上述类型的假错误。如果这个错误重复发生,请注意一下所有的环境并和
    Informix 技术支持部联系。
    -1335 在报表启动之前已进行输出或完成。
    程序在执行 START REPORT 语句之前已执行 OUTPUTTO REPORT 或 FINISH REPORT 语句。检查直
    到该语句的程序逻辑,找出这个错误的原因。
    -1336 pcode 文件中的模块<名称>包含 pcode 版本<编译版本号>。这个程序可执行 pcode
    版本—运行版本。带-V 选项运行 pcode 编译程序来检查它产生的 pcode 版本,然后重新编译
    你程序的所有模块并重新运行它。
    程序 runner 或定制 runner 必须在与程序编译器同样的软件版本上。首先通过带-V 选项执行
    每一个程序来确定它们在同一级别。该选项使它们显示它们的版本号。当确认使用的是兼容
    的软件,就重新编译你的程序。
    -1337 变量<名字>已重新定义为不同的类型或长度。
    所示的变量在 GLOBALS 节中的两个或多个模块内被定义,但在这些模块中的定义与在其它模
    块中的不同。可能模块分别编译,在此期间某些公共的 GLOBALS 文件发生变化。也可能变量
    在某些模块中被说明为模块变量,这些模块不包含 GLOBALS 文件。
    -1338 函数<名字>没有在程序的任何模块中定义。
    程序中至少有一个模块调用命名的函数,但在所有模块中都没有定义。如果你正在使用程序
    员环境,可能某个模块没有定义为一个多模块程序的部分。如果你在命令行状态工作,当程
    序文件集中形成.4gi 文件时,可能忽略了一个或多个已编译的.4go 模块。
    -1339 描述符表中没有全局变量名。
    这是 runner 的内部问题。如果错误再出现,请记录所有现场信息,并与 Informix 技术支持
    部门联系。
    -1340 没有启动出错日志。
    程序调用 errorlog( )函数时,没有首先调用 startlog( )函数。检查程序的逻辑,找出这个
    错误的原因。
    -1343 没有指定帮助文件。
    INPUT、PROMPT 或 MENU 语句包含带有帮助编号的 HELP 从句;但没有建立信息文件。该信息
    文件由 OPTIONS HELP FILE 语句建立,但没有执行这样的语句。检查程序的逻辑并修改它,
    在需要帮助以前,执行带有 HELP FILE 从句的 OPTIONS 语句。
    -1344 -INFORMIX-4GL 简易运行版.
    任何当前的 informix 产品不显示该信息。
    -1345 未定义的操作码.
    程序的 pcode 文件(它的文件后缀是.4go)已经损坏。重新编译整个程序,然后再运行它。如
    果出现同样的错误,确认你在同一版本级上运行 pcode 编译程序和 pcode 运行程序。如果错
    误再出现,请记录所有现场信息,并与 Informix 技术支持部门联系。
    -1346 数值对 DECIMAL 数据类型来说太大。
    DECIMAL 数据类型允许绝对值是从 10-130 到 10124。精度(有效数字个数)的变化从 1 到 32;
    该错误的原因不是数值的长度而是数值的数量级。
    -1347 数值对 DECIMAL 数据类型来说太小。
    DECIMAL 数据类型允许绝对值是从 10-130 到 10124。精度(有效数字个数)的变化从 1 到 32;
    该错误的原因不是数值的长度而是数值的数量级。
    -1348 试图除以零。
    分母不能是零。当分母是字符值而且它没有被正确地转换成数值时,也会引起这种错误。
    -1349 字符到数值的转换出错。
    为了存储于数值字段或变量,字符值被转换成数值格式。但该字符串无法按数值解释:它包
    含除了空格、数字、符号、十进制数或字母 e 以外的其它字符;或者各部分的次序不对因此
    该数值不能被解码。
    -1350 不能在指定的类型之间进行转换。
    系统试图进行任何有意义的数据转换。但有些不被支持,如 INTERVAL 到 DATE,或 DATETIME
    到 MONEY 的转换。你可能引用了错误的变量或字段。确认指定的数据类型无错,并且数据值
    的文字表达式格式正确。
    -1351 函数(或报表)名已被定义。函数和报表不能有同样的名称。
    每个函数(或报表,它与函数类似)在程序内必须拥有唯一的名字。必须修改其中之一。
    -1352 名字不能既作为函数(或报表)名又作为变量名。
    所示的名称至少按两种方式定义。名称无论在全局或模块级(函数名、报表名和全局或模块
    变量的名称)必须唯一。定位该名称的所有定义,并除了其中之一全部修改它们。
    -1353 使用'!'编辑 TEXT 和 BYTE 显示字段。
    内部屏幕表格编辑器不能处理 TEXT 或 BYTE 字段。但是可以指定一个外部程序,用它显示或
    编辑 TEXT 或 BYTE 字段的值。为任意的显示字段指定调用外部程序,须把游标放在该显示字
    段上,并键入惊叹号(!)字符。如果已定义外部程序(使用屏幕表格说明的 PROGRAM 属性),
    就会启动该程序。如果是 TEXT 显示字段,且屏幕表格中没有指定外部程序,则 DBEDIT 环境
    变量命名的程序就会启动。
    -1355 不能建立临时文件。
    已经使用 LOCATE 语句在临时文件中定位 TEXT 或 BYTE 变量。当前语句给该变量赋值,所以
    4GL 试图建立临时文件,但发生错误。可能磁盘空间不够,或你的帐户没有建立临时文件的
    权限。4GL 在 DBTEMP 环境变量中指定的目录上建立临时文件。查看操作系统错误信息,可能
    会得到更多的信息。检查 DBTEMP 的值。从在 5.01 版本开始,DBTEMP 环境变量被 INFORMIX-SE
    数据库服务器使用,而不是被 INFORMIX-
    OnLine Dynamic Server 使用。
    -1356 在临时文件<文件名>中出现写入错误。
    当对存有 TEXT 或 BYTE 变量的临时文件输出时,操作系统标识错误。很可能磁盘已满,或硬
    件失败。查看操作系统信息,以获取更多信息。
    -1357 在临时文件<文件名>中出现读取错误。
    当对存有 TEXT 或 BYTE 变量的临时文件输出时,操作系统标识错误。很可能磁盘已满,或硬
    件失败。查看操作系统信息,以获取更多信息。
    -1358 blob 文件<文件名>出现写入错误。
    当对存有 TEXT 或 BYTE 变量的临时文件输出时,操作系统标识错误。很可能磁盘已满,或硬
    件失败。查看操作系统信息,以获取更多信息。
    -1359 blob 文件文件名出现读取错误。
    当对存有 TEXT 或 BYTE 变量的临时文件输出时,操作系统标识错误。很可能磁盘已满,或硬
    件失败。查看操作系统信息,以获取更多信息。
    -1360 没有这个显示字段的 PROGRAM=从句。
    当游标位于 TEXT 或 BYTE 显示字段时,你按下了惊叹号键(!),但没有外部程序指定到该显示
    字段(使用屏幕表格说明文件的 PROGRAM 属性)。如果这是一个 TEXT 显示字段,可在启动该
    程序前通过设置 DBEDIT 环境变量指定一个文本编辑器。
    -1361 非法的 blob 文件名。不允许存在空名。
    已经使用4GL语句LOCATE在文件中定位了BYTE或TEXT变量。但是变量给出的文件名是空串。
    由于文件不存在,4GL 不能对其进行任何操作。
    -1362 4GL 执行堆栈违例。
    程序试图存取堆栈界限以外的内容。如果错误再出现,请记录所有现场信息,并与 Informix
    技术支持部门联系。
    -1363 出现致命的内部错误—应用程序中止。
    程序试图存取属于该应用程序以外的内存。如果错误再出现,请记录所有现场信息,并与
    Informix 技术支持部门联系。
    -1364 错误恢复安装失败—应用程序中止。
    运行机制允许应用程序捕获和处理内部错误,但不能完成其动作。返回 DOS,重新启动
    Windows。
    -1365 应用<应用名称>没有找到。
    应用启动器 fglaunch 没有找到要求的应用。
    -1366 不能装入应用<应用名称>。
    应用起动器 fglaunch 不能装入要求的应用。DLL 没有要求的 NewEra 入口点,所以一定不是
    NewEra DLL。.检查是否 NewEra DLL 与现存的系统 DLL 有相同的名字。
    -1367 DLL <名称>不是 DLL 资源—应用程序中止。
    应用起动器 fglaunch 的程序选项,指定 DLL <名称>包含资源,但没有找到资源。
    -1371 当前屏幕表格中不存在 field 显示字段名。
    在 NEXT FIELD 语句或 pf_nxfield( )函数中已经给出指定的显示字段名,但在当前的屏幕表
    格中没有定义。常见错误是弄混了标记名与显示字段名;标记名用于屏幕版面布置中,并位
    于 ATTRIBUTES 节中等号的左部;而显示字段名是位于 ATTRIBUTES 节中等号的右部的字段名
    称。后者用于指示显示字段。
    -1372 输入的数太大,不能放入十进制或金额变量。
    任何当前的 informix 产品可能不返回这条信息。如果出现这条信息,可参考-1226 号错误的
    解释。如果错误重复出现,请记录所有现场信息,并与 Informix 技术支持部门联系。
    -1373 field 显示字段名不在 CONSTRUCT/INPUT 语句的显示字段列表中。
    内部函数 get_fldbuf( )或 field_touched( )被调用时带有指定的显示字段名。但在
    CONSTRUCT 或 INPUT 语句中不需要从该显示字段输入。结果,函数无法返回任何有用值。检
    查所有这些函数的使用情况,并与语句开始部分的显示字段列表进行比较。
    -1374 SQL 字符截断或事务警告。
    程序设置了 WHENEVER WARING STOP,并且某个警告条件成立。如果涉及的语句是 DATABASE
    语句,条件是刚打开的数据库使用事务日志。如果是任何其它语句,条件是数据库的字符值
    必须被截断来适合它的目标。
    -1375 SQL NULL 值在聚合或 ANSI 模式的数据库警告。
    程序设置了 WHENEVER WARING STOP,并且某个警告条件成立。如果涉及的语句是 DATABASE
    语句,条件是打开的数据库是符合 ANSI 标准的。如果是任何其它语句,条件是在聚合值的计
    算中,已使用 null 值。
    -1376 SQL -INFORMIX-OnLine 或程序变量失配警告。
    程序已设置 WHENEVER WARING STOP,并且某个警告条件成立。如果涉及的语句是 DATABASE
    或 CREATEDATABASE 语句,条件是数据库被-OnLine 数据库服务器开本。如果是任何其它语句,
    条件是 SELECT 语句返回的值多于程序变量可包含的数目。
    -1377 SQL 浮点到十进制的转换警告。
    程序设置了 WHENEVER WARING STOP,并且某个警告条件成立。该条件是在数据库刚打开时,
    数据库服务器将使用 DECIMAL 数据类型取代 FLOAT 值。
    -1378 SQL 是非-ANSI 的扩充警告。
    虽然当前数据库是符合 ANSI 标准的,进行的数据库操作不属于 ANSI SQL。这只是提示信息。
    -1379 不能直接调用报表函数。请使用 OUTPUT TOREPORT 语句.
    报表函数已经作为 CALL 语句的结果被输入。但报表函数只能通过 START REPORT、-FINISH
    REPORT 和 OUTPUT TO REPORT 语句运行。检查程序,寻找象调用普通函数一样调用报表函数
    名的位置,并加以修改。如果想使用报表函数的某些代码作为子程序,应把它放入独立的子
    程序中,然后从报表函数或其它位置调用。
    -1380 只有字元表达式可以 CLIPPED
    如果你正试图遮除一表达式,你不可以 CLIP 非字元表达式.
    -1381 调试时不能执行其它 runner.
    一个 4GL runner 的实例正在运行。如果正在调试,不能通过 RUN 命令、RUN 加速按钮或直接
    从 windows 中调入其它附加的实例。要想调入新的 runner 实例,首先须退出当前运行的 4GL
    应用。
    -1390 分类 <分类名称>在程序的任何模块中都没有定义。
    命名的分类已经被说明和使用,但从未被定义过。分类必须在定义该分类的第一个成员函数
    时被定义。
    -1391 无效的分类指定,在 AS 从句中。
    NEW 或者 COPY 操作的 AS 从句指定的分类必须是从状态类继承的。
    -1392 不能使用 NULL 对象。
    在 p 码运行程序中,试图向下引用一个 NULL 对象。也许程序已定义对象,然后在使用!copy()
    或!derive()创建它之前,试图调用该对象的成员函数。
    -1393 已经定义了分类 <分类名称>。
    程序试图第二次定义某个分类。
    -1394 对内部函数 ixRow 对象参数是无效的。
    ixRow 参数应作为 UNPACKROW()和 PACKROWINTO()内部函数的第一个参数。
    -1396 报表 PRINT FILE 源文件不能按读取方式打开。
    在 PRINT FILE 语句中命名的文件不能被打开。检查文件名。如果不当前目录下,应指定全路
    径名。如果指定文件名正确,确认文件存在并且你的帐户对它有读取权限。查看操作系统错
    误信息以获得更多的细节。
    -1778 对于这条命令,安全子系统不能被初始化。
    保证该帐号有足够的权限。
    -1779 这条命令只能由 Informix-Admin 组的成员来执行。
    用属于 Informix-Admin 组的用户帐号来登录,或者请求
    INFORMIX-OnLine Dynamic Server for Windows NT 管理员将你的帐号添加到 Informix-Admin
    组中,然后重试这个过程。
    -1780 OnLine 只能由用户 informix 启动。
    必须是 Informix-Admin 组成员才能启动
    INFORMIX-OnLine Dynamic Server for Windows NT。
    用属于 Informix-Admin 组的用户帐号来登录,
    或者请求 INFORMIX-OnLine Dynamic Server for Windows NT
    管理员将你的帐号添加到 Informix-Admin 组中。
    -1781 OnLine 不能检索该用户帐号的帐号信息。
    这个帐号信息丢了、或者无效。运行用户管理程序来检验该帐号的有效性。
    -1782 OnLine 不能确认这个用户。
    该用户没有适用于运行 INFORMIX-OnLine
    Dynamic Server for Windows NT 的系统的有效帐号
    或密码。必须在运行 OnLine 的系统上,为
    该用户建立用户帐号和密码。
    -1783 UnSetup 将进行下列操作:
  • 删除 groupname 组和 username 用户帐号
  • 删除 servicename 服务
  • 从注册表中删除
    分支软件\branchname\keyname\
    是否还想删除所有的 Informix 产品文件和目录?
    (Y,N,Q)
    -1784 OnLine 不能初始化安全子系统。
    INFORMIX-OnLine Dynamic Server for Windows NT 以用户
    informix 帐号运行,这个用户 informix 帐号必须有下列权限:
  • 作为服务登录
  • 建立标记对象
  • 属于操作系统的一部分
  • 属于 Informix-Admin 组
    为了检验用户 informix 是否具有这些权限,请访问用户管理程序,
    并使用“策略/用户权限”对话框。
    -1785 pathname\buildsmi.ext
    这个信息引用了 buildsmi.bat 的输出。对于 Windows NT,如果 "Error building
    sysmaster" 在 online.log 文件中出现,则看一下文件 %INFORMIXDIR%\etc\buildsmi.out。
    -1786 这个命令行选项在控制面板/服务/“启动”对话框中规定的是 -i。
    在控制面板/服务/“启动”对话框中规定的参数为 -i,
    它使得 INFORMIX-OnLine Dynamic Server for Windows NT
    初始化根 dbspace,而破坏了当前它所包含的所有信息。当
    INFORMIX-OnLine Dynamic Server for Windows NT
    作为服务运行时,它不提示用户去确认
    已经规定的参数。如果一定要初始化根 dbspace,
    请将参数规定为 -iy 。
    -1787 OnLine 在配置文件中检测到一个失配。
    Mirror chunk pathname = pathname, Offset = offset K, Size = size K。
    检查大块的实际文件大小,对照 ONCONFIG 文件中为镜像大块规定的大小。
    -1788 OnLine 审计配置文件路径名太长。
    它的路径名最多只能包含 maxnum 个字符。
    最大字符数,或 maxnum,为 128。
    -1789 OnLine 不能获得用户 username
    的帐号信息。
    检查用户帐号是否存在,以及它是否有效。
    -1790 不能启动 OnLine。
    请保证启动 INFORMIX-OnLine
    Dynamic Server for Windows NT service 的帐号
    是 Informix-Admin 组的成员。
    -1791 在初始化共享内存时,OnLine
    遇到了致命的错误。
    在 %INFORMIXDIR%\online.log 中寻找错误原因。
    -1792 OnLine 不能访问 %INFORMIXDIR%\dbssodir 或
    %INFORMIXDIR%\aaodir。
    检查对于 %INFORMIXDIR%\dbssodir 和 %INFORMIXDIR%\aaodir 前的路径字段的访问。如果
    %INFORMIXDIR% 是在网络驱动器上,请确保 oninit 进程权限没有改变。另外,还要确保在
    注册表中 AAO 和 DBSSO 组名是有效的。
    -1793 OnLine 不能打开大块 chunkname。返回的系统错误值为 errno。
    确保这个大块存在,并有正确的访问权限。
    -1794 含有根 dbspace 的主要大块 chunkname 是无效的。它需要重新初始化。
    含有根 dbspace 的大块已毁损或超时。如果你备份了 INFORMIX-OnLine Dynamic Server for
    Windows NT 数据库,可以执行全系统恢复来恢复根 dbspace。如果没有备份数据库服务器,
    则需要在启动 INFORMIX-OnLine Dynamic Server for Windows NT 时用 -iy 参数重新初始
    化根 dbspace。
    警告:用 -iy 参数启动 INFORMIX-OnLine Dynamic Server for Windows NT,会重新初始化
    根 dbspace 并真正毁损数据库服务器中的所有数据。除非再执行一次全系统恢复,否则不能
    访问已经存在的数据库。请不要重新初始化根 dbspace,除非你肯定想这么做。
    -1795 在共享内存中规定的大块数量 num_chunks 太大。
    在当前配置状况下最大允许数量为 num_chunks 。请规定更大的大块大小,并减少大块
    的数量。
    -1796 OnLine 在注册表子键中检测到与 MIRRORPATH 失配的数据。对于 MIRRORPATH 检索
    的数据是路径名。
    根 dbspace 没有被镜像。欲添加镜像,使用 onspaces 或 onmonitor。
    -1797 对于指定的配置,根 dbspace 不够大。
    其实际尺寸为 sizenum,而要求的尺寸为 sizenum。
    在指定的磁盘上,根 dbspace 不合适。在指定的磁盘上释放出所需要的空间量,或者改变
    ROOTPATH 配置参数,指定拥有更多可用空间的磁盘。然后重新启动 OnLine,用 -iy 参数初
    始化根 dbspace。
    警告:用 -iy 参数启动 OnLine,会重新初始化根 dbspace,并完全破坏了 OnLine 的全部
    数据。除非后来再做一次全系统恢复,否则将永远不能访问已存在的数据库。请不要重新初
    始化根 dbspace,除非你肯定要这么做。
    -1800 无效的事务状态。
    在停止连接之前,必须提交或滚回当前事务。
    -1801 不支持多重服务器事务。
    试图在单个事务中跨越多个连接。如果建立连接时使用 WITH CONCURRENTTRANSACTION 从句,
    就可以当一个事务活动时转换到不同的连接。该错误信息可以在下列试图转换连接时出现:
  • 如果当前的连接是对于 6.0 或更高版本的数据库服务器,且建立连接时没有指定
    WITH CONCURRENT TRANSACTION 从句,并且当前连接中有一个活动的事务。
  • 如果当前连接属 5.0 版本数据库服务器,且建立连接时没有指定 WITH CONCURRENT
    TRANSACTION 从句,并且当前有一个数据库在此连接上打开。
    -1802 连接名在使用。
    已有一个具有相同连接名的连接被建立。每个连接必须拥有唯一的连接名。为该连接改名,
    重试一遍。
    -1803 连接不存在。
    在 SET CONNECTION 或 DISCONNECT 语句中的连接名不对应于已建立的连接。检查你的程序,
    是否进行了连接,如果是,确认该连接没有停止连接。并且检查语句中失败的连接名的拚写。
    -1804 无效的数据库环境。
    数据库服务器无法连接到你指定的数据库环境上。服务器无法定位到数据库服务器或
    你指定的数据库上。检查你的语句的句法。如指定数据库服务器,必须使用符号@。不
    能使用//。
    -1805 无效的连接名。
    连接名是无效的。连接名必须符合和任何其它标识符一样的命名规则,即最多 18
    个字符,可包括字符、数字和下划线。并且不能是 ANSI 保留字。如果连接名用于原始
    的 CONNECT TO 语句,必须在后续连接语句中使用该连接名。确认连接名是有效的标识
    符,并且你使用连接名而不是一些其它值。
    -1807 没有连接,不是进行停止连接。
    企图中止一个当前不存在的连接。检查程序,确认你没有对该连接执行 DISCONNECT 语
    句。
    -1808 重新连接 server_name 服务器 i 来进行数据库操作。
    如果使用 CONNECT 语句连接数据库服务器,就不能通过-DATABASE 语句之一(
    DATABASE、STARTDATABASE 等)隐含地重新与服务器连接。必须使用 SET
    CONNECTION 语句将连接转到它。
    -1809 服务器拒绝该连接。
    检查对所指服务器是否具有连接权限。如果同时指定数据库服务器和数据库,也检查
    是否对该数据库拥有存取权限。
    -1810 停止连接错误。
    某连接没有被 DISCONNECT ALL 语句停止连接。某个连接的数据库服务器可能已经终
    止。如果不是这种情况,原因就是软件内部的。如果错误重复出现,请记录所有现场
    信息,并与 Informix 技术支持部门联系。
    -1811 在显式连接后不允许隐含连接。
    一但使用 CONNECT TO 语句建立与数据库服务器的显式连接,就不能使用 DATABASE
    语句之一隐含建立与其它数据库服务器的连接。显式连接之后,必须使用 CONNECT TO
    语句连接其它数据库服务器。
    -1812 内部错误。
    如果这个内部错误重复出现,请记录所有现场信息,并与 Informix 技术支持部门
    联系。
    -1813 只有当前连接能静止不正确地使用 SET CONNETCTION DORMANT 语句。
    你试图让已经静止的连接进入静止状态。或者你试图让正被其它线索使用的连接
    进入静止状态。
    -2013 不能打开输出屏幕表格文件<文件名>。
    很可能你的帐户不具有所指目录的写入权限;或者磁盘已满。在某些系统中,可能与
    打开文件个数的极限有关。查看操作系统信息,以获得更多信息。
    -2014 操作系统命令行中的参数个数不对。至少需要一个参数。
    如果从命令行运行屏幕表格编译程序,必须指定-d 选项或屏幕表格的名字。
    -2015 在<行号>行<列号>个字符内,已打开的注释中又出现一个注释起始符。这可
    能是由于关闭以前打开的注释失败,它开始在<行号>行<列号>个字符内。
    不支持嵌套的注释。检查屏幕表格说明和所有注释,确认每个开大括号有一个对应的
    关大括号。
    -2016 注释被打开,但没有关闭。最后的注释开始在<行号>行<列号>个字符中。
    在报表说明中的适当位置插入注释结束符。
    -2017 字符数据值不能正确转换成该显示字段类型。
    在显示字段输入的字符值(引用串)与该显示字段的数据类型不同,比如 INTEGER。输
    入的字符又无法转换成该显示字段的类型。查阅该应用的操作说明。然后重新输入数
    据。
    -2018 在<行号>行<列号>个字符中出现语法错。在它的环境中,该结构无法解释。
    该信息指出源文件中编译程序无法解释的确切位置。实际的错误可能更早,在文件的
    前部,也许在几行之前;但不会是在文件的后部。其它的,并且更为具体的错误信息
    也应出现。
    -2019 整数超过允许大小的最大值。
    INTEGER 数据类型可接受绝对值范围从 0 到 2,147,483,647(±231-1)的数字。如果要存
    储超出此范围的数字,字段或变量必须重定义为 DECIMAL 数据类型。(数值
    -2,147,483,648 是 32 位数值,但不能被接受;在 4GL 中它用于指示空值。)
    -2020 表 table-name 不能打开。要求操作系统按写入方式打开该表。
    你正在使用数据库服务器,它管理表作为普通磁盘文件。当前数据库作为目录,表是
    其中的文件。参看操作系统错误信息,会得到更多的信息。定位数据库的目录(或在
    当前目录或在环境变量 DBPATH 命名的路径上)。确认有足够盘空间。在 UNIX 环境,你
    的个人帐户不必有对该目录及表文件的写权限。但对组-id informix 它们必须是可写
    入的。
    -2021 指定了非法的颜色。颜色 0 到 7 依次是白色、黄色、紫红色、红色、靛色、绿
    色、蓝色和黑色。
    无论在屏幕表格说明的 COLOR 属性中,还是在 4GL 程序的显示属性中,颜色必须由名字
    指定,拼写如以上信息所示。检查该语句的拼写和标点。
    -2022 标识符超过标识符的最大长度<长度值>。
    所有字段名和其它标识符名不能超过所示长度。必须修改屏幕表格说明并重新编译。
    -2023 引用串超过引用串的最大长度<长度值>。
    不能使用更长的引用串。在屏幕表格中,不能将两个短串联结成一个长串,因此这是
    绝对的长度极限。必须修改屏幕表格说明并重新编译。
    -2024 已有一个记录名被指定了。如果记录名与屏幕表格中的表名相同,则创建一
    个同名的缺省记录。
    确认每个屏幕记录和屏幕数组的记录名在屏幕表格说明中是唯一的。为每个用于
    ATTRIBUTES 节中的表自动定义一个屏幕记录,来定义一个显示字段。因此,如果定义
    与表名相同的记录,就会认为是重复。
    -2025 在<行号>行<列号>个字符中虽然没有打开任何注释,但却发现了注释结束符
    (})。
    除非包含在引号中,否则注释符必须是一一对应的。很可能在编辑过程中注释起始符
    偶然被删除。修改屏幕表格说明,使注释合法分界。
    -2026 FORMONLY field 显示字段名没有指定类型。如果包含列表或指定缺省值,其
    类型必须指定。
    定义 form-only 显示字段(没有联接到数据库字段的显示字段)的普通方法是:
    tagname = DISPLAYONLY.fieldname TYPE datatype
    要求有 TYPE 从句。检查属性语句并重新编译屏幕表格。(关键字 FORMONLY 用于由 4GL 编
    译程序编译的屏幕表格。与 DISPLAYONLY 意义相同)。
    -2027 在<行号>行<列号>个字符中存在非法字符(不可见字符或控制字符)。在列
    表中已被空格取代,但仍存于源(输入)表中。在重新编译前应将其删除。
    当使用字处理编辑器的文件模式而不是文本模式时可以把非法字符引入到文件中,或
    者在编辑时敲入非打印键,或者由数据损坏引入的。
    -2028 符号<名称>不表示在这个屏幕表格中使用的表前缀。它不能在这里用于选择
    记录元素。
    在 SCREEN RECORD 语句中,每个元件必须由定义于 TABLES 节的表名引出,或由单词
    FORMONLY。对照 TABLES 节检查指定名称的拼写,并检查语句其余部分的标点。
    -2029 屏幕记录数组<名称>中元素的大小,或者与数组指定的维数不同,或者它们
    自相矛盾。
    屏幕数组的维数写在紧接其名后的方括号内,如下例所示,它的维数是 12。
    SCREEN RECORD details[12](items.item num,items.item desc,unit_price)
    这时,应精确地有 12 个屏幕显示字段,每个与屏幕记录列出的三个字段之一相关联。
    当一个或多个字段出现的次数有所不同时,本错误信息出现。
    -2030 在<行号>行<列号>个字符发现排印错。
    指定位置的单个字符,虽然是可打印的,但不是预期的并且不符合屏幕表格说明的语
    法。
    -2031 WORDWRAP 属性只能指定到 CHAR、-VARCHAR 和 TEXT 显示字段。
    这条 PRINT 语句将 WORDWRAP 函数用于一个非字符数据的数值。检查该显示字段名正是你
    所要的,并检查语句其余部分的标点。
    -2032 上面的数值无法成功转换成 INTERGER 或 DOUBLE 或 LONG。
    数值常数出错。很可能数字位数过多。检查该语句的标点。可能两个数值被写成一个
    数。
    -2033 显示字段<名称>有一缺省值,它不在其所包含的值范围内。
    指定的显示字段既有 DEFAULT 属性也有 INCLUDE 属性,但它们不兼容:缺省值不是允许
    值之一。修改属性之一,并重新编译屏幕表格说明。
    -2034 该特性在 INFORMIX-SQL 中不可用。在 INFORMIX-4GL 中通过"form4gl"屏幕表格
    产生器可用该属性。
    PERFORM 屏幕表格编译程序和 4GL 屏幕表格编译程序接受非常类似的屏幕表格说明,但
    在某些方面存在差别。这个语句使用 4GL 功能 PERFORM 不能处理它。
    -2035 如果指定属性 WORDWRAP,应该用于联结中的所有字段。
    默认本信息。它用于 PERFORM(联结)的特性,而 4GL 不支持该特性。
    -2036 多行显示字段的显示行位于不同屏幕页中。
    多行显示字段(多重显示字段带有同样的标签,具有 WORDWRAP 属性)必须完整地在一
    个屏幕页内。也许并没有把显示字段设计在两页上。但如果该页的版面布置,加上 4 行
    保留行,高于物理屏幕(象在 SCREEN 语句或在命令行中行维数所指定那样),在页可
    容纳的最后一行后开始新的一页,这样屏幕表格被分割;并且可能会意外地分割多行
    显示字段。无论如何重新安排显示字段,使多行显示字段放在在单个页中。
    -2037 只能为 BYTE 和 TEXT 类型显示字段指定属性 PROGRAM。
    显示字段属性 PROGRAM 指定一个外部程序编辑或显示 BYTE 或 TEXT 值;这些值假定为
    太大,并对常规的屏幕表格显示方法是特殊的。但在这个语句中,该属性用于其它不
    支持类型的字段。检查表名和字段名,确认无误,并检验在 DATABASE 语句中命名的
    数据库的表的当前定义。
    -2038 BLOB 显示字段不能进行联结。
    BYTE 和 TEXT 类型字段不能进行比较;因此它们不能用于联结表;它们不能作为联结字
    段或在 COMPOSITES 语句中。检查表名和字段名,确认无误,并检验在 DATABASE 语句中
    命名的数据库的表的当前定义。
    -2039 BLOB 字段不支持以下属性:AUTONEXT、DEFAULT、INCLUDE、VERIFY、RIGHT
    和 ZEROFILL。
    BYTE 和 TEXT 类型字段不能按这些属性使用方式使用。检查表名和字段名,确认无误,
    并检验在 DATABASE 语句中命名的数据库的表的当前定义。
    -2040 屏幕表格名<名称>超过最大字符长度的长度。
    屏幕表格编译程序对名字长度的限定可能小于宿主操作系统对它的限定。应将屏幕表
    格说明文件换名,并重新执行该命令。
    -2041 屏幕表格文件名无法打开。很可能不存在。或用户没有读取权限。
    检查文件名的拼写。检查屏幕表格文件存在于当前目录下。或如果在其它路径下,提
    供了正确的路径名。在 UNIX 系统中,如果上述检查无错,检查你的帐户有该文件的读
    取权限。
    -2042 上面语句中或附近的 BLOB 显示字段的用法不正确。
    BYTE 和 TEXT 类型字段不能按在该语句中使用方式使用。检查表名和字段名,确认无
    误,并检验在 DATABASE 语句中命名的数据库的表的当前定义。
    -2043 屏幕版面布置超过指定屏幕宽度。这仅是警告信息。
    假设的屏幕宽度可在 SCREEN 语句或屏幕表格编译程序命令行参数中得到,缺省值是 80
    个字符。如果当前屏幕表格说明被显示于具有此宽度的终端,或者一些行被截断或者
    行被不明显地“自动换行”。
    -2044 最多可以为每个字段的每个条件指定一个颜色属性。
    检查 ATTRIBUTES 语句,COLOR 属性附近可能有错。找出漏掉的标点。
    -2045 4GL 显示字段的条件属性不能取决于其它显示字段的值。
    属性 COLOR 中 WHERE 子句的布尔表达式只能使用显示字段名或常数。修改该属性并
    重新编译屏幕表格。
    -2100 显示字段 field 存在校验串错误,String =string.
    在 syscolval 或 syscolatt 表中的格式串或校验串之一未被正确地编码。字符串作为其
    应用的显示字段来指定。使用 Windows 的 Column attributes Dictionary 实用工具或者
    DOS 和 UNIX 的 upscol 实用工具修改该字符串。
    -2800 说明部分的第一行必须是关键字 database 后接数据库名,或者关键字
    FORMONLY(只限 4GL)。还可接 WITHOUT NULL INPUT 选项.
    除了注释行,屏幕表格说明必须以命名数据库开始。检查文件中的标点和拼写错误。
    参照该产品的参考手册,以得到 DATABASE 语句允许的选项。(这条信息当前不使用,
    在 4.0 版本或更早版本的产品中才能遇到)。
    -2810 名称 name 不是现存的数据库名。
    在屏幕表格说明起始部分的 DATABASE 语句中的名称,不是可以找到的数据库。除非使
    用-OnLine,数据库必须被置于当前目录下或者在环境变量 DBPATH 中命名的目录下。
    -2811 写出时无法打开临时表 table-name。
    应用程序试图在数据库中创建一个临时表或者一些其它临时文件,但收到数据库服务
    器产生的错误代码。最可能的原因是磁盘空间不够。查找包括操作系统信息的其它错
    误信息,以获取更多信息。
    -2812 临时表 table-name 无法读取。
    应用程序在数据库中创建并填充一个临时表,或者创建并填充一些其它临时文件,但
    试图从中读取数据行时,收到数据库服务器产生的错误代码。最可能的原因是硬件失
    败。查找包括操作系统信息的其它错误信息,以获取更多信息。
    -2820 括号之间的标签名没有正确地给出或者标签丢失。
    在屏幕表格说明的 SCREEN 节的这行中,存在由中括号指定的显示字段;但在括号内应
    有简单名而实际上没有:或者除了空格外没有其他的内容,或者是个无效的名称。检
    查该行的标点,确认括号间只有一个简单标识符。
    -2830 在这行找到左中括号,但无右中括号与之匹配。
    屏幕显示字段不能跨行。检查 SCREEN 节,确认所有显示字段被适当地标记。如果创建
    多行显示字段,对多重完整的显示字段须使用同一显示字段标签标记。
    -2831 控制块超过显示字段的最大极限。
    在控制块的 OF 子句中列出的字段或表太多。这将使你分别写控制块,每个对应原列表
    的一部分。
    -2832 屏幕表格在显示字段的起始和结束位置使用“|”。因此,屏幕表格必须指定
    同一字符作为左右分隔符。可使用 INSTRUCTIONS 节中的 DELIMITERS 命令定义它。
    确定存在 DELIMITERS 语句,并且指定了同一字符作为左右分隔符。
    -2834 NULL 不能当作缺省值。它已经是你不指定任何值时的缺省值。
    ATTRIBUTES 语句包含指定 NULL 值的 DEFAULT 从句。删除该从句或指定其它值。
    -2840 屏幕表格中没有定义标签标记。
    指定的名称在 ATTRIBUTES 语句的左部出现,但不在 SCREEN 节的括号内。检查已定义的
    显示字段标记,弄清为什么它被漏掉。
    -2841 在属性节前屏幕表格必须包括一个表的说明。
    检查屏幕表格说明文件,确认是否按顺序存在 DATABASE 语句、SCREEN 节、TABLES 节和
    ATTRIBUTES 节。
    -2843 字段 column-name 不在屏幕表格说明中。
    在 ATTRIBUTES 语句中的名称,应预先在屏幕表格说明中定义。检查语句中所有名称的
    拼写,确定它们被恰当的定义。
    -2844 在屏幕表格说明中,字段 column-name 与一个以上的显示字段关联。
    在 ATTRIBUTES 语句中任何表的字段只能和一个显示字段相关联。也许你试图显示的字
    段源自两个或两个以上表,它有着相同的字段名;在这种情况下,将表名作为字段名
    的前缀,以区别它们。
    -2845 包含字段 column 的表 table-name 的复合字段没加索引。为该字段创建索引可
    极大地改善性能。
    使用索引可减少多层联结表所需的时间。但索引不是必须的。尤其当表很小或者在初
    始测试阶段。
    -2846 显示字段 field-name 不是表 table-name 的成员。
    在这个语句中假定所指的名称是这个表的一部分,但它在当前的数据库中不对。检查
    两个名称的拼写。如果无错,确认使用了正确的数据库,且该表没有被修改。
    -2850 名字<名称>不是这个数据库的字段名。
    屏幕表格的 TABLES 节中指定的表的确存在。但应在 ATTRIBUTES 节中命名的字段名不存
    在。对照实际表检查其拼写。可能表已被修改或字段已被改名。可以在 Tables 菜单
    下,选定 info,使用 INFORMIX-SQL 检查字段名。
    -2856 TODAY 属性只能赋予日期字段。
    TODAY 函数(不是属性)返回今天的日期值。该值只能赋予类型为 DATE 或 DATETIME 的显
    示字段。在这个语句中的显示字段有不同的类型。在 4GL 程序中提供自动数据转换,但
    在屏幕表格环境中无此功能。
    -2857 在联结列表中,只能存在一个主要复合字段。
    这语句定义一个联结列表,两个或多个字段名与同一屏幕表格显示字段关联的列表。
    在这样的列表中,在字段名前有星号表明该字段是检验联结中的主要字段。在任何联
    结中只能存在一个这样的字段,但这个列存在两个或更多。检查检验联结的文档,并
    选定一个单一的主要表。
    -2858 表 table-1 和表 table-2 联结。但它们的联结字段不属于复合键。
    在两个表之间已定义两个或更多不同的联结字段。但在联结字段上不存在复合索引。
    该索引是用以保证复合键的存在的。即,保证联结字段值的任意复合只出现一次。检
    查两个或两个以上定义这两个表的联结字段的 ATTRIBUTES 语句。确认它们如你所望;
    例如,确认是基于两个或多个字段联结两个表,而不是基于一个字段联结三个或更多
    的表。如果需要复合键,可使用命令 CREATE INDEX 为至少表 1 的那些字段创建复合
    唯一索引。
    -2859 字段<字段名>是一个以上的表的成员,你必须指定表名。
    TABLES 节中两个或两个以上表均包含指定名称的字段。必须指明你要的是哪个表。方
    法是将表名作为字段名前缀。如<表名>.<列名>。无论在屏幕表格说明的任何位置使用
    该名称都这样做。
    -2860 存在对 column-name 的字段/值类型失配。
    该语句使用 DEFAULT 从句为显示字段赋值,或者在 INCLUDE 从句中使用该显示字段的
    值,但使用的数据不符合显示字段的数据类型。检查显示字段的数据类型(它来自与
    之关联的字段),并确认仅设定兼容的数值。
    -2861 已超过最大的表数。
    在一次可使用的表数目存在一个极限(这个极限随着不同的宿主系统或者不同的数据
    库服务器而不同)。它迫使你减少该屏幕表格使用的表的数目。
    -2862 在数据库中找不到表<表名>。
    屏幕表格中使用的所有表在屏幕表格编译时必须存在。以便编译程序可验证字段的数
    据类型。指定的表在屏幕表格命名的数据库中不存在。检查表名和数据库名的拼写。
    如果无错,或者没有使用期望版本的数据库(检查环境变量 DBPATH 的值),或者数据
    库已被修改。
    -2863 在指定表中不存在字段 column-name。
    屏幕表格的 TABLES 节中指定的表确实存在。但应在 ATTRIBUTES 节中命名的 column-name
    不存在。对照实际表检查它的拼写。可能此表已被修改或者该字段已被改名。也可在
    Table 菜单下,选定 info,也可使用 INFORMIX-SQL 检查字段名。
    -2864 在指定表中不包含表 table-name。
    指定的表用于这个语句,但在屏幕表格说明的 TABLES 节中无定义。检查其拼写;如果
    无错,将该表增加到 TABLES 节中。
    -2865 在表 table-name 中不存在字段 column-name。
    在这语句中隐含有表示的字段是指定表的一部分(很可能语句涉及 table-name.
    column)。但在那个表中没有定义。检查两个名字的拼写。如果没有错误,检查数据
    库的内容;很可能该表已被修改或字段已被改名。
    -2866 NOW 属性只能赋予 datetime 字段。
    这个信息没有在任何当前的产品中使用。SQL 不提供 NOW 属性或函数支持;请用 CURRENT
    函数。
    -2867 CURRENT 属性只能赋予 datetime 字段。
    CURRENT 函数(不是属性)以 DATATIME 值产生当前的日期和时间。在语句中引用的显
    示字段,不具有 DATATIME 数据类型。在该环境中不支持自动数据类型转换。检查该
    语句,确认引用所期望的显示字段,并修正屏幕表格,将 DATETIME 值只设定于
    DATETIME 显示字段。
    -2870 下标字段大小与显示字段中分配的空间不匹配。
    该属性语句将字段的子串与显示字段相关联。但是,或者子串数字错(第一个小于 1 或
    者大于该字段的大小,第二个小于第一个),或者数字正确但选择的字符个数与显示
    字段大小不同。修正子串数字,使之与显示字段要求的字符数绝对一致。
    -2880 单词'screen'或者'end'丢失。
    每个屏幕表格说明必须以关键字 END 结尾,必须包含关键字 SCREEN。它们都必须在每行
    的第一列开始。检查屏幕表格说明内容,确认其包括所有必要的节,并适当地标记。
    -2890 屏幕定义必须由左大括号‘{’开始。
    每个屏幕版面布置必须置于大括号({})中。左大括号必须是所在行第一个字符。检查
    屏幕表格说明,确认屏幕版面布置的句法结构是正确的。
    -2892 字段 column-name 名在屏幕表格中出现一次以上。如果希望某字段在屏幕表格
    中重复。使用同样的显示字段标签。
    在两个或两个以上位置显示同一字段的方法是:在屏幕版面布置中放置两个或两个以
    上显示字段,每个显示字段具有相同的标记名。然后,在 ATTRIBUTES 节中使用一条单
    独的语句,使那个标记名和字段名产生关联。当前的字段值将在所有的显示字段重
    复。如果需要显示不同字段。列在 ATTRIBUTE 节中的字段名必须不同。如果需要显示
    不同字段,而又恰巧具有相同字段名。须将表名作为其前缀。
    -2893 显示字段标签标记名在屏幕表格中出现一次以上。但长度不同。
    可以在屏幕版面布置中放置一个显示字段的多重拷贝(所有拷贝均显示同一字段),
    但所有拷贝必须是同样长。检查 SCREEN 节,以确认:如果打算一个显示字段有多重拷
    贝,则所有拷贝必须完全相同。
    -2895 field-size 的显示字段长度与 column-size 的数据库字段长度不匹配。只是警
    告信息。
    该语句定义的字符显示字段大小(如 SCREEN 节中出现时所示)与关联字段的大小不同。
    可在屏幕表格编译程序中指定-v 选项,来产生此类警告信息。
    -2901 显示字段名包含两个冲突的属性,第一属性和第二属性。
    该语句自相矛盾。UPSHIFT 和 DOWNSHIFT 属性不能用于同一显示字段;NOENTRY 和
    REQUIRED 属性,或 NOENTRY 和 VERIFY 属性也不能用于同一显示字段。检查该语句并
    修正选定的属性。
    -2920 该字段 column 是主要的字段但未加索引。如为该字段创建索引,性能会大有
    改进。
    指定的字段已定义为检验联结的主要字段。这意味着无论何时操作员在该显示字段输
    入一个数值,将会在该字段进行对照。如果索引存在,该对照操作非常迅速。现在该
    字段无索引。如果没有索引,对照将会极其缓慢。除非该字段不允许操作员输入(这时
    应删除星号)或者表很小(最多几十行),你应该在屏幕表格使用前为该字段创建索引。
    -2921 数据库的 dbname 与当前的-INFORMIX-SQL 版本不兼容。
    屏幕表格中 DATABASE 语句命名的数据库是由老版本的 informix 软件创建。要使当前系
    统能使用它,必须使用 sqlconv 实用工具进行转换。
    -2930 字段名的部分多于一次在屏幕上显示。
    这个屏幕表格在不同的显示字段中显示指定字段带有下标的部分。这是合法的;但任
    何单一字符不能出现在一个以上的显示字段中。即,下标部分不能重叠。例如,可在
    某显示字段显示 name[25,49],而在另一显示字段显示 name[50,74]。但不能同时显示
    name[25,49]和 name[25,74],因为某些字符会显示两次。
    -2931 格式说明中存在错误。
    检查该语句的 FORMAT 串内容。是否存在不正确的数据类型。如,数值字段含有#-
    和.以外的字符;DATE 字段存在不正确的内部长度。如,yyy 要求三位数的年。
    -2932 格式的指定只限浮点、小浮点、十进制或日期字段。
    该属性语句指定了 FORMAT 串,但显示字段的数据类型不是支持的四种格式之一:
    FLOAT、SMALLFLOAT、DECIMAL(或 MONEY)和 DATE.如果这不是 DISPLAYONLY
    字段,检查它是否附属于右字段,并确认该字段是否如你所预期的在数据库中定义。
    -2933 格式宽度大于预置的显示宽度。
    为这个显示字段指定的 FORMAT 串的长度大于该显示字段本身在 SCREEN 节表示的长度。
    检查屏幕的版面布置,并加以修改,或修改格式使它们一致。
    -2934 格式宽度小于预置的显示宽度。
    为这个显示字段指定的 FORMAT 串的长度小于该显示字段本身在 SCREEN 节表示的长度。
    检查屏幕的版面布置,并加以修改,或修改格式使它们一致。
    -2935 用'-l' 选项或在屏幕节中指定的行数必须是从 6 到 600 之间的一个正整型数。
    在 SCREEN 语句中或用-l(小写 L)命令行选项给出的屏幕的垂直大小不在范围内。把它改
    为指定屏幕表格将使用的终端的期望尺寸。
    -2936 用'-c' 选项或在屏幕节中指定的字段数必须是从 30 到 600 之间的一个整型数。
    在 SCREEN 语句中或用-c 命令行选项给出的屏幕的水平大小不在范围内。把它改为指定
    屏幕表格将使用的终端的期望尺寸。
    -2940 显示的字段名既带有下标又不带下标。
    这个屏幕表格在不同的显示字段中显示指定字段的全部,和它的下标部分。你可以在
    不同的显示字段中显示一个字段的不同的下标部分,但这些部分不能重叠。换句话
    说,一个字段的部分不能在同一屏幕显示两次。重新检查指定字段的所有使用。也许
    你不想在两个地方命名它;或也许在不同的表中有两个以上的同名字段,你需要使用
    表名区别它们。否则,在字段的每个显示字段上使用不重叠的下标。
    -2941 <名称>不是该屏幕表格上的一个用于显示的显示字段名。
    这个语句引用了显示字段<名称>,但没有定义这样的<名称>。检查拼写,并重新检查
    ATTRIBUTES 节,看显示字段是如何定义的。
    -2943 你已经超出了伪机器的容量。
    这个语句中的表达式的处理太复杂。简化它并重新编译该屏幕表格(参见错误信息
    -2988。)
    -2944 你只能对表而不能对字段使用添加,修改,查询,或删除命令。
    所有的添加,修改,删除,和查询操作都应用于整个行。所以这些控制块必须只能在
    它们的打开命令中列出表名,而不能列出各个字段的名字。重新检查这个语句中的名
    字,把字段名改为它们表的名字。
    -2945 你只能对表而不能对字段使用添加,修改,查询,或删除命令。
    只能在与表相联的显示字段上(不能在 DISPLAYONLY 显示字段上)执行聚合(AVG,
    MIN,MAX,COUNT,TOTAL),并且表必须列在同一控制块的打开命令中。修正屏幕表格
    说明并重新编译。
    -2946 你不能在只能显示的显示字段<名称>上计算一个聚合。
    只能在与表相联的显示字段上(不在 DISPLAYONLY 显示字段)执行聚合,并且表必须列在
    同一控制块的打开命令中。修正屏幕表格说明并重新编译。
    -2950 字段<名称>没有从 1 开始的节。记住,第一个下标是 1,不是 0。
    来自同一个字段的多重子串被定义为显示的显示字段。可是,该子串没有覆盖毗连
    的,字段的非重迭部分。或者没有第一节(从字段 1 开始),或者一节与另一节重迭。
    重新检查指定的子串,考虑使用一个多行编辑显示字段替代一组子串;更简单的办法
    是去编码并为数据输入提供更好的编辑。
    -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 遗漏了<列名>上要求的索引---请恢复。
    在检验联结中的所有主字段(名字前带有星号的那些字段)必须被索引。也许由于编译
    屏幕表格而取消了索引。重新创建索引并再运行一次该屏幕表格。
    -3300 在你正在进行的方向上没有更多的行。
    你到达了当前行表的开始或结尾。你可以用 QUERY 命令开始一个新的查询,或者使用
    PREVIOUS 或 NEXT 命令反向通过该列表的其它地方。
    -3400 没有满足该条件的行。
    在数据库中没有一行可以匹配该屏幕表格中输入的值。输入不同的值并再查询一遍。
    -3420 这个值不是在有效的可能的值的范围内。
    已经为该字段规定了可接受值的范围或列表(通过屏幕表格说明文件中的 INCLUDE
    属性)。你必须输入一个可接受范围内的值。
    -3421 联结显示字段 table.column 不能由当前用户选定。
    这个屏幕表格要求联结两个表中给出的那个表中的字段。可是,你的帐户名没有那个
    表和字段的 SELECT 特权。为了获得这种特权,请与该表的所有者或数据库管理员联
    系。
    -3430 这个显示字段要求一个输入的值。
    直到有一个值已经输入到指定的显示字段之前,该行不能被增加到表中。屏幕表格说
    明文件中一个 REQUIRED 属性已经与该字段联系起来了。在这个显示字段中输入一个
    值。
    -3450 你表中的一行已经被其他某个人删除了。
    另一个用户正在存取被你的屏幕表格所查询的那个表,而他已经删除了该表中由你的
    查询所选定的一行。为了获得精确选定的行,请重新开始你的查询。当查询一个视图
    时,版本 4.0 和更早版本的 PERFORM 可能返回这种错误信息,早期版本的产品不支持视
    图。
    -3451 这个屏幕表格没有要求数据输入的显示字段。
    在这个屏幕表格说明中没有一个显示字段是允许数据输入的;它们所有都被标记为
    LOOKUP 或者标记为 DISPLAYONLY 而没有 ALLOWING INPUT 关键字。
    -3452 不允许在一个远程表上进行增加,修改和删除操作。
    正被查询的表在当前数据库(屏幕表格 DATABASE 节中命名的那个数据库)外的一个数据
    库中。这种表格不能被修改。(这条信息当前已不使用了。它也许会在版本 4.0 或更早
    的版本产品中遇到)。
    -3460 本行已经被另一个用户锁定---请过一会儿再试一遍。
    该表当前正由另一个用户使用。请等一会儿,然后重新输入你的语句。
    -3500 两次输入不相同---请再试一遍。
    为了防止排印上的错误,这个显示字段中的值必须被输入两次。输入的值必须是相等
    的。仔细地重新输入该数据。(屏幕表格说明文件中的 VERIFY 属性已经与这个字段
    联系起来了。)
    -3600 没有为这个表指定明细表。
    你必须首先规定这个表作为屏幕表格的 INSTRUCTION 节中的另一个表的主。
    -3610 没有为这个表指定主表。
    你必须首先规定这个表作为屏幕表格的 INSTRUCTION 节中的另一个表的细节。
    -3620 你没有写入这个表的权限。
    你没有插入或修改这个表的特权,所以不能插入或修改一个字段。检查该表的所有者
    或为了数据库必要的权限问拥有数据库管理员(DBA)特权的人。
    -3630 操作系统错误: 不能写入一个临时文件。
    PERFORM 早先创建了一个临时文件但现在不能写入它。最可能产生这一错误的情况是磁
    盘已经装满了。另一种情况是临时文件创建后由另一个用户把它删除了。
    -3650 你必须首先删除联结本行的<表名>行。
    你希望删除的行是一个检验联结的主要成员。你不能没有先删除联结它的任何行就去
    删除这一行。
    -3651 你已经超出了你的系统所允许打开表的个数。
    正在执行的语句可能要求 PERFORM 超出操作系统所限定的打开文件数。你将必须减少屏
    幕表格说明中的表数。
    -3660 你必须首先修改联结本行的<表名>行。
    你希望修改的行是一个检验联结的主要成员。不允许你修改可能使其它表中联结的行
    无效的这个字段中的行值。你必须首先修改联结该字段的表名(<表名>)中的那些行。
    -3670 操作系统错误: 不能找到临时文件。
    较早的 PERFORM 创建了一个临时文件;现在它不能改变该文件中的文件位置。也许该文
    件在它创建后已由另一个用户删除了。查看来自操作系统的信息,那可以获得有关本
    问题的更多细节。
    -3680 PERFORM 已用完内存。
    PERFORM 不能获得它所需要的内存数据空间。你将必须降低屏幕表格的复杂性。
    -3690 细节不能被执行 -- 第一个和第二个表不能联结。
    一个 master-detail 与在屏幕表格的 INSTRUCTIONS 节中指定的两个表相关。然而,
    这两个表不能联结。在 ATTRIBUTES 节中增加一个联结属性。
    -3700 没有授权读取 <表名>。
    你的帐户没有被授予对表<表名>的 SELECT 优先权。表的所有者,或对该数据库有数据
    库管理员(DBA)优先权的人,可以给你授予这个优先权级。
    -3710 没有授权对 <表名> 修改。
    你的帐户没有被授予对表<表名>的 UPDATE 优先权。表的所有者,或对该数据库有数据
    库管理员(DBA)优先权的人,可以给你授予这个优先权级。
    -3720 没有授权对 <表名> 增加。
    你的帐户没有被授予对表<表名>的 INSERT 优先权。表的所有者,或对该数据库有数据
    库管理员(DBA)优先权的人,可以给你授予这个优先权级。
    -3730 没有授权对 <表名> 行删除许可。
    你的帐户没有被授予对表<表名>的 DELETE 优先权。表的所有者,或对该数据库有数据
    库管理员(DBA)优先权的人,可以给你授予这个优先权级。
    -3731 不能打开表 <表名>。
    数据库服务器不能打开描述这个表的文件。你可能已经超出一个操作系统在打开文件
    上的限制;如果是那种情况,你将不得不减少该屏幕表格中包含的表数。然而,首先
    要确认在数据库目录 (它的名字是 database-name.dbs)有这个表的文件并且帐户已经
    读取该文件。表文件的名字是由<表名>,三位数字,和后缀.dat 构成。
    -3750 命令失败。
    这个信息不是由任何当前的 Informix 产品返回的。如果该错误出现,请记下全部细节
    并与 Informix 技术支持部门联系。
    -3751 按回车继续。
    这个信息不是由任何当前的 Informix 产品返回的。如果该错误出现,请记下全部细节
    并与 Informix 技术支持部门联系。
    -3752 你不能使用这个编辑功能,因为存在一个图片。
    这个显示字段用一个 PICTURE 属性指定它的格式(在屏幕表格说明文件中)。当你正在编
    辑这样的一个显示字段时,你不允许使用特定编辑键(例如,CTRL-A,
    CTRL-D, 和 CTRL-X)。只用可打印字符和空格输入该值。
    -3754 你已经超出伪机器堆栈空间。
    减少屏幕表格的复杂性。特别是减少循环和 IF 语句叠加的层次,并将 LET 语句中非常复
    杂的表达式段为简单表达式。
    -3755 选择的只可显示的显示字段<标记名>不能被存取。
    传到 C 函数 pf_nxfield() 的显示字段标记名是一个只可显示的显示字段的名字。因
    为用户不能在只可显示的显示字段输入数据,指针不能定位在只可显示的显示字段。
    检查提供的标记名;如果它是期望的显示字段,检查那个显示字段的属性并找出为什
    么它被设置为只可显示的。
    -3756 在这个时间,选择的显示字段<标记名>不能被赋予一个值。
    指定的显示字段不在当前的表中。指针不允许输入这样的显示字段且不能在其中设置
    值。
    -3757 显示字段<标记名>出现一个转换错误。
    传到 C 函数 pf_putval() 的数据类型不能转换到屏幕显示字段<标记名>的数据类型。
    检查该值并将在屏幕表格定义中的显示字段的数据类型与 valtype 比较。
    -3758 下一个选择的显示字段<标记名>不在当前表中。
    传到 C 函数 pf_nxfield() 的显示字段标记名是不在当前表中的一个显示字段的名
    字。指针不允许输入这样的显示字段。
    -3759 在屏幕表格中,显示的显示字段<域名>不存在。
    传到 C 函数 pf_nxfield() 的显示字段标记名在这个屏幕表格中没被定义。检查传送
    的串;如果它是期望的,检查屏幕表格定义看看有什么变化。一个通常的错误是弄混
    了标记名和显示字段名,标记名是用在屏幕版面布置中的,并且在 ATTRIBUTES 节中处
    于等号的左边,而显示字段名是用在 ATTRIBUTES 节中等号右边的字段名。
    -3760 非字符显示字段或表达式之间不能使用匹配。
    在屏幕表格的 INSTRUCTIONS 节中,一个 IF-THEN-ELSE 语句使用关键字 MATCHES
    比较两个显示字段。然而,至少一个显示字段不是一个字符显示字段,且 MATCHES 只能
    被用于字符显示字段。检查在 INSTRUCTIONS 节中全部使用的 MATCHES,确认它只提
    供给字符显示字段。
    -3761 错误 -- 企图被零除。
    在 INSTRUCTIONS 字节中,一个分式表达式有一个零分母。检查在 INSTRUCTIONS 字节中
    全部分式的使用,找寻任何可能出现的零分母(可能分母是一个显示字段,用户输入一
    个零)。用 IF-THEN-ELSE 进行测试以确保这些表达式不出现零。
    -3762 在屏幕表格中定义的用户函数<函数名>不能在 C 函数定义表 userfuncs 中被
    找到。
    屏幕表格的 INSTRUCTIONS 字节包含对一个函数<函数名> 的调用,且执行假定这个是
    一个外部 C 函数的名字。然而,每个这样的函数的名字和地址必须出现在一个固定的
    命名为 userfuncs 的数组中。那个数组,随着外部函数的机器代码,与一个执行的客
    户版本相连接。由于名字在该数组中不出现,所以执行不能调用它。
    检查你正在实施正确的,执行的客户版本。(该程序的原始版本无外部函数连接到
    它)。查看<函数名>的拼写是否是正确的。然后检验 C 函数的来源,确认
    userfuncs 数组的定义是正确的。
    -3763 这个程序有一个无效的序列数。请向你的安装指导咨询。
    Informix 软件产品安装不合适。检查安装过程。如果你需要帮助,与你的 Informix
    代表联系。
    -3764 屏幕太小。必须至少有 6 行 30 列。
    在一个小于 6 行 30 列的屏幕或窗口中,PERFORM 不能操作。你必须增加正在实施执行的
    终端窗口的大小。6 行 30 列是绝对的最小值;然而,该窗口也必须足够包含将要显示的
    屏幕表格。
    -3765 屏幕表格太大无法放入屏幕窗口中。
    在屏幕表格文件定义的该屏幕图象大于(又宽又高)当前窗口的尺度。如果当前窗口是
    主窗口,它的大小是由使用的终端的尺度设置的。如果当前窗口是用 OPEN -
    WINDOW 打开的,那么你应该指定更多的行或列。检查屏幕表格文件,或者减少屏幕图
    象的大小,或者将它作为一个较大窗口的显示。
    -3766 用法:SPERFORM [-s] [-d <数据库>] <文件名> . . .
    这个信息显示执行程序的命令行选项。
    -3767 在命令行发现一个未知的选项<选项名>。
    确认你已经输入正确的命令行选项。
    -3999 系统内部错误在文件<文件名>中。
    这个错误不应该出现。如果该错误再次出现,请记下全部细节并与 Informix 技术支持
    部门联系。
    -4000 内部成员函数不能作为 SHARED 被说明。
    这个语句企图用 SHARED 说明这个分类的内部成员之一(分类结构符,或!copy()或
    !derive()函数)。你可以说明这些函数以便扩展它们,但是该说明不能指定 SHARED。
    -4001 基本类型名字"type"不能用作一个分类名字。
    这个 CLASS 语句企图用与一个内置的数据类型(如 INTEGER)相同的名字说明一个分
    类。为你的分类寻找一个不同的名字。
    -4002 函数"name"的第个参数不能转换成其形式参数的类型。
    指示的参数表达式或缺省的参数表达式与那个函数参数的说明类型是不一致的。检查
    该函数的说明看看期望什么样的类型。
    -4004 分类"class-name"的成员"name"不能在这个上下文中被存取。
    编译器识别该成员,但该成员的存取控制使得它在语句中不可存取。检查一个
    PUBLIC,PRIVATE,或 PROTECTED 说明。当成员常量和成员函数缺省为 PUBLIC
    时,将成员变量缺省注释为 PROTECTED 存取。
    -4005 你不能再定义私有的基成员函数"name"。
    在一个分类说明中的这个 FUNCTION 说明命名一个成员,该成员是从这个分类的一个
    基分类继承的。然而,那个继承的名字是作为 PRIVATE 说明的,因此在这个分类它不
    能被覆盖。检查全部基分类的说明;然后为你的函数选择一个对这个分类是唯一的名
    字。
    -4007 记录成员"name"是未定义的。
    这个语句参考 record.name。当该变量记录是真正的一个记录时,名字不是它的元件域
    之一的名字。寻找记录的定义(它可能在 GLOBALS 文件中)并检验它的域的名字。然后
    改正名字的拼写。
    -4009 非共享的成员"name"不能被用作缺省值。
    在这个函数说明中,一个缺省值表达式参考这个分类的一个正规成员变量的值。这一
    操作是不支持的。缺省值表达式可以参考变量,但是,它们必须是在该模块级说明
    的,或是共享的分类成员。
    -4010 包含文件"pathname"没被发现。
    这个 INCLUDE 语句命名一个编译器不能找到的文件。如果使用了一个全路径名,则
    该文件不存在。检查全部目录和文件名的拼写。如果只给出一个文件名,那么在当前
    目录,在$INFORMIXDIR/incl,或在任何指定一个 H 编译参数的目录,都找不到那个文
    件。或许这些参数之一被遗漏或漏拼。
    -4011 分类"name"没被说明。
    这个语句参考一个指示名字的分类,但是在该源模块中没有这样的分类被说明到这个
    位置。检查名字的拼写。确认,全部说明的包含文件已经被包含了。
    -4012 你只能为分类构造符指定一个基本子句。
    这个函数说明跟着一个冒号,分类名,和参数表(简单说,就是一个基本子句)。只有
    当说明一个分类的构造符(它的函数的名字与分类的名字相同)时使用这个句法,以指
    定函数参数到该基本分类的构造符。
    -4013 无效的内在成员函数"!name"。
    支持的内在成员函数是 !copy(), !derive(),和分类名(构造符)。没用其它的函数可
    以用一个前置感叹号说明。检查名字的拼写。如果它不是支持的名字之一,则说明该
    函数作为一个正规的成员函数。
    -4014 你不能为内部成员函数指定 RETURNING 类型。
    一个内在的成员函数的说明包含一个 RETURNING 子句。这是不支持的。编译器定义了
    从一个内在的成员函数返回的值。省去该 RETURNING 子句。
    -4016 每个分类说明必须有至少一个成员函数。
    这个分类说明不包含成员函数。一个分类必须有至少一个成员函数,因为第一个(或唯
    一一个)被定义的成员函数的位置也是被定义的分类自己所在位置。如果这个分类无其
    它成员,那么说明它的结构符函数。由于结构符被说明,因此它也被定义(尽管该定义
    不需要包函除 FUNCTION 和 END FUNCTION 以外任何语句除非你希望)。
    -4018 在 THRU 选项中指定的字段不属于相同的表。
    这个语句参考相同的表先 THRU (或 THROUGH)后;然而,先和后不是那个表中的两个
    字段。检查这些字段名字的拼写。确认,编译中的当前数据库(最近的前面的数据库语
    句)是正确的。
    -4019 在 THRU 选项中指定的字段以相反的次序出现。
    这个语句用限制"先 THRU 或 THROUGH 后"参考一些聚合(表,记录,或对象)。然而,
    先和后在该聚合没有以那个次序出现;后先于先。检查两个名字的拼写。确认,编译
    中的当前数据库(最近的前面的数据库语句)是正确的。
    -4020 函数"member"不是分类"class"的一个成员。
    这个语句试图直接地或作为 object.member()调用 class::member()。然而,那个分类
    没有这样的成员函数变量。检查成员名字和分类或对象名字的拼写。如果参考是
    class::member(),检查分类的说明,看它的成员名字是否拼写正确。如果参考是通
    过一个对象,确认该对象是按你想的分类说明的。注释你只能调用一个对象规定的分
    类(该分类已被说明)的成员。如果你要调用一个实际分类(该分类在执行时被提出)的
    一个成员,用 CAST 操作符。
    -4021 一个分类成员不能命名为"SELF"。
    你不能用 SELF 字母字体作为一个成员变量,成员常量,或成员函数的名字。标识符
    SELF 是一个由 NewEra 自动提供的内置的标识符。当一个成员在全局或模块范围中与一
    个标识符说明有相同的名字时,你可以参考 SELF 使你自己的代码更可读,或者当一个
    本地实体有相同的名字时存取一个成员。
    -4022 保留的关键字"name"不能被用作一个 4GL 标识符。
    关键字不能被用来命名一个函数,报表,变量,或者常量。查阅 INFORMIX-4GL
    语言参考手册的保留字表。
    -4023 一个分类不能从它自己导出。
    这个 CLASS 语句宣称该分类是 DERIVED FROM 它自己。这一操作是不支持的。或者撤
    消该子句,或者命名另外的基分类。
    -4024 识别符"name"用不同的类型多重说明。
    在一个给出的范围中,一个给出的名字的多重说明必需是一致的(即,它们必需有相同
    的类型)。给出的标识符已经用一个不同的类型说明了。
    -4025 函数"name"已经在分类中说明了。
    一个有该指定名字的函数已经在当前分类中被说明了。
    -4026 成员"name"已经在基分类"class"中定义了。
    一个导出分类继承它的基分类的全部成员。你不能增加一个与基分类的成员有相同名
    字的成员。
    -4029 成员"name"所在的表达式不是一个对象参考或记录类型。
    这个语句引用.<名称>使得<名称>看上去象一个记录或分类的一个成员名字。然而,小
    点前面的表达式既不是一个记录的名字也不是一个对象参考。如果你认为名字是一个
    记录的一个成员,检查该记录的定义并确认小点前面的名字的拼写是正确的。如果你
    认为名字是一个分类成员,确认小点是在一个产出一个参考正确分类的对象表达式前
    面。
    -4030 警告: 不能进一步扩展一个扩展的表达式。
    一个表达式不能有多重.
    后缀。
    -4032 警告:THRU 成员"name"的结构部分被忽略。
    语句包含一个如下格式的 THRU 短语: rec.first THRU rec.last
    正确的格式应为: rec.first THRU last
    逻辑是 first THRU last 修改 rec。
    -4033 基成员名字"name"不能被用作分类名字。
    这个语句试图说明一个分类名字,而又指定一个 DERIVED FROM 子句。成员之一是从被
    称为名字的基分类继承的。一个分类的名字不能与它的任何一个成员名字相同,因为
    结构符函数必需使用那个名字。检查这个新分类的继承,然后为其选择一个不同的名
    字。
    -4034 当用"nosql" 开关编译时,不允许 SQL 语句和 two-pass 报表。
    用"nosql"开关调用编译器,而源代码既包含显示的 SQL 语句也包含 two-pass 报表(它调
    用 SQL 语句)。用"nosql"编译产生不包含 SQL 语句的.c 代码(代替.ec 代码)是允许的。
    -4035 函数"name"不能用不同的存取许可在一个导出分类"class"中被重新定义。
    函数"name"的父分类有一个于这个说明不同的存取许可(PRIVATE, PROTECTED,
    或 PUBLIC)。
    -4036 函数"<名称>"不能在分类"<类名>"中重新定义,因为引用类型不同。
    函数"<名称>"的基分类是作为 SHARED 被定义的,但"<名称>"不是,或反之。
    -4037 多重函数"<名称>"说明。
    虽然可以为一个用户定义的函数说明多个不同的版本,但是不允许对
    INFORMIX 定义的函数这样作,例如<名称>。
    -4041 再次包含"file"将导致一个无限循环。
    这个 INCLUDE-AGAIN 语句指定一个包含它自己的文件。如果你强制包含它,将导致一个
    循环。确认这个文件确实是你要包含的文件。检查该文件的内容。
    -4042 说明的形式只能出现于全局(模块)范围中。
    对<标识符>∷<标识符>的说明只能出现在全局范围内
    -4043 不合法的 EXTERNAL 说明。
    这个语句试图说明一个 EXTERNAL classname::membername。一个程序不能用一个全局
    的 EXTERNAL 说明来说明一个共享的成员变量。解决的适当方法是包含有一个 SHARED 成
    员的分类描述。
    -4044 成员"name"在分类"class"中没有定义。
    这个语句试图存取 class::name。然而,没有那个分类的变量或常量定义。检查成员名
    字和分类或对象名字的拼写。如果参考是 class::name,对于它的成员的名字拼写正确
    的分类检查分类的说明。如果参考是通过一个对象,确认该对象已按你认为的分类说
    明了。
    -4045 成员"name"被定义在分类"class"中,但不是作为一个变量或常量。
    标识符名字被定义在分类中,但不是作为一个变量或一个常量,而象一个成员函数。
    检查成员名字和分类或对象名字的拼写。
    -4046 这个非正规函数定义前面出现过正规说明。正规说明失效。
    在这个源模块中出现过这个函数的正规说明。这里又出现了非正规函数句法定义。
    -4047 混合的非正规和正规函数说明句法。返回类型被忽略。
    一个函数说明已经混合了非正规的(FUNCTION 程序块)和正规的(FUNCTION 原型)句法。
    参数表只给出名字,随着 VARIABLE 语句后定义类型,除继续说明一个 RETURNING 子句
    外,只有在 FUNCTION 原型说明的方式是可用的。参照 INFORMIX-4GL 语言参考手册。
    -4048 一个报表的驱动语句在那个报表的主体内是不允许的。
    这个语句定义一个记录变量并在说明一个或多个成员时使用了初始表达式。这种情况
    是不被支持的。只有在定义一个简单变量时,可以使用一个初始表达式。
    -4050 这个正规说明之前函数"name"已被使用从而被非正规地说明了。
    对这个函数的调用出现在它的说明之前。只是为了与 4GL 语言的以前版本兼容,才支持
    调用未说明的函数。当编译器遇到调用该函数时,为它假设一个非正规的说明。将该
    函数的说明移到源模块的顶部,以便使其先于对它的调用。
    -4051 在分类"class"中定义的成员"name",不能作为一个函数。
    这个语句试图直接地作为 object.member() 调用 class::member()。该分类有那个名
    字的一个成员,但它是一个成员变量,不是一个函数。检查该成员名字和分类或对象
    名字的拼写。对于分类的成员名拼写正确的,检查该分类的说明。
    -4052 标识符"name"没有在全局范围定义。
    被使用的常数或变量不是局部的定义,因此编译器假定它是全局的定义,但没有在全
    局定义中找到。
    -4053 函数"name"已经用一个不同的原型说明了。
    在这个 FUNCTION 语句中描述的函数已经被说明了,且前面的说明与这个说明在参数的
    个数或类型上不一致的。检查包含文件中有关这个函数的说明并使那个语句一致。
    -4054 函数"name"已经用一个不同的返回类型说明了。
    在这个 FUNCTION 语句中描述的函数已经被说明了,且前面的说明与这个说明在返回值
    的个数或类型上不一致。检查包含文件中有关这个函数的说明并使那个语句一致。
    -4055 覆盖一个基分类的构造符是不允许的。
    在一个 CLASS 语句中的这个 FUNCTION 说明指定了一个名字与这个分类名字相同的一个
    函数。这一操作是不允许的。检查由这个分类继承的成员的名字并为它的成员函数
    选择唯一的名字。
    -4057 一个分类不能用 PRIVATE 内在函数从一个分类导出。
    这个语句用一个 DERIVED FROM 子句说明一个新的分类。然而,指定的基分类有一个或
    多个被说明了 PRIVATE 的内在函数(分类构造符,象!copy()的函数)。一个基分类的内
    在函数对于从相同的导出分类函数内部调用必需是可使用的。私有成员不能被这样调
    用;因此你不能用私有的内在函数从一个基分类导出一个分类。确认,你指定了正确
    的基分类;并检查它的说明。
    -4058 有结构符名字的符号不是一个函数。
    一个分类名字后跟一个成员变量或常量的名字在这个上下文中是不允许的。
    -4059 指定的参数表达式比函数名字说明的调用参数多。
    这个语句调用函数名字,但它指定的参数表达式比函数名字说明的调用参数多。
    检查参数表的句法。检查函数说明的参数的期望数和类型。
    -4060 函数"name"的没有缺省的实际参数比规定的参数少。
    这个语句调用函数名字,但它指定的参数表达式比函数名字说明的调用参数少。检查
    参数表的句法。检查函数说明的参数的期望数和类型。
    -4062 警告:非正式的函数"name"在不同的地方返回(或期望返回)不同的结果数。
    在这个来源模块中一个以上的地方调用该函数名字,且函数名字被隐含返回不同个数
    的参数。可能这个是正确的;在不同的环境中返回不同的数值写到函数是可能的。检
    查是否属于这种情况,以及每种情况将被返回的期望值的数。<TR2:字体-情况-
    -4063 函数"name"不返回任何结果。
    该语句在指示函数应返回一个或多个值的上下文中调用函数"name"。但是,在模块中
    已说明的此函数无 RETURNING 子句或使用 RETURNING VOID。确认,调用的是你预期
    的函数,然后检查其说明。
    -4064 返回值的类型与函数"name"说明的返回类型不匹配。
    函数"name"不是隐含说明的,但已经用一个原型调用了,且当前的调用提供一个不同
    的原型。确认,你调用了你预期的函数,然后检查它的近期调用或为它建立一个隐含
    的说明。
    -4065 对同一个例外类"name"有多个例外处理。
    在这个块中,相同的例外分类有两个或多个 ON EXCEPTION 语句。只有一个可以被调
    用。检查该语句并确认,每一个都指定正确的例外类,取消或合并冲突的句柄。
    -4066 RETURN 语句不允许在内部函数的主体中。
    这个语句是一个内部成员函数(分类构成符,!copy,等等)的定义的一部分。这些函数
    没有显式的返回值;或者更确切地说,它们返回的值是由编译器自动产生的代码产生
    的。删除该 RETURN 语句。
    -4067 这个 RETURN 语句必须提供一个值。
    这个 RETURN 语句没有指定一个返回值,但该函数已经用一个指定不同的 VOID 的
    RETURNING 子句说明了。如果你想在没有产生一个值之前中止一个函数,你可以在
    END FUNCTION 语句上放置一个标签并使用一个 GOTO,或者重新设计该函数的逻辑避免
    提前退出。
    -4068 函数"class::member"没有被说明成 SHARED。
    这个语句用双冒号句法调用一个分类成员函数。然而,指定的成员函数没有被说明成
    SHARED。只有共享的成员函数可以用这种方式调用;正规成员函数必须通过参考一个
    对象进行调用,因为它们需要该对象参考的 SELF 参考值。检查是否已经指定了你预期
    的分类和成员,然后检查那个类的说明。
    -4069 被调用成员函数"name"所在的表达式的类型不是一个分类。
    这个语句企图既用范围分解(::)操作符也用记录成员(.)操作符调用指定的函数。然
    而,范围分解(::)操作符左边的名字不是一个分类的名字(该名字是分类的一个成
    员),或者,记录成员(.)操作符左边的名字不是一个对象的名字(对象的参考名字是
    一个成员)。如果你试图通过一个参考对象调用名字,使用对象.名字语法。否则,
    确认,你已经指定了你预期的分类和成员名字并检查该类的说明。
    -4070 不能设定"SELF"。
    这个语句将给函数的隐含名为 SELF 的参数设定一个新的值。由于 SELF 的值在任何参考
    SELF 对象的一个成员中是隐含引用的,因此,不允许对它进行设定。
    -4071 不能对常数“<名称>”赋值。
    此语句对<名称>赋一个新值,但该<名称>是使用 CONSTANT 来说明的。常数不占用内存
    空间也不能设定新值。检查<名称>是否是需要使用的标识符。检查它的说明。可能你
    想要设定一个模块级的变量名称,但它在上下文中被预先说明为局部常数或者成员常
    数。
    -4072 不能扩展无成员结构。
    这条语句试图进行扩展,但失败。该扩展具有形式<对象>.
    ,但所说的对象没有任何
    公共成员变量,所以此扩展设置是空的。检查你指定了正确的类和成员。
    -4073 在 THRU 说明中开始和结束名不是目标记录的成员。
    此语句对一些带有“first THRU (或者 THROUGH)last"限定的结构(表,记录或对象)
    做参考。事实上 first 或 last 不能作为聚合的元素。检查这两个名称的拼写。
    -4074 不允许超过两个子串的索引表达式。
    子串限定包含一对整型表达式,用逗号分隔和括号包围(例如:name[1,23])。第一个
    数值不能大于第二个数,它们必须为正数并且不大于字串长度(或对接收数据类型说
    明的长度)。
    -4075 简单串表达式必须使用类型 CHAR 或 VARCHAR。
    编译程序期望一个串表达式,但该表达式既不是 CHAR 也不是 VARCHAR 数据类型。
    -4076 CAST 对象的类必须是右参数指定的类的基类。
    不能将一个对象放入任意的类中;只能将它放入从它声明的类派生出来的类中。在这
    个语句的 CAST 表达式中,左边的参考对象声明的类不是右边参数命名的类的基类。回
    顾表达式以确定已经指定了想要指定的对象(可能需要使用引号将参考对象引起来)
    和目标类。
    -4077 这个操作对这种类型的操作数是无效的。
    操作符不能接受这种类型的操作数。更正其它任何可能报告的错误,并且检验这个操
    作符是否定义了这种类型的操作数。然后重新编译程序。
    -4078 遗漏操作数,或是不支持的类型。
    操作符被指定操作一个无效的类型。可能一个函数返回 VOID,一个 blob
    (TEXT 或 BYTE),或 FOREIGN 结果。IS NULL 和 IS NOT NULL 操作符能用于 blob
    和 FOREIGN 操作数,并且能从其它相同类型的操作数或 NULL 接收赋值。
    -4079 操作不允许在索引表达式中。
    一个象扩展 (.
    ),COPY,NEW,或 THRU 这样的操作试图在一个索引表达式中。
    -4080 警告:对 NULL 的操作返回 NULL
    当编译器正在对表达式进行优化时,发现一个表达式由一个文字值组成,这其中至少
    有一个是 NULL。
    -4081 警告:一个 DATATIME 表达式不能是负的。
    一个"-"操作符作用于一个 DATETIME 操作数。时间点没有负值。一个间隔可以是负的,
    但一个 DATETIME 不能。检查表达式的句法并修改使它大于或等于零。
    -4082 MATCH 和 LIKE 操作的操作数必须是 CHAR 或-VARCHAR 类型。
    这个语句使用的 MATCH 或 LIKE 操作符带有一个数字的或二进制的参数表达式。在这种情
    况下,没有数据类型的自动转换。检查表达式是否写得如你所想,修改它以在与 MATCH
    或 LIKE 使用前给字符变量赋值(强制类型转换)。
    -4083 警告:外部变量的初始化将被忽略。
    这只是一个警告。这个语句说明一个同时具有 EXTERNAL 关键字和一个初始化的表达
    式。初始化一个变量只能在定义它的地方(也就是为它分配内存的地方) 进行。这是
    一个说明,不是一个定义,所以初始化被忽略。
    -4085 不能输出这个类型的表达式。
    语句试图输出一个不能被输出类型的表达式,如 FOREIGN,或一个导致调用返回 VOID 的
    函数的表达式。
    -4091 不能将一个数组作为一个整体赋值或引用。使用索引指定单独的元素。
    编译器试图将一个表达式的结果转换为与另一个表达式的类型相一致,并且它们之中
    只有一个是数组。或者二者都必须是数组类型,或者都不能是。
    -4092 CLASS 和非 CLASS 类型失配。
    编译器试图将一个表达式的结果转换为与另一个表达式的类型相一致,并且它们之中
    只有一个是一个 CLASS。应该二者都是 CLASS 类型,或者都不是。
    -4093 RECORD 和非 RECORD 类型失配。
    编译器试图将一个表达式的结果转换为与另一个表达式的类型相一致,并且它们之中
    只有一个是 RECORD。或者二者都是 RECORD 类型,或者都不是。
    -4094 相比较的 CHAR 或 VARCHAR 类型的长度不一致。
    编译器试图在两个串类型之间进行一个比较(象比较函数标识),并且两个串有不同
    的边界。
    -4095 记录具有不同数目的域或不同类型的域。
    在多个域的赋值中被赋的值与接收的记录或对象的域匹配不正确。检查值表达式的句
    法;然后回顾接收变量的说明。
    -4096 表达式类必须等于或派生于结果类。
    语句试图将一个类的值赋予一个不是从原来的类派生的不同的类的对象
    -4097 多重说明类"name"。
    这个类已经在前面的源模块(可能在一个包含文件)中说明。只允许一次说明。找出
    这个类所有的说明并减少到一个。
    -4098 扩展的表达式类型必须是类或记录。
    这个语句是指<名称>.
    (或使用 THRU 标志) ;而所指的名称不是说明为一个记录或一个
    什么类的对象。检查名称的拼写和它的说明。
    -4099 CAST to 的类型必须是一个类。
    在这个语句中 CAST 操作符的右边的参数不是一个类的名称。回顾这个语句的句法和拼
    写。确定已经包含了所有需要的头文件以说明类。
    -4100 常数标识符"name"的不合法的定义。
    一个已经建立为一个常数标识符的名称出现在一个新的标识符的说明中。假设,例
    如,maxval 已经在类 x 中说明为一个常数,并且后来又有 VARIABLE x::maxval INT
    说明产生。
    -4103 编译器在文件"name"的<行号>处侦测到一个内部错误。请联系你的系统管理
    员或 Informix Software, Inc.以报告这个错误。
    记录指定的文件名和行号。然后报告这个内部错误。
    -4104 一个字段的值的类型与一个变量的类型不匹配。
    INITIALIZE 语句不能在这个字段值的类型和对应的变量的类型之间建立一个匹配。
    -4106 期待一个 DATETIME 类型的表达式。
    在一个 EVENT 语句中,一个函数定义或说明,一个 EXTERNAL REPORT 语句,一个 HANDLER
    语句,一个函数调用,或就是一个表达式,编译器发现了一个 DATETIME 表达式以外的
    一些东西。
    -4107 期待一个 INTEGER 或 SMALLINT 类型的表达式。
    在一个 EVENT 语句中,一个函数定义或说明,一个 EXTERNAL REPORT 语句,一个 HANDLER
    语句,一个函数调用,或就是一个表达式,编译器发现了一个 INTEGER 或 SMALLINT 表达
    式以外的一些东西。
    -4108 期待一个 DATE 类型的表达式。
    在一个 EVENT 语句中,一个函数定义或说明,一个 EXTERNAL REPORT 语句,一个 HANDLER
    语句,一个函数调用,或就是一个表达式,编译器发现了一个 DATE 表达式以外的一些
    东西。
    -4109 期待一个 DATE 或 DATETIME 类型的表达式。
    在一个 EVENT 语句中,一个函数定义或说明,一个 EXTERNAL REPORT 语句,一个 HANDLER
    语句,一个函数调用,或就是一个表达式,编译器发现了一个 DATE 或 DATETIME 表达式
    以外的一些东西。
    -4110 不能使用超过一个的 REPORT TO 选项在一个 REPROT 过程的-OUTPUT 节。
    在这个 OUTPUT 节中,语句 REPORT TO 出现了超过一次。只允许一个这样的指定。移去一
    个以外的所有。
    -4117 这里期待一个常数表达式。
    在这个 CONSTANT 语句中至少有一个常数表达式的一个值不能在编译时计算。参考
    -INFORMIX-4GL Language Reference 中的"Constant -Expressions"以得到何种类型
    的操作能被用于常数表达式的信息。
    -4118 这种数据类型的表达式不允许在常数表达式中。
    指定的表达式不能计算出一个常数。更正报告出的其它的和这个表达式冲突的错误并
    重新编译。
    -4119 在常数表达式中依赖于时间的函数必须和函数-CONSTANT()一起使用。
    在这个 CONSTANT 语句中的一个常数表达式代表象 CURRENT 这样的函数,它的值依赖于当
    前的时间。这样的函数必须写成-CONSTNAT()函数的参数,返回编译的时间做为它们的
    值。(不能在一个常数值中使用运行的时间。)
    -4120 对于一个模块,变量"name"可以说明是局部的也可以是外部的,但不能同为
    两者。
    指定的变量被说明或定义了超过一次。那些说明中至少有一个带有 EXTERNAL,并且另
    一个定义是一个模块变量(缺少 EXTERNAL 或 GLOBAL)。回顾名称的说明和定义,想着它
    们中的一些可能是在包含文件中。如果你期待名称象一个变量私有于这个模块,给它
    一个唯一的名称。(允许声明一个变量为 EXTERNAL 超过一次,并且允许声明它为
    EXTERNAL 然后定义它为 GLOBAL。这二者都能作为包含 header 的结果产生;并且它们有
    好定义的意思。但是一个变量对模块既是外部的又是局部的是冲突的。)
    -4121 不能通过一个 CALL 语句或在一个函数调用表达式中调用报表。
    这个语句试图象调用一个函数一样调用一个报表。虽然一个报表具有一个函数定义的
    一般格式,但它不能象一个函数那样使用。检查在这个语句中调用的函数名;其中一
    个是报表。如果你的意思是发送一行数据到报表,使用 OUTPUT TO
    REPORT 语句。
    -4122 分析器限制被超越。尝试减小模块的复杂度或大小。
    分析器返回一个 NOT 句法错误的错误。这可能由于一个分析器的堆栈溢出引起 (太多层
    的 IF,WHILE 嵌套,或类似的) 或分析器运行超出分析器的堆栈空间(模块太大)。尝试
    通过拆分复杂函数成多个函数或拆分模块成多个模块以降低代码的复杂度。
    -4123 对函数"name"的调用必须有一个 RETURNING 子句。
    函数名称被说明为返回一个结果,所以 CALL 语句必须提供一个 RETURNING 子句以接受
    结果。
    -4125 没有在类分层"name"中定义或说明为一个成员。
    指定的元素没有说明,或说明而未定义,为类分层"name"的一个成员。
    -4126 期待句柄。
    HANDLE 语句 WITH 子句前的标识符没有标识一个句柄。如果句柄的标识符指定一个类,
    检查确定句柄被说明为属于那个类;否则,检查确定它被说明属于目标对象说明的
    类。
    -4127 期待事件。
    HANDLE 语句 WITH 子句前的标识符没有标识一个事件。事件必须在说明目标对象的类中
    说明或从中继承。
    -4128 句柄应该是与对象同一个类,或是其基类的成员。
    指定的句柄在程序中说明,但不是与对象同一个类或派生出对象的基类的一个成员,
    -4129 期待对象名。
    在 HANDLE 语句中,句柄有一个"name."前缀限定符,但是那个名称是一个未知的对
    象。
    -4130 句柄不能直接调用。
    一个句柄不能是一个显式的 CALL 语句的对象。调用一个句柄的唯一途径是通过调用或
    posting 句柄已经被一个 HANDLE 语句赋值的事件。
    -4131 这个非共享的函数调用没有隐含对象。("SELF"在这个上下文中没有定义)。
    在这个成员函数调用中没有对象参考的支持。如果这个成员函数的调用是在成员函数
    的内部,"self"将是隐含的对象参考。这个调用产生于一个非成员函数体中,所以没
    有隐含的对象参考。
    -4132 在 bass 子句中非法的基类名称。
    程序说明了一个基类,并且说明了一个其它的类 DERIVED FROM 那个基类。在派生类的
    构造符的定义中,一个基构造符子句指定了一个 NOT 基类构造符的函数的调用。假设有
    一个派生类称为"bread"和一个基类称为"food";如果 loaf 构造符应该有开始
    FUNCTION bread::bread(args1):food(args1)的定义。如果它开始 FUNCTION
    bread::bread(args1):beverage(args1),这个错误信息就会出现。
    -4133 只有事件可以被传递。
    一个 POST 语句指定了事件以外的东西。成员函数,句柄,和报表不能被传递。
    -4134 类限定在调用一个事件时不允许。
    程序指定类了一个跟着一个作用域限定符(::)的类名并且这个名称是一个事件。用恰
    当的对象名替换这个类名。
    -4135 只有共享的类变量能在类的说明之外定义。
    一个描述为 SHARED 的类变量不能在类的说明之外定义。所指定的变量定义是一个在一
    个类的说明中没有使用一个 SHARED 限制符描述的一个变量的完整的定义。
    -4136 内部函数<名称>()有错误标记。
    一个!copy()函数的正确标记是 FUNCTION !copy(obj this_class),带有一个类型相当
    于类的对象的参数。一个!derive()函数正确标记的没有参数,只有一对括号。
    -4137 嵌入的 C 代码只允许在编译的 4GL 程序中。
    一个 BEGIN_C 和 END_C 块只能包含于编译的-NewEra 程序中。它在一个解释的
    (p-dode)-NewEra 程序中是无效的。
    -4138 CHAR(
    )的数组是不允许的。
    ARRAY [ ] OF CHAR(
    )不是一个合法的类型。
    -4139 常数"name"不能用于它自己的定义。
    一个常数在定义之前不能使用。因此,一个常数不能用于它自己的定义。
    -4140 编译程序不能继续。
    这个错误在一个不可恢复的错误发生在编译程序(即:SEG VIO, BUS ERROR)中时输
    出。这种情况可能发生在用户明确地终止编译时。否则,如果这个错误又发生,请记
    录全部环境并与 Informix 技术支持部联系。
    -4141 未知的 4GL 编译标志"name"将被忽略。
    这个错误在用户直接调用 NewEra 产品的元素,而不通过标准接口时产生。可运行 fgle
    或 fglp 被传递了一个不理解的编译开关。
    -4142 WHENEVER 语句中调用的函数不能要求参数。
    程序中 WHENEVER 语句有 WHENEVER 条件 CALL 函数的格式,并且被调用的函数被说明为有
    一个参数。在这样的条件下的函数调用甚至不能有括号,使用单独的参数。注意 main
    有隐含的参数,所以它不能用于这种形式的 WHENEVER 语句。
    -4143 WHENEVER 语句中调用的函数不能返回值。
    程序中 WHENEVER 语句有 WHENEVER 条件 CALL 函数的格式,并且被调用的函数被说明为有
    一个 RETURNING 子句。在这样的条件下的函数调用不能返回任何值。
    -4144 在一个 INCLUDEd 文件中发现一个语法错误。这个结构在上下文中是不能理解
    的。
    这是一个一般性信息,它表示不能分析一个被 INCLUDE 语句引入的文件中的 NewEra
    语句。在错误产生的地方开始,并在程序中向后寻找其它的错误信息和遗漏的标点,
    遗漏的 END 语句,和其它的错误。通常,一个遗漏的 END IF 是最大的可能。如果这个
    错误的原因是不明显的,集中消灭其它的错误,更多数的错误信息和这个将可能也
    消失。
    -4145 太多错误,编译器将退出。
    侦测到太多编译错误。编译器报告在这点发现这个错误并退出。
    -4146 指定了太多的输入文件。
    可运行的 fgle 和 fglp 只允许一个输入文件。
    -4147 这个函数中要求一个 RETURN 语句。
    函数说明为有一个指定为非 VOID 的 RETURNING 子句,但没有 RETUEN 语句出现在函数
    体中。
    -4148 CHAR(
    )类型不允许在 SQL 语句中。
    CHAR(
    )类型不允许作一个 SQL 类型。它不能用于 CREATE TABLE, ALTER TABLE 等。
    -4149 这种类型的表达式在 SQL 语句中不允许。
    一个在 SQL 语句中提到的标识符是一个象-FOREIGN 这样的类型,或它命名了一个对象(
    一个类的一个成员)或一个记录。
    -4150 第一个参数必须是一个 ixRow 对象。
    调用内置函数 packrow()和 unpackrow(),第一个参数必须是 ixRow 类型。
    -4151 构造符不能直接调用。
    一个构造符不能使用 CALL 语句直接调用或在一个函数调用中作为一个函数。构造符应
    该使用 NEW 操作符间接调用。
    -4152 THROUGH 表达式的非法的开始或结束名称。
    在一个 SQL 语句中的一个 THROUGH 表达式中使用了非法的表达式。
    -4153 警告:带有 USING 子句的常数表达式在编译时基于环境变量的值被求值。
    这个警告在一个 CONSTANT 的一个值包含一个 USING 子句时产生。环境变量 DBFORMAT
    和 DBMONEY 的设置能影响 USING 操作的结果。这个警告提醒用户在 CONSTANT 语句中的
    USING 子句将在编译时被求值并且可能和其它 USING 子句在运行时求的值不一致。
    -4154 一个 CHAR 或-VARCHAR 类型的常数所允许的最大值是 255。
    在一个 CONSTANT 说明或定义中,一个字符类型常数的大小不能超越 255。
    -4155 警告:只有静态游标允许在 WHERE -CURRENT OF 子句中。游标名将被处理为
    一个静态游标名。
    在 UPDATE 和 DELETE 语句中,WHERE CURRENT OF cursor-name 子句不能引用一个已经被
    说明为动态的游标名。
    -4156 警告:循环计数可能溢出。
    这个警告在一个 FOR 循环的上限在那个类型的最大值的 STEP 值之内时产生。作为一个
    例子,假设 FOR 语句试图运行 IX 从 1 到 32760 带有一个步长值为 20,并且 IX 说明为
    SMALLINT;编译器将产生这个警告,因为 IX 将溢出-没有恰当的循环终值。
    -4157 语句太复杂。将其简单化。
    这个错误在编译过程中侦测到一个堆栈溢出时产生。在 Windows 中,堆栈的大小是有限
    的。试着降低代码的复杂度。复杂的表达式,如太多的串连接('||'),会消费大量的
    堆栈。
    -4158 -INFORMIX-4GL FORM 和 WINDOW 语句在这个产品中不支持。对屏幕相互作用使
    用 Visual Class Library。
    编译器遇到一个 OPEN FORM 或 OPEN WINDOW 语句。在-NewEra 中,这些功能是通过
    Visual Class Library 处理的。咨询 Graphical and Connectivity Reference
    Manual。其它的语法错误可能是这个错误附加产生的。替换和 VCL 调用冲突的语句并重
    编译可以消除这些附加的错误。
    -4159 下标不支持表达式因为它不是一个字符或数组参考。
    这个表达式不能被一个下标限定因为这个表达式既不是一个 ARRAY 类型也不是 CHAR()
    类型。
    -4160 这个表达式不能用做赋值语句的源。
    检测到一个不合法的赋值。例如,abc 被说明为一个常数,但你试图赋给它一个值。一
    些语句会介入赋值:LET, SELECT ... INTO, OPEN CURSOR ... INTO,
    FETCH INTO, FOREACH ... INTO, FOR 重复符(被赋值的重复符), INITIALIZE,
    和 LOCATE。
    这个错误只被 NewEra 返回。
    -4161 这个变量没有被定义为一个记录或对象。
    所示的变量和一个星号,或和 THRU 或 THROUGH 关键字共同使用。而它尚未定义为一个
    记录或对象。检查名称的拼写。如果它是你所要的,定位变量定义找出为什么它没有
    象期待的那样定义。这个错误只被 NewEra 返回。
    -4162 在报表中不能返回值。
    一个报表不能包含一个 RETURN 语句因为那将使控制返回调用报表的过程。
    -4163 类"class"的内部函数"name"不能被直接调用。
    classname::classname()这种格式的构造符,是通过 NEW 操作符调用的。
    classname::!copy()是通过 COPY 操作符调用的。classname::!derive()是通过 NEW
    和 COPY 操作符 AS 的子句调用的。这个错误只被 NewEra 返回。
    -4164 赋值语句中使用的变量类型太复杂。
    这种类型的变量不能用于一个赋值。也就是说,不能对一个 BYTE 或 TEXT 变量赋一个值(
    除非是无值的 NULL)。不能对一个数组变量赋任何值。
    -4300 语句中包含太多级的函数调用嵌套。
    这个语句调用了嵌套于其它函数调用的参数列表中的函数,并超越了四级。最大级的
    支持是四,如以下表达式:Afun(2-Bfun(3+Cfun(4
    Dfun(5))))。
    重写表达式将最内层的函数调用存储于一个变量中,并在表达式中使用这个变量。
    -4309 打印不能在包含与报表 headers 或尾部的一个循环或 CASE 语句中完成。
    4GL 需要知道页的 headers 和尾部需要多少行空间;否则它无法知道一页允许多少明细
    行。既然它不能预测一个循环将要执行多少次,或者一个 CASE 的哪个分支将被执行,
    它禁止在与 FIRST PAGE HEADER,PAGE HEADER,和 PAGE TRAILER 节有关的上下文中使
    用 PRINT 语句。必须重整理代码将 PRINT 语句放在总被执行的地方。
    -4310 文件不能打印到报表的 headers 或 trailer。
    4GL 需要知道页的 headers 和 trailer 需要多少行空间;否则它无法知道一页允许多少明
    细行。既然它不能预测一个文件中有多少行,它禁止在一个 headers 或 trailer 打印一
    个文件。可以在 FIRST PAGE HEADER,PAGE HEADER,和 PAGE TRAILER 的控制块中书写
    PRINT 语句。但不能在那些控制块中书写 PRINT FILE
    语句。
    -4312 NEED 语句只能用于报表中。
    NEED n LINES 语句用于一个报表以产生一个有条件的跳页。这只能在与一个报表的
    FORMAT 节有关联的上下文中。检查是否忽略了 REPORT 语句。
    -4313 NEED 语句不能用于报表的 headers 或 trailer。
    NEED n LINES 语句用于一个报表产生了一个有条件的跳页。而在一个 FIRST PAGE
    HEADER,PAGE HEADER,和 PAGE TRAILER 节的上下文中是不相关的。如果它确实产生了
    一个跳页,一个未结束的循环会跟着发生。
    -4314 程序不能在这一点继续或退出一个菜单因为它现在不在一个 MENU 语句中。
    这个 CONTINUE 或 EXIT 语句使用了 MENU 关键字,而它并不定位于一个 MENU 语句的 COMMAND
    节中。或是这个语句错,或是一些其它的错误妨碍 4GL 识别 MENU 语句。
    -4315 程序不能在这一点退出一个 FOREACH 语句因为它现在不在一个 FOREACH 语句中。
    这个 CONTINUE 或 EXIT 语句使用了 FOREACH 关键字,而它并不定位于一个 FOREACH 循环
    中。或是语句错,或是一些其它的错误妨碍 4GL 识别 FOREACH 语句。
    -4316 程序不能在这一点退出一个 WHILE 语句因为它现在不在一个 WHILE 语句中。
    这个 CONTINUE 或 EXIT 语句使用了 WHILE 关键字,而它并不定位于一个 WHILE 循环中。或
    是这个语句错,或是一些其它的错误妨碍 4GL 识别 WHILE 语句。
    -4317 程序不能在这一点退出一个 FOR 语句因为它现在不在一个 FOR 语句中。
    这个 CONTINUE 或 EXIT 语句使用了 FOR 关键字,而它并不定位于一个 FOR 循环中。或是语
    句错,或是一些其它的错误妨碍 4GL 识别 FOR 语句。
    -4318 程序不能在这一点退出一个 CASE 语句因为它现在不在一个 CASE 语句中。
    这个 CONTINUE 或 EXIT 语句使用了 CASE 关键字,而它并不定位于一个 CASE 语句中。或是
    语句错,或是一些其它的错误妨碍 4GL 识别 CASE 语句。
    -4319 该变量名符号的定义超过一次。
    所示的变量在本次定义之前至少在其它一个 DEFINE 语句中出现过。如果这个 DEFINE 在
    一个函数或 MAIN 节中,则前一个也是如此。如果这个 DEFINE 在任何函数之外,那么前
    一个也在任何函数之外;可能存在于 GLOBALS 语句包含的文件中。
    -4320 该表名符号不是指定数据库的表的名称。
    该名称的表未在上一个 DATABASE 语句命名的数据库中出现。可能在程序中拼错了名
    称,或在程序上次编译的时候被漏掉或改名。
    -4321 数组最大只能有三维。
    在数组名称之后有超过三维的下标。4GL 只支持三维以下的数组。检查下标的句法;可
    能错误产生于插入了多余的逗号。
    -4322 字段名符号不是指定数据库的字段名称。
    前面的语句表明该名称的字段是在上个 DATABASE 语句中命名的数据库的某个表的一部
    分。该表存在,但是表中无该字段。检查字段名称的拼法,如确为所要的,那么或是
    表已改变,或是不能存取所要的数据库。
    -4323 该变量类型过于复杂不能用于赋值语句。
    该名称的变量不是一个记录或数组。4GL 不支持对整个记录或数组的赋值。在记录的情
    况下,必须给单个记录元件赋值,或使用星号标记将一组元件赋给另一组元件。在数
    组的情况下,必须使用下标指定一个单独的数组元素。该错误不由高于版本 4.1 的任何
    版本的 4GL 产生。
    -4324 该变量不是字符类型,不能用来容纳连接的结果。
    该语句试图连接两个以上的字符串(使用逗号作为连接操作符)并将结果赋给该变
    量。不幸的是,这不是一个字符变量。4GL 在这种情况下不做自动的字符类型转换。
    将连接串赋给字符变量,如果需要将结果作为数值处理,可将串整个地赋给数值
    变量。
    -4325 在该记录赋值语句中的来源和目的记录在类型/或长度上不匹配。
    该语句使用星号标记将该记录的全部元件赋给另一个记录的对应元件。但是,元件不
    对应。注意 4GL 严格地按位置匹配记录元件,第一个对第一个,第二个对第二个,依此
    类推;并不按照名称作匹配。如果来源和目的地记录元件个数和类型不同,必须给每
    个元件各写一个赋值语句。
    -4326 一个 NULL 值不能用于子串。
    NULL 值是个整值,它只与完整的变量相关。可以将 NULL 设定给这个变量(删掉子串标
    记)使整个变量包含一个 null 串。另一种方法,可以给子串设定一个空格使之成为空
    白。删除一个串的一部分的唯一方法是写一个表达式提取作为限定的开头和结尾的子
    串,然后连接它们。
    -4327 该变量不是 INTEGER 或 SMALLINT 类型,不能用于循环索引。
    在 FOR 循环中的索引变量必须是一个整型。指定另外一个变量或重新定义该名称的变
    量。
    -4328 该函数的类型作为一个函数返回值的目标过于复杂。
    该名称的变量是一个记录或数组。函数只能返回简单变量或一个简单变量的列表。在
    记录这种情况,可使用星号或 THRU 标号作为速记来指定一个元件列表。
    -4329 该变量不是一个记录。只有记录变量可用.或 THROUGH 速记扩展。
    在所示的名称中使用了圆点-星号(.
    )或 THRU(或 THROUGH)字,它们是指定记录元件
    列表的速记符号。不幸的是,变量未定义为记录。确保指定了一个正确的变量并定义
    为记录。
    -4330 不能从主程序中返回该值。
    尽管在主程序中 RETURN 和 EXIT PROGRAM 相同,但它不能包括一个返回值。该错误由
    NewEra 程序产生。
    -4333 该名称已有不同个数参数的调用。
    在前面的程序中已有对同一函数或事件的调用,然而其参数表中参数个数不同。这些
    调用中至少有一个是错误的。检查 FUNCTION 或 EVENT 语句找到正确的参数名称。然后
    检查对它的全部调用是否都正确书写。在函数顶端出现的该错误与错误-4336 有关,
    首先解决错误-4336,错误-4333 通常就消失了。该错误由 NewEra 程序产生。
    -4334 用于该语句的变量名在它当前的屏幕表格中过于复杂。
    4GL 使用“过于复杂”的意思是“有过多的元件部分”。在该语句中只能使用简单变量
    (含有单一元件的变量)。如果变量名是一个数组,必须提供下标以选择一个元素。如
    果是一个记录,必须选择它的一个元件。(但是,如果该语句允许一个变量列表,如
    在 INITIALIZE 语句中,可以使用星号或 THRU 标号将记录名转换成一元件列表)。
    -4335 符号<域名>不是记录的一个元素。
    该语句参考了 record.field。记录变量确是一个记录,但<域名>不是它的成员之一。
    寻找记录的定义(可能在 GLOBALS 文件中),并检验它的域名称。改正域的拼法。
    -4336 该变量名的参数未在函数和报表中定义。
    该变量名出现在该函数的 FUNCTION 语句的参数列表中。但是,它未在函数的 DEFINE 语
    句中出现。全部参数在使用之前都必须在函数中定义。可能写了 DEFINE
    语句但变量名的拼法与使用时不一致。
    -4338 该变量名已定义为参数。
    所示名称出现在 FUNCTION 语句的参数列表中并且在函数主体中至少有两个 DEFINE
    语句。只允许在 DEFINE 语句中出现一次。
    -4339 4GL 运行的数据空间内存不够。
    该程序过长不能编译。将它分成多个模块分别编译。
    -4340 用于表达式的变量类型过于复杂。
    NewEra 使用“过于复杂”的意思是“有过多的元件部分”。在表达式中只能使用简单
    变量(即只有单个元件)。如果所示变量是个数组,必须提供一个下标选择一个元素。
    如果是一个记录或对象,必须选择它的一个元件。该错误由 NewEra
    程序产生。
    -4341 聚合函数只允许在报表和 SELECT 语句中。
    类似 SUM、AVG 和 MAX 的聚合函数只能在 SQL 语句和某些用于报表主体上下文中的语句中
    出现。在程序语句的普通表达式中不支持它们。可以写一些专用函数在数据上形成该
    聚合函数;但是必须使用 SUM、AVG 和 MAX 这些保留字之外的名称。
    -4342 PAGENO 和 LINENO 只允许用于报表。
    这些函数只在报表函数(在一个 REPORT 语句后)主体中是相关的。只在产生报表的代
    码之中,当前页或行的意思才是有意义的。可以通过全局变量使它们在报表之外有
    用。例如,可以将类似这样的语句放在 PAGE HEADER 控制块中:
    LET CURR_PAGE = PAGENO
    这样就将当前页设定给一个全局变量(该例中称为 CURR_PAGE),代码可以在报表函数
    之外检测到它。
    -4343 下标不能用于表达式,因为它不是一个字符或数组的参考。
    可以在一个能计算出数组的表达式后跟一个下标表达式(包含于方括号中的两个整型
    表达式,被一个逗号分开)。可以在一个字符表达式后指定一个子串(方括号中的两
    个整型表达式)。但是,在该语句中,带方括号的表达式跟在一个既不是字符也不是
    数组的变量后面。检查语句中的标点和变量的说明。包含这段文字的错误-4343 由
    4.1 版的 4GL 产生。
    -4343 下标不能应用在变量上,因为它不是一个字符或数组变量。
    可以在数组变数名称的表达式后跟一个下标表达式(包括方括号中的一个或三个
    数字)。你可以在数据类型 CHAR 或 VARCHAR 的变数名称之後写子串式(方括号括住二个
    数字)。然而<变数名>并非这些情形。它若不是你所要的变数,即是它的定义错误。
    包含这段文字的错误 -4343 由 4.1 版本的 4GL 产生。
    -4344 该变量不能使用字串操作因为它不是一个字符变量。
    该语句包含一个标识符后跟一个子串表达式(在方括号内的两个数)。但是,该变量
    非 CHAR 或 VARCHAR 数据类型。如果确是要得到一个子串,那么可能是变量名错或变量未
    正确定义。如果要作为数组下标,那么也是如此。
    -4345 该变量已使用了一个子串。
    所示的名称后面跟了两个子串表达式(在方括号中的两个数)。这是无效的。可能在
    编辑另一个变量名称时,偶然删掉了一些标点。或者意为一个字符项后跟一个选择元
    素子串的两维数组,问题在于变量名未被定义为一个数组。
    -4346 下标只能包含 INTERGER 或 SMALLINT 表达式。
    数组下标是整型值,只有整型变量可用来形成它们。该语句包含了一个使用了 FLOAT、
    CHAR 或其它类型的变量的下标。在下标表达式中无自动的数据类型转换。检查语句中
    的下标表达式;可能只是简单地键入了错误的变量名。如果并非如此,必须修改程序
    使数组下标只存储于整型变量中(你可能希望允许一个带有 0 缩放因子的 DECIMAL 值,
    但情况不是这样的)。
    -4347 该变量不是记录。它不能引用记录元素。
    在该语句中变量名后跟一个圆点和另一个变量名。这种方式用于参考一个记录的元
    件;但是,该变量名未被定义为一个记录。可能写错了变量名或该变量名未按要求定
    义。
    -4348 这种类型的聚合必须用于表达式,而不是 ''。只有-PERCENT 和 COUNT 聚合
    可使用 '
    '。
    在这种语句中的聚合函数是类似于 MIN 和 SUM 的类型之一,必须用于指定的字段,或包
    含指定字段的表达式。在一个 SQL 语句中的星号标记意思是“整行”。对于聚合函数来
    说,它仅在计算整行时才是有用的。
    -4349 PERCENT 和 COUNT 报表聚合不能用在表达式中。
    这些聚合简单地计算整个行而不管行的内容。COUNT 返回行的计算,PERCENT 返回行作
    为整个表的百分比的计算。这些函数唯一允许的参数 '' 的意思是 "一个整行"。它
    们不能用于指定的字段或包含指定字段的表达式。
    -4350 此时程序不能继续一个 FOR 循环因为它不在 FOR 循环中。
    CONTINUE FOR 语句不在 FOR 语句和与其匹配的 END FOR 语句中。也许 FOR 语句被偶然删掉
    了,或者,改成了其它类型的循环,例如 FOREACH 或 WHILE。
    -4351 此时程序不能继续一个 WHILE 循环因为它不在 WHILE 循环中。
    CONTINUE WHILE 语句不在 WHILE 语句和与其匹配的 END WHILE 语句中。也许 WHILE
    语句被偶然删掉了,或者,改成了其它类型的循环,例如 FOREACH 或 FOR。
    -4352 此时程序不能继续一个 FOREACH 循环因为它不在 FOREACH 循环中。
    CONTINUE FOREACH 语句不在 FOREACH 语句和与其匹配的 END FOREACH 语句中。也许
    FOREACH 语句被偶然删掉了,或者,改成了其它类型的循环,例如 WHILE 或 FOR。
    -4353 这种为报表指定的 ORDER BY 或 GROUP 项的类型对排序无效。
    数据库服务器不支持在 TEXT 或 BYTE 类型的字段上进行比较的功能。结果,这种类型
    的字段不能用于行的排序或成组。使用其它字段(通常主要是表的键)用于排序或
    成组。
    -4354 聚合函数不能和 blob 变量一起使用。
    该语句将一个聚合函数,例如 SUM,赋给一个定义为 BYTE 或 TEXT 的变量。这种变量
    不在聚合函数的定义域中。修改该语句用的函数的使用,明确是否要将其赋给所要的
    变量。
    -4356 在该报表中一个页 header 已经指定。
    在一个报表中只允许一个 PAGE HEADER 控制块。用于该控制块的语句必须适合报表的
    全部页(除非最前面的页,可在该页写一个 FIRST PAGE HEADER 块)。找到其它的
    PAGE HEADER 控制块,将它们的语句合并成一个块。
    -4357 在该报表中一个页 trailer 已经指定。
    在一个报表中只允许一个 PAGE TRAILER 控制块。用于该控制块的语句必须适合报表
    的全部页。找到其它的 PAGE TRAILER 控制块,将它们的语句合并成一个块。
    -4358 在该报表中第一个 header 已经指定。
    在一个报表中只允许一个 FIRST PAGE HEADER 控制块。(当然,也只有一个第一页)。
    找到其它的 FIRST PAGE HEADER 控制块,将它们的语句合并成一个块。
    -4359 一个 ON EVERY ROW 子句已在该表中指定。
    在一个报表中只允许一个 ON EVERY ROW 控制块。找到其它的 ON EVERY ROW 控制块,
    将它们的语句合并成一个块。
    -4360 一个 ON LAST ROW 子句已在该表中指定。
    在一个报表中只允许一个 ON LAST ROW 控制块。找到其它的 ON LAST ROW 控制块,将它
    们的语句合并成一个块。
    -4361 组聚合只能在 AFTER GROUP 子句中产生。
    用于行组的聚合函数(GROUP COUNT,GROUP PERCENT, GROUP SUM,GROUP AVG, GROUP
    MIN, and GROUP MAX) 只能用在报表中一个完整的组处理完成之时,意即,在 AFTER
    GROUP 控制块中。保证 AFTER GROUP 语句存在且能被识别。如果需要另一时间的聚合组
    的值(例如在一个 PAGE TRAILER 控制块中),可以在 AFTER GROUP
    控制块中用 LET 语句将其保存在一个全局变量中。
    -4362 在一个 header 和 trailer 中报表不能跳到页头。
    当 SKIP TO TOP OF PAGE 执行时,页尾子句必须跟在页 header 子句之后执行(为了显示
    固定的页尾材料)。如果在 header 或页尾子句中允许该语句,可能产生死循环。
    -4363 在一个 header 和尾部的循环中报表不能跳行。
    4GL 需要知道有多少空行将插入页 header 和页尾中(否则每页中允许多少行的细节是未
    知的)。由于一个循环将执行多少次是无法预知的,因此在 PAGE HEADER,
    PAGE TRAILER, 以及 FIRST PAGE HEADER 节中的循环之中 SKIP 语句是禁止使用的。
    -4364 初始化/缺省的表达式类型与变量/参数的类型定义不匹配。
    指定的变量的初始化表达式不能计算出一个数据类型与其说明的类型相匹配。重写表
    达式使之与变量的说明类型相符合。
    -4365 中断或退出的延缓只能在主程序中执行。
    语句 DEFER INTERRUPT 和 DEFER QUIT 只能在程序的主要节中出现一次。它们可能在
    程序中各出现一次且仅一次。
    -4366 变量数与该语句中的数据库字段数不匹配。
    必须给语句中声明的每一个字段提供一个变量以便从字段接收或供给数据。可能字段
    名和变量名之间比较含糊。当一个程序变量与一个数据库字段重名时,可以强制 4GL 用
    一个 @字符或用它的表名做前缀使用数据库字段。
    -4367 中断已经在主程序中被延缓了一次。每个主程序只能延缓中断一次。
    语句 DEFER INTERRUPT 和 DEFER QUIT 只能在程序的主要节中出现一次。它们只能在
    程序中各出现一次。
    -4368 退出已经在主程序中被延缓了一次。每个主程序只能延缓退出一次。
    语句 DEFER INTERRUPT 和 DEFER QUIT 只能在程序的主要节中出现一次。它们只能在
    程序中各出现一次。
    -4369 该变量名符号不表示一个已定义的变量。
    所示的名称出现之处期待为一个变量,但是它与上下文中使用的 DEFINE 语句中的任何
    变量名称不匹配。检查该名称的拼法,如确为所需要的,则返回寻找它为何未做定
    义。可能 GLOBALS 语句从源模块中忽略了,或它命名了一个非法的文件。也可能这段
    代码从另外的函数或模块中拷贝而来,但是 DEFINE 语句没有随之拷来。
    -4370 该变量不能用于确认。
    VALIDATE 语句只在单个简单变量上操作;不能接受记录或数组。如果已命名了一个记
    录,可使用星号标记或 THRU 标记作为记录的显示字段元件列表的速记。然而,如果一
    个记录元件本身是记录,则必须单独地列出每个元件。
    -4371 游标在一个程序模块中必须唯一地说明。
    在 DECLARE cname CURSOR 语句中的标识符 cname 只能在源文件中的一个 DECLARE
    语句中使用。甚至当该 DECLARE 语句只在一个函数内部出现时也是真的如此。尽管一个
    与 DEFINE 语句一起产生的程序变量是该函数的本地变量,但是在函数内部的游标对整
    个模块来说是全局的。
    -4372 带该游标名称的游标在本程序模块中尚未说明。必须在使用它之前说明。
    在所示的名称出现之处期待为一个已说明的游标名或一个已准备好的语句;但是在程
    序此处这个名称的游标(或语句)未被说明(或准备好)。检查该名称的拼法。如确
    为所要的,回顾该程序查看是否未说明它-可能所需的 DECLARE 语句在一个 GLOBALS
    文件中,而该文件未被包含。
    -4373 在该行、该字符处发现一个语法错误。在它的上下文中不能理解该构造。
    这是个一般信息,表示不能分析一个 4GL 语句。所示的行数和字符数表示分析器侦测到
    错误的点。但是,这往往不是存在错误的点。从此处开始在程序中回溯,寻找其它的
    错误信息和遗漏的标点、END 语句及其它的错误。如果该行是 END FUNCTION,END MAIN
    或 END REPORT,一个可能的原因是,可能在很多行以前就缺少另一个 END。通常原因是
    遗漏了一个 ENDIF。如果错误原因不太明显,请集中注意其它更特殊的错误信息,往往
    在其它错误改正之后该错误也消失了。
    -4374 该语句类型只能用于一个 MENU 语句。
    举例来说这类语句中的 SHOW OPTION 语句,只能在一个 MENU 语句的上下文中有意义。回
    顾附近的程序查看是否将一个 END MENU 语句放置错误。如果想要在显示之前设置一个
    菜单的外貌,在 MENU 的作用域中使用一个 BEFORE MENU 块。
    -4375 页的长度太短不能覆盖指定页的 header 和尾的长度。
    检查 OUTPUT 节中以及任何 HEADER 和 TRAILER 子句中的语句。这些语句使用的总行数
    必须比指定的页长足够的小,以使可打印比较明细的行。
    -4376 不能产生待写的临时文件。
    检查在 UNIX 系统上你的帐户是否在/tmp 目录上有产生文件的许可,或如果 DBTEMP
    环境变量中指定的目录名与之不同,是否有产生文件的许可。查找从操作系统来的其
    它更显式的错误信息。可能是磁盘已满或已达到了所能打开的文件数的最大值。
    -4377 不能建立或打开该文件名的输出文件。
    在 UNIX 上,检查你的帐户是否在文件将要产生的目录上具有建立文件的许可。查找从
    操作系统来的其它更显式的错误信息。可能是磁盘已满或已达到了所能打开的文件数
    的最大值。
    -4378 未指定输入文件。
    从命令行调用 C 代码或 p-code 编译程序,但为未指定已编辑的源文件名。重复该命令,
    指定一个源文件名。
    -4379 不能打开输入文件<文件名>。
    输入了不存在的文件,在 UNIX 上,你的帐户不许可读取该文件。可能文件名有拼写错
    误,或指定的文件路径有错误。
    -4380 不能产生列表文件<文件名>。
    检查指定的前导文件的目录路径是否正确,在 UNIX 系统上检查你的帐户是否许可在该
    路径上建立文件。检查从操作系统上来的其它更显式的错误信息。可能磁盘已满或达
    到了允许打开文件数的最大值。
    -4381 输入文件<文件名>有个无效的扩展名。文件名必须以.4gl 作为扩展名。
    当键入一个源程序名时不必输入文件扩展名或.4gl 字根。然而,如果键入文件字根则
    必须是.4gl;其它则不允许。如果键入非法的字根,去掉字根重新输入命令。如果文
    件确实有一个不同的字根,必须将它改变。
    -4382 不能扩充有数组成员的结构。
    除了在 LET 语句,".
    "及 THROUGH 符号不可用於扩充有数组成员的记录。
    除非是在 LET 语句,否则"."及 THROUGH 符号不可用於扩充有数组成员的记录。
    错误-4382 仅被 NewEra 返出。
    -4382 包含数组类型元素的记录变量不能被 ".
    " 或 THROUGH 速记引用,
    或用作一个函数参数。
    可以定义一个以数组为元件之一的记录,但是必须用其全名 record.part[n]列出该元
    件。星号或 THRU 标记只能作为一个记录元件名称列表的速记符号。它不能在数组元件
    名后产生一个方括号下标。
    包含数组元件的记录不能作为参数给一个函数,但是可以用数组元件本身作为函数的
    参数,只要以 record.part 的形式拼出它的名称即可。错误 -4382 仅由 NewEra
    发出。
    -4383 元素名 1 和元素名 2 不属于同一父记录。
    所示的两个名称所用之处要求一个记录的两个元件;然而它们不是同一记录的元件。
    检查两个名称的拼法,如它们确为所需要的,回到记录定义之处,查看它为何没有将
    这两个名称作为元件字段引入。
    -4384 符号<名称>不表示任何记录元素。
    所示名称使用之处 4GL 期望为记录元件名称。检查名称的拼法。如果确为所需要的,回
    到记录变量定义处,查看它为何未作为一个元件字段引入。
    -4385 报表聚合不能嵌套。
    聚合函数不能嵌套,主要因为在外部聚合积累的同时内部聚合值是不知道的。仅参考
    字段和字段上简单表达式来重写聚合表达式。在 AFTER GROUP OF 子句,你可以从一组
    程序变量行中保存聚合值,以便用它计算后来组上的聚合。
    -4386 在该报表中有太多的 ORDER BY 字段。最大数目为该数。
    排序的字段的数目存在一个极限。你必须重新设计该报表以便不超出<数字>字段的排
    序。或者在传递数据到报表前排序该数据,并且在报表主体的 ORDER BY 语句中指定
    EXTERNAL 关键字。一般来说,由数据库服务器产生正确次序的行更为有效。(在产生行
    的游标中使用 SELECT...ORDER BY)。
    -4387 右侧的空白必须大于左侧的空白。
    如果报表右侧的空白不大于左侧的空白,每行将没有空间给数据。检查在 OUTPUT
    节中的两个 MARGIN 使之成为合理值。
    -4388 对每一个报表输入参数,只允许一个 BEFORE GROUP OF 子句和一个 AFTER
    GROUP OF 子句。
    报表试图为单一的报表参数定义第二个 BEFORE GROUP OF 或 AFTER GROUP OF 块。只允
    许有一个控制块。找出关于该参数的全部块组合成一个语句。
    -4389 报表中的 IF 语句有太多级嵌套。
    IF 语句的嵌套超过了五级。可能 ENDIF 语句被忽略。否则,必须修改报表逻辑使嵌套
    不太深。
    -4390 每个 MENU 语句只允许有一个 BEFORE MENU 子句。
    在 MENU 中仅可能有一个 BEFORE 块。确保你的 MENU 语句正确使用 END MENU 标定范围。组
    合所有准备好的代码成为一个单一的 BEFORE MENU 块。
    该错误仅被 4GL 版本 4.1 返回。
    -4391 当 执行 INPUT BY NAME 或 INPUT ARRAY 时,显示字段名只能被显示字段
    名后缀指定。屏幕数组和屏幕记录元素是不允许的。
    只有单一屏幕表格显示字段的名称可和一个 BEFORE 或 AFTER 子句一起使用。这个显
    示字段的名称在屏幕表格定义的 ATTRIBUTES 节中定义;它通常与数据库字段的名称
    相同。下面是一些 ATTRIBUTES 节中的例子:
    atag=customer.customer_num,noentry;
    tag2=formonly.total,format="######.##";
    这些显示字段的名称分别是 customer_num 和 total。
    在 4GL 语句中存在一个问题,以另一个名称和一个圆点作为一个名称的前缀,这条句
    法用于指定屏幕记录或屏幕数组的元件,或不同表格中相同名称的数据库字段,但此
    处该句法不适用。
    -4392 4GL 编译器运行的数据空间内存不够用来容纳 4GL 程序符号。如果程序模块非
    常大,可以把它分割成分离的模块来改变这种情况。
    重新组织程序来源成为一组可独立编译的模块。另外,可修改程序以便只需更少的唯
    一符号,例如使用数组来代替许多相似的变量。这种错误也同 CONSTRUCT
    语句相关。如果一个 CONSTSRUCT 覆盖很大数量的显示字段,可移动该语句到一个
    函数并且把此函数放置在不同的源模块以使程序不做其它修改。
    -4393 MENU 语句超越了选项的最大数。
    每个菜单中的最大选项数为 25 个。确保 END MENU 语句不被忽略,它连接两个菜单。
    如果菜单确为所需要的,你必须修改程序使它不超越极限,例如建立一个菜单的
    级联。
    -4394 警告:在非正式函数头中的正式参数不能有初始值。该参数的初始值将被忽
    略。如果要使用该值作为隐含变量,应使用正式函数头来指定此缺省值。
    尽管在正式(原型函数风格〕定义中参数可以有初始值,而非正式函数定义是不可以
    的,该参数的初始值将被忽略。如果要使用该值作为缺省参数,应使用带函数原型的
    正式定义格式来指定此缺省值。这个错误仅被 NewEra 返回。
    -4395 对一个数据库字段名指定了过多的下标。
    在该语句中数据库字段的名称后跟了一个方括号,括号中有一些数字。带方括号的数
    据库字段的唯一有效的用法是从一个字符字段中选定一个子串。但是,在这种用法中
    必须准确地写两个数字,即子串的开始和结束字母的下标。这里使用了多于两个的数
    字,检查并更正标点。
    -4396 带有该行数的 MENU 说明无结束。
    4GL 不能标识一个 END MENU 语句去匹配处于该行数的 MENU 语句。从该行开始找下去直到
    寻找到应该是结束语句的地方,加入结束语句。
    -4397 行<行号>中的 IF 语句无结束。
    4GL 不能标识一个 END IF 语句去匹配处于该行数的 IF 语句。从该行开始干下找直到寻
    找到应该是结束语句的地方,加入结束语句。
    -4398 行<行号>中的 CASE 语句无结束。
    4GL 不能标识一个 END CASE 语句去匹配处于该行数的 CASE 语句。从该行开始找下去直到
    寻找到应该是结束语句的地方,加入结束语句。
    -4399 行<行号>中的 WHILE 语句无结束。
    4GL 不能标识一个 END WHILE 语句去匹配处于该行数的 WHILE 语句。从该行开始找下去
    直到寻找到应该是结束语句的地方,加入结束语句。
    -4400 行<行号>中的 FOR 语句无结束。
    4GL 不能标识一个 END FOR 语句去匹配处于该行数的 FOR 语句。从该行开始干找去直到
    寻找到应该是结束语句的地方,加入结束语句。
    -4401 一个连接操作符产生的串过长,不能放入目标串变量中。
    该语句连接两个以上的字符串并将结果存储于另一个类型为 CHAR 或 VARCHAR 的变量中,
    但是,连接的结果超过了接收变量的长度。如果超过的长度是结尾的空格,可使用
    CLIPPED 函数禁止结尾空格进入合并的结果中。否则,必须定义接收变量的长度至少为
    输入变量的长度之和。
    -4402 在该类型语句中,下标只用于数组变量以从中选定单独的数组元素。
    该语句包括一个后跟方括号的名称,但是该名称不是一个数组变量。检查语句的标点
    并且拼写全部的名称。带下标的名称一定是数组。如果想在语句中使用一个字符子
    串,必须修改程序。
    -4403 该名称的变量的维数与下标不匹配。
    在该语句中,带有这个名称的数组其下标超过了定义的维数。检查下标的标点。如果
    是所要的,回顾该变量名被定义处的 DEFINE 语句。
    -4405 函数已超越了最大允许的参数个数。
    这条信息不会被当前任何 Informix 产品返回。如果发生该错误,请记录全部环境并与
    Informix 技术支持部联系。
    -4406 在上行中有一个不匹配的引号。
    源程序行中含有奇数个引号。从左至右检查该行,保证全部文字字符串以一个引号开
    始和结束。所有文字串必须在同一逻辑行开始和结束。有两种方法写出一个长的文字
    串,首先,可以在行的最后用一反斜线以退出行结束符(然而,一个单独的引用串的
    总长度的最大值固定为 80 个字符)。第二,在 DISPLAY 和 LET 语句中,可用一逗号连接
    较短的文字串。下面有两个例子:
    DISPLAY "abcdefghijkl
    mnopqrstuvwxyz"
    DISPLAY "abcdefghijkl",
    "mnopqrstuvwxyz"
    显示的字母中均未嵌入空白符。
    -4407 在上行中有一个不可打印的字符。
    该源程序行中包含一个不正规的字符。4GL 认为源程序可能被毁坏了。编辑文件并删除
    坏字符。如果用编辑器不能看见或无法选定该字符,就不得不删除该行并重新键入。
    -4408 在上行中有一个过长的引用串。
    文字字符串的长度极限是 80 个字符。但是,在 DISPLAY 和 LET 语句中可使用一个逗号连
    接较短的字符串。例子可见信息-4406。
    -4409 在上行中有一个无效的字符。
    该源程序行中包含非可打印文本或不正常的空白。删去无效字符(该字符在正常编辑
    器下可能是不可见的)。如果在编辑器中看不见或无法选定无效的字符,只能删除该
    行再重新键入。
    -4410 在前面的行中有一个过大或过小的数值常数。
    该行中有个数值常数不能处理。检查全部文字数的数字和标点;例如,确信你没有键
    入一个字母作为数字。任何一个数都不能超越 50 个数字。按照上下文,数可能被限制
    在以下三个范围之一:
    SMALLINT: 绝对值不超越 32,767
    INTEGER: 绝对值不超越 2,147,483,647
    DECIMAL: 绝对值从 10-130 到 10140
    -4411 在上行中有一个过长的字母数字标识符。
    任何标识符不能超越 50 个字符。检查该标识符的拼写和全部标识符的标点(可能两个
    名称连在一起了)。
    -4412 从 RUN 命令来的值只能被返回给 INTERGER 或 SMALLINT 变量。
    RUN 命令只能从一个执行程序中返回整型的返回码。在这种情况下无自动数据转换;结
    果必须被指定为一个整型变量。
    -4413 标签<标签名称>已经在函数/报表中定义过。
    标号出现在两个以上的 LABEL 语句中。检查标号名,如它确为所要的,搜索一遍该函
    数、报表、句柄或主程序的其它 LABEL 语句找到重名的那些,将它们改为其它名称。
    该错误只能被 NewEra 返回。
    -4413 标签名已在主程序或函数中定义。
    标签出现在两个以上的 LABEL 语句中。检查标签名,如它确为所要的,搜索一遍该函数
    或主程序的其它 LABEL 语句找到重名的那些,将它们改为其它名称。该错误只能被 4GL
    返回。
    -4414 标签<标签名称>已经使用但从未定义在函数/报表中。
    一个 GOTO 或 WHENEVER 语句指向所带的标号,但在当前的函数、报表、句柄或
    主程序中没有相应的 LABEL 语句。如果该标号确是所要的,找到定义它的 LABEL 语句
    并做检查。不能用 GOTO 转移出一个程序;标号必须在使用它的同一函数主体中做
    定义。这个错误只能被 NewEra 返回。
    -4414 使用了一个标号名称但未在上面的主程序或函数中定义该标号。
    一个 GOTO 或 WHENEVER 语句指向所带的标号,但在当前的函数、报表、句柄或
    主程序中没有相应的 LABEL 语句。如果该标号确是所要的,找到定义它的 LABEL 语句
    并做检查。不能用 GOTO 转移出一个函数;标号必须在使用它的同一函数主体中做
    定义。这个错误只能被 4GL 返回。
    -4415 在一个报表中指定的 ORDER BY 或 GROUP 项必须是一个报表参数。
    用于 ORDER BY ,AFTER GROUP OF,或 BEFORE GROUP OF 语句中的名称必须也在 REPORT
    语句的参数列表中。不可能基于一个全局变量或其它表达式排次序或组成组。检查语
    句中名称的拼法将它们与 REPORT 语句相比较。
    -4416 在 validation 串中有一个错误: "%s"。
    在 syscoval 表中更改合适的 DEFAULT 或 INCLUDE 值。
    -4417 这种语句类型只能用于报表。
    象 PRINT、SKIP、NEED 之类的语句只能在一个报表函数的主体中有意义,此时存在一个
    隐含的报表列表去接收输出。
    -4418 用于 INPUT ARRAY 或 DISPLAY ARRAY 语句的变量必须为数组。
    跟在词 DISPLAY ARRAY 或 INPUT ARRAY 后的名称必须是记录的一个数组名。检查名称的
    拼法,如果它是所要求的,找到并检查 DEFINE 语句看为何它不是一个数组。(如果要
    显示或输入一个简单变量或一个数组的单一元素,使用 DISPLAY 或
    INPUT 语句)
    -4419 用在 CONSTRUCT 语句中的变量必须为字符变量。
    跟在词 CONSTRUCT 后面的名称必须是定义为 CHARACTER 或 VARCHAR 的变量的名称。因为接
    收到的串可能很长,因此它必须是个长变量。检查名称的拼法,如果它是所要求的,
    找到并检查 DEFINE 语句看为何它不是字符类型。
    -4420 在 header 或 trailer 子句的一个 IF-THEN-ELSE 语句的 IF 部分和 ELSE 部分中打印
    的行数相等。
    4GL 需要知道填入 header 和尾部部分的行数(否则它不知道放入该页的行数的明细情
    况)。由于它不知道 IF 语句的哪一部分将被执行,它要求两者产生相同行数的输出。
    -4421 不能在另一个 INPUT 语句或 PROMPT 语句中使用 INPUT 语句,即使该语句被
    包括在一个条件或循环语句中。
    可以从另一个 INPUT 语句、或从一个 PROMPT 语句中执行 INPUT 语句,但是为了做到这一
    点必须将 INPUT 语句放入一个函数中然后调用该函数。不能在另一个 INPUT 语句中嵌入
    INPUT 语句的文本。
    -4422 不可以在另一个 INPUT 语句中使用 CONSTRUCT 语句。包括当 CONSTRUCT 被包括在
    一个条件语句或一个循环语句中的情况。必须调用一个函数执行 CONSTRUCT
    语句。
    可以在一个 INPUT 语句中执行 CONSTRUCT 语句,但是为了做到这一点,必须将 CONSTRUCT
    语句放入一个函数然后调用该函数。不能在 INPUT 语句中嵌入 CONSTRUCT
    语句的文本。
    -4423 用于 DISPLAY 语句的 CLIPPED 和 USING 选项当显示到一个屏幕表格的
    显示字段时不能使用。
    CLIPPED 和 USING 关键字不能用于 DISPLAY TO 和 DISPLAY BY NAME 语句。一个屏幕表格的
    显示字段的显示格式由显示字段的属性控制,这些属性在屏幕表格文件中指定。在一
    个显示字段中结尾的空格不显示。为了得到 USING 的效果,编辑屏幕表格文件并添加
    USING 属性给一个或多个显示字段。
    -4424 变量<变量名称>尚未定义成记录或对象。
    表示的变量已与一个星号、或 THRU 关键字、THROUGH 关键字合用。但是它未被定义为
    一个记录或对象。检查名称的拼法,如果它确是你所要的,定位于变量定义的地方,
    找出它为何未象所期望的那样定义这个错误只由 NewEra 传回。
    -4424 变量<变量名称>未被定义为一个记录。
    表示的变量已与一个星号、或 THRU 关键字、THROUGH 关键字合用。但是它未被定义
    为一个记录。检查名称的拼法,如果它确是你所要的,定位于变量定义的地方,找出
    它为何未定义为记录。这个错误只能被 4GL 返回。
    -4425 变量<变量名>未被定义为 LIKE 表<表名>。
    命名的变量用于一个 UPDATE 语句的 SET 子语中。尽管如此,它未被定义为 LIKE 被修改
    的表名。结果,4GL 不能加入一个带表字段的记录元件。可以改变变量的定义,或
    重写 UPDATE 语句以表示字段名称和记录元件之间显式的关系。
    -4426 PRINT 语句只能用于报表中。如果你希望做无屏幕定位的打印,使用无任何显
    示字段或屏幕目标的 DISPLAY 语句。
    关键字 PRINT 特别用于给一个报表产生一行输出。关键字 DISPLAY 将输出引入屏幕。可
    能这个语句被偶然从一个报表主体中拷贝而来,更可能的原因是仓促中试图在屏幕上
    显示一个临时的输出。在后一种情况下,只要简单地将 PRINT 改为 DISPLAY 就可以了。
    -4427 DISPLAY 语句的 COLUMN 特性只能用于无屏幕或显示字段目标的显示中。
    COLUMN 函数返回一个串,其中的空格足够长使之能达到某种用于显示输出的字段。可
    以与不合格的 DISPLAY 和 DISPLAY AT 合用,但是它与 DISPLAY TO 或 DISPLAY BY NAME 不
    相适应。
    -4428 不可以在一个 INPUT 或 PROMPT 语句中使用 PROMPT 语句,即使它包括在一个
    条件或循环语句中。
    可以从另一个 PROMPT 语句或一个 INPUT 语句中执行 PROMPT 语句,但是为了做到这点必须
    将这个 PROMPT 语句放入一个函数中并调用该函数。不能在一个 INPUT 语句或另一个
    PROMPT 语句中嵌入一个 PROMPT 语句的文本。
    -4429 报表与函数参数不能是数组。
    不能传递一个整个的数组作为函数的参数,但可以用下标传递一个单独的数组元素。
    可能产生这种错误的数组是一个使用星号标记传递的记录变量的元件。这个错误只能
    被 4GL 返回。
    -4429 参数不能是数组、带有数组成员的记录或者常数。
    不能传递一个整个的数组或常数作为函数的参数,可以用下标传递一个单独的数组元
    素。可能产生这种错误的数组是一个使用星号标记传递的记录变量的元件。这个错误
    只能被 NewEra 返回。
    -4430 数值无法用 RETURN 从报表传出。
    报表不能含 RETURN 语句,因这会将控制权传回给调用这个报表的程序。这个错误只由
    NewEra 传回。
    -4430 一个报表的记录参数不能包括是数组的成分。
    不能传递一个整个的数组来作为函数的参数。可以用下标传递数组的元素。在这种情
    况下,一个记录变量用星号标记指定为一个参数,而记录的元件之一是一个数组。
    -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,0007-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()调用无数据返回。要找的值在选定的索引字段中没有找到。
    -6011 文件结束。
    对 NEXT 行的 dbfind()调用没有得到数据。到达了表尾。
    -6012 文件开始。
    对 PRIOR 行的 dbfind()调用没有得到数据。到达了表头。
    -6014 没有这样的标志值。
    这个函数的标志参数不是一个被定义的值。当调用带有预先定义的标志值的函数时,
    应该使用定义在包含文件 dbio.h 中的名称;并且必须只传递为特定的函数定义的值。
    -6015 表名尚未打开。
    这个函数指定的表名必须首先用 dbselect()打开。回顾程序逻辑并确认这已完成。
    -6016 没有视图被设置。
    调用 dbfind()前,程序必须建立一个视图,这就是说,一个返回字段的说明,和接受
    它们的缓冲区。这通过调用 dbsetview()完成。回顾程序逻辑并确定这已完成。
    -6017 不能增加一个重复的值;索引已经被定义为唯一的。
    出现在 dbadd()中的字段值至少有一个和已经存在的字段的值重复。而字段被约束为包
    含唯一的值。这一行不能被插入。
    -6018 表名尚未打开。
    dbadd()使用的表必须首先被 dbselect 调用打开。回顾程序逻辑并确定这已完成。
    -6019 没有设置视图。
    在调用 dbadd()之前,程序必须建立一个视图,这就是说,一个对返回字段的说明和接
    受它们的缓冲区。这在调用 dbsetview()时完成。回顾程序逻辑并确定这已完成。
    -6020 没有当前行。
    dbdel()和 dbupd()函数在上一次用 dbfind()选择的行上操作。回顾程序逻辑确认已调
    用 dbfind()建立了一行。如果调用是 dbfind()自身,它传递一个象 CURRENT 这样的标志
    假设一行已经在以前的调用中被选定,但没有任何东西。
    -6021 表名尚未打开。
    被 dbdel()使用的表必须首先被-dbselect 调用打开。回顾程序逻辑以确定这已完成。
    -6022 锁定被否认。
    可能表已经被其它进程锁定。程序应该等待一段短的时间并再次试图锁定。如果状态
    依旧,程序应该回滚其事务并重试整个操作。
    -6023 表名尚未打开。
    被 dblock()或 dbunlock 使用的表必须首先被一个 dbselect 调用打开。回顾程序逻辑以
    确认这已完成。
    -6024 内存分配错误,内存不够。
    在特定的操作中内存分配用于保持内部的数据结构。在这个调用中,内存分配失败。
    打开更少的表并且/或者建立 dbview 结构时使用更少的字段可能避免这个问题。
    -6025 表已经打开。
    dbselect()调用传递的表的名称已经打开。表继续被打开。回顾程序逻辑以确认是否
    有一个冗余的 dbselect()调用。
    -6026 命名的字段必须被索引或必须选择顺序搜索。
    这个 dbselfield()调用命名了一个在数据库中没有索引的字段,但是传递的标志是
    ACCKEYED。确认命名了正确的字段并且正确的数据库已经打开。如果是那种情况,索
    引已经失去并且应该在重新运行程序前重建。
    -6027 不能插入一个 NULL 值到一个 NOT NULL 字段。
    这个 dbadd()或 dbupdate()调用试图插入一个包含一个 null 值的行到一个被约束为
    not-null 的字段。这可能因为程序用 dbsetnull()在记录缓冲区放置了一个 null;或者
    因为当前的视图忽略了一个被约束为 not-null 的字段。这行没有插入。回顾表的定义
    和程序逻辑并修改以使所有 not-null 字段在添加或更新前被定义。
    -6028 表名还没打开。
    dbupdate()使用的表必须首先被一个 dbselect 调用打开。回顾程序逻辑并确认这已经
    完成。
    -6029 没有视图被设置。
    调用 dbupdate()前,程序必须建立一个视图,这就是说,一个返回字段说明和接受它
    们的缓冲区。这在调用 dbsetview()时完成。回顾程序逻辑并确定这已完成。
    -6030 不能增加一个重复的值;索引已经被定义为 UNIQUE。
    至少有一个出现在 dbupdate()的字段的值与已经存在的字段的值重复。但是,那个字
    段被限定只包含唯一的值。这行不能被插入。
    -6031 用户没有 SELECT 指定字段的 SQL 许可。
    运行这个程序的用户帐户没被授予在当前表中或选定的特别字段中 SELECT 的权限。数
    据库权限是用 SQL 语句 GRANT 设置的。用数据库中一个有 DBA 权限的用户设置所需的权
    限,再重新运行程序。
    -6032 用户没有在表中 INSERT 行的 SQL 许可。
    运行这个程序的用户帐户没被授予在当前表中 INSERT 的权限。数据库权限是用 SQL
    语句 GRANT 设置的。用数据库中一个有 DBA 权限的用户设置所需的权限,再重新运行程
    序。
    -6033 用户没有 UPDATE 指定字段的 SQL 许可。
    运行这个程序的用户帐户没被授予在当前表中 UPDATE 的权限。数据库权限是用 SQL
    语句 GRANT 设置的。用数据库中一个有 DBA 权限的用户设置所需的权限,再重新运行程
    序。
    -6034 用户没有在表中 DELETE 行的 SQL 许可。
    运行这个程序的用户帐户没被授予在当前表中 DELETE 的权限。数据库权限是用 SQL
    语句 GRANT 设置的。用数据库中一个有 DBA 权限的用户设置所需的权限,再重新运行程
    序。
    -6035 没有当前行。
    传递给 dbfind()的标志参数含有一个当前行的意思(例如,一个 CURRENT 或 NEXT
    标志是与 FIRST 中的一个相对的);但是,没有当前行被以前的调用建立。
    回顾程序逻辑并确定在一个这样的调用前建立一个当前行。
    -6036 一个别名名称与数据库中一个已经存在的表名一样。
    传递给 dbalias()的新名称参数已经在数据库中作为一个表存在。回顾程序逻辑并修改
    以使用唯一的别名。
    -6037 一个以前使用过的别名名称。
    传递给 dbalias()的新名称参数已经在前面的调用中作为别名被定义过。一个别名在一
    个程序的运行中只能被定义一次。回顾程序逻辑并修改使得别名只使用一次。
    -6038 该别名不能是已存在的别名的别名。
    dbalias()中出现的旧名参数已经作为别名在先前的调用中定义过了。程序可以为表
    定义多重别名,但不能为另外的别名定义别名。检查程序逻辑,修改它,使该旧名参
    数是数据库中的真正表的名字。
    -6040 在数据库中找不到表名的别名。
    dbalias()中的旧名参数作为表的名字在当前数据库中找不到。检查参数值;如正
    确,也许当前数据库是错的,或想要的表被改名了。
    -6041 字段号比表中的字段数多。
    提供给 dbnfield()的字段参数多于所传表中的字段总数。如果程序的字段号从零往
    上循环,本返回代码说明表的结束。否则检查所传的号,如正确,不是当前数据库是
    错误的,就是表被改过了。
    -6042 传给 dbprusing 函数的格式不对。
    传给 dbprusing()的格式串不被接受。检查所传的值,参考 INFORMIX-4GL 中 REPORT
    功能的参考资料中描述的 USING 函数的规则。
    -6043 该字段不是复合键。
    传给 dbselfield()的字段名参数不是指定表中的字段名,也不是其中的复合索引
    名。检查表名和字段名。如它们都对,确认所用的数据库是否正确。如果是这样,应
    取消所期望的索引,或用另外的名字建立它。
    -6044 字段号比复合键中的字段数多。
    这是内部错误。如错误再次发生,记录所有情况,并与 Informix 技术支持部门联系。
    -6045 无字段或索引被选中。
    程序调用 dbfind()之前,必须调用 dbselfield()来建立一个检索方法。即使不用
    索引也要这样作。检查程序逻辑,确认它被做了。
    -6050 错的键描述:内部错误。
    该错误不应发生。最可能的原因是内存中由ALL 所用的内部数据结
    构被重写了。检查程序逻辑。当你确认程序未曾存入ALL 数据时,
    记录所有信息,并与 Informix 技术支持部门联系。
    -6052 该表的当前视图未包含所有的复合索引。
    当程序调用 dbselfield()来设置一个复合索引时,该索引的所有字段必须包含在由调
    用 dbsetfileview()或 dbstructview()所建立的当前视图中。检查程序逻辑,尤其
    是后两个函数的调用,确认这些都作了。如果视图如你所设,可能是复合索引已被
    取消,用一个或多个不同字段重新建立它。
    -6055 BEGIN WORK 错。
    这是内部错误。如错误再次发生,记录所有情况,并与 Informix 技术支持部门联系。
    -6056 COMMIT WORK 失败。
    这是内部错误。如错误再次发生,记录所有情况,并与 Informix 技术支持部门联系。
    -6057 ROLLBACK WORK 失败。
    这是内部错误。如错误再次发生,记录所有情况,并与 Informix 技术支持部门联系。
    -6062 当表中的任一字段允许是空指针时,Dbsetfileview 函数不能用。
    因为它构造的缓冲区没有对齐,dbsetfileview()不能为可能是空指针的字段生成缓
    冲区。
    -6063 空指针参数。
    该函数的参数应包含一个指向内存的指针,实际参数中却包含一个 C 的空指针(0)。
    检查程序逻辑看错误是如何发生的。
    -6064 想结束一个未开始的事务。
    当事务无效时,程序调用了 dbcommit()或 dbrollback()。或未调用 dbbegin()
    来开始一个事务,或事务已由于对 dbcommit(),dbrollback()或 dbselect()的
    调用而结束。检查程序逻辑,看错误是如何发生的。
    -6065 数据库无事务。
    由于当前库不支持事务,所以对 dbbegin(),dbcommit()或 dbrollback()的调用
    是不合适的。可以对数据库进行转化,使之支持事务;参看数据库服务器参考手册。
    -6066 数据库服务器协议错误。
    这是个不应该发生的内部错误。如错误再次发生,记录所有情况,并和 Informix 的技
    术支持部门联系。
    -6067 想在事务之中将一个表进行解锁。
    这是事务内部调用 dbunlock()错误,即在调用 dbbegin()和调用 dbcommit()或
    dbrollback()之前。当使事务处理时,所有的锁必须保持直到事务被提交或滚回。
    结束事务自动解除所有的锁。
    -6068 数据类型不被支持。
    某个字段的数据类型不被这个版本的 ALL 支持,例如 BYTE 数据类型。检查实际表所需的
    字段,只能用数值或 CHAR 数据类型的字段。
    -6069 想在事务之外锁定一个表。
    当用一个有事务的数据库时,事务范围之内的所有表都要被打开,就是说,在对
    dbbegin()成功调用之后。检查程序逻辑看这是否已完成。可能自从程序最后一次被
    调用以来,事务日志已被用于数据库了。
    -6070 试图关闭一个有活动事务的数据库。
    在用 dbselect()函数关闭数据库之前程序必须结束当前事务。这可以通过调用
    dbcommit()函数或 dbrollback()函数来解决。
    例如,你收到-7028 号错误信息,它在-7000 到-7199 之间,你就要查询光盘子系统
    开发商手册中的错误号。你将在手册中的 28 号查到该错误信息。
    -7000 <错误号>7000 错误由光盘子系统引起。参考适当的子系统手册。
    在所用的子系统文档中检查错误号。
    -7202 数据库建立没有 NLS 功能.
    你试图在一个非 NLS 数据库中建立一个 NCHAR(或 NVARCHAR)字段,或说明一个 NCHAR(或
    NVARCHAR)变量.
    -7203 DBNLS 未被设置或 LC_COLLATE 必须是范畴值。
    当你试图对一个与当前数据库变量的位置不同的外部数据库变量进行访问时,该信息
    出现。为用该 NLS 数据库,你必须将 DBNLS 环境变量设置为 1 或 2,设置 LC_COLLATE 环境
    变量为指定的范畴值。
    -7204 LANG 或 LC_COLLATE 环境变量无效。
    LANG 或 LC_COLLATE 环境变量设置无效。将其中的一个或全部设置成你的系统支持的值
    -7205 DBNLS 未被设置或 LC_CTYPE 必须被设置为范畴值。
    当你试图对一个与当前数据库有不同位置的外部数据库进行访问时,本信息可能被返
    回。为存取该 NLS 数据库,你必须将 DBNLS 环境变量设置为 1 或 2,并设置 LC_CTYPE
    环境变量为指定的<范畴值>。
    -7206 LANG 或 LC_CTYPE 环境变量无效。
    LANG 或 LC_CTYPE 环境变量的设置无效。将其中的一个或全部设置成你的系统支持的
    值。
    -7207 LANG 或 LC_MONETARY 环境变量无效。
    LANG 或 LC_MONETARY 环境变量的设置无效。将其中一个或全部设置成你的系统
    支持的值。
    -7208 LANG 或 LC_NUMERIC 环境变量无效。
    LANG 或 LC_NUMERIC 环境变量设置无效。将其中之一或全部设置成你的系统支持的值。
    -7209 LANG 或 LC_TIME 环境变量无效。
    LANG 或 LC_TIME 环境变量设置无效。将其中之一或全部设置成你的系统支持的值。
    -7210 该服务器没有 NLS 功能。
    当你想从一个无 NLS 准备的数据库服务器存取数据时,返回该信息。该数据库服务器不
    支持 NLS。同 Informix 联系,获得支持 NLS 的版本。
    -7211 无法引用外部 NLS 数据库。
    如果你的当前数据库不是 NLS 数据库,你就不能在另一个或同一个数据库服务器访问
    NLS 数据库。但是,如果 NLS 环境变量设置正确,即使你的当前数据库不是 NLS 数据库,
    你也可以取消一个 NLS 外部数据库。
    -8001 为 TOP MARGIN,FIRST PAGE HEADER(PAGE HEADER),PAGE TRAILER,
    BOTTOM MARGIN 指定的换行数必须在页中为 ON EVERY RECORD 子句的打印留出足够
    的空间。
    为上述语句定义的行总数超出了页长。检查在 OUTPUT 节的每条语句中,在 FORMAT 节中
    的 header,tailer 说明中,是否输入了所期望的行数。
    -8002 ACE 报表说明太大或太复杂,不能正确地编译。实现该说明所需的指令数超过
    了编译器的指令表中分配的空间的大小。
    减小报表长度。既然你无法分块编译报表,那你必须想法简化报表。
    -8003 SMALLINTEGER 常数不能比 32767 大。
    SMALLINT 的值的允许范围是-32767 到 32767。所有数只允许用数字字符表示。
    -8004 非法的 FLOAT 常量。
    FLOAT 常量写得不对。指数可能太大或太小(指数范围依赖于你的计算机和操作系统,
    但和你的 C 编译器允许的 DOUBLE 数据类型范围一样),或有不正确的标点或有除"e."的
    非数字字符。
    -8005 定义了太多的用户变量,参数或函数。你定义的数量不能超过 ACE 说明中规定
    的<数量>。
    为 ASCII 字段,参数,变量定义的标识符总数不能超过显示的数。你要简单化你的
    报表。
    -8006 引号中的串长度不能超过 80 个字符。
    你必须减小引号中的长度,使之不超过 80 个字符。在 PRINT 语句中,将串简单分为较短
    的各部分,用逗号分隔。
    -8007 一个被引的串中的引号不匹配。
    报表说明的该行有奇数个引号(")。引号中的串不能包含换行符,所有的引号串必须
    在一行中完成。要想打印一个长的串,将它的各部分存在变量中,然后在 PRINT
    语句中将它们都列出来。
    -8008 文件<文件名>无法打开。操作系统被要求为读而打开它。
    检查文件名的拼写。检查它确实存在,且你的帐户有权读它。如果它所在目录并不是
    当前目录,你应输入完整的路径名。
    -8009 发生了内存分配错误。ACE 报表说明可能太大了。
    ACE 编译器不能分配所需的内存。想法减小报表说明的规模。
    -8010 文件<文件名>无法打开。操作系统被请求为写而打开它。有可能是文件存在
    但用户无权写它。或者,用了-o 选项,但目标目录并不存在。
    确认文件名拼写正确,且你的帐户在它的目录下有写的权限。(该目录可能在 DBTEMP
    环境变量中命名)。如同名文件已存在,或删掉它,或确认你的帐户对它有写的权
    限。
    -8011 调用的用户函数<函数名>还未被用户定义过。
    现在调用了所显示的函数。ACE 把它当做外部 C 函数。但是,外部函数必须在报表的
    DEFINE 节用 FUNCTION 语句定义过,但该函数名未被定义。如果该名字确实是外部函数
    名,则为它插入一个 FUNCTION 语句。
    -8013 想打开列表文件<文件名>时发生错误。确认当前目录下用户有写文件的权限。
    确认你的帐户对当前目录有写的权限,且如果当<文件名>已经存在时,你的帐户对它
    有写的权限。
    -8014 用法:SACEPREP[-q][-o <输出目录>] <输入文件名>(等等)。
    你输入的命令行中有些东西使 SACEPREP 命令无法接受。读该信息,记住各种选项的句
    法格式。重敲命令行。
    -8015 在<行号>行,<字符数>处开始的注释内又发现了开注释符号‘{’。这可能是
    由于未关闭前面打开的注释,它起始于<行号>行,<字符数>处。
    不应用嵌套注释。在报表说明中合适的地方插入关注释符号。
    -8016 注释打开了却未关上。最后一个注释起始于<行号>,<字符数>处。
    在报表说明中合适的地方插入关闭注释符。
    -8017 在<行号>行,<字符数>的字符处发现非法(不可见,控制)字符。它在列表
    中被一个空格代替,但它仍在源(输入)文件中。重新编译之前应该先删掉它。
    用字处理编辑器在文档方式而不是在文本方式下编辑时,可能引入非法字符,或编辑
    时敲了非显示字符,或是由于数据的损坏。
    -8018 <行号>行,<字符数>处发生语法错误。结构在上下文中无法理解。
    源文件中有句法错误。可能拼错了某个关键字或在文件中的位置错误。检查报表说明
    文件中关键字的拼写和控制块的次序。
    -8019 无法为读 TEXT 字段而打开临时文件<文件名>。
    对每个为报表选择的 TEXT 字段,ACEGO 要在 DBTEMP 环境变量中命名的目录下准备一个临
    时文件。该信息说明该文件已被建立,且 TEXT 的一份拷贝也已载入,但现在不能读。
    查看操作系统的出错信息,那里可能给出更多的细节。如果错误再次发生,记录所有
    信息,并与 Informix 技术支持部门联系。
    -8021 源文件<文件名>打不开。也许因为该文件不存在。
    检查文件名的拼写。检查当前目录下是否有该报表说明文件,或是否在另一个目录
    下,你提供的路径名是否正确。如果上述都没问题,确认你的帐户对该文件有读的权
    利。
    -8022 该标识符超过了标识符的最大长度 50。
    你必须用一个短一点的标识符。
    -8025 在<行号>行,<字符数>处发现注释结束符 "}",但没有注释的开始。
    除非它们被括在引号之中,否则注释符号必须匹配。可能是因为编辑时不小心删掉了
    注释开始符。修改文件,使注释被正确定界。
    -8030 在<行号>所指的行,<字符数>所指的字符处发生排印错。
    所显示位置的单个字符无句法错误,但它不能被解释为报表说明的一部分。
    -8033 源文件<文件名>超出了最大长度 10。
    屏幕表格编译器对源文件标识符有一个长度限制。你用该文件时必须把它改名。在 DOS
    系统下,文件名最长为 8 字符加 3 字符的扩展名。
    -8034 命令行中出现了未知选项<选项>。
    ACEPREP 支持的命令行选项有如下几条:
  • -s 用于将消息隐蔽起来。
  • -o 用于命名输出。
  • -ansi 用来检查 ANSI 兼容性
    ACEGO 支持的命令行选项有:
  • -s 用于将消息隐蔽起来。
  • -d 用于命名一个数据库。
    -8051 LEFT MARGIN 必须不小于零,不大于 RIGHT MARGIN。
    修改 OUTPUT 节中的 LEFT MARGIN 或 RIGHT MARGIN 语句,使之具有合理值。
    -8052 编译器的串表中没有足够的空间用于存储 CHAR 变量。
    减小报表说明中字符型变量的长度,或减少其数量。
    -8053 PAGE LENGTH,TOP MARGIN,BOTTOM MARGIN 都不允许比零小。
    修改 OUTPUT 节中的语句,使之具有合理值。
    -8054 串<串>无法放入编译器串表的剩余空间中。
    减小报表说明中的串长度或减少其数量。相同的串只存一次。
    -8055 该常数使 ACEPREP 中的常数表溢出。
    减少报表说明文件中的数值常量数。
    -8056 不允许在 PAGE HEADER 或 TRAILER 中的 WHILE 或 FOR 循环里有跳行。
    ACEPREP 需要决定分配给 header 和 tailer 的行空间(否则将无法决定每页具体会有多少
    行)。它无法预言一个循环将执行多少次,所以它不得不禁止那些部分中的 SKIP
    语句。
    -8057 LET 语句中只有 CHARACTER 类型的用户变量可以有列表或加下标。
    你只能对一个字符型变量的名字用下标(方括号中的两个数,用于提取字符串中的某个
    子串)。在 LET 语句中,你可以把多个串赋值给一个变量,,串之间用逗号分隔。其它
    类型变量只能接受单一的值。
    -8058 ASCII 显示字段<显示字段名>已被定义。
    一个显示字段名只能定义一次。DEFINE 节中的显示字段名必须唯一。也就是说,一个
    名字不能同时用于 PARAM 和显示字段。
    -8059 IF 语句嵌套溢出。IF 语句中含有过多的 IF 语句,使 ACE 无法正确编译该报表说
    明。
    你的 IF 语句嵌套超过了最大允许级数,你必须简化报表的逻辑。
    -8060 报表说明中过早出现文件结束符。
    ACEPREP 在它仍需输入时遇到了报表说明文件的结束符。你可能忽略了一个 END 语句。
    至少需要一个 FORMAT 节,它至少包含一个 EVERY ROW 语句,且每个控制块至少有
    一条语句。
    -8061 该报表有一个 READ 语句,但未指定 ASCII 记录定义。
    想用 READ 语句,你必须在 DEFINE 节使用 ASCII 语句定义 ASCII 文件中期望的显示字段。
    -8062 该报表包含一句 SELECT 语句,但应改用 READ 语句,因 ASCII 记录定义已被指
    定。
    报表可能基于一个 ASCII 文件或数据库行,但不是二者同时。DEFINE 节的 ASCII 语句说
    明将使用输入文件,而且 READ 语句用来读该文件。如你想使报表基于数据库行,保留
    SELECT 语句,删去 ASCII。
    -8102 ORDER BY 命令中指定的单一字段只能有一句 AFTER 或 BEFORE GROUP OF 子句。
    报表中的某一字段包含不只一句 AFTER GROUP OF 或 BEFORE GROUP OF 子句。只有其中之
    一可以命名一个给定字段。然而,你可以把语句合并,使多个子句合并为单一子句。
    -8103 为使 BEFORE 或 AFTER GROUP OF 子句能正确执行,子句中指定的字段必须已在
    ORDER BY 命令中作为排序字段指定过。如果排序字段有下标,BEFORE 和 AFTER GROUP
    OF 子句中的字段也应如此。
    确保在 ORDER BY 语句和 GROUP OF 子句中指定的控制字段要相同。
    -8104 组聚合只能用在 AFTER GROUP OF 子句中。
    当一个组的行被处理时,该组上的聚合值被积累,所以聚合的值只有在组尾才可用。
    因此除在 AFRER GROUP OF 子句中,报表不能引用它。
    -8105 聚合不能使用在另一个聚合中。一个聚合不能使用在另外的聚合的 WHERE 子句
    中。
    聚合函数不能嵌套使用。主要因为外部聚合被积累时内部聚合的值不确定。改写聚合
    表达式,只引用字段和字段的简单表达式。在 AFTER GROUP OF 子句中你可以将某几行(
    作为一组)的聚合值存在一个变量中,然后就可以用于下一个组上的聚合运算。
    -8107 用户变量或参数被定义了多次。
    DEFINE 节中一个名字只能定义一次,你在 ASCII,RARAM 或 VARIABLE 语句中将某个
    名字用了不止一次。
    -8108 用户变量或参数的长度必须大于零。
    确定 DEFINE 节的每个 CHAR 和 VARCHAR 显示字段都有非零的长度说明。
    -8109 PAGE HEADERS 和 TRAILERS 中不能用字自动换行。
    ACEPREP 需要知道 header 和 trailer 部分有多少行(否则它将不清楚每页具体会有多少
    行)。然而,用 WORDWRAP 函数打印会使行数成为一个动态变量,依赖于字数,因此不
    能用。
    -8110 用户变量名<名字>还未被定义。
    名为<名字>的变量,参数或显示字段在 DEFINE 节中未定义。如<名字>拼写正确,它必
    须先被定义。
    -8111 ORDER BY 语句中不允许有用户变量和运行时参数。
    只有字段名可以用在 ORDER BY 子句中。检查子句中的字段名或显示标签拼写。你不能
    根据被定义的变量,参数或者 ASCII 显示字段进行排序。
    -8112 在 header 或 trailer 子句中,IF-THEN-ELSE 语句中的 IF 部分中的打印行数必须
    和 ELSE 部分中的打印行数相同。
    ACEPREP 需要知道 header 和 trailer 部分将占多少行(否则它将不清楚一页具体会有多
    少行)。由于无法确定 IF 语句将执行哪一部分,所以要求两部分有相同的输出行数。
    -8113 任何 header 或 trailer 子句中不能出现 SKIP TO TOP OF PAGE。
    SKIP TO TOP OF PAGE 被执行之后,执行 trailer 子句(显示固定的 page-end
    material)之后必须紧接着执行 header 子句。如果在 header 或 trailer 子句有该语句,
    将发生死循环。
    -8114 页的头尾的行数加上页眉,页脚所需行数超出了或等于页的长度。
    检查 OUTPUT 节和所有 HEADER 和 TRAILER 字段中的语句。这些语句用的所有行数必须远小
    于指定页长,从而可以打印有用的内容。
    -8115 ORDER BY 命令中不能有 8 个以上待排序字段。
    ACEGO 限定被排序的字段数。你必须减少 ORDER BY 后所列的字段数。
    -8116 ORDER BY 命令中有非法下标。
    你只能对一个字符显示字段加下标。检查下标。里面不应该有负数,下标数必须在字
    符字段长度之内;且第一个数要小于等于第二个数。
    -8121 指定的 WORDWRAP RIGHT MARGIN 值超出限定范围.它必须大于或等于当前列,
    小于等于报表的右边界值。
    WORDWRAP 子句的右边界值用来设置一个比整个报表的右边界略窄的边界。WORDWRAP 显
    示的有效左边界是处理 WORDWRAP 时的当前列。右边界必须在当前列和报表的右边界之
    间。
    -8122 在 PAGE HEADER 或 PAGE TRAILER 子句中不允许用 NEED n LINES。
    一页的头部和尾部的大小是在 PRINT 语句中建立的。想把页弄得大一些,使用不带参数
    的 PRINT 语句。
    -8123 在 FIRST PAGE HEADER,PAGE HEADER 或 PAGE TRAILER 子句中不允许有
    PRINT FILE 命令。
    ACEPREP 需要知道头尾部分需要多少行(否则它不知道每页具体该放多少行)。因为编
    译报表时无法预言文件的大小,所以不允许有 PRINT FILE 命令。你需要用 PRINT
    语句生成该数据。
    -8124 上述查询中的一个用户变量在 DEFINE 节中未定义。
    SELECT 语句中命名的一个变量在报表的 DEFINE 节未定义。检查 SELECT 中的所有名字是
    否都是你所要,确认没有拼错的字段或变量名。
    -8125 SELECT 节有不止一个 END 关键字。在 SELECT 节内部,用分号分隔 SQL 语句。只
    在 SELECT 的最后用 END 关键字。
    请查看 SELECT 节,确认所有 SELECT 语句中除最后一句都有分号,且最后一句紧跟 END
    语句。也许你在该部分开始时少了 FORMAT 语句。
    -8126 PARAM[0]不能被定义。
    在 PARAMETER 语句中定义的第一个参数是 1 号。在一些主机操作系统中,0 号参数事先
    设置为程序名,但在报表中不能使用这个值。
    -8127 报表说明中不能用多个 REPORT TO 语句。
    整个报表只能指向一个目标文件,它在 OUTPUT 节 REPORT TO 语句中指定.。一个报表不
    能被分到几个目标文件中,所以只保留第一个 REPORT TO 语句,其它删去。如果你想对
    几组数据产生各自的报表文件,那可按下面中的某条去作:
  • 为每套数据写一个单独的报表。(报表说明只在 SELECT 语句中有所不同)
  • 产生一个完整的报表,将每套数据分到不同页,以后用操作系统实用工具将其
    分离成为不同的文件。
  • 在 SELECT 语句中用参变量,这样在运行报表时你可以动态地选择数据子集合,
    也用 REPORT TO PRINT 语句,这样你可以通过在开始报表前设置 DBPRINT 变量,达到
    控制输出到某个目标文件的目的。
    -8128 VARCHAR 变量最小长度必须比最大长度小。
    VARCHAR 变量由两个数定义:<变量名>(n,r),n 是变量的最大长度,r 是保留长度。尽
    管报表变量也允许如此定义,保留长度只在数据库表定义的上下文中才有意义。如果
    你指定它,必须使它小于或等于 n。
    -8129 对于缺省报表,指定的页长<长度>太短。
    指定的行数作为报表的页长不合适。增加每页的行数或修改报表说明,使它具有较少
    行数。例如修改头或尾的边界行数。
    -8130 一个 INTEGER 类型的常量不能比 2147483647 大。
    该语句指明整数的最大允许值。改用一个较小的值或换一种数据类型,例如 DECIMAL
    类型。
    -9001 只有 CHARACTER 类型字段才可以加下标,或者在打印时后面不用跟空格。
    你对一个非字符型变量,或是想加下标,或是想对它用 CLIPPED 函数;或者错误地指定
    了该变量的类型。
    -9002 在 PMIM 中发现未知操作码。
    发生 ACEGO 内部错误。检查 ACEPREP 编译器版本同 ACEGO 版本是否一致。若一致,
    重新编译报表以确信.arc 文件未被损坏。如错误仍发生,请记录所有情况并与
    Informix 的技术支持部门联系。
    -9003 USING 格式串只能包含一个'.'。
    确定某数的显示的格式串包含了一个以上的小数点。参照参考手册中的 USING 函数的说
    明,去掉多余的小数点。
    -9004 字段<名字>不在当前表中,或用户变量<名字>未被定义。
    所显示的名字与数据表中的字段或定义的变量毫无联系。检查它的拼写是否正确。如
    果你把它当变量,在 DEFINE 部分添上它的定义。如果你把它当数据字段,则检查表是
    否被改过或它的字段已被更名。
    -9014 用法: SACEGO [-q][-d <数据库>] <报表名>
    标志:
    -q SACEGO 将不打印任何错误或消息。
    -d SACEGO 将使用-d 选项指定的数据库名,以取代报表的 DATABASE 节中指定的数
    据库名。
    当没有给 ACEGO 合适的命令行参数时,该信息将出现。可能有另外的信息告诉你是怎么
    回事。有时候,你可以使用手册中描述的-s 选项代替-q;它们是等效的。
    -9025 字段<名字>不在当前表中。任何被用作 ORDER BY 字段的字段必须在当前表中。
    显示的字段名出现在 ORDER BY 之后,但它不是某字段的名字或该语句所选表达式的显
    示标签。
    -9046 报表输出文件<文件名>打不开。可能是由于权限问题。
    报表通过 REPORT TO 语句或 DBPRINT 环境变量内容将报表指向所说的目标文件。请查明
    目标文件拼写正确。请查明你的帐号在此操作系统下有写的权限,且目标盘可写,且
    没有满。
    -9047 输出文件<文件名>无法建立。
    可能的原因有:那个目录你没有写的权限;磁盘空间已满;或你对它的操作超越了所打开
    文件个数的允许权限。
    -9048 管道<管道说明>不能打开。
    报表被定向到 REPORT TO 语句说明的管道。请查明所有语句中的的程序名拼写都正确;
    程序都存在;且都在当前执行路径下。参看操作系统的出错信息,该信息可能会指示出
    错原因,例如,给出系统内存不够的信息。
    -9049 命令行中的输入参数不能被转换成为所需数据类型<类型>。
    命令行的值在 DEFINE 部分 PARAMETER 语句中被定义为数据类型的<类型>。但命令行实际
    给定的值不能转换成该种类型。请检查以下几点是否满足:
  • <类型>是数值类型,则应当作为一个数读入。
  • <类型>是 MONEY,则参数不应带有货币符号。
  • <类型>是 CHARACTER 或 VARCHAR,则参数不能超过所定义变量长度。
  • <类型>是 DATETIME,则参数要用标点正确分隔(参照用户指南中的 DATETIME
    和 INTERVAL 相关附录部分)。
  • <类型>是 DATE,则输入数据应是用标点正确分隔的。
    注意 标点分隔正确的 DATE,DATETIME,INTERVAL 值,包含对操作系统可能有
    特殊含义的字符。因此,问题可能是虽然参数正确但需要引号将其引起来。
    -9050 用户变量<名字>是<类型>类型的。输入值越界或无法转换为那种类型。
    PROMPT 语句提示用户输入值,该值被存入所示类型的变量名。但是,输入值却不能被
    转换为该变量的数据类型(参看-9049 错误对转换的论述)。重新运行报表,输入正确数
    据(也可以考虑修改提示串以便更好地引导用户)。
    -9051 ACE 程序定义的参数数目与命令行中传给 ACEGO 的实际参数数目不等。
    DEFINE 部分中用 PARAMETER 语句定义的参数数目和命令行中的实际参数数目不一致。检
    查包含有空格或其它特殊字符的参数是否加了引号。缺少引号会使单个参数变为多个
    参数。
    -9052 格式串太大。它不能大于 79 个字符。
    USING 函数的格式串有大小限制。
    -9053 发现.ace 文件中有一个未知入口。用 SACEPREP 重新编译报表,用 SACEGO
    重新运行它。注意 SACEPREP 和 SACEGO 版本一致。
    ACEPREP 和 ACEGO 版本必须一致。(为检查程序版本,在命令行加-V 选项运行它)。用编
    译器 ACEPREP 重新编译报表,其版本必须和 ACEGO 版本一致。如已达上述要求,仍请
    重新编译报表,以确认.ace 文件未被损坏。如错误仍发生,记录所有情况并与
    Informix 技术支持部门联系。
    -9054 ACE 报表被 A 版本编译器编译。本运行器只能运行版本 5 到 B。用 SACEPREP 重新
    编译 ACE 报表说明,然后重新运行 SACEGO。
    ACEPREP 和 ACEGO 版本必须一致。(为检查程序的版本,在命令行用-V 选项运行它)。用
    ACEPREP 编译器重新编译报表,其版本要和运行器 ACEGO 版本一致。如已达到该要求,
    仍请重新编译报表,以确认.ace 文件未被损坏。如果错误仍发生,记录所有现场消
    息,并和 Informix 技术支持部门联系。
    -9055 编译过的报表文件<文件名>找不着或打不开。
    报表<文件名>在 ACEGO 命令行命名。它应能在当前目录或 DBPATH 环境变量命名的某路径
    把文件"<文件名>.arc"定位,但现在既找不到也不能为读取而打开。检查文件名拼写
    是否正确,你的帐户是否有权读取它。
    -9059 对于 ACE 报表,选择语句如果不是最后一条选择语句,它必须选择进入某临时
    表。
    报表中的 SELECT 部分可能包含不止一条 SELECT 语句。然而只有最后一句才产生作为报
    表内容的行。前面的语句都为临时表准备数据,最后传给报表。修改报表说明,使除
    最后的 SELECT 语句外的所有 SELECT 语句都包含 INTO TEMP 子句。
    -9060 <名字>的下标 m 和 n 值越界,不符合字段定义的长度
    ORDER BY 子句中的字段子串不对。当取某字段的子串时,括号中的第一个数指明初始
    字符位置,第二个数指明终止字符位置。两个数都至少是 1,且都不大于字段或变量长
    度。
    -9061 'SELECT INTO'语句不能作为 ACE 报表执行的最后一条选择语句。
    报表中可能包含不止一条 SELECT 语句。最后一句必须产生作为报表内容的行。前面的
    SELECT 语句用来在临时表格中准备数据,最后的语句将这些传给报表。修改报表说明
    使除最后一句 SELECT 语句的所有 SELECT 语句都包含 INTO TEMP 子句。
    -9062 在数值向 CHARACTER 类型用户变量转换时发生错误。CHARACTER 类型变量
    太短,无法保存结果。
    数值向字符转换过程中产生了太多的数值字符,使目标变量无法保持原值。ACEGO
    没有截断原值,而是产生错误而停止。你可以重新定义目标变量,或限定转换值的大
    小,例如用 USING 格式字串。
    -9063 在 ACE 中 DEFINE 语句中有用户定义的函数名<名字>,但在用户的 C 静态数据区
    中的用户定义函数表里却找不到该函数名。
    报表中 DEFINE 部分包含一个 FUNCTION 语句,指出某外部函数名将和报表链接起来。(外
    部 C 函数同ACE 报表和 PERFORM 屏的联用包括在 ESQL/C 手册中)。但是
    每个外部函数的名字和地址必须在一个叫 userfuncs 的静态数组中出现。该数组和外部
    函数的机器码一起,被连接到 ACEGO 的客户版本上。由于<名字>在数组中不出现,
    ACEGO 无法调用它。
    检查你的 ACEGO 版本是否是正确的定制版本。(程序的原始版本不连接外部函数)。检查
    函数名拼写是否正确。然后检查 C 函数来源,确认 userfuncs 数组定义正确,且<名字>
    确有入口地址。
    -9064 运行中串表满了。内存无法分配。
    临时字符串可用的数据空间已满。当调用外部 C 函数时,或处理 USING,SPACE,ASCII
    内部函数时,临时串被建立。减少了这些表项的使用。
    -9065 内存分配失败。
    ACEGO 分配内存时不能分配一行,一列或一个 SQL 数据结构所需的内存。所需空间与报
    表说明的大小并不直接相关(正如信息文本所提示)。执行报表最多只缺几千个字节。
    -9066 写输出报表时出错。
    目的报表的打开是正确的,但写它的时侯操作系统提示有错。请看操作系统的出错解
    释。最常见的问题是磁盘空间满。
    -9067 ACE 算术堆栈溢出。这里的表达式太复杂。
    降低数学表达式复杂度。一种途径是将其分成几个子式,各个子式值分别用变量表
    示。
    -9068 一个不是 SELECT 语句的 SQL 语句出现在 SELECT 部分中。只有 SELECT 语句
    或者创建临时表的 SELECT 语句在 SELECT 部分是被允许的。
    可能在报表说明中 SELECT 单词被拼错。如果你写了 UPDATE 或 INSERT 等别的 SQL 语句,
    删除之。在报表中只有 SELECT 语句是允许的。(你可以在报表调用的 C 函数中执行别的
    SQL 语句。如何将报表与 C 函数链接起来将在 ESQL/C 手册中讨论。)
    -9070 ASCII 输入文件中的记录包括的数据字段太多,甚至比报表中 DEFINE ASCII
    所定义的还要多。
    ASCII 文件的一个字段是以定界符结尾的零个或者多个字符的序列(定界符在 READ
    语句中说明)。在一个记录中定界符与记录中的字段一样多。每个记录中的字段必须一
    样多,并且每个字段必须以 ASCII 语句在报表的 DEFINE 部分定义。多余的域不被忽视。
    请查找信息-9072,帮助你确定发生错误的记录。
    -9071 ASCII 输入文件中的记录字段比报表中 DEFINE ASCII 语句中定义的少。
    ASCII 文件中的"字段"是以定界符结束的零个或多个字符的序列(定界符在 READ 语句中
    说明)。事实上,每个记录中字段和定界符数目一样多。每个记录中字段数都一样多,
    且每个字段必须在报表中 DEFINE 部分用 ASCII 语句定义。缺少的字段没有缺省值。察看
    -9072 号信息,它会帮你找到发生错误的记录。
    -9072 从 ASCII 码输入文件中读入 count 个记录。
    这条消息所提供的信息能帮助你定位 ASCII 输入文件中的问题的根源。另外一条消息所
    描述的问题可以在文件的第 count 行上找到。
    -9140 <行号>试图除零。结果置为零。
    报表说明文件<行号>行的表达式中有除法操作。在运行中表达式中除数为零。检查表
    达式及其数据,修改报表,避免错误再次发生(例如,用 IF 语句测试零)。错误可能是
    由于第一行数据被处理之前用某聚合函数定义了变量。为避免这些,最好在变量使用
    之前先赋值,例如从某命令行参数或用 PROMPT FOR 语句为之赋值。
    -9142 数据转换错。
    ACEGO 试图将字符转换成日期型数据,发现错误。或数据标点错误,或有非数字字符,
    或日期自身错误,如"01/32/91"。
    -9143 字符,文本,字节数据不能用所使用的格式打印。
    USING 函数只能应用于数值型数据。修改报表说明。
    -9500 下标越界。
    该语句是从某字符变量中取子串。方括号内的两个数不对。第一个比零小或比字段长
    度大,或第二个比第一个数小。修改表格说明,重新编译。
    -9503 不能开启<表格名>表格。
    检查表格名称是否拼错。如果是,数据库中可能没有<表格名>表格(它可能被删掉或改
    名了);如果它存在,你的帐户可能没有 SELECT 去存取它。或者,若你正使用
    INFORMIX - SE 数据库服务器,你可能已超过开启文件的限度,这会限制你在 SELECT
    语句中命名的表的数目。在这种情况下,你可能要更改报表的 SELECT 部份,以便使用
    更多的 SELECT 语句,每个语句中命名较少的表格。(4.0 以上的版本没有这条信息。)
    -9503 PRINT FILE <文件名>不能打开。
    所给文件无法为输出打开。查看操作系统的出错信息可以得到更多的提示。可能的原
    因有:缺少对文件或目录的应有权限,或磁盘空间已满。
    -9504 ASCII 函数参数越界。参数必须在 0 和 255 之间,包括 0 和 255。
    ASCII 函数参数必须在 0 和 255 之间。检查本函数在报表说明中的用法。如果命令行中参
    数就不正确,则可以考虑用 IF 语句检测。
    -16300 标识符太长。
    语句中标识符太长。看看是否在两个标识符之间缺分隔符,或选个较短的标识符。
    -16301 句法错误。
    调试程序命令中有句法错误。检查是否拼错或漏写了关键字或标识符,或有多余参
    数,或关键字顺序错误。看看 CALL 命令后函数名是否漏了括号,或 VIEW 命令中多了
    括号。你可以用 help all 显示所有命令的两页概要。
    -16302 命令中有非法字符。
    调试程序命令中的字符限于字母,数字,空格,下划线,和调试程序手册中的"命令句
    法记法说明"章节。可能是你误按了一个键,也可能是你在编辑一个读命令的输入文件
    时引入了非法字符。如果你要用字处理软件建立或修改一个.4db 文件,一定要在
    "non-document"或"text-only"方式下存盘。
    -16303 命令中有非法整数。
    表达式或搜索模式中包含有超过 50 个字符的数字串。重复这个命令,使用较短的表达
    式或搜索模式。
    -16304 命令中有非法浮点数。
    表达式或搜索模式中有超过 50 个字符的浮点数串,或多于一个小数点。缩短表达式或
    搜索模式,或减少小数点,然后重复命令。
    -16305 内存分配失败。
    你执行命令所需系统内存不够。当其他用户对内存需求较小时,重新执行该命令。DOS
    系统下,最好释放一些磁盘空间。
    -16306 引号不匹配。
    你可能在一个名字或串中忽略了一个引号,或多了一个引号。用偶数个单引号(')
    或双引号("),然后重复命令。
    -16307 引号中的字符串太长。
    引号中的字符串最长为 256 个字母。换个稍短的串,然后重复命令。
    -16308 漏了函数名。
    在 CALL 命令中你必须指定一个函数名。指定函数名并跟一对括号(),然后重复该命
    令。如果函数需要参数,用括号将参数括起来,参数之间用逗号分隔。
    -16309 内部缓冲区溢出。
    你的命令中字符数太多。调试程序命令能容纳的字符不超过 256 个。如果你指定的
    ALIAS,BREAK,TRACE 命令中有许多带括号的命令行,你应考虑用嵌套别名。你可以将
    一些功能键或者短的串定义成别名,分别代表少于 256 个字符的串或一串别名。另一种
    方法是用 READ 命令,而不是别名,来输入多个命令。
    -16310 需要关键字。
    你忽略了一个必要的命令选项。可以用 help all 显示所有调试程序命令名,或参考有
    关手册。
    -16311 不认识的命令名。
    你拼错了命令或错误地进行了缩写。你可以用 help 来看所有的调试程序命令的名字。
    如果看似无错,你可能在输入时按了一个不可打印键。
    -16312 等号遗漏或位置错误。
    同 ALIAS 没有星号选项一样,LET 命令总是需要一个等号。确认你对等号的使用是正确
    的之后重新执行该命令。
    -16313 缺模块行号。
    在 BREAK 或 TRACE 命令中,你指定的模块名后跟了一个点和一个非整数。模块名后必须
    跟一个点和一个整数行号。
    -16314 缺文件名。
    如果调试程序已载入,那么你在 READ 命令或一个输出再定向命令后未指定文件名。指
    定输入或输出文件名,重复该命令。
    如果你在系统提示符状态下,那就是你用了-F 命令行选项调用调试程序,但未指定初
    始文件名。或省略-F,或在-F 后指定一个.4db 初始文件。
    -16315 缺右括号。
    命令参数中或少了个右括号,或多了个左括号。
    -16316 需要一个小整数。
    必须为 GROW 命令提供一个或正或负的整数参数。重复该命令,确定窗口大小需增加的
    行数。当前窗口大小与该整数之和必须在 1 和 L-6 之间,L 是你终端能显示的行数(通常
    是 24)。
    -16317 需要程序变量名。
    调试程序 LET 命令需要三个参数:
  • 程序变量的标识符
  • 等号(=)
  • 为该变量赋值的表达式。
    不能识别输入命令中的标识符。
    -16318 需要正数或名字。
    ENABLE、DILABLE、NOBREAK 和 NOTRACE 命令都需要参数。参数可以是中断点或跟踪点名
    字,引用数值,函数名或 ALL 选项。如果你在命令窗口中输入的参数看似无误,你可能
    按了一个不可打印的键。
    -16319 内部错误--非法命令。
    该信息反映出调试程序中的命令解释模块遇到非期待的条件。如果错误再次发生,记
    录下现场消息,并和 Informix 技术支持部门联系。
    -16320 缺左大括号。
    左右大括号({和})必须匹配。
    -16321 别名<别名>是一个已存在的命令关键字。
    别名不能是一个完整的调试程序命令。(但你可以指定某关键字的缩写为别名)。用
    其它的别名标识符,重复该命令。
    -16322 遗漏了目录列表。
    调用调试程序时用了-I 命令行选项,但没有指定源文件搜索路径。重复这一命令,或
    省略-I 或指定一个搜索路径。
    -16323 用户不能多次指定目录。
    在命令行中只能用一次-I 选项。然而,在-I 后可列多个搜索路径,重复该命令,在-l
    的后面列出所有需要的源文件搜索路径,他们之间用逗号隔开。
    -16324 用户不能指定一个以上的文件名。
    命令行中-F 选项只能用一次。只指定一个初始文件,重复此命令。调试程序启动后,
    你可以用 READ 命令执行附加的.4db 文件。
    -16325 遗漏或多余参数。
    你忽略或重复了命令行选项。查看调试程序手册对 fgldb 命令的描述,然后重复该命
    令。当你试图将参数传递到正被调试的程序时,该信息也出现。向程序中传递参数的
    正确方法是开始运行程序时,在命令行中指定。
    -16326 遗漏了文件名。
    如果你在系统提示下调用调试程序,你必须把一个已编译的 4GL 程序名作为参数(或在
    UNIX 下,用-V 选项表明你只想显示软件版本号)。指定已编译的文件名,然后重复该
    命令。
    -16327 无法定位<文件名>文件。
    你可能忽略或拼错了一个.4db 输入文件的文件名(在 READ 命令中或-F 选项后),或在
    VIEW 中或命令行中拚错一个.4gl 源文件的文件名或路径名。
    如果文件名正确且命名的文件已存在,那你应指定完整的路径名。对于一个不在当前
    子目录下的.4db 文件,或一个不在当前目录下,也不在-I 命令行选项中任一个指定子
    目录下的.4gl 文件,必须指定完整的路径名。
    -16328 不能读初始文件<文件名>。
    虽然调试程序发现了你用-F 参数指定的文件名,但在读它时发生了错误。查看操作系
    统的出错信息可能有更多的细节。如果不是硬件错误,确保你的帐号对文件有写访问
    权限,例如尝试显示它的内容。
    -16329 路径名太长。
    调试程序能接收的最长路径名为 70 个字符。
    -16330 无法读文件<文件名>。
    确认你的 READ 或 VIEW 命令中,或调用 Debuger 时-F 选项后文件名是正确的。如果正确,
    那文件必定损坏或有读保护。如果你无权读该文件,参考一下你的操作系统管理文档
    中存取权限部分,或找你的系统管理员。
    -16331 太多的递归别名。
    在一些调试任务中,引用其它别名的别名可以节省时间,或者避免调试程序命令行对
    字符个数的限制。例如,你可以指定别名 1 是别名 2 的子串,而别名 2 是别名 3
    的子串,如此到子串 5。但你不能在它和你的击键所表示的全扩展命令之间指定多于 5
    重的别名。
    -16332 函数名<函数名>重复。
    所显示的函数名所在的模块正在被装入。但在早些时候装入的模块中已见过具有该名
    的函数。这是不允许的。你必须改变应用程序使所有的函数有唯一的名字。
    -16333 模块名<模块名>重复。
    所显示的模块名所对应的模块正在被装入,但具有该名的模块已被装入。使用程序员
    环境中的程序菜单,确保正被调试的程序的每个模块只有一个份。
    -16334 内部错误 - 遇到空的关键字。
    该消息反映了一种期待是永不会发生的情形。如果该错误重复发生,请记下所有的环
    境并和 Informix 技术支持部门联系。
    -16335 窗口不能按指定的行数调整。
    源窗口或命令窗口的最小行数为一(1),不包括源窗口显示当前模块名的那一行。在一
    个标准的 24 行终端上,每一窗口最大的行数为 18 或 L-6,其中 L 是终端所支持的行数。
    GROW 命令的参数不是新窗口的尺寸,而是对当前窗口的增量。如果你想改变调试程序
    屏幕上窗口的尺寸,输入 GROW 命令,在合理的范围内改变窗口尺寸。
    -16336 用户必须指定要查看的源文件。
    VIEW 命令要求有一个 4GL 源文件名。
    -16337 无先前的搜索模式。
    你不能输入搜索命令而不指定搜索模式,除非早些时候在相同的调试过程里你指定过
    搜索模式。指定有效的搜索模式,重复命令。
    -16338 不能继续执行。
    只有当 4GL 程序开始执行(但未终止)后你才能调用 CONTINUE 或 STEP 命令。如果被正常终
    止或被严重错误终止,使用 CALL 或 RUN 命令。开始执行后,你必须通过断点(或,在
    UNIX 环境,由中断命令)暂停执行,然后才能调用 CONTINUE 或 STEP。另参见调试程序手
    册"活动函数和变量"一节。
    -16339 断点或跟踪点名字不唯一。
    你在 BREAK 或 TRACE 命令中赋给断点或跟踪点的名字不能和已存在的引用点重复(包括
    禁止的断点或跟踪点)。如果如果你读入相同的输入文件两次并在一个 READ 命令设置
    了同一个命名的断点或跟踪点,也会出现该消息。
    -16340 遇到无效的反斜线。
    你的命令包含了一个不能解释为命令行续行号的反斜线。去掉无效的反斜线,重复命
    令。
    -16341 行号<行号>不在指定的模块中。
    你的 BREAK 或 TRACE 命令不能指定比指定的模块最后一个可执行语句行号更大的行号。
    如果你没有指定模块名,行号不能大于当前模块最后一个可执行语句的行号。检查你
    是否指定了正确的模块和行号。
    -16342 内部错误—不能设置断点。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -16343 指定的模块<模块名>无效。
    你指定了一个不是当前 4GL 程序一部分的模块。检查你是否拼错了名字或你是否混淆了
    来自不同程序的模块或函数名。指定一个有效的名字,重复命令。
    -16344 指定的函数<函数名>无效。
    你指定了一个不是当前 4GL 程序一部分的函数。检查你是否拼错了名字或你是否混淆了
    来自不同程序的模块或函数名,或是遗忘了编译包含该函数的程序模块。指定一个有
    效的名字,重复命令。
    -16345 不能在 4GL 库函数或用户 C 函数中设置断点。
    你只能在用 4GL 写的函数而不能在另外的语言如 C 或 ESQL/C 写的函数设置断点,也不能
    在内置函数名里设置断点。
    当调用一个 C 函数时,为了暂停程序执行,可以通过指定调用 C 函数的 4GL 语句的行号来
    设置断点,而不是通过指定函数的名字。
    -16346 不能打开输出文件<文件名>。
    看输出文件是否已存在,或者存在但却被破坏或有写保护。在 UNIX 中,确认你在指定
    的目录下(或在当前目录下,如果你没有指定路径的话)有写权限。
    -16347 所指定的断点或跟踪点号无效。
    你不能在 ENABLE,DISABLE,NOBREAK,或 NOTRACE 命令中指定一个零或负值的引用号,
    或没有当前存在的断点跟踪点与之相对应的引用号。(你可以输入 list
    break trace 显示你当前的引用号。)
    -16348 断点或跟踪点名不是活动的。
    你让 DISABLE 命令禁止一个已禁止的断点。确认你命名的断点是你真正想取的。你可以
    输入 list break trace 显示你当前的断点和跟踪点。
    -16349 对断点使用 nobreak,对跟踪点使用 notrace。
    你为 NOTRACE 命令指定了一个断点,或给 NOBREAK 命令指定了一个跟踪点。每一命令只
    能处理它自己的对象。
    -16350 断点/跟踪点已被禁止/启动或不能确定。
    调试程序不能找到相应的断点或跟踪点来完成你的 ENABLE 或 DISABLE 命令。你可以输入
    list break trace 来显示你当前的所有引用点。
    -16351 找不到变量<变量名>。
    调试程序只能引用 4GL 模块中的变量。对 4GL 中的变量,确认你已正确地输入了变量
    名。如果变量不在当前的函数或模块中,你必须限定它。参见调试程序使用手册“引
    用范围”一节。(如果你在 BREAK 或 TRACE 命令中输入了你想用的模块名,但你省去了
    名字尾部的点,该消息也会出现。)
    -16352 文件<文件名>已被修改。(.4gl 比.4go 新)
    调试程序执行.4go 模块但从.4gl 源文件中显示行。因为自编译模块以来源文件已作修
    改,因此显示在源窗口中的行可能与编译好的程序不对应。
    如果你改变了一个.4gl 文件的源码,你必须对它进行重新编译。如果你的重新包含几
    个模块,你必须在进行调试之前重新进行连接。还要检查是否同时存在这个程序的
    .4gl 和.4go 扩展名文件。即使你的.4go 文件是正确的编译之后的版本,调试器也总是
    首先解释.4gl 版本。
    -16353 执行跟踪点命令时,可执行命令无效。
    在你的 TRACE 命令中的命令行列表中包含了 CALL,CONTINUE,RUN 或 STEP 命令。这些命
    令在 TRACE 命令中不受支持。
    -16354 函数< 函数名>未找到。
    你指定的函数不是当前 4GL 程序一部分。检查你是否拼错了名字,或是否混淆了来自不
    同程序的函数名。确保你的 4GL 源代码定义并调用了你想执行的函数。
    -16355 函数<函数名>需要参数。
    CALL 命令中命名的函数被定义为带一个或多个参数。你必须在函数之后的括号中输入
    匹配数目的参数。如果你不确知该将什么参数传给函数,你可以使用 VIEW 命令显示这
    一函数的源代码。
    -16356 给函数<函数名>传递了过多的参数。
    你在 CALL 命令中列出的参数超出了函数定义时所能接受的参数。如果你不确知该将多
    少参数传给函数,你可以使用 VIEW 命令显示这一函数的源代码。
    -16357 函数<函数名>不是活动的。
    你只能显示定义在活动函数中的变量。该变量定义在了非活动函数中。
    -16358 期待变量名。
    LET 命令需要以一个变量名为其第一个参数。不要在名字上打上引号。
    -16359 不能给记录赋值;只能给记录成员赋值。
    LET 命令可以给简单变量或记录的特定成员赋值,但不能给整个记录赋值。
    -16360 不能为数组赋值;只能对数组元素赋值。
    LET 命令可以给简单变量或由括号中的下标指定的单一数组元素赋值。请键入 help
    let 查看例子。
    -16361 无效变量名<变量名>。
    标识符<变量名>不是变量的名字。VARIABLE 命令需要一个变量的名字。检查变量名的
    拼写。
    -16362 无当前函数。
    如果你还没调用 RUN 或 CALL 命令,就没有当前 4GL 函数。即使调用了 RUN 或 CALL,如果
    程序正常终止,也将没有当前函数;除非由断点、中断或 STEP 命令,或严重的错误中
    止。使用 RUN 或 CALL 命令开始或重新开始程序的执行。
    -16363 函数<函数名>中的变量不是活动的。
    你命名了一个变量,它的值由一个你尚未调用或已返回的函数进行赋值。LET 或 PIRNT
    命令只能引用活动变量;就是说,一个全局的或由正运行的函数赋值的变量(由 WHERE
    命令列出的函数。)当输入 CALL 命令时,你必须用文字值代替需要非活动变量的表达
    式。
    -16364 未知选项<选项>。
    调试程序不能识别你的命令的参数。它所不能理解的就以选项的形式显示出来。重复
    命令,设置不同的选项。输入 help turn 显示 TURN 的许多选项。
    -16365 断点或跟踪点已经活动。
    ENABLE 命令对已启动的断点或跟踪点无效。检查你是否输入了你想输入的名字或引用
    号。如果你这样做了,你仍然觉得该名应该是非活动的,则使用 list breaktrace
    或查看命令缓冲区看先前是否有 DISABLE 命令禁止了错误的断点或跟踪点。
    -16366 在试图写文件时发生错误。
    或是你的文件系统已满,或是发生硬件错误。使用脱离特性显示你当前驱动器所剩下
    的空间。
    -16367 需要指定特定的记录成员或数组成员。
    你不能把数组名作为 CALL 命令的参数。你不能在表达式使用不合格的数组名或记录
    名,也不能把它们作为断点或跟踪点的目标。在所有的这些情形中,你必须在括号中
    使用下标来指定特定的数组元素,或使用一个记录成员的全名。
    -16368 表达式含有来自不同函数的变量。
    你不能将来自不同函数的变量组合在同一个表达式中。如果你需要知道这样一个表达
    式的值,你必须用 PRINT 分别计算来自不同函数的变量。然后在 BREAK,LET,或 PRINT
    命令中这些变量名所在的地方以常数输入这些值。
    -16369 不能初始化应用设备<设备名>。
    你必须指定另一终端名,该终端和你运行调试程序所在的终端有相同的 termcap 或
    terminfo 人口。第二个终端必须在你的帐号下登录。
    -16370 没有指定应用设备。
    你必须指定另一终端名,该终端和你运行调试程序所在的终端有相同的 termcap 或
    terminfo 人口。(但它可能与你运行调试程序的设备有不同的设备名。)从你想作为应
    用设备的终端输入 tty。它的屏幕将显示其终端路径。指定合适的终端设备名后,重复
    APPLICATION DEVICE 命令。
    -16371 没有指定读取的文件。
    你必须在 READ 命令中指定.4db 文件名。
    -16372 期待变量或表达式。
    你必须在 PRINT 命令中指明你想让调试程序显示什么。指定变量,记录或数组,或表达
    式,然后重复命令。
    -16373 在执行开始之前不能打印或赋值。
    只有在执行后,你才能使用 LET 命令给一个变量赋值,或用 DUMP 或 PRINT 命令显示变量
    或函数的信息。在执行正常终止或 CLEANUP 命令后,该限制同样适用。调用 RUN
    或 CALL 命令开始执行然后重复该命令。(可能需要设置断点或,在 UNIX 中,按中断键防
    止正常中止。)
    -16374 中断命令包含了没有指定条件的 'if'。
    BREAK 命令中的关键字"IF"后必须跟一个表达式。当条件为错(零)时,断点无效。不带
    IF 的命令,或含带条件的 IF 命令重复。
    -16375 不能查看 C 库函数<函数名>。
    VIEW 命令不能显示 C 函数或 ESQL/C 函数的源代码。为了检查 C 源代码,你必须使用
    Escape 功能然后使用操作系统命令显示 C 源文件。
    -16376 中断或跟踪名没有以字母开始。
    断点或跟踪点名的第一个字符必须为一个字母。接下的字符可以是字母,数字,或下
    划线。名字必须括在单引号( ' )或双引号( " )之间。指定一个由引号括起来的有效
    的名字,然后重复命令。
    -16377 不能在执行开始前取全局变量的值。
    只有在执行开始后,PRINT 命令才能显示全局程序变量的值。调用 RUN 或 CALL 命令开始
    执行,然后重复 PRINT 命令。在这种情形下,可以指定常数或全局变量的名字作为 CALL
    的参数。(可能需要在正常终止前设置断点或按中断键将程序挂起。)
    -16378 期待一个小正整数。
    你不能输入一个 TIMEDELAY 命令而不带参数,或以一个负数作为参数。指定零或正整
    数作为源窗口或命令窗口的延迟秒数,然后重复命令。
    -16381 不能设置断点或跟踪点 - 无当前模块。
    除非在"来源"窗口有一程序模块,否则你不能不引用模块或函数去设置断点或跟踪
    点。你可能忽略了当你不能装入 4GL 源文件时出现的错误消息。
    -16382 命令文件<文件名>当前正被处理。
    你使用了一个 READ 命令,该命令或者嵌于初始化文件中或者在另一个 READ 命令的输入
    文件中,它引用如下之一:
  • 引用它本身。
  • 引用前面的 READ 命令的输入文件。
  • 引用一个尚未执行的.4db 初始化文件。
    简而言之,你不能执行一个可能引起无限循环的 READ 命令。
    -16383 读取语句嵌套数超过极限。
    你启动了一个 READ 命令,该命令又调用另外的读语句,另外的又调用另外的,如此多
    次以至读命令嵌套多于十次。你必须简化对.4db 文件的安排。
    -16384 .4db 文件中的行超过了最大长度。
    一条调试程序命令行的字符不能超过 256 个。如果你使用分号(;)命令分隔符,就将该
    行断为分开的命令。
    你应避免调试程序一行的字符数多于你的屏幕或显示设备一行所能显示的字符数。用
    反斜线续行符将长命令行分成短的片断,或使用别名。
    -16385 对函数<函数名>的调用失败。
    你的 4GL 或 C 语言函数的逻辑可能有缺陷或不支持你在 CALL 命令中指定的参数列。用
    VIEW 命令检查 4GL 函数的源码。用"脱离"功能检查 C 函数的源文件。
    -16386 搜索串超过最大长度。
    第一个字符为引号(")的搜索模式说明的最大长度为 80 个字符,首字符为其他字符的说
    明为 50 个字符。注意你是否无意按了"搜索"命令键(?或/)。指定一个短些的模式后重
    复搜索命令。
    -16387 程序当前不在执行。
    WHERE 命令只有在执行开始后才能显示你的活动函数。调用 RUN 或 CALL 命令开始执行,
    然后重复命令。(可能需要设置一个断点以使在正常结束前暂停执行。)在调试程序手
    册参看标题“活动函数和变量”。
    -16388 不能创建调试程序窗口。
    内存可能溢出。采取你的操作系统允许的步骤增加可用的内存。
    -16389 文件名超出了最大的长度。
    文件名不可超过 80 个字符。如果名字实际上有这么长(如果消息不是由于标点上的错误
    造成的),你必须在使用调试程序前更名。
    -16390 读文件<文件名>时发生错误。
    当调试程序试图读取 4GL 源文件时遇到错误。查看其他能给出错误细节的消息,比如来
    自操作系统中的消息。检查文件是否确实存在而且你有读取的权限。
    -16391 内部错误—试图使无效的行号变为高亮度的。
    重复此命令。如果该错误重复发生,请记下所有的环境并与 Informix 技术支持部门联
    系。
    -16392 数据库名未被指定。
    数据库命令要求它的参数为一数据库名。
    -16393 表达式或变量包含无效的子串。
    调试程序不能解释指向字符类型子串的引用。子串由方括号中的两个数指定,如在表
    达式 charvalue[n1,n2]中这里 charvalue 必须为 CHAR(n)类型的,而 n1 指定子
    串的第一个字符,n2 指定最后一个字符。当 n1 大于 n,即字符值的长度,或当 n1 大于 n2
    的时候,就出现该错误消息。
    -16394 不能访问帮助消息。
    调试程序的帮助消息在一个叫 fgldb.iem 的文件中。INSTALL 程序将该文件拷入由系统
    变量 INFORMIXDIR 所指的 msg 目录。该文件一定是被破坏、删除、或被读保护起来了。
    请系统管理员恢复你的访问权限。
    -16395 不能用 BLOBs 和其它任何值作比较。
    你让调试程序在表达式中对 TEXT 或 BYTE 类型的变量进行比较。这些类型的变量不能用
    来作比较。(但你可以引用 TEXT 变量的子串。)
    -16396 在该表达式中不能使用 BLOBs。
    你可能让调试程序在表达式中使用了 TEXT 或 BYTE 变量。这些类型的变量只能用 PRINT
    或 DUMP 显示,或用 LET 指定为空值。
    -16397 用 program=只能打印 BLOB 变量。
    PRINT 语句中的 PROGRAM=子句用来指定可以显示 BYTE 或 TEXT 值的外部程序(如一个编辑
    器)。子句与任何其它类型的数据无关。
    -16398 非法的 BLOB 文件名。不允许使用空名。
    BYTE 或 TEXT 变量在一个使用 4GL 语句 LOCATE 的文件中。但是给变量的文件名是一个空
    串。因为文件不存在,调试程序不能对它作任何处理。
    -16399 没有指定程序名。
    PRINT 语句中的 PROGRAM=子句用来指定可以显示 BYTE 或 TEXT 值的外部程序(如一个编辑
    器)。在该命令中指定了关键字但随后没有程序名。
    -16400 文件名不正确。
    显示的文件名与它的用法不符合,可能是过长或包含了不正确的特殊字符,或为空。
    请输入正确的文件名。
    -16401 没有装入程序。
    程序已被命令 UNLOAD—PROGRAM 卸出,而后没有用命令 LOAD PROGRAM 装入其它程序。
    -19800 角色名已经作为一个用户或角色存在。
    不能建立角色名使其等同于系统已知的任何用户,也不能等同于数据库已知的用户或
    角色。请改变角色的名字。
    -19801 角色名不能是<保留字>。
    不能建立是保留字的角色名。保留字有 connect,
    resource, dba, select, update, delete,insert, index, references,
    alter, execute, default, none, null, public。请改变角色的名字。
    -19802 名字不能作为授予角色和被授予角色同时出现。
    角色不能直接或间接授予自己。检验是否授予角色和被授角色是正确的角色,检查正
    被授权的角色看它已被授予了什么角色。.
    -19803 只有 DBA 或用 WITH GRANT OPTION 授予角色的用户,可以授予,撤回或取消角
    色。
    检查特权和权限,必须是 DBA 或已经被授予了具有 WITH GRANT 选项的角色去授予,
    撤回或取消角色。
    -19804 角色不存在
    为使角色存在,DBA 必须使用 CREATE ROLE 语句先建立角色。关于角色列表,请参看
    informix.sysusers 表。
    -19805 没有设置角色的特权
    检查你的特权和权限。用户或角色必须先用 GRANT 语句授予一个角色,然后才能设置
    角色。
    -19806 不能对角色授予数据库特权
    角色不能被授予数据库级的特权。请使用 GRANT 语句把数据库级的特权授予用户,或
    PUBLIC。
    -19807 不能用 WITH GRANT 选项 对角色授予特权
    一个用 WITH GRANT 选项授予角色的用户不能再授予该角色给用户并包括 WITH GRANT
    选项。请使用不带 WITH GRANT 选项的 GRENT 语句。
    -19808 用户名在数据库中已经作为角色名存在。
    用户不能作为一个与之同名的角色名打开数据库。角色名和用户名在数据库中必须唯
    一。如果要访问数据库,请同数据库的 DBA 通讯,DBA 可以在必要时取消角色。
    -19809 无效口令访问数据库。
    请使用正确的口令。
    -19810 不能为角色设置数据库口令。
    用户只能为用户设置数据库口令。
    -19811 DB 口令不应超过 8 个字符。
    请选择长度不超过 8 个字符的数据库口令。
    -19812 非法使用复制影子字段。
    在复制影子字段上,指定的操作
    不能执行。
    -19813 当表已经有了复制影子字段
    不能添加 CRCOLS。
    指定的表是用 WITH CRCOLS 语法建立的,
    于是已经有了定义的复制影子字段。
    不能更改这张表,在该表中添加 CRCOLS。
    -19814 当表没有复制影子字段时
    不能取消 CRCOLS。
    指定的表不是用 WITH CRCOLS 语法建立的,或者它
    没有改变为含有 CRCOLS。因为在这张表中这些字段
    并不存在,所以不能改变这张表,不能取消 CRCOLS。
    -19815 不能用 CRCOLS 建立临时表。
    不能建立含有复制影子字段的临时表。
    -19816 不能在为复制而定义的表上执行这个操作。
    如果在一张表上定义了复制,在这张表上不能
    执行该指定的操作。如果想要执行该指定操作,
    必须删除在这张表上定义的所有复本。
    -21000 代码集转换输入中的无效字节。
    代码集的转换不能识别正在服务器与客户之间传递的数据。请检查初始化文件或环境
    中的 DB_LOCALE 和 CLIENT_LOCALE 的设置。
    -21001 在代码集转换输入中尾部的不完全字符。
    代码集的转换不能识别正在服务器与客户之间传递的数据。请检查初始化文件或环境
    中的 DB_LOCALE 和 CLIENT_LOCALE 的设置。
    -21002 代码集转换输出缓冲区太小。
    本错误表示在代码集转换期间发生了内部错误。记录所有观察到的现象及其它的各种
    出错信息,与系统管理员核对,确认系统功能正常。
    -21003 不能打开代码集转换文件。
    系统不能打开代码集转换文件。确认 INFORMIXDIR 指向一个包含适当代码集转换子目录
    的合法目录。
    -21004 代码集转换中的内部错误
    本错误表示在代码集转换期间发生了内部错误。记录所有观察到的现象及其它的各种
    出错信息,与系统管理员核对,确认系统功能正常。
    -21400 品牌:无效序列号和/或键。
    检查安装过程中输入的序列号和键应与 keycard 上的一致。重新安装或和 Informix
    技术支持部门联系以验证你的序列号和键。
    -21401 品牌:不能打开文件—<文件>可能不在当前目录。
    文件可能没有从媒体正确传入。重新从媒体装入产品并重新安装。如果错误反复发生
    ,请记下所有的环境并和 Informix 技术支持部门联系。
    -21402 品牌:<文件>位置不正确。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21403 品牌:<文件>已经标记。
    对某些产品,如果不重新从媒体装入文件,不能重新开始安装。在运行安装程序之
    前,从媒体重新装入文件。
    -21404 品牌:<文件>中串标识符多次被发现。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21405 品牌:<文件>中的序列号长度错误。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21406 程序:不能打开<文件>。
    文件可能没有从媒体正确传入。重新从媒体装入产品并重新安装。如果错误反复发
    生,请记下所有的环境并和 Informix 技术支持部门系。
    -21407 文件读错误。
    文件可能没有从媒体正确传入。重新从媒体装入产品并重新安装。如果错误反复发
    生,请记下所有的环境并和 Informix 技术支持部门联系。
    -21408 文件写错误。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21410 verstamp:不能为<文件>创建数据流。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21411 verstamp:在<文件>中未找到标识串。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21412 verstamp:警告:串在<文件>中被发现次。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21413 不能打开<文件>;<系统错误号>。
    文件可能没有从媒体正确传入。重新从媒体装入产品并重新安装。如果错误反复发
    生,请记下所有的环境并和 Informix 技术支持部门联系。
    -21414 <文件>中非期待的 EOF。
    文件可能没有从媒体正确传入。重新从媒体装入产品并重新安装。如果错误反复发
    生,请记下所有的环境并和 Informix 技术支持部门联系。
    -21600 用法:mkmessage [-v] [-dMACRO] 输入文件 输出文件。
    这是一个内部错误。你很可能在命令行上使用了不正确的句法。按照消息中的用法检
    查句法并再试。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持部门
    联系。
    -21601 源文件和目标文件相同,将覆盖'<文件名>'。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21602 输入文件不能被打开。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21603 输出文件不能被创建。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21604 结果文件<文件名>写错误。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21605 输出文件写错误。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21606 临时文本文件读错误。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21607 错误数目计数:<数字>。
    这是一个内部错误。如果该错误重复发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -21608 你超过了 8 次定义的极限。多余的定义将被忽略。
    这是一个内部错误。如果错误重复发生,请记下所有的环境并和 Informix 技术支持部
    门联系。
    -21609 行<行号>的^ELSE 不匹配。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21610 行<行号>的^ENDIF 不匹配。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21611 行<行号>句法错误。期待"^"后为 ifdef,ifndef,else 或 endif.
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21612 未期待的 EOF。期待^endif。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21613 行<行号>句法错误。期待 ifdef,ifndef,else,或 endif。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21614 在行<行号>的^ifdef 或^ifndef 之后没有找到期待的标识符。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21615 不能打开输出文件用于读写。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21616 不能创建临时文本文件。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -21617 临时文本文件不能打开来读写。
    这是一个内部错误。如果错误再次发生,请记下所有的环境变量并和 Informix 技术支
    持部门联系。
    -22201 <变量名>不是唯一的记录元件。
    记录中使用的名已经被使用过,因此不是唯一的。改变记录变量的名字并再试一次。
    -22202 该特性不被该预处理器支持。
    INFORMIX-ESQL/COBOL 预处理器不支持该语句所要求的特性。请在<<INFORMIX-ESQL/
    COBOL 程序员手册>>查找有关该版本的预处理器的功能。
    -22203 PICTURE 子句上的关键字<名字>无效。
    如错误信息所指的,PICTURE 子句包含了非法的关键字。检查 PICTURE 子句中变量说明
    的句法并再试一次。
    -22204 COBOL 组 USAGE 子句矛盾(变量 OF 记录)。
    记录部件的 USAGE 子句与其所属的记录组的 USAGE 子句不匹配。一个记录成员的 USAGE
    子句是从组记录说明继承来的。不匹配将引起错误。
    -22205 COBOL 组 SIGN 子句矛盾(变量 OF 记录)。
    记录元件的 SIGN 子句与其所属的记录组的 SIGN 子句不匹配。一个记录成员的 SIGN
    子句是从组记录说明继承来的。不匹配将引起错误。
    -22206 INTERNAL ERROR:不正确的 COBOL 函数调用。
    确保 CALL 句法正确并验证数据是否损坏,然后再打电话给 Informix 技术支持部门求得
    更多的帮助。
    -22207 宿主变量只能为 01-49 或 77 级。
    ESQL/COBOL 只支持 01 到 49 级的 COBOL 变量和记录类型,如果你的 COBOL 编译器支持的话
    加上 77 级变量。检查宿主变量级数看其是否有效。
    -22208 宿主变量不能为 USAGE INDEX。
    改变 USAGE 子句使宿主变量不为 USAGE IS INDEX 并再试一次。INFORMIX-ESQL/COBOL 不
    支持 USAGE INDEX。
    -22209 SQL 对象标识符、游标名字或语句标识中不允许有连字符。
    你必须改变对象标识符、游标或语句标识的名字使之不含连字符。
    -22210 重复的数据项<变量名>未被扩展。
    ESQL/COBOL 预处理器不扩展包含重复数据项的记录。请改正记录并重试。
    -22227 无效的 COBOL 编译器<编译器名>。
    所指定的编译器不被支持。请在<<INFORMIX-ESQL/COBOL 程序员手册>> 中查有关该版
    本所支持的编译器的信息。
    -22229 宿主对象<变量名>未被说明。
    所指定的宿主变量被访问但未被说明。你必须在说明节说明宿主变量并再试一次。
    -22230 宿主符号<变量名>标识错误。
    宿主变量被多次说明。检查重复的变量说明,并重新说明之。
    -22231 超出记录嵌套极限。
    有效的最大记录嵌套层数为 100。减少嵌套记录的层数并再试一次。
    -22232 <变量名>不是<记录名>的一个元件。
    变量名不是记录元件的一部分。检查记录说明和它的元件,确保正确地用同样的名字
    说明了该变量。
    -22233 <编译器名>不允许数组成分以参数形式传递。
    如果你既没有用 RMCOBOL 85 编译器,也没有用 Micro-Focus COBOL/2 编译器,那你就不
    能将数组作为参数传递。使用指定的编译器之一或重写包含数组的代码。
    -22234 用户所提供的缓冲区过小。结果将被截断以适合缓冲区。
    用于存储函数操作结果的缓冲区过小而不能保存整个结果。结果将尽可能的被拷贝下
    来,多余的字符将被截断。增大缓冲区说明使之能保存大一些的串。
    -22245 无效的 BCD 类型(rvalhlvar)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22246 内部错误:BCD 缓冲区过小(rhlvarval)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22247 无效 BCD 类型(rhlvarval)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22248 数据转换错误:toadate 中的 rfmtdata
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22249 内部错误:无效的整数长度(toaint)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22250 BCD 缓冲区长度过小。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22251 十进制转换错误(frombcd:deccvasc)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22252 十进制转换错误( frompbcd:deccvasc)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22253 C var 到 val 转换错误(frombcd)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22254 DATE 类型变量长度过大。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22255 数据转换错误:rdefmtdata.
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22256 C var 到 val 转换错误(fromadate)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22257 C var(short)到 val 转换错误。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22258 C var (int)到 val 转换错误。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22259 C var(long) 到 val 转换错误。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22260 内部错误。无效的整数长度。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22261 十进制转换错误(valtoasc:deccvasc).
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并与 Informix 技术支持
    部门联系。
    -22262 十进制转换错误(valtoasc:dectoasc)。
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并和 Informix 的技术支
    持部门联系。
    -22263 内部错误:无效的 C 类型(valtoasc).
    这是一个内部错误。如果该错误再次发生,请记下所有的环境并和 Informix 技术支持
    部门联系。
    -22264 宿主数据项不能为字母数字或数值编辑项。
    改变 PICTURE 子句的说明,使之成为如下对宿主变量有效的范畴之一:字母、数值或字
    母数字。INFORMIX-ESQL/COBOL 不支持字母数字或数值编辑项。
    -22265 对一个无符号数值类型指定了 SIGN 子句。
    如果你有 SIGN 子句但没有指定"S",那么编译程序不能处理该数据类型。检查变量是有
    符号的还是无符号的,并正确说明之。
    -22266 类型不被 ESQL/<语言名><编译器名>支持。
    为变量所指定的类型不被所使用的编译器支持。检查你的编译器文档找出有效的类型
    说明。
    -22268 在 PICTURE 子句中的 P 没有实现。
    目前,INFORMIX-ESQL/COBOL 在 PICTURE 子句中不支持 P 说明(十进制精度位置)。
    -22274 宿主变量不能是 USAGE POINTER。
    改变宿主变量的 USAGE 子句,使之不为指针,并再试一次。
    -22275 INTERNAL ERROR:超出临时缓冲区的长度。
    调用函数的串或缓冲区参数超过了内部缓冲区的大小。改变串或缓冲区说明使之有较
    小的最大长度。
    -22276 不允许浮点变量。
    编译器不支持浮点数。
    -22277 无效的存储方式。假定为字节存储方式。
    对 USAGE COMP/BINARY 变量,Micro-Focus COBOL/2 或为字节存储或为字存储模式。请
    检查当前的存储方式。你可以通过设定 INFORMIXCOBSTORE 环境变量来指定字节或字存
    储,请查看 Informix Guide toSQL:Reference 第四章的讨论。
    -22278 不能打开 COBOL 'whenever'文件<文件名>。
    创建 COBOL 临时文件的目录(通常为/tmp 或由环境变量 DBTEMP 指定的目录)已满,已没有
    创建新文件的空间。检查该目录并释放一些空间。自 5.01 版以来,DBTEMP 环境变量被
    INFORMIX-SE 数据库服务器使用,而不能被 INFORMIX-OnLine 动态服务器使用。
    -22279 不能打开 COBOL 临时文件<文件名>。
    创建 COBOL 临时文件的目录(通常为/tmp 或由 DBTEMP 环境变量指定的目录)已满。已没有
    创建新文件的空间。检查该目录并释放一些空间。自 5.01 版以来,DBTEMP 环境变量被
    INFORMIX-SE 数据库服务器使用,而不能被 INFORMIX-OnLine 动态服务器使用。
    -22280 行过长。
    EXEC SQL 语句中的 SQL 串过长,无法装人内部缓冲区。最大的 SQL 串长度应小于 32767。
    -22281 FILLER 变量只能用作记录中的显示字段。
    在 INFORMIX-ESQL/COBOL 中,FILLER 关键字必须标识所有的填入项。FILLER 变量在记录
    中只能用为显示字段并必须有相应的 PIC 子句。请检查变量说明,并改正其名字。
    -22282 无效的数值数据长度。
    数据的长度和精度过大或不正确。长度不能超过 18,精度不能超过长度。
    -22283 数据库的数值不能存在 COBOL 的数据项中。
    在 INFORMIX-ESQL/COBOL 中,有一些情况将引起该错误信息出现:值过大;数据不能包
    含负值;一个有符号的值不能保存在一个无符号数据项中;浮点数溢出。
    -22284 变量<变量名>的非法类型转换。
    一个指针变量被错误地进行类型转换。检查 ESQL 语句中的类型转换。
    -22285 表变量<变量名>的维数不正确。
    多维数组的入口被非法访问。在使用的时候必须指定多维数组的索引。例如,在
    ESQL/COBOL 说明如下的宿主变量:
    01 VARA X(10) OCCURS 3 TIMES.
    在 SQL 语句中下面的用法将返回一个错误:
    INSERT INTO TAB VALUES ($VARA)
    因为你必须指定你想插入的索引(如,VARA(1))。
    -22554 显示字段类型<显示字段类型名>脱离上下文使用。
    这种错误产生的例子是,在期待是 COUNT 的地方使用了显示字段类型 TYPE。请察看
    <<Informix SQL 指南:句法>>部分的第一章中有关 ALLOCATE DESCRIPTOR 和 GET
    DESCRIPTOR 语句的讨论中关于系统描述符显示字段的句法和用法。有关系统描述符区
    域的讨论,请参见你的嵌入语言产品的手册。
    -22555 <宿主变量>类型与该字段的期望类型不匹配。
    这种错误发生在当变量的类型与期望的类型不一致的时候。例如,一个 TYPE 字段只接
    受整数类型数据的赋值和读取。如果变量类型不是整数,错误就发生了。在
    <<Informix SQL 指南:句法>>的第一章中有关 ALLOCATE DESCRIPTOR 和 GET
    DESCRIPTOR 语句的讨论,以及有关系统描述符字段的句法和用法。有关系统描述符区
    域的讨论,请参见你的嵌入语言产品的手册。
    -22600 无效的 SQL 类型<类型名>。内部错误。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。检查符号的数据类型。<类型名>必
    须是有效的 SQL 数据类型。
    -22601 Whenever raise 不被 ESQL/FORTRAN 支持。
    你不能在 WHENEVER 语句中指定 RAISE。删除该语句,或将其替换为有效的的选项。
    -22602 Whenever Perform 不被 ESQL/FORTRAN 所支持。
    你不能在 WHENEVER 语句中指定 PERFORM。删除该语句,或替换以有效的选项。
    -22617 STRUCTURE 说明不被支持。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。STRUCTURE 语句只被那些包含 VMS
    FORTRAN 扩展的 Green Hills 和 Sun 版本的 FORTRAN 所支持。
    -22618 RECORD 语句不被支持。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。RECORD 语句只被那些包含 VMS
    FORTRAN 扩展的 Green Hills 和 Sun 版本的 FORTRAN 所支持。
    -22619 UNION 说明不被支持。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。UNION 语句只被那些包含 VMS
    FORTRAN 扩展的 Green Hills 和 Sun 版本的 FORTRAN 所支持。
    -22620 宿主对象<宿主变量>未被说明。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。SQL 语句含有未说明的宿主变量。宿
    主变量象其他的 FORTRAN 变量一样说明,不同的是说明应在由 EXEC SQL BEGIN
    DECLARE SECTION 和 EXEC SQLEND DECLARE SECTION 语句对组成的说明块中。你不能用
    SQL 数据类型说明宿主变量。当你说明宿主变量时,必须指定一种 FORTRAN 或
    INFORMIX-ESQL/FORTRAN 数据类型。宿主变量的类型应能反映相应的数据库字段的数据
    类型。
    -22621 符号表内存溢出。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。预处理器不能为符号表分配更多的内
    存。如果可能,减少与预处理器同时运行的进程的数目,或减少你的 FORTRAN
    程序中定义的符号的数目。
    -22622 类型<类型名>未知。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。该符号不是说明过的类型。请说明<
    类型名>并重试。
    -22623 数据类型的长度必须大于 0。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。为数据类型指定的长度小于 0。给数
    据类型指定一个长度并再试一次。
    -22624 INTEGER 类型的长度必须为 2 或 4。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。FORTRAN 类型为 INTEGER 的宿主变量必
    须说明成 INTEGER2 或 INTEGER4。改正 INTEGER 的长度说明并再试一次。
    -22625 REAL 类型长度必须为 4 或 8。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。FORTRAN REAL 类型的宿主变量必须说
    明成 REAL4 或 REAL8。请改正 REAL 的长度说明并再试一次。
    -22626 SQL 语句空。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。嵌入 FORTRAN 程序中的 SQL 语句和预编
    译指令必须领以关键字 EXEC SQL。不需要语句终结符号,除非你在 PREPARE
    语句中指定了一个多语句对象。
    -22628 记录元件<元件名>没有被说明。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。检查该记录相应的结构说明。在结构
    说明中不存在<元件名>成分。
    -22635 INTRERNAL ERROR。超出临时缓冲区的长度。
    这是一个内部错误信息。如果错误再次发生,请记下所有的环境并和 Informix 的技术
    支持部门联系。
    -22645 数组变量的维数不正确。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。该符号不是数组变量或维数不正确。
    -22646 不正确的类型转换。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。一个非法的索引被用来访问你的数
    组。检查数组的使用。参见 INFORNIX-ESQL/C 中类似的错误信息-33203。
    -22647 使用不被 ESQL/FORTRAN 支持的非 SQL 描述符。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误.在 ESQL/FORTRAN 中,只有由 ALLOCATE
    DESCRIPTOR 语句分配的系统描述符区域才能在 DESCRIBE 语句中使用。
    -22648 行过长。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。SQL 语句过长(>32K)。在标准的
    FORTRAN 格式中,第六列上除零之外的任何非空字符是一个续行符号。在 UNIX 风格的
    FORTRAN 格式中,第一列的&号是续行符号。缩短 SQL 语句并再试一次。
    -22649 END<语句名称>语句不匹配。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。END STRUCTURE/UNION/MAP 没有与之
    相应的 STRUCTURE/UNION/MAP 语句。确认每一 END STRUCTURE/UNION
    /MAP 语句和相应的 STRUCTURE/UNION/MAP 语句配对并再试一次。
    -22650 遗漏 END<语句名称>语句。
    这是一个 INFORMIX-ESQL/FORTRAN 预处理器错误。STRUCTURE/UNOIN/MAP 语句没有相应
    的 END 语句。确认每一个 STRUCTURE/UNION/MAP 语句与后来的 END 语句配对并再试一次。
    -23075 不能打开日志文件。
    ESQL 处理器不能打开命令行上指定的日志文件名。日志文件名在-log 选项后指定。检
    查你是否指定了正确的日志文件。
    -23076 '-e'选项的文件扩展名不兼容。
    命令行-e 选项后为 ESQL 处理器指定的文件扩展名不对。核对文件扩展名并重试。
    -23077 缺少目标文件名。
    命令行-o 选项后没有为 ESQL 处理器指定输出文件名。重新输入命令,指定一个输出文
    件。
    -23078 '-c'选项的文件扩展名不兼容。
    命令行-c 选项后为 ESQL 处理器指定的文件的文件扩展名不兼容。核对文件扩展名并再
    试一次。
    -23079 缺少日志文件名。
    命令行-c 选项没有为 ESQL 处理器指定日志文件名。重输入命令并指定一个日志文件。
    -23080 内存模式冲突。
    命令行为 ESQL 处理器指定了多于一个的内存模式选项。只指定一个内存模式选项,再
    试一次。
    -23081 编译程序选项冲突.
    命令行为 ESQL 处理器指定了多于一个的编译程序选项。只指定一个编译程序选项,再
    试一次。
    -23082 缺少列表文件名。
    在命令行的-f 选项上没有为 ESQL 处理器指定列表文件。重输入命令并指定一个列表文
    件。
    -23083 应用选项冲突。
    在命令行上为 ESQL 处理器指定了不只一个应用选项。再试一次,只指定一个应用选
    项。
    -23084 不能打开 ESQL 响应文件'<文件名>'.
    ESQL 处理器不能打开命令行上指定的 ESQL 响应文件.
    -23085 不能分配内存.
    ESQL 处理器不能动态分配内存.
    -23086 不能启动预处理器.
    ESQL 处理器不能启动 ESQL 预处理器.
    -23087 没有源或目标文件。
    你没有为 ESQL 处理器在命令行上指定源或目标文件。重输入命令并指定源或目标文
    件。
    -23088 Windows 应用程序或 DLL 需要一个模块定义文件。
    没用在命令行上为 ESQL 处理器指定模块定义文件。重输入命令并指定模块定义文件。
    -23091 不能打开文件'<文件名>'。
    ESQL 处理器不能打开指定的文件。检查你是否正确地指定了文件。
    -23092 不能启动编译器。
    ESQL 处理器不能启动编译器。
    -23093 不能启动连接程序。
    ESQL 处理器不能启动连接程序。
    -23094 不能启动资源编译器。
    ESQL 处理器不能启动资源编译器。
    -23095 不能建立临时文件。
    ESQL 处理器不能建立临时文件。删除指定的目录中以"eq"打头的临时文件。
    -23096 缺少命令行参数文件。
    没有为 ESQL 处理器指定命令行参数文件。指定命令行参数并再试一次。
    -23097 参数过多。
    在命令行上为 ESQL 处理器指定的参数过多。重新输入命令并指定较少的参数。
    -23098 无源文件。
    在命令行上没有为 ESQL 处理器指定源文件。重新输入命令并指定源文件。
    -23099 '<文件名>'的格式不兼容。
    指定的列表文件或响应文件和 ESQL 处理器的文件格式不兼容。
    -23100 编译错误。
    ESQL 处理器因为一个或多个编译错误而终止处理。
    -23101 不能够装入位置目录。
    一个不合法的位置名字提供给了位置初始化处理。指明位置目录的环境变量得到一个
    错误的值。检查相应的环境变量,CLIENT_LOCALE 或者 DB_LOCALE。同时检查
    INFORMIXDIR 是否指向了 Informix 安装到的一个合法的目录。
    如果客户引用程序申请数据库服务器连接而接收到此错误,请检查该客户和数据库位
    置是否兼容。如果在服务器机器上有一 lg_tr.codeset@mod 为名的合法位置,它们就是
    兼容的。整理 lg_tr(language 和 territory)和 mod(位置修改符)来自
    CLIENT_LOCALE,而 codeset 来自数据库位置(如果是集合,则来自 DB_LOCALE,
    否则就是存储在数据库中的集合)。
    -23102 位置处理时内存申请失败。
    程序不能为内部代码集合转换缓冲区或控制表申请足够的空间。这种错误只会由客户
    进程返回。释放一些内存之后再运行程序。
    -23103 代码集转换函数因为一个不合法的序列或无效的值而失败。
    不合法或无效的字符出现在字符串中。程序不能对字符串中的这些字符执行代码集的
    转换。重新检查输入串中的不合法或无效的字符,再运行程序。
    -23104 打开所需的代码集转换对象文件错误。
    对于给定的两个代码集,没有代码集转换对象(定义)文件。环境变量 DB_LOCALE
    或 CLIENT_LOCALE 可能被设定了错误的值,引起了错误条件的产成。这些文件可能丢
    失或它们所包含的信息被改动了。检查环境变量 CLIENT_LOCALE 或 DB_LOCALE
    的值。转换对象文件的后缀通常是.cvo。
    -23105 当前的数据库引擎不支持代码集转换。
    数据库服务器中的代码集转换没有提供。检查环境变量 CLIENT_LOCALE、
    SERVER_LOCALE、DB_LOCALE 的值。
    -23106 无效的代码集转换初始化函数的参数。
    一个无效的参数传给了内部代码集转换初始化函数。检查应用程序的逻辑。
    -23107 环境变量 DBLANG 和 CLIENT_LOCALE 不兼容。
    DBLANG 是指向信息文件储存位置的环境变量。通常 DBLANG 的值与 CLIENT_LOCALE
    一致。DBLANG 的值可以为 en_US.8859-1 或根据 X/Open 的标准的位置定义的一个值的
    集合。位置是一个文件的集合,来定义特定语言的特征(例如,French 或
    Janpanese)、特定的地域(例如,France 或 Janpan)、特定的代码集(例如,
    MS Windows Code Page 1251 或 ISO 8859-1 )。例如,在 Canada 的 French 语言采用
    ISO8859-1 编码,它的位置名字是 fr_CA.8859-1;Japanese 语言采用 EUC(Extended
    Unix Code )编码,它的位置名字是 ja_JP.ujis。重新检查环境变量 DBLANG 和
    CLIENT_LOCALE。
    -23108 位置结构生成时发生错误。
    位置初始化失败。程序不能为内部位置表申请足够的空间。内存或许因为执行太多的
    进程而用尽。释放一些内存之后再重新运行程序。
    -23109 不合法的位置说明。
    位置以及和位置相关的处理是在数据库服务器端和客户端双方立的。这种处理是根据
    环境变量和数据库中储存的数据的信息而设定的。内部函数不能在内部的数组中构成
    NLS 位置的一个大的表。不是所有的范畴(LC_COLLATE,LC_CTYPE,
    LC_MONETARY,LC_NUMERIC,LC_TIME)能够被构成。检查环境变量
    CLIENT_LOCALE 和 DB_LOCALE 的值。同时检查 INFORMIXDIR 的值。
    -23110 在处理环境变量时出错。
    GLS 初始化函数在处理环境变量列表时发生错误。环境变量首先读入到一个栈中供
    以后各种内部函数使用。环境变量的值从资源文件中或是直接从 shell 中的环境变量
    中得到。当处理这些变量时,下列例外的情况可能会碰到:end-of-file,
    not-found,illegal-value,unknown-value,null_value,max-path exceeded。
    这些例外情况都会导致这个错误发生。检查所定义的环境变量的语义和内容。
    -23111 内部错误。位置初始化得到不合法的参数。
    一个内部函数在初始化 GLS 结构时用到了不合法的参数。参数只能是个以下中的
    一个:FE_PROC,BE_PROC,SESS_PROC。如这个错误再发生时,参照
    《INFORMIX-OnLine 系统管理员指南》中“捕捉错误”进一步的诊断,或同 Informix
    的技术支持部取得联系。
    -23112 不合法的 GCV 参数的位置标志符。
    在代码集转换中,如果输入缓冲区和输出缓冲区长度都为 NULL 时,代码集转换不能进
    行,转换进程在错误返回以后终止。检查应用程序的逻辑。
    -23113 未知的 GCV 错误位置标志符。
    在代码集转换中,如果输入缓冲区长度为 NULL 时,返回这个错误。代码集转换需要一
    个输入缓冲区和输出缓冲区。输入缓冲区是从应用程序传到数据库服务器的字符串,
    作为插入或修改的结果。检查应用程序的逻辑。
    -23114 被截取的 GCV 位置标志符。
    在值组的代码集转换中,如果输出缓冲区不是足够大放得下代码集转换的结果,结果
    字符串不能被成功截取来放入可用的缓冲区,这时返回这个错误。这个错误发生在应
    用程序和数据库服务器的 SQL 接口层。增大宿主变量来放得下 SELECT 或 FETCH
    语句的代码集转换所返回的可能加长的字符串。
    -23115 位置目录的代码集不同。
    在客户端或是数据库服务器端,位置是按照下列声明方法的优先顺序来建立的,
    CLIENT_LOCALE、LANG、LC_*、English locale、en_US.8859-1。给这种优先顺序的
    六种处理位置的种类是按下列方法设定的,COLLATION、CTYPE、TIME、MONEY、
    NUMBER、MESSAGES。
    GLS 初始化函数返回这个错误是因为给定了一个不合法的位置。通常是环境变量来设定
    位置。检查 INFORMIXDIR 和 CLIENT_LOCALE 的值。INFORMIXDIR
    应该指向 Informix 7.2 版所安装的合法目录。同时这个目录应包含/gls 目录,位置和
    代码集文件在此目录下。
    -23190 这个系统不允许多字节数据库名。
    SE 服务器在指定的环境中不允许多字节数据库名。改变数据库名。
    -23194 代码集转换恢复失败。
    数据库服务器在恢复代码集转换表到以前的状态时失
    败。没有足够的内存来保持表的信息。释放一些内存后重新执行程序。
    -23195 复位位置时失败。
    连接中断。数据库服务器不能改变数据库处理位置为 en_US.8859-1。服务器中断
    连接。服务器没有足够的内存提供给新的位置表。释放一些内存后重新执行程序。
    -23196 所选择的数据库中有未知的位置。
    储存在系统目录 systables 中的所选择数据库的位置信息和环境变量 DB_LOCALE
    的值不符。检查 DB_LOCALE 的值。如果它是正确的,那么删掉数据库,按 DB_LOCALE 正
    确的值重建数据库。
    -23197 数据库位置信息不匹配。
    对于给定的数据库,系统目录中的位置信息 GL_CTYPE 或 GL_COLLATE 与环境变量
    DB_LOCALE 的值不匹配。检查 DB_LOCALE 的值。
    -23198 系统目录中缺少 GL_COLLATE 信息。
    系统目录中不存在位置信息 GL_COLLATE。没有系统目录 systables 或是被破坏。删掉
    数据库,按 DB_LOCALE 正确的值重建数据库。
    -23199 系统目录中缺少 GL_CTYPE 信息。
    系统目录中不存在位置信息 GL_CTYPE。没有系统目录 systables 或是被破坏。删掉
    数据库,按 DB_LOCALE 正确的值重建数据库。
    -23501 CM 错误:在第二协同服务器上不支持该操作。
    只能在 CM 协同服务器上请求的配置管理器 (CM) 服务生成在非 CM 协同服务器上。
    与 Informix 技术支持联系,为这种情况请求帮助。
    -23502 CM 错误:不能分配内存。
    当 OnLine XPS 试图从操作系统获取
    一虚拟内存块时检测到一个错误。
    请与 Informix 技术支持联系,请求帮助。
    -23503 CM 错误:没有这样的 dbspace。
    由于一个无效的或者不用的 dbspace 名称,
    导致关于 dbspace 信息的请求(删除 dbspace、
    在 dbspace 中添加或取消大块、或者在
    OnLine XPS 启动期间读 dbspace 信息)失败。
    改正 dbspace 的名称,重新提交这个请求。请与 Informix 技术
    支持联系,请求帮助。
    -23504 CM 错误:dbspace 已经存在。
    建立 dbspace 的尝试失败,因为用这个名称的
    dbslice 或 dbspace 已经存在。
    选择一个没有用过的名称,重新提交使用新名称
    的请求。或者取消已经存在的 dbslice 或 dbspace,
    重新提交使用原来名称的请求。
    -23505 CM 错误:dbspace 表溢出。
    请求新的 dbspace 或 dbslice 时,超出最大数量
    值。取消一个或几个过时的
    dbspaces 或 dbslices,重新提交该请求。
    -23506 CM 错误:没有这样的大块。
    取消大块的请求、或者在启动 OnLine XPS 期间
    读大块的请求失败,因为指定的路径和偏移量与
    任何一个现存的大块都不匹配。
    纠正大块的路径名和偏移量,重新提交这个请求。
    如果必要的话,请与 Informix 技术支持联系,
    请求帮助。
    -23507 CM 错误:大块已经存在。
    往协同服务器里添加大块的请求失败,因为
    指定的路径和偏移量已经分配给业已存在的大块。
    要想在现存的大块以外添加新的大块,要么为它
    选取别的路径,要么在同样的路径下选取不同的偏
    移量,使它位于现存的大块的后面。
    -23508 CM 错误:大块表溢出。
    建立新的大块的尝试失败,超出
    允许的大块的最大数量值。
    取消若干个过时的大块,重新提交这个请求。
    -23509 CM 错误:大块不空。
    这个错误码当前没有使用。
    -23510 CM 错误:不能取消第一个大块。
    尝试删除 dbspace 中的第一个大块失败,
    因为删除 dbspace 中的第一个大块的操作是无效的。
    检查应当取消哪一个大块。欲取消大块后面的 dbspace,
    直接取消这个 dbspace 即可。
    -23511 CM :没有这样的 dbslice。
    因为涉及的 dbslice 不在使用中,导致关于
    dbslice 信息的请求(删除 dbslice 、标识作
    为 logslice 基础的 dbslice 、或者在启动
    OnLine XPS 期间读 dbslice 信息)失败。
    改正 dbslice 的名称,重新提交这个请求。
    如果必要,请与 Informix 技术支持联系,
    请求帮助。
    -23512 CM 错误:dbslice 已经存在。
    定义新的 dbslice 的请求失败,因为使用这个名称的 dbslice
    已经存在。选择一个没有用过的名称,重新提交
    使用该新名称的请求。
    -23513 CM 错误:dbslice 表溢出。
    对于新的 dbslice 的请求失败,因为已超出
    允许的最大数量值。取消若干个过时的 dbslice ,
    重新提交这个请求。
    -23514 CM 错误:没有这样的协同组。
    因为协同组或协同服务器的名称无效,导致关于协同组
    信息的请求(删除协同组、在协同组中添加协同服务器、
    从协同组中取消协同服务器、得到在协同组中的协同服务器
    的列表、或者在启动 OnLine XPS 期间读毁损的协同组的
    信息)失败。
    改正协同组的名称,重新提交该请求。
    如果必要,请与 Informix 技术支持联系,
    请求帮助。
    -23515 CM 错误:协同组已经存在。
    建立新的协同组的尝试失败,因为新的协同组
    的名字已被另一个协同组使用。为协同组再选
    一个没有用过的名称,重新提交这个请求。
    -23516 CM 错误:协同组表溢出。
    建立协同组、或者在协同组中添加协同服务器
    的尝试失败,因为超出了允许的最大数量值。
    取消若干个过时的协同组或协同组成员,
    重新提交这个请求。
    -23517 CM 错误:不能取消或改变系统定义的协同组。
    取消 cogroup_all 的请求失败,因为 cogroup_all 不能被取消。
    避免取消 cogroup_all 的请求。
    -23518 CM 错误:没有这样的协同服务器。
    无效的协同服务器标识符使得获取关于命名协同服务器信息的
    请求失败、或者使得添加或删除协同服务器的请求失败、或者
    使得在协同服务器上添加 dbspace 的请求失败、或者使得在启
    动 OnLine XPS 期间读协同服务器信息的请求失败。
    更正该协同服务器的名称或标识符,并重新提交请求。
    如果必要,请与 Informix 技术支持联系,请求帮助。
    -23519 CM 错误:协同服务器已经存在。
    添加新的协同服务器的请求失败,因为具有该标识符的
    协同服务器已经用在 OnLine XPS 的这个实例中。
    在进行之前重新检查一下协同服务器的标识符。
    -23520 CM 错误:协同服务器表溢出。
    建立协同服务器的请求失败,因为
    超出了允许的最大数量值。
    -23521 CM 错误:指定的标识符是非法的。
    请求失败,因为对于协同组或协同组成员(协同服务器)使用了无效的标识符。
    关于有效的标识符语法,参考《INFORMIX-OnLine XPS 性能增强指南》。
    -23522 CM 错误:指定了非法的范围标识符。
    一个请求错误地规定了协同组或协同服务器名称
    的范围。范围组件的正确格式为 %r(first..last) ,
    其中 'first' 的数值小于 'last'。而且不允许嵌入
    前导空格。
    更正说明文件,重新提交请求。
    -23523 CM 错误:指定了非偶数的协同组成员。
    从协同服务器的范围建立协同组范围的请求,指定了
    一个协同服务器的计数,而这个计数不是要建立的协
    同组数的偶数倍。
    调整已经存在的协同服务器范围中的数字、或者调整
    所希望的协同组中的数字,然后重新提交请求。
    -23524 CM 错误:不支持嵌套的协同组。
    建立一个或多个协同组的请求至少指定了一个协同组成员,那实际上是个协同组而
    不是协同服务器。不支持协同组嵌套。
    决定指定的协同组成员中的哪些自身是协同组,用有效的协同服务器名称替换
    它们的名称,重新提交这个请求。
    -23525 CM 错误:分段表的所有可用标识符都在使用中。
    建立分段表的请求失败,因为已经超出允许的最大数量。
    取消一个或多个过时的分段表,重新提交这个查询。
    -23526 CM 错误:不能够建立 mutex。
    请与 Informix 技术支持联系,为如何解决这个内部的
    OnLine XPS 错误请求帮助。
    -23527 CM 错误:没有这样的 logslice。
    关于 logslice 信息的请求(删除 logslice、或者
    在启动 OnLine XPS 期间读 logslice 信息)失败,
    因为指定了无效的或者没有使用的 logslice 名称。
    更正 logslice 的名称,并重新提交请求。
    如果必要,请与 Informix 技术支持联系,请求帮助。
    -23528 CM 错误:Logslice 已经存在。
    在用户试图建立 logslice 时,这个名称
    的 logslice 已经存在。
    选择一个没有用过的名称,再重新提交使用该新名的
    请求,或者取消这个已经存在的 logslice 而重新提交
    使用原名的请求。
    -23529 CM 错误:Logslice 表溢出。
    建立新的 logslice 的请求失败,因为已经超出允许的
    最大数量。
    取消一个或多个过时的 logslice,然后重新提交该请求。
    -23700 不能写文件:coserver-number, errno,
    filename。
    这个错误发生在当 OnLine XPS 试图写入拒写文件时。
    寻找操作系统信息,它可能会有更详细的信息。
    可能的原因包括磁盘满、或磁盘限额的限制。
    -23701 PLOAD:不能排他锁定外部表。
    当前另一个用户正在使用这个外部表。
    等待外部表解锁,然后继续。
    -23702 PLOAD:不能关闭外部表。
    错误发生在 OnLine XPS 试图关闭外部表锁时。
    请注意所有的环境状况,并与 Informix 技术支持部门联系。
    -23705 不能打开文件:coserver-number, errno, filename。
    错误发生在 OnLine XPS 试图打开文件时。
    请检查同时产生的 errno,来获得更详细的信息。
    文件丢失或没有必要的权限也是可能的原因。
    -23706 不能关闭文件:coserver-number, errno,
    filename。
    错误发生在 OnLine XPS 试图关闭文件时。
    寻找操作系统信息,也许会有更详细的信息。
    可能的原因包括磁盘满或者硬件故障。
    -23707 读文件失败:coserver-number, errno,
    filename
    错误发生在 OnLine XPS 试图读文件时。
    更详细的信息请查看同时产生的 errno。
    -23712 非法的 AIO 缓存器状态 coserver-number, errno,
    filename
    错误发生在 OnLine XPS 试图读写
    内部 AIO 缓冲区时。
    请注意所有的环境状况,并与 Informix
    技术支持部门联系。
    -27324 不能删除文件:coserver-number, errno,
    filename
    错误发生在 OnLine XPS 试图删除 UNIX 文件时。
    寻找操作系统信息,它可能会有更详细的信息。
    该错误很可能是因为权限不够。
    -23725 在 coserver-number, errno, filename
    中的 PLOAD 内部错误。
    请注意所有的环境状况,与关注这个内部错误的
    Informix 技术支持部门联系。
    -23726 PLOAD(load 或 unload)启动 AIO 操作
    errno, coserver- number, filename 失败。
    错误发生在 OnLine XPS 试图读写
    数据文件时。
    更详细的信息请查看同时生成的 errno。
    -23730 PLOAD (unload):转换失败。
    转换失败发生在 OnLine XPS 试图将数据转换
    成 ASCII 或 EBCDIC 格式时。
    检查外部表字段是否有足够的空间
    来书写数据的 ASCII 或 EBCDIC 表示,以及
    在外部表中的字段是否与选择的数据兼容。
    -23731 PLOAD (unload):数据文件满。
    错误发生在 OnLine XPS 试图往卸载的数据文件
    中写数据时。书写附加的数据时已没有更多的可用空间了。
    分配空间,再试一次。
    -23732 PLOAD (unload):datafile AIO 书写错误 errno。
    错误发生在 OnLine XPS 试图写卸载的数据文件。
    更详细的信息请查看同时生成的 errno。
    -23733 PLOAD (unload):所有的数据文件或是满了或是坏了。
    错误发生在卸载期间。
    请查看操作系统信息,它可能会有更详细的信息。
    很可能是正在写的数据文件所在的硬盘已满,
    或者硬件发生了故障。
    -23734 PLOAD:目标表的行尺寸太大
    coserver-number, errno, filename。
    这次装入的目标表的行尺寸太大。
    其最大的行尺寸为页的尺寸减去 32 字节。
    -23735 PLOAD 转换错误:coserver-number, errno,
    filename
    OnLine XPS 试图从该文件中装入时遇到了错误。
    除非在外部表中指定了拒写文件,否则 OnLine XPS
    就返回这条错误信息,并且装入作业停止,
    不保存装入的数据。
    检查转换错误、定义在外部表中的扰乱转
    换的行、被定义为 NOT NULL 的空字段。
    -23736 PLOAD 存取文件失败:coserver-number, errno,
    filename。
    错误发生在 OnLine XPS 试图往拒写文件中写数据时。
    更详细的信息请查看同时生成的 errno。
    -23737 PLOAD 找不到记录的结尾:必须中止。
    错误发生在 OnLine XPS 试图在定界的装入文件中
    寻找记录定界符时。
    检查该文件有没有定界符(通常为换行符),
    以及该外部表是否定义了正确的记录
    定界符。
    -23738 PLOAD (unload) 在检测到磁盘满时
    不能撤消写入 filename 的部分。
    在 OnLine XPS 已用尽一个数据文件的空间之后还想
    继续时,发生错误。当 OnLine XPS 检测到“磁盘满”
    条件时,它往数据文件中写入一个不能被截断的不完
    整记录。
    请查看操作系统信息,它可能有更详细的信息。
    -23739 不能打开 PLOAD 日志文件。
    错误发生在 OnLine XPS 试图打开 PLOAD 日志文件时。
    在指定的日志文件名称中的许多目录中有一个不存在时、
    或者该目录被加上了写保护时,会发生这种情况。
    检查目录的路径是否有效、以及 informix 组能否
    写入该目录。
    -23740 CREATE EXTERNAL TABLE:USING 子句中的
    keyword 关键字太多。
    CREATE EXTERNAL table 语句(或 SELECT...INTO
    EXTERNAL 语句),在 USING 子句中期望的关键字
    出现了不止一次。
    检查该语句。如果打算使用另一个关键字,修改这个语句,
    再重新发布。
    -23741 CREATE EXTERNAL TABLE:关键字的值无效。
    CREATE EXTERNAL TABLE 语句
    (或 SELECT...INTO EXTERNAL 语句)
    含有 USING 子句中一个关键字的无效值。
    检查该语句,看一看这个关键字是否拼错了。
    必须保证 MAXERRORS 关键字的值有效。
    -23742 CREATE EXTERNAL TABLE:无效的 DATAFILES 输入。
    DATAFILES 的输入格式不对。输入格式应是
    filetype:coserver-info:rooted-path-name。
    检查上述 filetype 是不是有效的类型(DISK 或 PIPE),
    上述第二项命名了协同组或协同服务器的号,最后一项
    命名了一个文件,它能被管理它的协同服务器
    访问。
    -23743 CREATE EXTERNAL TABLE:丢掉了 DATAFILE 项。
    在 CREATE EXTERNAL TABLE 语句(或 SELECT...INTO EXTERNAL 语句)中的 DATAFILES 项
    丢掉了。添加 DATAFILES 项,重新发布该语句。
    -23744 CREATE EXTERNAL TABLE:不能对 FIXED 格式表使用 SAMEAS。
    CREATE EXTERNAL TABLE 语句对 FIXED 格式表不允许用 SAMEAS。这些字段项目也必须定义
    一个外部类型,来说明在固定的文件中如何访问(或写)数据。
    修改 CREATE EXTERNAL TABLE 语句,枚举字段信息,重新发布该语句。
    -23745 CREATE EXTERNAL TABLE:内部字段类型必须是定义的 column- name。
    CREATE EXTERNAL TABLE 语句为列举在该语句中的每一个字段申请一个字段类型。
    修改语句。添加适当的字段类型,重新发布语句。
    -23746 CREATE EXTERNAL TABLE:无效的外部字段类型 column-name。
    CREATE EXTERNAL TABLE 语句含有无效的外部字段类型。
    确保外部字段的类型正确:CHAR、PACKED、ZONED 或 BINARY。CHAR 数据必须用引号括起来。
    -23747 CREATE EXTERNAL TABLE : FIXED 或 DELIMITED 字 段 必 须 是 外 部 的 字 符 型
    column-name。
    CREATE EXTERNAL TABLE 语句含有无效的外部字段类型。如果该表说明了 FIXED 格式文件,
    则有效的外部字段类型为 CHAR、PACKED、ZONED 和 BINARY。CHAR 数据必须用引号括起来。
    如果该表说明了 DELIMITED 格式文件并包括了外部字段类型,则类型必须是 CHAR。说明了
    DELIMITED 格式文件的表不需要包括外部字段类型信息。
    -23748 CREATE EXTERNAL TABLE:丢失了外部字段类型 column-name.
    CREATE EXTERNAL TABLE 语句丢失了外部字段类型信息。对于说明了 FIXED 格式文件的表,
    需要这个信息。
    添加字段类型信息,重新发布该语句。
    -23749 CREATE EXTERNAL TABLE:只有 FIXED 格式的字段才能声明 nulls column-name。
    CREATE EXTERNAL TABLE 表语句发现了一个无效字段,它用 NULL "null-string" 语法定义
    了一个空串。只有说明了 FIXED 格式文件的表才能有用 NULL 关键字定义的 null 值。
    修改该语句,重新提交。
    -23750 在 DATAFILES 字符串的 datafile 项中的文件类型无效。
    当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES 项时,发生错误。
    该外部表的 DATAFILES 项中有一个非法文件类型。对于 PLOAD/XPS 外部表只允许 DISK 和
    PIPE 文件类型。
    检查该 external-table 项,取消该外部表,重新发布修改过的 CREATE EXTERNAL TABLE 语
    句来纠正这个错误。
    -23751 不能替换 filename 项中的 n 宏。
    错误发生在当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展节点 host-name
    宏时。这个宏在 DATAFILES 项的 filename 中。
    如果这个错误再次发生,请注意所有的环境状况,并与 Informix 技术支持部门联系。
    -23752 不能为协同服务器 coserver-number, errno, filename 找到协同服务器名。
    当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展数据文件项时,发生一个错
    误。这个错误发生在当 OnLine XPS 为了扩展 filename 中的节点 host-name 宏,而试图寻
    找协同服务器名称时。
    如果这个错误再次发生,请注意所有的环境状况,并与 Informix 技术支持部门联系。
    -23753 不能替换 filename 项中的 r 宏。
    当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES 项时,发生一个错
    误。这个错误发生在当 OnLine XPS 试图扩展 filename 中的 %r 宏时。检查 %r() 宏的语
    法是否正确。
    -23754 不能替换 filename 项中的 c 宏。
    当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 datafiles 项时,发生一个错
    误。这个错误发生在当 OnLine XPS 试图扩展 filename 中的 coserver-number 宏时。
    如果这个错误再次发生,请注意所有的环境状况,并与 Informix 技术支持部门联系。
    -23755 在协同服务器项 coserver-number, errno, filename 的末端丢失了定界符。
    当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES 项时,发生一个错
    误。这个外部表有 DATAFILES 项,但这个 DATAFILES 项没有所希望的项与项之间的冒号分
    隔符。一个项的格式为:filetype:coserver-info:rooted-path-name。
    检查外部表项,取消这个外部表,重新发布一个正确的 CREATE EXTERNAL TABLE 语句。
    -23756 未知的协同服务器的协同服务器号。
    一个错误发生在当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 datafiles
    项时。这个外部表有 DATAFILES 项,但这个 DATAFILES 项没有知道的协同服务器号。
    检查外部表项,取消这个外部表,重新发布一个正确的建立外部表语句。
    -23757 未知的 cogroup 协同组名。
    一个错误发生在当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES
    项时。这个外部表有 DATAFILES 项,但这个 DATAFILES 项没有知道的协同组名。检查外部
    表项,取消这个外部表,重新发布这个 CREATE EXTERNAL TABLE 语句。
    -23758 不能对 filename 项中的 r 宏做语法分析。
    一个错误发生在当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES
    项时。这个错误发生在当 OnLine XPS 试图扩展 filename 中 %r() 宏。检查 %r() 宏的语
    法是否正确。
    -23759 没有一个 DATAFILES 字符串命名了有效数据文件。
    一个错误发生在当 OnLine XPS 试图用外部表的 INSERT 或 SELECT 语句扩展 DATAFILES
    项时。在 DATAFILES 项中未找到有效的 filenames。
    检查外部表项,取消这个外部表,重新发布一个正确的 CREATE EXTERNAL TABLE 语句。
    -23761 当从外部表选择时不能从复合表中选择。
    在 INSERT... SELECT 语句的 FROM 子句中含有复合表。当 OnLine XPS 试图从外部表中选
    择数据时,不允许联结或子查询。
    检查 FROM 子句,只让它包含一个表。
    -23762 Null 字符串比外部字段长度项长。
    CREATE EXTERNAL TABLE 语句的一个字段有无效的 NULL "null-string" 语法。这个字段的
    NULL 字符串长于声明的外部字段长度。
    检查 CREATE EXTERNAL TABLE 语句,保证 NULL "null-string" 的长度与外部字段类型声明
    的大小一致。
    -23763 在外部表中不能与 SELECT 一起使用 FOR UPDATE 或 FIRST n 子句。
    SELECT 语句包含 FOR UPDATE 或 FIRST n 子句。当 OnLine XPS 卸载到外部表时,这些子
    句是不允许的。
    检查这个 SELECT 语句或者定义 SELECT 游标的时间,并保证不包含这些子句当中的任何一
    个。
    -23764 表中所有字段,在插入到外部表中时,必须提供值。
    INSERT 语句并不列出外部表定义的所有字段。当 OnLine XPS 卸载到外部表中时,所有字段
    必须有通过 SELECT 列表说明的值。
    检查 INSERT 语句,保证所有字段均包含在 INSERT 子句中,保证每一个字段均有通过
    SELECT 列表提供的值。
    -23765 不能和来自外部表的 select 一起使用 FOR UPDATE 子句。
    SELECT 语句包含 FOR UPDATE 子句。当 OnLine XPS 从外部表中选择时,不允许这个子句。
    检查声明的 SELECT 语句或游标,保证不包含这个子句。
    -23766 在查询中非法使用外部表 tablename。
    这个语句描述一个对外部表的非法操作。外部表允许的操作类型有:CREATE TABLE、SELECT、
    SELECT INTO、INSERT、DROP TABLE、GRANT、REVOKE、CREATE SYNONYM、RENAME COLUMN 和 RENAME
    TABLE。
    -23767 固定字段的列太长 (Val = value, Col =colno, Len = converted length, Max =
    maxLen)。
    当 OnLine XPS 试图将字段转换为 FIXED 文件格式时,转换的值的尺寸大于为固定尺寸的字
    段规定的最大尺寸。
    检查外部表的说明,看它是否在外部字段类型中定义了足够的空间,来保持转换后选择的数
    据。
    -23768 对于外部字段类型 column-name 外部表必须是固定格式。
    对于没有定义为 FIXED 格式文件的外部表,发现了外部字段类型 PACKED、ZONED 或 BINARY。
    只有 FIXED-格式文件才能定义不是 CHAR 的外部字段类型。
    -23769 未知的外部字段类型 column-name。
    CREATE EXTERNAL TABLE 语句含有未知的外部字段类型。有效的外部字段类型为 CHAR、
    PACKED、ZONED 和 BINARY。CHAR 值必须在引号之中。检查 CREATE EXTERNAL TABLE 语句,
    保证外部字段类型是有效的。
    -23770 只检查能够对外部表定义的约束。
    CREATE EXTERNAL TABLE 语句含有一种或几种不允许的约束类型。
    在该语句中检查字段的主键、参照、或唯一约束;或者检查语句中的表。
    -23771 内部类型必须是数值类型 column-name。
    CREATE EXTERNAL TABLE 语句含有与内部字段类型不一致的外部字段类型。外部字段类型总
    是 PACKED、ZONED 或 BINARY,而内部类型必须是数值类型的,如 INTEGER、SMALLINT、FLOAT
    或 DECIMAL。检查 CREATE EXTERNAL TABLE 语句,保证所有外部字段类型与内部字段类型一
    致。
    -23772 内部类型必须是 SMALL INTEGER 或 INTEGER column-name。
    CREATE EXTERNAL TABLE 语句含有与内部字段类型不一致的外部字段类型。外部字段类型总
    是 BINARY,而内部类型必须是 SMALL INTEGER 或 INTEGER。检查 CREATE EXTERNAL TABLE 语
    句,保证所有外部字段类型与内部字段类型一致。
    -23773 装入 coserver-number, errno,filename 期间错误的数量达到最大。
    当 OnLine XPS 试图从外部表装入数据,几个协同服务器中的一个已达到为外部表定义的
    MAXERRORS 限制。
    -23800 在 XTM 设施中发生了内部错误。
    请注意所有的环境状况,并与关注这个内部错误的 Informix 技术支持部门联系。
    -23801 在 XTM 设施中发生了内存分配错误。
    数据库服务器需要分配数据空间内存,来处理这个查询,但已没有可用的空间。这种状态可
    能反映了硬件的限制、操作系统配置的限制、或者空间的暂时短缺。
    -23802 闲置 XTM 参与者的请求失败。
    事务在不一致状态中。
    一个不可恢复的内部错误发生在事务管理系统内部。请注意所有的环境状况,并与 Informix
    技术支持部门联系。
    -23803 在 XTM 设施内部,发送 XMF 失败。
    在这个事务管理系统内部发生了一个内部错误。请注意所有的环境状况,并与 Informix 技
    术支持部门联系。
    -23804 在 XTM 设施内部,接收 XMF 失败。
    在这个事务管理系统内部发生了一个内部错误。请注意所有的环境状况,并与 Informix 技
    术支持部门联系。
    -23805 在 XTM 事务管理系统中遇见了一个未知事务标识符。
    一个不可恢复的内部错误发生在事务管理系统内部。
    请注意所有的环境状况,并与关注这个内部错误的 Informix 技术支持部门联系。
    -23806 在 XTM 设施内部接收到一个损坏了的信息。
    一个不可恢复的内部错误发生在事务管理系统内部。
    请注意所有的环境状况,并与关注这个内部错误的 Informix 技术支持部门联系。
    -23807 关于 XTM 协调者的备份信息损坏了。
    一个不可恢复的内部错误发生在事务管理系统内部。
    请注意所有的环境状况,并与关注这个内部错误的 Informix 技术支持部门联系。
    -23808 建立 XTM 设施的 XMF 端口失败。
    一个不可恢复的内部错误发生在事务管理系统内部。请注意所有的环境状况,并与关注这个
    内部错误的 Informix 技术支持部门联系。
    -23850 表的类型指定了两次。
    CREATE TABLE 语句含有一个以上的表类型。检查这个语句,保证只定义一个表类型。
    -23851 在 RAW 或 SCRATCH 类型的表上,这个操作是不允许的。
    在 RAW 或 SCRATCH 表上尝试一非法操作。可能要把这个表类型替换为支持该操作的类型。
    -23852 在 STATIC 类型的表上不允许这个操作。
    该语句试图用 UPDATE、INSERT 或 DELETE 语句修改表中的数据。对于 STATIC 类型的表,
    不允许修改数据。可能要将这个表类型替换为支持修改数据的其它类型。
    -23853 不能更改表 tablename 的类型。
    错误发生在当 OnLine XPS 试图更改该表的类型时。可能你试图将表类型更改为 RAW,但在
    该表上已定义了索引;或者试图将表更改为 STANDARD,但这时档案尚未建立。
    -23854 在 RAW 或 SCRATCH 类型的表上不允许有索引和约束。
    CREATE TABLE 语句含有 RAW 或 SCRATCH 类型的表不允许有的索引或约束。检查该语句,保
    证不在 RAW 或 SCRATCH 类型的表上定义这些类型的约束或索引。
    -23855 在 STANDARD 类型的表上不允许快速方式装入。
    因为源外部表与目标表的类型不一致,所以当 OnLine XPS 试图执行快速方式装入时发生了
    错误。外部表是用 EXPRESS 关键字定义的,而目标表的类型为 STANDARD。或者改变目标表
    的表类型,或者重新建立外部表描述,不用 EXPRESS 关键字。
    -23900 freeshdic FAILED:非排他访问 dic tablename ref referenceCnt lk lockCnt 所
    用内存可能已经丧失。
    错误发生在当 OnLine XPS 试图为共享的目录项释放内存时。如果这个错误再次发生,请注
    意所有的环境变量,并与 Informix 技术支持部门联系。
    -23901 在多语句事务中不允许改变表。
    将 ALTER TABLE 语句单独放到它自己的单句事务中。
    6: 国别说明 localename 的格式不对。
    网关管理员必须更正这个说明。
    7: locale-file-name 指定的国别文件不存在。
    如果适当的目录(请看后面的段落)不包含 locale-file-name 指定的国别文件、子目录和
    文件名,则这个 Informix GLS 国别无效。阅读 Informix 产品文档,保证你正确地指定了
    Informix GLS localename (使用环境变量或者文档描述的其它方法)。也许是 InformixGLS
    localename 被指定错了,也许是它等于另一个有效的 Informix GLS 国别。
    如果 locale-file-name 指定的子目录和文件名存在,确认你的产品已正确安装,使得
    Informix GLS 国别文件的确能被找到。特别是,应当保证 GL_PATH 环境变量能按照网关安
    装指令正确地设置(或不设置):
  • 如果 GL_PATH 没有设置,确认 locale-file-name 指定的子目录和文件名是在
    $INFORMIXDIR/gls/lc 目录中。
  • 如果 GL_PATH 设置了,确认 locale-file-name 指定的子目录和文件名在 GL_PATH
    环境变量指定的某个目录中。
    10: locale-file-name 指定的国别文件并不是国别文件。
    locale-file-name 指定的国别文件并不是 Informix GLS 国别文件,或者已经损坏。检查你
    是否正使用 Informix 产品供应商提供的国别文件。如果它已经损坏了,从原始安装文件中
    恢复该文件。
    11: 该国别对象不一致。该国别对象不一致。例如,同样的代码集没有使用在每一个国别目
    录中。向 Informix 产品供应者请求帮助。
    任何其它错误:向 Informix 产品供应者请求帮助。
  1. 被转换的字符数据坏了。修改这个被转换的字符数据。
  2. 代码集转换表不正确或者不完整。向 Informix 软件供应商求助。
  • 如果 cftype 为 "bad form",输入字符将根据 shift-out 和 shift-in 代码指针
    错误地形成。shift-out 和 shift-in 代码 指针定界内部代码集。这个内部代码集包含在
    用 code-set number from_cs_num 标识的代码集中。对于这种失败类型,更正被转换的字符
    数据的形成。
  • 如果 cftype 为 "太长",输出字符串的长度将比内部缓冲区长,这个内部缓冲区是
    为保持输出字符串而分配的。如果 objtype 为 "output",输出的值将比 CHAR 数据类型的
    最大长度还长。对于这种失败类型,减小输入的被转换字符数据的长度。
    下面是可能的 objtype 值:
  • 如果 objtype 为 "input",从应用程序输入的值,例如 SQL 语句或输入的主机变
    量值,将被转换。
  • 如果 objtype 为 "output",从数据库输出的值,例如来自 SELECT 语句的选择列
    表的字段或表达式,将被转换。
  • 如果 objtype 为 "sqlda",在输出的 SQLDA 中的 sqlname 字段将被转换。
    下面是可能的位置含义,取决于 objtype 的值:
  • 如果 objtype 为 "input" 并且位置为 0,输入的 SQL 语句的文本不能被转换。
  • 如果 objtype 为 "input" 并且位置不为 0,位置将引用不能被转换的输入主机变
    量值的原来位置。
    例如,2 代表不能被转换的第二个输入的主机变量
    的值。
  • 如果 objtype 为 "output" 并且位置为任意值,位置将是不能被转换的输出值的原
    来位置,例如,SELECT 语句的选择列表中的第三个值。
  • 如果 objtype 为 "sqlda" 并且位置为任意值,位置将是不能被转换的 SQLDA 中的
    sqlname 字段的原来位置。
  • 如果 objtype 为 "sqlca",位置命名了不能被转 换 的 特 殊 的 SQLCA 字 段 :
    sqlerrp、sqlwarn、sqlerrmc 或 sqlstate。
    -25546 网络协调控制无效。
    这是一个内部错误。如果错误再次发生,请记下所有的环境并和 Informix 技术支持部门联系。
    -25548 活动连接过多。
    这是一个 sqlexecd 内部错误。如果错误再次发生,请记下所有的环境并和 Informix 的技术
    支持部门联系。
    -25553 Sqlhosts 文件未找到或不能打开。
    sqlhosts 文件要被用来决定建立和本地或远程服务器连接的信息。按你的数据库服务器产品
    所描述的格式,在目录$INFORMIXDIR/etc 下建立一个 sqlhosts 文件。
    -25554 INFORMIXSERVER 环境变量过长。
    确认服务器名为 18 个字符或更短。服务器名必须以一个字母打头并且都是小写字符。后面可
    以包含字母,数字和下划线。从版本 6.0 开始,服务器名也可以下划线打头。
    -25555 服务器<服务器名>没有以数据库服务器名列在 sqlhosts 中。
    当前命令中用到的数据库服务器名没有列在 sqlhosts 文件中。检查确认服务器名。确认所有
    将访问的服务器都包含在 sqlhosts 文件中。
    如果你在用 INFORMIX-SE,你当前的工作目录可能是一个 NFS 安装目录。改变你的当前工作
    目录为一个本地目录或在你的 DBPATH 中增加适当的本地目录。
    -25556 非法的 sqlhosts 文件格式。
    检查在 $INFORMIXDIR/etc/sqlhosts 文件中的每一个字段,保证其正确,并且字段的值是所
    支持的。如果使用的是 INFORMIX-OnLineDynamic Server,请按《INFORMIX-OnLine Dynamic
    Server 管理员指南》中描述的检查配置文件中的 DBSERVERNAME、DBSERVERALIASES 和
    NETTYPE 参数。
    如果使用的是 INFORMIX-SE 数据库服务器,请按《INFORMIX-SE 管理员指南》中描述的检查
    dbservername、nettype、hostname 和 servicename 字段以确保输入的值是正确的。对
    ESQL/C:如果从 Windows 环境的 ESQL/C 应用程序收到该消息,请检查由客户计算机定义的
    网络参数的信息。有关参数设置的详细信息,请参阅《Microsoft Windows 环境的
    INFORMIX-ESQL/C 程序员补充说明》。
    对 ESQL/COBOL:如果从 Windows 环境的 ESQL/C 应用程序收到该消息,请检查由客户计算
    机定义的网络参数的信息。有关参数设置的详细信息,请参阅《Microsoft Windows 环境的
    INFORMIX-ESQL/COBOL 程序员补充说明》。
    -25557 网络内部错误。
    这是一个内部错误。如果错误再次发生,请记下所有的环境并和 Informix 的技术支持部门
    联系。
    -25558 NFS/RFS 主机<主机名>没有以数据库服务器名列在 sqlhosts 中。
    在当前命令中用到的数据库服务器驻在 NFS 或 RFS 文件系统上。但是在 sqlhosts 文件中的数
    据库服务器名没有列出和 NFS 或 RFS 主机对应的入口。请求你的 Informix 数据库管理员将入
    口加入到 sqlhosts 文件中.如果你在使用 INFORMIX-SE,确认在 NFS 或 RFS 主机上正运行着
    一个 sqlexecd daemon。<TS2:-输入-入口
    -25559 DBPATH 服务器<服务器名>在 sqlhosts 中没有被列为数据库服务器名。
    在 你 的 DBPATH 环 境 变 量 设 置 中 指 定 的 数 据 库 服 务 器 没 被 列 在 文 件
    $INFORMIXDIR/etc/sqlhosts 中。确认在 DBPATH 中用到的每一个数据库服务器对应文件
    sqlhosts 中的一项
    入口。
    -25560 环境变量 INFORMIXSERVER 必须被设置。
    必须由环境变量 INFORMIX SERVER 指定一个缺省的数据库服务器。在 C shell 中用"setenv"
    命令或在 Bourne shell 中用"set"命令设置 INFORMIXSERVER。
    -25561 无效的确认类型。
    这是一个内部错误。如果错误再次发生,请记下所有的环境并和 Informix 技术支持部门联
    系。
    -25565 不能得到进程信息。
    这是一个内部错误。如果问题再次发生,请记下所有的环境并和 Informix 技术支持部门联
    系。
    -25566 系统时间错误。
    这是一个操作系统错误。请教系统管理员。确认系统时钟被正确地设置。
    -25567 侦测到内部通讯缓冲区管理错误.
    这个错误通常是由内存损坏或错误地使用缓冲区管理例程引起的。确认在当前的进程空间中
    没有内存损坏的问题。如果错误再次发生,请记下所有的环境并和 Informix 技术支持部门联
    系。
    -25568 调试工具错误。
    这是一个内部错误。如果错误再次发生,请记下所有的环境并和 Informix 技术支持部门联
    系。
    -25570 网络驱动程序不能执行 fork 系统调用。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25571 超过最大的用户线索数目。
    检查 ONCONFIG 配置文件中 USERTHREADS 参数值和 NETTYPE 参数的用户线索域的值。
    -25571 不能建立用户线索。
    INFORMIX-OnLine 数据库服务器不能为企图连接服务器的客户建立或生成一个用户线索。
    可能引起的原因和纠正的方法包括:
  • 此刻数据库服务器不能为用户线索分配系统资源。客户可以后再尝试建立连接。当
    其它客户完成它们的工作,一些系统资源便可再被利用。
  • 一个用户不允许使用连接到服务器的特定的客户应用程序,但它试图连接。客户应
    用程序包括 SQL APIs,DB-Access 和所有的数据库服务工具。
    检查这个用户是否为合法的执行实用工具和程序的人。同时参考《INFORMIX-OnLine 系统管
    理员指南》和《Trusted Facility Manual》来看什么人可用什么样的实用工具。
  • GLS 结构的申请失败。参照 -23100、-23101、-23102、-23104、-23108 和 -23110
    的纠正错误方法来尽可能解决。
    -25572 网络驱动程序不能把一个名字连接到端口。
    系统调用失败。sqlexecd daemon 或 INFORMIX-OnLine 动态服务器不能访问在 sqlhosts 文件
    中为数据库服务器指定的网络端口。这可能发生是因为网络端口已被另外的 sqlexecd,数据
    库服务器,或其它的应用程序占用。在命令行上(先于版本 6.0)或在 sqlhosts 文件中(从版
    本 6.0 开始)使用不同的服务名。向你的 UNIX 系统管理员求得帮助。
    -25573 网络驱动程序不能在端口接受连接。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25574 网络驱动程序不能打开网络设备。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25575 网络驱动程序不能分配调用结构。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25576 网络驱动程序不能分配返回结构。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25577 网络驱动程序不能得到主机的结构。
    系统调用失败。请向 UNIX 系统管理员求得帮助。
    -25578 网络驱动程序不能和网络断开连接。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25579 网络函数按错误的顺序发布。
    这是一个内部错误。如果错误再次发生,请记下所有的环境并与 Informix 的技术支持部门
    联系。
    -25580 网络函数引起的系统错误。
    系统调用失败。向 UNIX 系统管理员求得帮助。
    -25581 传输层内存释放错误。
    这是一个系统问题。它可能是一个与内存释放有关的问题。你可以重试连接,然后向 UNIX
    系统管理员求得帮助。
    -25582 网络连接断开。
    这可能表明数据库服务器已经终止或网络本身有问题。请检查网络,确认网络功能正常及服
    务器正在运行中。
    -25583 未知网络错误。
    请向 UNIX 系统管理员或网络管理员求得帮助。
    -25584 网络驱动程序不能访问服务器程序<程序名>。
    请确认缺省的服务器名在环境变量 INFORMIXSERVER 中被正确地指定以及 sqlhosts 文件中缺
    省服务器名和服务名入口是正确的。
    -25585 无效的缓冲区大小。
    在服务名字段指定的缓冲区大小无效。确认 sqlhosts 文件的服务名字段是正确的。
    -25586 网络传送失败。
    系统调用失败。请教 UNIX 系统管理员以求得帮助。
    -25587 网络接收失败。
    系统调用失败。做一下 DISCONNECT,然后检查服务器的状态。请教 UNIX 系统管理员以求得
    帮助。
    -25588 应用进程不能连接到 Online 服务器<服务器名>。
    这个错误可能由应用程序中的 错误引起。检查 CONNECT 语句和 sqlhosts 文件。这个错误
    也可由系统失败引起。如果不能马上找出失败的原因,请记录下所有环境,并与 Online 数据
    库管理员联系以求得帮助。共享内存通信子系统被卸下或不起作用。与 Online 数据库管理员
    联系报告问题。
    -25589 无效的 Online 服务器邮箱信息类型。
    系统调用失败。请教 UNIX 系统管理员以求得帮助。
    -25590 鉴别错误。
    这个错误表明使用了无效的用户 ID 或口令来连接数据库服务器。重新定义有效的用户 ID
    和口令。
    -25591 传输控制接收到一个无效的连接地址。
    对所要的数据库服务器,检查在$INFORMIXDIR/etc/sqlhosts 文件中的主机名和服务名入口。
    请 DBA 和 UNIX 系统管理员,检验主机名和服务名是否拼写正确。如果在使用 TCP/IP ,也
    可检验主机名和服务名是否有相应的入口在 /etc/hosts 和/etc/services 文件中;在各个
    客户机的计算机上检验相应的内容。
    -25592 网络驱动程序不支持通信服务。
    在所想要的系统上,或指定的数据库服务器上,这种连接需要的网络服务,如 带 sockets
    的 TCP 或 带 TLI 的 TCP 不 能 使 用 。 使 用 支 持 的 网 络 服 务 , 检 验 在
    $INFORMIXDIR/etc/sqlhosts 文件中为数据库服务器指定了正确的 nettype 域。如果网络服
    务在系统上可用,但在数据库服务器上不可用,请你的 DBA 在初始化数据库服务器时调谐该
    服务。
    -25593 网络监听程序不能将一个打开的 I/O 通道变为非堵塞状态。
    这是一个操作系统的错误。报告这一问题给操作系统管理员。可能需要系统重新引导。
    -25594 共享内存客户机不能使 Online 服务器处于服务状态。
    这个问题一般由内存损坏引起,或者是操作系统不能执行信号操作。将问题报告给 Online
    数据库管理员。可能必须重新启动 INFORMIX Online 动态服务器,或是执行整个系统的重新
    引导。
    -25595 在试图连接期间,接收到无效信息。
    当连接所想要的数据库服务器时,出现错误。如果在使用 INFORMIX Online 动态服务器,检
    验数据库服务器是否仍在 Online 状态。如果在使用 INFORMIX-SE 数据库服务器,检验数据
    库服务器的 sqlexecd daemon 是否仍在运行。同时,也可检验$INFORMIXDIR/etc/sqlhosts
    数据库服务器的文件入口是否正确。
    -25596 INFORMIXSERVER 值没有列在 sqlhosts 文件中。
    在文件 $INFORMIXDIR/etc/sqlhosts 中,由 INFORMIXSERVER 环境变量指定的缺省数据库服
    务器名,必须是在文件$INFORMIXDIR/etc/sqlhosts 中有效的数据库服务器名。确保指定的
    服务器被列在 sqlhosts 文件中。
    -25597 系统管道处理中的错误。
    这是系统故障。可能访问环境变量有问题。记下系统错误号,请教操作系统管理员。
    -25598 通信用法错误:无效的状态转换。
    这是一个内部错误。如果错误重复出现,请记录下所有环境,并与 Informix 技术支持部门
    联系。
    -25599 网络连接错误,无监听程序。
    客户应用程序正试图连接远程服务器。然而,在远程主机上没有监听程序 daemon 在运行。
    确保在远程主机上监听程序已启动,再试一试连接。
    -25600 转送模块不能获得环境变量 SQLRM。系统错误<错误数>。
    请系统管理员来检查系统问题。
    -25601 这个转送模块不能对另一协议执行转送模块<转送模块名>。
    确认在你的系统上安装有该名字的转送模块。
    -25602 本地数据库服务器<服务器名>不能由转送模块 fork。系统错误<数>。
    请系统管理员来检查系统问题。
    -25603 在连接数据库之前,试图准备多于一条的语句。
    检查你的应用程序,确保在连接数据库之前,只准备了 CREATE DATABASE,START DATABASE 或
    DROP DATABASE 语句中的一条。
    -25604 数据库名句法与语句中的选项相冲突。
    检查你的应用程序,从而确保在语句中数据库句法使用正确的选项。
    -25605 使用转送模块建立本地数据库,必须设置 SQLEXEC。
    确保你对本地 INFORMIX-SE 数据库服务器 (数据库服务器早于 6.0 的版本),已经设置
    SQLEXEC 环境变量。
    -25606 在本地机上的数据库服务器中,产生未知的标识符串。
    确保你已经安装了 INFORMIX-SE 数据库服务器,或者已经安装了 INFORMIX OnLine 动态服
    务器。
    -25607 不支持的语句。还未选择数据库。
    你发出一个需要打开数据库的 SQL 语句,但是你没有选择数据库。选择所要的数据库,再试
    一试该语句。
    -25701 你没有许可权存取指定的主机表。
    你没有许可权存取指定的主机表。或是你的 Answer/Extractor 设置文件名不正确;或是你
    的主机表的词汇表过期。确保你在 SETUP 屏幕上的 Answer/DB 设置文件名的参数是正确的。
    如果无效,重新刷新主机表的词汇表。
    -25702 词汇表数据库不存在。
    词汇表数据库还没有建立。从 HOST TABLE 菜单选择重新刷新选项。数据库将自动建立。
    -25705 主机表<表名>不在词汇表中。
    你指定的主机表没有列在词汇表中。可能是下列原因之一引起的:
  • 你拼错了主机表名。
  • 你的 Answer/Extractor 设置文件名不正确。
  • 你没有许可权存取该表。
  • 你的主机表的词汇表已过期。
    在 SETUP 屏幕上,检查主机表名的拼写和 Answer/DB 设置文件名参数。咨询你的
    Answer/Extractor DBA 核实你存取指定表的许可权。如有必要,重新刷新主机表的词汇表。
    -25709 没有主机表列在词汇表中。
    在你的主机表的词汇表中,没有信息。可能是下列原因之一引起的:
  • 你拼错了 Answer/Extractor 设置文件名。
  • 你没有在主机上对任何表存取。
  • 你没有重新刷新词汇表。
  • 词汇表数据库是坏的。
    检验 在 SETUP 屏幕上的 Answer/DB 设置文件名字参数是否正确。如有必要,重新刷新主机
    表的词汇表。
    -25713 不支持标准的数据库引擎。
    你在使用 INFORMIX-SE 数据库服务器。数据提取不支持 INFORMIX-SE 数据库服务器。退出
    数据提取。如若必要,将 SQLEXEC 环境变量改成 sqlturbo,并设置 TBCONFIG 环境变量。
    重新开始提取数据。
    -25714 在等待主机数据时,主机处理超时极限已到期。
    你正在运行一个 EXTRACT 语句,或正在重新刷新主机词汇表。在数据提取正等待主机返回选
    择的数据时,在主机进程超时参数中设置的时间极限到期。可能是下列原因之一引起的:
  • 超时极限太短。
  • 在指定的时间极限内,Answer/Extractor 批处理程序没有运行。
  • 主机非常忙。
  • 主机通信不可使用或是被中断。
    检验主机通信是否起作用。在 SETUP 屏幕中,增加主机处理超时参数。重新运行 EXTRACT 语
    句,或在 HOST TABLE 菜单上选择重新刷新选项来刷新词汇表。如果在运行一条 EXTRACT 语
    句时出现错误,咨询你的 Answer/Extractor DBA,以便检查处理选择主机表的批处理程序的
    计划。根据计划调整主机处理超时参数,或在另一时间,重新运行 EXTRACT 语句。
    -25715 警告:不匹配的检索描述域。
    这是一个警告信息。当数据提取正检索词汇表时,它检索到没有列在词汇表中的域描述。
    -25716 装入域描述出错。
    当在词汇表重新刷新期间,将主机域描述插入词汇表数据库时,数据提取遇到一个错误。或
    是另一用户锁住了词汇表数据库,或是出现了表修改错误。如果数据库被所住,再次重新刷
    新词汇表。
    -25718 不支持该语句,或是该语句非法。
    输入的 SQL 语句或是无效,或是数据提取不支持。请参考 《INFORMIX_OpenView 用户手册》
    的的附录 A,它列出了支持的 SQL 语句。
    -25719 主机域的数与目标字段的数不匹配。
    当将主机数据提取到一个表中时,列出的主机域的数与列出的目标表字段的数不同。检查
    EXTRACT 语句,确保你列出的主机域的数与目标表字段的数相同。
    -25720 主机数据域 <域名> 在目标字段 <字段名>内溢出。
    指定的主机域的定义的长度,比被检索数据指定的 Informix 表字段所定义的长度长。检查
    词汇表中的主机域所定义的长度。重新定义目标字段的长度,并重新运行 EXTRACT 语句。
    -25721 不支持 BLOB 数据类型。
    视图将主机数据字段提取到 BLOB 类型的字段中。重新定义一个支持数据类型的字段,或修
    改 EXTRACT 语句,以便使用不是 BLOB 的不同的字段。重新运行 EXTRACT 语句。
    -25722 未知的主机数据类型<类型>。
    检索的主机域作为已有的数据类型而不是字符或数值列出。词汇表数据库无效。重新刷新词
    汇表,并重新运行 EXTRACT 语句。
    -25723 无效的输出媒体。
    这是一个数据提取内部错误。重新运行 EXTRACT 语句。如果错误重复出现,退出数据提取。
    重新开始数据提取,并重新运行 EXTRACT 语句。
    -25724 作业状态不能使用。
    提交给主机的 Answer/Extractor SELECT 子句的状态正在检查。这时,SELECT 子句的状态
    不能使用的。重新提交你的请求。
    -25727 未知的预定义。
    这是一个内部错误。退出数据提取并重新选项。
    -25728 不能建立参数 SQLDA。
    对 Answer/API 提交你的 EXTRACT 语句,数据提取不能建立数据结构。这可能没有足够的内
    存。退出数据提取。重新开始数据提取,并重新运行 EXTRACT 语句。
    -25730 不能初始化 Answer/ API。
    数据提取不能初始化 Answer/API。要了解更多的信息,看附带的 API 错误信息。
    -25731 不能对主机建立连接。
    数据提取在主计算机上不能建立对 Answer/Extractor 的连接。要了解更多的信息,看附带
    的 API 错误信息。
    -25732 不能终止主机会话。
    数据提取在主计算机上不能终止对 Answer/Extractor 的连接。要了解更多的信息,看附带
    的 API 错误信息。
    -25733 不能对 API 初始化状态通信区。
    数据提取不能对 Answer/API 初始化状态通信数据结构。要了解更多的信息,看附带的 API
    错误信息。
    -25734 不能对 API 初始化环境描述符。
    数据提取不能对 Answer/API 初始化环境描述符数据结构。要了解更多的信息,看附带的 API
    错误信息。
    -25735 不能对 API 初始化查询语句描述符。
    数据提取不能对 Answer/API 初始化查询语句描述符。要了解更多的信息,看附带的 API 错
    误信息。
    -25736 不能对 API 初始化域描述符。
    数据提取不能对 Answer/API 初始化域描述符。要了解更多的信息,看附带的
    API 错误信息。
    -25737 不能对 API 初始化游标描述符。
    数据提取不能对 Answer/API 初始化游标描述符。要了解更多的信息,看附带的 API 错误信
    息。
    -25738 不能结束 Answer/API。
    在退出时,数据提取不能结束 Answer/API。要了解更多的信息,看附带的 API 错误信息。
    -25739 不能决定对 API 的通信区的大小。
    这是一个内部错误。退出数据提取并重新选项。
    -25740 不能决定对 API 的环境描述符的大小。
    这是一个内部错误。退出数据提取并重新选项。
    -25741 不能决定对 API 的域描述符的大小。
    这是一个内部错误。退出数据提取并重新选项。
    -25742 不能决定对 API 的游标描述符的大小。
    这是一个内部错误。退出数据提取并重新选项。
    -25743 无效的 SQL/ADB SELECT 子句。
    当前的 EXTRACT 语句中的 SELECT 子句无效。要了解更多的信息,看附带的 API 错误信息。
    -25744 不能执行 SQL/ADB SELECT 子句。
    当前的 EXTRACT 语句中的 SELECT 子句在主机上不能执行。要了解更多的信息,看附带的
    API 错误信息。
    -25745 不能准备存取主机数据。
    这是一个内部错误。要了解更多的信息,看附带的 API 错误信息。
    -25746 不能检索主机数据。
    数据提取不能从主机检索当前 EXTRACT 语句的结果。要了解更多的信息,看附带的 API 错
    误信息。
    -25747 不能检索主机数据的下一行。
    在从主机检索数据时,数据提取遇到一个错误。要了解更多的信息,看附带的 API 错误信息。
    -25748 不能结束存取主机数据。
    数据提取不能成功地结束存取当前 EXTRACT 语句的结果。要了解更多的信息,看附带的 API
    错误信息。
    -25749 不能清除主机数据。
    数据提取不能清除主机上的数据。在提取数据已经完成对当前的 EXTRACT 语句的检索结果之
    后;或是在检索数据时 ,遇到错误之后;或是在用户取消作业之后;数据提取清除主机数据。
    要了解更多的信息,看附带的 API 错误信息。
    -25750 不能检索作业状态信息。
    数据提取不能检索当前已提交给主机的 SELECT 子句的状态。要了解更多的信息,看附带的
    API 错误信息。
    -25751 不能取消主机上的作业。
    数据提取不能取消已经提交给主机的当前 SELECT 子句。要了解更多的信息,看附带的 API
    错误信息。
    -25753 不能写入主机配置文件。
    数据提取不能写入主机配置文件 ( config.txt )。该文件在 ANSAPI 环境变量指定的路径中,
    如果 ANSAPI 没有设置,它在当前目录中。或是文件或路径没有合适的许可权,或是没有足
    够的盘空间。检验文件和路径是否有合适的许可权,是否有足够的盘空间。
    -25754 不能写入局部配置文件。
    数据提取不能写入局部配置文件 ( openview.cfg )。该文件在 ANSAPI 环境变量指定的路径
    中,如果 ANSAPI 没有设置,它在当前目录中。或是文件或路径没有合适的许可权,或是没
    有足够的盘空间。检验文件和路径是否有合适的许可权,是否有足够的盘空间。
    -25755 不能读主机配置文件。
    数据提取不能读主机配置文件 ( config.txt )。该文件在 ANSAPI 环境变量指定的路径中,
    如果 ANSAPI 没有设置,它在当前目录中。检验文件和路径是否有合适的许可权。
    -25756 不能读局部配置文件。
    数据提取不能读局部配置文件 ( openview.cfg )。该文件在 ANSAPI 环境变量指定的路径中,
    如果 ANSAPI 没有设置,它在当前目录中。检验文件和路径是否有合适的许可权。
    -25757 词汇表数据库不能打开。
    数据提取不能打开词汇表 数据库。或是数据提取迂到一个内部错误,或是对词汇表的系统许
    可权已被修改。检查词汇表数据库确保对数据库系统许可权没有被改变。如果问题总是出现,
    需要词汇表数据库所有者删除词汇表数据库,通过运行词汇表的重新刷新选项进行重建。
    -25761 主机环境参数无效。
    在 SETUP 屏幕上你输入的主机环境参数值无效或是不支持。把该值改成 CICS,CMS,IMS,
    TSO 之一。
    -25762 需要 CICS 分页代码参数。
    如果在 CICS 中正使用 Answer/Extractor,需要分页代码。请教你的 Answer/Extractor DBA,
    找出 CICS 分页代码。
    -25763 对 CICS 主机环境,需要 CICS 结束代码参数。
    如果在 CICS 中正使用 Answer/Extractor,需要结束代码。请教你的 Answer/Extractor
    DBA,找出 CICS 结束代码。
    -25764 需要 Answer/DB 设置文件名参数。
    要决定对主机表的存取许可权,需要 Answer/Extractor 设置文件名。请教你的
    Answer/Extractor DBA,找出你的 Answer/Extractor 设置文件名。
    -25765 需要 Answer/DB 调用代码。
    要调用 Answer/Extractor,需要 Answer/Extractor 调用代码。请教你的 Answer/Extractor
    DBA,找出主机环境的 Answer/Extractor 调用代码。
    -25766 锁定时间参数必须是从 1 到 300 秒。
    你输入的锁定时间是非法的。把锁定时间改成 1 到 300 的数。
    -25767 固定时间参数必须是从 2 到 18 秒。
    你输入的固定时间是非法的。把固定时间改成 2 到 18 的数。
    -25768 需要连接笔迹参数。
    在 SETUP 屏幕上的连接笔迹参数是空的。键入有效的连接笔迹的文件名。如果它不存在,你
    可使用笔迹器实用工具建立有效的连接笔迹。
    -25769 不能存取指定的连接笔迹文件。
    指定的连接笔迹文件不存在,或者没有适当的许可权。检查文件名的拼写。检查 ANSAPI 环
    境变量指定的路径是否存在该文件,或者如果 ANSAPI 没有设置,应检查当前目录。
    -25770 需要停止连接笔迹参数。
    在 SETUP 屏幕上的停止连接笔迹参数是空的。键入有效的停止连接笔迹的文件名。如果它不
    存在,使用笔迹器实用工具建立有效的笔迹。
    -25771 不能存取指定的停止连接笔迹文件。
    指定的停止连接笔迹文件不存在,或者没有适当的许可权。检查文件名的拼写。检查 ANSAPI
    环境变量指定的路径是否存在该文件,或者如果 ANSAPI 没有设置,应检查当前目录。
    -25772 分类参数必须是从 1 到 15。
    指定的 Answer/Extractor 处理中的分类非法。把分类参数改成 1 到 15 的数。
    -25773 主机处理超时参数必须是从 1 到 1440 分钟。
    指定的处理超时极限非法。把主机处理超时参数改成 1 到 1440 的数。
    -25774 处理参数的最大记录必须是从 1 到 99,999,999。
    指定的值非法。把值改成在可接受的范围内。
    -25775 检索参数的最大记录必须是从 1 到 9,999。
    指定的值非法。把值改成在可接受的范围内。
    -25776 提交的频率参数必须是从 1 到 99,999,999 行。
    指定的值非法。把值改成在可接受的范围内。
    -25777 无效的值。必须是 Y 或 N。
    用其它字母而不是用 Y 或 N 回答提示。改成为 Y 或 N 的回答。
    -25778 写输出文件出错。
    在提取主机数据放入文件中时,数据提取不能写入指定的文件。检验是否有足够的盘空间和
    文件是否有适当的许可权。
    -25779 不能打开输出文件。
    在提取主机数据放入文件中时,数据提取不能打开指定的输出文件。如果该文件已经存在,
    确保文件有适当的许可权。
    -25780 警告:对主机表没有定义的显示字段描述。
    当重新更新词汇表时,数据提取发现对于正被重新更新的主机表没有显示字段描述定义在主
    计算机上。这只是一个警告。有关增加对主机表显示字段的描述,请与 Answer/Extract or DBA
    协商。
    -25781 遗漏主机表名字或 FROM 子句。
    当前的 EXTRACT 语句遗漏主机表名或整个 FROM 子句。修改并重新运行 EXTRACT 语句。
    -25782 警告:从主机返回不完整的结果。
    你选择的数据可能超过主机上可用的盘空间。从主机检索到的结果是不完整的。应做下面的
    一项或多项工作:
  • 为选择较少的数据或较少的显示字段,修改 SELECT 子句。
  • 与主机系统管理员协商,申请较多盘空间。
  • 较少的记录,修改 SIZE 子句。
  • 在 SETUP 屏幕上。修改检索最大记录参数。
    -25783 SIZE 子句的值无效。
    SIZE 子句含有不能接受的字符。可接受的值必须是从 1 到 9,999 的数。
    -25784 SIZE 子句的值超出范围。
    指定的值不正确。可接受的值必须是从 1 到 9,999 的数。
    -26104 API 错误:超出内存范围。
    内存分配错误。内存管理程序不能分配内存。退出数据提取并重新选项。
    -26201 API 错误。不能找到信息文件。
    Answer/Extractor 信息文件 (message.txt) 不能找到。确保 ANSAPI 环境变量设置正确。
    若有必要,从 $INFORMIXDIR/etc 上拷贝信息文件到 ANSAPI 或者如果 ANSAPI 没有设置,
    就拷贝到当前目录上。
    -26202 API 错误。信息文件空间不够。
    这是一个内部错误。退出数据提取并重新选项。
    -26203 API 错误。信息文件太短。
    Answer/Extractor 信息文件 (message.txt) 不正确或是被破坏。从 $INFORMIXDIR/etc 上
    重新拷贝信息文件到在 ANSAPI 环境变量中所指定的目录里,或者如果 ANSAPI 没有设置,
    就拷贝到当前目录上。
    -26204 API 错误。信息文件太长。
    Answer/Extractor 信息文件 (message.txt) 不正确或是被破坏。从 $INFORMIXDIR/etc 上
    重新拷贝该文件到在 ANSAPI 环境变量中所指定的目录里,或者如果 ANSAPI 没有设置,就
    拷贝到当前目录上。
    -26205 API 错误。信息文件读错误。
    Answer/Extractor 信息文件 (message.txt) 没有适当的许可权或是被破坏。检验该文件是
    否有适当的许可权。文件应该在由 ANSAPI 环境变量所指定的目录中,如若 ANSAPI 没有设
    置,文件应在当前目录中。如果文件被破坏,从 INFORMIXDIR/etc 上重新拷贝该文件。
    -26206 API 错误。不能发现配置文件。
    主机配置文件 (config.txt) 找不到。使用在数据提取主菜单上的安装选项存取 SETUP 屏
    幕,来建立配置文件。
    -26207 API 错误。配置文件没有空间。
    这是一个内部错误。退出数据提取并重新选项。
    -26208 API 错误。配置文件太短。
    主机配置文件 (config.txt) 不正确或是被破坏。使用在数据提取主菜单上的安装选项存取
    SETUP 屏幕,重新建立配置文件。
    -26209 API 错误。配置文件太长。
    主机配置文件 (config.txt) 不正确或是被破坏。使用在数据提取主菜单上的安装选项存取
    SETUP 屏幕,重新建立配置文件。
    -26210 API 错误。配置文件读错误。
    主机配置文件 (config.txt) 没有适当的许可权或是被破坏。检验文件是否有适当的许可权。
    检查文件是否在由 ANSAPI 环境变量所指定的目录中,如若 ANSAPI 没有设置,文件是否在
    当前目录中。如果文件被破坏,使用在数据提取主菜单上的安装选项存取 SETUP 屏幕,重新
    建立配置文件。
    -26211 API 错误。无效的 SQLCA 结构。
    这是一个内部错误。退出数据提取并重新选项。
    -26212 API 错误。通信板不存在。
    对主计算机通信所需的硬件没有安装或是功能不合适。检验通信板是否安装和配置是否合适。
    -26217 API 错误。不相容的驱动器扫描 代码文件。
    控制器指令文件 (driver.dsc ) 无效或者被破坏。从 $INFORMIXDIR/etc 上重新拷贝该文
    件到在 ANSAPI 中所指定的目录里,或者如果 ANSAPI 没有设置,就拷贝到当前目录上。
    -26224 API 错误。主机会话忙。
    仿真软件不能使用,或者 SETUP 屏幕上的主机会话参数指定的主机会话目前在使用。检验仿
    真软件是否可使用。如果它可以使用,在 SETUP 屏幕上改变主机会话参数为不同的主机会话。
    因此,必须改变仿真软件需要的任何配置文件。
    -26225 API 错误:主机会话不存在。
    在 SETUP 屏幕上主机会话参数所指定的主机会话名无效。修改主机会话名。因此,必须改变
    通信软件需要的任何配置文件。
    -26230 API 错误:会话不能作为方式 5 终端安装。
    数据提取不支持方式 5 终端。重新配置 3270 仿真器软件到方式 2 终端,然后重新开始数
    据提取。
    -26231 API 错误:键盘永久性地锁定。
    在主机会话上键盘禁止信号,在锁定时间参数设置的超时周期内没有清除。这可能有下列情
    况出现:
    *...锁定时间参数指定的时间太短。
    *...主机会话已关掉。
    *...主机会话非常慢。
    退出数据提取。使用 3270 仿真器软件 (如 te3278 )来验证主机会话是否可使用。如果主
    机会话是可使用的,人工退出会话到连接笔迹所指定的启动点;重新开始数据提取。如果主
    机会话非常慢,应增加锁定时间参数。
    -26233 API 错误:无效的字符。
    这是一个内部错误。退出数据提取并重新选项。
    -26234 API 错误:无效的笔迹。
    连接或停止连接笔迹无效。使用笔迹器实用工具来重新创建连接或停止连接笔迹。确信笔迹
    在 ANSAPI 环境变量所指定的目录中。
    -26235 API 错误:无效的笔迹口令。
    连接或停止连接笔迹口令不正确。在 SETUP 屏幕上,检验连接或停止连接笔迹口令的正确性。
    -26236 API 错误:输入超屏幕末端。
    3270 仿真器会话不在连接笔迹所需要的终端会话屏幕上。退出数据提取并确认连接笔迹是正
    确的。使用 3270 仿真器软件来确定它是否在连接笔迹所希望的屏幕上。
    -26237 API 错误: 显示字段输入太长。
    3270 仿真器会话不在连接笔迹所需的终端会话屏幕上。退出数据提取并确认连接笔迹是正确
    的。使用 3270 仿真器软件确保它在连接笔迹所要的屏幕上。
    -26238 API 错误:在等待主机回答时,锁定时间极限到期。
    在 SETUP 屏幕中锁定时间参数中,在设置时间极限内,主机没有响应。主机现在不能使用或
    是忙。在主菜单上使用安装选项来存取 SETUP 屏幕。如果错误仍然出现,请重新提交请求。
    -26239 API 错误:无效的主机环境参数。
    指定的主机环境无效。在 SETUP 屏幕上修改主机环境参数。
    -26240 API 错误:无效的 Answer/DB 口令参数。
    指定的 Answer/Extractor 口令无效。在 SETUP 屏幕上检验 Answer/DB 口令参数。
    -26241 API 错误:无效的 Answer/DB 设置文件名参数。
    指定的 Answer/Extractor 设置文件名无效。在 SETUP 屏幕上检验 Answer/DB 设置文件名
    参数。
    -26242 API 错误:不清晰的回答。
    3270 仿真器会话不在连接笔迹所要的终端会话上。退出数据提取确认连接笔迹是正确的。使
    用 3270 仿真器软件以保证它在连接笔迹所要的终端上。
    -26245 API 错误:Answer/DB 调用失败。
    3270 仿真器会话不在连接笔迹所要的终端会话上。退出数据提取确认连接笔迹是正确的。使
    用 3270 仿真器软件以保证它在连接笔迹所要的终端上。
    -26246 API 错误:不能打开笔迹。
    连接或非连接的笔迹不能打开。检验连接或停止连接笔迹文件是否有合适的许可权。
    -26247 API 错误:无效的 SQLEA 结构。
    这是一个内部错误。退出数据提取并重新选项。
    -26248 API 错误:SQLDA 的大小低于最小值。
    这是一个内部错误。退出数据提取并重新选项。
    -26249 API 错误:SQLST 的大小低于最小值。
    这是一个内部错误。退出数据提取并重新选项。
    -26250 API 错误:无效的查询名字。
    这是一个内部错误。退出数据提取并重新选项。
    -26251 API 错误:无效的 SQLDA 结构。
    这是一个内部错误。退出数据提取并重新选项。
    -26252 API 错误:无效的 SQLST 结构。
    这是一个内部错误。退出数据提取并重新选项。
    -26253 API 错误:SQLDA 结构太小。
    这是一个内部错误。退出数据提取并重新选项。
    -26254 API 错误:SQLST 结构太小。
    这是一个内部错误。退出数据提取并重新选项。
    -26255 API 错误:SQLDA 不含有显示字段名。
    这是一个内部错误。退出数据提取并重新选项。
    -26256 API 错误:没有发现 SELECT。
    这是一个内部错误。退出数据提取并重新选项。
    -26257 API 错误:没有发现 FROM。
    在当前的 EXTRACT 语句中的 SELECT 子句中遗漏了 FROM 子句。修改并重新运行 EXTRACT
    语句。
    -26258 API 错误:无效的 SELECT 引用。
    在当前的 EXTRACT 语句中的 SELECT 子句无效。修改并重新运行 EXTRACT 语句。
    -26259 API 错误:无效的 FROM 引用。
    在当前的 EXTRACT 语句中的 SELECT 子句中有一个无效的 FROM 引用。修改并重新运
    行 EXTRACT 语句。
    -26260 API 错误:无效的范围变量。
    在当前的 EXTRACT 语句中的 SELECT 子句中含有无效的范围变量。修改并重新运行 EXTRACT
    语句。
    -26262 API 错误:在 WHERE 子句中无效的比较。
    在当前的 EXTRACT 语句中的 WHERE 子句里含有无效的比较。修改并重新运行 EXTRACT 语句。
    -26263 API 错误:无效的函数引用。
    在当前的 EXTRACT 语句中的 SELECT 子句里的函数引用无效。修改并重新运行 EXTRACT 语句。
    -26265 API 错误:ORDER BY 含有未选择的显示字段。
    在当前的 EXTRACT 语句中的 ORDER BY 子句中指定的一些显示字段没有被选择。修改
    SELECT 子句以便选择该显示字段,重新运行 EXTRACT 语句。
    -26267 API 错误:无效的通配符。
    在当前的 EXTRACT 语句中的 SELECT 子句里的通配符无效。修改并重新运行 EXTRACT 语句。
    -26268 API 错误:无效的替换。
    这是一个内部错误。退出数据提取并重新选项。
    -26269 API 错误:不清晰的关键字。
    这是一个内部错误。退出数据提取并重新选项。
    -26270 API 错误:无效的预定义查询。
    这是一个内部错误。退出数据提取并重新选项。
    -26271 API 错误:主机连接不能建立。
    主机上对 Answer/Extractor 连接现在不能建立。退出数据提取并重新提交请求。
    -26272 API 错误:主机连接不能被终止。
    主机上对 Answer/Extractor 连接不能被终止。主机会话可能已经被不可预料地停止连接。
    使用仿真软件,例如 te3278,来检验主机连接是否被终止。会话可能需要人工来终止。
    -26273 API 错误:无效的分类数。
    分类参数中设置的值无效。请咨询 Answer/Extractor DBA 以决定有效分类数。在 SETUP 屏
    幕上修改分类数,并重新运行 EXTRACT 语句。
    -26274 API 错误:无效的项目计算。
    在进程参数的最大记录中设置的值无效。在 SETUP 屏幕上修改该参数,然后再运行 EXTRACT
    语句。
    -26275 API 错误:无效的记录计算。
    在检索参数的最大记录中设置的值无效。在 SETUP 屏幕上修改该参数,然后再运行 EXTRACT
    语句。
    -26276 API 错误:无效的 SQLST 查询。
    这是一个内部错误。退出数据提取并重新选项。
    -26277 API 错误:表在主机上不存在。
    在当前的 EXTRACT 语句中所指定的主机表不存在,虽然它列在了词汇表中。主机表的词汇表
    可能已超过日期。重新更新整个主机表的词汇表。
    -26278 API 错误:在主机上显示字段不存在。
    在当前的 EXTRACT 语句中所指定的主机显示字段之一在主机上不存在,虽然它列在了主机表
    的词汇表中。主机表的词汇表可能已超过日期。对于有问题的主机表,重新更新主机表信息。
    -26279 API 错误:对 Answer/Extractor 查询太大。
    当前的 EXTRACT 语句中的 SELECT 子句太长。
    -26280 API 错误:CICS 分页代码参数遗漏。
    CICS 分页代码遗漏。使用 SETUP 屏幕来设置 CICS 分页代码参数。
    -26281 API 错误: 不能找到信息文本。
    当数据提取试图检索主机数据或检查任务状态时,没有从大型主机接收到所需的信息。退出
    数据提取并重新选项。
    -26282 API 错误: 无效的 SQLCR 结构。
    这是一个内部错误。退出数据提取并重新选项。
    -26283 API 错误:环境已有打开的游标。
    这是一个内部错误。退出数据提取并重新选项。
    -26284 API 错误:SQLCR 结构已经打开。
    这是一个内部错误。退出数据提取并重新选项。
    -26285 API 错误:在主机上的查询数据不能使用。
    在当前的 EXTRACT 语句中的 SELECT 子句里的结果在主机上不能使用。重新运行 EXTRACT
    语句。
    -26286 API 错误:SQLCR 结构没有打开。
    这是一个内部错误。退出数据提取并重新选项。
    -26287 API 错误:ORDER BY 显示字段重复。
    在当前的 EXTRACT 语句中的 ORDER BY 子句里的主机显示字段重复。修改并重新运行
    EXTRACT 语句。
    -26288 API 错误:GROUP BY 显示字段重复。
    在当前的 EXTRACT 语句中的 GROUP BY 子句里的主机显示字段重复。修改并重新运行
    EXTRACT 语句。
    -26289 API 错误:表达式的成分太长。
    在当前的 EXTRACT 语句中的 SELECT 子句里的表达式太长。修改并重新运行 EXTRACT 语句。
    -26290 API 错误:不能识别表达式的成分。
    在当前的 EXTRACT 语句中的 SELECT 子句里的表达式无效。修改并重新运行 EXTRACT 语句。
    -26291 API 错误:在表达式之间遗漏连接符。
    在当前的 EXTRACT 语句中的 SELECT 子句遗漏了表达式之间的连接符。修改并重新运行
    EXTRACT 语句。
    -26292 API 错误:遗漏闭括号。
    在当前的 EXTRACT 语句中的 SELECT 子句遗漏一个匹配的闭括号。修改并重新运行 EXTRACT
    语句。
    -26293 API 错误:上下文数据类型不正确。
    在当前的 EXTRACT 语句中的 SELECT 子句含有不正确的数据类型项。修改并重新运行
    EXTRACT 语句。
    -26294 API 错误:遗漏开括号。
    在当前的 EXTRACT 语句中的 SELECT 子句遗漏一个开括号。修改并重新运行 EXTRACT 语句。
    -26295 API 错误:ESCAPE 值必须是单一字符。
    在当前的 EXTRACT 语句中的 SELECT 子句含有一个无效的 ESCAPE 值。修改并重新运行
    EXTRACT 语句。
    -26296 API 错误:需要显示字段名。
    在当前 EXTRACT 语句中的 SELECT 子句至少需要一个主机显示字段名。修改并重新运行
    EXTRACT 语句。
    -26297 API 错误:查询含有另外的文本。
    当前 EXTRACT 语句中 SELECT 子句含有另外的文本。修改并重新运行 EXTRACT 语句。
    -26298 API 错误:内部查询语法解释器错误。
    这是一个内部错误。退出数据提取并重新选项。
    -26299 API 错误:必须至少选择一个显示字段或函数值。
    当前 EXTRACT 语句中的 SELECT 子句没有包含任何主机显示字段或函数值引用。修改并重新
    运行 EXTRACT 语句。
    -26300 API 错误:不支持 DISTINCT。
    当前 EXTRACT 语句中的 SELECT 子句包含有不支持的关键字 DISTINCT。修改并重新运
    行 EXTRACT 语句。
    -26301 API 错误:在这里不能使用 ALL。
    当前 EXTRACT 语句的 SELECT 子句里的 ALL 关键字用错。修改并重新运行 EXTRACT 语句。
    -26302 API 错误:无效的摘要函数。
    当前 EXTRACT 语句的 SELECT 子句中的聚合函数无效。修改并重新运行 EXTRACT 语句。
    -26303 API 错误:无效的 GROUP BY 子句。
    当前 EXTRACT 语句中的 GROUP BY 子句无效。修改并重新运行 EXTRACT 语句。
    -26304 API 错误:无效的 ORDER BY 子句。
    当前 EXTRACT 语句中的 ORDER BY 子句无效。修改并重新运行 EXTRACT 语句。
    -26305 API 错误:不能初始化 NULL SQLDA。
    这是一个内部错误。退出数据提取并重新选项。
    -26306 API 错误:不能初始化 NULL SQLCA。
    这是一个内部错误。退出数据提取并重新选项。
    -26307 API 错误:不能初始化 NULL SQLEA。
    这是一个内部错误。退出数据提取并重新选项。
    -26308 API 错误:不能初始化 NULL SQLST。
    这是一个内部错误。退出数据提取并重新选项。
    -26309 API 错误:不能初始化 NULL SQLCR。
    这是一个内部错误。退出数据提取并重新选项。
    -26310 API 错误:SQLST 没有准备好。
    这是一个内部错误。退出数据提取并重新选项。
    -26311 API 错误:无效的预定义查询。
    这是一个内部错误。退出数据提取并重新选项。
    -26312 API 错误:没有执行预定义的查询。
    这是一个内部错误。退出数据提取并重新选项。
    -26313 API 错误:无效的查询名字。
    这是一个内部错误。退出数据提取并重新选项。
    -26314 API 错误:游标已经在使用并打开。
    这是一个内部错误。退出数据提取并重新选项。
    -26315 API 错误:游标没有打开。
    这是一个内部错误。退出数据提取并重新选项。
    -26316 API 错误:没有会话可供使用。
    现在没有主机会话可供使用。重新提交请求。确认以前的会话或前面启动的进程已经结束。
    -26317 API 错误:没有发现驱动器扫描代码文件。
    未能发现驱动器扫描代码文件 (driver.dsc) ,检验由 ANSAPI 环境变量所指定的路径中,
    或者若未设置 ANSAPI 的当前目录中,driver.dsc 文件是否存在。如有必要,从
    $INFORMIXDIR/etc 上拷贝该文件。
    -26318 API 错误:无效的信息文件。
    信息文件 (message.txt) 无效或被破坏。从 $INFORMIXDIR/etc 上将信息文件重新拷贝到由
    环境变量 ANSAPI 指定的路径上,如果 ANSAPI 没有设置,就拷贝到当前目录下。
    -26319 API 错误:信息文件太长。
    信息文件 (message.txt) 无效或被破坏。从 $INFORMIXDIR/etc 上将信息文件重新拷贝到由
    环境变量 ANSAPI 指定的路径上,如果 ANSAPI 没有设置,就拷贝到当前目录下。
    -26320 API 错误:读文件时出错。
    这是一个内部错误。退出数据提取并重新选项。
    -26321 API 错误:无足够的内存来读取文件。。
    这是一个内部错误。退出数据提取并重新选项。
    -26322 API 错误:文件没有发现。
    未能发现 message.txt 文件或 config.txt 文件。确认这些文件的存在。
    -26323 API 错误:无效的选项描述符。
    在 message.txt 文件,config.txt 文件或参数串中的输入无效。纠正该错误。
    -26324 API 错误:无效的参数值。
    message.txt 文件,config.txt 文件或参数串含有无效的参数值。纠正该错误。
    -26325 API 错误:无效的选项关键字。
    message.txt 文件,config.txt 文件或参数串含有无效的选项关键字。纠正该错误。
    -26326 API 错误:固定时间参数遗漏。
    固定时间参数从主机配置文件中遗漏。使用 SETUP 屏幕来设置 固定时间参数。
    -26327 API 错误:锁定时间参数遗漏。
    锁定时间参数从主机配置文件中遗漏。使用 SETUP 屏幕来设置 锁定时间参数。
    -26328 API 错误:主机环境参数遗漏。
    主机环境参数从主机设置文件中遗漏。使用 SETUP 屏幕来设置主机环境参数。
    -26329 API 错误:Answer/DB 调用代码参数遗漏。
    Answer/DB 调用代码参数从主机设置文件中遗漏。使用 SETUP 屏幕来设置 Answer/DB 调用
    代码参数。咨询 Answer/Extractor DBA 以决定 Answer/Extractor 调用代码。
    -26330 API 错误:Answer/DB 设置文件名字参数遗漏。
    Answer/DB 设置文件名字参数从主机设置文件中遗漏。使用 SETUP 屏幕来设置 Answer/DB
    设置文件名字参数。咨询 Answer/Extractor DBA 以决定 Answer/Extractor 的设置文件名
    字。
    -26331 API 错误:CICS 分页代码参数遗漏。
    CICS 分页代码参数从主机配置文件中遗漏。使用 SETUP 屏幕来设置 CICS 分页代码参数。
    咨询 Answer/Extractor DBA 以决定 CICS 分页代码。
    -26332 API 错误:CICS 终端代码参数遗漏。
    CICS 终端代码参数从主机配置文件中遗漏。使用 SETUP 屏幕来设置 CICS 终端代码参数。
    咨询 Answer/Extractor DBA 以决定 CICS 终端代码。
    -26337 API 错误:报表中没有更多的数据。
    这是一个内部错误。退出数据提取并重新选项。
    -26338 API 错误:无效的计时器值。
    这是一个内部错误。退出数据提取并重新选项。
    -26339 API 错误:帮助文件不存在。
    这是一个内部错误。退出数据提取并重新选项。
    -26341 API 错误:参数类型错。
    这是一个内部错误。退出数据提取并重新选项。
    -26342 API 错误:没有足够的参数值。
    这是一个内部错误。退出数据提取并重新选项。
    -26343 API 错误:主机表不含显示字段。
    这是一个内部错误。主机表不含有 SELECT 子句中所列出的显示字段,或者主机表不含任何
    显示字段。
    -26344 API 错误:分类值超出范围。
    分类参数中设置的值超出范围。使用 SETUP 屏幕修改分类参数。
    -26345 API 错误:最大值超出范围。
    要处理参数的最大记录或要检索参数的最大记录中的值,超出范围。使用 SETUP 屏幕修改参
    数。
    -26346 API 错误:报表中没有更多的数据。
    这是一个内部错误。退出数据提取并重新选项。
    -26347 API 错误:报表含有不完整的数据。
    这是一个内部错误。退出数据提取并重新选项。
    -26348 API 错误:超出报表的大小;无数据。
    在当前的 EXTRACT 语句中的 SELECT 子句选择的结果数据超出主机允许的大小。修改
    EXTRACT 语句选取较少的数据。重新运行 EXTRACT 语句。
    -26349 API 错误:报表缓冲区太小。
    这是一个内部错误。退出数据提取并重新选项。
    -26350 API 错误:摘要变量与主机冲突。
    这是一个内部错误。退出数据提取并重新选项。
    -26351 API 错误:笔迹文件不能读。
    不能读连接或停止连接的笔迹文件。检验连接或停止连接的笔迹文件是否有合适的许可权。
    若有必要,使用笔迹器实用工具重新建立许可权。
    -26352 API 错误:对笔迹文件没有足够的内存。
    内存分配错误。退出数据提取并重新选项。
    -27000 在共享内存中不支持多重连接。
    一个应用程序不能使用 CONNECT 语句,进行一次以上的使用共享内存通信(IPC)的连接。
    确保应用程序一次只进行一个共享内存连接。如果应用程序必须使用并行连接,OnLine 管理
    员,可能需要将共享内存连接改为网络连接的连接类型(在 sqlhosts 文件中的 nettype 字
    段中指定)
    -27001 在连接期间,出现读错误。
    这个错误在客户端和数据库服务器端都可能发生。如果是在客户端遇到这个错误,表示在连
    接数据库服务器时,出现网络输入/输出错误。可能是数据库服务器或网络非常忙,导致连接
    申请时间用完;也可能是太多的客户端同时企图连接数据库服务器;或者是在连接申请中数
    据库服务器进入 off-line 状态。
    如果在使用 INFORMIX -OnLine 动态服务器,检验数据库服务器是否仍在 OnLine 状态。如果
    在使用 INFORMIX- SE 数据库服务器;检验数据库服务器的 sqlexecd daemon 是否仍在运行。
    用客户端的环境变量INFORMIXCONTIME 和INFORMIXCONRETRY来增加连接时间和尝试的次数。
    当是在数据库服务器端遇到这个错误,表示数据库服务器在接受客户端的连接申请时,警告
    遇到了一个网络输入/输出错误。这个错误通常发生在数据库服务器或网络繁忙或者也可能是
    太多的客户端同时企图连接数据库服务器。这样数据库服务器需要用很多时间来响应客户端,
    以至于客户的连接申请在连接完成之前就用尽时间。这个错误也有可能是客户端在连接完全
    建立之前就结束了连接申请。
    如果仅仅是偶尔在服务器的信息日志文件见到这个错误,那只是个警告信息。不需要任何纠
    正措施。
    如果这个错误在 INFORMIX-OnLine 服务器(运行于多处理器之上)频繁出现,可以通过增加
    监听线索和轮询线索的数目来调整数据库服务器。
    -27002 在 OnLine 静态方式中,不允许连接。
    试图连接处于静态方式的数据库服务器。检查当前的 INFORMIXSERVER 环境变量的设置情况。
    请求 OnLine 管理员将相应的 OnLine 数据库服务器置成 OnLine 状态。
    -27003 内部的通信错误:检测到内部不相容。
    Informix 客户/服务器通信系统已检测到内部不相容。一般是客户应用程序报告这一错误。
    它可以是由于程序设计的缺陷造成内存损坏错误。如果由数据库服务器或实用工具报告的错
    误,那么这是一个 Informix 的内部错误。当 Informix 的内部错误出现时,请记录下所有
    细节,并与 Informix 技术支持部联系。
    -27004 关于数据库服务器名,服务器名的非法的 sqlhosts 文件选项/参数。
    在 sqlhosts 文件中指定了一个无效的选项或参数。检查 sqlhosts 文件中与服务器名相关
    的的选项 ID 和参数。
    -27005 非法的 sqlexecd daemon 选项,选项值指定了一个无效的 sqlexecd daemon 选项。
    检查该选项选项值及其参数。
    -27006 网络驱动器不能建立监听端点。
    指定了流管道(ipcstr)作为这个数据库服务器的网络通讯方式。但数据库服务器不能生成流
    管道。这个错误的最可能原因是网络上的另外一个数据库服务器已经正在使用这个数据库服
    务器的服务器名。
    检查在$INFORMIXIR/etc/sqlhosts 文件中的服务器名是否在网络上的所有数据库服务器中
    为唯一。如果唯一,那么检查作为额外错误消息出现的 ISAM 代码。
    -27007 为用户线索所开启的文件描述符无效
    TLITCP 轮讯线索出现 Informix 内部网络错误。请记录下所有细节,并与 Informix 技术支
    持部联系。
    -29000 应用服务器错误 (服务器错误号)
    出现了普通的应用服务器错误。检查原始的外部 SQLCODE。它能在 SQLERRD[1] 或 SQLERRM
    的部分中发现。在对外部服务器产品的文档中查找对这一 SQLCODE 的解释。在 SQLERRM 字
    段中返回的标记适用于这个解释。
    -29002 提供的 <真实-RDB-名字 >与在 sqlhosts 文件中的 <真实-RDB-名字 >不匹配。
    在用户给出的< 真实-RDB-名字> 和从用户使用 sqlhosts 文件给出的 <别名-RDB-名字> 之
    间检测到失配。
    检查用户给出的< 真实-RDB-名字> 的拼写是否有错。保证用户提供的 <别名-RDB-名字>是正
    确的。对 <别名-RDB-名字> 的输入检查 在 sqlhosts 文件中的 <真实-RDB-名字>字段
    (servicename 域) ,并保证它拼写正确。
    -29003 RDB 真实-RDB-名字 在应用服务器中没有发现。
    虽然已经分配了通信会话,但应用服务器拒绝连接,因为它有一个不同于应用程序所
    希望连接的 真实- DB-名字。
    检查网关机器上的 sqlhosts 文件。确定该项与应用程序引用的别名-RDB-名字一致。确保在
    服务名字段中已键入了正确的值。
    -29004 DRDA 协议错误。ReplyMsg[,sub-code]:<ReplyMessage-codepoint [,sub-code]>。
    一个 DRDA 协议错误妨碍了当前 SQL 语句的成功执行。但这一错误不影响后继的 SQL 语句
    的执行。
    接收到一个来自应用服务器的 DRDA 内部分布式数据管理 ( DDM)的回应信息(RM),消息表明
    已经出现了错误。应用服务器,也可能是由应用请求程序 (AR) 检测到的错误。
    返回一个十六进制<代码>和一个可能的十六进制<附属代码>作为 SQLERRM 中的标记。
    理解这些十六进制<代码>和十六进制<附属代码>需要有 DDM 方面的知识。
    十六进制<代码>是关于表示错误的 DDM 回应信息的两字节十六进制代码,有下列形式之一:
  • X'220A' -- DSCINVRM
  • X'124C' -- SYNTAXRM
  • X'1245' -- PRCCNVRM
  • X'1254' -- CMDCHKRM
  • X'220E' -- DTAMCHRM
  • X'2202' -- QRYNOPRM
  • X'220F' -- QRYPOPRM
  • X'2207' -- RDBACCRM
  • X'2204' -- RDBNACRM
    开始的三个原因代码(DSCINVRM, SYNTAXRM 和 PRCCNVRM)各带有一个两字节的十六进制的<
    附属代码>。在其它情况下,附属代码为零。
    当附属代码为非零时,<附属代码>的高字节表示检测到的错误的位置。如果是 AR 检测到的错
    误,它是 X'01'。如果是应用服务器检测到的错误,它是 X'02'。附属代码的低字节含义如
    下:
  • 如果原因代码是 DSCINVRM,描述错误代码是 DSCERRCD
  • 如果原因代码是 SYNTAXRM,句法错误代码是 SYNERRCD
  • 如果原因代码是 \xllPRCCNVRM,会话协议错误代码是 PRCCVNCD
    通知 DBA 协助你分析产生这一 SQLCODE 的 SQL 语句。如果错误重复出现,请记录下所有细
    节,并与 Informix 技术支持部联系。
    -29005 硬件 DRDA 协议错误。ReplyMsg[,sub-code]:ReplyMessagecodepoint[,sub-code]。
    DRDA 协议错误引起会话死锁。
    接收到来自应用服务器的一个 DRDA 内部分布式数据管理(DDM)回应信息 (RM),它表示出现
    了错误。这表明是由应用服务器,也有可能是由应用请求程序 (AR) 检测到了一个错误。
    返回十六进制<代码>并可能返回十六进制<附属代码>作为 SQLERRM 中的标记。
    理解十六进制<代码>和十六进制<附属代码>的意义需要 DDM 方面的知识。
    十六进制<代码>是两字节的 DDM 回应信息的十六进制代码,它表示出错且是下列形式之一:
  • X'220A' -- DSCINVRM
  • X'124C' -- SYNTAXRM
  • X'1245' -- PRCCNVRM
  • X'1218' -- MGRDEPRM
  • X'1232' -- AGNPRMRM
  • X'1254' -- CMDCHKRM
  • X'220E' -- DTAMCHRM
  • X'2202' -- QRYNOPRM
  • X'220F' -- QRYPOPRM
  • X'2207' -- RDBACCRM
  • X'2204' -- RDBNACRM
    开始的四个原因代码上(DSCINVRM,SYNTAXRM, PRCCNVRM 和 MGRDEPRM)各附有一个字节的十
    六进制的<附属代码>。在其它情况下,附属代码为零。
    当附属代码为非零时,附属代码的高字节表示被检测到的错误的位置。如果是 AR 检测到的
    错误,它为 X'01'。如果是应用服务器检测到的错误,它为 X'02'。附属代码的低字节含义如
    下:
  • 如果原因代码是 DSCINVRM,描述错误代码是 DSCERRCD
  • 如果原因代码是 SYNTAXRM,句法错误代码是 SYNERRCD
  • 如果原因代码是\xll PRCCNVRM,会话协议错误代码是 PRCCVNCD
  • 如果原因代码是\xll MGRDEPRM,管理程序相关错误代码是 DEPERRCD
    通知 DBA 协助你分析产生这一 SQLCODE 的 SQL 语句。如果错误重复出现,请记录下所有细
    节,并与 Informix 技术支持部联系。
    -29006 DRDA 连接协议错误。不支持管理员,级:(,)。
    连接进程失败。
    用服务器不能支持在 DRDA 连接进程期间 AR 所需的 DRDA 管理员级。
    返回管理员(MGRLVL)的十六进制代码和请求级别的十六进制代码,作为 SQLERRM 中的标记。
    试图再次连接应用服务器。如果问题继续出现,通知 DBA 协助你解决问题。
    如果错误重复出现,请记录下所有细节,并与 Informix 技术支持部联系。
    -29007 RDB 授权失败。RDB-用户 ID:<RDB-用户 ID>,<RDB-名字>。
    没有授权给用户存取目标 RDB。这一请求被拒绝。
    若有必要,请与 RDB 方的 DBA 联系。解决权限问题后,重新运行应用程序。
    -29008 不支持 DDM 参数 (参数代码) 的错误。与 AS 停止了连接。
    遇到不支持的 DDM 参数。
    远端 RDB 接收到一个不支持或不能被识别的 DDM 参数。终止当前的 SQL 语句。应用程序与
    应用服务器停止连接。
    返回故障中的 DDM 参数的十六进制代码,作为 SQLERRM 中的标记。
    要理解 DDM 参数中的十六进制代码需要 DDM 方面的知识。
    再次运行应用程序。如果问题继续出现,通知 DBA 协助你分析产生该 SQLCODE 的 SQL 语句。
    如果错误重复出现,请记录下所有细节,并与 Informix 技术支持部门联系。
    -29009 不支持 DDM 参数 (参数,参数值)。跟 AS 停止连接。
    远端 RDR 接收到一个不支持或不能识别的 DDM 参数值。终止当前的 SQL 语句。应用程序与
    应用服务器停止连接。
    故障中返回的 DDM 参数和参数值的十六进制代码,作为 SOLERRM 中的标记。
    要理解 DDM 参数和参数值的十六进制代码,需要 DDM 方面的知识。
    再次运行应用程序。如果问题继续出现,通知 DBA 协助你分析产生该 SQLCODE 的的 SQL 语
    句。如果错误重复出现,请记录下所有细节,并与 Informix 技术支持部联系。
    -29010 网关不支持 AS 回应的信息 (codepoint=)。
    网关接收到一个不支持或不能识别的 DDM 回应信息。当前的 SQL 语句被中止。应用程序停
    止跟应用服务器的连接。
    接收到的 DDM 回应信息的十六进制代码被作为 SQLERRM 中的标记返回。
    要理解 DDM 回应信息的十六进制代码需要 DDM 方面的知识。
    试图再次运行应用程序。如果问题继续出现,通知 DBA 协助你分析产生该 SQLCODE 的 SQL
    语句。如果错误重复出现,请记录下所有细节,并与 Informix 技术支持部门联系。
    -29011 SNA 通讯错误。
    Informix SQLCODE,本地-SNA-rc: Informix-通讯-SQLCODE,本地 SNA 返回码。
    一个 Informix 通讯相关的 SQLCODE 和一个十六进制本地 SNA 服务返回码作为一个标记被返
    回到 SQLERRM 中。
    Informix 与通讯相关的 SQLCODE 是由 Informix 通讯适应服务进程产生的一个与平台无关
    的返回代码。该错误的更多特定描述请参考这个 SQLCODE 的解释。
    本地 SNA 服务返回代码是由本地 SNA 服务产生的一个返回代码。本地 SNA 服务在每个特殊平
    台提供 SNA 支持。参考制造商文档中有关基本通迅服务器提供的 SNA 支持和对这个返回代码
    的解释。
    确认本地 SNA/APPC 服务器的安装是正确的。检查全部要求的 SNA daemon 进程正在执行(如
    果需要)。而且要检查是否正确安装了目标 RDB 的<联接文件>。在一个 SUN 环境中,还要检查
    是否正确安装了 SUN APPC 网关。
    -29012 一个或多个表已经被删除,变更,或换名。
    一个准备的语句无效了,因为它参考的表的模式已经改变。你必须重新准备该语句。
    -29013 AS 资源不可使用。原因,类型,名字,PrdID,RDB:<原因>,<资源类型>,
    <资源名字>,<产品 ID>,<RDB 名>。
    在远程 RDB 上的资源不可使用。当前的 SQL 语句被终止。
    <原因>,<资源类型>,<资源名字>,<产品 ID>,和<RDB 名>作为一个标记返回到 SQLERRM 中。
    检验不可使用的资源的身份。确认应用服务器有所需的资源。
    -29014 硬件 AS 资源不可使用。原因,类型,名字,PrdID,RDB:<原因>,<资源类型>,<
    资源名字>,<产品 ID>,<RDB 名>。在远程 RDB 上的资源不可使用。该应用从应用服务器被断
    开。
    <原因>,<资源类型>,<资源名字>,<产品 ID>,和<RDB 名>作为一个标记返回到 SQLERRM 中。
    检查不可使用的资源的身份。确认应用服务器有需要的资源。再运行该应用。
    -29015 连接期间试图不连接相关的 DDM 命令(码点=)。
    当处理一个远程连接时试图的远程执行一个 SQL 语句或一个远程命令。连接期间允许的命令
    只有 Bind,End Bind,Rollback,或 Commit 语句。
    这是一个网关内部逻辑错误。有问题的 DDM 命令作为一个标记返回 SQLERRM 中。
    来自最终用户的应用不应该进入连接方式。只有在 gwdba 实用工具的包连接进程中,包连接
    才能进行。再运行该应用。如果出现错误,请记下全部细节并与 INFORMIX 技术支持部门联系。
    -29016 当连接不活动时遇到连接相关的命令(码点=)。
    当包不是正经过连接处理时,试图用指定包名和一致性令牌进行一个语句的连接或者结束连
    接。
    这是一个网关内部逻辑错误。再试一次该应用。如果再出现错误,请记录全部细节并与
    INFORMIX 技术支持部门联系。
    -29018 AS 不支持该 DDM 命令:
    应用服务器不支持该 DDM 命令。这个错误导致命令处理的终止。该应用也被从应用服务器断
    开。
    SQLERRM 包含了有问题的 DDM 命令的十六进制码点。
    再运行该应用。如果该问题继续出现,通知 DBA 帮助分析产生这个 SQLCODE 的 SQL 语句。如
    果再次出现错误,请记下全部细节并与 INFORMIX 技术支持部门联系。
    -29019 AS 不支持该 DDM 对象类型:
    应用服务器不支持该 DDM 对象类型。当前的 SQL 语句处理被终止。该应用从应用服务器断开。
    SQLERRM 包含了有问题对象类型的十六进制 DDM 码点。
    再次运行该应用。如果该问题继续出现,通知 DBA 帮助分析产生这个 SQLCODE 的 SQL 语句。
    如果再次出现错误,请记下全部细节并与 INFORMIX 技术支持部联系。
    -29030 网关不支持的特性
    网关不支持的特性。(例如,网关不支持 Informix 特有的 SQL 语句或 Informix 特有的数据
    类型。)不支持的特性作为一个标记返回到 SQLERRM 中。
    改正该应用,并在 SQL 语句上,不使用网关不支持的任何特性。因为,SQL 语句在执行期间将
    跨越该网关。
    -29031 表或视图名 objname 有不合法的格式
    gwdba 实用工具的加表与清除表选项用于从应用服务器上的 Informix 目录增加与清除表与
    视图,这些选项需要表名或视图名的文件作为输入。列出的表名或视图名(objname)具有不合
    法的格式。文件中的表名与视图名必须具有以下格式:owner.tabname
    -29032 应用服务器 CCSID(s) 不能确定。
    网关被要求对客户操作系统定位执行 outbound 字符代码集转换,但是,网关不能确定应用
    服务器的 CCSID(s)。
    通知网关管理员。管理员必须设置 GWASCCSID 环境变量以同应用服务器的单字节 CCSID 相
    匹配。如果正在使用网络模式,网关管理员必须停止并在设置 GWASCCSID 环境变量之后重新
    设置网关 daemon。然后,网关管理员必须使用 CONNECT 或 DATABASE 语句连接到应用服务
    器上。通过这一连接就得到高速缓存文件$INFORMIXDIR/gw/sysinfo/prnccsid.dat 中的所有
    CCSID。
    -29033 不能装入 Informix GLS 位置:
    localename,errno,locale-file-name。
    localename
    不能被装入的 Informix GLS 位置的名称。localename 的值必须是 language_territory 代
    码集中的格式。
    errno
    一个数,它指示不能装入 Informix GLS 位置的特殊原因。
    locale-file-name
    不能被装入的 Informix GLS 位置文件的子目录与文件名(例如,/en_US/0333.1co)。
    语言
    语言名的双字母小写缩写。

    界名的双字母大写缩写。
    代码集
    位置的字符代码集名。
    代码集字段的有效值存储在 INFORMIXDIR/gls/cm/REGISTRY 文件中。这些值是描述代码集的
    字符串。但是,如果代码集字段值是 1 到 65535 之间的一个整数,它就是一个可接受的值,
    甚至当它不在 REGISTRY 文件中亦如此。装入由 localename 说明的 Informix GLS 位置的努
    力失败,这是由于下面的 errno 指出的原因造成的:
    6: 位置说明 localename 格式不正确。网关管理员必须改正这个说明。
    7: locale-file-name 指定的位置文件不存在。
    如果合适的目录(参见下节)不包含子目录与文件名在 locale-file-name 中说明的位置文
    件,就不能使用 Informix GLS 位置。阅读你的 Informix 产品文档(利用文档中描述的环
    境变量或其它机制)确保已经正确说明了 Informix GLS localename。该 InformixGLS
    localename 可能不正确,或者可能等价于其它可用的 Informix GLS localename。
    如果 locale-file-name 说明的子目录和文件名存在,检查你的产品安装是否正确,以使
    Informix GLS 位置文件能够被定位。特别要确保按照网关安装说明
    设置(或不设置)GL PATH 环境变量:
  • 如果 GL PATH 未设置,检查由 locale-file-name 说明的子目录与文件是否在
    $INFORMIXDIR/gls/lc 目录中。
  • 如果 GL PATH 被设置,检查由 locale-file-name 说明的子目录与文件是否在 GL
    PATH 环境变量所说明的某个目录中。
    10: locale-file-name 说明的位置文件不是位置文件。
    locale-file-name 说明的位置文件不是一个 Informix GLS 位置文件,或者,位置文件已损
    坏。检查你是否使用了你的 Informix 产品供应商提供的位置文件。如果位置文件已损坏,
    从原安装文件中刷新这个文件。
    11: 位置对象不一致。
    位置对象不一致。例如,在每个位置范畴中未使用相同的代码集。与你的 Informix 产品供
    应商联系以获得帮助。任何其它 errno:与你的 Informix 产品供应商联系以获得帮助。
    -29034 字符代码集转换错误。标记:from-cs-num、to-cs-num、cftype、objtype、position。
    在将一个字符串从 from-cs-num 标识的代码集转换到 to-cs-num 标识的代码集时,字符代
    码集转换失败。
    cftype
    转换失败类型。
    from-cs-num
    输入代码集的代码集号。检查你的 Informix 产品文档中描述该代码集号标识的代码集。
    objtype
    被转换的对象的类型。
    position
    被转换的值的顺序位置。
    to-cs-num
    输出代码集的代码集号。检查你的 Informix 产品文档中描述该代码集号标识的代码集。以
    下是可能的 cftype 值:
  • 如果 cftype 是“unmapped input char”(cpstring),则在输出代码集中,输入
    字符不存在,而且,转换表未定义输入字符的替换输出字符。cpstring 值指示长度最长为 4
    字节的输入字符串,该输入字符串从不能转换的码点开始。码点字节的二进制值用 cpstring
    表示成十六进制字符串(例如,‘clc3d1f0')。这一失败类型可能由以下两个原因产生:
  1. 被转换的字符数据是错误的。改正被转换的字符数据。
  2. 代码集转换表不正确或不完全。与你的 Informix 软件分销商联系以获得帮助。
  • 如果 cftype 是“bad form”,输入字符串相对于内部代码集定界的 shift-out 和
    shift-in 码点没有正确的形式,这里,内部代码集包含在代码集号 from cs num 标识的代
    码集中。对这种失败的类型,改正被转换的字符数据的形式。
  • 如果 cftype 是 “too long”,输出串的长度大于为该输出串分配的内部缓冲区。如
    果 objtype 是“output”,输出值大于 CHAR 数据类型的最大允许长度。
    对这种失败的类型,缩短被转换的输入字符数据。
    以下是可能的 objtype 值:
  • 如果 objtype 是“input”,则来自应用程序的输入值,诸如 SQL 语句或一个输入宿
    主变量值,正在被转换。
  • 如果 objtype 是“output”,则来自数据库的输出值,诸如 SELECT 语句的选定列表
    的字段或 表达式,正在被转换。
  • 如果 objtype 是“sqlca”,则输出 SQLDA 中 的 sqlname 字段正在被转换。
  • 如果 objtype 是“sqlca”,则 SQLCA 中的字符字段正在被转换。
    下列 position 的可能意义与 objtype 的值有关:
  • 如果 objtype 是“input”而且 position 为 0, 则输入 SQL 语句的正文不能被
    转换。
  • 如果 objtype 是“input”而且 position 不为 0,
    则 position 指明不能被转换的输入宿主变量值的顺序位置。例如,“2”是指第二个输
    入宿主变量的值不能被转换。
  • 如果 objtype 是“output”而且 position 为任意值,则位置是不能被转换的输出
    值的顺序位置,例如,SELECT 语句的选定列表的第三个值 不能被转换。
  • 如果 objtype 是“sqlda”而且 position 为 任意值,则位置是不能被转换的
    SQLDA 中的 sqlname 字段的顺序位置。
  • 如果 objtype 是“sqlca”,位置将不能转换的特殊的 SQLCA 字段命名为:
    sqlerrp、sqlwarn、sqlerrmc 或 sqlstate。
    -29035 网关收到一个不相容数据类型。
    从应用服务器收到一个不相容的或不被网关支持的数据类型。(对 INFORMIX_Gatewaywith
    DRDA,应用请求者不支持从应用服务器收到的该数据类型。)
    一些不支持的数据类型的实例是,一字节整型,十六字节浮点数。Informix 不支持这些数据
    类型。
    不要从具有 INFORMIXGateway 不能支持的数据类型的字段检索数据。
    -29036 未找到 字符代码集转换文件 from,to,locale-file-name:from_cs_num ,
    to-cs_num , filename。
    filename
    不能被找到的代码集转换文件的文件名 from_cs-num
    源代码集的代码集号。to-cs_num
    目标代码集的代码集号。
    没有找到从 from cs num 标识的代码集到 to cs num 标识的代码集转换的代码集转换表。
    参照你的 Informix 产品文档查找对这些代码集号标识的代码集的描述。如果合适的目录(参
    见下一节)不包含命名为 filename 的代码集转换文件,就不能执行代码集转换。检查你的
    Informix 产品文档以确保客户和服务器产品使用的代码集已被正确说明(使用文档中描述的
    环境变量或其它机制)。代码集号或许已被不正确地说明或者等价于其它被支持的代码集号。
    如果代码集转换表存在,检查你的产品安装是否正确,以使转换表能够定位。特别要
    确保 GL PATH 环境变量根据安装说明进行设置或不设置。
  • 如果 GL PATH 未被设置,检查转换表文件是否在 INFORMIXDIR/gls/cv 目录中。
  • 如果 GL PATH 被设置,检查转换表文件是否在 GL_PATH 环境变量说明的目录中。
    如果代码集转换表不存在,同你的 Informix 软件分销商联系以确定对你的设置需要什么代
    码集转换表。如果所要求的代码集转换表可以使用,将表放置到合适的目录中。
    -29037 没有关于 FE OS 位置<位置名>的 CCSID 或 GLS 位置设置。
    有问题的位置作为一个标记返回到 SQLERRM 中。
    通知 INFORMIX 网关管理员。管理员可以用 gwdba 实用工具为该位置增加一个表目。
    -29039 在 PREPARE/EXECUTE IMMEDIATE 中不能有多于一条的 SQL 语句。
    修改该应用以便在一个 PREPARE 或 EXECUTE IMMEDIATE 语句中不包含一条以上的 SQL 语句。
    -29040 不能把 MATCHES 模式翻译到 LIKE 模式。
    网关不支持或不能翻译在你给出的 SQL 语句的 MATCHES 条件中的一个或多个字符。尝试重写
    该语句,用 LIKE 代替 MATCHES,或是在 MATCHES 语法中不包括象'['、']'、'?'、'*'之类的
    通配符。同时检查是否在 WHERE 子句的 MATCHES 中包含了非 CHAR 或非 VARCHAR 类型的列。
    -29042 RDB 的包信息没找到。用 gwdba 连接。
    目标 RDB 的网关包信息没找到。它的出现是由于 RDB 上必要的网关包还没有被连接。
    目标 RDB 的<实际 RDB 名>作为一个标记返回到 SQLERRM 中。
    最终用户应该与 DBA 联系。DBA 可以用 gwdba 实用工具在目标 RDB 上连接需要的网关包。
    -29043 不再有剩余的 section-type 节。用更多的节重新连接网关包。
    在该应用服务器的当前包中的全部可供使用的节已被用完。当前的SQL语句被终止。通知DBA。
    DBA 可以使用 gwdba 实用工具在目标 RDB 上重新连接有更多节的网关包。
    -29044 网关内部逻辑错误[诊断错误串]。
    遇到一个内部逻辑错误。重新运行该应用。如果该错误再次出现,请记下全部细节并与
    INFORMIX 技术支持部门联系。
    -29045 网关内部逻辑错误[诊断错误串]。从 AS 断开。
    遇到一个内部逻辑错误。这个错误将导致会话的重新分配。
    重新运行该应用。如果该错误再次出现,请记下全部细节并与 INFORMIX 技术支持部门联系。
    -29046 SNA 缓冲区大小(size)是无效的。
    INFORMIX 联接网络模块设置的发送缓冲区小于 DRDA 要求大小的最小值,最小值是 512 字节,
    或者大于要求大小的最大值,最大值是 32,767 字节。
    检查网关机器上的 sqlhosts 文件。如果发送缓冲区大小可通过 sqlhosts 文件配置,确认发
    送缓冲区大小配置在从 512 字节到 32,767 字节的范围内。
    -29048 ISAM 错误:<错误信息>。
    当从一个用xxxdba实用工具管理的INFORMIX-网关ISAM安装文件读取数据时出现ISAM错误。
    出现故障的 ISaM 设置文件名及 ISAM 错误号在 SQLERRM 中返回。
    如果网关由 IPC 管道方式的方法产生,用户必须确认应用开始以前 INFORMIXDIR 环境变量的
    设置是正确的。否则,通知 DBA:
  • INFORMIX-Entrprise 网关的 DBA 必须确认$INFORMIXDIR/egw/sysinfo 目录存在且有合
    适的权限,且 ISAM 安装文件在该目录中。如果 INFORMIX-Entrprise 网关安装文件被丢失或
    损坏,运行 egwdba 建立它,或者运行 bcheckegw 实用工具对它进行修复。如果
    INFORMIX_Enterprise 网关由网络方式(即,用 daemon egwd)的方法产生,DBA 同样必须确认
    当 egwd daemon 启动时在根注册中的 INFORMIXDIR 环境变量被正确地设置。
  • INFORMIX_Gateway with DRDA 的 DBA 必须确认$INFORMIXDIR/gw/sysinfo 目录存在且有
    合适的权限,且 ISAM 安装文件在该目录中。如果网关安装文件被丢失或损坏,运行 gwdba
    建立它,或者运行 bcheckgw 实用工具对它进行修复。
    如果网关由网络方式(即,用 daemon gwd)的方法产生,INFORMIX_Gateway with DRDA 的 DBA
    同样必须确认当 gwd daemon 启动时在根注册中的 INFORMIXDIR 环境变量被正确地设置。
    -29049 不能定位/打开网关安装文件:<文件名>。
    如果你正使用 IPC 管道方式启动该网关进程,你要确认该应用开始之前 INFORMIXDIR 环境变
    量的设置是正确的。
  • 对于 INFORMIX_Gateway with DRDA:
    在定位或打开一个由gwdba 实用工具管理的网关 ISAM 安装文件时发生错误。导致错误的 ISAM
    安装文件名在 SQLERRM 中返回。
    如果你正使用网络联接,INFORMIX_Gateway with DRDA 数据库管理员必须确认在
    $INFORMIXDIR/gw/sysinfo 目录中该命名文件存在。如果该文件丢失,运行 gwdba 建立它。
    DBA 同时必须确认在 gwd daemon 启动时 INFORMIXDIR 环境变量的设置是正确的。
  • 对于 INFORMIX_Gateway with DRDA
    在定位或打开一个由 egwdba 实用工具管理的 INFORMIX_Enterprise Gateway ISAM 安装文件
    时发生错误。导致错误的 ISAM 安装文件名在 SQLERRM 中返回。
    如 果 你 正 使 用 网 络 联 结 , INFORMIX_interprise Gateway DBA 必 须 确 认 在
    $INFORMIXDIR/egw/sysinfo 目录中命名的文件存在。如果文件不存在,运行 egwdba 以建立
    它。DBA 还必须确认,在 egwd daemon 启动时,INFORMIXDIR 环境变量被正确设置。
    -29050 访问模式信息出错(Orig-Msg[Sub=Sub-code,Ifx=Orig-code,Obj=Object-name])
    访问关于对象 Object-name 的目录消息时网关出错。当处理一个分布查询是,网关把这些目
    录消息送至相应 OnLine 服务器。
    在访问目录时可能出现的一些错误会导致这条信息。Orig-code 是这个错误的错误代码,
    Orig-Msg 是和这个错误代码相应的信息标记。Sub-code 是表明哪一个目录访问查询失败和在
    查询处理的哪一步失败的十六进制的 INFORMIX 内部代码。这个诊断信息字段用于 INFORMIX
    的技术支持部。
    尽管在程序性访问条件下,错误信息标记可能被截断,但在$INFORMIXDIR/gw/log 目录中的
    网关日志文件 gw.log 中记录了全部的信息。
    -29051 在一个事务中,只允许单一节点更新。
    网关 (Gateway) 不支持两阶段提交。如果某个网关访问的 远程服务器是一个事务中的更新
    节点时,那么这个节点应是这个事务中唯一的更新节点。所有的其他节点,包括 OnLine 节
    点,必须是只读的。修改应用程序,使得每个事务仅更新一个远程节点。(但是,如果在事务
    中的所有节点都是只读的,那么在同一事务中可以更新任意数目的 OnLine 节点)。只有在协
    同该事务的 OnLine 数据库服务器为早于 Version 7.2 的版本,或者为 Version 7.2 版本
    或更晚的版本、但是 HETERO_COMMIT 配置参数没有设置的情况下,
    才使用这条错误信息。
    -29052 网关 (Gateway) 不能访问名为 data-source-name 的远程数据源。
    这个标记 data-source-name 已经被使用在含有四个部分的对象名称中。例如:
    data-source-name@gwservername:own1.tab1
    另外,上例中的 gwservername 已在应用程序中使用过,已经与其它的 data-source-name 连
    用了。例如,它可能已与 data-source-name2 连用了:
    data-source-name2@gwservername:own2.tab2
    在一个应用程序内部,在 CLOSE DATABASE 语句执行之前,每一个 gwservername 只能用来
    访问一个 data-source-name。
    为了要在一个应用程序内部能够访问不止一个的 data-source-name,必须为每一个远程数据
    源启动一独立的 Gateway daemon (使用唯一的 gwservername )。然后修改应用程序,使得
    应用程序中的每一个唯一的 gwservername 总是与同一个 data-source-name 连用。例如,
    在下面的语句中,gwservername gw1 总是与 dsn1 连用,而 dsn2 只与 gw2 搭配:
    SELECT col5 FROM dsn1@gw1:own1.tab1 WHERE col1 > 100;
    SELECT col2 FROM dsn2@gw2:own2.tab2 WHERE col4 < 10;
    SELECT a.col1, b.col2 FROM dsn1@gw1:own3.tab3 a, dsn2@gw2:own4.tab4 b
    WHERE a.col2 = b.col3;
    错误消息中的标记 data-source-name 的含义,会因网关产品的不同而不同:
  • 对于 INFORMIX-Enterprise Gateway Manager, data-source-name 引用 ODBC 数据
    源名。
  • 对于 INFORMIX-Enterprise Gateway with DRDA, data-source-name
    引用别名-RDB-名 (alias-RDB-name)。每个网关实例仅能连接一个 RDB (应用程序服务
    器)。
  • 对于 INFORMIX-Enterprise Gateway for EDA/SQL, data-source-name 引用 EDA 服
    务器名 (EDA-Server-name) 。每个网关实例仅能连接一个远程服务器。
    -29053 在引用对象 Object 时,对象集丢失。
    任何引用 OS/400 对象的分布式查询都必须指定对象所属的 OS/400 的集或库。这个集或库名
    在对象全名 database@dbservername:owner.object 的 owner 字段给出。在获取给定集或库中
    的指定对象的目录信息时,需要集或库名。
    -29055 一个远程对象不允许 DDL 语句。
    在分布式查询中,INFORMIX 网关不允许数据定义语句和数据访问语句 GRANT 及 REVOKE 作用
    在远程对象上(例如在 DRDA 应用服务器现场的对象)。这些语句仅有在以直接方式使用网关
    时才能被应用使用。
    -29056 网关不能回滚存储点。
    在进行远程分布式更新时出现错误。因为 INFORMIX 网关不能撤销部分更新的结果,应用必须
    使用 COMMIT WORK 或 ROLLBACK WORK 语句中断当前事务,这两个语句都回滚当前的活跃事务。
    任何当前事务中的语句失败并返回这个错误代码。
    -29057 网关不支持远程别名(remote-object-name)。
    在分布式查询中,网关不支持访问 DB2 远程别名。一个对象的远程别名不在别名被定义的同
    一服务器上。Remote-object-name 是该远程别名引用的一个三部分对象名称(使用
    LOCATION.OWNER.OBJECT 的格式)。
    -29060 EDA 错误(EDA_Error)。
    由于一个 EDA 错,该 SQL 语句失败。由 EDA 客户程序或服务程序返回的 EDA 错误用 EDA_Error
    标识。
    EDA_Error 字段的格式如下:
    [EDA_Error_CodeEDA_command]EDA_message_text
  • EDA_Error_Code 是 EDA 数值形式的错误代码。
  • EDA_command 是产生这个错误的 EDA API/SQL 命令。
  • EDA_message_text 是与这个错误相应的 EDA 信息正文。
    在 Information Builder Inc.提供的 EDA 文档中查阅这个错误,并改正之。
    -29062 收到一个 EDA 客户程序或服务程序来的提示。
    EDA 客户程序或服务程序提示网关对一条信息作出反应。网关不支持 EDA 要求对提示信息作
    出反应的操作。例如,EDA 远程过程可能提示用户进行输入。这些类型的操作不被支持。
    -29063 在预备和执行之间,输出数据说明改变。
    在预备时返回的输出数据说明与在执行时返回的输出数据说明不同。在预备时的输出数据说
    明从查询中的对象(例如,表或远程过程)的目录信息中获得。这个错误通常在对象的目录
    信息过时的情况下发生。
    如果对象没有被编目,或者在最后一次编目之后被修改,必须使用 EDASAF 编目面板对对象进
    行(重)编目。如果在 EDA/SQL 服务器中使用了 Informix 类型的系统目录表,那么,在使用
    EDASAF 更新了 EDA 系统目录表后,必须使用 egwdba 实用工具重新生成 Informix 类型的系统
    目录表。
    -29064 收到了未知的 EDA 数据类型。
    网关收到的输出 EDA 数据类型是一个未知的数据类型。当网关连接到网关不支持的版本的
    EDA/SQL 服务器时,可能收到未知的数据类型。如果网关不支持这个版本,那么,这是 EDA
    产品或网关的内部错误。
    -29065 在 EXECUTE PROCEDURE 时,不允许有输入宿主变量。
    在预备执行的动态 EXECUTE PROCEDURE 语句中,为至少一个输入参数值使用了参数标志。网
    关处理的这个 EXECUTE PROCEDURE 语句不支持为输入参数使用的参数标志。重写应用,避免
    在这个 EXECUTE PROCEDURE 语句中使用输入宿主变量作为输入参数。
    -29066 .netrc 中的'userid'入口需要密码。
    .netrc 文件包含了一个把当前帐号(userid)映射到发往一个远程服务器或数据源的新帐号
    的入口。在这种情形下,新的帐号与当前帐号不同,但没有指定与新帐号一块发往远程服务
    器或数据源的密码。因为网关没有验证新帐号,远程服务器或数据源没有密码也无法验证新
    帐号,所以产生了这个错误。送一个不带密码的新帐号至远程服务器或数据源表明网关已经
    验证了新帐号(而网关并没有这样做)。
    -29067 不能访问 EDALINK.CFG 文件(reason)。
    由于指出的原因,EDALINK.CFG 文件不能被访问。原因的格式为( 名字:数值),数值指明
    当访问一个指定文件或目录时的操作系统错误。通常,故障发生是因为 EDLINK.CFG 不在
    $INFORMIXDIR/etc 目录中。EDALINK.CFG 是一个 EDA/Link 的配置文件,连接 EDA/SQL 服务器
    时需要用到。请查阅 EDA/Link 文档以确定文件的内容。
    -29068 EDA 服务器传来的一个字段值不能被解码。
    在取回的行中,一个字段值不能被解码及转换成 Informix 的数据值。通常,这个错误发生是
    因为 EDA/SQL 服务器不能把字段从它在基础数据源中的实际值转换到在主文件说明(MFD)中
    指定的使用格式。例如,在表 MFD 中的使用格式为 I2(最大字段长度为 2 的整数值),而字
    段值为 300,那么 EDA/SQL 服务器不能把 300 装入指定的两字符长的字段中。在这种情况下,
    由于 EDA/SQL 服务器送出的是一个标记值而不是真实的字段值,网关报错。检查在 MFD 中指
    定的使用格式的字段长度是否足够表示数据的实际值。如果这还不能解决问题,请与
    Informix 技术支持部门联系,帮助跟踪 EDA/SQL 发回的值。
    -29080 目的 DBMS 错误(message_token)。
    网关连接的目的 DBMS(数据库管理系统)报告了这个包含有 message_token(信息标志)的
    错误。参考目的 DBMS 的文档,改正这个错误。
    message_token 的格式如下:
    [DBMS_Error_Code Sqlstate DBMS_Product_id]DBMS_Error_Message
    DBMS_Error_Code 是目的 DBMS 的错误代码。
    Sqlstate 是与错误相应的 SQLSTATE。对一系列 SQLSTATE 代码,参见 ODBC 文档。
    DBMS_Product_id 是目的 DBMS 的产品 id 号。
    DBMS_Error_Message 是目的 DBMS 产生的错误信息。如果整个 sqlerrm 中信息正文超过 71 字
    节,那么信息将被截断。
    在 message_token 中 DBMS_Product_id 有如下格式:
    Product_Name:Product_Version Product_Name 是该产品 ODBC 驱动程序报告的目的 DBMS 名
    称的前 5 个字符(特别地。是 ODBC 函数 SQLGetInfo 返回的 SQL_DBMS_NAME)。
    Product_Version 是该产品 ODBC 驱动程序报告的目的 DBMS 版本号的前 10 个字符(特别地。
    是 ODBC 函数 SQLGetInfo 返回的 SQL_DBMS_VER)。
    Product_Version 是一个 nn.nn.nnnn 形式的字符串,前两个数字是该目的 DBMS 的主版本号,
    紧接的两个是次版本号,最后四个数字是发行版本号(例如,03.01.0000)。
    Oracle7 的 DBMS_Product_id 可能是 Oracl:07.01.0000。
    如果连接一个目的 DBMS 的企图没有完全成功,DBMS_Product_id 将是:00.00.0000.
    -29081 ODBC 错误(message_token)。
    网关连接目的 DBMS(数据库管理系统)时使用的一个 ODBC(开放数据库连接)元件报告了这
    个包含有 message_token(信息标志)的错误。参考 ODBC 文档,改正这个错误。
    message_token 的格式如下:
    [ODBC_Error_Code Sqlstate Driver_Prod_id]ODBC_Error_MessageODBC_Error_Code 是 ODBC
    元件的错误代码。(有可能为零。)
    Sqlstate是与错误相应的SQLSTATE。对一系列SQLSTATE代码,参见ODBC文档。Drive_Prod_id
    是 ODBC 驱动程序的产品 id 号。ODBC_Error_Message 是 ODBC 元件产生的错误信息。如果整
    个 sqlerrm 中信息正文超过 71 字节,那么信息将被截断。在 message_token 中 ODBC_Prod_id
    有如下格式:Driver_Name:Driver_Version Product_Name 是用于连接的 ODBC 驱动程序文件
    名的前 5 个字符(特别地。是 ODBC 函数 SQLGetInfo 返回的 SQL_Driver_NAME)。如果连接尚
    未建立,那么 Driver_Name 是空的。Driver_Version 是 ODBC 驱动程序版本号的前 10 个字符
    (特别地。是 ODBC 函数 SQLGetInfo 返回的 SQL_Driver_VER)。Driver_Version 是一个
    nn.nn.nnnn 形式的字符串,前两个数字是该 ODBC 驱动程序的主版本号,紧接的两个是次版
    本号,最后四个数字是发行版本号(例如,02.00.0000)。Oracle7 的 Driver_Prod_id 可能
    是 libor:01.02.0006.
    如果连接一个目的 DBMS 的企图没有完全成功,Driver_Prod_id 将是:00.00.0000.
    -29082 不能为编号为 field-number 的字段的字段值译码。
    在取来的行中,编号为 field-number 的字段值不能被译码及被转换成 Informix 数据值。字
    段编号是选中的字段序列中不能被转换的字段的顺序位置。这是该目的 DBMS 的 ODBC 驱动程
    序的错误。不能被译码的字段值和驱动程序名及版本号一起被写入网关的日志文件中。
    请与 ODBC 驱动程序的供应商探讨问题的解决办法。
    -29083 数据源不支持兼容隔离级。
    这个错误在 SET ISOLATION TO 语句执行时产生,语句把数据源中某隔离级设置到另一个与该
    级兼容的隔离级的企图失败。应用的当前隔离级保持有效。
    如果这个错误在执行一个分布式 SQL 语句时发生,那么由于数据源支持的隔离级与你的应用
    的当前隔离级不兼容而导致语句失败。应用的当前隔离级保持有效。
    一个兼容的隔离级等于或高于所要的(或在分布式语句中是当前的)隔离级。如果数据源支
    持要求的(或当前的)隔离级,INFORMIX-Enterprise Gateway Manager 把数据源的隔离级
    设成该隔离级。如果数据源不支持要求的(或当前的)隔离级,INFORMIX-Enterprise Gateway
    Manager 把数据源的隔离级设成下一个可使用的较高的隔离级。
    如果你的应用可以接受数据源支持的低一些的隔离级,那么把隔离级设成低的隔离级。如果
    以直接方式访问 INFORMIX-Enterprise Gateway Manager,请使用 GWDIRECMIL 环境变量设置
    隔离级。如果以分布访问方式(通过 Online)访问 INFORMIX-Enterprise Gateway Manager,
    在访问网关的分布式语句执行前,执行一个 SQL 语句 SET ISOLATION TO。
    -29084 数据源不允许以写方式访问。
    你的应用与一个支持事务的 OnLine 数据库相连,但语句中被访问的数据源不支持事务。在这
    种配置条件下,非 SELECT SQL 语句(也就是包含或隐含写操作)不能用在该数据源上。
    在这种情况下,数据源没有能力实现协调 Online 数据库的事务特性。该数据源上的写操作不
    认为是原子操作(例如,写文件操作可能在开始时正确,但由于磁盘空间不够导致最终失败,
    而文件被部分改变)。同样,该数据源上的写操作在执行后不能被回滚。基于这些原因,当协
    调 Online 数据库支持事务(也就是有日志),而数据源不支持事务的情况下,不允许写操作。
    如果需要对数据源进行分布式写访问(通过 OnLine),那么从一个没有日志(或关掉日志)
    的非 ANSI 数据库中访问数据源。
    -29085 数据源不支持游标保持特性。
    数据源不支持带 WITH HOLD 子句的游标定义。或是目的数据库不支持在提交操作后游标仍然
    保持打开状态,或是 ODBC 驱动程序不使用这种特点的游标。带 WITH HOLD 的定义的游标在该
    数据源上不允许使用。
    -32100 MAC 检查失败
    你的会话灵敏标签不允许你在正在存取的 OnLine/Secure 对象上执行该操作,因为它违反
    INFORMIX OnLine/Secure 的 MAC 方针。用合适的灵敏标签注册并重试该操作。
    -32101 DAC 检查失败。
    你的会话身份不允许你在正在存取的 OnLine/Secure 对象上执行该操作,因为它违反
    OnLine/Secure 的 DAC 方针。用合适的身份注册或获得必要的优先权并重试该操作。
    -32102 错误的标签范围。
    为一个调用标签的操作指定的范围是非法的。这可能是由于错误的用户输入或一个内部错误
    而产生的。
    -32103 标签比较操作失败。
    该内部错误的出现是由于用于比较的标签是不可比较的或非法的,或者比较操作对于该标签
    数据类型是非法的。
    -32104 内部错误,无表描述符。
    在内核字典中未找到指定表的表描述符。
    -32110 取消一个数据库的会话级不合法。
    你的会话灵敏级必须等于该数据库的灵敏级。
    -32112 没有建立一个视图模式的 DBA 优先权。
    与数据库管理员联系并请求 DBA 优先权。
    -32113 没有建立表模式的 DBA 优先权。
    与数据库管理员联系并请求 DBA 优先权。
    -32114 不能取消系统目录表。
    只有当数据库被取消时,系统目录表才能被取消。
    -32115 不能改变一个表的所有权。
    改变一个表的所有权是不合法的。
    -32116 变更一个约束的会话级不合法。
    你的会话灵敏级必须等于该表的灵敏级。
    -32117 建立一个索引的会话级不合法。
    你的会话灵敏级必须等于该表的灵敏级。
    -32118 没有建立一个索引的索引优先权。
    没有授与你在表上建立索引的优先权。
    -32119 变更一个索引的会话级不合法。
    你的会话灵敏级必须等于该表的灵敏级。
    -32120 无资源优先权。
    你正在执行的动作要求数据库上的资源优先权。与数据库管理员联系,以获得需要的优先权。
    -32121 取消一个索引的会话级不合法。
    你的会话灵敏级必须等于该表的灵敏级。
    -32122 不能修改系统目录表。
    对于系统目录表,除了下一个范围大小以外,改变属性是不合法的。
    -32123 索引没有所有者。
    只有索引的所有者可以执行你正在企图的操作。
    -32124 在临时表上不能修改一个索引。
    在临时表上变更索引是不合法的。
    -32125 当前的数据库数超出范围。
    该内部错误表示同时打开的数据库数超出了在 OnLine/Secure 中设置的限制。
    -32126 不合法的标签标记。
    你提供的标记值对于操作系统是未知的。
    -32127 取消一个表的会话级不合法。
    你的会话灵敏级必须等于该表的灵敏级。
    -32128 没有改变一个 SERIAL 字段的优先权。
    你需要在表上 Insert 或 Alter 优先权,或在 SERIAL 字段上 Update 优先权来改变 SERIAL 值。
    -32129 请求的标签表没有被打开。
    这个信息只出现于多级保密应用。你正在企图在一个较高级或者你打开的表所在的不相容的
    级上进行一个表上的操作。在合适的级打开表。
    -32130 在指定的级没有记录。
    这个信息只出现于多级保密应用。你正在访问的级没有记录存在。
    -32131 内部堆栈错误。
    该信息表明了一个内部错误。
    -32132 不能用标签排序。
    用标签排序是非法的,因为标签是非线性排序的。
    -32133 授予表级优先权的会话级不合法。
    你的会话灵敏级必须等于这个表的灵敏级。
    -32134 授予数据库级优先权的会话级不合法。
    你的会话灵敏级必须等于这个数据库的灵敏级。
    -32135 取消表级优先权的会话级不合法。
    你的会话灵敏级必须等于这个表的灵敏级。
    -32136 取消数据库级优先权的会话级不合法。
    你的会话灵敏级必须等于这个数据库的灵敏级。
    -32137 没有修改一个约束的变更优先权。
    修改一个约束要求表上的变更优先权。
    -32138 不能设置该初始 SERIAL 值。
    这个信息只出现于多级保密应用。在表建立时初始 SERIAL 值没被设置。
    -32139 该 SERIAL 字段没有设置初始值。
    这个信息只出现于多级保密应用。你正在存取的灵敏级没有初始 SERIAL 值。如果表中存在一
    个 SERIAL 字段,那么,在表建立时必须设置初始 SERIAL 值。
    -32140 文件句柄和 tabid 是不一致的。
    这个信息表明这是一个内部错误。提供给一个 ISAM 函数的表句柄对于该表不是一个合法的句
    柄。表的 tabid 也是作为一个函数的参数提供的。
    -32154 label.map 文件必须属于 DBSSO。
    确认在$LABELMAPDIR 目录中,没有其他用户建立了 label.map 文件。检查 label.map 文件的
    灵敏标签是 ixdbssoL。
    -32155 tbload 被锁定。请删除 label.lok 文件。
    使用一个旧的 label.map 文件。如果必要,修改该 label.map 文件并删除 label.lok 文件指
    定你认可的那个 label.map 文件。
    -32156 不能打开文件。
    不能打开 label.map 文件或 label.lok 文件。检查文件是否存在,许可权以及这些文件的灵
    敏级。
    -32157 label.map 文件中有无效的数据。
    根据当前操作系统,检查 label.map 文件中输入的完整性和合法性。
    -32158 在系统中映射的标记不存在。
    磁带上 label.map 文件中提供的一个标记的转换标记在该操作系统上不存在。根据当前的操
    作系统,检查 label.map 文件输入的完整性和合法性。
    -32159 在系统中该映射标记不存在。
    在 label.map 文件中提供的一个标记在磁带上不存在。确认你只是为磁带上的那些标记提供
    映射。
    -32160 不能排序 label.map 文件。
    在对 label.map 文件排序期间出现该错误,检查 label.map 文件的完整性。
    -32162 标签标记不是唯一的。
    标记与他们的转换标记具应该有严格的一对一映射。检查 label.map 文件找出重复的标记映
    射。
    -32163 标签标记不是有效的。
    只能将标签的标记说明储存在 label.map 文件。检查 label.map 文件中储存标记的完整性和
    合法性。
    -32164 错误建立会话共享内存。
    这个信息表示发生了内部错误。检查操作系统错误信息。如果是共享内存大小的原因,你或
    你的 DBSA 可以在会话配置文件中为 SM_ROWSIZE 或 SM_TOTALROWS 设置一个较大的值。
    -32165 错误连接会话共享内存。
    这个信息表示发生了内部错误。。检查操作系统错误信息了解更多细节。
    -32166 当前用户不能发现或执行
    检查$INFORMIXDIR, $SQLEXEC 设置。确认你是在 ix_users, ix_dbsa, 或 ix_dbsso 组中。
    检查在$INFORMIXDIR/lib 中可执行的是否可以被你的会话执行。
    -32167 表标签不一致。
    这个信息表示发生了内部错误。
    -32168 数据库标签不一致。
    这个信息表示发生了内部错误。
    -32169 不能转变内部和外部格式之间的标签。
    这个信息表示发生了内部错误。操作系统不能进行标签的内部和外部格式之间的映射。检查
    你提供的外部格式或标记说明。
    -32181 估计保密性标签的标签数必须大于零。
    检查 TBCONFIG 文件中的参数设置或在 DB-Monitor 的输入。
    -32182 估计保密性标签 label-name 的数无效。
    检查 TBCONFIG 文件中的参数设置或在 DB-Monitor 中,确认估计保密性标签的标签数总是大
    于零。
    -32183 LUB 计算失败。
    检查 LABELLUB()函数输入的合法性。
    -32184 GLB 计算失败。
    检查 LABELGLB()函数输入的合法性。
    -32190 不能聚合标签字段。
    检查是否对标签字段提供了一个聚合函数。
    -32191 不能变更表。
    变更表失败;检查附加的 ISAM 错误信息,寻求进一步的说明。
    -32193 不能建立监听 tblspace。
    OnLine/Secure 数据库服务器不能被初始化。与 INFORMIX 技术支持部门联系寻求帮助。
    -32194 不能建立保留的 tblspace。
    OnLine/Secure 数据库服务器不能被初始化。与 INFORMIX 技术支持部门联系寻求帮助。
    -32197 不是一个 OnLine/Secure 磁带。
    使用一个由 OnLine/Secure 数据库服务器生成的磁带。
    -32198 不是 OnLine/Secure 的根 chunk。
    修改 TBCONFIG 文件以引用一个由 OnLine/Secure 数据库服务器建立的 rootdbs。
    -32400 一个 Table_option 已经被变更。
    对于每个 ALTER TABLE 会话,你只能改变一个表选项(锁定方式,范围大小)。如果你已经改
    变了一个表选项且要改变另一个,你必须首先退出 ALTER TABLE 菜单并建立被修改的表。选
    择退出选项再选择建立-新-表选项。然后,在 ALTER TABLE 菜单选择 Table_option 选项并
    进行对表的下一个修改。
    -32401 当变更一个表时,不能改变初始范围大小。
    当第一次建立该表时,设置初始范围大小。下一个范围大小能够被变更,但是不能变更初始
    范围大小。为了改变该初始范围的大小,你必须从这个表中卸出数据,取消该表,用 CREATE
    TABLE 语句重新建立表,并将数据重新装入表中。
    -32402 当变更一个存在中的表时,用户不能改变 dbspace 名。
    你已经指定了被存储表的位置。你已经明确指定了一个 dbspace 或已经使用的数据库的
    dbspace。当你企图变更一个表时,你试图改变存储该表的 dbspace。这个动作是不合法的。
    只有当你建立该表时,才能指定 dbspace。
    卸出该存在表中的任何数据。取消那个表。建立一个新的表。指定你要使用的 dbspace 并将
    数据装载到新的表中。
    -32403 使用不合法 SERIAL 长度。
    当用户建立或变更一个表以及建立或变更类型 SERIAL 的一个字段时,但是指定了一个小于或
    等于零(不合法的) 启始数或输入了非数字值时,这个错误发生。输入一个大于或等于 1 的
    启始数。
    -32404 无效的定界符。不使用`\'、十六进制数、tab 或空格。
    为 LOAD 或 UNLOAD 语句指定的定界符是不合法的。你不能使用换行符,十六进制数(0-9, A-F,
    a-f),tab 字符或空格作为定界符。检查该语句并改变定界符的符号。
    -32405 非法形成的十六进制数值。
    用于给表装入一个 BYTE 值的十六进制数文件有一个不合法的字符或一个非法形成的十六进
    制数值。检查文件中的异常部分,然后再次运行你的语句。
    -32406 值必须大于零。
    当你建立或变更表时,指定了一个小于或等于零的范围大小。指定一个大于零的范围大小。
    -32407 触发器没有找到。
    你指定了一个无效的触发器名。输入一个存在中的触发器名,或改正你的拼写。
    -32408 没有指定事务日志路径名,不能建立 ANSI 方式的数据库。
    你试图在 INFORMIX-SE 上建立一个符合 ANSI 标准的数据库,但是没有为强制无缓冲区的事务
    日志指定一个路径名。重新选择数据库存取的 ANSI 方式选项,或修改你的 CREATE DATABASE
    语句,然后输入全日志路径名。
    -32409 数据是不可用的,不能打开数据库主系统。
    数据库存取不能打开存放你所需要信息的主系统数据库。检查建立的主系统数据库是否合适
    并阅读 OnLine 日志,找寻失败的原因。
    -32410 数据库存取不支持的句法。
    数据库存取不支持 AS, WITH CURRENT TRANSACTION, 或 CONNECT 语句的 USER 子句,尽管数
    据库服务器支持这些句法。当在数据库存取中运行你的 CONNECT 语句时,使用合适的 SQL 语
    句句法。
    -32411 一个变更表选项已经被变更。
    你企图在你前面变更的一个表选项上执行一个变更表选项。你不能变更一个表选项多于一次。
    -32412 不支持 USING 子句。DB-Access 将提示输入密码。
    在影响安全性的情况下,DB-Access 不支持带 USING 密码的 CONNEC...USER 语句。例如,在
    输入密码时,不应该在屏幕上可以看见,也不能把密码放到一个他人可读的命令文件中。为
    保证安全性,DB-Access 提示你输入密码,并使用显示特性使之隐藏不可见。
    -32500 用户没有改变会话级的离散优先级。
    在使用 SET SESSION LEVEL 语句的会话开始之前,你必须从 DBSSO 那获得 PRIV_CANSETLEVEL
    的离散优先级。
    -32501 登录会话级不能控制新会话级。
    你必须在一个可以控制所指定会话级的灵敏会话级下登录。
    -32502 新的会话级不能控制该数据库级。
    你不能在新的会话灵敏级存取该数据库。使用一个不同的控制该数据库的级。
    -32503 改变会话属性,用户表应该被关闭。
    企图改变会话灵敏级之前,关闭全部表并关闭保持打开的全部游标。
    -32504 会话级设置后不允许远程对象上的操作。
    当你的当前会话灵敏级不同于你的注册会话时,你不能在远程数据库中存取对象。返回到你
    的注册会话灵敏级存取远程数据。
    -32505 不能设置会话级。
    参考附带的错误信息以获得更多信息。
    -32506 错的会话标签格式。
    SET SESSION LEVEL 语句参数不是一有效的灵敏性标签。
    -32507 不能设置会话权限。
    除非你改变的是你自己的会话用户,否则你必须是 DBA 才行。
    -32508 事务中的语句是无效的。
    给出 SET SESSION AUTHORIZATION 语句之前中止或提交一个事务。
    -32509 错误的会话权限格式。
    作为SET SESSION AUTHORIZATION语句参数提供的用户名是无效的。提供一个有效的INFORMIX
    OnLine 用户的用户名。
    -32510 用户没有个别权限来改变会话的授权。
    在使用 SET SESSION AUTHORIZATION 语句的会话期开始之前,必须从 DBSSO 获得
    PRIV_CANSETIDENTITY 个别权限。
    -32513 不能对表或字段改名。
    表或字段的改名失败。参考 ISAM 错误信息以获知更多详情。
    -32514 会话级与数据库对象级不同。
    你的会话区分标签不允许对你所访问的 OnLine/Secure 对象执行操作,因为它违反
    OnLine/Secure 的 MAC 策略。在适当的区分标签上注册,并重试操作。
    -32520 不能建立 SL map tblspace。
    这个信息指出一个内部错误。
    -32521 不能建立 IL map tblspace。
    这个信息指出一个内部错误。
    -32522 不能建立 Datalo 转换。
    这个信息指出一个内部错误。
    -32523 不能建立 Datahi 转换。
    这个信息指出一个内部错误。
    -32524 不能建立 ixdataH 转换。
    这个信息指出一个内部错误。
    -32525 不能建立保存转换。
    这个信息指出一个内部错误。
    -32526 保存和存储标记不符。
    这个信息指出一个内部错误。
    -32528 标记未发现。
    这个信息指出一个内部错误。
    -32529 不能建立 ixdbsaL 转换。
    这个信息指出一个内部错误。
    -32532 VARIANCE 或 STDEV 的不合法数据类型。
    你不能使用字符串上的 VARIANCE 或 STDEV 函数或 DATETIME 数据类型。检查这些函数的用
    户。
    -32766 未知的错误信息号。
    该软件产品不能找到该错误信息文本文件。可能是INFORMIXDIR或DBLANG环境变量设置非法。
    -33000 <关键字>是一个保留的 ANSI 关键字。
    这是一个警告。如果你想要你的代码符合 ANSI 标准,不要用所示的关键字作为一个变量名。
    查阅<<INFORMIX SQL 指南>>的“句法”部分有关一个替换语法。
    -33001 环境变量<变量名>有无效值。
    重置指定的环境变量,使其为合法值并再试一次。参见<<INFORMIX SQL 指南>>的“参考手
    册”第四章。
    -33002 在 ESQL INCLUDE 语句中语法错误。
    预处理器不能解释这个INCLUDE语句。参考嵌入式语言手册中有关 INCLUDE语句的正确语法。
    -33003 错误的标签格式。
    当前语句上的标签在屏幕表格中是非法的。参考嵌入式语言手册中有关接受的标签格式。
    -33004 选择的<选项>不存在或格式有错。
    这种嵌入式语言产品不支持从预处理器/编译器命令行中指定的选项。确认该选项的拼写如
    你所需。参考嵌入式语言手册,了解支持的选项。
    -33005 不完整的串。
    根据宿主语言的规则,字符串是非正确终止的。例如,该串可能遗漏一个末端引号,没有一
    个续行符,等等。直到许多源代码行超出你假定的串结束为止,预处理器可能不识别该错误。
    -33006 这里使用的<变量名>是不适当的。
    说明的变量不能在这个语句的上下文中使用。检查你希望指定的变量是否使用合适的类型说
    明。参考嵌入式语言手册中有关在这个语句类型中变量的用法。
    -33007 '$'被假定在<变量名>前。
    预处理器假定你打算将这个语句中的符号 variable-name 作为宿主变量。(宿主变量通常用在
    其前加 '$' 或 ':' 进行说明。)检查一下你是否有这种打算。
    -33008 记录元件<元件名>没有说明。
    这个语句使用该符号<元件名>,仿佛是一个记录元件的元件名,但它没有作为一个它使用的
    记录名的元件进行说明。检查元件和记录名两者的拼写。
    -33009 元件名<元件名>已被使用。
    在相同的记录/结构中,记录元件被说明了两次。检查元件名的拼写和说明的句法。
    -33010 内部错误:预处理器状态破坏。
    改正全部其他处理中的错误。如果此错误再发生,请记录全部细节并与 INFORMIX 技术支持部
    联系。
    -33011 当前的<变量名>说明隐藏了以前的说明。
    这是来自预处理器的一条警告。在当前范围指定的变量已说明了不止一次,编译继续使用后
    面的说明直到当前范围的结束。如果你不希望重新说明表示的变量,就要检查变量名的拼写
    和说明的句法。在 INFORMIX-ESQL/C 中,如果该变量被用作函数的参数,这条警告也会被发
    出。在此情况下应使用 PARAMETER 子句。
    -33012 数字的数必需是从 1 到 32。
    你指定的一个 DECIMAL 值的精密度或缩放超出范围。一个 DECIMAL 变量的值必需是从 1 到
    32 的数。检查这个语句中说明的标点。
    -33013 END DECLARE SECTION 没有 BEGIN。
    预处理器找到了 EXEC SQL END DECLARE SECTION 语句,但是没有发现与之对应的 EXEC SQL
    BEGIN DECLARE SECTION。可能 EXEC SQLBEGIN DECLARE SECTION 语句被遗忘了或者因为其他
    错误。确认每个 BEGIN DECLARE 与一个 END DECLARE 必需成对出现。
    -33014 记录/结构<变量名>的使用不合法。
    这里使用的记录只能接收一个简单变量。检查<变量名>的说明并确认你所使用的变量(可能你
    需要用一个元件名来限定它)。参考嵌入式语言手册中有关这个语句的要求。
    -33015 输入文件名存在无效的后缀<后缀>。
    提交给预处理器的输入文件名必需有正确的后缀。如果必要,检查命令语法并重新命名文件。
    要求的文件后缀如下:
  • .ec 用于 INFORMIX-ESQL/C
  • .eco 用于 INFORMIX-ESQL/COBOL
  • .ef 用于 INFORMIX-ESQL/FORTRAN
    -33016 <宏名>的宏定义没有结束。
    这个预处理器宏定义语句没有 ESQL 语句结束符。在语句的最后加一个分号(😉。
    -33017 不完全的语句。
    预处理器不能识别当前语句的结束。检查这行和这行以前的句法。查看是否忽略了语句结束
    分号,忽略了引号,或忽略了注释结束符。
    -33018 该子句中不允许指示器变量。
    这个语句包含一个带有指示器变量的宿主变量的说明,但在这个上下文中不允许有指示器变
    量。再检查一遍指示器变量的每次使用并删除不必要的指示器变量。
    -33019 标签太长。
    该语句指定的标签长度比这种嵌入式语言所允许的要长。检查语句的拼写和标点。有关标签
    名字的正确格式,请参考嵌入式语言手册。
    -33020 行太长。
    不论是为宿主语言还是为适合预处理器的内部缓冲区,该行都太长。有关使长行连续的规则
    请参考嵌入式语言手册和宿主语言手册。
    -33021 宏< 宏名> 的值太长。
    为该宏指定的值太长,不能适合内部缓冲区。缩短该语句并再试一遍。
    -33022 包含的路径名太长。
    该 INCLUDE 语句中的路径名太长,不适合内部缓冲区。检查语句的标点; 也许忽略了终结引
    号。否则,你必须找出一种方法,用更短的路径名指定包含文件。有关预处理器检索包含文
    件的规则请参考嵌入式语言手册。
    -33023 SQL 引用串太长。
    引用的串太长,不适合内部缓冲区。检查语句是否遗漏了终结引号。
    -33024 期望宏名。
    遗漏了宏语句的宏名。指定名字并再试一遍。
    -33025 名字标识符太长。
    指定的 SQL 标识符太长。SQL 标识符被限定为 18 个字符。检查语句的标点和标识符的拼写,
    如果都是你所希望的,那么你必须使用更短的名字来修改该语句。
    -33026 被嵌套的块不能多于 n 层。
    预处理器限制嵌套的层数为指定的值。再检查一下这点之前的程序结构; 可能忽略了结束块
    的标点或关键字; 也可能由于一个早期的错误而无法识别嵌套深度。如果都是你所希望的,
    那么你必须使用更少的嵌套块重新组织代码。
    -33027 记录嵌套太深。最大为 n。
    该预处理器限制被嵌套记录(数据结构)的层数。从这点向后,并检查记录的说明。也许已经
    忽略了结束记录的标点或关键字,或者由于更早期的错误而无法识别嵌套深度。如果所有都
    是你所希望的,那么必须简化该数据结构。
    -33028 无效的<编译器名>编译器类型<编译器类型名>。
    对这个预处理器,编译器类型必须指定为一个命令行选项。请参考嵌入式语言手册。
    -33029 没给出输入文件。
    该命令行无命名的输入文件。
    -33030 SCROLL 游标上不能有插入语句。
    DECLARE 语句指定 SCROLL 关键字,但它继续指定了一个 INSERT 语句。 插入游标可以不使用
    SCROLL 关键字。
    -33031 该语句中不允许语句标签。
    这只是一个警告。你已经在一个语句上使用了一个标签,而该标签并没有在输出文件中生成
    任何真正的代码。有关标签的正确使用请参考嵌入式语言手册。
    -33032 只能为 TEMP 表指定 WITH NO LOG。
    你在不适当的上下文中使用了 WITH NO LOG 选项。仅当你建立一个 TEMP 表并希望拒绝考虑
    事务日志操作时才能用它。有关 SQL 句法和 WITH NO LOG 选项的适当的用法请参见<<Informix
    SQL 指南>>的“句法"部分。
    -33033 显示字段<字段名> 是一个 Informix 对 XPG3 X/Open 标准的扩充。
    这只是一个警告。你使用的-xopen 选项要求被检查的源文件遵循 XPG3 X/Open 标准。ITYPE,
    IDATA 和 ILENGTH 显示字段名是 Informix 对标准的扩充。
    -33034 POWER 游标不可用。
    不支持 POWER 游标。请参考你的嵌入式语言手册。
    -33035 没有指定一个限定符。
    你企图使用一个日期时间(datetime)限定符,而并没有为该限定符指定一个具体的可接受的
    值的范围。定义你将用于限定日期时间(datetime)限定符的范围。日期时间(datetime)限定
    符必须有一个开始和结束的范围(例如,年到月,天到小时,等等)。
    -33036 该行不符合 ANSI X3.135-1989 标准。
    这只是一个警告。你使用的-ansi 选项要求被检查的源文件遵循当前的 ANSI 标准。该语句使
    用了 Informix 对 ANSI 标准的扩充。
    -33037 <名字>不是记录<记录名>的一个分量。
    <名字>好象是记录<记录名>的一个成员,但是该名字的成员并不存在。检查两个名字的拼写,
    并再检查一下<记录名>的说明。
    -33038 这条语句不符合 X/Open 标准。
    这只是一个警告。你使用的-xopen 选项要求被检查的源文件遵循 XPG4 X/Open 标准。
    -33039 不允许在单个选定中作更新。
    你有一个与只返回一行的 SELECT 语句结合的 UPDATE 语句。该 UPDATE 语句要求一个已经说明
    FOR UPDATE 的游标。有关游标的更多信息,请参见<< Informix SQL 指南>>的”句法部分
    “中 DECLARE,SELECT,和 UPDATE 语句。
    -33040 没有说明对象<宿主变量名>。
    宿主变量<宿主变量名>未说明或拼写错误。如果<宿主变量名>没有被说明为宿主变量,那么
    就说明它。否则改正拼写错误。
    -33041 不能打开输出文件<输出文件名>。
    由于没有足够的可供使用的磁盘空间或你没有打开输出文件<输出文件名>的文件系统权限,
    所以预处理器不能打开<输出文件名>输出文件。如果磁盘空间不够大,那么通过删除文件或
    者选择另一个磁盘使文件系统中空间可供使用。如果你没有打开输出文件<输出文件名>的文
    件系统权限,指定另一个目录或用要求的权限注册。
    -33042 不能打开输入文件<输入文件名>。
    嵌入式语言预处理器不能定位你试图用-I 选项包含到你的程序中的那个文件。检查文件是否
    在你指定的位置上并且你规定的位置是否正确。检查你是否有打开输入文件<输入文件名>的
    权限,如果没有,指定另一个目录或用要求的权限注册。
    -33043 内存用完。
    预处理器不能分配更多的内存。如果可能的话,减少与预处理器同时运行的进程的数目,或
    者减少程序的大小。检查是否存在适当的交换磁盘空间。在 DOS 系统上,你将需要释放某些
    磁盘空间。
    -33044 精度必须大于 0 且小于指定的数字数。
    你为 DECIMAL 值指定的精度和/或进位制非法。有关恰当的用法参见<<Informix SQL 指南>>
    的“参考手册”第三章和适当的 INFORMIX-ESQL 手册。
    -33045 使宏<宏名>的先前定义无效。
    这只是一个警告。你对宏<宏名>定义了一次以上。预处理器使用最后出现的<宏名>。
    -33046 指示器不能与记录一起使用。
    这只是一个警告。你不能为输入到一个宿主记录或数据结构而指定一个指示器变量。该指示
    器被忽略。指示器变量必须与一个单一数据项联系起来。如果该记录的一个特定成员需要使
    用一个指示器,那么你必须列出所有的记录成员。
    -33047 这个子句中不允许使用记录<记录名>。
    在这个语句中只允许简单变量的地方你使用了指定的记录。检查名字的拼写并使用简单变量
    重写该语句。参见嵌入式语言手册和<<InformixSQL 指南>>的“句法部分"。
    -33049 显示字段类型<字段名>已经不在上下文使用。
    在 GET/SET DESCRIPTOR 语句中非法使用了指定的显示字段名。有关正确的句法,请参见
    <<Informix SQL 指南>>的“句法”中 GET DESCRIPTOR 和 SET DESCRIPTOR 语句。
    -33050 类型或子类型<类型名>已经被使用。
    该语句重定义了一个已经定义过的用户定义类型或子类型。这个动作是不允许的。再检查一
    下说明并为该类型使用一个唯一的名字。
    -33051 标识符或符号<符号名>上句法错误。
    在<符号名>或附近发现了一个句法错误。为了符号名的恰当使用请查看<<Informix SQL 指南

的“句法部分”,其它符号的恰当使用请查看适当的嵌入式语言手册。
-33052 不匹配的 ELSE。
匹配的 IFDEF 或 IFNDEF 语句不在这个 ELSE 语句前面。再检查一下这点以前的源行; 是否忽
略了前面的语句,或者由于以前的错误而可能未识别出 ELSE。
-33053 不匹配 ENDIF。
IFDEF 或 IFNDEF 语句不在这个 ENDIF 语句前面。再检查一下这点以前的源行; 是否忽略了前
面的语句,或者由于一个更早的错误而可能 ENDIF 未被认出。
-33054 不允许在一个滚动游标上作更新。
UPDATE语句涉及一个用SCROLL关键字说明的游标。UPDATE语句要求一个已经说明FOR UPDATE
的游标以保证适当级别的锁定被应用于将被更新的行。有关游标正确使用的更多信息,参见
<<Informix SQL 指南>>的“句法部分”的 DECLARE 语句。
-33055 名字 id-name 已经被使用。
SQL 标识符 id-name 已经说明过了。检查名字的拼写和当前命名范围内的说明。
-33056 输出过程中错误 <错误号>。
在输出期间出现了错误<错误号>。保证有足够的磁盘空间供输出文件使用并且你有必要的文
件系统权限供文件定位。有关问题的具体原因和适当的修正动作,请查看主机操作系统手册
中的<错误号>(或参见 17 页开始的列表)。
-33057 不能打开错误日志文件<错误文件名>。
你已经指定的这个日志预处理选项有错误,警告信息送到错误文件名而不是送到标准输出。
可是,由于没有足够的可供使用的磁盘空间或你没有打开该文件的文件系统权限,预处理器
不能打开该错误文件。如果不足的磁盘空间是可得到的,那么通过删除文件使文件系统中空
间可供使用或者选择另一个磁盘。如果你没有打开该错误文件的文件系统权限,指定另一个
目录或用要求的权限注册。
-33058 为该字段定义的<选项名>不是一个有效的缺省选项。
有关字段定义中有效 DEFAULT 子句选项的信息参见<<Informix SQL 指南>>的“句法部分”。
-33060 无效的表达式。
指定的表达式非法。有关正确的句法和表达式的使用,请参考<<Informix SQL 指南>>的“句
法部分”。
-33061 不能扩展递归的宏<宏名>。
由于定义的宏中有一个循环,预处理器不能完全扩展宏名所指的宏。改正宏并再试一遍。
-33062 遗漏了 ENDIF。
源文件结束之前你的一个 IFDEF 或 IFNEDF 语句未匹配 ENDIF 语句。从文件尾向上找,确保每
个 IFDEF 或 IFNDEF 语句与匹配的 ENDIF 成对。也可能由于另一个错误而没有认出 ENDIF。
-33063 已经在 BEGIN DECLARE SECTION 中了。
这只是一个警告信息。你有一个 EXEC SQL BEGIN DECLARE SECTION 语句在另一个 BEGIN/END
DECLARE 块内部。这个语句被忽略。可是,该警告信息可能表明你的程序结构的混乱。再检
查一下所有的说明节,保证它们被严格地定界。
-33064 具有不同字体的 <变量名>在这之前已经出现过。ESQL/<语言名>不区分大小写。
这只是一个警告信息。具有不同的大小写字母组合的该指定变量已多于一次出现。因为这个
产品不区分大小写,所有这些名字都作为相同对待。如果想要这些名字指示不同的变量,修
改这些变量说明之一的名字(不仅仅是字体)并重新编译。
-33065 当用模块名作前缀时,游标/语句 id <id 名>太长。
这只是一个警告信息。当你使用-local 预处理选项时,游标名和语句名用由模块名生成的一
个唯一标记作为前缀。( UNIX 系统上,源程序的 inode 号用作唯一的标记。)游标或语句名
与唯一标记合起来的长度不应超过 18 个字符,但就名字来说,它超过了。其结果是,如果不
同的源模块使用了相同的名字,那么这两个名字可能不会像-local 选项要求的那样可以区
分。
-33066 当模块名作为前缀时,游标/语句 ids id1 和 id2 头 18 个字符不唯一。
当你使用-local 预处理选项时,游标名和语句 ids 用由模块名生成的一个唯一标记作为前
缀。( UNIX 系统上,源程序的 inode 号用作这个唯一的标记。) 假使是这样,id1 和 id2
至少有 14 个字符长并且它们的头 13 个字符不相同。其结果是,加上标记后并且其结果修剪
成 18 个字符时,它们相同了。修改这两个名字以避免名字冲突并再试一遍。
-33067 ELIF 没有 IFDEF。
没有在这条 ELIF 语句之前加上一个 IFDEF 或 IFNDEF 语句。再检查一下这点之前的源行; 是
否忽略了前面的语句,或可能由于较早的错误而未认出该错误。
-33068 ELIF 在 ELSE 之后。
ESQL 预处理器的 ELSE 语句指出一个 IFDEF 或 IFNDEF 语句的最后部分; 另一个 ELIF 部分可
以不跟随。再检查一下 IFDEF 或 IFNDEF 语句的内容并按顺序放置它的各个部分。
-33070 在语句的语法分析过程中发生了堆栈溢出
这条信息表明语法分析器堆栈已经溢出,这种情况很少发生。例如,如果你的嵌入式语言的
语句(SELECT, INSERT, UPDATE, DELETE, 等)含有一个极其大的或复杂的子句(WHERE,
MATCHES,LIKE,等),语法分析器试图去处理该子句,那么可能发生堆栈溢出。假使那样的
话,你应该分解该子句并再试一遍。
-33071 语句标识符 '%s' 已经被使用。
这个警告信息表示:你已经使用了两个同名的 PREPARE 语句标识符。例如,
exec sql prepare stmt_id from "select * from tab";
exec sql prepare stmt_id from "insert into tab values(1)";
-33200 符号<变量名>上的语句无效。
指定的类型未定义或语句中"$"字符放错了位置。检查拼写错误,放错了位置的"$"字符,或
未定义的类型。
-33201 不允许固定字符指针。
在该上下文中不允许固定字符指针。用字符指针替代该固定字符指针。
-33202 数据变量<变量名>的维数非法。
你用了一个非法维数涉及该数组变量。改正维数并再试一次。
-33203 变量<变量名>的间接层次非法。
指针变量使用了错误的间接层数。检查该语句中的间接层次。
-33204 发现右花括弧(curly brace)与左花括弧不匹配。
该代码或者含有一个结束的花括弧(})或者遗漏了一个开头的花括弧({)。检查这段代码以找
出未匹配的花括弧或其它不正确的标点符号,比如遗漏了结尾引号或结尾注释。
-33205 PARAMETER 不能在 C 块内部使用。
PARAMETER 语句只允许用在函数说明块中,不能用于嵌套在函数中的命名块内。
-33206 <变量名>的限定符未初始化。
这是一个警告信息。由于指定的 DATETIME 或 INTERVAL 变量的复杂性,它的元素的限定符不
能被正常地初始化。编译继续,但变量可能未被初始化。
-33207 ESQL/C 的类型<类型定义名>太复杂。
这个类型定义(typedef)变量的定义太复杂。ESQL/C 不支持在类型定义(typedef)中使用多维
数组或联合。简化该类型定义(typedef)。
-33208 由于宿主变量名的大小不知道,可能有运行时错误。
这是一个警告信息; 编译继续。ESQL/C 不知道宿主字符变量的大小。如果在一个 INTO 子句
中使用了该变量,内存可能被覆盖。把该变量指定为具有一个数值大小的字符数组。该数值
大小可以是一个文字值或一个 ESQL/C 宏值。
-33209 语句必须用" ; "结束。
这是一个警告信息。这条语句没有必需的分号。即使预处理器可以毫无问题地继续做下去,
你也应该在该语句后加一分号。于是,你能够避免代码加入这个程序将带来的问题。
-33500 <文件名> : 在<行号>行上有不恰当的环境变量。
在指定的环境配置文件中指定行上的入口是非法的。修改文件中的入口(环境变量名和/或设
置)并再试一遍。
-33501 用于 DBAPICODE 的映射文件没有找到。
SQL API 不能找到用于指定的 DBAPICODE 环境变量设置和标准代码集的字符映射文件。检查
你的平台的信息目录中存在的映射代码集。 在 NLS- ready 系统中,标准代码集定义在 LANG
环境变量中。在非 NLS-ready 系统中,标准代码集是缺省的 8 位字符集。
-33502 映射文件没有正确的格式。
用于指定 DBAPICODE 环境变量的映射文件的格式非法。用于字符映射表的正文文件可以由任
意数量的行组成。一行可以是注释,或是 DBAPICODE 字符代码到目标代码集中相同字符的一
对一的字符映射。这种正文文件应该用 U.S. ASCII 书写,或用有效字符(#, 圆括号,数值字
符)的 U.S. ASCII 等价表示的代码集书写。
-34380 输入流包含不合法的多字节字符。
ESQL/C 源有不合法的多字节字符。检查源文件。
-34381 输入流在一个有效字符的中部结束。
ESQL/C 源文件在一个有效多字节字符的中部结束。源文件可能被截断。检查源文件。
-34382 当读取输入流时出现系统错误。
当 ESQL/C 预处理器读取 ESQL/C 源文件时出现系统错误 num。查找操作系统信息以确定问题
的原因。
-34383 当读取输入流时出现未知错误 num。
当 ESQL/C 预处理器读取 ESQL/C 源文件时出现未知错误 num。检查源文件是否是有效的
ESQL/C 源文件。
-34388 发现不合法的字符。不能继续进行处理。
在存储过程中分析元素时,一个内部函数在多字节处理时遇到不合法字符。查看以下选项:

  • 数据库@dbserver;owner;procname
  • 数据库;owner;procname
  • 数据库;procname
  • 数据库@dbserver;procname
  • owner;procname
  • procname
    对可能的不合法字符检查这些选项。
    -34389 在输入串中发现不合法字符。
    SQLscript 有不合法字符。检查 script 文件。
    -34390 非法定界符;不要使用 '\',空格 (SPACE),十六进制 (HEX)
    或多字节字符。为 FILE 语句指定的定界符是非法的。不能使用换行符、反斜杠、空格、制
    表符、十六进制数字 (0-9,A-F,a-f) 或多字节字符作为定界符。检查语句,并改变定界符号。
    -34393 GLS 代码集转换初始化失败。
    在会话初始化时,代码集转换初始化失败。代码集转换表的可用内存不够。
    -34394 对错误位置名会话初始化失败: <位置名>。
    会话初始化失败。在会话初始化时对位置初始化提供不合法的位置名。说明位置名的环境变
    量有一个不正确的值。检查相应的环境变量 CLIENT_LOCALE 或 DB_LOCALE 的值。
    -34395 不合法的多字节字符。Line# num
    在可装入菜单源文件行上检测出不合法的多字节字符。检测源文件。
    -34396 不合法的宽字符。Line# num
    这个内部错误表明内部宽字符格式向多字节字符的转换失败。检查程序逻辑。
    -35036 这行在标识符或符号<符号名>附近使用了 Informix 对 ISO/ANSI SQL 的一个扩充。
    仅当你使用了-ansi 选项时才出现这种错误信息。修改该语句以遵守 ANSI 标准。
    -35038 这条语句在标识符或符号<符号名>附近使用了 Informix 对 X/Open 标准的扩充。
    仅当你使用了-xopen 选项时才出现这种错误信息。修改语句以满足 X/Open 标准。
    -35200 致命的语法分析错误;<字符串>。
    如果你得到这种错误,请记录所有情况并与 Informix 技术支持部联系。
    -35201 游标名必须是一个标识符。
    DECLARE CURSOR 语句中的游标不是一个标识符。它也许是作为一个宿主变量给出,必须改成
    一个有效的游标标识符。
    -35202 太多的嵌套块。
    如果你得到这种错误,请记录所有情况并与 Informix 技术支持部联系。
    -35203 游标<游标名>已经定义。
    该游标定义了一次以上。每个游标 id 只能使用一个游标。重新命名该游标以便它在该模块中
    是唯一的。唯一游标提高可移植性。
    -35204 过程<过程名>已经定义。
    你使用的过程名已经定义。重新命名该过程以便它在模块中唯一。
    -35205 参数<参数名>已经定义。
    一个参数名使用了一次以上。每个过程中一个参数名必须唯一。重新命名该参数,以便在过
    程调用中唯一。
    -35206 语言必须是 Ada,替换<语言名>。
    在 LANGUAGE 子句中,你必须用名字 Ada。取消 LANGUAGE 子句或把语言名改为 Ada。有关使用
    LANGUAGE 子句的更多信息请见<<INFORMIX-Ada/SAME 程序员手册>>的第二章。
    -35207 模块名,<模块名>不匹配结尾的模块名,<模块名>。
    跟在 MODULE END 子句后的名字必须匹配 MODULE 命名子句中指定的模块名。
    -35208 INTERNAL ERROR <模块名>,行 <行号>:字体错误。
    如果该内部错误再次发生,请记录所有情况并与 Informix 技术支持部联系。
    -35209 INTERNAL ERROR:<模块名>,行<行号>: 断言错误
    如果该内部错误再次发生,请记录所有情况并与 Informix 技术支持部联系。
    -35210 INTERNAL ERROR: <特性名>还未完成。
    完成所有支持的特性。如果该内部错误再次发生,请记录所有情况并与 Informix 技术支持部
    联系。
    -35211 命令开关后面仅期待单一文件名。
    使用 adasame 命令。参考<<INFORMIX-Ada/SAME 程序员手册>>第一章提供的预处理器命令句
    法。如果错误再次发生,请记录所有情况并与 Informix 技术支持部联系。
    -35212 遗漏-b 或-s 选项。
    使用 -b 或 -s 选项。参考<<INFORMIX-Ada/SAME 程序员手册>>第一章提供的预处理器命令
    句法。如果错误再次发生,请记录所有情况并与 Informix 技术支持部联系。
    -35213 <过程名> 无游标说明。
    SQL 语句要求的游标 id 没有在 DECLARE CURSOR 语句中说明。检查拼写错误或为该游标增加
    一个 DECLARE CURSOR 语句。
    -35214 在一个以上的过程中使用了带有 OPEN 的游标 :<游标名>。
    仅能在一个 OPEN 语句中涉及游标。删除多重的打开游标的过程。
    -35215 未定义的宿主变量或参数: <名字>。
    引用了一个还未定义的宿主变量或过程参数。
    -35216 当 SQLCODE 出现在参数表中时,不允许有 WHENEVER 子句。
    你或者挑选 SQLCODE 的 ANSI 错误处理或者挑选 Informix Ada 风格的错误处理。
    -35217 ANSI X3.135-1989 要求语言子句。
    ANSI 要求给出一个 LANGUAGE 子句。当你开发符合 ANSI 标准的模块时,指定语言为 Ada。有
    关使用 LANGUAGE 子句的更多信息请见<<INFORMIX-Ada/SAME 程序员手册>>的第二章。
    -35218 ANSI X3.135-1989 要求授权子句。
    仅当你使用了-ansi 选项,这个错误信息才出现。包含一个 AUTHORIZATION 子句以满足 ANSI
    标准。有关使用 AUTHORIZATION 子句的更多信息请见 <<INFORMIX-Ada/SAME 程序员手册>>
    的第二章。
    -35219 ANSI X3.135-1989 要求至少一个(SQLCODE)参数
    ANSI 标准要求每个过程至少有一个 SQLCODE 参数。
    -35220 游标名无 OPEN 过程。
    语句涉及的游标还没有打开。删除这个没有 OPEN 语句的游标或为这个隶属的游标增加一个
    OPEN 语句。
    -35221 字符串参数不能有 OUT 方式:参数名。
    CHAR()和 VARCHAR()参数不能作为 OUT 参数使用。把参数改成 CHAR[n]。
    -35222 不支持 CHAR()参数<参数名>; 使用 VARCHAR()并附加 ASCII.NUL。
    -35223 引起错误的字是一个语言保留字或类型标识符。
    把该保留字改为一个非保留字。
    -35224 INTO 短语不能出现在 DECLARE CURSOR 语句中。
    在 DECLARE 游标中使用 INTO 短语可能导致不可预见的运行时错误。Informix 建议把 INTO
    短语移到 OPEN 和/或 FETCH 过程。
    -35225 对象引用,<对象名>不能出现在动态游标说明中。
    从该动态游标说明中删去引用的对象。
    -35226 本行标识符或符号<名字>附近使用了一个 Informix 对 ISO/ANSI SQL 的扩充。
    已经检测到使用了一个 Informix 对 ANSI 的扩充。使用符合 ANSI 标准的句法以保证最大的可
    移植性。
    -35227 这个语句在标识符或符号<名字>附近使用了一个 Informix 对 X/Open 标准的扩充。
    已经检测到使用了一个 Informix 对 X/Open SQL 句法的扩充。使用一个遵循 X/Open 的句法以
    保证最大的可移植性。
    -41000 读取 INFORMIX.INI 文件的[INET_CONNECTION]节错误。
    检 查 INFORMIX.INI 文 件 的 [INET_CONNECTION] 节 以 确 保 该 节 有 以 下 节 头 :
    [INET_CONNECTION]
    -41001 INFORMIX.INI 文件没有一个主机名或有一个格式错误。
    检查 INFORMIX.INI 文件。如果你没有在 InetLogin 结构中定义一个主机名变量,则
    [INET_CONNECTION]节必须有一个主机名。主机名必须用下列格式定义在[INET_CONNECTION]
    节中:host=<主机名>
    -41002 INFORMIX.INI 文件没有用户名或有一个格式错误。
    检查 INFORMIX.INI 文件。如果你没有在 InetLogin 结构中定义一个用户名变量,则
    [INET_CONNECTION]节必须有一个用户名。你必须用下列格式在[INET_CONNECTION]节中定义
    用户名:user=<用户名>
    -41004 INFORMIX.INI 文件没有协议名或有一个格式错误。
    检查 INFORMIX.INI 文件。如果你没有在 InetLogin 结构中定义一个协议名变量,则
    [INET_CONNECTION]节必须有一个协议名。你必须用下列格式在[INET_CONNECTION]节中定义
    协议名:protocol=<协议名>
    -41005 读取 INFORMIX.INI 文件的[INET_PROTOCOL]节时错误。
    检查 INFORMIX.INI 文件的[INET_PROTOCOL]节以确保该节有以下节头:[INET_PROTOCOL]
    -41006 协议名不在 INFORMIX.INI 文件中的[INET_PROTOCOL]节。
    检查 INFORMIX.INI 文件。在[INET_CONNECTION] 节中指定的协议名应该与 [INET_PROTOCOL]
    节指定的协议名匹配。协议名必须为该协议定义正确的.DLL 模块。如果你正在使用 IPX/SPX
    协议,则 ipx=INETIPX.DLL。如果你正在使用符合 Windows Sockets 1.1 标准的 TCP/IP 协议,
    则 tcpip=INETWSOK.DLL。
    -41007 装入 INFORMIX-NET for Windows 库时错误。
    检查你的路径。如果你正在使用一个符合 TCP/IP 协议的 Windows Sockets 1.1 ,则
    INETWSOK.DLL 模块必须在你的路径下。如果你正在使用 IPX/SPX 协议,则 INETIPX.DLL 模块
    必须在你的路径下。这些模块必须在你的路径下。另外,你也可能没有足够的内存装入正确
    的 DLL 模块。
    -41008 协议数超出了本版本所支持的协议数。
    你必须每次只使用一种协议与你的远程数据库服务器通信。
    -41009 关闭连接中出错。
    当连接被关闭时,一个错误出现。没有提供正确的动作。
    -41020 连接错误。
    Windows 下有太多的应用在活动。请关闭你的某些应用并再试一遍。
    -41021 连接忙。
    你当前正在作一个数据库服务器请求。直到当前请求完成之前,你不能做另一个请求。
    -42306 不能设置要等待的锁定方式。
    正在运行的实用程序不能访问表的内容,因为它不能等待表的锁定。稍等片刻,再重新运行
    dbschema 或 dbexport 。
    -47086 不能指定当前时间作为非日期时间字段类型的缺省值。
    当字段数据类型不是 DATETIME 时,你不能设定由来自系统时钟的当前时间组成的缺省值。把
    字段数据类型修改为 DATETIME(假如许可的话 ),或为该字段指定一个不同的缺省值。
    -47087 当字段不接受 null 时,不能指定 null 缺省值。
    为该字段选定一个不同的(非-null)缺省值,或把该字段修改为可接受 null 值。
    -47088 不能指定服务器或节点作为这种字段类型的缺省值。
    你不能为非 CHAR,NCHAR,VARCHAR,或 NVARCHAR 数据类型的字段指定一个由当前数据库服
    务器名或当前节点名组成的缺省值。请改变该字段的数据类型(假如允许的话 )或指定一个
    不同的缺省值。
    -47089 不能指定服务器或节点作为这样字段长度的缺省值。
    为了为 CHAR,NCHAR,VARCHAR,或 NVARCHAR 字段指定一个由当前数据库服务器名或当前节
    点名组成的缺省值,最小字段长度必须是 18。请增加该字段长度或指定一个不同的缺省值。
    -47090 不能用这个字段的类型作为缺省值指定当日日期。
    不能对不是 DATE 数据类型的字段规定由当前系统日期组成的缺省值。改变字段的数据类型
    (假如许可的话)或规定不同的缺省值。
    -47091 不能用这个字段的类型作为缺省值指定用户。
    不能为不是 CHAR、NCHAR、VARCHAR 或 NVARCHAR 数据类型的字段规定由当前用户注册各组成
    的缺省值。改变字段的数据类型(如果许可)或规定不同的缺省值。
    -47092 不能用这个字段的长度作为缺省值指定用户。
    为了为 CHAR、NCHAR、VARCHAR 或 NVARCHAR 字段规定由当前用户注册各组成的缺省值,最小
    的字段长度必须是 8。增加字段长度或规定不同的缺省值。
    -47093 不能用 BYTE 或 TEXT 的字段类型建立唯一键或主键的限制。
    为了对字段建立唯一键或主键的限制,如果许可,从 BYTE 或 TEXT 改变字段的数据类型。
    -47095 字段在参考的表中没有发现。
    不能对不在参考表中的字段建立外部键的限制。为该限制指定不同的参考字段。
    -47098 复合列表中的字段数超出最大值。
    在关于 INFORMIX-OnLine 动态服务器的主要限制或唯一限制中不能多于 16 个字段名,或在关
    于 INFORMIX-SE 数据库服务器的一个主要限制或唯一限制中不能多于 8 个字段名。减少在限
    制定义中指定的字段数量。
    -47099 不能修改已存在的限制。
    不能用 ALTER TABLE 菜单选项来修改已存在的限制。名字之前的星号标识已存在的限制。
    -47100 字段不在这个表中。
    不能对不在表中的字段建立限制。
    -47101 为了取消现有的限制,当前的域必须是限制的名称。
    光标在屏幕上有错误的域。移动光标反显 Constraint Name 域中的输入,取消与主键、校验
    或唯一限制相关联的所有字段。反显 Constraint 域来取消与外部键的限制相关联的所有字
    段。
    -47102 已经超出临时缓冲区。
    SQL 编辑器中存放校验限制值和文字缺省限制值的缓冲区满了。如果正在修改校验限制值,
    不同的编辑器可能有较大的缓冲区。
    -47104 填充因子百分数必须是不超过 100 的正整数。
    试图指定是负数或大于百分之一百的填充因子百分数。指定不同的百分数或迫使 RETURN 接收
    90%缺省值。
    -47105 dbspace 已经选作该策略的一部分。
    在分段存储策略中不能多次使用同一 dbspace。选定的 dbspace 已经是该策略的一部分。从
    当前列表选择另一个 dbspace。
    -47106 表已经被选作连接策略的一部分。
    一个表挂到分段存储策略只能一次。你所选择的表已经是分段存储策略的一部分。从当前列
    表选择另一个表。
    -47107 Alter Table 选项已被变更。
    只能在 ALTER FRAGMENT 菜单会话期内执行一个菜单选项,而且不能多次运用于当前策略。例
    如,只能对循环策略加一个 dbspace,在同一 ALTER TABLE 会话期不能删除 dbspace。
    -47108 dbspace 不是当前策略的一部分。
    已经指定的 dbspace 不是当前分段存储策略的一部分。从屏幕上显示的列表中选择当前的
    INFORMIX-OnLine 动态服务器的 dbspace。
    -47109 如果定义位置,dbspace 是必须的。
    你已经指定 dbspace 作为连接表策略的一部分。这个动作表明你希望,在作为分段存储策略
    一部分的 dbspace 被连接之前或之后放置连接表。必须定义之前或之后的位置。
    -50000 应用程序对象已经建立。
    ixApp 构造函数产生此信息。系统建立 ixApp 对象,并且只能存在一个。程序代码不允许试
    图建立 ixApp 对象。
    -50001 一个关闭了窗口的成员不能被存取。
    许多成员函数产生此信息。程序可以调用 ixWindow::close 去关闭一个窗口。用户可以通过
    在窗口的系统菜单中选择“关闭”,来使窗口关闭。
    一旦窗口已经关闭,尽管引用它的指针可能还存在,程序将不能再调用它的任何成员函数或
    者引用它的成员。
    -50002 Box 不能使用 NULL 容器或者 NULL 几何尺寸创建实例。
    ixBox 构造函数产生此信息。box 必须同时设定锚定点和大小。它们没有缺省大小。
    -50003 Line 不能采用 NULL 或者无效的几何尺寸创建实例。
    ixLine 构造函数产生此信息。Line 必须建立锚定点和大小。它们没有缺省的大小。
    -50004 不能给图片按钮设置颜色属性。
    此信息由 ixPictureButton::setColor() 产生。
    位图文件设置图片按钮的颜色属性。不要试图直接设置颜色。
    -50005 isEqualTo() 成员函数在此类中不被支持。
    isEqualTo() 成员函数在 ixFile、ixRowArray 和 ixVisualObject 类及其派生类中不被支
    持。任何试图在这种情况下对它的调用将报告此错误。
    -50006 COPY 运算符在此类中不被支持。
    当程序试图执行以下操作时产生此信息:ixFile::copy()、ixRowArray::copy() 或者
    ixVisualObject::copy()。不清楚拷贝应该做什么。使用操作系统来拷贝文件。SuperTables
    使用行数组,因此你自己不必去拷贝它们。VisualObject 是一个虚拟类,并且程序不能够获
    得拷贝的实例。
    -50007 应用程序对象不能被拷贝或者比较。
    此信息由 ixApp::copy() 或 ixApp::isEqualTo() 产生。仅有一个 ixApp 实例可以存在,
    并且是自动为用户建立的。
    -50008 可视对象不能被加至一个关闭的可视容器中。
    ixVisualObject 构造函数产生此信息。一旦窗口已经关闭,其中的每一个 ixVisualObject
    获得一个其关闭后的可用性。关闭了的可视对象的成员函数,除了 getAvailability() 以外,
    均不能被调用。因此你不能增加新的可视对象至一个关闭了的窗口。不必去检查窗口,我们
    只需检查传递的容器对象的可用性。
    -50009 在一个可视对象的内部表示中检测到问题。
    ixVisualObject 派生类中的许多函数产生此信息。纠正所有其他的处理错误。
    如果错误在发生,请注意整个环境,并且与 Informix 技术支持部门联系。
    -50010 不能将可视对象的大小设置为负值。忽略此操作。
    ixVisualObject 构造函数或 ixVisualObject::setSize() 产生此信息。除了 ixBox 和
    ixLine 以外,所有可视对象必须具有大于或等于零的大小。
    -50011 不能使用 NULL 容器来建立一个可视对象。
    ixVisualObject 构造函数产生此信息。除了顶层的 ixWindow 对象以外,所有可视对象必须
    被连至 ixVisualContainer。
    -50012 不能为 popup 形式的 ixWindow 指定一个 NULL 容纳窗口。代之以使用 normalTop
    形式的 ixWindow。
    ixWindow 构造函数产生此信息。它表示用户已经请求了一个 popup ixWindow,但并没有指
    示容纳窗口。不是在一个容纳窗口进行推测,而是 VCL 建立新的窗口作为 normalTop 窗口。
    -50013 不能为一个顶层窗口指定容纳窗口。忽略指定的容纳窗口的参数。
    ixWindow 构造函数产生此信息。用户已经请求了一个 ixWindow 的 mainTop 或 normalTop
    样式,但是还要指定一个容纳窗口。仅有 popup 窗口可以具有容纳窗口,因此 VCL 忽略容
    纳窗口的参数。
    -50014 ixWindow 的无效样式参数。
    ixWindow 构造函数产生此信息。此信息表示需要的是一个 windowStyle 参数,而不是
    mainTop、normalTop、modalPopup 或者 modlessPopup。然后 windowStyle 被假定为
    normalTop。
    -50015 因 为 以 下 的 SQL stmt: "stmt" , 一 个 SQL 错 误 已 经 在
    ixSuperTable::applyRowLock() (err) 中发生。
    ixSuperTable::applyRowLock() 成员函数被调用,但是引擎报告了一个错误。此行可以由引
    擎锁定。检查显示的 SQL 字符串是否正确,并试着查找显示在括号中的引擎错误。
    -50016 不能设置可视对象的 anchor 为负值。忽略此操作。
    如果试图将一个 ixVisualObject 的顶端或 左点设置为负值,ixVisualObject 构造函数或
    ixVisualObject::setAnchor() 产生此信息。
    -50017 Popup 窗口没有图标。不必考虑为 Popup 窗口设置图标。
    此信息由 ixWindow::setIcon() 生成,可能要通过 ixWindow 构造函数的调用。Popup 窗口
    不能独立于它们的容纳窗口进行最小化。如果 Popup 窗口容器被最小化,popup 被简单地隐
    藏,无图标显示。这种情形说明一个图标已经被指定。
    -50018 不能从 popup 窗口获得图标。返回 NULL。
    此信息由 ixWindow::getIcon() 生成。程序试图找出什么是 popup 窗口的图标。popup 窗
    口不能具有图标。返回 NULL 值。
    -50019 不能在 ixBlob 对象上使用 setValueStr() 成员函数。
    此信息由 ixBlob::setValueStr() 生成。setValueStr() 函数采用 CHAR() 参数,并且
    blobs 可以大于 32,766 字符,也就是 CHAR(
    ) 的最大值。
    -50020 没有缺省编辑器可用于此分类;blob 编辑器名必须提供。
    用户在一个 TEXT 或 BYTE 数据类型的 ixSuperField 对象中输入“!”,但是没有对数据指
    定 blob 编辑器。仅对于 ixText 对象,你可以通过将 DBEDIT 变量设置为你所喜欢的编辑
    器名称,而在 informix.ini 文件中指定 blob 编辑器。如果此信息不是在 informix.ini 文
    件中,DBXEDIT 环境变量将被检查。最后,如果什么也没有设置,记事本值 (对 Windows) 或
    者 vi (对 UNIX )被采用。对于 TEXT 或者 BYTE SuperField,用户可以设置 SuperField
    blobEditor 成员为 blob 编辑器的名称。
    -50021 试图删除 blob 存储文件失败。这可能是由于文件/目录的许可问题。
    此信息可能在 ixBlob 被破坏时或者当 blob 存储文件不能被删除而发生释放调用时产生。
    在程序不具备写许可的目录中检查命名的数据文件。
    -50022 xll 一个无效参数(或超出范围)被送至此成员函数。
    一个无效如何通过被送至 _ _blob-seek()。纠正所有其他处理错误。如果发生错误,请注意
    整个环境状况,并且与 Informix 技术支持部门联系。
    -50023 一个 NULL 容器被传送至 ixMenu 构造函数。
    ixWindow 构造函数产生此信息。可能已经发生存储器的损坏。纠正所有其他处理错误。如果
    在发生此错误,请注意整个环境状况,并且与 Informix 技术支持部联系。
    -50024 不能为 ixMenu 的实例指定一个 NULL 父菜单。
    如果 NULL 父菜单被传送,ixMenu 构造函数产生此信息。菜单仅可以被连至其他菜单。
    ixWindow 构造函数将自动建立一个菜单(成员)。
    -50025 内部错误:试图从无焦点对象传送焦点。
    可能已经发生了存储器损坏。纠正所有其他处理错误。如果错误再次发生,请注意整个环境
    状况,并且与 Informix 技术支持部门联系。
    -50026 作为 ixBlob::locInFile 存储的 blob 要求一个文件名。
    程序试图一个命名文件中设置 ixBlob::locInFile,但是没有指定文件名。
    -50027 侦测到存取 blob 范围以外的数据的企图。
    程序试图在 blob 空间以外查找。
    可能 ixText::getSubString() 被作为大于 blob 的起点调用。
    -50028 ixByte 存储形式请求了一个非法值。
    合法值如下:ixByte::locInMemory ixByte::locInFile ixByte::locInTempFile。
    当第一个参数无效时 ixByte 构造函数产生此信息。
    -50029 文件名称未指定给以 ixByte::locInFile 存储的 ixByte 对象。
    当第一个参数是 ixByte::locInFile,并且未指定命名文件时,由 ixByte 构造函数产生此
    信息。
    -50030 ixText 存储形式请求了一个非法值。
    合法值是:ixText::locInMemory ixText::locInFileixText::locInTempFile。
    当第一个参数无效时,ixText 构造函数产生此信息。
    -50031 文件名称未指定给以 ixText::locInFile 存储的 ixText 对象。
    当第一个参数是 ixText::locInFile,并且未指定命名文件时,ixText 构造函数产生此信息。
    -50032 blob 编辑器以无效返回状态退出。
    系统对编辑 blob 的调用失败。当指定给 blob 编辑器的名称无效时,或者在当前的路径中
    没有该文件时,将发生此情况。
    -50033 此成员函数不支持该对象。
    此信息由 ixNumeric 和由其衍生的分类所生成。它表示一个与数字类型不一致的算术函数被
    请求。这些函数的有效对象只有:ixFloat、ixSmallFloat、ixInteger、ixSmallInt、ixDecimal
    和 ixMoney。再者,mod() 函数仅对 ixInteger 和 ixSmallInt 有效。确认你的参考是对象
    的正确类型。
    -50034 指定的基类或衍生类的名称为 NULL。
    如果任一参数是 NULL,此信息将由 ixObject::isClassDerivedFromClass() 生成。在这种
    情况下,函数返回一个 NULL 值。参考现有的已定义的类,确认子类和基类的名称。
    -50035 指定比较的对象是 NULL。
    如果通过的参数是 NULL,ixObject::isEqualTo() 就产生此信息。然后该函数返回一个
    FALSE 值。
    -50036 指定位于暂时文件中的 blob 文件名被忽略。
    ixBlob 构造函数产生此信息。当你使用 ixBlob::setLocation() 成员函数设置一个 blob
    位置时(或者是 ixText 或者 ixByte 对象 )你可以指定数据或者必须在存储器中,或者在
    你选择的文件中,或者在本地建立的暂时文件中。
    NewEra 命名暂时文件,同时,如果你采用的此选项包括文件名称,可以忽略。
    -50037 对位于存储器中的 blob 指定的文件被忽略。
    ixBlob 构造函数产生此信息。当你使用 ixBlob::setLocation() 成员函数设置一个 blob
    (或者是一个 ixText 或者是 ixByte 对象)位置时,你可以指定或者数据必须在存储器中,
    或者在你选择的文件中,或者在一个本地建立的暂时文件中。如果你选择将 blob 存储在存
    储器,你将不需要文件名。如果已经包括了文件名,可以忽略。
    -50038 由 于 以 下 的 SQL stmt: "stmt" , 一 个 SQL 错 误 已 经 出 现 在
    ixSuperTable::doPrepRowLock() (err)。
    ixSuperTable::prepRowLock() 成员函数被调用,但是引擎报告了一个错误。检查显示的 SQL
    字符串是否正确,同时努力查找显示在括号中的引擎的错误码。
    -50039 不能启动 blob 存储文件。
    当程序准备打开一个 blob 存储文件时,错误出现。如果该文件存在,但是由于某种原因不
    能读出时,(可能由于许可问题)此情况可能出现。
    -50040 不能打开 blob 存储文件。
    当程序试图打开一个 blob 存储文件时,错误出现。文件已经建立或读出,但是由于某种原
    因它不能写入(可能是由于许可问题)。
    -50041 不能读 blob 存储文件。
    当程序试图读一个 blob 存储文件时,错误出现。
    -50042 不能向 blob 存储文件写入。
    当程序试图向一个打开的 blob 存储文件写入时,错误出现。
    -50043 当试图向一个 blob 存储内存写入时,发现错误。
    当程序试图向一个 blob 存储文件写入时,由于在写入期间存储内存增长而发生错误。请记
    录整个环境,同时与 Informix 技术支持部门联系。
    -50044 不能建立 blob 存储文件。
    当程序试图建立一个存储文件时,错误出现(可能是由于许可问题)。
    -50050 文件不能被打开。
    如果 ixFile 不能打开指定的文件,ixFile 构造函数将产生此信息。
    -50051 没有足够的内存用于返回字符串。
    此信息由 ixMsgFile::readMsg() 生成。系统不能分配足够的存储器用于存放从信息文件读
    出的字符串值。或者减少程序的大小,或者减少信息的长度。
    -50052 当存取信息文件时,错误出现。
    ixMsgFile 构造函数或者 ixMsgFile::readMsg() 产生此信息。指定的文件或被破坏,或者
    它不是一个 Informix 编译的信息文件。
    -50054 在 ixSuperTable::retrieve() 中,不能将取得的行插入数据集。检查并保证
    SuperFields 的 SQL 类型与数据库类型一致。
    此信息由 ixSuperTable 生成。插入失败。检查 SuperField 数据类型与对应的数据库字段
    类型是否一致。
    -50055 在 ixSuperField 构造函数中的无效字段号。
    ixSuperField 构造函数产生此信息。colNum 参数具有小于 1 或大于 SuperTable 中字段号
    的值。
    -50056 下列 includeTable 输入,“输入”,是一个 SuperField 不合法的值。检查并保证此
    输入是可以转换至该类型的,并且在 colInfo 中为 SuperField 指定 encLength。
    ixSuperField::dataValidate() 成员函数产生此信息。
    当确认字段的值与该字段中的 includeTable 列表值冲突时发出警告。在包含表中的值是错
    误的类型(例如,当字段具有日期时间值时,它可能是一个字符串)。在所包含的表中对
    SuperField 的值进行再检查,确认它们全部具有相同、正确的类型。
    -50057 对当前对象未指定帮助号。
    当没有设定帮助号的 item 需要帮助时,意味着没有帮助文本可以用于该对象。在这种情况
    下运行时没有 workaround 可以使用。但是你可以在应用代码中访问它,通过赋予该对象与
    其有关联的帮助号,并且对应的信息在相应的帮助文件中。
    -50060 在 ixSuperField 中的无效内部 SuperTable 描述。
    各种 ixSuperField 和 ixSuperTable 成员函数产生此信息。纠正所有其他处理错误。
    如果错误再次出现,请记录整个环境,同时与 Informix 技术支持部门联系。
    -50061 在 ixSuperTable 构造函数中,指定了无效版面布置-设置为缺省版面布置
    freeForm。
    ixSuperTable 构造函数产生此信息。有效的版面布置只有 gridForm 和 freeForm(它们是
    ixSuperTable 常数)。
    -50062 在 ixSuperTable 构造函数中指定了无效显示方式-- 设置为缺省显示方式
    displayData。
    ixSuperTable 构造函数产生此信息。显示方式的有效值只有 displayQuery 和 displayData
    (它们是 ixSuperTable 常数)。
    -50063 在 ixSuperTable 构造函数中,指定了无效锁定方式
    -- 设置为缺省锁定方式 noLock。
    ixSuperTable 构 造 函 数 产 生 此 信 息 。 有 效 的 锁 定 方 式 只 有 pessimisticLock 、
    optimisticLock 和 noLock(它们是 ixSuperTable 常数)。
    -50064 在 ixSuperTable::setScrollRange() 中,totalRows 输入参数小于 0 -设为缺省
    值 0。
    ixSuperTable::setScrollRange() 成员函数产生此信息。totalRows 的值必须大于 0。
    -50065 在 ixSuperTable::highlightRow() 中,无效的 rowNum 输入参数-中止调用。
    ixSuperTable::highlightRow() 成员函数产生此信息。rowNum 参数值必须在 1 和存储行号
    (即 ixSuperTable::getNumStoredRows())之间,包括 1 和存储行号。
    -50066 在 ixSuperTable::unhighlightRow() 中,无效 rowNum 输入参数-中止调用。
    ixSuperTable::highlightRow() 成员函数产生此信息。rowNum 参数值必须在 1 和存储的行
    号(即 ixSuperTable::getNumStoredRows())之间,包括 1 和存储行号在内。
    -50067 在 ixSuperTable::getNextHighlightedRow() 中,startRowNum 输入参数 -中止调
    用并返回 NULL。
    ixSuperTable::highlightRow() 成员函数产生此信息。startRownum 参数值必须在 1 与存
    储行号之间(即 ixSuperTable::getNumStoredRows()),包括 1 和存储行号在内。
    -50068 在 ixSuperTable::getChangeFlag() 中,无效的 rowNum 输入参数--返回 NULL。
    ixSuperTable::getChangeFlag 函数的 rowNum 参数超出了范围。此参数的有效范围是在 1
    至存储行数(即 ixSuperTable::getNumStoredRows())之间。
    -50069 在 ixSuperTable::getChangeFlag() 中,无效 colNum 输入参数 -- 返回 NULL。
    ixSuperTable::getChangeFlag 函数的 colNum 参数超出了范围。此参数的有效范围是在 1
    至显示的字段数(即 ixSuperTable::getNumCols())之间。
    -50070 在 ixSuperTable::setChangeFlag() 中,不能直接设置为 isDeleted - 中止并返
    回 NULL。
    ixSuperTable::getChangeFlag() 函数不支持将 changeFlag 设置为 isDeleted ,因为行必
    须通过使用 ixSuperTable::delete()从 SuperTables 中删除。
    -50071 在 ixSuperTable::setChangeFlag() 中,无效的 rowNum 输入参数--返回 NULL。
    ixSuperTable::getChangeFlag() 函数的 rowNum 参数超出了范围。此参数的有效范围是在
    1 至存储行数(即 ixSuperTable::getNumStoredRows())之间。
    -50072 在 ixSuperTable::setChangeFlag() 中,无效的 colNum 输入参数-- 返回 NULL。
    ixSuperTable::getChangeFlag 函数的 colNum 参数超出范围。此参数的有效范围在 1 至显
    示的字段数(即 ixSuperTable::getNumCols())之间。
    -50073 在以下 SQL stmt: "stmt" 的 ixSuperTable::doSQLPrepSelect() (err) 中出现了
    一个 SQL 错误。
    SQLPrepSelect()的事件已经用缺省的处理程序 doSQLPrepSelect()调用,但是引擎报告了一
    个错误。检查显示的 SQL 字符串是否正确,并查找显示在括号中的引擎错误码。
    -50074 在以下 SQL stmt: "stmt" 的 ixSuperTable::doSQLFetch()(err) 中,出现了一个
    SQL 错误。
    SQLFetch()事件已经用缺省的处理程序 doSQLFetch()调用,但是引擎报告了一个错误。查找
    显示在括号中的引擎错误码。
    -50075 在 ixSuperTable::setCellValue() 中的致命的错误 --不能对该存储格调用
    ixSuperTable::getSuperField()。
    ixSuperTable::setCellValue() 函数试图根据指定的 colNum 参数调用 getSuperField(),
    但是返回了 NULL。某些严重的内部错误已经发生。
    -50076 在 ixSuperTable::initCellValue()中,无效 rowNum 输入参数-- 返回 NULL。
    ixSuperTable::initCellValue 函数的 rowNum 参数超出了范围。此参数的有效范围是在 1
    至存储行的数量(即 ixSuperTable::etNumStoredRows())之间。
    -50077 在 ixSuperTable::initCellValue()中,无效的 colNum 输入至参数-- 返回 NULL。
    ixSuperTable::initCellValue 函数的 colNum 参数超出了范围。此参数的有效范围是在 1
    至显示字段的数量(即 ixSuperTable::getNumCols())之间。
    -50078 在 ixSuperTable::prepRowLock() 中 , ixSuperTable::getConnection() 返 回
    NULL--用 NULL 连接建立实例 lockStmt。
    在 ixSuperTable 构 造 函 数 中 指 定 的 ixSQLConnect 对 象 有 可 能 是 无 效 的 , 因 为
    ixSuperTable::getConnection() 返回了 NULL。ixSuperTable::prepRowLock() 函数使用隐
    式连接建立了 lockStmt。
    -50079 在 ixSuperTable::doSQLPrepSelect() 中,ixSuperTable::getConnection() 返回
    NULL-- 使用 NULL 连接建立实例 selectStmt。
    用 ixSuperTable 构 造 函 数 中 指 定 的 ixSQLConnect 对 象 可 能 是 无 效 的 , 因 为
    ixSuperTable::getConnection()返回了 NULL。doSQLPrepSelect 函数使用隐式连接建立了
    selectStmt 。
    -50080 在 ixSuperTable::doSQLInsert() 中,ixSuperTable::getConnection() 返回了
    NULL-- 使用 NULL 连接建立实例 insertStmt。
    用 ixSuperTable 构 造 函 数 指 定 的 ixSQLConnect 对 象 可 能 是 无 效 的 , 因 为
    ixSuperTable::getConnection()返回了 NULL。doSQLInsert 函数使用隐式连接建立了
    insertStmt。
    -50081 在 ixSuperTable::doSQLUpdate() 中,ixSuperTable::getConnection() 返回了
    NULL--使用 NULL 连接建立实例 updateStmt.
    用 ixSuperTable 构 造 函 数 指 定 的 ixSQLConnect 对 象 可 能 是 无 效 的 , 因 为
    ixSuperTable::getConnection()返回了 NULL。doSQLUpdate 函数使用隐式连接建立
    updateStmt 。
    -50082 在 ixSuperTable::doSQLDelete() 中,ixSuperTable::getConnection() 返回了
    NULL--使用 NULL 连接建立实例 deleteStmt。
    在 ixSuperTable 构 造 函 数 中 指 定 的 ixSQLConnect 对 象 可 能 是 无 效 的 , 因 为
    ixSuperTable::getConnection()返回了 NULL。doSQLDelete 函数使用隐式连接建立了
    deleteStmt。
    -50083 在 ixSuperTable::buildLockStr() 中,没有指定 updateTable--返回 NULL。
    不能够决定此 SuperTable 的 updateTable 。函数 getUpdateTable() 返回 NULL。检查
    updateTable 和 ixSuperTable 的 selectFromPart 构造函数的参数。
    -50084 在 ixSuperTable::buildUpdateStr() 中,没有指定的 updateTable-- 返回 NULL。
    不能够确定此 SuperTable 的 updateTable。调用返回 NULL 的 getUpdateTable()。检查
    updateTable,以及 ixSuperTable 的 selectFromPart 构造函数参数。
    -50085 在 ixSuperTable::buildInsertStr() 中,没有指定的 updateTable,-- 返回
    NULL。
    不能够确定此 SuperTable 的 updateTable,调用返回 NULL 的 getUpdateTable()。检查
    updateTable 和 ixSuperTable 的 selectFromPart 结构函数参数 。
    -50086 在 ixSuperTable::buildDeleteStr() 中,没有指定的 updateTable--返回 NULL。
    不能够确定此 SuperTable 的 updateTable。调用返回 NULL 的 getUpdateTable()。检查
    updateTable 和 ixSuperTable 的 selectFromPart constructor 构造函数参数。
    -50087 在 ixSuperTable::retrieve() 中,来自 fetch.的 ixValue 无效。
    ixSuperTable::SQLFetch() 函数返回一个带 NULL 元素的行。如果你已经将此事件绑定至你
    自己的处理器,须保证返回行的每个元素都是一个已分配的 ixValue。
    -50088 在 ixSuperTable::buildLockStr() 中 , ixSuperTable::getDynKeyStr() 返 回
    NULL--检查并确认为某些 SuperField 指定了主键。
    为 了 确 定 哪 个 行 被 锁 定 , ixSuperTable::buildLockStr() 函 数 调 用
    ixSuperTable::getDynKeyStr()。但是,getDynKeyStr() 返回 NULL。检查是否正确地为
    SuperTable 中的 SuperFields 指定了主键。
    -50089 在 ixSuperTable::buildUpdateStr() 中,ixSuperTable::getDynKeyStr() 返回
    NULL--检查并确认为某个 SuperField 指定了主键。
    为 了 确 定 哪 个 行 将 更 新 , ixSuperTable::buildUpdateStr() 函 数 调 用
    ixSuperTable::getDynKeyStr() 。
    但是,getDynKeyStr() 返回 NULL。检查是否正确地为 SuperTable 中的 SuperFields 指定
    了主键。
    -50090 在 ixSuperTable::buildDeleteStr() 中,ixSuperTable::getDynKeyStr() 返回
    NULL--检查并保证已为某个 SuperField 指定了主键。
    为 了 确 定 哪 个 行 将 删 除 , ixSuperTable::buildUpdateStr() 函 数 调 用
    ixSuperTable::getDynKeyStr()。但是,getDynKeyStr() 返回 NULL。检查是否正确地为
    SuperTable 中的 SuperFields 指定了主键。
    -50091 在 ixSuperField::setDataState() 中,在构造函数中指定了无效状态--设置为
    ixSuperField::enabledState。
    在 ixSuperField 构 造 函 数 中 , 为 dataState 指 定 了 无 效 值 。 有 效 值 只 有
    ixSuperField::enabledState 、 ixSuperField::readOnlyState 和
    ixSuperField::disabledState。
    -50092 在 ixSuperField::setDataState() 中,指定了无效状态-- 忽略新状态而保持旧状
    态。
    对 dataState 指 定 了 无 效 值 。 有 效 值 只 有 ixSuperField::enabledState 、
    ixSuperField::readOnlyState 和 ixSuperField::disabledState。如果你已经给予了一个无
    效状态,并且该状态原来被设置为有效值,此操作被忽略,而仍旧保持现存的值。检查你的
    程序,保证你使用类常数来指定数据状态。
    -50093 在 ixSuperField::setQueryState() 中,在构造函数中指定了无效状态-- 设置为
    ixSuperField::enabledState 。
    在 ixSuperField 构 造 函 数 中 , 为 queryState 指 定 了 无 效 状 态 。 有 效 值 只 有
    ixSuperField::enabledState 、 ixSuperField::readOnlyState 和
    ixSuperField::disabledState。
    -50094 在 ixSuperField::setQueryState() 中,指定了无效状态。--忽略新状态并且保持
    旧状态。
    为 queryState 指 定 了 无 效 值 。 有 效 值 只 有 ixSuperField::enabledState 、
    ixSuperField::readOnlyState 和 ixSuperField::disabledState。如果你已经给予了无效
    值,并且该状态原来已经被设置为有效值,此操作被忽略而保持原来的值。检查程序,确保
    使用类常数来指定查询状态。
    -50095 在 ixSuperTable::setScrollRange() 中,
    totalRows larger 大于行数组中的行数。--缺省设置为行数组中的行数。
    在对 ixSuperTable::setScrollRange() 的调用中指定的 totalRows 参数,大于存储行的数
    量(即 getNumStoredRows())。ixSuperTable::setScrollRange() 函数将新的 scrollRange
    设置为当前的 displayMode 的存储行的总数。
    -50096 在 ixSuperTable::getKeyCols() 中,在 NULL 行中通过--返回 NULL。
    ixSuperTable::getKeyCols() 函数期望一个输入的 ixRow 并且返回一个新的 ixRow,它包含
    对应于作为primaryKey 的一部分的superfields的行的元素。由于某种原因,此函数用 NULL
    ixRow 调用。
    -50097 在 ixSuperTable::getKeyColStr() 中,ixSuperTable::getSuperField() 返回
    NULL-- SuperFields 的数与 ixSuperTable::getNumCols()返回的值不一致。
    这 是 一 个 严 重 的 内 部 错 误 。 在 通 过 每 个 SuperFields 的 进 程 中 ,
    ixSuperTable::getSuperField()为每个 SuperFields 返回 NULL。
    -50098 在 ixSuperTable::getUpdateCols() 中,在 NULL 行中通过--返回 NULL。
    ixSuperTable::getUpdateCols() 函数期望一个输入的 ixRow 并返回一个新的 ixRow,它包
    含对应于具有 updateRole 的 SQLRole 的行的元素。由于某种原因,此函数用 ULL ixRow 调
    用。
    -50099 对 于 下 面 的 SQL stmt: "stmt" 一 个 SQL 错 误 已 经 出 现 在
    ixSuperTable::doSQLInsert() (err) 中。
    SQLInsert()事件已经用缺省的处理程序 doSQLInsert() 调用,但是引擎报告了一个错误。
    问题可能伴随SuperField字段的sqlRole说明而存在。尝试查找显示在括号中的引擎错误码。
    -50100 对 于 下 面 的 SQL stmt: "stmt" , 一 个 SQL 错 误 已 经 出 现 在
    ixSuperTable::doSQLUpdate() (err) 中。
    SQLUpdate()事件已用缺省的处理程序 doSQLUpdate() 调用,但是引擎报告了一个错误。问
    题可能伴随主键的说明存在,或者 SERIAL 字段可能已经由 updateRole 的 SQL 角色作了不
    正确的指定。尝试查找显示在括号中的引擎错误码。
    -50101 对象值是 0 或者是负数。此操作无效。
    在 某 个 ixNumeric 数 学 函 数 ( ixNumeric::power() 、 ixNumeric::sqrt() 、
    ixNumeric::asin()、ixNumeric::acos()、ixNumeric::log10()、 ixNumeric::root())中
    操作将产生错误条件。
    -50102 试图除以 0。
    此信息由 ixNumeric 生成。ixNumeric::root() 和 ixNumeric::div() 成员函数对 0 无定
    义。在调用这些函数前,你应该检查根和除数为 0 的情况。
    -50103 在 ixSuperField 构造函数中指定了无效字段数。
    给定的字段数小于 1 或者大于在 SuperTable 中的字段数。检查用作 ixSuperField 构造函数
    中的 colNum 参数的值,以保证它在范围内。
    -50104 试图打开一个弹出式的 ixWindow,而此时包含它的 ixWindow 尚未打开。
    此信息由 ixWindows::open() 生成。在它的容器打开前,不能打开弹出式窗口。
    -50105 试图设置一个非正数的 fontSize。字体大小必须大于 0。
    此信息由 ixApp::setFont() 或者 ixVisualObject::setFont() 生成。你不能设置一个字体
    大小为负值。该请求将不予理睬。
    -50106 试图在 ixWindow 的顶层样式中设置缺省按钮。只有 modalPopup 样式的 ixWindow
    能够具有缺省按钮。缺省按钮将不能被设置。
    ixButton 构造函数产生此信息。缺省按钮仅在模态的弹出式窗口中才被支持。该请求将被忽
    略。
    -50107 对 于 下 面 的 SQL stmt: "stmt" , 一 个 SQL 错 误 已 经 出 现 在
    ixSuperTable::doSQLDelete() (err) 中。SQLDelete() 事件已经用缺省的管理程序
    ixSuperTable::doSQLDelete() 调用,但是,引擎报告了一个错误。问题可能伴随主键的说
    明而存在,或者一个参照完整性的约束可能防止删除。查找显示在括号中引擎错误码。
    -50108 试图在 ixControl::setTabIndex() 中设置一个负的 tabIndex 。
    tabIndex 将不改变( tabIndex 必须是正的或者 noTab)。
    如果程序试图为控制设置一个负的选项卡索引,ixControl::setTabIndex() 产生此信息。负
    的选项卡索引将不被支持。该请求将被忽略。
    -50109 试图在 ixControl 构造函数中设置一个负的选项卡索引。
    采用 defaultTabOrder 替代之(tabIndex 必须为正数、noTab 或者 defaultTabOrder)。
    如果程序试图为该控制设置一个负的选项卡索引,ixControl 构造函数产生此信息。负的选
    项卡索引不被支持。将采用 defaultTabOrder。
    -50110 试图建立 modelessPopup 样式的 ixWindow,它使用 modalPopup 样式的 ixWindow
    作为容器。modalPopup 不能包含 modelessPopup。代之以使用 modalPopup 作为新的
    ixWindow 的 windowStyle 。
    ixWindow 构造函数产生此信息。只有模态窗口的窗口样式才能够包含另一个模态窗口。新的
    窗口被假定为 modalPopup 样式。
    -50111 当 ixRow::isCountLocked 为 TRUE 时,
    不能在 ixRow 上使用 ixRow::insert()、ixRow::concat() 或 ixRow::delete()。这是一个
    提示:此行被锁定,并且不能增加(使用 ixRow::insert() 或 ixRow::concat())或删除(使
    用 ixRow::delete())其元素。这样将防止改变从数据库复制来的行的数目,这种改变总是
    使改行不再匹配。(然而,你还是可以重新设置该行中的值。)要保证 isCountLocked 的设置
    与更新该行的程序逻辑相匹配。
    -50112 rowSchema 不能是 NULL 或空的。
    当你建立一个 ixRowArray 时,你需要包括一个能用作数组行模式的有效的 ixRow 对象。此
    ixRow 对象被用来指定 ixRowArray 中的字段数,以及每个字段的类型、长度和初始值。检查
    你的程序,保证使用有效的 ixRow 对象来调用 ixRowArray::ixRowArray()。
    -50113 构造函数 ixSuperTable 的 titleHeight 值无效-- 使用缺省值 350PGUs。
    如果 SuperTable 是网格表并且指定了负标题高度,ixSuperTable 构造函数产生此信息。缺
    省高度被采用。
    -50114 ixSuperTable 构造函数的 numDisplayedCols 值无效-- 使用缺省值 5。
    给定的字段数为 NULL 或小于1。检查你采用的ixSuperTable构造函数的 numDisplayedCols
    参数,保证它是有效的。
    -50115 ixSuperTable 构造函数的 numDisplayedRows 值无效--使用缺省值 10。
    给定的行数为 NULL 或小于 1。检查你采用的 ixSuperTable 构造函数的 numDisplayedRows
    参数,保证它是有效的。
    -50116 ixString 对象的长度超过了允许的最大长度。
    当 ixString 对象的长度超过允许的最大尺寸:32,766 字符时,ixString 构造函数和
    ixString 成员函数 setValueStr()、concat()、concatRep()、insert()、replace() 和
    concatChar() 生成这个信息。
    -50117 为 ixString::insert() 成员函数指定了无效位置。
    指定的位置值是 NULL、负数或者大于 32,766。
    -50118 为 ixString::delete() 成员函数指定了无效位置。
    指定的位置值是 NULL、负数或大于 32,766,或者将要删除的长度是 NULL 或负数。
    -50119 为 ixString::replace() 成员函数指定了无效位置。
    指定的位置值是 NULL、0、负数或大于 32,766。
    -50120 为成员函数 ixString::setChar() 指定的位置无效。
    指定的位置值超过 32,766。请在调用 ixString::setChar() 之前检查宽度值(使用
    ixString::getWidth())。
    -50121 为成员函数 ixString::getChar() 指定的位置无效。
    指定的位置值为 NULL、负数或者超过了 32,766,或者该值超过了存在对象的长度。请在调
    用 ixString::getChar() 之前检查宽度值(使用 ixString::getWidth() )。
    -50122 为成员函数 ixString::truncate() 指定的长度无效。
    要求从串中截断的长度超过了最大可能的长度(32,766),或者等于 NULL,或者为负数。请在
    调用 ixString::truncate()之前检查宽度值(使用 ixString::getWidth() )。
    -50123 为成员函数 ixString::pad() 指定的长度无效。
    要求填充到串中的长度或者超过了最大可能的长度(32,766),或者为负数。请在调用
    ixString::pad()之前检查宽度值(使用 ixString::getWidth() )。
    -50124 菜单条上的项目不能有检查标记。如果有,检查将被忽略。
    该信息由 ixMenu 生成。检查标记只能出现在下拉式菜单靠近菜单项的地方,而不能出现在
    菜单条的项目上。请重新制作菜单以剔除菜单条上的检查标记。
    -50125 菜单条上不允许有菜单分隔符。将绘制一条短线以取代。
    该信息由 ixMenu 生成。菜单分隔符只能出现在下拉式菜单上,而不是菜单条上。为了取代
    分隔符,'-' 将作为菜单项目的标题显示。请重新制作菜单以剔除菜单条上的分隔符。
    -50126 菜单条上不能有加速键。如果使用,加速键将被忽略。
    该信息由 ixMenu 生成。菜单条上的项目可以有快捷键,而不能有加速键。请重新制作菜单
    以剔除菜单条项目上的加速键。
    -50127 分配给对象的资源是不可用的。
    该信息由下面之一生成:ixApp、 ixBox、ixButton、 ixCheckBox、 ixFrame、 ixLabel、
    ixLine、 ixListBox、 ixMenu、ixPictureButton、 ixRadioButton、 ixSuperField、
    ixSuprTable、 ixTextBox 和 ixWindow。这通常是由于为了包含某个新建的对象造成了运行
    时内存溢出而产生,而在极少的情况下其它系统错误,例如 I/O 问题,也能造成这种情况。
    最好的解决办法就是尽量减少程序对资源的需要,特别是对内存的需要。
    -50128 不能禁止当前的 SuperField。
    产 生 该 信 息 的 原 因 是 由 于 调 用 了 当 前 的 SuperField 的 成 员 函 数
    ixSuperTable::disable(),而当前的 SuperField 是不能被禁止的。请检查程序的逻辑。通
    常都是希望禁止那些即不是当前的又没有焦点的 SuperField。
    -50129 不 能 为 下 面 任 一 种 类 型 的 SuperField 指 定 格 式 : ixTypeInfo::SQLChar
    ixTypeInfo::SQLByteixTypeInfo::SQLText ixTypeInfo::SQLVarChar
    ixTypeInfo::SQLInterval 这些类型不支持格式化,所以对于有这些值的字段最好不要调用
    ixSuperField::setFormat() 成员函数。在调用 ixSuperField::setFormat() 之前,请检查
    字段的类型(使用 getColumn().getTypeCode() )并确保该类型支持格式化。
    -50130 试图关闭一个窗口,而该窗口包含一个正在显示的有模式的弹出式窗口。这是不允
    许的;请首先关闭有模式的弹出式窗口。
    该信息由 ixApp 或者 ixWindow 生成。为了保证对话的模式,当正在显示一个有模式的窗口
    (例如对话框)时,将无法退出应用程序或者关闭窗口。(当有模式的窗口试图处理事件时,
    删除该窗口将是非法的。这样做将使得某些图形用户界面崩溃。)
    -50131 显示缓冲区已满 - 清除它吗?
    当执行了足够多的 DISPLAY 语句以填充显示观察器后,ixApp 将生成该信息。如果选择“确
    定”,该观察器将被清除,然后将写入来自当前的 DISPLAY 语句的文本。如果选择“取消”,
    该观察器将保持不变并且当前 DISPLAY 语句的文本将被放弃。
    -50132 不能隐藏当前的 SuperField。
    原因是调用了当前的显示字段的 ixVisualObject::hide()成员函数,而当前的显示字段是不
    能被隐藏的。请检查程序的逻辑。通常都是希望隐藏不是当前的显示字段。
    -50133 不能创建上一级菜单标题为"-"的菜单。
    该信息由 ixMenu 生成。不能创建标题为 '-' 的下拉式菜单,因为 '-' 已经用作菜单分隔
    符,这将导致冲突,并且菜单分隔符不能包含其它菜单项目。即使当菜单条上有一个 '-' 项
    目时,这条规则也是正确的。
    -50134 MS Windows 系统中,在某个 ixSuperTable 中检索的行数不能超过 16382。
    该信息由 ixSuperTable 生成。在 MS Windows 系统中,由于内存段的限制,用于容纳检索
    的行的容器只能包含 16K item。如果遇到该限制,请使用重复查询,这样做每次可以检索较
    少的行。
    -50135 MS Windows 系统中,向某个 ixVector 插入的元素个数不能超过 16382 个。
    该信息由 ixVector 生成。MS Windows 系统中,由于内存段的限制,矢量只能包含 16K 项。
    如果遇到该限制,请修改应用程序,以使它使用较小一些的矢量。
    -50136 在 ixSuperTable 的 构 造 函 数 中 , 对 于 SuperTable , updateTable 和
    selectFromPart 都没有被设置,所以请求的锁定方式是无效的 -- 缺省的锁定方式是
    noLock。
    在没有指定需要锁定的对象时不能指定锁定方式。如果即没有给出可供选择的更新表,也没
    有给出可供选择的表,就没有地方可供检索,锁定也就没有必要。这个错误常常源于调用构
    造函数时的一点疏忽(例如,确实希望锁定但是忘记命名该表)或者无意中包含了一个不必
    要的锁定值。请针对上述情况检查代码。
    -50137 在 ixSuperField 的构造函数中,请将 maxDataChars 更新为数据格式串的长度。
    数据格式串的值用于控制可以输入什么样的字符,并且它的长度指定了一个字段可以包含多
    少个字符。所输入字符的个数不能超过数据格式串允许的范围,所以当 maxDataChars 不等
    于数据格式的长度时,它应该被调整为与之匹配。请检查构造函数的调用并且修改
    maxDataChars。
    -50200 同步协商事务的请求超时。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_ADVACKTIMEOUT (0x4000)。要么
    客户机,要么服务器是不可用的,或者发生对于某些资源的争用。
    -50201 对事务的响应导致 DDE_FBUSY 位被设置。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_BUSY (0x4001)。对于某些资源
    的争用使得事务不能完成。
    -50202 同步数据事务的请求超时。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_DATAACKTIMEOUT (0x4002)。该
    事务没有在指定的时间内完成。
    -50203 在没有首先调用 DdeInitialize() 函数的情况下调用了一个 DDEML 函数,或者传
    递给 DDEML 的实例标识符无效。
    动态数据 交 换 管 理 库 (DDEML) 的 某 个 函数 返 回 值 是 DMLERR_DML_NOT_INITIALIZED
    (0x4003)。在调用任何 DDEML 函数之前,应用程序必须首先调用 DdeInitialize() 函数。
    该函数为应用程序获取一个实例标识符,利用 DDEML 注册该应用程序的 DDE 回调函数,并
    且为该回调函数指定事务过滤器标志。
    -50204 初始化为 MONITOR 的应用程序试图进行 DDE 事务,或者初始化为 CLIENTONLY 的
    应用程序试图进行 SERVER 事务。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_DLL_USAGE (0x4004)。
    -50205 同步执行事务的请求超时。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_EXECACKTIMEOUT (0x4005)。该
    事务没有在指定的时间内完成。
    -50206 参数确认失败。
    动态数据交换管理库 (DDEML) 的某个函数返回值 DMLERR_INVALIDPARAMETER (0x4006)。可
    能的原因包括:
  • 应用程序使用了某个数据句柄,该句柄被初始化为与
    事务要求不同的 item-name 句柄。
  • 应用程序使用了某个数据句柄,该句柄被初始化为与事务要求不同的剪切板数据格
    式。
  • 应用程序在服务器端函数中使用了客户端会话
    句柄,或者在客户端函数中使用了服务器端会话句柄。
  • 应用程序使用了释放的数据句柄或者串句柄。
  • 多个应用程序的实例使用同一个对象。
    -50207 竞争条件耗尽了剩余的内存。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_LOW_MEMORY (0x4007)。某个
    DDEML 应用程序产生了竞争条件(服务器应用程序与客户应用程序脱节),该竞争条件消耗了
    大量的内存。
    -50208 内存分配失败。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_MEMORY_ERROR (0x4008)。
    -50209 DDE 客户事务失败。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_NOTPROCESSED (0x4009)。
    -50210 客户建立会话的企图失败。
    动态数据交 换 管 理 库 (DDEML) 的某 个 函数 返 回 值 是 DMLERR_NO_CONV_ESTABLISHED
    (0x400A)。
    -50211 同步取数事务的请求超时。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_POKEACKTIMEOUT (0x400B)。
    -50212 内部 PostMessage 调用失败。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_POSTMSG_FAILED (0x400C)。
    -50213 出现嵌套错误
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_REENTRANCY (0x400D)。原因是
    当某个同步事务在进行时,应用程序又初始化了另一个同步事务,或者在某个回调函数中又
    调用了 DdeEnableCallback() 函数。
    -50214 会话被中断。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_SERVER_DIED (0x400E)。原因是
    企图在客户机中止的会话上进行服务器端事务,或者是在事务完成之前服务器中止。
    -50215 DDEML 中出现内部错误。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_SYS_ERROR (0x400F)。
    -50216 结束协商事务的请求超时。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_UNADVACKTIMEOUT (0x4010)。
    -50217 传递给 DDEML 函数的事务 ID 无效。
    动态数据交换管理库 (DDEML) 的某个函数返回值是 DMLERR_UNFOUND_QUEUE_ID (0x4011)。
    原因是当应用程序从 XTYPE_XACT_COMPLETE 回调中返回时,该事务标识符不再有效。
    -50230 DDE 错误:在 SuperTable 的存储格中没有可供使用的数据。
    被请求的 SuperTable 的存储格中不包含任何数据。
    -50231 DDE 错误:请求的存储格范围无效。
    请求者要求的存储格范围超过了 SuperTable 的边界。
    -50232 DDE 错误:服务器返回的数据范围不合法。
    请求者查找的数据类型和服务器发现的数据类型不匹配。
    -50233 DDE 错误:指定的 item 无效。
    当服务器试图识别 item 时出现初始化错误。请检验指定 item 的串是否是已经建立的 item
    集合中的一员。
    -50234 DDE 错误:到 SuperTable 的数据传输没有完成。
    服务器不能完成从 SuperTable 到请求者的 item 发送。
    -50918 [Informix][Connectivity Class Library] 未建立连接。
    因为不存在数据库连接,ixSQLStmt 的某个成员函数出现错误。在调用任何 ixSQLStmt 的成
    员函数之前,必须首先建立数据库连接。请检验是否已经成功建立连接。
    -50919 [Informix][Connectivity Class Library] 传递给 getConnectOption() 或者
    setConnectOption 的选项无效。
    因为选项参数的值无效,成员函数 ixSQLConnect::getConnectOption() 中出现错误。请检
    验选项参数的值是否正确。
    -50920 [Informix][Connectivity Class Library] 传递给 setConnectOption() 的参数的
    类型不正确。
    因 为 argument 参 数 的 值 不 是 正 确 的 类 型 或 者 分 类 , 成 员 函 数
    ixSQLConnect::setConnectOption() 中出现错误。请检验 argument 参数的类型或者分类,
    以确保它是 argument 选项所允许的类型。
    -50921 [Informix][Connectivity Class Library] 对于 setConnectOption() 的选项,参
    数为 null 是无效的。
    因 为 argument 参 数 的 值 为 null , 而 null 是 无 效 的 , 所 以 成 员 函 数
    ixSQLConnect::setConnectOption() 中出现错误。请检验 argument 参数以确保其值不为
    null。
    -50922 [Informix][Connectivity Class Library] 执行时的警告:在 ixSQLStmt 的析构
    函数中释放语句句柄错误。
    试图释放语句句柄时,ixSQLStmt 的析构函数中出现错误。某个损坏的语句导致了这个内部
    错误。
    -50923 [Informix][Connectivity Class Library] 执行时的警告:在 ixSQLStmt 的析构
    函数中释放游标句柄错误。
    试图释放游标句柄时,ixSQLStmt 的析构函数中出现错误。某个损坏的游标导致了这个内部
    错误。
    -50924 [Informix][Connectivity Class Library] 执行时的警告:在 ixSQLStmt 的析构
    函数中,释放语句句柄时出现错误。
    释放 ODBC 语句句柄时,ixSQLStmt 的析构函数中出现错误。某个损坏的句柄导致了这个内部
    错误。
    -50925 [Informix][Connectivity Class Library] 出现不支持的选项。
    Connectivity 类库不支持传递给 ixSQLStmt::getInfo() 的 CCL 选项。
    -50926 [Informix][Connectivity Class Library] 尚未准备好语句。
    在调用 ixSQLStmt::fetch() 或者 ixSQLStmt::fetchInto() 之前,必须首先准备和执行
    SQL 语句。要么请顺序调用 ixSQLStmt::prepare() 和 ixSQLStmt::execute(),要么请调用
    ixSQLStmt::execDirect()。
    -50927 [Informix][Connectivity Class Library] ixRow 中 item 的个数与准备的语句中
    的不同。
    请再次调用函数 ixSQLStmt::allocateRow() 以创建一个新的 ixRow。
    -50928 [Informix][Connectivity Class Library] 在可以构造语句之前,必须首先建立连
    接。
    为了保证构造函数成功,传递给 ixSQLStmt 构造函数的 ixSQLConnect 对象必须已经连接到
    某个数据源上。在将 ixSQLConnect 对象传递给 ixSQLStmt 的构造函数之前,请调用
    ixSQLConnect::connect() 函数。
    -50929 [Informix][Connectivity Class Library] 不能描述非 SELECT 语句的字段。
    只能在准备好 SELECT 语句之后才能调用 ixSQLStmt::describeCol() 成员函数。
    -50930 [Informix][Connectivity Class Library] 警告:没有设置事务模式。现在处于
    AUTOCOMMIT 模式。
    将 AUTOCOMMIT 模式设置为 OFF 的企图失败。ODBC 驱动程序可能不支持手工提交模式。
    ixSQLConnect 对象是处于 AUTOCOMMIT 模式。Informix 的 Connectivity 类库不支持该模
    式。
    -50931 [Informix][Connectivity Class Library] 函数序列错误:在 ixSQLStmt 准备好
    之前调用了 ixSQLStmt::getNativeTypeName()。
    在可以调用 ixSQLStmt::getNativeTypeName() 成员函数之前,必须将 ixSQLStmt 对象准备
    好。在调用 ixSQLStmt::getNativeTypeName() 之前,请调用 ixSQLStmt::prepare(),或者
    ixSQLStmt::execDirect()。
    -50932 [Informix][Connectivity Class Library]ixSQLStmt::getNativeTypeName() 中字
    段越界。
    传递给 ixSQLStmt::getNativeTypeName()的字段值要么小于 0,要么大于结果集的字段个
    数。
    -50933 [Informix][Connectivity Class Library] 函数没有执行。
    该函数没有对 ixSQLConnect 对象或者 ixSQLStmt 对象执行任何操作。
    -50934 [Informix][Connectivity Class Library] 传递给 ixSQLStmt::setStmtOption()
    的选项无效。
    ixSQLStmt::setStmtOption() 的参数值无效。
    -50935 [Informix][Connectivity Class Library] 将 ODBC 的 timestamp 数据类型转换为
    Informix 的 date time 数据类型 (ixDateTime)时出现错误。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50936 [Informix][Connectivity Class Library] 将 ODBC 的 decimal 数据类型转换为
    Informix 的 money 数据类型 (ixMoney)时出现错误。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50937 [Informix][Connectivity Class Library] 将 ODBC 的 decimal 数据类型转换为
    Informix 的 decimal 数据类型 (ixDecimal) 时出现错误。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50938 [Informix][Connectivity Class Library] 释 放 环 境 时 出 现 错 误 。 请 调 用
    ixSQLConnect::SQLError()以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50943 [Informix][Connectivity Class Library]ixSQLStmt::getNativeTypeName() 中出
    现错误。可能是字段值越界,也可能是没有准备好语句。
    语 句 可 能 没 有 准 备 好 。 请 在 ixSQLStmt::getNativeTypeName() 之 前 试 着 调 用
    ixSQLStmt::prepare()。请检验字段值是否位于 1 和 ixSQLStmt::numResultCols() 的返回
    值之间。
    -50944 [Informix][Connectivity Class Library] 出现 NewEra 不支持的数据类型。
    企图向符合 ODBC 标准的数据源中插入或者取得数据类型为 ixInterval 的项。这种行为不
    被支持。另一个可能的问题是该数据源包含下面的 ODBC 数据类型之一:SQL_BITINT、
    SQL_TINYINT、SQL_BIT、SQL_BINARY 或者 SQL_VARBINARY,然而对于和这些类型对应的
    ixValue 却 没 有 衍 生 对 等 的 NewEra 类 。 为 了 确 定 所 支 持 的 数 据 类 型 , 请 调 用
    ixSQLConnect::getTypeInfo()。
    -50945 [Informix][Connectivity Class Library] ixSQLStmt::setStmtOption() 中出现
    错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    传递给 isSQLStmt::setStmtOption() 成员函数的选项无效。
    -50946 [Informix][Connectivity Class Library] ixSQLStmt::getStmtOption() 中出现
    错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50947 [Informix][Connectivity Class Library] ixSQLStmt::rowCount() 中出现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    ixSQLStmt::rowCount() 成员函数中出现错误。可能是没有准备好 isSQLStmt 对象。请在调
    用 ixSQLStmt::rowCount() 之 前 调 用 ixSQLStmt::prepare() 或 者
    ixSQLStmt::execDirect()。
    -50948 [Informix][Connectivity Class Library] ixSQLStmt::prepare() 中出现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请检查 SQL 语法以确保正确。调用 ixSQLConnect::SQLError() 可以获取 ODBC 的错误信
    息。
    -50949 [Informix][Connectivity Class Library] ixSQLStmt::numResultCols() 中出现
    错误。
    语 句 可 能 还 没 有 准 备 好 。 请 在 ixSQLStmt::numResultCols() 之 前 试 着 调 用
    ixSQLStmt::prepare()。调用 ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。
    -50950 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::allocateRow()。
    请在 ixSQLStmt::allocateRow() 之前调用 ixSQLStmt::prepare()。
    -50951 [Informix][Connectivity Class Library] ixSQLConnect::describeCol() 中出现
    错误。
    请 在 ixSQLStmt::describeCol() 之 前 调 用 ixSQLStmt::prepare() , 或 者 调 用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    -50952 [Informix][Connectivity Class Library] ixSQLStmt::getCursorName() 中出现
    错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50953 [Informix][Connectivity Class Library] ixSQLStmt::setCursorName() 中出现
    错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50954 [Informix][Connectivity Class Library] 释放时出现错误。
    ixSQLStmt::free() 成员函数返回一个错误。请调用 ixSQLConnect::SQLError() 以获取
    ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50955 [Informix][Connectivity Class Library] 传递给 ixSQLStmt::fetchInto() 的
    ixRow 与结果模式不匹配。
    ixRow 中的 ixValue 不包含与结果模式匹配的类型。请调用 ixSQLStmt::allocateRow() 以
    获取一个新的 ixRow,并将该 ixRow 传递给 ixSQLStmt fetchInto()。
    -50956 [Informix][Connectivity Class Library] ixSQLStmt::colAttributes()中出现错
    误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50957 [Informix][Connectivity Class Library] ixSQLStmt::fetch() 中出现错误。请
    调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50958 [Informix][Connectivity Class Library] ixSQLStmt::execute() 中出现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50959 [Informix][Connectivity Class Library] ixSQLStmt::execDirect() 中出现错
    误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50960 [Informix][Connectivity Class Library] ixSQLStmt::cancel() 中出现错误。请
    调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50961 [Informix][Connectivity Class Library] 释 放 语 句 时 出 现 错 误 。 请 调 用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50962 [Informix][Connectivity Class Library] ixSQLConnect::transact() 中出现错
    误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50963 [Informix][Connectivity Class Library] ixSQLConnect::tables() 中出现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50964 [Informix][Connectivity Class Library] ixSQLConnect::setConnectOption()
    中出现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50965 [Informix][Connectivity Class Library] 分 配 语 句 时 出 现 错 误 。 请 调 用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50966 [Informix][Connectivity Class Library] 分 配 连 接 时 出 现 错 误 。 请 调 用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50967 [Informix][Connectivity Class Library] 分 配 环 境 时 出 现 错 误 。 请 调 用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50968 [Informix][Connectivity Class Library] 与结果集连接时出现错误。
    可能是语句还没有准备好。在调用该函数之前请调用 ixSQLStmt::prepare()。
    -50969 [Informix][Connectivity Class Library] ixSQLConnect::getTypeInfo() 中出现
    错误。
    请 确 保 传 递 给 ixSQLConnect::getTypeInfo() 的 过 滤 器 是 正 确 的 。 请 调 用
    ixSQLConnect::getFunctions() 以 确 保 ODBC 的 驱 动 程 序 支 持
    ixSQLConnect::getTypeInfo() 成员函数。调用 ixSQLConnect::SQLError() 可以获取 ODBC
    的错误信息。
    -50970 [Informix][Connectivity Class Library] ixSQLConnect::getInfo() 中出现错
    误。
    请 确 保 传 递 给 ixSQLConnect::getInfo() 的 过 滤 器 是 正 确 的 。 请 调 用
    ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序支持 ixSQLConnect::getInfo()
    成员函数。调用 ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。
    -50971 [Informix][Connectivity Class Library] ixSQLConnect::getFunctions() 中出
    现错误。
    请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    -50972 [Informix][Connectivity Class Library] ixSQLConnect::getConnectOption()
    中出现错误。
    请 确 保 传 递 给 ixSQLConnect::getConnectOption() 的 过 滤 器 是 正 确 的 。 请 调 用
    ixSQLConnect::getFunctions() 以 确 保 ODBC 的 驱 动 程 序 支 持
    ixSQLConnect::getConnectOption() 成员函数。调用 ixSQLConnect::SQLError() 可以获取
    ODBC 的错误信息。
    -50973 [Informix][Connectivity Class Library] ixSQLConnect::driverConnect() 中出
    现错误。
    请 确 保 传 递 给 ixSQLConnect::driverConnect() 的 过 滤 器 是 正 确 的 。 请 调 用
    ixSQLConnect::getFunctions() 以 确 保 ODBC 的 驱 动 程 序 支 持
    ixSQLConnect::driverConnect() 成员函数。调用 ixSQLConnect::SQLError() 可以获取
    ODBC 的错误信息。
    -50974 [Informix][Connectivity Class Library] 在与 DBMS 停止连接时出现错误,请调
    用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50975 [Informix][Connectivity Class Library] 连接 DBMS 时出现错误。请调用
    ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50976 [Informix][Connectivity Class Library] 创建 ixSQLConnect::columns()的结果
    时出现错误。
    请 确 保 传 递 给 ixSQLConnect::columns() 的 过 滤 器 是 正 确 的 。 请 调 用
    ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序支持 ixSQLConnect::columns()
    成员函数。调用 ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。
    -50977 [Informix][Connectivity Class Library] ixSQLConnect::browseConnect() 中出
    现错误。
    请 调 用 ixSQLConnect::getFunctions() 以 确 保 ODBC 的 驱 动 程 序 支 持
    ixSQLConnect::browseConnect() 成员函数。调用 ixSQLConnect::SQLError() 可以获取
    ODBC 的错误信息。
    -50978 [Informix][Connectivity Class Library] 释放连接时出现错误。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50979 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::getResultSchema() 成员函数。
    请在 ixSQLStmt::getResultSchema() 之前调用 ixSQLStmt::prepare()。
    -50980 [Informix][Connectivity Class Library] ixSQLStmt::setParam() 中出现无效参
    数。
    传递给 ixSQLStmt::setParam() 的位置值无效,或者传递给 ixSQLStmt::setParams() 的
    ixRow 为 NULL。
    -50981 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::setParam() 成员函数。
    请在 ixSQLStmt::setParam() 之前调用 ixSQLStmt::prepare()。
    -50982 [Informix][Connectivity Class Library] 传递给 ixSQLStmt::fetchInto() 的参
    数无效。
    传递给 ixSQLStmt::fetchInto() 的 ixRow 可能为 NULL,或者 ixRow 的长度与结果模式不
    同 , 或 者 ixRow 中 ixValue 的 数 据 类 型 与 结 果 模 式 不 匹 配 。 请 调 用
    ixSQLStmt::allocateRow() 并将返回的 ixRow 传递给
    -50983 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::fetchInto() 成员函数。
    请在 ixSQLStmt::fetchInto() 之前调用 ixSQLStmt::prepare()。
    -50984 [Informix][Connectivity Class Library] 无法识别数据库返回的类型。
    请检查数据库的模式,并确保所有选择的结果均映射为 NewEra ixValue 数据类型。如果某
    个数据类型没有映射,请将它从 SELECT 子句中取消。
    -50985 [Informix][Connectivity Class Library] 内存分配时出现错误。请释放内存,再
    试一次。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50986 [Informix][Connectivity Class Library] ODBC 驱动程序出现错误。
    请调用 ixSQLConnect::SQLError() 以获取更多的信息。
    请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。如果再次出现该错误,请记录
    所有的情况,并与 Informix 的技术支持部门联系。
    -50987 [Informix][Connectivity Class Library] 某些 SQL 语句的位置标识符没有设置。
    对于 SQL 串的每个 "?" ,请在准备好语句之后调用 ixSQLStmt::setParam()。
    -50988 [Informix][Connectivity Class Library] ixSQLStmt::free() 中出现不支持的选
    项。
    传递给 ixSQLStmt::free() 的选项参数无效。
    -50989 [Informix][Connectivity Class Library] ixSQLStmt::setCursorName() 中游标
    名称被截断。
    游标名称最长为 18 个字符。
    -50990 [Informix][Connectivity Class Library] 传递给 ixSQLStmt::setCursorName()
    的游标名称无效。
    传递给 ixSQLStmt::setCursorName() 的 "name" 的值为 NULL。
    -50991 [Informix][Connectivity Class Library] ixSQLStmt::setParam() 中参数个数越
    界。
    参数的个数要么小于 0,要么大于"?" 位置标识符的个数。
    -50992 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::numResultCols() 成员函数。
    请 在 ixSQLStmt::numResultCols() 之 前 调 用 ixSQLStmt::prepare() 或 者
    ixSQLStmt::execDirect()。
    -50993 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::rowCount()成员函数。
    请 在 ixSQLStmt::rowCount() 之 前 调 用 ixSQLStmt::prepare() 或 者
    ixSQLStmt::execDirect()。
    -50994 [Informix][Connectivity Class Library]从 ixSQLConnect::columns()返回的
    ixSQLStmt 不支持在成员函数上的操作。
    从 ixSQLConnect::columns() 返回的 ixSQLStmt 仅仅提供了有限的功能以获取字段信息。
    为实现这一点,请在 ixSQLStmt 上执行 NEW 操作并使用它。
    -50995 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::describeCol() 成员函数。
    请 在 ixSQLStmt::describeCol() 之 前 调 用 ixSQLStmt::prepare() 或 者
    ixSQLStmt::execDirect()。
    -50996 [Informix][Connectivity Class Library] 调用 ixSQLStmt::describeCol() 时字
    段越界。
    请求的字段要么为负数,要么大于结果集的字段个数。
    -50997 [Informix][Connectivity Class Library] 函数序列错误:在准备好 ixSQLStmt 之
    前调用了 ixSQLStmt::describe()成员函数。
    请 在 ixSQLStmt::describe() 之 前 调 用 ixSQLStmt::prepare() 或 者
    ixSQLStmt::execDirect()。
    -50998 [Informix][Connectivity Class Library] 从 ixSQLConnect::tables()
    返回的 ixSQLStmt 不支持在成员函数上的操作。
    从 ixSQLConnect::tables() 返回的 ixSQLStmt 仅仅提供了有限的功能以获取表的信息。为
    实现这一点,请在 ixSQLStmt 上执行 NEW 操作并使用它。
    -50999 [Informix][Connectivity Class Library] ixSQLConnect::transact()不支持该选
    项。
    不支持传递给 ixSQLConnect::transact() 的选项。
    -53501 没有找到 fglapps 文件或没有读取权限。
    检验服务器上的环境变量 INFORMIXFGLAPPS 是否指定 fglapps 文件的全限定名或
    fglapps 文件是否常驻在缺省位置($INFORMIXDIR/etc/newera)。如果 fglapps 文件
    就绪,检验它是否有正确的文件授权。
    -53502 没有找到应用服务器执行文件,或没有读取权限。
    检验在 fglapps 文件中的命令行登录项是否指向有效的应用服务器执行文件。如果应用服务
    器执行文件就绪,检验它是否有正确的文件授权。
    -53503 进程间通讯资源不可用。
    在获取足够的资源来分配共享内存时出现问题。检查系统的共享内存资源。
    -53504 应用服务器在起动时中断。
    在 fglapps 文件的命令行登录项中指定的可执行文件不是隔离的应用服务器。
    -53505 用在指定的应用服务器中没有 fglapps 文件的部分。
    客户应用申请了一个服务器不认识的服务名。检验客户应用是否指定正确的服务器应用名,
    以及服务器配置部分是否在 fglapps 文件中正确地指定。
    -53506 在 fglapps 文件中没有命令行登录项。
    检验在 fglapps 文件中用于指定应用服务器的配置部分是否包含命令行登录项。
    -53509 fglapps 文件中语法错误。
    当客户应用试图用实例说明一个申请管理器时,服务器主机上的 fglexec 不能完成 fglapps
    文件的处理。检查在 fglapps 文件中指定的应用的配置部分是否有不正确的关键字或标点符
    号。
    -53510 数据存储池已经溢出。
    还没有被送到服务器的数据已经超出分配给它的存储池空间。试一试为 fglapps 文件的
    SMEMPoolKBytes 定义较大的值,或试一试减少调用或传送时参数的总量,避免超出为
    SMEMPoolKBytes 登录项指定的大小。
    -53511 数据队列已经溢出。
    送到服务器的事件数量已经超出分配给它的队列存储空间。试一试为 fglapps 文件的
    SMEMQueueSize 登录项定义较大的值,或减少在同一时间内未决事件的数量。
    -53512 在应用的客户和服务器之间的连接已经丢失。
    网络故障或 fglexecd 已经终止。
    -53513 网络错误 — 不能起动 fglexec 执行文件。
    网络发生故障。查一查操作系统错误信息,它可能给出较多的信息。检验 fglexecd 命令在-s
    选项中是否有正确的值。重新起动应用。如果问题再次发生,就与系统管理员联系,请求进
    行网络诊断。
    -53601 在应用的客户和服务器之间的信号交换串不匹配。
    检查应用客户和应用服务器的信号交换串。
    -53602 对应的响应器对象不存在。
    申请器试图与未知的响应器对象联系。检验正确的响应器对象是否已建立。
    -53604 由于执行 EXIT PROGRAM 语句而终止应用服务器。
    服务器执行了 EXIT PROGRAM 语句。
    -53606 指定的事件在服务器应用中没有定义。
    申请器传送或调用了在对应服务器分类中没定义的事件。检验在申请器分类中定义的事件的
    顺序是否以响应器分类中定义的顺序与原始事件的名称和顺序相对应。
    -53607 应用服务器进程被从命令行取消或被某些外部处理取消。
    非 NewEra 运行错误的外部原因终止应用服务器进程。
    -53701 连接串中的语法错误。
    检查在 ixASRequestMgr()结构器参数列表中使用的连接串。
    -53702 无效的(NULL)申请管理器。
    应用服务器建立申请器对象的实例,但是提供 NULL 申请管理器。检验指定的申请器对象是否
    和有效的申请管理器相联系。
    -53703 不正确的服务器名。
    为服务指定的名称对应于可供使用的服务的名称,但它不是 ASCL 服务。检查用于 SERVICE
    登录项的 informix.ini 文件,并检验指定的名称是否正确。
    -53704 没有建立连接。
    在对服务器分区的申请时发生错误,因为不存在服务器连接。服务器连接必须在对服务器分
    区申请之前做好。检验是否已经成功地进行连接。
    -55227 从保留页 ('服务器-名称') 所取得的 DBSERVERNAME 配置参数值与 SQL
    DBSERVERNAME ('服务器-名称')函数所传回的值,INFORMIXSERVER '服务器-名称'不同。
    通过使用 $INFORMIXDIR/etc/.infos.DBSERVERNAME 文件里特定的 INFORMIXSERVER,
    onprobe 直接与联机共享内存连接。onprobe 连接后,会根据联机共享内存的信息取读根
    dbspace 初 始 大 块 里 的 保 留 页 。 然 后 onprobe 作 为 SQL 的 固 定 客 户 , 会 使 用
    $INFORMIXDIR/etc/sqlhosts 文件里的信息来连接特定的 INFORMIXSERVER。这个信息显示
    $INFORMIXDIR/etc/.infos.DBSERVERNAME 和 $INFORMIXDIR/etc/sqlhosts 里 有 关 特 定
    INFORMIXSERVER 的信息并不相符。一个可能的原因是 $INFORMIXDIR/etc/sqlhosts 里特定
    INFORMIXSERVER 的定义值在联机初始化之后有所改变,与另一个正在执行的联机操作有关。
    -55235 未知的共享内存方式 '号码',或 onprobe 版本与联机版本(INFORMIXSERVER
    '服务器-名称')不相符。
    检验联机是否已初始化,共享内存是否已存在。使用 'oninit -V' 和 'onprobe -V' 命令来
    检验 oninit 和 onprobe 的版本。这两个版本应该相同。
    -55236 共 享 内 存 正 在 初 始 化 或 中 止 过 程 中 , 或 者 onprobe 版 本 与 联 机 版 本
    (INFORMIXSERVER '服务器-名称')不相符。
    检验联机是否已初始化、共享内存是否已存在。使用 'oninit -V' 和 'onprobe -V' 命令来
    检验 oninit 和 onprobe 的版本。这两个版本应该相同。
    -55250 套接字() 失败。
    这个错误发生的原因可能包括:
  • 没有启动 TCP/IP 网络子系统
  • 系统开启文件的表格暂时用满
  • 系统缓冲区没有空间备用
    -55251 不能解译服务名称 'shost-name', getservbyname( ) 失败。
    专供 DB/Cockpit 所使用的服务必须以 'tcp' 协议名称定义。
    服务名称的解决办法依照以下的次序进行:
  1. NIS (网络信息服务) 操作时的 NIS 服务映射。如果你在 NIS 服务器的
    /etc/services 文件加入新的服务,就应执行 'ypmake' 命令以便更新
    服务映射。检查一下'ypcat 服务' 命令是否传回特定服务。
  2. /etc/services 文件在本地机器上。
    -55252 连接( ) 使用服务 '服务-名称' 失败。
    服务名称的解决办法依照以下的次序进行:
  3. NIS (网络信息服务) 操作时的 NIS 服务映射。
  4. /etc/services 文件在本地机器上。这个错误出现的可能原因包括:
  • 特定的 TCP 位址已在使用。
    onprobe 服务器准备采用的端口编号必须是独一无二的。使用 'netstat -a' 命令来检验其
    它应用(包括正在操作的 onprobe ) 并没有使用特定的服务(端口编号)。
    或者,如果你在 oncockpit 客户正相连时中止 onprobe 服务器,你可能必须等候几分钟,
    TCP 地址才会出现。
  • 这项服务所定义的端口号码在系统保留范围内(0 to 1023)。
  • 系统缓冲区空间不备用。
    -55274 无法解译主机名称 '主机-名称', gethostbyname( ) 失败。
    主机名称的解决办法依照以下的次序进行:
  1. /etc/hosts 文件在本地机器上。
  2. NIS (网络信息服务) 操作时的 NIS 主机映射。检验 'ypcat hosts' 命令是否传回
    特定的主机。
  3. DNS (定义域名称服务器) 操作时的 DNS 数据。检查 'ping' 和 'rlogin' 命令能
    否连接到特定的主机。
    -55276 使用服务 '服务-名称' 连接( ) 到主机 '主机-名称' 失败。
    这个错误出现的可能原因包括:
  • onprobe 服务器并没有在特定的主机上运行。
  • 特定主机上的 onprobe 服务器使用其他没有设定的服务。
    服务名称的解决办法依照以下的次序进行:
  1. NIS (网络信息服务) 操作时的 NIS 服务映射。
    • /etc/services 文件在本地机器上。如果 onprobe 和 oncockpit
      在不同的机器上运行,检验为这些机器上/etc/services 文件里设定的端口编号。
  • 这个机器上特定的 TCP/IP 地址不备用。检验 'ping' 和 'rlogin' 命令
    能否连接到特定的主机上。'ping' 检查 ICMP 网络层。'rlogin' 检查 TCP 网络
    层和特定的主机 (但并非特定的服务) 的备用情况。
  • 连接建立时效已过,无法建立连接。onprobe 服务器的连接要求队可能
    已满。队列长度最多是 5。
  • 系统缓冲区空间不备用。
    -55352 无法开启显示 '显示-名称'。
    如果没有定义 DISPLAY 环境变量(例如在执行 'rlogin' 或 'su' 命令后),就应给予定义。
    如果 DISPLAY 启用了 X 服务器连接控制设施,你可能需要执行'xhost +' 命令以便与 X 服
    务器建立连接。你必须根据 DISPLAY 环境变量所设定地从本地机器执行'xhost +' 命令。
    -55900 丢失选项列表。
    对于 ESQL/C :已经指定了处理器命令行的 -cc -l 或 -r 选项,而不正确地终止了该选项。
    关于命令行图形如何终止这些选项,请参阅 Microsoft Windows 环境的 INFORMIX-ESQL/ C
    程序员补充材料,或者联机帮助。
    对于 ESQL/COBOL:已经指定了处理器命令行的-cb、-l 或 -r 选项,而不正确地终止了该选
    项。关于命令行图形如何终止这些选项,请参阅 Microsoft Windows 环境的 INFORMIX-ESQL/
    COBOL 程序员补充材料,或者联机帮助。
    -55901 不认识的子选项 (option_name)。
    对于 ESQL/C:正文 (option_name) 后面跟一个冒号 (😃 是无效的子选项。关于该选项的合
    法子选项,请参阅 Microsoft Windows 环境的 INFORMIX-ESQL/ C 程序员补充材料,或者联
    机帮助。
    对于 ESQL/COBOL:正文 (option_name) 后面跟一个冒号 (😃 是无效的子选项。关于该选项
    的合法子选项,请参阅 Microsoft Windows 环境的 INFORMIX-ESQL/ COBOL 程序员补充材料,
    或者联机帮助。
    -55902 在选项列表中有不兼容的
    文件扩展名 (file_extension)。对于 ESQL/C :已经指定了处理器命令行的 -cc -l 或 -r
    选项,而用不正确的文件扩展名终止了该选项。关于命令行图形如何终止这些选项,请参阅
    Microsoft Windows 环境的 INFORMIX-ESQL/ C 程序员补充材料,或者联机帮助。
    对于 ESQL/COBOL:已经指定了处理器命令行的-cb、-l 或 -r 选项,而用不正确的文件扩展
    名终止了该选项。关于命令行图形如何终止这些选项,请参阅 Microsoft Windows 环境的
    INFORMIX-ESQL/ COBOL 程序员补充材料,或者联机帮助。
    -55903 处理器类型的选项冲突。
    已经指定多于一个的标识 CPU 类型的 CPU-类型命令行选项(例如 -cpu:i386 和 -pm )。重
    新输入没有冲突选项的 esql 命令。
    -55904 在启动的程序中的错误。
    对于 ESQL/C:esql 命令处理器建立了某个程序(编译程序、链接程序或资源编译程序),该
    程序返回一个错误并引起 esql 终止。检查产生的输出以确定错误,解决错误,并重新运行
    esql 命令处理器。对于 ESQL/COBOL:esqlcobo 命令处理器建立了某个程序(编译程序、链
    接程序或资源编译程序),该程序返回一个错误并引起 esqlcobo 终止。检查产生的输出以确
    定错误,解决错误,并重新运行 esqlcobo 命令处理器。
    -55905 在文件名 'file_name' 中有非法字符。
    文件 'file_name' 含有一个或多个无效字符。
    -55906 运行时的选项冲突。
    对于 ESQL/C:已经指定多于一个的运行时选项(例如,-runtime:libc 和 -rt:d)。
    重新输入没有冲突选项的 esql 命令。对于 ESQL/COBOL:已经指定多于一个的运行时选项(例
    如,-runtime:mfrts32 和 -rt:s )。重新输入没有冲突选项的 esqlcobo 命令。
    -55907 子系统选项冲突。
    对于 ESQL/C:已经指定多于一个的子系统选项(例如,-ss:c 和 -S:w)。
    重新输入没有冲突选项的 esql 命令。
    对于 ESQL/ COBOL:已经指定多于一个的子系统选项(例如,-ss:c 和 -Sw)。
    重新输入没有冲突选项的 esqlcobo 命令。
    -55909 在文件 (file_name) 中的 IO 错误。
    在文件 file_name 中发生的 IO 错误。可能是由于没有可用的空间而引起的。增加可用空间,
    并重新输入命令。
    -55910 不再支持选项 (option_name)。
    对于 ESQL/C:这次发布不支持所指定的命令行选项。关于有效选项,请检查 Microsoft
    Windows 环境的 INFORMIX-ESQL/C 程序员补充材料。
    对于 ESQL/COBOL:这次发布不支持所指定的命令行选项。关于有效选项,请检查 Microsoft
    Windows 环境的 INFORMIX-ESQL/COBOL 程序员补充材料。
    -55911 不能打开日志文件。
    对于 ESQL/C :不能打开 ESQL/C 预处理器日志文件。可能的原因是没有可供使用的空间。
    增加可用空间,并重新输入命令。
    对于 ESQL/COBOL :不能打开 ESQL/COBOL 预处理器日志文件。可能的原因是没有可供使用
    的空间。增加可用空间,并重新输入命令。
    -55912 对于 '-e' 选项有不兼容的文件扩展名。
    对于 ESQL/C :已经指定了 -e 命令行选项,但没有指定 ESQL/C 源文件( .ec 文件扩展名)。
    重新输入命令,指定 .ec 文件的名称。
    对于 ESQL/COBOL :已经指定了 -e 命令行选项,但没有指定 ESQL/COBOL 源文件( .eco 文
    件扩展名)。重新输入命令,指定 .eco 文件的名称。
    -55913 对于'-o'选项省略目标文件名。
    指定-o 命令行选项又没有指定输出文件。再次输入命令,指定输出文件的文件名。
    -55914 对于 '-c' 选项使用了不兼容的文件扩展名。
    已经指定 -c 命令行选项,但指定了不兼容的文件扩展名。重新输入命令,指定具有兼容的
    扩展名的文件名。
    -55915 对于'-log'选项省略日志文件的名称。
    已经指定-log 命令行选项又省略日志文件的文件名。再次输入命令,指定日志文件的名称。
    -55917 编译选项冲突。
    指定超过一个标识编译器类型(例如,-mc 和 -bc)的命令行选项。重新输入 esql 命令,并
    删除冲突的选项。
    -55918 对于 '-f' 选项省略了源文件列表文件的名称。
    对于 ESQL/C :已经指定 -f 命令行选项,但省略了 ESQL/C 源文件的列表的文件名。重新
    输入命令,指定列表文件的名称。
    对于 ESQL/COBOL :已经指定 -f 命令行选项,但省略了 ESQL/COBOL 源文件的列表的文件
    名。重新输入 esqlcobo 命令,指定列表文件的名称。
    -55919 应用程序类型选项冲突。
    对于 ESQL/C :已经指定了多于一个的应用程序类型选项(例如,-wd 和 -target:exe )。
    重新输入没有冲突选项的 esql 命令。
    对于 ESQL/COBOL :已经指定了多于一个的应用程序类型选项(例如,-wd 和 -target:exe )。
    重新输入没有冲突选项的 esqlcobo 命令。
    -55920 不能打开 ESQL 响应文件 'file_name' 。
    对于 ESQL/C :esql 命令处理器不能打开指定的 ESQL 命令行的响应文件。检验在 '@' 选
    项之后的文件名是否存在。
    对于 ESQL/COBOL :esqlcobo 命令处理器不能打开指定的 ESQLCOBO 命令行的响应文件。检
    验在 '@' 选项之后的文件名是否存在。
    -55921 不能分配内存。
    对于 ESQL/C :ESQL 不能分配内存。终止一个或多个应用程序,并重新输入命令。
    对于 ESQL/COBOL :ESQL/COBOL 不能分配内存。终止一个或多个应用程序,并重新输入命令。
    -55922 预处理器检测出错误。
    对于 ESQL/C :ESQL/C 预处理器检测出一个或多个引起处理器停止的错误。改正错误,重新
    运行。对于 ESQL/COBOL :ESQL/COBOL 预处理器检测出一个或多个引起 esqlcobo 命令处理
    器停止的错误。改正错误,重新运行。
    -55923 没有源文件或对象文件。
    没有指定源文件名或对象文件名。没有文件送到连接程序。再次输入命令,指定要送到连接
    程序的文件的名称。
    -55925 不能打开文件 'file_name' 。
    对于 ESQL/C :esql 命令处理器不能打开指定的文件。
    如果指定了 -f 选项,检查源列表文件是否存在。
    如果省略 -f,这个错误表示处理器不能得到为建立某些文件必需的空间。
    对于 ESQL/COBOL :esqlcobo 命令处理器不能打开指定的文件。
    如果指定了 -f 选项,检查源列表文件是否存在。如果省略 -f,这个错误表示处理器不能得
    到为建立某些文件必需的空间。
    -55926 不能启动编译程序。
    对于 ESQL/C :esql 命令处理器不能启动编译程序。确保包含 C 编译程序的目录一定在
    PATH 环境变量中。
    对于 ESQL/COBOL :esqlcobo 命令处理器不能启动编译程序。确保包含 COBOL 编译程序的
    目录一定在 PATH 环境变量中。
    -55927 不能启动链接程序。
    对于 ESQL/C :esql 命令处理器不能启动链接程序。检查包含链接程序的目录
    是否在 PATH 的环境变量中。
    对于 ESQL/COBOL :esqlcobo 命令处理器不能启动链接程序。检查包含链接程序的目录
    是否在 PATH 的环境变量中。
    -55928 不能启动资源编译程序。
    对于 ESQL/C :esql 命令处理器不能启动资源编译程序。检查包含资源编译程序的目录是否
    在 PATH 环境变量中。
    对于 ESQL/COBOL :esqlcobo 命令处理器不能启动资源编译程序。检查包含资源编译程序的
    目录是否在 PATH 环境变量中。
    -55929 丢失 ESQL 响应文件。
    对于 ESQL/C :esql 命令处理器找不到 ESQL 命令行响应文件(在 '@' 之后指定的)。
    检验文件名是否正确。
    对于 ESQL/COBOL :esqlcobo 命令处理器找不到 ESQLCOBO 命令行响应文件(在 '@' 之后
    指定的)。检验文件名是否正确。
    -55930 指定太多的参数。
    已经超出预处理器、编译程序、链接程序(链接程序选项或库列表)或资源编译程序的参数
    的最大数量。减少参数数量,重新运行命令。
    -55931 没有提供源文件。
    对于 ESQL/C :还没有提供 ESQL/C 源文件的名称。可能是因为已经指定了 -e 选项(只对
    预处理),但省略了 ESQL/C 源文件(.ec 文件扩展名)的名称。或者因为已经指定了 -c 选
    项(只对预处理和编译),但省略了 ESQL/C 源文件 (.ec) 或 C 源文件 (.c) 的名称。
    对于 ESQL/COBOL :还没有提供 ESQL/COBOL 源文件的名称。可能是因为已经指定了 -e 选
    项(只对预处理),但省略了 ESQL/COBOL 源文件(.ec 文件扩展名)的名称。或者因为已经
    指定了 -c 选项(只对预处理和编译),但省略了 ESQL/COBOL 源文件 (.eco)或 COBOL 源文
    件 (.cbl) 的名称。
    -55932 'File_name' 有不兼容的文件格式。
    命令行响应文件 'file_name' 太大。减少其大小,并重新运行命令。
    -55933 esql: 错误 error_num: 多字节过滤器删除错误。
    对于 ESQL/C :ESQL/C 多字节过滤器已遇到以下情况之一:
  • 不能初始化 GLS 库例程
  • 在对文件重命名时,
    不能写到源文件 (.c)
  • 不能写到输出文件
  • 其它 I/O 错误
    在包含 ESQL/C 源文件的目录上检查文件权限,确保你有读写权限。还要检查 ESQL/C 源文
    件本身的文件权限,确保你有读写权限。
    对于 ESQL/COBOL :ESQL/COBOL 多字节过滤器已遇到以下情况之一:
  • 不能初始化 GLS 库例程
  • 在对文件重命名时,
  • 不能写到源文件 (.cob)
  • 不能写到输出文件
  • 其它 I/O 错误
    在包含 ESQL/COBOL 源文件的目录上检查文件权限,确保你有读写权限。还要检查
    ESQL/COBOL 源文件本身的文件权限,确保你有读写权限。

(二)4gl编译错误代码

-4631
DATETIME或间隔限定符startfield在比其endfield的名单必须提前到来。
说明。限定为一个DATETIME或间隔,由开始到结束,从这个名单中选择的开始和结束的:年月日小时分钟秒的小数。
开始字段的关键字必须在列表中来得更早比,或者是相同,高端领域的关键字。
解决方案。检查为了的startfield和endfield预选赛。例如,日分数和每月的预选赛是有效的,但分钟到小时,是不是。

-4632
括号内的分数精度必须是1到5之间。没有精度可以指定其他的时间单位。
说明。在一个DATETIME预选赛,只有小部分领域可能有一个括号中的精度,它必须是一个单一的数字,从1到5。
解决方案。检查当前语句的DATETIME预选赛,其中一人违反这些规则。的间隔预选赛第一场,也可能有括号的精度从1到5。

-4652
函数的函数名称“只能用于在一个输入或结构语句。
说明。所示的功能正在使用的输入或结构语句之外。然而,它返回一个结果,这是唯一有意义的输入或兴建中。
解决方案。检查代码以确保端输入或END结构语句尚未错位。审查操作和使用,以确保你了解它的功能。

-4653
不超过一个BEFORE或AFTER INPUT /构造条款可以出现在一个输入/构造语句。
说明。有可能只有一个语句块前初始化这些语句类型。
解决方案。确保所有的输入范围,建设和菜单陈述是正确标记结尾语句。然后结合编制代码块前所有为每一个到一个单一的。

-4656
取消的INSERT只能用于前一个输入数组语句的INSERT子句。
说明。取消INSERT语句被用来以外的INSERT输入数组前的条款。
解决方案。检查代码以确保取消的INSERT还没有被使用除了INSERT子句前的任何地方。

-4657
取消删除,只能用在一个输入数组声明之前DELETE子句。
说明。取消删除语句正在使用外,在删除前一个输入数组第。
解决方案。检查代码以确保取消删除没有被使用,除非在之前DELETE子句的任何地方。

-4900
这里不支持此语法。使用[screenrecordname] screenfieldname。
说明。中前场或后场的字段名称规范是无效的。
解决方案。检查字段的名称和使用[screenrecordname。] screenfieldname语法。

-4901
致命的内部错误:%s(%d)中。
说明。此错误发生在一个前场或后场的声明中使用时,不正确的字段名称。
解决方案。检查字段名中前场或后场条款存在。

-6001
许可证管理守护进程无法启动。
说明。当一个进程创建过程中启动许可证管理的失败,发生此错误。
解决方案。增加允许的最大进程数(的ulimit)

-6015
不能获得许可证的信息。检查您的环境许可证(运行“fglWrt一个信息”)。
说明。这是不可能的应用程序,以检查许可证的有效期。
解决方案。

许可证管理:
可能尚未安装许可证
许可证控制器无法沟通与许可证管理。检查许可证管理器启动和检查的fglprofile的条目flm.server和flm.service,包含有效信息。
FLMDIR美元/锁目录下面的所有文件必须具有读/写权限。
许可证控制器:
可能尚未安装许可证。
FGLDIR美元/锁目录下面的所有文件必须具有读/写权限。

-6016
不能获得许可证信息(错误%s)。检查您的环境许可证(运行“fglWrt一个信息”)。
说明。应用程序是无法检查许可证的有效期。
解决方案。见误差-6015。

-6017
超出用户限制。不能运行这个程序。
说明。许可证所允许的最大用户数已达到。程序不能启动。
解决方案。您的经销商联系。

-6018
不能访问内部数据文件。无法继续这一计划。请检查您的环境(%)。
说明。当客户端计算机启动一个服务器上的应用程序,应用程序美元FGLDIR / lock目录中存储的数据。客户端必须在此目录中创建和删除文件的权限。
解决方案。

不要删除或修改目录中的文件$ FGLDIR /锁
改变美元FGLDIR / lockdirectory的权限,或连接到服务器有正确的权限与用户名称。

-6019
这个演示版本只允许一个用户。
说明。演示版的设计,只有一个用户运行。另一个用户或其他图形的守护,是目前活跃。
解决方案。等待,直到用户停止当前程序,或使用相同的图形守护。

-6020
安装:无法打开“文件名”。
说明。一个文件丢失或没有设置为当前用户的权限。
解决方案。检查文件权限的用户试图执行的应用是正确的。如果缺少该文件,重新安装编译包。

-6022
示威的时间已经过期。请再次运行这个程序。
说明。运行演示版是只有几分钟的有效后,你已经开始了一个计划。
解决方案。重新启动该程序。

-6023
C代码生成是不允许的示范项目。
说明。四J的商业开发语言,可以在P码和C代码编译(仅适用于UNIX版本)。但与示范版本,C代码编译不可用。
解决方案。 P代码编译你的程序。

-6025
示威的时间已经过期。请联系您的供应商。
说明。四J的商业开发语言的示范版本有30天的时间限制。
解决方案。重新安装一个新的演示版本,或致电您的四J的商业开发语言供应商。

-6026
亚军示范坏链接。请重试或重建您亚军。
说明。亚军被损坏。

-6027
无法访问许可证服务器。请检查以下内容:
– 在你的资源文件的许可证服务器的条目。 (服务端口)
– 许可证服务器主机。
– 许可证服务器程序。
说明。您还没有指定环境变量的值[fgllic | FLS FLM FGLDIR美元/ etc / fglprofile中的文件服务器。
解决方案。检查为切入点fgllic | FLS | FLM fglprofile文件。服务器和指定的计算机上运行四J的商业开发语言许可管理的名称。

-6029
未知参数的“参数”进行检查。
说明。命令行的工具fglWrt或flmprg的包含未知参数。
解决方案。检查你的命令行参数和重试该命令。

-6031
临时牌照牌照号码已过期。
说明。您的临时运行许可证已过期。
解决方案。呼叫您的四J的商业开发语言的分销商,以获得新的许可证。

-6032
%S:非法选项:’%c’的。
说明。你使用的不是一个有效的选项。
解决方案。检查你的命令行,并再次尝试该命令。

-6033
%s的:’%c’的选项需要一个参数。
说明。你不能使用不带参数的选项的fglWrt工具。
解决方案。检查你的命令行,并再次尝试该命令。

-6034
警告!这是一个临时牌照,安装“安装数量。
说明。您已经安装了30天的临时牌照。你将不得不进入这一时期结束前安装的关键,如果你想继续运行程序。
解决方案。这仅仅是一个警告消息。

-6035
无法读取目录中
说明。编译器不能访问$ FGLDIR /锁定目录。当前用户必须在这个目录的读写权限。
解决方案。给当前用户的读写权限美元FGLDIR /锁目录。

-6041
不能检索网络接口信息。
说明。检索网络接口信息时发生错误。
解决方案。重新启动你的程序。如果这不能解决您的问题,请联系您的经销商。

-6042
MAC地址发生了变化。
说明。的主机的MAC地址已经改变,因为是第一次安装许可证。
解决方案。许可证必须重新安装或恢复旧的MAC地址。

-6043
测试期间完成。你必须安装一个新的许可证。
说明。四J的商业开发语言测试时间的许可证已过期。
解决方案。呼叫您的四J的商业开发语言经销商购买新的许可证。

-6044
IP地址已更改。
说明。主机的IP地址发生了变化。
解决方案。恢复主机的IP地址,或重新安装许可证。
这已不再检查许可证控制器的最新版本。

-6045
主机名称已更改。
说明。主机名称已更改。
解决方案。恢复的主机名称或重新安装许可证。
这已不再检查许可证控制器的最新版本。

-6046
无法获得档案编号信息。
说明。许可证不能获得有关许可文件的信息。
解决方案。重新安装许可证。您的经销商联系。

-6047
许可证文件的设备号已经改变了。
说明。许可文件已被感动了。许可证不再有效。
解决方案。重新安装许可证。您的经销商联系。

-6048
许可证文件的档案编号已经改变。
说明。许可文件已被感动了。许可证不再有效。
解决方案。重新安装许可证。您的经销商联系。

-6049
此产品只运行许可。没有编制是允许的。
说明。你有一个与此包安装运行许可证。你不能编译这个许可证结扎源代码模块。
解决方案。如果你想编译4GL源代码,你必须购买和安装一个开发许可证。您的经销商联系。

-6050
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6051
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6052
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6053
安装路径已更改。它必须保持原来的安装路径。
说明。 FGLDIR或FGLDIR位置的值已经改变。
解决方案。问的人安装的产品的原安装目录的位置,然后设置FGLDIR环境变量。

-6054
无法读取许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。该文件包含的许可不是当前用户可读。
解决方案。

许可证控制器:检查FGLDIR环境变量的正确设置文件$ FGLDIR/etc/f4gl.sn是由当前用户可读。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是由当前用户可读???。

-6055
无法更新许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。该文件包含的许可不能由当前用户覆盖。
解决方案。

许可证控制器:检查FGLDIR环境变量设置正确,并且是由当前用户可写文件$ FGLDIR/etc/f4gl.sn。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是当前用户可写的???。

-6056
不能写入到一个许可证文件。请检查您的权利。
说明。该文件包含的许可不能由当前用户覆盖。
解决方案。

许可证控制器:检查FGLDIR环境变量设置正确,并且是由当前用户可写文件$ FGLDIR/etc/f4gl.sn。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是当前用户可写的???。

-6057
无法读取许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。当前用户无法读取文件,其中包含许可证。
解决方案。检查当前用户可以读取的文件FGLDIR/etc/f4gl.sn美元。还检查FGLDIR环境变量设置正确。

-6058
许可证文件格式不正确。验证是否已安装许可证。
说明。该文件包含的许可证已被损坏。
解决方案。重新安装许可证。如果你有一个当前安装的Genero商业开发语言的备份,恢复位于$ FGLDIR的/ etc目录中的文件。

-6059
许可证文件格式不正确。验证是否已安装许可证。
说明。该文件包含的许可证已被损坏。
解决方案。重新安装许可证。如果你有一个当前安装的Genero商业开发语言的备份,恢复位于$ FGLDIR的/ etc目录中的文件。

-6061
没有安装许可证“许可证编号”。
说明。未安装许可证。
解决方案。重新安装许可证。

-6062
没有安装许可证“许可证号”已发现。
说明。不能安装的附加用户许可。无主牌照发现添加用户。
解决方案。您的经销商联系。

-6063
已安装许可证“许可证号”。
说明。已安装许可证。
解决方案。没有什么特别要采取的行动。

-6064
资源“flm.license.number”需要使用许可证管理。

-6065
需要资源“flm.license.key”使用许可证管理。

-6066
安装许可证“许可证号”不能超过“许可数量”。
说明。附加用户许可不匹配的主要许可证。不能安装的附加用户许可。
解决方案。您的经销商联系。

-6067
如果你想添加的用户,你需要安装许可证。
说明。必须安装的附加用户许可后的主要许可证。
解决方案。安装的附加用户许可之前的主要许可证。如果这不能解决您的问题,请联系您的经销商。

-6068
没有安装许可证。
说明。 Genero商业开发语言没有安装许可证。
解决方案。安装许可证。如果许可证已经安装,检查,FGLDIR美元的环境变量设置正确。

-6069
不能卸载的许可证。
说明。 Genero商业开发语言许可证卸载过程中出现了问题。
解决方案。检查FGLDIR环境变量是否正确设置您的环境中,当前用户删除$ FGLDIR的/ etc目录中的文件的权限。

-6070
为了达到许可证服务器许可证服务器条目必须设置在您的资源文件。
说明。您正在使用远程执照的过程,您已设置FGLDIR美元/ etc / fglprofile中的fgllic.server价值,为localhost或127.0.0.1地址。
解决方案。您必须使用计算机的实际IP地址,即使是在本地计算机。

-6071
不能使用目录的目录名’。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。

-6072
在“文件名”不能创建文件。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。改变这777模式目录的权限。

-6073
在“文件名”不能改变文件的模式。验证访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。改变这777模式目录的权限。

-6074
‘文件名’不’rwxrwxrwx的权利或不是一个目录。 LS-LD /锁检查访问权限,或执行“RM-R /锁”,如果没有用户连接。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。美元FGLDIR / lock目录包含在运行时只需要结扎的应用数据。当应用程序完成后,您可以删除此目录。如果您删除这个目录,而结扎应用程序正在运行,应用程序将立即停止。

-6075
无法读取目录“目录名’。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。

-6076
坏锁树。请检查您的环境。
说明。访问$ FGLDIR / lock目录有一个问题。
解决方案。检查当前用户是否有足够的权限读取和写入$ FGLDIR /锁定目录。同时检查FGLDIR环境变量设置正确。

-6077
坏锁树。请检查您的环境。
说明。访问$ FGLDIR / lock目录有一个问题。
解决方案。检查当前用户是否有足够的权限读取和写入$ FGLDIR /锁定目录。同时检查FGLDIR环境变量设置正确。

-6079
不能获得机器名称或网络的IP地址。每个图形客户端使用许可证服务器时,必须有一个IP地址。 FGLSERVER必须持有的客户端的IP地址或主机名。
说明。您正在使用远程执照的过程,您已设置FGLDIR美元/ etc / fglprofile中的fgllic.server价值,为localhost或127.0.0.1地址。
解决方案。您必须使用计算机的实际IP地址,即使是在本地计算机。这也是真正的与使用的FGLSERVER环境变量的值。

-6080
不能从“主机名的主机的IP地址。检查flm.server’资源。
说明。系统找不到指定的主机的IP地址。
解决方案。这是一个关于你的系统的配置问题。命令ping不应答复。纠正你的系统配置,然后尝试执行程序。

-6081
用ping无法到达主机的主机名“。检查在资源文件中的许可证服务器条目。检查您的网络配置或增加’flm.ping的价值。
说明。许可证服务器无法ping通客户端计算机上,或者它并没有得到响应在由美元FGLDIR / etc / fglprofile文件fgllic.ping进入指定的时间限制。
解决方案。尝试手动ping指定的计算机。如果这个工程,尝试在fglprofile增加的fgllic.ping条目的值。如果ping没有响应,修复系统配置问题,然后再次尝试该方案。

-6082
SYSERROR(%d)的%s:无法设置套接字选项TCP_NODELAY的。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6085
SYSERROR(%d)的%s:无法连接到许可证服务器上的主机的主机名“。检查下列事项:
– 许可证服务器条目。
– 许可证服务器计算机。
– 许可证服务器的TCP端口。
说明。应用程序无法检查许可证的有效期。这样做,它会尝试沟通Genero商业开发语言许可证服务产品已安装在电脑上运行。
解决方案。检查Genero商业开发语言许可证服务器产品已安装在电脑上运行。

-6086
SYSERROR(%d)的%s:无法将数据发送到许可证服务器。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6087
SYSERROR(%d)的%S:无法从许可证服务器接收数据。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6088
你是不是允许连接以下原因:描述
说明。程序无法连接到许可证服务器,由于指定的原因。
解决方案。尝试修复所述的问题,并重新运行您的应用程序。

-6089
每个图形客户端使用许可证服务器时,必须有一个IP地址。 FGLSERVER必须持有的客户端(localhost或127.0.0.1不允许)的IP地址或主机名。

-6090
SYSERROR(%d)的%s:无法启动许可证服务器创建一个套接字。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6091
SYSERROR(%d)的%S:无法绑定许可证服务器的插座。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6092
SYSERROR(%d)的%S:不能听许可证服务器的插座。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6093
SYSERROR(%d)的%s:无法创建一个套接字搜索活跃客户。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6094
SYSERROR(%d)的%S:这是一个调用WSAStartup错误。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6095
许可问题:原因
说明。许可类型不兼容。您正在安装较早的版本,这是不指定为当前的许可证服务器使用。
解决方案。重新安装,然后联系您的供应商。

-6096
许可证服务器连接被拒绝。
说明。有问题的客户端计算机连接到Windows许可证服务器。
解决方案。有一个许可证服务器计算机的配置问题。检查电脑的配置和产品。

-6100
许可请求发送行的格式错误。

-6101
许可证号“许可证号”不相符的许可证密钥的许可证密钥“。

-6102
验证资源“flm.license.number’和’flm.license.key对应一个有效的许可证。

-6103
不再是从许可证服务器获得许可证“许可证号”。

-6107
超出用户限制。请稍后重试。
说明。可以运行的最大客户数已经达到了(由于安装许可证)。
解决方案。稍后重试(当前用户的数量已减少时),或安装一个新的许可证,允许更多的用户。

-6108
环境是不正确的。
说明。有没有本地牌照,或环境设置不正确。
解决方案。检查您的环境和FGLDIR环境变量。

-6109
不能添加#%s的会议。
说明。您没有权限创建新的会话(较新的客户端目录)。
解决方案。检查的专用目录的权限。

-6110
不能添加程序的程序名(PID =%d)条。
说明。你不必为当前用户创建新的应用程序(较新的应用程序文件)的权限。
解决方案。检查的专用目录的权限。

-6112
汇编是不允许的:本产品只运行许可。

-6113
编译是不允许的:无效的许可证。

-6114
无法启动计划’项目名称’或多个进程的结果是0。
说明。 ,当fglWrt-U执行找到此安装允许用户数量,命令“PS”,可启动(仅适用于UNIX)。
解决方案。检查ps的权限。

-6116
错误的字符数。

-6117
该条目必须是12个字符长。

-6118
这个项目的校验和错误的结果。

-6122
你必须在资源文件中指定条目的“flm.server。

-6123
SYSERROR(%d)的%S:无法打开插座。检查系统错误信息,然后重试。

-6129
许可卸载。
说明。这是一条信息。

-6140
版本号
说明。这是一条信息。

-6148
不知道安装路径。
说明。您正在处理的牌照,但FGLDIR环境变量未设置。
解决方案。 FGLDIR环境变量设置,然后重试。

-6149
的问题,同时安装许可证“许可证号”。
说明。出现问题,而发牌。
解决方案。注意该特定系统的错误号和联系您的技术支持。

-6150
临时牌照没有找到这个版本。
说明。临时牌照,同时增加了明确的许可密钥,一直没有找到。
解决方案。重新安装许可证。

-6151
错误安装的关键。
说明。同时增加了明确的许可证密钥,安装密钥是无效的。
解决方案。重新安装许可证。

-6152
在安装许可证的问题。
说明。安装许可证时出现问题。无法写入信息到磁盘(无论是自己的文件或系统文件)。
解决方案。检查FGLDIR环境变量的许可证文件(必须是能够改变他们)的权利。

-6153
授权安装失败。

-6154
授权安装成功。
说明。这是一条信息。

-6156
太多的临时牌照。你必须重新安装许可证。
说明。你安装了一个临时牌照太多次了。
解决方案。联系技术支持,以取得有效的许可证。

-6158
不能存储临时信息。
说明。安装许可证时出现问题。无法写入信息到磁盘(无论是自己的文件或系统文件)。
解决方案。检查FGLDIR环境变量的许可证文件(你必须是能够改变他们)的权利。

-6159
这种牌照是不允许的。

-6160
你没有连接的权限。

-6161
你没有编译的权限。

-6162
不能达到的许可证服务器。请检查是否正确初始化flm.server“。 (flmprg的信息最多的命令应该回答’OK’)。许可证服务器正在运行,但没有自动检查将完成。

-6168
无法从目录“目录名’的信息。

-6170
许可证服务器检测到旧的请求格式。你必须安装许可证的程序版本2.99或更高。

-6171
已安装临时牌照。只有安装密钥是必需的。你必须运行“fglWrt-K ”的安装。

-6172
错误的参数:参数不正确的格式。

-6173
无效的牌照号码或许可密钥无效。

-6174
此选项仅适用于本地牌照。在您的配置和资源“flm.server”被发现。

-6175
许可证号“许可证号”是无效的。

-6176
在许可证服务器,发生以下问题与许可证编号许可证编号:问题描述

-6177
发生以下问题许可证编号许可证编号:问题描述

-6178
你的机器是不允许连接任何您的授权许可。

-6179
牌照的有效期时间到达。用户控制被重新激活。

-6180
超过了CPU限制。用户控制被重新激活。

-6181
不能获得许可证的扩展信息。检查您的环境许可证(运行“fglWrt一个信息”)和fglWrt版本(’fglWrt-V“版本号或更高)。

-6182
您的许可证限制名称的限制。你是不是允许运行的另一种模式。

-6183
本地牌照控制器(fglWrt)可能不兼容这个亚军。检查其版本(’fglWrt-V“版本号或更高)。

-6184
您没有被授权运行此版本的亚军。

-6185
保护文件不兼容这个版本亚军。你必须重新安装许可证。

-6186
演示版初始化。
说明。这是一条信息。

-6196
你是不是有权删除许可证服务器的服务器名’的会议。

-6197
“扩展名”的扩展与此许可类型不允许。

-6198
产品标识不符合许可证编号。

-6200
模块“模块名称”:该函数的函数签名-1将称为函数签名2。
说明。参数数目不正确的,是用来调用结扎功能。
解决方案。检查你的源代码和重新编译应用程序。

-6201
模块的模块名“:??坏的版本:重新编译你的源代码。
说明。你编译你的程序,与旧版本。新编译你的程序版本不支持。
解决方案。重新编译所有源文件和表单文件。

-6202
这个P码机,文件名的文件名:坏的魔术:代码无法运行。
说明。你编译你的程序,与旧版本。新编译程序的版本不支持。您可能也有相同的名称与0.42?的文件。你没有指定扩展fglrun 42R名称。
解决方案。要解决这个问题,请致电的0.42?扩展fglrun或重新编译您的应用程序。

-6203
模块的模块名-1:函数函数名称’已经被定义在模块的模块名-2“。
说明。指定的函数被定义为应用程序中的第二次。该函数的第二次出现是在指定的模块。
解决方案。消除从源代码的两个函数的定义之一。

-6204
模块的模块名:未知操作码。
说明。被发现在一个未知的指令编译结扎申请。
解决方案。检查的Genero商业开发语言包执行已编译的应用程序的版本编译的应用程序是相同的。它也有可能是编译的模块已损坏。如果是这样,你将需要重新编译您的应用程序。

-6205
内部错误:对齐。
说明。这个错误是内部的,通常不应该出现。
解决方案。请联系您的技术支持。

-6206
动态加载程序无法打开模块的模块名’。
说明。模块是不是在当前目录或由环境变量FGLLDPATH指定的目录之一。
解决方案。设置环境变量FGLLDPATH。

-6207
动态加载的模块“模块名称”不包含函数的函数名’。
说明。一个的结扎模块已被改变和重新编译,但应用程序的不同模块没有联系之后。
解决方案。新模块链接在一起,然后再执行您的应用程序。

-6208
模块的模块名已经加载。
说明。一个模块被加载在运行时的两倍。这可能是因为一个模块已与另一串连。
解决方案。重新编译和重新链接您结扎模块。

-6210
内部错误:异常2之前引发异常调用异常处理程序。
说明。一个模块被加载在运行时的两倍。这可能是因为一个模块已与另一串连。
解决方案。检查函数名,重新编译和重新链接您的结扎模块。

-6211
链接已经失败。
说明。连接结扎程序时出现问题。
解决方案。检查函数名,重新编译和重新链接您的结扎模块。

-6212
函数函数名称:局部变量的大小是太大 – 分配失败。
说明。一个本地函数变量是过大,运行时无法分配内存。
解决方案。检查函数中的变量的数据类型。

-6213
模块模块名称:模块的可变尺寸太大 – 分配失败。
说明。一个模块变量是过大,运行时无法分配内存。
解决方案。检查模块中的变量的数据类型。

-6214
全局变量的变量名规模太大 – 分配失败。
说明。全局变量是过大,运行时无法分配内存。
解决方案。审查中的全局变量的数据类型。

-6215
内存分配失败。结束程序。
说明。运行时无法分配内存。
解决方案。检查系统资源和核实,如果操作系统允许用户分配多少内存作为该计划的需求(检查ulimits UNIX系统上)。

-6216
全球的名字已经被重新定义具有不同的定值。
说明。已定义一个全局常量,用不同的值的两倍。
解决方案。可能有一个全局常量只有一个值。检查你的代码。

-6217
全球的’名称’已被定义为一个常量和变量。
说明。相同的符号被用来定义一个常量和变量。
解决方案。使用不同的名称为常数和变量。检查你的代码。

-6218
没有运行。你必须调用之前调用fgl_call()fgl_start()。
说明。发生此错误时C扩展已经重新定义了main()例程,但不致电fgl_start()初始化的结扎运行环境。
解决方案。任何其他操作之前检查C扩展和调用fgl_start()。

-6219
每当错误认购:错误处理递归调用自身。
说明。异常处理程序调用一个函数,这反过来又递归调用自身。
解决方案。回顾异常处理程序调用的函数。

-6220
无法加载C扩展库’库名’\ n原因:原因
说明。运行系统无法找到共享库,给出的理由。
解决方案。检查C扩展库中存在一个由FGLLDPATH定义的目录。

-6221
C扩展初始化失败,状态%d。
说明。 C扩展初始化失败。
解决方案。检查C扩展的源代码或文档。

-6300
无法连接到GUI。
说明。您已经运行了一个GUI应用程序的环境变量FGLSERVER的不正确设置,或Genero客户端(图形前端)未运行。
解决方案。 FGLSERVER环境变量应设置主机名和端口运行时系统用于显示应用程序窗口的图形前端年底。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6301
不能写的GUI。
说明。您正在运行一个GUI应用程序,但不明原因不再响应前端和运行时系统无法写入的GUI插座。
解决方案。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6302
从GUI无法读取。
说明。您正在运行一个GUI应用程序,但不明原因的前端不再响应和运行时系统无法读取从GUI插座。
解决方案。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6303
无效的用户接口协议。
说明。您正试图执行一个程序运行时系统使用AUI协议版本不同的前端。
解决方案。安装任何一个新的前端或一个新的运行环境相匹配(2.0倍与2.0倍,1.3倍与1.3倍)。

-6304
无效的抽象用户界面定义。
说明。您正试图执行一个程序运行时系统使用AUI协议版本不同的前端。
解决方案。安装任何一个新的前端或一个新的运行环境相匹配(2.0倍与2.0倍,1.3倍与1.3倍)。

-6305
无法打开字符表文件。检查您fglprofile。
说明。发生此错误美元FGLDIR / etc / fglprofile文件,定义由gui.chartable项,如果转换的文件不是当前用户可读。
解决方案。检查,如果gui.chartable进入设置正确,如果指定的文件是由当前用户可读。

-6306
无法打开服务器上的文件。检查安装。
说明。在服务器端的文件不能被发送到图形界面。
解决方案。检查文件位于$ FGLDIR的/ etc目录的权限。这些文件必须至少有读取当前用户的权限。

-6307
GUI服务器自动启动:无法识别工作站。
说明。 GUI服务器自动启动配置是错误的。要么显示,FGLSERVER或fglprofile设置是无效的。
解决方案。设置所需的环境变量,并检查fglprofile自动启动项。

-6308
GUI服务器自动启动:未知工作站:检查gui.server.autostart条目。
说明。 X11 DISPLAY环境变量中所描述的计算机既不是本地主机,也不是在fglprofile项所列。
解决方案。检查X11显示名称,如果设置正确,或检讨fglprofile条目。

-6309
没有连接。不能写的GUI。
说明。原因不明,有企图写在GUI上的插座连接之前开始。
解决方案。检查无效的GUI操作方案。

-6310
没有连接。从GUI无法读取。
说明。原因不明,有人试图读GUI上的插座连接之前开始。
解决方案。检查无效的GUI操作方案。

-6311
没有当前窗口。
说明。该计划试图发出没有当前窗口打开一个菜单指令。
解决方案。审查程序逻辑,并确保一个窗口,是开放前菜单。

-6312
用户界面(FGLGUI)的类型是无效的。
说明。而发起的用户界面,运行时系统没有识别的GUI类型和停止。
解决方案。确定的FGLGUI环境变量有一个正确的值。

-6313
的的UserInterface已被销毁。
说明。错误发生时前端发送DestroyEvent的事件,表明一些启动程序的不一致。例如,可能会发生这种多个StartMenus时使用,或当您尝试运行MDI子无父容器,或当两个MDI容器具有相同的名称开始,等等。
解决方案。检查不一致,并修复它。

-6314
错误的连接字符串。检查客户端版本。
说明。在启动程序,运行时收到从前端的错误或不正确的答案。
解决方案。确保您使用的是与运行系统兼容的前端。

-6315
控制台的UI形式是太复杂。
说明。程序试图显示一个表单,不能在文本模式下显示一个复杂的布局。
解决方案。审查表格文件,并使用部分屏幕的布局,而不是一个简单的网格。

-6316
从客户端返回错误的错误号:\ n说明
说明。返回前端GUI连接初始化过程中指定的错误。
解决方案。检查前端文件的更多细节。

-6317
无效或不支持的客户端协议功能。
说明。 GUI的协议功能,你正试图使用??不支持前端。例如,您正在尝试使用压缩协议,但在运行时是不能够对数据进行压缩。
解决方案。检查支持的协议功能的运行系统版本。

-6320
无法打开文件’文件名’。
说明。运行时系统在FGLDIR试图打开一个资源文件,但访问被拒绝或文件不再存在。
解决方案。检查文件的权限和FGLDIR存在。

-6321
没有这样的接口能力:“功能”。
说明。运行时系统尝试使用前端协议的能力,但不能使用它。
解决方案。检查前端与运行时系统兼容。

-6322
%是错误的版本。期望%s的。
说明。 FGLDIR一些资源文件已被确定作为当前运行系统太旧。
解决方案。重新安装运行的制度环境。

-6323
无法加载工厂资料“文件名”。
说明。位于FGLDIR /等的的默认fglprofile文件丢失或不可读。
解决方案。检查文件的权限。如果缺少该文件,重新安装软件。

-6324
无法加载客户的个人资料“的文件名’。
说明。由FGLPROFILE环境变量定义的配置文件丢失或不可读。
解决方案。检查FGLPROFILE环境变量设置正确,如果该文件是由当前用户可读。

-6325
无法加载应用程序的资源文件名“。
说明。 FGLDIR的/ etc / fglprofile丢失或不适合当前用户可读fglrun.default进入指定的目录。
解决方案。检查如果入境fglrun.default正确设置FGLDIR / etc / fglprofile中,如果指定的目录是当前用户可读。

-6326
无法打开字符映射文件的文件名。检查您fglprofile。
说明。指定的字符映射文件不能被发现或阅读。
解决方案。验证位于FGLDIR /等字符映射文件,正确的值设置在fglprofile(GUI.CHARTABLE项)。

-6327
内部错误,在运行时库文件库的名称。
说明。一些不可预知的发生,产生错误。
解决方案。请联系您的技术支持。

-6328
资源’名称’价值’价值’的格式错误:您必须使用语法:
%=’VARNAME =值“。
说明。的FGLPROFILE文件包含一个无效的环境变量的定义格式。
解决方案。检查配置文件中的内容。

-6330
个人资料“的文件名,行的数量LINENO,附近的”令牌“中的语法错误。
说明。 FGLPROFILE文件中所示的错误消息包含一个语法错误。
解决方案。检查配置文件中的内容。

-6331
前端模块无法加载。
说明。前端调用失败,因为模块不存在。
解决方案。前端可能不支持该模块。

-6332
前端功能可能不会被发现。
说明。前端调用失败,因为该函数不存在。
解决方案。前端可能不支持此功能。

-6333
前端函数调用失败。
说明。前端调用失败,原因未知。
解决方案。打电话的支持和报告问题。

-6334
前端函数调用堆栈问题。
说明。前端调用失败,因为参数或返回值不匹配。
解决方案。确保一些参数和返回值是正确的。

-6340
无法打开文件。
说明。通道对象未能打开指定的文件。
解决方案。确保文件名是正确的,用户有读/写文件的权限。

-6341
不支持的模式为“打开文件”。
说明。您尝试打开一个通道不支持的模式。
解决方案。通道的文件,支持的模式。

-6342
无法打开管道。
说明。通道对象未能打开一个管道来执行命令。
解决方案。确保您尝试执行的命令是有效的。

-6343
不支持的模式为“开放管道”。
说明。您尝试打开一个通道不支持的模式。
解决方案。通道的文件,支持的模式。

-6344
不能写开封的文件或管道。
说明。您尝试写入到一个通道对象,这是不公开的。
解决方案。首先打开通道,然后写。

-6345
通道写入错误。
说明。发生意外的错误而写的通道。
解决方案。详情请参阅系统错误消息。

-6346
无法读取从未拆封的文件或管道。
说明。您尝试读取通道的对象,这是不公开的。
解决方案。首先打开通道,然后阅读。

-6360
这个亚军可以不执行任何SQL。
说明。运行时系统是没有准备好数据库连接。
解决方案。检查FGL配置。

-6361
动态SQL:未知类型:typename的。
说明。数据库驱动程序不支持这种类型的SQL数据。
解决方案。你不能使用这个SQL数据类型,审查代码。

-6364
无法连接到SQL后端。
说明。运行时系统无法初始化数据库驱动程序,以建立一个数据库连接。
解决方案。确保数据库驱动程序的存在。

-6365
数据库驱动程序尚未连接。
说明。有企图执行一个SQL语句,但没有建立数据库连接。
解决方案。第一次连接,然后执行SQL语句。

-6366
无法加载数据库驱动程序驱动程序的名称。
说明。运行时系统无法加载指定的数据库驱动程序。无法找到数据库驱动程序的DLL或依赖DLL。
解决方案。有可能是一个环境问题,检查例如UNIX LD_LIBRARY_PATH环境变量。

-6367
不兼容的数据库驱动程序接口。
说明。数据库驱动程序接口不匹配,预计运行时系统的接口。这可能发生,如果你复制成一个年轻的FGLDIR安装一个旧的数据库驱动程序。
解决方案。调用的支持,以获得一个有效的数据库驱动程序。

-6368
SQL驱动程序初始化函数失败。
说明。运行时系统未能初始化数据库驱动程序,程序必须停止,因为没有数据库可以建立连接。
解决方案。有可能是一个环境问题(例如,INFORMIXDIR或ORACLE_HOME是不是设置)。检查你的环境,并尝试连接到数据库供应商的工具(dbAccess的,SQLPLUS)找出问题。

-6369
无效的数据库连接模式。
说明。您尝试混合DATABASE和CONNECT语句,但是这是不允许的。
解决方案。使用任何数据库或连接。

-6370
不支持的SQL功能。
说明。此SQL命令或语句不支持当前的数据库驱动程序。
解决方案。审查代码,而不是使用标准的SQL功能。

-6371
SQL语句的错误号%d(%d)中。
说明。一个SQL错误发生指定的错误编号。
解决方案。你可以查询SQLERRMESSAGE的SQLCA的记录,得到了错误的描述。

-6372
一般SQL错误,检查SQLCA.SQLERRD [2]。
说明。一个普通的SQL错误发生。
解决方案。你可以查询SQLERRMESSAGE的SQLCA的记录,得到了错误的描述。本机的SQL错误代码是在SQLCA.SQLERRD的[2]。
-6373
无效的数据库连接字符串。
说明。您已经使用的数据库连接字符串是无效的。
解决方案。验证连接字符串的格式。

-6601
无法打开数据库字典“名称”。运行数据库架构提取工具。
说明。架构文件不存在或无法找到。
解决方案。如果存在架构文件,确认文件名拼写正确,该文件在当前目录或FGLDBPATH环境变量设置正确的路径。如果该文件不存在,运行的数据库架构提取工具来创建一个模式文件。

-6602
无法打开全局文件名’。
说明。全局文件不存在或无法找到。
解决方案。验证全局文件存在。检查文件名的拼写,并验证该路径是否设置正确。

-6603
不能创建文件的名字’写作。
说明。编译器无法创建文件显示在写作中的错误消息。
解决方案。检查用户权限,以确保.42 m文件可以创建。

-6604
函数的函数名称“只能用于在一个输入[数组],显示阵列或结构语句。
说明。该语言提供内置的功能,只能在特定的交互式报表使用。
解决方案。检查你的代码,该函数内的互动发言和适当的END语句是必要的corrections.Check(端输入/阵列/显示阵列/构造)已被使用。

-6605
模块的名字’不包含函数’函数名’。
说明。在错误消息中显示的模块并不持有的函数的名称,如预期。
解决方案。指定的函数必须在此模块中定义。

-6606
没有成员函数的名字“类的类名定义。
说明。函数的名称拼写错误,或者是不是一个,它被称为类的方法。
解决方案。检查您的代码和您正试图使用??该方法的文档。如果函数是一个对象的方法,确保在代码中引用的对象是正确的类。

-6608
预期资源错误:%s:参数
说明。这是一个资源文件问题的一般性错误消息。

-6609
‘%s’的期望:%S已发现一个语法错误。
说明。预计一个一般的语法错误消息,指出问题的代码的位置和什么样的代码。
解决方案。检查你的代码,特别是完函数或端输入等,如缺少END语句,并作出必要的修正。

-6610
函数的名称已经被称为具有不同数量的参数。
说明。早在节目中,有此功能相同或不同数量的参数在参数列表中的事件是一个呼叫。
解决方案。检查指定的函数参数的正确数目。然后检查所有调用它,并确保它们被正确写入。

-6611
函数的名字:意外的返回值数。
说明。该函数返回一个数值的数目不同,如预期。
解决方案。检查身体RETURN指令的功能。

-6612
重声明的函数的名称“。
说明。函数被定义多次。
解决方案。更改名称冲突的功能。

-6613
库函数的名字’未声明。
说明。函数未声明。
解决方案。更改名称的功能。

-6614
‘名称’的功能,可能会返回一个数值的数目不同。
说明。包含多个函数的返回指令,可能会返回不同的值的数量。
解决方案。检查返回指令返回相同的值。

-6615
符号的名称是未使用。
说明。这是一个警告,表明显示的符号定义,但从来没有使用过。
解决方案。可以删除无用的定义。

-6616
‘名称’的象征,并不代表定义的常数。
说明。显示的符号是用来作为一个常数,但它不是一个常数。
解决方案。检查你的代码,并检查这个名字。

-6617
符号’name’是一个变量。
说明。显示的符号是一个不能在目前情况下使用的变量。
解决方案。检查你的代码,并检查这个名字。

-6618
‘名称’的象征,是一个常数。
说明。显示的符号是一个不能在目前情况下使用的常数。
解决方案。检查你的代码,并检查这个名字。

-6619
符号’name’是不是一个整数常量。
说明。显示的符号是用来作为如果它是一个整数常量,但事实并非如此。
解决方案。检查你的代码,并检查这个名字。

-6620
符号’name’是不是一个报告。
说明。显示的符号是用来作为一个报告,但它不是作为一个报告定义。
解决方案。检查你的代码,并检查这个名字。

-6621
符号’name’是不是一个函数。
说明。显示的符号是作为一个函数使用,但它并不是函数定义。
解决方案。检查你的代码,并检查这个名字。

-6622
‘名称’的象征,并不代表一个合法的变量类型。
说明。不显示的符号。
解决方案。检查你的代码,并检查这个名字。

-6623
该方法的方法名’不能被称为没有一个对象。
说明。指定的方法是它的类的对象的方法。
解决方案。检查你的代码。确保所需类的对象已经被实例化,并依然存在,该方法被称为期间作为分隔字符,指定对象变量的前缀。

-6624
该方法的方法名’不能被称为一个对象。
说明。指定的方法是一个类的方法和使用的对象引用不能被称为。没有对象被创建。
解决方案。检查你的代码。确保时期字符作为分隔,使用类名作为前缀,该方法被称为。

-6625
这份声明并非是Informix的兼容。
说明。 SQL语句是不是Informix的兼容。
解决方案。改变使用Informix SQL语法的SQL语句。

-6627
符号’name’是不是一个变量。
说明。显示的符号是作为一个变量,但不是作为一个变量的定义。
解决方案。检查你的代码,并检查这个名字。

-6628
对Globals文件不包含GLOBALS部分。
说明。 1 GLOBALS声明中引用的文件不包含GLOBALS部分中指定的文件名。
解决方案。检查你的代码,以确保由FileName指定的文件是一个有效的文件GLOBALS,含部分所需GLOBALS

-6802
无法打开数据库字典“名称”。运行模式提取工具。
说明。架构文件不存在或无法找到。
解决方案。如果存在架构文件,确认文件名拼写正确,该文件在当前目录或FGLDBPATH环境变量设置正确的路径。如果该文件不存在,运行的数据库架构提取工具来创建一个模式文件。

-6803
在“线”已发现语法错误,期待令牌。
说明。这是一个错误的一般消息。

-6804
‘名称’的形式编译成功。
说明。这是一条信息表明,编译是没有问题的形式。

-6805
开放的形式“的名称,满分版本:%s,预期:%S。
说明。你编译一个版本的形式与其他源代码编译使用不兼容的编译器是您的表单。
解决方案。编译表单文件和相关的源代码文件,编译器使用相同或兼容的版本。

-6807
‘名称’的标签不能被用作列标题。
说明。表单文件定义一个无效的表列标题。
解决方案。检查列标题不对应列的位置。

-6808
widget的’名字’不能被定义为数组。
说明。表单文件定义一个矩阵列的项目。
解决方案。审查的形式定义。

-6809
布局标签’名’是无效的,期望:令牌。
说明。的形式编译器检测到一个无效的布局标记规范。
解决方案。审查的形式定义。

-6810
属性的“属性”项目类型“名称”是无效的。
说明。的形式编译器检测到一个无效的属性定义此项目类型。
解决方案。审查的形式定义和检查无效的属性。

-6811
语法错误’%s’的,预期的%s的附近。
说明。预计一个一般的语法错误消息,指出问题的代码的位置和什么样的代码。
解决方案。检查你的代码,并作出必要的修正。

-6812
终端接头的字符常量。
说明。的形式编译器检测到一个未结束的字符常量。
解决方案。审查的形式定义和检查失踪引号或双引号。

-6813
组框’名’的元素的名称冲突。
说明。元素和组框,您已使用相同的名称。
解决方案。审查您的表单定义,并确保所用的名称是唯一的。

-6814
屏幕记录的名称“必须引用一个表。
说明。在表单文件中所显示的屏幕记录引用多个表。
解决方案。审查的形式定义和使用一个唯一的表为一个给定的屏幕记录。

-6815
压痕在括号之间的内容无效。
说明。您的窗体布局部分定义了一个无效的压痕。
解决方案。审查您的表单定义,并检查相应的缩进。

-6817
没有在指令部分的屏幕记录表容器定义。
说明。定义属性的最低值必须低于最高值。
解决方案。检查你的代码,并作出必要的修正。

-6818
最小值必须是低,最大的价值。
描述:定义属性的最低值必须低于最高值。
解决方案。检查你的代码,并作出必要的修正。

-6819
屏幕记录中的元素的数量必须符合表容器中的列数。
说明。在屏幕记录定义的元素的数量不等于表容器中使用的列数。
解决方案。审查的形式定义。

-6820
ScrollGrid和/或集团布局标签不能嵌套。
说明。表单定义嵌套ScrollGrid和/或集团布局标签。这些标记不能嵌套。
解决方案。审查您的表单定义,并作出必要的修正。

-6821
盒子标签不能用于数组。
说明。表单定义使用一个HBox标记为一个数组,这是不允许的。
解决方案。审查您的表单定义,并作出必要的修正。

-6822
逃脱的图形字符不接受在网格部分。
说明。您尝试使用文本用户界面的图形,在新的网格容器。
解决方案。这是不允许的,使用组来代替。

-6823
关闭的标签,不具备以上匹配的标签。
说明。表单定义有没有事先匹配的开放标签结束标记。开放的标签和结束标签必须匹配。
解决方案。您的表单定义文件审查,并作出必要的修正。

-6824
表’表名’上面是空的,由于重叠的标记“标记名”。
说明。布局形式定义表名,其中持有的形式表区域重叠的项目确定表布局标签。列标题和列的表格项目必须是表内的区域。
解决方案。您的表单定义文件审查,并作出必要的修正。

-6825
无效标签tagname1的表标签tagname2(定义表标签不允许在同一行上的其他标记的定义和它的块内)的范围。
说明。布局形式定义标签,由tagname1内或标签tagname2附近放置一个布局确定。
解决方案。您的表单定义文件审查,并作出必要的修正。

-8000
DOM:节点没有找到。
说明。在当前文档中的节点不能发现。
解决方案。检查你的代码。

-8001
DOM:无效的文件。
说明。通过DOM API的文件是不是一个有效的文件。
解决方案。检查你的代码。

-8002
DOM:无效的NULL作为参数使用。
说明。 NULL,不能用在这个地方。
解决方案。检查你的代码。

-8003
DOM节点插入的地方,它不属于。
说明。您尝试插入不允许这种类型的节点的父节点下一个节点。
解决方案。检查可能的节点和审查你的代码。

-8004
萨克斯:无效的层次。
说明。 SAX处理程序遇到了一个无效的层次。
解决方案。确保父/子关系得到尊重。

-8005
过时的功能:%S
说明。您正在使用的功能,在未来的版本将被删除。
解决方案。更换功能正常使用。

-8006
字符串资源文件名称“不能被发现。
说明。显示字符串的文件无法找到。
解决方案。检查文件是否存在,如果路径是有效的。

-8007
无法读取字符串资源文件名称“。
说明。显示字符串的文件无法读取。
解决方案。检查文件是否存在,如果用户有权限读取。

-8008
字符串的关键“钥匙”没有定义的值。
说明。运行时系统无法找到相应的字符串资源显示关键。
解决方案。检查关键是在资源文件中定义。

-8009
字符串资源附近的“令牌”的语法错误,期待令牌。
说明。字符串的文件编译器检测到一个语法错误。
解决方案。检查无效。str文件中的语法。

-8010
无法找到包含字符串文件名“(文件名:行)忽略行。
说明。字符串的文件编译器无法找到要包含的文件。
解决方案。检查文件名和路径。

-8011
包含字符串的文件的名字已经被列入(文件名:行)忽略行。
说明。字符串的文件编译器检测,所包含的文件已被包含。
解决方案。卸下列入。

-8012
重复的字符串键“钥匙”(文件名:行)忽略行。
说明。字符串的文件编译器检测到重复的字符串键。
解决方案。审查。STR文件,并删除重复的键。

-8013
字符串文件名’无法打开写作。
说明。字符串的文件编译器无法写入指定的字符串文件。
解决方案。确保用户具有写权限和文件名是有效的。

-8014
字符串的文件的名字’不能被读取。
说明。运行时系统无法读取指定字符串的文件。
解决方案。确保用户有读权限。

-8015
场切换条款不符合形式。
说明。在ON CHANGE子句中使用的字段没有被发现在形式的规范文件。
解决方案。确保切换条款的字段名称匹配的有效形式的领域。

-8016
你不能有多个同一领域的变化条款。
说明。指定多个使用同一领域的变化条款,这是不可能的。
解决方案。删除非必要的更改条款。

-8017
SFMT:无效的%的指标。
说明。格式字符串是无效的。
解决方案。检查无效的%的职位。

-8018
SFMT:格式错误。
说明。格式字符串是无效的。
解决方案。检查无效的%的职位。

-8019
不超过行变化子句可以出现在一个输入数组声明。
说明。多行变化子句被发现在相同的输入数组。
解决方案。删除不必要的行更改条款。

-8020
相同的动作名称与行动条款,多出现在声明中。
说明。它是不是可以指定多个动作使用相同的动作名称的条款。
解决方案。删除非必要的行动条款。

-8021
使用相同的密钥名称的关键条款,多出现在声明中。
说明。指定多个使用相同的密钥的关键条款,这是不可能的。
解决方案。删除非必要的关键条款。

-8022
DOM:无法打开XML文件。
说明。无法加载该文件。
解决方案。检查文件名和用户权限。

-8023
DOM:’名称’属性不属于节点“节点”。
说明。您尝试设置一个属性节点不具有这样的属性。
解决方案。这是不允许的,检查你的代码。

-8024
DOM:字符数据不能在这里创建。
说明。您尝试创建一个字符下不允许这样的节点的节点节点。
解决方案。这是不允许的,检查你的代码。

-8025
DOM:不能设置一个字符节点的属性。
说明。您尝试设置一个字符节点的属性。
解决方案。这是不允许的,检查你的代码。

-8026
DOM:’名称’属性不能被删除节点“节点”,属于用户界面。
说明。您尝试从一个AUI节点强制性的属性。
解决方案。你只能改变这个属性的值,尝试“无”或空字符串。

-8027
萨克斯:可以不写。
说明。 SAX处理程序无法写入目标文件。
解决方案。确保文件的路径是正确的,用户有写权限。

-8028
多个空闲条款的出现在声明中。
说明。只有在空闲的条款之一,可用于内部对话块。
解决方案。删除不必要的闲置条款。

-8029
多个源文件的名称列入。
说明。预处理器检测到指定的文件被列入几次相同的源。
解决方案。删除不必要的文件包裹。

-8030
源文件名的完整路径是太长。
说明。预处理器不支持长文件名。
解决方案。重命名该文件。

-8031
无法读取源文件的名字“。
说明。预处理程序无法读取指定的文件。
解决方案。确保使用了读取权限。

-8032
无法找到源文件的名字“。
说明。预处理找不到指定的文件。
解决方案。确保该文件存在。

-8033
“名称”指令后发现额外的令牌。
说明。预处理器检测显示指令后的一个意外的标记。
解决方案。检查你的代码,并作出必要的修正。

-8034
功能:此功能尚未实现。
说明。不支持预处理功能。
解决方案。检查你的代码,并作出必要的修正。

-8035
已定义的宏名“。
说明。预处理器发现一个重复的宏定义。
解决方案。检查你的代码,并作出必要的修正。

-8036
发现没有相应的&如果与ifdef或ifndef指令及其他指令。
说明。预处理器检测到一个意外及其他指令。
解决方案。检查你的代码,并作出必要的修正。

-8037
A和endif指令没有相应:如果与ifdef或ifndef指令。
说明。预处理器检测到一个意外endif指令。
解决方案。检查你的代码,并作出必要的修正。

-8038
发现无效的预处理指令名称。
说明。在错误信息中显示的预处理指令不存在。
解决方案。检查你的代码,并检查有效的宏。

-8039
无效的宏名称参数。
说明。错误消息中显示的预处理宏的参数数量不匹配,在这个宏定义的参数的数量。
解决方案。检查你的代码,并检查参数的数量。

-8040
词法错误:未闭合的字符串。
说明。编译器检测到未闭合的字符串,并不能继续下去。
解决方案。检查你的代码,并作出必要的修正。

-8041
终端接头是否或与其他条件。
说明。预处理发现未终止的条件指令。
解决方案。查看本指令的定义。

-8042
操作符’##’只能用于标识符和数字。 %s是不允许的。
说明。预处理器发现#字符串连接运算符的无效使用。
解决方案。检讨这个宏的定义。

-8043
不能运行FGLPP,使用命令:命令
说明。编译器无法运行的预处理命令中所示的错误消息。
解决方案。确保存在的预处理命令。

-8044
词法错误:未闭合的评论。
说明。编译器检测到一个未闭合的意见和无法继续。
解决方案。检查你的代码,并作出必要的修正。

-8045
内输入,输入数组,显示阵列,构造或MENU语句,只能用这种类型的声明。
说明。本声明并没有被用来在一个有效的互动发言,必须适当的终止端输入端输入阵列,高端显示屏阵列,完建设,或结束菜单。
解决方案。检查你的代码,并作出必要的修正。

-8046
这种类型的声明只能在输入时,输入数组,显示阵列或结构语句。
说明。这一说法没有被用来在一个有效的互动发言,必须终止端输入端输入阵列,高端显示屏阵列,或完构建适当。
解决方案。检查你的代码,并作出必要的修正。

-8047
使用无效的“对话”。必须输入,输入数组内使用,显示阵列或结构语句。
说明。预定义关键字“对话框没有被用来在一个有效的互动发言,必须终止端输入端输入阵列,高端显示屏阵列,或完构造适当的。
解决方案。检查你的代码,并作出必要的修正。

-8048
发生了错误,而预处理的文件名’。编译结束。

-8049
接受输入的语句只能用在一个输入,提示下,输入数组声明。
说明。接受输入内仍未有效互动的声明,必须终止结尾输入适当使用,结束提示,或最终输入数组。
解决方案。检查你的代码,并作出必要的修正。

-8050
接受显示??语句只能用在显示阵列语句。
说明。接受显示??尚未使用,必须终止结尾显示阵列在一个有效的显示阵列声明。
解决方案。检查你的代码,并作出必要的修正。

-8051
接受结构语句只能用在一个结构声明。
说明。接受建设尚未范围内使用,必须终止结尾构造一个有效的结构语句。
解决方案。检查你的代码,并作出必要的修正。

-8052
非法输入序列。检查郎。
说明。编译器遇到一个无效的字符序列。源文件使用的字符序列不匹配的区域设置(郎)。
解决方案。检查源文件和区域设置。

-8053
未知的预处理指令’名’。
说明。在错误信息中显示的预处理指令是不是一个已知的指令。
解决方案。检查错字的错误,并予以有效的预处理指令的文档。

-8054
意外的预处理指令。
说明。预处理器指令时遇到意外。
解决方案。取出的指令。

-8055
资源文件名称“含有意想不到的数据。
说明。在错误信息中显示的XML资源文件不包含预期的节点。例如,您尝试加载工具栏ui.Interface.loadActionDefaults()。
解决方案。检查XML文件中包含此类型的资源预期的节点类型。

-8056
未闭合的XPath:报价整数位置。
说明。 XPath解析器发现了一个意想不到的报价在给定的位置。
解决方案。审查的XPath表达式。

-8057
XPath的:意外的字符’字符’整数位置。
说明。 XPath解析器发现一个意外的字符在给定的位置。
解决方案。审查的XPath表达式。

-8058
XPath的:意外的标记/字符串’名称’整数位置。
说明。 XPath解析器发现了一个意外的标记或字符串在给定的位置。
解决方案。审查的XPath表达式。

-8059
SQL语句或与特定的SQL语法的语言指令。
说明。编译器发现一个SQL语句,这是使用数据库特定的语法。本声明可能不会作为当前的数据库服务器上运行。
解决方案。检查SQL语句使用标准/常见的语法和功能。

-8060
不允许在一个屏幕上的部分空白项目。
说明。的形式包含在一个屏幕部分的空白项目,而这些只允许在布局。
解决方案。审查的形式规范文件。

-8061
多条线路上,不应定义表行。
说明。一排表中的容器中的所有列必须是在一个单一的线。
解决方案。使用SCROLLGRID,如果你想显示多条线路上的行细胞。

-8062
DOM(UI):插入删除节点是不允许的。
说明。这是不可能插入一个AUI文件中删除的节点。
解决方案。审查代码。

-8063
客户端连接超时,退出程序。
说明。运行时系统无法建立一个给定的时间后前端的连接。这可能发生,例如在文件传输时,前端花费太多的时间来回答的运行系统。
解决方案。检查您的网络连接工作正常。

-8064
文件传输中断。
说明。中断的文件传输过程中被抓获。
解决方案。文件不能转移,你需要重新操作。

-8065
网络文件传输过程中的错误。
说明。一个套接字错误的文件传输过程中被抓获。
解决方案。检查您的网络连接工作正常。

-8066
无法写入目标文件,文件传输。
说明。运行时系统无法写入为转移的目标文件。
解决方案。确保文件的路径是正确的,并检查该用户具有写权限。

-8067
无法读取源文件,文件传输。
说明。运行时系统无法读取源文件的传输。
解决方案。确保文件的路径是正确的,并检查该用户的读取权限。

-8068
文件传输协议错误(无效状态)。
说明。运行时系统的文件传输过程中遇到的问题。
解决方案。网络故障可能引发这个错误。

-8069
文件传输无法使用。
说明。不支持文件传输功能。
解决方案。确保前端支持文件传输。

-8070
本地化的字符串文件名’已损坏。
说明。所示的字符串资源文件是无效的(可能是无效的多字节字符损坏的文件)。
解决方案。检查区域设置(郎),确保STR源使用有效的字符,并重新编译。

-8071
该项目的名称“已不止一次定义。
说明。表单文件定义具有相同名称的相同类型的几个要素。
解决方案。审查形式的文件和使用的唯一标识符。

-8072
声明必须终止';’。
说明。没有终止分号的ESQL / C预处理器指令。
解决方案。添加一个分号结束指令。

-8073
无效的“,包括”指令的文件名。
说明。 include预处理指令使用无效的文件名。
解决方案。检查文件名。

-8074
发现没有相应的&如果与ifdef或ifndef指令及elif指令。
说明。预处理发现:如果没有相应的elif指令。
解决方案。 &ELIF:如果指令之前添加或删除&ELIF。

-8075
编译器插件的名称不能被加载。
说明。 fglcomp无法加载插件,因为它没有被发现。
解决方案。确保插件的存在,并可以载入。

-8076
编译器插件的名称,没有实现所需的接口。
说明。 fglcomp无法加载插件,因为接口是无效的。
解决方案。检查插件对应的编译器的版本。

-8077
‘名称’属性已被定义一次以上。
说明。错误消息中显示的变量属性被定义多次。
解决方案。查看变量的定义和删除重复的属性。

-8078
‘名称’属性是不允许的。
说明。错误消息中显示的变量属性是不允许这种类型的变量。
解决方案。检讨可能的变量属性。

-8079
解析XML文件时发生错误。
说明。运行时系统无法解析一个XML文件,这可能不是一个有效的XML格式。
解决方案。检查XML格式,错别字,如果可能的话,验证与DTD的XML文件。

-8080
无法打开xml文件。
说明。无法打开指定的XML文件。
解决方案。确保该文件存在并且为当前用户的访问权限。

-8081
已经遇到无效的多字节字符。
说明。编译器在源发现一个无效的多字节字符,并不能编译的窗体或模块。
解决方案。检查区域设置(郎),并确认是否有在你的源代码没有无效字符。

-8082
该项目的名称“是无效的布局上下文中使用。
说明。形式项目名称使用在布局中的一部分,不支持这种形式的项目。发生此错误,例如,当您尝试表列定义为一个按钮。
解决方案。检查您的表单定义文件,并使用正确的项目类型。

(三)4gl错误代码编号

4GL错误代码编号(转)
2013-10-16 10:54 1282人阅读 评论(0) 收藏 举报

-12没有足够的核心。

作业系统错误代码的含义
意外地返回到数据库服务器。 “核心”可能
是指操作系统所需要的数据在内存空间
功能。操作系统的错误消息可能会
了解更多信息。

-200
标识符太长。
在SQL语句的标识符必须是长度为18个字符或更少。
检查语句,以确保没有标识符的长度,
以及有没有错误的标点符号(例如,缺少
空格或逗号),可能使这两个名字看起来像一个。
-201
发生语法错误。
说明。这是一般的错误信息显示在一个SQL语句的形式错误。
解决方案。寻找失踪或额外的标点符号;关键字拼写错误,使用不当,或不按顺序,或保留字作为标识符。
-201语法错误已经发生。
这是一般的错误代码的形式对所有类型的错误
一个SQL语句。寻找丢失或多余的标点符号(例如,
例如,丢失或多余的逗号,括号遗漏周围
子查询等),关键字的拼写错误(例如VALEUS为
值),关键字滥用(例如,在INSERT
声明,在子查询),关键字的序列(
的条件“价值”,而不是“没有价值”),或
作为标识符的保留字的使用。
注:支持“NIST符合全的数据库服务器,”不储备
任何与这些数据库服务器的查询可能会失败,
错误-201一起使用时,早期的实现。
-202 在声明中已经发现非法字符。

一个字符不能被理解为一个SQL语句的一部分
嵌入在本声明。如果该语句,构建了
一个程序,很可能是一个非打印字符控制
字符。确保语句只包含可打印的ASCII
字符和重新执行它。
-203
在声明中已经发现了一个非法的整数。
一个整数值,是不可接受的数字
不变。检查语句的数字,应该是
整数,但其中包含小数点或字母“e”或
大于2,147,483,647(231-1)。
-204
在声明中已发现一个非法的浮点数。
一个数字常量中不时像一个浮点数
(与小数点和/或指数开始以“e”)是
不能接受的。指数可能是大于可以被处理。
-205
无法使用ROWID的意见聚集,group by或
多个表。
关键字ROWID代表中存在的一个虚拟列
只有简单的表格。这说的是一个表的ROWID
这实际上是一种观点认为,是基于一个选择涉及
聚合函数,分组或两个或多个表的联接。这样
查询的产品不具有ROWID列,因此,这
查看,即使它出现是一个表,也没有一个
ROWID。为了在查询中使用ROWID,你必须申请
查询表所依据的观点。

-206
指定的表格不在数据库中。

-217
查询时, 未发现表格中有字段 column-name (或SLV尚未加以定义).

-235
字符列的大小是太大。
说明。 SQL语句中指定一个大于65,534字节的字符数据类型的宽度。
解决方案。如果你需要一个这样规模的列,请使用TEXT数据类型,它允许无限长度。否则,检查印刷错误的语句。

-255
不在交易中。

-259错误提示解决方法(光标未开启)
字段跟变量不匹配,检查字段是匹配。

-284
一个子查询回了不只一列。

-307
非法下标。
说明。子字符串值(两个方括号中的数字)的字符变量是不正确的。首先是小于零或大于列的长度,或第二比第一少。
解决方案。回顾在声明中使用方括号内的所有找到的错误。可能已经改变列的大小,使得一个子失败,使用工作。

-363
光标不是SELECT语句。
说明。在此声明(可能是一个开放的)的名字命名的光标已经用事先准备好的声明,这不是一个SELECT语句。
解决方案。检查程序逻辑,尤其是在DECLARE光标,在指定的语句ID,及准备,成立了该声明。如果你打算使用INSERT语句游标,你只能做到这一点时,INSERT语句书面DECLARE语句的一部分。如果你打算执行一个SQL语句,EXECUTE语句直接做,而不是间接通过游标。

-400
取试图在未开封光标。

这从来没有打开的游标FETCH语句的名称,
或已被关闭。检查程序逻辑,并确保
在此之前,它会打开游标,而不是偶然
将其关闭。请注意,除非在声明游标WITH HOLD,它是
COMMIT WORK或ROLLBACK工作的的自动关闭。
-513
声明没有提供与该数据库服务器。

-805
无法打开文件的负载。
说明。在此LOAD语句中指定的输入文件无法打开。
解决方案。检查语句。可能需要一个更完整的路径名,该文件不存在,或您的帐户没有读取的文件或目录,它在许可。

-806
无法打开文件卸载。
说明。 UNLOAD语句中这个指定的输出文件是无法打开。
解决方案。检查语句。可能需要一个更加完整的路径名,该文件存在,但您的帐户没有写权限;或磁盘已满。

-809
SQL语法错误已经发生。
说明。 INSERT语句在此负载/卸载语句有语法无效。
解决方案。审查标点符号和使用关键字。

-846
加载文件中的值的数目不等于列数。
说明。 LOAD处理器数量的分隔符,在文件的第一线,以确定加载文件中的值数。如果指定一个分隔符为每个表中的列,或列清单中的每一列必须存在。
解决方案。检查你指定的文件,你打算和它使用正确的分隔符。在文本中的空行,也可能导致此错误。如果不指定分隔符LOAD语句,验证,默认的分隔符相匹配的文件中使用的分隔符。如果您在默认的分隔符有任何疑问,在LOAD语句中指定的分隔符。

-1102
字段名称不符合形式。
说明。输入,输入数组中列出的字段名称,建设,滚动或显示声明不会出现在当前显示屏幕的形式的形式规范。
解决方案。审查程序逻辑,以确保预期的窗口是当前,旨在形式显示,并在声明中的所有字段名称的拼写是否正确。

-1107
场下标超出范围。
说明。屏幕数组下标输入,显示,或构建语句可以是小于1或大于阵列中的各个领域的数量更大。
解决方案。审查结合的形式规范,看到这里的错误在于节目源。

-1108
没有记录形式的名称。
说明。输入数组或显示阵列语句命名的屏幕记录现在显示在屏幕上不会出现。
解决方案。一起看看屏幕记录的名称匹配的形式规范审查程序的源。

-1109
清单和记录字段数不同。
说明。屏幕字段在一个结构,输入,输入数组,显示,或显示的数组声明不同意的程序变量。
解决方案。检查在结合的形式规范,看到错误所在的语句。常见的问题包括:在一个屏幕记录,不反映在每个语句使用的记录,并改变程序中的记录,不体现在形式设计的定义的变化。

-1110
形成文件未找到。
说明。没有被发现,在一个开放的形式表指定的表格文件。
解决方案。检查“表单文件”的语句的参数。它不应该包括的文件后缀。FRM。然而,如果不是在当前目录的形式是,它应该包括一个完整的文件路径。

-1112
一个形式是不符合当前结扎版本。重建的形式。
说明。的形式,在一个开放的形式声明中指定的文件是不能接受的。它可能被损坏,在某种程度上,或编制表格编译器是结扎编译的版本,编译这个程序不兼容的版本。
解决方案。使用当前版本的表格编译器重新编译的形式规范。

-1114
已显示任何形式。
说明。当前语句需要使用屏幕形式。例如,显示...或输入语句必须使用的一种形式领域。然而,显示形式的声明并没有被执行,因为在当前窗口打开。
解决方案。审查程序逻辑,以确保它打开并显示表单之前,它试图使用表单。

-1119
下一个字段名称不符合形式。
说明。这条语句(输入或输入数组)包含了下一个字段子句命名一个不是在形式定义的字段。
解决方案。审查的形式和程序逻辑。也许形式已经改变,但该计划还没有。

-1129
场前/后条文的形式。
说明。本声明包含了一个前场条款或后场子句命名一个未在当前显示的形式定义的字段。
解决方案。审查程序,以确保预期的形式显示,对形式规范,以确保现有油田被命名为检讨本声明。

-1133
下一个选项的名字是不是在菜单中。
说明。此菜单语句包含一个选项子句命名在声明中没有定义菜单选项。
解决方案。如下一个选项的字符串必须遵循在相同的菜单语句的命令条款相同。审查,以确保这些条款与对方同意的声明。

-1140
下一个选项是一个隐藏的选项。
说明。以前被隐藏的,在这一个选项语句命名的选项隐藏选项语句。因为它是对用户不可见的,它不能被强调为未来的选择。
解决方案。使用show选项语句取消隐藏菜单选项。

-1141
与活跃的输入,显示阵列,或MENU声明不能关闭窗口。
说明。这种密切的窗口语句不能执行,因为仍然活跃在该窗口中输入操作。已关闭视窗语句必须包含在,或称为内,输入语句本身。
解决方案。审查程序逻辑,并修改它,这样的语句完成窗口关闭之前。

-1143
窗口已经打开。
说明。这个开放的窗口语句命名一个窗口已经打开。
解决方案。审查程序逻辑,并看看是否应该包含一个关闭窗口声明,或是否应该简单地使用当前窗口的语句带来的开放窗口顶端。

-1146
提示信息是太长,不适合在窗口。
说明。虽然结扎截断的消息和评论,以适应窗口尺寸的输出,它不这样做的提示和用户的响应。
解决方案。减少的提示字符串的长度,或使窗口变大。你可以带显示屏显示提示文本,然后用一个空格或冒号提示。

-1150
窗口是太小,无法显示此菜单。
说明。窗口必须是至少有两排高大的,它必须足够宽,以显示菜单标题,最长的选项名称,两三个点的椭圆,六个空格。修改程序,使窗口变大或给一个较短的名称和短选项菜单。
解决方案。查看打开窗口为当前窗口,在这个菜单表一起声明。

-1168
命令没有出现在菜单中。
说明。显示“选项,隐藏选项,或下一个选项语句不能引用不存在的一个选项(命令)。
解决方案。检查选项的名称的拼写。

-1170
你的终端类型是未知的系统。
说明。检查设置TERM环境变量和termcap或terminfo环境变量的设置。
解决方案。检查您的系统管理员,如果您需要帮助,这个动作。

-1202
有人企图除以零。
说明。零不能除数。
解决方案。检查除数不为零。在某些情况下,出现这个错误,因为除数是一个字符的值不正确转换为数字。

-1204
无效之日起一年。
说明。在一个DATE值或文字的一年,是无效的。例如,0000是不能接受的一年。
解决方案。检查一年的价值。

-1205
一个月中的日期无效。
说明。一个月在一个DATE值或文字必须是一或两位数字从1到12。
解决方案。检查月份值。

-1206
一天中的无效日期。
说明。在一个DATE值的天数或文字必须一或两位数字的号码从1到28(或在一个闰年29),30或31,根据上月,伴随着它。
解决方案。检查一天的价值。

-1212
日期转换格式必须包含一个月,一天,一年组件。
说明。当一个日期值之间的内部二进制格式和显示或输入格式转换,一个模式指示转换。当转换是自动完成的,该模式从环境变量DBDATE的。当它被用做一个明确的rfmtdate中,rdefmtdate(),或者使用函数调用,一个模式字符串作为参数传递。在任何情况下,模式字符串(消息格式)必须包括字母,显示的位置之日起的三个部分:2个或3个字母D; 2个或3个字母M;和2个或4个字母Y。
解决方案。检查模式字符串和的DBDATE值。

-1213
一个字符到数字的转换过程失败。
说明。一个字符值被转换为数字形式存储在一个数值列或变量。然而,字符串不能被解释为一个数字。
解决方案。检查字符串。它不能包含空格,数字,符号,小数或字母e以外的字符。验证零件按照正确的顺序。如果您正在使用免入息审查贷款计划,十进制字符或千位分隔符可能是错误的为您的区域设置。

-1214
值过大,以适应一个smallint。
说明。 SMALLINT数据类型可以接受的值范围从-32,767到+32,767的数字。
解决方案。来存储数字,超出这个范围,重新使用整数或小数类型的列或变量。

-1215
值过大,以适应在整数。
说明。一个值的范围从-2,147,483,647到+2,147,483,647 INTEGER数据类型可以接受的数字。
解决方案。检查的其他数据类型为DECIMAL。

-1218
字符串日期转换错误。
说明。数据值不正确的日期:要么它具有非数字预计数字,一个意想不到的分隔符,或数字,过大或不一致。
解决方案。检查被转换的值。

-1226
十进制或金钱的价值超过最大精度。
说明。数据值比变量的声明允许小数点左边有更多的数字。
解决方案。修改程序变量定义一个适当的精度。

-1260
这是不可能的指定类型之间的转换。
说明。数据转换没有意义,或不支持。
解决方案。你可能引用了错误的变量或列。检查您所指定的数据类型,你打算和数据值的文字表述是正确的格式。

-1261
在datetime或间隔的第一个字段的位数太多。
说明。一个DATETIME文字的第一个字段必须包含1或2位数字(如果不是一年)或者2个或4个数字(如果它是一年)。间隔文字的第一个字段表示一个单位的数量,最多可以有9位数字,取决于其限定在指定的精度。
解决方案。检讨DATETIME和区间文字,在此声明,并予以纠正。

-1262
datetime或间隔的非数字字符。
说明。一个DATETIME或间隔文字可以包含十进制数字和允许的分隔符:年,月,日数字之间的连字符,日和小时之间的空间,小时,分钟和秒之间的冒号;之间的第二次和小数点一小部分。任何其他字符,这些字符的顺序错误,产生错误。
解决方案。检查文字的价值。

-1263
领域中的一个datetime或间隔超出范围。
说明。在datetime或间隔领域至少有一个是不正确的。
解决方案。检查DATE,DATETIME和间隔在此声明文字。在一个DATE或DATETIME文字,今年可能是零,一个月可能有其他比1至12,或一天可能比本月1日至31或不适当的。此外,在一个DATETIME文字,可能比0到23小时,分钟或第二可能是0到59以外,或分数可能有太多的数字为指定的精度。

-1264
在datetime或间隔年底额外的字符。
说明。只有空间可以遵循一个DATETIME或间隔文字。
解决方案。检查本声明丢失或不正确的标点符号。

-1267
一个DateTime计算的结果是超出范围。
说明。在这份声明中,一个DATETIME计算产生了不能储值。这种情况可能发生,例如,如果一个大的时间间隔被添加到一个DATETIME值。此错误也可能发生,由此产生的日期,如果不存在,例如,1999年2月29日。
解决方案。审查在声明中表达,看看你能不能改变操作顺序,以避免溢出。

-1268
无效的datetime或间隔限定符。
说明。本声明包含一个DATETIME或间隔预选赛,这是不能接受的。这些限定符可以包含仅一年的话,月,日,小时,分钟,秒,分数,和TO。括号内的数字,从1到5可以按照分数。
解决方案。检查失踪标点和拼写错误的单词的声明。一个常见的??错误是增加一个s,在几分钟内。

-1301
这个值是不属于有效的可能性。
说明。此列形式规范文件已成立一个列表或可接受值的范围。
解决方案。您必须输入一个可接受的范围之内的价值。

-1302
两个项目并不相同 - 请再试一次。
说明。为了防止印刷错误,这一领域已被指定验证形式的规范文件。两次,相同的,你必须进入这一领域中的价值。
解决方案。仔细重新输入数据。另外,你可以取消中断键的形式进入。

-1303
你不能使用此图片编辑功能,因为存在。
说明。此字段中定义的形式规范文件与图片属性来指定其格式。
解决方案。您不能使用某些编辑键(例如,Ctrl-A,CTRL - D和CTRL-X)当你正在编辑这样一个领域。使用可打印字符和退格输入值。

-1304
在该领域的错误。
说明。你进入了一个在这个领域的价值,不能存储程序中的变量是接收。
解决方案。也许你进入了一个十进制数时,应用程序只提供了一个整型变量,或你输入一个字符串,不再是比预期的应用程序。

-1305
这个领域需要输入的值。
说明。光标在表单字段已指定要求。
解决方案。你必须输入一些值之前,光标可以移动到另一个领域。进入一个空值,键入任何可打印的字符,然后退格。另外,你可以取消中断键的形式进入。

-1306
请输入再次核查。
说明。光标是在已指定验证表单字段。此过程有助于确保没有印刷错误,数据录入过程中发生的。
解决方案。您必须输入两次,相同的价值之前,光标可以移动到另一个领域。另外,你可以取消中断键的形式进入。

-1307
不能插入另一行 - 输入数组是充分的。
说明。您正在进入一个记录,在节目中表示一个程序变量的静态数组阵列数据。该阵列是现在全没有地方可以储存另一个纪录。
解决方案。按下接受键来处理,你已经进入记录。

-1309
有没有更多的行,在你要去的方向。
说明。您正试图滚动记录的数组相比,它可以去更远,无论是在数组底部顶部或向下滚动滚动。进一步的尝试,将有相同的结果。

-1312
构成语句的错误号%d。
说明。的形式在运行时发生错误。
解决方案。编辑你的源文件:到指定的行,纠正错误,并重新编译的文件。

-1313
SQL语句的错误号%d。
说明。当前的SQL语句返回这个错误代码。

-1314
程序停止在“文件名”,行号行号。
说明。在运行时发生错误,在指定的文件,在指定的行。 err文件生成。
解决方案。编辑源文件,到指定的行,纠正错误,并重新编译该文件。

-1318
发生之间的调用函数和被调用函数的参数计数不匹??配。
说明。过多或过少的参数在函数调用。
解决方案。可能是从所谓的功能在不同的源模块调用。检查函数的定义,并检查所有的地方,在那里它被称为以确保他们使用的参数,它宣称。

-1320
函数没有返回正确的预期值。
说明。一个函数,返回几个变量还没有回到正确数量的参数。
解决方案。检查你的源代码并重新编译。

-1321
验证命令的结果作为验证错误发生。
说明。验证LIKE语句测试在存储的syscolval表的规则对变量的当前值。它已检测到不匹配。
解决方案。通常,该计划将使用WHENEVER语句来捕获这个错误,并显示或纠正错误的价值观。检查验证语句,看看哪些变量被测试,并找出他们为什么错。

-1322
报表输出文件无法打开。
说明。 TO语句的报告指明不能打开文件。
解决方案。检查您的帐户有写权限,这样的文件,该磁盘是不完整的,并没有超出一些打开的文件数的限制。

-1323
报表输出管道无法打开。
说明。管,管账的报告指定不能启动。
解决方案。检查所有被它命名的方案存在,并且是从你的执行路径访问。也要看操作系统的消息,可能会更具体的错误。

-1324
报表输出文件不能被写入。
说明。 TO语句的报告指定打开的文件,但出现了错误而写的。
解决方案。可能是磁盘已满。寻找操作系统的消息可能提供更多的信息。

-1326
数组变量已被引用其指定的维度之外。
说明。数组下标表达式产生一个数字,要么小于1或大于数组中的元素的数量。
解决方案。审查程序逻辑,导致了这一说法,以确定如何作出错误。

-1327
insert语句不能插入行的报告中使用临时表的编制。
说明。内的报告功能,结扎生成SQL语句保存到一个临时表中的行。动态语句的准备(见PREPARE语句的参考材料),产生一个错误。
解决方案。可能是数据库中的表没有定义现在,在执行时,因为他们的程序被编译时。无论是数据库已被更改,或者比这是目前在编译过程中的一个程序已经选择了一个不同的数据库。数据库管理员可能已撤销的一个或多个表报告使用你的SELECT权限。寻找其他错误消息,可能会透露更多的细节。

-1328
一份报告所需不能创建一个临时表中选定的数据库。
说明。结扎内报告的定义,产生一个SQL语句保存到一个临时表中的行,但不能创建临时表。
解决方案。你必须在选定的数据库中创建表的权限,必须有足够的磁盘空间留在数据库中。您可能已经有相同的名称作为该报告的定义,试图创建一个排序表临时表在当前数据库中的表,排序表被命名为“t_reportname”。一些数据库服务器的另一个可能的原因是,你已经超过了打开文件的操作系统的限制。

-1329
数据库索引不能创建一个临时数据库表的一份报告所需。
说明。在报告定义,结扎生成的SQL语句保存到一个临时表中的行。然而,索引无法创建临时表。
解决方案。可能已经存在一个具有相同名称的索引数据库中。 (排序索引名为“??i_reportname”,例如,“i_order_rpt”)可能没有磁盘空间是在文件系统或dbspace。一些数据库服务器的另一个可能性是,你已经超过了打开文件的操作系统的限制。

-1330
行不能插入到一个临时报告表。
说明。结扎内的报表定义,生成的SQL语句保存到一个临时表中的行。然而,发生错误而行被插入。
解决方案。可能没有磁盘空间保留在数据库中。寻找其他错误消息,可能会透露更多的细节。

-1331
行不能从临时报告表牵强。
说明。在报告定义,结扎生成的SQL语句选择一个临时表中的行。建表成功,但现在出现了错误而行被检索。
解决方案。几乎是唯一可能的原因是硬件故障或数据库服务器中的错误。检查操作系统的消息,可能会透露更多的细节。

-1332
字符变量引用标范围。
说明。在当前语句,使用一个字符值的子字符串变量包含了不到一个或数大于变量的大小,或第一个子表达式是大于第二。
解决方案。审查的程序逻辑,导致了这一说法找到错误的原因。

-1335
的一份报告,接受输出或正在完成之前,它已经开始。
说明。该计划执行的输出报告或完成报告的声明之前,它执行一个START报告。
解决方案。审查的程序逻辑,导致了这一说法找到错误的原因。

-1337
与不同类型或长度已经被重新定义的变量的变量名。
说明。所显示的变量是指在两个或两个以上的模块GLOBALS部分,但它比其他一些不同的模块定义。
解决方案。模块可能被编译在不同的时间,与一些共同GLOBALS文件之间的变化。可能在一些模块的模块,不包括对Globals文件变量被声明为变量。

-1338
函数的函数名'没有被定义在程序中的任何模块。
说明。命名的函数被称为至少有一个程序模块,但它没有定义。
解决方案。验证包含的功能模块,是该计划的一部分,该函数的名称拼写正确。

-1340
尚未启动的错误日志。
说明。程序称为不先调用startlog的()函数的错误日志()函数。
解决方案。审查程序逻辑找出此错误的原因。

-1353
使用'!'编辑文本和字节领域。
这是一个错误的上下文之外使用一个正常的消息文本。

-1355
不能建立临时文件。
说明。一个TEXT或BYTE变量已设在一个临时文件使用在LOCATE语句。当前语句分配到该变量的值,所以结扎试图创建的临时文件,但发生了错误。
解决方案。可能没有磁盘的可用空间,或您的帐户没有权限创建一个临时文件。寻找操作系统的错误消息可能提供更多的信息。

-1359
读取BLOB文件的文件名“的错误。
说明。操作系统的信号在输出一个错误,在一个TEXT或BYTE变量被保存到一个临时文件。
解决方案。可能是磁盘已满,或硬件发生故障。有关更多信息,寻找操作系统的消息。

-1360
没有这一领域的方案=子句。
说明。任何外部的程序已被指定为这一领域使用的形式规范文件的程序属性(对于文本用户接口模式只有ASCII终端)

-1373
该领域的字段名“,是不是在建造/ INPUT语句中的字段列表。
说明。曾被称为内置功能get_fldbuf()或field_touched()与字段名称显示。然而,这一领域的投入并没有要求在此兴建或INPUT语句。因此,该函数不能返回任何有用的价值。
解决方案。审查所有这些功能的用途,并在声明的开头,他们比较的字段列表。

-1374
SQL字符截断或交易的警告。
说明。该计划时设置警告停止,并警告情况出现。如果涉及的声明是一个DATABASE语句,条件是,在刚刚打开的数据库使用事务日志。在任何其他声明,条件是从数据库中的字符值已被截断,以适应其目的地。

-1375
SQL NULL值总额或模式的ANSI数据库警告。
说明。该计划时设置警告停止,并警告情况出现。如果所涉及的声明是一个DATABASE语句,条件是,在刚刚打开的数据库是ANSI兼容。在任何其他声明,条件是一个空值已用于计算的总值。

-1376
SQL,数据库服务器,或程序变量不匹配的警告。
说明。该计划时设置警告停止,并警告情况出现。如果所涉及的语句是数据库或CREATE DATABASE语句,条件是该数据库服务器打开数据库。在任何其他声明,条件是一个SELECT语句返回多个值比有程序变量包含他们。

-1377
SQL浮到十进制的转换警告。
说明。该计划时设置警告停止,并警告情况出现。条件是,在刚刚打开的数据库中,数据库服务器将使用DECIMAL数据类型为FLOAT值。

-1378
SQL非ANSI扩展警告。
说明。执行数据库操作是不是ANSI SQL中的一部分,虽然当前数据库是ANSI兼容。此消息仅供参考。

-1396
一个报表打印文件源文件不能打开阅读。
说明。在打印文件语句命名的文件不能被打开。
解决方案。审查的文件名称。如果不是在当前目录中,您必须指定完整的路径。如果该文件存在,请确保您的帐户有读取权??限。

-2017
字符数据值不正确转换的字段类型。
说明。你已经进入一个领域,具有不同的数据类型(例如整数)一个字符值(带引号的字符串)。然而,您输入的字符不能被转换的字段类型。
解决方案。重新输入数据。

-2024
已经有创纪录的纪录名“中指定。
说明。一个屏幕记录将被自动定义为每个属性部分用来定义一个字段的表。如果你定义一个表的名字与一个记录,它被看作是一式两份。
解决方案。检查记录每一个屏幕记录和屏幕阵列名称是唯一的形式规范。

-2028
'名称'的象征,并不代表在这种形式中使用的表前缀。
说明。在一个屏幕记录语句,每个组件必须引入表中的部分或字FORMONLY定义的表的名称。
解决方案。审查对指定的表款名称的拼写,并检查其余的语句的标点符号。

-2029
屏幕记录数组'记录名'有不同的元件尺寸。
说明。屏幕记录数组名有分量大小的不同于数组指定维度或不同的自己。当一个或多个列出现了不同的时代,出现此错误消息。
解决方案。方括号,按照它的名字写在屏幕数组的维数。验证屏幕阵列的尺寸相匹配的屏幕领域。

-2039
的属性AUTONEXT,默认情况下,INCLUDE,验证,权利和ZEROFILL的不支持BLOB字段。
说明。指定的数据类型的列不能使用这些属性暗示的方式。
解决方案。检查表名和列名,是为你打算,并验证DATABASE语句的名称在数据库中的表的当前定义。

-2041
表单的表单名称'不能打开。
说明。无法打开表单文件名。这可能是因为它不存在,或用户不具有读取权限。
解决方案。检查文件名的拼写。检查的形式文件在当前目录中存在。如果它是在另一个目录中,检查,已经提供了正确的路径。在UNIX系统上,如果这些东西是正确的,请验证您的帐户已读文件的权限。

-2045
有条件的属性字段可以不依赖于其他领域的价值。
说明。在WHERE子句的颜色属性的布尔表达式只能使用该字段和常量的名称。
解决方案。修改此属性,并重新编译的形式。

-2100
字段的字段名“验证错误字符串,字符串=字符串。
说明。在syscolval或syscolatt表中存储的字符串的格式或验证不正确编码。所示是它适用于哪些领域的字符串。
解决方案。更新表中的字符串。

-2810
名称“数据库名称”不是一个现有数据库的名称。
说明。 DATABASE语句的形式规范开始发现,这个名字,是不是可以找到数据库。
解决方案。检查数据库名称的拼写和在fglprofile文件的数据库条目。

-2820
括号之间的标签名称不正确或标签丢失。
说明。括号的形式规范的布局部分,应包含一个简单的名称。相反,它们包含空格或一个无效的名字。
解决方案。检查无效形式的项目标签的形式布局。

-2830
一个左方括号已发现这一行,没有与之相匹配的右括号。
说明。每一个左括号的字段分隔符必须在同一行上右括号分隔符。
解决方案。表单定义文件审查,以确保所有的领域都适当的标记。

-2840
没有定义字段标签“标签名称”的形式。
说明。指定的名称出现在这个属性语句的左侧,但它不会出现在屏幕部分括号内。
解决方案。检阅场已定义的标签,看到这个被省略的原因。

-2843
列的列名'没有出现在形式规范。
说明。此属性声明的名称应该已经在先前定义的形式规范。
解决方案。检查在声明中的所有名称的拼写是否正确,并正确定义。

-2846
该字段的字段名'是不是表'表名'的成员。
说明。在这个声明中的一些建议,显示的名称是本表中的一部分,但在当前数据库中,这不是真正的。
解决方案。查看这两个名字的拼写。如果他们是为你打算,检查了正确的数据库中使用表尚未改变。

-2859
列列名'然后一个表的一员 - 你必须指定表名。
说明。有两个或两个以上的表款命名表中显示的名称列。
解决方案。你必须清楚你的意思是哪个表。要做到这一点,写表名,列名的前缀为??TABLE.COLUMN这个名字,无论在形式规范使用。

-2860
有一个列/值'列名'类型不匹配。
说明。此语句将一个字段的值或DEFAULT子句INCLUDE子句中使用其价值,但它这样做,不同意的字段的数据类型的数据。
解决方案。审查的字段的数据类型(从与它相关联的列),并确保只有兼容值分配。

-2862
表'表名'不能在数据库中找到。
说明。指定的表中不存在的形式命名数据库。
解决方案。检查表的名称和数据库名称的拼写。如果他们是为你打算,要么你不使用你的数据库的版本,或已更改的数据库。

-2863
列的列名指定表之间不存在。
说明。指定的表,在表款的形式存在,但列名,这是在属性部分名为不。
解决方案。检查其对实际的表的拼写。可能是表被修改,更名或列。

-2864
表'表名'不指定表中。
说明。本声明中指定的表,但没有定义在表款的形式规范。
解决方案。检查其拼写;如果它是为你打算,添加表中的表款。

-2865
列的列名'表'表名'不存在。
说明。在这个声明中的东西意味着该列显示指示表(最有可能的声明是指以表name.column)的一部分。然而,它没有定义该表中。
解决方案。检查这两个名字的拼写。如果他们是为你打算,然后检查数据库中的内容可能已经改变表或列改名。

-2892
列列名'出现超过一次。如果你想以重复的列在一个表格中,使用相同的显示字段标签。
说明。同一列的名称列在属性部分超过一次。
解决方案。预期的方式来显示同一列在两个或两个以上的地方是把两个或两个以上领域的屏幕布局,每个具有相同的标签名称。然后将一个单一属性部分语句关联的列名,标签名。当前列的值将被复制在各个领域。如果你打算以显示不同的列,碰巧有相同的列名,每列有其表名前缀。

-2893
显示字段标签“标签名称”不止一次出现在这种形式下,但长度不同。
说明。在屏幕布局(将显示在同一列),你可以把一个领域的多个副本,但所有副本必须是相同的长度。
解决方案。检查的形式定义,以确保,如果你想有一个领域的多个副本,所有副本都是一样的。

-2975
显示字段标签“标签名称”并没有被使用。
说明。字段标记已宣布在条屏的形式规范文件,但不是在属性部分定义。
解决方案。检查您的形式规范文件。

-2992
显示标签“标签名称”已被使用。
说明。形式编译表示,这个名字已经被定义了两次。这些名称必须定义唯一的形式规范。
解决方案。查看所有用途的名称看,如果其中一人是不正确的。

-2997
看到错误编号%d。
说明。数据库服务器返回一个错误显示。
解决方案。查找数据库服务器中的文件显示错误。

-4307
显示列表中的变量和/或常数不匹配的表单字段中显示目的地。
说明。必须正好有值列表中的许多项目显示,有上市后,在此语句关键字的字段。
解决方案。检讨语句。

-4308
输入变量的数目不匹配在屏幕上输入列表的表单域。
说明。您输入的语句必须指定相同数量的变量,因为它领域。
解决方案。检查时,请记住,当你使用一个星号或通指创纪录的,它是作为单独列出每个记录组件相同。

-4309
印刷不能做一个循环或在报告标题或拖车中的CASE语句。
说明。结扎需??要知道如何多行的空间将致力于页头和拖车;否则,它不知道有多少细节行允许在页面上。因为它不能预测一个循环将被执行了多少次,或分支的情况下将被执行,它在这些情况下禁止使用内打印第一页的页眉,页眉和页拖车部分。
解决方案。重新安排放置PRINT语句,它将始终被执行的代码。

-4319
'名称'的符号已被定义一次以上。
说明。在这之前至少有一个其他定义语句所显示的变量出现。
解决方案。检查你的代码。如果这个定义在函数或主要部分是,前一个是也。如果这个定义之外的任何功能,也是前一个以外的任何功能,但是,它可能是对Globals声明中包含的文件内。

-4320
符号'name'是不指定数据库中的表的名称。
说明。命名表不会出现在数据库中。
解决方案。检讨语句。表名,可在程序中拼写错误,或表可能已被删除或改名自上次编译程序。

-4322
符号'name'是不是在指定的数据库列的名称。
说明。上述声明表明,命名列是指定数据库中的某个表的一部分。表中存在,但它不会出现在列。
解决方案。检查列名的拼写。如果它被拼写为你打算,然后表已更改,或列改名,或者你无法访问您所预期的数据库。

-4323
变量的变量名'是太复杂了,要在赋值语句中使用的类型。
说明。命名的变量是一个复杂的变量,像一个记录或一个数组,不能在let语句使用。
解决方案。您必须指定组件组团体使用星号符号组成部分。

-4324
变量的变量名'是不是一个字符类型,不能使用包含串联的结果。
说明。这条语句试图连接两个或两个以上的字符串连接运算符(使用逗号)命名的变量分配的结果。不幸的是,它不是一个字符变量,字符自动转换,在这种情况下,不能执行。
解决方案。串联字符串分配一个字符变量,然后,如果你想治疗结果为数字,指定的字符串作为一个整体数字变量。

-4325
在此记录赋值语句的源和目的地的记录是不兼容的类型和/或长度。
说明。这条语句使用星号符号分配一个记录所有组件到另一个相应的组件。然而,组件不符合。请注意,结扎严格匹配的位置记录组件,首先要第一,第二至第二,等等,这不符合他们的名字。
解决方案。如果源和目标记录不具有相同的数量和类型的组件,你将不得不为每个组件写一个简单的赋值语句。

-4333
已经与不同数量的参数调用函数的函数名'。
说明。早在节目中,有此功能相同或不同数量的参数在参数列表中的事件是一个呼叫。至少有一个这些调用必须是错误的。
解决方案。检查命名函数的功能表中找到了正确数量的参数。然后检查所有调用它,并确保它们被正确写入。

-4334
在其目前的形式变量的变量名'是过于复杂,在此声明。
说明。变量有太多的组成部分。可以用来在这个声明中只简单变量(那些有一个单一的组成部分)。
解决方案。如果变量名是一个数组,你必须提供一个选择只有一个元素的下标。如果它是一个记录,你必须选择只是它的组件之一。 (但是,如果这个语句允许一个变量列表,在初始化语句,您可以使用星号或直通符号的转换成一个组件的列表了创纪录的名称)

-4336
参数'的param-name'尚未定义在函数或报告。
说明。名称的变量的名字出现在这个函数的功能表中的参数列表。然而,它不会出现在定义语句在函数内。所有参数都必须定义在他们之前的使用功能。
解决方案。检查你的代码。可能你写了一个定义语句,但没有说明变量的名称相同的方式在两地。

-4338
已定义的符号的名字“曾经作为一个参数。
说明。所显示的名称出现在参数列表的功能表中至少有两个定义在函数体内的语句。
解决方案。检查你的代码。只允许在定义语句的外观。

-4340
变量的变量名'是太复杂了,要在表达式中使用的类型。
说明。在一个表达式中,只有简单的变量(那些有一个单一的组件)都可以使用。
解决方案。表示如果变量是一个数组,你必须提供一个选择只有一个元素的下标。如果它是一个记录或对象,你必须选择只是它的组件之一。

-4343
不能下标变量的变量名'。
说明。您尝试使用[X,Y]标表达既不是一个字符数据类型或数组类型的变量。
解决方案。检查变量的数据类型,并确保可以使用下标表达式。

-4347
变量的变量名'是不是一个纪录。它不能引用记录的元素。
说明。在此声明的变量名字出现一个点之后,由另一名。这是你会提到一个记录变量的一个组成部分;然而,变量名是没有定义作为一个记录。
解决方案。要么你写了错误的变量的名称,或其他变量的名称没有被定义的方式,你打算。

-4363
报告不能跳过,而在页眉或拖车内的循环线。
说明。结扎需??要知道如何多行的空间,将致力于在页头和拖车(否则它不知道多少详细信息行,以便在页面上)。无法预测多少次循环会被执行,所以它有禁止使用的跳过循环中的报表页眉,页面拖车,和第一页的页眉部分。
解决方案。检讨报告标题或拖车,以避免在循环中跳过。

-4369
'名称'的象征,并不代表定义的变量。
说明。显示的名称出现在变量所预期的,但它并不适用于这方面的任何一个定义语句的变量名匹配。
解决方案。检查名称的拼写。如果是想要的名称,回头看看,并找出为何它尚未被定义。可能对Globals声明已被省略从这个源模块,或一个不正确的文件命名。此代码可能已被复制到另一个模块或其他功能,但也不会复制定义语句。

-4371
游标必须是唯一的一个程序模块内宣布。
说明。在声明中宣布游标名称的游标,游标名称标识符可用于只有一个源文件中声明的声明。这是真实的,即使DECLARE语句出现在函数内部。虽然程序变量的定义语句是本地的功能,光标在函数仍是全球整个模块
解决方案。寻找重复的游标名称和名称更改为唯一标识符。

-4372
光标光标名'尚未宣布这一计划。
说明。显示的名字出现在声明的游标的名称或一份声明中预计,然而,没有该名称的光标(或声明)已宣布(或准备)到这点在该方案。
解决方案。检查名称的拼写。如果它是你的名字的打算,看在程序回头看,为什么它没有被宣布。 DECLARE语句可能出现在GLOBALS文件没有被列入。

-4374
在菜单表,只能用这种类型的声明。
说明。本声明只在一个菜单表中的意义。
解决方案。检讨在这附近的程序,看看是否已结束菜单语句错位。如果你打算成立之前显示菜单的外观,菜单的范围内使用一个BEFORE菜单块。

-4379
无法打开输入文件'文件名'。
说明。无论是文件不存在,或者,在UNIX上,您的帐户没有权限读取它。
解决方案。可能的文件名拼写错误,或错误导致文件被指定的目录路径。

-4380
上市文件'文件名'不能创建。
说明。不能创建文件。
解决方案。检查,指定正确的目录路径,导致文件,在UNIX系统上,您的帐户有权限在该目录中创建一个文件。从操作系统看,更明确的,错误消息。可能是磁盘已满,或您已达到一个打开的文件数的限制。

-4383
元素的名称1'和'name-2“不属于相同的记录。
说明。这两个名称中使用一个记录的两个组成部分是必需的;然而,他们是不相同的记录的组成部分。
解决方案。检查这两个名字的拼写。如果他们被拼写为你打算,回去记录的定义和它为什么不包括两个组件字段名称。

-4402
这种类型的声明中,下标可能只适用于阵列。
说明。语句包含方括号的名称,但这个名字是不是一个数组变量。
解决方案。检查语句的标点符号和所有名称的拼写。名称是下标必须是阵列。如果你打算使用一个字符子串,在此声明,您将不得不修改程序。

-4403
尺寸为变量的变量名'的数量不匹配的标数。
说明。在这份声明中,其名称所示的阵列是由不同尺寸的数量比它被定义为下标。
解决方案。检查标点符号的标。如果它是为你打算,然后审查define语句定义变量名称。

-4414
已使用的标签的标签名称,但从未在上述主要程序或函数定义。
说明。一条GOTO或WHENEVER语句是指在标签上显示,但在当前功能或主要程序有没有相应的标签语句。
解决方案。检查拼写标签。如果它是为你打算,查找和检查应该定义它的标签语句。您不能转出与GOTO程序块的;标签必须在他们使用相同的函数体中定义。

-4415
一个ORDER BY或GROUP在一份报告中指定的项目必须是报表参数之一。
说明。在ORDER BY使用后,或语句组前组的名字,也必须出现在该报告声明的参数列表。这是不可能的一个全局变量或其他表达式的基础上的命令或组。
解决方案。在声明中的名字拼写检查和比较他们的报告陈述。

-4416
验证字符串中有一个错误:“字符串”。
说明。在验证的syscolval表字符串是不正确的。
解决方案。改变相应的默认或价值包括在syscolval表。

-4417
这种类型的声明仅可用于在一份报告中。
说明。如打印,跳过,或需要的语句是有意义的,只有身体内的报告功能,那里是一个隐式的报告,列出接收输出。
解决方案。删除从代码的报告没有具体说明这是在一份报告中体。

-4418
在输入数组或显示阵列的声明中使用的变量必须是一个数组。
说明。字显示阵列或输入数组的名称必须是一个数组,记录。
解决方案。检查名称的拼写。如果你打算寻找和检查定义语句明白为什么它不是一个数组。 (如果你想显示或输入一个简单的变量或一个数组的单个元素,使用的显示或输入语句。)

-4420
在印刷的线,如果一个头或拖车条款的IF-THEN-ELSE语句的一部分,必须等于ELSE部分印刷线数的数量。
说明。结扎需??要知道多少行头和尾节将在充满(否则它可能不知道许多细节行如何把页面上的)。因为它不能告诉IF语句将被执??行的一个组成部分,它要求双方产生相同数量的输出线。
解决方案。在每块IF语句使用PRINT语句中出现的相同数量。

-4440
的字段的字段名-1“之前,字段名2”中记录记录名称,还必须先通过速记与使用时。
说明。通过直通速记需要你给的起始和结束领域,因为他们在记录中出现的物理顺序。
解决方案。检查名称的拼写,如果他们是为你打算,然后参考的变量声明,该纪录是在那里定义见他们为什么不是你预期的序列。

-4447
“键名'是不认可的关键值。
说明。在ON KEY子句中使用的键名不知道编译器。
解决方案。搜寻可能的键名(F1-F255,控制?)的文件。

-4448
无法打开进行读取或写入该文件的文件名'。
说明。该文件不能被打开。
解决方案。确认文件名拼写正确,您的帐户有权限读取或写入它。

-4452
已定义的函数(或报告)'名称'。
说明。每个函数(或报告,这是一个功能类似),必须有一个程序内唯一的名称。
解决方案。改变功能或报告名称。

-4463
下一个字段的语句只能用在输入或结构语句。
说明。下一个字段语句用于外部输入,输入数组或结构语句。
解决方案。删除部分代码,下一个字段声明。

-4464
列数必须符合在UPDATE语句的SET子句的值。
说明。在一个UPDATE语句中,使用的值的数目不匹配的列数。
解决方案。检查表的定义,然后添加或删除值或列的UPDATE语句。

-4476
纪录的成员,不得用于与数据库中的列的子串。
说明。本声明的形式参考name1.name2 [...]。这是你会以何种形式,是指一子一列:TABLE.COLUMN [...]。然而,名字是不是数据库中的表和列,所以结扎假定他们指到了创纪录的领域。
解决方案。检查的声明和决定的目的是什么:以一列或达到创纪录的参考。如果它是一个列引用,验证数据库中的表和列的名字。如果它是一个记录参考,验证,记录和组件正确定义。

-4477
变量的变量名'是一个数组。您必须指定在此声明它的元素之一。
说明。您尝试使用一个数组没有在SQL语句中的元素规范。
解决方案。使用数组的成员之一。

-4488
该程序无法继续或退出语句型,在这一点上,因为它不是立即在语句类型声明。
说明。这种情况继续下去或EXIT语句是在其上下文中不恰当的。
解决方案。检查你的代码。可能是错误的声明,或指定了不正确的声明类型。

-4490
你不能有多个前在同一领域的条款。
说明。你不能指定多个前场同场第。
解决方案。检查你的代码,以消除多个前场条款。

-4491
同一领域的条款后,你不能有多个。
说明。你不能指定一个以上的条款同场后场。
解决方案。检查你的代码,以消除多个后场条款。

-4631
DATETIME或间隔限定符startfield在比其endfield的名单必须提前到来。
说明。限定为一个DATETIME或间隔,由开始到结束,从这个名单中选择的开始和结束的:年月日小时分钟秒的小数。
开始字段的关键字必须在列表中来得更早比,或者是相同,高端领域的关键字。
解决方案。检查为了的startfield和endfield预选赛。例如,日分数和每月的预选赛是有效的,但分钟到小时,是不是。

-4632
括号内的分数精度必须是1到5之间。没有精度可以指定其他的时间单位。
说明。在一个DATETIME预选赛,只有小部分领域可能有一个括号中的精度,它必须是一个单一的数字,从1到5。
解决方案。检查当前语句的DATETIME预选赛,其中一人违反这些规则。的间隔预选赛第一场,也可能有括号的精度从1到5。

-4652
函数的函数名称“只能用于在一个输入或结构语句。
说明。所示的功能正在使用的输入或结构语句之外。然而,它返回一个结果,这是唯一有意义的输入或兴建中。
解决方案。检查代码以确保端输入或END结构语句尚未错位。审查操作和使用,以确保你了解它的功能。

-4653
不超过一个BEFORE或AFTER INPUT /构造条款可以出现在一个输入/构造语句。
说明。有可能只有一个语句块前初始化这些语句类型。
解决方案。确保所有的输入范围,建设和菜单陈述是正确标记结尾语句。然后结合编制代码块前所有为每一个到一个单一的。

-4656
取消的INSERT只能用于前一个输入数组语句的INSERT子句。
说明。取消INSERT语句被用来以外的INSERT输入数组前的条款。
解决方案。检查代码以确保取消的INSERT还没有被使用除了INSERT子句前的任何地方。

-4657
取消删除,只能用在一个输入数组声明之前DELETE子句。
说明。取消删除语句正在使用外,在删除前一个输入数组第。
解决方案。检查代码以确保取消删除没有被使用,除非在之前DELETE子句的任何地方。

-4900
这里不支持此语法。使用[screenrecordname] screenfieldname。
说明。中前场或后场的字段名称规范是无效的。
解决方案。检查字段的名称和使用[screenrecordname。] screenfieldname语法。

-4901
致命的内部错误:%s(%d)中。
说明。此错误发生在一个前场或后场的声明中使用时,不正确的字段名称。
解决方案。检查字段名中前场或后场条款存在。

-6001
许可证管理守护进程无法启动。
说明。当一个进程创建过程中启动许可证管理的失败,发生此错误。
解决方案。增加允许的最大进程数(的ulimit)

-6015
不能获得许可证的信息。检查您的环境许可证(运行“fglWrt一个信息”)。
说明。这是不可能的应用程序,以检查许可证的有效期。
解决方案。
许可证管理:
可能尚未安装许可证
许可证控制器无法沟通与许可证管理。检查许可证管理器启动和检查的fglprofile的条目flm.server和flm.service,包含有效信息。
FLMDIR美元/锁目录下面的所有文件必须具有读/写权限。
许可证控制器:
可能尚未安装许可证。
FGLDIR美元/锁目录下面的所有文件必须具有读/写权限。

-6016
不能获得许可证信息(错误%s)。检查您的环境许可证(运行“fglWrt一个信息”)。
说明。应用程序是无法检查许可证的有效期。
解决方案。见误差-6015。

-6017
超出用户限制。不能运行这个程序。
说明。许可证所允许的最大用户数已达到。程序不能启动。
解决方案。您的经销商联系。

-6018
不能访问内部数据文件。无法继续这一计划。请检查您的环境(%)。
说明。当客户端计算机启动一个服务器上的应用程序,应用程序美元FGLDIR / lock目录中存储的数据。客户端必须在此目录中创建和删除文件的权限。
解决方案。
不要删除或修改目录中的文件$ FGLDIR /锁
改变美元FGLDIR / lockdirectory的权限,或连接到服务器有正确的权限与用户名称。

-6019
这个演示版本只允许一个用户。
说明。演示版的设计,只有一个用户运行。另一个用户或其他图形的守护,是目前活跃。
解决方案。等待,直到用户停止当前程序,或使用相同的图形守护。

-6020
安装:无法打开“文件名”。
说明。一个文件丢失或没有设置为当前用户的权限。
解决方案。检查文件权限的用户试图执行的应用是正确的。如果缺少该文件,重新安装编译包。

-6022
示威的时间已经过期。请再次运行这个程序。
说明。运行演示版是只有几分钟的有效后,你已经开始了一个计划。
解决方案。重新启动该程序。

-6023
C代码生成是不允许的示范项目。
说明。四J的商业开发语言,可以在P码和C代码编译(仅适用于UNIX版本)。但与示范版本,C代码编译不可用。
解决方案。 P代码编译你的程序。

-6025
示威的时间已经过期。请联系您的供应商。
说明。四J的商业开发语言的示范版本有30天的时间限制。
解决方案。重新安装一个新的演示版本,或致电您的四J的商业开发语言供应商。

-6026
亚军示范坏链接。请重试或重建您亚军。
说明。亚军被损坏。

-6027
无法访问许可证服务器。请检查以下内容:

  • 在你的资源文件的许可证服务器的条目。 (服务端口)
  • 许可证服务器主机。
  • 许可证服务器程序。
    说明。您还没有指定环境变量的值[fgllic | FLS FLM FGLDIR美元/ etc / fglprofile中的文件服务器。
    解决方案。检查为切入点fgllic | FLS | FLM fglprofile文件。服务器和指定的计算机上运行四J的商业开发语言许可管理的名称。

-6029
未知参数的“参数”进行检查。
说明。命令行的工具fglWrt或flmprg的包含未知参数。
解决方案。检查你的命令行参数和重试该命令。

-6031
临时牌照牌照号码已过期。
说明。您的临时运行许可证已过期。
解决方案。呼叫您的四J的商业开发语言的分销商,以获得新的许可证。

-6032
%S:非法选项:'%c'的。
说明。你使用的不是一个有效的选项。
解决方案。检查你的命令行,并再次尝试该命令。

-6033
%s的:'%c'的选项需要一个参数。
说明。你不能使用不带参数的选项的fglWrt工具。
解决方案。检查你的命令行,并再次尝试该命令。

-6034
警告!这是一个临时牌照,安装“安装数量。
说明。您已经安装了30天的临时牌照。你将不得不进入这一时期结束前安装的关键,如果你想继续运行程序。
解决方案。这仅仅是一个警告消息。

-6035
无法读取目录中
说明。编译器不能访问$ FGLDIR /锁定目录。当前用户必须在这个目录的读写权限。
解决方案。给当前用户的读写权限美元FGLDIR /锁目录。

-6041
不能检索网络接口信息。
说明。检索网络接口信息时发生错误。
解决方案。重新启动你的程序。如果这不能解决您的问题,请联系您的经销商。

-6042
MAC地址发生了变化。
说明。的主机的MAC地址已经改变,因为是第一次安装许可证。
解决方案。许可证必须重新安装或恢复旧的MAC地址。

-6043
测试期间完成。你必须安装一个新的许可证。
说明。四J的商业开发语言测试时间的许可证已过期。
解决方案。呼叫您的四J的商业开发语言经销商购买新的许可证。

-6044
IP地址已更改。
说明。主机的IP地址发生了变化。
解决方案。恢复主机的IP地址,或重新安装许可证。
这已不再检查许可证控制器的最新版本。

-6045
主机名称已更改。
说明。主机名称已更改。
解决方案。恢复的主机名称或重新安装许可证。
这已不再检查许可证控制器的最新版本。

-6046
无法获得档案编号信息。
说明。许可证不能获得有关许可文件的信息。
解决方案。重新安装许可证。您的经销商联系。

-6047
许可证文件的设备号已经改变了。
说明。许可文件已被感动了。许可证不再有效。
解决方案。重新安装许可证。您的经销商联系。

-6048
许可证文件的档案编号已经改变。
说明。许可文件已被感动了。许可证不再有效。
解决方案。重新安装许可证。您的经销商联系。

-6049
此产品只运行许可。没有编制是允许的。
说明。你有一个与此包安装运行许可证。你不能编译这个许可证结扎源代码模块。
解决方案。如果你想编译4GL源代码,你必须购买和安装一个开发许可证。您的经销商联系。

-6050
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6051
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6052
临时牌照牌照号码已过期。请联系您的供应商。
说明。已经安装了一个有时间限制的牌照和许可证已过期。
解决方案。安装新的许可证,以激活产品。您的经销商联系。

-6053
安装路径已更改。它必须保持原来的安装路径。
说明。 FGLDIR或FGLDIR位置的值已经改变。
解决方案。问的人安装的产品的原安装目录的位置,然后设置FGLDIR环境变量。

-6054
无法读取许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。该文件包含的许可不是当前用户可读。
解决方案。
许可证控制器:检查FGLDIR环境变量的正确设置文件$ FGLDIR/etc/f4gl.sn是由当前用户可读。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是由当前用户可读???。

-6055
无法更新许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。该文件包含的许可不能由当前用户覆盖。
解决方案。
许可证控制器:检查FGLDIR环境变量设置正确,并且是由当前用户可写文件$ FGLDIR/etc/f4gl.sn。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是当前用户可写的???。

-6056
不能写入到一个许可证文件。请检查您的权利。
说明。该文件包含的许可不能由当前用户覆盖。
解决方案。
许可证控制器:检查FGLDIR环境变量设置正确,并且是由当前用户可写文件$ FGLDIR/etc/f4gl.sn。
许可证管理:检查该文件$ FLMDIR /等/牌照/ LIC DAT是当前用户可写的???。

-6057
无法读取许可证文件。检查安装路径和您的环境。验证是否已安装许可证。
说明。当前用户无法读取文件,其中包含许可证。
解决方案。检查当前用户可以读取的文件FGLDIR/etc/f4gl.sn美元。还检查FGLDIR环境变量设置正确。

-6058
许可证文件格式不正确。验证是否已安装许可证。
说明。该文件包含的许可证已被损坏。
解决方案。重新安装许可证。如果你有一个当前安装的Genero商业开发语言的备份,恢复位于$ FGLDIR的/ etc目录中的文件。

-6059
许可证文件格式不正确。验证是否已安装许可证。
说明。该文件包含的许可证已被损坏。
解决方案。重新安装许可证。如果你有一个当前安装的Genero商业开发语言的备份,恢复位于$ FGLDIR的/ etc目录中的文件。

-6061
没有安装许可证“许可证编号”。
说明。未安装许可证。
解决方案。重新安装许可证。

-6062
没有安装许可证“许可证号”已发现。
说明。不能安装的附加用户许可。无主牌照发现添加用户。
解决方案。您的经销商联系。

-6063
已安装许可证“许可证号”。
说明。已安装许可证。
解决方案。没有什么特别要采取的行动。

-6064
资源“flm.license.number”需要使用许可证管理。

-6065
需要资源“flm.license.key”使用许可证管理。

-6066
安装许可证“许可证号”不能超过“许可数量”。
说明。附加用户许可不匹配的主要许可证。不能安装的附加用户许可。
解决方案。您的经销商联系。

-6067
如果你想添加的用户,你需要安装许可证。
说明。必须安装的附加用户许可后的主要许可证。
解决方案。安装的附加用户许可之前的主要许可证。如果这不能解决您的问题,请联系您的经销商。

-6068
没有安装许可证。
说明。 Genero商业开发语言没有安装许可证。
解决方案。安装许可证。如果许可证已经安装,检查,FGLDIR美元的环境变量设置正确。

-6069
不能卸载的许可证。
说明。 Genero商业开发语言许可证卸载过程中出现了问题。
解决方案。检查FGLDIR环境变量是否正确设置您的环境中,当前用户删除$ FGLDIR的/ etc目录中的文件的权限。

-6070
为了达到许可证服务器许可证服务器条目必须设置在您的资源文件。
说明。您正在使用远程执照的过程,您已设置FGLDIR美元/ etc / fglprofile中的fgllic.server价值,为localhost或127.0.0.1地址。
解决方案。您必须使用计算机的实际IP地址,即使是在本地计算机。

-6071
不能使用目录的目录名'。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。

-6072
在“文件名”不能创建文件。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。改变这777模式目录的权限。

-6073
在“文件名”不能改变文件的模式。验证访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。改变这777模式目录的权限。

-6074
'文件名'不'rwxrwxrwx的权利或不是一个目录。 LS-LD /锁检查访问权限,或执行“RM-R /锁”,如果没有用户连接。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。美元FGLDIR / lock目录包含在运行时只需要结扎的应用数据。当应用程序完成后,您可以删除此目录。如果您删除这个目录,而结扎应用程序正在运行,应用程序将立即停止。

-6075
无法读取目录“目录名'。检查安装路径并确认,如果访问权限是drwxrwxrwx“。
说明。编译器需要在指定的目录操作。
解决方案。更改这个目录的权限。

-6076
坏锁树。请检查您的环境。
说明。访问$ FGLDIR / lock目录有一个问题。
解决方案。检查当前用户是否有足够的权限读取和写入$ FGLDIR /锁定目录。同时检查FGLDIR环境变量设置正确。

-6077
坏锁树。请检查您的环境。
说明。访问$ FGLDIR / lock目录有一个问题。
解决方案。检查当前用户是否有足够的权限读取和写入$ FGLDIR /锁定目录。同时检查FGLDIR环境变量设置正确。

-6079
不能获得机器名称或网络的IP地址。每个图形客户端使用许可证服务器时,必须有一个IP地址。 FGLSERVER必须持有的客户端的IP地址或主机名。
说明。您正在使用远程执照的过程,您已设置FGLDIR美元/ etc / fglprofile中的fgllic.server价值,为localhost或127.0.0.1地址。
解决方案。您必须使用计算机的实际IP地址,即使是在本地计算机。这也是真正的与使用的FGLSERVER环境变量的值。

-6080
不能从“主机名的主机的IP地址。检查flm.server'资源。
说明。系统找不到指定的主机的IP地址。
解决方案。这是一个关于你的系统的配置问题。命令ping不应答复。纠正你的系统配置,然后尝试执行程序。

-6081
用ping无法到达主机的主机名“。检查在资源文件中的许可证服务器条目。检查您的网络配置或增加'flm.ping的价值。
说明。许可证服务器无法ping通客户端计算机上,或者它并没有得到响应在由美元FGLDIR / etc / fglprofile文件fgllic.ping进入指定的时间限制。
解决方案。尝试手动ping指定的计算机。如果这个工程,尝试在fglprofile增加的fgllic.ping条目的值。如果ping没有响应,修复系统配置问题,然后再次尝试该方案。

-6082
SYSERROR(%d)的%s:无法设置套接字选项TCP_NODELAY的。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6085
SYSERROR(%d)的%s:无法连接到许可证服务器上的主机的主机名“。检查下列事项:

  • 许可证服务器条目。
  • 许可证服务器计算机。
  • 许可证服务器的TCP端口。
    说明。应用程序无法检查许可证的有效期。这样做,它会尝试沟通Genero商业开发语言许可证服务产品已安装在电脑上运行。
    解决方案。检查Genero商业开发语言许可证服务器产品已安装在电脑上运行。

-6086
SYSERROR(%d)的%s:无法将数据发送到许可证服务器。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6087
SYSERROR(%d)的%S:无法从许可证服务器接收数据。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,然后重试程序。

-6088
你是不是允许连接以下原因:描述
说明。程序无法连接到许可证服务器,由于指定的原因。
解决方案。尝试修复所述的问题,并重新运行您的应用程序。

-6089
每个图形客户端使用许可证服务器时,必须有一个IP地址。 FGLSERVER必须持有的客户端(localhost或127.0.0.1不允许)的IP地址或主机名。

-6090
SYSERROR(%d)的%s:无法启动许可证服务器创建一个套接字。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6091
SYSERROR(%d)的%S:无法绑定许可证服务器的插座。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6092
SYSERROR(%d)的%S:不能听许可证服务器的插座。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6093
SYSERROR(%d)的%s:无法创建一个套接字搜索活跃客户。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6094
SYSERROR(%d)的%S:这是一个调用WSAStartup错误。检查系统错误信息,然后重试。
说明。有一个问题与Windows电脑的插座。
解决方案。检查系统是否已正确配置,并重新运行程序。

-6095
许可问题:原因
说明。许可类型不兼容。您正在安装较早的版本,这是不指定为当前的许可证服务器使用。
解决方案。重新安装,然后联系您的供应商。

-6096
许可证服务器连接被拒绝。
说明。有问题的客户端计算机连接到Windows许可证服务器。
解决方案。有一个许可证服务器计算机的配置问题。检查电脑的配置和产品。

-6100
许可请求发送行的格式错误。

-6101
许可证号“许可证号”不相符的许可证密钥的许可证密钥“。

-6102
验证资源“flm.license.number'和'flm.license.key对应一个有效的许可证。

-6103
不再是从许可证服务器获得许可证“许可证号”。

-6107
超出用户限制。请稍后重试。
说明。可以运行的最大客户数已经达到了(由于安装许可证)。
解决方案。稍后重试(当前用户的数量已减少时),或安装一个新的许可证,允许更多的用户。

-6108
环境是不正确的。
说明。有没有本地牌照,或环境设置不正确。
解决方案。检查您的环境和FGLDIR环境变量。

-6109
不能添加#%s的会议。
说明。您没有权限创建新的会话(较新的客户端目录)。
解决方案。检查的专用目录的权限。

-6110
不能添加程序的程序名(PID =%d)条。
说明。你不必为当前用户创建新的应用程序(较新的应用程序文件)的权限。
解决方案。检查的专用目录的权限。

-6112
汇编是不允许的:本产品只运行许可。

-6113
编译是不允许的:无效的许可证。

-6114
无法启动计划'项目名称'或多个进程的结果是0。
说明。 ,当fglWrt-U执行找到此安装允许用户数量,命令“PS”,可启动(仅适用于UNIX)。
解决方案。检查ps的权限。

-6116
错误的字符数。

-6117
该条目必须是12个字符长。

-6118
这个项目的校验和错误的结果。

-6122
你必须在资源文件中指定条目的“flm.server。

-6123
SYSERROR(%d)的%S:无法打开插座。检查系统错误信息,然后重试。

-6129
许可卸载。
说明。这是一条信息。

-6140
版本号
说明。这是一条信息。

-6148
不知道安装路径。
说明。您正在处理的牌照,但FGLDIR环境变量未设置。
解决方案。 FGLDIR环境变量设置,然后重试。

-6149
的问题,同时安装许可证“许可证号”。
说明。出现问题,而发牌。
解决方案。注意该特定系统的错误号和联系您的技术支持。

-6150
临时牌照没有找到这个版本。
说明。临时牌照,同时增加了明确的许可密钥,一直没有找到。
解决方案。重新安装许可证。

-6151
错误安装的关键。
说明。同时增加了明确的许可证密钥,安装密钥是无效的。
解决方案。重新安装许可证。

-6152
在安装许可证的问题。
说明。安装许可证时出现问题。无法写入信息到磁盘(无论是自己的文件或系统文件)。
解决方案。检查FGLDIR环境变量的许可证文件(必须是能够改变他们)的权利。

-6153
授权安装失败。

-6154
授权安装成功。
说明。这是一条信息。

-6156
太多的临时牌照。你必须重新安装许可证。
说明。你安装了一个临时牌照太多次了。
解决方案。联系技术支持,以取得有效的许可证。

-6158
不能存储临时信息。
说明。安装许可证时出现问题。无法写入信息到磁盘(无论是自己的文件或系统文件)。
解决方案。检查FGLDIR环境变量的许可证文件(你必须是能够改变他们)的权利。

-6159
这种牌照是不允许的。

-6160
你没有连接的权限。

-6161
你没有编译的权限。

-6162
不能达到的许可证服务器。请检查是否正确初始化flm.server“。 (flmprg的信息最多的命令应该回答'OK')。许可证服务器正在运行,但没有自动检查将完成。

-6168
无法从目录“目录名'的信息。

-6170
许可证服务器检测到旧的请求格式。你必须安装许可证的程序版本2.99或更高。

-6171
已安装临时牌照。只有安装密钥是必需的。你必须运行“fglWrt-K ”的安装。

-6172
错误的参数:参数不正确的格式。

-6173
无效的牌照号码或许可密钥无效。

-6174
此选项仅适用于本地牌照。在您的配置和资源“flm.server”被发现。

-6175
许可证号“许可证号”是无效的。

-6176
在许可证服务器,发生以下问题与许可证编号许可证编号:问题描述

-6177
发生以下问题许可证编号许可证编号:问题描述

-6178
你的机器是不允许连接任何您的授权许可。

-6179
牌照的有效期时间到达。用户控制被重新激活。

-6180
超过了CPU限制。用户控制被重新激活。

-6181
不能获得许可证的扩展信息。检查您的环境许可证(运行“fglWrt一个信息”)和fglWrt版本('fglWrt-V“版本号或更高)。

-6182
您的许可证限制名称的限制。你是不是允许运行的另一种模式。

-6183
本地牌照控制器(fglWrt)可能不兼容这个亚军。检查其版本('fglWrt-V“版本号或更高)。

-6184
您没有被授权运行此版本的亚军。

-6185
保护文件不兼容这个版本亚军。你必须重新安装许可证。

-6186
演示版初始化。
说明。这是一条信息。

-6196
你是不是有权删除许可证服务器的服务器名'的会议。

-6197
“扩展名”的扩展与此许可类型不允许。

-6198
产品标识不符合许可证编号。

-6200
模块“模块名称”:该函数的函数签名-1将称为函数签名2。
说明。参数数目不正确的,是用来调用结扎功能。
解决方案。检查你的源代码和重新编译应用程序。

-6201
模块的模块名“:??坏的版本:重新编译你的源代码。
说明。你编译你的程序,与旧版本。新编译你的程序版本不支持。
解决方案。重新编译所有源文件和表单文件。

-6202
这个P码机,文件名的文件名:坏的魔术:代码无法运行。
说明。你编译你的程序,与旧版本。新编译程序的版本不支持。您可能也有相同的名称与0.42?的文件。你没有指定扩展fglrun 42R名称。
解决方案。要解决这个问题,请致电的0.42?扩展fglrun或重新编译您的应用程序。

-6203
模块的模块名-1:函数函数名称'已经被定义在模块的模块名-2“。
说明。指定的函数被定义为应用程序中的第二次。该函数的第二次出现是在指定的模块。
解决方案。消除从源代码的两个函数的定义之一。

-6204
模块的模块名:未知操作码。
说明。被发现在一个未知的指令编译结扎申请。
解决方案。检查的Genero商业开发语言包执行已编译的应用程序的版本编译的应用程序是相同的。它也有可能是编译的模块已损坏。如果是这样,你将需要重新编译您的应用程序。

-6205
内部错误:对齐。
说明。这个错误是内部的,通常不应该出现。
解决方案。请联系您的技术支持。

-6206
动态加载程序无法打开模块的模块名'。
说明。模块是不是在当前目录或由环境变量FGLLDPATH指定的目录之一。
解决方案。设置环境变量FGLLDPATH。

-6207
动态加载的模块“模块名称”不包含函数的函数名'。
说明。一个的结扎模块已被改变和重新编译,但应用程序的不同模块没有联系之后。
解决方案。新模块链接在一起,然后再执行您的应用程序。

-6208
模块的模块名已经加载。
说明。一个模块被加载在运行时的两倍。这可能是因为一个模块已与另一串连。
解决方案。重新编译和重新链接您结扎模块。

-6210
内部错误:异常2之前引发异常调用异常处理程序。
说明。一个模块被加载在运行时的两倍。这可能是因为一个模块已与另一串连。
解决方案。检查函数名,重新编译和重新链接您的结扎模块。

-6211
链接已经失败。
说明。连接结扎程序时出现问题。
解决方案。检查函数名,重新编译和重新链接您的结扎模块。

-6212
函数函数名称:局部变量的大小是太大 - 分配失败。
说明。一个本地函数变量是过大,运行时无法分配内存。
解决方案。检查函数中的变量的数据类型。

-6213
模块模块名称:模块的可变尺寸太大 - 分配失败。
说明。一个模块变量是过大,运行时无法分配内存。
解决方案。检查模块中的变量的数据类型。

-6214
全局变量的变量名规模太大 - 分配失败。
说明。全局变量是过大,运行时无法分配内存。
解决方案。审查中的全局变量的数据类型。

-6215
内存分配失败。结束程序。
说明。运行时无法分配内存。
解决方案。检查系统资源和核实,如果操作系统允许用户分配多少内存作为该计划的需求(检查ulimits UNIX系统上)。

-6216
全球的名字已经被重新定义具有不同的定值。
说明。已定义一个全局常量,用不同的值的两倍。
解决方案。可能有一个全局常量只有一个值。检查你的代码。

-6217
全球的'名称'已被定义为一个常量和变量。
说明。相同的符号被用来定义一个常量和变量。
解决方案。使用不同的名称为常数和变量。检查你的代码。

-6218
没有运行。你必须调用之前调用fgl_call()fgl_start()。
说明。发生此错误时C扩展已经重新定义了main()例程,但不致电fgl_start()初始化的结扎运行环境。
解决方案。任何其他操作之前检查C扩展和调用fgl_start()。

-6219
每当错误认购:错误处理递归调用自身。
说明。异常处理程序调用一个函数,这反过来又递归调用自身。
解决方案。回顾异常处理程序调用的函数。

-6220
无法加载C扩展库'库名'\ n原因:原因
说明。运行系统无法找到共享库,给出的理由。
解决方案。检查C扩展库中存在一个由FGLLDPATH定义的目录。

-6221
C扩展初始化失败,状态%d。
说明。 C扩展初始化失败。
解决方案。检查C扩展的源代码或文档。

-6300
无法连接到GUI。
说明。您已经运行了一个GUI应用程序的环境变量FGLSERVER的不正确设置,或Genero客户端(图形前端)未运行。
解决方案。 FGLSERVER环境变量应设置主机名和端口运行时系统用于显示应用程序窗口的图形前端年底。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6301
不能写的GUI。
说明。您正在运行一个GUI应用程序,但不明原因不再响应前端和运行时系统无法写入的GUI插座。
解决方案。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6302
从GUI无法读取。
说明。您正在运行一个GUI应用程序,但不明原因的前端不再响应和运行时系统无法读取从GUI插座。
解决方案。检查网络连接仍然是可用的,确保没有防火墙拒绝访问的工作站,并查看是否仍在运行的前端。

-6303
无效的用户接口协议。
说明。您正试图执行一个程序运行时系统使用AUI协议版本不同的前端。
解决方案。安装任何一个新的前端或一个新的运行环境相匹配(2.0倍与2.0倍,1.3倍与1.3倍)。

-6304
无效的抽象用户界面定义。
说明。您正试图执行一个程序运行时系统使用AUI协议版本不同的前端。
解决方案。安装任何一个新的前端或一个新的运行环境相匹配(2.0倍与2.0倍,1.3倍与1.3倍)。

-6305
无法打开字符表文件。检查您fglprofile。
说明。发生此错误美元FGLDIR / etc / fglprofile文件,定义由gui.chartable项,如果转换的文件不是当前用户可读。
解决方案。检查,如果gui.chartable进入设置正确,如果指定的文件是由当前用户可读。

-6306
无法打开服务器上的文件。检查安装。
说明。在服务器端的文件不能被发送到图形界面。
解决方案。检查文件位于$ FGLDIR的/ etc目录的权限。这些文件必须至少有读取当前用户的权限。

-6307
GUI服务器自动启动:无法识别工作站。
说明。 GUI服务器自动启动配置是错误的。要么显示,FGLSERVER或fglprofile设置是无效的。
解决方案。设置所需的环境变量,并检查fglprofile自动启动项。

-6308
GUI服务器自动启动:未知工作站:检查gui.server.autostart条目。
说明。 X11 DISPLAY环境变量中所描述的计算机既不是本地主机,也不是在fglprofile项所列。
解决方案。检查X11显示名称,如果设置正确,或检讨fglprofile条目。

-6309
没有连接。不能写的GUI。
说明。原因不明,有企图写在GUI上的插座连接之前开始。
解决方案。检查无效的GUI操作方案。

-6310
没有连接。从GUI无法读取。
说明。原因不明,有人试图读GUI上的插座连接之前开始。
解决方案。检查无效的GUI操作方案。

-6311
没有当前窗口。
说明。该计划试图发出没有当前窗口打开一个菜单指令。
解决方案。审查程序逻辑,并确保一个窗口,是开放前菜单。

-6312
用户界面(FGLGUI)的类型是无效的。
说明。而发起的用户界面,运行时系统没有识别的GUI类型和停止。
解决方案。确定的FGLGUI环境变量有一个正确的值。

-6313
的的UserInterface已被销毁。
说明。错误发生时前端发送DestroyEvent的事件,表明一些启动程序的不一致。例如,可能会发生这种多个StartMenus时使用,或当您尝试运行MDI子无父容器,或当两个MDI容器具有相同的名称开始,等等。
解决方案。检查不一致,并修复它。

-6314
错误的连接字符串。检查客户端版本。
说明。在启动程序,运行时收到从前端的错误或不正确的答案。
解决方案。确保您使用的是与运行系统兼容的前端。

-6315
控制台的UI形式是太复杂。
说明。程序试图显示一个表单,不能在文本模式下显示一个复杂的布局。
解决方案。审查表格文件,并使用部分屏幕的布局,而不是一个简单的网格。

-6316
从客户端返回错误的错误号:\ n说明
说明。返回前端GUI连接初始化过程中指定的错误。
解决方案。检查前端文件的更多细节。

-6317
无效或不支持的客户端协议功能。
说明。 GUI的协议功能,你正试图使用??不支持前端。例如,您正在尝试使用压缩协议,但在运行时是不能够对数据进行压缩。
解决方案。检查支持的协议功能的运行系统版本。

-6320
无法打开文件'文件名'。
说明。运行时系统在FGLDIR试图打开一个资源文件,但访问被拒绝或文件不再存在。
解决方案。检查文件的权限和FGLDIR存在。

-6321
没有这样的接口能力:“功能”。
说明。运行时系统尝试使用前端协议的能力,但不能使用它。
解决方案。检查前端与运行时系统兼容。

-6322
%是错误的版本。期望%s的。
说明。 FGLDIR一些资源文件已被确定作为当前运行系统太旧。
解决方案。重新安装运行的制度环境。

-6323
无法加载工厂资料“文件名”。
说明。位于FGLDIR /等的的默认fglprofile文件丢失或不可读。
解决方案。检查文件的权限。如果缺少该文件,重新安装软件。

-6324
无法加载客户的个人资料“的文件名'。
说明。由FGLPROFILE环境变量定义的配置文件丢失或不可读。
解决方案。检查FGLPROFILE环境变量设置正确,如果该文件是由当前用户可读。

-6325
无法加载应用程序的资源文件名“。
说明。 FGLDIR的/ etc / fglprofile丢失或不适合当前用户可读fglrun.default进入指定的目录。
解决方案。检查如果入境fglrun.default正确设置FGLDIR / etc / fglprofile中,如果指定的目录是当前用户可读。

-6326
无法打开字符映射文件的文件名。检查您fglprofile。
说明。指定的字符映射文件不能被发现或阅读。
解决方案。验证位于FGLDIR /等字符映射文件,正确的值设置在fglprofile(GUI.CHARTABLE项)。

-6327
内部错误,在运行时库文件库的名称。
说明。一些不可预知的发生,产生错误。
解决方案。请联系您的技术支持。

-6328
资源'名称'价值'价值'的格式错误:您必须使用语法:
%='VARNAME =值“。
说明。的FGLPROFILE文件包含一个无效的环境变量的定义格式。
解决方案。检查配置文件中的内容。

-6330
个人资料“的文件名,行的数量LINENO,附近的”令牌“中的语法错误。
说明。 FGLPROFILE文件中所示的错误消息包含一个语法错误。
解决方案。检查配置文件中的内容。

-6331
前端模块无法加载。
说明。前端调用失败,因为模块不存在。
解决方案。前端可能不支持该模块。

-6332
前端功能可能不会被发现。
说明。前端调用失败,因为该函数不存在。
解决方案。前端可能不支持此功能。

-6333
前端函数调用失败。
说明。前端调用失败,原因未知。
解决方案。打电话的支持和报告问题。

-6334
前端函数调用堆栈问题。
说明。前端调用失败,因为参数或返回值不匹配。
解决方案。确保一些参数和返回值是正确的。

-6340
无法打开文件。
说明。通道对象未能打开指定的文件。
解决方案。确保文件名是正确的,用户有读/写文件的权限。

-6341
不支持的模式为“打开文件”。
说明。您尝试打开一个通道不支持的模式。
解决方案。通道的文件,支持的模式。

-6342
无法打开管道。
说明。通道对象未能打开一个管道来执行命令。
解决方案。确保您尝试执行的命令是有效的。

-6343
不支持的模式为“开放管道”。
说明。您尝试打开一个通道不支持的模式。
解决方案。通道的文件,支持的模式。

-6344
不能写开封的文件或管道。
说明。您尝试写入到一个通道对象,这是不公开的。
解决方案。首先打开通道,然后写。

-6345
通道写入错误。
说明。发生意外的错误而写的通道。
解决方案。详情请参阅系统错误消息。

-6346
无法读取从未拆封的文件或管道。
说明。您尝试读取通道的对象,这是不公开的。
解决方案。首先打开通道,然后阅读。

-6360
这个亚军可以不执行任何SQL。
说明。运行时系统是没有准备好数据库连接。
解决方案。检查FGL配置。

-6361
动态SQL:未知类型:typename的。
说明。数据库驱动程序不支持这种类型的SQL数据。
解决方案。你不能使用这个SQL数据类型,审查代码。

-6364
无法连接到SQL后端。
说明。运行时系统无法初始化数据库驱动程序,以建立一个数据库连接。
解决方案。确保数据库驱动程序的存在。

-6365
数据库驱动程序尚未连接。
说明。有企图执行一个SQL语句,但没有建立数据库连接。
解决方案。第一次连接,然后执行SQL语句。

-6366
无法加载数据库驱动程序驱动程序的名称。
说明。运行时系统无法加载指定的数据库驱动程序。无法找到数据库驱动程序的DLL或依赖DLL。
解决方案。有可能是一个环境问题,检查例如UNIX LD_LIBRARY_PATH环境变量。

-6367
不兼容的数据库驱动程序接口。
说明。数据库驱动程序接口不匹配,预计运行时系统的接口。这可能发生,如果你复制成一个年轻的FGLDIR安装一个旧的数据库驱动程序。
解决方案。调用的支持,以获得一个有效的数据库驱动程序。

-6368
SQL驱动程序初始化函数失败。
说明。运行时系统未能初始化数据库驱动程序,程序必须停止,因为没有数据库可以建立连接。
解决方案。有可能是一个环境问题(例如,INFORMIXDIR或ORACLE_HOME是不是设置)。检查你的环境,并尝试连接到数据库供应商的工具(dbAccess的,SQLPLUS)找出问题。

-6369
无效的数据库连接模式。
说明。您尝试混合DATABASE和CONNECT语句,但是这是不允许的。
解决方案。使用任何数据库或连接。

-6370
不支持的SQL功能。
说明。此SQL命令或语句不支持当前的数据库驱动程序。
解决方案。审查代码,而不是使用标准的SQL功能。

-6371
SQL语句的错误号%d(%d)中。
说明。一个SQL错误发生指定的错误编号。
解决方案。你可以查询SQLERRMESSAGE的SQLCA的记录,得到了错误的描述。

-6372
一般SQL错误,检查SQLCA.SQLERRD [2]。
说明。一个普通的SQL错误发生。
解决方案。你可以查询SQLERRMESSAGE的SQLCA的记录,得到了错误的描述。本机的SQL错误代码是在SQLCA.SQLERRD的[2]。

-6373
无效的数据库连接字符串。
说明。您已经使用的数据库连接字符串是无效的。
解决方案。验证连接字符串的格式。

-6601
无法打开数据库字典“名称”。运行数据库架构提取工具。
说明。架构文件不存在或无法找到。
解决方案。如果存在架构文件,确认文件名拼写正确,该文件在当前目录或FGLDBPATH环境变量设置正确的路径。如果该文件不存在,运行的数据库架构提取工具来创建一个模式文件。

-6602
无法打开全局文件名'。
说明。全局文件不存在或无法找到。
解决方案。验证全局文件存在。检查文件名的拼写,并验证该路径是否设置正确。

-6603
不能创建文件的名字'写作。
说明。编译器无法创建文件显示在写作中的错误消息。
解决方案。检查用户权限,以确保.42 m文件可以创建。

-6604
函数的函数名称“只能用于在一个输入[数组],显示阵列或结构语句。
说明。该语言提供内置的功能,只能在特定的交互式报表使用。
解决方案。检查你的代码,该函数内的互动发言和适当的END语句是必要的corrections.Check(端输入/阵列/显示阵列/构造)已被使用。

-6605
模块的名字'不包含函数'函数名'。
说明。在错误消息中显示的模块并不持有的函数的名称,如预期。
解决方案。指定的函数必须在此模块中定义。

-6606
没有成员函数的名字“类的类名定义。
说明。函数的名称拼写错误,或者是不是一个,它被称为类的方法。
解决方案。检查您的代码和您正试图使用??该方法的文档。如果函数是一个对象的方法,确保在代码中引用的对象是正确的类。

-6608
预期资源错误:%s:参数
说明。这是一个资源文件问题的一般性错误消息。

-6609
'%s'的期望:%S已发现一个语法错误。
说明。预计一个一般的语法错误消息,指出问题的代码的位置和什么样的代码。
解决方案。检查你的代码,特别是完函数或端输入等,如缺少END语句,并作出必要的修正。

-6610
函数的名称已经被称为具有不同数量的参数。
说明。早在节目中,有此功能相同或不同数量的参数在参数列表中的事件是一个呼叫。
解决方案。检查指定的函数参数的正确数目。然后检查所有调用它,并确保它们被正确写入。

-6611
函数的名字:意外的返回值数。
说明。该函数返回一个数值的数目不同,如预期。
解决方案。检查身体RETURN指令的功能。

-6612
重声明的函数的名称“。
说明。函数被定义多次。
解决方案。更改名称冲突的功能。

-6613
库函数的名字'未声明。
说明。函数未声明。
解决方案。更改名称的功能。

-6614
'名称'的功能,可能会返回一个数值的数目不同。
说明。包含多个函数的返回指令,可能会返回不同的值的数量。
解决方案。检查返回指令返回相同的值。

-6615
符号的名称是未使用。
说明。这是一个警告,表明显示的符号定义,但从来没有使用过。
解决方案。可以删除无用的定义。

-6616
'名称'的象征,并不代表定义的常数。
说明。显示的符号是用来作为一个常数,但它不是一个常数。
解决方案。检查你的代码,并检查这个名字。

-6617
符号'name'是一个变量。
说明。显示的符号是一个不能在目前情况下使用的变量。
解决方案。检查你的代码,并检查这个名字。

-6618
'名称'的象征,是一个常数。
说明。显示的符号是一个不能在目前情况下使用的常数。
解决方案。检查你的代码,并检查这个名字。

-6619
符号'name'是不是一个整数常量。
说明。显示的符号是用来作为如果它是一个整数常量,但事实并非如此。
解决方案。检查你的代码,并检查这个名字。

-6620
符号'name'是不是一个报告。
说明。显示的符号是用来作为一个报告,但它不是作为一个报告定义。
解决方案。检查你的代码,并检查这个名字。

-6621
符号'name'是不是一个函数。
说明。显示的符号是作为一个函数使用,但它并不是函数定义。
解决方案。检查你的代码,并检查这个名字。

-6622
'名称'的象征,并不代表一个合法的变量类型。
说明。不显示的符号。
解决方案。检查你的代码,并检查这个名字。

-6623
该方法的方法名'不能被称为没有一个对象。
说明。指定的方法是它的类的对象的方法。
解决方案。检查你的代码。确保所需类的对象已经被实例化,并依然存在,该方法被称为期间作为分隔字符,指定对象变量的前缀。

-6624
该方法的方法名'不能被称为一个对象。
说明。指定的方法是一个类的方法和使用的对象引用不能被称为。没有对象被创建。
解决方案。检查你的代码。确保时期字符作为分隔,使用类名作为前缀,该方法被称为。

-6625
这份声明并非是Informix的兼容。
说明。 SQL语句是不是Informix的兼容。
解决方案。改变使用Informix SQL语法的SQL语句。

-6627
符号'name'是不是一个变量。
说明。显示的符号是作为一个变量,但不是作为一个变量的定义。
解决方案。检查你的代码,并检查这个名字。

-6628
对Globals文件不包含GLOBALS部分。
说明。 1 GLOBALS声明中引用的文件不包含GLOBALS部分中指定的文件名。
解决方案。检查你的代码,以确保由FileName指定的文件是一个有效的文件GLOBALS,含部分所需GLOBALS

-6802
无法打开数据库字典“名称”。运行模式提取工具。
说明。架构文件不存在或无法找到。
解决方案。如果存在架构文件,确认文件名拼写正确,该文件在当前目录或FGLDBPATH环境变量设置正确的路径。如果该文件不存在,运行的数据库架构提取工具来创建一个模式文件。

-6803
在“线”已发现语法错误,期待令牌。
说明。这是一个错误的一般消息。

-6804
'名称'的形式编译成功。
说明。这是一条信息表明,编译是没有问题的形式。

-6805
开放的形式“的名称,满分版本:%s,预期:%S。
说明。你编译一个版本的形式与其他源代码编译使用不兼容的编译器是您的表单。
解决方案。编译表单文件和相关的源代码文件,编译器使用相同或兼容的版本。

-6807
'名称'的标签不能被用作列标题。
说明。表单文件定义一个无效的表列标题。
解决方案。检查列标题不对应列的位置。

-6808
widget的'名字'不能被定义为数组。
说明。表单文件定义一个矩阵列的项目。
解决方案。审查的形式定义。

-6809
布局标签'名'是无效的,期望:令牌。
说明。的形式编译器检测到一个无效的布局标记规范。
解决方案。审查的形式定义。

-6810
属性的“属性”项目类型“名称”是无效的。
说明。的形式编译器检测到一个无效的属性定义此项目类型。
解决方案。审查的形式定义和检查无效的属性。

-6811
语法错误'%s'的,预期的%s的附近。
说明。预计一个一般的语法错误消息,指出问题的代码的位置和什么样的代码。
解决方案。检查你的代码,并作出必要的修正。

-6812
终端接头的字符常量。
说明。的形式编译器检测到一个未结束的字符常量。
解决方案。审查的形式定义和检查失踪引号或双引号。

-6813
组框'名'的元素的名称冲突。
说明。元素和组框,您已使用相同的名称。
解决方案。审查您的表单定义,并确保所用的名称是唯一的。

-6814
屏幕记录的名称“必须引用一个表。
说明。在表单文件中所显示的屏幕记录引用多个表。
解决方案。审查的形式定义和使用一个唯一的表为一个给定的屏幕记录。

-6815
压痕在括号之间的内容无效。
说明。您的窗体布局部分定义了一个无效的压痕。
解决方案。审查您的表单定义,并检查相应的缩进。

-6817
没有在指令部分的屏幕记录表容器定义。
说明。定义属性的最低值必须低于最高值。
解决方案。检查你的代码,并作出必要的修正。

-6818
最小值必须是低,最大的价值。
描述:定义属性的最低值必须低于最高值。
解决方案。检查你的代码,并作出必要的修正。

-6819
屏幕记录中的元素的数量必须符合表容器中的列数。
说明。在屏幕记录定义的元素的数量不等于表容器中使用的列数。
解决方案。审查的形式定义。

-6820
ScrollGrid和/或集团布局标签不能嵌套。
说明。表单定义嵌套ScrollGrid和/或集团布局标签。这些标记不能嵌套。
解决方案。审查您的表单定义,并作出必要的修正。

-6821
盒子标签不能用于数组。
说明。表单定义使用一个HBox标记为一个数组,这是不允许的。
解决方案。审查您的表单定义,并作出必要的修正。

-6822
逃脱的图形字符不接受在网格部分。
说明。您尝试使用文本用户界面的图形,在新的网格容器。
解决方案。这是不允许的,使用组来代替。

-6823
关闭的标签,不具备以上匹配的标签。
说明。表单定义有没有事先匹配的开放标签结束标记。开放的标签和结束标签必须匹配。
解决方案。您的表单定义文件审查,并作出必要的修正。

-6824
表'表名'上面是空的,由于重叠的标记“标记名”。
说明。布局形式定义表名,其中持有的形式表区域重叠的项目确定表布局标签。列标题和列的表格项目必须是表内的区域。
解决方案。您的表单定义文件审查,并作出必要的修正。

-6825
无效标签tagname1的表标签tagname2(定义表标签不允许在同一行上的其他标记的定义和它的块内)的范围。
说明。布局形式定义标签,由tagname1内或标签tagname2附近放置一个布局确定。
解决方案。您的表单定义文件审查,并作出必要的修正。

-8000
DOM:节点没有找到。
说明。在当前文档中的节点不能发现。
解决方案。检查你的代码。

-8001
DOM:无效的文件。
说明。通过DOM API的文件是不是一个有效的文件。
解决方案。检查你的代码。

-8002
DOM:无效的NULL作为参数使用。
说明。 NULL,不能用在这个地方。
解决方案。检查你的代码。

-8003
DOM节点插入的地方,它不属于。
说明。您尝试插入不允许这种类型的节点的父节点下一个节点。
解决方案。检查可能的节点和审查你的代码。

-8004
萨克斯:无效的层次。
说明。 SAX处理程序遇到了一个无效的层次。
解决方案。确保父/子关系得到尊重。

-8005
过时的功能:%S
说明。您正在使用的功能,在未来的版本将被删除。
解决方案。更换功能正常使用。

-8006
字符串资源文件名称“不能被发现。
说明。显示字符串的文件无法找到。
解决方案。检查文件是否存在,如果路径是有效的。

-8007
无法读取字符串资源文件名称“。
说明。显示字符串的文件无法读取。
解决方案。检查文件是否存在,如果用户有权限读取。

-8008
字符串的关键“钥匙”没有定义的值。
说明。运行时系统无法找到相应的字符串资源显示关键。
解决方案。检查关键是在资源文件中定义。

-8009
字符串资源附近的“令牌”的语法错误,期待令牌。
说明。字符串的文件编译器检测到一个语法错误。
解决方案。检查无效。str文件中的语法。

-8010
无法找到包含字符串文件名“(文件名:行)忽略行。
说明。字符串的文件编译器无法找到要包含的文件。
解决方案。检查文件名和路径。

-8011
包含字符串的文件的名字已经被列入(文件名:行)忽略行。
说明。字符串的文件编译器检测,所包含的文件已被包含。
解决方案。卸下列入。

-8012
重复的字符串键“钥匙”(文件名:行)忽略行。
说明。字符串的文件编译器检测到重复的字符串键。
解决方案。审查。STR文件,并删除重复的键。

-8013
字符串文件名'无法打开写作。
说明。字符串的文件编译器无法写入指定的字符串文件。
解决方案。确保用户具有写权限和文件名是有效的。

-8014
字符串的文件的名字'不能被读取。
说明。运行时系统无法读取指定字符串的文件。
解决方案。确保用户有读权限。

-8015
场切换条款不符合形式。
说明。在ON CHANGE子句中使用的字段没有被发现在形式的规范文件。
解决方案。确保切换条款的字段名称匹配的有效形式的领域。

-8016
你不能有多个同一领域的变化条款。
说明。指定多个使用同一领域的变化条款,这是不可能的。
解决方案。删除非必要的更改条款。

-8017
SFMT:无效的%的指标。
说明。格式字符串是无效的。
解决方案。检查无效的%的职位。

-8018
SFMT:格式错误。
说明。格式字符串是无效的。
解决方案。检查无效的%的职位。

-8019
不超过行变化子句可以出现在一个输入数组声明。
说明。多行变化子句被发现在相同的输入数组。
解决方案。删除不必要的行更改条款。

-8020
相同的动作名称与行动条款,多出现在声明中。
说明。它是不是可以指定多个动作使用相同的动作名称的条款。
解决方案。删除非必要的行动条款。

-8021
使用相同的密钥名称的关键条款,多出现在声明中。
说明。指定多个使用相同的密钥的关键条款,这是不可能的。
解决方案。删除非必要的关键条款。

-8022
DOM:无法打开XML文件。
说明。无法加载该文件。
解决方案。检查文件名和用户权限。

-8023
DOM:'名称'属性不属于节点“节点”。
说明。您尝试设置一个属性节点不具有这样的属性。
解决方案。这是不允许的,检查你的代码。

-8024
DOM:字符数据不能在这里创建。
说明。您尝试创建一个字符下不允许这样的节点的节点节点。
解决方案。这是不允许的,检查你的代码。

-8025
DOM:不能设置一个字符节点的属性。
说明。您尝试设置一个字符节点的属性。
解决方案。这是不允许的,检查你的代码。

-8026
DOM:'名称'属性不能被删除节点“节点”,属于用户界面。
说明。您尝试从一个AUI节点强制性的属性。
解决方案。你只能改变这个属性的值,尝试“无”或空字符串。

-8027
萨克斯:可以不写。
说明。 SAX处理程序无法写入目标文件。
解决方案。确保文件的路径是正确的,用户有写权限。

-8028
多个空闲条款的出现在声明中。
说明。只有在空闲的条款之一,可用于内部对话块。
解决方案。删除不必要的闲置条款。

-8029
多个源文件的名称列入。
说明。预处理器检测到指定的文件被列入几次相同的源。
解决方案。删除不必要的文件包裹。

-8030
源文件名的完整路径是太长。
说明。预处理器不支持长文件名。
解决方案。重命名该文件。

-8031
无法读取源文件的名字“。
说明。预处理程序无法读取指定的文件。
解决方案。确保使用了读取权限。

-8032
无法找到源文件的名字“。
说明。预处理找不到指定的文件。
解决方案。确保该文件存在。

-8033
“名称”指令后发现额外的令牌。
说明。预处理器检测显示指令后的一个意外的标记。
解决方案。检查你的代码,并作出必要的修正。

-8034
功能:此功能尚未实现。
说明。不支持预处理功能。
解决方案。检查你的代码,并作出必要的修正。

-8035
已定义的宏名“。
说明。预处理器发现一个重复的宏定义。
解决方案。检查你的代码,并作出必要的修正。

-8036
发现没有相应的&如果与ifdef或ifndef指令及其他指令。
说明。预处理器检测到一个意外及其他指令。
解决方案。检查你的代码,并作出必要的修正。

-8037
A和endif指令没有相应:如果与ifdef或ifndef指令。
说明。预处理器检测到一个意外endif指令。
解决方案。检查你的代码,并作出必要的修正。

-8038
发现无效的预处理指令名称。
说明。在错误信息中显示的预处理指令不存在。
解决方案。检查你的代码,并检查有效的宏。

-8039
无效的宏名称参数。
说明。错误消息中显示的预处理宏的参数数量不匹配,在这个宏定义的参数的数量。
解决方案。检查你的代码,并检查参数的数量。

-8040
词法错误:未闭合的字符串。
说明。编译器检测到未闭合的字符串,并不能继续下去。
解决方案。检查你的代码,并作出必要的修正。

-8041
终端接头是否或与其他条件。
说明。预处理发现未终止的条件指令。
解决方案。查看本指令的定义。

-8042
操作符'##'只能用于标识符和数字。 %s是不允许的。
说明。预处理器发现#字符串连接运算符的无效使用。
解决方案。检讨这个宏的定义。

-8043
不能运行FGLPP,使用命令:命令
说明。编译器无法运行的预处理命令中所示的错误消息。
解决方案。确保存在的预处理命令。

-8044
词法错误:未闭合的评论。
说明。编译器检测到一个未闭合的意见和无法继续。
解决方案。检查你的代码,并作出必要的修正。

-8045
内输入,输入数组,显示阵列,构造或MENU语句,只能用这种类型的声明。
说明。本声明并没有被用来在一个有效的互动发言,必须适当的终止端输入端输入阵列,高端显示屏阵列,完建设,或结束菜单。
解决方案。检查你的代码,并作出必要的修正。

-8046
这种类型的声明只能在输入时,输入数组,显示阵列或结构语句。
说明。这一说法没有被用来在一个有效的互动发言,必须终止端输入端输入阵列,高端显示屏阵列,或完构建适当。
解决方案。检查你的代码,并作出必要的修正。

-8047
使用无效的“对话”。必须输入,输入数组内使用,显示阵列或结构语句。
说明。预定义关键字“对话框没有被用来在一个有效的互动发言,必须终止端输入端输入阵列,高端显示屏阵列,或完构造适当的。
解决方案。检查你的代码,并作出必要的修正。

-8048
发生了错误,而预处理的文件名'。编译结束。

-8049
接受输入的语句只能用在一个输入,提示下,输入数组声明。
说明。接受输入内仍未有效互动的声明,必须终止结尾输入适当使用,结束提示,或最终输入数组。
解决方案。检查你的代码,并作出必要的修正。

-8050
接受显示??语句只能用在显示阵列语句。
说明。接受显示??尚未使用,必须终止结尾显示阵列在一个有效的显示阵列声明。
解决方案。检查你的代码,并作出必要的修正。

-8051
接受结构语句只能用在一个结构声明。
说明。接受建设尚未范围内使用,必须终止结尾构造一个有效的结构语句。
解决方案。检查你的代码,并作出必要的修正。

-8052
非法输入序列。检查郎。
说明。编译器遇到一个无效的字符序列。源文件使用的字符序列不匹配的区域设置(郎)。
解决方案。检查源文件和区域设置。

-8053
未知的预处理指令'名'。
说明。在错误信息中显示的预处理指令是不是一个已知的指令。
解决方案。检查错字的错误,并予以有效的预处理指令的文档。

-8054
意外的预处理指令。
说明。预处理器指令时遇到意外。
解决方案。取出的指令。

-8055
资源文件名称“含有意想不到的数据。
说明。在错误信息中显示的XML资源文件不包含预期的节点。例如,您尝试加载工具栏ui.Interface.loadActionDefaults()。
解决方案。检查XML文件中包含此类型的资源预期的节点类型。

-8056
未闭合的XPath:报价整数位置。
说明。 XPath解析器发现了一个意想不到的报价在给定的位置。
解决方案。审查的XPath表达式。

-8057
XPath的:意外的字符'字符'整数位置。
说明。 XPath解析器发现一个意外的字符在给定的位置。
解决方案。审查的XPath表达式。

-8058
XPath的:意外的标记/字符串'名称'整数位置。
说明。 XPath解析器发现了一个意外的标记或字符串在给定的位置。
解决方案。审查的XPath表达式。

-8059
SQL语句或与特定的SQL语法的语言指令。
说明。编译器发现一个SQL语句,这是使用数据库特定的语法。本声明可能不会作为当前的数据库服务器上运行。
解决方案。检查SQL语句使用标准/常见的语法和功能。

-8060
不允许在一个屏幕上的部分空白项目。
说明。的形式包含在一个屏幕部分的空白项目,而这些只允许在布局。
解决方案。审查的形式规范文件。

-8061
多条线路上,不应定义表行。
说明。一排表中的容器中的所有列必须是在一个单一的线。
解决方案。使用SCROLLGRID,如果你想显示多条线路上的行细胞。

-8062
DOM(UI):插入删除节点是不允许的。
说明。这是不可能插入一个AUI文件中删除的节点。
解决方案。审查代码。

-8063
客户端连接超时,退出程序。
说明。运行时系统无法建立一个给定的时间后前端的连接。这可能发生,例如在文件传输时,前端花费太多的时间来回答的运行系统。
解决方案。检查您的网络连接工作正常。

-8064
文件传输中断。
说明。中断的文件传输过程中被抓获。
解决方案。文件不能转移,你需要重新操作。

-8065
网络文件传输过程中的错误。
说明。一个套接字错误的文件传输过程中被抓获。
解决方案。检查您的网络连接工作正常。

-8066
无法写入目标文件,文件传输。
说明。运行时系统无法写入为转移的目标文件。
解决方案。确保文件的路径是正确的,并检查该用户具有写权限。

-8067
无法读取源文件,文件传输。
说明。运行时系统无法读取源文件的传输。
解决方案。确保文件的路径是正确的,并检查该用户的读取权限。

-8068
文件传输协议错误(无效状态)。
说明。运行时系统的文件传输过程中遇到的问题。
解决方案。网络故障可能引发这个错误。

-8069
文件传输无法使用。
说明。不支持文件传输功能。
解决方案。确保前端支持文件传输。

-8070
本地化的字符串文件名'已损坏。
说明。所示的字符串资源文件是无效的(可能是无效的多字节字符损坏的文件)。
解决方案。检查区域设置(郎),确保STR源使用有效的字符,并重新编译。

-8071
该项目的名称“已不止一次定义。
说明。表单文件定义具有相同名称的相同类型的几个要素。
解决方案。审查形式的文件和使用的唯一标识符。

-8072
声明必须终止';'。
说明。没有终止分号的ESQL / C预处理器指令。
解决方案。添加一个分号结束指令。

-8073
无效的“,包括”指令的文件名。
说明。 include预处理指令使用无效的文件名。
解决方案。检查文件名。

-8074
发现没有相应的&如果与ifdef或ifndef指令及elif指令。
说明。预处理发现:如果没有相应的elif指令。
解决方案。 &ELIF:如果指令之前添加或删除&ELIF。

-8075
编译器插件的名称不能被加载。
说明。 fglcomp无法加载插件,因为它没有被发现。
解决方案。确保插件的存在,并可以载入。

-8076
编译器插件的名称,没有实现所需的接口。
说明。 fglcomp无法加载插件,因为接口是无效的。
解决方案。检查插件对应的编译器的版本。

-8077
'名称'属性已被定义一次以上。
说明。错误消息中显示的变量属性被定义多次。
解决方案。查看变量的定义和删除重复的属性。

-8078
'名称'属性是不允许的。
说明。错误消息中显示的变量属性是不允许这种类型的变量。
解决方案。检讨可能的变量属性。

-8079
解析XML文件时发生错误。
说明。运行时系统无法解析一个XML文件,这可能不是一个有效的XML格式。
解决方案。检查XML格式,错别字,如果可能的话,验证与DTD的XML文件。

-8080
无法打开xml文件。
说明。无法打开指定的XML文件。
解决方案。确保该文件存在并且为当前用户的访问权限。

-8081
已经遇到无效的多字节字符。
说明。编译器在源发现一个无效的多字节字符,并不能编译的窗体或模块。
解决方案。检查区域设置(郎),并确认是否有在你的源代码没有无效字符。

-8082
该项目的名称“是无效的布局上下文中使用。
说明。形式项目名称使用在布局中的一部分,不支持这种形式的项目。发生此错误,例如,当您尝试表列定义为一个按钮。
解决方案。检查您的表单定义文件,并使用正确的项目类型。

posted @ 2022-11-28 13:22  三生有幸格格  阅读(364)  评论(0编辑  收藏  举报