GBase Database Server Messages and Corrections.     Publication Date: August, 2018
Version 2018.08                                        Message Range: 99999 - 99999
#  END OF VERSION INFORMATION
-88307	尝试提供超出程序所支持长度的字符串。

请使用正确大小的字符串。

-88306	无法混用以下标志：<FLAG>

尝试指定互斥标志。

请检查命令行信息并修正命令行。

-88305	标志 <FLAG> 在当前上下文中无效。

指定的标志对于当前操作无效。

请检查命令行信息并修正命令行。

-88304	操作 <ACTION> 无需更多自变量。

您提供的自变量数量超出预期。

请检查命令行信息并修正命令行。

-88303	选项 <COMMAND-LINE-OPTION> 的自变量不足。

选定选项需要比提供的自变量更多的自变量。

请检查命令行信息并修正命令行。

-88302	不允许选项 <COMMAND-LINE-OPTION> 的重复实例。

尝试使用相同选项的多个实例，例如，为单个设备指定多个池
。

请更正命令行信息并重试操作。

-88301	请求的操作 <ACTION> 对于当前菜单无效或者不是正确的操作
。

尝试对当前菜单执行无效操作（例如，使用目录菜单时执行“添加”），或者尝试的所请求操作无效
。

请检查有关命令行选项的信息，并指定正确的信息。

-88300	当前用户无权运行此实用程序。

当前用户无权执行当前操作。

该操作必须由授权用户执行。

-88250	该函数收到无效句柄

这是内部错误，函数接收到无效处理程序，无法继续。此错误不应发生
。

请联系 IBM 支持。

-88196	无法修改设备 <DEVICE-PATH>。

尝试修改设备，但操作返回错误。

请检查系统中是否存在设备路径和池的组合，更正所有错误，然后重新提交命令；或者检查其他错误
。

-88195	无法删除包含设备的池。

尝试删除包含设备的池。

请删除该池下的设备，然后重试操作。

-88194	无法删除系统池。

尝试删除系统池。

请检查手册中的系统池列表，这些系统池无法删除或修改。

-88193	未能从系统中删除池

尝试从系统删除池时发生错误

请检查错误并联系 IBM 支持。

-88192	未能将池添加到系统中

尝试向系统添加池时发生错误

请检查错误并联系 IBM 支持。

-88191	未能生成系统中池的列表

尝试创建系统中池的列表时发生错误

请检查错误并联系 IBM 支持。

-88190	未能打开 GBasedbt PSM 会话。

尝试打开 GBasedbt PSM 会话时发生错误。

请检查错误并联系 IBM 支持。

-88189	关闭 GBasedbt PSM 会话失败。

尝试关闭 GBasedbt PSM 会话时发生错误。

请检查错误并联系 IBM 支持。

-88188	指定的池类型 <POOL-TYPE-NAME> 无效。

为请求的操作提供的池类型不正确。

请检查手册以获取有效池类型的列表。

-88187	尝试删除的池不存在。

尝试从系统删除的池不存在。

请检查现有池的列表，验证拼写和语法，然后重试操作。

-88186	在程序中发现缺陷。请联系 IBM 支持。

程序中发现编程错误。此错误绝不应发生。

请记下该错误的所有情况，并立即联系 IBM 支持。

-88185	尝试创建新池时发生错误。

池创建失败。

请参阅关联的错误并更正该情况。

-88184	该池名称在系统中已经存在。

尝试创建的池在系统中已经存在。

删除现有池，或重试操作，或更改要创建的池的名称。

-88183	无法获取对象的下一个顺序标识。

GBasedbt PSM 尝试生成一个序列号以在表中插入一条新记录，但发生错
误

请重试操作，如果问题仍然存在，请联系 IBM 支持。

-88182	XBSA 资源类型 <RESOURCE-TYPE> 未知。

指定的 XBSA 资源类型对于系统未知。

请参阅产品文档并使用受支持的 XBSA 资源类型。

-88181	在此平台中不支持类型为 <DEVICE-TYPE> 的设备。

有些设备类型并不是在所有平台中都受支持。例如，在 Windows 操作系统中，不支持磁带设备
。

请参阅产品文档并使用受支持的设备类型。

-88180	目录中的现有 <CATALOG-VERSION> 不同于 <CATALOG-VERSION>。

GBasedbt PSM 目录是使用不同版本的 Primary Storage Manager 创建的，因此无法继续处理
。

请使用当前 GBasedbt PSM 发行版重新创建目录。

-88168	从设备规范文件装入设备失败。

操作程序尝试从设备规范文件创建一组设备，但操作失败。

请检查随附的消息并更正该情况。

-88167	设备规范文件在第 <LINE-NUMBER> 行处有语法错误。

设备规范文件中的语法不正确。

已忽略语法的违规部分。请更正语法并再次运行命令。

-88166	为设备指定的优先级无效。

为设备指定的优先级无效。

请为设备的优先级指定有效值。

-88165	设备路径的长度超出 <NUMBER> 个字节。

指定的设备路径过长。

请为设备的完整路径指定有效值。

-88164	指定的设备类型无效。

指定的设备类型无效。

请复审设备类型信息，并为设备类型指定有效值。

-88163	指定的池无效。

指定的池无效。

请重新检查所需的信息，然后为池指定有效值。

-88162	系统无法将指定的设备 <DEVICE PATH> 插入 GBasedbt PSM 目录中
。

无法将操作或命令中指定的设备插入 GBasedbt PSM 目录中。

请检查关联的错误，以获取与此问题相关的更多信息。

-88161	字符串 <STRING> 的长度太大，无法放入 <NUMBER> 个字节。

我们想要分配给字符串的值超出字符串变量的大小。

请更正值，然后使用正确的格式重试该操作。

-88160	转换后的字符串 <STRING> 不能为一个 INT4 整数。

我们正在尝试将一个字符串转换为 INT4，但值太大。

请更正这些值，然后重试操作。

-88152	错误 -88152：<LIBRARY-PATH> 处的 XBSA 共享库看起来不适用于 GBase Primary Storage Manager
。

指定位置的 XBSA 库不适用于 Primary Storage Manager。

请检查 BAR_BSALIB_PATH 配置参数以及系统中 ON-Bar 共享库的缺省位置
。

-88151	警告 -88151：无法装入 <LIBRARY-PATH> 处的 XBSA 共享库。

无法装入指定位置的 XBSA 库。

请检查随附的系统错误并更正该情况。

-88150	警告 -88150：未设置 BAR_BSALIB_PATH 配置参数。

在 onconfig 文件中未设置 BAR_BSALIB_PATH 参数。因此，ON-Bar 和与其相关的所有实用程序使用的是缺省路径，其值因系统而异。这可能导
致在识别要使用的库的位置时发生问题。

必须设置 BAR_BSALIB_PATH 配置参数才能指定 ON-Bar 和相关实用程序要使用的 XBSA 库。必须在 onconfig 文件中明确设置此项
。

-88134	错误 -88134：尝试分配内存以存储“PSMCONFIG”环境变量的值失败
。

该环境变量的值可能无效或已损坏。系统的内存可能极低。

请检查“PSMCONFIG”环境变量的值。请检查以确保系统的内存不过低
。

-88133	错误 -88133：尝试分配内存以存储“ONCONFIG”环境变量的值失败
。

该环境变量的值可能无效或已损坏。系统的内存可能极低。

请检查“ONCONFIG”环境变量的值。请检查以确保系统的内存不过低
。

-88132	错误 -88132：尝试分配内存以存储“GBASEDBTDIR”环境变量的值失败
。

该环境变量的值可能无效或已损坏。系统的内存可能极低。

请检查“GBASEDBTDIR”环境变量的值。请检查以确保系统的内存不过低
。

-88131	错误 -88131：未设置环境变量“GBASEDBTDIR”。

存储管理器尝试获取表的索引信息，但失败。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88130	错误 -88130：GBasedbt PSM 初始化失败。

存储管理器尝试获取表的索引信息，但失败。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88119	导入文件在第 <LINE NUMBER> 行的列数不正确。

正在用于装入目录表的卸载文件具有不正确的列数。

请检查文件是否损坏，然后进行修复或使用另一个装入文件
。

-88118	尝试擦除表 <TABLE NAME> 失败。

GBasedbt PSM 尝试擦除目录表，但遇到错误。

请检查关联的错误。

-88117	尝试装入表 <TABLE NAME> 失败。

GBasedbt PSM 尝试装入目录表，但遇到错误。

请检查关联的错误。

-88116	目录导入操作异常中止。

多个问题可能会导致此问题，包括已存在的目录。

请检查关联的错误，然后更正该情况并重新运行该操作。

-88115	GBasedbt PSM 目录已损坏。

GBasedbt PSM 目录已损坏。缺少表或现有表已损坏。

手动检查 GBasedbt PSM_CATALOG_PATH 目录中没有缺少表。请运行“onGBasedbt PSM -C check”命令。如果这并不能解决问
题，请导回目录。

-88114	GBasedbt PSM 目录缺失

GBasedbt PSM 目录不在指定的目录中

GBasedbt PSM 将尝试创建目录。

-88113	目录表 <TABLE NAME> 不存在。

尝试打开目录表失败，因为该表缺失。

请检查随附的错误号并更正该情况，然后重试命令。

-88112	无法对池 <POOL NAME> 中的“HIGHEST”优先级设备降级。

GBasedbt PSM 尝试将池中标识为具有 HIGHEST 优先级的设备降级至优先级“HIGH”，但返回错误
。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88111	无法获取目录表 <TABLE-NAME> 的索引信息。

GBasedbt PSM 尝试获取表的索引信息，但失败。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88110	无法从目录表 <TABLE-NAME> 进行读取。

存储管理器尝试读取指定目录表中的一条或多条记录，但遇到错误
。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88109	无法更新到目录表 <TABLE-NAME>。

存储管理器尝试更新指定目录表中的一条或多条记录，但遇到错误
。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88108	错误 -88108：无法从目录表 <TABLE-NAME> 删除记录。

存储管理器尝试从指定目录表删除一条或多条记录，但遇到错误
。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88107	错误 -88107：无法将记录插入目录表 <TABLE-NAME> 中。

存储管理器尝试将一条或多条记录插入指定目录表中，但遇到错误
。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88106	错误 -88106：无法构建目录表 <TABLE-NAME> 的新索引。

存储管理器尝试构建指定目录表的索引，但遇到错误。

请检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88105	错误 -88105：无法锁定目录表 <TABLE-NAME>。

尝试锁定目录表失败，返回了 C-ISAM 错误号或操作系统错误号。此错误的一个原因是为 GBasedbt PSM 设置的锁定超时过短或不够长
。

请检查随附的错误号并更正该情况，然后重试命令。如果关联的 C-ISAM 错误是 ELOCKED 或 EFLOCKED，请尝试延长配置参数 GBasedbt 
PSM_TIMEOUT。

-88104	错误 -88104：无法关闭表 <TABLE-NAME> 的目录表描述符 <FILE-DESCRIPTOR>
。

尝试关闭目录表失败，返回了 C-ISAM 错误号或操作系统错误号
。

请检查随附的错误号并更正该情况，然后重试命令。

-88103	错误 -88103：无法打开目录表 <TABLE-NAME>。

尝试打开目录表失败，返回了 C-ISAM 错误号或操作系统错误号
。

请检查随附的错误号并更正该情况，然后重试命令。

-88102	在 <DIRECTORY> 处创建 GBasedbt PSM 目录失败。

GBasedbt PSM 尝试在指定目录中创建 GBasedbt PSM 目录表，但失败
。

请检查关联的错误消息并解决问题。请在 GBasedbt PSM_CATALOG 配置参数或环境变量的值中检查目录位置
。

-88101	无法创建目录表

请检查 GBasedbt PSM 配置参数所指向的 GBasedbt PSM 编目目录（缺省情况下为 $GBASEDBTDIR/etc/psm）的访问许可权。请
检查关联的操作系统和/或 C-ISAM 错误，并更正该情况。

-88058	无法删除指定的设备 <DEVICE-PATH>。

发生了错误，导致存储管理器无法删除指定的设备。

请检查随附的错误并修正该情况。

-88057	指定的设备不属于指定的池。

该设备或池不正确。

请更正提供的设备或池。

-88056	操作 (<OPERATION>) 中请求的设备不存在。

尝试对不存在的设备执行操作。例如，尝试删除不存在的设备
。

请使用正确的设备或池重新提交命令。

-88035	没有任何设备可用于在池 <POOL-NAME> 中安装。

要求存储管理器为指定的池安装卷，但找不到任何设备。

请确定为指定的池创建了设备。另请确定给定池的设备可用
。

-88023	错误 -88023：无法打开设备定义文件 <TEXT-FILE>。

尝试打开 GBasedbt PSM 设备定义文件失败。

请检查关联的操作系统错误代码。

-88022	错误 -88022：无法删除设备 <DEVICE-PATH>，因为它正在使用中
。

GBasedbt PSM 未能删除指定的设备，因为它正在使用中。

请等待设备处于空闲状态，然后重试操作。

-88021	无法更新设备 <DEVICE-PATH>，因为它正在使用中。

无

无

-88020	设备 <DEVICE-PATH> 的介质大小无效。

为设备指定的介质大小不正确。

请修正介质大小并重试操作。

-88019	设备 <DEVICE-PATH> 的块大小无效。

为设备指定的块大小不正确。

请修正块大小并重试操作。

-88018	指定的设备类型 <DEVICE-TYPE> 无效。

指定的设备类型未知。

请为设备类型提供有效值。

-88017	指定的池 <POOL-NAME> 无效

指定的池未知。

请为池提供有效值。

-88016	提供的池是空的。

操作需要有效的池名称。

请提供有效的池名称并重试操作。

-88015	必须为设备类型 %s 指定块大小。

指定的设备类型需要块大小。

请提供块大小并重试操作。

-88014	创建新设备时，需要设备类型。创建新设备时，需要设备类型
。

请提供设备类型（FILE 或 TAPE）并重试操作。

-88008	指定的路径 <PATH> 不是目录或不存在。

GBasedbt PSM 尝试打开不存在的目录。

请更正该情况，然后尝试再次运行该命令。

-88006	发生未指定的错误，

发生一般意外错误。

请检查其他错误和配置，如果问题仍然存在，请联系 IBM 支持
。

-88004	无法将文件或目录重命名为 <PATH>。

GBasedbt PSM 尝试重命名文件或目录，但尝试失败。

请检查关联的操作系统错误并更正该情况。

-88003	无法在 <PATH> 处创建文件或目录。

GBasedbt PSM 尝试创建文件或目录，但尝试失败。

请检查关联的操作系统错误并更正该情况。

-88002	内存分配错误。

尝试从系统中分配内存失败。

请释放部分内存并重试操作。

-88001	C-ISAM 函数 <FUNTION NAME> 返回错误 <ERROR CODE>。

C-ISAM 处理器返回错误。

请检查 C-ISAM 错误代码并更正该情况。

-84502	XA 事务在只读辅助服务器上不受支持。已在只读辅助服务器上运行 XA 事务
。

操作：修改应用程序以阻止 xa start() 函数在只读辅助服务器上运行。或者，使用 UPDATABLE_SECONDARY 配置参数以使辅助服务器变为可更新
。



-84501	主服务器和辅助服务器之间的连接已丢失。

主服务器和辅助服务器之间的连接已丢失。在重新建立连接之前，辅助服务器上的更新将无法执行
。



-84500	尝试更新行的较早版本。

尝试更新行的较早副本。此操作导致可能发生的并发失败。

当使用辅助服务器上的更新且行的当前版本尚未复制到连接的客户机应用程序所在的辅助服务器上时，可能会发生该错误
。



-84221	源的 SQLHOSTS 文件中已存在服务器名称 (<GBasedbt Server>)，但定义不同
。

源服务器的 SQLHOST 文件中已存在指定为快照复制操作目标的服务器名称，且它指向不同的 TCP/IP 端口和/或机器
。

修复 SQLHOSTS 文件并重试操作。



-83975	此 GBase  Database Server 修订版在集群中不支持 <server type> 节点。正在停止连接尝试
。

某些 GBase  Database Server 修订版限制可添加到集群的辅助节点的类型
。

操作：避免将不允许的节点类型添加到集群。



-83974	此 GBase  Database Server 修订版在集群中仅支持 <Number of Nodes> 个节点。正在停止连接尝试
。

某些 GBase  Database Server 修订版限制集群中的节点数。

操作：使节点数始终低于允许值。确保集群中的节点数不超过该修订版支持的最大节点数
。



-83380	无法在辅助服务器上完成归档检查点。

在辅助服务器上尝试了归档检查点但失败。可能的原因包括未设置 LOG_STAGING_DIR 配置参数，或在 BAR_CKPSEC_TIMEOUT 配置参数指定的
时间间隔内未接收到来自主服务器的检查点

操作：检查联机消息日志以获取更多信息并纠正问题。如果检查点超时，可以增加 BAR_CKPTSEC_TIMEOUT 配置参数的值
。



-83353	尝试重新打开并行的整体系统备份失败，返回码为 <error code>
。

这是内部错误。

操作：重试并行的整体系统备份。如果再次失败，请联系 IBM 软件支持
。



-83336	热复原失败，因为编号为 <dbspace number> 的数据库空间已满
。

热复原操作需要临时数据库空间中的空间来写入要复原的临时逻辑日志。指定的数据库空间现在已满，热复原无法继续
。

操作：释放该数据库空间中的空间，或指定其他数据库空间并重新启动复原
。



-79999	消息文本将在以后的发行版中提供。

带有详细消息文本的错误消息将在未来的发行版中提供。


-79896	连接池中的连接数组下标不正确。

连接数组下标不是有效的索引。这是因为应用程序尝试从连接池中除去连接时，数组索引为负数，或者超过池的最大连接大小
。

此问题可能是因 JVM 的资源不足而造成的。请检查是否有任何相关的操作系统消息
。



-79895	无法返回未命名保存点的名称。

JDBC 应用程序尝试对未命名保存点调用 getSavepointName()。如果该保存点已使用 setSavepoint() 方法进行声明，那么 
getSavepointName() 不是有效方法，并将返回此异常。请改为调用 getSavepointId() 方法来返回未命名保存点的数字标识
。



-79894	无法返回命名保存点的数字标识。

JDBC 应用程序尝试对命名保存点调用 getSavepointId()。如果该保存点已使用 setSavepoint(string) 方法进行声明，那么 
getSavepointId() 不是有效方法，并将返回此异常。请改为调用 getSavepointName() 方法来返回保存点的名称
。



-79893	保存点在当前连接中无效。

JDBC 应用程序尝试通过传递无效保存点对象来回滚到保存点（或发布保存点）。必须首先在当前连接中创建保存点，应用程序才可以回滚到该保存点或发布该保存点
。



-79892	回滚到保存点或发布保存点时，保存点不能为空。

JDBC 应用程序尝试通过传递 NULL 保存点对象来回滚到保存点或发布保存点。只有通过 setSavepoint() 方法创建的保存点对象才能传递给用于回滚到
保存点或发布保存点的方法。



-79891	为命名保存点声明的标识不能为空。

JDBC 应用程序尝试通过将空值作为保存点名称传递来设置保存点。对于连接，保存点名称不能为空。setSavepoint(string) 方法。如果要创建未命名保
存点，请改为使用 setSavepoint() 方法。



-79890	无法在 XA 事务内设置保存点、回滚到保存点或发布保存点
。

JDBC 应用程序尝试在 XA 事务内创建或引用保存点。但 XA 事务中不支持保存点
。



-79889	在事务处于自动落实方式时，无法设置保存点、回滚到保存点或发布保存点
。

JDBC 应用程序尝试在自动落实事务方式对于连接为 true 时，创建或引用保存点。在尝试设置保存点、回滚到保存点或发布保存点之前，该应用程序需要确保自动落实为
false。缺省情况下，JDBC 中的自动落实对于任何支持事务记录的 IDS 数据库的连接均为 true
。



-79888	对于同一 CallableStatement 对象，同时通过名称和序数位置指定参数
。

CallableStatement 对象指定参数的方式必须一致；即，它必须仅使用获取参数名称（字符串对象）的方法，或者仅使用获取参数序数位置（整数）的方法。混合
使用这两类引用的 CallableStatement 对象会抛出一个 SQLException 对象
。

通过名称或序数位置为特定的 CallableStatement 对象指定参数。



-79887	未找到参数名称。

在指定存储过程的所有参数名称中未找到某个参数名称。参数名称之一无效或者存储过程名称不正确
。

更正参数或过程名称，并再次运行过程。



-79886	PAM 响应消息大小超过所允许的最大大小。

您的应用程序设置的 PAM 响应字符串的长度超过了所允许的最大大小。PAM 标准定义 PAM 消息的最大大小为 512 字节 
(IfxPAMChallenge.PAM_MAX_MESSAGE_SIZE)。请确保您的应用程序提供的 PAM 响应字符串是正确的
。



-79885	PAM 授权失败。

当 JDBC 客户机的 PAM 授权失败时，那么出现此消息。请确保您的应用程序正在用正确的响应字符串响应从启用了 PAM 的服务器接收到的提问消息
。



-79884	类必须为 PAM 功能实现 com.gbasedbt.jdbc.IfmxPAM 接口。

如果类的名称已设置为 FX_PAM_CLASS 属性的值而该类没有实现 com.gbasedbt.jdbc.IfmxPAM 接口，那么出现此消息。为了使用 
PAM 认证机制，JDBC 应用程序需要设置 IFX_PAM_CLASS 连接属性。如果该类被指定为 IFX_PAM_CLASS 连接属性的值，那么应实现 
com.gbasedbt.jdbc.IfmxPAM 接口。



-79883	无法找到或无法装入实现 IfmxPAM 接口的类。

如果 JDBC 驱动程序未能装入由 IFX_PAM_CLASS 连接属性指定的类，那么出现该错误消息。为了使用 PAM 认证机制，JDBC 应用程序将某个类的名
称指定为连接属性。JDBC 驱动程序未能装入指定的类。请确保指定的类位于 CLASSPATH 中
。



-79882	服务器不支持此方法。

当 JDBC 客户机尝试使用的功能并不受 JDBC 客户机所连服务器版本的支持时，会出现此
错误消息。此功能在服务器的以后版本中可用。您可以迁移到最新的服务器版本以使用此
功能。


-79881	已在本地事务中，所以无法启动 XA 事务。

当 JDBC 应用程序尝试为已与本地事务相关联的连接启动 XA 事务时，则出现此错误消息
。XAResource 不支持嵌套事务。应用程序需要先确保此连接未与其它任何事务相关联，然
后尝试启动 XA 事务。


-79880	无法设置驱动程序的 JDK 版本。

当 JDBC 驱动程序未能确定正在使用哪个版本的 JDK 运行 Java 应用程序时，则出现此消
息。JDBC 驱动程序尝试读取“java.version”系统属性，以查找正在使用哪个 JDK 版本
。请确保 JDBC 驱动程序 JAR 具有必要的特权来访问“java.version”系统属性。


-79879	抛出一个意外异常。关于详细信息，请参阅下一个异常。

当 JDBC 驱动程序遇到在正常事件过程中未预料到的异常时，则出现此消息。与此异常相
链接的另一异常包含有关发生的意外错误情况的进一步信息。


-79878	ResultSet 没有打开，操作“next”未被允许。请验证 autocommit 处于 OFF 状
态

当应用程序尝试使用已关闭的 ResultSet 访存某一行时，则出现此消息。请确保正在使用
中的 ResultSet 未关闭（无论是自动还是显式）。当生成 ResultSet 对象的 Statement 
对象关闭、重新执行或用于检索一系列结果中的下一个结果时，ResultSet 对象自动关闭
。


-79877	用于设置最大字段大小的参数值无效。

当应用程序尝试将最大字段大小设置为负值时，则出现此错误。调用 Statement 对象的 
setMaxFieldSize() 方法时，应用程序传递非负的整数请确保


-79868	ResultSet 未打开，操作未被允许。

当应用程序尝试调用的 ResultSet 对象的某一方法，而此 ResultSet 关闭时，则发生此
错误。该方法仅能在打开的 ResultSet 对象上进行调用。请确保正在使用中的 
ResultSet 对象尚未隐式或显式关闭。


-79865	Statement 已关闭。

当应用程序尝试调用已关闭的 Statement 对象某一方法时，则发生此错误。请确保 
Statement 对象尚未关闭。


-79864	语句长度超过最大值。

应用程序已发出 SQL PREPARE、DECLARE 或 EXECUTE IMMEDIATE 语句，
其长度超过了数据库服务器所能处理的长度。长度限制根据实施情况有所不同，
但大多数情况下，最多不能超过 32,000 个字符。

检查程序逻辑，以确保错误还没有使应用程序显示一个其长度超过预期长度的字符串。
如果文本的长度符合要求，请修正应用程序，使之一次显示更少的语句。

该错误与数据库服务器返回的错误 -460 是相同的。







-79863	UDTMetaData 中未设置 UDT 字段长度。

应用程序通过调用 UDTMetaData.setFieldType() 指定了字符、
日期时间或间隔数据类型的字段，但无法指定字段长度。

调用 UDTMetaData.setFieldLength() 设置字段长度。




-79862	UDT 字段类型无效。

应用程序调用了 UDTMetaData.setFieldType() 并为 opaque 类型
指定了不支持的数据类型。

有关支持的数据类型，请参见《GBasedbt JDBC Driver 程序员指南》。




-79861	指定的 UDT 字段类型没有匹配的 Java 类型。

应用程序调用了 UDTMetaData.setFieldType() 并指定了
与 Java 并非完全匹配的数据类型。以下数据类型属于此类别：

   IfxTypes.IFX_TYPE_BYTE

   IfxTypes.IFX_TYPE_TEXT

   IfxTypes.IFX_TYPE_VARCHAR

   IfxTypes.IFX_TYPE_NVCHAR

   IfxTypes.IFX_TYPE_LVARCHAR

应该使用 IFX_TYPE_CHAR 或 IFX_TYPE_NCHAR；
这些数据类型映射到 java.lang.String。




-79860	二义性的 java 类型 - 不能使用 Object/SQLData 作为方法参数。

要注册为 UDR 的一个或多个方法参数是 java.lang.Object 
或 java.sql.SQLData 类型。这些 Java 数据类型可以映射为
多个 GBasedbt 数据类型，所以，驱动程序无法选择类型。

不要将 java.lang.Object 或 java.sql.SQLData 用作方法参数。




-79859	UDT 字段号无效。

应用程序调用了 UDTMetaData.setXXX() 或 UDTMetaData.getXXX() 方法，
并指定了小于 0 或大于通过 UDTMetaData.setFieldCount() 方法设置的值的字段号。




-79858	删除客户机上的文件的命令失败。

如果 UDTMetaData.keepJavaFile() 未被调用或设置为 FALSE，
驱动程序将在执行 UDTManager.createUDTClass() 方法时
删除生成的 .java 文件。如果驱动程序无法删除 .java 文件，
就会出现此错误。




-79857	支持函数类型无效。

只有应用程序调用 UDTMetaData.setSupportUDR() 方法并为
类型参数传递不在 0 到 7 之间的整数时，才会出现该错误。

使用为支持 UDR 类型定义的常数。有关详细信息，
请参见《GBasedbt JDBC Driver 程序员指南》。




-79856	数据库中不存在指定的 UDT。

应用程序调用了 UDTManager.removeUDT(String sqlname) 
从数据库中删除名为 sqlname 的 opaque 类型，
但数据库中不存在具有该名称的 opaque 类型。




-79855	未找到指定的 UDT java 类。

应用程序调用了 UDTManager.createUDT() 方法，
但驱动程序无法找到具有您为第三个参数指定的名称的类。




-79854	UDT java 类必须执行 java.sql.SQLData 接口。

应用程序调用了 UDTManager.createUDT() 来创建其类定义
不执行 java.sql.SQLData 接口的 opaque 类型。
UDTManager 不能从不执行该接口的类创建 opaque 类型。




-79853	没有要放入 jar 的类文件。

应用程序调用了 createJar() 方法并为类名参数传递了一个长度为零的字符串。

方法签名如下所示：

   createJar(UDTMetaData mdata, String[] classnames)




-79852	UDTMetaData 中未设置 UDT 字段名或字段类型。

应用程序调用了 UDTManager.createUDTClass()，
但事先没有在定义 opaque 类型的数据结构中
为每个字段指定字段名和数据类型。

通过调用 UDTMetaData.setFieldName() 指定每个字段名。
通过调用 UDTMetaData.setFieldType() 来指定每个字段的数据类型。




-79851	UDTMetaData 中未设置 UDT 长度。

在事先未指定 opaque 类型长度的情况下，
应用程序调用了 UDTManager.createUDTClass()。

通过调用 UDTMetaData.setLength() 来指定 opaque 类型的总长度。




-79850	UDTMetaData 中未设置 UDT 字段计数。

在事先没有在定义 opaque 类型的内部数据结构中指定字段数的情况下，
应用程序调用了 UDTManager.createUDTClass()。

调用 UDTMetaData.setFieldCount() 来指定字段数。




-79849	UDTMetaData 中未设置 UDT SQL 名称。

应用程序无法调用 UDTMetaData.setSQLName() 来指定 opaque 类型的 SQL 名称。




-79848	系统目录中已存在相同的 UDT SQL 名称。

应用程序调用了 UDTMetaData.setSQLName() 并
指定了数据库服务器中已存在的名称。




-79847	javac 或 jar 命令失败。

在以下情况之一，驱动程序遇到了编译错误：

   使用 jar 命令将 .class 文件编译成 .jar 文件，
以响应来自 JDBC 应用程序的 createJar() 命令。

   使用 javac 和 jar 命令将 .java 文件编译成 .class 文件和 .jar 文件，
以响应对来自 JDBCfiles 应用程序的 UDTManager.createUDTClass() 方法的调用。




-79846	JAR 文件名无效。

应用程序指定为 UDTManager.createUDT() 或 UDRManager.createUDRs() 的
第二个参数的客户端 JAR 文件必须以 .jar 扩展名结尾。




-79845	客户机上的 JAR 文件不存在或不能读取。

出现该错误的原因有以下几种：

   创建客户端 JAR 文件失败。

   为客户端 JAR 文件指定的路径名不正确。

   运行 JDBC 应用程序的用户或连接中指定的用户没有打开或
读取客户端 JAR 文件的权限。




-79844	不能创建/删除 UDT/UDR，因为连接中未指定数据库。

在未指定数据库的情况下，应用程序创建了连接。

以下示例建立了一个连接，并打开一个名为“test”的数据库：

   url = "jdbc:gbasedbt-sqli:myhost:1533/test:" +

   "gbasedbtserver=myserver;user=rdtest;password=test";

   conn = DriverManager.getConnection(url);

以下示例建立了一个连接，但未打开任何数据库：

   url = "jdbc:gbasedbt-sqli:myhost:1533:" +

   "gbasedbtserver=myserver;user=rdtest;password=test";

   conn = DriverManager.getConnection(url);

要解决该问题，请在建立连接后以及调用 reateUDT() 或
 createUDRs() 方法前使用以下 SQL 语句：

   Statement stmt = conn.createStatement();

   stmt.executeUpdate("create database test ...");

或者，使用以下代码：

   stmt.executeUpdate("database test");




-79843	UDR/UDT 元数据中未设置 JAR 文件的 SQL 名称。

在未指定 JAR 文件（该文件包含数据库服务器要注册的 opaque 类型或 UDR）
的 SQL 名称的情况下，应用程序调用了
 UDTManager.createUDT() 方法或 UDRManager.createUDRs() 方法。

调用 UDTManager.createUDT() 或 UDRManager.createUDRs() 方法前，
通过调用 UDTMetaData.setJarFileSQLName() 或
 UDRMetaData.setJarFileSQLName() 方法来指定 JAR 文件的 SQL 名称。




-79842	UDRMetaData 中未设置 UDR 信息。

在未指定数据库服务器要注册的任何 UDR 的情况下，
应用程序调用了 UDRManager.createUDRs() 方法。

调用 UDRManager.createUDRs() 方法前，通过调用
 UDRMetaData.setUDR() 来指定数据库服务器要注册的 UDR。




-79841	连接池数据源的调整参数无效或不一致

GBase  JDBC 驱动程序遇到无效的连接池数据源属性值。请确保应用程序正在使用
有效值设置连接池数据源属性。有关有效值的详细信息，请参阅 GBase  JDBC 
Programmer's Guide。


-79840	无法将 JAR 文件从客户机复制到服务器。

GBasedbt 用户或 JDBC 连接中指定的用户不能写入
使用 setJarTmpPath() 设置的路径名时，会出现该错误。

请确保任何用户都能读写该路径名。




-79839	系统目录中已存在相同的 Jar SQL 名称。

应用程序调用 UDTManager.createJar() 时指定的 JAR 文件名
已在数据库服务器中注册。

使用 UDTMetaData.setJarFileSQLName() 为 JAR 文件
指定一个不同的 SQL 名称。




-79838	不能执行更改权限命令 (chmod/attrib)。

驱动程序不能更改对客户端 JAR 文件的权限。
如果客户端平台不支持 chmod 或 attrib 命令，
或者如果运行 JDBC 应用程序的用户没有被授权
更改对客户端 JAR 文件的存取权限，会发生该错误。

确保 chmod 或 attrib 命令可用于您的平台，
且运行该应用程序的用户已被授权更改对客户端 JAR 文件的存取权限。




-79837	代理错误：与数据库通信时发生了输入/输出错误。

如果代理与数据库通信时检测到错误，则 GBasedbt HTTP 代理会出现该错误。
如果数据库服务器不可访问，会出现该错误。

确保数据库服务器可访问。检查数据库和 Web 服务器错误日志。




-79836	代理错误：没有数据库连接。

如果试图与无效的或错误的数据库连接上的数据库进行通信，
GBasedbt HTTP Proxy 会产生该错误。

确保应用程序已打开到数据库的连接。
检查Web 服务器和数据库错误日志。




-79835	RowSet 设置为 ReadOnly。

当应用程序尝试针对只读的 RowSet 执行更新／插入或删除操作时，则产生此错误。请确
保正在使用中的 RowSet 不是只读的。


-79834	该服务器不支持分布式事务（XA）。

当应用程序尝试对不支持分布式事务的服务器打开 XA 连接时，则产生此错误。确保应用
程序正在连接的服务器支持分布式事务。


-79833	Netscape 异常！启用特权时遇到未知异常。

当 GBase  JDBC 驱动程序未能执行具有特权限定的操作时，则将产生此错误。请检
查 java 安全策略文件，以确保已授予了必要的特权。


-79832	Netscape 异常！用户拒绝了连接许可权。

用户没有连接许可权。


-79831	超过了为“连接池管理器”配置的最大连接数。

如果使用 DataSource 对象重复连接到数据库而没有关闭连接，
连接将累加起来。DataSource 对象的连接总数超过最大限制 (100) 时，
会出现该错误。




-79830	为建立“时间”或“时间戳”Java 对象提供的信息不足。

为了使字符串很好地完成建立 java.sql.Timestamp 或
 java.sql.Time 对象所需的二进制转换，
必须为所选的日期字符串表示指定所有的 DATETIME 字段。

对于 java.sql.Timestamp 对象，在字符串表示中指定
年、月、日、小时、分钟和秒部分。

对于 java.sql.Time 对象，在字符串表示中指定小时、分钟和秒部分。




-79829	用于 GL_DATE 环境变量的指令无效。

不允许使用 GL_DATE 环境变量指定的一条或多条命令。

有关 GL_DATE 格式的有效指令的列表，
请参见《GBasedbt JDBC Driver 程序员指南》。




-79828	指定的函数参数不是 OUT 参数。

GBasedbt 函数只能有一个 OUT 参数，且该参数总是最后一个参数。




-79827	函数没有输出参数。

该函数没有 OUT 参数，或该函数有 OUT 参数，
但服务器版本不返回该参数的值。
CallableStatement 接口中的所有方法都不适用。

使用从 PreparedStatement 接口继承的方法。




-79826	二义性的 java.sql.Type。
使用 IfxRegisterOutParameter()。

指定的 SQL 类型要么没有任何映射为 GBasedbt 数据类型，
要么有多个映射。

使用 IfxRegisterOutParameter() 方法之一指定 GBasedbt 数据类型。




-79825	该数据类型要求类型名。

该数据类型是 opaque 类型、distinct 类型或 complex 类型，
它要求有名称。

将设置方法用于 IN 参数，将注册方法用于 OUT 参数，
其中 OUT 参数使用一个类型名作为参数。




-79824	尚未设置 OUT 参数。

使用 CallableStatement 接口指定的函数的一个 OUT 参数尚未设置。

如果要设置空的 OUT 参数，调用 setNull() 或 IfxSetNull() 方法。
否则，调用从 PreparedStatement 接口继承的设置方法之一。




-79823	尚未设置 IN 参数。

使用 CallableStatement 接口指定的函数的 IN 参数尚未设置。

如果要设置空的 IN 参数，调用 setNull() 或 IfxSetNull() 方法。
否则，调用从 PreparedStatement 接口继承的设置方法之一。




-79822	尚未注册 OUT 参数。

使用 CallableStatement 接口指定的函数的 OUT 参数尚未注册。

调用 executeQuery() 方法前，
调用 registerOutParameter() 或 IfxRegisterOutParameter() 方法
之一来注册 OUT 参数类型。




-79821	该数据类型不需要名称。

指定的数据类型不需要名称。

使用不含类型参数的其它方法。

如果数据类型要求名称（opaque 类型或 complex 类型），
您必须调用具有可指定名称的参数的方法，例如以下方法：

   public void IfxSetNull(int i, int ifxType, String name)

   public void registerOutParameter(int parameterIndex, int sqlType, java.lang.String name);

   public void IfxRegisterOutParameter(int parameterIndex, int ifxType, java.lang.String name);




-79820	函数包含输出参数。

已传入包含 OUT 参数的语句，
但尚未使用驱动程序 CallableStatement.registerOutParameter() 和
 getXXX() 方法处理 OUT 参数。




-79819	仍处于“插入”模式。先调用 moveToCurrentRow()。

仍处于“插入”模式的情况下，不能调用 updateRow() 或 deleteRow() 方法。

先调用 moveToCurrentRow()。




-79818	语句并发类型未设置为 CONCUR_UPDATABLE。

试图为尚未用 CONCUR_UPDATABLE 并发类型创建的语句调用
 insertRow()、updateRow() 或 deleteRow() 方法。

使用该类型设置重新创建语句，使之具有并发属性。




-79817	该语句中未指定任何序列、行 ID 或主键。

可更新的滚动特性只对查询中指定有 SERIAL 字段、主键或行 ID 的表有效。
如果表没有以上内容中的任何一种，就不能创建可更新的滚动游标。




-79816	不能确定表名

查询中的表名要么不正确，要么引用的表不存在。




-79815	不处于“插入”模式。需要先调用 moveToInsertRow()。

试图使用 insertRow() 方法，但模式未设置为“插入”。

调用 insertRow() 前，先调用 moveToInsertRow() 方法。




-79814	Blob/Clob 对象要么被关闭，要么无效。

如果使用 ResultSet.getBlob() 或 ResultSet.getClob() 方法
检索智能大对象或使用 IfxBlob() or IfxCblob() 构造函数创建一个智能大对象，
将打开一个智能大对象。然后可以读取或写入智能大对象。

执行 IfxBlob.close() 方法后，不要使用智能大对象句柄进行进一步的读/写操作，
否则会出现该例外。




-79813	在 executeQuery() 之后无法调用 setBindColType()。

GBase  JDBC 驱动程序允许应用程序指定 resultset 值的输出类型，这样服务器可
在返回给客户机之前强制转换到该类型。然而，输出类型需要在查询执行之前指定。当应
用程序尝试在执行了查询之后指定输出类型时，则发生此错误。


-79812	用户名/口令与 Datasource 不匹配。

为 DataSource 对象调用了 getConnection(user, passwd) 方法，
但提供的值与数据源中已找到的值不匹配。




-79811	不支持没有用户名/口令的连接。

为 DataSource 对象调用了 getConnection() 方法，但用户名或口令为空。

使用 getConnection() 方法中的用户名和口令参数
或在 DataSource 对象中设置这些值。




-79810	该版本的 JDBC 要求与 JDK 1.2+ 一起运行。

GBasedbt JDBC Driver 2.x 版要求 1.2 版或更高版本的 JDK。




-79809	日期字符串的 %x 指令表示中指定的标记不够。

出现该错误的原因在于，指定的日期字符串中，
构成基于 GL_DATE %x 指令的有效日期值所需的标记数或分隔符数不正确
（要求的格式基于日、月和年部分，且这些部分的排序由指定的区域决定）。
例如，对于美国英语区域，12/15/98 是基于 GL_DATE %x 指令的有效日期
字符串表示，但 12/1598 不是有效的日期字符串表示，因为缺少分隔符或标记。

要解决该问题，请修改日期字符串表示，
使之包括基于区域的 GL_DATE %x 指令的有效格式。




-79808	日期字符串的 %D 指令表示中指定的标记不够。

出现该错误的原因在于，指定的日期字符串中，
构成基于 GL_DATE %D 指令的有效日期值（mm/dd/yy 格式）
所需的标记数和分隔符数不正确。
例如，12/15/98 是基于 GL_DATE %D 指令的有效日期字符串表示，
但 12/1598 不是有效的日期字符串表示，因为缺少分隔符或标记。

要解决该问题，请修改日期字符串表示，使之包括 GL_DATE %D 指令的有效格式。




-79807	数字月份值不能通过基于 DBDATE 的日期字符串确定。

出现该错误的原因在于，指定的日期字符串没有按 DBDATE 格式字符串设置的要求指定有效的数字月份值。
 例如，如果 DBDATE 设置为 Y2MD-，但指定的日期字符串表示是 98-nn-15，
这就是错误，因为 nn 不是有效的数字月份表示。

要解决该问题，请修改日期字符串表示，
使之包括基于 DBDATE 格式字符串设置的有效数字月份表示 (1-12)。




-79806	数字的日子值不能通过基于 DBDATE 的日期字符串确定。

出现该错误的原因在于，指定的日期字符串没有按 DBDATE 格式字符串
设置要求指定有效的数字日子值。例如，如果 DBDATE 设置为 Y2MD-，
但指定的日期字符串表示为 98-nn-12，这就是错误，
因为 nn 不是有效的数字日子值表示。

要解决该问题，请修改日期字符串表示，
使之包括基于 DBDATE 格式字符串设置的有效数字日子值表示 (1-31)。




-79805	日期值的 DBDATE/GL_DATE 字符串表示中未找到纪元表示。

出现该错误的原因在于，指定的日期字符串没有按 DBDATE 或
 GL_DATE 格式字符串设置要求指定有效的纪元。
例如，如果 DBDATE 设置为 Y2MDE-，
但用户指定的日期字符串表示为 98-12-15，这就是错误，
因为日期字符串值的末尾没有指定任何纪元表示。

要解决该问题，请修改日期字符串表示，
使之包括基于 DBDATE 或 GL_DATE格式字符串设置的有效纪元表示。
在此示例中，根据区域设置，98-12-15 AD 的日期字符串表示可能会满足要求。




-79804	日期值的 DBDATE 字符串表示中未能再找到标记。

出现该错误的原因在于，指定的日期字符串不再包含构成
基于 DBDATE 格式字符串的有效日期值（年、月和日数字部分的组合）
所需的标记和分隔符。例如，DBDATE 设置为 MDY2/ 时，
12/15/98 是有效的日期字符串表示。
但是，12/1598 不是有效的日期字符串表示，因为缺少分隔符或标记。

要解决该问题，请修改日期字符串表示，使之包括有效的格式，
对基于 DBDATE 格式字符串设置的日期值的日、月和年部分进行分隔。




-79803	对日期格式进行语法分析以建立“日期”对象期间，
日期字符串索引超出允许的范围。

出现该错误的原因在于，DBDATE 或 GL_DATE 要求的日期字符串格式
与实际定义的日期字符串表示之间没有一一对应关系。
例如，如果 GL_DATE 设置为 %b %D %y，而您指定了‘Oct’字符串，
则 GL_DATE 要求的格式与实际的日期字符串之间一定存在着不匹配。

要解决该问题，请修改 DBDATE 或 GL_DATE 设置的日期字符串表示，
从而使指定的日期格式与要求的日期字符串表示一对一匹配。




-79802	日期值的字符串表示中指定的标记不够。

出现该错误的原因在于，指定的日期字符串不具备构成有效日期值
（年、月和日数字部分的组合）所需的最少标记或分隔符数。
例如，12/15/98 是有效的日期字符串表示，其中斜线表示分隔符或标记。
但是，12/1598 不是有效的日期字符串表示，因为缺少分隔符或标记。
要解决该问题，请修改日期字符串表示，使之包括有效的格式，
对日期值中的日、月和年部分进行分隔。




-79801	在 DBDATE 格式字符串中找到无效字符。

出现该错误的原因在于，DBDATE 格式字符串包含一个不被允许的字符。

要解决该问题，请修改 DBDATE 格式字符串，
使之只包括正确的日期部分表示：年 (Y)、数字年份扩展值
（2 或 4）、月 (M) 和日 (D)。您也可以选择包括纪元
表示 (E) 和缺省的分隔符字符（连字符、点或斜线），
在 DBDATE 格式字符串的末尾指定缺省分隔符。
有关正确的 DBDATE 格式字符串字符表示的详细信息，请参阅用户文档。




-79800	数字年份扩展值前未指定‘Y’字符。

出现该错误的原因在于，DBDATE 格式字符串有一个数字年份扩展值
（2 或 4，分别表示两位数字的年份或四位数字的年份），
但指定数字年份扩展字符之前没有直接找到年份表示字符 (Y)。

要解决该问题，请修改 DBDATE 格式字符串，
使之在请求数字年份扩展值之前直接包括所需的 Y 字符。




-79799	在 DBDATE 字符串中字符‘Y’的后面发现无效字符。

出现该错误的原因在于，DBDATE 格式字符串有年份表示（由字符 Y 指定），
但跟在年份表示之后的字符不是 2 或 4（2 和 4 分别表示
两位数字的年份或四位数字的年份）。

要解决该问题，请修改 DBDATE 格式字符串，
使之在 Y 字符之后包括所需的数字年份扩展值。
Y 字符表示的后面应该只有字符 2 或 4。




-79798	DBDATE 字符串中的‘Y’字符之后需要数字年份扩展。

出现该错误的原因在于，DBDATE 格式字符串有年份表示
（由字符 Y 指定），但年份表示的后面没有任何字符
用以表示数字年份扩展（2 或 4）。

要解决该问题，请修改 DBDATE 格式字符串，
使之在 Y 字符之后包括数字年份扩展值。




-79797	DBDATE 设置必须至少有 4 个字符且不超过 6 个字符。

出现该错误的原因在于，传递到数据库服务器的 DBDATE 格式
字符串包含的字符要么太少，要么太多。

要解决该问题，请使用用户文档检验 DBDATE 格式字符串，
确保年、月、日正确无误，且已正确标识 DBDATE 格式字符串
中可能使用的纪元部分。




-79796	不能在数据库中找到 UDT、distinct 行或具名行 (<type-name>)。

getSQLTypeName() 已返回一个数据库中无法找到的名称。

检验 Struct 或 SQLData 对象返回的信息是否正确。




-79795	提供的行扩展 ID (<row-data>) 与行类型信息 (<extended-id>) 不匹配。

行中对象的扩展 ID 与行类型信息中定义的扩展 ID 不匹配。

要么更新行类型信息（如果提供的是行定义），要么检查类型映射信息。




-79794	提供的行长度 (<row-data>) 与行类型信息 (<length>) 不匹配。

行中的数据与行类型信息中的长度不匹配。

您不必增加字符串的长度使之匹配行定义中的长度，
但其它数据类型的长度应该匹配。




-79793	数组中的数据与 getBaseType() 值不匹配。

Array.getArray() 或 Array.getArray(Map) 方法返回一个数组，
其元素类型与 JDBC 基本类型不匹配。




-79792	行必须包含数据。

Array.getAttributes() 或 Array.getAttributes(Map) 方法未返回元素。

确保该方法返回的元素数不为零。




-79791	无效对象。无法插入到 clob/blob 列中。

只要应用程序向 JDBC 驱动程序提供一个无效对象来插入到 clob/blob 列中，IBM 
GBasedbt JDBC 驱动程序即抛出此异常。JDBC 驱动程序尝试确定所提供的 java 对象是否
可用于在 blob/clob 列中插入数据。如果 JDBC 驱动程序发现对象不兼容，则抛出此异常
。请确保应用程序在调用 PreparedStatement::setObject() 方法时传递正确类型的对象
。


-79790	complex 类型定义字符串无效。

getSQLtypeName() 方法返回的值要么为空，要么无效。

检查字符串，以检验该字符串是有效的具名行名称或有效的行类型定义。




-79789	服务器不支持 GLS 变量 DB_LOCALE、CLIENT_LOCALE 或 GL_DATE。

只有数据库服务器支持 GLS 时，才能使用这些变量。

检查您使用的数据库服务器版本的文档，如果不支持这些变量，将其省略。




-79788	必须指定用户名。

建立与 GBasedbt JDBC Driver 的连接时需要用户名。

确保传入 user=your_user_name 作为数据库 URL 的一部分或属性之一。




-79787	尚未从 BLOB/CLOB 列中创建 Blob/Clob 对象。

只要应用程序调用的方法尝试针对不代表智能大对象的对象使用智能大对象功能，IBM 
GBasedbt JDBC 驱动程序即抛出此异常。例如，智能大对象（BLOB 或 CLOB）支持随机存
取数据，而简单大对象（TEXT 或 BYTE）不支持随机存取。请确保正在传递中的对象是从
智能大对象创建而来的。


-79786	无法基于本地化日期字符串表示建立“日期”对象。

CHAR、VARCHAR 或 LVARCHAR列中指定的本地化日期字符串表示不正确，
且无法基于年、月和日值建立日期对象。

检验日期字符串表示是否与 DBDATE 或 GL_DATE 日期格式相符
（如果连接数据库 URL 字符串或属性列表中指定了这两种格式中的一种）。
如果 DBDATE 或 GL_DATE 均未指定，但连接数据库 URL 字符串
或属性列表中显式设置了 CLIENT_LOCALE 或 DB_LOCALE，
请检验日期字符串表示是否与 JDK 短缺省格式 (DateFormat.SHORT) 相符。




-79785	无法将 JDBC 转义格式日期字符串转换成本地化的日期字符串。

必须以格式 {d 'yyyy-mm-dd'} 指定日期值的 JDBC 转义格式。

检验指定的 JDBC 转义日期格式是否正确。检验 DBDATE 和 GL_DATE 设置
是否实现了正确的日期字符串格式（如果以上设置之一设置为
连接数据库 URL 字符串或属性列表中的值）。




-79784	不支持区域设置。

DB_LOCALE 或 CLIENT_LOCALE 变量中输入的区域无效。

有关有效的区域设置，请参见《GBasedbt JDBC Driver 程序员指南》。




-79783	不支持编码或代码集。

DB_LOCALE 或 CLIENT_LOCALE 变量中输入的编码或代码集无效。

有关有效的代码集，请参见《GBasedbt JDBC Driver 程序员指南》。




-79782	只能调用一次方法。

确保对每个结果只调用一次方法，
如 Statement.getUpdateCount() 和 Statement.getResultSet()。




-79781	索引/计数超出范围。

使用索引和计数值调用 Array.getArray() 或 Array.getResultSet()。
要么索引超出范围，要么计数太大。

检验数组中元素数对索引和计数值而言是否足够大。




-79780	集合中的数据必须都是相同的 Java 类且具有相同的长度。

集合数据是不同的 Java 类或长度不同。

检验集合中的所有对象是否是相同的类。




-79779	要将空数据插入某一行中，请使用 java null 表示法。

只要应用程序尝试不正确地设置行列 null，GBase  JDBC 驱动程序即抛出此异常。
请确保使用了 java null 表示法，而不是用以设置 null 数据的对象。


-79778	类型映射类必须是 java.util.Collection 执行。

提供类型映射来忽略集、列表或多集数据类型的缺省值，
但该类未执行 java.util.Collection 接口。




-79777	readObject/writeObject() 只支持 UDT、Distincts 和 complex 类型。

为不是用户定义的 distinct 或 complex 类型调用了 SQLData.writeObject() 方法。

检验是否已提供定制的类型映射信息。




-79776	请求的类型 (<row-data>) 与行类型信息 (<row-element>) 类型不匹配。

行类型信息可通过系统目录或提供的行定义获取。
提供的行数据与该行元素类型不匹配。

必须修改类型信息，或必须提供数据。




-79775	只支持 TYPE_SCROLL_INSENSITIVE 和 TYPE_FORWARD_ONLY。

GBasedbt JDBC Driver 只支持 TYPE_SCROLL_INSENSITIVE 和 TYPE_FORWARD_ONLY 的结果集类型。

只使用这些值。




-79774	无法创建本地文件。

从数据库服务器读取的大对象数据可以存储在内存或本地文件中。
如果 LOBCACHE 值是 0 或大对象的大小大于 LOBCACHE 值，
则来自数据库服务器的大对象数据始终存储在文件中。
在这种情况下，如果发生安全例外，GBasedbt JDBC Driver 
不试图将大对象存储到内存中，从而导致此例外。




-79773	无效的参数。

每当使用无效的参数调用某一方法时，GBase  JDBC Driver 就会抛出此异常。请参阅 JDBC API 文档，以确保向抛出此异常的方法传递
一个有效参数。



-79772	不再有要读取的数据。检验 SQLdata 类或 getSQLTypeName()。

请求的数据多于可用的数据。

检查 SQLData 类，确保它与数据库模式中的类匹配。
SQLTypeName 对象也可能不正确。




-79771	输入值无效。

该数据类型不接受输入值。

确保该输入值对该数据类型有效。




-79770	不能找到 SQLData 或 Struct 中指定的 SQLTypeName。

数据库中不存在 SQLData 或 Struct 类中指定的 SQLTypename 对象。

确保类型名有效。




-79769	该数据类型要求定制的类型映射。

对于 opaque 类型，不存在定制的类型映射。

必须注册定制的类型映射，以使用任何 opaque 类型。




-79768	行值不正确。

已使用值 0 调用 ResultSet.absolute(int) 方法。
参数必须大于 0。




-79767	ResultSet 类型是 TYPE_FORWARD_ONLY。

已调用如 ResultSet.beforeFirst()、ResultSet.afterLast()、ResultSet.first()、ResultSet.last()、ResultSet.absolute()、ResultSet.relative()、ResultSet.current() 或 ResultSet.previous() 这样的方法，但结果集类型是 TYPE_FORWARD_ONLY。

如果结果集类型是 TYPE_FORWARD_ONLY，则只调用 ResultSet.next() 方法。




-79766	Fetch Size 值不正确。

已使用无效值调用 Statement.setFetchSize() 方法。

检验传递的值是否大于 0。如果已调用 setMaxRows 方法，
则 fetch size 值不得超过该值。




-79765	ResultSet 类型是 TYPE_FETCH_FORWARD，
方向只能是 FETCH_FORWARD。

结果集类型已设置为 TYPE_FORWARD_ONLY，
但是已使用非 FETCH_FORWARD 的值调用 setFetchDirection() 方法。

检验指定的方向是否与指定的结果类型一致。




-79764	Fetch Direction 值无效。

无效的 fetch direction 值作为参数已传递到 Statement.setFetchDirection() 或 ResultSet.setFetchDirection() 方法。

检验参数是否是有效的 fetch direction 值之一，
这些值是 FETCH_FORWARD、FETCH_REVERSE 和 FETCH_UNKNOWN。




-79763	只支持 CONCUR_READ_ONLY。

GBasedbt JDBC Driver 只支持 ResultSet.CONCUR_READ_ONLY 方法。

只能使用 CONCUR_READ_ONL 的结果集并发值调用 Connection.createStatement(int, int)、Connection.prepareStatement(String, int, int) 或 Connection.CallableStatement(String, int, int) 方法。




-79762	试图连接到非 5.x 的服务器。

连接到版本 5.x 的数据库服务器时，用户必须将数据库 URL 属性
 USE5SERVER 设置为非空值。如果接着建立到版本 6.0 或
更高版本数据库服务器的连接，将产生该例外。

检验数据库服务器的版本是否正确并根据需要修改数据库 URL。




-79761	“属性”格式无效。

数据库 URL 接受 key=value 对中的属性值。
例如，user=gbasedbt:password=gbasedbt 将传递到
连接对象的 key=value 对添加到属性列表。

检查 key=value 对的语法，看是否有语法错误。
确保只有一个 = 符号；确保 key、value 或 = 之间未被空格分隔；
确保 key=value 对由冒号 (:) 分隔且之间没有空格。




-79760	数据库名无效。

该语句包含某种无效格式的数据库名。

数据库名和游标名的最大长度取决于数据库服务器的版本。
在 GBasedbt 数据库服务器的 7.x、8.x 和 9.1x 版本中，
最大长度是 18 个字符。对于 GBASEDBT-SE，
数据库名不应长于 10 个字符（在某些主机操作系统中甚至更短）
数据库和游标必须以字母开头并且只包含字母、数字和下划线字符。
在数据库服务器的 6.0 版或更高版本中，数据库名和游标名可以以下划线开头。
在 MS-DOS 系统中，文件名最长可为 8 个字符，再加上3 个字符的扩展名。




-79759	端口号无效。

端口号必须是有效的四位数字，如下所示：

   jdbc:gbasedbt-sqli://mymachine:1234/mydatabase:user=me:password=secret

在该示例中，1234 是端口号。




-79758	IP 地址无效。

数据库服务器的 IP 地址格式无效。

使用 IP 地址连接到 GBasedbt 数据库服务器时，请用正确的格式指定 IP 地址。
有效的 IP 地址是一组用点 (.) 分隔的 0 到 255 之间的四个数字：
例如，127.0.0.1。




-79757	子协议无效。

受 GBasedbt 支持且当前有效的子协议是 gbasedbt-sqli。

使用 gbasedbt-sqli 子协议。




-79756	必须以‘jdbc’开头。

数据库 URL 的第一个标记不是关键字 jdbc（不区分大小写）。

URL 以 jdbc 开头，如以下示例中所示：

   jdbc:gbasedbt-sqli://mymachine:1234/mydatabase:user=me:password=secret




-79755	对象为空。

传递的对象为空。

检查程序逻辑，确保对象引用有效。




-79754	写故障

处理 LOB 数据时，GBase  JDBC 驱动程序在写入临时文件时遇到错误。


-79753	Blob 内存用尽

GBase  JDBC 驱动程序在处理 BLOB 数据时无法分配内存。如果 JDBC 驱动程序未
能在内存中分配执行 LOB 操作所需的内存，则发生此错误。您可以重设 LOBCACHE 或 
IFX_CODESETLOB 属性以使用临时文件（而不是使用内存）执行 blob 操作。


-79752	Blob 数据不足

GBase  JDBC 驱动程序在访问 BLOB 期间遇到意外异常。GBase  JDBC 驱动
程序无法传送指定的字节数。


-79751	只执行 Forward fetch。

结果集未设置为 FETCH_FORWARD。

调用 Resultset.setFetchDirection(ResultSet.FETCH_FORWARD) 来重新设置方向。




-79750	方法只适用于查询。

只有语句是 SELECT 语句时，才应该使用 Statement.executeQuery(String) 和 PreparedStatement.executeQuery() 方法。

对于其它语句，请适用 Statement.execute(String)、Statement.executeBatch()、Statement.executeUpdate(String)、Statement.getUpdateCount()、Statement.getResultSet() 或 PreparedStatement.executeUpdate() 方法。




-79749	输入值的数目与问号数不匹配。

使用 PreparedStatement.setXXX() 方法在该语句中设置的变量数
与写入到该语句的 ? 占位符数不匹配。

找到语句的文本，检验占位符数，然后检查对 PreparedStatement.setXXX() 的调用。




-79748	不能锁定连接。

GBasedbt JDBC Driver 通常就在开始与数据库服务器进行数据交换之前锁定连接。
驱动程序无法获得锁。

一次只有一个线程应该使用连接对象。




-79747	事务隔离级无效。

如果数据库服务器无法完成回滚，就会出现该错误。

有关回滚失败原因的详细信息，请参见其余 SQLException 消息。
如果将无效的事务级传递到 setTransactionIsolation()，也会出现该错误。
以下是有效值：

   TRANSACTION_READ_UNCOMMITTED
   TRANSACTION_READ_COMMITTED
   TRANSACTION_REPEATABLE_READ
   TRANSACTION_SERIALIZABLE




-79746	非登录数据库上无事务隔离。

GBasedbt 不支持在非登录数据库上设置事务隔离级。




-79745	不支持只读模式。

GBasedbt 不支持只读模式。




-79744	不支持事务。

用户试图在不支持事务的数据库上调用 commit() 或 rollback()，
或用户已试图在非登录数据库上将 autoCommit 设置为 false。

检验当前数据库是否有正确的登录模式，并检查程序逻辑。




-79743	仅限正向访存。

当前版本的 GBase  JDBC 驱动程序不在使用此错误号。


-79742	不能从指定类型转换。

不可能进行从指定的数据类型转换成列数据类型的数据转换。
将实际数据类型追加到该消息的末尾。

检查程序逻辑，以确保支持所请求的转换。有关数据映射矩阵，
请参见《GBasedbt JDBC Driver 程序员指南》。




-79741	不能转换到指定类型。

不可能进行从列数据类型转换到指定的数据类型的数据转换。
将实际的数据类型追加到该消息的末尾。

查看程序逻辑，确保支持所请求的转换。有关数据映射矩阵，
请参见《GBasedbt JDBC Driver 程序员指南》。




-79740	未创建语句。

当前不存在任何语句。

确保已创建适当的语句。




-79739	当前不存在任何行。

未正确放置游标。

必须首先使用如 resultset.next()、resultset.beforefirst()、
resultset.first() 或 resultset.absolute() 
这样的方法将游标放置在结果集内。




-79738	没有这样的列名。

指定的列不存在。

确保列名正确。




-79737	无元数据。

SQL 语句试图使用元数据，但没有可用的元数据。

确保试图使用语句前，该语句生成结果集。




-79736	尚未建立连接/语句。

当前不存在任何连接或语句。

检查程序，确保正确建立了连接或创建了语句。




-79735	无法实例化协议。

尝试连接时发生内部错误。

请致电 IBM 技术支持。



-79734	必须指定 GBASEDBTSERVER。

GBASEDBTSERVER 是连接到 GBasedbt 数据库时所需的属性。

您可以在数据库 URL 中指定 GBASEDBTSERVER 属性或将其指定为
传递到 connect() 方法的属性对象的一部分。




-79733	无活动的结果。

语句不包含活动的结果。

检查程序逻辑，确保引用结果前已调用了 executeXXX() 方法。




-79732	游标名非法。

指定的名称不是有效的游标名。

确保传入的字符串不为空。




-79731	MaxRows 超出范围。

指定的 MaxRows 值无效，因为它不在 MaxRows 的可能值范围内。

确保指定的值在 0 到 Integer.MAX_VALUE 之间。




-79730	未建立连接。

未调用方法来建立连接。

必须先调用 DriverManager.getConnection() 方法来获得连接。




-79729	方法不能接受参数。

为不接受参数的方法提供了参数。

请参阅 Java API 说明或《GBasedbt JDBC Driver 程序员指南》，
确保正确地使用方法。




-79728	未知的对象类型。

如果该对象类型是空的 opaque 类型，则该类型是未知的且不能进行处理。
如果该对象类型是 complex 类型，则集合或数组中的数据
未知类型的且不能映射为 GBasedbt 类型。如果该对象类型是行，
则行中的元素之一不能映射为 GBasedbt 类型。

检验对象的定制类型映射或数据类型。




-79727	未准备语句。

SQL 语句包含一个或多个宿主变量，但该语句未被正确准备。

如果在 SQL 语句中使用宿主变量（例如，插入到 mytab 值 (?, ?); 中），
您必须使用 connection.prepareStatement() 来准备 SQL 语句，
然后才能执行该语句。




-79726	SQL 语句为空。

传递的 SQL 语句为空。

检查程序中的 SQL 语句字符串，以确保字符串包含有效的语句。




-79725	找到额外的字符。

将 STRING 值转换为 IntervalDF 或 IntervalYM 对象期间出错。
预期到达字符串的末尾，但字符串中有更多的字符。

有关正确的格式，请参见《GBasedbt JDBC Driver 程序员指南》。




-79724	预期遇到的字符。

将 STRING 值转换为 IntervalDF 或 IntervalYM 对象期间出错。
转换完成前就遇到字符串的结尾。

有关正确的格式，请参见《GBasedbt JDBC Driver 程序员指南》。




-79723	预期遇到的分界符。

将 STRING 值转换为 IntervalDF 或 IntervalYM 对象期间出错。
预期遇到分界符，但未找到。

有关正确的格式，请参见《GBasedbt JDBC Driver 程序员指南》。




-79722	预期遇到数字字符。

将 STRING 值转换为 IntervalDF 或 IntervalYM 对象期间出错。
预期遇到数字值，但未找到。

有关正确的格式，请参见《GBasedbt JDBC Driver 程序员指南》。




-79721	间隔字符串无效。

将 STRING 值转换为 IntervalDF 或 IntervalYM 对象期间出错。

有关正确的格式，请参见《GBasedbt JDBC Driver 程序员指南》。




-79720	限定符的起始或末尾代码无效。

INTERVAL 对象的起始值或末尾值不正确。

有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79719	限定符的末尾代码无效。

INTERVAL 对象的末尾值不正确。

有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79718	限定符的起始代码无效。

INTERVAL 对象的起始值不正确。

有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79717	限定符的长度无效。

INTERVAL 对象的长度值不正确。

有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79716	系统错误或内部错误。

发生运行或运行时间系统错误或驱动程序内部错误。

附带的消息说明了该问题。




-79715	语法错误。

传递到 JDBC 转义子句的语法无效。
使用花括号和关键字对有效的 JDBC 转义子句语法进行区别：
例如，{关键字语法}。

检查 Sun Microsystems 提供的 JDBC 2.0 文档，
以便查看有效的转义子句关键字和语法的列表。




-79714	不支持类型。

GBasedbt JDBC Driver 不支持您指定的数据类型。

检查程序，确保数据类型属于驱动程序支持的数据类型。




-79713	参数的数目不正确。

传递到 scalar 函数转义语法的参数的数目不正确。
正确的语法是 {fn function(arguments)}。

检验传递到该函数的参数的数目是否正确。




-79712	时间戳格式有错。

传递到 JDBC 转义子句的时间戳格式无效。

时间戳文字的转义子句语法采用了以下格式：

   {ts "yyyy-mm-dd hh:mm:ss.f..."}。




-79711	时间格式有错。

传递到 JDBC 转义子句的时间格式无效。

时间文字的转义子句语法采用了以下格式：

   {t "hh:mm:ss"}。




-79710	SQL 转义子句中有语法错误。

传递到 JDBC 转义子句的语法无效。使用花括号和关键字
对有效的 JDBC 转义子句语法进行区别：例如，{关键字语法}。

检查 Sun Microsystems 提供的 JDBC 2.0 文档，
以便查看有效的转义子句关键字和语法的列表。




-79709	日期格式有错。

预期输入采用以下格式的有效日期字符串：
yyyy-mm-dd。

检查日期，检验日期是否有四位数字的年份，
其后是否跟着有效的两位数字的月份和日子。
分界符必须是连字符 (-)。




-79708	不能接受空的输入。

提供的字符串为空。在这种情况下，GBasedbt JDBC Driver 不理解空输入。

检查输入字符串，确保其具有正确的值。




-79707	限定符无效。

通过基本元素（长度、起始值或末尾值）构建 INTERVAL 限定符期间发现错误。
检查长度、起始值和末尾值，检验这些值是否正确。

有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79706	输入不完整。

将字符串值转换为 IntervalDF 或 IntervalYM 对象期间，发现无效的字符。
有关正确值，请参见《GBasedbt JDBC Driver 程序员指南》。




-79705	URL 格式不正确

已提交的数据库 URL 无效。GBasedbt JDBC Driver 不识别该语法。
修改语法，然后再试。




-79704	不能装入驱动程序

GBasedbt JDBC Driver 无法创建本身的例程并在 DriverManager 类中注册。
其余 SQLException 文本说明了失败的内容。




-79703	行/列索引超出范围

行索引或列索引超出了范围。
将索引与预期从查询获得的行数和列数进行比较，以确保该索引在范围内。




-79702	不能创建新对象。

软件无法为新的“字符串”对象分配内存。




-79701	找不到 Blob

GBase  JDBC 驱动程序在访问 BLOB 期间遇到异常。对于 JDK 1.4 及更高版本，可
通过 java.lang.Throwable 的引发机制（cause facility）得到初始异常。


-79700	不支持方法。

GBasedbt JDBC Driver 不支持该 JDBC 方法。





-73018	不受支持的数据类型。

请检查包含 ESQL/C 源文件的目录的文件许可权，以确保您具有读写许可权。另请检查 ESQL/C 源文件自身的文件许可权，以确保您具有读写许可权
。



-73003	指定的自变量无效。

返回类型缓冲区为空或缓冲区长度无效。



-73002	无法在辅助线程中发出 SQL 语句。

需要将用户定义的例程定义为变量。



-66656	项目名称的文件 filename 未归档。

指定的文件未使用 CM 系统归档。



-66655	项目名称的根目录名称不存在或无法访问。

无法访问专用工作空间中项目的根目录。请检查该目录是否存在
。



-66654	您未锁定项目名称的文件 filename。

当前用户未锁定指定的文件。



-66653	您未锁定项目名称。

当前用户未锁定指定的项目。



-66652	用户名已锁定项目名称的文件 filename。

给定用户已锁定指定的文件。



-66651	用户名已锁定项目名称。

给定用户已锁定指定的项目。



-66650	共享工作空间的会话无效。

请检查访问许可权和共享工作空间配置。



-66649	项目名称的文件 filename 未检入，并且不是生成的文件
。

指定的项目包含未生成和仍未归档的新文件。这种情况是不一致的。请查看数据库是否已损坏
。



-66648	项目名称尚未注册。

指定的新项目未在共享工作空间上注册。



-66647	无法创建锁文件 filename。

存储库无法在共享工作空间中创建锁文件。请检查共享工作空间中的磁盘空间和访问许可权
。



-66646	目录名称没有写许可权。

用户没有对指定目录的写许可权。



-66645	无法从共享工作空间取消检出项目名称的文件 filename
。

存储库无法取消检出指定的文件。请检查相关错误。



-66644	无法从共享工作空间取消检出项目名称。

存储库无法取消检出指定的项目。请检查相关错误。



-66643	无法从共享工作空间检出项目名称的文件 filename。

存储库无法检出指定的文件。请检查相关错误。另请检查项目根目录和数据库目录中的磁盘空间和访问许可权
。



-66642	无法从共享工作空间检出项目名称。

存储库无法检出指定的项目。请检查相关错误。另请检查项目根目录和数据库目录中的磁盘空间和访问许可权
。



-66641	无法将项目名称的文件 filename 检入共享工作空间。

存储库无法检入指定的文件。请检查相关错误。另请检查共享工作空间配置、磁盘空间和访问许可权
。



-66640	无法将项目名称检入共享工作空间。

存储库无法检入指定的项目。请检查相关错误。另请检查共享工作空间配置、磁盘空间和访问许可权
。



-66639	无法在共享工作空间中创建项目名称的文件 filename。

无法在共享工作空间中创建指定的文件。请检查共享工作空间配置、磁盘空间和访问许可权
。



-66638	无法在共享工作空间中创建项目名称的组件名称。

无法在共享工作空间中创建指定的组件。请检查磁盘空间和访问许可权
。



-66637	无法在共享工作空间中创建项目名称。

无法在共享工作空间中创建指定的项目。请检查共享工作空间配置、磁盘空间和访问许可权
。



-66636	共享工作空间中已存在项目名称的文件 filename。

共享工作空间中已存在指定的文件。请重命名该文件，然后重试
。



-66635	共享工作空间中已存在项目名称的组件名称。

共享工作空间中已存在指定的组件。



-66634	共享工作空间中已存在项目名称。

共享工作空间中已存在指定的项目。请重命名项目，然后重试
。



-66633	在共享工作空间中找不到项目名称的文件 filename。

在共享工作空间中找不到指定的文件。请查明当前版本的项目中是否存在该文件。另请检查共享工作空间配置，检查 CM 是否不匹配以及是否可以访问共享工作空间目录
。



-66632	在共享工作空间中找不到项目名称的组件名称。

在共享工作空间中找不到指定的组件。请查明当前版本的项目中是否存在该组件。另请检查共享工作空间配置，检查 CM 是否不匹配以及是否可以访问共享工作空间目录
。



-66631	在共享工作空间中找不到项目名称。

在共享工作空间中找不到指定的项目。请检查共享工作空间配置。另请检查 CM 是否不匹配、是否可以访问共享工作空间目录以及项目名称是否冲突
。



-66630	下载 filename 时出错。

下载指定文件时发生错误。



-66629	无法在专用工作空间中创建项目名称的文件 filename。

存储库无法创建指定的文件。请检查是否存在数据库错误。



-66628	无法在专用工作空间中创建项目名称的组件名称。

存储库无法创建指定的组件。请检查是否存在数据库错误。



-66627	无法在专用工作空间中创建项目名称。

存储库无法创建指定的项目。请检查是否存在数据库错误。



-66626	专用工作空间中已存在项目名称的文件 filename。

专用工作空间中已存在指定的文件。



-66625	专用工作空间中已存在项目名称的组件名称。

专用工作空间中已存在指定的组件。



-66624	专用工作空间中已存在项目名称。

专用工作空间中已存在指定的项目。



-66623	在专用工作空间中找不到项目名称的文件 filename。

在专用工作空间中找不到指定的文件。



-66622	无法从专用工作空间中除去对象名。

存储库无法从专用工作空间中除去指定的对象。请检查是否存在数据库错误
。



-66621	在专用工作空间中找不到项目名称的组件名称。

在专用工作空间中找不到指定的组件。



-66620	组件名称在存储库中具有其他类型。

存储库中具有此名称组件的其他类型。



-66619	在专用工作空间中找不到项目名称。

在专用工作空间中找不到指定的项目。



-66618	无法将使用组件 name1 添加到组件 name2。

存储库无法将指定的使用组件添加到给定组件。请查看使用组件是否存在
。



-66616	无法删除数据库名称。

存储库无法删除给定的数据库。



-66615	项目名称已锁定文件。

指定的项目已锁定其部分文件。



-66614	用户名已锁定文件名。

其他用户已锁定指定的文件。



-66613	用户名已锁定项目名称。

其他用户已锁定指定的项目。



-66612	没有与缺省共享工作空间名称关联的归档。

缺省共享工作空间没有与其关联的任何归档。请修改此共享工作空间的定义并向其添加可写的归档目录
。



-66611	外部 CM 系统发生未知错误。

CM 系统中发生未知错误。请验证 CM 系统的安装和操作是否正确
。



-66610	无法创建目录名称。

存储库无法创建指定的目录。请检查是否存在访问特权和操作系统错误
。



-66609	无法除去目录名称。

存储库无法删除指定的目录。请验证目录是否为空，或者其他进程是否没有正在使用目录中的文件
。



-66608	无法删除文件 filename。

存储库无法删除指定的文件。请检查是否存在访问许可权和操作系统错误。另请查看是否其他进程正在使用该文件
。



-66607	找不到本地文件 filename。

找不到指定的检出版本文件。请确认该文件是否存在以及是否具有所需的访问许可权
。



-66606	归档路径太长。

外部 CM 系统无法处理如此长的归档路径。请缩短归档目录路径
。



-66605	无法除去归档路径。

无法除去给定位置的归档路径。请检查归档目录的配置和访问许可权
。



-66604	无法设置归档路径。

无法设置给定位置的归档路径。请检查归档目录的配置和访问许可权
。



-66603	外部 CM 系统已配置。

无更多可用信息。



-66602	指定版本的归档未锁定。

未锁定指定版本的归档。



-66601	指定版本的归档已锁定。

用户已锁定指定版本的归档。



-66600	归档未锁定。

您未锁定指定的归档。



-66599	归档已锁定。

用户已锁定指定的归档。



-66598	找不到指定版本的归档。

在此归档中找不到指定版本的对象。



-66597	找不到归档。

找不到为操作指定的归档。请验证该目录是否可访问。



-66596	没有与外部 CM 系统的连接。

与外部 CM 系统的连接不存在。请验证 CM 安装。



-66595	在 DLL 名称中找不到函数名。

已装入的 DLL 不包含指定的函数。请验证相应的 DLL 是否是路径中的第一个 DLL，并且是所需版本
。



-66594	无法装入 DLL 名称。

无法装入指定的 DLL。请查看该 DLL 是否存在，并检查其位置是否在您的路径中
。



-66593	归档文件的许可权不正确。

您没有访问归档文件的许可权。请检查是否具有 CM 和操作系统许可权
。



-66592	归档目录非法。

指定的归档目录不正确。请检查是否具有归档目录的访问权和写许可权
。



-66591	外部 CM 系统发生未知错误。

CM 系统中发生未知错误。请验证 CM 系统的安装和操作是否正确
。



-66590	外部 CM 系统发生写错误。

CM 系统无法执行写操作。请检查是否存在操作系统错误。



-66589	无法更新配置文件。

无法更新 PVCS 配置文件。请验证 GBASEDBTDIR\lib 目录中是否存在 ifmxpvcs.cfg。另请确认 GBASEDBTDIR 中的磁盘空间和
写许可权。



-66588	传递的自变量非法。

传递给 CM API 的自变量非法。



-66587	功能部件不受支持。

访问了 CM 系统不受支持的功能部件。此操作表示 CM API 的使用不正确
。



-66586	解析项目定义文件 filename 中的行时出错。

解析项目定义文件时发生错误。项目定义文件已损坏。请重新装入项目定义文件或装入先前版本的项目定义文件
。



-66585	对项目定义文件执行 I/O 时发生错误。

尝试对项目定义文件进行读写时发生未知错误。请检查是否存在与操作系统相关的问题
。



-66584	在项目定义文件 filename 中无法找到偏移量名称。

尝试偏移项目定义文件中的位置时发生错误。项目定义文件已损坏。请重新装入项目定义文件或装入先前版本的项目
。



-66583	写入项目定义文件 filename 时出错。

尝试写入项目定义文件时发生错误。请检查是否存在操作系统问题
。



-66582	读取项目定义文件 filename 时出错。

尝试读取项目定义文件时发生错误。项目定义文件已损坏。请重新装入项目定义文件或装入先前版本的项目定义文件
。



-66581	无法打开项目定义文件 filename。

无法打开项目定义文件。请检查是否存在操作系统问题。



-66578	无法从共享工作空间中删除对象名。

无法从共享工作空间归档中删除指定的对象。请验证归档是否存在以及是否可访问。另请查看是否存在任何其他进程正在使用该归档
。



-66577	无法制作项目名称的快照。

存储库无法制作项目的快照。请检查项目或文件是否已锁定。按照下列顺序检查以下位置是否有足够的磁盘空间
：

1.  TMP 变量指定的路径

2.  如果未设置 TMP，那么检查 TEMP 变量指定的路径

3.  如果 TEMP 也未设置，那么检查当前目录

   4.  存储项目的归档



-66576	无法生成文件 filename 的版本报告。

无法生成给定文件的版本报告。请查看 PVCS 是否在正常运行，以及共享工作空间和指定的归档是否可用且是否可访问
。



-66572	刷新共享工作空间中文件 filename 的本地副本时出错。

该错误通常在检入项目时发生。请验证是否有足够的磁盘空间，并检查是否存在其他操作系统相关问题
。



-66571	无法找到对象名的版本信息。

存储库在共享工作空间中无法找到给定对象的版本信息。请检查是否可访问共享工作空间，并查看共享工作空间是否包含给定项目或文件的归档文件
。



-66570	专用工作空间中存在相同名称的其他项目。专用工作空间中的项目 name1 来自 name2，但共享工作空间中的项目 name1 来自 name3。

您的两个项目具有相同名称。专用工作空间中的项目与共享工作空间中的项目不同。如果要装入共享工作空间中的项目，请除去专用工作空间中的该项目。或者，如果要在共享工作空
间中查看当前位于专用工作空间中的项目，请修改共享工作空间设置
。



-66567	专用工作空间的会话无效。

与专用工作空间的连接丢失。请重新启动工具，然后重试。请检查数据库连接设置是否正确
。



-66566	将 filename 写入项目的项目定义文件时出错。

写入项目定义文件时发生错误。请检查磁盘空间以及是否存在其他文件系统相关问题
。



-66565	从项目定义文件读取 filename 时出错。

项目定义文件已损坏。存储库无法识别项目定义文件格式。



-66564	外部 CM 系统中发生错误。

在 CM 系统中执行操作时发生错误。有关更多信息，请参阅 CM 错误
。



-66563	访问的存储库对象无效。

存储库访问的对象无效。该错误不应单独发生。要识别问题，请参阅相关错误
。



-66562	发生数据库错误。

执行数据库操作时发生错误。请使用 finderr 应用程序查找关联的数据库错误号
。



-66561	发生未知存储库错误。

存储库中发生未知错误。



-55933	esql：错误 error_num：多字节过滤器检测到错误。

ESQL/C 多字节过滤器遇到了以下某个条件：

- 无法初始化 GLS 库例程

- 重命名源 (.c) 文件时，无法写入该文件

- 无法写入输出文件

- 一些其他 I/O 错误

请检查包含 ESQL/C 源文件的目录的文件许可权，以确保您具有读写许可权。另请检查 ESQL/C 源文件自身的文件许可权，以确保您具有读写许可权
。



-55932	File_name 具有不兼容的文件格式。

命令行响应文件 file_name 太大。请减少该文件的大小，然后再次运行命令
。



-55931	未提供源文件。

对于 ESQL/C：尚未提供 ESQL/C 源文件的名称。可能已指定 -e 选项（仅预处理）但省略了 ESQL/C 源文件（文件扩展名为 .ec）的名称。也可能
已指定 -c 选项（仅预处理和编译）但省略了 ESQL/C 源文件 (.ec) 或 C 源文件 (.c) 的名称
。

对于 ESQL/COBOL：尚未提供 ESQL/COBOL 源文件的名称。可能已指定 -e 选项（仅预处理）但省略了 ESQL/COBOL 源文件（文件扩展名
为 .eco）的名称。也可能已指定 -c 选项（仅预处理和编译）但省略了 ESQL/COBOL 源文件 (.eco) 或 COBOL 源文件 (.cbl) 的名
称。



-55930	指定的参数过多。

超过了预处理器、编译器、链接程序（链接程序选项或库的列表）或资源编译器的最大参数的数量。请减少参数的数量，然后再次运行命令
。



-55929	缺少 ESQL 响应文件。

对于 ESQL/C：esql 命令处理器无法找到 ESQL 命令行响应文件（在“@”后指定）。请验证文件名是否正确
。

对于 ESQL/COBOL：esqlcobo 命令处理器无法找到 ESQLCOBO 命令行响应文件（在“@”后指定）。请验证文件名是否正确
。



-55928	无法衍生资源编译器。

对于 ESQL/C：esql 命令处理器无法启动资源编译器。请确保含有资源编译器的目录包含在 PATH 环境变量中
。

对于 ESQL/COBOL：esqlcobo 命令处理器无法启动资源编译器。请确保含有资源编译器的目录包含在 PATH 环境变量中
。



-55927	无法衍生链接程序。

对于 ESQL/C：esql 命令处理器无法启动链接程序。请确保含有链接程序的目录包含在 PATH 环境变量中
。

对于 ESQL/COBOL：esqlcobo 命令处理器无法启动链接程序。请确保含有链接程序的目录包含在 PATH 环境变量中
。



-55926	无法衍生编译器。

对于 ESQL/C：esql 命令处理器无法启动编译器。请确保含有 C 编译器的目录包含在 PATH 环境变量中
。

对于 ESQL/COBOL：esqlcobo 命令处理器无法启动编译器。请确保含有 COBOL 编译器的目录包含在 PATH 环境变量中
。



-55925	无法打开文件“file_name”。

对于 ESQL/C：esql 命令处理器无法打开指定的文件。如果已指定 -f 选项，请检查源列表文件是否存在。如果省略了 -f，该错误表明处理器无法找到必需的空
间来创建某文件。

对于 ESQL/COBOL：esqlcobo 命令处理器无法打开指定的文件。如果已指定 -f 选项，请检查源列表文件是否存在。如果省略了 -f，该错误表明处理器
无法找到必需的空间来创建某文件。



-55923	没有源文件或对象文件。

未指定源文件或程序对象文件的名称。不会有文件传递给链接程序。请再次输入命令，并指定要传递给链接程序的文件的名称
。



-55922	预处理器检测到错误。

对于 ESQL/C：ESQL/C 预处理器检测到一个或多个错误，并导致处理器停止。请纠正错误并重新运行
。

对于 ESQL/COBOL：ESQL/COBOL 预处理器检测到一个或多个错误，并导致 esqlcobo 命令处理器停止。请纠正错误并重新运行
。



-55921	无法分配内存。

对于 ESQL/C：ESQL 无法分配内存。请终止一个或多个应用程序，然后再次输入命令
。

对于 ESQL/COBOL：ESQL/COBOL 无法分配内存。请终止一个或多个应用程序，然后再次输入命令
。



-55920	无法打开 ESQL 响应文件“file_name”。

对于 ESQL/C：esql 命令处理器无法打开指定的 ESQL 命令行响应文件。请验证“@”选项后是否存在该文件的名称
。

对于 ESQL/COBOL：esqlcobo 命令处理器无法打开指定的 ESQLCOBO 命令行响应文件。请验证“@”选项后是否存在该文件的名称
。



-55919	应用程序类型选项冲突。

对于 ESQL/C：指定了多个应用程序类型选项（例如，-wd 和 -target:exe）。请再次输入不带冲突选项的 esql 命令
。

对于 ESQL/COBOL：指定了多个应用程序类型选项（例如，-wd 和 -target:exe）。请再次输入不带冲突选项的 esqlcobo 命令
。



-55918	“-f”选项缺少源文件列表文件的名称。

对于 ESQL/C：已指定 -f 命令行选项，但省略了 ESQL/C 源文件列表的文件名。请再次输入命令，并指定列表文件的名称
。

对于 ESQL/COBOL：已指定 -f 命令行选项，但省略了 ESQL/COBOL 源文件列表的文件名。请再次输入 esqlcobo 命令，并指定列表文件的名
称。



-55917	编译器选项冲突。

指定了多个用于识别编译器类型的命令行选项（例如，-mc 和 -bc）。请再次输入不带冲突选项的 esql 命令
。



-55915	“-log”选项缺少日志文件的名称。

已指定 -log 命令行选项，但省略了日志文件的文件名。请再次输入命令，并指定日志文件的名称
。



-55914	“-c”选项的文件扩展名不兼容。

已指定 -c 命令行选项，但指定的是不兼容的文件扩展名。请再次输入命令，并指定具有兼容文件扩展名的文件名称
。



-55913	“-o”选项缺少目标文件名。

已指定 -o 命令行选项，但未指定输出文件。请再次输入命令，并指定输出文件的文件名
。



-55912	“-e”选项的文件扩展名不兼容。

对于 ESQL/C：已指定 -e 命令行选项，但未指定 ESQL/C 源文件（文件扩展名为 .ec）。请再次输入命令，并指定 .ec 文件的名称
。

对于 ESQL/COBOL：已指定 -e 命令行选项，但未指定 ESQL/COBOL 源文件（文件扩展名为 .eco ）。请再次输入命令，并指定 .eco 文件
的名称。



-55911	无法打开日志文件。

对于 ESQL/C：无法打开 ESQL/C 预处理器日志文件。可能是没有可用空间。请增加可用空间，然后再次输入命令
。

对于 ESQL/COBOL：无法打开 ESQL/COBOL 预处理器日志文件。可能是没有可用空间。请增加可用空间，然后再次输入命令
。



-55910	不再支持选项 (option_name)。

对于 ESQL/C：此发行版不支持指定的命令行选项。有关有效选项，请查看 GBase  ESQL/C Programmer's Supplement
for Microsoft Windows Environments。

对于 ESQL/COBOL：此发行版不支持指定的命令行选项。有关有效选项，请查看 GBase  ESQL/COBOL Programmer's 
Supplement for Microsoft Windows Environments。



-55909	文件 (file_name) 中发生 I/O 错误。

文件 file_name 中发生 I/O 错误。可能是没有可用空间。请增加可用空间，然后再次输入命令
。



-55907	子系统选项冲突。

对于 ESQL/C：指定了多个子系统选项（例如，-ss:c 和 -S:w）。请再次输入不带冲突选项的 esql 命令
。

对于 ESQL/COBOL：指定了多个子系统选项（例如，-ss:c 和 -Sw）。请再次输入不带冲突选项的 esqlcobo 命令
。



-55906	运行时选项冲突。

对于 ESQL/C：指定了多个运行时选项（例如，-runtime:libc 和 -rt:d）。请再次输入不带冲突选项的 esql 命令
。

对于 ESQL/COBOL：指定了多个运行时选项（例如，-runtime:mfrts32 和 -rt:s）。请再次输入不带冲突选项的 esqlcobo 命令
。



-55905	文件名“file_name”中的字符非法。

文件 file_name 包含一个或多个无效字符。



-55904	衍生程序中出错。

对于 ESQL/C：esql 命令处理器创建了一个程序（编译器、链接程序或资源编译器），但该程序返回错误，并导致 esql 终止。请检查生成的输出来确定错误、解
决错误，然后再次运行 esql 命令处理器。

对于 ESQL/COBOL：esqlcobo 命令处理器创建了一个程序（编译器、链接程序或资源编译器），但该程序返回错误，并导致 esqlcobo 终止。请检查
生成的输出来确定错误、解决错误，然后再次运行 esqlcobo 命令处理器
。



-55903	处理器类型选项冲突。

指定了多个用于识别 CPU 类型的 CPU 类型命令行选项（例如，-cpu:i386 和 -pm）。请再次输入不带冲突选项的 esql 命令
。



-55902	选项列表中的文件扩展名 (file_extension) 不兼容。

对于 ESQL/C：已指定处理器命令行选项 -cc、-l 或 -r，但终止了使用不正确文件扩展名的选项。有关命令行图形如何终止这些选项的信息，请参阅 IBM 
GBasedbt ESQL/C Programmer's Supplement for Microsoft Windows Environments 或联机帮助
。

对于 ESQL/COBOL：已指定处理器命令行选项 -cb、-l 或 -r，但终止了使用不正确文件扩展名的选项。有关命令行图形如何终止这些选项的信息，请参阅 
GBase  ESQL/COBOL Programmer's Supplement for Microsoft Windows 
Environments 或联机帮助。



-55901	无法识别子选项 (option_name)。

紧跟冒号 (:) 后的文本 (option_name) 不是有效的子选项。有关该选项的有效子选项的信息，请参阅联机帮助
。



-55900	缺少选项列表。

已指定处理器命令行选项 -cc、-l 或 -r，但选项错误地终止。有关命令行图形如何终止这些选项的信息，请参阅“简介”第 6 页中的“命令行约定”或联机帮助
。



-55504	选项名称需要自变量。

指定了需要更多自变量的命令行选项。有关语法，请查阅 Development Tools Reference
。



-55503	选项名称无效。

指定了不受支持的命令行选项。有关有效选项，请查阅 Development Tools Reference
。



-55502	未指定程序。

如果要运行 NewEra 程序，请指定该程序的名称。



-55501	-V 选项不得与其他自变量一起使用，必须单独使用。

要查明软件的版本号，输入的命令中只能使用 -V 命令行选项。如果要使用任何其他命令行选项运行程序，请勿指定 -V
。



-55500	用法：name [-u sharedlib] [-anyerr] program [program arguments]

命令行语法不正确。请指定运行程序（或调试器）的名称以及程序的名称。如果程序接受自变量，那么这些自变量必须紧跟该程序的名称。如果程序需要共享库，那么 -u 和库名
必须位于程序名之前。

如果在特定非 SQL 操作失败时要复位全局状态变量，可以将 -anyerr 放在程序名之前且紧挨程序名。-anyerr 选项相当于指定 WHENEVER ANY
ERROR 而不是 WHENEVER ERROR；请参阅 Language Reference 中 WHENEVER 编译器伪指令的描述
。



-55352	无法打开显示器“<display-name>”。

如果未定义 DISPLAY 环境变量（例如在执行 rlogin 或 su 命令之后），请定义该变量
。

如果为此 DISPLAY 激活了 X 服务器访问控制设施，那么可能需要运行 xhost <hostname> 命令以允许连接到 X 服务器。必须从本地计算机（如
DISPLAY 环境变量所指定）运行 xhost <hostname> 命令。



-55276	使用服务“service-name”对主机“host-name”执行 connect( ) 失败
。

导致该错误的可能原因如下：

*   onprobe 服务器未在指定主机上运行。

*   指定主机上的 onprobe 服务器使用了非指定的服务。

Service-name 解析遵循以下优先顺序：

1.  NIS（网络信息服务）正在运行时的 NIS 服务映射。

2.  本地计算机上的 /etc/services 文件。如果 onprobe 和 oncockpit 在不同计算机上运行，请检查分配给这些计算机上 /etc/
services 文件中指定服务的端口号是否匹配。

*  指定的 TCP/IP 地址在此计算机上不可用。请检查“ping”和“rlogin”命令是否可以访问指定主机。“ping”命令检查 ICMP 网络层。“
rlogin”命令检查 TCP 网络层和指定的主机（而不是指定的服务）的可用性
。

*   建立连接超时，未建立连接。onprobe 服务器的连接请求队列可能已满。最长队列长度为 5
。

*   系统缓冲区空间不可用。



-55274	无法转换主机名“host-name”，gethostbyname( ) 失败。

Host-name 解析遵循以下优先顺序：

1.  本地计算机上的 /etc/hosts 文件

2.  NIS（网络信息服务）正在运行时的 NIS 主机映射

请检查“ypcat hosts”命令是否返回指定的主机。

3.  当 DNS（域名服务器）正在运行时的 DNS 数据

请检查“ping”和“rlogin”命令是否可以访问指定的主机。



-55252	使用服务“service-name”执行 bind( ) 失败。

Service-name 解析遵循以下优先顺序：

1.  NIS（网络信息服务）正在运行时的 NIS 服务映射。

2.  本地计算机上的 /etc/services 文件。

导致该错误的可能原因如下：

*   指定的 TCP 地址已在使用。

打算用于 onprobe 服务器的端口号必须唯一。请使用“netstat -a”命令验证其他应用程序（包含已在运行的 onprobe）是否未在使用指定的服务（端
口号）。

或者，如果在已连接 oncockpit 客户机期间终止了 onprobe 服务器，那么可能必须等待几分钟然后才发布 TCP 地址
。

*   为此服务定义的端口号位于系统保留范围（0 到 1023）内
。

*   系统缓冲区空间不可用。



-55251	无法转换服务名称“shost-name”，getservbyname( ) 失败。

打算用于 DB/Cockpit 的服务必须使用“tcp”协议名称进行定义
。

Service-name 解析遵循以下优先顺序：

1.  NIS（网络信息服务）正在运行时的 NIS 服务映射。如果已将新服务添加到 NIS 服务器上的 /etc/services 文件，请运行“ypmake”
命令来更新服务映射。请检查“ypcat services”命令是否返回指定的服务
。

2.  本地计算机上的 /etc/services 文件。



-55250	socket() 失败。

导致该错误的可能原因包括：

*   TCP/IP 网络子系统未启动。

*   系统的已打开文件的表暂时已满。

*   系统缓冲区空间不可用。



-55236	共享内存正在初始化或已异常终止，或者 onprobe 版本与数据库服务器版本 (GBASEDBTSERVER 'server-name') 不匹配
。

请验证数据库服务器是否已初始化，并验证其共享内存是否存在。使用“oninit -V”和“onprobe -V”命令检查 oninit 和 onprobe 的版本
。这两个版本应该完全相同。



-55235	共享内存方式“number”未知，或者 onprobe 版本与数据库服务器版本 (GBASEDBTSERVER 'server-name') 不匹配
。

请验证数据库服务器是否已初始化，并验证其共享内存段是否存在。使用“oninit -V”和“onprobe -V”命令检查 oninit 和 onprobe 的版
本。这两个版本应该完全相同。



-55227	从保留页面中检索到的 DBSERVERNAME 配置参数的值 (“server-name”) 与 SQL DBSERVERNAME 函数 
GBASEDBTSERVER 'server-name' 返回的值 (“server-name”) 不同。

onprobe 使用 $GBASEDBTDIR/etc/.infos.DBSERVERNAME 文件中指定的 GBASEDBTSERVER 的相关信息，直接连接
到数据库服务器共享内存。onprobe 连接后，会根据共享内存中的信息从根数据库空间的初始块读取保留页面。然后 onprobe 作为常规 SQL 客户机，使用 
$GBASEDBTDIR/etc/sqlhosts 文件中的信息来连接到指定的 GBASEDBTSERVER
。

该消息表明 $GBASEDBTDIR/etc/.infos.DBSERVERNAME 和 $GBASEDBTDIR/etc/sqlhosts 中有关指定的 
GBASEDBTSERVER 的信息不匹配。

一种可能的原因是 $GBASEDBTDIR/etc/sqlhosts 中指定的 GBASEDBTSERVER 的定义在初始化后已更改为引用其他数据库服务器实例的
值。



-54629	选项名称未知。

无法识别指定的选项。



-54628	找不到文件 filename。

找不到指定的文件。请检查命令行以了解该文件是否已正确指定或该文件是否存在
。



-54627	name1 选项不能与 name2 选项一起使用。

指定的两个选项是互斥选项，但您尝试同时指定这两个选项。请更改命令行，然后重新运行命令
。



-54626	可执行文件 (filename) 的后缀非法。

可执行文件的扩展名无效。您无意中指定了对象文件，而不是 .4ge 文件
。



-54625	此机器上不支持名称选项。

此机器上不支持指定的选项。



-54624	共享库 (name) 的后缀非法。

已指定共享库名称，但其后缀不是用于此系统的正确后缀。



-54623	选项名称需要自变量。

没有为指定的选项提供所需自变量。



-54622	GBasedbt NewEra VCL/Character 在此机器上不支持 termcap。

该命令尝试将 NewEra VCL/Character 与 termcap 一起使用，但此计算机上不支持 termcap
。



-54621	此计算机上不支持 GBasedbt NewEra VCL/Character。

该命令尝试使用 NewEra VCL/Character，但 NewEra VCL/Character 在此计算机上不可用
。



-54620	此机器上未安装 GBasedbt NewEra VCL/Character。

该命令尝试使用 NewEra VCL/Character，但 NewEra VCL/Character 尚未安装。请先安装该可单独购买的产品，然后再尝试使用它
。



-54509	用法：name {-m esql|odbc} [-o <output filename>] inputfile

对 cclmig 使用了错误的命令行语法。-m 选项指定方式，而 -o 选项指定输出文件。有关完整的语法，请参阅 Development Tools 
Reference。



-54508	由于内部处理错误，程序失败。这可能是因源代码行超过 1024 个字符而导致的
。

程序无法执行所需的处理。请检查输入文件名是否有任何不一致。修改源代码，使得任何一行都不超过 1024 个字符
。



-54507	此行中调用了 getODBCErrorCode。请检查源代码以确定是否需要进一步的修改
。

cclmig 实用程序未转换整行，因为在对行进行修改之前，需要仔细检查行中的代码
。



-54506	无法转换下一行上的一个或多个标记。

由于语言限制，cclmig 实用程序未转换整行或行的一部分。请检查行号并检查代码
。



-54505	命令行中给定的自变量无效。

对 CCLMIG 使用了错误的命令行语法。有关正确的语法，请参阅 Development Tools Reference
。



-54503	无法创建备份文件。请检查文件是否已存在，或者文件许可权是否不正确
。

出于某些原因，无法创建指定的文件。请检查目录和备份文件的许可权。另请验证在当前目录中是否不存在相同名称的文件
。



-54502	输入的方式无效。

如果要从 NewEra 2.x 转换为 NewEra 3.0，请使用“esql20”或“odbc20”。如果要从 NewEra 3.0 转换为 
NewEra 2.x，请使用“esql30”或“odbc30”。-m 符号必须遵循以下某个规范，具体取决于要尝试执行的操作
：

*   如果符号是 esql20，将源转换为 CCL/GBASEDBT 3.0。

*   如果符号是 esql30，将源转换为 CCL/GBASEDBT 2.0。

*   如果符号是 odbc20，将源转换为 CCL/ODBC 3.0。

*   如果符号是 odbc30，将源转换为 CCL/ODBC 2.0。



-54501	输入、输出或备份文件遇到了问题。

出于某些原因，无法读取、打开或创建指定的文件。请检查针对目录的许可权。确认文件系统内的磁盘空间是否可用
。



-54500	文件、命令或驱动器无效。

命令行选项中输入的文件名无效，输入的命令无效或与文件名一起输入的盘符（对于 PC）无效。请确保命令中没有出现拼写错误或语法错误。有关正确的语法，请参阅 
Development Tools Reference。



-54178	无法将 SuperField 添加到详细信息表中。主表名称缺少所需的列名，需要保留列名
。

您分别粘贴了主 SuperTable 和详细信息 SuperTable，现在正尝试链接这两个表。尽管 updateTable 属性匹配，但主 
SuperTable 未包含主键列，在 SuperView 中各表将通过该列进行链接。要纠正该问题，请在 SuperTable 中粘贴表的主键，然后再次建立链接
。



-54177	名为 filename 的文件不是有效的 ROF 文件。

此菜单是二级菜单，但您现在要使其成为顶级菜单。顶级菜单必须将 menuState 属性设置为 notAcheck。通过此消息框，Window Painter 将
为您设置 menuState。



-54176	顶级菜单必须具有 notACheck 菜单状态。

正尝试打开或导入的文件不是有效的 ROF 文件。该文件的语法不正确。请检查 ROF 文件的位置、语法和名称
。



-54175	顶级菜单不能是分隔符。

您要将菜单标题更改为分隔符。顶级菜单项不应为分隔符。



-54174	顶级菜单不能包含加速键。

不能为顶级菜单项指定加速键。



-54173	超过最大网格大小。

最大网格大小为 100 行。您超过了此限制。



-54172	SuperTable 名称已链接，因此不允许进行复制。

尝试复制已链接的主 SuperTable 和/或详细信息 SuperTable。这种情况下不允许进行复制
。



-54171	SuperTable 名称已链接信息，因此不允许进行粘贴。

尝试粘贴已链接的主 SuperTable 和/或详细信息 SuperTable。这种情况下不允许进行粘贴。也不允许进行拖放
。



-54170	SuperTable 名称已链接，因此已禁用移动。

尝试移动已链接的主 SuperTable 和/或详细信息 SuperTable。这种情况下不允许移动到新窗口
。



-54169	助记符对象名不是当前对象。

助记符对象名必须代表 Window Painter 中有效的当前对象。



-54162	无法导出 SuperField。

无法单独导出 SuperField，而不导出包含 SuperField 的 SuperTable。



-54161	无法导出显示网格。请选择 SuperTable。

要将网格 SuperTable 导出到 ROF 文件，必须选择 SuperTable，而不是选择内部网格
。



-54160	WIF 文件的目录中缺少 ROF 文件。

当前 WIF 文件包含 ROF 对象，但在 WIF 文件所在的同一目录中找不到其链接的 ROF 文件。无法执行刷新
。



-54159	无法将 ixMDSuperField 复制/拖放到 ixSuperTable 中，也无法将 ixSuperField 复制/拖放到 ixMDSuperTable
中。

SuperField 类型必须与目标 SuperTable 类型匹配。



-54158	无法将来自 SuperView 的 ixSuperField 复制/拖放到来自表的 ixSuperTable 中，反之亦然
。

正在复制/拖放的 ixSuperField 的源必须来自同一 SuperView（如果目标位置是从 SuperView 创建的 ixSuperTable），或者
源必须来自表（如果目标位置是从表创建的 ixSuperTable）。



-54157	无法将 ixSuperField 复制/拖放到来自不同 SuperView 的 ixSuperTable
。

ixSuperField 只能复制/拖放到从同一 SuperView 创建的 ixSuperTable
。



-54155	打开数据源名称时出错。

无法打开数据源。请确保已正确安装相应的驱动程序，或者确保已正确输入数据源名称
。



-54154	没有在 SuperTable 表中粘贴 SuperField。这可能会导致程序中出错
。

您创建了 SuperTable，但未包含 SuperField 列，这可能会导致程序中发生编译或运行时错误
。



-54151	Name 属性无效。

为 Name 属性输入的值无效。Name 属性的值不得为空。



-54150	正在将 UpdateTable 重置为 NULL，因为 SuperTable 名称没有作为主键的 SuperField
。

SuperTable 中不存在主键列。更新表是指可从中获取用于填充 SuperField 的数据的表。只有当关联更新表的主键可用作 SuperTable 中的 
SuperField 时，UpdateTable 属性才有效。



-54149	是否删除主键？

您尝试从 SuperTable 中删除主键列。删除主键会中断主表和详细信息表的关系（如果存在），或者会阻止 SuperTable 在运行时适当更新。请确保您想要
执行此操作。



-54146	SuperField 的可视容器必须是 SuperTable。

您尝试将 SuperField 粘贴到一个对象，但该对象不是 SuperField 的有效容器。SuperField 只能包含在 SuperTable 中。请确
保要将 SuperField 粘贴到的目标对象是 ixSuperTable。 



-54145	对象名正在使用。请使用唯一名称。

当对象的 Name 属性与 WIF 文件中的其他对象具有相同名称时，会发生该错误
。



-54144	无法删除临时处理程序文件：filename。

Window Painter 在磁盘上为处理程序创建了临时文件。当无法删除此临时文件时，会发生该错误。请查明包含指向 TEMP 环境变量的目录的硬盘上是否存在足
够的空间。请确保该文件可视并设置了读许可权。另请查明任何其他应用程序（如编辑器）是否打开了同一文件
。



-54143	无法读取临时处理程序文件：filename。

Window Painter 在磁盘上为处理程序创建了临时文件。当对该文件执行读操作失败时，会发生该错误。请查明包含 TEMP 环境变量所指向的目录的硬盘上是否
存在足够的空间，以及该文件是否可视并设置了读许可权。



-54142	无法创建临时处理程序文件：filename。

Window Painter 在磁盘上为处理程序创建了临时文件。当该操作失败时，会发生该错误。请查明包含 TEMP 环境变量所指向的目录的硬盘上是否存在足够的空
间。



-54141	无法创建类：name。

如果 Window Painter 无法在 WIF 或 ROF 文件打开时正确恢复来自该文件的对象属性值，很可能是因为该文件已损坏。如果备份可用，请从备份进行恢
复。



-54140	property 属性 name 非法。

如果 Window Painter 无法在 WIF 或 ROF 文件打开时正确恢复来自该文件的对象属性值，很可能是因为该文件已损坏。如果备份可用，请从备份进行恢
复。



-54139	属性名：无法读取值。

如果 Window Painter 无法在 WIF 或 ROF 文件打开时正确恢复来自该文件的对象属性值，很可能是因为该文件已损坏。如果备份可用，请从备份进行恢
复。



-54138	无法粘贴数据。

如果 Window Painter 无法在 WIF 文件打开时正确恢复该文件的内容，很可能是因为该文件已损坏。如果备份可用，请从备份进行恢复
。



-54137	解析数据时出错。

如果 Window Painter 无法在 WIF 文件打开时正确恢复该文件的内容，很可能是因为该文件已损坏。如果备份可用，请从备份进行恢复
。



-54136	剪贴板为空或用于此操作的内存不足。

当执行粘贴操作但没有对应的剪切/复制操作时，会发生该错误
。



-54135	由于文件自打开之后已更改，因此行数可能与上次构建时不匹配，也可能选择错误的行号
。

尝试根据应用更改之前生成的行号信息跳至 WIF 文件中的某行时，会发生此警告。要使该警告消失，请在应用程序构建器中执行构建
。



-54134	只能跳至 WIF 文件中的行。

当 IDE 中的其他 NewEra 组件清求跳至不支持此类操作的文件类型中的行时，会发生该错误。当与对象关联的文件不是 WIF 文件（例如，关联文件为 ROF 
文件或 WIX 文件）时，也会发生该错误。



-54133	行号超过所生成代码的末尾。

行号超过所生成 NewEra 代码的末尾。WIF 文件不包含匹配的对象
。



-54132	处理程序已删除。

在 WIF 文件中已删除此行的匹配处理程序，因此无法在语言编辑器的对应处理程序中对其进行访问
。



-54131	对象已删除。

在 WIF 文件中已删除此行的匹配对象，因此无法在 Window Painter 中对其进行访问
。



-54130	没有选择 SuperTable 名称的已链接 SuperTable，因此已禁用导出
。

已链接的 SuperTable 必须在 ROF 文件中一起导出。不允许导出一组已链接的 SuperTable 的其中之一
。



-54129	SuperTable 名称已链接，因此已禁用删除。

已链接的 SuperTable 必须一起删除。不允许删除一组已链接的 SuperTable 的其中之一
。



-54128	执行转换的内存不足。

操作系统的内存不足。请重新引导计算机或增加计算机内存
。



-54127	无法转换 ROF 文件。

格式转换器只能用于将 WIF 文件（而不是 ROF 文件）转换为 NewEra 文件
。



-54126	未传递 WIF 文件名。

命令格式为：ixwpconv [-n] [-s] filename



-54125	命令行选项 name 未知。

命令格式为：ixwpconv [-n] [-s] filename



-54124	以下 ixMDSuperTable 不是详细信息 SuperView：name。

必须在 SuperView 编辑器中将这些 SuperTable 的关系定义为详细信息表
。



-54123	此 ixMDSuperTable 无法用于主表。请检查以下内容：是否没有为此 ixMDSuperTable 设置 updateTable 属性
。

主 SuperTable 必须具有主键 SuperField。对于有主键的 SuperTable，必须设置 updateTable 属性。您选择了此 
SuperTable 作为详细信息 SuperTable 的主表。但 Window Painter 通过检查 updateTable 属性来确定关系时发现，您尚
未为此 SuperTable 设置 updateTable 属性。请设置该属性，然后重试
。



-54122	此 ixMDSuperTable 无法用于详细信息表。请检查以下内容：是否没有为此 ixMDSuperTable 详细信息设置 updateTable 属性
。

您选择了此 SuperTable 作为主 SuperTable 的详细信息表。但 Window Painter 通过检查 updateTable 属性来确定关系
时发现，您尚未为此 SuperTable 设置 updateTable 属性。请设置该属性，然后重试
。



-54121	名称中保留的缺省处理程序可能导致错误。

您取消了主-详细信息 SuperTable 的链接。Window Painter 为主 SuperTable 生成了缺省处理程序。Window Painter 
保留处理程序是因为它不知道处理程序是否被编辑过。如有必要，请除去这些处理程序。如果处理程序引用不存在的任何对象，那么在运行时会发生错误
。



-54120	打开数据库名称时出错。

将详细信息 SuperTable 添加到主 SuperTable，或从主 SuperTable 中除去详细信息 SuperTable 时，Window 
Painter 无法打开数据库。错误 -54119 是此消息框的标题，而错误 -54120 提供了对错误 -54119 的解释
。



-54119	详细信息 SuperTable 错误。

详细信息 SuperTable 操作中发生错误。有关详细信息，请查看消息框中的消息
。



-54117	在此目录中无法执行“另存为”操作。

您在不同的 WIF 文件中创建了主-详细信息 SuperTable，并将其保存在当前目录中。如果尝试在相同目录中将某个 WIF 文件保存为其他名称，那么将中断
主-详细信息关系的一致性。



-54116	无法装入 filename1，但能装入 filename2。如果这是正确的图片，那么应更新此图片按钮的属性
。

Window Painter 无法装入保存在先前 WIF 文件中的位图，但能装入在当前 WIF 目录中搜索到的位图。如果显示的图片不正确，请为图片按钮属性重新指
定值。



-54115	读取 filename 中的位图时出错。

Window Painter 无法读取位图文件。该文件可能已损坏，或者可能格式不正确
。



-54114	打开 filename 中的位图时出错。

Window Painter 无法打开位图文件。该文件不存在，或者没有读许可权
。



-54113	对象名已链接到 ROF。继续操作将中断与 ROF 的链接，并且将取消该 ROF 与 WIF 的链接。是否要继续
？

您在只包含一个对象的当前窗口中导入了 ROF 文件，或者除了当前对象，取消了与所有其他对象的链接。如果取消此对象与 ROF 的链接，那么将取消与 ROF 文件的
链接。刷新 ROF 文件时，该文件将不可用。



-54112	对象名已链接到 ROF。继续操作将静态取消该对象与 ROF 的链接。在未重新打开或刷新 WIF 之前，该对象将保持取消链接状态。是否要继续
？

您在包含多个对象的当前窗口中导入了 ROF 文件。并且，您选择了其中某个对象，并单击了“删除”或“剪切”，或者从“编辑”菜单中选择了“删除”或“剪切”。如果继续
该操作，将取消这些对象与 ROF 的链接。



-54111	对象名重复。

ROF 对象名将替换为唯一名称。使用旧名称的所有处理程序都将需要更新
。

ROF OldName 为 filename1

NewName 为 filename2

其他对象具有与该 ROF 对象相同的名称。在 Window Painter 中，这种情况是不允许的。该 ROF 对象名将替换为唯一名称。请更新使用旧名称的所有处
理程序。



-54110	将要导出的 ROF 当前已在此 WIF 上导入。如果继续，将更新磁盘上的 ROF 文件。是否要继续
？

如果继续，将覆盖磁盘上的 ROF 文件。如果要覆盖更改，请单击“是”；否则单击“否”
。



-54109	此 ROF 文件已在此窗口中导入。

是否希望改为刷新此 ROF？

已经导入该 ROF 文件。要重新读取相同的 ROF 文件，请从“文件”菜单中选择“刷新 ROF”
。



-54108	名为 filename 的文件不是有效的 WIF 文件。

该文件不是有效的 WIF 文件。请确保该文件具有正确的版本信息，并且拼写正确
。



-54107	无法初始化 IPC。

Window Painter 无法在动态数据交换管理库 (DDEML) 上注册。不正确地使用 DDE，DDEML 的参数验证失败或 DDEML 内发生任何内部错
误都可能导致该错误。



-54106	无法从剪贴板粘贴对象。

Window Painter 将对象粘贴到剪贴板时发生错误，可能是因为未成功创建 OLE 复合文件
。



-54105	复制到剪贴板失败。

Window Painter 将对象复制到剪贴板时发生错误，可能是因为未成功分配内存
。



-54104	剪切到剪贴板失败。

Window Painter 将对象剪切到剪贴板时发生错误，可能是因为未成功分配内存
。



-54103	无法创建对象。请确保在系统注册表中输入了该对象
。

可能是因未成功分配内存，或在系统注册表中未输入该对象而导致该错误
。



-54102	OLE 初始化失败。请确保 OLE 库的版本正确。

Window Painter 初始化 OLE 动态链接库 (DLL) 时发生错误，可能是因为安装的 OLE 系统 DLL 版本不正确
。



-54101	不允许此属性使用负值。

为此属性提供正值。请检查是否在系统注册表中输入了该对象
。



-54100	colNum 属性超出范围。该值必须大于零但小于或等于 numDisplayedCols
。

无更多可用信息。



-54099	名称：没有为选项（字符代码名称）提供自变量。

指定的选项使用了不可打印字符并且需要自变量，但未提供任何自变量。请向命令行添加必需的自变量，然后重新运行命令。此消息不应出现，因为所有选项字母均可打印
。



-54098	名称：没有为 -name 选项提供自变量。

指定的选项需要自变量，但未提供任何自变量。请向命令行添加必需的自变量，然后重新运行命令
。



-54097	名称：无法识别的选项：字符代码名称。

指定的选项不是命令的有效选项，而且选项字符不是可打印字符。请更改命令行，然后重新运行命令
。



-54096	名称：无法识别的选项 -name。

指定的选项不是命令的有效选项。请更改命令行，然后重新运行命令
。



-54058	读取文件 filename　时发生异常 EOF。

程序应读取的文件多于磁盘上存在的文件。命名文件已损坏，应重新创建
。



-54057	对象文件 filename 不可读。

此用户无法读取指定的文件。请更改针对该文件或包含该文件的目录的许可权
。



-54056	可解释文件 filename 不可读。

此用户无法读取指定的文件。请更改针对该文件或包含该文件的目录的许可权
。



-54055	已经指定完整链接或初始链接。不能用 -o name 来重新指定该链接
。

您尝试在 FGLLINK 命令行上指定两次 -o（或 -i），这是不允许的。请更改命令行，然后重新运行命令
。



-54054	已经使用 -i 选项指定部分链接或增量链接。不能再使用 -o name 指定完整链接或初始链接
。

您尝试在 FGLLINK 命令行上指定两次 -o（或 -i），这是不允许的。请更改命令行，然后重新运行命令
。



-54053	无法写入可解释文件 filename。

此用户无法写入命名的文件。请更改针对该文件或包含该文件的目录的许可权
。



-54052	对文件 filename 执行 fflush( ) 时发生 I/O 错误。

发生了 I/O 错误，可能是因为磁盘空间不足。系统错误信息（如果有）可能会有帮助。如果所有其他方法都失败，请重新运行程序
。



-54051	函数名也用作报告。

一段代码将命名的函数作为函数调用；而另一段代码将其作为报告处理。其中一个操作是错误的
。



-54050	名称：未指定输入文件。

FGLLINK 在命令行上至少需要一个对象文件或库文件。



-54049	命令行上命名了两个库，但只允许使用一个库。第二个库由名称指定
。

指定了两个库，但在任何给定运行中，FGLLIB 只能对一个库进行操作。请修改命令行
。



-54048	名称为 name 的对象已经定义。

第二个对象使用指定的名称进行定义。请查明在何处使用相同方式定义了对象并除去其中一个定义
。



-54047	无法关闭临时文件 filename。

程序尝试对临时文件执行指定的操作但失败。可能存在许可权问题或异常 umask 值 (000)
。



-54046	无法除去临时文件 filename。

程序尝试对临时文件执行指定的操作但失败。可能存在许可权问题或异常 umask 值 (000)
。



-54045	无法打开临时文件 filename。

程序尝试对临时文件执行指定的操作但失败。可能存在许可权问题或异常 umask 值 (000)
。



-54044	无法创建临时文件 filename。

程序尝试对临时文件执行指定的操作但失败。可能存在许可权问题或异常 umask 值 (000)
。



-54043	模块名称 name 已经扫描过，但需要再次扫描。

要使用调试器，所有链接到程序的模块名称必须唯一。

某个位置正在扫描对象文件和库，相同的对象文件名（路径信息除外）需要读取两次。同一对象文件名称读取两次会干扰调试器。如果此模块中报告错误，可能会导致混淆
。



-54041	库名不可写。

无法修改指定的库。



-54040	在命令行上多次对文件 filename 命名。

在命令行上对特定文件命名了两次。这种情况从来都是无效的。删除其中一个名称后，重新运行命令
。



-54039	无法对文件 filename 执行 stat。请检查针对该文件的许可权
。

命名的文件已存在，但无法访问。目录或文件许可权限制过严
。



-54038	在库中找不到文件 filename。

命令行上指定的文件应位于库中，但却不在。请检查库的内容（-t 选项）并相应更改命令
。



-54037	p-code 库版本名称未知。

库结构版本字段位于库以及 p-code 版本信息中。无法识别在此库中找到的库结构版本。请使用库管理器从此计算机重新构建库
。



-54036	只能使用一个选项名称。

FGLLINK 接受了 -o 和 -i 选项，但对于给定运行，只能指定其中一个选项。请更改命令行，然后重新运行程序
。



-54035	Filename 不是可解释文件。

指定的文件应为库文件，但却不是。请更改命令行以指定有效文件名
。



-54034	Filename 不是对象文件。

指定的文件应为库文件，但却不是。请更改命令行以指定有效文件名
。



-54033	Filename 不是库文件。

指定的文件应为库文件，但却不是。请更改命令行以指定有效文件名
。



-54032	无法正确关闭文件 filename。

程序尝试关闭命名的文件时，收到了错误。如果正在写入文件，那么可能是磁盘空间不足（如果有系统错误信息，可能会有帮助）。如果正在读取文件，那么错误原因不明确
。



-54031	无法将 stat(2) 系统调用应用到先前打开的文件 filename
。

此问题很有可能是内部错误，但系统已拒绝允许程序对文件执行应执行的操作。在此程序对文件进行操作时，其他程序可能已除去了该文件或更改了许可权。您可能无法重现此问题
。



-54030	找不到与名称 filename 对应的对象文件、库文件或可解释文件
。

程序搜索了指定的文件，但找不到该文件。



-54029	找不到可解释文件 filename。

程序搜索了指定的文件，但找不到该文件。



-54028	找不到对象文件 filename。

程序搜索了指定的文件，但找不到该文件。



-54027	p-code 版本名称未知。

FGLLIB 和 FGLLINK 未识别在文件中检测到的 p-code 版本。您需要升级 FGLLIB 和 FGLLINK，或者您有某个文件看起来像 
p-code 文件，但并不是。



-54026	p-code 版本 name1 和 name2 不兼容。

两个不同的文件包含两个不同的 p-code 版本，并且已知这两个版本不兼容。请重新编译这两个文件中任一个
。



-54025	在文件 filename 中检测到的 p-code opcode 无效。

p-code 文件似乎有效，但包含异常数据。该文件已损坏。请对其重新进行编译
。



-54024	您已经使用 -o 选项指定完整链接或初始链接。不能再使用 -i name 指定部分链接或增量链接
。

FGLLINK 接受了 -o 和 -i 选项，但对于给定运行，（一次）只能指定其中一个选项。请更改命令行，然后重新运行程序
。



-54023	已经指定部分链接或增量链接。不能使用 -i name 来重新指定该链接
。

FGLLINK 接受了 -o 和 -i 选项，但对于给定运行，（一次）只能指定其中一个选项。请更改命令行，然后重新运行程序
。



-54022	名称：命令行上未指定对象文件，但必须至少指定一个
。

FGLLIB 和 FGLLINK 有时需要在命令行上指定对象文件，但此时，未指定任何对象文件。请更改命令的选项，或者添加缺少的对象文件名。另请检查 shell 
变量的拼写或制作变量。



-54021	写入文件 filename 时发生 I/O 错误。

写入文件时发生错误。系统错误信息（如果有）可能有助于诊断该问题。请重新运行程序。可能的原因是磁盘空间不足或磁盘故障
。



-54020	读取文件 filename 时发生 I/O 错误。

读取文件时发生错误。系统错误信息（如果有）可能有助于诊断该问题。请重新运行程序。使用 cat filename > /dev/NULL（在 UNIX 上）以了解
问题是否在程序外发生。如果是，那么怀疑是磁盘故障。



-54019	这是内部错误。该错误不应发生。

请向 IBM 技术支持报告该错误。



-54018	名称内存不足。

程序尝试分配内存但失败。请释放部分系统内存（可以通过退出一些程序或从 /tmp 中除去一些文件）
。



-54017	名称：必须使用选项 -d、-r、-t、-u 或 -x 之一。

FGLLIB 需要命令行上一个指定的选项。请使用这些指定的选项之一来重新运行程序。指定 -l -r 表示指定库 lib-r.4ga
。



-54016	捕获到信号名称，正在退出。

指定的信号已到达，程序正在退出。请重新运行程序。



-54015	找不到文件 filename。

程序找不到指定的文件。如果指定的文件实际上是 FIFO 或某些同样模糊的文件，那么可能发生这种情况
。



-54014	可解释文件 filename 已损坏。

指定的文件不是有效的 p-code 文件。



-54013	库文件 filename 已损坏。

指定的文件不是有效的库文件。



-54012	对象文件 filename 已损坏。

指定的文件不是有效的对象文件。



-54011	符号名称上的类型不匹配。

指定的符号使用一种类型来引用，但使用其他类型进行定义
。



-54010	无法除去库名。

文件已损坏，不应使用该文件。库已损坏，无法除去。这种情况需要目录为只读，但在不适当的时候发出了到达信号。请尝试重置目录许可权，然后不发送任何信号，重新运行命令
。



-54009	无法除去可解释文件 filename。

文件已损坏，不应使用该文件。可解释文件已损坏，无法除去。这种情况需要目录为只读，但在不适当的时候发出了到达信号。请尝试重置目录许可权，然后不发送任何信号，重新运
行命令。



-54008	找不到库文件 filename。

已使用 -lname 指定库，但代码找不到该库。如果该库存在，请使用 -L 选项指定其所在目录
。



-54007	文件 filename 的扩展名无效。

已识别指定文件的扩展名，但这是无效扩展名。该错误通常意味着在命令行上指定了源文件，或者指定了 C 代码系统对象文件（库文件等）。FGLLIB 和 FGLLINK
只能处理 .4ga、.4gi 和 .4go 文件。



-54006	无法创建可解释文件 filename。

无法创建指定的文件。请检查针对目录的许可权。另请检查文件系统内的磁盘空间是否可用
。



-54005	无法创建归档文件 filename。

无法创建指定的文件。请检查针对目录的许可权。另请检查文件系统内的磁盘空间是否可用
。



-54004	无法创建对象文件 filename。

无法创建指定的文件。请检查针对目录的许可权。另请检查文件系统内的磁盘空间是否可用
。



-54003	无法打开可解释文件 filename。

无法打开指定的文件。请检查针对该文件和目录的许可权。



-54002	无法打开归档文件 filename。

无法打开指定的文件。请检查针对该文件和目录的许可权。



-54001	无法打开对象文件 filename。

无法打开指定的文件。请检查针对该文件和目录的许可权。



-53704	没有建立连接。

向服务器分区进行请求时发生错误，因为不存在服务器连接。在向服务器分区进行任何请求之前，必须先建立服务器连接。请验证是否建立了成功连接
。



-53703	服务名称不正确。

为服务指定的名称与可用服务的名称对应，但它不是 ASCL 服务。请检查 gbasedbt.ini 文件是否有 SERVICE 条目，并验证指定的名称是否正确
。



-53702	请求管理器无效（为空）。

应用程序服务器已创建请求者对象的实例，但提供了空的请求管理器。请验证指定的请求者对象是否与有效的请求管理器关联
。



-53701	连接字符串中发生语法错误。

请检查 ixASRequestMgr() 构造函数参数列表中使用的连接字符串
。



-53607	应用程序服务器进程已通过命令行或某个外部进程结束
。

外部原因（而不是 NewEra 运行时错误）终止了应用程序服务器进程
。



-53606	没有在服务器应用程序中定义指定的事件。

请求者发布或调用了在对应服务器类中未定义的事件。请验证在请求者类中定义的事件序列的名称和序列是否与在响应程序类中定义的序列中的初始事件相对应
。



-53604	应用程序服务器已通过执行 EXIT PROGRAM 语句终止。

服务器已执行 EXIT PROGRAM 语句。



-53602	对应的响应程序对象不存在。

请求者尝试与未知响应程序对象进行通信。请验证正在创建的响应程序对象是否正确
。



-53601	应用程序客户机与服务器之间的握手字符串不匹配。

请检查应用程序客户机和应用程序服务器的握手字符串。



-53513	网络错误 - 无法启动 fglexec 可执行文件。

网络中发生故障。请查找可能提供更多信息的操作系统错误消息。请验证 fglexecd 命令 -s 选项中的值是否正确。请尝试重新启动应用程序。如果问题重现，请联系
系统管理员，并要求运行网络诊断。



-53512	应用程序客户机与服务器之间的连接丢失。

网络已停止，或 fglexecd 已终止。



-53511	数据队列已溢出。

发送给服务器的事件数超过为其分配的队列存储空间。请尝试为 fglapps 文件的 SMEMQueueSize 条目定义更大的值，或者尝试减少在任何时候处于暂挂状
态的事件数。



-53510	数据池已溢出。

发送给服务器的数据超过为其分配的池存储空间。请尝试为 fglapps 文件的 SMEMPoolKBytes 条目定义更大的值，或者尝试减少调用或记入中的参数总大
小，以避免超过为 SMEMPoolKBytes 条目指定的大小。



-53509	fglapps 文件中有语法错误。

当客户机应用程序尝试实例化请求管理器时，服务器主机上的 fglexec 无法完成 fglapps 文件的处理。请检查 fglapps 文件中指定应用程序的配置节
是否有不正确的关键字或标点符号。



-53506	fglapps 文件中没有 CommandLine 条目。

请验证 fglapps 文件中指定的应用程序服务器的配置节是否包含 CommandLine 条目
。



-53505	fglapps 文件中没有指定的应用程序服务器的节。

客户机应用程序请求了服务器未识别的服务名称。请验证客户机应用程序指定的是否是正确的服务器应用程序名称，并且是否在 fglapps 文件中正确指定了服务器配置节
。



-53504	应用程序服务器在启动时异常终止。

fglapps 文件的 CommandLine 条目中指定的可执行文件不是分区的应用程序服务器
。



-53503	进程间通信资源不可用。

获取足够资源以分配共享内存时发生问题。请检查系统的共享内存资源
。



-53502	找不到应用程序服务器可执行文件，或者该可执行文件没有读许可权
。

请验证 fglapps 文件的 CommandLine 条目是否指向有效的应用程序服务器可执行文件。如果可执行文件确实存在，请验证它是否具有正确的文件许可权
。



-53501	找不到 fglapps 文件，或者该文件没有读许可权。

请验证服务器上的环境变量 GBASEDBTFGLAPPS 是否指定了 fglapps 文件的标准名称，或者 fglapps 文件是否驻留在缺省位置 ($
GBASEDBTDIR/etc/newera)。如果 fglapps 文件确实存在，请验证它是否具有正确的文件许可权
。



-53004	在对象销毁期间，向该对象添加了引用。

该错误可能使部分销毁的对象处于不一致状态。请检查引用对象本身的对象任务的所有 !destroy( ) 方法
。



-53003	全局变量名称已初始化多次。

全局变量可以定义多次，但只能有一个声明包含初始化表达式
。



-53002	动态关闭共享库失败：name。

无更多可用说明。



-51232	使用组件名称不再是库。请修改使用组件列表并重新构建
。

发生该错误的可能原因是尝试构建使用其他项目中组件的组件，但被使用的组件不再是外部项目中的库
。



-51231	组件名称正在使用项目中不存在的库/导入库。

发生该错误的可能原因是尝试从其他项目构建组件，但被使用的组件不再存在于外部项目
。



-51229	从 CM 系统装入文件 filename 失败。

尝试构建组件时，应用程序构建器检测到有文件要从共享工作空间下载。下载该文件时发生错误。有关存储库/数据库级别的更多详细信息，请单击“帮助”
。



-51227	磁盘文件 filename 不存在。此文件是新文件，从未检入过
。

发生该错误的可能原因是向组件添加了文件，然后从磁盘中除去了同一文件，而现在正尝试构建该组件
。



-51226	项目名称具有相同名称和相同工作目录的组件。请使用“项目属性”对话框更改项目 makefile 名称
。

由于无法更改组件 makefile 名称，请使用“项目属性”对话框重命名项目 makefile
。



-51225	具有相同名称的目录已存在。请使用“项目属性”对话框重命名 makefile 名称
。

无更多可用信息。



-51223	项目名称没有在本地工作空间中装入。

该错误由应用程序构建器处理以执行进一步的操作。如果尝试构建依赖其他项目中其他组件的组件，但这些项目在专用工作空间中不存在时，会发生该错误。应用程序构建器会提示您
下载所需项目。



-51222	下载项目 filename 中使用组件 filename 的二进制文件 filename 时出错。请构建缺少的库并重新构建当前组件
。

您拥有依赖其他项目中库的组件。但 .lib 或 .dll 库在共享工作空间中不存在。请先检查这些二进制文件，然后才可以复用这些库并构建其组件
。



-51219	为文件 filename 创建新的 ABfile 失败。

创建新存储库对象失败。有关更多详细信息，请单击“帮助”
。



-51217	正在除去给定文件的包含文件。

发生存储库错误。有关更多详细信息，请单击“帮助”。



-51216	目录更改未成功。

每当发出构建请求时，应用程序构建器都会将其当前工作目录更改为组件工作目录，并从该目录调用构建过程。当应用程序构建器无法将当前目录更改为组件工作目录时，会发生该错
误。

该错误可能由以下原因引起：

*   目录位于安装的驱动器上，但远程计算机在构建时停止。

*   没有在引用的目录上正确设置目录读取/搜索许可权。

*   当前组件目录不存在。除非在应用程序构建器外部显式除去该目录，否则这种情况不应发生
。



-51215	当前项目的组件列表为空。

如果尝试为没有组件的项目构建 makefile 时，会发生该错误。



-51214	项目对象无效。请检查项目信息。

发生存储库错误。有关存储库/数据库级别的更多详细信息，请单击“帮助”
。



-51213	检查文件 filename 的依赖性时，依赖性生成中出错。请检查组件配置
。

该错误是警告。解析从属包含头文件的 .4gl 或 .wif 文件时发生错误。编译此文件时，编译器捕获到该错误。应用程序构建器发出警告并继续执行制作/构建过程
。



-51209	源列表中缺少源文件 filename 的从属头文件 Filename。请将该文件添加到源列表并重新生成 makefile
！

无更多可用信息。



-51208	Filename 是从其他组件生成的文件。请将该文件添加到当前组件
。

无更多可用信息。



-51206	无法获取组件名称的包含文件列表。请检查 -H 路径。

可能在“组件属性”对话框的“Newera 选项”字段中指定了无效包含目录。否则，可能是存储库中发生损坏，需要进行验证
。



-51203	打开 makefile (filename) 时出错。

打开 makefile 以插入制作规则时发生错误。该错误可能由以下任一原因引起
：

*   磁盘可能已满。

*   备份 makefile 被某个其他进程打开。

*   磁盘已成为只读。



-51202	制作备份文件时遇到错误。

每当修改组件定义或尝试生成 makefile 时，应用程序构建器都会尝试将当前现有的 makefile 备份到 compname.mkb，并创建名称为 
compname.mak 的新 makefile。如果在尝试创建备份文件时遇到错误，那么该错误可能由以下任一原因引起
：

*   磁盘可能已满。

*   备份 makefile 被某个其他进程打开。

*   磁盘已成为只读。



-51201	在键 name 下未提及规则。请检查安装。

注册表值不正确。安装未成功完成，或者可能修改了这些值。如果此问题重复出现，请重新安装产品。如果该错误仍然存在，可能需要联系 IBM 技术支持
。



-51113	无法除去项目。

应用程序构建器用于访问专用和共享工作空间的某个动态库中发生错误
。



-51112	撤销检出文件 filename 失败。是否继续执行剩余文件？

应用程序构建器用于访问专用和共享工作空间的某个动态库中发生错误
。



-51111	注释字符串的长度超过 n 个字符。

请验证指定的是否是单个注释字符串。如果注释中的字符数超过限制，请指定较短的注释
。



-51110	选项名称超过 n 个字符的限制。请修改选项，然后重试
。

请验证指定的是否是单个选项。如果选项中的字符数太多，请指定较短的选项
。



-51109	标签超过 n 个字符的限制。请重新输入标签文本。

请验证指定的是否是单个标签。如果标签文本太长，请指定较短的文本
。



-51108	完整路径 pathname 超过 Win95 完整路径字符数限制。请重新输入目录和/或名称
。

请验证指定的是否是单个路径名。如果完整路径名超过 Windows 95 限制，请指定总字符数在限制范围内的相对路径，或者重组文件系统，以使完整路径名的长度不超过
限制。



-51105	从注册表中无法检索到共享工作空间名称。请确保使用了 RSAT 创建共享工作空间。要以断开连接方式继续，请按“确定”。要退出应用程序，请按“取消”
。

未指定共享工作空间。如果这不是有意为之，请使用 RSAT 创建一个共享工作空间
。



-51104	此程序需要一个或多个有效库。这可能是因为一个或多个库尚未装入专用工作空间。在这种情况下，程序无法启动
。

正在尝试运行的程序链入在链接信息指定的位置中找不到的库。选择要链接的库可能已从定义这些库的项目中除去（或重命名）。请修改组件以包含正确的库
。



-51103	无法在共享工作空间中注册项目名称。检入无法继续
。

应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51102	项目无效。该项目已检出，但在专用工作空间中却找不到。操作失败
。

在专用工作空间中找不到锁定的项目。请验证是否已连接到正确的专用和共享工作空间对，或者如果重新构建了专用工作空间，请验证是否提供了与已除去专用工作空间绑定的归档中
的清除信息。



-51101	您将要添加为其他版本 Windows 构建的库名。这可能导致链接和/或运行时错误。是否要使用该名称
？

只能链接为相同操作系统构建的库。您正在尝试将 16 位库链接到 32 位组件，或者将 32 位组件链接到 16 位库
。



-51100	项目名称已由其他用户检出。要检出此项目的文件，请按“是”。要终止操作，请按“否”
。

一次只能有一个用户锁定项目。要检出的项目已经由其他用户检出。但您可以锁定属于该项目的任何文件，以及未被其他用户锁定的任何文件
。



-51099	无法除去组件名称。

应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51098	无法从组件中除去 filename。要继续除去任何剩余文件，请按“确定”。按“取消”可退出
。

应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51097	从存储库中无法检索到文件 filename。要继续除去任何剩余文件，请按“确定”。按“取消”可退出
。

应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51096	对象名已由其他用户检出。

一次只能有一个用户锁定文件或项目。如果文件或项目未显示挂锁图标，说明您的版本可能过期。请重新装入文件或项目以查看更新的视图，或者打开“文件版本控制”或“项目版本
控制”对话框，在共享工作空间树形视图中查看最新的版本信息。使用树形视图可避免不必要地下载最新版本的文件或项目
。



-51093	尝试添加文件 filename1 失败，因为文件 filename2 已经是组件的一部分，构建期间将发生覆盖。要继续添加任何剩余文件，请按“确定”。要退出，请按
“取消”。

编译具有相同主干名称的两个文件（如 filename.wif 和 filename.4gl）时，这两个文件都会生成 filename.ec、filename.c
和 filename.obj。最后一次编译的文件将覆盖另一个文件生成的文件，因此不要将相同名称用于这些文件
。



-51092	检入项目名称失败。

应用程序构建器用于访问专用或共享工作空间的某个动态库中发生错误
。



-51091	标签名称已存在。每个版本的标签必须唯一。

不能将同一标签使用两次。标签用于标记不同的版本。



-51090	检入文件 filename 失败。

应用程序构建器用于访问专用或共享工作空间的某个动态库中发生错误
。



-51089	内部错误阻止刷新未锁定文件的本地副本。

可能原因是网络故障、磁盘问题或存储库故障。



-51088	文件 filename 是已经属于项目的二进制文件（.lib、.dll 和 .o 等），因此无法将其添加到源列表。要继续，请选择“确定”，要终止操作，请按“取消
”。

您尝试将已经属于项目的二进制文件添加为源文件。此操作是不允许的
。



-51087	无法初始化存储库会话。要创建有效的专用和共享工作空间，必须运行 RSAT。正在终止应用程序
。

应用程序构建器需要注册表中的特定项来访问专用和共享工作空间。NewEra 3.0 安装程序和 RSAT 都可创建这些项。建议使用 RSAT 来访问注册表项，而不
要尝试修改这些项。

应用程序构建器中的所需项包含专用空间名称、归档系统类型以及共享工作空间名称和位置
。



-51086	从注册表中无法检索到会话数据。请运行 RSAT 并确保已创建专用和共享工作空间。正在终止应用程序
。

应用程序构建器需要注册表中的特定项来访问专用和共享工作空间。NewEra 3.0 安装程序和 RSAT 都可创建这些项。建议使用 RSAT 来访问注册表项，而不
要尝试修改这些项。

应用程序构建器中的所需项包含专用空间名称、归档系统类型以及共享工作空间名称和位置
。



-51085	检索到的项目名称的 Makefile 字符串为空。

该内部错误可能是由于专用工作空间损坏而导致。请重新引导计算机。如果问题仍然存在，请重新创建专用工作空间
。



-51084	无法除去 makefile filename。应用程序构建器需要除去该 makefile 才能创建更新的 makefile
。

请确保该文件未设置为只读。如果没有，那么说明发生了未知磁盘系统错误。请关闭应用程序构建器或重新引导计算机
。



-51083	从存储库中无法检索到组件名称的目录字符串。

发生内部专用工作空间错误。可能的原因包括存储库数据库已损坏、计算机条件不稳定或网络连接不稳定（如果专用工作空间驻留在其他计算机上）。请关闭并重新启动应用程序构建
器或重新引导计算机，然后再次尝试操作。



-51080	项目名称 name 同时在共享和专用工作空间中存在。必须重命名专用工作空间中的项目，或者取消当前操作
。

专用工作空间中的新项目与共享工作空间中检入的项目名称冲突。项目名称必须唯一，因此请给予本地项目其他名称
。



-51079	GBasedbt 目录尚未正确初始化。

从 GBasedbt 项目中无法检索到所需信息。请确保使用了 RSAT 创建专用工作空间。如果确实使用了 RSAT 并且使用专用工作空间没有任何问题，请重新引导
计算机以清除正在运行的所有已损坏 DLL。如果问题仍然存在，可能专用工作空间已损坏
。



-51078	具有此名称的文件已存在。是否覆盖？

指定的文件或正在复制的文件已经在此目录中存在。如果不需要现有文件，请覆盖它。否则，请重命名该文件，或指定文件要复制到的其他目录
。



-51077	输入的名称是现有目录的名称。请为项目 makefile 输入其他名称
。

文件与目录具有相同父目录时，文件的名称不能与目录相同。请给予 makefile 不同于其他文件或目录名称的名称
。



-51076	从注册表中检索到的主窗口尺寸和/或位置值在此分辨率下无法使用。如果未更改分辨率，那么说明注册表项可能已损坏，建议重新安装 Newera
。

如果更改了应用程序构建器会话之间的监视器分辨率，主应用程序构建器窗口存储的尺寸可能无法使用。如果未更改监视器分辨率，那么说明注册表可能已修改或已损坏。如果未修改
注册表，并且获得其他注册表相关错误，建议重新引导并重新安装 Newera 3.0 以恢复注册表项
。



-51075	无法恢复保存的项目状态。项目状态注册表项无效。

在专用工作空间中找不到上次关闭应用程序构建器时打开的项目。专用工作空间已在应用程序构建器外部进行修改，或者除去了项目但应用程序构建器在项目除去后异常终止，或者不
慎修改了应用程序构建器存储项目状态的注册表项。单击“确定”以继续。应用程序构建器将启动，并不打开任何项目
。



-51074	找不到 nmake.exe。请确保路径包含含有 Microsoft VC++ 二进制文件的目录
。

VC++ 可执行文件 nmake.exe 不位于 PATH 环境变量列出的任何目录中。请确保程序存在于 MSVC++\bin 目录中，并且该目录包含在 PATH
环境变量中



-51073	找不到 lanch.exe。请确保 GBASEDBTDIR 位于路径中。

Newera 3.0 可执行文件 launch.exe 不位于 PATH 环境变量列出的任何目录中。请确保程序存在于 GBASEDBT\bin 目录中，并且该目
录包含在 PATH 环境变量中。



-51072	在磁盘上找不到文件，并且无法下载该文件，因为它是新文件或被您锁定。是否在没有该文件的情况下继续
？

要继续下载剩余文件，请选择“是”。要终止复制操作，请选择“否”。无法从共享工作空间访存该文件，并且该文件不在磁盘上。可能由于网络错误或其他归档错误，下载失败
。



-51070	专用工作空间中的项目已损坏目录属性。无法继续验证目录位置
。

该内部错误可能是由于专用工作空间损坏而导致。请重新引导计算机。如果重新引导无法终止该问题，请重新创建专用工作空间
。



-51069	操作系统错误。缺省目录无效，并且无法访问缺省目录驱动器的根
。

该错误的可能原因是当进程正在运行时，除去了缺省目录和驱动器。该错误是 Windows 95 缺陷
。

要清除将已删除目录存储为缺省目录的内部 Windows 高速缓存，请关闭并重新打开应用程序
。



-51068	指定的驱动器不存在。

输入的路径或从专用工作空间检索到的路径不存在。如果使用了任何网络驱动器，请确认这些驱动器是否已连接并映射到相同的驱动器名称
。



-51067	输入的目录包含项目名称。请输入不包含其他项目也不被其他项目包含的目录
。

每个目录只能有一个项目。请将每个 NewEra 3.0 项目分别放在不包含其他 NewEra 3.0 项目的目录中。另外，放置新项目的目录不能是其他项目的子目录
，也不能包含其他目录的项目。

例如，如果 proj1 位于 c:\all projects\proj1 下，那么创建 proj2 时，不能将 proj2 放在以下目录中
：

*   c:\all projects\proj1 - 该目录与另一项目 proj1 的目录相同

*   c:\all projects\proj1\proj2 - proj2 目录是 proj1 的子目录

*   c:\all projects - proj2 目录包含 proj1 目录

下面是两个有效选项：

*   c:\all projects\proj2

*   d:\some directory\proj2



-51066	无法检索到项目名称的目录，或该目录为空。

该内部错误可能是由于专用工作空间损坏而导致。请重新引导计算机。如果重新引导无法终止该问题，请重新创建专用工作空间
。



-51065	尝试将目录路径 pathname 转换为 UNC 失败。

请确保包含专用工作空间中所定义项目（包括 GBase  项目）的每个本地驱动器均已共享。应用程序构建器需要将路径名转换为相同格式，以确保不会有两个项
目驻留在同一目录中，或位于被其他项目的目录包含的目录中。要将位于本地驱动器上的目录转换为 UNC 路径，必须共享该驱动器或目录。请使用 Windows 资源管理
器来共享驱动器或目录，或者如果不希望他人有权访问该驱动器或路径，请将其共享为只有您自己可以使用
。



-51064	系统的内存不足。正在退出。

系统上没有足够内存来分配构建结果的缓冲区。要释放部分内存，请关闭不需要的应用程序
。



-51063	存储库损坏。对象标识没有返回有效的指针。正在退出应用程序
。

应用程序构建器用于访问专用工作空间的某个动态库中发生内部错误
。



-51062	无法检索到注册表项。

可能注册表已损坏、不正确地编辑了注册表，或安装程序未成功完成 NewEra 3.0 的安装
。

请重新引导计算机，然后重试。



-51061	尝试从注册表检索值失败。

注册表可能已损坏。请退出应用程序并重新安装 NewEra。



-51060	您将要在 p-code 中使用静态库名。这可能导致运行时错误。是否要使用该名称
？

只能将动态链接库 (DLL) 链接到 p-code。如果链接静态库，将收到运行时错误。如果需要此库，请将此库更改为 DLL（如果可能），然后再次链接
。



-51058	除去项目文件时出错。是否要继续除去该项目？

除去项目文件时发生磁盘错误。项目除去操作完成后，源文件可能仍留在硬盘上，这不是严重错误
。



-51057	无法对某个锁定文件解锁，无法除去项目。

只有当项目没有任何文件锁定时，才能除去该项目。如果尝试释放锁定失败，那么不会除去该项目。应用程序构建器用于访问专用和共享工作空间的某个动态库中发生故障
。



-51056	无法创建进程并运行程序。尝试新建进程以运行程序时，发生内部错误
。

请重新构建程序或关闭并重新启动应用程序构建器。可能发生了操作系统错误
。



-51053	找不到可执行文件。

找不到程序，因为该程序尚未构建，构建未成功完成或可执行文件已除去。请重新构建程序以运行程序
。



-51052	无法访问目录名。无法运行程序。

无法访问程序所位于的目录。目录可能位于当前未连接的网络驱动器上，缺省目录已从应用程序构建器外部除去（已知的 Windows 95 问题），或发生了磁盘系统故障
。



-51051	目录名中的字符非法。

UNIX 目录名使用了无效字符。



-51047	无法制作具有锁定文件的项目的快照。文件 filename 已锁定
。

要制作项目的快照，必须检入该项目的所有文件，以便与项目一起保存的文件版本不会被修改
。



-51046	撤销检出失败。

应用程序构建器用于访问专用和共享工作空间的某个动态库中发生故障
。



-51045	项目无效。

发生内部专用工作空间错误。可能的原因是存储库数据库已损坏，计算机条件不稳定或网络连接不稳定（如果专用工作空间驻留在其他计算机上）。请关闭并重新启动应用程序构建器
或重新引导计算机，然后再次尝试操作。



-51043	目录名不位于任何本地项目的子目录中。请选择属于本地项目的目录
。

项目的所有文件和组件必须驻留在该项目目录下的目录中。



-51040	无法在项目对象中设置项目目录。无法创建项目。

内部错误阻止应用程序构建器在专用工作空间中设置项目的目录属性。除非项目的所有属性已正确设置，否则无法创建项目
。

应用程序构建器用于访问专用工作空间的某个动态库中发生该错误
。



-51039	注册表中没有存储库配置信息。

退出应用程序构建器需要注册表中的特定项才能访问专用和共享工作空间。NewEra 3.0 安装程序和 RSAT 都可以创建这些项。建议使用 RSAT 来访问注册表
项，而不要尝试修改这些项。应用程序构建器需要的项是专用工作空间名称、归档系统类型，以及共享工作空间名称和位置
。



-51038	报告失败。

请验证指定的文件是否有效，并且位于可写目录中。PVCS 无法创建报告文件。失败的可能原因是目录名或文件名无效，文件系统为只读，或发生了内部 PVCS 故障
。



-51037	无法创建与项目名称关联的目录。

可能是因为指定了不存在的驱动器或无效目录名，磁盘空间不足，或发生了操作系统故障
。



-51036	无法创建复制文件 filename 所需的目录。要继续复制剩余文件，请选择“是”。要停止文件复制，请选择“否”。无法创建目录
。

可能是因为指定了不存在的驱动器或无效目录名，磁盘空间不足，或发生了操作系统故障
。



-51035	检出或刷新期间发生存储库错误。

应用程序构建器无法检出或装入项目或文件，因为应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51034	已除去声明为分发头的头文件。

从分发头列表中除去文件或将文件添加到源列表。导出的头文件列表包含从源文件列表中除去的头
。

只有当头是组件的一部分时，才能将其导出。如果需要该头，请将其再次添加到源列表。如果不需要该头，请将其从已分发头的列表中除去
。



-51033	版本信息已损坏。操作已取消。

存储在归档系统中的版本信息不正确。应用程序构建器无法继续操作，因为它依赖一致的版本信息
。

一些造成损坏的可能原因包括以下方面：

*   版本控制系统在归档创建后进行了更改。

*   归档文件不是使用 RSAT 或应用程序构建器进行修改的。

*   存储归档的磁盘系统上发生磁盘崩溃或其他磁盘损坏。

*   网络连接不可靠。



-51032	无法除去文件 filename。是否继续除去剩余文件？

应用程序构建器无法从组件中除去文件，因为应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51029	解析文件名时发生错误。正在终止操作。

将文件的完整文件名解析到项目目录和偏移文件路径中时，发生内部错误。应用程序变得不稳定，或专用工作空间中存在损坏。请关闭应用程序构建器，然后再次尝试操作
。



-51028	组件目录必须是项目目录的子目录。

属于项目的所有组件和文件必须位于该项目目录下的目录中，或位于该项目目录下
。



-51027	无法将新组件添加到当前项目。

应用程序构建器无法将组件添加到项目，因为应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51026	创建组件失败！

应用程序构建器无法创建组件，因为应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51025	复制文件 filename 时发生磁盘错误。要继续复制其他文件，请选择“是”。要终止复制操作，请选择“否”
。

文件的磁盘复制失败。可能的原因包括磁盘空间不足，驱动器无法访问，网络故障，该目录中已存在具有相同名称的只读文件、没有对该磁盘区域的写许可权，或者发生未知磁盘系统
错误。



-51024	目录名中已存在文件 filename，因此无法复制该文件。

在要复制属于已复制组件的文件的目标目录中，已存在具有相同名称的文件
。



-51023	无法下载文件 filename。

要继续下载剩余文件，请单击“是”。要终止复制操作，请单击“否”。无法从共享工作空间访存该文件，并且该文件不在磁盘上。由于网络错误或其他归档错误，装入可能失败
。



-51022	项目名称当前已打开！

项目已打开，不能再次打开。



-51021	库名已由组件使用，不能再次添加。要继续，请按“确定”。要终止操作，请按“取消”
。

在组件中复用的库只能包含一次。如果尝试链入同一库的多个副本，将收到链接次数错误或警告
。



-51020	组件中已存在名称为 filename 的文件，不能添加。如果要添加该文件，请对其重命名。要继续，请按“确定”。要终止操作，请按“取消”
。

每个组件只能包含唯一命名的文件。否则，从相同命名的源文件中生成的二进制文件将相互覆盖
。



-51019	选定项无法检出，因为该项当前已由其他用户检出。

一次只能有一个用户锁定文件或项目。如果文件或项目未显示挂锁图标，说明您拥有的版本可能过期。请尝试重新装入文件或项目以查看其更新的视图，或者打开“文件版本控制”或
“项目版本控制”对话框，在共享工作空间树形视图中查看最新的版本信息。使用树形视图可避免不必要地下载最新版本的文件或项目
。



-51018	指定的项目目录是不存在的目录的子目录。

请创建基本目录或为项目选择其他目录。只有当基本目录存在时，应用程序构建器才能创建项目目录
。



-51016	无法除去当前打开的项目。请关闭打开的项目，然后将其除去
。

项目由用户或其他进程打开并访问时，无法将其除去。要断开与当前项目的任何连接，必须先关闭该项目
。



-51015	发生存储库错误。检索存储在存储库中的信息失败，或在存储库中执行操作失败
。

应用程序构建器用于访问专用工作空间的某个动态库中发生错误
。



-51014	指定的目录位于项目名称下。请输入不包含其他项目也不被其他项目包含的目录
。

每个目录只能有一个项目。每个 NewEra 3.0 项目应分别放在不包含其他 NewEra 3.0 项目的目录中。另外，放置新项目的目录不能是其他项目的子目录，
也不能包含其他目录的项目。

例如，如果 proj1 位于 c:\all projects\proj1 下，那么创建 proj2 时，不能将 proj2 放在以下目录中
：

*   c:\all projects\proj1 - 该目录与另一项目 proj1 的目录相同

*   c:\all projects\proj1\proj2 - 因为 proj2 目录是 proj1 的子目录

*   c:\all projects - proj2 目录包含 proj1 目录

下面是两个有效选项：

*   c:\all projects\proj2

*   d:\some directory\proj2



-51013	如果文件驻留的目录不是在组件所属的项目目录下，那么无法将文件添加到该组件
。

所有项目文件必须位于该项目目录下的子目录中，或位于该项目目录下。如果文件未包含在项目目录中，那么无法将该文件添加到组件或项目。可以包含不属于项目的文件，但无法将
这些文件添加到组件。



-51012	输入的组件名称无效。

请验证该名称是否不包含无效字符或超过长度限制（如 Windows 用户指南中所指定），然后再次输入组件名称。组件名称必须是有效的文件名
。



-51011	必须提供文件名才能完成操作。

为了创建新项目，必须给予该项目一个名称。



-51009	尝试访问指定目录时发生错误。

请重试或输入其他目录名。指定的目录无法访问。目录可能位于当前未连接的网络驱动器上，缺省目录已从应用程序构建器外部除去（已知的 Windows 95 问题），或发
生了操作系统故障。



-51008	输入的目录路径不存在，无法创建该路径。

请输入目录的有效名称。指定的目录无法创建。可能是因为指定了不存在的驱动器或无效目录名，磁盘空间不足，或发生了操作系统故障
。



-51006	指定的目录无效。它可能包含无效的字符、驱动器或路径，或者可能太长。请输入有效的目录名
。

输入的目录名未遵循 Windows 有关有效目录名的规则。有关有效 Windows 文件名和目录名的更多信息，请阅读 Windows 用户指南
。



-51005	所选组件的名称与当前项目中现有组件名称相同。

请使用此项目中尚未用过的名称。NewEra 3.0 项目中的每个组件必须具有唯一组件名称。要将其他项目中的组件成功复制到当前打开的项目，必须为当前项目组件提供唯
一名称。请在“名称”文本框中输入组件的唯一名称。



-51004	输入的名称不是有效的文件名。

输入的文件名未遵循 Windows 有关有效文件名的规则。有关有效 Windows 文件名的更多信息，请阅读 Windows 用户指南
。



-51003	请选择其他名称。

具有相同名称的项目已存在。在每个专用工作空间中，NewEra 3.0 项目必须具有唯一名称。项目通过其名称进行唯一标识
。



-51001	请选择其他名称。

具有相同名称的组件已存在。NewEra 3.0 项目中的每个组件必须具有唯一组件名称。如果组件是库，那么最好使组件名称在整个项目中保持唯一，这样组件就不会使用具
有相同名称的两个不同库。



-51000	请选择其他目录。

每个目录只能有一个项目。请将每个 NewEra 3.0 项目分别放在不包含其他 NewEra 3.0 项目的目录中。另外，放置新项目的目录不能是其他项目的子目录
，也不能包含其他目录的项目。

例如，如果 proj1 位于 c:\all projects\proj1 下，那么创建 proj2 时，不能将 proj2 放在以下目录中
：

*   c:\all projects\proj1 - 该目录与另一项目 proj1 的目录相同

*   c:\all projects\proj1\proj2 - 因为 proj2 目录是 proj1 的子目录

*   c:\all projects - proj2 目录包含 proj1 目录

下面是两个有效选项：

*   c:\all projects\proj2

*   d:\some directory\proj2



-50999	[GBasedbt][Connectivity Class Library] ixSQLConnect::transact()
不支持该选项。

不支持传递给 ixSQLConnect::transact() 的选项。




-50998	[GBasedbt][Connectivity Class Library] 从 ixSQLConnect::tables()
返回的 ixSQLStmt 不支持在成员函数上的操作。

从 ixSQLConnect::tables() 返回的 ixSQLStmt 仅仅提供了
有限的功能以获取表的信息。为实现这一点，请在 ixSQLStmt
上执行 NEW 操作并使用它。




-50997	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好 ixSQLStmt 之前调用了 ixSQLStmt::describe()
成员函数。

请在 ixSQLStmt::describe() 之前调用 ixSQLStmt::prepare()
或者 ixSQLStmt::execDirect()。




-50996	[GBasedbt][Connectivity Class Library] 调用 ixSQLStmt::describeCol()
 时字段越界。

请求的字段要么为负数，要么大于结果集的字段个数。




-50995	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好 ixSQLStmt 之前调用了 ixSQLStmt::describeCol()
 成员函数。

请在 ixSQLStmt::describeCol() 之前调用 ixSQLStmt::prepare()
或者 ixSQLStmt::execDirect()。




-50994	[GBasedbt][Connectivity Class Library]从 ixSQLConnect::columns()
返回的 ixSQLStmt 不支持在成员函数上的操作。

从 ixSQLConnect::columns() 返回的 ixSQLStmt 仅仅提供了
有限的功能以获取字段信息。为实现这一点，请在 ixSQLStmt
上执行 NEW 操作并使用它。




-50993	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好 ixSQLStmt 之前调用了 ixSQLStmt::rowCount()
成员函数。

请在 ixSQLStmt::rowCount() 之前调用 ixSQLStmt::prepare()
或者 ixSQLStmt::execDirect()。




-50992	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好 ixSQLStmt 之前调用了 ixSQLStmt::numResultCols()
 成员函数。

请在 ixSQLStmt::numResultCols() 之前调用 ixSQLStmt::prepare()
或者 ixSQLStmt::execDirect()。




-50991	[GBasedbt][Connectivity Class Library] ixSQLStmt::setParam() 
中参数个数越界。

参数的个数要么小于 0，要么大于"?" 位置标识符的个数。




-50990	[GBasedbt][Connectivity Class Library] 传递给
 ixSQLStmt::setCursorName() 的游标名称无效。

传递给 ixSQLStmt::setCursorName() 的 "name" 的值为 NULL。




-50989	[GBasedbt][Connectivity Class Library] ixSQLStmt::setCursorName() 
中游标名称被截断。

游标名称最长为 18 个字符。




-50988	[GBasedbt][Connectivity Class Library] ixSQLStmt::free()
 中出现不支持的选项。

传递给 ixSQLStmt::free() 的选项参数无效。




-50987	[GBasedbt][Connectivity Class Library] 某些 SQL 语句的
位置标识符没有设置。

对于 SQL 串的每个 "?" ，请在准备好语句之后
调用 ixSQLStmt::setParam()。




-50986	[GBasedbt][Connectivity Class Library] ODBC 驱动程序出现错误。
请调用 ixSQLConnect::SQLError() 以获取更多的信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50985	[GBasedbt][Connectivity Class Library] 内存分配时
出现错误。请释放内存，再试一次。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50984	[GBasedbt][Connectivity Class Library] 无法识别数据库
返回的类型。

请检查数据库的模式，并确保所有选择的结果均
映射为 NewEra ixValue 数据类型。如果某个数据类型
没有映射，请将它从 SELECT 子句中取消。




-50983	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好 ixSQLStmt 之前调用了 ixSQLStmt::fetchInto() 
成员函数。

请在 ixSQLStmt::fetchInto() 之前调用 ixSQLStmt::prepare()。




-50982	[GBasedbt][Connectivity Class Library] 传递给 
ixSQLStmt::fetchInto() 的参数无效。

传递给 ixSQLStmt::fetchInto() 的 ixRow 可能为 NULL，或者 
ixRow 的长度与结果模式不同，或者 ixRow 中 ixValue 的数据
类型与结果模式不匹配。请调用 ixSQLStmt::allocateRow() 
并将返回的 ixRow 传递给 




-50981	[GBasedbt][Connectivity Class Library] 函数序列错误：
在准备好ixSQLStmt 之前调用了 ixSQLStmt::setParam() 
成员函数。

请在 ixSQLStmt::setParam() 之前调用 ixSQLStmt::prepare()。




-50980	[GBasedbt][Connectivity Class Library] ixSQLStmt::setParam() 
中出现无效参数。

传递给 ixSQLStmt::setParam() 的位置值无效，或者传递给 
ixSQLStmt::setParams() 的 ixRow 为 NULL。




-50979	[GBasedbt][Connectivity Class Library] 函数序列错误：在准备好 
ixSQLStmt 之前调用了 ixSQLStmt::getResultSchema() 成员函数。

请在 ixSQLStmt::getResultSchema() 之前调用 ixSQLStmt::prepare()。




-50978	[GBasedbt][Connectivity Class Library] 释放连接时
出现错误。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50977	[GBasedbt][Connectivity Class Library] 
ixSQLConnect::browseConnect() 中出现错误。

请调用 ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序
支持 ixSQLConnect::browseConnect() 成员函数。调用 
ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。




-50976	[GBasedbt][Connectivity Class Library] 创建 ixSQLConnect::columns()
的结果时出现错误。

请确保传递给 ixSQLConnect::columns() 的过滤器是正确的。
请调用 ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序
支持 ixSQLConnect::columns() 成员函数。调用 
ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。




-50975	[GBasedbt][Connectivity Class Library] 连接 DBMS 时
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50974	[GBasedbt][Connectivity Class Library] 在与 DBMS 
停止连接时出现错误，请调用ixSQLConnect::SQLError() 以
获取ODBC 的错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50973	[GBasedbt][Connectivity Class Library] 
ixSQLConnect::driverConnect() 中出现错误。

请确保传递给 ixSQLConnect::driverConnect() 的过滤器是
正确的。请调用 ixSQLConnect::getFunctions() 以确保
ODBC 的驱动程序支持 ixSQLConnect::driverConnect() 
成员函数。调用 ixSQLConnect::SQLError() 可以获取 
ODBC 的错误信息。




-50972	[GBasedbt][Connectivity Class Library] 
ixSQLConnect::getConnectOption() 中出现错误。

请确保传递给 ixSQLConnect::getConnectOption() 的过滤器是正确的。
请调用 ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序
支持 ixSQLConnect::getConnectOption() 成员函数。调用
ixSQLConnect::SQLError() 可以获取 ODBC 的错误信息。




-50971	[GBasedbt][Connectivity Class Library] 
ixSQLConnect::getFunctions() 中出现错误。

请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。




-50970	[GBasedbt][Connectivity Class Library] ixSQLConnect::getInfo() 
中出现错误。

请确保传递给 ixSQLConnect::getInfo() 的过滤器是正确的。
请调用 ixSQLConnect::getFunctions() 以确保 ODBC 的驱动程序
支持 ixSQLConnect::getInfo() 成员函数。调用 ixSQLConnect::SQLError() 
可以获取 ODBC 的错误信息。




-50969	[GBasedbt][Connectivity Class Library] ixSQLConnect::getTypeInfo() 
中出现错误。

请确保传递给 ixSQLConnect::getTypeInfo() 的过滤器是
正确的。请调用 ixSQLConnect::getFunctions() 以
确保 ODBC 的驱动程序支持 ixSQLConnect::getTypeInfo() 
成员函数。调用 ixSQLConnect::SQLError() 可以获取 
ODBC 的错误信息。




-50968	[GBasedbt][Connectivity Class Library] 与结果集连接时
出现错误。

可能是语句还没有准备好。在调用该函数之前请
调用 ixSQLStmt::prepare()。




-50967	[GBasedbt][Connectivity Class Library] 分配环境时
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50966	[GBasedbt][Connectivity Class Library] 分配连接时
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50965	[GBasedbt][Connectivity Class Library] 分配语句时
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50964	[GBasedbt][Connectivity Class Library] 
ixSQLConnect::setConnectOption() 中出现错误。
请调用 ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50963	[GBasedbt][Connectivity Class Library] ixSQLConnect::tables() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50962	[GBasedbt][Connectivity Class Library] ixSQLConnect::transact() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50961	[GBasedbt][Connectivity Class Library] 释放语句时
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50960	[GBasedbt][Connectivity Class Library] ixSQLStmt::cancel() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt 
的技术支持部门联系。




-50959	[GBasedbt][Connectivity Class Library] ixSQLStmt::execDirect() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50958	[GBasedbt][Connectivity Class Library] ixSQLStmt::execute() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50957	[GBasedbt][Connectivity Class Library] ixSQLStmt::fetch() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50956	[GBasedbt][Connectivity Class Library] ixSQLStmt::colAttributes()
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50955	[GBasedbt][Connectivity Class Library] 传递给 
ixSQLStmt::fetchInto() 的 ixRow 与结果模式不匹配。

ixRow 中的 ixValue 不包含与结果模式匹配的类型。
请调用 ixSQLStmt::allocateRow() 以获取一个新的 ixRow，
并将该 ixRow 传递给 ixSQLStmt fetchInto()。




-50954	[GBasedbt][Connectivity Class Library] 释放时出现错误。
ixSQLStmt::free() 成员函数返回一个错误。请调用 ixSQLConnect::SQLError() 
以获取 ODBC 的错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50953	[GBasedbt][Connectivity Class Library] 
ixSQLStmt::setCursorName() 中出现错误。请调用 ixSQLConnect::SQLError() 
以获取 ODBC 的错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50952	[GBasedbt][Connectivity Class Library] ixSQLStmt::getCursorName() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50951	[GBasedbt][Connectivity Class Library] ixSQLConnect::describeCol() 
中出现错误。

请在 ixSQLStmt::describeCol() 之前调用 ixSQLStmt::prepare()，或者调用
ixSQLConnect::SQLError() 以获取 ODBC 的错误信息。




-50950	[GBasedbt][Connectivity Class Library] 函数序列错误：在准备好
ixSQLStmt 之前调用了 ixSQLStmt::allocateRow()。

请在 ixSQLStmt::allocateRow() 之前调用ixSQLStmt::prepare()。




-50949	[GBasedbt][Connectivity Class Library] ixSQLStmt::numResultCols() 
中出现错误。

语句可能还没有准备好。请在 ixSQLStmt::numResultCols() 之前
试着调用 ixSQLStmt::prepare()。调用 ixSQLConnect::SQLError() 
可以获取 ODBC 的错误信息。




-50948	[GBasedbt][Connectivity Class Library] ixSQLStmt::prepare() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请检查 SQL 语法以确保正确。调用 ixSQLConnect::SQLError() 
可以获取 ODBC 的错误信息。




-50947	[GBasedbt][Connectivity Class Library] ixSQLStmt::rowCount() 中
出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

ixSQLStmt::rowCount() 成员函数中出现错误。可能是没有
准备好 isSQLStmt 对象。请在调用 ixSQLStmt::rowCount() 
之前调用 ixSQLStmt::prepare() 或者
ixSQLStmt::execDirect()。




-50946	[GBasedbt][Connectivity Class Library] ixSQLStmt::getStmtOption() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50945	[GBasedbt][Connectivity Class Library] ixSQLStmt::setStmtOption() 
中出现错误。请调用 ixSQLConnect::SQLError() 以获取 ODBC 的
错误信息。

传递给 isSQLStmt::setStmtOption() 成员函数的
选项无效。




-50944	[GBasedbt][Connectivity Class Library] 出现 NewEra
不支持的数据类型。

企图向符合 ODBC 标准的数据源中插入或者
取得数据类型为 ixInterval 的项。这种行为
不被支持。另一个可能的问题是该数据源
包含下面的 ODBC 数据类型之一：SQL_BITINT、 
SQL_TINYINT、SQL_BIT、SQL_BINARY 
或者 SQL_VARBINARY，然而对于和这些类型
对应的 ixValue 却没有衍生对等的 NewEra 类。
为了确定所支持的数据类型，请调用
ixSQLConnect::getTypeInfo()。




-50943	[GBasedbt][Connectivity Class Library]
ixSQLStmt::getNativeTypeName() 中出现错误。可能是字段值越界，也可能是
没有准备好语句。

语句可能没有准备好。请在 ixSQLStmt::getNativeTypeName() 
之前试着调用 ixSQLStmt::prepare()。请检验字段值
是否位于 1 和 ixSQLStmt::numResultCols() 
的返回值之间。




-50938	[GBasedbt][Connectivity Class Library] 释放环境时
出现错误。请调用 ixSQLConnect::SQLError()
以获取 ODBC 的错误信息。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50937	[GBasedbt][Connectivity Class Library] 将 ODBC 的 decimal
数据类型转换为 GBasedbt 的 decimal 数据类型 (ixDecimal) 
时出现错误。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50936	[GBasedbt][Connectivity Class Library] 将 ODBC 的 decimal
数据类型转换为 GBasedbt 的 money 数据类型 (ixMoney)
时出现错误。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50935	[GBasedbt][Connectivity Class Library] 将ODBC的 timestamp
数据类型转换为 GBasedbt 的 date time 数据类型 (ixDateTime)
时出现错误。

请更正其余所有的处理错误。并试用不同的 ODBC 驱动程序。
如果再次出现该错误，请记录所有的情况，并与 GBasedbt
的技术支持部门联系。




-50934	[GBasedbt][Connectivity Class Library] 传递给 
ixSQLStmt::setStmtOption() 的选项无效。

ixSQLStmt::setStmtOption() 的参数值无效。




-50933	[GBasedbt][Connectivity Class Library] 函数没有
执行。

该函数没有对 ixSQLConnect 对象或者 ixSQLStmt 对象
执行任何操作。




-50932	[GBasedbt][Connectivity Class Library]
ixSQLStmt::getNativeTypeName() 中字段越界。

传递给 ixSQLStmt::getNativeTypeName()
的字段值要么小于0，要么大于结果集的
字段个数。




-50931	[GBasedbt][Connectivity Class Library] 函数序列错误：
在 ixSQLStmt 准备好之前调用了 ixSQLStmt::getNativeTypeName()。

在可以调用 ixSQLStmt::getNativeTypeName() 成员函数之前，
必须将 ixSQLStmt 对象准备好。在调用 ixSQLStmt::getNativeTypeName() 
之前，请调用 ixSQLStmt::prepare()，或者
ixSQLStmt::execDirect()。




-50930	[GBasedbt][Connectivity Class Library] 警告：
没有设置事务模式。现在处于 AUTOCOMMIT 模式。

将 AUTOCOMMIT 模式设置为 OFF 的企图失败。ODBC
驱动程序可能不支持手工提交模式。ixSQLConnect 对象是
处于 AUTOCOMMIT 模式。GBasedbt 的 Connectivity 类库
不支持该模式。




-50929	[GBasedbt][Connectivity Class Library] 不能描述
非 SELECT 语句的字段。

只能在准备好 SELECT 语句之后才能调用
ixSQLStmt::describeCol() 成员函数。




-50928	[GBasedbt][Connectivity Class Library] 在可以构造语句之前，
必须首先建立连接。

为了保证构造函数成功，传递给 ixSQLStmt 构造函数的
ixSQLConnect 对象必须已经连接到某个数据源上。
在将 ixSQLConnect 对象传递给 ixSQLStmt 的构造函数
之前，请调用 ixSQLConnect::connect() 函数。




-50927	[GBasedbt][Connectivity Class Library] ixRow 中 item 的个数
与准备的语句中的不同。

请再次调用函数 ixSQLStmt::allocateRow() 
以创建一个新的 ixRow。




-50926	[GBasedbt][Connectivity Class Library] 尚未
准备好语句。

在调用 ixSQLStmt::fetch() 或者 ixSQLStmt::fetchInto() 
之前，必须首先准备和执行SQL语句。要么请顺序调用
ixSQLStmt::prepare() 和 ixSQLStmt::execute()，
要么请调用 ixSQLStmt::execDirect()。




-50925	[GBasedbt][Connectivity Class Library] 出现不支持
的选项。

Connectivity 类库不支持传递给 ixSQLStmt::getInfo() 
的 CCL 选项。




-50924	[GBasedbt][Connectivity Class Library] 执行时的警告：
在 ixSQLStmt 的析构函数中，释放语句句柄时
出现错误。

释放ODBC语句句柄时，ixSQLStmt 的析构
函数中出现错误。某个损坏的句柄导致了这个
内部错误。




-50923	[GBasedbt][Connectivity Class Library] 执行时的警告：
在 ixSQLStmt 的析构函数中释放游标句柄错误。

试图释放游标句柄时，ixSQLStmt 的析构
函数中出现错误。某个损坏的游标导致了这个
内部错误。




-50922	[GBasedbt][Connectivity Class Library] 执行时的警告：
在 ixSQLStmt 的析构函数中释放语句句柄错误。

试图释放语句句柄时，ixSQLStmt 的析构
函数中出现错误。某个损坏的语句导致了这个
内部错误。




-50921	[GBasedbt][Connectivity Class Library] 
对于 setConnectOption() 的选项，参数为 null 是无效的。

因为 argument 参数的值为 null，而 null 是无效的，所以
成员函数 ixSQLConnect::setConnectOption() 
中出现错误。请检验 argument 参数以确保其值不为 null。




-50920	[GBasedbt][Connectivity Class Library] 传递给 
setConnectOption() 的参数的类型不正确。

因为 argument 参数的值不是正确的类型或者分类，
成员函数 ixSQLConnect::setConnectOption() 
中出现错误。请检验 argument 参数的类型或者
分类，以确保它是 argument 选项所允许的类型。




-50919	[GBasedbt][Connectivity Class Library] 传递给 getConnectOption() 
或者setConnectOption 的选项无效。

因为选项参数的值无效，成员函数 ixSQLConnect::getConnectOption() 
中出现错误。请检验选项参数的值是否正确。




-50918	[GBasedbt][Connectivity Class Library] 未建立
连接。

因为不存在数据库连接，ixSQLStmt 的某个成员函数
出现错误。在调用任何 ixSQLStmt 的成员函数之前，
必须首先建立数据库连接。请检验是否已经成功
建立连接。




-50234	DDE 错误：到 SuperTable 的数据传输没有
完成。

服务器不能完成从 SuperTable 到请求者的
item 发送。




-50233	DDE错误：指定的 item 无效。

当服务器试图识别 item 时出现初始化错误。
请检验指定 item 的串是否是已经建立的 item
集合中的一员。




-50232	DDE错误：服务器返回的数据范围不合法。

请求者查找的数据类型和服务器发现
的数据类型不匹配。




-50231	DDE错误：请求的存储格范围无效。

请求者要求的存储格范围超过了
SuperTable的边界。




-50230	DDE 错误：在 SuperTable 的存储格中没有可供使用的数据。

被请求的 SuperTable 的存储格中不包含任何数据。




-50217	传递给 DDEML 函数的事务ID
无效。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_UNFOUND_QUEUE_ID (0x4011)。原因是
当应用程序从 XTYPE_XACT_COMPLETE 回调中返回时，
该事务标识符不再有效。




-50216	结束协商事务的请求超时。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_UNADVACKTIMEOUT (0x4010)。




-50215	DDEML中出现内部错误。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_SYS_ERROR (0x400F)。




-50214	会话被中断。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_SERVER_DIED (0x400E)。原因是企图
在客户机中止的会话上进行服务器端事务，或者是
在事务完成之前服务器中止。




-50213	出现嵌套错误

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_REENTRANCY (0x400D)。原因是当
某个同步事务在进行时，应用程序又初始化了另
一个同步事务，或者在某个回调函数中又调用了 
DdeEnableCallback() 函数。




-50212	内部 PostMessage 调用失败。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_POSTMSG_FAILED (0x400C)。




-50211	同步取数事务的请求超时。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_POKEACKTIMEOUT (0x400B)。




-50210	客户建立会话的企图
失败。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_NO_CONV_ESTABLISHED (0x400A)。




-50209	DDE客户事务失败。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_NOTPROCESSED (0x4009)。




-50208	内存分配失败。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_MEMORY_ERROR (0x4008)。




-50207	竞争条件耗尽了剩余的内存。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_LOW_MEMORY (0x4007)。某个 DDEML
应用程序产生了竞争条件（服务器应用程序与客户
应用程序脱节），该竞争条件消耗了大量的内存。




-50206	参数确认失败。

动态数据交换管理库 (DDEML) 的某个函数返回值
DMLERR_INVALIDPARAMETER (0x4006)。可能
的原因包括：

    *   应用程序使用了某个数据句柄，该句柄被初始化为与
	事务要求不同的 item-name 句柄。

    *   应用程序使用了某个数据句柄，该句柄被初始化为与
	事务要求不同的剪切板数据格式。

    *   应用程序在服务器端函数中使用了客户端会话
	句柄，或者在客户端函数中使用了服务器端
	会话句柄。

    *   应用程序使用了释放的数据句柄或者串句柄。

    *   多个应用程序的实例使用同一个对象。




-50205	同步执行事务的请求
超时。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_EXECACKTIMEOUT (0x4005)。该事务
没有在指定的时间内完成。




-50204	初始化为 MONITOR 的应用程序试图进行
DDE 事务，或者初始化为 CLIENTONLY 的
应用程序试图进行 SERVER 事务。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_DLL_USAGE (0x4004)。




-50203	在没有首先调用 DdeInitialize() 函数的情况下调用了
一个 DDEML 函数，或者传递给DDEML的实例
标识符无效。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_DML_NOT_INITIALIZED (0x4003)。在
调用任何 DDEML 函数之前，应用程序必须首先调
用 DdeInitialize() 函数。该函数为应用程序获取一个
实例标识符，利用 DDEML 注册该应用程序的 DDE
回调函数，并且为该回调函数指定事务过
滤器标志。




-50202	同步数据事务的请求
超时。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_DATAACKTIMEOUT (0x4002)。该
事务没有在指定的时间内完成。




-50201	对事务的响应导致 DDE_FBUSY 位
被设置。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_BUSY (0x4001)。对于某些资源的争用
使得事务不能完成。




-50200	同步协商事务的请求
超时。

动态数据交换管理库 (DDEML) 的某个函数返回值是
DMLERR_ADVACKTIMEOUT (0x4000)。要么
客户机，要么服务器是不可用的，或者发生对于
某些资源的争用。




-50137	在 ixSuperField 的构造函数中，请将 maxDataChars 更新
为数据格式串的长度。

数据格式串的值用于控制可以输入什么样的字符，并且它的长度
指定了一个字段可以包含多少个字符。所输入字符的
个数不能超过数据格式串允许的范围，所以当 maxDataChars
不等于数据格式的长度时，它应该被调整为与之匹配。请
检查构造函数的调用并且修改 maxDataChars。




-50136	在 ixSuperTable 的构造函数中，对于 SuperTable，
updateTable 和 selectFromPart 都没有被设置，所以
请求的锁定方式是无效的 -- 缺省的锁定方式是 noLock。

在没有指定需要锁定的对象时不能指定锁定方式。如果即
没有给出可供选择的更新表，也没有给出可供选择的表，
就没有地方可供检索，锁定也就没有必要。这个错误常常
源于调用构造函数时的一点疏忽（例如，确实希望锁定
但是忘记命名该表）或者无意中包含了一个不必要的锁
定值。请针对上述情况检查代码。




-50135	MS Windows 系统中，向某个 ixVector 插入的元素个数
不能超过 16382 个。

该信息由 ixVector 生成。MS Windows 系统中，由
于内存段的限制，矢量只能包含 16K 项。如果遇
到该限制，请修改应用程序，以使它使用较小一
些的矢量。




-50134	MS Windows 系统中，在某个 ixSuperTable 中检索的行数
不能超过 16382。

该信息由 ixSuperTable 生成。在 MS Windows 系统中，
由于内存段的限制，用于容纳检索的行的容器只能
包含 16K item。如果遇到该限制，请使用重复查询，
这样做每次可以检索较少的行。




-50133	不能创建上一级菜单标题为"-"的菜单。

该信息由 ixMenu 生成。不能创建标题为 '-' 的下拉式
菜单，因为 '-' 已经用作菜单分隔符，这将导致冲突，
并且菜单分隔符不能包含其它菜单项目。即使当菜
单条上有一个 '-' 项目时，这条规则也是正确的。




-50132	不能隐藏当前的SuperField。

原因是调用了当前的显示字段的ixVisualObject::hide()成员
函数，而当前的显示字段是不能被隐藏的。请检查程序
的逻辑。通常都是希望隐藏不是当前的显示字段。




-50131	显示缓冲区已满 － 清除它吗？

当执行了足够多的 DISPLAY 语句以填充显示观察器
后，ixApp 将生成该信息。如果选择“确定”，该观察器将
被清除，然后将写入来自当前的 DISPLAY 语句的
文本。如果选择“取消”，该观察器将保持不变并且
当前 DISPLAY 语句的文本将被放弃。




-50130	试图关闭一个窗口，而该窗口包含一个正在显示
的有模式的弹出式窗口。这是不允许的；请首先
关闭有模式的弹出式窗口。

该信息由 ixApp 或者 ixWindow 生成。为了保证
对话的模式，当正在显示一个有模式的窗口（例如对
话框）时，将无法退出应用程序或者关闭窗口。
（当有模式的窗口试图处理事件时，删除该
窗口将是非法的。这样做将使得某些图形用户界
面崩溃。）




-50129	不能为下面任一种类型的 SuperField 指定
格式：ixTypeInfo::SQLChar ixTypeInfo::SQLByte
ixTypeInfo::SQLText ixTypeInfo::SQLVarChar ixTypeInfo::SQLInterval

这些类型不支持格式化，所以对于有这些值的字段
最好不要调用 ixSuperField::setFormat() 成员函数。在
调用 ixSuperField::setFormat() 之前，请检查字段的
类型（使用 getColumn().getTypeCode() ）并确保
该类型支持格式化。




-50128	不能禁止当前的 SuperField。

产生该信息的原因是由于调用了当前的 SuperField 的成员函数
ixSuperTable::disable()，而当前的 SuperField 是不能被禁止的。
请检查程序的逻辑。通常都是希望禁止那些即不是当前的又
没有焦点的 SuperField。




-50127	分配给对象的资源是不可用的。

该信息由下面之一生成：ixApp、 ixBox、
ixButton、 ixCheckBox、 ixFrame、 ixLabel、 ixLine、 ixListBox、 ixMenu、
ixPictureButton、 ixRadioButton、 ixSuperField、 ixSuprTable、 ixTextBox
和 ixWindow。这通常是由于为了包含某个新建
的对象造成了运行时内存溢出而产生，而在极少的情况下其它系
统错误，例如 I/O 问题，也能造成这种情况。最好的解
决办法就是尽量减少程序对资源的需要，特别是对内存
的需要。




-50126	菜单条上不能有加速键。如果使用，
加速键将被忽略。

该信息由 ixMenu 生成。菜单条上的项目可以有
快捷键，而不能有加速键。请重新制作菜单以剔除
菜单条项目上的加速键。




-50125	菜单条上不允许有菜单分隔符。将绘制
一条短线以取代。

该信息由 ixMenu 生成。菜单分隔符只能出现在下拉式
菜单上，而不是菜单条上。为了取代分隔符，
'-' 将作为菜单项目的标题显示。请重新制作菜单以
剔除菜单条上的分隔符。




-50124	菜单条上的项目不能有检查标记。如果有，
检查将被忽略。

该信息由 ixMenu 生成。检查标记只能出现在下拉式
菜单靠近菜单项的地方，而不能出现在菜单条的
项目上。请重新制作菜单以剔除菜单条上的检查标记。




-50123	为成员函数 ixString::pad() 指定
的长度无效。

要求填充到串中的长度或者超过了最大可能的长度
(32,766)，或者为负数。请在调用 ixString::pad()
之前检查宽度值（使用 ixString::getWidth() ）。




-50122	为成员函数 ixString::truncate() 指定
的长度无效。

要求从串中截断的长度超过了最大可能的长度(32,766)，或
者等于 NULL，或者为负数。请在调用 ixString::truncate()
之前检查宽度值（使用 ixString::getWidth() ）。




-50121	为成员函数 ixString::getChar() 指定
的位置无效。

指定的位置值为 NULL、负数或者超过了 32,766，
或者该值超过了存在对象的长度。请
在调用 ixString::getChar() 之前检查宽度值
（使用 ixString::getWidth() ）。




-50120	为成员函数 ixString::setChar() 指定
的位置无效。

指定的位置值超过 32,766。请在调用
ixString::setChar() 之前检查宽度值
（使用 ixString::getWidth()）。




-50119	为 ixString::replace() 成员函数指定了
无效位置。

指定的位置值是 NULL、0、负数
或大于 32,766。




-50118	为 ixString::delete() 成员函数
指定了无效位置。

指定的位置值是NULL、负数或大于 32,766，
或者将要删除的长度是 NULL 或负数。




-50117	为 ixString::insert() 成员函数
指定了无效位置。

指定的位置值是 NULL、负数
或者大于 32,766。




-50116	ixString 对象的长度超过了允许的最大长度。

当ixString对象的长度超过允许的最大尺寸：32,766 字符时，
ixString 构造函数和ixString成员函数
setValueStr()、concat()、concatRep()、insert()、
replace() 和 concatChar() 生成这个信息。




-50115	ixSuperTable 构造函数的 numDisplayedRows
值无效--使用缺省值10。

给定的行数为NULL或小于1。检查你采用
的 ixSuperTable 构造函数的 numDisplayedRows 参数，
保证它是有效的。




-50114	ixSuperTable 构造函数的 numDisplayedCols 值无效
-- 使用缺省值5。

给定的字段数为 NULL 或小于1。检查你采用的
ixSuperTable构造函数的 numDisplayedCols 参数，
保证它是有效的。




-50113	构造函数 ixSuperTable 的 titleHeight 值无效
-- 使用缺省值350PGUs。

如果SuperTable是网格表并且指定了负标题高度，
ixSuperTable构造函数产生此信息。
缺省高度被采用。




-50112	rowSchema不能是 NULL 或空的。

当你建立一个ixRowArray时，你需要包括
一个能用作数组行模式的有效的ixRow对象。
此ixRow对象被用来指定ixRowArray中的字段数，
以及每个字段的类型、长度和初始值。
检查你的程序，保证使用有效的 ixRow 对象来
调用ixRowArray::ixRowArray()。




-50111	当 ixRow::isCountLocked 为TRUE时，
不能在 ixRow 上使用 ixRow::insert()、ixRow::concat() 或 ixRow::delete()。

这是一个提示：此行被锁定，并且不能增加
（使用 ixRow::insert() 或 ixRow::concat()）
或删除（使用ixRow::delete()）其元素。
这样将防止改变从数据库复制来的行的数目，
这种改变总是使改行不再匹配。（然而，你还
是可以重新设置该行中的值。）要保证 isCountLocked 
的设置与更新该行的程序逻辑相匹配。




-50110	试图建立 modelessPopup样式的ixWindow，它使用 
modalPopup 样式的 ixWindow 作为容器。
modalPopup 不能包含 modelessPopup。
代之以使用 modalPopup 作为新的 ixWindow 的 windowStyle 。

ixWindow 构造函数产生此信息。
只有模态窗口的窗口样式才能够包含另一个模态窗口。
新的窗口被假定为 modalPopup 样式。




-50109	试图在 ixControl 构造函数中设置一个负的选项卡索引。
采用 defaultTabOrder替代之
（tabIndex 必须为正数、noTab 或者 defaultTabOrder）。

如果程序试图为该控制设置一个负的选项卡索引，
ixControl构造函数产生此信息。
负的选项卡索引不被支持。将采用defaultTabOrder。




-50108	试图在 ixControl::setTabIndex() 中
设置一个负的 tabIndex 。
tabIndex 将不改变（ tabIndex 必须是正的或者noTab）。

如果程序试图为控制设置一个负的选项卡索引，
ixControl::setTabIndex() 产生此信息。
负的选项卡索引将不被支持。该请求将被忽略。




-50107	对于下面的SQL stmt: "stmt"，
一个 SQL 错误已经出现在 ixSuperTable::doSQLDelete() (err) 中。

SQLDelete() 事件已经用缺省的管理程序 
ixSuperTable::doSQLDelete() 调用，但是，引擎
报告了一个错误。问题可能伴随主键的说明而存在，
或者一个参照完整性的约束可能防止删除。
查找显示在括号中引擎错误码。




-50106	试图在 ixWindow 的顶层样式中设置缺省按钮。
只有 modalPopup 样式的 ixWindow 能够具有缺省按钮。
缺省按钮将不能被设置。

ixButton构造函数产生此信息。缺省按钮仅在模态的
弹出式窗口中才被支持。该请求将被忽略。




-50105	试图设置一个非正数的fontSize。
字体大小必须大于0。

此信息由 ixApp::setFont() 或者 ixVisualObject::setFont() 生成。
你不能设置一个字体大小为负值。
该请求将不予理睬。




-50104	试图打开一个弹出式的 ixWindow，
而此时包含它的 ixWindow 尚未打开。

此信息由 ixWindows::open() 生成。
在它的容器打开前，不能打开弹出式窗口。




-50103	在 ixSuperField 构造函数中
指定了无效字段数。

给定的字段数小于1或者大于在
SuperTable 中的字段数。检查用作ixSuperField
构造函数中的colNum 参数的值，
以保证它在范围内。




-50102	试图除以 0。

此信息由ixNumeric生成。
ixNumeric::root() 和 ixNumeric::div() 成员函数对 0 无定义。
在调用这些函数前，你应该检查根和除数为0的情况。




-50101	对象值是0或者是负数。
此操作无效。

在某个 ixNumeric 数学函数（ixNumeric::power()、ixNumeric::sqrt()、
 ixNumeric::asin()、ixNumeric::acos()、
ixNumeric::log10()、 ixNumeric::root()）中
操作将产生错误条件。




-50100	对于下面的 SQL stmt: "stmt"，
一个SQL错误已经出现在 ixSuperTable::doSQLUpdate() (err) 中。

SQLUpdate()事件已用缺省的处理程序 doSQLUpdate() 调用，
但是引擎报告了一个错误。问题可能伴随主键的说明存在，
或者 SERIAL 字段可能已经由 updateRole 的 SQL 角色
作了不正确的指定。尝试查找显示在括号中的
引擎错误码。




-50099	对于下面的 SQL stmt: "stmt"
一个 SQL 错误已经出现在 ixSuperTable::doSQLInsert() (err) 中。

SQLInsert()事件已经用缺省的处理程序 doSQLInsert() 调用，
但是引擎报告了一个错误。问题可能伴随SuperField字段
的sqlRole说明而存在。尝试查找显示在括号中的
引擎错误码。




-50098	在 ixSuperTable::getUpdateCols() 中，在 NULL行中通过
--返回NULL。

ixSuperTable::getUpdateCols() 函数期望一个输入的 ixRow
并返回一个新的ixRow，它包含对应于具有
 updateRole 的SQLRole 的行的元素。
由于某种原因，此函数用ULL ixRow 调用。




-50097	在 ixSuperTable::getKeyColStr() 中，
ixSuperTable::getSuperField() 返回 NULL
-- SuperFields 的数与ixSuperTable::getNumCols()
返回的值不一致。

这是一个严重的内部错误。在通过每个SuperFields
的进程中，ixSuperTable::getSuperField()
为每个 SuperFields 返回 NULL。




-50096	在 ixSuperTable::getKeyCols() 中，在 NULL 行中通过
--返回NULL。

ixSuperTable::getKeyCols() 函数期望一个输入的ixRow
并且返回一个新的ixRow，它包含对应于作为
primaryKey 的一部分的superfields的行的元素。
由于某种原因，此函数用 NULL ixRow 调用。




-50095	在 ixSuperTable::setScrollRange() 中，
totalRows larger大于行数组中的行数。
--缺省设置为行数组中的行数。

在对 ixSuperTable::setScrollRange() 的调用中
指定的totalRows参数，大于存储行的数量
（即getNumStoredRows()）。ixSuperTable::setScrollRange() 
函数将新的 scrollRange 设置为当前的displayMode的
存储行的总数。




-50094	在 ixSuperField::setQueryState() 中，指定了无效状态。
--忽略新状态并且保持旧状态。

为 queryState 指定了无效值。有效值只有 
ixSuperField::enabledState、ixSuperField::readOnlyState 
和 ixSuperField::disabledState。如果你已经给予了无效值，
并且该状态原来已经被设置为有效值，此操作被忽略
而保持原来的值。检查程序，确保使用类常数来指定
查询状态。




-50093	在 ixSuperField::setQueryState() 中，在构造函数中指定了无效状态
-- 设置为 ixSuperField::enabledState 。

在 ixSuperField 构造函数中，为 queryState 指定了无效状态。
有效值只有 ixSuperField::enabledState、ixSuperField::readOnlyState 
和 ixSuperField::disabledState。




-50092	在 ixSuperField::setDataState() 中，指定了无效状态
-- 忽略新状态而保持旧状态。

对 dataState 指定了无效值。有效值只有
 ixSuperField::enabledState、ixSuperField::readOnlyState
和ixSuperField::disabledState。如果你已经给予了一个
无效状态，并且该状态原来被设置为有效值，此操作
被忽略，而仍旧保持现存的值。检查你的程序，保证
你使用类常数来指定数据状态。




-50091	在 ixSuperField::setDataState() 中，在构造函数中
指定了无效状态--设置为ixSuperField::enabledState。

在 ixSuperField 构造函数中，为 dataState 指定了无效值。
有效值只有ixSuperField::enabledState、
ixSuperField::readOnlyState 和 ixSuperField::disabledState。




-50090	在 ixSuperTable::buildDeleteStr() 中，
ixSuperTable::getDynKeyStr() 返回 NULL--检查并保证
已为某个 SuperField 指定了主键。

为了确定哪个行将删除，ixSuperTable::buildUpdateStr() 
函数调用 ixSuperTable::getDynKeyStr()。但是，
getDynKeyStr() 返回 NULL。检查是否正确地为 
SuperTable 中的 SuperFields 指定了主键。




-50089	在 ixSuperTable::buildUpdateStr() 中，
ixSuperTable::getDynKeyStr() 返回 NULL
--检查并确认为某个 SuperField 指定了主键。

为了确定哪个行将更新，ixSuperTable::buildUpdateStr()
函数调用 ixSuperTable::getDynKeyStr() 。
但是，getDynKeyStr() 返回 NULL。检查是否正确地为 
SuperTable 中的 SuperFields 指定了主键。




-50088	在 ixSuperTable::buildLockStr() 中，
ixSuperTable::getDynKeyStr() 返回 NULL
--检查并确认为某些 SuperField 指定了主键。

为了确定哪个行被锁定，ixSuperTable::buildLockStr() 
函数调用 ixSuperTable::getDynKeyStr()。但是，
getDynKeyStr() 返回 NULL。检查是否正确地为 
SuperTable中的 SuperFields 指定了主键。




-50087	在 ixSuperTable::retrieve() 中，
来自fetch.的 ixValue 无效。

ixSuperTable::SQLFetch() 函数返回一个带
NULL 元素的行。如果你已经将此事件绑定至
你自己的处理器，须保证返回行的每个元素
都是一个已分配的ixValue。




-50086	在 ixSuperTable::buildDeleteStr() 中，没有指定的 updateTable
--返回NULL。

不能够确定此 SuperTable 的 updateTable。调用
返回 NULL 的 getUpdateTable()。检查 updateTable 
和 ixSuperTable 的 selectFromPart constructor 构造函数参数。




-50085	在 ixSuperTable::buildInsertStr() 中，没有指定的 updateTable，
-- 返回NULL。

不能够确定此 SuperTable 的 updateTable，
调用返回 NULL 的 getUpdateTable()。
检查 updateTable 和 ixSuperTable 的 selectFromPart 结构函数参数 。




-50084	在 ixSuperTable::buildUpdateStr() 中，没有指定的
updateTable-- 返回NULL。

不能够确定此 SuperTable 的 updateTable。
调用返回 NULL 的 getUpdateTable()。检查updateTable，
以及 ixSuperTable 的 selectFromPart 构造函数参数。




-50083	在 ixSuperTable::buildLockStr() 中，没有指定updateTable
--返回NULL。

不能够决定此 SuperTable 的 updateTable 。函数 
getUpdateTable() 返回 NULL。检查 updateTable 
和 ixSuperTable 的 selectFromPart 构造函数的参数。




-50082	在 ixSuperTable::doSQLDelete() 中，
ixSuperTable::getConnection() 返回了  NULL
--使用NULL连接建立实例 deleteStmt。

在ixSuperTable构造函数中指定的 ixSQLConnect
对象可能是无效的，因为 ixSuperTable::getConnection()
返回了NULL。doSQLDelete 函数使用隐式连接
建立了deleteStmt。




-50081	在 ixSuperTable::doSQLUpdate() 中，
ixSuperTable::getConnection() 返回了 NULL
--使用NULL连接建立实例 updateStmt.

用 ixSuperTable构造函数指定的ixSQLConnect
对象可能是无效的，因为 ixSuperTable::getConnection()
返回了NULL。doSQLUpdate函数使用隐式连接
建立 updateStmt 。




-50080	在 ixSuperTable::doSQLInsert() 中，
ixSuperTable::getConnection() 返回了 NULL
-- 使用 NULL 连接建立实例 insertStmt。

用 ixSuperTable 构造函数指定的 ixSQLConnect
对象可能是无效的,因为 ixSuperTable::getConnection()
返回了NULL。doSQLInsert 函数使用隐式连接
建立了 insertStmt。




-50079	在 ixSuperTable::doSQLPrepSelect() 中，
ixSuperTable::getConnection() 返回 NULL
-- 使用NULL连接建立实例selectStmt。

用 ixSuperTable 构造函数中指定的 ixSQLConnect
对象可能是无效的，因为 ixSuperTable::getConnection()
返回了NULL。doSQLPrepSelect函数使用隐式连接
建立了 selectStmt 。




-50078	在 ixSuperTable::prepRowLock() 中，
ixSuperTable::getConnection() 返回 NULL
--用 NULL连接建立实例lockStmt。

在 ixSuperTable 构造函数中指定的 ixSQLConnect 对象有可能是无效的，
因为 ixSuperTable::getConnection() 返回了 NULL。
ixSuperTable::prepRowLock() 函数
使用隐式连接建立了lockStmt。




-50077	在ixSuperTable::initCellValue()中，
无效的colNum输入至参数-- 返回NULL。

ixSuperTable::initCellValue 函数的colNum参数超出了范围。
此参数的有效范围是在 1 至显示字段的数量
（即ixSuperTable::getNumCols()）之间。




-50076	在ixSuperTable::initCellValue()中，
无效rowNum输入参数-- 返回NULL。

ixSuperTable::initCellValue 函数的 rowNum 参数超出了范围。
此参数的有效范围是在 1 至存储行的数量
（即ixSuperTable::etNumStoredRows()）之间。




-50075	在 ixSuperTable::setCellValue() 中的致命的错误 --
不能对该存储格调用 ixSuperTable::getSuperField()。

ixSuperTable::setCellValue() 函数试图根据指定的
colNum参数调用getSuperField()，但是返回了 NULL。
某些严重的内部错误已经发生。




-50074	在以下 SQL stmt: "stmt" 的 ixSuperTable::doSQLFetch()
(err) 中，出现了一个SQL错误。

SQLFetch()事件已经用缺省的处理程序 doSQLFetch()
调用，但是引擎报告了一个错误。查找显示在
括号中的引擎错误码。




-50073	在以下 SQL stmt: "stmt" 的
ixSuperTable::doSQLPrepSelect() (err) 中
出现了一个 SQL 错误。

SQLPrepSelect()的事件已经用缺省的处理程序
doSQLPrepSelect()调用，但是引擎报告了一个
错误。检查显示的SQL字符串是否正确，并查
找显示在括号中的引擎错误码。




-50072	在 ixSuperTable::setChangeFlag() 中，
无效的 colNum 输入参数-- 返回NULL。

ixSuperTable::getChangeFlag 函数的colNum 
参数超出范围。此参数的有效范围在 1 至显
示的字段数（即ixSuperTable::getNumCols()）之间。




-50071	在 ixSuperTable::setChangeFlag() 中，无效的rowNum 输入参数
--返回NULL。

ixSuperTable::getChangeFlag() 函数的 rowNum 参数超出了范围。
此参数的有效范围是在 1 至存储行数（即ixSuperTable::getNumStoredRows()）
之间。




-50070	在 ixSuperTable::setChangeFlag() 中，不能直接设置为
isDeleted - 中止并返回NULL。

ixSuperTable::getChangeFlag() 函数不支持将changeFlag
设置为 isDeleted ，因为行必须通过使用 ixSuperTable::delete()
从SuperTables中删除。




-50069	在 ixSuperTable::getChangeFlag() 中，
无效 colNum 输入参数 -- 返回NULL。

ixSuperTable::getChangeFlag 函数的colNum
参数超出了范围。此参数的有效范围
是在1至显示的字段数（即ixSuperTable::getNumCols()）
之间。




-50068	在 ixSuperTable::getChangeFlag() 中，无效的 rowNum 输入参数
--返回 NULL。

ixSuperTable::getChangeFlag 函数的 rowNum 参数
超出了范围。此参数的有效范围是在1至存储行数
（即 ixSuperTable::getNumStoredRows()）之间。




-50067	在 ixSuperTable::getNextHighlightedRow() 中，
startRowNum 输入参数 -中止调用并返回NULL。

ixSuperTable::highlightRow() 成员函数产生此信息。
startRownum 参数值必须在 1 与存储行号之间
（即 ixSuperTable::getNumStoredRows()），
包括 1 和存储行号在内。




-50066	在 ixSuperTable::unhighlightRow() 中，
无效 rowNum 输入参数-中止调用。

ixSuperTable::highlightRow() 成员函数产生此信息。
rowNum 参数值必须在 1 和存储的行号
（即 ixSuperTable::getNumStoredRows()）之间，
包括 1 和存储行号在内。




-50065	在 ixSuperTable::highlightRow() 中，
无效的 rowNum 输入参数-中止调用。

ixSuperTable::highlightRow() 成员函数产生此信息。
rowNum 参数值必须在 1 和存储行号
（即 ixSuperTable::getNumStoredRows()）之间，
包括 1 和存储行号。




-50064	在 ixSuperTable::setScrollRange() 中，
totalRows 输入参数小于0 -设为缺省值 0。

ixSuperTable::setScrollRange() 成员函数产生此信息。
totalRows 的值必须大于 0。




-50063	在 ixSuperTable 构造函数中，指定了无效锁定方式
-- 设置为缺省锁定方式 noLock。

ixSuperTable 构造函数产生此信息。有效的锁定方式只有
pessimisticLock、optimisticLock 
和 noLock（它们是 ixSuperTable 常数）。




-50062	在 ixSuperTable 构造函数中指定了无效显示方式
-- 设置为缺省显示方式 displayData。

ixSuperTable 构造函数产生此信息。显示方式的有效值只有 
displayQuery 和 displayData（它们是 ixSuperTable 常数）。




-50061	在 ixSuperTable 构造函数中，
指定了无效版面布置-设置为缺省版面布置 freeForm。

ixSuperTable 构造函数产生此信息。有效的版面布置只有 
gridForm 和 freeForm（它们是 ixSuperTable 常数）。




-50060	在 ixSuperField 中的无效内部 SuperTable 描述。

各种 ixSuperField 和 ixSuperTable 成员函数
产生此信息。纠正所有其他处理错误。
如果错误再次出现，请记录整个环境，同时
与 GBasedbt 技术支持部门联系。




-50057	对当前对象未指定帮助号。

当没有设定帮助号的 item 需要帮助时，
意味着没有帮助文本可以用于该对象。
在这种情况下运行时没有 workaround 可以使用。
但是你可以在应用代码中访问它，通过赋予该对象
与其有关联的帮助号，并且对应的信息在
相应的帮助文件中。




-50056	下列includeTable输入，“输入”，是一个 SuperField 
不合法的值。检查并保证此输入是可以转换
至该类型的，并且在 colInfo 中为 SuperField 
指定 encLength。

ixSuperField::dataValidate() 成员函数产生此信息。
当确认字段的值与该字段中的 includeTable 
列表值冲突时发出警告。在包含表中的值是错
误的类型（例如，当字段具有日期时间值时，
它可能是一个字符串）。在所包含的表中对 
SuperField 的值进行再检查，确认它们全部具有
相同、正确的类型。




-50055	在 ixSuperField 构造函数中的无效字段号。

ixSuperField 构造函数产生此信息。
colNum 参数具有小于 1 或大于
 SuperTable 中字段号的值。




-50054	在 ixSuperTable::retrieve() 中，不能将取得的行
插入数据集。检查并保证 SuperFields 的 SQL 类型
与数据库类型一致。

此信息由 ixSuperTable 生成。
插入失败。检查 SuperField 数据类型与
对应的数据库字段类型是否一致。




-50052	当存取信息文件时，错误出现。

ixMsgFile 构造函数或者 ixMsgFile::readMsg() 
产生此信息。指定的文件或被破坏，或者它
不是一个 GBasedbt 编译的信息文件。




-50051	没有足够的内存用于返回字符串。

此信息由 ixMsgFile::readMsg() 生成。
系统不能分配足够的存储器用于存放从信息
文件读出的字符串值。或者减少程序的大小，
或者减少信息的长度。




-50050	文件不能被打开。

如果 ixFile 不能打开指定的文件，ixFile 构造函数将产生此信息。




-50044	不能建立 blob 存储文件。

当程序试图建立一个存储文件时，错误出现
（可能是由于许可问题）。




-50043	当试图向一个 blob 存储内存写入时，发
现错误。

当程序试图向一个 blob 存储文件写入时，
由于在写入期间存储内存增长而
发生错误。请记录整个环境，同时与 
GBasedbt 技术支持部门联系。




-50042	不能向 blob 存储文件写入。

当程序试图向一个打开的 blob 存储文件
写入时，错误出现。




-50041	不能读 blob 存储文件。

当程序试图读一个 blob 存储文件时，错误出现。




-50040	不能打开blob存储文件。

当程序试图打开一个 blob 存储文件时，错误出现。
文件已经建立或读出，但是由于某种原因它不能写入
（可能是由于许可问题）。




-50039	不能启动 blob 存储文件。

当程序准备打开一个 blob 存储文件时，错误出现。
如果该文件存在，但是由于某种原因不能读出时，
（可能由于许可问题）此情况可能出现。




-50038	由于以下的 SQL stmt: "stmt"，
一个 SQL 错误已经出现在 
ixSuperTable::doPrepRowLock() (err)。

ixSuperTable::prepRowLock() 成员函数被
调用，但是引擎报告了一个错误。检查显
示的 SQL 字符串是否正确，同时努力查
找显示在括号中的引擎的错误码。




-50037	对位于存储器中的 blob 指定
的文件被忽略。

ixBlob 构造函数产生此信息。当你使用 ixBlob::setLocation() 成员函数
设置一个 blob（或者是一个 ixText 或者是 ixByte对象）位置时，
你可以指定或者数据必须在存储器中，或者在你选择的文件中，
或者在一个本地建立的暂时文件中。如果你选择将 blob 存储在
存储器，你将不需要文件名。如果已经包括了文件名，
可以忽略。




-50036	指定位于暂时文件中的 blob 文件名
被忽略。

ixBlob 构造函数产生此信息。当你使用 ixBlob::setLocation() 
成员函数设置一个 blob 位置时（或者是ixText 或者 ixByte对象 ）
你可以指定数据或者必须在存储器中，或者在你选择的文件中，
或者在本地建立的暂时文件中。

NewEra 命名暂时文件，同时，如果你采用的此选项
包括文件名称，可以忽略。




-50035	指定比较的对象是 NULL。

如果通过的参数是 NULL，ixObject::isEqualTo() 就产生此信息。
然后该函数返回一个 FALSE 值。




-50034	指定的基类或
衍生类的名称为 NULL。

如果任一参数是 NULL，此信息将由 
ixObject::isClassDerivedFromClass() 生成。
在这种情况下，函数返回一个 NULL 值。参考现有的
已定义的类，确认子类和基类的名称。




-50033	此成员函数不支持该对象。

此信息由 ixNumeric 和由其衍生的分类所生成。
它表示一个与数字类型不一致的算术函数
被请求。这些函数的有效对象只有：
ixFloat、ixSmallFloat、ixInteger、ixSmallInt、
ixDecimal 和 ixMoney。再者，mod() 函数
仅对 ixInteger 和 ixSmallInt 有效。
确认你的参考是对象的正确类型。




-50032	blob 编辑器以无效返回状态退出。

系统对编辑 blob 的调用失败。当指定给 blob 
编辑器的名称无效时，或者在当前的路径
中没有该文件时，将发生此情况。




-50031	文件名称未指定给以 ixText::locInFile 
存储的 ixText 对象。

当第一个参数是 ixText::locInFile，并且未指定
命名文件时，ixText 构造函数产生此信息。




-50030	ixText 存储形式请求了一个非法值。
合法值是：ixText::locInMemory ixText::locInFile
ixText::locInTempFile。

当第一个参数无效时，ixText 构造函数产生此信息。




-50029	文件名称未指定给以 ixByte::locInFile 
存储的 ixByte 对象。

当第一个参数是 ixByte::locInFile，并且未指定
命名文件时，由 ixByte 构造函数产生此信息。




-50028	ixByte 存储形式请求了一个非法值。
合法值如下：ixByte::locInMemory
ixByte::locInFile ixByte::locInTempFile。

当第一个参数无效时 
ixByte 构造函数产生此信息。




-50027	侦测到存取 blob 范围以外的
数据的企图。

程序试图在 blob 空间以外查找。
可能 ixText::getSubString() 被作为大于 blob 的
起点调用。




-50026	作为 ixBlob::locInFile 存储的 blob 要求
一个文件名。

程序试图一个命名文件中设置 ixBlob::locInFile，
但是没有指定文件名。




-50025	内部错误：试图从无焦点对象
传送焦点。

可能已经发生了存储器损坏。纠正所有其他
处理错误。如果错误再次发生，请注意整个环境状况，
并且与 GBasedbt 技术支持部门联系。




-50024	不能为 ixMenu 的实例
指定一个 NULL 父菜单。

如果 NULL 父菜单被传送，ixMenu 构造函数产生此信息。
菜单仅可以被连至其他菜单。
ixWindow 构造函数将自动建立一个菜单（成员）。




-50023	一个 NULL 容器被传送至 ixMenu 构造函数。

ixWindow 构造函数产生此信息。可能已经发
生存储器的损坏。纠正所有其他处理错误。
如果在发生此错误，请注意整个环境状况，
并且与 GBasedbt 技术支持部联系。




-50022	xll	一个无效参数（或超出范围）被送至
此成员函数。

一个无效如何通过被送至 _ _blob-seek()。
纠正所有其他处理错误。如果发生错误，
请注意整个环境状况，并且与 GBasedbt 技术支持部门联系。




-50021	试图删除 blob 存储文件失败。
这可能是由于文件/目录的许可问题。

此信息可能在 ixBlob 被破坏时或者当 blob 存储文件不能
被删除而发生释放调用时产生。在程序不具备写许可的目
录中检查命名的数据文件。




-50020	没有缺省编辑器可用于此分类；
blob 编辑器名必须提供。

用户在一个 TEXT 或 BYTE 数据类型的 
ixSuperField 对象中输入“!”，
但是没有对数据指定 blob 编辑器。
仅对于 ixText 对象，你可以通过将 
DBEDIT 变量设置为你所喜欢的编辑器名称，
而在 gbasedbt.ini 文件中指定 blob 编辑器。
如果此信息不是在 gbasedbt.ini 文件中，DBXEDIT 
环境变量将被检查。最后，如果什么也没有设置，
记事本值 (对 Windows) 或者 vi (对 UNIX )被采用。
对于 TEXT 或者 BYTE SuperField，用户可以
设置 SuperField blobEditor 成员为 blob 编辑器的名称。




-50019	不能在 ixBlob 对象上使用 
setValueStr() 成员函数。

此信息由 ixBlob::setValueStr() 生成。
setValueStr() 函数采用 CHAR(*) 参数，并且 
blobs 可以大于 32,766 字符，也就是 CHAR(*) 的最大值。




-50018	不能从 popup 窗口获得图标。
返回NULL。

此信息由 ixWindow::getIcon() 生成。
程序试图找出什么是 popup 窗口的图标。
popup 窗口不能具有图标。返回 NULL 值。




-50017	Popup 窗口没有图标。
不必考虑为 Popup 窗口设置图标。

此信息由 ixWindow::setIcon() 生成，可能要
通过 ixWindow 构造函数的调用。Popup 窗口
不能独立于它们的容纳窗口进行最小化。
如果 Popup 窗口容器被最小化，popup 被简单地隐藏，
无图标显示。这种情形说明一个图标已经被指定。




-50016	不能设置可视对象的 anchor 为负值。
忽略此操作。

如果试图将一个 ixVisualObject 的顶端或 
左点设置为负值，ixVisualObject 构造函数
或 ixVisualObject::setAnchor() 产生此信息。




-50015	因为以下的 SQL stmt: "stmt"，一个 SQL 错误已经在
ixSuperTable::applyRowLock() (err) 中发生。

ixSuperTable::applyRowLock() 成员函数被调用，
但是引擎报告了一个错误。此行可以由引擎
锁定。检查显示的 SQL 字符串是否正确，并试着
查找显示在括号中的引擎错误。




-50014	ixWindow 的无效样式参数。

ixWindow 构造函数产生此信息。此信息表示需要的是一个 
windowStyle 参数，而不是 mainTop、normalTop、
modalPopup 或者 modlessPopup。
然后 windowStyle 被假定为 normalTop。




-50013	不能为一个顶层窗口指定容纳窗口。
忽略指定的容纳窗口的参数。

ixWindow 构造函数产生此信息。用户已经请求了
一个 ixWindow 的mainTop 或 normalTop 样式，但是还要
指定一个容纳窗口。仅有 popup 窗口可以具有
容纳窗口，因此 VCL 忽略容纳窗口的参数。




-50012	不能为 popup 形式的ixWindow 指定一个 NULL 容纳窗口。
代之以使用 normalTop 形式的 ixWindow。

ixWindow 构造函数产生此信息。它表示用户已经
请求了一个 popup ixWindow，但并没有指示容纳窗口。
不是在一个容纳窗口进行推测，而是 VCL 建立
新的窗口作为 normalTop 窗口。




-50011	不能使用 NULL 容器来建立一个可视对象。

ixVisualObject 构造函数产生此信息。
除了顶层的 ixWindow 对象以外，所有可视对象必须被连至 
ixVisualContainer。




-50010	不能将可视对象的大小设置为负值。
忽略此操作。

ixVisualObject 构造函数或 ixVisualObject::setSize() 
产生此信息。除了ixBox 和 ixLine 以外，所有
可视对象必须具有大于或等于零的大小。




-50009	在一个可视对象的内部表示中检测到问题。

ixVisualObject 派生类中的许多函数产生
此信息。纠正所有其他的处理错误。
如果错误在发生，请注意整个环境，并且与 
GBasedbt 技术支持部门联系。




-50008	可视对象不能被加至一个
关闭的可视容器中。

ixVisualObject 构造函数产生此信息。一旦窗口
已经关闭，其中的每一个 ixVisualObject 获得一个其关闭后的可用性。
关闭了的可视对象的成员函数，除了 getAvailability() 以外，
均不能被调用。因此你不能增加新的可视对象至一个关闭
了的窗口。不必去检查窗口，我们只需检查传递的容器对象
的可用性。




-50007	应用程序对象不能被拷贝或者比较。

此信息由 ixApp::copy() 或 ixApp::isEqualTo() 
产生。仅有一个 ixApp 实例可以存在，并且是
自动为用户建立的。




-50006	COPY 运算符在此类中不被支持。

当程序试图执行以下操作时产生此信息：
ixFile::copy()、ixRowArray::copy() 或者 
ixVisualObject::copy()。不清楚拷贝应该做什么。
使用操作系统来拷贝文件。SuperTables 使用行数组，
因此你自己不必去拷贝它们。VisualObject 是一个
虚拟类，并且程序不能够获得拷贝的实例。




-50005	isEqualTo() 成员函数在此类中
不被支持。

isEqualTo() 成员函数在 ixFile、ixRowArray 和
ixVisualObject 类及其派生类中不被支持。
任何试图在这种情况下对它的调用将报告此错误。




-50004	不能给图片按钮设置颜色属性。

此信息由 ixPictureButton::setColor() 产生。
位图文件设置图片按钮的颜色属性。
不要试图直接设置颜色。




-50003	Line 不能采用 NULL 或者
无效的几何尺寸创建实例。

ixLine 构造函数产生此信息。Line 必须建立锚定点和
大小。它们没有缺省的大小。




-50002	Box 不能使用 NULL 容器或者
 NULL 几何尺寸创建实例。

ixBox 构造函数产生此信息。box 必须同时设定
锚定点和大小。它们没有缺省大小。




-50001	一个关闭了窗口的成员不能被存取。

许多成员函数产生此信息。程序可以调用 
ixWindow::close 去关闭一个窗口。用户可以通过
在窗口的系统菜单中选择“关闭”，来使窗口关闭。
一旦窗口已经关闭，尽管引用它的指针可能还
存在，程序将不能再调用它的任何成员函数或者引用它
的成员。




-50000	应用程序对象已经建立。

ixApp 构造函数产生此信息。系统建立 ixApp 
对象，并且只能存在一个。程序代码不允许试
图建立 ixApp 对象。




-47117	分区中缺少数据库空间名称。

您省略了分段存储策略中某个分区的数据库空间名称。



-47116	缺少分区中的表达式。

您省略了分段存储策略中某个分区的分区表达式。

1.  对于时间间隔分段存储，有效分区表达式有以下格式：

a. VALUES < {transition}

转换值（取决于时间间隔值）和分段键的数据类型。

例如，使用 DATE 类型的分段键，并且内部值为 INTERVAL(1-3) YEAR TO MONTH 时，一些有效分区表达式为
：

VALUES < DATETIME(1980-02-13) YEAR TO DAY VALUES < DATETIME(1986-11-01) YEAR TO 
DAY 

b. VALUES IS NULL

此格式用于指定 NULL 分区。在分段存储策略中只能有一个 NULL 分区
。

2.  对于列表分段存储，有效分区表达式有以下格式：

a. VALUES ({constant, ...}) 

对于数据类型的分段键，常量值必须有效。

例如，使用 CHAR(20) 类型的分段键时，一些有效分区表达式为
：

VALUES ("FL", "CA", "NY", "NJ") VALUES ("OH", "MD", "MI") VALUES (NULL) 

b. REMAINDER 

此格式用于指定 REMAINDER 分区。只能有一个 REMAINDER 分区，并且该分区必须是分区列表中的最后一个分区
。



-47115	缺少分区的名称。

您省略了分段存储策略中某个分区的名称。

在给定数据库空间内，声明的每个分区名称必须在相同表或索引的分区名称中唯一
。



-47114	必须至少指定一个分区。

必须至少有一个使用选定分段存储策略的分区用于数据存储
。

在给定数据库空间内，声明的每个分区名称必须在相同表或索引的分区名称中唯一
。



-47113	必须编写时间间隔值表达式。

尚未编写分段存储策略的时间间隔值表达式。时间间隔分段存储需要选择与分段存储键相应的时间间隔值
。

例如，使用 DATE 类型的分段键时，有效时间间隔值为：

INTERVAL(YYYY-MM) YEAR TO MONTH INTERVAL(MM) MONTH TO MONTH INTERVAL(YYYY) YEAR 
TO YEAR INTERVAL(DD) DAY TO DAY 

其中：YYYY 为年，MM 为月，DD 为日

对于 INTEGER 和其他数字类型的分段键，时间间隔值必须是求值结果与分段键类型相同的常量表达式
。

例如，使用 INTEGER 类型的分段键时，一些有效时间间隔值为
：



-47112	必须选择分段存储键。

尚未选择当前分段存储策略的分段存储键。

必须从 dbaccess 实用程序的“分段键”菜单中将某个表列标记为已选中
。



-47111	此策略当前不支持 ALTER。

已选择的分段存储策略当前不支持 ALTER FRAGMENT 操作。

如果分段存储策略是应用程序的设计需求，请考虑创建使用该策略的新表，然后将现有数据装入其分段存储策略与您的需求匹配的新表中
。



-47109	如果定义位置，dbspace是必须的。

你已经指定dbspace作为连接表策略的一部分。这个动作表明你希望，在作为分段存储
策略一部分的dbspace被连接之前或之后放置连接表。必须定义之前或之后的位置。





-47108	Dbspace 不是当前策略的一部分。

指定的 dbspace 不是当前分段存储策略的一部分。请从屏幕上显示的
可用 dbspace 中选择一个。





-47107	Alter Table选项已被变更。

只能在ALTER FRAGMENT菜单会话期内执行一个菜单选项，而且不能多次运用于当前策
略。例如，只能对循环策略加一个dbspace，在同一ALTER TABLE会话期不能删除
dbspace。





-47106	表已经被选作连接策略的一部分。

一个表挂到分段存储策略只能一次。你所选择的表已经是分段存储策略的一部分。从
当前列表选择另一个表。





-47105	dbspace已经选作该策略的一部分。

在分段存储策略中不能多次使用同一dbspace。选定的dbspace已经是该策略的一部
分。从当前列表选择另一个dbspace。





-47104	填充因子百分数必须是不超过100的正整数。

试图指定是负数或大于百分之一百的填充因子百分数。指定不同的百分数或迫使
RETURN接收90%缺省值。






-47102	已经超出临时缓冲区。

SQL编辑器中存放校验限制值和文字缺省限制值的缓冲区满了。如果正在修改校验限制
值，不同的编辑器可能有较大的缓冲区。






-47101	为了取消现有的限制，当前的域必须是限制的名称。

光标在屏幕上有错误的域。移动光标反显Constraint Name域中的输入，取消与主键、
校验或唯一限制相关联的所有字段。反显Constraint域来取消与外部键的限制相关联
的所有字段。






-47100	字段不在这个表中。

不能对不在表中的字段建立限制。






-47099	不能修改已存在的限制。

不能用ALTER TABLE菜单选项来修改已存在的限制。名字之前的星号标识已存在的限
制。






-47098	复合列表中的字段数超出最大值。

在关于GBasedbt 动态服务器 2000、GBasedbt 动态服务器、GBASEDBT-Universal 
服务器、或 GBASEDBT-OnLine 动态服务器的主要限制或唯一限制中不能多于
16个字段名，或在关于GBASEDBT-SE数据库服务器的一个主要限制或唯一限制
中不能多于8 个字段名。减少在限制定义中指定的字段数量。







-47095	字段在参考的表中没有发现。

不能对不在参考表中的字段建立外部键的限制。为该限制指定不同的参考字段。






-47093	不能用BYTE或TEXT的字段类型建立唯一键或主键的限制。

为了对字段建立唯一键或主键的限制，如果许可，从BYTE或TEXT改变字段的数据类
型。






-47092	不能用这个字段的长度作为缺省值指定用户。

为了为CHAR、NCHAR、VARCHAR或NVARCHAR字段规定由当前用户注册各组成的缺
省值，最小的字段长度必须是8。增加字段长度或规定不同的缺省值。






-47091	不能用这个字段的类型作为缺省值指定用户。

不能为不是CHAR、NCHAR、VARCHAR或NVARCHAR数据类型的字段规定由当前用户注册各
组成的缺省值。改变字段的数据类型（如果许可）或规定不同的缺省值。






-47090	不能用这个字段的类型作为缺省值指定当日日期。

不能对不是DATE数据类型的字段规定由当前系统日期组成的缺省值。改变字段的数据
类型（假如许可的话）或规定不同的缺省值。






-47089	不能指定服务器或节点作为这样字段长度的缺省值。

为了为CHAR，NCHAR，VARCHAR，或NVARCHAR字段指定一个由当前数据库服务器名或当
前节点名组成的缺省值，最小字段长度必须是18。请增加该字段长度或指定一个不同
的缺省值。






-47088	不能指定服务器或节点作为这种字段类型的缺省值。

你不能为非CHAR，NCHAR，VARCHAR，或NVARCHAR数据类型的字段指定一个由当前数据
库服务器名或当前节点名组成的缺省值。请改变该字段的数据类型（假如允许的话 )
或指定一个不同的缺省值。






-47087	当字段不接受null时，不能指定null缺省值。

为该字段选定一个不同的(非-null)缺省值，或把该字段修改为可接受null值。






-47086	不能指定当前时间作为非日期时间字段类型的缺省值。

当字段数据类型不是DATETIME时，你不能设定由来自系统时钟的当前时间组成的缺省
值。把字段数据类型修改为DATETIME（假如许可的话 )，或为该字段指定一个不同的
缺省值。






-46103	装入 Java UDR 类 (<jar filename>) 时出错。请验证所安装 JAR 的 JAR 文件名三部分名称 
(<dbname.username.jarid>) 是否位于 JAR_TEMP_PATH 或 /tmp 目录中。

该错误的可能原因是在 deploy.txt 文件中使用的是“thisjar”，而不是 JAR 标识
。



-46007	无法对类型 (<type name>) 执行 Java 到 SQL 类型映射。

如果在 CREATE FUNCTION 语句的 EXTERNAL NAME 子句中使用 SQL 数据类型（如 FLOAT），那么会发生该错误
。

请在 EXTERNAL NAME 子句中使用 Java 数据类型，而不要使用 SQL 数据类型
。



-43421	记录方式 <log-mode> 在此修订版的数据库服务器中不可用
。

命名的记录方式可以在部分版本（非所有版本）的 GBasedbt 数据库服务器上可用
。

查找可用的相应记录方式。请查看发行说明或《管理员指南》以了解受支持的记录方式
。

对于具有“高级决策支持”和“扩展并行”选项的 GBase  Extended Parallel Server 或 GBase  
Database Server，如果要尝试关闭数据库记录，请尝试将该数据库中的所有表转换为某个非记录表类型
。



-43402	错误：无效的序列号。请查阅您的安装手册。

ondblog 的序列号无效。

请要求系统管理员重新安装 ondblog。



-43400	ondblog 用法。

ondblog <new mode> [-f <filename>] [<database list>] 

new mode：

buf     - 将数据库更改为缓冲方式。unbuf   - 将数据库更改为无缓冲方式。nolog   - 将数据库更改为无记录。（不在 AD/XP 中）
ansi    - 将数据库更改为符合 ANSI。cancel  - 取消日志请求。

-f <filename>   包含用于记录更改的数据库的列表的文件。

<database list> 用于记录更改的数据库的列表。

此消息在错误输入 ondblog 命令后显示。

请修改命令，然后重试。



-43399	错误：没有从数据库服务器中收到任何响应。正在终止 ON-Bar
。

没有来自数据库服务器的响应。数据库服务器可能未正常运行，并可能有问题
。

确定数据库服务器的问题，对其进行修复，然后重试备份或恢复
。



-43397	存储空间 <name> 不存在。

操作：请验证存储空间是否存在于此数据库服务器中，然后重试备份或恢复
。



-43396	Logstream <logstream> 不存在。

操作：请验证 logstream 是否存在于此数据库服务器中。



-43395	某一日志备份已在运行。无法启动另一日志备份。

当几个 onbar 进程尝试同时备份逻辑日志时，会发生该错误。其中一个原因可能是 ONCONFIG 文件中 ALARMPROGRAM 参数定义的程序调用 
onbar 来执行日志备份，并且数据库执行了该程序，而同时另一 onbar 进程也在尝试执行日志备份。另一种可能的原因是调用了多个 onbar 命令行来执行恢复
，而这些命令行彼此相互干扰。

无需任何操作。启动的第一个日志备份将备份所有已使用的日志文件
。



-43394	存储空间 <storage space> 没有关闭，所以不会对其进行恢复
。

只有脱机的存储空间才需要恢复。此存储空间将不会恢复，但将尝试恢复任何其他存储空间
。



-43393	存储空间 <storage space> 已关闭，无法进行备份。

只有联机的存储空间才能进行备份。

请将该存储空间联机，然后再次尝试备份。



-43392	一个或多个 BLOB 空间已关闭。日志备份已异常终止。

BLOB 空间已关闭。备份或抢救逻辑日志后，将无法在将来恢复此 BLOB
。

请将所有 BLOB 空间联机，然后重试逻辑日志备份或抢救。



-43391	已跳过空间 <storage space> 的备份/恢复。

指定的存储空间是临时空间，该空间已联机，或者该空间是根数据库空间，并且数据库服务器处于“快速恢复”方式，无需进行恢复
。

无需任何纠正操作。



-43389	<storage space> 没有 <value-1> 级备份。缺省情况下将执行 <value-2> 级备份
。

存在需要上一级备份的增量备份。例如，必须至少有对象的一个 0 级备份之后，才可以执行该对象的 1 级备份。0 级和 1 级备份必须都存在之后，才可以执行 2 级
备份。



-43388	已超过每个 ON-Bar 命令的存储空间的最大允许数量。

对于 ON-Bar 在整体系统备份或恢复中可处理的存储空间数量存在限制。此数字根据不同平台而不同。非整体系统备份或恢复不存在此类限制
。

如果可能，请在不使用整个系统选项的情况下重试备份或恢复。如果需要进行整体系统恢复，请考虑减少安装中的存储空间数量
。



-43387	无法确定 <name> 是数据库空间还是数据库片：%2

尝试将数据库片转换为数据库空间的列表时发生错误。很可能是因为存在印刷错误，或 coserver 无法响应
。

操作：请验证所有 coserver 是否处于正确的状态（对于备份或热恢复，为联机或静默状态，对于冷恢复，为微内核状态）
。



-43386	先前没有备份存储空间 <name>，所以无法对其进行恢复/验证
。

无

操作：无



-43385	正在恢复 <storage space>，即使它已经联机。

缺省情况下 ON-Bar 不会恢复联机的空间。获取此消息说明 onbar 命令行上肯定使用了 -O 选项来覆盖内部检查
。

无需任何操作。ON-Bar 将恢复该空间。



-43384	创建 %1 以允许恢复 %2

缺少块

操作：正在创建缺少的块



-43383	无法将操作编号 <action-number> 的时间戳记更新为 
<timestamp>

无

操作：请要求数据库管理员修复数据。



-43381	逻辑日志已满。ON-Bar 可能在写入 sysutils 数据库时遇到错误
。

ON-Bar 运行期间，会填充逻辑日志。ON-Bar 向 sysutils 数据库中的 ON-Bar 目录写入其所执行操作的记录时，会执行数据库事务。因此，当前
ON-Bar 进程执行的操作不会记录在 sysutils 数据库中。但是，它会记录在紧急引导文件中
。

如果到备份或恢复结束时，对象仍未进行编目，请使用 onsmsync 更新数据
。



-43380	检测到死锁。请等待几秒种，让锁定清除后再重试。

两个进程尝试同时锁定同一 sysutils 数据库表或行，从而导致死锁
。

请等待几秒钟，让其他进程完成并释放锁定，然后重试。



-43379	不允许对 <table-name> 主键进行更新。

不允许更新表的主键。

操作：先删除该行，然后尝试插入具有新主键的新行。



-43378	缺少 %1 的数据。

缺少所需数据。

操作：停止 ON-Bar，然后重试命令。

如果错误持续存在，请记录所有情况、保存 ON-Bar 和 ONLine 消息日志的副本，并联系技术支持（电子邮件地址为 support@gbase.cn）
。



-43377	%1 需要向 %2.0 插入行

在没有指定的数据的情况下，无法向该表插入 SQL。

操作：停止 ON-Bar，然后重试命令。

如果错误持续存在，请记录所有情况、保存 ON-Bar 和 ONLine 消息日志的副本，并联系技术支持（电子邮件地址为 support@gbase.cn）
。



-43376	无法将日期时间转换成字符串：<date>。

无法解释日期字符串，因为使用的格式与 ON-Bar 所需的格式不匹配
。

请检查与国际化或本地化相关的环境变量（例如 CLIENT_LOCALE 和 GL_DATETIME）的值。如果环境是为本地化设置的，请确保指定的日期与日期的本地
格式相匹配。如果未设置相应的环境变量，请确保日期以标准 SQL 日期格式指定
。



-43375	错误：尝试构建一个 SQL，其中 %1 的子句发生失败。

没有数据传递给 build-where-clause 函数，因此无法构建 SQL where 子句
。

操作：请确保 sysutils 数据库的 bar_object 和 bar_server 表中都包含数据
。



-43374	%2 的 %1 超过最大允许长度 %3 个字符。

SQL 语句的长度超过其最大允许大小。

操作：缩短该语句，或将其拆分成多个语句。



-43373	当服务器退出快速恢复时，将更新 sysutils 数据库。

在数据库服务器处于快速恢复时，ON-Bar 尝试更新 sysutils 数据库。当数据库服务器退出快速恢复时，将更新 sysutils 数据库
。

将数据库服务器置于静默或联机方式，然后运行 onsmsync -b 命令。此命令将生成紧急引导文件
。



-43372	无法将选定行添加到 %1 的已链接列表。

尝试将选定行添加到已链接列表失败。

操作：停止 ON-Bar，然后重试命令。

如果错误持续存在，请记录所有情况、保存 ON-Bar 和 ONLine 消息日志的副本，并联系技术支持（电子邮件地址为 support@gbase.cn）
。



-43365	无法显示逻辑日志：<unique ID>。

使用回调函数构建应显示的日志记录块时可能存在问题。正在显示的逻辑日志文件可能已损坏
。



-43364	未显示任何逻辑日志。

您正在尝试显示一个或多个逻辑日志，但指定的逻辑日志中没有任何日志已使用 ON-Bar 进行归档，或者紧急引导文件可能已损坏
。

请确保紧急引导文件包含日志备份信息。



-43363	已完成显示逻辑日志 <log-id>。

这是 ON-Bar 进度消息。



-43362	开始显示逻辑日志 <log-id>。（Storage Manager 副本标识：<value-2> <value-3>）
。

这是 ON-Bar 进度消息。



-43355	错误：逻辑日志已满，必须在可进行不带日志备份的数据库空间备份之前，对逻辑日志进行备份
。

ON-Bar 设置关闭了隐式日志备份。

操作：使用单独的 ON-Bar 命令备份日志。



-43354	警告：逻辑日志未作为该操作的一部分进行备份。恢复该备份需要日志唯一标识一直到 %1 的所有日志。请确保对这些日志进行单独备份
。

在数据库空间备份后，ON-Bar 设置关闭了隐式日志备份。

操作：请确保使用单独的 ON-Bar 命令备份日志。



-43353	警告：逻辑日志不会作为该操作的一部分进行备份。请确保对逻辑日志进行单独备份
。

在数据库空间备份后，ON-Bar 设置关闭了隐式日志备份。

操作：请确保使用单独的 ON-Bar 命令备份日志。



-43344	(-43344) rootdbs 0 级恢复不可以恢复方式重新启动。请关闭该服务器并执行冷恢复
。

rootdbs 0 级恢复必须是冷恢复。

操作：关闭服务器并执行冷恢复。



-43343	(-43343) 找不到合适的根数据库空间备份。

ON-Bar 引导文件 (ixbar) 未包含对可使用选定选项进行恢复的 rootdbs 的备份
。

操作：如果在运行 onbar -r -w 命令后收到此消息，请检查使用 onbar -b -w 命令执行的最后一次备份是否为整体备份。只能对整体备份执行整体恢复
。如果最后一次备份不是整体备份，请使用 onbar -r 命令来执行恢复。如果最后一次备份是整体备份，那么 ixbar 文件可能不一致。请联系 IBM 技术支持
。

如果在运行 onbar -r 命令后收到此消息，那么 ixbar 文件可能不一致。请联系 IBM 技术支持
。



-43342	(-43342) 无法从 rootdbs 对象读取保留的页面。

ON-Bar 进程尝试从 rootdbs 备份抽取保留的页面，但未成功。

操作：请致电 IBM 技术支持。



-43341	(-43341) 此恢复操作需要逻辑日志 <log-uniq-id>，但在 (null) 中找不到该日志
。

物理恢复数据库空间后，会需要数量最少的一组日志来保持数据库服务器的逻辑一致性
。

操作：如果这是整个系统恢复，那么将禁用逻辑恢复部分，以便 DBA 可以找到日志（如果需要）并执行逻辑恢复 (-r -l)
。

如果这是非整个系统恢复，那么在找到缺少的日志之前，不会进行恢复
。



-43338	(-43338) 如果数据库服务器正在取消逻辑日志，那么将不允许进行非整体的系统备份
。

非整体系统备份需要恢复逻辑日志来使数据库服务器转为一致状态。如果无法备份日志，那么不允许执行非整体系统备份
。

操作：将 ONCONFIG 文件中的 LTAPEDEV 参数值设置为除“/dev/null”(UNIX)、“NUL”(Windows) 或空白之外的值，然后重新
启动数据库服务器。



-43336	(-43336) 由于数据库服务器正在取消逻辑日志，因此无法备份逻辑日志
。

如果 ONCONFIG 文件包含值为 “/dev/null”(UNIX)、“NUL”(Windows) 或空白的 LTAPEDEV 参数，并使用该文件启动了数据
库服务器，那么无法执行逻辑日志备份。这些特殊值表明不需要进行日志备份。此逻辑日志中的数据将来无法恢复。只允许进行整体系统备份
。

操作：如果想要进行逻辑日志恢复，请将 LTAPEDEV 配置参数值设置为除“/dev/null”(UNIX)、“NUL” (Windows) 或空白之外的值
。



-43335	onbar 命令行自变量过多，允许的最大自变量数量为 
<maimum-number>

读取命令行自变量期间发生该错误。

操作：将命令行自变量的数量限制在允许的最大值范围内。



-43334	(-43334) 错误：从 Storage Manager 收到无效的副本标识。

Storage Manager 返回的副本标识与返回码不一致

操作：请与 Storage Manager 的供应商核实。



-43328	archecker 进程执行状态失败。

<value> 级备份验证期间发生错误。

请检查 archecker 临时文件的许可权和磁盘空间。有关这些文件的位置，请参阅 $GBASEDBTDIR/etc/ac_config.std 或 %
GBASEDBTDIR%\etc\ac_config.std。致电技术支持之前，请检查数据库服务器、ON-Bar 和 archecker 的消息日志文件。如果 
AC_CONFIG 环境变量未设置，并且在 $GBASEDBTDIR/etc 或 %GBASEDBTDIR%\etc 中没有 ac_config.std 文件，
那么请查看 archecker 在执行 ON-Bar 的目录中所生成的 msg.log 文件
。



-43326	错误：无法关闭物理检查错误文本：<error-number>。

备份验证期间发生该错误。它表明运行 archecker 进程时发生问题或备份损坏
。

请检查 archecker 临时文件的许可权和磁盘空间。有关这些文件的位置，请参阅 $GBASEDBTDIR/etc/ac_config.std 或 %
GBASEDBTDIR%\etc\ac_config.std。致电技术支持之前，请检查数据库服务器、ON-Bar 和 archecker 的消息日志文件
。



-43325	错误：无法写入物理检查错误文本：<error-number>。

备份验证期间发生该错误。它表明运行 archecker 进程时发生问题
。

请检查 archecker 临时文件的许可权和磁盘空间。有关这些文件的位置，请参阅 $GBASEDBTDIR/etc/ac_config.std 或 %
GBASEDBTDIR%\etc\ac_config.std。致电技术支持之前，请检查数据库服务器、ON-Bar 和 archecker 的消息日志文件
。



-43324	错误：无法打开物理检查错误文本：<error-number>。

备份验证期间发生该错误。它表明运行 archecker 进程时发生问题
。

请检查 archecker 临时文件的许可权和磁盘空间。有关这些文件的位置，请参阅 $GBASEDBTDIR/etc/ac_config.std 或 %
GBASEDBTDIR%\etc\ac_config.std。致电技术支持之前，请检查数据库服务器、ON-Bar 和 archecker 的消息日志文件
。



-43323	错误：无法创建物理检查会话：<error-number>。

备份验证期间发生该错误。

致电技术支持之前，请检查数据库服务器、ON-Bar 和 archecker 的消息日志文件
。



-43322	已成功完成 <level-number> 级备份验证。

此消息是 ON-Bar 进度消息。



-43321	已验证 <verification> 的 <percent-number>%。

此消息以数据库空间大小百分比的形式提供备份验证的进度反馈
。



-43320	开始对 <object-id> 的 <level-number> 级备份进行验证（Storage Manager 副本标识：<copy-id1> 
<copy-id2>）。

此消息是 ON-Bar 进度消息。



-43311	一些可能到期的备份在 Storage Manager 上未成功到期。

Onsmsync 请求 Storage Manager 将不再需要的备份设为到期，但到期请求未成功完成
。

操作：请检查 Storage Manager 日志和 ON-Bar 活动日志以了解详细信息
。



-43310	无法更新 sysutils 数据库 - 当数据库服务器处于静默或联机方式时，请运行 onsmsync -b
。

日志抢救作为单独步骤运行 (onbar -b -l -s)，ON-Bar 在对操作进行编目时遇到错误但成功更新了紧急引导文件，或者在数据库服务器脱机或不可用时运
行了 onsmsync。因此 sysutils 数据库与 Storage Manager 和紧急引导文件不一致
。

将数据库服务器联机（可能包括物理和逻辑恢复），然后运行 onsmsync -b
。



-43309	从 <timestamp> 开始的整体系统备份已到期；可能无法恢复
。

从所描述时间开始的整体系统备份已根据请求设为到期。正常情况下，onsmsync 不会将其除去，但会在命令行上传递 -O 选项。因此 ON-Bar 无法确定是否可
以从 sysutils 数据库的剩余数据中恢复。

如果此整体系统备份中的对象可以在 Storage Manager 中重新创建，并且您认为可能需要使用 ON-Bar 对它们进行恢复，那么请遵循在 Storage
Manager 中重新创建对象的过程。然后联系 IBM 技术支持以获取帮助
。



-43308	到期的 <object-name>（副本标识为 <id-2> <id-3>）已在 <timestamp> 时备份；可能无法恢复
。

命名的对象已根据请求设为到期。正常情况下，onsmsync 不会将其除去，但会在命令行上传递 -O 选项。如果该对象是存储空间，那么 ON-Bar 无法确定是否
可以从 sysutils 数据库的剩余数据中恢复该空间。如果该对象是逻辑日志，那么 ON-Bar 无法确定任何后续恢复尝试是否都将失败
。

如果该对象可以在 Storage Manager 中重新创建，并且您认为可能需要使用 ON-Bar 恢复该对象，那么请遵循在 Storage Manager 中
重新创建对象的过程。然后联系 IBM 技术支持以获取帮助。



-43307	到期的 <object-name>（副本标识为 <id-2> <id-3>）已在 <timestamp> 时备份
。

命名的对象已根据请求设为到期。



-43306	从 <timestamp> 开始的整体系统备份未到期，即使它符合到期策略
。

从所描述时间开始的整体系统备份符合命令行上规定的到期策略。但无法删除该备份，因为需要该备份来恢复与到期策略不符的其他整体系统备份
。

此消息是参考消息。



-43305	<object-name>（副本标识为 <id-1> <id-2>）未到期，即使它符合到期策略
。

指定的对象符合命令行上规定的带 -g、-i 或 -t 选项的到期策略。但无法删除该对象，因为需要该对象来恢复与到期策略不符的其他对象
。

此消息是参考消息。



-43303	创建备份和恢复过滤器进程 <filter program> 失败，错误代码为 <error number>
。

ON-Bar 尝试创建过滤器进程来运行已配置的过滤器程序。过滤器程序执行进程的创建失败，并返回给定错误代码。操作：请检查 BACKUP_FILTER 和 
RESTORE_FILTER 配置参数是否在 onconfig 文件中正确配置。如果错误原因仍不清楚，请联系过滤器技术支持
。



-43302	正在使用过滤器 <command-line-to-filter>。

这是 ON-Bar 状态消息。ON-Bar 正在使用此过滤器程序进行备份或恢复
。

操作：无



-43301	过滤器已终止。

这是 ON-Bar 状态消息。由 ON-Bar 创建的备份和恢复过滤器进程已终止
。

操作：无



-43300	警告：BAR_TIMEOUT：备份和恢复过滤器程序的进度可能已停滞
。

当前命令已超出 BAR_TIMEOUT 配置参数指定的时间量。这可能表明过滤器程序运行速度慢，传输的数据集大，或者可能意味着 Storage Manager 应
引起注意。操作：请确保 Storage Manager 仍在运行，并且数据仍在传入传出 Storage Manager。请查看 Storage Manager 
消息日志或过滤器的日志文件。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的是 GBase  Storage 
Manager，请联系 IBM 技术支持。



-43299	在 XBSA 共享库或 sm_versions 文件中识别 Storage Manager 时出错
。

在 XBSA 共享库或 sm_versions 文件中无法识别出 Storage Manager。

操作：请查看 $GBASEDBTDIR/etc 或 %GBASEDBTDIR%\etc 中 sm_versions 文件的内容。请确保数据与 Storage 
Manager 的版本匹配，并确认该版本 Storage Manager 是否已使用该版本 ON-Bar 进行认证
。



-43298	警告：XBSA 版本为 <xbsa-library-verssion>。此版本与 <sm_versions> 中指定的版本不匹配
。

在 sm_versions 文件中无法识别出 XBSA 共享库的版本。

操作：请查看 $GBASEDBTDIR/etc 或 %GBASEDBTDIR%\etc 中 sm_versions 文件的内容。请确保数据与 Storage 
Manager 的版本匹配，并确认该版本 Storage Manager 是否已使用该版本 ON-Bar 进行认证
。



-43297	ONCONFIG 中的 BAR_BSALIB_PATH 不是绝对路径名。

没有为 ONCONFIG 文件中的 BAR_BSALIB_PATH 参数指定 XBSA 库的绝对路径
。

请修改 ONCONFIG 文件中的 BAR_BSALIB_PATH 参数以指定 XBSA 库的绝对路径
。



-43296	警告：BAR_TIMEOUT Storage Manager 进度可能已停滞。

当前命令已超出 BAR_TIMEOUT 值。这可能表明正常传输的数据集大，或可能意味着 Storage Manager 应引起注意
。

请检查以确保 Storage Manager 仍在运行，并且数据仍在传入/传出 Storage Manager。请参阅 Storage Manager 消息日志
（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的是 GBase  Storage 
Manager，请联系 IBM 技术支持。



-43295	警告：BAR_TIMEOUT 无法初始化与 Storage Manager 的连接。

Storage Manager 可能未在运行，或者可能存在 Storage Manager 配置问题
。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43294	ON-Bar 无法从 Storage Manager 中获得逻辑日志 <unique ID> 的备份记录
。

Storage Manager 在查找逻辑日志的备份记录时发出错误。

有关更多信息，请联系 Storage Manager 供应商或 IBM 技术支持。



-43293	XBSA 错误：(<error-number>) 查询或对象检索尝试获取比现有数据更多的数据
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43292	XBSA 错误 (<value-1>)：发生未指定的 XBSA 错误：<value-2>。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43291	XBSA 错误：(<error-number>) 无法删除拥有对象的用户名。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43290	XBSA 错误：(<error-number>) 环境关键字中缺少引号。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43289	XBSA 错误：(<error-number>) 事务异常终止。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43288	XBSA 错误：(<error-number>) 安全性令牌已到期。请创建新令牌
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43287	XBSA 错误：(<error-number>) 需要旧安全性令牌的值。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43286	XBSA 错误：(<error-number>) 没有授权 <user-id> 执行操作。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43285	XBSA 错误：(<error-number>) 对象名超出最大允许大小 <size-value>
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43284	XBSA 错误：(<error-number>) 对象信息数据超出最大允许大小 <size-value>
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43283	XBSA 错误：(<error-number>) 此对象尚未备份。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43282	XBSA 错误：(<error-number>) 对象不为空。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43281	XBSA 错误：(<error-number>) 需要规则标识。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43280	XBSA 错误：(<error-number>) 无法访问空指针。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43279	XBSA 错误：(<error-number>) 需要对象名。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43278	XBSA 错误：(<error-number>) 需要 DataBlock 指针。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43277	XBSA 错误：(<error-number>) 超出可用资源。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43276	XBSA 错误：(<error-number>) Storage Manager 中不存在备份对象
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43275	XBSA 错误：(<error-number>) 必须创建新的安全性令牌。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43274	XBSA 错误：(<error-number>) 该对象已经存在。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43273	XBSA 错误：(<error-number>) 环境关键字无效。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43272	XBSA 错误：(<error-number>) 表决值无效：必须为 BSAVoteCOMMIT 或 BSAVote_ABORT
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43271	XBSA 错误：(<error-number>) 新安全性令牌名称无效。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43270	XBSA 错误：(<error-number>) 数据库服务器名称超出最大允许大小 <size-value>
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43269	XBSA 错误：(<error-number>) 对象描述超出最大允许大小 <maximum-value>
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43268	XBSA 错误：(<error-number>) XBSA 缓冲区对于对象来说太小
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43267	XBSA 错误：(<error-number>) XBSA 会话句柄 <handle-id> 无效。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43266	XBSA 错误：(<error-number>) XBSA 函数调用序列无效。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43265	XBSA 错误：(<error-number>) 尝试对 <user-id> 授权失败。

请验证用户名是 gbasedbt 或 root 用户，还是 bargroup 组的成员
。



-43264	XBSA 错误：(<error-number>) 发生系统错误。正在异常终止 XBSA 会话
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43263	XBSA 错误：(<error-number>) 活动对象不存在。尝试取消激活活动对象失败
。

Storage Manager 应用程序中发生错误。

请参阅 Storage Manager 消息日志（或等同日志）以获取更多信息。如果错误原因仍不清楚，请联系 Storage Manager 技术支持。如果使用的
是 GBase  Storage Manager，请联系 IBM 技术支持。



-43262	从 Storage Manager 中返回了错误版本的 <object-name>。

Storage Manager 为恢复返回的存储空间或日志文件不是 ON-Bar 请求的对象
。

请查询 Storage Manager 以查明是否存在此存储空间或日志文件的正确备份以及是否可恢复
。



-43261	BAR_BSALIB_PATH 未定义；正在尝试缺省路径。

ONCONFIG 文件中有一行包含不带值的 BAR_BSALIB_PATH，或者读取 ONCONFIG 文件时发生问题
。

请验证 ONCONFIG 文件的格式是否正确。另请确保已为 BAR_BSALIB_PATH 指定正确的值，或者不在该文件中为 BAR_BSALIB_PATH 指
定值。



-43260	ON-Bar 无法从 Storage Manager 中获取 <space-name> 的备份记录
。

Storage Manager 没有数据库空间或 BLOB 空间的备份记录。

有关更多信息，请联系 Storage Manager 供应商或 IBM 技术支持。



-43259	无法打开 XBSA 库 <library-name>，所以正在尝试缺省路径
。

共享库不存在，该库格式错误或您没有读取该库的许可权。

请确保 Storage Manager 的共享库已正确安装，并且 ONCONFIG 文件的 BAR_BSALIB_PATH 值正确
。



-43258	ON-Bar 无法从 Storage Manager 中获取逻辑日志 <unique ID>。

缺少此逻辑日志文件的备份。

请查询 Storage Manager 以查明此日志文件的备份是否存在以及是否可恢复
。



-43257	无法打开 XBSA 库 <library-name>。

共享库不存在，该库格式错误或您没有读取该库的许可权。

请确保 Storage Manager 的共享库已正确安装，并且 ONCONFIG 文件的 BAR_BSALIB_PATH 值正确
。



-43256	版本 <version-1> 的 XBSA 共享库与版本 <version-2> 的 On-Bar 不兼容
。

Storage Manager 供应商所提供的 XBSA 共享库未经过 IBM 认证，或者在安装 ON-Bar 或 Storage Manager 应用程序期间
发生错误。

请查看 $GBASEDBTDIR/etc 或 %GBASEDBTDIR%\etc 中 sm_versions 文件的内容。请确保数据与 Storage 
Manager 的版本匹配，并确认该版本 Storage Manager 是否已使用该版本 ON-Bar 进行认证。请查阅 Storage Manager 文档
以获取正确的 Storage Manager 版本并将其输入 sysutils 数据库的 sm_versions 表中
。



-43255	已成功连接到 Storage Manager。

这是 ON-Bar 进度消息。



-43250	备份和恢复过滤器的子进程正在终止，退出码为 <exit-code-number>
。

这是 ON-Bar 状态消息。备份和恢复过滤器操作期间使用的子进程正在退出
。

操作：无



-43247	<process ID> 已完成，正在返回 <status-value> (0x<hex value>)。

ON-Bar 进程已完成处理，正在退出。

如果进程返回 0，那么无需进一步的操作。如果进程返回非零值，请检查活动日志以了解错误，然后对这些错误执行相应操作
。



-43246	ON-Bar 进程 <process ID> 因发生问题而退出（退出码为 <value> (0x<hex value>)，信号为 <signal number>
）。

ON-Bar 子进程执行备份或恢复时遇到错误。该子进程向其父级返回错误（退出码）。如果退出码具有值 141 (0x8d)，那么说明子进程是因为收到此消息所报告的
操作系统信号而退出。

如果消息中报告的退出码为非零值，请查看文档中 ON-Bar 退出码列表或 ON-Bar 活动日志，以找出问题的原因。如果信号编号为非零值，请查看操作系统的文档，
以了解可能导致此问题的原因。



-43245	ON-Bar 无法启动另一子进程。

ON-Bar 启动另一进程来并行备份或恢复数据时遇到错误。内存不足或用户同时运行的进程过多通常会导致这种情况
。

增加实内存量或交换空间量，结束所有不必要的进程，或者降低 ONCONFIG 文件中的 BAR_MAX_BACKUP 值
。



-43244	所有参与备份/恢复会话的 onbar 进程均被暂挂。

数据库管理员、计算机操作员或存储管理员向此备份或恢复会话中涉及的所有进程发送了 SIGSTOP 或 SIGTSTP，通常为 CTRL-Z 或 CTRL-Y。可能
在解决问题期间暂时挂起此操作的处理。

使用 ps 系统命令查找所有 ON-Bar 进程的列表。向每个进程发送 SIGCONT (kill -CONT <process ID>) 以允许每个进程完成其
备份或恢复，发送 SIGTERM 以停止特定进程，或向某个进程发送 SIGQUIT 以结束整体备份或恢复会话
。



-43243	进程 <process ID> 正在参与备份/恢复会话，但是被暂挂
。

数据库管理员、计算机操作员或存储管理员向此进程发送了 SIGSTOP 或 SIGTSTP，通常为 CTRL-Z 或 CTRL-Y。可能在解决问题期间暂时挂起此操
作的处理。

向该进程发送 SIGCONT (kill -CONT <process ID>) 以允许该进程完成其备份或恢复，发送 SIGTERM 以停止该特定进程，或发送 
SIGQUIT 以结束整体备份或恢复会话。



-43242	ON-Bar 进程 <process ID> 已退出，没有返回退出码。

ON-Bar 子进程已启动并退出，但父进程找不到其退出码。如果同时退出的子进程过多，会发生这种情况
。

ON-Bar 会认为此子进程已成功并对其活动进行了正确编目而继续。请检查活动日志以获取表明此进程遇到错误的证据。请确保 sysutils 数据库中的 
bar_action 和 bar_object 表正确反映出此进程的成败。



-43241	进程 <process-id> 已完成。

这是 ON-Bar 进度消息。



-43240	进程 <process-id> 已成功派生。

这是 ON-Bar 进度消息。



-43234	识别出新的 BAR_DEBUG 级别：旧值为 <value>，新值为 <value>
。

ONCONFIG 文件中的 BAR_DEBUG 参数的值已更改，或者在命令行中指定了调试级别。新的调试级别值将用于进一步跟踪
。



-43233	已链接列表操作失败：<operation>。

已链接列表操作失败。

这是内部错误。请重试操作，如果仍然失败，请联系 IBM 技术支持
。



-43232	刚才遇到的错误可能是暂时的。ON-Bar 正在重试上一语句
。

ON-Bar 刚才报告了警告或错误。但此问题可能由另一进程引起，在该进程继续执行后问题可能会被清除。ON-Bar 将自动重试失败的语句
。

监视是否存在更多错误。如果自动重试失败，请重试备份或恢复命令
。



-43231	发生意外错误：<value-1> <value-2>。

对于该错误存在多种原因，包括操作系统故障、版本不兼容和软件错误
。

请验证数据库服务器、ON-Bar 和 Storage Manager 的版本是否兼容。有关兼容版本的列表，请参阅 GBase  Backup and
Restore Guide、发行说明、机器说明或 Storage Manager 文档。

如果版本兼容，请尝试停止一个或多个备份和恢复进程，然后重新启动它们
。

如果错误持续存在，请记下所有情况，保存 ON-Bar 和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-43230	刚才报告的问题不是致命问题；处理将继续。

ON-Bar 刚才在活动日志中报告了警告或错误。但是，此问题不是致命问题。ON-Bar 将继续处理，重试或使用其他算法来完成任务。稍后可能会发生其他不可恢复的错
误。

监视是否有更多错误。请注意，进一步处理花费的时间可能比预期长
。



-43219	重命名块恢复失败。服务器不处于脱机方式。

服务器脱机时，通过块重命名进行恢复只能作为冷恢复来执行
。

要执行通过块重命名进行恢复，请将服务器转为脱机并执行冷恢复
。



-43218	ON-Bar 进程无法接收 XCC 消息 (<value-1> : value-2)。

coserver 间的通信发生错误。

如果此消息出现一次，请再次尝试启动冷恢复。如果此消息重复出现，请联系 IBM 技术支持并提供错误消息中的状态信息和 ONCONFIG 文件中的内容
。



-43217	ON-Bar 进程无法发送 XCC 消息 (<value-1> : value-2)。

coserver 间的通信发生错误。

如果此消息出现一次，请再次尝试启动冷恢复。如果此消息重复出现，请联系 IBM 技术支持并提供错误消息中的状态信息和 ONCONFIG 文件中的内容
。



-43216	ON-Bar 进程从 XCC 收到轮询错误 (<value-1> : value-2)。

coserver 间的通信发生错误。

如果此消息出现一次，请再次尝试启动冷恢复。如果此消息重复出现，请联系 IBM 技术支持并提供错误消息中的状态信息和 ONCONFIG 文件中的内容
。



-43215	节点 <node-name> 上的 onbar_m 进程发送了异常消息 (<message-1>)，而不是 <message-2>
。

此消息表明 ON-Bar 软件中出错或 onbar_m 进程未正确启动。

请联系 IBM 技术支持。



-43214	在节点 <node-name> 上启动的 onbar_m 进程失败，状态为 <status-id>：<status-information>
。

某个 onbar_m 进程无法连接到 ON-Bar。

如果此消息出现一次，请尝试以用户 gbasedbt 在命名节点上手动启动 onbar_m 进程。如果此消息重复出现，请联系 IBM 技术支持并提供错误消息中的状
态信息和 ONCONFIG 文件中的内容。



-43213	所有 onbar_m 进程均已连接。

这是 ON-Bar 进度消息。



-43212	正在等待 onbar_m 进程连接...

多个 onbar_m 进程刚才已启动，ON-Bar 正在等待所有进程出现。



-43211	onbar 进程正在等待在 <address-name> 上连接 onbar_m 进程。

在具有“高级决策支持”和“扩展并行”选项的 GBase  Extended Parallel Server 或 GBase  
Database Server 上进行冷恢复时，用户启动的 ON-Bar 进程会在 MPP 的各个节点上启动 onbar_m 进程以收集执行冷恢复所需的数据。每个
onbar_m 进程需要使用 ON-Bar 进程设计的通信地址来连接到 ON-Bar 进程。此消息指明地址的名称
。

如果要手动启动 onbar_m，请在 onbar_m 命令行上输入消息命名的地址
。



-43210	ON-Bar 无法初始化 XCC 通信机制 (<mechanism-id>)。

尝试初始化 coserver 之间的通信时发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43208	初始化 ASF 时发生致命错误；asfcode 为 <asfcode_value>

初始化 ASF 层期间发生错误。

要确定错误原因，请参阅 ASF 错误代码，然后重新运行备份或恢复命令
。



-43207	无法打开与数据库服务器 <server-name> 的连接。

数据库服务器处于不正确的操作方式。

将数据库服务器转为正确方式。要进行备份，数据库服务器应处于联机或静默方式。要进行热恢复，数据库服务器应处于联机、静默、备份或恢复方式。要进行冷恢复，对于 IBM
GBase  Database Server 9.2x 或更高版本，数据库服务器应处于脱机方式，对于 GBase  Extended 
Parallel Server，应处于微内核方式。要更改数据库服务器方式，请使用 onmode 或 oninit 命令
。



-43206	尝试更改数据库服务器操作方式失败：<server-name>。

尝试更改数据库服务器操作方式期间发生错误。

请检查数据库服务器消息日志中以了解错误。



-43205	无法连接到 sysmaster 或 sysutils 数据库。等待创建这些数据库，然后重试
。

sysmaster 或 sysutils 数据库尚未创建。

监视数据库服务器消息日志，直到以下消息出现：

"“sysmaster”数据库已成功构建" "“sysutils”数据库已成功构建"

然后重试命令。

如果上述一条或两条消息都未能出现，请联系 IBM 技术支持
。



-43204	ON-Bar 正在等待数据库服务器退出快速恢复方式。

完成冷恢复的逻辑恢复阶段后，数据库服务器会进入快速恢复方式。ON-Bar 会等待快速恢复完成后，再对冷恢复的活动进行编目
。



-43203	并非所有 coserver 均处于兼容方式。

并非所有 coserver 均处于同一方式。每个 coserver 必须处于与所有其他 coserver 兼容的方式。例如，所有 coserver 必须处于微内
核方式才能执行冷恢复。联机和静默方式兼容，因此只要所有 coserver 处于这两种方式中的一种，就可以执行备份或热恢复
。

将所有 coserver 更改为同一方式或兼容方式。



-43202	无法确定所有 coserver 的方式。

无法确定每个 coserver 所处的方式（联机、静默、脱机或微内核）
。

请验证是否所有 coserver 都在运行，并且这些 coserver 彼此之间的通信是否正常
。



-43201	数据库服务器已崩溃或被关闭。正在退出...

在一个或多个 ON-Bar 工作程序进程仍在运行时，数据库服务器失败或被关闭。ON-Bar 工作程序进程将自动关闭
。



-43200	共享内存未初始化。

数据库服务器未在运行。

启动数据库服务器。有关相关指示信息，请参阅 Administrator's Guide
。



-43197	对于指定的日志点恢复，找到了重复的日志唯一标识 <log-uniq-id>。Onbar 正恢复到最新的日志唯一标识 <log-uniq-id>
。

Onbar 找到了多个指定日志点日志唯一标识。由于存在多条时间线，因此会发生这种情况。Onbar 将恢复到最新的时间线
。

操作：Onbar 将恢复到最新的时间线。请使用时间点恢复来恢复到其他时间线
。



-43196	错误：逻辑日志无法恢复，因为 LTAPEDEV 值为 <null-device>。在不恢复逻辑日志的情况下，恢复正常备份（通过 onbar -b 产生）是不可能
的。在没有逻辑日志的情况下，只能通过对整个系统进行仅物理恢复（使用 onbar -r -w -p）来恢复整个系统备份（通过 onbar -b -w 产生）。然后
使用 onmode 命令（选项 -s 或 -m）在没有恢复逻辑日志的情况下启动服务器
。

如果 ONCONFIG 文件中的 LTAPEDEV 参数值为 /dev/null (UNIX)、NUL (NT) 或为空白，那么无法执行逻辑日志恢复。这些是用户
设置的特殊值，用于告知服务器和 ON-Bar 不需要日志备份和恢复。逻辑日志中的数据无法恢复
。

操作：如果需要逻辑日志备份和恢复，请将 LTAPEDEV 参数值设置为除 /dev/null (UNIX)、NUL (NT) 或空白之外的值。在没有逻辑日志的情
况下，只能通过对整个系统进行仅物理恢复（使用 onbar -r -w -p）来恢复整个系统备份（通过 onbar -b -w 产生）
。



-43195	错误：将不备份/抢救逻辑日志，因为 LTAPEDEV 值为 <null-device>。在没有备份逻辑日志的情况下，正常备份 (onbar -b) 无法进行，因
为这种备份的恢复要求进行逻辑日志恢复。

如果 ONCONFIG 文件中的 LTAPEDEV 参数值为 /dev/null (UNIX)、NUL (NT) 或为空白，那么不会执行逻辑日志备份。这些是用户
设置的特殊值，用于告知服务器和 ON-Bar 不需要日志备份。逻辑日志中的数据无法恢复。在不恢复逻辑日志的情况下，无法恢复正常备份（正常备份不是整个系统备份）。
因此，没有备份逻辑日志的情况下不可能进行此类备份。

操作：如果需要逻辑日志备份，请将 LTAPEDEV 参数值设置为除 /dev/null (UNIX)、NUL (NT) 或空白之外的值。或者，使用整个系统备份 
(onbar -b -w) 和整个系统仅物理恢复 (onbar -r -w -p)，这可以在没有备份/恢复逻辑日志的情况下执行
。



-43194	警告：XBSA 与 Storage Manager 连接失败。正在继续外部恢复
。

Storage Manager 未在运行，或者尚未安装和配置。

对于纯外部仅物理恢复，无需 Storage Manager。因此，此时外部恢复会继续。但如果逻辑日志需要从备份介质恢复，那么稍后会需要 Storage 
Manager。



-43190	警告：从下一发行版开始，将不支持带有路径的存储空间名称。请在 <filename> 中更正此问题
。

只应为文件或命令行中的 ON-Bar 指定空间（数据库空间、BLOB 空间等等）名称。ON-Bar 将备份属于这些空间的所有块
。

更正文件以指定不带路径前缀的存储空间名称。



-43189	逻辑日志无法恢复，因为 LTAPEDEV 值为 <null-device>。

如果 ONCONFIG 文件中的 LTAPEDEV 参数值为 /dev/null (UNIX)、NUL (NT) 或为空白，那么无法执行逻辑日志恢复。这些是您设
置的特殊值，用于告知服务器和 ON-Bar 不需要日志备份。逻辑日志中的数据无法恢复
。

如果需要逻辑日志恢复，请将 LTAPEDEV 参数值设置为除 /dev/null (UNIX)、NUL (NT) 或空白之外的值。如果不需要逻辑日志恢复，请将
-w 和 -p 选项用于 ON-Bar 命令以执行整个系统的仅物理恢复。



-43187	ON-Bar 收到错误/信号。On-Bar 会话将在清除后异常终止
。

如果任一 ON-Bar 进程遇到非致命错误，并且如果 BAR_RETRY 设置为 ABORT(0)，那么父进程将不会创建任何新的子进程。如果父进程收到信号，那么
该进程会忽略 BAR_RETRY 值，然后异常终止。在这两种情况下，正在运行的 ON-Bar 子进程都会继续完成
。

请重新运行备份或恢复命令。



-43186	一个或多个 coserver 上的逻辑日志已满。ON-Bar 尝试备份这些日志失败。需要进行逻辑日志备份
。

一个或多个 coserver 上的逻辑日志已满。在备份这些逻辑日志之前，将阻塞处理
。

请执行逻辑日志备份。此备份完成后，将继续进行处理。



-43185	物理配置发生了更改。正在执行 <space_name> 的 0 级备份
。

数据库服务器的物理配置已更改。例如，已添加或删除存储空间、块或逻辑日志文件，或者已除去物理日志。为了保证成功恢复，现在正在执行受影响空间和根数据库空间的 0 级
备份。

无需任何操作。



-43184	自备份之后，传输缓冲区大小已更改。正将用于恢复的缓冲区大小更改为 <value>
。

空间或逻辑日志必须使用与该空间或日志备份时所使用的相同传输缓冲区大小进行恢复。ON-Bar 会自动检测缓冲区大小是否已更改，并使用备份的缓冲区大小
。



-43183	将不备份/抢救逻辑日志，因为 LTAPEDEV 值为 <value>。

如果 ONCONFIG 文件中的 LTAPEDEV 值为 /dev/null（在 UNIX 上）或 NUL（在 Windows 上），那么不会执行逻辑日志备份。
设置这些特殊值可告知数据库服务器和 ON-Bar 不要执行任何逻辑日志备份。逻辑日志中的数据无法恢复
。

如果要执行逻辑日志备份，请将 LTAPEDEV 值设置为除 /dev/null（在 UNIX 上）、NUL（在 Windows 上）或空白之外的值。如果不想执行
任何逻辑日志备份，可以执行以下命令，只从整个系统备份中进行恢复
：

onbar -b -w

另外，还必须使用以下命令进行恢复：

onbar -r -w -p



-43182	已完成整个系统恢复。

此消息是 ON-Bar 进度消息。

无需任何操作。



-43181	已完成逻辑恢复。

此消息是 ON-Bar 进度消息。

无需任何操作。



-43180	在 coserver <coserver-id> 上外部恢复的某个空间在 <time-stamp> 后进行了备份
。

ON-Bar 已确定所有 coserver 可以恢复到的最近时间，并在错误消息中报告了内部全局时间戳记。在命名 coserver 上外部恢复的某个存储空间已在该
时间后备份。因此，逻辑恢复无法将所有存储空间恢复到一致状态
。

使用 ctime() 函数将全局时间戳记转换为时间。然后检查在命名 coserver 上外部恢复的数据中使用的所有外部备份是否均在该时间之前执行。从时间太近的备
份恢复的任何空间都需要从较早备份重新进行恢复。然后重试 ON-Bar 外部恢复命令
。



-43179	连续的逻辑日志备份会话无法销毁。请使用 onbar off "Log backup 
<coserver-id>"。

尝试销毁连续的日志备份会话 (Log backup <coserver id>)。此操作是不允许的
。

如果出于某些原因需要停止逻辑日志备份会话，请使用“onbar off "Log backup <coserver-id>"”暂时暂挂会话，其中 
<coserver-id> 是 coserver 的编号（1、2、3 等）。问题解决后，可以使用“onbar on "Log backup 
<coserver-id>"”来恢复会话。请勿使用“onbar -d "Log backup <coserver-id>"”来销毁会话
。



-43178	从 Storage Manager 中返回的用于恢复的数据不完整。

Storage Manager 返回用于恢复的缓冲区中的数据量不是数据库服务器页面大小的倍数（2 千字节、4 千字节、或 8 千字节，具体取决于系统和配置）。恢
复需要完整页面的数据。

请检查 Storage Manager 以了解可能的错误。请验证是否所有存储介质都完整并可使用，并且所有存储设备都在正常运行并联机
。



-43177	物理恢复完成。需要先进行逻辑恢复，然后才能继续工作。请使用“onbar -r -l”执行逻辑恢复
。

此恢复是仅物理恢复，或者逻辑恢复失败。

请执行逻辑恢复。



-43176	<value-2> 的 <buffer-quantity> 个缓冲区已恢复。

这是 ON-Bar 进度消息，用于报告恢复的缓冲区数。



-43175	<percent-number>% 的 <dbspace-name> 已恢复。

此消息以数据库空间大小百分比的形式提供恢复的进度反馈
。



-43174	<percent-number>% 的 <dbspace-name> 已备份。

此消息以数据库空间大小百分比的形式提供备份的进度反馈
。



-43173	外部恢复失败。

数据库服务器中发生错误。

请参阅 ON-Bar 活动日志或数据库服务器消息日志以了解更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43172	已完成外部恢复。

此消息是 ON-Bar 进度消息。



-43171	无法重新启动热逻辑恢复。

ON-Bar 无法对处于联机或静默方式的数据库服务器重新启动逻辑恢复
。

停止数据库服务器并重新启动恢复。



-43170	ON-Bar 找不到用以开始逻辑恢复的正确日志。

无需逻辑日志恢复，或逻辑日志备份不可恢复。

如果数据库服务器不处于静默或联机方式，请联系 IBM 技术支持
。



-43169	必须恢复冷恢复的所有关键存储空间。

尝试进行的冷恢复未包含关键存储空间。

请重试恢复，但应包含根数据库空间和所有其他关键数据库空间（如果有）
。



-43168	ON-Bar 已暂挂日志 <value-1> 上的逻辑恢复（应恢复到 <value-2>）
。

ON-Bar 能一直恢复到逻辑文件 x。

但要恢复所有数据，还需要恢复日志文件 x + 1 到 y。 请查询 Storage Manager 以查明这些日志文件的备份是否存在以及是否可恢复。如果日志文件
不可恢复，或者不想恢复它们，请发出以下命令来强制结束逻辑恢复
：

onmode -k; oninit 

否则，发出 onbar -r -l 继续逻辑恢复。



-43167	已完成恢复逻辑日志 <unique ID>。

这是 ON-Bar 进度消息。



-43166	开始恢复逻辑日志 <unique ID>（Storage Manager 副本标识：<value-2> <value-3>）
。

这是 ON-Bar 进度消息。



-43165	已完成备份逻辑日志 <unique ID>（Storage Manager 副本标识：<value-2> <value-3>）
。

这是 ON-Bar 进度消息。



-43164	开始备份逻辑日志 <unique ID>。

这是 ON-Bar 进度消息。



-43163	已完成 <level-number> 级热恢复 <value-2>。

这是 ON-Bar 进度消息。



-43162	开始 <level-number> 级热恢复 <value-2>（Storage Manager 副本标识：<value-3> <value-4>）
。

这是 ON-Bar 进度消息。



-43161	在抢救逻辑日志时，找到 <Number-of-spaces> 个脱机 BLOB 空间 (<space-ids>)
。

对 BLOB 空间所做更改的逻辑日志备份需要 BLOB 空间联机。在逻辑日志抢救期间脱机的所有 BLOB 空间（这意味着 BLOB 空间在数据库服务器失败前脱机
）都无法再使用 ON-Bar 进行恢复。

如 Administrator's Guide 中所建议，重新创建 BLOB 空间并将其重新装入
。



-43160	已完成逻辑日志 <unique ID>（Storage Manager 副本标识：<value-2> <value-3>）的抢救
。

这是 ON-Bar 进度消息。



-43159	开始抢救日志 <unique ID>。

这是 ON-Bar 进度消息。



-43158	已完成 <level-number> 级备份 <value-2>（Storage Manager 副本标识：<value-3> <value-4>）
。

这是 ON-Bar 进度消息。



-43157	开始 <level-number> 级备份 <value-2>。

这是 ON-Bar 进度消息。



-43156	伪备份失败。<error-number>

请联系 IBM 技术支持。



-43155	已完成伪备份。

这是 ON-Bar 进度消息。



-43154	开始伪备份。

这是 ON-Bar 进度消息。



-43153	已完成 <level-number> 级冷恢复 <value-2>。

这是 ON-Bar 进度消息。



-43152	开始 <level-number> 级冷恢复 <value-2>（Storage Manager 副本标识：<value-3> <value-4>）
。

这是 ON-Bar 进度消息。



-43151	无法热恢复关键介质：<space-id>。已跳过对该空间的恢复操作
。

如果数据库服务器联机，将无法恢复关键介质（根数据库空间或任何包含逻辑或物理日志的数据库空间）。此空间将被跳过
。



-43150	必须从 <timestamp> 或更晚时间点恢复逻辑日志。

用户要停止恢复时间太早的逻辑日志。在用户指定的日志后，发生了存储空间备份
。

重试一直恢复到指定逻辑日志或更晚时间点的逻辑日志。



-43141	当前运行的 GBase  Database Server 的修订版将并行备份或恢复进程数限制为 <value>。正在将 BAR_MAX_BACKUP 复位为 
<MAX VALUE>。

某些修订版 GBase  Database Server 限制并行备份或恢复进程数，现已超过了此限制
。

操作：BAR_MAX_BACKUP 配置参数已动态复位为此修订版允许的最大进程数
。



-43140	由于先前的错误，将不尝试进行逻辑恢复。

物理恢复中发生错误。ON-Bar 未尝试逻辑恢复，以给予用户机会纠正该问题。如果物理恢复为冷恢复，那么数据库服务器将保持快速恢复方式
。

您有以下两个选择：

1) 修复该问题，并使用 onbar -r 或 onbar -r <failed_space> 完成恢复。ON-Bar 将重新尝试恢复失败的存储空间
。

2) 使用 onbar -r -l 完成恢复。ON-Bar 将执行逻辑恢复，但会使尚未进行物理恢复的任何存储空间保持脱机
。



-43139	无法释放传输缓冲区：<buffer-name>。

当数据库服务器尝试释放传输缓冲区时发生错误。如果数据库服务器停止，那么 onbar 工作程序中可能发生该错误
。

对于所有其他情形，请记下情况，保存 ON-Bar 活动日志和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-43138	无法分配传输缓冲区：<text>。

当数据库服务器尝试分配传输缓冲区时发生错误。

请记下所有情况，保存 ON-Bar 活动日志和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-43137	日志备份可能已使至少一个 Blob 空间不可恢复。

BLOB 空间关闭时已备份日志。日志中的事务（包含 TEXT 或 BYTE 数据的事务）可能不可恢复
。

恢复完成后，可能必须重新创建 TEXT 或 BYTE 数据。



-43136	恢复会话 <session-id> 时出错：<error-number>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43135	暂挂会话 <session-id> 时出错：<error-number>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43134	无法关闭逻辑日志放置：<log-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43133	无法打开逻辑日志放置：<log-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43132	无法落实逻辑日志抢救：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43131	无法从磁盘获取逻辑日志抢救数据：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43130	无法启动逻辑日志抢救：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43129	无法创建抢救日志会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43128	无法落实逻辑日志恢复：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43127	无法关闭逻辑日志恢复：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43126	无法将逻辑日志恢复数据写入数据库服务器：<server-name>
。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43125	无法启动逻辑日志恢复：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43124	无法创建逻辑日志恢复会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43123	无法落实存储空间恢复：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43122	无法关闭存储空间恢复：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43121	无法将存储空间恢复数据写入数据库服务器：<server-name>
。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43120	无法启动存储空间恢复：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43119	无法创建存储空间恢复会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43118	无法落实存储空间备份：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43117	无法关闭存储空间备份：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43116	无法从数据库服务器 <server-name> 获取存储空间备份数据
。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43115	无法启动存储空间备份：<storage-space>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43114	无法创建存储空间备份会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43113	无法落实逻辑日志备份：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43112	无法关闭逻辑日志备份：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43111	无法从数据库服务器 <server-name> 获取逻辑日志备份数据
。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43110	无法启动逻辑日志备份：<unique ID>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43109	无法创建 logstream 备份会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43108	从数据库服务器 <event-id> 收到无效事件。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43107	无法获取下一个事件：<event-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43106	无法注销新工作程序进程：<process-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43105	无法注册新工作程序进程：<process-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43104	会话 <session-id> 已完成，但返回错误 <error-number>。

指定的备份和恢复会话已完成，但返回错误。



-43103	会话 <session-id> 已完成。

指定的备份和恢复会话已完成。



-43102	无法销毁会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43101	无法创建会话：<session-id>。

数据库服务器中发生错误。

请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43100	在 $ONCONFIG 中没有定义 Storage Manager 实例。

ONCONFIG 文件中尚未定义可用 Storage Manager 实例列表。在定义 Storage Manager 之前，将对备份和恢复操作进行排队
。

在 ONCONFIG 文件中定义 Storage Manager 实例。



-43092	无法设置进程组标识。

如果要执行并行备份或恢复，ON-Bar 将尝试使用 setpgid() 将所有进程分组。如果 setpgid() 失败，会发生该错误
。

请重试备份或恢复。如果再次失败，请联系 IBM 软件支持。



-43091	无法连接到共享内存。

无法初始化与数据库服务器的共享内存连接。

数据库共享内存尚未初始化，或者正在使用系统的用户数已达到最大值
。



-43090	内存不足。

ON-Bar 无法分配更多内存。

减少与 ON-Bar 同时运行的进程数（如果可能），或者请求系统管理员增加交换空间或在您的系统中安装更多内存
。



-43084	将数据写入文件 <file name> 时出错：<OS errno>。

写入文件时发生错误。文件系统可能空间不足。

操作：请联系 IBM 软件支持。



-43083	系统对文件 <file name> 调用 stat() 或 fstat() 失败，错误号为 <OS errno>
。

操作系统错误阻止返回指定文件的信息。

操作：纠正该错误，然后重试命令。



-43082	写入备份和恢复过滤器失败，返回错误 <error number>。

将数据写入备份和恢复过滤器管道失败，并返回给定错误。

请检查过滤器程序的日志以了解可能的错误。如果错误原因仍不清楚，请联系过滤器技术支持或 IBM 技术支持
。



-43081	关闭管道未用端失败。

关闭备份和恢复过滤器管道未用端的系统调用失败。

这是内部错误。请重试操作，如果仍然失败，请联系 IBM 技术支持
。



-43080	进程 <process-id> 收到信号 <signal-number>。进程将在清除后退出
。

ON-Bar 进程收到信号。有人可能有意使用信号 2 (SIGINT)、3 (SIGQUIT)、9 (SIGKILL) 或 15 (SIGTERM) 终止了 
ON-Bar 进程。ON-Bar 正在尝试正常退出。

如果终止 ON-Bar 进程的信号不是上述列出的信号之一，请联系 IBM 技术支持
。



-43079	无法打开文件 <filename>。

文件或其目录许可权阻止创建或打开该文件。

请验证针对该文件及其目录的许可权。



-43078	对文件 <filename> 执行打开或关闭操作失败，错误号为 <error-number>
。

操作系统错误阻止创建或打开该文件。

纠正该错误，然后重试命令。



-43077	无法创建 <chunk-name>。可能是空间不足。

用于创建块的磁盘空间不足。

释放部分磁盘空间或为此块创建文件。



-43076	从文件 <filename> 读取数据时出错：<error-number>。

从文件读取数据时发生错误。该文件可能已损坏。



-43075	无法打开文件 <filename>。

文件或其目录许可权阻止创建或打开该文件。

请验证针对该文件及其目录的许可权。



-43065	如果正在执行导入恢复，并且如果当前数据库服务器的 ONCONFIG 文件中 SERVERNUM 参数的值与源数据库服务器的不同，那么在重新启动日志恢复之前，请尝
试将 IFX_SERVERNUM 环境变量设置为源 SERVERNUM 值。

当前数据库服务器的 ONCONFIG 文件中 SERVERNUM 参数的值与源数据库服务器的不同
。

操作：在重新启动日志恢复之前，请尝试将 IFX_SERVERNUM 环境变量设置为与源数据库服务器的 ONCONFIG 文件中 SERVERNUM 参数值相同的
值。



-43064	IFX_SERVERNUM 环境变量已设置为 <variable-value> 的无效值。使用 ONCONFIG 文件中 SERVERNUM 参数指定的值 
<variable-value> 可从 Storage Manager 获取逻辑日志以用于导入恢复
。

为导入恢复而设置的 IFX_SERVERNUM 环境变量无效。

操作：将 IFX_SERVERNUM 环境变量设置为有效值。



-43063	IFX_SERVERNUM 环境变量已设置为 <variable-value>。使用此值可从 Storage Manager 获取逻辑日志以用于导入恢复
。



-43062	无法从 $GBASEDBTDIR/etc/$ONCONFIG (UNIX) 或 %GBASEDBTDIR%\etc\%ONCONFIG% (Windows) 中
读取参数。

ONCONFIG 文件无法访问。可能缺少该文件或其许可权值不正确，或者文件内容可能已损坏
。

请验证 ONCONFIG 文件是否存在并且其许可权是否正确。有关详细信息，请参阅 Administrator's Guide
。



-43061	BAR_MAX_BACKUP 已减小为 <size-value>，以避免分配的量大于 SHMTOTAL KB
。

BAR_MAX_BACKUP 的值乘以 BAR_XFER_BUF_SIZE 和 BAR_NB_XPORT_COUNT 的值将超过 ONCONFIG 文件中 
SHMTOTAL 参数保留的共享内存量。此 ON-Bar 进程将使用较低的 BAR_MAX_BACKUP 值来避免超过此边界
。

增加允许数据库服务器使用的共享内存量，或减小 BAR_MAX_BACKUP、BAR_XFER_BUF_SIZE 或 BAR_NB_XPORT_COUNT 的值
。



-43060	缓冲区 <buffer-name> 超过最大允许限制。正将缓冲区大小更改为 <size-value>
。

传输缓冲区大小受到 X/Open Backup Services API 规范的限制。ON-Bar 正在将缓冲区大小更改为最大允许值
。



-43052	解析紧急引导文件 <filename> 时出错。

处于多种原因，ON-Bar 和 onsmsync 从紧急引导文件读取有关备份的信息。但该紧急引导文件可能已损坏
。

ON-Bar 和 onsmsync 将在解析紧急引导文件时忽略已损坏的备份条目。请联系 IBM 技术支持
。



-43051	旧紧急引导文件的副本制作失败。

在重新生成紧急引导文件之前，onsmsync 制作了先前版本的副本。如果此复制进程失败，那么将生成此消息。应该会在活动日志中写入操作系统错误
。

请尝试更改操作系统错误。ON-Bar 将继续重新生成新的紧急引导文件
。



-43050	旧紧急引导文件副本保存在 <filename> 中。

在重新生成紧急引导文件之前，onsmsync 制作了先前版本的副本。万一发生灾难性故障，此消息将告之您此副本的名称，以便在再次运行 onsmsync 或启动冷恢
复之前，可以先将其放回原处。

除非 onsmsync 失败，否则不能执行任何纠正操作。如果 onsmsync 无法完成写入新引导文件，请将命名的文件复制回其原始位置
。



-43049	写入 ON-Bar 紧急引导文件时出错。尝试恢复之前，将以下内容插入 <filename>：<text>
。

ON-Bar 尝试向 ON-Bar 紧急引导文件写入信息时发生错误。已成功备份该对象；但除非将指定信息添加到紧急引导文件，否则该对象不会包含在冷恢复中
。

要在冷恢复中包含该对象，请要求数据库服务器管理员将指定数据插入 ON-Bar 紧急引导文件或尝试运行 onsmsync -b。（对于 GBase  
Extended Parallel Server，紧急引导文件为 $GBASEDBTDIR/etc/
Bixbar_<hostname>.<dbservernum>，对于 UNIX 上的 GBase  Database Server 9.2 或更高版本
，该文件为 $GBASEDBTDIR/etc/ixbar.<dbservernum>，或者对于 Windows 上的 Database Server 9.2 或更
高版本，该文件为 %GBASEDBTDIR%\etc\ixbar.<dbservernum>。）



-43048	从节点 <node-id> 收到错误“<error-text>”。

On-Bar 尝试与 <node-id> 通信但失败。

请验证所有节点上的所有 coserver 是否在正常运行。请重试恢复。如果仍然失败，请联系 IBM 技术支持
。



-43047	发送引导文件...

这是 ON-Bar 进度消息。



-43046	boot_find_first_logs 失败 <value-1>。

ON-Bar 找不到正确的日志文件以在紧急引导文件中进行恢复。如果系统内存不足，或者如果缺少紧急引导文件或该文件已损坏，那么会发生这种情况
。

请验证系统中是否有足够内存来完成恢复。如果有，那么可能需要恢复紧急引导文件
。



-43045	在指定的时间点之前没有存储空间备份 - 无法恢复。

指定的时间点值早于紧急引导文件中最早的备份条目。

请验证命令行上输入的时间点值是否正确。如果正确，那么可能紧急引导文件已损坏或缺少该文件，需要进行恢复
。



-43044	找不到一致的全局时间戳记 - 无法恢复。

ON-Bar 找不到正确的日志以在紧急引导文件中进行恢复。

请验证是否所有日志文件都已备份或抢救，以及是否每个日志文件在紧急引导文件中都有一个条目。如果一切似乎都正确，请联系 IBM 技术支持
。



-43043	所有日志文件均已完成 - 时间戳记 0x<timestamp1> 正在前滚
。

这是 ON-Bar 进度消息。



-43042	所有日志文件均已完成 - 时间戳记为 0x<timestamp1>，准备时间为 0x<pittime2>
。

这是 ON-Bar 进度消息。



-43041	存在部分日志文件 - 时间戳记为 0x<timestamp1>，准备时间为 0x<pittime2>
。

这是 ON-Bar 进度消息。



-43040	所提供的时间点晚于最新的日志 - 正在使用最新的日志文件 <unique ID>
。

命令行上指定的时间点晚于最新的记录事务。将改为使用最新记录事务的时间
。



-43039	ON-Bar 日志文件必须为用户 gbasedbt 所有。

ON-Bar 正尝试打开的日志文件为除用户 gbasedbt 之外的其他用户所有
。

将日志文件的所有权更改为用户 gbasedbt，或者将 ONCONFIG 文件中的 BAR_ACT_LOG 和/或 BAR_DEBUG_LOG 值更改为指向其他
日志文件。



-43038	ON-Bar 日志文件不能是符号链接。

ON-Bar 正尝试打开的 ON-Bar 日志文件是符号链接。出于安全性原因，这是不允许的
。

除去符号链接或更改 onconfig 文件，使 ONCONFIG 文件中的 ON-Bar 参数 BAR_DEBUG_LOG 和/或 BAR_ACT_LOG 指向
非符号链接文件。



-43037	您必须是用户 gbasedbt 才能运行 ON-Bar。

只允许用户 gbasedbt 执行 ON-Bar。

尝试备份或恢复之前，以用户 gbasedbt 身份登录。



-43036	您必须是 gbasedbt-admin 组的成员才能运行 ON-Bar。

只允许 gbasedbt-admin 组中列出的用户执行 ON-Bar。

请要求数据库系统管理员将您的用户名添加到 gbasedbt-admin 组中
。



-43035	您必须是用户 root 或 gbasedbt 才能运行 ON-Bar。

只允许用户 root 和 gbasedbt 或 bargroup 组中的成员执行 ON-Bar。

尝试备份或恢复之前，以用户 root 或 gbasedbt 登录，或要求系统管理员将您的登录名添加到 bargroup 组中
。



-43028	新块路径 <chunk-path> 不存在。提示输入时，用户选择了继续执行重命名块操作，而未创建块路径
。



-43027	新块路径 <chunk-path> 不存在。提示输入时，用户选择了不继续执行重命名块操作
。



-43026	新块路径 <chunk-path> 不存在。提示输入以继续进一步操作时，用户交互失败
。



-43025	块重命名失败。

将旧块位置映射到新块位置时发生错误。

请参阅数据库服务器消息日志以获取更多信息。请检查命令行的重命名选项，然后重试命令。如果错误持续存在并且错误原因仍不清楚，请联系 IBM 技术支持
。



-43024	块重命名失败。

将旧块位置映射到新块位置时发生错误。

请检查命令行的重命名选项和映射，然后重试。如果错误持续存在，请参阅数据库服务器消息日志以获取更多信息。如果错误原因仍不清楚，请联系 IBM 技术支持
。



-43023	不当选项用法：-n 选项需要有日志号。

用户输入了 -n 选项，但未指定日志号。ON-Bar 不知道在此命令中要恢复到哪些日志，因此无法继续
。

在 -n 选项后指定日志号，然后重新运行命令。



-43022	无法使所有对象的所有版本到期。必须给予 -g 选项一个大于 0 的值
。

onsmsync 命令将不会除去所有备份对象，而这是 -g 0 的含义。

使用正整数自变量 -g 重试 onsmsync。



-43021	到期规范 <spec> 对于 <option-name> 选项无效。

给予命名的命令行选项的值不适用于该选项。格式不正确或缺少该选项
。

将该选项的值与用法语句进行比较，修改命令，然后重试。



-43020	对于伪备份、整体系统备份/恢复、日志恢复或日志抢救，忽略了存储空间名称
。

伪备份或整体系统恢复备份和恢复所有存储空间。存储空间未包含在日志恢复或日志抢救中
。



-43019	无效的序列号。请查阅您的安装指示信息。

安装 ON-Bar 期间发生错误。

请要求数据库服务器管理员重新安装 ON-Bar。



-43018	只有完整恢复期间允许进行时间点恢复。

除非恢复所有空间，否则不能执行时间点恢复。

请勿在命令行上指定任何空间。



-43017	只有完整恢复期间允许进行日志点恢复。

数据库服务器联机时，无法执行日志点恢复。

请执行冷恢复。



-43016	指定的时间点值 <value> 无效。

请联系 IBM 技术支持。



-43015	恢复无法重新启动。找不到任何未完成的可重新启动的恢复操作
。

恢复无法重新启动，因为 $GBASEDBTDIR/etc 或 %GBASEDBTDIR%\etc 目录中不存在恢复文件。这意味着不存在先前恢复，或者恢复已成功
。

对于首次恢复，请使用“onbar -r”。



-43014	无法读取逻辑日志标识。

命令行上输入的逻辑日志标识无效。

请验证逻辑日志标识是否正确，然后重试命令。



-43013	无法读取备份级别，缺省为 <level-number> 级。

命令行上输入的备份级别无效。已改为自动执行 0 级备份。



-43012	正在将此命令的备份级别设置为 0。

对于伪备份或外部备份，只支持 0 级备份。对于 GBase  Database Server 9.2 或更高版本，此消息也适用于备份验证。备份级别复位
到 0。

无需任何操作。



-43011	对于整体系统备份/恢复和伪备份，忽略了 -f 命令。

用户输入了命令选项 -w -f <filename> 或 -F -f <filename>。因为整体系统备份、整体系统恢复和伪备份会影响所有空间，所以备份和恢复
将继续，但将忽略 -f <filename> 选项。



-43010	不当选项用法：-f 选项需要有文件名。

用户输入了 -f 选项，但未指定文件名。ON-Bar 不知道在此命令中要使用哪些存储空间，因此无法继续
。

在 f 选项后指定包含 ON-Bar 应对其执行操作的存储空间列表的文件名，然后重新运行命令
。



-43006	onsmsync 用法。

输入的 onsmsync 命令不正确。有关详细信息，请参阅 Backup and Restore Guide
。

请修改命令，然后重试。



-43005	在未来发行版中将不支持语法 <syntax-1>，而使用 <syntax-2>
。

ON-Bar 备份的命令行语法已更改。当前操作将根据请求完成。

将来会使用新的 ON-Bar 语法。要使用此新语法，可能必须更改已编写的脚本
。



-43004	连接地址由 XCC 包确定。

输入的命令不正确。此消息可能表明 ON-Bar 中出错，因为此进程只应该由 onbar 命令行进程启动，很少会手动启动
。

要手动启动 onbar_m，请使用命令行进程（BAR_ACT_LOG 或 /tmp/bar_act.log）的 ON-Bar 活动日志来确定正确的值，然后重试。
如果自动发出此消息，请联系 IBM 技术支持。



-43003	onbar_w 用法。

输入的 onbar_w 命令不正确。有关详细信息，请参阅 Backup and Restore Guide
。

请修改命令，然后重试。



-43002	ON-Bar 会话用法。

输入的会话命令不正确。有关详细信息，请参阅 Backup and Restore Guide
。

请修改命令，然后重试。



-43001	ON-Bar 恢复用法。

输入的恢复命令不正确。有关详细信息，请参阅 Backup and Restore Guide
。

请修改命令，然后重试。



-43000	ON-Bar 备份用法。

输入的备份命令不正确。有关详细信息，请参阅 Backup and Restore Guide
。

请修改命令，然后重试。



-42306	无法设置锁定方式以等待。

正在运行的实用程序无法访问表的内容，因为其无法等待表锁定。请稍等片刻，然后重试运行 dbschema 或 dbexport
。



-41021	连接忙碌。

您当前正在进行数据库服务器请求。在当前请求完成之前，不能执行其他自变量
。



-41020	连接错误。

Windows 下处于活动状态的应用程序过多。请关闭部分应用程序，然后重试
。



-41009	关闭连接时出错。

连接关闭时出错。未提供纠正操作。



-41008	协议数超过此版本支持的协议数。

必须一次只使用一个协议来与远程数据库服务器进行通信。



-41007	装入 GBase  NET for Windows 库时出错。

请检查您的路径。如果使用的是兼容 Windows Sockets 1.1 的 TCP/IP 协议，那么 INETWSOK.DLL 模块必须位于您的路径中。如果使
用的是 IPX/SPX 协议，那么 INETIPX.DLL 模块必须位于您的路径中。这些模块必须位于您的路径中。此外，还可能是用来装入正确的 DLL 模块的内存
不足。



-41006	协议名称不在 GBASEDBT.INI 文件的 [INET_PROTOCOL] 节中。

请检查 GBASEDBT.INI 文件。在 [INET_CONNECTION] 节中指定的协议名称应与 [INET_PROTOCOL] 节中指定的协议名称相匹配
。协议名称必须定义用于该协议的正确 .DLL 模块。如果使用的是 IPX/SPX 协议，那么 ipx=INETIPX.DLL。如果使用的是兼容 Windows 
Sockets 1.1 的 TCP/IP 协议，那么 tcpip=INETWSOK.DLL。



-41005	读取 GBASEDBT.INI 文件的 [INET_PROTOCOL] 节时出错。

请检查 GBASEDBT.INI 文件的 [INET_PROTOCOL] 节，以确保此节具有以下节头
：

[INET_PROTOCOL] 



-41004	GBASEDBT.INI 文件没有协议名称或有格式错误。

请检查 GBASEDBT.INI 文件。如果未在 InetLogin 结构中定义协议名称变量，那么 [INET_CONNECTION] 节必须具有协议名称。必须
在 [INET_CONNECTION] 节中以如下格式定义协议名称：

protocol=protocolname 



-41002	GBASEDBT.INI 文件没有用户名或有格式错误。

请检查 GBASEDBT.INI 文件。如果未在 InetLogin 结构中定义用户名变量，那么 [INET_CONNECTION] 节必须具有用户名。必须在 
[INET_CONNECTION] 节中以如下格式定义用户名：

user=username 



-41001	GBASEDBT.INI 文件没有主机名或有格式错误。

请检查 GBASEDBT.INI 文件。如果未在 InetLogin 结构中定义主机名变量，那么 [INET_CONNECTION] 节必须具有主机名。必须在 
[INET_CONNECTION] 节中以如下格式定义主机名：

host=hostname 



-41000	读取 GBASEDBT.INI 文件的 [INET_CONNECTION] 节时出错。

请检查 GBASEDBT.INI 文件的 [INET_CONNECTION] 节，以确保此节具有以下节头
：

[INET_CONNECTION] 



-38585	创建事件失败。

创建事件失败。

请参阅操作系统文档。



-38584	创建用于从备份和恢复过滤器进行读取的线程失败。

创建从备份和恢复过滤器程序读取输入的线程失败。

请参阅操作系统文档。



-38581	对备份和恢复过滤器输入的查看系统调用失败。errno = <error number>
。

对备份和恢复过滤器管道输入的查看系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38580	读备份和恢复过滤器失败。errno = <error number>。

从备份和恢复过滤器管道进行读取的系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38579	写备份和恢复过滤器失败。errno = <error number>。

写入备份和恢复过滤器管道的系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38578	执行备份和恢复过滤器 <filter program> 失败。errno = <error number>
。

执行备份和恢复过滤器程序的系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38577	复制文件描述符失败。errno = <error number>。

复制文件描述符的系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38576	关闭未使用的管道一端失败。

关闭过滤器管道未用端的系统调用失败。

这是内部错误。请重试操作，如果仍然失败，请联系 IBM 技术支持
。



-38575	创建进程失败。errno = <error number>。

创建或派生进程的系统调用失败。“errno”是返回的操作系统错误编号
。

请参阅操作系统文档。



-38574	创建管道失败。errno = <error number>。

无法创建输出管道。“errno”是返回的操作系统错误编号。

请参阅操作系统文档。



-38573	错误：指针为 NULL (<file> <line>)。

这是内部错误。指针变量意外为 NULL。

请联系 IBM 技术支持以获取帮助。



-38516	客户机进程未注册。

onbar-worker 进程未注册到 GBasedbt 数据库服务器。

以下是建议的纠正操作：

1.  使用 onstat -g bus 命令确保 onbar-worker 进程正在运行。如果需要，启动新 onbar-worker 进程
。

2.  如果某个 onbar-worker 进程正在运行，请尝试使用以下命令将其结束并启动新 onbar-worker 进程
：

kill -2 <worker_process_id> 

如果该问题仍然存在，请联系 IBM 技术支持。



-38515	释放传输缓冲区失败。

当数据库服务器尝试释放传输缓冲区时发生错误。

请记下所有情况，保存 ON-Bar 活动日志和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-38514	设置传输缓冲区大小和计数失败。

自上次备份之后，传输缓冲区大小已更改。显示返回码 120。

在 ONCONFIG 文件中将传输缓冲区大小设置回其备份时的值，然后重试恢复。您可能必须参考 ONCONFIG 文件的文件系统备份以获取先前的值
。



-38000	可抛出的未知异常：(java.security.AccessControlException: access denied 
(java.security.SecurityPermission getPolicy))。

如果 $GBASEDBTDIR/extend/krakatoa 中没有 gbasedbt.policy 文件，可能会发生该错误
。

如果您没有特定的安全性问题，可将 gbasedbt.policy.std 文件复制到 gbasedbt.policy
。



-35587	常规表管理器：没有项。

不存在所需的项。



-35586	常规表管理器：表已被锁定。

表已被锁定。



-35585	常规表管理器：项已被锁定。

表项已被锁定。



-35584	常规表管理器：表已满。

表已满并且无法扩展。



-35583	常规表管理器：不允许存在重复的键。

不允许存在具有相同键的表项。



-35580	常规表管理器：未分配任何表。

表未创建或已删除。



-35227	该语句在标识或符号名称附近使用对 X/Open 标准的 GBasedbt 扩展
。

已检测到使用了对 X/Open SQL 语法的 GBasedbt 扩展。使用符合 X/Open 的语法以确保最大的可移植性
。



-35226	该行在标识或符号名称附近使用对 ISO/ANSI SQL 的 GBasedbt 扩展
。

已检测到使用了对 ANSI 的 GBasedbt 扩展。使用符合 ANSI 的语法以确保最大的可移植性
。



-35225	对象引用、对象名无法显示在动态游标声明中。

从动态游标声明中除去引用的对象。



-35224	INTO 短语不能出现在 DECLARE CURSOR 语句中。

在 DECLARE 游标中使用 INTO 短语可能导致不可预测的运行时错误。建议您将 INTO 短语移动到 OPEN 和/或 FETCH 过程
。



-35223	不合规范词语是语言保留字或类型标识。

将保留字更改为非保留字。



-35222	CHAR(*) 参数的参数名称不受支持；使用 VARCHAR(*) 并附加 ASCII.NUL
。



-35221	字符串不能具有 OUT 方式：参数名称。

CHAR(*) 和 VARCHAR(*) 参数不能用作 OUT 参数。将参数更改为 CHAR[n]
。



-35220	没有用于游标名称的 OPEN 过程。

语句引用了一个尚未打开的游标。除去不带 OPEN 语句的游标，或者为主体游标添加 OPEN 语句
。



-35219	ANSI X3.135-1989 至少需要一个 (SQLCODE) 参数。

ANSI 标准需要每个过程至少有一个 SQLCODE 参数。



-35218	ANSI X3.135-1989 需要授权子句。

仅当您使用 -ansi 选项时，才会出现该错误消息。包括 AUTHORIZATION 子句以满足 ANSI 标准。有关使用 AUTHORIZATION 子句的更
多信息，请参阅 GBase  Ada/SAME Programmer's Manual。



-35217	ANSI X3.135-1989 需要语言子句。

ANSI 要求提供 LANGUAGE 子句。开发符合 ANSI 的模块时指定语言为 Ada。有关 LANGUAGE 子句的更多信息，请参阅 IBM 
GBasedbt Ada/SAME Programmer's Manual。



-35216	参数列表中出现 SQLCODE 时不允许 WHENEVER 子句。

选择带有 SQLCODE 的 ANSI 错误处理或 GBasedbt Ada 样式错误处理
。



-35215	未定义的主变量或参数：name。

对尚未定义的主变量或过程参数进行了引用。



-35214	游标的游标名称在多个过程中与 OPEN 结合使用。

游标只能在一个 OPEN 语句中引用。除去多个打开的游标过程
。



-35213	没有用于过程名称的游标声明。

SQL 语句要求游标标识未在 DECLARE CURSOR 语句中声明。检查是否存在错误拼写，或者为此游标添加 DECLARE CURSOR 语句
。



-35212	缺少 -b 或 -s 选项。

使用 -b 或 -s 选项。请参阅 GBase  Ada/SAME Programmer's Manual 中提供的预处理器命令的语法。如果该错误重
复出现，请记下所有情况并联系 IBM 技术支持。



-35211	在命令开关后仅期望单个文件名。

使用 adasame 命令。请参阅 GBase  Ada/SAME Programmer's Manual 中提供的预处理器命令的语法。如果该错误重
复出现，请记下所有情况并联系 IBM 技术支持。



-35210	内部错误：功能名称尚未实现。

所有支持的功能均已实现。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-35209	内部错误：模块名称、行的行号：断言错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-35208	内部错误：模块名称、行的行号：大小写错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-35207	模块名称（模块名称）与结束模块名称（模块名称）不匹配
。

MODULE END 子句后面的名称必须与 MODULE NAME 子句中指定的模块名称相匹配
。



-35206	语言必须为 Ada，而非语言名称。

您必须在 LANGUAGE 子句中使用名称 Ada。除去 LANGUAGE 子句或将语言名称更改为 Ada。有关 LANGUAGE 子句的更多信息，请参阅 
GBase  Ada/SAME Programmer's Manual。



-35205	已定义参数的参数名称。

您多次使用了某个参数名称。参数名称在每个过程中必须是唯一的。重命名参数以使其在过程调用中是唯一的
。



-35204	过程的过程名称已定义。

您使用的过程名称已定义。重命名过程以使其在模块中是唯一的
。



-35203	游标的游标名称已定义。

多次定义了该游标。对每个游标标识，仅能使用一个游标。重命名游标以使其在模块中是唯一的。唯一游标增强了可移植性
。



-35202	嵌套的块过多。

如果您遇到该错误，请记下所有情况并联系 IBM 技术支持。



-35201	游标名称必须是标识。

该游标不是 DECLARE CURSOR 语句中的标识。该游标可能作为主变量而提供，并且必须更改为有效游标标识
。



-35200	致命解析错误；字符串。

如果您遇到该错误，请记下所有情况并联系 IBM 技术支持。



-35038	该语句在标识或符号名称附近使用对 X/Open 标准的 GBasedbt 扩
展

仅当您使用 -xopen 选项时，才会出现该错误消息。修订语句以满足 X/Open 标准
。



-35036	该行在标识或符号名称附近使用对 ISO/ANSI SQL 的 GBasedbt 扩展
。

仅当您使用 -ansi 选项时，才会出现该错误消息。修订语句以符合 ANSI 标准
。



-34396	宽位字符非法。行号

此内部错误表明内部宽位字符到多字节字符的格式转换失败。请检查程序逻辑
。



-34395	多字节字符非法。行号

在可装入菜单源文件的行上检测到非法多字节字符。请查看源文件
。



-34394	错误的语言环境名称 locale-name 上的会话初始化失败

会话初始化失败。在会话初始化中为语言环境初始化提供的语言环境名称无效。指定语言环境名称的环境变量的值不正确。请检查相应环境变量 CLIENT_LOCALE 或 
DB_LOCALE 的值。



-34393	GLS 代码集转换初始化失败。

在会话初始化期间代码集转换初始化失败。可用于代码集转换表的内存不足
。



-34390	定界符无效；请勿使用“\\”、空格、十六进制字符或多字节字符
。

为 FILE 语句指定的定界符非法。不能将换行符、反斜杠、空格、制表符、十六进制数字（0 到 9、A 到 F 和 a 到 f）或多字节字符用作定界符。请检查该语
句并更改定界符。



-34389	在输入串中发现不合法字符。

SQLscript有不合法字符。检查script文件。






-34388	发现不合法的字符。不能继续进行处理。

在 SPL 例程中分析元素时，一个内部函数在多字节处理时遇到不合法字符。
查看以下选项：

    *   数据库@dbserver;owner.procname

    *   数据库;owner.procname

    *   数据库;procname

    *   数据库@dbserver;procname

    *   owner.procname

    *   procname

对可能的不合法字符检查这些选项。






-34383	当读取输入流时出现未知错误num。

当ESQL/C预处理器读取ESQL/C源文件时出现未知错误 num。检查源文件是否是有效的
ESQL/C源文件。






-34382	当读取输入流时出现系统错误。

当ESQL/C预处理器读取ESQL/C源文件时出现系统错误 num。查找操作系统信息以确定
问题的原因。






-34381	输入流在一个有效字符的中部结束。

ESQL/C源文件在一个有效多字节字符的中部结束。源文件可能被截断。检查源文件。






-34380	输入流包含不合法的多字节字符。

ESQL/C源有不合法的多字节字符。检查源文件。






-33990	外部空间删除失败。

尝试删除外部空间失败。检查与此失败相关联的错误。



-33988	外部空间创建失败。

服务器无法添加外部空间。检查与此失败一起返回的错误。



-33502	映射文件没有正确的格式。

用于指定DBAPICODE环境变量的映射文件的格式非法。用于字符映射表的正文文件可
以由任意数量的行组成。一行可以是注释，或是DBAPICODE字符代码到目标代码集
中相同字符的一对一的字符映射。这种正文文件应该用U.S. ASCII书写，或用有效字
符(#, 圆括号，数值字符)的U.S. ASCII等价表示的代码集书写。






-33501	用于DBAPICODE的映射文件没有找到。

SQL API不能找到用于指定的DBAPICODE环境变量设置和标准代码集的字符映射文件。
检查你的平台的信息目录中存在的映射代码集。 在NLS- ready系统中，标准代码集
定义在LANG环境变量中。在非NLS-ready系统中，标准代码集是缺省的8
位字符集。






-33500	<文件名> :  在<行号>行上有不恰当的环境变量。

在指定的环境配置文件中指定行上的入口是非法的。修改文件中的入口(环境变量名和
/或设置)并再试一遍。






-33209	语句必须以";"终止。

该消息是警告。该语句没有需要的分号。
即使预处理器可以在没有任何问题的情况下
工作，那么也应该给语句添加分号。然后可以避免
可能的问题（如果代码添加到该程序）。





-33208	可能是运行时间错误，因为主机变量名称未知。

该消息仅仅是警告；编译将继续。ESQL/C 不
知道主机字符变量的大小。如果变量在
 INTO 子句中使用，那么可能覆盖内存。将变量指定为
有数值大小的字符数组。数值大小可以是文字值
或 ESQL/C 宏值。





-33207	类型 typedef-name 对 ESQL/C 太复杂。

typedef 变量的定义太复杂。ESQL/C 不
支持在 typdef 中使用多维数字或联合。
简化 typedef。





-33206	variable-name 的限定符未初始化。

此消息只是警告。由于指定 DATETIME 或 INTERVAL 变量的复杂性，其元素的限定符无法正常初始化。尽管会继续编译，但变量可能未初始化
。



-33205	PARAMETER 不能在 C 块中使用。

PARAMETER 语句只允许在函数声明块中使用，
而不是在函数中嵌套的 namely 块中使用。





-33204	发现没有匹配左大括号的右大括号。

代码包括关闭括号（}）或丢失了开括号（}）。
检查代码中的不匹配花括号或其它错误
的标点，例如丢失结束引号或结束注释。





-33203	变量 variable-name 的间接引用级别不正确。

指针变量使用了错误的间接引用级别号。检查该语句中的间接引用级别
。



-33202	数组变量 variable-name 上的错误维数。

引用了错误维数的数组变量。纠正维数并重试。





-33201	不允许固定字符指针。

在该环境中不允许固定字符字符指针。用字符指针
替换固定字符指针。





-33200	符号 variable-name 上的无效语句。

指定的类型没有定义，或者在语句中错误放置了
$ 字符。检查拼写错误、错误放置的 $ 字符或未定义的
类型。





-33085	声明部分中不支持嵌入式 INCLUDE 语句。

该消息只是警告。声明部分中使用嵌入式 INCLUDE 语句可能会导致误导错误。
关于这部分的正确用法请参见嵌入式语言手册。




-33083	由于打开文件太多而无法打开文件 file_name。

预处理器无法打开文件，原因是打开了太多
文件。检查系统资源确定是否可以增加
文件句柄数（描述符）。关闭不需要的文件。同时检查
可能导致递归包括文件的错误。




-33075	无法在客户集合/行构造程序中使用用户定义的例程。

用户为客户集合或行主机变量调用 ROW 或 COLLECTION 
构造程序中的用户定义例程函数。
检查语句的语法并更改语句，使它不
调用用户定义的例程。用户定义的例程只能在服务器上执行。




-33074	有 CAST 关键字或（::）操作符的显式映射在
客户集合中不允许。

在客户集合中不允许使用显式映射。例如，下面的例子是不允许的：

   $client collection list(row( a udt_1, b list(int))) mylist;
   $insert into table (:mylist) values (CAST(1 AS udt_1), list{1,2,3});
   $insert into table (:mylist) values (1::udt_1, list{1,2,3});

在输入 esql -e client.ec 时将得到下列错误： 

esqlc: "client.ec", line 2: Error -33074: Cannot use CAST in client
collections.

esqlc: "client.ec", line 3: Error -33074: Cannot use CAST in client
collections.




-33071	语句 id statement_ID 已经被使用。

该警告消息指出您使用了两个相同名称的
PREPARE 语句。例如：

exec sql prepare stmt_id from "select * from tab";

exec sql prepare stmt_id from "insert into tab values(1)";




-33070	在语句语法分析中发生栈溢出。

指出语法分析程序栈溢出的消息很少出现。
例如，如果嵌入语言语句（SELECT、INSERT、UPDATE、DELETE 
等等）包含非常大或复杂的子句（WHERE、MATCHES、LIKE 
等等），并且语法分析程序试图处理它，
那么可能出现此消息。在这种情况下，
请分割子句并重试。




-33068	ELSE 后的 ELIF。

ESQL 预处理器 ELSE 语句指出 IFDEF 或 IFNDEF 语句最后
一部分；后面可能没有其它 ELIF 部分。查看该
IFDEF 或 IFNDEF 语句的内容并排列各部分的顺序。





-33067	没有 IFDEF 的 ELIF。

在该 ELIF 语句前面没有 IFDEF 或 IFNDEF 语句。
查看该点之前的源程序行。可能遗漏了前面的语句，
或者由于以前的错误而没有发现它。





-33066	当前缀是模块名时，游标/语句 ids id1 和 id2
在前18个字符中是不唯一的。

在使用 -lcoal 预处理选项时，游标名称和
语句 ID 的前缀是从模块名产生的唯一
标记。（在 UNIX 系统上，源程序的 inode 号
作为唯一标记使用）。在这种情况下，id1 和 id2 的
长度至少为14个字符，并且它们的前13个字符没有不同。
因此，当添加标记并且结果截断为18个字符时它们是
相同的。更改两个名称以避免名称冲突并重试。





-33065	当前缀是模块名时，游标/语句 id 名称太长。

该消息仅仅是警告。在使用 -local 预处理选项时，
游标名称和语句名称的前缀是从模块名
产生的唯一标记（在 UNIX 系统上。源程序的
 inode 号作为唯一标记使用）。游标或语句
名称和唯一标记的总长度不能超过18个字符，
但在名称中不是这样。因此，如果在不同的源模块
中使用了相同的名称，那么两个名称可能按 -local 选项
的要求而不同。





-33064	variable-name 在前面以不同的情况出现。
ESQL/语言名称不是大小写敏感的。

该消息仅仅是警告。指定的变量以不同的
大写和小写字母组合多次出现。
由于该产品不是大小写敏感的，因此所有这些名称
都被看成是一个。如果希望这些名称代表不同
的变量，请更改变量声明之一的名称（不仅仅是大小写）
并重新编译。





-33063	已经在 BEGIN DECLARE SECTION 内。

该消息仅仅是警告。EXEC SQL BEGIN DECLARE SECTION 
语句在另一个 BEGIN/END DEClARE 块内。该语句被
忽略。但是，警告可能指出程序结构的混淆。
请检查是否所有声明部分都进行了正确的界定。





-33062	丢失 ENDIF。

某个 IFDEF 或 IFNDEF 语句在源文件结束之前没有匹配的
ENDIF 语句。从文件结束处开始向上检查，并
检查是否每个 IFDEF 和 IFNDEF 语句都有匹配的
ENDIF。可能由于其它错误而没有发现 ENDIF。





-33061	无法展开递归宏 macro-name。

预处理器无法完全展开 macro-name 宏，原因是
在定义的宏内存在循环。纠正宏并重试。





-33060	非法表达式。

指定的表达式错误。参见 GBasedbt Guide to 
SQL: Syntax，以获得正确的语法和该表达式的用法。





-33058	选项名称不是字段定义的有效默认选项。

参见 GBasedbt Guide to SQL: Syntax，以获得字段定义中的
有效 DEFAULT 子句选项。





-33057	无法打开错误日志文件 errorfile。

您将日志预处理器选项指定为把错误和警告
消息发送给 errorfile 而不是标准输出。但是，
预处理器无法打开 errorfile，原因是没有足够的磁盘空间，
或者没有打开文件的文件系统权限。
如果可用磁盘空间不够，请删除文件提供
文件系统中的可用空间，或者选定其它磁盘。如果没有
打开 errorfile 的文件系统权限，请指定其它
目录或用需要的权限登录。





-33056	输出期间的错误 errno。

在输出过程中发生错误 errno。检查是否有足够的磁盘
空间用于输出文件，并且是否有文件位置的有效
文件系统权限。查找主机操作系统手册中的 errno
（或者参见第3页开始的列表）可以得到问题的
特定原因和相应的纠正操作。





-33055	名称 id-name 已经使用。

SQL 标识符 id-name 已经被声明。检查
名称的拼写和当前名称范围内的声明。





-33054	在滚动游标中不允许更新。

该 UPDATE 语句指用 SCROLL 关键字声明的
游标。UPDATE 语句需要已经声明了 FOR UPDATE 的游标
以确保将正确级别的锁定应用于将更新的行。
参见 gbasedbt Guide to SQL: Syntax
中的 DECLARE 语句，以获得正确使用游标的
详细信息。





-33053	不匹配的 ENDIF。

在该 ENDIF 语句之前没有 IFDEF 或 IFNDEF。
查看该点之前的源代码行；前面的
语句有遗漏或者由于以前的错误而没有
发现它。





-33052	不匹配的 ELSE。

在该 ELSE 之前没有匹配的 IFDEF 或 IFNDEF。
查看该点之前的源代码行；前面的
语句有遗漏或者由于以前的错误而没有
发现它。





-33051	标识符或符号 symbol-name 上的语法错误。

在 symbol-name 处或附近发现语法错误。请查看 GBasedbt
Guide to SQL: Syntax，以获得标识符的正确使用方法和
正确使用其它符号的嵌入式语言手册。





-33050	类型或子类型 type-name 已经被使用。

该语句重新定义了已经定义的用户定义类型或子类型。
该操作是不允许的。请查看声明，并为该
类型使用唯一的名称。





-33049	字段类型 field-name 已经在上下文以外使用。

在 GET/SET DESCRIPTOR 语句中错误使用了指定的字段名。
参见 GBasedbt Guide to SQL: Syntax 中的
GET DESCRIPTOR 和 SET DESCRIPTOR 语句，以获得正确语法。





-33047	在该子句中不允许记录 record-name。

在该语句中，请使用只允许一个简单变量的
指定记录。检查名称的拼写并用简单变量
覆盖语句。参见嵌入式语言手册和
GBasedbt Guide to SQL: Syntax。





-33046	指示器不能与记录一起使用。

该消息仅仅是警告。不能指定 Indicator
变量以便输入到主机记录或数据结构中。指示器
将被忽略。指示器变量必须与单数据项
关联。如果需要使用有该记录特定成员的指示器，
那么必须列出所有记录成员。





-33045	解脱以前的宏 macro-name 定义。

该消息仅仅是警告。您已经多次定义了宏 macro-name。
预处理器使用最后一次出现的 macro-name。





-33044	精确度必须大于0并且小于指定的数字。

您为 DECIMAL 值指定了错误的精确度和/或刻度。
参见 GBasedbt Guide to SQL: Reference 中的第3章和
适用的 GBASEDBT-ESQL 手册获得正确用法。





-33043	内存不足。

预处理器无法分配更多内存。如果可能，
请减少与预处理器同时运行的进程数，
或者降低程序的规模。检查存在的有效
交换磁盘空间。在 DOS 系统上，需要释放
一些磁盘空间。





-33042	无法打开输入文件 inputfile。

嵌入式语言预处理器无法定位您试图用 -I 选项
包括在程序中的文件。检查
文件是否在指定的地点以及是否
正确指定了地点。同时检查是否拥有
打开输入文件的权限；如果没有，请指定其它目录或
用需要的权限登录。





-33041	无法打开输出文件 outfile。

预处理器无法打开输出文件，原因是没有足够的可用磁盘
空间，或者没有打开文件的文件系统权限。
如果可用磁盘空间不够，请删除文件或选定其它
磁盘以便获得文件系统中的更多可用空间。如果没有
打开输出文件的文件系统权限，请指定其它目录或
用需要的权限登录。





-33040	对象 hostvar 没有声明。

主机变量 hostvar 没有声明或者拼写有错。
如果 hostvar 没有声明为主机变量，请声明它。否则
请纠正拼写错误。





-33039	在单个选择中不允许更新。

您有 UPDATE 语句和只返回一行的
SELECT 语句。UPDATE 语句需要已经声明
为 FOR UPDATE 的游标。参见 GBasedbt Guide to SQL: Syntax
中的 DECLARE、SELECT 和 UPDATE 语句，以获得
有关游标的详细信息。





-33038	该语句不符合 X/Open 标准。

该消息仅仅是警告。您使用了 -xopen 选项，询问是否
可以根据 XPG4 X/open 标准检查源文件。





-33037	名称不是记录 record-name 的组件。

名称的使用方法和记录 record-name 的成员一样，但是没有
该名称的成员存在。检查两个名称的拼写，并且
查看 record-name 的声明。





-33036	该行不符合 ANSI X3.135-1989。

该消息仅仅是警告。您使用了 -ansi 选项，请求检查
源文件是否符合当前 ANSI标准。
该语句使用对 ANSI 标准的 GBasedbt 
扩展。





-33035	没有指定限定词。

您试图使用 DATETIME 限定词，但是没有为
该限定词指定特定范围的可接受值。请定义
将用于限定 DATETIME 限定词的范围。
DATETIME 限定词必须有开始和结束范围
（例如，年到月、天到小时等等）。





-33034	POWER 游标无效。

不支持 POWER 游标。请参见嵌入式语言
手册。





-33033	字段 field-name 是对 XPG3 X/Open 标准的 GBasedbt 扩展。

该消息仅仅是警告。您使用了 -xopen 选项，请求检查
源文件是否符合 XPG3 X/Open 标准。
ITYPE、IDATA 和ILENGTH 字段名是
对标准的 GBasedbt 扩展。





-33032	WITH NO LOG 只能为 TEMP 表指定。

您在错误的上下文中使用了 WITH NO LOG 选项。只有在
创建了 TEMP 表并希望它上面的排除事务日志操作
时才能使用它。参见 GBasedbt Guide to SQL: Syntax，
以获得 SQL 语法和 WITH NO LOG 选项的正确用法。





-33031	在该语句中不允许语句	标号。

该消息仅仅时警告。您在不在任何输出文件中
产生任何实际代码的语句上使用了标号。参见
嵌入式语言手册可以获得标号的正确用法。





-33030	不能在 SCROLL 游标上有插入语句。

该 DECLARE 语句指定 SCROLL 关键字，但是它继续
指定 INSERT 语句。插入游标不能使用 SCROLL
关键字。





-33029	没有给定输入文件。

在命令行上没有命名任何输入文件。





-33028	非法的 compiler-name 编译器类型 compiler-type-name。

编译器类型必须指定为该预处理器的命令行选项。
参见嵌入式语言手册。





-33027	记录嵌套太深。最大值是 n。

预处理器限制记录（数据结构）可以嵌套
的层次数。从该点向后查看并查看记录
的声明。可能遗漏了结束记录的标点或
关键字，或者由于以前的错误而没有发现。
如果所有的都如预期的那样，那么必须简化
数据结构。





-33026	块的嵌套不能超过 n 层。

预处理器将嵌套层次数限制为指定
的值。查看该点之前的程序结构；可能遗漏
了结束块的标点或关键字，或者可能由于以前的错误
而没有发现。如果所有的都如预期的那样，
那么必须重新组织以便使用更少的嵌套块。





-33025	名称标识符太长。

指定的 SQL 标识符太长。SQL 标识符限制为
18个字符。检查语句的标点以及
标识符的拼写；如果所有的都如预期的那样，
那么必须将声明更改为使用更短的名称。





-33024	预期的宏名。

宏声明的宏名丢失。指定名称并重试。





-33023	被引起来的字符串对于 SQL 来说太长。

被引起来的字符串太长，以致于不能放在内部缓存区中。
检查语句以便找到丢失的结束引号。





-33022	Include 路径名太长。

该 INCLUDE 语句中的路径名太长，以致于不能放在
内部缓冲区中。检查语句的标点；可能是
忽略了结束引号。如果不是，必须找到
用更短的路径名指定包括文件的方式。参见
嵌入式语言手册，以获得预处理器在搜索
包括文件时的规则。





-33021	宏 macro-name 的值太长。

为宏指定的值太长，以致于不能放在内部缓存区
中。缩短语句并重试。





-33020	行太长。

该行对主机语言来说太长，或者预处理器的内部缓冲区无法
容纳。参见嵌入式语言手册以及主机语言手册，
以获得使长行继续的规则。





-33019	标号太长。

该语句指定了长度超过该嵌入式语言允许
长度的标号。检查语句的拼写和标点。
参见嵌入式语言手册，以获得标号名称的
正确格式。





-33018	在该子句中不允许指示器变量。

该语句包括有指示器变量的主机变量
说明，但是在该上下文中是不允许
指示器变量的。查看指示器变量的每种用法并删除
不必要使用。





-33017	语句不完整。

预处理器无法识别当前语句的结束。
检查它和前面行的语法。查找遗漏的结束
分号、遗漏的引号或遗漏的注释结束符号。





-33016	macro-name 的宏定义不完整。

该预处理器宏定义语句没有 ESQL
语句指示器。在语句结尾添加分号（;）。





-33015	输入文件名有非法的后缀 suffix-text。

提交给预处理器的输入文件名称必须
有正确的后缀。检查命令语法并重命名文件
（如果需要）。需要下列文件后缀：

    *   对 GBASEDBT-ESQL/C 是 .ec

    *   对 GBASEDBT-ESQL/COBOL 是 .eco

    *   对 GBASEDBT-ESQL/FORTRAN 是 .ef





-33014	非法使用记录/结构 variable-name。

在只接受一个简单变量的地方使用了指定
的记录。查看 variable-name 的声明，并确定它
是否是要使用的变量（可能需要用组件名限定它）。
参见嵌入式语言手册，以获得该语句的要求。





-33013	没有 BEGIN 的 END DECLARE SECTION。

预处理器已经发现该 EXEC SQL END DECLARE SECTION 语句，
但是没有发现前面的 EXEC SQL BEGIN DECLARE SECTION。可能
被遗漏或者由于其它错误而没有发现它。检查每个
BEGIN DECLARE 是否与 END DECLARE 成对。





-33012	数字必须是 1 到 32。

您为 DECIMAL 值指定了范围以外的精度或刻度。
DECIMAL 变量必须从1到32个数字。检查该语句
种声明的标点。





-33011	variable-name 的当前声明掩盖了以前的声明。

该消息是来自预处理器的警告。指定的变量
在当前范围内声明了多次。编译
将使用对当前范围结束的这个最近声明继续。
如果不希望声明指出的变量，请检查变量名
的拼写和声明的语法。在 GBASEDBT-ESQL/C 种，
如果变量作为函数参数使用，那么也可以发出
该警告。在这种情况下请使用 PARAMETER 子句。





-33010	内部错误：预处理器状态已损坏。

纠正其他所有处理错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-33009	组件名 component-name 已经被使用。

记录组件在同一记录/结构中声明了两次。
检查组件名的拼写和声明的语法。





-33008	记录组件 component-name 没有声明。

该语句使用符号 component-name，就象它是记录组件
的名称一样，但是它不作为一起使用的记录名的
组件。检查组件和记录名的拼写。





-33007	'$' 假设在 variable-name 之前。

预处理器假定您希望该语句中的符号
variable-name 作为主机变量（主机变量通常
用它前面的"$"或":"指出）。确定是否希望
这种含义。





-33006	variable-name 的类型不适用于这种用法。

在该语句的上下文中不能使用指定的变量。
确定是否指定了需要的变量并且用合适
的类型声明了它。然后参见嵌入式语言
手册，以获得该类型语句的变量用法。





-33005	字符串不完整。

根据主机语言的规则，字符串没有正确终止。
例如，它可能遗漏结束符，没有
继续字符等等。预处理器可能在希望终止
字符串的行上许多源代码行之前不能发现
错误。





-33004	选项 option-name 不存在，或者有错误的格式。

该嵌入式语言产品不支持指定来自
预处理器/编译器命令行的指定选项。检查它的拼写
是否正确。参见嵌入式语言手册可以获得支持的选项。





-33003	错误的标号格式。

当前语句上的标号格式错误。参见
嵌入式语言手册，以获得接受的标号格式。





-33002	ESQL INCLUDE 语句中的语法错误。

预处理器无法解释该 INCLUDE 语句。参见
嵌入式语言手册，以获得 INCLUDE 语句的
正确语法。





-33001	环境变量 variable-name 有非法值。

将指定的环境变量重置为合法值并重试。
参见 GBasedbt Guide to SQL: Reference 的第4章。





-33000	关键字是保留的 ANSI 关键字。

该消息是警告。如果希望代码符合 ANSI，
请不要使用显示为变量名的关键字。查看
GBasedbt Guide to SQL: Syntax，以获得代替语法。





-32793	onutil EBR unblock 命令成功完成。

已成功取消阻塞数据库服务器。

无需任何操作。



-32792	onutil EBR block 命令成功完成。

已成功阻塞数据库服务器。

您需要首先对数据库服务器取消阻塞，然后才能继续正常处理
。



-32766	未知错误消息编号。

该软件产品无法找到错误消息文本文件。GBASEDBTDIR 或 DBLANG 环境变量设置不正确
。



-32532	VARIANCE 或 STDEV 的不合法数据类型。

你不能使用字符串上的VARIANCE 或 STDEV 函数或 DATETIME数据类型。检查这些函数
的用户。





-32529	不能建立ixdbsaL转换。

 这个信息指出一个内部错误。






-32528	标记未发现。

 这个信息指出一个内部错误。






-32526	保存和存储标记不符。

 这个信息指出一个内部错误。






-32525	不能建立保存转换。

 这个信息指出一个内部错误。






-32524	不能建立ixdataH转换。

 这个信息指出一个内部错误。






-32523	不能建立Datahi转换。

 这个信息指出一个内部错误。






-32522	不能建立Datalo转换。

 这个信息指出一个内部错误。






-32521	不能建立IL map tblspace。

 这个信息指出一个内部错误。






-32520	不能建立SL map tblspace。

 这个信息指出一个内部错误。






-32514	会话级与数据库对象级不同。

你的会话区分标签不允许对你所访问的OnLine/Secure对象执行操作，因为它违反
OnLine/Secure的MAC 策略。在适当的区分标签上注册，并重试操作。






-32513	不能对表或字段改名。

表或字段的改名失败。参考 ISAM 错误信息以获知更多详情。





-32510	用户没有个别权限来改变
会话的授权。

在使用 SET SESSION AUTHORIZATION 语句
的会话期开始之前，必须从 DBSSO 获得 
PRIV_CANSETIDENTITY 个别权限。






-32509	错误的会话授权格式。

提供为 SET SESSION AUTHORIZATION 语句参数的用户名无效。请
提供有效用户的用户 ID。






-32508	事务中的语句是无效的。

您试图在一个活动的事务中执行 SET SESSION AUTHORIZATION、SET ROLE、或 SET
TRANSACTION 语句。

在 DML 语句（如 SELECT 或 INSERT）前，事务开始处发布 SET 语句，
使事务起作用。否则，在发布 SET 语句前滚回或提交事务。







-32507	不能设置会话权限。

除非你改变的是你自己的会话用户，否则你必须是DBA才行。






-32506	错的会话标签格式。

SET SESSION LEVEL语句参数不是一有效的灵敏性标签。






-32505	不能设置会话级。

参考附带的错误信息以获得更多信息。






-32504	会话级设置后不允许远程对象上的操作。

当你的当前会话灵敏级不同于你的注册会话时，你不能在远程数据库中存取对象。返
回到你的注册会话灵敏级存取远程数据。






-32503	改变会话属性，用户表应该被关闭。

企图改变会话灵敏级之前，关闭全部表并关闭保持打开的全部游标。






-32502	新的会话级不能控制该数据库级。

你不能在新的会话灵敏级存取该数据库。使用一个不同的控制该数据库的级。






-32501	登录会话级不能控制新会话级。

你必须在一个可以控制所指定会话级的灵敏会话级下登录。






-32500	用户没有改变会话级的离散优先级。

在使用SET SESSION LEVEL语句的会话开始之前，你必须从DBSSO那获得
PRIV_CANSETLEVEL的离散优先级。






-32412	不支持USING子句。DB-Access将提示输入密码。

在影响安全性的情况下，DB-Access不支持带USING密码的CONNEC...USER语句。例如，
在输入密码时，不应该在屏幕上可以看见，也不能把密码放到一个他人可读的命令文
件中。为保证安全性，DB-Access提示你输入密码，并使用显示特性使之隐藏不可见。





-32411	“变更表”选项已变更。

您尝试了在先前已变更的表选项上执行“变更表”选项。您不能对表选项进行多次变更
。



-32410	语法不受 DB-Access 支持。

虽然数据库服务器支持 CONNECT 语句的 AS、WITH CURRENT TRANSACTION 或 USER 子句，但 DB-Access 不支持。在 
DB-Access 中运行 CONNECT 语句时，请使用合适的 SQL 语句语法。



-32409	数据不可用，不能打开数据库 sysmaster。

DB-Access 不能打开从中请求信息的 sysmaster 数据库。请检查 Sysmaster 
数据库是否正确建立，并阅读错误日志，以找出失败原因。






-32408	没有指定事务日志路径名，不能建立ANSI方式的数据库。

你试图在GBASEDBT-SE上建立一个符合ANSI标准的数据库，但是没有为强制无缓冲区的
事务日志指定一个路径名。重新选择数据库存取的ANSI方式选项，或修改你的CREATE 
DATABASE语句，然后输入全日志路径名。






-32407	触发器没有找到。

你指定了一个无效的触发器名。输入一个存在中的触发器名，或改正你的拼写。






-32406	值必须大于零。

当你建立或变更表时，指定了一个小于或等于零的范围大小。指定一个大于零的范围
大小。






-32405	非法形成的十六进制数值。

用于给表装入一个BYTE值的十六进制数文件有一个不合法的字符或一个非法形成的十
六进制数值。检查文件中的异常部分，然后再次运行你的语句。






-32404	无效的定界符。不使用`\\'、十六进制数、tab或空格。

为LOAD或UNLOAD语句指定的定界符是不合法的。你不能使用换行符，十六进制数
(0-9, A-F, a-f)，tab字符或空格作为定界符。检查该语句并改变定界符的符号。






-32403	使用不合法SERIAL长度。

当用户建立或变更一个表以及建立或变更类型SERIAL的一个字段时，但是指定了一个
小于或等于零(不合法的) 启始数或输入了非数字值时，这个错误发生。输入一个大于
或等于1 的启始数。






-32402	当变更一个存在中的表时，用户不能改变dbspace名。

你已经指定了被存储表的位置。你已经明确指定了一个dbspace或已经使用的数据库的
dbspace。当你企图变更一个表时，你试图改变存储该表的dbspace。这个动作是不合
法的。只有当你建立该表时，才能指定dbspace。

卸出该存在表中的任何数据。取消那个表。建立一个新的表。指定你要使用的dbspace
并将数据装载到新的表中。






-32401	当变更一个表时，不能改变初始范围大小。

当第一次建立该表时，设置初始范围大小。下一个范围大小能够被变更，但是不能变
更初始范围大小。为了改变该初始范围的大小，你必须从这个表中卸出数据，取消该
表，用CREATE TABLE语句重新建立表，并将数据重新装入表中。






-32400	一个Table_option已经被变更。

对于每个ALTER TABLE会话，你只能改变一个表选项(锁定方式，范围大小)。如果你已
经改变了一个表选项且要改变另一个，你必须首先退出ALTER TABLE菜单并建立被修改
的表。选择退出选项再选择建立-新-表选项。然后，在ALTER TABLE菜单选择 
Table_option选项并进行对表的下一个修改。






-32198	非联机/安全根块。

修改 ONCONFIG 文件以引用联机/安全数据库服务器创建的 rootdbs
。



-32197	非联机/安全磁带。

使用联机/安全数据库服务器所生成的磁带。



-32194	无法创建保留的表空间。

联机/安全数据库服务器无法初始化。请记下所有情况并联系 IBM 技术支持以获得帮助
。



-32193	无法创建审计表空间。

联机/安全数据库服务器无法初始化。请记下所有情况并联系 IBM 技术支持
。



-32191	不能变更表。

变更表失败；检查附加的ISAM错误信息，寻求进一步的说明。






-32190	不能聚合标签字段。

检查是否对标签字段提供了一个聚合函数。






-32184	GLB计算失败。

检查LABELGLB()函数输入的合法性。






-32183	LUB计算失败。

检查LABELLUB()函数输入的合法性。






-32182	估计保密性标签label-name的数无效。

检查TBCONFIG文件中的参数设置或在DB-Monitor中，确认估计保密性标签的标签数总
是大于零。






-32181	估计保密性标签的标签数必须大于零。

检查TBCONFIG文件中的参数设置或在DB-Monitor的输入。






-32179	SAFE: new synonym label not dominating base table.

The sensitivity level of a synonym must always dominate the 
sensitivity level of all its base tables.


-32178	SAFE: new view label not dominating base table.

The sensitivity level of a view must always dominate the sensitivity 
level of all its base tables.


-32177	SAFE: new table label not dominated by all rows.

The sensitivity label of all rows must always dominate the 
sensitivity level of the table.


-32176	SAFE: cannot modify label for temp table.

Only permanent tables can be upgraded or downgraded. 


-32175	SAFE: cannot modify label for system catalogs.

Cannot upgrade or downgrade a system catalog alone. System 
catalog tables are upgraded or downgraded only when the database 
is upgraded or downgraded.


-32174	SAFE: new table label not dominating database.

The table sensitivity label must always dominate the sensitivity 
level of the database.


-32173	SAFE: failed to downgrade system catalogs.

Internal error.


-32172	SAFE: failed to upgrade system catalogs.

Internal Error.


-32171	SAFE: new database label not dominated by all tables.

The sensitivity level of the database must always be dominated by 
the sensitivity levels of all tables in the database.


-32170	SAFE: cannot change object to non-comparable label.

You can only upgrade or downgrade an object. The error may also 
indicate that you are downgrading a view or synonym definition to 
a level that does not dominate the base table(s) sensitivity levels.




-32169	不能转变内部和外部格式之间的标签。

这个信息表示发生了内部错误。操作系统不能进行标签的内部和外部格式之间的映
射。检查你提供的外部格式或标记说明。






-32168	数据库标签不一致。

这个信息表示发生了内部错误。






-32167	表标签不一致。

这个信息表示发生了内部错误。






-32166	当前用户无法找到或执行 RSAM。

检查 $GBASEDBTDIR、$SQLEXEC 设置。请确保您处于组 ix_users、ix_dbsa 或 ix_dbsso 中。请检查 $
GBASEDBTDIR/lib 中的 ISAM 可执行文件是否可由您的会话执行。



-32165	错误连接会话共享内存。

这个信息表示发生了内部错误。。检查操作系统错误信息了解更多细节。






-32164	错误建立会话共享内存。

这个信息表示发生了内部错误。检查操作系统错误信息。如果是共享内存大小的原
因，你或你的DBSA可以在会话配置文件中为SM_ROWSIZE 或 SM_TOTALROWS设置
一个较大的值。






-32163	标签标记无效。

label.map 文件中仅应存储标签的标记说明。请检查 label.map 文件中存储的标记的完整性和合法性
。



-32162	标签标记不是唯一的。

标记及其转换标记应具有严格一对一的映射。请检查 label.map 文件是否有重复的标记映射
。



-32160	无法对 label.map 文件排序。

在对 label.map 文件排序期间发生错误。请检查 label.map 文件的完整性
。



-32159	映射标记在系统中不存在。

label.map 文件中提供的标记在磁带上不存在。请确保您仅为磁带上的标记提供了映射
。



-32158	映射的标记在系统中不存在。

磁带上的标记的转换标记（在 label.map 文件中提供）在操作系统上不存在。根据当前操作系统，检查 label.map 文件中条目的完整性和合法性
。



-32157	label.map 文件中的数据无效。

根据当前操作系统，检查 label.map 文件中条目的完整性和合法性
。



-32156	无法打开文件。

无法打开 label.map 文件或 label.lok 文件。请检查这些文件的存在性、许可权和灵敏度级别
。



-32155	tbload 已被锁定。除去 label.lok 文件。

正在使用旧 label.map 文件。如果需要，更新 label.map 文件，并除去 label.lok 文件以表明您认同 label.map 文件实际上无问
题。



-32154	Label.map 文件必须为 DBSSO 所有。

请确保尚没有其他任何用户在 $LABELMAPDIR 目录中创建 label.map 文件。请检查 label.map 文件的灵敏度标签是否为 ixdbssoL
。



-32140	文件句柄和tabid是不一致的。

这个信息表明这是一个内部错误。提供给一个ISAM函数的表句柄对于该表不是一个合
法的句柄。表的tabid也是作为一个函数的参数提供的。






-32139	该SERIAL字段没有设置初始值。

这个信息只出现于多级保密应用。你正在存取的灵敏级没有初始SERIAL值。如果表中
存在一个SERIAL字段，那么，在表建立时必须设置初始SERIAL值。






-32138	不能设置该初始SERIAL值。

这个信息只出现于多级保密应用。在表建立时初始SERIAL值没被设置。






-32137	没有修改一个约束的变更权限。

修改一个约束要求表上的变更权限。






-32136	取消数据库级权限的会话级不合法。

你的会话灵敏级必须等于这个数据库的灵敏级。






-32135	取消表级权限的会话级不合法。

你的会话灵敏级必须等于这个表的灵敏级。






-32134	授予数据库级权限的会话级不合法。

你的会话灵敏级必须等于这个数据库的灵敏级。






-32133	授予表级权限的会话级不合法。

你的会话灵敏级必须等于这个表的灵敏级。






-32132	不能用标签排序。

用标签排序是非法的，因为标签是非线性排序的。






-32131	内部堆栈错误。

该信息表明了一个内部错误。






-32130	在指定的级没有记录。

这个信息只出现于多级保密应用。你正在访问的级没有记录存在。






-32129	请求的标签表没有被打开。

这个信息只出现于多级保密应用。你正在企图在一个较高级或者你打开的表所在的不
相容的级上进行一个表上的操作。在合适的级打开表。






-32128	没有改变一个SERIAL字段的权限。

你需要在表上Insert或Alter权限，或在SERIAL字段上Update权限来改变SERIAL
值。






-32127	取消一个表的会话级不合法。

你的会话灵敏级必须等于该表的灵敏级。






-32126	不合法的标签标记。

你提供的标记值对于操作系统是未知的。






-32125	当前的数据库数超出范围。

该内部错误表示同时打开的数据库数超出了在OnLine/Secure中设置的限制。






-32124	在临时表上不能修改一个索引。

在临时表上变更索引是不合法的。






-32123	索引没有所有者。

只有索引的所有者可以执行你正在企图的操作。






-32122	不能修改系统目录表。

对于系统目录表，除了下一个范围大小以外，改变属性是不合法的。






-32121	取消一个索引的会话级不合法。

你的会话灵敏级必须等于该表的灵敏级。






-32120	无资源权限。

你正在执行的动作要求数据库上的资源权限。与数据库管理员联系，以获得需要的
权限。






-32119	变更一个索引的会话级不合法。

你的会话灵敏级必须等于该表的灵敏级。






-32118	没有建立一个索引的索引权限。

没有授与你在表上建立索引的权限。






-32117	建立一个索引的会话级不合法。

你的会话灵敏级必须等于该表的灵敏级。






-32116	变更一个约束的会话级不合法。

你的会话灵敏级必须等于该表的灵敏级。






-32115	不能改变一个表的所有权。

改变一个表的所有权是不合法的。






-32114	不能取消系统目录表。

只有当数据库被取消时，系统目录表才能被取消。






-32113	没有建立表模式的DBA权限。

与数据库管理员联系并请求DBA权限。






-32112	没有建立一个视图模式的DBA权限。

与数据库管理员联系并请求DBA权限。






-32110	取消一个数据库的会话级不合法。

你的会话灵敏级必须等于该数据库的灵敏级。






-32104	内部错误，无表描述符。

在内核字典中未找到指定表的表描述符。






-32103	标签比较操作失败。

该内部错误的出现是由于用于比较的标签是不可比较的或非法的，或者比较操作对于
该标签数据类型是非法的。






-32102	错误的标签范围。

为一个调用标签的操作指定的范围是非法的。这可能是由于错误的用户输入或一个内
部错误而产生的。






-32101	DAC检查失败。

你的会话身份不允许你在正在存取的OnLine/Secure对象上执行该操作，因为它违反
OnLine/Secure的DAC方针。用合适的身份注册或获得必要的权限并重试该操作。






-32100	MAC检查失败

你的会话灵敏标签不允许你在正在存取的OnLine/Secure对象上执行该操作，因为它违
反GBASEDBT OnLine/Secure的MAC方针。用合适的灵敏标签注册并重试该操作。






-32028	已达到保存点级别限制。

事务中有效保存点级别不超过 2 ** 30。在存储过程或 UDR 的执行期间将自动新建保存点级别。对存储过程或 UDR 的递归调用也会增加当前事务的保存点级别
。



-32027	同名的保存点已存在，并指定了 UNIQUE 选项。

在 SAVEPOINT 语句中指定的保存点名称已用于创建前一保存点，且前一保存点和当前保存点中，其中至少一个已具有 UNIQUE 选项。在指定 UNIQUE 选
项后，如果没有释放原始保存点，就不能在同一保存点级别中设置另一个同名的保存点。必须指定其他名称，或者在复用 UNIQUE 保存点标识之前先释放该保存点
。



-32026	找不到保存点。

在当前事务中找不到语句中引用的保存点。请使用“SAVEPOINT <savepoint_name>”语句设置新保存点
。



-32025	从 xadatasource 目的例程返回的值不正确。

xadatasource 目的例程返回的值无效。可能在 xadatasource 目的例程中存在错误
。



-32024	xadatasource 目的例程指示发生错误。

xadatasource 目的例程返回 MI_ERROR。



-32023	执行 xadatasource 目的例程执行序列时出错。

尝试执行 xadatasource 目的例程时出错。请重试该语句。



-32022	资源管理器正在全局事务外部执行工作。

该错误与 X/OPEN XA 规范标准中的 XAER_OUTSIDE 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_start 上下文中，资源管理器正在所有代表应用程序的全局事务外部执行工作
。

另请参阅资源管理器指南获取更多详细信息。



-32021	XID 已存在。

该错误与 X/OPEN XA 规范标准中的 XAER_DUPID 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_start 上下文中，如果标志中既未设置 TMRESUME 也未设置 TMJOIN（指示 *xid 的最初使用），并且资源管理器中已经存在 XID，那
么资源管理器必须返回 [XAER_DUPID]。资源管理器未能将事务分支和控制线程相关联
。

另请参阅资源管理器指南获取更多详细信息。



-32020	资源管理器不可用。

该错误与 X/OPEN XA 规范标准中的 XAER_RMFAIL 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit、xa_end、xa_forget、xa_recover、xa_rollback、xa_start 上下文中，发生了导致资源管理器不可用的
错误。

在 xa_prepare 上下文中，发生了导致资源管理器不可用的错误。指定的 XID 可能已经或可能还没预备
。

另请参阅资源管理器指南获取更多详细信息。



-32019	在不正确的上下文中调用了目的例程。

该错误与 X/OPEN XA 规范标准中的 XAER_PROTO 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在不正确的上下文中调用了例程。

另请参阅资源管理器指南获取更多详细信息。



-32018	提供了无效的参数。

该错误与 X/OPEN XA 规范标准中的 XAER_INVAL 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_close、xa_commit、xa_complete、xa_end、xa_forget、xa_open、xa_prepare、xa_rollback
或 xa_start 上下文中，指定了无效的参数。

在 xa_recover 上下文中，指针 xids 为 NULL，且计数大于 0、计数为负，或指定了无效标志，或控制线程没有打开恢复扫描且没有在标志中指定 
TMSTARTRSCAN。

另请参阅资源管理器指南获取更多详细信息。



-32017	XID 无效。

该错误与 X/OPEN XA 规范标准中的 XAER_NOTA 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit、xa_end、xa_prepare、xa_rollback 上下文中，指定的 XID 对于资源管理器未知
。

在 xa_forget 上下文中，指定的 XID 对于资源管理器不是已知的启发式完成的 XID
。

在 xa_start 上下文中，在标志中设置了 TMRESUME 或 TMJOIN，并且指定的 XID 对于资源管理器未知
。

另请参阅资源管理器指南获取更多详细信息。



-32016	在事务分支中发生资源管理器错误。

该错误与 X/OPEN XA 规范标准中的 XAER_RMERR 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_close 上下文中，关闭资源时出错。

在 xa_commit 上下文中，落实代表事务分支执行的工作时出错，分支的工作已经回滚。请注意，返回该错误对于事务管理器标志着灾难性事件，因为其他资源管理器可能
成功地落实了它们代表此分支的工作。该错误仅在资源管理器断定自己永远无法落实该分支，并且无法以预备状态挂起资源时返回。否则，应返回 [XA_RETRY]
。

在 xa_end 上下文中，将事务分支与控制线程分离时出错。

在 xa_forget 上下文中，资源管理器中发生错误，并且资源管理器还未忽略事务分支
。

在 xa_open 上下文中，打开资源时出错。

在 xa_prepare 上下文中，资源管理器在准备落实事务分支的工作时遇到错误。指定的 XID 可能已经或可能还没预备
。

在 xa_recover 上下文中，确定要返回的 XID 时出错。

在 xa_rollback 上下文中，回滚事务分支时出错。在返回该错误时，只要已经将分支的状态通知给所有正在访问的控制线程，资源管理器就可以忽略该分支
。

在 xa_start 上下文中，将事务分支与控制线程关联时出错。

另请参阅资源管理器指南获取更多详细信息。



-32015	异步操作待处理。

该错误与 X/OPEN XA 规范标准中的 XAER_ASYNC 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在标志中已设置了 TMASYNC，并且已超过待处理异步操作的最大数量，或资源管理器的 xa_switch_t 结构的标志元素中未设置 TMUSEASYNC
。

另请参阅资源管理器指南获取更多详细信息。



-32014	必须在发生暂挂处执行恢复。

该错误与 X/OPEN XA 规范标准中的 XA_NOMIGRATE 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_end 上下文中，资源管理器无法为迁移准备事务上下文。但是，资源管理器已经暂挂了关联。事务管理器只能在当前线程中恢复关联。该代码仅可在标志中设置了 
TMSUSPEND 和 TMMIGRATE 时返回。在 xa_switch_t 结构的标志元素中设置了 TMNOMIGRATE 的资源管理器不需要返回 
[XA_NOMIGRATE]。

另请参阅资源管理器指南获取更多详细信息。



-32013	事务分支可能已经启发式完成。

该错误与 X/OPEN XA 规范标准中的 XA_HEURHAZ 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，由于某个故障，代表指定事务分支执行的工作可能已经启发式完成
。

在 xa_rollback 上下文中，由于某个故障，代表指定事务分支执行的工作可能已经启发式完成。资源管理器只有在已经成功准备 *xid 时才能返回该值
。

另请参阅资源管理器指南获取更多详细信息。



-32012	事务分支已经启发式落实。

该错误与 X/OPEN XA 规范标准中的 XA_HEURCOM 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，由于启发式决策，代表指定事务分支执行的工作已落实
。

在 xa_rollback 上下文中，由于启发式决策，代表指定事务分支执行的工作已落实。资源管理器只有在已经成功准备 *xid 时才能返回该值
。

另请参阅资源管理器指南获取更多详细信息。



-32011	事务分支已经启发式回滚。

该错误与 X/OPEN XA 规范标准中的 XA_HEURRB 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，由于启发式决策，代表指定事务分支执行的工作已回滚
。

在 xa_rollback 上下文中，由于启发式决策，代表指定事务分支执行的工作已回滚。资源管理器只有在已经成功准备 *xid 时才能返回该值
。

另请参阅资源管理器指南获取更多详细信息。



-32010	事务分支已经启发式落实并回滚。

该错误与 X/OPEN XA 规范标准中的 XA_HEURMIX 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，由于启发式决策，代表指定事务分支执行的工作已部分落实和回滚
。

在 xa_rollback 上下文中，由于启发式决策，代表指定事务分支执行的工作已部分落实和部分回滚。资源管理器只有在已经成功准备 *xid 时才能返回该值
。

另请参阅资源管理器指南获取更多详细信息。



-32009	返回的例程无影响，可以重新发出。

该错误与 X/OPEN XA 规范标准中的 XA_RETRY 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，资源管理器此时无法落实事务分支。在存在阻塞条件，并且设置了 TMNOWAIT 的情况下，会返回该值。但是请注意，即使在 
TMNOWAIT 未设置时（例如，如果必需的稳定存储器当前不可用）也会返回该值。如果在标志中设置了 TMONEPHASE，那么不能返回该值。所有代表 *xid 
挂起的资源保持在预备状态，直至可以落实为止。事务管理器应该在稍后重新发出 xa_commit
。

在 xa_complete 上下文中，在标志中设置了 TMNOWAIT，并且未完成任何异步操作
。

在 xa_start 上下文中，在标志中设置了 TMNOWAIT，并且存在阻塞条件
。

另请参阅资源管理器指南获取更多详细信息。



-32007	资源管理器检测到瞬时错误。

该错误与 X/OPEN XA 规范标准中的 XA_RBTRANSIENT 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

资源管理器检测到瞬时错误。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32006	因事务分支耗时过长导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBTIMEOUT 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

该事务分支代表的工作花费太长时间。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32005	在资源管理器中发生协议错误。

该错误与 X/OPEN XA 规范标准中的 XA_RBPROTO 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在资源管理器中发生协议错误。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32004	资源管理器因某个原因（并非 XA 回滚错误）而回滚事务分支
。

该错误与 X/OPEN XA 规范标准中的 XA_RBOTHER 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，资源管理器由于某个原因（并非 XA 回滚错误）而回滚事务分支。资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回
滚分支的工作并已释放所有挂起资源。只有当标志中设置了 TMONEPHASE 时，才可以返回该值
。

在 xa_end 上下文中，资源管理器由于某个原因（并非 XA 回滚错误）而将事务分支标记为“仅回滚”。资源管理器已将事务分支和控制线程分离，并将代表 *xid
执行的工作标记为“仅回滚”。

在 xa_prepare 上下文中，资源管理器由于某个原因（并非 XA 回滚错误）而回滚事务分支。资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理
器已回滚分支的工作并已释放所有挂起资源。

在 xa_rollback 上下文中，资源管理器由于某个原因（并非 XA 回滚错误）而回滚事务分支。资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已
标记为“仅回滚”时，通常将返回这些值。

在 xa_start 上下文中，资源管理器由于某个原因（并非 XA 回滚错误）而将事务分支标记为“仅回滚”。资源管理器还未将事务分支和控制线程关联，并且已标记 
*xid 为“仅回滚”。

另请参阅资源管理器指南获取更多详细信息。



-32003	检测到违反资源完整性的情况。

该错误与 X/OPEN XA 规范标准中的 XA_RBINTEGRITY 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

资源管理器检测到资源完整性违例。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32002	因检测到死锁而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBDEADLOCK 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

资源管理器检测到死锁。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32001	因通信失败而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBCOMMFAIL 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

资源管理器中发生通信失败。

在 xa_commit 上下文中，资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源。只有当标志中设置了 
TMONEPHASE 时，才可以返回该值。

在 xa_end 上下文中，资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“仅回滚”
。

在 xa_prepare 上下文中，资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放所有挂起资源
。

在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，通常将返回这些值
。

在 xa_start 上下文中，资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚”
。

另请参阅资源管理器指南获取更多详细信息。



-32000	因未指定的原因而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBROLLBACK 相同。有关更多信息，请参阅“分布式事务处理：XA 规范”
。

根据 X/OPEN XA 规范标准：

在 xa_commit 上下文中，资源管理器因为未指定的原因而回滚事务分支。资源管理器未落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并已释放
所有挂起资源。只有当标志中设置了 TMONEPHASE 时，才可以返回该值
。

在 xa_end 上下文中，资源管理器因为未指定的原因而将事务分支标记为“仅回滚”。资源管理器已将事务分支和控制线程分离，并将代表 *xid 执行的工作标记为“
仅回滚”。

在 xa_prepare 上下文中，资源管理器因为未指定的原因而回滚事务分支。资源管理器未准备落实代表事务分支执行的工作。在返回时，资源管理器已回滚分支的工作并
已释放所有挂起资源。

在 xa_rollback 上下文中，资源管理器因为未指定的原因而回滚事务分支。资源管理器已回滚事务分支的工作并已释放所有挂起资源。当分支已标记为“仅回滚”时，
通常将返回这些值。

在 xa_start 上下文中，资源管理器因为未指定的原因而将事务分支标记为“仅回滚”。资源管理器还未将事务分支和控制线程关联，并且已标记 *xid 为“仅回滚
”。

另请参阅资源管理器指南获取更多详细信息。



-29089	当客户机用户('<用户名>')没有被网关认证时，需要 RDB 口令。

当网关没有认证客户机用户 ID（以 '-b'选项开头的 gwd），并且应用程序也没有为
用户 ID 指定一个口令时，会发生该错误。

无论远程数据库服务器的安全配置如何，当 gwd以 '-b'选项开头时，网关都会期望
收到与用户ID 一起、对于远程服务器的口令。在这种情况下，网关将对用户 ID 的
认证完全授权予远程服务器。

请确保将口令提供给网关。






-29088	通讯缓冲区大小（尺寸）无效。

GBasedbt 连接网络模块分配的发送缓冲区小
于 DRDA 所需的最小尺寸，512 字节，或
大于最大尺寸，32,767 字节。

检查网关计算机上的 sqlhosts 文件。如果发送缓冲区大小
可以通过 sqlhosts 文件配置，确保发送缓冲区大小配置为
从 512 字节到 32,767 字节之间。

如果正在使用的网络协议是 TCP/IP，GBasedbt 连接网络
模块需要另外 6 字节。这就意味着用户可以指定的块尺
寸最小是 518 字节，最大是 32,773 字节。





-29087	网络协议通讯错误。
GBasedbt-SQLCODE,本地协议-rc：代码

与 GBasedbt 通讯相关的 SQLCODE 值和十六进制本地网络通讯
返回代码作为 SQLERRM 中的标记返回。

GBasedbt-SQLCODE 是独立于平台的返回代码，它是 GBasedbt 
通讯适配服务产生的。要得到有关此错误的更多特定描述，
请参见该 SQLCODE 值的解释。

本地协议-rc 值是由本地网络通讯服务产生的返回
代码，它提供在每个特定平台上支持的协议。有关
该返回代码的解释，请参见制造商的协议支持
文档，它提供底层的通讯服务。

要确保正确安装了本地网络通讯服务以及正确配置
了目标 AS，并且它当前正在运行。

示例：如果通讯协议是 TCP/IP，那么
本地协议-rc 值是本地 TCP/IP 服务
产生的返回代码。





-29085	数据源不支持游标保持特性。

数据源不支持带WITH HOLD子句的游标定义。或是目的数据库不支持在提交操作后游标
仍然保持打开状态，或是ODBC驱动程序不使用这种特点的游标。带WITH HOLD的定义的
游标在该数据源上不允许使用。





-29084	数据源不允许以写方式访问。

你的应用与一个支持事务的OnLine数据库相连，但语句中被访问的数据源不支持事
务。在这种配置条件下，非SELECT SQL语句（也就是包含或隐含写操作）不能用在该
数据源上。

在这种情况下，数据源没有能力实现协调Online数据库的事务特性。该数据源上的写
操作不认为是原子操作（例如，写文件操作可能在开始时正确，但由于磁盘空间不够
导致最终失败，而文件被部分改变）。同样，该数据源上的写操作在执行后不能被回
滚。基于这些原因，当协调Online数据库支持事务（也就是有日志），而数据源不支
持事务的情况下，不允许写操作。

如果需要对数据源进行分布式写访问（通过OnLine），那么从一个没有日志（或关掉
日志）的非ANSI数据库中访问数据源。





-29083	数据源不支持兼容隔离级。

这个错误在SET ISOLATION TO语句执行时产生，语句把数据源中某隔离级设置到另一
个与该级兼容的隔离级的企图失败。应用的当前隔离级保持有效。

如果这个错误在执行一个分布式SQL语句时发生，那么由于数据源支持的隔离级与你的
应用的当前隔离级不兼容而导致语句失败。应用的当前隔离级保持有效。

一个兼容的隔离级等于或高于所要的（或在分布式语句中是当前的）隔离级。如果数
据源支持要求的（或当前的）隔离级，GBASEDBT-Enterprise Gateway Manager把数据
源的隔离级设成该隔离级。如果数据源不支持要求的（或当前的）隔离级，
GBASEDBT-Enterprise Gateway Manager把数据源的隔离级设成下一个可使用的较高的
隔离级。

如果你的应用可以接受数据源支持的低一些的隔离级，那么把隔离级设成低的隔离
级。如果以直接方式访问GBASEDBT-Enterprise Gateway Manager，请使用
GWDIRECMIL环境变量设置隔离级。如果以分布访问方式（通过Online）访问
GBASEDBT-Enterprise Gateway Manager，在访问网关的分布式语句执行前，执行一
个SQL语句SET ISOLATION TO。





-29082	不能为编号为field-number的字段的字段值译码。

在取来的行中，编号为field-number的字段值不能被译码及被转换成GBasedbt数据
值。字段编号是选中的字段序列中不能被转换的字段的顺序位置。这是该目的DBMS的
ODBC驱动程序的错误。不能被译码的字段值和驱动程序名及版本号一起被写入网关的
日志文件中。
请与ODBC驱动程序的供应商探讨问题的解决办法。





-29081	ODBC错误（message_token）。

网关连接目的DBMS（数据库管理系统）时使用的一个ODBC（开放数据库连接）元件报
告了这个包含有message_token（信息标志）的错误。参考ODBC文档，改正这个错误。
message_token的格式如下：

[ODBC_Error_Code Sqlstate Driver_Prod_id]ODBC_Error_Message
ODBC_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.





-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.





-29071	网关不能为包 RDBName.CollectionID.PackageID 找
到包信息

指定包 RDBName.CollectionID.PackageID 的
网关包信息没有找到。可能指定的包没有被
绑定，或者在应用程序到包映射中映射的包
不正确。

与数据库管理员（DBA）联系。DBA 可以使
用 gwdba 实用程序绑定指定的包或确保应用程
序到包映射的入口点有效。





-29070	包隔离水平与 alias_rdbname、
isolation_level 不匹配

对给定 alias_rdbname 和 alias_rdbname 的
应用程序到包映射的入口指向包，包的隔离
水平与 isolation_level 不同。

确保应用程序到包映射的入口有效，并且
对映射的包 isolation_level 匹配 gwbind 文
件中的隔离水平。





-29068	无法解码从 EDA Server 接收的一个字段值。

在正访存的行中，有一个字段值无法解码并转换为 GBasedbt 数据值。发生这种情况通常是由于 EDA/SQL Server 无法将该字段值从其底层数据源中的实
际值转换为指定的“主文件描述”（MFD）使用格式。例如，如果 MFD 表中的使用格式是 I2（最大字段长度为 2 个字符的整数值），而字段值为 300，那么 
EDA/SQL Server 就无法使 300 适合于指定的 2 个字符的字段长度
。

如果发生这种情况，那么由于 EDA/SQL Server 发送了一个标记值而非实际的字段值，因此网关发出错误。请检查 MFD 中的使用格式字段长度规范是否足够容
纳您的数据所包含的实际字段值。如果该操作不能解决问题，请联系 IBM 技术支持，以便在跟踪接收自 EDA/SQL Server 的数据方面获得帮助
。



-29067	不能访问EDALINK.CFG文件（reason）。

由于指出的原因，EDALINK.CFG文件不能被访问。原因的格式为（ 名字：数值），数
值指明当访问一个指定文件或目录时的操作系统错误。通常，故障发生是因为
EDLINK.CFG不在$GBASEDBTDIR/etc目录中。EDALINK.CFG是一个EDA/Link的配置文件，
连接EDA/SQL服务器时需要用到。请查阅EDA/Link文档以确定文件的内容。





-29066	.netrc中的'userid'入口需要密码。

.netrc文件包含了一个把当前帐号（userid）映射到发往一个远程服务器或数据源的
新帐号的入口。在这种情形下，新的帐号与当前帐号不同，但没有指定与新帐号一块
发往远程服务器或数据源的密码。因为网关没有验证新帐号，远程服务器或数据源没
有密码也无法验证新帐号，所以产生了这个错误。送一个不带密码的新帐号至远程服
务器或数据源表明网关已经验证了新帐号（而网关并没有这样做）。





-29065	在EXECUTE PROCEDURE时，不允许有输入宿主变量。

在预备执行的动态EXECUTE PROCEDURE语句中，为至少一个输入参数值使用了参数标
志。网关处理的这个EXECUTE PROCEDURE语句不支持为输入参数使用的参数标志。重
写应用，避免在这个EXECUTE PROCEDURE语句中使用输入宿主变量作为输入参数。





-29064	收到了未知的EDA数据类型。

网关收到的输出EDA数据类型是一个未知的数据类型。当网关连接到网关不支持的版本
的EDA/SQL服务器时，可能收到未知的数据类型。如果网关不支持这个版本，那么，这
是EDA产品或网关的内部错误。





-29063	在预备和执行之间，输出数据说明改变。

在预备时返回的输出数据说明与在执行时返回的输出数据说明不同。在预备时的输出
数据说明从查询中的对象（例如，表或远程过程）的目录信息中获得。这个错误通常
在对象的目录信息过时的情况下发生。

如果对象没有被编目，或者在最后一次编目之后被修改，必须使用EDASAF编目面板对
对象进行（重）编目。如果在EDA/SQL服务器中使用了GBasedbt类型的系统目录表，那
么，在使用EDASAF更新了EDA系统目录表后，必须使用egwdba实用工具重新生成
GBasedbt类型的系统目录表。





-29062	收到一个EDA 客户程序或服务程序来的提示。

EDA客户程序或服务程序提示网关对一条信息作出反应。网关不支持EDA要求对提示信
息作出反应的操作。例如，EDA远程过程可能提示用户进行输入。这些类型的操作不被
支持。





-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文档中查阅这个错误，并改正之。





-29057	网关不支持远程别名（remote-object-name)。

在分布式查询中，网关不支持访问DB2远程别名。一个对象的远程别名不在别名被定义
的同一服务器上。
Remote-object-name是该远程别名引用的一个三部分对象名称（使用LOCATION.
OWNER.OBJECT的格式）。





-29056	网关不能回滚存储点。

在进行远程分布式更新时出现错误。因为GBASEDBT网关不能撤销部分更新的结果，应
用必须使用COMMIT WORK或ROLLBACK WORK语句中断当前事务，这两个语句都回滚当前
的活跃事务。任何当前事务中的语句失败并返回这个错误代码。





-29055	一个远程对象不允许DDL语句。

在分布式查询中，GBASEDBT网关不允许数据定义语句和数据访问语句GRANT及REVOKE
作用在远程对象上（例如在DRDA应用服务器现场的对象）。这些语句仅有在以直接方
式使用网关时才能被应用使用。





-29053	在引用对象Object时，对象集丢失。

任何引用OS/400对象的分布式查询都必须指定对象所属的OS/400的集或库。这个集或
库名在对象全名database@dbservername:owner.object的owner字段给出。在获取给定
集或库中的指定对象的目录信息时，需要集或库名。





-29052	网关不能访问名为 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，必须为每个远程
数据源启动一个单独的网关 daemon（有唯一的 gwservername）。然后
改变应用程序，使其中的每个唯一的 gwservername 都总是与相同的
data-source-name 关联使用。例如，下列语句一致地将 data-source-name dsn1 
与 gwservername gw1 关联，将 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 标记根据网关产品的不同，而具有不同
的含义： 

    *   对于 GBASEDBT 企业网关管理器，data-source-name 指 ODBC 
	数据源名。

    *   对于具有 DRDA 的 GBASEDBT 网关，data-source-name 指 
	alias-RDB-name。每个网关实例只可连接到一个 RDB（应用程序
	服务器）上。

    *   对于 GBASEDBT 企业网关，data-source-name 指 EDA-Server-name。
	每个网关实例只可连接到一个远程服务器上。





-29051	在一个事务中，只允许单一节点更新。

网关不支持两阶段提交。如果某个网关访问的远程服务器是一个事务中的
更新节点时，那么这个节点应是这个事务中唯一的更新节点。所有的其他
节点，包括 GBasedbt 节点，必须是只读的。修改应用程序，使得每个事
务仅更新一个远程节点。（但是，如果在事务中的所有节点都是只读的，
那么在同一事务中可以更新任意数目的 OnLine 节点）。

只有在协同该事务的数据库服务器为早于 Version 7.2 的版本，或者
为 Version 7.2 版本或更晚的版本、但是 HETERO_COMMIT 配置参数
没有设置的情况下，才使用这条错误信息。






-29050	访问模式信息出错（Orig-Msg[Sub=Sub-code,Ifx=Orig-code,
Obj=Object-name])

访问关于对象Object-name的目录消息时网关出错。当处理一个分布查询是，网关把这
些目录消息送至相应OnLine服务器。

在访问目录时可能出现的一些错误会导致这条信息。Orig-code是这个错误的错误代
码，Orig-Msg是和这个错误代码相应的信息标记。Sub-code是表明哪一个目录访问查
询失败和在查询处理的哪一步失败的十六进制的GBASEDBT内部代码。这个诊断信息字
段用于GBASEDBT的技术支持部。

尽管在程序性访问条件下，错误信息标记可能被截断，但在$GBASEDBTDIR/gw/log
目录中的网关日志文件gw.log中记录了全部的信息。





-29049	不能定位/打开网关安装文件名。

如果使用 IPC 管道方式启动网关进程，则应确保在应用程序启动前，
GBASEDBTDIR 环境变量设置正确。

*   对于具有 DRDA 的 GBasedbt 企业网关：

当定位或打开由 gwdba 实用工具管理的网关 ISAM 安装文件时出错。
引起错误的 ISAM 安装文件的名称将在 SQLERRM 中返回。

如果正在使用网络连接，具有 DRDA 的 GBasedbt 企业网关数据库管理
员必须确保在 $GBASEDBTDIR/gw/sysinfo 目录中存在已命名的文件。如
果文件遗漏了，可通过运行 gwdba 来建立。DBA 还必须确保 gwd daemon 
启动时，GBASEDBTDIR 环境变量设置正确。

*    对于 GBasedbt 企业网关: 

当定位或打开由 egwdba 实用工具管理的 GBasedbt 企业网关 ISAM 
安装文件时出错。引起错误的 ISAM 安装文件的名称将在 SQLERRM 
中返回。

如果正在使用网络连接，InfoGBasedbt 企业网关 DBA 必须确保在
$GBASEDBTDIR/gw/sysinfo 目录中存在已命名的文件。如果文件遗漏了，
可通过运行 egwdba 来建立。DBA 还必须确保在 egwd daemon 启动时，
GBASEDBTDIR 环境变量设置正确。

*   对于 GBasedbt 企业网关管理器: 

当定位或打开网关 ISAM 安装文件时出错。引起错误的 ISAM 安装文
件的名称将在 SQLERRM 中返回。

如果正在使用网络连接，GBasedbt 企业网关管理器数据库管理员必须
确保在“$GBASEDBTDIR/gw/sysinfo”目录中存在已命名的文件。如果
文件遗漏了，可通过运行 egwdba 来建立。DBA 还必须确保在
egwd daemon 启动时，GBASEDBTDIR 环境变量设置正确。






-29048	ISAM错误：<错误信息>。

当从一个用xxxdba实用工具管理的GBASEDBT-网关ISAM安装文件读取数据时出现ISAM
错误。出现故障的ISaM设置文件名及ISAM错误号在SQLERRM中返回。
如果网关由IPC管道方式的方法产生，用户必须确认应用开始以前GBASEDBTDIR环境变
量的设置是正确的。否则，通知DBA：

*	GBASEDBT-Entrprise网关的DBA必须确认$GBASEDBTDIR/egw/sysinfo 目录存
在且有合适的权限，且ISAM安装文件在该目录中。如果GBASEDBT-Entrprise网关安装
文件被丢失或损坏，运行egwdba建立它，或者运行bcheckegw实用工具对它进行修复。
如果GBASEDBT_Enterprise网关由网络方式(即，用daemon egwd)的方法产生，DBA同样
必须确认当egwd daemon启动时在根注册中的GBASEDBTDIR环境变量被正确地设置。

*	GBASEDBT_Gateway with DRDA的DBA必须确认$GBASEDBTDIR/gw/sysinfo
目录存在且有合适的权限，且ISAM安装文件在该目录中。如果网关安装文件被丢失或
损坏，运行gwdba建立它，或者运行bcheckgw实用工具对它进行修复。
如果网关由网络方式(即，用daemon gwd)的方法产生，GBASEDBT_Gateway with DRDA
的DBA同样必须确认当gwd daemon启动时在根注册中的GBASEDBTDIR环境变量被正确地
设置。






-29046	SNA缓冲区大小(size)是无效的。

GBASEDBT联接网络模块设置的发送缓冲区小于DRDA要求大小的最小值，最小值是512字
节，或者大于要求大小的最大值，最大值是32,767字节。
检查网关机器上的sqlhosts文件。如果发送缓冲区大小可通过sqlhosts文件配置，确
认发送缓冲区大小配置在从512字节到32,767字节的范围内。






-29045	发生网关内部逻辑错误 [diagnostic-error-string]。已断开与应用程序服务器的连接
。

发生内部逻辑错误。该错误将导致对话被释放。

请重新运行该应用程序。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29044	发生网关内部逻辑错误 [diagnostic-error-string]。

发生内部逻辑错误。请重新运行该应用程序。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29043	不再有剩余的section-type 节。用更多的节重新连接网关包。

在该应用服务器的当前包中的全部可供使用的节已被用完。当前的SQL语句被终止。
通知DBA。DBA可以使用gwdba实用工具在目标RDB上重新连接有更多节的网关包。






-29042	RDB <rdbname>的包信息没找到。用gwdba连接。

目标RDB的网关包信息没找到。它的出现是由于RDB上必要的网关包还没有被连接。
目标RDB的<实际RDB名>作为一个标记返回到SQLERRM中。

最终用户应该与DBA联系。DBA可以用gwdba实用工具在目标RDB上连接需要的网关包。






-29040	不能把MATCHES模式翻译到LIKE模式。

网关不支持或不能翻译在你给出的SQL语句的MATCHES条件中的一个或多个字符。尝试
重写该语句，用LIKE代替MATCHES，或是在MATCHES语法中不包括象'['、']'、'?'、
'*'之类的通配符。同时检查是否在WHERE子句的MATCHES中包含了非CHAR或非VARCHAR
类型的列。





-29039	在PREPARE/EXECUTE IMMEDIATE中不能有多于一条的SQL语句。

修改该应用以便在一个PREPARE 或 EXECUTE IMMEDIATE 语句中不包含一条以上的
SQL语句。






-29037	没有关于FE OS位置<位置名>的CCSID或GLS位置设置。

有问题的位置作为一个标记返回到SQLERRM中。

通知GBASEDBT网关管理员。管理员可以用gwdba实用工具为该位置增加一个表目。






-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 标识的代码集转换的代码集转
换表。参照你的GBasedbt 产品文档查找对这些代码集号标识的代码集的描述。
如果合适的目录（参见下一节）不包含命名为 filename 的代码集转换文件，就不能
执行代码集转换。检查你的GBasedbt 产品文档以确保客户和服务器产品使用的代码集
已被正确说明（使用文档中描述的环境变量或其它机制）。代码集号或许已被不正确
地说明或者等价于其它被支持的代码集号。

如果代码集转换表存在，检查你的产品安装是否正确，以使转换表能够定位。特别要
确保 GL PATH 环境变量根据安装说明进行设置或不设置。

    *   如果 GL PATH 未被设置，检查转换表文件是否在 GBASEDBTDIR/gls/cv 
	目录中。

    *   如果 GL PATH 被设置，检查转换表文件是否在 GL_PATH 环境变量说明的
	目录中。

如果代码集转换表不存在，同你的 GBasedbt 软件分销商联系以确定对你的设置需要
什么代码集转换表。如果所要求的代码集转换表可以使用，将表放置到合适的目录
中。






-29035	网关收到一个不相容数据类型。

从应用服务器收到一个不相容的或不被网关支持的数据类型。（对GBASEDBT_Gateway
with DRDA，应用请求者不支持从应用服务器收到的该数据类型。）
一些不支持的数据类型的实例是，一字节整型，十六字节浮点数。GBasedbt不支持这
些数据类型。
不要从具有GBASEDBTGateway不能支持的数据类型的字段检索数据。






-29034	字符代码集转换错误。标记：from-cs-num、
to-cs-num、cftype、objtype、position。

在将一个字符串从 from-cs-num 标识的代码集转
换到 to-cs-num 标识的代码集时，
字符代码集转换失败。

cftype

转换失败类型。

from-cs-num

输入代码集的代码集号。检查你的GBasedbt 产
品文档中描述该代码集号标识的代
码集。

objtype

被转换的对象的类型。

position

被转换的值的顺序位置。

to-cs-num

输出代码集的代码集号。检查你的GBasedbt 产
品文档中描述该代码集号标识的
代码集。

以下是可能的 cftype 值：

    *    如果cftype 是“unmapped input char”（cpstring），
	则在输出代码集中，输入字符不存在，
	而且，转换表未定义输入字符的替换
	输出字符。cpstring 值指示长度最长为 4 字节
	的输入字符串，该输入字符串从不能转换的
	码点开始。码点字节的二进制值用 cpstring 表示
	成十六进制字符串（例如，‘clc3d1f0'）。

这一失败类型可能由以下两个原因产生：

1.      被转换的字符数据是错误的。改正被转换的字符数据。

2.      代码集转换表不正确或不完全。
与你的GBasedbt 软件分销商联系以获得帮助。

    *   如果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。





-29033	无法加载 GLS：localename, errno,
locale-file-name。

localename        无法加载的 GBasedbt GLS 位置的
                  名称。Localname 值的格式必须是
                  language_territory.codeset。

errno             指出无法加载 GBasedbt GLS 位置
                  特定原因的编号。

locale-file-name  无法加载的 GBasedbt GLS 位置文件的子目录和文件名
                  （例如，/en_US/0333.lco ）。

language          语言名称的两小写字母缩写。

territory         地域名称的两大写字母缩写。

codeset           位置的字符代码集名称。

代码集字段的有效值是在
$GBASEDBTDIR/gls/cm/REGISTRY 文件中注册的。值是
描述代码集的字符串。但是，如果代码集字段是
范围为1到65,535的整数，那么它是可接受的，即使
它不在 REGISTRY 文件中也是这样。

加载 localname 所指定 GBasedbt GLS 位置失败，
原因由如下 errno 指出：

 6  位置说明 localname 格式错误。

    网关管理员必须纠正该说明。

 7  locale-file-name 指定的位置文件不存在。

如果适当的目录（参见下一段）不包含
子目录指定的位置文件和 local-file-name 指定
的文件名，那么该 GBasedbt GLS 位置无效。
请阅读 GBasedbt 产品文档，以确保指定了
正确的 GBasedbt GLS localname（使用文档说明
的环境变量或其它机制）。可能此错误指定了
GBasedbt GLS localname 或等于其它有效的
GBasedbt GLS 位置。

如果 local-file-name 指定的子目录和文件名存在，
请确保正确安装了产品，以便定位 GBasedbt
GLS 位置文件。特别是要确保根据网关安装指导
设置（或没有设置）GL_PATH 环境变量：

    *   如果没有设置 GL_PATH，请确保 locale-file-name 指定的
        子目录和文件在 $GBASEDBTDIR/gls/lc
        目录中。

    *   如果已经设置了 If GL_PATH，请确保 local-file-name 指定的
        子目录和文件在 GL_PATH 环境变量指定的
        其中一个目录中。

 10 local-file-name 指定的本地文件不是本地文件。

Local-file-name 指定的本地文件不是 GBasedbt GLS
本地文件，或者它已经损坏。请检查是否使用了 GBasedbt
产品提供者提供的本地文件。如果它已经损坏，
请用原来的安装文件刷新文件。

 11 位置对象不一致。

位置对象不一致。例如，相同的代码集没有
在每个位置种类中使用。请与 GBasedbt 产品
提供者联系以获得帮助。

对于任何其它 errno 值，请与 GBasedbt 产品提供者联系，以
获得帮助。





-29032	无法确定应用程序服务器 CCSID。

需要网关以执行该客户机操作系统语言环境的出站字符代码集转换，但网关无法确定应用程序服务器的 CCSID
。

通知网关的管理员。管理员必须将 GWASCCSID 环境变量设置为与应用程序服务器的单字节 CCSID 相匹配。如果使用了网络方式，那么网关管理员必须在设置 
GWASCCSID 环境变量后停止并重新启动网关守护程序。然后，网关管理员必须使用 CONNECT 语句或 DATABASE 语句连接到应用程序服务器。该连接会
捕获在高速缓存文件 $GBASEDBTDIR/gw/sysinfo/prnccsid.dat 中的所有 CCSID
。



-29031	表或视图名 objname 有不合法的格式

gwdba实用工具的加表与清除表选项用于从应用服务器上的GBasedbt 目录增加与清除
表与视图，这些选项需要表名或视图名的文件作为输入。列出的表名或视图名
(objname)具有不合法的格式。文件中的表名与视图名必须具有以下格式：

owner.tabname





-29030	网关不支持的特性<feature-name>。

网关不支持的特性。(例如，网关不支持GBasedbt特有的 SQL 语句或GBasedbt特有的
数据类型。)不支持的特性作为一个标记返回到SQLERRM中。

改正该应用，并在SQL语句上，不使用网关不支持的任何特性。因为,SQL语句在
执行期间将跨越该网关。






-29019	应用程序服务器不支持以下 DDM 对象类型：object-codepoint
。

应用程序服务器不支持 DDM 对象。当前 SQL 语句的处理已终止。该应用程序已断开与应用程序服务器的连接
。

SQLERRM 包含存在问题的对象类型的十六进制 DDM 代码点。

请尝试再次运行该应用程序。如果问题仍然存在，请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-29018	应用程序服务器不支持以下 DDM 命令：command-codepoint。

应用程序服务器不支持 DDM 命令。该错误导致命令处理终止。该应用程序还已断开与应用程序服务器的连接
。

SQLERRM 包含存在问题的 DDM 命令的十六进制代码点。

请重新运行该应用程序。如果问题仍然存在，请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并联系
IBM 技术支持。



-29016	在绑定未处于活动状态时遇到与绑定相关的命令 (codepoint=codepoint)
。

尝试以特定包名和一致性标记绑定语句或 End Bind，但该包并未处于绑定过程
。

该消息表示发生网关内部逻辑错误。请重试该应用程序。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29015	绑定期间尝试了与绑定无关的 DDM 命令 (codepoint=codepoint)
。

在执行远程绑定期间尝试远程执行 SQL 语句或远程命令。在绑定期间，只允许执行 Bind、End Bind、ROLLBACK 或 COMMIT。

该消息表示发生网关内部逻辑错误。存在问题的 DDM 命令作为 SQLERRM 中的标记返回
。

来自最终用户的应用程序不应处于绑定方式。只有在 gwdba 实用程序的包绑定过程中才会进行包绑定。请重新运行该应用程序。如果该错误重复出现，请记下所有情况并联系
IBM 技术支持。



-29014	硬件AS资源不可使用。原因，类型，
名字，PrdID，RDB:<原因>，<资源类型>，<资源名字>，<产品ID>，<RDB名>。

在远程RDB上的资源不可使用。该应用从应用服务器被断开。

<原因>，<资源类型>，<资源名字>，<产品ID>，和<RDB名>作为一个标记返回到
SQLERRM中。

检查不可使用的资源的身份。确认应用服务器有需要的资源。再运行该应用。






-29013	AS资源不可使用。原因，类型，名字，PrdID，RDB:<原因>，<资源类型>，
<资源名字>，<产品ID>，<RDB名>。

在远程RDB上的资源不可使用。当前的SQL语句被终止。

<原因>，<资源类型>，<资源名字>，<产品ID>，和<RDB名>作为一个标记返回到
SQLERRM中。

检验不可使用的资源的身份。确认应用服务器有所需的资源。






-29012	一个或多个表已经被删除，变更，或换名。

一个准备的语句无效了，因为它参考的表的模式已经改变。你必须重新准备该语句。






-29011	SNA通讯错误。
GBasedbt SQLCODE，本地-SNA-rc: 
GBasedbt-通讯-SQLCODE，本地SNA返回码。

一个 GBasedbt 通讯相关的SQLCODE和一个十六进制本地SNA服务返回码作为一个标记
被返回到SQLERRM中。

GBasedbt 与通讯相关的SQLCODE是由 GBasedbt 通讯适应服务进程产生的一个与平台
无关的返回代码。该错误的更多特定描述请参考这个SQLCODE的解释。

本地SNA服务返回代码是由本地SNA服务产生的一个返回代码。本地SNA服务在每个
特殊平台提供SNA支持。参考制造商文档中有关基本通迅服务器提供的SNA支持和
对这个返回代码的解释。

确认本地SNA/APPC服务器的安装是正确的。检查全部要求的SNA daemon 进程正在
执行(如果需要)。而且要检查是否正确安装了目标RDB的<联接文件>。在一个SUN环境
中，还要检查是否正确安装了SUN APPC网关。






-29010	网关不支持应用程序服务器回复消息 (codepoint=codepoint)
。

网关收到不受支持/无法识别的 DDM 回复消息。当前的 SQL 语句已终止。该应用程序已断开与应用程序服务器的连接
。

接收的 DDM 回复消息的十六进制代码点已作为 SQLERRM 中的标记返回
。

要解释 DDM 回复消息的十六进制代码点，需要具有 DDM 知识。

请尝试再次运行该应用程序。如果问题仍然存在，请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-29009	DDM 参数值 (parameter,parameter-value) 不受支持。已断开与应用程序服务器的连接
。

远程 RDB 收到不受支持/无法识别的 DDM 参数值。当前的 SQL 语句已终止。该应用程序已断开与应用程序服务器的连接
。

存在问题的 DDM 参数的十六进制代码点以及参数值作为 SQLERRM 中的标记返回
。

要解释 DDM 参数的十六进制代码点以及参数值，需要具有 DDM 知识
。

请尝试再次运行该应用程序。如果问题仍然存在，请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-29008	发生“DDM 参数 (parameter-codepoint) 不受支持”错误。已断开与应用程序服务器的连接
。

遇到不受支持的 DDM 参数。

远程 RDB 收到不受支持/无法识别的 DDM 参数。当前的 SQL 语句已终止。该应用程序已断开与应用程序服务器的连接
。

存在问题的 DDM 参数的十六进制代码点作为 SQLERRM 中的标记返回
。

要解释 DDM 参数的十六进制代码点，需要具有 DDM 知识。

请尝试再次运行该应用程序。如果问题仍然存在，请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-29007	RDB 授权失败。RDB-用户 ID：<RDB-用户 ID>，<RDB-名字>。

没有授权给用户存取目标 RDB。这一请求被拒绝。

若有必要，请与 RDB 方的 DBA 联系。解决权限问题后，重新运行应用程序。






-29006	发生 DRDA 连接协议错误。管理器和级别 (manager,level) 不受支持
。

连接过程失败。

应用程序服务器无法支持在 DRDA 连接过程中由 AR（应用程序请求器）请求的 DRDA 管理器级别
。

请求的管理器 (MGRLVL) 和级别的十六进制代码点作为 SQLERRM 中的标记返回
。

请尝试再次连接应用程序服务器。如果问题仍然存在，请通知 DBA 以获得帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29005	发生严重的 DRDA 协议错误。ReplyMsg[,子代码]: ReplyMessage-codepoint[,子代
码].

DRDA 协议错误导致对话被释放。

从应用程序服务器收到 DRDA 内部“分布式数据管理”(DDM) 回复消息 (RM)。该消息表明发生了一个错误。应用程序服务器或者可能是应用程序请求者 (AR)
检测到一个错误。

十六进制代码点（可能还有十六进制子代码）作为 SQLERRM 中的标记返回
。

要解释十六进制代码点和十六进制子代码，需要具有 DDM 知识
。

十六进制代码点是用于表示错误的 DDM 回复消息的 2 字节十六进制代码点，如下所示
：

*   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）会附带 2 字节的十六进制子代码。在其他所有情况中，子代码为零
。

如果子代码非零，那么它的高位字节表示检测到错误的位置。如果 AR 检测到错误，那么该位是 X'01。如果应用程序服务器检测到错误，那么该位是 X'02'。低位字
节如下：

*   如果原因码 = DSCINVRM，那么为描述错误代码 (DSCERRCD)

*   如果原因码 = SYNTAXRM，那么为语法错误代码 (SYNERRCD)

*   如果原因码 = PRCCNVRM，那么为会话式协议错误代码 
(PRCCVNCD)

*   如果原因码 = MGRDEPRM，那么为管理器依赖性错误代码 
(DEPERRCD)

请通知 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29004	发生 DRDA 协议错误。ReplyMsg[,子代码]: ReplyMessage-codepoint[,子代
码].

DRDA 协议错误使当前的 SQL 语句无法成功执行。该错误不会影响后续 SQL 语句的成功执行
。

从应用程序服务器收到 DRDA 内部“分布式数据管理”(DDM) 回复消息 (RM)。该消息表明发生了一个错误。应用程序服务器或者可能是应用程序请求者 (AR)
检测到一个错误。

十六进制代码点（可能还有十六进制子代码）作为 SQLERRM 中的标记返回
。

要解释十六进制代码点和十六进制子代码，您需要具有 DDM 知识
。

十六进制代码点是用于表示错误的 DDM 回复消息的 2 字节十六进制代码点，如下所示
：

*   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）附带 2 字节的十六进制子代码。在其他所有情况中，子代码为零
。

如果子代码非零，那么它的高位字节表示检测到错误的位置。如果 AR 检测到错误，那么该位是 X'01。如果应用程序服务器检测到错误，那么该位是 X'02'。低位字
节如下：

*   如果原因码 = DSCINVRM，那么为描述错误代码 (DSCERRCD)

*   如果原因码 = SYNTAXRM，那么为语法错误代码 (SYNERRCD)

*   如果原因码 = PRCCNVRM，那么为会话式协议错误代码 
(PRCCVNCD)

请联系 DBA，以便在分析产生该 SQLCODE 的 SQL 语句方面获得帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-29003	在应用程序服务器中无法找到 RDB real-RDB-name。

尽管已分配了通讯会话，但由于应用程序服务器的 real-RDB-name 与
应用程序所要连接的不同，应用程序服务器拒绝连接。

检查网关计算机上的 sqlhosts 文件。找到应用程序引用的 alias-RDB-name 
输入项。

如果是用 SNA 网络协议与应用程序服务器连接，请确保“主机名”
显示字段的值正确。

如果是用 TCP/IP 网络协议与应用程序服务器连接，请确保在“选项”
显示字段中“RDB=real-RDB-name”选项的值正确。






-29002	提供的 real-RDB-name 与 sqlhosts 中的 real-RDB-name 不匹配。

侦测到用户自定义的 real-RDB-name 和用 sqlhosts 文件由用户自定义的 
alias-RDB-name 衍生出的 real-RDB-name 不匹配。

检查用户自定义的 real-RDB-name 的拼写，确保用户自定义的 alias-RDB-name 
正确。

如果是用 SNA 网络协议与应用程序服务器连接，可检查 sqlhosts 文件
中 alias-RDB-name 输入项的 real-RDB-name 字段（“主机名”显示字段），
检查其拼写是否正确。

如果是用 TCP/IP 网络协议与应用程序服务器连接，可检查“sqlhosts”
文件中 alias-RDB-name 输入项的“RDB=real-RDB-name”选项（在“选项”
显示字段中），检查其拼写是否正确。






-29000	应用服务器错误 (服务器错误号)

出现了普通的应用服务器错误。检查原始的外部 SQLCODE。它能在 SQLERRD[1] 或 
SQLERRM 的部分中发现。在对外部服务器产品的文档中查找对这一 SQLCODE 的解释。
在 SQLERRM 字段中返回的标记适用于这个解释。





-28021	可信连接请求被拒绝。

入站请求的连接属性与服务器中创建的任何可信上下文定义都不匹配
。



-28016	未安装 GBASE Global Security Kit (GSKit)<version> 或更高版本。

未安装 GBASE Global Security Kit (GSKit) 或所安装版本太低。GSKit 提供了各种 API 以实现安全套接字层 (SSL) 通信和
加密功能。如果要设置 SSL 连接或使用加密功能，必须安装 GSKit。有关安装 GSKit 的指示信息，请参阅 $GBASEDBTDIR/gskit/
README 文件。



-28015	安全套接字层配置错误。

读取安全套接字层配置文件 (conssl.cfg) 时发生错误。



-28014	安全套接字层错误。

在执行安全套接字层操作期间发生错误。有关更多信息，请参阅随附的 GBASE Global Security Kit (GSKit) 错误消息
。



-27157	内部错误：无可用的接收缓冲区。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27156	内部错误：ASF -“通信支持服务”状态无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27155	内部错误：“通信支持服务”返回一个未定义的 css_status.state 代码
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27154	内部错误：ASF_TIMEOUT 语义无效；预期应为相同的输入缓冲区
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27153	内部错误：“通信支持服务”联系人为 NULL。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27152	内部错误：“通信支持服务”上下文已存在；无法创建另一个
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27151	内部错误：sqlhosts 文件中未定义“通信支持模块”规范字符串
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-27100	内部通信错误：NSF 子系统错误。

如果内部 NSF 子系统发生故障，会显示该错误消息。请联系 IBM 技术支持
。



-27010	只有管理用户或 gbasedbt 能以单用户方式连接。

数据库服务器处于单用户方式，只有管理用户或 gbasedbt 能以单用户方式连接
。



-27009	不允许使用组名连接 HDR 辅助服务器

对于 HDR 对，您的 GBASEDBTSERVER 设置指定了一个组项。HDR 主服务器当前不可用，而 HDR 辅助服务器仍处于辅助方式。要以只读方式连接
HDR 辅助服务器，请将 GBASEDBTSERVER 设置为辅助服务器的显式 DBSERVERNAME。要能够处理事务，请启用 HDR 主服务器，或者将 
HDR 辅助服务器转换为标准方式。



-27007	为用户线程打开的文件描述符无效。

在 TLITCP 轮询线程中发生内部 GBasedbt 网络错误。请记下所有情况并联系 IBM 技术支持
。



-27006	网络驱动程序不能建立监听末端。

用户将数据流管道 (ipcstr) 指定为该数据库服务器的网络通讯类型。
数据库服务器不能建立此数据流管道。出现此错误的最常见的原因是：
网络上的另一个服务器已在使用此数据库服务器的服务器名了。

检查网络上的全部数据库服务器，确保 $GBASEDBTDIR/etc/sqlhosts 
文件或 SQLHOSTS 注册表信息中的服务名值是唯一的。如果服务名是唯一的，
请检查随附的 ISAM 码，参考附加的出错信息。

如果已中止的联机服务器没有释放先前建立的具有相同名称的数据流
管道，则需要手工删除数据流管道文件 /GBASEDBTTMP/<servicename>.str 
和 /GBASEDBTTMP/<servicename>.exp。






-27005	非法的 sqlexecd daemon 选项，选项值

指定了一个无效的 sqlexecd daemon 选项。检查该选项选项值及其参数。





-27004	关于数据库服务器名，服务器名的非法的sqlhosts 文件选项/参数。

在 sqlhosts 文件中指定了一个无效的选项或参数。检查 sqlhosts 文件中与服务器
名相关的的选项ID 和参数。





-27003	内部通信错误：检测到内部不一致性。

GBase  客户机/服务器通信系统检测到内部不一致性。通常，客户机应用程序会报告该错误。该错误可能是由程序缺陷导致的内存崩溃错误。如果数据库服务器
或实用程序报告了该错误，那么它就是 GBasedbt 内部错误。如果发生 GBasedbt 内部错误，请记下所有情况并联系 IBM 技术支持
。



-27002	在GBasedbt 动态服务器 2000 静态方式中，不允许连接。

试图连接处于静态方式的数据库服务器。验证当前的 GBASEDBTSERVER 环境变量的设
置正确。请求数据库服务器管理员将适当的数据库服务器置成联机方式。








-27001	在连接期间，出现读错误。

这个错误在客户端和数据库服务器端都可能发生。

如果是在客户端遇到这个错误，表示在连接数据库服务器时，
出现网络输入/输出错误。可能是数据库服务器或网络非常
忙，导致连接申请时间用完；也可能是太多的客户端同时企
图连接数据库服务器；或者是在连接申请中数据库服务器
进入off-line状态。

如果在使用GBasedbt 动态服务器 2000、GBasedbt 动态服务器、
GBASEDBT-Universal 服务器、或 GBASEDBT-OnLine 动态服务器，
检验数据库服务器是否仍在OnLine状态。如果在使用GBASEDBT- SE 
数据库服务器;检验数据库服务器的 sqlexecd daemon 是否仍在运行。
用客户端的环境变量GBASEDBTCONTIME 和GBASEDBTCONRETRY来增加
连接时间和尝试的次数。

当是在数据库服务器端遇到这个错误，表示数据库服务器在接受客户端的
连接申请时，警告遇到了一个网络输入/输出错误。这个错误通常发生在
数据库服务器或网络繁忙或者也可能是太多的客户端同时企图连接数据库
服务器。这样数据库服务器需要用很多时间来响应客户端，以至于客户
的连接申请在连接完成之前就用尽时间。这个错误也有可能是客户端在连接
完全建立之前就结束了连接申请。

如果仅仅是偶尔在服务器的信息日志文件见到这个错误，那只是个警告信息。不需要
任何纠正措施。

如果这个错误在数据库服务器（运行于多处理器之上）中频繁出现，可以通
过增加监听线程和轮询线程的数目来调整数据库服务器。







-27000	在共享内存中不支持多重连接。

一个应用程序不能使用 CONNECT 语句，进行一次以上的使用共享内存通信(IPC)
的连接。

确保应用程序一次只进行一个共享内存连接。如果应用程序必须使用并行连接，
OnLine管理员，可能需要将共享内存连接改为网络连接的连接类型(在 sqlhosts 
文件中的 nettype 字段中指定) 






-26465	ALTER TRUSTED CONTEXT 语句针对指定的 <%s>，但可信上下文当前未定义为由此授权标识或 PUBLIC 使用
。

ALTER TRUSTED CONTEXT 语句针对尝试替换或除去 <authorizationname> 使用可信上下文的功能，但指定的授权标识或 
PUBLIC 当前未定义为使用该可信上下文。无法处理该语句。

如果 ALTER TRUSTED CONTEXT 语句包含 REPLACE USE FOR 子句，并且可信上下文未定义为由该授权标识或 PUBLIC 使用，请改
为使用 ADD USE FOR 子句定义要由指定用户使用的可信上下文。如果 ALTER TRUSTED CONTEXT 语句包含 DROP USE FOR 子句
，那么没有任何指定授权标识或 PUBLIC 当前定义为使用该可信上下文
。




-26464	CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 语句已多次指定 <%s>，或可信上下文已定义为由此授权标识或 
PUBLIC 使用。

该语句指定允许 <authorization-name> 使用可信上下文，但指定的授权标识或 PUBLIC 已定义为使用该可信上下文，或语句中已多次指定授权标识
。不能已允许授权标识或 PUBLIC 使用可信上下文，并且该授权标识只能在可信上下文的语句中指定一次。无法处理该语句
。

如果已多次指定授权标识或 PUBLIC，请除去额外的 <authorization-name> 指定，然后重新发出语句。如果 ALTER TRUSTED 
CONTEXT 语句包含 ADD USE FOR 子句，并且可信上下文已定义为由该授权标识或 PUBLIC 使用，请改为使用 REPLACE USE FOR 子
句重新定义用法特征，以使指定用户可使用该可信上下文。



-26463	用户 <user-name> 对于可信上下文不唯一。

在 CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 期间，WITH USE FOR 子句中指定了重复的用户 
<user-name> 值。无法处理该语句。

要更正此错误，请除去用户名的非唯一指定，并重新发出该语句
。



-26462	无法删除或变更用户 <user-name>，因为它不是可信上下文定义的一部
分

已为可信上下文指定用户 <user-name>，但该可信上下文未定义为具有使用此名称的用户。无法处理该语句
。

要更正此错误，请除去未定义用户的名称，并重新发出该语句
。



-26461	值为 <value-name> 的属性对于可信上下文不唯一。

在 CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 期间，为属性指定了重复值 <value>。对于可信上下文，每个
属性名和值对都必须唯一。无法处理该语句。

要更正此错误，请除去 <attributename> 的非唯一指定，并重新发出该语句
。



-26460	无法删除或变更值为 <value-name> 的属性，因为它不是可信上下文定义的一部分
。

已为可信上下文指定属性 <value-name>，但该可信上下文未定义为具有使用此名称的属性。无法处理该语句
。

要更正此错误，请除去不受支持属性的名称，并重新发出该语句
。



-26459	可信上下文 <context-name> 不存在。

指定的可信上下文 <context-name> 在数据库中不存在。请验证是否指定了正确的可信上下文名称
。



-26458	可信上下文 <context-name> 指定了已为其他可信上下文指定的授权标识 <authorization-name>
。

<context-name> 的 CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 语句指定了 SYSTEM 
AUTHID <authorization-name>，但此授权标识已定义为使用其他可信上下文。定义为可信上下文的 SYSTEM AUTHID 的系统授权标识无
法作为 SYSTEM AUTHID 与任何其他可信上下文关联。

使用以下查询确定正在使用该授权标识的可信上下文：

SELECT CONTEXTNAME FROM SYSCAT.CONTEXTS WHERE SYSTEMAUTHID = 
<authorization-name> 

要更正此错误，请将授权标识更改为可信上下文的系统授权标识，然后重新发出 CREATE 或 ALTER 语句
。



-26457	可信上下文 <context-name> 已存在。

数据库中已经定义了该上下文名称。对于 CREATE TRUSTED CONTEXT 或 ALTER TRUSTED CONTEXT 语句，具有指定名称的可信上下
文已存在。请验证是否指定了正确的上下文名称，并且是否位于正确的数据库中
。



-26456	授权标识 <%s> 未针对可信上下文 <%s> 定义。

授权名称 <%s> 尝试使用可信上下文 <%s> 复用可信连接。无法在 <authorization-name> 下使用可信上下文名称 <%s>
。

此错误也可能由以下某个原因引起：

- 授权标识被允许使用可信上下文，但需要认证，而切换用户的请求不包含认证令牌 - 授权标识被允许使用可信上下文，但可信上下文已禁用 - 与可信连接关联的可信上下
文对象的系统授权标识属性已更改 - 与可信连接关联的可信上下文对象已被删
除

复用可信连接的尝试失败。可信连接处于未连接状态。



-26455	无法为同一列同时指定 NOT NULL 约束和 NULL 约束。

如果 CREATE TABLE 或 ALTER TABLE 语句尝试定义表模式，而该表模式中包含的列定义具有与 NULL 值相关的冲突规范，数据库服务器会发出此
错误。- NOT NULL 约束可阻止数据库服务器在此列中存储 NULL 值。- NULL 约束允许数据库服务器在此列中存储 NULL 值
。

要避免此错误，请修订列定义，以使其不在同一列中同时包括 NOT NULL 和 NULL 规范。- 如果要在此列中禁止 NULL 值，必须在列定义中删除 NULL
规范。- 如果要在此列中允许 NULL 值，必须在列定义中删除 NOT NULL 规范
。



-26454	无法为同一列同时指定 PRIMARY KEY 约束和 NULL 约束。

如果 CREATE TABLE 或 ALTER TABLE 语句尝试定义表模式，而该表模式中包含的列定义具有与 NULL 值相关的冲突规范，数据库服务器会发出此
错误。- PRIMARY KEY 约束可阻止数据库服务器在此列中存储 NULL 值。- NULL 约束允许数据库服务器在此列中存储 NULL 值
。

要避免此错误，请修订列定义，以使其不在同一列中同时包括 PRIMARY KEY 和 NULL 规范。- 如果要使此列成为此表的主键，必须在列定义中删除 NULL
规范。- 如果要在此列中允许 NULL 值，必须在列定义中删除 PRIMARY KEY 规范
。



-26453	该版本的 IDS 中不支持 %s。

要使用该功能，必须具有 IDS Ultimate Edition。



-26452	无法为非分段表将 STATLEVEL 指定为 FRAGMENT。

操作：只能为分段表将 STATLEVEL 属性设置为 FRAGMENT 选项。为非分段表指定 TABLE 或 AUTO 选项
。



-26451	STATCHANGE 可以接受 0 到 100 范围内的值。

操作：STATCHANGE 指定一个百分比，在表分布更改达到此百分比后将被视为稳定。将 STATCHANGE 设置为 0 到 100 之间的整数值
。



-26431	[内部] 扩展类型无效。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-26403	AQT 字典操作失败

对 AQT 字典的操作失败

操作：检查 AQT 是否为 ANSI 外连接



-26402	AQT（加速查询表）操作失败

对加速查询表的打开/访存/关闭操作失败

操作：检查加速器服务器上的数据集市中是否存在 AQT



-26401	AQT（加速查询表）服务器连接失败

连接到加速器服务器失败

操作：对加速器服务器所在的远程机器执行 ping 操作。检查端
口



-26390	CLOBDIR %s 中 r 宏的范围与文件名 %s 中的范围不匹配。

CLOBDIR 字符串中的 r 宏范围与 DISK 字符串中的文件名必须精确匹配。以下是返回此错误时的一个示例
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 CLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR=/tmp/clobdir1.%r(10..20)" ), DELUXE,
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 

要修正错误，请将 CREATE EXTERNAL TABLE 语句更改为：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 CLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR=/tmp/clobdir1.%r(1..2)" ), DELUXE, 
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26389	BLOBDIR %s 中的 r 宏范围与文件名 %s 中的范围不匹配。

BLOBDIR 字符串中的 r 宏范围与 DISK 字符串中的文件名必须精确匹配。以下是返回此错误时的一个示例
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); BLOBDIR=/tmp/blobdir1.%r(10..20)" ), DELUXE,
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 

要修正错误，请将 CREATE EXTERNAL TABLE 语句更改为：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, 
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26388	在文件名 %s 中没有匹配的宏的情况下，无法使用 CLOBDIR %s 中的 r 宏
。

在 DISK 文件名中没有相应的 r 宏的情况下，无法在 CLOBDIR 字符串中使用格式化宏 r。以下是返回此错误时的一个示例
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 CLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat; CLOBDIR=/tmp/clobdir1.%r(1..2)" ), DELUXE, DELIMITER 
"%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 

要修正错误，请完全除去格式化宏 r，或者将 CREATE EXTERNAL TABLE 语句更改为
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 CLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR=/tmp/clobdir1.%r(1..2)" ), DELUXE, 
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26387	在文件名 %s 中没有匹配的宏的情况下，不能在 BLOBDIR %s 中使用 r 宏
。

在 DISK 文件名中没有相应的 r 宏的情况下，无法在 BLOBDIR 字符串中使用格式化宏 r。以下是返回此错误时的一个示例
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat; BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, DELIMITER 
"%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 

要修正错误，请完全除去格式化宏 r，或者将 CREATE EXTERNAL TABLE 语句更改为
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB) USING ( DATAFILES 
( "DISK:/tmp/ext_byte.dat.%r(1..2); BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, 
DELIMITER "%", recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26386	无法解析 CLOBDIR % 中的 r 宏。

无法解析 CLOBDIR 字符串中的格式化宏 r。请参阅以下示例以了解正确用法
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB, col3 CLOB) USING 
( DATAFILES ( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR:/tmp/clobdir1.%r(1..2); 
BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, DELIMITER "%", recordend "\n", 
maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26385	无法解析 BLOBDIR % 中的 r 宏。

无法解析 BLOBDIR 字符串中的格式化宏 r。请参阅以下示例以了解正确用法
：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB, col3 CLOB) USING 
( DATAFILES ( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR:/tmp/clobdir1.%r(1..2); 
BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, DELIMITER "%", recordend "\n", 
maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 



-26384	对于 BLOB、CLOB、BYTE 或 TEXT 类型，FORMAT (%s) 不受支持

BLOB、CLOB、BYTE 或 TEXT 类型不支持所指定的 FORMAT 类型。指定 BLOB、CLOB、BYTE 或 TEXT 数据类型时，请使用 
DELIMITED FORMAT。以下是返回此错误时的一个示例：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB, col3 CLOB, col4 BYTE, 
col5 TEXT) USING ( DATAFILES ( "DISK:/tmp/ext_byte.dat.%r(1..2); CLOBDIR:/tmp/
clobdir1.%r(1..2); BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, DELIMITER "%", 
recordend "\n", maxerrors 20, rejectfile "/tmp/ext_byte.log" FORMAT 'FIXED' ); 

要修正以上示例中的问题，请更改定义以使用 FORMAT 类型 DELIMITED 代替类型 FIXED
。

如果外部表包含 BLOB、CLOB、BYTE 或 TEXT 列，那么 FORMAT 不能为 GBASEDBT 或 FIXED
。



-26383	对于 BLOB/CLOB 类型，文件类型为 PIPE 的 DATAFILES 字符串 (%s) 不受支
持

当在外部表定义或 SAMEAS 子句引用的表中指定了 BLOB 或 CLOB 数据类型时，DATAFILES 子句中不支持 PIPE 选项。以下是返回此错误时的
一个示例：

CREATE EXTERNAL TABLE exttab (col1 INTEGER, col2 BLOB, col3 CLOB) USING 
( DATAFILES ( "PIPE:/tmp/ext_byte.dat.%r(1..2); CLOBDIR:/tmp/clobdir1.%r(1..2); 
BLOBDIR=/tmp/blobdir1.%r(1..2)" ), DELUXE, DELIMITER "%", recordend "\n", 
maxerrors 20, rejectfile "/tmp/ext_byte.log" ); 

要修正以上示例中的问题，请更改定义以使用文件类型 DISK 代替类型 PIPE
。



-26382	CLOBDIR 目录 (%s) 不存在或无法访问。

通过 CREATE EXTERNAL 或 SELECT INTO EXTERNAL 语句指定的 CLOBDIR 值不存在或无法访
问



-26381	BLOBDIR 目录 (%s) 不存在或无法访问。

通过 CREATE EXTERNAL 或 SELECT INTO EXTERNAL 语句指定的 BLOBDIR 值不存在或无法访
问



-26371	只有 DBSSO 可以删除表的审计属性。

审计属性只能由 DBSSO 删除。



-26365	集群的 FOT 索引不受支持。

FOT 索引必须为非集群索引。



-26364	附加的 FOT 索引不受支持。

FOT 索引必须是拆离的索引。



-26363	FOT 索引不能是函数索引。

树森林 (FOT) 索引的“hash on”列必须为内置数据类型。



-26362	为 FOT 索引指定的“hash on”列的数据类型无效。

树森林 (FOT) 索引的“hash on”列必须为内置数据类型。



-26361	为 FOT 索引指定的“hash on”列表无效。

树森林 (FOT) 索引的“hash on”列表必须为索引列的前缀列表
。



-26360	为 FOT 索引指定的存储区大小无效。

树森林 (FOT) 索引的存储区大小必须在 2 到每个数据库空间的可用索引页面数量的范围内
。



-26352	API 错误：用于脚本文件的内存不足。

该消息表示内存分配错误。退出 DataExtract 并重试选项。



-26351	API 错误：无法读取脚本文件。

无法读取连接或断开连接脚本文件。验证连接或断开连接脚本文件是否具有正确的许可权。使用 Scripter 实用程序重新创建该脚本文件（如果需要）
。



-26350	API 错误：摘要变量与主机冲突。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26349	API 错误：报告缓冲区过小。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26348	API 错误：超过了报告大小；无数据。

当前 EXTRACT 语句中 SELECT 子句所选择的结果数据超过了主机上允许的大小。修改 EXTRACT 语句以选择更少数据。请重新运行 EXTRACT 语
句。



-26347	API 错误：报告包含不完整的数据。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26346	API 错误：报告中无更多数据。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26345	API 错误：最大值超出范围。

“要处理的最大记录数”参数或“要检索的最大记录数”参数中的值超出范围。使用“设置”屏幕纠正参数
。



-26344	API 错误：类值超出范围。

“类”参数中设置的值超出范围。使用“设置”屏幕纠正“类”参数
。



-26343	API 错误：主机表不包含字段。

该消息表示内部错误。主机表不包含 SELECT 子句所列出的字段，或者表不包含任何字段
。



-26342	API 错误：参数值不足。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26341	API 错误：参数类型错误。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26339	API 错误：帮助文件不存在。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26338	API 错误：计时器编号无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26337	API 错误：报告中无更多数据。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26332	API 错误：缺少“CICS 终止代码”参数。

主机配置文件中缺少“CICS 终止代码”参数。使用“设置”屏幕设置“CICS 终止代码”参数。请咨询您的应答/抽取器 DBA 以确定 CICS 终止代码
。



-26331	API 错误：缺少“CICS 页面调度代码”参数。

主机配置文件中缺少“CICS 页面调度代码”参数。使用“设置”屏幕设置“CICS 页面调度代码”参数。请咨询您的应答/抽取器 DBA 以确定 CICS 页面调度
代码。



-26330	API 错误：缺少“应答/数据库概要文件名称”参数。

主机配置文件中缺少“应答/数据库概要文件名称”参数。使用“设置”屏幕设置“应答/数据库概要文件名称”参数。请咨询您的应答/抽取器 DBA 以确定应答/抽取器概要
文件名称。



-26329	API 错误：缺少“应答/数据库调用代码”参数。

主机配置文件中缺少“应答/数据库调用代码”参数。使用“设置”屏幕设置“应答/数据库调用代码”参数。请咨询您的应答/抽取器 DBA 以确定应答/抽取器调用代码
。



-26328	API 错误：缺少“主机环境”参数。

主机配置文件中缺少“主机环境”参数。使用“设置”屏幕设置“主机环境”参数
。



-26327	API 错误：缺少“锁定时间”参数。

主机配置文件中缺少“锁定时间”参数。使用“设置”屏幕设置“锁定时间”参数
。



-26326	API 错误：缺少“稳定时间”参数。

主机配置文件中缺少“稳定时间”参数。使用“设置”屏幕设置“稳定时间”参数
。



-26325	API 错误：选项关键字无效。

message.txt 文件、config.txt 文件或参数字符串包含无效选项关键字。纠正错误
。



-26324	API 错误：参数值无效。

message.txt 文件、config.txt 文件或参数字符串包含无效参数值。纠正错误
。



-26323	API 错误：选项描述符错误。

message.txt 文件、config.txt 文件或参数字符串中的项无效。纠正错误
。



-26322	API 错误：未找到文件。

无法找到 message.txt 或 config.txt 文件。确认其是否存在。



-26321	API 错误：不具有足够内存来读取文件。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26320	API 错误：读取文件时出错。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26319	API 错误：消息文件过长。

消息文件 message.txt 无效或已损坏。将消息文件从 $GBASEDBTDIR/etc 重新复制到 ANSAPI 环境变量所指定的路径，或当前目录（如果
未设置 ANSAPI）。



-26318	API 错误：消息文件无效。

消息文件 message.txt 无效或已损坏。将消息文件从 $GBASEDBTDIR/etc 重新复制到 ANSAPI 环境变量所指定的路径，或当前目录（如果
未设置 ANSAPI）。



-26317	API 错误：未找到驱动程序扫描代码文件。

无法找到驱动程序扫描代码文件 driver.dsc。验证 driver.dsc 文件在 ANSAPI 环境变量所指定的路径中或者在当前目录中（如果未设置 
ANSAPI）是否存在。如果需要，从 $GBASEDBTDIR/etc 复制文件。



-26316	API 错误：无会话可用。

此时无主机会话可用。重新提交您的请求。检查先前会话或先前启动的进程是否已终止
。



-26315	API 错误：游标未打开。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26314	API 错误：游标已在使用中且已打开。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26313	API 错误：查询名称无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26312	API 错误：预定义查询未实现。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26311	API 错误：预定义查询无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26310	API 错误：SQLST 未准备好。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26309	API 错误：无法初始化 NULL SQLCR。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26308	API 错误：无法初始化 NULL SQLST。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26307	API 错误：无法初始化 NULL SQLEA。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26306	API 错误：无法初始化 NULL SQLCA。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26305	API 错误：无法初始化 NULL SQLDA。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26304	API 错误：ORDER BY 子句错误。

当前 EXTRACT 语句中的 ORDER BY 子句无效。纠正并重新运行 EXTRACT 语句
。



-26303	API 错误：GROUP BY 子句错误。

当前 EXTRACT 语句中的 GROUP BY 子句无效。纠正并重新运行 EXTRACT 语句
。



-26302	API 错误：摘要函数无效。

当前 EXTRACT 语句的 SELECT 子句中的聚集函数无效。纠正并重新运行 EXTRACT 语句
。



-26301	API 错误：无法在此上下文中使用 ALL。

在当前 EXTRACT 语句的 SELECT 子句中误用了关键字 ALL。纠正并重新运行 EXTRACT 语句
。



-26300	API 错误：DISTINCT 不受支持。

当前 EXTRACT 语句的 SELECT 子句包含不受支持的关键字 DISTINCT。纠正并重新运行 EXTRACT 语句
。



-26299	API 错误：必须至少选择一个字段或函数值。

当前 EXTRACT 语句的 SELECT 子句不包含任何主机字段或函数值引用。纠正并重新运行 EXTRACT 语句
。



-26298	API 错误：内部查询解析器错误。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26297	API 错误：查询包含多余文本。

当前 EXTRACT 语句中的 SELECT 子句包含多余文本。纠正并重新运行 EXTRACT 语句
。



-26296	API 错误：需要字段名称。

当前 EXTRACT 语句中的 SELECT 子句需要至少一个主机字段名称。纠正并重新运行 EXTRACT 语句
。



-26295	API 错误：ESCAPE 值必须为单个字符。

当前 EXTRACT 语句中的 SELECT 子句包含无效 ESCAPE 值。纠正并重新运行 EXTRACT 语句
。



-26294	API 错误：缺少左括号。

当前 EXTRACT 语句中的 SELECT 子句缺少左括号。纠正并重新运行 EXTRACT 语句
。



-26293	API 错误：数据类型对于上下文不正确。

当前 EXTRACT 语句中的 SELECT 子句包含数据类型不正确的项。纠正并重新运行 EXTRACT 语句
。



-26292	API 错误：缺少右括号。

当前 EXTRACT 语句中的 SELECT 子句缺少匹配的括号。纠正并重新运行 EXTRACT 语句
。



-26291	API 错误：表达式之间缺少连接符。

当前 EXTRACT 语句中的 SELECT 子句缺少表达式之间的连接符。纠正并重新运行 EXTRACT 语句
。



-26290	API 错误：无法识别表达式元素。

当前 EXTRACT 语句中 SELECT 子句中的表达式无效。纠正并重新运行 EXTRACT 语句
。



-26289	API 错误：表达式元素过长。

当前 EXTRACT 语句中 SELECT 子句中的表达式过长。纠正并重新运行 EXTRACT 语句
。



-26288	API 错误：GROUP BY 字段重复。

当前 EXTRACT 语句中 GROUP BY 子句中的主机字段重复。纠正并重新运行 EXTRACT 语句
。



-26287	API 错误：ORDER BY 字段重复。

当前 EXTRACT 语句中 ORDER BY 子句中的主机字段重复。纠正并重新运行 EXTRACT 语句
。



-26286	API 错误：SQLCR 结构未打开。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26285	API 错误：查询数据在主机上不可用。

当前 EXTRACT 语句的 SELECT 子句的结果在主机上不可用。请重新运行 EXTRACT 语句
。



-26284	API 错误：SQLCR 结构已打开。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26283	API 错误：环境已具有打开的游标。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26282	API 错误：SQLCR 结构无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26281	API 错误：无法找到消息文本。

当 DataExtract 尝试检索主机数据或检查作业的状态时，未从大型机收到期望的消息。退出 DataExtract 并重试选项
。



-26280	API 错误：缺少“CICS 页面调度代码”参数。

确少 CICS 页面调度代码。使用“设置”屏幕设置“CICS 页面调度代码”参数
。



-26279	API 错误：查询对于应答/抽取器过大。

当前 EXTRACT 语句中的 SELECT 子句过长。



-26278	API 错误：字段在主机上不存在。

当前 EXTRACT 语句所指定的某个主机字段在主机上不存在，不过在您的主机表词汇表中列出了该字段。您的主机表词汇表可能已过期。刷新有问题的主机表的主机表信息
。



-26277	API 错误：表在主机上不存在。

当前 EXTRACT 语句所指定的主机表不存在，不过在您的词汇表中列出了该表。主机表词汇表可能已过期。刷新整个主机表词汇表
。



-26276	API 错误：SQLST 中的查询无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26275	API 错误：记录计数无效。

“要检索的最大记录数”参数中设置的值无效。在“设置”屏幕上纠正该参数并重新运行 EXTRACT 语句
。



-26274	API 错误：项计数无效。

“要处理的最大记录数”参数中设置的值无效。在“设置”屏幕上纠正该参数并重新运行 EXTRACT 语句
。



-26273	API 错误：类编号无效。

“类”参数中设置的值无效。请咨询您的应答/抽取器 DBA 以确定有效的类编号。在“设置”屏幕上纠正类编号并重新运行 EXTRACT 语句
。



-26272	API 错误：主机连接未终止。

与主机上应答/抽取器的连接无法终止。主机会话可能已意外地断开连接。使用仿真器软件（如 te3278）验证主机连接是否终止。可能需要手动终止会话
。



-26271	API 错误：主机连接未建立。

此时无法建立与主机上应答/抽取器的连接。退出 DataExtract 并重新提交请求
。



-26270	API 错误：预定义查询无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26269	API 错误：关键字无法理解。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26268	API 错误：替换无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26267	API 错误：通配符无效。

当前 EXTRACT 语句的 SELECT 子句中的通配符无效。纠正并重新运行 EXTRACT 语句
。



-26265	API 错误：ORDER BY 包含未选择的字段。

尚未选择 EXTRACT 语句中 ORDER BY 子句中所指定的某些字段。修改 SELECT 子句以选择这些字段，然后重新运行 EXTRACT 语句
。



-26263	API 错误：函数引用无效。

当前 EXTRACT 语句中 SELECT 子句中所引用的函数无效。纠正并重新运行 EXTRACT 语句
。



-26262	API 错误：WHERE 子句中的比较无效。

当前 EXTRACT 语句中的 WHERE 子句包含无效比较。纠正并重新运行 EXTRACT 语句
。



-26260	API 错误：范围变量无效。

当前 EXTRACT 语句中的 SELECT 子句包含无效范围变量。纠正并重新运行 EXTRACT 语句
。



-26259	API 错误：FROM 引用无效。

当前 EXTRACT 语句中的 SELECT 子句具有无效的 FROM 引用。纠正并重新运行 EXTRACT 语句
。



-26258	API 错误：SELECT 引用无效。

当前 EXTRACT 语句中的 SELECT 子句无效。纠正 EXTRACT 语句并重新运行该语句
。



-26257	API 错误：未找到 FROM。

当前 EXTRACT 语句中的 SELECT 子句缺少 FROM 子句。纠正并重新运行 EXTRACT 语句
。



-26256	API 错误：未找到 SELECT。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26255	API 错误：SQLDA 不包含字段名称。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26254	API 错误：SQLST 结构过小。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26253	API 错误：SQLDA 结构过小。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26252	API 错误：SQLST 结构无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26251	API 错误：SQLDA 结构无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26250	API 错误：查询名称无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26249	API 错误：SQLST 大小低于最小值。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26248	API 错误：SQLDA 大小低于最小值。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26247	API 错误：SQLEA 结构无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26246	API 错误：无法打开脚本。

无法打开连接或断开连接脚本。验证连接或断开连接脚本文件是否具有正确的许可权
。



-26245	API 错误：应答/数据库调用失败。

您的 3270 仿真器会话未处于连接脚本所期望的终端会话处。退出 DataExtract 并确认您的连接脚本是否正确。使用 3270 仿真器软件检查其是否处于连
接脚本所期望的终端处。



-26242	API 错误：响应无法理解。

您的 3270 仿真器会话未处于连接脚本所期望的终端会话处。退出 DataExtract 并确认您的连接脚本是否正确。使用 3270 仿真器软件检查其是否处于连
接脚本所期望的终端处。



-26241	API 错误：“应答/数据库概要文件名称”参数无效。

指定的应答/抽取器概要文件名称无效。验证“设置”屏幕上的“应答/数据库概要文件名称”参数
。



-26240	API 错误：“应答/数据库密码”参数无效。

指定的应答/抽取器密码无效。验证“设置”屏幕上的“应答/数据库密码”参数
。



-26239	API 错误：“主机环境”参数无效。

指定的主机环境无效。纠正“设置”屏幕上的“主机环境”参数
。



-26238	API 错误：等待主机响应时锁定时间限制到期。

主机未在时间限制内响应（该时间限制在“设置”屏幕上的“锁定时间”参数中设置）。主机目前不可用或正忙。使用主菜单上的“设置”选项来访问“设置”屏幕。如果该错误重现
，请重新提交请求。



-26237	API 错误：输入对于字段过长。

您的 3270 仿真器会话未处于连接脚本所期望的终端会话屏幕处。退出 DataExtract 并确认您的连接脚本是否正确。使用 3270 仿真器软件检查其是否处
于连接脚本所期望的屏幕处。



-26236	API 错误：输入超过屏幕的边缘。

您的 3270 仿真器会话未处于连接脚本所期望的终端会话屏幕处。退出 DataExtract 并确认您的连接脚本是否正确。使用 3270 仿真器软件检以确保其处
于连接脚本所期望的屏幕处。



-26235	API 错误：脚本密码无效。

连接或断开连接脚本的密码不正确。在“设置”屏幕上验证连接或断开连接脚本密码
。



-26234	API 错误：脚本无效。

连接或断开连接脚本无效。使用 Scripter 实用程序重新创建连接或断开连接脚本。检查脚本是否在 ANSAPI 环境变量所指定的目录中
。



-26233	API 错误：字符无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26231	API 错误：键盘永久锁定。

在“锁定时间”参数中设置的超时时间段内，主机会话上的键盘抑制信号未清除。发生这种情况的可能原因如下
：

*   “锁定时间”参数指定的时间过短。

*   主机会话已关闭。

*   主机会话很慢。

退出 DataExtract。使用 3270 仿真器软件（例如，te3278）验证主机会话是否可用。如果主机会话可用，请手动将会话退出至连接脚本所指定的起始点。
重新启动 DataExtract。如果主机会话很慢，请增加“锁定时间”参数
。



-26230	API 错误：无法将会话设置为型号 5 终端。

DataExtract 不支持型号 5 终端。将 3270 仿真器软件重新配置为型号 2 终端并重新启动 DataExtract
。



-26225	API 错误：主机会话不存在。

“设置”屏幕上的“主机会话”参数中指定的主机会话名称无效。纠正主机会话名称。相应更改通信软件所需的任何配置文件
。



-26224	API 错误：主机会话忙。

仿真软件不可用，或“设置”屏幕上“主机会话”参数中指定的主机会话当前正在使用中
。

验证仿真软件是否可用。如果可用，请将“设置”屏幕上“主机会话”参数更改为其他主机会话。相应更改仿真软件所需的任何配置文件
。



-26217	API 错误：驱动程序扫描代码文件不一致。

控制器指令文件 driver.dsc 无效或已损坏。将文件从 $GBASEDBTDIR/etc 重新复制到 ANSAPI 所指定的目录，或当前目录（如果未设置 
ANSAPI）。



-26216	CREATE EXTERNAL TABLE：RECORDEND 关键字对于固定格式表无效
。



-26214	无法对外部表执行此操作。

不允许对外部表进行以下类型的操作：- 在子查询或外连接中包含外部表 - 在连接、UNION 子句或 ORDER BY 子句中包含来自外部表的 BLOB 或 
CLOB 列 - 包含子查询或存储过程（如果主查询在外部表中引用 BLOB 或 CLOB 列） - 将子脚本用作来自外部表的 BLOB 或 CLOB 列 - 不
按顺序从外部表中选择 BLOB 或 CLOB 列 - 从一个外部表中选择 BLOB 或 CLOB 列并将其插入到其他外部表 - 选择 BYTE 和 TEXT 列
到临时表（或通过客户机 API）



-26213	CREATE EXTERNAL TABLE：DELIMITER 关键字对于固定格式表无效
。



-26212	API 错误：通信板不存在。

与主机通信所需的硬件未安装或未正常工作。验证是否已正确安装和配置通信板
。



-26211	API 错误：SQLCA 结构无效。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26210	API 错误：读取配置文件时出错。

主机配置文件 config.txt 不具有正确的许可权或已损坏。验证文件是否具有正确的许可权。检查该文件是否在 ANSAPI 环境变量所指定的目录中或者在当前目
录中（如果未设置 ANSAPI）。如果文件已损坏，请使用 DataExtract 主菜单上的“设置”选项来访问“设置”屏幕并重新创建配置文件
。



-26209	API 错误：配置文件过长。

主机配置文件 config.txt 不正确或已损坏。使用 DataExtract 主菜单上的“设置”选项来访问“设置”屏幕并重新创建配置文件
。



-26208	API 错误：配置文件过短。

主机配置文件 config.txt 不正确或已损坏。使用 DataExtract 主菜单上的“设置”选项来访问“设置”屏幕并重新创建配置文件
。



-26207	API 错误：没有用于配置文件的空间。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26206	API 错误：无法找到配置文件。

无法找到主机配置文件 config.txt。使用 DataExtract 主菜单上的“设置”选项来访问“设置”屏幕并创建配置文件
。



-26205	API 错误：读取消息文件时出错。

应答/抽取器消息文件 message.txt 不具有正确的许可权或已损坏。验证文件是否具有正确的许可权。该文件应位于 ANSAPI 环境变量所指定的目录中，或者
在当前目录中（如果未设置 ANSAPI）。如果文件已损坏，请从 $GBASEDBTDIR/etc 重新复制文件
。



-26204	API 错误：消息文件过长。

应答/抽取器消息文件 message.txt 不正确或已损坏。将消息文件从 $GBASEDBTDIR/etc 重新复制到 ANSAPI 环境变量所指定的目录，或
当前目录（如果未设置 ANSAPI）。



-26203	API 错误：消息文件过短。

应答/抽取器消息文件 message.txt 不正确或已损坏。将消息文件从 $GBASEDBTDIR/etc 重新复制到 ANSAPI 环境变量所指定的目录，或
当前目录（如果未设置 ANSAPI）。



-26202	API 错误：没有用于消息文件的空间。

该消息表示内部错误。退出 DataExtract 并重试选项。



-26201	API 错误：无法找到消息文件。

无法找到应答/抽取器消息文件 message.txt。检查 ANSAPI 环境变量是否设置正确。如果需要，将消息文件从 $GBASEDBTDIR/etc 复制到
ANSAPI 目录，或当前目录（如果未设置 ANSAPI）。



-26200	无法在高可用性集群中的辅助服务器上设置 RETAINUPDATELOCKS 会话环境
。



-26199	无法在非日志记录数据库中设置 RETAINUPDATELOCKS 会话环境
。



-26198	无法修改也用于子查询的外部表。

外部表无法用于子查询中。检查语句以查看子查询中是否使用了外部表
。



-26197	装入期间达到最大错误限制：errno, filename。

数据库服务器尝试从外部表中装入数据时，服务器达到了为外部表所定义的 MAXERRORS 限制
。



-26196	内部类型必须为数字类型 column-name。

CREATE EXTERNAL TABLE 语句包含与内部列类型不一致的外部列类型
。

检查 CREATE EXTERNAL TABLE 语句以确保任何外部列类型与内部列类型一致
。



-26195	无法为外部表定义任何约束。

CREATE EXTERNAL TABLE 语句包含不允许的一个或多个类型的约束。

检查语句以了解列或表的主键、引用或唯一约束。



-26194	外部列类型 column-name 未知。

CREATE EXTERNAL TABLE 语句包含不可识别的外部列类型。有效的外部列类型为 CHAR。CHAR 值必须在引号中
。

检查 CREATE EXTERNAL TABLE 语句以确保外部列类型有效。



-26193	如果外部表有外部列类型 column-name，那么它必须为固定格式文件
。

对于未定义为固定格式文件的外部表，找到了 CHAR 类型的外部列
。



-26192	固定字段的列过长。（Val = 值，Col = 列号，Len = 转换后的长度，Max = 最大长度）
。

数据库服务器尝试将列转换为固定文件格式时，转换后的值大小超过为固定大小字段所定义的最大大小
。

检查外部表描述是否在外部列类型中定义了足够的空间以容纳转换后所选的数据
。



-26191	在查询中对外部表 tablename 的使用不正确。

此语句描述的操作在外部表上是不允许的。允许对外部表执行的操作类型有：CREATE EXTERNAL TABLE、SELECT、DROP TABLE、GRANT（
仅 SELECT 和 INSERT）、REVOKE、CREATE SYNONYM、CREATE SCHEMA、RENAME COLUMN、RENAME 
TABLE、SELECT ... INTO EXTERNAL。

不允许对外部表执行的操作类型有：TRUNCATE、UPDATE STATISTICS、START VIOLATION、STOP VIOLATION、ALTER 
TABLE、UPDATE、DELETE、CREATE TRIGGER、CREATE INDEX、CONNECT BY、INSERT INTO ... 
VALUES、LBAC 操作、MERGE 语句的目标表以及 CREATE EXTERNAL TABLE 的 SAMEAS 子句的模板表
。



-26190	插入到外部表必须提供表中所有列的值。

INSERT 语句未列出外部表定义的所有列。当数据库服务器卸载到外部表时，所有列必须具有 SELECT 列表所描述的值
。

检查 INSERT 语句以确保所有列均包括在 INSERT 子句中，且每个列均具有一个由 SELECT 列表提供的值
。



-26189	无法在外部表中一起使用 <clause> 子句和 SELECT 语句。

SELECT 语句包含 FOR UPDATE 或 FORMAT "FIXED" 子句。当数据库服务器卸载到外部表时，不允许这些子句
。

检查 SELECT 语句，或在定义 SELECT 游标时，确保不包含上述任一子句
。



-26188	空字符串过长或格式不正确。

CREATE EXTERNAL TABLE 语句的某个列具有不正确的 NULL“空字符串”语法。此列的 NULL 字符串长度超过所声明的外部列长度，或者是外部类
型无法识别的格式。

检查 CREATE EXTERNAL TABLE 语句以确保 NULL“空字符串”长度与针对外部列类型所定义的大小和格式一致
。



-26187	无法从多个外部表中进行选择。

SELECT 查询中只能使用一个外部表。对于并集，每个 UNION 添加程序均可具有一个外部表。允许外部表与其他数据库表一起作为连接和子查询中的参与者
。



-26186	文件名过长：file_name。

外部表中文件的名称过长（扩展所有文件宏后）。检查文件的完整路径名是否少于 257 个字符长度
。



-26185	DATAFILES 字符串命名的数据文件都无效。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句中的 DATAFILES 项时发生错误。DATAFILES 条目中未找到有效文件名
。

检查外部表项，删除外部表，然后重新发出纠正的 CREATE EXTERNAL TABLE 语句
。



-26184	无法解析文件名条目中的 r 宏。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句中的 DATAFILES 项时发生错误。当数据库服务器尝试扩展文件名中的 %r 宏时发生错误
。检查 %r() 宏的语法是否正确。



-26183	无法替换文件名项中的 r 宏。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句内 DATAFILES 项中 filename 的节点 host-name 宏时发生错误
。

如果该错误重现，请记下所有情况并联系 IBM 软件支持。



-26182	DATAFILES 字符串数据文件项中的文件类型不正确。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句中的 DATAFILES 项时发生错误。外部表具有文件类型不正确的 DATAFILES 条目
。对于外部表，仅允许 DISK 和 PIPE 文件类型。

检查外部表项，删除外部表，然后重新发出纠正的 CREATE EXTERNAL TABLE 语句以纠正此错误
。



-26181	只有固定格式的列才能声明空列名。

CREATE EXTERNAL TABLE 表语句发现某个列使用无效的 NULL“空字符串”语法定义了一个空字符串。仅描述固定格式文件的表可以具有通过 NULL
关键字定义的空值。

重新编写语句并重新提交。



-26180	缺少外部列类型 column-name。

CREATE EXTERNAL TABLE 语句缺少外部列类型信息。对于描述固定格式文件的表，这些信息是必需的
。

添加列类型信息并重新提交该语句。



-26179	“固定”列或“定界”列必须是外部 CHAR 类型 column-name
。

CREATE EXTERNAL TABLE 语句包含无效的外部列类型。如果表描述固定格式文件，那么有效的外部列类型为 CHAR。CHAR 数据必须括在引号中
。

如果表描述定界格式文件且包括外部列类型，那么类型必须为 CHAR。描述定界格式文件的表无需包含外部列类型信息
。



-26178	外部列类型 column-name 不正确。

CREATE EXTERNAL TABLE 语句包含不正确的外部列类型。

确保外部列类型为 CHAR(size) 



-26176	无法对固定格式表使用 SAMEAS。

CREATE EXTERNAL TABLE 语句不允许对固定格式表使用 SAMEAS 关键字。列条目还必须定义外部类型以描述如何访问固定文件中的数据
。

修订 CREATE EXTERNAL TABLE 语句以枚举列信息并重新发出该语句
。



-26175	缺少 DATAFILES 条目。

缺少 CREATE EXTERNAL TABLE 语句中的 DATAFILES 条目。添加 DATAFILES 条目并重复发出该语句
。



-26174	DATAFILES 条目不正确。

DATAFILES 条目格式不正确。条目的格式为 filetype:rooted-path-name
。

检查文件类型是否为有效类型（DISK 或 PIPE），以及第二个项是否命名了一个可以访问的文件
。



-26173	关键字的值不正确。

CREATE EXTERNAL TABLE 语句包含的某个 USING 子句关键字的值不正确
。

检查语句以查看关键字的值是否拼写错误。对于 MAXERRORS 关键字，确保值为有效数字
。



-26172	USING 字句中的关键字过多。

CREATE EXTERNAL 表语句的 USING 子句中某个期望关键字出现了多次
。

复审语句。如果您要使用另一个关键字，首先纠正该语句，然后重新发出该语句
。



-26171	检测完整磁盘时无法撤销对文件名的部分写入。

当数据库服务器在对某个数据文件耗尽空间后尝试继续时发生错误。当数据库服务器检测到磁盘已满时，会将不可截断的部分记录写入到数据文件中
。

查找可能提供更多信息的操作系统消息。



-26170	找不到记录末尾：必须停止装入。

数据库服务器尝试在定界装入文件中查找记录定界符时发生错误
。

检查文件是否具有记录定界符（通常为换行符）以及外部表是否已定义了正确的记录定界符
。



-26169	未能访问文件：errno, filename。

当数据库服务器尝试写入到拒绝文件时发生错误。

要了解更多信息，请检查随附的操作系统错误指示。



-26168	转换错误：errno, filename。

数据库服务器尝试从文件中装入时，遇到了错误。除非在外部表中指定了拒绝文件，否则数据库服务器将返回错误消息，并且装入作业在不保存已装入数据的情况下结束
。

检查是否有转换错误，是否某些行违反了外部表上定义的约束，或者是否有定义为 NOT NULL 的空列
。



-26167	所有数据文件已满或已损坏（卸载）。

卸载期间发生了错误。查找可能提供更多信息的操作系统消息。具有数据文件的所有磁盘可能已满，或发生了硬件问题
。



-26166	数据文件 AIO 写入错误（卸载）：errno。

当数据库服务器尝试写入到卸载数据文件时发生错误。要了解更多信息，请检查随附的错误
。



-26165	数据文件已满（卸载）。

当数据库服务器尝试写入到卸载数据文件时发生错误。无其他数据可写入到文件中
。

为文件分配更多空间，然后重试。



-26164	外部表数据转换失败（卸载）。

当数据库服务器尝试将数据转换为 ASCII 格式时发生转换失败
。

检查外部表列是否保留了足够空间以写入数据的 ASCII 表示法，以及外部表中的列是否与所选的数据兼容
。



-26163	目标表不能具有任何 BLOB 列。

对于外部表中的目标列，不支持 BLOB 列类型。



-26162	未能启动 AIO 操作：errno, filename。

当数据库服务器尝试对数据文件进行读或写操作时发生错误。要了解更多信息，请检查随附的错误
。



-26161	外部表内部错误：errno, filename。

请记下所有情况并就此内部错误联系 IBM 软件支持。



-26160	无法除去外部表文件：errno, filename。

数据库服务器尝试除去指示的文件时发生错误。查找可能提供更多信息的操作系统消息。可能的原因是许可权不正确
。



-26159	访问 AIO 缓冲区时出错：errno, filename。

当数据库服务器尝试在内部 AIO 缓冲区中进行读写操作时发生错误。请记下所有情况并联系 IBM 软件支持
。



-26158	文件被错误地指定为 PIPE 类型：（文件）=(%s)。

外部表中命名的文件称为“PIPE”文件类型，但它不是 UNIX 命名管道。如果该文件是磁盘文件，请将外部表中的文件类型更改为“DISK”
。



-26157	文件被错误地指定为 DISK 类型：（文件）=(%s)。

外部表中命名的文件被指定为“DISK”文件类型，但它不是磁盘文件。如果该文件是 UNIX 命名管道，请将外部表中的文件类型更改为类型“PIPE”
。



-26156	未能从文件中读取：errno, filename。

数据库服务器尝试从文件中读取时发生错误。要了解更多信息，请检查随附的错误
。



-26155	无法关闭外部表文件：errno, filename。

数据库服务器尝试关闭文件时发生错误。查找可能提供更多信息的操作系统消息。可能的原因包括磁盘已满或硬件错误
。



-26154	无法打开文件：errno, filename。

数据库服务器尝试打开文件时发生错误。要了解更多信息，请检查随附的错误。可能的原因包括缺少文件或许可权不正确
。



-26153	无法关闭外部表。

当数据库服务器尝试结束外部表锁定时发生错误。请记下所有情况并联系 IBM 软件支持
。



-26152	无法以独占方式锁定外部表。

另一个用户当前正在使用外部表。等待外部表被解除锁定，然后再继续
。



-26151	无法写入外部表文件：errno, filename。

当数据库服务器尝试写入到拒绝文件时发生错误。

查找可能提供更多信息的操作系统消息。可能的原因包括磁盘已满或磁盘限额限制
。



-26104	API 错误：内存不足。

该消息表示内存分配错误。内存管理器无法分配内存。退出 DataExtract 并重试选项
。



-26099	优化器无法根据 MERGE 语句中指定的 ON 子句过滤器来选择可行计划
。

散列连接是 MERGE 语句中源表和目标表之间的首选连接方法。当目标表是连接的内表时，优化器当前就会阻止发生嵌套循环连接。如果散列连接计划也不可行，那么优化器抛
出该错误。

发生该错误时，请尝试更改 ON 条件，使得源表和目标表之间针对非复杂数据类型至少指定了一个等式谓词。如果不可行，请联系 GBase  技术支持
。



-26098	在 MERGE 语句中，目标表和源表 (%s) 的安全策略不匹配
。

MERGE 语句中源表和目标表的“基于标号的访问控制”安全策略必须相同
。

如果 USING 子句中的源表对象是访问多个表的子查询，那么您可以从 MERGE 语句的 USING 子句中除去其策略与目标表不同的源表
。



-26097	操作对于辅助服务器无效。

以上操作在辅助服务器上无效。仅在 HDR 队或集群中的主节点上尝试此类操作
。



-26096	在将视图指定为 MERGE 语句中的目标时，无法在该视图上定义 INSTEAD OF 触发器
。

当 MERGE 语句的目标是视图时，无法在该视图上定义 INSTEAD OF 插入和更新触发器。可以指定删除触发器，因为不管怎样 MERGE 语句都会忽略它们
。

当发生这种情况时，请考虑直接合并到基本表中而不是视图中。另一种替代方法是删除或禁用该触发器
。



-26095	在 MERGE 语句中无法对一行进行两次更新或删除。

如果执行 MERGE 操作，连接条件和所有过滤器都必须足够严格，以便目标表中任何行针对更新或删除所生成次数不超过一次。由于对同一行处理了两次而发生该错误。查询异
常终止。

请清理一个或多个数据源，或使查询更为严格，以便任何目标表行针对更新或删除所生成次数不超过一次
。



-26094	此目标表 (%s) 上不允许 MERGE 操作。

MERGE 语句中的目标表不能是 SMI 伪表、目录表、远程表、VTI 表或外部表
。



-26093	表 (%s) 不是源表。

当用户尝试使用来自目标表的列将数据插入目标表时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (D.id, D.bonus) VALUES 
(D.id, salary); 

因为 VALUE 子句中的 salary 列不是来自源表 emp，所以将产生以下错误
：

26093: 表 (d) 不是源表。第 4 行字符位置 61 附近出错



-26092	在源表中找不到列 (%s)。

当用户尝试使用来自目标表的列将数据插入目标表时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (D.id, D.bonus) VALUES 
(S.id, bonus); 

因为 VALUE 子句中 bonus 列不是来自 emp 源表，所以将产生以下错误
：

26092: 在源表中找不到列 (bonus)。第 4 行字符位置 66 附近出错



-26091	表 (%s) 不是目标表。

当用户尝试将数据插入并非来自目标表的列时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (id, emp.bonus) VALUES 
(S.id, salary); 

因为 emp.bonus 表名不是 bonus 目标表，所以将产生以下错误：

26091: 表 (emp) 不是目标表。第 4 行字符位置 47 附近出错



-26090	在目标表中未找到列 (%s)。

当用户尝试将数据插入或更新到并非来自目标表的列时，将生成此错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (id, salary) VALUES 
(S.id, salary); 

因为插入列列表中的 salary 不是来自目标表 bonus，所以这将生成以下错误
：

26090: 在目标表中找不到列 (salary)。第 4 行字符位置 41 附近出
错

MERGE INTO bonus USING emp ON bonus.id = emp.id WHEN MATCHED THEN UPDATE SET 
salary = 1000 WHEN NOT MATCHED THEN INSERT VALUES (10, 100); 

因为 update 的 set 子句中的 salary 不是来自目标表 bonus，所以这将生成以下错误
：

26090: 在目标表中找不到列 (salary)。第 3 行的字符位置 44 附近出
错



-26084	CONNECT BY 查询中无法引用跨服务器对象。

CONNECT BY 查询的 FROM 子句中指定的表必须位于与会话连接的 Database Server 实例数据库中。包含 CONNECT BY 子句的 
SELECT 语句中没有子句可以引用由远程数据库服务器管理的数据库对象
。

如果需要在驻留于远程服务器数据库中的表上执行 CONNECT BY 查询，应该首先连接至该数据库，然后在（本地）表上发出 CONNECT BY 查询
。



-26082	CONNECT_BY_ISCYCLE 使用时未带 NOCYCLE 关键字。

在 CONNECT BY 查询中使用 CONNECT_BY_ISCYCLE 关键字而未带 NOCYCLE 关键字。请在 CONNECT_BY_ISCYCLE 上
下文中包含 NOCYCLE 关键字。



-26081	此上下文中 CONNECT BY 关键字用法错误。

处理 CONNECT BY 关键字时出现问题。CONNECT BY 关键字未带有 <connect_by_clause>。在 CONNECT BY 查询上下文外
部找到下列关键字之一 - LEVEL、CONNECT_BY_ISLEAF 或 CONNECT_BY_ISCYCLE 伪列 - PRIOR 或 
CONNECT_BY_ROOT 一元运算符 - SYS_CONNECT_BY_PATH() 函数 - ORDER SIBLINGS BY 子句 - START 
WITH 表达式子句。请确保在此上下文中提供了 <connect_by_clause>
。



-26080	CONNECT BY 查询处理中发生一般错误。

处理 CONNECT BY 查询时出现问题。



-26079	CONNECT BY 查询导致循环。

CONNECT BY 查询导致循环。请使用 CONNECT_BY_ISCYCLE 伪列来识别导致循环的行。更改您的查询来除去该行，或者使用 NOCYCLE 关键
字让查询跳过该行。



-26078	在相同事务中更新旧服务器时不允许回滚到保存点

如果不支持保存点的参与操作的服务器也在跨服务器事务中进行更新，那么不允许回滚到在该同一事务中设置的保存点。请终止更新该服务器的事务，并重试 ROLLBACK 
TO SAVEPOINT 语句。



-26077	在触发器内部不允许使用保存点语句。

保存点语句不能作为触发器操作执行。



-26076	无法回滚到保存点 %s。

事务无法回滚到语句中引用的保存点。有关更多详细信息，请检查随附的 ISAM 错误
。



-26075	无法释放保存点 %s。

无法释放语句中引用的保存点。有关更多详细信息，请检查随附的 ISAM 错误
。



-26074	无法设置保存点 %s。

无法设置语句中引用的保存点。有关更多详细信息，请检查随附的 ISAM 错误
。



-26073	未指定保存点名称。

保存点操作 SAVEPOINT 或 RELEASE SAVEPOINT 需要保存点名称来标识操作。请提供此操作的名称
。



-26072	(%s) 运算符无法用在此上下文中。

词语 (%s) 在服务器中是一个运算符，无法用在此上下文中。



-26071	不允许在跨数据库或跨服务器的对象上更新统计信息

只能在驻留于本地数据库中的对象上更新统计信息。要在远程数据库的对象上更新统计信息，请直接连接到该数据库
。



-26060	过程是使用较早版本的引擎创建的，必须删除该过程并再次创建其才能正常工作
。

此过程是使用较早版本的引擎创建的，其中包含如下语句：CREATE TRIGGER 语句、带分段存储表达式的 CREATE TABLE 语句、带约束表达式的 
ALTER TABLE 或 CREATE TABLE 语句，或者嵌套的 CREATE PROCEDURE 语句。必须删除此类过程并使用当前引擎再次创建
。



-26059	EXECUTE IMMEDIATE 或 PREPARE 语句包含不受支持的数据类型

传递到 SPL 中 EXECUTE IMMEDIATE 语句或 PREPARE 语句的变量必须是以下数据类型之一：CHAR、VARCHAR、LVARCHAR、
NCHAR 或 NVARCHAR。更改您的程序逻辑，以将上述某种受支持的数据类型的变量传递到 SPL 例程中的 EXECUTE IMMEDIATE 语句或 
PREPARE 语句。

在 SPL 例程中，因为 EXECUTE IMMEDIATE 或 PREPARE 语句不支持 TEXT 类型的变量，所以下列示例无效
：

Case (1) DEFINE qstr REFERENCES TEXT; ... LET qstr = (SELECT textcol FROM t1 
WHERE qryid = 100); EXECUTE IMMEDIATE qstr; 

Case (2) DEFINE qstr REFERENCES TEXT; ... LET qstr = (SELECT textcol FROM t1 
WHERE qryid = 100); PREPARE stmt_id FROM qstr; 

下列示例显示了 SPL 例程中有效的 EXECUTE IMMEDIATE 语句和 PREPARE 语句
：

Case (3) DEFINE qstr varchar(120); ... LET qstr = "create table t1 (c1 int);";
EXECUTE IMMEDIATE qstr; 

Case (4) DEFINE qstr lvarchar; ... LET qstr = "select lvarcol from t1 where 
qryid = 100";PREPARE stmt_id FROM qstr; 



-26058	SPL 中的 EXECUTE IMMEDIATE 和 PREPARE 不允许使用多条 SQL 语
句

SPL 例程中的 EXECUTE IMMEDIATE 或 PREPARE 语句正在尝试处理对多条 SQL 语句的文本进行求值的表达式。更改您的程序逻辑，以将对仅
单条 SQL 语句的文本进行求值的表达式或加引号的字符串传递到 EXECUTE IMMEDIATE 或 PREPARE 语句
。

在 SPL 例程中，因为 EXECUTE IMMEDIATE 或 PREPARE 语句指定了多条 SQL 语句的文本，所以下列示例无效
：

Case (1) ... EXECUTE IMMEDIATE "create table t1(c1 int); create table t2(c2 int)
;" ; 

Case (2) ... LET qry = "select c1,c2 from t1; select c1,c2 from t2";PREPARE 
stmt_id FROM qry; 

在 SPL 例程中，下列这些 EXECUTE IMMEDIATE 和 PREPARE 语句示例都是有效的
：

Case (3) ... EXECUTE IMMEDIATE "create table t1(c1 int);" ; EXECUTE IMMEDIATE 
"create table t2(c2 int);" ; 

Case (4) ... LET qry1 = "select c1,c2 from t1 ;";PREPARE stmt_id1 FROM qry1; 

LET qry2 = "select c1,c2 from t2 ;";PREPARE stmt_id2 FROM qry2; 

仅 ESQL/C 例程可以使用 EXECUTE IMMEDIATE 或 PREPARE 语句来处理用分号分隔的 SQL 语句列表
。



-26057	statement-id 或游标 (%s) 已在使用。

以下两种情况都可能会返回该错误：

情况 (1)

尝试用先前的 PREPARE 或 DECLARE 语句声明的同一标识 PREPARE 一条语句，但该标识尚未释放以供重用。请检查程序逻辑，在将该标识用于这条 
PREPARE 语句之前先将其 FREE，或者指定一个不同的标识。

以下示例说明了可以避免该错误的方法：

PREPARE s_emp  FROM "select givenname from employee";PREPARE s_cust FROM "select
fname from customer";... FREE s_cust; PREPARE s_cust FROM "select lname from 
customer";... FREE s_cust; FREE s_emp; 

情况 (2)

尝试用先前的 PREPARE 或 DECLARE 语句声明的同一标识 DECLARE 一个游标，但该标识尚未释放以供重用。请检查程序逻辑，在将该标识用于这条 
DECLARE 语句之前先将其 FREE，或者指定一个不同的标识。

以下示例说明了可以避免该错误的方法：

DECLARE c_emp CURSOR FOR s_emp; DECLARE c_cust CURSOR FOR s_cust; ... FREE c_emp
; DECLARE c_cust CURSOR FOR s_cust; ... FREE c_cust; FREE c_emp; 



-26056	SPL 中的函数游标 (%s) 不能有 WITH HOLD 选项。

在 SPL 中，为 EXECUTE PROCEDURE 或 EXECUTE FUNCTION 语句声明的函数游标不允许具有 WITH HOLD 选项。在声明该游
标时请省略 WITH HOLD 关键字。

仅 ESQL/C 例程支持函数游标 WITH HOLD。



-26055	未定义 statement-id 或游标名称 (%s)

如果在试图使用 statement-id 或游标名称之前未定义它们，那么会发生这种错误。确保在使用 statement-id 或游标名称之前，先对前者执行 
PREPARE 语句或对后者执行 DECLARE 语句。



-26054	无法 FREE 正在使用的游标 (%s)。

该 FREE 语句尝试释放仍在使用中的游标（即尚未关闭的游标）。请确保在尝试 FREE 之前使用 CLOSE 语句关闭该游标
。

示例

DECLARE c_cust CURSOR FOR s_cust; 

OPEN c_cust USING lfname, llname; FETCH c_cust INTO lcustomer_num, lcompany; 
CLOSE c_cust; 

FREE c_cust; 



-26053	FETCH 或 CLOSE 无法引用未打开的游标 (%s)。

FETCH 或 CLOSE 语句尝试使用未打开的游标。请确保在尝试 FETCH 或 CLOSE 该游标之前将其 OPEN
。

示例

OPEN c_cust USING lfname, llname; ... FETCH c_cust INTO lcustomer_num, lcompany
; ... CLOSE c_cust; 



-26052	尝试 OPEN 已经打开的游标 (%s)。

该 OPEN 语句引用了已经打开的游标。请检查程序逻辑，并在尝试重新打开该游标之前将其 CLOSE
。

以下示例确保在尝试用不同的输入参数值 OPEN 同一个游标之前，先将其 CLOSE
：

示例

OPEN c_emp USING lgivenname; ... CLOSE c_emp; OPEN c_emp USING lfamilyname; ... 
CLOSE c_emp; 



-26051	EXECUTE IMMEDIATE 和 PREPARE 不能采用 NULL 语句。

用于在 EXECUTE IMMEDIATE 或 PREPARE 中指定 SQL 语句文本的表达式的求值结果为 NULL 值。请确保将有效的 SQL 语句文本传送
给这些语句。

可以通过测试传递给 EXECUTE IMMEDIATE 或 PREPARE 的表达式求值结果是否为 NULL 来避免该错误
：

示例 (1)

DEFINE qStr CHAR(255); ... LET qStr = <expression>; 

-- validate if <expression> above evalutes to NULL IF (qStr IS NOT NULL) THEN 
EXECUTE IMMEDIATE qStr; ELSE ... END IF; 

示例 (2)

DEFINE def_lc1 INTEGER; DEFINE lc1 INTEGER; 

LET def_lc1 = 10; 

SELECT c1 INTO lc1 FROM t1 WHERE c2 = 10; 

-- validate if query above returns a NULL value to lc1 -- if it is NULL then 
logic below should use default -- lc1 (def_lc1) to avoid concatenation that 
returns NULL 

IF (lc1 IS NOT NULL) THEN PREPARE stmtId FROM "select c2[" || lc1 || "] FROM 
t2";ELSE PREPARE stmtId FROM "select c2[" || def_lc1 || "] FROM t2";END IF; 



-26050	函数 (explain_sql) 不支持带主变量的查询。

Explain_sql 仅支持不带任何主变量的单条 SELECT 语句。请更改您的查询
。



-26049	函数 (explain_sql) 中，针对 xml_input 的编码 (%s) 无效。

Xml_input 应该采用 UTF-8 编码。



-26048	函数 (explain_sql) 具有无效的参数 %s。

您为该参数提供的值无效。



-26047	函数 (explain_sql) 不支持 (%s) 中提供的查询。该函数只支持单条 SELECT 语句
。

Explain_sql 只支持单条 SELECT 语句。请更改您的查询。



-26046	警告：函数 (explain_sql)：未提供请求的语言环境。将使用缺省的语言环境 %s
。

由于 explain_sql UDR 中未提供语言环境，因此将在查询中使用缺省语言环境
。



-26045	警告：函数 (explain_sql) %s 和当前支持版本不匹配。

explain_sql 的提供的 major_version 或 minor_version 与当前服务器版本不匹配。请检查客户机版本并进行必要的调整
。



-26044	函数 (explain_sql) ：在读取参数 %s 时发生错误。

在读取该参数时发生错误。



-26043	函数 (explain_sql)：必需参数 %s 为 NULL。

当执行 explain_sql UDR 时缺少必需参数。



-26042	%s 中的函数 (explain_sql) 失败。

在 explain_sql UDR 中，指定的函数执行失败。



-26041	为 %s 环境变量指定的值无效。

为该环境变量提供的值无效。请检查您的用户文档，提供正确的值，然后再试一次
。



-26040	ENCRYPT VP 初始化失败。

在 ENCRYPT VP 初始化期间发生内部错误。



-26036	因为该表已有版本列，所以不能使用 WITH VERCOLS 子句。该表已具有由 WITH VERCOLS 子句创建的版本列。您不能添加其他版本列
。



-26032	EXIT WHEN 子句使用了无效的标签 label-name。

标签未定义或对于 LOOP 语句不是有效的标签。EXIT WHEN 标签必须定义在 LOOP 语句能到达的作用域内。请检查 label-names 的拼写是否正
确。



-26031	END LOOP 标签的 label-name 与 LOOP 标签的 label-name 不匹配
。

LOOP label-name 和 END LOOP label-name 不匹配。请检查 label-names 的拼写是否正确
。



-26030	EXIT 或 CONTINUE 语句的用法无效，该语句应用于语句循环内
。

在 SPL 例程中，EXIT 和 CONTINUE 语句必须在 WHILE、FOR 或 LOOP 语句循环内
。



-26029	异常处理程序中不能使用 GOTO，且不能定义标签。

请重写异常处理程序块，使之不包含 GOTO 语句。

错误示例：

CREATE PROCEDURE testproc() BEGIN ON EXCEPTION IN (-206) <<ex_label>>           
-- error CREATE TABLE emp_list (lname CHAR(15)); GOTO ex_label;                 
-- error INSERT INTO emp_list VALUES ('john'); END EXCEPTION WITH RESUME INSERT 
INTO emp_list VALUES ('john'); END ... 

       ... END PROCEDURE; 



-26028	SPL 过程中的标签 label-name 必须是唯一的。

label-name 的作用域是过程，所以标签名称必须在 CREATE [PROCEDURE|FUNCTION] 和 END [PROCEDURE|
FUNCTION] 关键字之间保持唯一。



-26027	在 GOTO 语句上指定的标签 label-name 无效。

GOTO 语句使用了未定义或无效的标签。GOTO 标签必须在相同过程中定义。请检查 label-name 的拼写是否正确
。



-26026	在 SELECT FROM INSERT 语法中不允许在 INSERT 语句中对远程表进行引用
。

SELECT FROM INSERT 语句不支持在语句的 INSERT 部分对远程对象进行引用。请重写查询，使语句的 INSERT 部分中没有对远程对象的引用
。



-26025	在此上下文中不允许使用 SELECT FROM INSERT 语法。

在以下情况下不允许使用 SELECT FROM INSERT 语法：* SELECT 语句是连接 (join) 的一部分或嵌套为子查询。* SELECT 语句是
CREATE VIEW 语句的一部分。* SELECT 语句在查询谓词或投影列表中以子查询的形式出现。* SELECT 语句以 INSERT INTO 
SELECT 语句的一部分出现。



-26024	sysdbopen 和 sysdbclose 例程不能有参数或返回值。

SPL 例程 sysdbopen 和 sysdbclose 必须定义为无任何参数或返回值
。



-26023	在为重命名操作定义非受控或严格受控（在所有复制参与者之间，列名和表名必须与数据类型匹配）复制时，无法执行该操作
。

仅允许对定义了非严格受控复制的 Enterprise Replication 表进行重命名表和列操作。对于非严格受控复制，列名可以不同但列数据类型必须匹配。非严
格受控复制可以通过“cdr define repl”的 --name=n 属性或“cdr modify repl”命令来定义。有关非严格受控复制、受控复制和非受
控复制的更多信息，请参阅 Enterprise Replication 手册。



-26022	EXTERNAL NAME 太长。

CREATE FUNCTION 或 CREATE PROCEDURE 的 EXTERNAL NAME 子句最多可包含 255 个字符
。



-26021	在截断或联机变更分段后事务中不允许执行任何操作
。

在截断或联机变更分段后事务中仅允许执行 COMMIT 和 ROLLBACK 操作
。



-26020	截断带有删除触发器的表需要 ALTER 特权。

除非具有 ALTER 特权，否则无法截断带有删除触发器的表。仅当表中没有活动的删除触发器时，具有 DELETE 特权的用户才可以截断它
。



-26019	没有为表或索引定义目的函数 am_truncate。

没有在被截断的表上为 VTI 表或 VII 索引定义 am_truncate 目的函数
。



-26018	表 %s 具有一个引用键约束，且不为空。

正在截断的表具有被上表引用的唯一键或主键。



-26015	表或索引的所有分段需要具有相同页面大小。

在跨不同页面大小的数据库空间上创建分段表或索引时，可能发生该错误。如果在表或索引上执行 ALTER FRAGMENT，且新数据库空间的页面大小与现有分段存储策略
中的数据库空间不同，那么也可能发生该错误。对于时间间隔分段表或索引，如果 STORE IN 子句中数据库空间的页面大小与初始分段数据库空间的页面大小不同，可能发
生该错误。



-26013	加密 VP 邮箱操作失败。

在 CPU VP 和 ENCRYPT VP 之间的通信期间发生内部错误。



-26012	内部 base64 解码函数失败。

内部密码库 base64 解码 API 失败。这可能是因为数据损坏而引起的
。



-26011	内部 base64 编码函数失败。

内部密码库 base64 编码 API 失败。



-26010	随机 IV 生成失败。

内部密码库随机 API 生成初始化向量 (IV) 失败。



-26009	密钥生成失败。

内部密码库密钥生成 API 失败。



-26008	内部解密函数失败。

内部密码库解密 API 失败。该错误可能由错误密码或数据损坏而引起
。



-26007	内部加密函数失败。

内部密码库加密 API 失败。



-26006	加密函数不支持该数据类型。

不支持 BYTE/TEXT 和 UDT。请使用 BLOB/CLOB 代替 BYTE/TEXT，或将 UDT 强制转型为字符串类型，例如 CHAR 或 
LVARCHAR。



-26005	加密数据错误或已损坏。

数据必须为 IDS 加密函数的结果。由于数据未加密、已损坏，或加密后被截断（例如：ALTER TABLE 操作），或使用该版本不支持的算法加密，解密可能已经失败
。



-26004	不支持加密提示数据类型。

请使用字符串类型（例如 CHAR(20) 或 VARCHAR(40)）的加密提示。



-26003	数据必须使用长度为 6 到 128 之间的密码加密。

加密密码无效，因为所指定密码的长度少于 6 字节或多于 128 字节
。



-26002	加密密码数据类型无效。

加密密码无效，因为所指定密码的数据类型不受支持。请使用字符串类型（例如 CHAR(20) 或 VARCHAR(40)）的加密密码
。



-26001	加密/解密密码未设置。

请在参数列表中为加密/解密函数提供加密密码，或使用“SET ENCRYPTION PASSWORD”语句
。



-25843	如果事务已显式锁定正在变更的表，那么无法在该事务中执行联机变更分段操作
。

当前事务中已发出 LOCK TABLE 语句，以锁定正在变更的表。如果事务已显式锁定表，那么无法在该事务中执行联机变更分段操作。如果需要锁定表，请脱机执行变更分
段操作。



-25842	如果事务具有在数据库中已修改的对象，那么无法在该事务中执行联机变更分段操作
。

对于执行任何类型修改的事务，联机变更分段操作必须是该事务中的第一个操作
。



-25841	联机分离分段期间发生错误。

联机分离分段期间发生错误。有关更多信息，请检查随附的 ISAM 错误代码
。



-25840	联机附加分段期间发生错误。

联机附加分段期间发生错误。有关更多信息，请检查随附的 ISAM 错误代码
。



-25839	内部错误：找不到转换分段。

缺少转换分段。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25838	要截断的分段的列表中分区名称重复。

分区名称在 ALTER FRAGMENT 语句的 TRUNCATE 子句中

被多次指定。

例如，以下语句会生成错误：


ALTER FRAGMENT ON TABLE employee TRUNCATE PARTITION p1, PARTITION p1, 

PARTITION p2; 


分区 p1 在 TRUNCATE 子句中出现两次。





-25837	无法截断索引分段。

无法截断索引分段。仅表分段支持 ALTER FRAGMENT 语句的 TRUNCATE 选项
。



-25836	转换值必须为非空常量。

转换值必须为非空常量表达式。

例如，以下变更会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 5000 IN dbs0, 

PARTITION p2 VALUES < 10000 IN dbs0, 

PARTITION p3 VALUES < 20000 IN dbs4; 


ALTER FRAGMENT ON TABLE employee MODIFY INTERVAL TRANSITION TO emp_id+10; 


新的转换值 emp_id+10 是列表达式，而不是常量。





-25835	指定的转换值无效。

变更分段存储方案以修改转换值时，

新转换值必须大于旧转换值。

如果新转换值后存在时间间隔分段，

那么新转换值必须与时间间隔分段边界一致。


例如，请考虑具有以下模式的表：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 4000 IN dbs1, 

PARTITION p2 VALUES < 6000 IN dbs2, 

PARTITION p3 VALUES < 8000 IN dbs3; 


以下语句会生成错误：


ALTER FRAGMENT ON TABLE employee MODIFY INTERVAL TRANSITION TO 7000; 


转换值只能增大。在以上示例中，

新转换值小于旧转换值。


假定表具有两个时间间隔分段，

sys_p4  >= 8000 AND < 9000 

sys_p6  >= 10000 AND < 11000 


以下语句会生成错误：


ALTER FRAGMENT ON TABLE employee MODIFY INTERVAL TRANSITION TO 8500; 


新转换值 8500 与时间间隔分段边界不一致。


以下用法是正确的：


ALTER FRAGMENT ON TABLE address MODIFY INTERVAL TRANSITION TO 9000; 

ALTER FRAGMENT ON TABLE address MODIFY INTERVAL TRANSITION TO 10000; 


新转换值 9000 和 10000 与时间间隔分段边界

一致。


以下用法也是正确的：


ALTER FRAGMENT ON TABLE address MODIFY INTERVAL TRANSITION TO 12500; 


由于没有时间间隔分段超过新转换值，

因此新转换值不需要与时间间隔分段边界一致。





-25834	指定的变更分段操作无法联机执行。

仅时间间隔分段表支持联机变更分段。

以下操作可以联机执行：

- 附加时间间隔分段

- 分离时间间隔分段

- 修改转换值


以下条件适用于联机附加时间间隔分段：

- 尚存表必须是时间间隔分段表。

- 耗尽表必须是非分段表。一次只能

附加一个表。

- 尚存表上的所有索引与表采用同样的方式进行分段，

即，必须附加所有索引。

- 对于尚存表上的每个索引，在耗尽表上必须

有一个匹配索引，即，同一组列上的索引。

- 耗尽表上的索引必须分离并存储在

一个数据库空间中。用于索引的数据库空间必须与

用于耗尽表的数据库空间相同。

- 如果尚存表上的索引唯一，那么耗尽表上

对应的匹配索引也必须唯一。

- 耗尽表的检查约束必须与

要附加的分段表达式精确匹配，并且必须仅跨一个

时间间隔。要确保没有数据移动，必需满足此条件。


以下条件适用于联机分离时间间隔分段：

- 尚存表必须是时间间隔分段表。

- 尚存表上的所有索引与表采用同样的方式进行分段，

即，必须附加所有索引。





-25833	内部错误：无法构造分段分区的紧凑表示。

为时间间隔或列表分段表/索引构造分段分区的紧凑表示时，发生内部错误。分段表达式重叠或为非线性表达式
。



-25832	内部错误：无法修改转换值。

修改转换值时发生内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25831	无法修改转换分段的分段表达式。

无法修改转换分段或最后一个范围分段的

分段表达式。但是，ALTER FRAGMENT 语句的

MODIFY INTERVAL TRANSITION 选项允许修改转换值，

而转换值又可更改分段表达式。


例如，以下变更会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 5000 IN dbs0, 

PARTITION p2 VALUES < 10000 IN dbs0, 

PARTITION p3 VALUES < 20000 IN dbs4; 


ALTER FRAGMENT ON TABLE employee MODIFY 

PARTITION p3 TO PARTITION p3 VALUES < 25000 IN dbs4; 


无法使用上述语法修改转换分段 p3 

的分段表达式。


以下修改转换值的语句将间接

更改 p3 的分段表达式：


ALTER FRAGMENT ON TABLE employee MODIFY INTERVAL TRANSITION TO 25000; 





-25830	新的分段表达式无法跨邻近分段边界。

变更分段存储方案以修改范围分段的

分段表达式时，新分段表达式无法跨邻近

分段边界。范围分段的新上限必须

大于上一个范围分段的上限，小于

下一个范围分段的上限。


例如，以下变更会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 5000 IN dbs0, 

PARTITION p2 VALUES < 10000 IN dbs0, 

PARTITION p3 VALUES < 20000 IN dbs4, 

PARTITION p4 VALUES < 25000 IN dbs4; 


ALTER FRAGMENT ON TABLE employee MODIFY 

PARTITION p2 TO PARTITION p2 VALUES < 4000 IN dbs0; 


ALTER FRAGMENT ON TABLE address MODIFY 

PARTITION p2 TO PARTITION p2 VALUES < 21000 IN dbs0; 


上述两个变更中的新分段表达式均跨邻近

分段边界。第一个变更的新上限 4000 小于

上一个范围分段 p1 的上限。同样，第二个变更

的新上限 21000 大于下一个范围

分段 p3。范围分段 p2 的新上限必须大于

5000、小于 20000。


正确的用法如下：


ALTER FRAGMENT ON TABLE address MODIFY 

PARTITION p2 TO PARTITION p2 VALUES < 12000 IN dbs0; 





-25829	无法修改时间间隔分段的分段表达式。

时间间隔分段的分段表达式由系统生成，无法修改。



-25828	向初始范围分段添加或附加分段时发生错误。

向时间间隔分段表或索引的初始分段添加或附加分段时，发生内部错误。请记下所有情况并联系 IBM 技术支持
。



-25827	无法添加或附加与现有分段表达式匹配的分段表达式
。

时间间隔或列表分段表或索引不能有重叠的分段表达式。



-25826	无法为时间间隔或列表分段存储指定多个空分段。

时间间隔或列表分段表或索引不能有多个空分段。请重新编写语句以除去空分段指定
。



-25825	无法为时间间隔分段存储指定剩余分段。

时间间隔分段表或索引不能有剩余分段。请重新编写语句以除去剩余分段指定
。



-25824	分段的上限必须与时间间隔分段边界一致。

变更时间间隔分段存储方案以添加或附加超过转换值

的分段时，要添加或附加的分段的上限必须与

时间间隔分段边界一致，即，分段的上限必须等于

转换值加上时间间隔值的倍数。



例如，以下变更会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 5000 IN dbs0, 

PARTITION p2 VALUES < 10000 IN dbs0; 


ALTER FRAGMENT ON TABLE employee ADD PARTITION p3 VALUES < 15400; 


在以上示例中，要添加超过转换值的分段，

即，要添加时间间隔分段。分段的上限 



-25823	添加或附加分段时，无法指定 BEFORE 或 AFTER 子句。

向时间间隔分段表/索引添加或附加分段时，无法使用 BEFORE 或 AFTER 子句。系统内部会确定要添加或附加的分段的位置
。



-25822	移动到新分段存储方案时无法确定分段的分段位置。

在新分段存储方案中确定分段的分段位置时发生错误。新方案中某个分段的分段位置可能已超过 2147483646。请考虑更改时间间隔值表达式或更改转换值
。



-25821	内部错误：时间间隔或列表分段表/索引具有零个分段
。

读取时间间隔或列表分段表/索引的目录条目时，发生内部错误。表/索引没有任何分段。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25820	无法附加两个非分段表以创建时间间隔或列表分段表
。

对于时间间隔和列表分段存储，附加操作中的尚存表必须按时间间隔或列表进行分段。如果要附加两个非分段表，请为其中一个非分段表按时间间隔或列表初始化分段存储方案，然后
再向其附加第二个非分段表。



-25819	INTERVAL 子句仅允许用于时间间隔分段存储方案。

仅当变更时间间隔分段表/索引或变更时间间隔分段存储的分段存储方案时，才能指定 INTERVAL 子句
。



-25818	不支持指定的操作或语法。

表或索引的分段存储方案不支持指定的操作或语法。



-25817	无法删除或分离剩余的唯一一个非空、非剩余分段。

无法将分段存储方案变更为可删除或分离最后一个非空、非剩余分段。时间间隔或列表分段存储必须至少具有一个非空、非剩余分段
。



-25816	时间间隔分段的数据库空间列表中不存在数据库空间 <dbsname>
。

给定表或索引的时间间隔分段的数据库空间列表中

不存在指定的数据库空间。以下查询

将提供表及其索引的时间间隔分段的

数据库空间的当前列表：


SELECT tabname, indexname, exprtext 

FROM sysfragments, systables 

WHERE sysfragments.tabid = systables.tabid AND 

sysfragments.evalpos = -1 AND 

systables.tabname = <tabname>; 





-25815	定义列表分段存储中分段值列表的表达式必须为常量
。

定义列表分段存储中分段值列表的表达式

必须为常量。例如，以下语句会生成错误：


CREATE TABLE customer (cust_id INTEGER, cust_name CHAR(20), state CHAR(2)) 

FRAGMENT BY LIST (state) 

PARTITION p0 VALUES ("KS", "IL") IN dbs0, 

PARTITION p1 VALUES (name, "NR") IN dbs2; 


分段 p1 的列表中的某个值是列，

它不是常量。





-25814	向函数 NUMTOYMINTERVAL()、NUMTODSINTERVAL()、TO_YMINTERVAL() 或 TO_DSINTERVAL() 传递的自变量
不正确。

向以下某个函数传递的自变量不正确：

NUMTOYMINTERVAL()、NUMTODSINTERVAL、TO_YMINTERVAL() 或 TO_DSINTERVAL()。


这些函数的格式为：


NUMTOYMINTERVAL( <NUMBER>, { "YEAR" | "MONTH" } ) 

TO_YMINTERVAL( <NUMBER>, { "YEAR" | "MONTH" } ) 


NUMTODSINTERVAL( <NUMBER>, { "DAY" | "HOUR" | "MINUTE" | "SECOND" } ) 

TO_DSINTERVAL( <NUMBER>, { "DAY" | "HOUR" | "MINUTE" | "SECOND" } ) 


<NUMBER> 变量可以是任意字面数字，也可以是

其数据类型会解析为数字的列。


以下示例显示如何正确地使用这些函数：


execute function NUMTOYMINTERVAL(1.5,"YEAR"); 

execute function NUMTODSINTERVAL(120,"MINUTE"); 


或者，也可将单个字符串自变量传递到 TO_YMINTERVAL()

和 TO_DSINTERVAL()：


TO_YMINTERVAL("YY-mm") 

TO_DSINTERVAL("DD HH:MM:SS") 


其中：

YY = 年

mm = 月

DD = 日

HH = 小时

MM = 分钟

SS = 秒


以下示例显示如何将字符串自变量与这些函数配合使用：


execute function TO_YMINTERVAL("15-6"); 

execute function TO_DSINTERVAL("1 3:3:7"); 





-25813	不允许在分段存储方案中使用的分区名称。

时间间隔分段的系统生成分区名称以“sys_p”开头。

因此，时间间隔分段表或索引的初始分段的分区名称

不能以相同字符开头。


以下语句会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(hire_date) 

INTERVAL(3 UNITS YEAR) STORE IN (dbs1, dbs2, dbs3) 

PARTITION sys_p1 VALUES < DATE('01/01/2006') IN dbs3; 


在以上示例中，分区名称以“sys_p”开头，这是不允许的，

因为“sys_p”前缀是为系统定义的存储对象保留的。



正确的用法如下：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(hire_date) 

INTERVAL(3 UNITS YEAR) STORE IN (dbs1, dbs2, dbs3) 

PARTITION pt1 VALUES < DATE('01/01/2006') IN dbs3; 





-25812	新旧转换值之间的差必须是时间间隔值的倍数。

如果变更分段存储方案会更改转换值，并且

表或索引具有时间间隔分段，那么新旧转换值

之间的差必须是时间间隔值的倍数。


例如，请考虑具有以下模式的表：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(3000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 4000 IN dbs1, 

PARTITION p2 VALUES < 6000 IN dbs2, 

PARTITION p3 VALUES < 8000 IN dbs3; 


如果上表具有时间间隔分段（当插入的 emp_id 值

等于或大于 8000 时会自动添加），那么不会允许将转换值

修改为 8500。


以下语句会生成错误：


ALTER FRAGMENT ON TABLE employee MODIFY INTERVAL TRANSITION TO 8500; 


新转换值 (8500) 与旧转换值 (8000) 之间的差值

不是时间间隔值 (3000) 的倍数。


同样，删除或分离转换分段或最后一个范围分段

也会更改转换值。由删除或分离所创建的间隔

必须是时间间隔值的倍数。


以下语句会生成错误：


ALTER FRAGMENT ON TABLE employee DROP PARTITION p3; 


新转换值 (6000) 与旧转换值 (8000) 之间的差值

或由删除创建的间隔不是时间间隔值 (3000) 的倍数。





-25811	时间间隔分段的转换值必须与时间间隔值类型的边界一致
。

转换值或者最后一个范围分段的上限必须

与时间间隔值类型的边界一致。


适用以下要求：

- 对于任意数字数据类型的时间间隔值，转换值

不能有尾数部分。

- 对于首个字段限定符为 YEAR 或 MONTH 的

INTERVAL 类型的时间间隔值，转换值不得包含

小于 MONTH 的字段限定符。除非 DAY 字段的值为 01，

并且小于 DAY 的任何时间单位的值都为零（例如，



-25810	分段键、时间间隔值和分段的上限不兼容。

分段键（即对表或索引进行分段的列表达式）、

时间间隔值和分段的上限的数据类型

不兼容。对于数字分段键，时间间隔值必须是

数字类型，分段的上限必须是数字。对于 

DATE 或 DATETIME 类型的分段键，时间间隔值必须是 INTERVAL 类型
，

分段的上限必须是 DATE 或 DATETIME 类型。


在以下每个场景中也可能发生该错误：

- 对于 DATETIME 类型的分段键，分段键的首个字段限定符

大于时间间隔值的最后一个字段限定符。


- 对于 DATE 类型的分段键，时间间隔值不是

天数的整数倍（即，小时、分钟、秒或尾数不为零）。


- 对于 DATE 或 DATETIME 类型的分段键，分段键的

首个字段限定符与分段上限的首个字段限定符不同。


- 分段上限的生成类型不是内置

数据类型。


例如，以下语句会生成错误：


示例 1：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(3 UNITS YEAR) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 3000 IN dbs3; 


分段键以及分段 p1 的上限是数字，但

时间间隔值却是不兼容的 INTERVAL 类型。


示例 2：


CREATE TABLE orders (order_num INT, order_time DATETIME HOUR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(3 UNITS DAY) 

PARTITION p1 VALUES < DATETIME(01:00:00) HOUR TO SECOND IN dbs1; 


在以上示例中，分段键 order_time 的首个字段限定符 (HOUR)

大于时间间隔值的最后一个字段限定符 (DAY)。



正确的用法如下：


CREATE TABLE orders (order_num INT, order_time DATETIME HOUR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(3 UNITS HOUR) 

PARTITION p1 VALUES < DATETIME(01:00:00) HOUR TO SECOND IN dbs1; 


示例 3：


CREATE TABLE orders (order_num INT, order_time DATETIME YEAR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(3 UNITS DAY) 

PARTITION p1 VALUES < DATETIME(01-01 01:00:00) MONTH TO SECOND IN dbs1; 


在以上示例中，分段键 order_time 的首个字段

限定符 (YEAR) 不同于初始范围分段的上限的

首个字段限定符 (MONTH)。


正确的用法如下：


CREATE TABLE orders (order_num INT, order_time DATETIME YEAR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(3 UNITS DAY) 

PARTITION p1 VALUES < DATETIME(2010-01-01 01:00:00) YEAR TO SECOND IN dbs1; 


示例 4：


CREATE TABLE orders (order_num INT, order_date DATE, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_date) 

INTERVAL(3 UNITS HOUR) 

PARTITION p1 VALUES < DATE('01/01/2009') IN dbs1; 


在以上示例中，分段键 order_date 的类型为 DATE，

但时间间隔值 (3 UNITS HOUR) 不是 DAY 的整数倍。


正确的用法如下：


CREATE TABLE orders (order_num INT, order_date DATE, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_date) 

INTERVAL(24 UNITS HOUR) 

PARTITION p1 VALUES < DATE('01/01/2009') IN dbs1; 





-25809	STORE IN 子句中指定的一个或多个数据库空间不存在。

STORE IN 子句中指定的一个或多个数据库空间不存在。确保 STORE IN 子句中指定的数据库空间存在且页面大小相同。如果表具有一组初始范围分段，那么 
STORE IN 子句中数据库空间的页面大小必须与范围分段的数据库空间的页面大小相匹配
。



-25808	定义每个分段的上限的表达式必须为常量。

时间间隔分段存储的分段表达式格式为 

VALUES < <upper_limit_expr>。上限的表达式必须为

常量。例如，以下语句会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT) 

FRAGMENT BY RANGE(emp_id) 

INTERVAL(2000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < emp_id+1 IN dbs3; 


分段 p1 的上限是列表达式 emp_id+1，

它不是常量。





-25807	时间间隔分段存储的分段键必须为单个列表达式。

分段键（即对表或索引进行分段的列表达式）

必须为单个列表达式。例如，以下语句

会生成错误：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT) 

FRAGMENT BY RANGE(ROUND(basepay+varpay)) 

INTERVAL(2000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 0 IN dbs3; 


分段键引用了两个列 basepay 和 varpay，

这是不允许的。





-25806	时间间隔分段存储的分段键必须为数字、DATE 或 DATETIME 类型
。

分段键（即对表或索引进行分段的列表达式）

必须为数字、DATE 或 DATETIME 类型。例如，

以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(city) 

INTERVAL(5) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


分段键是 city 列，类型为 CHAR。


以下语句是正确的：


CREATE TABLE orders (order_num INT, order_date DATE, customer_num INT, 

ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_date) 

INTERVAL(INTERVAL(3) MONTH TO MONTH) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < DATE('01/01/2009') IN dbs1; 


CREATE INDEX ord_ship_idx ON orders(ship_instruct_code) 

FRAGMENT BY RANGE(ASCII(ship_instruct_code)) 

INTERVAL(10) STORE IN (dbs1, dbs2) 

PARTITION p1 VALUES < 65 IN dbs1; 





-25805	时间间隔值必须为数字或 INTERVAL 数据类型。

时间间隔值的表达式的生成数据类型必须满足

以下两组条件中的一组：

<1>  如果分段键为数字类型，表达式必须返回

内置数字数据类型。不能为 MONEY 数据类型，

且不能有尾数部分。


<2>  如果分段键为 DATE 或 DATETIME 类型，表达式

必须返回最后一个字段限定符不能为 FRACTION 的 

INTERVAL 数据类型。


以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL("123") STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


时间间隔值 "123" 不是数字或 INTERVAL 数据类型。


CREATE INDEX add_zip_idx ON address(zip) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000.20) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


时间间隔值 1000.20 具有尾数部分。


以下语句是正确的：


CREATE INDEX add_zip_idx ON address(zip) 

FRAGMENT BY RANGE(zip) 

INTERVAL(100+900) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


时间间隔值 (100+900) 这一表达式的结果是

不带尾数部分的数字。





-25804	时间间隔值必须为非零正常量。

时间间隔值的表达式的生成值必须为非零

正数常量。例如，以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(-1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


时间间隔值为负数。


以下语句也会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(zip) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


时间间隔值是 zip 列，该列不是常量。





-25803	时间间隔或列表分段存储必须至少具有一个非空、非剩余分段
。

必须为时间间隔或列表分段存储定义

指定至少一个既不是空分段也不是剩余分段

的分段。“空分段”是指仅存储 NULL 数据值的分段，

“剩余分段”是指使用 REMAINDER 关键字定义的分段。



以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES IS NULL IN dbs3; 


CREATE INDEX add_state_idx ON address(state) 

FRAGMENT BY LIST(state) 

PARTITION p1 VALUES (NULL) IN dbs2, 

PARTITION p2 REMAINDER IN dbs3; 


以上语句违反时间间隔和列表分段存储要求：

至少有一个分段既不是空分段也不是剩余分段。


以下语句是正确的：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 


CREATE INDEX add_state_idx ON address(state) 

FRAGMENT BY LIST(state) 

PARTITION p1 VALUES ('CA','OR') IN dbs1, 

PARTITION p3 VALUES (NULL) IN dbs2, 

PARTITION p4 REMAINDER IN dbs3; 


CREATE INDEX add_zip_idx ON address(zip) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3, 

PARTITION p2 VALUES IS NULL IN dbs4; 


在以上语句中，p1 分段为非空、非剩余分段，

因此满足时间间隔和列表分段存储的要求。






-25802	PARTITION 子句对于时间间隔和列表分段存储是必需的。

PARTITION 子句对于时间间隔和列表分段存储是必需的。

分区名称必须在 PARTITION 关键字后指定。

例如，以下语句会生成错误：


CREATE INDEX add_zip_idx ON address(zip) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

VALUES < 10000 IN dbs3; 


以下语句是正确的：


CREATE INDEX add_zip_idx ON address(zip) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 10000 IN dbs3; 





-25801	无法在 STORE IN 子句中多次指定一个数据库空间。

一个数据库空间无法在 STORE IN 子句中多次指定。

例如，以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs1) 

PARTITION p1 VALUES < 5000 IN dbs3, 

PARTITION p2 VALUES < 10000 IN dbs3, 

PARTITION p3 VALUES < 20000 IN dbs4; 


数据库空间 dbs1 在 STORE IN 子句中出现了两次。





-25800	无法为时间间隔或列表分段存储指定重叠的分段表达式
。

时间间隔或列表分段存储的分段表达式不得重叠。

例如，以下语句会生成错误：


CREATE TABLE address (street VARCHAR(128), city VARCHAR(32), 

state CHAR(2), zip INT) 

FRAGMENT BY RANGE(zip) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 5000 IN dbs3, 

PARTITION p2 VALUES < 10000 IN dbs3, 

PARTITION p3 VALUES < 10000 IN dbs4; 


分区 p2 和 p3 重叠。p2 和 p3 的

分段表达式相同。


以下语句也会生成错误：


CREATE INDEX add_state_idx ON address(state) 

FRAGMENT BY LIST(state) 

PARTITION p1 VALUES ('CA','OR') IN dbs1, 

PARTITION p2 VALUES ('NY', 'NJ', 'CA') IN dbs2, 

PARTITION p3 VALUES (NULL) IN dbs3, 

PARTITION p4 REMAINDER IN dbs3; 


分区 p1 和 p2 重叠。p1 和 p2 分区中

都出现值“CA”。





-25791	没有 EXTEND 角色或 DBSA 权限就无法执行特权的内置 Java 例程
。

出于安全原因，仅 DBSA 或被授予了 EXTEND 角色的用户（如果启用了 IFX_EXTEND_ROLE 配置参数）可执行以下内置 Java 例程：
install_jar、remove_jar、replace_jar、install_jar_deploy、remove_jar_undeploy、
alter_java_path、setUDTExtName 和 unsetUDTExtName



-25790	SET EXPLAIN FILE 或 SET DEBUG FILE 语句中的文件名太长。

SET EXPLAIN FILE 或 SET DEBUG FILE 语句中提供的文件名的长度超过允许的最大长度（256 个字节）。重命名该文件，或将它存储在路径
较短的目录中。



-25789	SET EXPLAIN FILE 或 SET DEBUG FILE 中的文件名必须是非空字符串
。

为 SET EXPLAIN FILE 或 SET DEBUG FILE 语句中的文件名指定的参数必须是非空字符数据类型（CHAR 或 VARCHAR）
。



-25787	转换为 10.00 时删除 EXTEND 角色。

转换为 10.00 时需要删除该角色，然后再次尝试转换。



-25786	只有 DBSA 可以授予/撤销 EXTEND 角色的许可权。

只有 DBSA 组的成员可以为 EXTEND 角色授予或撤销许可权。



-25785	没有 EXTEND 角色无法创建外部例程 (%s)。

没有 EXTEND 角色的特权则无法创建外部函数或过程。



-25784	SIZE 子句中的值超出范围。

指定的值不正确。可接受的值必须是 1 到 9,999 之间的数字。



-25783	SIZE 子句中的值无效。

SIZE 子句包含不可接受的字符。可接受的值必须是 1 到 9,999 之间的数字
。



-25782	警告：从主机返回了不完整的结果。

您选择的数据可能超过了主机上可供您使用的磁盘空间。从主机检索的结果不完整。采取以下一个或多个操作
：

*   修改 SELECT 子句以选择更少数据或更少字段。

*   咨询主机系统管理员以获取更多磁盘空间。

*   修改 SIZE 子句以检索更少行。

*   修改“设置”屏幕上的“要检索的最大记录数”参数。



-25781	缺少主机表名或 FROM 子句。

当前 EXTRACT 语句缺少主机表名或整个 FROM 子句。纠正并重新运行 EXTRACT 语句
。



-25780	警告：没有为主机表定义任何字段描述。

DataExtract 在刷新您的词汇表时，发现主机上没有为正在刷新的主机表定义任何字段描述。此消息只是警告。咨询您的应答/抽取器 DBA 有关添加主机表的字段
描述。



-25779	无法打开输出文件。

DataExtract 在将主机数据抽取到文件中时，无法打开指定的输出文件。如果文件已存在，请检查文件是否具有正确的许可权
。



-25778	写入到输出文件时出错。

DataExtract 在将主机数据抽取到文件中时，无法写入到指定的文件。验证是否有足够的磁盘空间可用以及文件是否具有正确的许可权
。



-25777	值无效。必须为 Y 或 N。

您使用 Y 或 N 以外的字符对提示进行了应答。将您的应答更改为 Y 或 N
。



-25776	“落实频率”参数必须在 1 到 99,999,999 行之间。

指定的值不正确。将值更改为处于可接受范围之内。



-25775	“要检索的最大记录数”参数必须在 0 到 9,999 之间。

指定的值不正确。将值更改为处于可接受范围之内。



-25774	“要处理的最大记录数”参数必须在 1 到 99,999,999 之间
。

指定的值不正确。将值更改为处于可接受范围之内。



-25773	“主机进程超时”参数必须在 1 到 1440 分钟之间。

指定的处理超时限制不正确。将“主机进程超时”参数更改为 1 到 1,440 之间的数字
。



-25772	“类”参数必须在 1 到 15 之间。

指定的应答/抽取器处理类不正确。将“类”参数更改为 1 到 15 之间的数字
。



-25771	无法访问指定的断开连接脚本文件。

指定的断开连接脚本文件不存在或者不具有正确的许可权。请检查文件名的拼写。检查该文件在 ANSAPI 环境变量所指定的路径中或者在当前目录中（如果未设置 
ANSAPI）是否存在。



-25770	“断开连接脚本”参数是必需的。

“设置”屏幕上的“断开连接脚本”参数为空白。输入有效断开连接脚本的文件名。使用 Scripter 实用程序创建一个有效脚本（如果该脚本不存在）
。



-25769	无法访问指定的连接脚本文件。

指定的连接脚本文件不存在或者不具有正确的许可权。请检查文件名的拼写。检查该文件在 ANSAPI 环境变量所指定的路径中或者在当前目录中（如果未设置 ANSAPI
）是否存在。



-25768	“连接脚本”参数是必需的。

“设置”屏幕上的“连接脚本”参数为空白。输入有效连接脚本的文件名。可使用 Scripter 实用程序创建一个有效连接脚本（如果该脚本不存在）
。



-25767	“稳定时间”参数必须在 2 到 18 秒之间。

您输入的稳定时间无效。将稳定时间更改为 2 到 18 之间的数字
。



-25766	“锁定时间”参数必须在 1 到 300 秒之间。

您输入的锁定时间无效。将锁定时间更改为 1 到 300 之间的数字
。



-25765	应答/数据库调用代码是必需的。

必需应答/抽取器调用代码才能调用应答/抽取器。请咨询您的应答/抽取器 DBA 以找出适合您的主机环境的应答/抽取器调用代码
。



-25764	“应答/数据库概要文件名称”参数是必需的。

必需应答/抽取器概要文件名称才能确定您对主机表的访问许可权。请咨询您的应答/抽取器 DBA 以找出应答/抽取器概要文件名称
。



-25763	“CICS 终止代码”参数对于 CICS 主机环境是必需的。

如果您在 CICS 中使用应答/抽取器，那么终止代码是必需的。请咨询您的应答/抽取器 DBA 以找出 CICS 终止代码
。



-25762	“CICS 页面调度代码”参数是必需的。

如果您在 CICS 中使用应答/抽取器，那么页面调度代码是必需的。请咨询您的应答/抽取器 DBA 以找出 CICS 页面调度代码
。



-25761	“主机环境”参数无效。

您在“设置”屏幕的“主机环境”参数中输入的值无效或不受支持。将值更改为以下值之一：CICS、CMS、IMS 或 TSO
。



-25757	词汇表数据库未打开。

DataExtract 无法打开词汇表数据库。DataExtract 遇到了内部错误，或者对词汇表数据库的系统许可权已被修改。检查词汇表数据库以确保对数据库的系
统许可权尚未被变更。如果问题依然存在，请要求词汇表数据库所有者删除词汇表数据库并运行词汇表的“刷新”选项以重新创建该数据库
。



-25756	无法读取本地配置文件。

DataExtract 无法读取本地配置文件 openview.cfg。该文件位于 ANSAPI 环境变量所指定的路径中，或者在当前目录中（如果未设置 
ANSAPI）。验证文件和路径是否具有正确的许可权。



-25755	无法读取主机配置文件。

DataExtract 无法读取主机配置文件 config.txt。该文件位于 ANSAPI 环境变量所指定的路径中，或者在当前目录中（如果未设置 ANSAPI
）。验证文件和路径是否具有正确的许可权。



-25754	不能写入局部配置文件。

数据提取不能写入局部配置文件 ( openview.cfg ) 。该文件在 ANSAPI 环境变量指
定的路径中，如果 ANSAPI 没有设置，它在当前目录中。或是文件或路径没有合适的
许可权，或是没有足够的盘空间。检验文件和路径是否有合适的许可权，是否有足够
的盘空间。





-25753	无法写入到本地配置文件。

DataExtract 无法写入到本地配置文件 openview.cfg。该文件位于 ANSAPI 环境变量所指定的路径中，或者在当前目录中（如果未设置 
ANSAPI）。文件或路径不具有正确的许可权，或者没有足够的可用磁盘空间。验证文件和路径是否具有正确的许可权以及是否有足够的可用磁盘空间
。



-25751	无法在主机上取消作业。

DataExtract 无法取消已提交到主机的当前 SELECT 子句。要了解更多信息，请参阅随附的 API 错误消息
。



-25750	不能检索作业状态信息。

数据提取不能检索当前已提交给主机的 SELECT 子句的状态。要了解更多的信息，看
附带的 API 错误信息。





-25749	不能清除主机数据。

数据提取不能清除主机上的数据。在提取数据已经完成对当前的 EXTRACT 语句的检索
结果之后；或是在检索数据时 ，遇到错误之后；或是在用户取消作业之后；数据提取
清除主机数据 。要了解更多的信息，看附带的 API 错误信息。





-25748	不能结束存取主机数据。

数据提取不能成功地结束存取当前 EXTRACT 语句的结果 。要了解更多的信息，看附
带的 API 错误信息。





-25747	不能检索主机数据的下一行。

在从主机检索数据时，数据提取遇到一个错误 。要了解更多的信息，看附带的 API 
错误信息。





-25746	不能检索主机数据。

数据提取不能从主机检索当前 EXTRACT 语句的结果 。要了解更多的信息，看附带的 
API 错误信息。





-25745	不能准备存取主机数据。

这是一个内部错误 。要了解更多的信息， 看附带的 API 错误信息。





-25744	不能执行 SQL/ADB SELECT 子句。

当前的 EXTRACT 语句中的 SELECT 子句在主机上不能执行。要了解更多的信息，看附
带的 API 错误信息。





-25743	无效的 SQL/ADB SELECT 子句。

当前的 EXTRACT 语句中的 SELECT 子句无效。要了解更多的信息，看附带的 
API 错误信息。





-25742	不能决定对 API 的游标描述符的大小。

这是一个内部错误。退出数据提取并重新选项。





-25741	不能决定对 API 的域描述符的大小。

这是一个内部错误。退出数据提取并重新选项。





-25740	不能决定对 API 的环境描述符的大小。

这是一个内部错误。退出数据提取并重新选项。





-25739	不能决定对 API 的通信区的大小。

这是一个内部错误。退出数据提取并重新选项。





-25738	只能对 btree 辅助存取方法联机创建索引。

只有当辅助存取方法是 btree 时，才能使用 ONLINE 关键字成功创建索引
。



-25737	无法在联机环境中创建集群索引。

集群索引不支持 ONLINE 关键字。



-25736	不能对 API 初始化域描述符。

数据提取不能对 Answer/API 初始化域描述符。要了解更多的信息，看附带的 
API 错误信息。





-25735	不能对 API 初始化查询语句描述符。

数据提取不能对 Answer/API 初始化查询语句描述符。要了解更多的信息，看附带的 
API 错误信息。





-25734	不能对 API 初始化环境描述符。

数据提取不能对 Answer/API 初始化环境描述符数据结构。要了解更多的信息，看附
带的 API 错误信息。





-25733	不能对 API 初始化状态通信区。

数据提取不能对 Answer/API 初始化状态通信数据结构。要了解更多的信息，看附带
的 API 错误信息。





-25732	不能终止主机会话。

数据提取在主计算机上不能终止对 Answer/Extractor 的连接。要了解更多的信息，
看附带的 API 错误信息。





-25731	不能对主机建立连接。

数据提取在主计算机上不能建立对 Answer/Extractor 的连接。要了解更多的信息，
看附带的 API 错误信息。





-25730	不能初始化 Answer/ API。

数据提取不能初始化 Answer/API 。要了解更多的信息，看附带的 API 错误信息。





-25728	不能建立参数 SQLDA。

对Answer/API 提交你的 EXTRACT 语句，数据提取不能建立数据结构 。这可能没有足
够的内存。退出数据提取。重新开始数据提取，并重新运行EXTRACT 语句。





-25727	未知的预定义。

这是一个内部错误。退出数据提取并重新选项。





-25724	作业状态不能使用。

提交给主机的 Answer/Extractor SELECT 子句的状态正在检查。这时，SELECT 
子句的状态不能使用的。重新提交你的请求。





-25723	无效的输出媒体。

这是一个数据提取内部错误。重新运行 EXTRACT 语句。如果错误重复出现，退出数据
提取。重新开始数据提取，并重新运行 EXTRACT 语句。





-25722	未知的主机数据类型<类型>。

检索的主机域作为已有的数据类型而不是字符或数值列出。词汇表数据库无效。重新
刷新词汇表，并重新运行 EXTRACT 语句。





-25721	不支持 BLOB 数据类型。

视图将主机数据字段提取到 BLOB类型的字段中。重新定义一个支持数据类型的字段，
或修改 EXTRACT 语句，以便使用不是 BLOB的不同的字段。重新运行 
EXTRACT 语句。





-25720	主机数据域 <域名> 在目标字段 <字段名>内溢出。

指定的主机域的定义的长度，比被检索数据指定的 GBasedbt 表字段所定义的长度
长。检查词汇表中的主机域所定义的长度。重新定义目标字段的长度，并重新运行 
EXTRACT 语句。





-25719	主机域的数与目标字段的数不匹配。

当将主机数据提取到一个表中时，列出的主机域的数与列出的目标表字段的数不同。
检查 EXTRACT 语句，确保你列出的主机域的数与目标表字段的数相同。





-25718	不支持该语句，或是该语句非法。

输入的 SQL 语句或是无效，或是数据提取不支持。请参考 《GBASEDBT_OpenView
用户手册》的的附录 A，它列出了支持的 SQL 语句。





-25716	装入域描述出错。

当在词汇表重新刷新期间，将主机域描述插入词汇表数据库时，数据提取遇到一个错
误。或是另一用户锁住了词汇表数据库，或是出现了表修改错误。如果数据库被所
住，再次重新刷新词汇表。





-25715	警告：不匹配的检索描述域。

这是一个警告信息。当数据提取正检索词汇表时，它检索到没有列在词汇表中的域描
述。





-25714	在等待主机数据时，主机处理超时极限已到期。

你正在运行一个 EXTRACT 语句，或正在重新刷新主机词汇表。在数据提取正等待主机
返回选择的数据时，在主机进程超时参数中设置的时间极限到期。可能是下列原因之
一引起的：

*	超时极限太短。

*	在指定的时间极限内，Answer/Extractor 批处理程序没有运行。

*	主机非常忙。

*	主机通信不可使用或是被中断。

检验主机通信是否起作用。在 SETUP 屏幕中，增加主机处理超时参数。重新运行 
EXTRACT 语句，或在 HOST TABLE 菜单上选择重新刷新选项来刷新词汇表。

如果在运行一条 EXTRACT 语句时出现错误，咨询你的 Answer/Extractor DBA ,
以便检查处理选择主机表的批处理程序的计划。根据计划调整主机处理超时参数，或
在另一时间，重新运行 EXTRACT 语句。





-25713	正在尝试并行运行跨服务器例程 <routine_name>。

您尝试在远程数据库服务器上并行执行例程。远程执行的例程不可并行化
。

从例程 <routine_name> 的定义中除去 PARALLELIZABLE 修饰符。



-25712	无法从远程服务器调用例程 <routine_name>。

数据库服务器无法访问远程数据库服务器的例程 <routine_name>
。

调用 <routine_name> 之前，请在本地数据库服务器上安装它。



-25710	服务器至服务器快速路径调用中的例程结构无效。

如果使用了无效的 MI_FUNC_DESC 值，那么会发生该错误。

但是，该错误有可能是内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25709	没有主机表列在词汇表中。

在你的主机表的词汇表中，没有信息。可能是下列原因之一引起的：

*	你拼错了 Answer/Extractor 设置文件名。

*	你没有在主机上对任何表存取。

*	你没有重新刷新词汇表。

*	词汇表数据库是坏的。

检验 在 SETUP 屏幕上的 Answer/DB 设置文件名字参数是否正确。如有必要，重新刷
新主机表的词汇表。





-25705	主机表<表名>不在词汇表中。

你指定的主机表没有列在词汇表中。可能是下列原因之一引起的：

*	你拼错了主机表名。

*	你的 Answer/Extractor 设置文件名不正确。

*	你没有许可权存取该表。

*	你的主机表的词汇表已过期。

在 SETUP 屏幕上，检查主机表名的拼写和 Answer/DB 设置文件名参数。咨询你的 
Answer/Extractor DBA 核实你存取指定表的许可权。如有必要，重新刷新主机表的词
汇表。





-25702	词汇表数据库不存在。

词汇表数据库还没有建立。从 HOST TABLE 菜单选择重新刷新选项。数据库将自动建
立。





-25701	你没有许可权存取指定的主机表。

你没有许可权存取指定的主机表。或是你的 Answer/Extractor 设置文件名不正确；
或是你的主机表的词汇表过期。确保你在 SETUP 屏幕上的 Answer/DB 设置文件名的
参数是正确的。如果无效，重新刷新主机表的词汇表。





-25607	不支持的语句。还未选择数据库。

你发出一个需要打开数据库的 SQL 语句，但是你没有选择数据库。选择所要的数据
库，再试一试该语句。






-25606	在本地机上的数据库服务器中，产生未知的标识符串。

确保你已经安装了 GBASEDBT-SE 数据库服务器，或者已经安装了 
GBASEDBT OnLine动态服务器。






-25605	使用转送模块建立本地数据库，必须设置 SQLEXEC。

确保你对本地  GBASEDBT-SE 数据库服务器 （数据库服务器早于6.0的版本)，
已经设置 SQLEXEC 环境变量。






-25604	数据库名句法与语句中的选项相冲突。

检查你的应用程序，从而确保在语句中数据库句法使用正确的选项。






-25603	在连接数据库之前，试图准备多于一条的语句。

检查你的应用程序，确保在连接数据库之前，只准备了 CREATE DATABASE，START 
DATABASE 或 DROP DATABASE 语句中的一条。






-25602	本地数据库服务器<服务器名>不能由转送模块fork。系统错误<数>。

请系统管理员来检查系统问题。






-25601	这个转送模块不能对另一协议执行转送模块<转送模块名>。

确认在你的系统上安装有该名字的转送模块。






-25600	转送模块不能获得环境变量 SQLRM。系统错误<错误数>。

请系统管理员来检查系统问题。






-25599	网络连接错误，无监听程序。

客户应用程序正试图连接远程服务器。然而，在远程主机上没有监听程序 daemon
在运行。确保在远程主机上监听程序已启动，再试一试连接。






-25598	通信使用情况错误：状态过渡无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25597	系统管道处理中的错误。

这是系统故障。可能访问环境变量有问题。记下系统错误号，请教操作系统管理员。






-25596	GBASEDBTSERVER 值未在 sqlhosts 文件或
注册库中列出。

GBASEDBTSERVER 环境变量指定的默认数据库服务
器名称必须是 UNIX 的 $GBASEDBTDIR/etc/sqlhosts 
或 Windows 的注册库中的有效数据库服务器名称。
检查指定的服务器是否列在 sqlhosts 文件或
注册库中。






-25595	在试图连接期间，接收到无效信息。

当试图连接想要的数据库服务器时，出现错误。

如果在使用GBasedbt 动态服务器 2000、GBasedbt 动态服务器、GBASEDBT-Universal 
服务器、或 GBASEDBT-OnLine 动态服务器，检验数据库服务器是否仍在Online 
状态。如果在使用 GBASEDBT-SE 数据库服务器，检验数据库服务器的 sqlexecd
 daemon 是否仍在运行。同时，也可检验$GBASEDBTDIR/etc/sqlhosts 数据库
服务器的文件入口是否正确。







-25594	共享内存客户机不能使动态服务器 2000 处于服务状态。

这个问题一般由内存损坏引起，或者是操作系统不能执行信号操作。将问题报告给
管理员。可能必须重新启动数据库服务器，或是执行整个系统的重新引导。








-25593	网络监听程序不能将一个打开的 I/O 通道变为非堵塞状态。

这是一个操作系统的错误。报告这一问题给操作系统管理员。可能需要系统重新引
导。






-25592	网络驱动程序不支持通信服务。

在所想要的系统上，或指定的数据库服务器上，这种连接需要的网络服务，如 带
sockets的 TCP 或带 TLI 的TCP不能使用。使用支持的网络服务，检验在
$GBASEDBTDIR/etc/sqlhosts文件中为数据库服务器指定了正确的nettype域。如果网
络服务在系统上可用，但在数据库服务器上不可用，请你的DBA在初始化数据库服务器
时调谐该服务。






-25591	传输控制接收到一个无效的连接地址。

对所要的数据库服务器，检查在$GBASEDBTDIR/etc/sqlhosts文件中的主机名和服务名
入口。请 DBA 和 UNIX 系统管理员，检验主机名和服务名是否拼写正确。如果在使用
 TCP/IP ，也可检验主机名和服务名是否有相应的入口在 
/etc/hosts 和/etc/services 文件中；在各个客户机的计算机上检验相应的内容。






-25590	认证错误。

此错误表示连接到数据库服务器时所用的用户 ID 和口令无效。请重新
定义一个有效的用户 ID 和口令。

如果 CSM 选项在数据库服务器端启用而在客户应用端禁用，该错误
也会出现。反之亦然。如果要用 CSM，请确保在 sqlhosts 文件中为
数据库服务器和客户机应用程序均设置了 CSM 选项。







-25589	无效的GBasedbt 动态服务器 2000 邮箱信息类型。

系统调用失败。请教 UNIX 系统管理员以求得帮助。








-25588	应用进程不能连接到动态服务器 2000 <服务器名>。

这个消息可能由应用程序中的错误引起。检查 CONNECT 语句和 sqlhosts文件。
这个消息也可由系统失败引起。如果不能马上找出失败的原因，请记录下所有
环境，并与数据库服务器管理员联系以求得帮助。

共享内存通信子系统被卸下或不起作用。与数据库服务器管理员联系报告问题。








-25587	网络接收失败。

系统调用失败。做一下 DISCONNECT，然后检查服务器的状态。请教 UNIX 系统管理员
以求得帮助。






-25586	网络传送失败。

系统调用失败。请教 UNIX 系统管理员以求得帮助。






-25585	无效的缓冲区大小。

在服务名字段指定的缓冲区大小无效。确认 sqlhosts 文件的服务名字段是正确的。






-25584	网络驱动程序不能访问服务器程序<程序名>。

请确认缺省的服务器名在环境变量GBASEDBTSERVER中被正确地指定以及sqlhosts
文件中缺省服务器名和服务名入口是正确的。






-25583	未知网络错误。

请向UNIX系统管理员或网络管理员求得帮助。






-25582	网络连接断开。

这可能表明数据库服务器已经终止或网络本身有问题。请检查网络，确认网络功能正
常及服务器正在运行中。






-25581	传输层内存释放错误。

这是一个系统问题。它可能是一个与内存释放有关的问题。你可以重试连接，然后向
UNIX系统管理员求得帮助。






-25580	网络函数中发生系统错误。

系统调用失败。请联系您的系统管理员或 IBM 技术支持以获得帮助
。



-25579	发出的网络函数的序列不正确。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25578	网络驱动程序不能和网络断开连接。

系统调用失败。向UNIX系统管理员求得帮助。






-25577	网络驱动程序不能得到主机的结构。

系统调用失败。请向UNIX系统管理员求得帮助。






-25576	网络驱动程序不能分配返回结构。

系统调用失败。向UNIX系统管理员求得帮助。






-25575	网络驱动程序不能分配调用结构。

系统调用失败。向UNIX系统管理员求得帮助。






-25574	网络驱动程序不能打开网络设备。

系统调用失败。向UNIX系统管理员求得帮助。






-25573	网络驱动程序不能在端口接受连接。

系统调用失败。向UNIX系统管理员求得帮助。






-25572	网络驱动程序不能将名称与端口连接。

系统调用失败。sqlexecd daemon 或数据库服务器不能访问 sqlhosts 文件
中服务器名称所指定的网络端口。出现这种情况的原因很可能是另一个 
sqlexecd、数据库服务器或其它应用程序已在使用该网络端口。可在命令
行（6.0 以前的版本）或在 sqlhosts 文件中（6.0 及以后的版本）中使用
另一个不同的服务器名。可与系统管理员联系以取得帮助。






-25571	超过用户线程的最大数量。

检查 ONCONFIG 配置文件中 USERTHREADS 参数的值和 NETTYPE 参数的用户线程字段的值
。




-25570	网络驱动程序不能执行fork系统调用。

系统调用失败。向UNIX系统管理员求得帮助。

-23104、-23108和 -23110的纠正错误方法来尽可能解决。






-25568	正在调试实用程序错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25567	检测到内部通信缓冲区管理错误。

该错误通常由内存崩溃或错误使用缓冲区管理例程而引起。请进行检查，以确保当前进程空间中不存在内存崩溃问题。如果该错误重复出现，请记下所有情况并联系 IBM 技术支
持。



-25566	系统时间错误。

这是一个操作系统错误。请教系统管理员。确认系统时钟被正确地设置。






-25565	无法获取进程信息。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25561	认证类型无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25560	环境变量GBASEDBTSERVER必须被设置。

必须由环境变量GBASEDBT SERVER指定一个缺省的数据库服务器。在 C shell 中用
"setenv"命令或在Bourne shell 中用"set"命令设置GBASEDBTSERVER。






-25559	DBPATH服务器<服务器名>在sqlhosts中没有被列为数据库服务器名。

在你的DBPATH环境变量设置中指定的数据库服务器没被列在文件$GBASEDBTDIR/etc/
sqlhosts中。确认在DBPATH中用到的每一个数据库服务器对应文件sqlhosts中的一项
入口。






-25558	NFS/RFS主机<主机名>没有以数据库服务器名列在sqlhosts中。

在当前命令中用到的数据库服务器驻在NFS或RFS文件系统上。但是在sqlhosts文件中
的数据库服务器名没有列出和NFS或RFS主机对应的入口。请求你的GBasedbt
数据库管理员将入口加入到sqlhosts文件中.如果你在使用GBASEDBT-SE，确认在NFS或
RFS主机上正运行着一个sqlexecd daemon。<TS2:-输入-入口






-25557	发生网络内部错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25556	无效的 sqlhosts 文件格式。

检查 $GBASEDBTDIR/etc/sqlhosts 文件中的每一个显示字段正确并
含有支持的值，或 Windows NT 注册表中包含的 sqlhosts 信息正确。
如果您使用 GBasedbt 动态服务器 2000、GBasedbt 动态服务器、
GBASEDBT-Universal 服务器、或 GBASEDBT-OnLine 动态服务器，请检查
 $ONCONFIG 配置文件中的 DBSERVERNAME、DBSERVERALIASES、和 
 NETTYPE 参数。如果你使用 GBASEDBT-SE 数据库服务器，请检查sqlhosts 文件中
 的 dbservername、nettype、宿主名以及服务器名称显示字段，
 以确认您输入的值正确。请参考管理员指南以获得额外信息。

对于 ESQL/C：如果你从 Windows 环境下的 ESQL/C 应用中收到这个信息，
请检查客户机定义的网络环境参数中的信息。有关参数设置信息，请参考
 Microsoft Windows 环境下的 GBASEDBT-ESQL/C 程序员补充说明。

对于 ESQL/COBOL：如果你从 Windows 环境下的 ESQL/COBOL 应用中收到这个信息，
请检查客户机定义的网络环境参数中的信息。有关参数设置信息，请参考 Microsoft 
Windows 环境下的 GBASEDBT-ESQL/COBOL 程序员补充说明。







-25555	服务器<服务器名>没有以数据库服务器名列在sqlhosts中。

当前命令中用到的数据库服务器名没有列在sqlhosts文件中。检查确认服务器名。确
认所有将访问的服务器都包含在sqlhosts 文件中。

如果你在用GBASEDBT-SE，你当前的工作目录可能是一个NFS安装目录。改变你的当前
工作目录为一个本地目录或在你的DBPATH中增加适当的本地目录。






-25554	GBASEDBTSERVER 环境变量过长。

GBASEDBTSERVER 的值对于数据库服务器名称过长。数据库服务器名称的最大长度
取决于数据库服务器。在GBasedbt 动态服务器 2000 中，最大长度为 128 个字符。
在其它 GBasedbt 数据库服务器中，最大长度为 18个字符。

将 GBASEDBTSERVER 环境变量设置为不超过最大长度的数据库服务器名称，然后
重试。







-25553	Sqlhosts 文件未找到或不能打开。

sqlhosts文件要被用来决定建立和本地或远程服务器连接的信息。按你的数据库服务
器产品所描述的格式，在目录$GBASEDBTDIR/etc下建立一个sqlhosts文件。






-25548	活动的连接过多。

如果该 sqlexecd 内部错误重新出现，请记下所有情况并联系 IBM 技术支持
。



-25546	网络关联控制无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-25539	无效的连接类型。

连接类型对于数据库服务器无效。当数据库服务器配置为处理特定连接请求（例如：ER 或 HDR 连接）时，会出现该消息
。



-25507	您指定了一个未知的服务名称或协议。

确定以下哪种情况产生了该错误并采取相应的纠正操作：

ONCONFIG 文件中 NETTYPE 配置参数的值与 sqlhosts 文件中的 NETTYPE 设置不同。如果 NETTYPE 值不同，请纠正错误的值。如
果更新 ONCONFIG 文件，必须重新启动数据库服务器。

正确的服务名称不在 /etc/services 文件中。如果在使用 TCP/IP 协议，请检查 /etc/services 文件。如果在使用 NFS，请使用 
ypmake 实用程序检查 /etc/services 文件。某些情况下，守护程序不能识别在缺省启动后添加的服务名称。添加正确的服务名称（如果其尚不存在）或重新
启动您的计算机。

您计算机上的操作系统不支持 ONCONFIG 文件或 sqlhosts 文件中的协议项。有关受支持的协议的信息，请参阅《管理员指南》中的『连接信息』一节，或 
GBASEDBTDIR/release 目录中的客户机 SDK 发行说明。纠正 ONCONFIG 文件或 sqlhosts 文件中的协议项。如果更新 
ONCONFIG 文件，必须重新启动数据库服务器。



-24303	表 (%s) 不是源表。

当用户尝试使用来自目标表的列来插入到目标表时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (D.id, D.bonus) VALUES 
(D.id, salary); 

因为 VALUE 子句中的 salary 列不是来自源表 emp，所以将产生以下错误
：

24303：表 (d) 不是源表。第 4 行字符位置 61 附近出错



-24302	在源表中未找到列 (%s)。

当用户尝试使用来自目标表的列来插入到目标表时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (D.id, D.bonus) VALUES 
(S.id, bonus); 

因为 VALUE 子句中 bonus 列不是来自 emp 源表，所以将产生以下错误
：

        24302：在源表中未找到列 (bonus)。第 4 行字符位置 66 附近出
错



-24301	表 (%s) 不是目标表。

当用户尝试插入到并非来自目标表的列时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (id, emp.bonus) VALUES 
(S.id, salary); 

因为 emp.bonus 表名不是 bonus 目标表，所以将产生以下错误：

24301：表 (emp) 不是目标表。第 4 行字符位置 47 附近出错



-24300	在目标表中未找到列 (%s)。

当用户尝试插入到并非来自目标表的列时，将产生该错误。例如
：

create table bonus (id int, bonus int); create table emp(id int, salary int); 

MERGE INTO bonus D USING emp S ON D.id = S.id WHEN MATCHED THEN UPDATE SET 
bonus = bonus + salary*.01 WHEN NOT MATCHED THEN INSERT (id, salary) VALUES 
(S.id, salary); 

因为插入列列表中的 salary 不是来自目标表 bonuses，所以将产生以下错误
：

24300：在目标表中未找到列 (salary)。第 4 行字符位置 41 附近出
错



-24150	只有具有 DBA 特权的用户才可以移动表。

只有在源数据库和目的数据库上都具有 DBA 特权的用户才可以执行 MOVE TABLE 语句
。



-24149	在目标数据库中，所有者名称和角色名称冲突。

在执行 MOVE TABLE 命令期间，在目标数据库中，目标所有者名称和现存的角色名称发生冲突
。

要纠正该错误：* 从目标数据库删除冲突的角色。* 使用带 RENAME 选项的 MOVE TABLE 命令指定不同的目标所有者名称，如下例所示：- MOVE 
TABLE 'o1'.t1 TO DATABASE destdb RENAME '02'.t1; 



-24148	无法从 sysmaster 和 sysutils 数据库移动表。

无法从“sysmaster”或“sysutils”系统数据库移动表。



-24147	源和目标数据库必须不同。

使用 MOVE TABLE 命令将表移动到不同的数据库。使用 RENAME TABLE 命令在相同数据库中移动表
。



-24146	用户名和角色名称具有冲突的许可权。

在执行 MOVE TABLE 命令期间，可能发生了以下情形之一：

* 源数据库中的角色名和目标数据库中的用户名冲突 * 源数据库中的用户名和目标数据库中的角色名冲突
。

要纠正该错误：* 请勿在 MOVE TABLE 命令的 WITH 子句中使用 ROLES 选项 * 请勿使用 MOVE TABLE 命令的 WITH 子句 * 
在执行 MOVE TABLE 命令之前手工撤销这些冲突许可权。



-24145	只能移动永久（基本）表。

只有用户创建的永久表可以在数据库间移动。无法移动以下类型的表：* TEMP 和 SCRATCH 表 * 系统目录表 * 活动的违例表 * 视
图



-24143	会话环境变量 <varname> 是不可变的。请联系 DBA。

DBA 已将该会话环境变量设为不可变的。请联系 DBA 更改该属性
。



-24142	许可权被拒绝：用户无法设置环境变量的可变性。

只有具有 DBA 特权的用户可以设置会话环境变量的可变性属性。设置环境变量可变性的语句通常由 DBA 在 sysdbopen() 过程中使用，以影响用户会话
。



-24136	CREATE DATABASE: 在协同服务器 1 上未找到 dbspace '<dbsname>'。

在 8.x 版的数据库服务器中，只能在第一台协同服务器上的 dbspaces 中
创建数据库。

请检查所指定的 dbspace 名称拼写是否正确。如果拼写正确，请与数据库
服务器管理员联系以检查位于协同服务器 1 上的 dbspace 的名称。如果未
在 CREATE DATABASE 语句中指定 dbspace，则数据库服务器使用 ONCONFIG 
文件参数 DBCREATE_DBS 中所指定的 dbspace。





-23982	XBAR 错误：释放传输缓冲区失败。

当数据库服务器尝试释放传输缓冲区时发生错误。

请记下所有情况，保存 ON-Bar 活动日志和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-23981	XBAR 错误：分配传输缓冲区失败。

当数据库服务器尝试分配传输缓冲区时发生错误。

请记下所有情况，保存 ON-Bar 活动日志和数据库服务器消息日志的副本，然后联系 IBM 技术支持
。



-23958	XBAR 错误：参数无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23934	GAM 内部错误：(error_number)

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持。请确保记录错误消息中提供的信息
。



-23933	GAM 健全性错误：(message)

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持。请确保记录错误消息中提供的信息
。



-23914	辅助 coserver 上不支持该操作。

从另一 coserver 上尝试了只能在 MDM 主 coserver 上执行的操作。这是内部错误。请记下所有情况并联系 IBM 技术支持
。



-23901	带有前置字节 0x20 的索引名称（index_name）被禁止。

在一些情况下，例如定义了一个约束时，数据库服务器会在内部创建索引。
根据约定，这些索引通常以一个前置的 ASCII 空白（hex 20）作为名称的
第一个字节。为了避免冲突，用户定义的索引不能以一个前置的 ASCII 
空白（hex 20）作为名称的第一个字节。这个规则被强制执行，不受
位置影响，也不受 DELIMIDENT 环境变量使用的影响。




-23900	freeshdic 失败：非独占访问（磁盘 <tablename> 引用 <referenceCnt> 锁定 <lockCnt>）可能导致内存丢失
。

数据库服务器尝试释放共享字典项的内存时发生错误。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23855	这种类型的表不允许快速模式加载。

当数据库服务器试图在一个用 EXPRESS 关键字创建的外部表上执行快速模式加载时，
发生了一个错误。如果外部表中包含 blob 字段或内部表需要登录插入时，这个错误
就会发生。只要内部表具有类型 STANDARD 或参照约束，它就需要登录插入。

如果内部表需要登录插入和外部表包含 blob 字段，可重新创建不带有 EXPRESS 
关键字的外部表说明。




-23854	如果是原始类型或压碎类型时，表中禁止索引和约束。

如果试图将一个没有索引或参照约束的 STANDARD 表变更为 RAW 或 SCRATCH 表时，
可能会发生这个错误。CREATE TABLE 语句包含 RAW 或 SCRATCH 表中禁止的索引
或约束。请检查语句，确保在 RAW 或 SCRATCH 表中没有定义这些类型的约束或索引。

如果希望使用索引和参照约束，必须将 RAW 或 SCRATCH 表变更为 STANDARD
表。




-23853	无法改变表名称的类型。

当数据库服务器试图变更表类型时，发生一个错误。用户可能在表中定义了索引时，
试图将表类型变更为 RAW；或在没有创建文档时，试图将一个表变更为 STANDARD。




-23852	当表类型为静态时，不允许对表进行该操作。

问题中的语句试图修改带有一个 UPDATE、INSERT 或 DELETE 语句的表中的数据。
不允许对 STATIC 类型的表进行数据修改。用户可能需要将类型变更为其他支持数
据修改的类型。




-23851	如果是原始类型或压碎类型时，不允许进行这个操作。

试图对 RAW 或 SCRATCH 表进行一个非法操作（例如，试图创建一个索引）。

用户可能需要将表类型变更为支持这个操作的类型。




-23850	表类型定义了两次。

CREATE TABLE 语句包含了多于一个的表类型。

请检查语句，确保只定义了一个表类型。




-23808	为 XTM 设施创建 XMF 端口的操作失败。

事务管理系统中发生不可恢复的错误。

请记下所有情况并就此内部错误联系 IBM 技术支持。。



-23807	XTM 协调程序的备份信息已损坏。

事务管理系统中发生不可恢复的错误。

请记下所有情况并就此内部错误联系 IBM 技术支持。。



-23805	在 XTM 事务管理系统中遇到未知的事务标识。

事务管理系统中发生不可恢复的错误。

请记下所有情况并就此内部错误联系 IBM 技术支持。。



-23804	XTM 设施中的 XMF 接收操作失败。

事务管理系统中发生内部错误。

请记下所有情况并联系 IBM 技术支持。



-23803	XTM 设施中的 XMF 发送操作失败。

事务管理系统中发生内部错误。

请记下所有情况并联系 IBM 技术支持。



-23802	要求闲置一个 XTM 参与者的请求失败。多个事务处于不一致的状态
。

事务管理系统中发生不可恢复的内部错误。

请记下所有情况并联系 IBM 技术支持。



-23801	在 XTM 设备内部发生了一个内存分配错误。

数据库服务器需要分配数据空间内存以处理查询，但是没有可用的内存。
这种情况可能反映了硬件的局限、操作系统的局限或空间的暂时短缺。




-23800	XTM 设施中发生内部错误。

请记下所有情况并就此内部错误联系 IBM 技术支持。。



-23773	在加载协同服务器号、错误号、文件名过程中达到最大错误数。

当数据库服务器试图从外部表中加载数据时，一个协同服务器达到了
外部表定义的 MAXERRORS 极限。




-23772	内部类型必须是小整型或整型字段名称。

CREATE EXTERNAL TABLE 语句包含的外部字段类型与内部字段类型不符。
只要外部字段类型是 BINARY，内部类型就必须是 SMALL INTEGER 或
INTEGER。

请检查 CREATE EXTERNAL TABLE 语句，确保所有的外部字段类型与内部字段类型都相符。




-23771	内部类型必须是一个数值类型字段名称。

CREATE EXTERNAL TABLE 语句包含的外部字段类型与内部字段类型不符。
只要外部字段类型是 PACKED、ZONED 或 BINARY，内部类型必须是一个
数值类型，例如，INTEGER、SMALLINT、FLOAT 或 DECIMAL。

请检查 CREATE EXTERNAL TABLE 语句，确保所有的外部字段类型与内部字段类型都相符。




-23770	只有 check 约束可以被用于定义外部表。

CREATE EXTERNAL TABLE 语句包含一个或多个被禁止的约束类型。

请检查语句字段中或用于表的主键、参照或唯一性约束。




-23769	未知的外部字段类型名称。

CREATE EXTERNAL TABLE 语句包含一个无法识别的外部字段类型。有效的外部字
段类型为 CHAR、PACKED、ZONED 和 BINARY。CHAR 值必须在引号中。

请检查 CREATE EXTERNAL TABLE 语句，确保外部字段类型有效。




-23768	外部表的外部字段类型字段名称必须为固定格式。

发现一个没有定义为 FIXED-format 文件的外部表，其中含有一个外部字段类型，
为 PACKED、ZONED 或 BINARY。

只有 FIXED-format 文件可以定义不是CHAR 的外部字段类型。




-23767	字段的固定域太长。（Val = 数值，Col = 字段号，Len = 转换的长度，
Max = 最大长度）。

当数据库服务器试图将字段转换为 FIXED 文件格式时，转换值的大小超过了为 
fixed- size 所定义的最大值。

请检查外部表描述，确保在外部字段类型中定义了足够的空间来容纳转换后的数据。




-23766	查询中的一个外部表名称使用非法。

这个语句描述了一个对外部表的非法操作。对外部表允许的操作类型包括
 CREATE TABLE、SELECT、SELECT INTO、INSERT、DROP TABLE、GRANT、REVOKE、
CREATE SYNONYM、RENAME COLUMN 和 RENAME TABLE。




-23765	无法使用一个带有来自外部表选择的 FOR UPDATE 子句。

SELECT 语句包含一个 FOR UPDATE 子句。当数据库服务器选择来自外部表时，
这个子句被禁止。

请检查 SELECT 语句或说明的游标，确保其中没有包括这个子句。




-23764	向一个外部表的插入必须提供表中所有字段的值。

INSERT 语句没有列出外部表定义的所有字段。当数据库服务器卸载到一个外部表中时，
所有字段的值必须由 SELECT 列表所描述。

请检查 INSERT 语句，确保 INSERT 子句中包括所有的字段，并且每个字段的值都是
由SELECT 列表所提供。




-23763	无法在一个外部表中使用带有 SELECT 的 FOR UPDATE 或 FIRST n 子句。

SELECT 语句中包含一个 FOR UPDATE 或 FIRST n 子句。当数据库服务器卸载到
一个外部表中时，这些子句被禁止。

请检查 SELECT 语句是否正确或 SELECT 游标定义的时间，确保其中没有包括这些子句。




-23762	Null 字符串超过了外部字段长度，或格式错误。

CREATE EXTERNAL TABLE 语句含有一个带有无效 NULL
"null-string" 语法的字段。这个字段的 NULL 字符串长度超过了说明的外部表的长度，
或者改字符串的外部类型是无法识别的格式。如果使用 "null-string" 在 PACKED
或 ZONED 十进制中定义一个 NULL，它必须符合允许使用的格式。BINARY 外部表类型
必须包含有效的数值。

请检查 CREATE EXTERNAL TABLE，确保 NULL "null-string" 长度与为外部字段类型
定义的大小和格式相符。




-23761	无法从多个外部表中选择。

在一个选择查询中只能使用一个外部表。对于联合，每个联合的提供者可以有
一个外部表。外部表可以作为联结中的参与者和随同其他数据表的子查询。

请检查 FROM 子句中是否只包含一个外部表。




-23759	没有一个 DATAFILES 字符串命名为有效的数据文件。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。在 DATAFILES 输入中没有找
到有效的文件名称。

请检查外部表输入，取消外部表，并重新发布一个更正过的
 CREATE EXTERNAL TABLE 语句。




-23758	无法分析文件名称输入中的 %r 宏。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。这个错误发生在数据库服务器
试图展开文件名称中的 %r 宏的时候。请检查 %r() 宏的语法是否正确。




-23757	未知的协同组联合组名称。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。外部表中含有一个 DATAFILES 输入，
其中的联合组名称未知。

请检查外部表输入，取消外部表，并重新发布 CREATE EXTERNAL TABLE 语句。




-23756	未知的协同服务器 coserver 编号。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。外部表中含有一个 DATAFILES 输入，
其中的协同服务器编号未知。

请检查外部表输入，取消外部表，并重新发布一个更正过的 create external 语句。




-23755	协同服务器项目协同服务器号、错误号、文件名的结尾处遗漏了定界符。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。外部表中含有一个错误的 DATAFILES 输入，
其中的输入之间没有冒号分隔符。输入的正确格式是
filetype:coserver-info:rooted-path-name。

请检查外部表输入，取消外部表，并重新发布一个更正过的
 CREATE EXTERNAL TABLE 语句。




-23754	无法替换文件名项中的 c 宏。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句中的 DATAFILES 项时发生错误。当数据库服务器尝试扩展文件名中的 
coserver-number 宏时发生错误。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23753	无法替换文件名称输入中的 %r 宏。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。这个错误发生在数据库服务器
试图展开文件名称中的 %r 宏的时候。请检查 %r() 宏的语法是否正确。




-23752	无法找到 coserver coserver-number 的 coserver 名称：errno，filename
。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句中的数据文件项时发生错误。当数据库服务器尝试查找 coserver 名称以便扩展文件名中的节
点 host-name 宏时发生错误。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23751	无法替换文件名项中的 n 宏。

当数据库服务器尝试为外部表扩展 INSERT 或 SELECT 语句内 DATAFILES 项中 filename 的节点 host-name 宏时发生错误
。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23750	DATAFILES 字符串数据文件中的文件类型无效。

当数据库服务器试图为一个外部表展开 INSERT 或 SELECT 语句中的 
DATAFILES 输入时，发生了一个错误。外部表中含有一个带有非法文件
类型的 DATAFILES 输入。外部表中只允许使用DISK 和 PIPE 文件类型。

请检查外部表输入，取消外部表，并重新发布一个更正过的
 CREATE EXTERNAL TABLE 语句，以更正这个错误。




-23749	CREATE EXTERNAL TABLE：只有 FIXED 格式字段可以说明 null
字段名称。

CREATE EXTERNAL TABLE 表语句发现一个定义了 null 字符串的字段，
这个字符串带有的 NULL "null-string" 语法是无效的。只有描述 FIXED 格式
文件的表可以具有一个以 NULL 关键字定义的 null 值。

修改这个语句，并重新提交。




-23748	CREATE EXTERNAL TABLE：遗漏了外部字段类型和字段名称。

CREATE EXTERNAL TABLE 语句遗漏了外部字段类型信息。描述
FIXED 格式文件的表需要这个信息。

添加字段类型信息，并重新提交语句。




-23747	CREATE EXTERNAL TABLE：FIXED 或 DELIMITED 字段必须是外部
字符型字段名称。

CREATE EXTERNAL TABLE 语句包含一个无效的外部字段类型。如果表描述
了一个 FIXED 格式文件，有效的外部字段类型是 CHAR、PACKED、ZONED 和
 BINARY。CHAR 数据必须置于引号中。

如果表描述了一个 DELIMITED 格式文件并且包括外部字段类型，那么这
个类型必须是 CHAR。描述 DELIMITED 格式文件的一个表不需要包括外部
字段类型信息。




-23746	CREATE EXTERNAL TABLE：无效的外部字段类型 column-name。

CREATE EXTERNAL TABLE 语句包含一个无效的外部字段类型。

确保外部字段类型是以下有效的类型：CHAR、PACKED、ZONED 或
BINARY。CHAR 数据必须置于引号中。




-23745	CREATE EXTERNAL TABLE：内部字段类型必须被定义为column-name。

对于语句中列举的每个字段，CREATE EXTERNAL TABLE 语句都需要一个字段类型。

对语句进行校对。添加适当的字段类型并重新发布语句。




-23744	CREATE EXTERNAL TABLE：对 FIXED 格式表无法使用 SAMEAS。

CREATE EXTERNAL TABLE 不允许对 FIXED 格式使用 SAMEAS。字段输入同样
必须定义一个外部类型，以描述如何访问（或写入）在固定文件中的数据。

校对 CREATE EXTERNAL TABLE 语句，列举出字段信息并重新发布语句。




-23743	CREATE EXTERNAL TABLE：遗漏了 DATAFILE 输入。

遗漏了 CREATE EXTERNAL TABLE 语句（SELECT...INTO EXTERNAL 语句）中的
 DATAFILES 输入。添加一个 DATAFILES 输入并重新发布语句。




-23742	CREATE EXTERNAL TABLE：无效的 DATAFILES 输入。

DATAFILES 输入的格式不正确。正确的格式是
 filetype:coserver-info:rooted-path-name。

请检查文件类型是否为有效类型（DISK 或 PIPE），第二个项目是否命名为
联合组或协同服务器号，以及最后一个项目是否命名为一个文件，这个文件
可以被管理它的协同服务器访问。




-23741	CREATE EXTERNAL TABLE：关键字的值无效。

CREATE EXTERNAL TABLE 语句（或 SELECT...INTO EXTERNAL
语句）包含一个对于 USING 子句关键字无效的值。

请查看语句中关键字的值是否拼写正确。对于 MAXERRORS 关键字，
确保它的值是一个有效的数字。




-23740	CREATE EXTERNAL TABLE：USING 子句中 keyword 关键字过多。

USING 子句中的某个关键字在 CREATE EXTERNAL 表语句
（或 SELECT...INTO EXTERNAL语句）出现了数次。

请检查语句。如果想使用其他的关键字，请更正语句，然后重新发布。




-23739	无法打开 PLOAD 日志文件。

当数据库服务器试图打开日志文件进行加载和卸载操作时，发生一个错误。

当指定的日志文件名称中的一个目录不存在，或者目录处于写保护状态下，
就会发生这种情况。

请检查目录路径是否有效，以及组 gbasedbt 是否可以对这个目录进行写入操作。




-23738	当侦测到磁盘已满时，PLOAD（卸载）无法复原对文件名称的部分写入。

数据库服务器用完一个数据文件的空间后试图继续运行时，发生了一个错误。
当数据库服务器侦测到磁盘满情况后，将向数据文件写入一个无法被截断的、
部分的纪录。

请查找操作系统消息，以获取更多的信息。




-23737	PLOAD 无法找到记录结尾：必须中止。

当数据库服务器试图在定界的加载文件中寻找一个记录定界符时，发生一个错误。

请检查文件是否具有记录定界符（通常为 new-line字符），以及外部表是否定义
了正确的记录定界符。




-23736	PLOAD 访问文件失败：协同服务器号，错误号，文件名。

当数据库服务器试图向拒写文件写入时，发生了一个错误。

请检查附带的操作系统说明，以获取更多的信息。




-23735	PLOAD 转换错误：协同服务器号，错误号，文件名。

当数据库服务器试图从文件中加载时，引导一个错误。除非外部表指定了一个
拒写文件，否则数据库服务器将会返回错误消息，加载作业也将在不保存加载
数据的情况下结束。

请检查是否存在转换错误，行是否违反了外部表中定义的约束，或者 null 
字段是否被定义为 NOT NULL。




-23734	PLOAD：目标表的行大小为过大的协同服务器号，错误号，文件名。

加载目标表的行太大。最大行大小必须为页大小减去32字节。




-23733	PLOAD（卸载）：所有数据文件非满即坏。

在卸载过程中发生了一个错误。请检查附带的操作系统说明，以获取更多的信息。
可能是写入数据文件的所有磁盘都已满，或是硬件出现了问题。




-23732	PLOAD（卸载）：数据文件 AIO 写入错误 errno。

当数据库服务器试图向卸载数据文件写入时，发生了一个错误。请检查随附
的 errno 以获得更多的的信息。




-23731	PLOAD（卸载）：数据文件满。

当数据库服务器试图向卸载数据文件写入时，发生了一个错误。没有多余的空间
可供写入额外的数据。

分配更多的空间并重试。




-23730	PLOAD（卸载）：转换失败。

当数据库服务器试图将数据转换为 ASCII 或 EBCDIC 格式时，发生了一个转换错误。

请检查外部表字段是否保留有足够的空间用于写入数据的 ASCII 或 EBCDIC 表示法，
以及外部表中的字段是否与所选的数据兼容。




-23726	PLOAD（加载或卸载）：无法启动一个 AIO 操作
 errno，coserver-number，filename。

当数据库服务器试图对一个数据文件进行读取或写入时，发生了一个错误。
请检查随附的 errno 以获得更多的的信息。




-23725	coserver-number 中发生 PLOAD 内部错误：errno，filename。

请记下所有情况并就此内部错误联系 IBM 技术支持。。



-23712	AIO 缓冲区状态非法：coserver-number，errno，filename。

当数据库服务器尝试在内部 AIO 缓冲区中进行读写操作时发生错误。请记下所有情况并联系 IBM 技术支持
。



-23707	无法从文件读取：协同服务器号，错误号，文件名。

当数据库服务器试图从文件中读取时，发生了一个错误。请检查随附的 errno，
以获得更多的的信息。




-23706	无法关闭文件：协同服务器号，错误号，文件名。

当数据库服务器试图关闭文件时，发生了一个错误。请检查操作系统说明，
以获取更多的信息。原因可能是磁盘满或硬件错误。




-23705	无法打开文件：协同服务器号，错误号，文件名。

当数据库服务器试图打开文件时，发生了一个错误。请检查操作系统说明，
以获取更多的信息。原因可能是文件丢失或不正确的许可。




-23702	PLOAD：无法结束外部表锁定。

当数据库服务器尝试结束外部表锁定时发生错误。请记下所有情况并联系 IBM 技术支持
。



-23701	PLOAD：无法排他地锁定外部表。

有其他的用户正在使用这个外部表。在继续操作之前，请等候外部表被解锁。




-23700	无法写入文件：协同服务器号，错误号，文件名。

当数据库服务器试图向拒写文件写入时，发生了一个错误。

请检查附带的操作系统说明，以获取更多的信息。原因可能是磁盘满或是磁盘
引用限制。




-23630	备份管理器错误：内部错误：xmf_send 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23628	备份管理器错误：内部错误：cm_dbs_info 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23626	备份管理器错误：内部错误：xmf_resp 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23625	备份管理器错误：内部错误：xmf_reqt 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23624	备份管理器错误：内部错误：xmf_bf_alloc 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23623	备份管理器错误：内部错误：mt_create_thread 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23622	备份管理器错误：内部错误：mt_create_mutex 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23615	备份管理器错误：事件类型无法识别。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23614	备份管理器错误：优先级必须在 0 至 100 之间。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23612	备份管理器错误：发生内部编码错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23611	备份管理器错误：内部错误 - 未分配对象。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23610	备份管理器错误：内部错误 - 无任何已准备好运行的工作程序
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23609	备份管理器错误：类型与分配给工作程序的不同。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23608	备份管理器错误：没有为工作程序分配任何对象。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23607	备份管理器错误：等待一个已在等待中的会话。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23606	备份管理器错误：该工作程序已在等待或处于忙碌状态
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23605	备份管理器错误：提供了一个无法识别的工作程序标识
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23573	CM 错误：指定的 coserver 类型无效。

这是内部错误，表示某个查询 CM 子系统以获取有关 coserver 信息的函数提供了一个无效的 coserver 限定词
。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23558	CM 错误：尝试删除不存在的写选项。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23557	CM 错误：在不存在写选项的情况下尝试删除写锁定。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23556	CM 错误：在不存在写选项的情况下尝试获取写锁定。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23555	CM 错误：持有的写选项的数量小于零。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23554	CM 错误：持有的写锁定的数量小于零。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23553	CM 错误：持有的读锁定的数量小于零。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-23529	CM 错误：Logslice 表溢出。

创建一个新的 logslice 的请求失败，因为已经使用了允许的最大数目。

取消一个或多个 logslices，并重新提交这个请求。




-23528	CM 错误：Logslice 已经存在。

用户试图创建一个 logslice，而这个名称的 logslice 已经存在。

选择一个没有被使用的名称，然后重新提交使用新名称的请求，或者取消现有
的logslice，然后重新提交使用同一个名称的请求。




-23527	CM 错误：不存在这样的 logslice。

由于指定了无效或未使用的 logslice 名称，导致要求获取有关 logslice 的信息、删除 logslice 或在配置管理器启动期间读取 
logslice 信息的请求失败。

请纠正 logslice 的名称，然后重新提交请求。如有必要，请联系 IBM 技术支持
。



-23526	CM 错误：无法创建一个互斥对象。

请联系 IBM 技术支持，以获取解决该内部错误方面的帮助。



-23525	CM 错误：所有分段表可用的 ID 都已被使用。

创建一个分段表的请求失败，因为已经使用了允许的最大数目。

取消一个或多个过时的分段表，然后重新提交查询．




-23524	CM 错误：不支持嵌套的联合组。

请求创建指定的一个或多个的联合组，至少一个联合组
成员实际上是联合组，而不是协同服务器。联合组嵌套不被支持．

请确定哪一个指定的联合组成员是联合组。用有效的协同服务器名称替换，
然后重新提交请求。




-23523	CM 错误：指定的协同组成员数是一个奇数。

从协同服务器范围创建协同组范围的请求指定的协同服务器数不是要创建
的协同组数的偶数倍。

调整现有协同服务器范围中的数目或需要的协同组数目，然后重新提交请求。




-23522	CM 错误：指定了一个非法的范围标识符。

一个请求错误地为协同组或协同服务器指定了范围。范围构成的正确格
式是 %r(first..last)，其中 'first' 比 'last' 要小。不允许内嵌的
前导空格。更正说明，然后重新提交请求。




-23521	CM 错误：指定了一个非法的标识符。

请求失败，因为它使用了一个无效的协同组或协同组成员（coserver）标识符。

请参考《管理员手册》或数据库服务器的《特性增强指南》，以了解有效的标识符
语法。




-23520	CM 错误：协同服务器表溢出．

创建一个协同服务器的请求失败，因为已经使用了允许的最大数目。




-23519	CM 错误：协同服务器已经存在。

添加一个新协同服务器的请求失败，因为具有这个 ID 的协同服务器正在被当前的
数据库服务器实例使用。

在继续进行前，请重新检查协同服务器ID。




-23518	CM 错误：不存在这样的 coserver。

由于 coserver 标识无效，导致要求获取命名 coserver 的信息、添加或删除 coserver、在 coserver 上添加数据库空间或在配置管理器
启动期间读取 coserver 信息的请求失败。

请纠正 coserver 的名称或标识，然后重新提交请求。如有必要，请联系 IBM 技术支持
。



-23517	CM 错误：无法取消或变更一个系统定义的协同组。

取消 cogroup_all 的请求失败，因为 cogroup_all 不能被取消。

避免取消 drop cogroup_all 的请求。




-23516	CM 错误：协同组表溢出。

试图创建协同组或向协同组中添加协同服务器失败，因为已经使用了允许的
最大数目。

取消一个或多个过时的协同组或协同组成员，然后重新提交请求。




-23515	CM 错误：协同组已经存在。

试图创建新的协同组失败，因为具有这个新协同组的名称正在被其他
的协同组使用。

选择一个没有被使用的协同组名称，然后重新提交请求。




-23514	CM 错误：不存在这样的 cogroup。

由于 cogroup 或 coserver 的名称无效，导致要求获取有关 cogroup 的信息、删除 cogroup、向 cogroup 添加 
coserver、从 cogroup 删除 coserver、获取 cogroup 中 coserver 的列表或在配置管理器启动期间读取损坏的 cogroup
信息的请求失败。

请纠正 cogroup 的名称，然后重新提交请求。如有必要，请联系 IBM 技术支持
。



-23513	CM 错误：dbslice 表溢出。

创建新的 dbslice 的请求失败，因为已经使用了允许的最大数目。取消一个或多个
过时的 dbslice ，然后重新提交请求。




-23512	CM 错误：dbslice 已经存在。

创建新的 dbslice 的请求失败，因为具有这个名称的 dbslice 已经存在。
选择一个没有被使用的名称，然后重新提交请求。




-23511	CM 错误：不存在这样的数据库片。

由于引用的数据库片不在使用，导致要求获取有关数据库片的信息、删除数据库片、将数据库片标识为 logslice 的基础或在配置管理器启动期间读取数据库片信息的请求
失败。

请纠正数据库片的名称，然后重新提交请求。如有必要，请联系 IBM 技术支持
。



-23510	CM 错误：不能取消第一个大块。

试图删除 dbspace 中的第一个大块失败，因为删除 dbspace 中的第一个大块
是一个无效的操作。

请检查哪一个大块应该被取消。如果要取消大块后的 dbspace，只需取消 dbspace 即可。




-23509	CM 错误：大块不空。

这个错误码当前没有使用。




-23508	CM 错误：大块表溢出。

试图创建一个新的大块失败，因为已经使用了允许的最大数目的大块。

取消一个或多个过时的大块，然后重新提交请求。




-23507	CM 错误：大块已经存在。

向一个协同服务器中添加一个大块的请求失败，因为指定的路径名称和偏移都已经配置给
了一个现有的大块。

如果要在现有的大块之外，再添加一个新的大块，可以为它选择另一个路径名称，
或在同
一个路径名称中指定现有大块以外的偏移。




-23506	CM 错误：不存在这样的块。

由于指定的路径名和偏移量与现有的任何块都不匹配，导致要求删除块或在配置管理器启动期间读取块信息的请求失败
。

请纠正块的路径名和偏移量，然后重新提交请求。如有必要，请联系 IBM 技术支持
。



-23505	CM 错误：dbspace 表溢出。

请求创建一个新的 dbspace 或 dbslice，但已经使用了允许的最大数目的。
取消一个或多个过时的 dbspaces 或 dbslices ，然后重新提交请求。




-23504	CM 错误：dbspace 已经存在。

创建 dbspace 的请求失败，因为具有这个名称的 dbslice 或 dbspace 已经存在。

选择一个没有被使用的名称，然后重新提交使用这个新名称的请求；或者取消现有
的 dbslice 或 dbspace，然后重新提交同一个名称的请求。




-23503	CM 错误：不存在这样的数据库空间。

由于数据库空间名称无效或未使用，导致要求获取有关数据库空间的信息、删除数据库空间、在数据库空间中添加或删除块或在配置管理器启动期间读取数据库空间信息的请求失败
。

请纠正数据库空间的名称，然后重新提交请求。请联系 IBM 技术支持
。



-23502	CM 错误：无法分配内存。

当数据库服务器尝试从操作系统获取虚拟内存块时检测到错误
。

请联系 IBM 技术支持。



-23501	CM 错误：在辅助 coserver 上不支持该操作。

在非“配置管理器”(CM) coserver 上请求了一个只能在 CM coserver 上请求的 CM 服务。请联系 IBM 技术支持
。



-23199	系统目录中缺少GL_CTYPE信息。

系统目录中不存在位置信息GL_CTYPE。没有系统目录 systables 或是被破坏。删掉
数据库，按DB_LOCALE 正确的值重建数据库。






-23198	系统目录中缺少GL_COLLATE信息。

系统目录中不存在位置信息GL_COLLATE。没有系统目录 systables 或是被破坏。删掉
数据库，按DB_LOCALE 正确的值重建数据库。






-23197	数据库位置信息不匹配。

对于给定的数据库，系统目录中的位置信息 GL_CTYPE 或GL_COLLATE与环境变量
DB_LOCALE 的值不匹配。检查 DB_LOCALE 的值。






-23196	所选择的数据库中有未知的位置。

储存在系统目录 systables中的所选择数据库的位置信息和环境变量DB_LOCALE
的值不符。检查DB_LOCALE的值。如果它是正确的，那么删掉数据库，按DB_LOCALE 正
确的值重建数据库。






-23195	复位位置时失败。

连接中断。数据库服务器不能改变数据库处理位置为en_US.8859-1。服务器中断
连接。服务器没有足够的内存提供给新的位置表。释放一些内存后重新执行程序。






-23194	代码集转换恢复失败。

数据库服务器在恢复代码集转换表到以前的状态时失
败。没有足够的内存来保持表的信息。释放一些内存后重新执行程序。






-23190	这个系统不允许多字节数据库名。

SE服务器在指定的环境中不允许多字节数据库名。改变数据库名。






-23115	位置目录的代码集不同。

在客户端或是数据库服务器端，位置是按照下列声明方法的优先顺序来建立的，
CLIENT_LOCALE、LANG、LC_*、English locale、en_US.8859-1。给这种优先顺序的
六种处理位置的种类是按下列方法设定的，COLLATION、CTYPE、TIME、MONEY、
NUMBER、MESSAGES。

GLS初始化函数返回这个错误是因为给定了一个不合法的位置。通常是环境变量来设定
位置。检查GBASEDBTDIR 和CLIENT_LOCALE的值。GBASEDBTDIR
应该指向GBasedbt 产品所安装的合法目录。同时这个目录应包含/gls目录，位置和
代码集文件在此目录下。






-23114	被截取的GCV位置标志符。

在值组的代码集转换中，如果输出缓冲区不是足够大放得下代码集转换的结果，结果
字符串不能被成功截取来放入可用的缓冲区，这时返回这个错误。这个错误发生在应
用程序和数据库服务器的SQL 接口层。增大宿主变量来放得下SELECT或FETCH 
语句的代码集转换所返回的可能加长的字符串。





-23113	未知的GCV错误位置标志符。

在代码集转换中，如果输入缓冲区长度为NULL时，返回这个错误。代码集转换需要一
个输入缓冲区和输出缓冲区。输入缓冲区是从应用程序传到数据库服务器的字符串，
作为插入或修改的结果。检查应用程序的逻辑。





-23112	不合法的GCV参数的位置标志符。

在代码集转换中，如果输入缓冲区和输出缓冲区长度都为NULL时，代码集转换不能进
行，转换进程在错误返回以后终止。检查应用程序的逻辑。





-23111	这是内部错误。针对语言环境初始化的参数非法。

一个内部函数在初始化 GLS 结构时使用了非法的参数。有效参数只能为 FE_PROC、BE_PROC 或 SESS_PROC。如果该错误重复出现，请参阅您的“管
理员指南”或“参考大全”以获取更多诊断信息，并联系 IBM 技术支持以获得诊断信息
。



-23110	在处理环境变量时出错。

GLS初始化函数在处理环境变量列表时发生错误。环境变量首先读入到一个栈中供
以后各种内部函数使用。环境变量的值从资源文件中或是直接从shell中的环境变量
中得到。当处理这些变量时，下列例外的情况可能会碰到：end-of-file，
not-found，illegal-value，unknown-value，null_value，max-path exceeded。
这些例外情况都会导致这个错误发生。检查所定义的环境变量的语义和内容。





-23109	不合法的位置说明。

位置以及和位置相关的处理是在数据库服务器端和客户端双方立的。这种处理是根据
环境变量和数据库中储存的数据的信息而设定的。内部函数不能在内部的数组中构成
NLS位置的一个大的表。不是所有的范畴（LC_COLLATE，LC_CTYPE，
LC_MONETARY，LC_NUMERIC，LC_TIME）能够被构成。检查环境变量
CLIENT_LOCALE和DB_LOCALE的值。同时检查GBASEDBTDIR的值。





-23108	位置结构生成时发生错误。

位置初始化失败。程序不能为内部位置表申请足够的空间。内存或许因为执行太多的
进程而用尽。释放一些内存之后再重新运行程序。





-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。






-23106	无效的代码集转换初始化函数的参数。

一个无效的参数传给了内部代码集转换初始化函数。检查应用程序的逻辑。






-23105	当前的数据库引擎不支持代码集转换。

数据库服务器中的代码集转换没有提供。检查环境变量CLIENT_LOCALE、
SERVER_LOCALE、DB_LOCALE的值。






-23104	打开必需的代码集转换对象文件时出错。

对于两个指定的代码集，不存在任何对象代码集转换（定义）文件。可能是由于将环境变量 DB_LOCALE 或 CLIENT_LOCALE 设置为错误的值，这导致产生
错误情况。也可能是由于文件缺失，或文件所包含的信息不正确。请检查环境变量 CLIENT_LOCALE 或 DB_LOCALE 的值。对象转换文件的扩展名通常
为 .cvo。

当通过 drda 协议访问时，该错误还表示客户机应用程序正在尝试绑定一个采用的编码不同于数据库语言环境的值。请在启动服务器以初始化处理代码集转换所需的适当转换器
之前，设置环境变量 GL_USEGLU=1。（例如，当使用 setCharacterStream() 接口，通过 JCC 绑定 LOB 数据时，输入数据可能采用
双字节编码并且可能与 DB_LOCALE 不匹配）



-23103	代码集转换函数因为一个不合法的序列或无效的值而失败。

不合法或无效的字符出现在字符串中。程序不能对字符串中的这些字符执行代码集的
转换。重新检查输入串中的不合法或无效的字符，再运行程序。






-23102	位置处理时内存申请失败。

程序不能为内部代码集合转换缓冲区或控制表申请足够的空间。这种错误只会由客户
进程返回。释放一些内存之后再运行程序。






-23101	不能够装入位置目录。

一个不合法的位置名字提供给了位置初始化处理。指明位置目录的环境变量得到一个
错误的值。检查相应的环境变量，CLIENT_LOCALE 或者DB_LOCALE。同时检查
GBASEDBTDIR 是否指向了GBasedbt 安装到的一个合法的目录。

如果客户引用程序申请数据库服务器连接而接收到此错误，请检查该客户和数据库位
置是否兼容。如果在服务器机器上有一lg_tr.codeset@mod为名的合法位置，它们就是
兼容的。整理lg_tr（language和territory）和mod（位置修改符）来自
CLIENT_LOCALE，而codeset来自数据库位置（如果是集合，则来自DB_LOCALE，
否则就是存储在数据库中的集合）。






-23100	编译错误。

ESQL 处理器因一个或多个编译错误而终止了处理。



-23099	“file-name”具有不兼容的文件格式。

指定的列表文件或响应文件具有对 ESQL 处理器不兼容的文件格式
。



-23098	无源文件。

未在 ESQL 处理器的命令行上指定任何源文件。重新输入命令并指定源文件
。



-23097	参数过多。

在 ESQL 处理器的命令行上指定的参数过多。重新输入命令并指定更少参数
。



-23096	缺少命令行参数文件。

尚未为 ESQL 处理器指定任何命令行参数文件。请重试并执行一个命令行参数文件
。



-23095	无法创建临时文件。

ESQL 处理器无法创建临时文件。删除指定目录中以“eq”开头的临时文件
。



-23094	无法衍生资源编译器。

ESQL 处理器无法衍生资源编译器。



-23093	无法衍生链接程序。

ESQL 处理器无法衍生链接程序。



-23092	无法衍生编译器。

ESQL 处理器无法衍生编译器。



-23091	无法打开文件“file-name”。

ESQL 处理器无法打开指定文件。检查您是否正确指定了文件
。



-23088	Windows 应用程序或 DLL 需要一个模块定义文件。

尚未在 ESQL 处理器的命令行上指定任何模块定义文件。重新输入命令并指定模块定义文件
。



-23087	没有源文件或对象文件。

您尚未在 ESQL 处理器的命令行上指定源文件或对象文件。重新输入命令并指定源文件或对象文件
。



-23086	无法衍生预处理器。

ESQL 处理器无法衍生 ESQL 预处理器。



-23085	无法分配内存。

ESQL 处理器无法动态分配内存。



-23084	无法打开 ESQL 响应文件“file-name”。

ESQL 处理器无法打开在命令行上指定的 ESQL 响应文件。



-23083	应用程序选项冲突。

在 ESQL 处理器的命令行上指定了多个应用程序选项。请重试并仅指定一个应用程序选项
。



-23082	缺少列表文件名。

未在 ESQL 处理器的命令行上为 -f 选项指定列表文件名。再次输入命令并指定列表文件
。



-23081	编译器选项冲突。

在 ESQL 处理器的命令行上指定了多个编译器选项。请重试并仅指定一个编译器选项
。



-23080	内存模型冲突。

在 ESQL 处理器的命令行上指定了多个内存模型选项。请重试并仅指定一个内存模型选项
。



-23079	缺少日志文件名。

未在 ESQL 处理器的命令行上 -c 选项后指定任何日志文件名。再次输入命令并指定日志文件
。



-23078	“-c”选项的文件扩展名不兼容。

在 ESQL 处理器的命令行上 -c 选项后指定的文件名具有不兼容的文件扩展名。验证文件扩展名并重试
。



-23077	缺少目标文件名。

未在 ESQL 处理器的命令行上 -o 选项后指定任何输出文件名。重新输入命令并指定输出文件
。



-23076	“-e”选项的文件扩展名不兼容。

在 ESQL 处理器的命令行上 -e 选项后指定的文件名具有不兼容的文件扩展名。验证文件扩展名并重试
。



-23075	无法打开日志文件。

ESQL 处理器无法打开在命令行上指定的日志文件。日志文件在 -log 选项后指定。检查您是否正确指定了日志文件
。



-22650	丢失 END statement-name 语句。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
某个 STRUCTURE/UNION/MAP 语句没有相应的 END
语句。查看每个 STRUCTURE/UNION/MAP 语句是否与
后继的 END 语句成对并重试。





-22649	不匹配的 END statement-name 语句。

该消息指出GBASEDBT-ESQL/FORTRAN 预处理器错误。
某个END STRUCTURE/UNION/MAP 语句没有相应的
STRUCTURE/UNION/MAP 语句。查看每个END STRUCTURE/UNION/MAP 
语句是否与相应的 STRUCTURE/UNION/MAP 语句成对
并重试。





-22648	行太长。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
SQL 语句太长（大于 32 KB）。在标准 FORTRAN 格式中，
列6中的任何非空格字符（零除外）是继续符号。
在 UNIX 风格的 FORTRAN 格式中，列1中的&符是继续
符号。缩短 SQL 语句并重试。





-22647	ESQL/FORTRA 不支持使用 SQL 描述符。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。在
ESQL/FORTRAN 中，只有用 ALLOCATE DESCRIPTOR 语句分配
的系统描述符区域可以在 DESCRIBE语句中使用。





-22646	间接错误层次。

该消息指出 GBASEDBT-ESQL/FORTRAN 错误消息。
在数组中已经访问错误索引。检查数组的用法。
参见错误消息 -33203 以获得 GBASEDBT-ESQL/C
中的类似消息。





-22645	数字变量的错误维数。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
符号不是数组变量或者数组错误。





-22635	这是内部错误。已超过临时缓冲区长度。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22628	记录组件 component-name 没有声明。

该消息指出GBASEDBT-ESQL/FORTRAN 预处理器错误。
检查该记录的相关结构声明。
Component-name 元素不存在，原因是它是在
结构声明中键入的。





-22626	空的 SQL 语句。

该消息指出GBASEDBT-ESQL/FORTRAN 预处理器错误。
嵌入在FORTRAN 程序中的SQL 语句和预编译指令
的前面必须有关键字 EXEC SQL。不需要
语句终结符，除非在 PREPARE 语句中指定多语句
对象。





-22625	REAL 类型长度必须是4或8。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理错误。
类型 REAL 的 FORTRAN 主机变量必须声明为 REAL*4 或
REAL*8。纠正 REAL 声明的长度并重试。





-22624	INTEGER 类型长度必须为2或4。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
类型 INTEGER 的 FORTRAN 主机变量必须声明为 INTEGER*2 或
INTEGER*4。纠正 INTEGER 声明的长度并重试。





-22623	数据类型长度必须大于零。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
为数据类型指定的长度必须小于零。
为数据类型指定长度并重试。





-22622	类型 type-name 未知。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
符号不是声明的类型。声明 type-name 并重试。





-22621	符号表内存不足。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
预处理器无法为符号表分配更多内存。
如果可能，减少与预处理器同时运行的
进程数，或者减少 FORTRAN 程序定义
的符号数。





-22620	主机对象主机变量没有声明。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
SQL 语句包含没有声明的主机变量。除了声明必须包含在一对
EXEC SQL BEGIN DECLARE SECTION 和 EXEC SQL END
DECLARE SECTION 语句之间之外，主机变量的声明
方式与其它 FORTRAN 变量相同。不能使用 SQL 数据类型
声明主机变量。在声明主机变量时
必须指定 FORTRAN 数据类型
或 GBASEDBT-ESQL/FORTRAN 数据类型。
主机变量的数据类型应该反映它
对应的数据库列数据类型。





-22619	不支持 UNION 声明。

该消息指出GBASEDBT-ESQL/FORTRAN 预处理器错误。
只有包括 VMS FORTRAN 扩展的 FORTRAN Green Hills
和 Sun 版本才支持 UNION 语句。




-22618	不支持 RECORD 语句。

该消息指出 GBASEDBT-ESQL/FORTRAN 预处理器错误。
只有包括 VMS FORTRAN 扩展的 FORTRAN Green Hills
和 Sun 版本才支持 RECORD 语句。




-22617	不支持 STRUCTURE 声明。

该消息指出GBASEDBT-ESQL/FORTRAN 预处理器错误。
只有包括 VMS FORTRAN 扩展的 FORTRAN Green Hills
和 Sun 版本才支持 STRUCTURE 语句。




-22602	ESQL/FORTRAN 不支持Whenever perform。

在 WHENEVER 语句中不能指定 PERFORM。删除
语句，或用正确的选项替换。





-22601	ESQL/FORTRAN 不支持 Whenever raise。

在 WHENEVER 语句中不能指定 RAISE。删除语句，
或用正确的选项替换。





-22600	非法 SQL 类型 type-name。内部错误。

对于该GBASEDBT-ESQL/FORTRAN 预处理器错误，
请检查符号的数据类型。
Type-name 必须时有效的SQL 数据类型。





-22559	SQLUNKNOWN 是无效的数据类型，需要设置为有效的数据类型
。

如果数据库服务器无法推导表达式中参数的类型，DESCRIBE INPUT 语句将返回 SQLUNKNOWN 作为数据类型。在语句执行之前，您必须设置一个有效 
SQL 数据类型以替换 SQLUNKNOWN。



-22558	GBase  Database Server 不支持此功能。

GBase  Database Server 不支持此功能。查看 GBase  ESQL/C Programmer's Manual 或 
GBase  Guide to SQL Syntax 以了解有关此服务器版本的 DESCRIBE 语句功能的信息
。



-22555	<宿主变量>类型与该字段的期望类型不匹配。

这种错误发生在当变量的类型与期望的类型不一致的时候。例如，一个TYPE字段只接
受整数类型数据的赋值和读取。如果变量类型不是整数，错误就发生了。在
<<GBasedbt SQL指南:句法>>的第一章中有关ALLOCATE  DESCRIPTOR 和GET  
DESCRIPTOR语句的讨论，以及有关系统描述符字段的句法和用法。有关系统描述符区
域的讨论，请参见你的嵌入语言产品的手册。





-22554	显示字段类型<显示字段类型名>脱离上下文使用。

这种错误产生的例子是，在期待是COUNT的地方使用了显示字段类型TYPE。请察看
<<GBasedbt SQL指南：句法>>部分的第一章中有关ALLOCATE DESCRIPTOR和GET
DESCRIPTOR语句的讨论中关于系统描述符显示字段的句法和用法。有关系统描述符区
域的讨论，请参见你的嵌入语言产品的手册。





-22285	表变量 variable-name 的错误维数。

非法访问多维数组中的条目。多维数组的索引
必须在使用时定义。例如，
假定在 ESQL/COBOL 中按如下方式声明了主机变量：
 01 VARA X(10) OCCURS 3 TIMES。

如果在 SQL 语句按如下方式使用它，那么它将返回错误，
原因是必须指定希望在其中插入的索引（也
就是 VARA(1)）：

INSERT INTO TAB VALUES ($VARA)





-22284	变量 variable-name 上的错误间接层次。

指针变量是与错误的层次间接数一起使用的。
查看 ESQL 语句中的间接层次。





-22283	来自数据库的数值不能存储在 COBOL 数据项中。

在 GBASEDBT-ESQL/COBOL 中，许多条件可以引起该错误消息
的出现。值太大，数据无法包含负值，
有符号值无法存储在无符号数据项中，
或者发生浮点溢出。





-22282	非法数值数据长度。

数据的长度和精度太大或者错误。
长度不能大于18，并且精度不能
超过长度。





-22281	FILLER 变量只能作为记录中的字段使用。

在GBASEDBT-ESQL/COBOL 中，FILLER 关键字必须标识所有过滤器项目。
过滤器变量只能作为记录中的字段使用，并且必须同时有与其
关联的 PIC 子句。检查变量的声明并更改它的名称。





-22280	行太长。

EXEC SQL 语句中的 SQL 字符串太长，以致于无法容纳在
内部缓冲区中。最大的 SQL 字符串长度应该小于
32,767。





-22279	无法打开 COBOL 临时文件 file-name。

在其中创建 COBOL 临时文件的目录
（通常是 /tmp 或者在设置 DBTEMP 环境变量时指定的目录）
已满。没有打开新文件所需的空间。检查
该目录并释放一些空间。从版本 5.01 开始，
GBASEDBT-SE 数据库服务器使用 DBTEMP 环境变量，但是
GBase  Database Server 和 GBASEDBT-OnLine Database Server 不是。





-22278	无法打开 COBOL 'whenever' 文件 file-name。

在其中创建 COBOL 临时文件的目录
（通常是 /tmp 或者在设置 DBTEMP 环境变量时指定的目录）
已满。没有打开新文件所需的空间。检查
该目录并释放一些空间。从版本 5.01 开始，
GBASEDBT-SE 数据库服务器使用 DBTEMP 环境变量，但是
GBasedbt 动态服务器和 GBASEDBT 联机动态服务器不是。





-22277	非法存储模式。采用字节存储模式。

Micro-Focus COBOL/2 对 USAGE COMP/BINARY 变量有字节
或单词存储模式。检查当前的存储模式。要指定字节
或单词模式，参见 GBASEDBTCOBSTORE 环境变量，
在 GBasedbt Guide to SQL: Reference 的第4章中对其进行了讨论。





-22276	不允许浮点变量。

该编译器不支持浮点数。





-22275	INTERNAL ERROR：已经超过了临时缓冲区长度。

字符串或函数的缓冲区参数长度超过
内部缓冲区。更改字符串或缓存区声明使
字符串或缓存区有更小的最大容量。





-22274	主机变量不能是 USAGE POINTER。

更改主机变量的 USAGE 字节使主机变量
不是指针并重试。





-22268	没有实现 PICTURE 子句中的 P。

当前，GBASEDBT-ESQL/COBOL 不支持在
PICTURE 子句中声明 P（十进制比例位置）。





-22266	用于编译器名称的 ESQL/语言名称不支持此类型。

使用的编译器名称不支持为变量指定的类型。
查看编译器文档，以获得正确的类型声明。





-22265	为无符号数值类型指定了有符号子句。

如果有 SIGN 子句但是没有指定"S"，那么编译器将无法
处理数据类型。查看变量是否有符号，并对它作相应的声明。





-22264	主机数据项必须不是文字数字和数字编辑项。

将 PICTURE 子句的声明更改为下列有效主机变量
种类之一：字母、数值或字母数字。
GBASEDBT-ESQL/COBOL 不支持编辑的字母数值
或数字编辑项。





-22263	内部错误：C 类型 (valtoasc) 无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22262	十进制转换 (valtoasc: dectoasc) 中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22261	十进制转换 (valtoasc: deccvasc) 中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22260	内部错误：整数大小无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22259	C 变量（长整型）到值转换中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22258	C 变量（整型）到值转换中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22257	C 变量（短型）到值转换中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22256	C 变量到值转换中出错 (fromadate)。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22255	日期转换错误：rdefmtdate。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22254	DATE 类型变量大小过大。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22253	C 变量到值转换中出错 (frombcd)。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22252	十进制转换 (frompbcd: deccvasc) 中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22251	十进制转换 (frombcd: deccvasc) 中出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22250	BCD 缓冲区长度过小。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22249	内部错误：整数大小无效 (toaint)。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22248	日期转换错误：toadate 中的 rfmtdate。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22247	BCD 类型 (rhlvarval) 无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22246	内部错误：BCD 缓冲区过小 (rhlvarval)。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22245	BCD 类型 (rvalhlvar) 无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22234	用户提供的缓冲区太小。结果将截短以适合
缓冲区大小。

用于存储函数操作结果的缓冲区
太小以致于无法容纳整个结果。由于复制了
可能的结果，因此额外字符将截短。增加
缓冲区操作以便容纳更大的字符串。





-22233	compiler-name 不允许数字元素作为参数传送。

除非使用Ryan McFarland RM/COBOL 85 编译器或
Micro Focus COBOL/2 编译器，否则无法将数组元素作为参数
传送。使用指定的编译器之一，或者覆盖涉及数组
的这部分代码。




-22232	variable-name 是 record-name 的组件。

变量名不是记录组件的一部分。检查
记录声明及其组件，以确保用该名称正确
声明了变量。





-22231	超过了记录嵌套限制。

有效记录嵌套的最大层次数是100。减少
嵌套记录数并重试。





-22230	主机符号 variable-name 上的标识错误。

主机变量已经声明多次。查看
重复变量声明和一个变量的重复声明。





-22229	主机对象 variable-name 没有声明。

指定的主机变量被访问但没有声明。必须在
声明区域中声明主机变量并重试。





-22227	非法的 COBOL 编译器 compiler-name。

不支持指定的编译器。请查看
GBASEDBT- ESQL/COBOL 程序员手册，以获得
该版本所支持编译器的信息。





-22210	重复的数据项 variable-name 没有展开。

ESQL/COBOL 预处理器没有展开包含重复数据项
的记录。请更改记录并重试。





-22209	在 SQL 对象标识符、游标名称或语句 id
中不允许连字符。

必须更改对象标识符、游标或语句 ID 的名称
以使它不包含连字符。





-22208	主机变量可能不是 USAGE INDEX。

更改主机变量的 USAGE 子句以使它不是 USAGE
IS INDES 并重试。GBASEDBT-ESQL/COBOL 不支持 USAGE
INDEX。





-22207	主机变量只能是 01-49 或 77 层次。

ESQL/COBOL 只支持层次01到层次49的 COBOL 变量和
记录类型，加上 COBOL 变量层次77（如果 COBOL 编译器支持它）。
查看主机变量的层次数是否有效。





-22206	内部错误：COBOL 函数调用错误。

在致电 IBM 技术支持以获取帮助之前，首先检查 CALL 语法是否正确，并验证数据是否已损坏
。



-22205	COBOL 组 SIGN 子句冲突（变量 OF 记录）。

记录组件的 SIGN 子句不匹配它所属
记录组的 SIGN 子句。记录元素的 SIGN 子句是
从组记录声明继承的。不匹配将引起错误。





-22204	COBOL 组 USAGE 子句冲突（变量 OF 记录）。

记录组件的 USAGE 子句不匹配它所属
记录组的 USAGE 子句。记录元素的 SIGN 子句是
从组记录声明继承的。不匹配将引起错误。





-22203	PICTURE 子句上的非法关键字名称。

如错误消息所指出的，PICTURE 子句包含所有非法关键字。
检查 PICTURE 子句的变量声明语法并重试。





-22202	该预处理器不支持该功能。

GBASEDBT-ESQL/COBOL 预处理器不支持该语句请求的
功能。请查看 GBASEDBT-ESQL/COBOL
程序员手册，以获得该版本中预处理器
功能的信息。





-22201	variable-name 不是唯一的记录组件。

记录中的名称已经被使用，因此它不是唯一的。
更改记录变量的名称并重试。





-21617	无法打开临时文本文件以进行读/写。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21616	无法创建临时文本文件。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21615	无法打开输出文件以进行读/写。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21614	在行 line-number 上 ^ifdef 或 ^ifndef 后面未找到期望的标识
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21613	行 line-number 上语法错误。期望 ifdef、ifndef、else 或 endif
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21612	意外的 EOF。期望 ^endif。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21611	行 line-number 上语法错误。在“^”后期望 ifdef、ifndef、else 或 endif
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21610	在行 line-number 上的 ^ENDIF 不匹配。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21609	在行 line-number 上的 ^ELSE 不匹配。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21608	您已超过 8 个定义的限制。将忽略额外定义。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21607	已计算的错误数：number。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21606	从临时文本文件中读取时出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21605	写入到输出文件 filename 时出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21604	写入到结果文件 filename 时出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21603	无法创建输出文件。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21602	无法打开输入文件。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21601	源文件和对象文件相同，将覆盖“filename”。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21600	用法：mkmessage [-v] [-dMACRO] input_file output_file。

该消息表示内部错误。您可能在命令行中使用了不正确的语法。检查消息所指出的用法，然后重试。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21539	取消分段：无法对目录表/伪表/临时表运行此命令

操作：在常规表/分区上运行取消分段



-21537	取消分段：取消分段正在进行时，无法运行此命令。

操作：在取消分段存储完成后重新运行该命令。



-21536	取消分段：内部错误 - 无法具有两个目标扩展数据块
。

操作：请联系 IBM 软件支持。



-21535	取消分段：内部错误 - 无法释放旧块扩展数据块。

操作：请联系 IBM 软件支持。



-21534	取消分段：内部错误 - 无法映射逻辑页编号。

操作：请联系 IBM 软件支持。



-21533	取消分段：某个取消分段存储任务已在该数据库空间上进行
。

操作：在数据库空间上每次运行一个取消分段存储任务。



-21532	取消分段：该分区的状态错误或者类型不兼容

操作：如果分区上发生冲突操作，请以后运行取消分段存储。否则，该分区是无法进行取消分段的类型。有关取消分段限制的信息，请参阅《GBase  
Database Server 管理员参考大全》。



-21531	取消分段：无法对包含分区标题页表的分区取消分段
。

操作：请勿尝试在分区标题页面表上运行取消分段程序，这是不允许的
。



-21530	取消分段：不支持在辅助服务器上进行取消分段存储
。

操作：在主服务器上取消分段。更改将被复制到辅助服务器
。



-21529	取消分段：找不到可覆盖 2 个或更多扩展数据块的足够大的扩展数据块
。

操作：无法向数据库空间中添加另一个块或删除某些分区来创建更多可用空间
。



-21528	取消分段：该分区不需要进行取消分段存储。

操作：无需操作。



-21527	无法创建分区，因为数据库空间当前不可用。

无法在指定的数据库空间中创建分区，因为在从备份恢复的过程中或在快速恢复的更新过程中，禁用了数据库空间
。

启用数据库空间或等待它完成其恢复，然后运行该命令以再次创建分区
。



-21526	因为下一日志具有打开的事务，所以该日志无法删除
。

当请求删除某个日志，但因为下一日志包含一个打开事务的开始部分而无法删除它时，将出现该错误。在长事务终止期间，需要显式或隐式地使用该日志来回滚事务。此外，剩余的日
志空间可能不足以挂起回滚日志记录。



-21525	ISAM 错误：排序期间无法写入临时操作系统文件。

数据库服务器无法写入临时操作系统文件，最有可能的原因是文件目录空间不足
。




-21524	ISAM 错误：无法创建临时操作系统文件以用于排序。

数据库服务器无法为该排序创建临时操作系统文件。

请考虑将 PSORT_DBTEMP 环境变量设置为至少具有 200 MB 可用空间的安全目录
。




-21523	无法继续使用脏/已修改的表数据字典项。

当 DML 操作引用表数据字典信息的较旧副本时，操作易受该错误影响。对于 DML 操作所引用的表，很有可能数据库服务器刚刚完成“CREATE/DROP 
INDEX ...”操作。

该错误伴随着 SQL 错误 - 710。



-21522	无法联机构建索引。

无法在所请求的场景中联机构建索引。索引构建要求逐行读取数据，否则该 IDS 版本中将不允许联机索引构建
。



-21521	对同一个表执行多个联机索引操作。

对同一个表不允许执行多个联机索引操作。



-21520	临时分区的物理地址不正确。

对于 preimage 或 updator 日志分区，获取了错误的临时分区 physaddr
。



-21519	不存在前像。

预期应该存在的前像实际并不存在。



-21518	启动线程处理前像或更新器日志时发生错误。

启动线程处理前像或更新器日志时发生错误。



-21517	为前像或更新器日志分配缓冲区队列时出错。

为前像或更新器日志记录分配缓冲区队列时出错。



-21516	部分读取行。

这是并行索引构建读取行时的内部设置错误。如果是为联机索引执行并行构建，它将被忽略
。



-21515	无法对附带索引执行联机索引构建。

只允许对拆离或半拆离索引执行联机索引构建。不支持附带索引构建
。



-21514	联机索引构建后保存 keyp 时出错。

联机索引构建后保存新 keyp 时出错。



-21513	联机索引操作中出错。

联机索引操作期间发生内部错误。



-21512	前像缓冲区要求互斥存取。

前像缓冲区要求互斥存取。释放缓冲区时使用了 BF_MODIFY 标记，或者，有其他线程共享或等待该缓冲区
。



-21511	无法为联机索引构建请求多个页面。

联机索引构建在并行构建期间请求了多个页面。



-21502	ISAM 错误：事务日志文件格式与正在使用的 SE/C-ISAM 版本不兼容
。

这可能是由于该事务日志文件是使用较旧版本的 SE/C-ISAM 而创建的
。

确保由创建事务日志文件的 SE/C-ISAM 版本来使用该日志文件，以使日志文件格式兼容
。



-21501	ISAM 错误：SE/C-ISAM 无法插入行，因为该文件已包含  2^31 -1 (2147483647) 个行
。

您已达到了该文件的最大行数。

在添加更多行之前首先删除一些行。



-21414	文件中出现意外的 EOF。

该文件可能未从介质正确传输。请从介质再次装入该产品并重新安装。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21413	无法打开文件；系统错误号。

该文件可能未从介质正确传输。请从介质再次装入该产品并重新安装。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21412	verstamp：警告：在文件中 number 次发现字符串。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21411	verstamp：标识文件中未找到的字符串。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21410	verstamp：无法为文件创建流。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21408	写入文件时出错。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21407	从文件读取时出错。

该文件可能未从介质正确传输。请从介质再次装入该产品并重新安装。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21406	program：无法打开文件。

该文件可能未从介质正确传输。请从介质再次装入该产品并重新安装。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21405	brand：文件中序列号的长度不正确。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21404	brand：在文件中多次发现标识字符串。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21403	品牌：<文件>已经标记。

对某些产品，如果不重新从媒体装入文件，不能重新开始安装。在运行安装程序之
前，从媒体重新装入文件。






-21402	brand：文件位置不正确。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21401	brand：无法打开文件 － 文件可能不在当前目录中。

该文件可能未从介质正确传输。请从介质再次装入该产品并重新安装。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-21400	brand：序列号和/或密钥无效。

请检查您在安装期间输入的序列号和密钥是否与密钥卡上的一致。重新启动安装，或与 IBM 技术支持联系以验证您的序列号和密钥
。



-21005	转换期间字符转换不精确。

使用替换字符转换了一个或多个字符。逆向转换将不会生成原始字符串。确保 CLIENT_LOCALE 和 DB_LOCALE 环境变量的值兼容
。



-21004	代码集转换中发生内部错误。

代码集转换期间发生内部错误。记下所有观察到的行为以及任何其他错误消息。与系统管理员核实以确保系统正常工作
。



-21003	无法打开代码集转换文件。

系统无法打开代码集转换文件。检查 GBASEDBTDIR 是否指向其中包含恰当代码集转换子目录的有效目录
。



-21002	代码集转换输出缓冲区过小。

代码集转换期间发生内部错误。记下所有观察到的行为以及任何其他错误消息。与系统管理员核实以确保系统正常工作
。



-21001	代码集转换输入结束处的字符不完整。

代码集转换无法识别在服务器和客户机之间传递的数据。检查初始化文件或环境中的 DB_LOCALE 和 CLIENT_LOCALE 设置
。



-21000	代码集转换输入中存在无效字节。

代码集转换无法识别在服务器和客户机之间传递的数据。检查初始化文件或环境中的 DB_LOCALE 和 CLIENT_LOCALE 设置
。



-19997	无法将表类型变更为 STANDARD，写日志记录失败。

表类型无法变更为 STANDARD，因为系统未能写入此操作的日志记录。有关更多信息，请检查随附的 ISAM 错误代码
。



-19996	取消设置变更方式时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代
码

执行指定操作时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码。通过 
cdr 命令行实用程序手动纠正问题并清除变更方式。



-19995	设置变更方式时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码
。

执行指定操作时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码。如果希
望执行指定操作，请纠正 Enterprise Replication 问题并重新尝试该操作
。



-19994	当列是复制定义的一部分时，无法删除复制列

无法对为复制定义的表执行指定操作。如果希望执行指定操作，必须通过 Enterprise Replication 重载过程从复制定义中除去列
。



-19993	无法修改复制列

无法对为复制定义的表执行指定操作。如果希望执行指定操作，必须通过 Enterprise Replication 重载过程从复制定义中除去列，变更列，然后再次将列
添加到复制定义中。



-19992	当表处于变更方式时，无法对复制表执行插入/删除/更新操
作

如果为复制定义的表处于 Enterprise Replication 变更方式，那么无法对该表执行指定操作。如果希望执行指定操作，必须取消设置 
Enterprise Replication 变更方式。



-19991	表不处于 Enterprise Replication 更改方式

如果为复制定义的表不处于 Enterprise Replication 变更方式，那么无法对该表执行指定操作。如果希望执行指定操作，必须将表置于 
Enterprise Replication 变更方式。



-19990	CRCOLS 的使用在表的分层中必须一致。

如果表分层中的父表以复制 shadow 字段的 WITH CRCOLS 选项创建，那么所有
子表都必须以 WITH CRCOLS 选项创建。与此类似，如果表分层中的父表没有以
WITH CRCOLS 选项创建，那么所有的子表也不能以 WITH CRCOLS 选项创建。






-19989	Enterprise Replication 不处于活动状态

如果 Enterprise Replication 不处于活动状态，那么无法对为复制定义的表执行指定操作。如果希望执行指定操作，必须启动 Enterprise 
Replication。



-19848	指定的 STAR_JOIN 值不正确。

STAR_JOIN 优化环境的值必须为“DISABLED”、“ENABLED”或“FORCED”。使用值“DISABLED”可阻止该会话中的星型连接。使用值“
ENABLED”可允许该会话中的星型连接。使用值“FORCED”可在该会话中可能的情况下对所有查询首选使用星型连接
。



-19847	会话优化环境变量不正确。

无法使用 SET OPTIMIZATION ENVIRONMENT 语句在会话中设置指定的标识
。



-19846	您不能访问辅助服务器上已记录的数据库中的非日志记录表 (%s)
。

非日志记录表未复制到辅助服务器，因此在辅助服务器上不可用
。



-19845	您不能更改主服务器上已记录的数据库中表的日志记录方式
。

无法在主服务器上将已记录的数据库中记录的表更改为 RAW 非日志记录表，因为对该表的更改将不会被复制到辅助服务器。无法在主服务器上将 RAW 非日志记录表更改为
已记录的数据库中记录的表，因为辅助服务器将不能为该表处理复制的事务
。



-19844	HDR 主服务器上已记录的数据库中不允许出现类型为 RAW 的表
。

未记录 RAW 表上的 DML 语句，所以这些语句未复制到 HDR 辅助服务器。如果需要在 HDR 主服务器上使用 RAW 表，必须临时禁用 HDR。要在 
HDR 主服务器上使用 RAW 表：1. 通过关闭 HDR 辅助服务器来停止复制。2. 使用 onmode -d 标准命令，将 HDR 主服务器转换成标准方式
。3. 创建 RAW 类型的表，或将相应的表变更为 RAW 类型。4. 对 RAW 表执行所需的 DML 语句。5. 将 RAW 表转换回 STANDARD 表
。6. 执行 0 级归档。7. 使用 onmode -d 主命令，将服务器转换为 HDR 主服务器。8. 从 0 级归档物理恢复辅助服务器。9. 通过在辅助服务
器上运行 onmode -d 辅助命令来重新启动复制。



-19843	所指定的 IFX_AUTO_REPREPARE 值无效。

IFX_AUTO_REPREPARE 的值必须为 0、“off”或“OFF”（用于禁用“自动重新准备”功能），或者为 1、“on”或“ON”（用于启用该功能，这
样在预备对象或 SPL 例程所引用的表被重命名后或其模式被修改后，数据库服务器可以自动重新准备预备对象或重新优化 SPL 例程）
。



-19842	为 USELASTCOMMITTED 参数指定的值无效。

您可以将 USELASTCOMMITTED 配置参数设置为以下某个值：“Dirty Read”、“Committed Read”、“All”或“None”
。



-19841	指定自动（服务器）生成的键时出错。

可能的原因包括：列在表中不存在，或者列不是 SERIAL、SERIAL8 或 BIGSERIAL。其他原因包括：空字符串、null 数组、空数组或未知常量。（有
效常量是 NO_GENERATED_KEYS 或 RETURN_GENERATED_KEYS）。



-19840	无效的会话环境变量。

无法使用 SET ENVIRONMENT 命令在会话中设置标识。



-19839	所指定的 OPTCOMPIND 值无效。

OPTCOMPIND 的值必须介于 0 到 2 之间。



-19838	脏阅读器访问了无效的分区。

应用程序有一个尝试访问无效分区的脏阅读器。该分区不存在，或者在尝试将其锁定时已被删除
。



-19837	所指定的 PDQ 优先级值无效。

PDQPRIORITY 的值必须介于 -1 到 100 之间。



-19836	扩展数据块大小太大。扩展数据块最大大小为 %sk。

9.40 上指定的磁盘扩展数据块的最大大小（EXTENT SIZE 或 NEXT SIZE 子句）为 16 MB 页面，而在 9.3x 及更低版本上该最大大小为
一个块。



-19834	由于数据无效，卸载失败: 行号。

正在通过 UNLOAD 语句卸载的行中的列包含对于当前区域设置无效的字符。
该 UNLOAD 语句中指定的输出文件在指定行上包含无效数据。

请注意，在使用卸载文件将数据装回到数据库以前，应该采取更正措施。
更正措施可能是删除或修复存在问题的行。




-19833	不允许原始表类型与存取方法结合。

不能将用户定义的主存取方法与原始（非登录）表关联。

如果要将用户定义的主存取方法与表关联，从 CREATE TABLE 语句中略去关键字 RAW。
如果需要原始表，请从 CREATE TABLE 语句中略去 USING <access_method> 子句。




-19832	不能结合其它变更表选项来变更表类型。

不能结合其它 ALTER TABLE 选项一起来变更表类型。

必须使用单独的语句，用 ALTER TABLE 语句来变更表类型。
结合其它 ALTER TABLE 选项不能完成变更任务。




-19831	不允许在类型为 raw 的表上使用引用约束。

CREATE TABLE 语句包含 RAW 表不允许的约束。检查您的语句以确保未在 RAW 表上定义这些类型的约束。如果尝试将 STANDARD 表变更为 
RAW，但该表具有引用约束，那么也会发生该错误。

如果要使用引用约束，必须将 RAW 表变更为 STANDARD 表。



-19830	该操作在类型为 RAW 的表上是不允许的。

在 RAW 表上尝试了不受支持的操作（例如，尝试创建约束）
。

如果要执行 RAW 表不支持的操作，必须将 RAW 表变更为 STANDARD 表
。



-19829	LVARCHAR 列太大。

该语句为 LVARCHAR 列指定的宽度超过了 32,739 个字符。如果需要这种大
小的列，请使用 TEXT、BYTE 或 CLOB 数据类型，这些数据类型允许字符串
包含 2GB 个字符(TEXT 或 BYTE)或 4TB 个的字符(CLOB)。

否则，请检查语句是否存在键入错误。





-19828	在该环境中，ORDER BY 列或表达式必须在 SELECT 列表中。

在以下情况中，ORDER BY 列或表达式不能从 SELECT 列表中省略。

*   使用了 UNIQUE 或 DISTINCT 运算符。
*   使用了 UNION 运算符。
*   查询选择了临时表(SELECT ...INTO TEMP)。
*   在引用服务器(总是要求 ORDER BY 列在 SELECT 列表中)的分布式查询中。
*   仅在查询使用 GROUP BY 子句时，才允许使用合计表达式。
*   表达式使用列子字符串的别名。

修改 SQL 语句使之符合以上规则。





-19827	不能基于表创建 INSTEAD OF 触发器。

只能基于视图创建 INSTEAD OF 触发器，而不能基于基表或同义词创建。





-19826	无法为选择事件创建 INSTEAD OF 触发器。

可以为插入、更新或删除事件创建 INSTEAD OF 触发器，但不能为选择事件创建。





-19825	如果已定义 INSTEAD OF 触发器，则不能使用 WHEN 子句。

WHEN 子句不能与 INSTEAD OF 触发器一起使用，因为不能为 INSTEAD OF 触发器
语句指定触发器限制。触发器将总是被指定操作代替。





-19824	对于 INSTEAD OF 触发器，无法使用 BEFORE 或 AFTER 操作。

对于 INSTEAD OF 触发器，无法使用 BEFORE 或 AFTER。对于 INSTEAD OF 触发器，必须使用 FOR EACH ROW
。



-19823	对于 INSTEAD OF 触发器，不能使用 EXECUTE PROCEDURE INTO。

对于 INSTEAD OF 触发器，无法使用 EXECUTE PROCEDURE INTO。



-19822	无法使用同义词更改或截断表，或者删除表或视图。

无法使用同义词变更或删除表或视图。请改为指定 <table-name> 或 <view-name>
。

或者，要使用同义词删除或变更表或视图，请首先取消设置环境变量 USETABLENAME
。

如果希望删除同义词，请改为指定 DROP SYNONYM <synonym-name>。



-19821	不能使用同义词重命名表。

不能使用同义词对表执行重命名操作。应该指定<table-name>。

如果要重命名同义词，则应该首先删除现有的同义词，然后创建一个新的同义词。





-19820	GBasedbt OUTER JOIN 和 ANSI JOIN 在同一个查询大块中。

您不能将 OUTER JOIN 和 ANSI JOIN 放在同一个查询大块中。GBasedbt OUTER JOIN
 和 ANSI JOIN 是两种不同的机制，不能被结合在一个单独的查询中。您只能使用
其中之一。






-19819	ON-子句具有无效的表引用。

您指定的一个 ON 子句引用了一个不在 ON 子句所属联合范围内的表。

请检查您在每个 ON 子句的联合标准和联合过滤器中指定的表都是可用于它们
所属联合中的。






-19816	无法针对为复制而定义的表执行该操作。

如果对表定义了 Enterprise Replication，那么不能对该表执行指定的操作。如果希望执行指定操作，必须删除对该表定义的所有复制
。

如果使用“更改数据捕获”界面来捕获表，那么必须使用 CDC API 函数来停止数据捕获并对表禁用整行记录
。



-19815	不能用 CRCOLS 建立临时表。

不能建立含有复制影子字段的临时表。





-19814	当表没有复制影子字段时不能取消 CRCOLS。

指定的表不是用 WITH CRCOLS 语法建立的，或者它没有改变为含有 CRCOLS。因为在
这张表中这些字段并不存在，所以不能改变这张表，不能取消 CRCOLS。





-19813	当表已经有了复制影子字段不能添加 CRCOLS。

指定的表是用 WITH CRCOLS 语法建立的，于是已经有了定义的复制影子字段。不能更改
这张表，在该表中添加 CRCOLS。





-19812	非法使用复制影子字段。

在复制影子字段上，指定的操作不能执行。





-19811	DB口令不应超过8个字符。

请选择长度不超过8个字符的数据库口令。





-19810	不能为角色设置数据库口令。

用户只能为用户设置数据库口令。





-19809	无效口令访问数据库。

请使用正确的口令。





-19808	用户名在数据库中已经作为角色名存在。

用户不能作为一个与之同名的角色名打开数据库。角色名和用户名在数据库中必须唯
一。如果要访问数据库，请同数据库的DBA通讯，DBA可以在必要时取消角色。





-19807	不能用WITH GRANT 选项 对角色授予特权

一个用WITH GRANT 选项授予角色的用户不能再授予该角色给用户并包括WITH GRANT
选项。请使用不带WITH GRANT 选项的GRENT语句。





-19806	不能对角色授予数据库特权

角色不能被授予数据库级的特权。请使用GRANT 语句把数据库级的特权授予用户，或
PUBLIC。





-19805	没有设置角色的特权

检查你的特权和权限。用户或角色必须先用GRANT 语句授予一个角色，然后才能设置
角色。





-19804	角色不存在

为使角色存在，DBA必须使用CREATE ROLE 语句先建立角色。关于角色列表，请参看
gbasedbt.sysusers 表。





-19803	只有DBA或用WITH GRANT OPTION 授予角色的用户，可以授予，撤回或取消角
色。

检查特权和权限，必须是DBA或已经被授予了具有WITH GRANT选项的角色去授予，
撤回或取消角色。





-19802	名称无法同时显示为角色授予者和角色被授予者。

无法以直接或间接方式将角色授予自身。请验证角色授予者和被授予者是否为正确的角色。请检查已经授予给正在被授予的角色的各角色
。



-19801	角色名不能是<保留字>。

不能建立是保留字的角色名。保留字有connect, 
resource, dba, select, update, delete,insert, index, references, 
alter, execute, default, none, null, public。请改变角色的名字。





-19800	角色名已经作为一个用户或角色存在。

不能建立角色名使其等同于系统已知的任何用户，也不能等同于数据库已知的用户或
角色。请改变角色的名字。





-16401	未装入任何程序。

使用命令 UNLOAD PROGRAM 卸载了程序，但是随后没有通过命令 LOAD PROGRAM 装入任何程序
。



-16400	文件名 name 错误。

所显示的文件名不适合于其计划用途。该文件名过长、包含不恰当的特殊字符或为空。请输入合适的文件名
。



-16399	未指定程序名。

PRINT 语句的 PROGRAM = 子句用于指定可显示 BYTE 或 TEXT 值的内容的外部程序（例如，文本编辑器）。在该命令中，指定了关键字，但没有在随
后指定任何程序名。



-16398	非法的 BLOB 文件名。不允许使用空名称。

4GL LOCATE 语句已在文件中找到 BYTE 或 TEXT 变量。但是，变量的文件名是空字符串。由于文件不存在，因此调试器无法对该文件执行任何操作
。



-16397	使用 program= 只能打印 BLOB 变量。

PRINT 语句的 PROGRAM = 子句用于指定可显示 BYTE 或 TEXT 值的内容的外部程序（例如，文本编辑器）。该子句不与任何其他数据类型相关
。



-16396	不能在此表达式中使用 BLOB。

您要求调试器在表达式中使用 TEXT 或 BYTE 变量。这些类型的变量只能通过 PRINT 或 DUMP 显示，或通过 LET 分配以空值
。



-16395	不能将 BLOB 与任何其他值进行比较。

您要求调试器在表达式中比较 TEXT 或 BYTE 变量。您无法使用这些类型的变量进行比较。（但是，您可以引用 TEXT 变量的子串。）



-16394	无法访问帮助消息。

调试器帮助消息在 fgldb.iem 文件中。安装程序将该文件复制到 GBASEDBTDIR 环境变量所指向的 msg 目录。可能文件已损坏、已删除或受到读保护
。请求系统管理员恢复您对该文件的访问权。



-16393	表达式或变量包含无效子串。

调试器无法解释对字符值子串的引用。方括号中的两个数字指定子串，如以下表达式中所示
：

charvalue[n1,n2] 

名称 charvalue 必须为 CHAR(n) 数据类型；n1 指定子串的第一个字符，n2 指定其最后一个字符。如果 n1 大于 n（字符值的长度），或者 
n1 大于 n2，就会出现此错误消息。



-16392	未指定数据库名称。

该数据库命令要求将数据库的名称作为其自变量。



-16391	内部错误 - 尝试突出显示无效的行号。

重复命令。如果该错误重现，请记下所有情况并联系 IBM 技术支持
。



-16390	读取文件 filename 时发生错误。

调试器在尝试读取 4GL 源文件时遇到错误。查找可提供关于该失败的更多详细信息的其他消息（例如在操作系统中）。检查文件是否存在以及您是否具有读许可权
。



-16389	文件名超出最大长度。

文件名不能超过 80 个字符。如果名称超过该长度（如果消息并非标点错误所致），您必须首先将其重命名，然后才能将其用于调试器
。



-16388	无法创建调试器窗口。

可能内存不足。采取操作系统所允许的任何步骤来增加可用内存量
。



-16387	程序当前未在执行。

只有在执行开始之后，WHERE 命令才能显示活动的函数。调用 RUN 或 CALL 命令以开始执行，然后重复该命令。（您可能首先必须设置断点以在正常终止之前暂挂
执行。）请参阅调试器手册中的“活动函数和变量”主题。



-16386	搜索字符串超出最大长度。

首个字符为引号 (") 的搜索模式规范的最大长度为 80 个字符。在任何其他首个字符后，最大长度为 50。请检查您是否无意中按下了搜索命令键（? 或 /）。重复
搜索命令，但指定更简短的模式。



-16385	调用函数 function-name 失败。

4GL 或 C 语言函数中的逻辑可能存在缺陷，或者可能不支持您在 CALL 命令中指定的参数列表。使用 VIEW 命令检查 4GL 函数的源代码。使用 
Escape 功能检查 C 函数的源文件。



-16384	 .4db 文件中的行超出最大长度。

单个调试器命令行中不能出现 256 个以上的字符。如果在使用分号 (;) 命令分隔符，请将行分割为单独的命令
。

避免调试器命令在单行中的字符数量超过屏幕或列表设备可显示的容量。使用反斜杠连续符号将长的命令行划分为更短的段，或使用别名
。



-16383	超出嵌套读取命令数限制。

您启动的 READ 命令调用了另一 READ 命令，后者又调用了另一 READ 命令，依此类推，READ 命令嵌套了十次以上。必须简化 .4db 命令文件的安排
。



-16382	当前正在处理命令文件 filename。

您使用了一个 READ 命令，该命令嵌套在初始化文件或另一 READ 命令的输入文件中，后一 READ 命令引用了以下内容之一
：

*   至自身

*   至先前的 READ 命令输入文件

*   至尚未完成执行的 .4db 初始化文件

您无法执行可能会产生无限循环的 READ 命令。



-16381	无法设置断点或跟踪点 - 无当前模块。

在不引用模块或函数的情况下无法设置断点或跟踪点，除非某个程序模块在“源”窗口中。您可能忽略了在无法装入 4GL 源文件时出现的错误消息
。



-16378	需要一个小正整数。

无法输入不带自变量或以负数作为自变量的 TIMEDELAY 命令。重复该命令，在“源”窗口或“命令”窗口中指定零或正整数作为秒延迟数
。



-16377	不能在执行开始之前检索全局变量的值。

只有在执行开始后，PRINT 命令才能显示全局程序变量的值。调用 RUN 或 CALL 命令以开始执行，然后重复 PRINT 命令。在此情况下，可指定常量或全局
变量的名称作为 CALL 的自变量。（您可能必须设置断点或按中断键以在正常终止前将程序暂挂。
）



-16376	中断或跟踪名称 name 未以字母字符开头。

断点或跟踪点名称中的第一个字符必须为字母。后续字符可以是字母、数字或下划线 ( _ )。必须用单引号 ( ' ) 或双引号字符 ( " ) 将名称括起。请通过指
定在引号中括起的有效名称来重复该命令。



-16375	无法查看 C 库函数 function-name。

VIEW 命令无法显示 C 函数或 ESQL/C 函数的源代码。要检查 C 源代码，您必须使用 Escape 功能并使用可显示 C 源文件的操作系统命令
。



-16374	Break 命令包含未指定条件的“if”。

在 BREAK 命令中，IF 关键字后面必须跟有一个表达式。当条件为 false（零）时，断点不起作用。不带 IF 重复该命令，或者带 IF 和条件来重复该命令
。



-16373	不能在执行开始之前打印或赋值。

在执行开始之前，无法使用 LET 命令向变量赋值，也不能使用 DUMP 或 PRINT 命令显示有关变量或函数的信息。同样的限制在执行已正常终止后或 
CLEANUP 命令后适用。调用 RUN 或 CALL 命令以开始执行，然后重复该命令。（您可能必须设置断点，或在 UNIX 中，按中断键以阻止正常终止。
）



-16372	需要变量或表达式。

您必须标识希望调试器在 PRINT 命令中显示的内容。通过指定变量名称、记录或数组或者表达式来重复该命令
。



-16371	未指定读取文件。

必须在 READ 命令中指定 .4db 文件的名称。



-16370	未指定应用程序设备。

必须指定另一个终端的名称，该终端与您从中调用调试器的终端具有相同的 termcap 或 terminfo 条目。（但是，不能是从中调用调试器的设备的名称。）在您
希望用作应用程序设备的终端中输入 tty。该终端的屏幕将显示其终端路径名。通过指定相应的终端设备名来重复 APPLICATION DEVICE 命令
。



-16369	无法初始化应用程序设备 device-name。

必须指定另一个终端的名称，该终端与您从中调用调试器的终端具有相同的 termcap 或 terminfo 条目。必须以您的帐户名称登录第二个终端
。



-16368	表达式包含来自不同函数的变量。

无法在同一表达式中将来自不同函数的变量进行组合。如果您需要知道此类表达式的值，必须使用 PRINT 单独计算每个函数中的变量。然后，在 BREAK、LET 或 
PRINT 命令中输入这些值作为常量，以替代变量名称。



-16367	需要指定特定的记录成员或数组元素。

无法使用数组的名称作为 CALL 命令的自变量。无法将数组或记录的非限定名称用于表达式中，或用作断点或跟踪点的对象。在所有这些情况下，必须使用方括号中的下标来指
定特定数组元素，或者记录中成员的全名。



-16366	尝试写入文件时发生错误。

文件系统已满，或者发生硬件错误。使用 Escape 功能显示当前驱动器上剩余的空间
。



-16365	断点或跟踪点名称已处于活动状态。

ENABLE 命令对已经启用的断点或跟踪点不起作用。请检查是否输入了所需的名称或引用号。如果输入正确，并且仍旧认为该名称应该处于非活动状态，请使用 list 
break trace 或搜索命令缓冲区来查看前一条 DISABLE 命令是否停用了错误的断点或跟踪点
。



-16364	选项 option 未知。

调试器无法识别命令中的参数选项。请另行指定选项，并重复执行此命令。输入 help turn 可显示许多 TURN 选项
。



-16363	函数 function-name 中的变量未处于活动状态。

您命名了一个由尚未调用或已经返回的函数赋值的变量。LET 或 PRINT 命令只能引用活动变量，即全局变量或在当前正在执行的函数（WHERE 命令列出的函数）中
指定的变量。输入 CALL 命令时，必须用字面值代替需要非活动变量的表达式
。



-16362	当前函数不存在。

如果尚未调用 RUN 或 CALL 命令，那么不存在当前的 4GL 函数。如果执行正常终止，而非由断点、Interrupt 或 STEP 命令、或致命错误而导致
执行停止，那么即使在调用 RUN 或 CALL 命令之后，也不存在当前函数。请使用 RUN 或 CALL 开始或重新启动程序执行
。



-16361	变量名 variable-name 无效。

标识 variable-name 不是变量的名称。VARIABLE 命令需要变量名。请检查名称的拼写
。



-16360	无法对数组赋值；赋值对象必须是数组元素。

LET 命令可以对简单变量或对数组中带方括号下标所标示的单个元素赋值。请输入 help let 来查看示例
。



-16359	无法对记录赋值；赋值对象必须是记录成员。

LET 命令可以对简单变量或对记录的特定成员赋值，但不能对整条记录赋值
。



-16358	需要变量名。

LET 命令需要变量名作为其第一个参数。请勿对变量名加引号
。



-16357	函数 function-name 未处于活动状态。

只能显示在活动函数中定义的变量。此变量在非活动的函数名中定义
。



-16356	对函数 function-name 传递了太多参数。

CALL 命令中的参数列表所含参数多于对函数定义为正在接收的参数。如果不确定应该向函数传递多少参数，可以使用 VIEW 命令显示函数的源代码
。



-16355	函数 function-name 需要参数。

CALL 命令命名的函数已定义为需要一个或多个参数。必须在函数名后面输入相应数量的参数（带括号）。如果不确定应该向函数传递哪些参数，请使用 VIEW 命令显示其
源代码。



-16354	找不到函数 function-name。

您指定了不属于当前 4GL 程序的函数。请检查名称拼写是否正确，或者是否混淆了不同程序的函数名。请确保 4GL 源代码定义并调用了要执行的函数
。



-16353	执行跟踪点命令时，可执行命令无效。

TRACE 命令中的命令行列表包括 CALL、CONTINUE、RUN 或 STEP 命令。TRACE 命令中不支持这些命令
。



-16352	文件 filename 已修改。（.4gl 比 .4go 新）。

调试器执行 .4go 模块，但是却显示 .4gl 源文件中的行。因为在模块编译后源文件已更改，“源”窗口中显示的行可能与所编译程序中的语句不相符
。

如果更改 .4gl 文件中的源代码，就必须重新进行编译。如果您的程序中包含若干模块，那么还必须连接所编译的模块，然后开始调试。另请检查该程序中是否存在具
有 .4go 和 .4gi 两个后缀的文件。即使 .4go 文件是正确的重新编译版本，调试器也首先试图解释 .4gi 版本
。



-16351	找不到变量 variable-name。

调试器无法引用变量，除非在 4GL 模块中定义它。对于 4GL 变量，请检查是否正确输入了变量名。如果变量不在当前函数或模块中，必须限定其名称。请参阅调试器手册
中的『引用作用域』一节。（如果在 BREAK 或 TRACE 命令中输入想要的模块名，但省略了名称结尾的点，就可能显示此消息。）



-16350	已禁用/启用或者无法确定断点/跟踪点。

调试器找不到执行 ENABLE 或 DISABLE 命令的对应断点或跟踪点。可以输入 list break trace 来显示所有当前引用点
。



-16349	对断点使用 nobreak，对跟踪点使用 notrace。

您对 NOTRACE 命令指定了断点，或对 NOBREAK 命令指定了跟踪点。每个命令只能处理自身的对象
。



-16348	断点或跟踪点名称未处于活动状态。

您要求 DISABLE 命令停用已禁用的断点。请检查是否已命名所需的断点。可以输入 list break trace 来显示当前断点和跟踪点
。



-16347	所指定的断点或跟踪点编号或引用名称无效。

在 ENABLE、DISABLE、NOBREAK 或 NOTRACE 命令中指定的引用号不能是零值、负值或当前不存在对应断点或跟踪点的值。可以输入 list 
break trace 来显示当前的引用号。



-16346	无法打开输出文件 filename。

检查输出文件是否已存在但被损坏或写保护。在 UNIX 中，检查您在指定目录中（或者如果未指定路径名，那么在当前目录中）是否有写许可权
。



-16345	无法在 4GL 库函数或用户 C 函数中设置断点。

只能在以 4GL 编写的函数中设置断点，而不能在以另一种语言（如 C 或 ESQL/C）编写的函数中设置，也不能在内置函数名中设置
。

要在调用 C 函数时暂挂程序的执行，请通过指定调用 C 函数的 4GL 语句的行号来设置断点，而非指定函数名称来设置
。



-16344	所指定的函数名 function-name 无效。

您指定了不属于当前 4GL 程序的函数。可能是名称拼写错误，可能是混淆了不同程序的模块或函数名，或者忘记编译包含此函数的程序模块。请指定有效名称，并重复执行此命
令。



-16343	所指定的模块名 module-name 无效。

指定了不属于当前 4GL 程序的模块。可能是名称拼写错误，也可能是混淆了不同程序的模块或函数名。请指定有效名称，并重复执行此命令
。



-16342	内部错误 - 无法设置断点。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-16341	行号 line-number 不在指定模块中。

BREAK 或 TRACE 命令指定的行号不能大于指定模块中最后一条可执行语句的行号。如果未指定模块名，行号不能大于当前模块中最后一条可执行语句的行号。检查是否
指定了正确的模块和行号。



-16340	遇到无效的反斜杠。

命令中包含不能解释为命令行连续符号的反斜杠符号。请不带无效反斜杠，并重复执行此命令
。



-16339	断点或跟踪点名称不唯一。

指定给 BREAK 或 TRACE 命令中的断点或跟踪点的名称不能与任何现有引用点（包含已禁用的断点或跟踪点）的名称重复。如果相同输入文件读取两次，那么在执行设
置命名断点或跟踪点的 READ 命令之后也会出现此消息。



-16338	无法继续执行。

不能调用 CONTINUE 或 STEP 命令，除非已开始（但未终止）执行 4GL 程序。如果程序正常终止或因致命错误而终止，请使用 CALL 或 RUN。在执
行开始后，必须先通过断点暂挂执行（或者在 UNIX 环境中，通过执行 Interrupt 命令），然后才能调用 CONTINUE 或 STEP。另请参阅调试器手
册中的『活动函数和变量』一节。



-16337	没有先前的搜索模式。

不能未指定搜索模式就输入 Search 命令，除非先前在相同调试会话中指定了搜索模式。请指定有效搜索模式，并重复执行此命令
。



-16336	用户必须指定要查看的源文件。

VIEW 命令需要 4GL 源文件名。



-16335	不能由所指定的行数来调节窗口。

“源”窗口或“命令”窗口 1 中的最小行数，其中不包括显示当前模块名的“源”窗口行。在标准 24 行终端上，两个窗口中任意一个的最大行数为 18 或 L-6，其
中 L 是终端支持的行数。

GROW 命令的参数不是新窗口的大小，而是当前窗口大小的增量。要在调试器屏幕中更改窗口大小，请在此范围内输入 GROW 命令生成窗口大小
。



-16334	内部错误 - 遇到空关键字。

此消息反映发生了极其意外的情况。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-16333	模块名 module-name 重复。

正在装入所显示名称的模块，但是该名称的模块已经装入。请使用程序员环境的“程序”菜单来确保正在调试的程序只包含每个模块的一个副本
。



-16332	函数名 function-name 重复。

在正在装入的模块中找到了所显示的函数名。但是，该名称的函数已出现在先前装入的模块中。这种情况是不允许的。请更改应用程序，使其中所有函数具有唯一的名称
。



-16331	递归别名过多。

在某些调试任务中，别名引用其他别名，可以节省时间或者规避调试器命令行中的字符数限制。例如，可以指定别名 1 为别名 2 的子串，别名 2 为别名 3 的子串，以
此类推，最多可到别名 5。但是，不能在击键与这些击键所代表的完全展开的命令之间指定五个级别以上的别名
。



-16330	无法打开文件 filename 以进行读取。

确保在 READ 或 VIEW 命令中，或在 -F 选项后（当从命令行调用了调试器时）指定了正确的文件名。如果名称正确，可能是文件已损坏或者读保护。如果没有读取
文件的许可权，请参阅操作系统文档中有关访问特权的论述，或者联系您的系统管理员
。



-16329	路径名太长。

调试器将接受最多 70 个字符的路径名。



-16328	无法读取初始化文件 filename。

尽管调试器通过 -F 参数找到了指定的文件，但是在它尝试读取该文件时遇到错误。请查看可能提供更多详细信息的操作系统错误消息。如果问题不属于硬件错误，请确保您的帐
户具有该文件的读访问权（例如，通过显示其内容）。



-16327	找不到文件 filename。

可能是您省略或错误拼写了 .4db 输入文件的文件名（在 READ 命令中或在 -F 命令行选项后），也可能是在 VIEW 命令中或在命令行上错误拼写
了 .4gl 源文件的文件名或路径名。

如果文件名拼写正确并且指定的文件是存在的，那么可能需要指定完整路径名。在引用当前目录中不存在的 .4db 文件，或者引用当前目录或任何通过 -I 命令行选项指定
的目录中不存在的 .4gl 源文件时，必须指定文件的完整路径名
。



-16326	缺少程序名。

如果在系统提示符处调用调试器，必须将已编译 4GL 程序的名称作为参数（或者，在 UNIX 中使用选项 -V 来表示您只需要显示软件版本号）。请重复执行此命令，
但此次请指定已编译程序的名称。



-16325	参数缺失或多余。

您省略或重复了命令行选项。请在查看调试器手册中 fgldb 命令的描述后重复执行此命令
。

如果尝试将参数传递给正在调试的程序，也会出现此消息。将命令行参数指定给主体程序的正确方法是在启动该程序时通过 run 命令包含它们
。



-16324	用户不能指定多个文件名。

在命令行上只能使用 -F 选项一次。请仅指定一个初始化文件，并重复执行此命令。在调试器启动后，可以输入 READ 命令来执行其他 .4db 文件
。



-16323	用户不能指定多个目录列表。

在命令行上只能使用 -I 选项一次。但是，可以在 -I 后面的列表中指定多个搜索路径。请在单个 -I 选项后面用逗号分隔列出全部所需源文件的搜索路径，并重复执行
此命令。



-16322	缺少目录列表。

在调用调试器时使用了 -I 命令行选项，但是未指定源文件搜索路径。请忽略 -I 选项，或者对命令指定搜索路径，并重复执行此命令
。



-16321	别名 alias-name 是现有的命令关键字。

别名的名称不能是调试器命令的完整形式。（但是，可以将命令关键字的缩写形式指定为别名。）请使用其他别名标识，并重复执行此命令
。



-16320	缺少左花括号。

必须成对使用左右花括号字符（{ 和 }）。



-16319	内部错误 - 非法命令。

此消息反映调试器的命令分析模块中发生意外情况。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-16318	需要正数或名称。

ENABLE、DISABLE、NOBREAK 和 NOTRACE 命令都需要一个参数。此参数可以是断点或跟踪点名称、引用号、函数名或 ALL 选项。如果在“命令
”窗口中输入的参数看来是有效的，您可能还按下了非打印键
。



-16317	需要程序变量名。

调试器 LET 命令需要三个参数：

*   程序变量的标识

*   等号 (=)

*   值将赋给变量的表达式

无法在所输入的命令中识别出标识。



-16316	需要小整数。

必须提供正整数或负整数作为 GROW 命令的参数。请指定要添加给窗口大小的行数，并重复执行此命令。此整数与当前大小的和必须处于范围 1 到 L-6，其中 L 是
您的终端可以显示的行数（通常为 24）。



-16315	缺少 )。

您在命令参数中省略了一个右括号，或者多添加了一个左括号
。



-16314	缺少文件名。

如果已装入调试器，那么您在 READ 命令后或在将输出重定向到某个文件的命令后未指定文件名。请指定输入或输出文件名，并重复执行此命令
。

如果处于系统提示符处，那么您使用了 -F 命令行选项来调用调试器，但是未指定初始化文件的名称。请重复执行此命令，但此次请省略 -F 选项，或者在 -F 选项后面
指定 .4db 初始化文件的名称。



-16313	缺少模块行号。

在 BREAK 或 TRACE 命令中，您指定了模块名，后面依次跟着一个点和一个非整数。模块名后必须跟一个点和一个为整数的行号
。



-16312	缺少 = 号或 = 号位置错误。

LET 命令跟不带星号选项的 ALIAS 一样始终需要一个等号 (=)。请重复执行此命令，并确保等号位置正确
。



-16311	未识别出命令名。

命令名拼写错误或缩写错误。输入 help 来显示所有调试器命令的名称。如果字符串名称看起来是有效的命令名，那么可能是在您输入的同时还按下了非打印键
。



-16310	需要关键字。

您省略了必需的命令选项。输入 help all 来显示所有调试器命令的名称，或参考手册
。



-16309	超过内部缓冲区限制。

您的命令具有太多字符。每条调试器命令包含的字符数不得超过 256。如果指定包含用花括号括起来的许多命令行的 ALIAS、BREAK 或 TRACE 命令，可以考
虑使用嵌套别名。通过将某个功能键或短字符串指定为一列别名的别名（其中每一个都由 256 个以下字符表示），可以让该功能键或短字符串来代表成百上千次击键。另一种替
代方法是使用 READ 命令而不是别名来输入多个命令。



-16308	缺少函数名。

必须在 CALL 命令中指定函数名。请指定函数名，且后跟左右括号，并重复执行此命令。如果此函数需要参数，请在括号中包含参数列表，多个参数之间用逗号分隔
。



-16307	引用的字符串太长。

引用字符串的最大长度为 256 个字符。请使用较短的字符串，并重复执行此命令
。



-16306	找到一个没有匹配引号的引号。

可能某个名称或字符串中省略了一个引号，或者多了一个引号。请使用偶数数量的单引号 (') 或双引号 (")，并重复执行此命令
。



-16305	内存分配失败。

可用于执行命令的系统内存不够。请在其他用户对系统内存占用较小的其他时间重复执行此命令。在 DOS 系统上，需要释放一些磁盘空间
。



-16304	在命令中找到非法浮点数。

您的表达式或搜索模式包含多于 50 个字符的浮点数字字符串，或者包含多个小数点。请指定较短的表达式或搜索模式，或者指定较少的小数点，并重复执行此命令
。



-16303	在命令中找到非法整数。

您的表达式或搜索模式包含多于 50 个字符的数字字符串。请指定较短的表达式或搜索模式，并重复执行此命令
。



-16302	在命令中找到非法字符。

调试器命令中的字符限定为字母、数字、空格、下划线和调试器手册『命令语法表示法约定』一节中列出的特殊字符。在编辑向 READ 命令提供了输入的文件时，您可能无意中
按下了某个键，或者引入了非法字符。如果通过字处理程序创建或修改 .4db 文件，请确定以非文档方式或仅文本方式保存该文件
。



-16301	发生语法错误。

在调试器命令中检测到语法错误。请检查您是否错误拼写或省略某个关键字或标识，或者包含了多余的命令参数，或者关键字顺序错误。检查是否在 CALL 命令中的函数名后省
略了括号，或在 VIEW 命令中包含了括号。要显示所有命令的两页概要，请输入 help all
。



-16300	标识太长。

此语句中的标识对其上下文来说太长。请检查是否省略了两个标识之间的分隔符，或者请选择较短的标识
。



-14591	CSS：无法释放同步对象。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14590	CSS：无法获取同步对象。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14589	无法打开 <concsm-file> 配置文件。

请检查 CSS 配置文件是否存在。



-14588	没有指定通讯支持模块函数库名。

检查通讯支持模块描述。





-14587	CSS: CSM 描述符 csm-name：引用本身。

串联描述符递归引用自身。

请检查通讯支持模块描述。





-14586	通讯支持模块描述符没有指定通讯支持模块名。

检查通讯支持模块描述。





-14585	CSS：CSM 描述符：未知错误 <error-number>

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14584	CSS：CSM 描述符：未定义链接方法。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14583	串联描述符是指未定义的通讯支持模块。

检查通讯支持模块配置。





-14582	具有该名称的通讯支持模块已经定义。

检查通讯支持模块配置。





-14581	CSS：CSM 描述符：语法错误。

“通信支持模块”描述符包含语法错误。

请检查 concsm.cfg 文件中的“通信支持模块”描述符。如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服
务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息。



-14579	CSS：发现未指定的缓冲区类型。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14578	CSS：输出缓冲区所有者为空。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14577	CSS：不存在已注册的输出缓冲区所有者。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14576	CSS：CSS 上下文为空。

发生“通信支持服务”内部错误。

“通信支持服务”调用者向“通信支持服务”传递了一个空的上下文
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14575	CSS：运行时参数无效。

CSS 配置文件 (concsm.cfg) 中存在错误。

请检查 CSS 配置文件以及 sqlhosts 文件中的 CSM 选项字段。如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客
户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14574	CSS：处理初始化字符串：<parameter-string> 时出错。

“通信支持服务”无法访问由“通信支持服务”调用者提供的“通信支持模块”配置
。

请检查 concsm.cfg 是否存在。并检查配置文件以及 sqlhosts 文件中的 CSM 选项字段。如果该问题仍然存在，请与 IBM 技术支持或 CSM 
供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 sqlhosts 信息
。



-14573	CSS：迭代器方向错误。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14572	CSS：I/O 引用上下文为空。

发生“通信支持服务”内部错误。

“通信支持服务”调用者将空的 I/O 引用上下文传递给“通信支持服务”
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14571	CSS：CSS 库上下文为空。

发生“通信支持服务”内部错误。

“通信支持服务”调用者将空的库上下文传递给“通信支持服务”
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14567	CSS：缓冲区管理函数返回码 <error-code>。

发生“通信支持服务”内部错误。

释放由“通信支持服务”调用者提供的数据缓冲区时出错。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14566	CSS：未提供输入函数。

发生“通信支持服务”内部错误。

“通信支持服务”调用者未向“通信支持服务”提供引用上下文中的缓冲区管理函数
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14565	CSS：读取数据时出错。

数据库服务器或客户机接收数据以建立“通信支持服务”(CSS) 上下文的尝试失败
。

以下是可能导致该错误的原因以及纠正操作：

* 当 CSM 选项已启用并且数据库服务器或网络十分繁忙时，或者当太多客户机同时尝试连接到数据库服务器时，常常会发生该错误。数据库服务器可能需要很长时间来响应客
户机，从而导致在连接完成之前客户机的连接请求超时。或者在连接完全建立之前客户机可能已终止其连接尝试
。

请在客户端使用环境变量 GBASEDBTCONTIME 和/或 GBASEDBTCONRETRY，以增加连接时间和重试次数
。

* 由于出现错误情况，数据库服务器或客户机应用程序异常退出。正在等待从失败端接收数据的另一端会报告该错误。请检查失败端的错误，以了解产生问题的根本原因
。

如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件 (concsm.cfg) 以及 
sqlhosts 信息。



-14564	CSS：未提供输出函数。

发生“通信支持服务”内部错误。

“通信支持服务”调用者未向“通信支持服务”提供 I/O 引用上下文中的数据输出函数
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14563	CSS：写数据时出错。

发生“通信支持服务”内部错误。

执行数据输出失败。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14562	CSS：未提供缓冲区管理函数。

“通信支持服务”调用者未向“通信支持服务”提供 I/O 引用上下文中的缓冲区管理函数
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14551	通讯支持服务调用者没有指定将被通讯支持服务使用的通讯支持模块名。

检查通讯支持服务调用者配置。





-14513	CSS：CSM 无法完成服务操作。

“通信支持模块”处于死锁状态。它需要更多的数据，但没有足够的数据源。这是内部错误
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14512	CSS：未指定共享库名称。

CSS 配置文件中缺少 CSM 库路径名，或存在错误。

请检查 CSS 配置文件。

如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14511	CSS：在库 <csm-name> 中未找到初始化函数。

包含“通信支持模块”的共享库未导出“通信支持模块”初始化函数
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14510	CSS：缓冲区所有者为空。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14509	CSS：CSM 已与级联内部断开连接。

对于“通信支持模块”：级联内部的“通信支持模块”已断开连接
。

如果断开连接是意外情况而且该问题持续存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 
sqlhosts 信息。



-14508	CSS：从 CSM <csm-name> 获取标志时出错。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14507	CSS：级联已断开连接。

对于“通信支持模块”：同级已断开连接。

如果断开连接是意外情况而且该问题持续存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 
sqlhosts 信息。



-14506	CSS：CSM <csm-name>：意外的返回码 <error-code>。

“通信支持模块”返回了异常的完成状态。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14504	CSS：<csm-name> 中的 CSM 版本 <version-number> 不受支持。

“通信支持服务”不支持指定的“通信支持模块”所用接口的版本
。

请确保数据库服务器或客户机应用程序支持所讨论的 CSM 接口的版本
。

如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：数据库服务器或客户机 SDK 的版本
。



-14503	CSS：装入 <csm-name> 时出错。

“通信支持服务”无法装入包含“通信支持模块”的库。

请检查 CSS 配置文件中 CSM 库的路径名，并确保它是有效的共享库
。

如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-14502	CSS: 找不到 CSM csm-name 

通讯支持服务找不到给定名称的通讯支持模块。

检查通讯支持模块 配置文件中的通讯支持模块定义。





-14501	运行本配置内存不足。

请检查系统参数。





-14500	CSS：出错：<csm-error-number>。

发生“通信支持服务”内部错误。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-12806	无法构造行描述符。

在 access_method 例程中构造行描述符
中发生错误。





-12805	来自 access_method 例程的错误返回值。

某个 access_method 例程返回无效的值，可能是在
access_method 例程中存在	小错误。





-12804	access_method 例程指出的错误。

access_method 例程返回 MI_ERROR。





-12803	执行 access_method 例程执行序列中的错误。

在试图执行 access_method 例程时发生错误。
再次尝试语句。





-12802	初始化 access_method 例程执行序列时的错误。

无法使 access_method 例程准备执行。例如，
在定义了访问方式例程的 CREATE FUNCTION 语句中
使用的外部名称可能不存在。检查是否正确定义了
为访问方式使用的例程。





-12801	试图调用不存在的 access_method 例程。

使用了通常将导致调用特定访问方式例程
的 SQL 语句，但是没有为该访问方法定义
例程。除非为相应的访问方式定义了例程，
否则 SQL 语句不能用于该访问方式。





-12800	未预期的内部错误。

在用于调用访问方式例程的数据中
发现不一致。





-12246	智能大对象：您不能将临时大对象放入永久表中

您尝试了获取临时智能大对象并将其放入永久表中。该大对象可能会消失，从而使永久表带有无效指针。对该行为的检查受 onconfig 参数 
SB_CHECK_FOR_TEMP 控制。



-12245	已更改数据捕获：检测到内存损坏。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。CDC 子系统检测到内存损坏迹象。这是内部错误
。

请向 IBM 技术支持报告。



-12244	已更改数据捕获：要执行尝试操作的对象处于不正确状态
。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。CDC 会话上的操作遇到处于不正确状态的内部结构
。

请向 IBM 技术支持报告。



-12243	已更改数据捕获：读大小小于允许的最小值。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。已请求从 CDC 会话读取的数据量小于允许的最小值
。

请使用较大读大小重试读操作。最小允许的读大小是 128 字节
。



-12242	已更改数据捕获：必须关闭 CDC 会话。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。不能再读取 CDC 会话，必须关闭它。可能的原因是 CDC 子系统中出错
。

在 CDC 会话中发出由“已更改数据捕获”界面提供的关闭操作。监视 CDC 子系统来确定错误的性质
。



-12241	已更改数据捕获：不支持所尝试的操作。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。在由智能大对象接口提供的操作中，CDC 会话仅支持不带寻道的读操作
。

请勿在 CDC 会话中发出非读操作的智能大对象接口操作。



-12240	已更改数据捕获：一般读错误。

正在使用的智能大对象文件描述符指向“已更改数据捕获 (CDC)”会话。尝试读数据时出错
。

监视 CDC 子系统来确定错误起因。



-12234	分区已变更。

分区已变更，并且表的数据字典已标记为“脏”。当 DML 操作引用表数据字典信息的较旧副本时，操作易受此错误影响。很有可能数据库服务器刚刚对 DML 操作所引用的
表完成了 CREATE/DROP INDEX 或 ALTER FRAGMENT 操作。

该错误伴随着 SQL 错误 - 710。



-12233	正在对分区进行变更。

分区正在变更。会话无法获取对所请求表或索引的访问权，因为它已被另一用户以独占方式打开。此情况通常是暂时的，请延迟一段时间后重试操作
。



-12230	无法创建 blob 空间 blob。

您无法在辅助服务器上创建 blob 空间 blob。



-12227	页面大小不匹配。

磁带上分区的页面大小与目标数据库空间的页面大小不同。磁带可能包含损坏的页，或者您正在执行 onload 命令，请使用 -d 参数指定正确的数据库空间名称
。



-12226	无法添加数据库空间。

当禁用扩展的块容量方式时，无法添加页面大小大于缺省页面大小的数据库空间
。



-12224	分区需要归档。

如果表类型从无日志记录更改为有日志记录，那么在事务中使用表或修改表中数据之前请先执行备份。否则，如果服务器崩溃，表可能无法完全恢复
。



-12223	重命名 HDR 辅助服务器上的数据库空间。

无法重命名 HDR 辅助服务器上的数据库空间。



-12222	正在执行检查点时无法重命名数据库空间。

检查点期间无法重命名数据库空间。

检查点完成后重新尝试重命名数据库空间。



-12205	智能大对象：没有可用的空间用于档案 preimage 分区。

当扩展临时档案 preimage 分区时，数据库服务器用完了来自 footdbs 的空间。

向 rootdbs 添加更多的空间，然后重新开始档案。






-12203	智能大对象：无法将 LO 添加到删除撤销队列。

这是内部错误。

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12202	智能大对象：非 0 打开计数。

您试图删除一个打开计数非 0的智能大对象。






-12201	智能大对象：非0 参考计数。

您试图删除一个参考计数非 0的智能大对象。






-12157	常规表管理器：数据规范无效。

一个或多个列值不正确。



-12156	常规表管理器：项规范无效。

表项中的某些内容不正确。



-12155	常规表管理器：没有项。

不存在所需的项。



-12154	常规表管理器：表已被锁定。

表已被锁定。



-12153	常规表管理器：项已被锁定。

表项已被锁定。



-12152	常规表管理器：表已满。

表已满并且无法扩展。



-12151	常规表管理器：不允许存在重复的键。

不允许存在具有相同键的表项。



-12150	常规表管理器：无法创建互斥。

无互斥（锁存器）与缓冲区相关联，因此无法将其共享。



-12149	常规表管理器：没有内存。

无足够内存可用。



-12148	常规表管理器：未分配任何表。

表未创建或已删除。



-12146	常规表管理器：未提供 mvkey 函数。

表管理器未找到 mvkey 函数。




-12145	智能大对象：智能大对象空间未完全恢复。

尝试了归档未恢复或不一致的智能大对象空间。在尝试备份之前，智能大对象空间必须联机且一致
。

在备份前，请等待恢复完成。如果智能大对象空间已联机，请使用 oncheck -cS 和 oncheck -ce 检查智能大对象空间。如果不一致，您需要首先从备份
中将其恢复。



-12144	智能大对象：已分配了一些空间。

分配给智能大对象空间的块不是空的。其中一部分空间已分配给元数据或用户数据。这是内部错误
。

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12143	智能大对象：无效的大块编号。

LO 句柄中的大块编号是无效的。它或者超出了范围，或者不存在。最有可能的
是 LO 句柄已损坏。
 
如果您在ESQL 程序中发现该错误，请确保LO 句柄是有效的。另外还要确保您
没有强制取消这个大块。






-12142	智能大对象：无效的 sbspace 编号。

您指定的sbspace ID 编号不正确。它或者超出了范围，或者没有指向一个有效的
smartblob空间。

更正 sbspace ID 编号，然后重试操作。






-12141	智能大对象：sbspace 没有被完全恢复。

您正在试图访问在还没有被恢复的 sbspace 中创建的一个智能大对象。当系统
打开一个 sbspace时，它在打开企图前必须已完成了物理和逻辑恢复。

一直等到恢复完毕以后再访问该智能大对象。






-12140	智能大对象：已由用户中止。

尚未对智能大对象空间进行任何更改。已由用户中止实用程序
。



-12139	智能大对象：选项无效。

针对更改智能大对象空间特征指定的选项无效。智能大对象空间的某些特征无法更改，如块偏移
。



-12138	智能大对象：试图打开带有 light 输入/输出和字节范围锁定的 LO。

在打开时，您指定了一个不支持的选项组合。light 输入/输出不支持字节
范围锁定。请检查您的程序，并输出一个 blob 打开标志（MI_LO_NOBUFFER 标志
或MI_LO_LOCKRANGE 标志）。






-12137	智能大对象： sbspace 不存在。

sbspace 输入项在使用时已被删除。有人可能进行了 sbspace 的强制取消。






-12136	智能大对象：smart-large-object 空间有效。

这是内部代码

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12135	智能大对象：不能初始化智能大对象子系统。

该错误最可能的原因是内存已用完。

请增加可用内存量。






-12134	智能大对象：在创建智能大对象空间期间，智能大对象空间描述记录不是分区中的第一条记录
。

发生内部错误。

请与 IBM 技术支持联系以报告该错误。重新尝试创建智能大对象空间
。



-12133	智能大对象：在创建智能大对象空间期间，描述分区不是智能大对象空间中的第一个分区
。

数据库服务器发生内部错误。该智能大对象空间很可能损坏或者不是智能大对象空间
。

请与 IBM 技术支持联系以报告该错误。重新尝试创建智能大对象空间
。



-12132	智能大对象：锁定合并的锁定类型无效。

该消息是内部错误代码。

请与 IBM 技术支持联系以报告该错误。重新尝试创建智能大对象空间
。



-12131	智能大对象：大块中的 Metadata 区含有数据。

在大块取消期间，大块中的 metadata区是空的。大块的metadata区必须是空的
以便在不取消sbspace的情况下被取消。

通过删除大块中所有的智能大对象，尝试清空metadata区。如果您不想要智能
大对象，还可以"强制"取消sbspace.






-12130	智能大对象：不能创建大块，因为有人也正在创建一个大块。

您试图同时创建大块，发生了冲突。

尝试重新创建大块。






-12129	智能大对象：无法在智能大对象打开调用中创建条件变量。

当出现内存不足时，可能发生该错误。

检查您已经关闭了所有不再使用的智能大对象，并检查可用的内存以确保其足够。






-12128	智能大对象：字节范围锁定/解锁调用中无效的偏移。

一个对字节范围锁定函数的调用指定了无效的偏移：

    *   ESQL/C: ifx_lo_lock() 或 ifx_lo_unlock()

    *   DAPI: mi_lo_lock() 或 mi_lo_unlock()

无效的偏移指的是所提供的组合（偏移，whence)导致一个负值。

在字节范围锁定函数中使用一个有效的（偏移，whence）组合。






-12127	智能大对象：字节范围锁定/解锁调用中无效的范围大小。

一个对字节范围锁定函数的调用指定了无效的范围大小：

    *   ESQL/C: ifx_lo_lock() 或 ifx_lo_unlock()

    *   DAPI: mi_lo_lock() 或 mi_lo_unlock()

无效的范围大小或是一个负值，或者具有以下的加和，能够导致INT8溢出：

    偏移 + 范围大小

在字节范围锁定函数中使用一个有效的范围大小。






-12126	智能大对象：LO 没有为字节范围锁定打开。

一个对字节范围锁定函数的调用试图指定一个字节范围锁定：

    *   ESQL/C: ifx_lo_lock() 或 ifx_lo_unlock()

    *   DAPI: mi_lo_lock() 或 mi_lo_unlock()

智能大对象当前正以整个对象级为锁定打开。

关闭智能大对象，然后重新打开带有LO_LOCKRANGE (ESQL/C) 或 MI_LO_LOCKRANGE
 (DAPI) 锁定模式标志集的智能大对象。






-12125	智能大对象：LO 头分区中没有更多的槽。

这是内部代码

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12124	智能大对象：归档前像分区不存在。

归档程序中发生内部错误。此时前像分区应该已存在，但实际并不存在
。

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12123	智能大对象：Metadata 已满。

智能大对象空间中的 metadata 区已经没有足够的空间用来存储一个创建
或写入请求。

删除一些智能大对象，或者添加一个带有metadata空间的大块到sbspace。使用
onspaces中的-Ms 选项来添加额外的metadata空间。






-12122	智能大对象：已经取消了sbspace大块。

您试图进行的操作可能与已经发生的大块取消操作有冲突（例如：当 sbspace 被
取消时试图取消一个大块）。稍后重试该操作。






-12121	智能大对象：sbspace 被标记为已取消。

您试图对一个某人试图取消的sbspace进行操作。可能他们正在使用强制取消命令。
不要使用被取消的sbspace。强制取消允许您取消含有数据的sbspace。






-12120	智能大对象：在sbspace创建中用到复制键。

在创建 sbspace期间，发现 sbspace的编号与其它的 sbspace编号相同。该问题最
可能是由早期试图创建 sbspace的失败引起的。

重新启动数据库服务器将从内部表中删除输入项。






-12119	智能大对象：智能大对象空间还原失败。

在还原智能大对象空间期间，您尝试进行的数据库服务器还原发生错误
。

您可以在日志文件中找到该故障的原因。如果该错误是可恢复的，请重试还原操作。如果该错误仍然存在，请联系 IBM 技术支持
。



-12118	智能大对象：错误的 LO 范围映射。

智能大对象的范围映射记录损坏。很可能sbspace已损坏。在sbspace上运行
 oncheck。您可能需要从档案中恢复sbspace。






-12117	智能大对象：错误的 LO 标题（在删除中遇到）。

从磁盘中读取的 LO 标题是错误的。很可能sbspace已损坏。在sbspace上运行
 oncheck。您可能需要从档案中恢复sbspace。






-12116	智能大对象：错误的 LO 标题。

从磁盘中读取的 LO 标题是错误的。请参考日志文件中的LO id。很可能sbspace
已损坏。从备份中恢复sbspace。






-12115	LO 标题页长度错误 - 可能已经损坏。

可能发生了一个内部错误，并损坏了 LO 标题。

删除并重新创建智能大对象或从档案中恢复sbspace。






-12114	智能大对象：归档没有开始。

这是一个内部错误。智能大对象子系统在归档开始前被要求建立一个用户数据
扩展列表。






-12113	智能大对象：试图在 LO 打开时从使用 light IO 转换到缓冲区。

用户试图改变带有 ifx_lo_alter()(ESQL/C) 或 mi_lo_alter() (DAPI)的智能
大对象，而当前该智能大对象的一些实例处于打开状态。

在改变带有 ifx_lo_alter()(ESQL/C) 或 mi_lo_alter()的缓冲区模式之前，
先关闭智能大对象所有打开的实例。






-12112	智能大对象：不允许从使用缓冲区到 light IO 的转换。

用户试图将智能大对象的缓冲区模式从带缓冲的I/O 转换到轻 I/O。

当前不允许此类型的转换。






-12111	智能大对象：试图写入一个智能大对象而不关闭 light IO扫描。

用户试图写入一个当前为轻 I/O 扫描打开的智能大对象。

在写入智能大对象前，关闭打开的智能大对象，然后再次将其打开（没有轻 I/O）。






-12110	智能大对象：无法找到合适的大小范围。

服务器无法为智能大对象找到合适的大小范围。写入请求可能无法完成。

删除一些智能大对象或添加一个大块到 sbspace。






-12109	智能大对象：转换失败。

在服务器的转换/反转期间，sbspace的转换/反转失败。

您的智能 blob 空间可能在转换前已经损坏。

在转换前运行所有 sbspace 上的 oncheck -cS 和 oncheck -ce。如果
sbspace 已损坏，转换前您可能需要从备份中恢复sbspace。






-12108	智能大对象：未知的版本。

服务器在智能大对象 metadata 转换时遇到了一个未知的版本。请确保转换/反转到一个
支持的服务器版本。






-12106	智能大对象：无法找到针对事务的删除 Q。

这是内部错误。

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12105	智能大对象：试图改变sbspace 名称。

在变更操作中，试图改变智能大对象的 sbspace 名称。您不能用变更操作改变
sbspace 名称。

重新运行在 LO 说明结构中带有 MULL sbspace 名称的变更操作，或者重新运行
带有智能大对象当前驻留的sbspace 名称的变更操作。






-12104	智能大对象：遇到不一致的 LO 映射。

请联系 IBM 技术支持。



-12103	智能大对象：试图将一个非 sbspace 打开为一个 sbspace。

smartblob 子系统检测到试图去打开一个智能大对象空间，而该指定的空间实为
一个 dbspace 或 blobspace。应用程序可能正试图在一个不是智能大对象空间的空间
使用智能大对象空间应用程序界面。确认您只在智能大对象空间，并只对智能大对象
使用智能大对象命令和界面。该智能大对象 API 不能用于 TEXT 和 BYTE 数据类型。






-12102	智能大对象：对智能大对象输入了一个坏的 Meta 数据区。

在建立一个 smartblob sbspace 时，该 metadata 区收到了一个坏值。用正确的 
metadata 大小执行重新建立命令。

  0 <= metadata 区大小 < 大块大小






-12101	智能大对象：为平均智能大对象尺寸输入了无效值。

在创建 smartblob 空间时，您给 avg_lo_size 输入了
一个无效值，以 kb 为单位。重新执行创建命令，设
定一个正确的平均智能大对象大小，以 kb 为单位。

 0 <= 智能大对象 < 2 TB






-12100	智能大对象：对智能大对象的 sbpage 单位输入了一个坏值。

该页单位必须在 1 和最大异步输入/输出大小之间。用正确的页单位重新执行
建立命令。






-12099	智能大对象：档案管理器找到一个带有已破坏标题的智能大对象。

档案管理器检测到一个智能大对象，它缺少范围映射插槽或标题插槽。
归档过程被损坏。






-12098	智能大对象：智能大对象空间已损坏。

如果这个有关访问序列的内部错误代码重复出现，请记下所有情况并联系 IBM 技术支持
。



-12097	智能大对象：智能大对象地址或标识无效。

该错误消息的最可能原因是所使用的智能大对象引用包含过时的信息。客户机应用程序可能将无效的智能大对象引用传递给了服务器：例如，对应用程序在当前引用尝试之前删除的智
能大对象的引用。如果智能大对象被删除后又在其位置创建了新的智能大对象，那么对旧对象的引用不再有效，因为即使新对象存储在相同物理位置，其标识也是不同的
。



-12096	智能大对象：变更：新的大小限制 < 智能大对象的字节数。

应用程序员对大小极限指定了一个无效的值。该值必须大于或等于智能大对象
的当前字节数。如果新的大小限制小于智能大对象的当前字节数，不要在
 header 中改变该值。






-12095	智能大对象：建立：无效的 Ext. 大小(<number_of_kilobytes>)
	Ext. 大小< -1或 > MAXINT

应用程序员对智能大对象中的估计字节数指定了一个无效的值。如果智能大对象的范
围大小越界，可将估计的范围大小设为 -1，或调用 ifx_lo_def_create_spec 或等
价的 mi 函数，然后不要再管该显示字段。






-12094	智能大对象：临时分区页面号不正确。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12093	智能大对象：创建 mutex 的档案失败且被中止。

系统内存可能不足。






-12092	智能大对象：sbspace 存在但现已退出。

数据库服务器或数据库管理员使智能大对象空间退出。请查看数据库服务器日志
以确定为什么该 sbspace 退出。您可能需要 sbspace。






-12091	智能大对象：内存中的 sbspace 表不存在。

数据库服务器初始化错误。






-12090	智能大对象：建立：无效的字段参数。

数据库服务器已收到一个智能大对象的建立说明，其字段部分有无效的值。
应用程序员忘记调用 fx_lo_def_create_spec 函数或有建立说明的 mi 
等价函数，或该建立说明的数据结构已损坏。






-12089	智能大对象：建立：smart 大对象的大小限制 < -1。

应用程序员对智能大对象的大小限制指定了一个无效的值。如果智能大对象的字节数
未知，可将估计字节数显示字段设置为 -1，或调用 ifx_lo_def_create_spec 或等
价的 mi 函数，然后不要再管该显示字段。






-12088	智能大对象：建立：估计的字节数 < -1。

应用程序员对智能大对象中的估计字节数指定了一个无效的值。如果智能大对象的字
节数未知，可将估计字节数的显示字段设置为 -1，或调用 ifx_lo_def_create_spec 
或等价的 mi 函数，然后不要再管该显示字段。






-12087	智能大对象：更改：尝试在 sb_alter 中更改智能大对象的物理特征
。

数据库管理员尝试对 smart-large-object 列执行更改操作，该操作需要物理重组或重新定位智能大对象
。

不要尝试物理重组智能大对象。作为物理重组的替代方法，可以尝试使用 LOCopy 函数将智能大对象复制到具有不同物理属性的新位置
。



-12086	智能大对象：打开：在智能大对象打开时侦测到无效的打开标志。

程序员已经输入了冲突的智能大对象打开标志。例如，不能同时设置 LO_LOG 和 
LO_NOLOG。检查打开标志设置确认没有设置冲突的标志。并确认智能大对象
打开标志的显示字段已初始化。






-12085	智能大对象：恢复: 未找到本大块的 SB_ARC_END_DESC 记录。

档案磁带由于用户错误或数据库服务器故障被损坏。确认档案文件没有由于用户
错误被损坏。如果档案文件是完整的，则为数据库服务器故障。您可以尝试建立
另一个相同的 sbspace 档案，也可以从将被归档的空间列表中取消 sbspace 
，并尝试归档到剩余空间中去。






-12084	智能大对象：恢复：NULL 控制信息 block ptr；归档记录次序错误

档案磁带由于用户错误或数据库服务器故障被损坏。确认档案文件没有由于
用户错误被损坏。如果档案文件是完整的，则为数据库服务器故障。您可以
尝试建立另一个相同的 sbspace 档案，也可以从将被归档的空间列表中取消
 sbspace，并尝试归档到剩余空间中去。






-12083	智能大对象：恢复：在 SB_ARC_CHUNK_RECS 记录之前找到 END_DESC 记录。

档案磁带由于用户错误或数据库服务器故障被损坏。确认档案文件没有由于
用户错误被损坏。如果档案文件是完整的，则为数据库服务器故障。您可以
尝试建立另一个相同的 sbspace 档案，也可以从将被归档的空间列表中取消
 sbspace，并尝试归档到剩余空间中去。






-12082	智能大对象：归档：遇到无效状态。

智能大对象归档程序遭遇到一个序列之外的档案记录。确认该档案文件没有被用户
错误毁损。如果档案文件是完整的，则数据库服务器出现故障。您可以尝试建立另
一个相同的 sbspace 档案，也可以从将被归档的空间列表中取消 sbspace ，并尝
试归档到剩余空间中去。






-12081	智能大对象：归档：在 arc 中非法的控制页类型。

档案磁带由于用户错误或数据库服务器故障被损坏。确认档案文件没有由于
用户错误被损坏。如果档案文件是完整的，则为数据库服务器故障。您可以
尝试建立另一个相同的 sbspace 档案，也可以从将被归档的空间列表中取消
 sbspace，并尝试归档到剩余空间中去。






-12080	智能大对象归档：页面位于用户数据区之外。

尝试归档用户数据区之外的页面。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12079	智能大对象：零引用计数不能减少。

智能大对象的引用计数已经为零。减少引用计数使之小于零的试图被忽略。






-12078	智能大对象归档：不合法的归档指定级。

您指定了一个不合法的归档级。必须指定0、1、或 2 的归档级。






-12077	智能大对象归档：非期望的退出条件。

归档期间，数据库服务器侦测到期望从大块读取的页数，不是实际可读取的页数。
请重新开始该归档。






-12076	智能大对象归档：无法创建归档空间表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12075	智能大对象归档：无法删除归档记录表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12074	智能大对象：Free extension list 溢出。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12073	智能大对象：归档：档案已在 sbspace 上作用。

在相同的 sbspace 中已有另一个档案在运行。确认您没有在相同的智能大对象
空间中运行另一个档案。在 sbspace 中同时只允许一个档案操作。






-12072	智能大对象：没有执行。

一个没有执行的智能大对象特性被访问。等到下一个发布才行。






-12071	智能大对象归档：在恢复时，页写入失败。

在恢复档案时，对大块的页写入操作失败。确认该设备可存取。






-12070	智能大对象归档：不能从临时分区读 pre-image 页。

试图在归档时读取 pre-image 页失败。确认临时分区所在的 dbspace 可存取。






-12069	智能大对象归档：不能将 pre-image 页写入临时分区。

试图在归档时写入 pre-image 页失败。确认临时分区所在的 dbspace 可存取。






-12068	智能大对象：归档：不能在归档时取消 pre-image 临时分区。

试图取消 pre-image 临时分区失败。确认临时分区所在的 dbspace 可存取。






-12067	智能大对象归档：不能扩展 pre-image 临时分区。

试图在归档失败时扩展临时分区。

确认临时分区所在的 dbspace 未满并可存取。






-12066	智能大对象归档：不能建立 pre-image 临时分区。

试图在归档失败时建立临时分区。

确认临时分区所在的 dbspace 未满并可存取。






-12065	智能大对象：无法更新优化数据。

优化数据不能被放入 sbspace 说明输入中。






-12064	智能大对象：无法更新 SB_LOMAP_SLOT。

无法更新智能大对象的范围映射。






-12063	智能大对象：无法更新 SB_LOHD_SLOT。

无法读取用于智能大对象的标题页。
无法更新用于智能大对象的标题页。






-12062	智能大对象：错误在用户数据可用列表中。

用户数据可用列表无法操作。






-12061	智能大对象：无法读取用户数据。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12060	智能大对象：不能读 SB_LOMAP_SLOT。

数据库服务器不能读取智能大对象的范围映射。

检查智能大对象空间是否损坏或大块不能被访问。






-12059	智能大对象：在读取智能大对象标题时打开失败。

可能你试图打开一个不存在的或已被删除的智能大对象。

请确认系统没有因为零的参考计数，而搜集智能大对象中不可读取的数据。
再次确认智能大对象句柄没有损坏。






-12058	智能大对象：不能读取大块的附加输入。

smart 大对象空间损坏或退出。

如果是退出，执行使它返回联机所需的动作。






-12057	智能大对象：不能打开 sbspace 描述分区。

智能大对象空间可能被退出，或试图打开一个本应是智能大对象而实际不是智能大
对象的空间。

请确认第一个智能大对象空间大块是打开的。并确认应用程序没有试图对 
智能大对象空间执行 dbspace 或 blobspace (文本/字节类型) 操作。






-12056	智能大对象：无法打开智能大对象空间。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12055	智能大对象：不能打开智能大对象标题分区。

大块可能被退出。

确认 smart 大对象空间大块是打开的。






-12054	智能大对象：不能打开大块 adj 分区。

大块可能被退出。

确认 smart 大对象空间大块是打开的。






-12053	智能大对象：没有指定的 sbspace 编号。

没有找到缺省的 sbspace，调用者也没有指定使用的一个 sbspace。

请在智能大对象函数调用中指定智能大对象空间名，或将
 SBSPACENAME onconfig 文件参数设置为有效的智能大对象空间名。






-12052	智能大对象：智能大对象没有针对写入打开。

您试图写入一个智能大对象，而该对象并没有针对写入打开。改变智能大对象应用程
序使它可以打开智能大对象以便写入。






-12051	智能大对象：智能大对象没有针对读取打开。

您图读取一个智能大对象，而该对象没有针对读取打开。

改变智能大对象应用程序以读取方式打开智能大对象。






-12050	智能大对象：dbm_bfget：无法获取内存缓冲区。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12049	智能大对象：没有内存。

在智能大对象操作时，系统内存溢出。

增加更多的虚拟内存或确定内存溢出的原因。






-12048	智能大对象：唯一的 ID 不匹配。智能大对象可能已删除。

智能大对象指针对应的智能大对象已被删除。

确认智能大对象指针有效，并且智能大对象没有删除。如果您保留智能
大对象句柄，智能大对象对应的计数必须大于0，或数据库服务
器在会话结束时删除了智能大对象。






-12047	智能大对象：sb_lo_map_offs 失败。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12046	智能大对象：无法进入临界区。

调用 isenter() 失败。

请联系 IBM 技术支持。



-12045	智能大对象：无效的登录方式组合。

智能大对象创建说明包含相冲突的登录方式显示字段标志。改变智能大对象应用程
序，使智能大对象创建说明中指定的登录方式不多于一种。在使用创建说明之前，
确信已经使用 GBasedbt 提供的函数将创建说明初始化为正确的缺省值。






-12044	智能大对象：无效的完整性类型标志组合。

智能大对象创建说明包含完整性显示字段相冲突的标志。改变智能大对象应用程序，
使智能大对象创建说明中完整性标志设置不多于一个。






-12043	智能大对象：无效的创建标志。

智能大对象创建说明包含互不相容的标志。修正智能大对象应用程序中的创建说明标
志，使标志之间不冲突。在使用创建说明之前，确认已经使用 GBasedbt 提供的函数
将创建说明初始化为适当的缺省值。






-12042	智能大对象：页尺寸太大。

在 sbspace 创建操作中，指定的页尺寸太大。指定的页尺寸小于依平台而定的
异步输入/输出的最大值，或大于子系统智能大对象页尺寸极限。






-12041	智能大对象：智能大对象或缓冲区的大小太大。

写入或截断操作之后的大小超出了智能大对象的最大尺寸极限。系统不允许智能大对象
大小超出应用设定的最大字节数。这个大小极限是由 CREATE 或 ALTER 语句为智能
大对象设置的。






-12040	智能大对象：大小无效的截断值。

提供的智能大对象截断操作新大小参数无效。新大小参数可能小于 0。改正智能大对
象应用程序。






-12039	智能大对象：无效的查找 whence 值。

智能大对象查找的 whence 参数或输入/输出操作包含无效值。设置 whence 参数
为正确值。






-12038	智能大对象：无效的存取时间标志组合。

在智能大对象的 CREATE或ALTER 操作中，创建说明指定了一个与存取时间标志相冲
突的值。改正智能大对象应用程序。确认您在为智能大对象子系统提供值之前，创建
说明设置为缺省的 NULL 值。使用 ifx_lo。






-12037	智能大对象：无效的查找位置。

在智能大对象读取或写入操作中，查找位置包含无效值。该值可能小于 0。改正 
智能大对象应用程序以指定一个有效的读取/写入起始位置。






-12036	智能大对象：无效的 sbspace名。

在智能大对象创建操作时，创建说明中指定了不存在的智能大对象空间名。

使用 onspaces -c -S 命令创建指定的智能大对象空间或确认创建说明使用了
正确的 sbspace 名。






-12035	智能大对象：锁定类型无效。

在以只读模式打开智能大对象后，您可以忽略无效的锁定类型，也可以排它地
锁定一个字节范围。

检查以上两种情况，并使用有效的锁定类型。






-12034	智能大对象：无效的缓冲区大小。

智能大对象读取或写入要求指定了无效的输入输出缓冲区长度。长度可能小于 0。
改正智能大对象应用程序。






-12033	智能大对象：不能插入 SB_LOHD_SLOT。

您不能将智能大对象标题页插入智能大对象标题分区中。在有 metadata 区
的智能大对象空间中增加大块。






-12032	智能大对象：表已满。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12031	智能大对象：Sbspace 已满。

用户数据区没有足够写要求的存储空间。删除一些智能大对象或在 sbspace 中
增加大块。






-12030	智能大对象：无法释放内存缓冲区。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12029	智能大对象：无法删除 SB_USERDATA_SLOT。

无法删除用户数据槽。首先请确保该块是可访问的。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12028	智能大对象：无法删除 SB_LOMAP_SLOT。

您不能删除智能大对象的扩展数据块映像。请确保该块是可访问的。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12027	智能大对象：不能删除 SB_LOHD_SLOT。

不能删除智能大对象中的 LO 标题页。大块或 sbspace 不可存取或 LO 地址
无效。确认大块是可存取的。确认智能大对象地址仍有效，也就是说，智能
大对象没有被取消。






-12026	智能大对象：无法删除智能大对象。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12025	智能大对象：大块不是空的。

试图取消仍包含数据的智能大对象大块。该大块没有被取消。为了确认您想取消的
大块是空的，可删除包含指向大块中智能大对象指针的行或取消行中智能大对象指针。






-12024	智能大对象：已从智能大对象空间删除块。

您尝试引用正从智能大对象空间删除的块。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12023	智能大对象：大块的尺寸太小。

智能大对象大块小于要求的最小值。在 onspaces 命令行中增加大块尺寸。
检查您使用的是正确单位。






-12022	智能大对象：块 adjtab 中存在重复的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12021	智能大对象：不允许存在重复的键。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12020	智能大对象：无法对表项解锁。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12019	智能大对象：无法在归档空间表中找到项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12018	智能大对象：无法在 arcrec 表中找到项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12017	智能大对象：无法在 chunkadj 表中找到项。

这是内部错误。

如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-12016	智能大对象：在 sbspace 表中没有找到输入。

Sbspace 可能不存在或指针无效。






-12015	智能大对象：无法在 lohd 表中找到项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12014	智能大对象：在 lofd 表中没有找到输入。

试图使用一个无效的 LO 文件描述符访问智能大对象。

检查您提供的LO 文件描述符是否正确，以及智能大对象仍是打开的。






-12013	智能大对象：无法删除 arcspace 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12012	智能大对象：无法删除 arcrec 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12011	智能大对象：无法删除 chunkadj 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12010	智能大对象：无法删除 sbspace 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12009	智能大对象：无法删除 lohd 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12008	智能大对象：无法删除 lofd 表中的项。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12007	智能大对象：无法将智能大对象添加到删除 Q。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12006	智能大对象：无法将智能大对象添加到截断 Q。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12005	智能大对象：无法将项添加到 arcspace 表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12004	智能大对象：无法将项添加到 arcreg 表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12003	智能大对象：无法增加输入到 chunkadj 表。

表中可能有带有此号码的大块。






-12002	智能大对象：无法增加输入到 sbspace 表。

表中可能已经有 Sbspace 输入。






-12001	智能大对象：无法将项添加到 lohd 表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-12000	智能大对象：无法将项添加到 lofd 表。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-11420	MSDTC 事务不再处于活动状态。

MSDTC 事务不再处于活动状态。此问题可能是由应用程序或 MSDTC 配置中较短的事务超时造成的
。



-11419	无法通过 MSDTC 登记连接。

由于分布式事务已落实或由事务管理器中止，因此无法通过 MSDTC 登记连接。此问题可能是由应用程序或 MSDTC 配置中较短的事务超时造成的
。



-11418	找不到语言环境。

在客户机上找不到显示的语言环境和代码集。使用这些语言环境/代码集将导致“-23101 无法装入语言环境类别”错误消息。请安装语言环境
。



-11417	选定的语言环境/代码集将导致性能下降。

选定的语言环境/代码集将导致性能下降。要获取最佳性能，请使用相同客户机和数据库语言环境
。



-11413	未能连接到服务器。

数据库服务器可能已关闭。如果是，请将其重新启动。



-11412	恢复失败。

请向 IBM 技术支持报告该错误。



-11411	落实失败。

请向 IBM 技术支持报告该错误。



-11410	准备失败。

请向 IBM 技术支持报告该错误。



-11405	无法获取资源管理器对象。

请向 IBM 技术支持报告该错误。



-11403	DTC 事务需要 DSN。

请向 IBM 技术支持报告该错误。



-11302	提供的连接信息不充分。

该 GBase  CLI 错误代码是对 SQLSTATE 值 S1000 的扩展消息。可生成该错误的 GBase  CLI 函数：
SQLConnect 和 SQLDriverConnect。

检查传递到 SQLDriverConnect 的连接字符串以获取准确信息，或检查 DSN 条目。您必须提供必需值才能连接
。



-11094	达到超时。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1T00 相同。下列函数可以返回
这个错误：SQLBrowseConnect()，SQLColAttributes()，SQLColumnPrivileges()，
SQLColumns()，SQLConnect()，SQLDescribeCol()，SQLDriverConnect()，
SQLExecDirect()，SQLExecute(),SQLExtendedFetch()，SQLFetch()，
SQLForeignKeys()，SQLGetData(),SQLGetInfo()，SQLGetTypeInfo()，
SQLMoreResults()，SQLNumParams(),SQLNumResultCols()，SQLParamData()，
SQLPrepare()，SQLPrimaryKeys(),SQLProcedureColumns()，SQLProcedures()，
SQLPutData()，SQLSpecialColumns(),SQLStatistics()，SQLTablePrivileges()，
和 SQLTables()。

对于 SQLBrowseConnect()，SQLConnect() 和 SQLDriverConnect()，是因为在函数
完成与数据源的连接之前达到超时期。请调用 SQLSetConnectOption() 来改变 
SQL_LOGIN_TIMEOUT。

对于其他函数，是因为在数据源处理信息之前达到超时期并且，如果必要的话，
返回一个结果集合和请求的信息。请调用 SQLSetConnectOption() 来改变 
SQL_QUERY_TIMEOUT。




-11092	驱动程序失效。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1C00 相同。下列函数可以返回这个
错误代码：

SQLBindCol()，SQLBindParameter()，SQLColAttributes()，SQLColumnPrivileges(),
SQLColumns()，SQLExecDirect()，SQLExecute()，SQLExtendedFetch()，SQLFetch(),
SQLForeignKeys()，SQLGetConnectOption()，SQLGetData()，SQLGetInfo(),
SQLGetStmtOption()，SQLGetTypeInfo()，SQLPrepare()，SQLPrimaryKeys(),
SQLProcedureColumns()，SQLProcedures()，SQLSetConnectOption(),
SQLSetScrollOptions()，SQLSetStmtOption()，SQLSpecialColumns(),
SQLStatistics()，SQLTablePrivileges()，SQLTables()，and SQLTransact()。

对于 SQLBindCol()，是因为数据源不支持 GBasedbt CLI C 数据类型（fCType）参数，
或者 icol 值为 0。请将 GBasedbt CLI C 数据类型设置为一个数据源支持的值，以及
将 icol 设置为一个有效值。

对于 SQLBindParameter()，SQLExtendedFetch()，SQLFetch() 和 SQLGetData()，是
因为发生了下列问题：(1)不可能将结果数据（与 GBasedbt CLI C 数据类型（fCType）
参数有关的数据值）转换为参数（与 GBasedbt CLI SQL 数据类型（fSqlType）参数有
关的数据值）的数据类型，或
(2) 数据源不支持 GBasedbt CLI SQL 数据类型或
(3) 数据源不支持取得类型。请将 GBasedbt CLI C
和 SQL 数据类型重新设置，使其可以将结果数据转换为参数的数据类型；并将 
GBasedbt CLI SQL 数据类型和取得履行设置为数据源支持的类型。

对于 SQLColAttributes()，是因为 fDescType 值不是有效的描述符类型。请使用
有效的 fDescType 值。

对于 SQLColumnPrivileges()，SQLColumns()，SQLExecDirect()，SQLExecute(),
SQLForeignKeys()，SQLPrepare()，SQLPrimaryKeys()，SQLProcedureColumns(),
SQLProcedures()，SQLSpecialColumns()，SQLStatistics()，SQLTables() 和
SQLTablePrivileges()，是因为发生了下列问题：(1)用户为过程或表定义了一个限定，
但是数据源不支持限定，或者(2)用户为过程或表指定了一个所有者，但是数据源不支
持所有者，或者(3)用户为过程所有者、过程名称字段名称指定了一个字符串搜索式样，
但是数据源不支持该参数的搜索式样，或者(4)SQL_CONCURRENCY 值与 SQL_CURSOR_TYPE 
值的结合是无效的。不要为一个数据源设置它不支持的限定、所有者和搜索式样，设置并
发和游标类型以便使值的结合有效。

对于 SQLGetConnectOption()，SQLGetStmtOption()，SQLSetConnectOption() 和
SQLSetStmtOption()，是因为 fOption 值是一个无效的值。请将 fOption
设置为有效值。

另外，对于 SQLGetData()，是因为数据源不支持 SQLExtendedFetch() 中带有多行的
SQLGetData() 使用，以及 icol 值为 0 的情况。
只有数据源支持这个任务时，才能使用在 SQLExtendedFetch() 带有多行的 
SQLGetData()，并且不要将 icol 设置为 0。

对于 SQLGetInfo()，是因为 fInfoType 值是一个无效的信息类型。请将
fInfoType 设置为有效值。

对于 SQLGetTypeInfo()，是因为数据源不支持 GBasedbt CLI SQL
数据类型（fSqlType）参数），或 SQL_CONCURRENCY
值与 SQL_CURSOR_TYPE 值的结合是无效的。请将 GBasedbt CLI SQL
数据类型设置为数据源支持的值，并设置并发和游标类型值以便使值的结合有效。

对于 SQLTransact()，是因为数据源不支持 ROLLBACK 操作。必要将 fType 设置为
 SQL_ROLLBACK。




-11090	无效的驱动程序完成。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1110 相同。以下函数可以返回
这个错误代码：SQLDriverConnect().

fDriverCompletion 值无效。请将 fDriverCompletion 设置为有效值。




-11088	并发选项越界。

为 fConcurrency 参数指定的值不等于SQL_CONCUR_READ_ONLY，
SQL_CONCUR_LOCK，SQL_CONCUR_ROWVER 或SQL_CONCUR_VALUES。请检查 SQL 语句
是否使用以上某个可被 fConcurrency 参数接受的值。




-11086	获得类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1106 相同。下列函数可以返回这
个错误代码：SQLExtendedFetch()。

可能是因为出现了下列某个问题：(1) fFetchType 参数不是一个有效的获得类型，
或(2) SQL_CURSOR_TYPE 虽然是 SQL_CURSOR_FORWARD_ONLY，但fFetchType
不是 SQL_FETCH_NEXT。请将 fFetchType 设置为一个与游标类型相对应的有效值。




-11085	无效的参数类型。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1105 相同。下列函数可以返回这个
错误代码：SQLBindParameter()。

可能是因为出现了下列某个问题：(1) fParamType 参数不是一个有效的参数类型，
或(2) fParamType 虽然是 SQL_PARAM_OUTPUT 但参数表示一个输出参数，或(3) 
fParamType 是 SQL_PARAM_INPUT，参数是一个输出参数。请将 fParamType 设置为
一个与参数类型相对应的有效值。




-11084	无效的精度值。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1104 相同。下列函数可以返回这
个错误代码：SQLBindParameter()。

cbColDef 值对于 GBasedbt CLI SQL 数据类型（fSqlType）参数是无效的。请将
 cbColDef 设置为一个有效的类型。




-11083	方向选项越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1103 相同。下列函数可以返回这个
错误代码：SQLDataSources() 和SQLDrivers()。

fDirection 值是一个无效的方向值。请将 fDirection 设置为一个有效的值。




-11082	准确度选项类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1101 相同。下列函数可以返回
这个错误代码：SQLStatistics()。

fAccuracy 值无效。请将 fAccuracy 设置为一个有效的值。




-11081	唯一性选项类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1100 相同。下列函数可以返回
这个错误代码：SQLStatistics()。

fUnique 值不是一个有效的索引类型。请将 fUnique 设置为一个有效的值。




-11080	Nullable 类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1099 相同。下列函数可以返回
这个错误代码：SQLSpecialColumns()。

fNullable 值无效。请将 fNullable 设置为一个有效的值。




-11079	范围类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1098 相同。下列函数可以返回这
个错误代码：SQLSpecialColumns()。

fScope 值不是一个有效的范围值。请将 fScope 设置为一个有效的值。




-11078	字段类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1097 相同。下列函数可以返回
这个错误代码：SQLSpecialColumns()。

fColType 值不是一个有效的字段类型。请将 fColType 设置为一个有效的值。




-11077	信息类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1096 相同。下列函数可以返回这
个错误代码：SQLGetInfo()。

fOption 值不是一个有效的选项值。请将 fOption 设置为一个有效的值。




-11076	函数类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1095 相同。下列函数可以
返回这个错误代码：SQLGetFunctions()。

fFunction 值不是一个有效的函数值。请将 fFunction 设置为一个有效的值。




-11075	无效的比例值。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1094 相同。下列函数可以返回这
个错误代码：SQLBindParameter()。

ibScale 值对于 GBasedbt CLI SQL 数据类型（fSqlType）参数无效。请将 ibScale 
设置为一个有效的值。




-11074	无效的参数编号。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1093 相同。下列函数可以返回这
个错误代码：SQLBindParameter()。

ipar 值小于 1，或是 ipar 值超过了数据源支持的参数最大编号。请将 ipar 设置
为一个有效的值。




-11073	选项类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1092 相同。下列函数可以返回这个
错误代码：SQLFreeStmt()，SQLGetConnectOption()，
SQLGetStmtOption()，SQLSetConnectOption() 和SQLSetStmtOption()。

fOption 参数不是一个有效的选项值。请将 fOption 设置为一个有效的值。




-11072	描述符类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1091 相同。下列函数可以返回
这个错误代码：SQLColAttributes()。

fDescType 参数不是一个有效的描述符类型。请将 fDescType 设置为一个有效的值。




-11071	无效的字符串或缓冲区长度。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1090 相同。下列函数可以返回
这个错误代码：SQLBindCol(),
SQLBindParameter()，SQLBrowseConnect()，SQLColAttributes(),
SQLColumnPrivileges()，SQLColumns()，SQLConnect()，SQLDataSources(),
SQLDescribeCol()，SQLDriverConnect()，SQLDrivers()，SQLExecDirect(),
SQLExecute()，SQLForeignKeys()，SQLGetCursorName()，SQLGetData(),
SQLGetInfo()，SQLNativeSql()，SQLPrepare()，SQLPrimaryKeys(),
SQLProcedureColumns()，SQLProcedures()，SQLPutData()，SQLSetCursorName(),
SQLSpecialColumns()，SQLStatistics()，SQLTablePrivileges() 和 SQLTables()。

对于所有函数，是因为指定一个字符串或缓冲区长度的参数，例如：cbCursor，
cbConnStrIn，或 cbSqlStr，出现了下列某个问题：(1)它小于 0，(2)它虽然小于 0，
但是不等于 SQL_NTS 或 SQL_NULL_DATA，(3)它虽然小于 0，但是相应的指针不是一个
 null 指针，(4) 它等于 1，或(5)它太大了。请将这个字符串或缓冲区长度设置为一
个有效的值。

另外，对于 SQLExecDirect() 和 SQLExecute()，是因为一个与 SQLBindParameter() 
一起设置的参数出现了下列某个问题：(1)它是一个 null 指针，并且 参数长度不为 0，
 SQL_NULL_DATA，SQL_DATA_AT_EXEC 或者小于等于 SQL_LEN_DATA_AT_EXEC_OFFSET， 
或(2)它不是一个 null 指针，并且参数长度虽然小于 0，但不是 SQL_NTS，
SQL_NULL_DATA，SQL_DATA_AT_EXEC，或者小于等于SQL_LEN_EXEC_DATA_AT_EXEC_OFFSET。
请将这个参数值设置为一个有效的值。




-11070	没有可用的游标名称。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1015 相同。下列函数可以返回
这个错误代码：SQLGetCursorName()。

语句句柄不含有一个 open 游标，而且以前也没有调用过SQLSetCursorName() 
来设置一个游标名称。打开一个游标或设置一个游标名称。




-11069	指定的事务操作代码无效。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1012 相同。下列函数可以返回
这个错误代码：SQLTransact()。

fType 值既不是 SQL_COMMIT 也不是 SQL_ROLLBACK。请将 fType 设置为
SQL_COMMIT 或 SQL_ROLLBACK。




-11067	函数序列错误。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1010 相同。下列函数可以返回
这个错误代码：SQLBindCol()，SQLBindParameter()，SQLColAttributes()，
SQLColumnPrivilages()，SQLColumns(),SQLDescribeCol()，SQLDisconnect()，
SQLExecDirect()，SQLExecute(),SQLExtendedFetch()，SQLFetch()，
SQLFreeConnect()，SQLFreeEnv()，SQLFreeStmt(),SQLForeignKeys()，
SQLGetConnectOption()，SQLGetCursorName()，SQLGetData(),SQLGetFunctions()，
SQLGetStmtOption()，SQLGetTypeInfo()，SQLMoreResults(),SQLNumParams()，
SQLNumResultCols()，SQLParamData()，SQLPrepare(),SQLPrimaryKeys()，
SQLProcedureColumns()，SQLProcedures()，SQLPutData(),SQLRowCount()，
SQLSetConnectOption()，SQLSetCursorName()，SQLSetStmtOption(),
SQLSpecialColumns()，SQLStatistics()，SQLTablePrivileges()，SQLTables() 
和 SQLTransact()。

对于 SQLBindCol()，SQLBindParameter()，SQLColAttributes(),
SQLColumnPrivilages()，SQLColumns()，SQLDescribeCol()，SQLDisconnect(),
SQLExecDirect()，SQLExecute()，SQLExtendedFetch()，SQLFetch()，SQLFreeStmt(),
SQLForeignKeys()，SQLGetCursorName()，SQLGetData()，SQLGetStmtOption(),
SQLGetTypeInfo()，SQLMoreResults()，SQLNumParams()，SQLNumResultCols(),
SQLPrepare()，SQLPrimaryKeys()，SQLProcedureColumns()，SQLProcedures(),
SQLRowCount()，SQLSetConnectOption()，SQLSetCursorName()，SQLSetStmtOption(),
SQLSpecialColumns()，SQLStatistics()，SQLTablePrivileges()，SQLTables() 和
SQLTransact()，是因为 GBasedbt CLI 为语句句柄调用了 SQLExecute()，
SQLExecDirect() 或 SQLSetPos() 并且返回了 SQL_NEED_DATA，说明用户在为
 data-at-execution 参数或字段发送数据之前对这个函数进行了调用。请等候到为
 data-at-execution 参数或字段发送了数据之后再调用这个函数。

另外，对于 SQLColAttributes()，SQLDescribeCol()，SQLNumParams() 和
SQLNumResultCols()，是因为用户在为语句句柄调用 SQLPrepare()
或 SQLExecDirect 之前调用了这个函数。请勿在调用 SQLPrepare()
或 SQLExecDirect 之前调用这个函数。

另外，对于 SQLExecute()，可能是因为下列某种情况语句句柄没有准备好：(1)语句句柄
没有处于执行状态，(2)用户打开了语句句柄上的一个游标并调用了SQLFetch() 
或 SQLExtendedFetch()，(3)语句句柄虽然处于执行状态，但是没有一个结果集合与之
相关联，或(4)语句句柄虽然处于执行状态，但是用户没有调用 SQLFetch() 或
SQLExtendedFetch()。请确保不要发生以上这些情况。

另外，对于 SQLExtendedFetch()，SQLFetch() 和 SQLGetData()，可能是因为出现了
下列某个问题：(1) 语句句柄没有处于执行状态，因为在调用这个函数之前没有
调用 SQLExecDirect()，SQLExecute() 或一个目录函数，或(2)用户调用这个函数的时
间在调用 SQLFetch() 之后，而且在调用带有 SQL_CLOSE 选项的 SQLFreeStmt() 之前。
请确保不要发生以上这些情况。

对于 SQLFreeConnect()，是因为用户在为连接句柄调用
SQLDisconnect() 之前调用了这个函数。

对于 SQLFreeEnv()，是因为至少有一个连接句柄处于被分配或连接的状态。
请在调用这个函数之前为每个连接句柄调用 SQLDisconnect() 和 SQLFreeConnect()。

对于 SQLGetConnectOption()，SQLGetFunctions()，并且另外对于
SQLSetConnectOption()，是因为 GBasedbt CLI 为连接句柄调用了 SQLBrowseConnect()
并返回了 SQL_NEED_DATA，说明用户在 SQLBrowseConnect() 返回 
SQL_SUCCESS_WITH_INFO 或SQL_SUCCESS 之前调用了这个函数。请等候到
 SQLBrowseConnect() 返回了 SQL_SUCCESS_WITH_INFO 或SQL_SUCCESS 之
后再调用这个函数。

另外，对于 SQLGetFunctions()，是因为用户在调用 SQLConnect()，SQLBrowseConnect()
或 SQLDriverConnect() 之前调用了这个函数，请勿在 SQLConnect()，
SQLBrowseConnect() 或 SQLDriverConnect()之前调用这个函数。

对于 SQLParamData()，是因为前面的函数调用调用了这个函数。请在调用了返回代码
为 SQL_NEED_DATA 的 SQLExecDirect() 或 SQLExecute()，或调用了 SQLPutData() 
之后再调用这个函数。

对于 SQLPutData()，是因为前面的函数调用调用了返回代码为 SQL_NEED_DATA 
的 SQLExecDirect() 或SQLExecute()。请在调用了 SQLParamData() 
或 SQLPutData() 后再调用这个函数。

另外，对于 SQLRowCount()，是因为用户在为语句句柄调用 
SQLExecute() 或 SQLExecDirect() 之前调用这个函数。请勿在
SQLExecute() 或 SQLExecDirect() 之前调用这个函数。




-11066	无效的参数值。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1009 相同。下列函数可以返回
这个错误代码：SQLAllocConnect(),
SQLAllocStmt()，SQLBindParameter()，SQLGetData()，SQLGetInfo(),
SQLExecDirect()，SQLForeignKeys()，SQLNativeSql()，SQLPrepare()，SQLPutData(),
SQLSetConnectOption()，SQLSetCursorName() 和 SQLSetStmtOption()。

对于 SQLAllocConnect()，SQLAllocStmt()，SQLExecDirect()，SQLGetData(),
SQLNativeSql，SQLPrepare() 和 SQLSetCursorName()，是因为指针参数
（phdbc，phstmt，rgbValue，szCursor，szSqlStr，或 szSqlStrIn）是一个 null
 指针。请将指针参数设置为一个 non-null 值。

对于 SQLBindParameter()，是因为 rgbValue 和 pcbValue 为 null 指针，并且
fParamType 不是 SQL_PARAM_OUTPUT。请将 rgbValue 或 pcbValue 设置为一个 non-null
值或将 fParamType 设置为 SQL_PARAM_OUTPUT。

对于 SQLForeignKeys()，是因为 szPkTableName 和 szFkTableName 为 null 指针。
请将szPkTableName 或 szFkTableName 设置为一个 non-null 指针。

对于 SQLGetInfo()，是因为 fInfoType 为 SQL_DRIVER_HSTMT，并且 rgbInfoValue 
没有指向一个有效的语句句柄。请修改 rgbInfoValue，使之指向一个有效的语句句柄。

对于 SQLPutData()，是因为 rgbValue 为一个 null 指针，并且 cbValue 不为 0，
SQL_DEFAULT_PARAM 或 SQL_NULL_DATA。请将 cbValue 改变为 0，SQL_DEFAULT_PARAM
 或 SQL_NULL_DATA。

对于 SQLSetConnectOption() 和 SQLSetStmtOption()，是因为 vParam 对于指定的
 fOption 值是无效的。请将 vParam 改变为一个有效的值。




-11064	SQL 数据类型越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1004 相同。下列函数可以返回
这个错误代码：SQLBindParameter() 和SQLGetTypeInfo()。

GBasedbt CLI SQL 数据类型（fSqlType）参数不是一个有效的 GBasedbt
CLI SQL 数据类型。请将 GBasedbt CLI SQL 数据类型设置为一个有效值。




-11062	无效的字段编号。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1002 相同。下列函数可以返回
这个错误代码：SQLBindCol()、SQLColAttributes()、
SQLDescribeCol()、SQLExtendedFetch()、SQLFetch() 和
SQLGetData()。

对于除 SQLGetData() 以外的所有函数，是因为有一个字段编号为 0，超过了结果
集合中的字段编号，或是超过了数据源支持的字段编号。对于 SQLBindCol()，请确
保字段编号不要超过数据源可以支持的最大字段编号。对于 SQLColAttributes()，
如果字段编号为 0，或是超过了结果集合中的字段编号，请使用一个描述符类型 
SQL_COLUMN_COUNT。对于 SQLDescribeCol() 和 SQLFetch()，请确保字段编号不
为 0，并且没有超过结果集合中的字段编号。对于SQLExtendedFetch()，如果以字
段 0 为界，请将 SQL_USE_BOOKMARKS 设置为 SQL_UB_OFF，并确保界字段编号不要
超过结果集合中的字段编号。

对于 SQLGetData()，是因为发生了下列问题：(1)字段编号为 0，并且用户调用了 
SQLFetch() 来获取数据，或将SQL_USER_BOOKMARKS 设置成了 SQL_UB_OFF，
(2)字段编号超过结果集合中的字段编号，或(3)用户已经为当前行调用了 
SQLGetData()。请确保没有调用 SQLFetch() 或当字段编号为 0 时没有将
SQL_USER_BOOKMARKS 设置成 SQL_UB_OFF，字段编号没有超过结果集合中字段编号，
以及还没有为当前行调用 SQLGetData()。




-11061	内存分配失败。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1001 相同。下列函数可以返回
这个错误代码：all GBasedbt CLI functions
except SQLError()、SQLFreeConnect() 和 SQLFreeEnv()。

GBasedbt CLI 不能为函数执行分配足够的内存。请释放足够的内存，然后重试。




-11060	一般错误。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S1000 相同。




-11058	字段没有找到。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S0022 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLPrepare()。

SQL 语句中虽然包含一个 CREATE INDEX，GRANT，REVOKE，SELECT，DELETE，INSERT，
UPDATE 或 CREATE TABLE 语句，但是有一个或多个字段名称不存在。请使用存在的
字段名称。




-11056	索引没有找到。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S0012 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLPrepare()。

SQL 语句中虽然包含一个 DROP INDEX 语句，但是索引名称不存在。请使用一个已经
存在的索引名称。




-11055	索引已经存在。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S0011 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLPrepare()。

SQL 语句中虽然包含一个 CREATE INDEX 语句，但是索引名称已经存在。请使用一个
不存在的索引名称。




-11054	基表没有找到。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S0002 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLPrepare()。

SQL 语句中虽然包含一个 DROP TABLE，DROP VIEW，ALTER TABLE，CREATE VIEW，
CREATE INDEX，GRANT，REVOKE，SELECT，DELETE，INSERT，UPDATE 或 CREATE TABLE
语句，但是表名称或视图名称不存在。请确保所需要的表视图都已经存在。




-11053	基表或视图已经存在。

这个 GBasedbt CLI 错误代码与 SQLSTATE value S0001 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLPrepare()。

SQL 语句虽然包含一个 CREATE TABLE 或 CREATE VIEW 语句，但是表名称或视图名称
已经存在。请使用一个不存在的表名称或视图名称。




-11051	DRIVER 关键字语法错误。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM012 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect() 和SQLDriverConnect()。

在初始化文件中，设置驱动程序路径的一行语法错误。请更正语法错误。




-11050	驱动程序名称太长。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM011 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect() 和SQLDriverConnect()。

在初始化文件中，驱动程序路径的值太长。改变这个值，使其不要超过最大长度。




-11049	数据源名称太长。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM010 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect() 和SQLDriverConnect()。

初始化文件中的数据源名称太长。改变所有太长的数据源名称。




-11048	无法装入转换共享库 (DLL)。

该 GBase  CLI 错误代码与 SQLSTATE 值 IM009 相同。

以下函数会返回此错误代码：SQLBrowseConnect()、

SQLConnect()、SQLDriverConnect() 和 SQLSetConnectOption()。


驱动程序无法装入为数据源或连接

指定的转换 DLL。请检查 DLL 的名称和路径

是否正确。






-11046	没有指定数据源或驱动程序；对话被禁止。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM007 相同。下列函数可以返回
这个错误代码：SQLDriverConnect()。

虽然连接信息标志，fDriverCompletion，为 SQL_DRIVER_NOPROMPT，但是连接字符串
没有提供足够的信息。请使用另外的值用于连接信息标志或确保连接字符串提供了所有
必需的信息。




-11042	不能加载指定的驱动程序。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM003 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect()，SQLConnect() 和 SQLDriverConnect()。

函数不能找到或不能加载为初始化文件中的数据源指定的驱动程序。请确保存在指定
的驱动程序。




-11041	数据源名称没有找到，并且没有指定默认的驱动程序。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM002 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect()、SQLConnect() 和 SQLDriverConnect()。

是因为发生了下列的问题：(1)函数无法找到初始化文件，或(2)szConnStrn 字符串
指定的数据源在初始化文件中不存在，并且不存在指定的默认驱动程序。请确保存
在初始化文件，并将指定的数据源添加到初始化文件中或创建一个默认的驱动程序指定。




-11040	驱动程序不支持这个函数。

这个 GBasedbt CLI 错误代码与 SQLSTATE value IM001 相同。下列函数可以返回
这个错误代码：除SQLAllocEnv()，SQLDataSources()，SQLDrivers()，SQLError()，
SQLFreeConnect(),SQLFreeEnv() 和 SQLGetFunctions() 以外的所有 ODBC 函数。

GBasedbt CLI 不支持这个函数。请勿调用这个函数。




-11038	语法错误和访问违反。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 42000 相同。下列函数可以返回
这个错误代码：SQLExecDirect()，SQLExecute() 和 SQLPrepare()。

用户没有执行 SQL 语句所必需的权限，或者 SQL 语句没有准备好，或者语句中包含
一个语法错误。如果持续收到这个错误，可能是因为用户应用程序中存在逻辑问题。




-11036	相同的游标名称。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 3C000 相同。下列函数可以返回
这个错误代码：SQLSetCursorName()。

游标名称已经存在。如果要设置一个新的游标名称，请确保新名称还不存在。




-11035	语法错误和访问违反。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 37000 相同。下列函数可以返回
这个错误代码：SQLExecDirect()、SQLNativeSql() 和 SQLPrepare().

SQL 语句没有准备好或包含有一个语法错误。请确保 SQL 语句已准备好，并且没有
任何语法错误。




-11034	无效的游标名称。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 34000 相同。下列函数可以返回
这个错误代码：SQLExecDirect()、SQLPrepare()和 SQLSetCursorName()。

对于 SQLExecDirect() 或 SQLPrepare()，是因为 SQL 语句虽然包含一个定位的
UPDATE 或 DELETE，但是语句参照的游标没有打开。请确保有关
UPDATE 或 DELETE 语句的游标被打开。

对于 SQLSetCursorName()，是因为游标名称无效。例如，它可能超过了最大允许长度。
请确保游标名称是有效的。




-11033	无效的授权说明。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 28000 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect()、SQLConnect() 和 SQLDriverConnect()。

用户 ID 和口令无效。使用有效的用户 ID 和口令。




-11031	无效的游标状态。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 24000 相同。下列函数可以返回
这个错误代码：SQLColAttributes(),
SQLColumnPrivileges()，SQLColumns()，SQLDescribeCol()，SQLExecDirect(),
SQLExecute()，SQLExtendedFetch()，SQLFetch()，SQLForeignKeys()，SQLGetData(),
SQLGetStmtOption()，SQLGetTypeInfo()，SQLPrepare()，SQLPrimaryKeys(),
SQLProcedureColumns()，SQLProcedures()，SQLSetCursorName(),
SQLSetStmtOption()，SQLSpecialColumns()，SQLStatistics(),
SQLTablePrivileges() 和 SQLTables()。

是因为发生了下列问题：

(1) 与语句句柄相关联的语句没有返回一个结果集合，因为没有可描述的字段。请
更改语句使其返回一个结果集合。SQLColAttributes() 和 SQLDescribeCol() 会发
生这个问题。

(2) 用户已经为语句句柄打开了一个游标。请使用已打开的游标。SQLColumnPrivileges(),
SQLColumns()，SQLExecDirect()，SQLExecute()，SQLForeignKeys(),
SQLGetTypeInfo()，SQLPrepare()，SQLPrimaryKeys()，SQLProcedureColumns(),
SQLProcedures()，SQLSpecialColumns()，SQLStatistics()，SQLTablePrivileges(),
和 SQLTables() 会发生这个问题。

(3) 在结果集合开头前或在结果集合结尾后定位了游标。请确保在结果集合内部对游标
进行定位。SQLExecDirect()，SQLExecute()，SQLGetData() 和 SQLGetStmtOption() 会
发生这个问题。

(4) 语句句柄虽然处于执行状态，但没有与语句句柄相关联的结果集合。请确保结果
集合与语句句柄相关联。SQLExtendedFetch()，SQLFetch() 和 SQLGetData() 会发生
这个问题。

(5) 用户虽然为语句句柄打开了一个游标，但是没有调用
SQLFetch() 或 SQLExtendedFetch()。请在为语句句柄打开一个游标后调用 SQLFetch() 
或SQLExtendedFetch()。SQLGetData() 会发生这个问题。

(6) 虽然 fOption 值为 SQL_ROW_NUMBER，但是游标没有打开。请在使用 SQL_ROW_NUMBER
 的 fOption 值之前打开一个游标。SQLGetStmtOption() 会发生这个问题。

(7) 语句句柄已经处于执行状态或定位的游标状态。请勿为已经处于执行状态或定位的游
标状态的语句句柄调用这个函数。SQLSetCursorName() 会发生这个问题。

(8) fOption 值为 SQL_CONCURRENCY，SQL_SIMULATE_CURSOR 或
SQL_CURSOR_TYPE，并且游标处于打开状态。请勿为 fOption 值使用一个打开的
游标。SQLSetStmtOption() 会发生这个问题。




-11027	Datetime 显示字段溢出。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 22008 相同。下列函数可以返回
这个错误代码：SQLExecDirect()，SQLExecute()，SQLExtendedFetch()，SQLFetch()，
SQLGetData() 和 SQLPutData().

对于 SQLExecDirect() 或 SQLExecute()，是因为函数将 SQL_C_DATE 或
SQL_C_TIMESTAMP 值转化为 SQL_CHAR 值，并且结果值不是一个有效的日期或时间戳记。
请更改 SQL_C_DATE 或 SQL_C_TIMESTAMP 值，使其在函数将之转换为 SQL_CHAR 值后仍
为一个有效的日期或时间戳记。

对于 SQLExtendedFetch() 或 SQLFetch()，是因为 SQL 语句或准备好的语句包含一个
无效的日期或时间戳记。请更改语句，使日期和时间戳记为有效值。

对于 SQLGetData() 或 SQLPutData()，是因为函数发送或接收的数据是一个无效的日期
或时间戳记。对于SQLPutData()，请更改日期，使其成为一个有效的日期或时间戳记。




-11026	作业中出错。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 22005 相同。下列函数可以返回
这个错误代码：SQLExecDirect()，SQLExecute(),
SQLExtendedFetch()，SQLFetch()，SQLGetData()，SQLPrepare() 和 SQLPutData()。

对于 SQLExecDirect()，SQLExecute() 或 SQLPrepare()，是因为 SQL 语句或准备好的
语句包含与相关联字段的数据类型不兼容的参数或文字。请更改语句，使每个参数和文字
都与字段的数据类型兼容。

对于 SQLExtendedFetch() 或 SQLFetch()，是因为函数获得了一个与数值数据类型相
连接，长度为 0 的字符串因此函数将这个字符串转换为 0。请更改与这个字符串连接
的参数的数据类型。

对于 SQLGetData() 或 SQLPutData()，是因为字段的数据类型与参数的数据类型不兼容。
请更改参数的数据类型，使其与字段的数据类型兼容。




-11025	数值越界。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 22003 相同。下列函数可以返回
这个错误代码：SQLExecDirect(),
SQLExecute()，SQLExtendedFetch()，SQLFetch()，SQLGetData()，SQLGetInfo(),
和 SQLPutData()。

对于 SQLExecDirect() 和 SQLExecute()，是因为 SQL 语句包含一个太大的数值参数或
文字。因此函数在将这个数分配给相关的字段之前，截断了这个数字的整数（与小数相对）
部分。请更改 SQL 语句，使每个数值都适合于相关联的字段。

对于 SQLExtendedFetch()，SQLFetch() 或 SQLGetData()，是因为结果集合包含一个或多
个字段，这些字段的值对于与其相关联的返回参数来说太大。如果函数以一个数值或字符串
作为返回值，函数将截断这个数字的整数（与小数相对）部分。如果函数以一个二进制值作
为返回值，这个数字将失去二进制意义。请更改返回参数，使每个参数都可容纳结果集合中
相关联的值。

对于 SQLGetInfo()，是因为如果函数返回值，那么请求的信息将会丢失数值的或二进制意
义。请为请求的信息设置一个可以容纳这个信息的存储空间。

对于 SQLPutData()，是因为用户为一个参数或字段多次调用了函数，并发生了下列问
题：(1) 用户调用函数相一个字段发送数据，但是这个字段中没有字符、二进制或
data-source-specific 数据类型，或(2) 函数截断了这个数字的整数（与小数相对）
部分，将之分配给了相关联的字段。只有当字段中含有字符、二进制或
data-source-specific 数据类型时，才调用 SQLPutData()。请更改发送的数据使其
不会超过字段的大小。




-11020	通信链路发生故障。

该 GBase  CLI 错误代码与 SQLSTATE 值 08S01 相同。下列函数可能会返回该错误代码：SQLBrowseConnect()、
SQLColumnPrivileges()、SQLColumns()、SQLConnect()、SQLDriverConnect()、
SQLExecDirect()、SQLExecute()、SQLExtendedFetch()、SQLFetch()、SQLForeignKeys()、
SQLFreeConnect()、SQLGetData()、SQLGetTypeInfo()、SQLParamData()、SQLPrepare()、
SQLPrimaryKeys()、SQLProcedureColumns()、SQLProcedures()、SQLPutData()、
SQLSetConnectOption()、SQLSetStmtOption()、SQLSpecialColumns()、SQLStatistics()、
SQLTablePrivileges() 和 SQLTables()。

在该函数成功完成之前，GBase  CLI 与数据源之间的通信链路发生故障。如果该错误持续存在，请联系 IBM 技术支持
。




-11018	数据源拒绝建立连接。

数据源拒绝建立连接，由于 implementation-defined 的原因。请确认口令和
用户 ID是否正确。




-11017	连接没有打开。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 08003 相同。下列函数可以返回
这个错误代码：SQLAllocStmt(),
SQLDisconnect()，SQLGetConnectOption()，SQLGetInfo()，SQLNativeSql(),
SQLSetConnectOption() 和 SQLTransact()。

对于 SQLGetConnectOption()，SQLSetConnectOption() 或 SQLGetInfo()，是因为
用户虽然使用了需要一个打开连接的 fOption 值或 fInfoType 值，但是
hdbc 连接没有打开。请在为这个特殊的 fOption 值或 fInfoType 值调用这个函数之前，
成功完成并打开一个连接。

对于其他函数，是因为 hdbc 连接没有打开。请在调用这个函数之前成功完成并
打开一个连接。




-11016	连接正在使用中。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 08002 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect(),
SQLConnect()，SQLDriverConnect() 和 SQLSetConnectOption()。

对于 SQLSetConnectOption()，是因为用户虽然将 fOption 值设置为 
SQL_ODBC_CURSORS，但是 GBasedbt CLI 已经连接到数据源上。请使用
 SQL_ODBC_CURSORS 以外的 fOption 值。

对于其他函数，是因为用户已经为连接句柄建立并打开了一个连接。请使用已经建立的
连接或断开连接，然后重新连接。




-11015	无法连接到数据源。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 08001 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect(),SQLConnect() 和 SQLDriverConnect()。

函数无法与数据源建立连接。请确保数据源是可用的。




-11013	违反限制数据类型属性。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 07006 相同。下列函数可以
返回这个错误代码：SQLBindParameter(),SQLExtendedFetch()，SQLFetch() 
和 SQLGetData()。

对于 SQLBindParameter()，是因为无法将结果数据（与 GBasedbt CLI C 数据类型
（fCType）参数相关联的数据值）转换为参数的数据类型（与GBasedbt CLI SQL 
数据类型（fSqlType）参数相关联的数据值)。请将 GBasedbt CLI C 和
SQL 数据类型设置为可能将结果数据转换为参数的数据类型的值。

对于 SQLExtendedFetch() or SQLFetch()，是因为不可能将结果数据值转换为指定
的数据类型（ SQLBindCol() 的 GBasedbt CLI C 数据类型(fCType) 参数）。对于
函数取得的每个数据值，请将 SQLBindCol() 中相关的 GBasedbt CLI C 数据类型
参数设置为可能将数据值转换为指定数据类型的值。

对于 SQLGetData()，是因为不可能将数据值转换为指定的数据类型（ SQLBindCol()
 的 GBasedbt CLI C 数据类型（fCType）参数）。请将 GBasedbt CLI C 数据类型设
置为可能将数据值转换为数据类型的值。




-11012	错误的参数编号。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 07001 相同。下列函数可以返回
这个错误代码：SQLExecDirect() 和SQLExecute()。

用户使用 SQLBindParameter() 连接的参数的编号小于 SQL 语句和准备好的语句
中的参数编号。请将参数编号与语句中的参数编号设置成一样的。




-11010	被作为 FreeStmt/Close 而取消。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 01S05 相同。下列函数可以返回
这个错误代码：SQLCancel()。

用户调用了带有一个打开语句句柄的 SQLCancel()。请调用 SQLFreeStmt()，而不是
错误消息。




-11006	行中错误。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 01S01 相同。下列函数可以返回
这个错误代码：SQLExtendedFetch()。

函数返回 SQL_SUCCESS_WITH_INFO，说明函数成功完成，并发生了一个非致命错误。
当函数获取一个或多个行时，发生了这个非致命错误。调用  SQLError()，以获得更
多的信息。




-11005	无效的连接字符串属性。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 01S00 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect() 和SQLDriverConnect()。

对于 SQLBrowseConnect()，是因为函数返回 SQL_NEED_DATA，说明连接字符串包含
一个无效的属性关键字,或是连接字符串包含的属性关键字不能应用于当前连接级。请
将连接字符串中的每个属性都设置为可以应用于当前连接级的有效值。

对于 SQLDriverConnect()，是因为函数返回 SQL_SUCCESS_WITH_INFO，说明函数成功
完成，并发生了一个非致命错误，错误的原因是由于连接字符串中虽然包含一个无效的
属性关键字，但是 GBasedbt CLI 还是连接到了数据源。调用 SQLError() 以获得更多
的信息。




-11003	数据被截断。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 01004 相同。下列函数可以返回
这个错误代码：SQLBrowseConnect(),SQLColAttributes()，
SQLDataSources()，SQLDescribeCol()，SQLDriverConnect(),
SQLDrivers()，SQLExecDirect()，SQLExecute()，SQLExtendedFetch()，SQLFetch(),
SQLGetCursorName()，SQLGetData()，SQLGetInfo()，SQLNativeSql() 和
SQLPutData()。

对于 SQLExecDirect()，SQLExecute()，or SQLPutData()，是因为 SQL 语句，准备好
的语句或发送的数据发生了下列问题：(1) 语句或数据包含的一个二进制或字符参数和
文字超过了相关联字段的最大长度，或(2) 函数截断了语句或数据中一个数值参数和文
字的小数部分，或(3) 函数截断了语句或数据中日期或时间参数或文字部分。请改变语
句中的数据或参数和文字，使其不会超过相关联字段的最大长度，并且设置参数和文字
的数据类型，使其能够容纳下数据。

对于 SQLExtendedFetch() or SQLFetch()，是因为函数返回
SQL_SUCCESS_WITH_INFO，说明函数成功完成，并发生了一个非致命错误。为了处理这
个非致命错误，函数截断了为一个或多个字段返回的数据。如果返回值为一个字符串，
函数将截断它的右边。如果返回值为一个数值，函数将截断数字的小数部分。请为返
回数据设置数据类型，使其可以容纳下数据。调用 SQLError() 以获得更多的信息。

对于 SQLGetData()，是因为函数返回 SQL_SUCCESS_WITH_INFO，说明函数成功完成，
并发生了一个非致命错误，错误的原因是由于函数无法为一个调用中的指定字段搜索
所有数据。pcbValue 参数包含的数据长度是在当前对 SQLGetData()调用之前字段
中剩余的数据长度。请在搜索完所有数据后再重复调用 SQLGetData()。

对于所有可返回此错误代码的其他函数，是因为函数返回SQL_SUCCESS_WITH_INFO，
说明函数成功完成，并发生了一个非致命错误，错误的原因是由于返回的缓冲区不够大，
不能发挥所有请求的信息。函数截断了返回的数据并将返回字节的总数设置为没有被截
断数据的长度。请重新分配返回缓冲区，使其能够容纳返回数据。调用 SQLError() 以
获得更多的信息。




-11001	一般警告。

这个 GBasedbt CLI 错误代码与 SQLSTATE value 01000 相同。下列函数可以返回
这个错误代码：除 SQLAllocEnv() 和 SQLError() 以外所有的 GBasedbt CLI 
函数 SQLAllocEnv() and SQLError()。

函数返回 SQL_SUCCESS_WITH_INFO，说明了函数成功完成，并且发生了一个非致命错误。
调用 SQLError() 以获得更多的信息。




-10000	自变量必须是一个变量才能作为 OUT 或 INOUT 参数使用
。

当从 DRDA 等客户机调用例程时，使用 OUT 或 INOUT 参数的 UDR 的对应自变量必须被指定为变量。在这种情况下，常量不能用作 OUT 或 
INOUT 参数的自变量。



-9999	不支持例程 collcompare()。

此例程始终返回 -1 及错误。未定义比较的语义。



-9998	没有删除该 DISTINCT 数据类型的强制转型的特权。

您不具有删除该 DISTINCT 类型的强制转型的特权。缺省情况下，在定义 DISTINCT 类型后，只有该 DISTINCT 类型的所有者或 DBA 可以删除
其强制转型。但是，DISTINCT 类型的所有者可以向其他用户、PUBLIC 或角色授予 DISTINCT 类型的 Usage 特权
。

您应该要求 DBA 或强制转型的所有者删除该强制转型，或者要求他们向您授予该强制转型的 Usage 特权，这样您可以进行删除
。



-9997	没有数据类型 (<type-name>) 的 Usage 特权。

您没有使用此数据类型的特权，这是一种基于内置数据类型的 DISTINCT 数据类型。此用户定义的数据类型的创建者或 DBA 必须明确向您授予此数据类型的 
Usage 特权。

您应该要求 DBA 或强制转型的所有者向您授予该强制转型的 Usage 特权
。



-9996	Distinct 类型 (<type-name>） 在数据库中已存在。

在模式（ANSI 模式）或数据库内，Distinct 类型必须是唯一的。

在试图创建您的版本之前，请用新名称重新定义类型或删除现有的名称。





-9995	没有输入表〈表名〉。

没有输入表时，不能变更表来取消其类型。





-9994	不能在集合上使用 ONLY(TABLE(str))。

在集合的 TABLE 表达式上 only() 语法是非法的。在 supertables 上使用 
only()，也就是 说，父表在继承链中。





-9993	不是已命名行类型的拥有者。

你不能取消已命名行类型，除非你是其拥有者或具有 DBA 权限。 请从 sysxtdtype 中选定
以检验已命名行类型的拥有者。





-9992	找不到已命名的行类型 row_type_name。

指定的命名行类型在数据库中不存在。 请从 sysxtdtype 中选定以检验它的存在。





-9991	已命名的行类型 row_type_name 已存在于数据库中。

你企图建立名称已被使用的已命名行类型。 使用别的名称或取消行类型以重新使用
该名称。





-9990	不能取消已命名的行类型 row_type_name：它仍在使用中。

你企图取消正被另一类型表引用的行类型。 先取消引用此类型的表类型。





-9989	不正确的 ROW 类型显示字段数。

你试图将具有不正确的显示字段类型的行储存到集合中。请检验行显示字段是 否与该集合
匹配。





-9988	不能毁掉含有其他游标引用的集合。

你企图将集合宿主变量储存到表字段或行显示字段，但是集合上的游标仍然打开著。
在企图执行此操作前, 你必须先关闭其他游标。





-9987	游标已登记。

你企图打开已经打开的游标。检查嵌入的语言程序，决定未关闭游标却重新开启游标
的原因。





-9986	内部错误：集合已损坏。

该消息表示在 GBase  数据库服务器对集合数据类型的支持方面发生内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9985	内部错误：更改日志无效。

该消息表示在 GBase  数据库服务器对集合数据类型的支持方面发生内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9984	不能释放被其他游标引用的集合。

当游标仍在集合上打开时，你企图释放集合引用。 请检查嵌入的语言程序, 以找到你在未
关闭游标前过早释放集合引用的原因。





-9983	删除不存在的元素。

你将游标定位于已不存在的集合元素，然后要求更新或删除该元素。如果你试图使用 
FETCH 语句来定位略过上一记录的游标，并试图执行更新或删除操作，就会出现此问题。
由于未指到有效的记录，因此会造成错误。请确认嵌入语言程序在检查 FETCH 后返回的 
SQLCODE 值，以决定没有其它行存在。





-9982	不允许更新被其他游标引用的集合。

你企图更新被数个的游标引用的集合。检查你的程序, 以便决定要保留的有关游标,
删除集合上使用的其他游标。





-9981	不允许删除被其他游标引用的集合。

你企图删除被数个游标引用的集合。检查你的程序，以便决定保留的有关游标，并删除
集合上使用的其他游标。





-9980	插入 AT 位置时, 期待 LIST。

只有 LIST 类型的集合才能使用位置插入语句。从插入语句中删除 AT 子句。





-9979	不允许将集合元素更新为 NULL。

集合的元素不能为 NULL勿企图将集合元素更新为 NULL 值 (参阅错误信息的更正
动作 -9978) 。





-9978	不允许将 NULL 插入集合。

语句试图将一个或多个 NULL 值插入集合中。集合的元素必须是 non-null。
集合内行的显示字段可以是NULL，但集合的元素不能是NULL。然而，如果集合的
子查询指定了一个 ITEM 选择和包含一个 NULL 值的行，也会出现该错误。
就和行类型元素一起定义的集合而言，下列范例是有效的。但是就任一集合而言，
插入 table(:coll_hv2) values (NULL) 是无效的。

    INSERT INTO TABLE(:coll_hv) VALUES (row(NULL, NULL));

请勿试图将 NULL 值当作元素插入集合中。






-9977	内部错误：散列值不同步。

该消息表示在 GBasedbt 数据库服务器对集合数据类型的支持方面发生内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9976	不允许作 NULL 集合的操纵。

你企图对 NULL 集合进行操作。 检查嵌入语言程序, 以判断你企图对 NULL 集合进行
操作的原因。





-9975	表分层中表类型必须是唯一的。

同样的父母之下不能有相同类型的兄弟。例如，假设你创建了如下行类型：

创建行类型 r1 (a int);

在 r1下创建行类型 r2 ;

现在你创建此 supertable 和这些 subtables。下列第三条语句将产生一个错误。

创建类型 r1 表 supertab ;

在 r1下创建类型 r2 表suptabl ;

在 r1下创建类型 r2 表suptab2 ;

第三条 SQL 语句产生错误的原因是，subtab1 和 subtab2 都是 supertab 下的兄弟。该 
GBasedbt 版本中不支持这种表分层。数据库服务器的当前版本限制表分层来匹配类型分
层，在单个表分层内不能有出现多次的类型。





-9974	不能从 ROW 类型中删除元素。

你试图从 ROW 类型的宿主变量中删除某一行。由于 ROW 宿主变量的内容只有一行，因
此不允许删除。如果你想构造值为 NULL 的行，请使用 UPADTE 语句，并将每一显示字
段的值设为 NULL。否则请取消请求，在嵌入语言程序中执行行宿主变量的 SQL 
DELETE 。





-9973	固定大小元素集合的行缓冲区的大小不正确。

您试图插入一个新的或更新一个现有的元素，但是它的值与集合定义中声明的
大小不一样。只有当集合包含固定长度元素的时候，才会发生该错误。

检查以确保您插入的值与集合声明相匹配。






-9971	不能确定查询的返回类型或者返回类型不一致。

数据库服务器不能确定查询返回的值中的一个或多个值的数据类型。

请检查每个返回值的数据类型说明，更正说明中的任何错误，然后重试查询。




-9970	�连接期间不能决定宿主变量类型。

接收到含糊的连接信息。数据库服务器无法从查询的上下文中推断该变量类型 。必须明确
地定义宿主变量类型。





-9969	集合类型信息已损坏。

集合的类型信息不一致。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9965	超越了可允许 sbspace 的最大数 maximum_number。

超越了每表64 个 sbspace 的最大数，因此你的操作失败。关于与表有关的 sbspace 个数
的更多信息，请执行下列查询：

SELECT tabid FROM gbasedbt.systables

WHERE tabname = `<user_table_name>';

SELECT count(*) FROM gbasedbt.syscolattribs

WHERE tabid = <tabid_from_previous_query>;





-9960	表/索引组合不允许出现碎片。

如果表由于 round-robin 和它的子表指定了
自己的碎片规划而出现碎片，您不能不用碎
片子句在超表上创建索引。或者用明确的碎
片子句创建索引，或者让子表从超表中继承
它的碎片规划。





-9950	对于非行类型表达式，显示字段参考是不可能的。

对于类型行的对象，只有形如 column.field的表达式才有意义。

删除表达式中的 .field 部分。






-9946	无法两次打开子查询集合。

以标志MI_COLL_READONLY 和 MI_COLL_NOSCROLL打开的集合不能再次打开。






-9945	不能修改只读集合。

您以标志MI_COLL_READONLY打开了一个集合并试图修改集合。不要用此标志打开
集合，或者不要修改集合。






-9944	无法在非可滚动集合中查找。

您以标志MI_COLL_NOSCROLLY打开了一个集合，然后又试图在其中进行查找。不要
用此标志打开集合，或者不要试图在此集合中进行查找。






-9943	集合格式已过期。请重新创建集合数据。

来自 9.10 或更早的 9.x 数据库服务器的集合数据未卸载并重新装入以迁移到 V9.11 或 9.12 数据库服务器
。

如果表列具有集合数据类型，必须首先卸载集合数据，再从 9.10 或更早的发行版迁移到发行版 9.11 或 9.12，然后在迁移后重新装入数据
。



-9935	查询的外部伪指令已存在。

对于指定的查询，已经保存了外部伪指令。

先删除现有的外部伪指令，然后才能在数据库中保存查询的新外部伪指令
。



-9934	只有 DBA 有权执行此操作。

只有具有 DBA 特权的用户可以执行此操作。



-9933	外部伪指令的伪指令规范无效。

所指定的优化器伪指令无效。



-9932	当前已禁用了外部伪指令功能。

所发出的语句只有在启用了“外部伪指令”功能时才有效。如果需要启用它，请联系 DBA
。



-9931	行类型和集合类型中不允许 Byte 和Text数据类型。

您请求构造一个包含 BYTE 或 TEXT 数据类型的对象。只有表的字段类型或
CREATE ROW TYPE 才支持它。其它所有对命名行类型、未命名行类型或集合
类型的参考都不能包含BYTE 或 TEXT 数据类型。






-9930	集合类型中不允许使用 BYTE、TEXT、SERIAL、SERIAL8 或 BIGSERIAL 数据类型
。

不能在集合内行的字段或集合的元素中使用 TEXT、BYTE、SERIAL、SERIAL8 或 BIGSERIAL 数据类型
。



-9928	必须为不兼容类型之间的转换提供转换函数。

试图用不同的表示法定义类型之间的无函数转换。

重新定义转换以使用某个函数，或重新定义类型，以使其共用相同的表示法。




-9926	在行类型或集合字段上不允许“order by”、“distinct”、索引、联合
及主/外部/唯一键的约束。

请勿以包含主键、外部键或唯一键约束的集合或行类型的字段来建立或变更表格。请
勿建立包含集合或行类型字段的索引或联合。但是，如果您使用的是 UNION ALL 语句
而不是 UNION 语句，就可以建立包含集合或行类型字段的联合。






-9923	不能在不兼容的类型间建立型态转换。

企图以不同的表示来定义类型间非函数型态转换。 重新定义型态转换以使用函数, 或重新
定义类型, 以让它们共用相同的表示。





-9922	强制转型在数据库中不存在。

请求的强制转型不存在。使用 CREATE CAST 语句定义强制转型。



-9920	无法创建相同类型之间或内置类型之间的强制转型。

相同类型之间无需强制转型。内置类型之间的强制转型由内部系统强制转型处理，且无法重载
。



-9919	转换在数据库中已存在。

不管转换类如何，从其源类型和目标类型来说，转换必须是唯一的。
使用 DROP CAST 语句取消现有的转换。





-9912	在集合类型字段上不允许有约束。

在集合类型的字段定义中不支持约束运算式, 删除约束子句。





-9911	在集合类型字段上不允许缺省值。

不支持集合类型字段上的缺省值。 删除该缺省值子句。





-9910	集合类型中不允许使用 BYTE、TEXT、SERIAL、SERIAL8 或 BIGSERIAL 数据类型
。

集合内行的字段或集合的元素不能使用 TEXT、BYTE、SERIAL、SERIAL8 或 BIGSERIAL 类型
。



-9909	不支持嵌套行类型

无法嵌套行类型。




-9908	行类型的列不能包含类型为 TEXT、BYTE、SERIAL、SERIAL8 或 BIGSERIAL 的字段
。

您创建了一张表，其中某列的命名行类型为 TEXT、BYTE、SERIAL、SERIAL8 或 BIGSERIAL。以下示例将失败
：

创建行类型 rtype (col1 byte)；创建表 tab1 (c1 rtype)；

重新创建具有不同类型的命名行的表。



-9907	不允许修改集合类型字段。

你不能使用 ALTER 语句将字段类型由集合类型改变为其他类型。





-9906	不能将字段数据类型修改为集合类型。

你不能使用 ALTER 语句来将列类型改变为集合类型。





-9905	没有针对域的扩展类型信息。

无法找到域或类型的属性信息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9904	扩展类型文本无效。

无法确定内部 SQL 数据类型。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9884	对于存取方法，没有缺省的存储空间存在。

没有任何存取方法支持的存储空间类型具有缺省的存储空间。

要更正这个错误，可以采取以下措施中的一项：

    *   在 SQL 语句中，为要使用的存取方法显式指定存储空间。
    
    *   如果存取方法支持sbspaces，可以请求数据库服务器管理员创建一个
    	带有onspaces实用工具的sbspace，并将ONCONFIG参数SBSPACENAME设
    	置为该sbspace 名称。
    
    *   如果存取方法仅支持extspaces，那么存取方法软件可以创建一个缺省
    	的外部存储空间，例如一个磁盘文件。

要知道存取方法是支持extspace（外部存储），还是支持sbspace（智能大对象
存储），可以在sysams系统目录表查询CREATE TABLE 语句 USING 子句中指定的
存取方法名称。为该存取方法参考am_sptype值。下列值指示的是您可以用于存取
方法的存储空间类型：

    *   'X' 表明存取方法只支持 extspaces
    *   'S' 表明存取方法只支持 sbspaces
    *   'A' 表明存取方法既支持 extspaces，也支持sbspaces

如果需要获得如何确定存储空间类型是否为存取方法支持，或者如何确定一种
存取方法支持的存储空间类型，可参考存取方法用户指南。






-9883	无法确定存储空间类型<名称>。

当数据库服务器查找指定的存储空间（dbspace、sbspace、或 extspace）时
发生了一个错误。通常该问题与sysmaster:sysextnames表的存取有关。如果
需要更多信息，请参考随附的 ISAM 错误代码。






-9882	存取方法 AM_SPTYPE 目的值<空间类型>无效。

操作失败，因为在SQL语句中指定的存取方法中，对于AM_SPTYPE目的值，有一个
值无效<空间类型>。

由于对 CREATE PRIMARY ACCESS_METHOD 和 CREATE SECONDARY ACCESS_METHOD SQL 
语句确认了 AM_SPTYPE值，因此该错误只有当与sysams 系统中存取方法相关联的行
在存取方法创建后被显式更新时才会发生。

请求存取方法提供者或数据库管理员为带有ALTER ACCESS_METHOD语句的存取方法
改变AM_SPTYPE 值。






-9880	存储空间 <名称> 与存取方法不兼容。

操作失败，因为SQL 语句中引用的存取方法不能使用指定的存储空间。

改变语句以指定一个存取方法支持的存储空间类型。要知道存取方法是支持extspace
（外部存储），还是支持sbspace（智能大对象存储），可以在sysams系统目录表
查询CREATE TABLE 语句 USING 子句中指定的存取方法名称。为该存取方法参
考am_sptype值。下列值指示的是您可以用于存取方法的存储空间类型：

    *   'X' 表明存取方法只支持 extspaces
    *   'S' 表明存取方法只支持 sbspaces
    *   'A' 表明存取方法既支持 extspaces，也支持sbspaces

重要：您不能使用带有用户定义存取方法的dbspace（动态服务器表空间存储）。
只有一个用户定义的存取方法。

如果需要有关存取方法支持的存储空间类型的更多信息，请参考存取方法用户指南。






-9878	一个暗指的插入字段不接受 NULL。

语句试图将一个null 值暗中插入到不接受null 值的字段中。

重写 INSERT 语句以为所有不接受null 值的字段提供一个值，或者重新定义
字段以接受 null。






-9875	集合数据的内部结构不正确：发现未知的标记值。

集合或行数据的结构可能已损坏。

请向 IBM 技术支持报告该情况。



-9873	不是运算符类的拥有者。

除非你是该拥有者或数据库管理员，否则不能取消运算符类。请与数据库管理 员或该运算
符类的拥有者联系。





-9872	不能取消运算符分类 operator_class_name：它仍在使用中。

当前存在的索引正在使用此运算符分类, 故不能取消。 在取消前, 先取消所有运算符
分类的索引。





-9871	不支持变更外部表分段的连上/分离。

ALTER FRAGMENT 语句不能用于使用存取方式的表或索引。 使用所需的特性建立新
表, 并将旧表数据拷贝到新表, 或使用所需的特性建立新索引。





-9870	不能变更存取方式 access_method_name：它仍在使用中。

有人在使用存取方式时, 不能使用 ALTER ACCESS_METHOD 语句。 等到无人使用存
取方式时再试一次。





-9869	不能取消存取方式 access_method_name：它仍在使用中。

如果任何表或索引定义为使用该存取方式, 就不能使用 DROP ACCESS_METHOD。 请先
取消表或索引, 然后再取消存取方式。





-9868	不是存取方式的拥有者。

执行 DROP ACCESS_METHOD 或 ALTER ACCESS_METHOD 的人不是存取方式的
所有者, 或者没有 DBA 权限。





-9867	找不到存取方式 access_method_name 。

DROP ACCESS_METHOD 或 ALTER ACCESS_METHOD 语句使用的存取方式并不存
在。 使用正确的存取方式。





-9865	不适当的支持定义。

CREATE OPCLASS 语句正在使用不适当的支持定义。 例如, 一个支持的名称最多可以
有 18 个字节。 更正支持的定义。





-9864	不适当的策略定义。

CREATE OPCLASS 语句正在使用不适当的策略定义。 例如, 一个策略最多可以有三个
参数。 请更正策略的定义。





-9863	Opclass opclass_name 已在数据库中存在。

使用 CREATE OPCLASS语句建立的Opclass 已存在。 使用新的名称。





-9862	不能初始化或执行存取方式例行程序。

存取方式例行程序不能正确执行。 请参阅 RSAM 错误码, 以便获得详细信息。





-9861	用于外部表/索引时使用了不适当的存取方式参数信息。

CREATE TABLE 或 CREATE INDEX 语句正在使用不适当的参数信息。 例如, 标识符
可能超过 18 个字节, 或该值的长度可能超过 236 个字节。 更正参数信息。





-9860	使用不适当的存取方式。

CREATE TABLE 语句使用了次要存取方式, 或 CREATE INDEX 语句已使用主要存取
方式。 有关 CREATE TABLE 语句, 请使用主要的存取方式, 而CREATE INDEX 语句则
使用次要存取方式。





-9859	由于其存取方式不支持唯一键, 未建立索引。

CREATE UNIQUE INDEX 语句或 CREATE DISTINCT INDEX 语句使用的存取方法不支持
唯一键。

从 CREATE INDEX 语句中删除 UNIQUE，或从 CREATE INDEX 语句中删除
 DISTINCT。






-9858	用于外部表/索引时使用了不被支持的选项 option_name。

存取方式不支持 ALTER TABLE 或 ALTER INDEX 语句的选项。 删除此选项。





-9857	用于外部表/索引时使用了未知的空间 space_name。

CREATE TABLE 或 CREATE INDEX 语句有 IN 子句, 子句参照不存在的extspace。
使用当前的 extspace。





-9856	由于表的存取方式不支持 rowid, 未建立索引。

CREATE INDEX 语句已使用于存取方式不支持 rowids 的表上。 因为表行由索引以
rowids 取得, 因而不能建立索引。





-9855	用于存取方式的目的 purpose_name 时使用了不适当的值。

CREATE ACCESS_METHOD 或 ALTER ACCESS_METHOD 语句中, 使用的目的具有无
效的值。 例如, AM_SPTYPE 不能使用整数。 使用正确的目的值类型。





-9854	未用于存取方式时使用所需的目的 purpose_name。

未使用 CREATE ACCESS_METHOD 语句使用所需的目的, 或已用 
ALTER ACCESS_METHOD语句将需要或缺省的目的删除。例如, 如果不使用 
CREATE ACCESS_METHOD 语句, AM_SCANCOST 会有缺省值, 
但 ACCESS_METHOD 语句不能将缺省值删除。 请变更使用的目的, 
直到所需要的目的已被包括或保存。





-9853	用于存取方式时使用了复制的目的 purpose_name。

与 CREATE ACCESS_METHOD 或 ALTER ACCESS_METHOD 语句同时使用的目的已
多次使用。 请变更使用的目的直到重复使用的目的不存在为止。





-9852	用于存取方式时使用了不适当的目的 purpose_name。

与 CREATE ACCESS_METHOD 或 ALTER ACCESS_METHOD 语句一同使用的目的错误。
可能是拼写错误, 否则即与其他目的结合不正确, 或是此目的存取方式类型不适合。 例
如, 如果不使用 AM_ROWIDS 就不能与 AM_DELETE 一起建立, 且 AM_GETBYID 不
能用于次要存取方式。 在目的组合正确之前, 更正目的之拼写或变更一个或数个目的。





-9851	存取方式 access_method_name 已存在于数据库中。

已存在以 CREATE ACCESS_METHOD 语句建立的存取方式。 你必须使用新的名称。





-9849	比较程序routine_name不能在 SPL 中。

一般 btree 比较程序无法写入SPL。在 C 中重新写入比较程序。





-9848	功能键部份不能使用可变函数 function_name。

CREATE INDEX 语句中，功能键部份所使用的函数必须是不可变函数（也就是说，在
CREATE FUNCTION 语句中，建立函数必须用 NOT VARIANT 修饰符)。





-9846	运算符分类 operator_class_name 在数据库中不存在。

CREATE INDEX 语句中的运算符分类不存在。 使用运算符分类前, 必须先使用 CREATE
OPCLASS 语句建立。参阅 gbasedbt.sysopclasses 的可使用运算符分类列表。





-9845	存取方式 access_method_name 在数据库中不存在。

CREATE INDEX 或 CREATE OPCLASS 语句中使用的存取方式并不存在。 在使用存取方
式前, 必须使用CREATE ACCESS_METHOD 语句予以建立。 参阅 gbasedbt.sysams 
的可使用存取方式列表。





-9844	在功能键中使用了无效的函数function_name。

CREATE INDEX 语句中的函数不能当作功能键部份。请确定所使用的函数不是可变函数。





-9843	功能键的参数数目无效。

功能键部份的参数只能介于1与16之间。





-9842	ASC/DESC 说明只适用 btree。

如果你使用的不是 btree 存取方式, 就不能在键部份指定 ASC 或 DESC。





-9841	键部份的运算符类未指定或无效。

在一个或多个键部份中指定的运算符类无效。例如：你可能在创建索引不同的存取方式，
使用运算符类。若你使用的存取方式没有与它关连的缺省运算符类，你必须为 各键部份指
定明确的运算符类。





-9840	btree 的策略或支持函数的无效数目。

在 btree 存取方式的CREATE OPCLASS中, 最多指定五个运算符 (小于, 小于等于, 等于,
大于等于及大于运算符等), 及一项支持功能 (比较功能)。





-9839	不能混合运算符分类中一般的和特定的运算符。

如果要指定运算符分类中一个策略功能记号的完整功能记号, 则需要为所有的策略功能指
定功能记号。





-9838	不能建立主要存取方式的运算符分类。

你不能建立主要存取方式的运算符分类。 关于可用的次要存取方式列表, 
可执行以下的查询。

SELECT * FROM GBASEDBT.SYSAMS WHERE AM_TYPE = 'S';





-9836	不能为例程<例程名称>初始化序列。

用户定义的例程遗漏了一个statcollect() 或 compare() 函数。

请将遗漏的函数添加到用户定义的例程。






-9835	找不到功能键的程序 routine_ID 。

由程序 ID 所标识的一个或多个功能键部份不再存在于数据库内。必须取消这个无效索
引。





-9833	找不到索引的扩展类型type_ID。

一个或多个索引键部份的类型不再存在于数据库内。必须取消这个无效索引。





-9832	解析比较例行程序时找不到例行程序 routine_name。

如果一个或多个索引关键部份的比较例行程序在数据库内找不到, 或是找不到执行排序所
需的比较例行程序, 你需要重新建立各比较例行程序。 如果已内含索引, 则需要取消所包
含的索引。





-9831	解析索引用的比较例行程序时找不到 pclass id opclass_ID。

一个或数个键部份的的运算符类不再存在于数据库内。 必须取消这个无效的索引。





-9826	无法在存储优化操作的同时执行联机创建/删除索引操作
。



-9825	不允许对 VII 索引联机创建/删除索引。



-9824	不能对表执行多个联机创建/删除索引操作。



-9823	对过程命名的返回参数的使用不一致。

过程具有重复的返回参数名称，或只有部分过程返回参数名称的列表。

错误示例:

RETURNING INT AS customer, INT AS customer; -- error
RETURNING INT AS customer, INT; -- error





-9820	SQL SBLOB 错误：没有这样的 sbspace。

最可能的问题是操作通过名称指定了一个sbspace，（例如：在CREATE TABLE
语句中的PUT子句），但是该sbspace 却没有被创建。

您可以运行带有 -d 选项的onstat 实用工具来查看已创建sbspace的名称。向
数据库服务器管理员咨询有关创建一个新的sbspace的信息。






-9819	列 (column_name) 要存入 sbspace，即为不正确的类型。

您已经试图存储一列在 sbspace 中，而其不是一个适当的类型。
只有 CLOB 和 BLOB 列可以存入 sbspaces 中。
TEXT 和 BYTE 类型的列不能存入 sbspace 中。

 





-9818	在 sql smart-large-object 散列表中检测到错误。

这是内部错误。请联系 IBM 技术支持。



-9816	Btree 索引在 blob/clob 列上不允许。

您已经试图在一个包含智能大对象的列上使用 B-tree 索引。
您必须改变您的程序去除索引。





-9815	无效文件名说明 (file_spec)。

您正在调用一个创建操作系统文件的函数，
但是提供的文件名说明是无效的。





-9814	无效的默认 sbspace 名称 (sbspace_name)。

数据库服务器正在试图在默认 sbspace 中创建智能大
对象，但是 sbspace 不存在。检查 ONCONFIG 文件
中的 SBSPACENAME 参数是已有 sbspace 的名称。
如果必要，数据库服务器管理员能使用 onspaces 命令
创建 sbspace。





-9813	无法执行隐式的落实工作。

这是内部错误。有多种不同的情况会导致该错误，如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

GBase  Database Server 隐式落实事务以执行 SQL 语句。有时，GBase  Database Server 在重新编译以“存储过程语
言”编写的过程中的语句时，会隐含地使用一个单独的事务，以将新计划写入目录。在这种情况下，落实工作的失败会导致执行过程失败
。



-9812	无法执行隐式的开始工作。

这是内部错误。有多种不同的情况会导致该错误，如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

GBase  Database Server 隐式地开始事务以执行 SQL 语句。有时，GBase  Database Server 在重新编译以“存储过程
语言”编写的过程中的语句时，会隐含地使用一个单独的事务，以将新计划写入目录。在这种情况下，落实工作的失败会导致执行过程失败
。



-9811	无效的智能大对象 fd (<lo_fd>)。

试图使用无效的 LO 文件描述符访问智能大对象。
检查您提供的 LO 文件描述符是正确的并且智能
大对象仍然打开着。






-9810	智能大对象错误。

处理智能大对象时出现错误。

如果需要获得更多信息，请参阅随附的智能大对象详细错误代码。






-9809	无法对 TEXT 或 BYTE 字段类型指定 Blob 空间名称。

在指定复杂类型的 TEXT 或 BYTE 字段时，请勿对该数据类型指定 Blob 空间的名称。服务器对该 TEXT 或 BYTE 数据类型使用缺省分区 Blob
空间。



-9808	子表类型必须是超表类型的子类型。

在创建超表和子表的表层次结构时，该子表的子类型也必须是该超表类型（超类型）的子类型。必须定义了类型层次结构才能定义对应的表层次结构
。



-9807	无法创建某一类型的临时表 <temptable_name>。

无法创建具有类型的临时表；类型表仅针对永久表创建。但是，可尝试使用以下示例创建临时表
：

不使用：CREATE ROW TYPE rowtypename (columnname int); CREATE TEMP TABLE tablename OF
TYPE rowtypename; 而使用：CREATE TEMP TABLE tablename (columnname int); 



-9806	在未命名的行类型中不能有重复/空字段名。

CREATE ROW TYPE 语句有重复字段名或缺少一个或多个字段名。

为 CREATE ROW TYPE 语句中的每个字段指定一个唯一名称。




-9805	SERIAL/SERIAL8/BIGSERIAL 数据类型只能用作表列类型。

您不能在 CREATE ROW 语句中使用 SERIAL/SERIAL8/BIGSERIAL 数据类型。它们只能用作 table-column 类型
。



-9804	不能在已输入的表 table_name 上生成 ROWIDS。

已输入的表中不能有 ROWIDS 字段。 请用 ALTER TABLE 取消表的输入, 或者不建立
ROWIDS 字段。





-9803	不兼容而不能建立已输入的视图 <view-name>。

试图在已输入的试图中使用 BYTE 或 TEXT 显示字段，或者
视图中的字段名及字段类型与此类型的显示字段名及显示字段类型不匹配。 

请删除 BYTE 或 TEXT 显示字段，或者将字段类型改成与基本字段符合显示字段类型。






-9802	不能变更已输入的表table_name。
只有 ALTER TABLE 的语句为已输入的表所接受，此语句可用来取消表类型、新增
或取消 REF 字段。若需要其他的 ALTER TABLE 语句，请先取消该表类型。



-9801	不兼容而不能将表 table_name 变更成增加类型。

表的字段名及字段类型不符合此类型的显示字段名称及显示字段类型。 请将它们改变成匹
配的字段名及类型。





-9800	已输入表 table_name 。

不能将一类型增加到已输入的表中。 请取消表类型并再一次尝试增加该类型。





-9799	用户定义程序虚拟处理器上下文切换失败。

在装入、卸载或执行期间无法切换所需的虚拟处理器。下列的错误信息会出现 在日志中：

错误：程序执行 VP 切换失败 -- 新的 VP error_string

错误：程序执行 VP 切换失败 -- 旧的 VP id = VP_ID





-9798	用户定义程序语言查找失败。

在系统中未定义语言信息。程序定义错误，或者数据字典发生错误。下列的错 误信息会出
现在日志文件中：

错误：语言 error_string -- 查找失败





-9797	用户定义程序语言关机失败。

不正确地语言关机。可能会发生系统内部错误。下列的错误信息会出现在日志中：

错误：error_string 语言关机

语言没有正确地关机。可能是发生了内部系统错误。
下列错误信息出现在日志中：

错误：error_string 语言关机





-9796	用户定义程序模块卸载失败。

调用 Solaris C 模块的 dlclose 时发生的系统内部错误。下列的错误信息会出现
在日志中：错误：卸载模块 error_string





-9795	用户定义程序卸载失败。

下列的错误信息会出现在日志中：

错误: 卸载程序 error_name procid = process_ID_number





-9794	用户定义程序装入失败。

下列的错误信息会出现在日志中：

装入程序routine_name procid = process_ID_number

在模块中未找到程序routine_nam，其原因可能是错误的外部名称或错误的模块。日志信息
log_message_numbe 可能是 -1,，而 error_message_string 
是相对未找到之符号的数据库程序名称。





-9793	用户定义的例程（<routine-name>）模块装入失败。

下列的错误信息会出现在日志文件中：

   错误: 装入模块 <module_name>

错误的外部名称、遗漏文件或错误的许可可能会引起此错误。日志信息
<log_message_number>包含了遭遇到的 UNIX 错误编码以及实际所使用的模块。
对于在 UNIX 上的 C 语言，可能会出现下列的日志信息：

   <error_number>：C 语言模块 <module_name> 无法装入 <error_string>

在日志信息中，<error_number>是目前的 UNIX 错误编码，<module_name> 是目录
的模块名称，而 <error_string> 是 dlerror() 说明。






-9792	用户定义程序的语言初始化失败。

模块无法装入，或发生语言内部错误。下列的错误信息会出现在日志中：

错误: 初始化语言language_name模块module_name





-9791	用户定义程序执行失败。

此错误会在以下的情况中发生：

1.      发生语言问题或内部服务器错误。在这种情况下，以下的日志信息将输入到日志
中：

错误：程序执行失败 -- procname = routine_name procid = process_ID_number

2.      执行中的程序引起了下列其中一项例外：

mem -- 内存错误

ill -- 非法的指令

fpt -- 浮点或被零除

sys -- 系统调用问题

"xxx" -- SAPI 层例外说明

下列的错误信息会出现在日志中：

错误: 程序执行陷井- procname =rocedure_name procid = process_ID_number
原因：error_string





-9790	语言管理员初始化失败。

此种错误可能会在以下的假设情况中发生：

1.       数据库服务器不能在服务器初始化期间, 装入内部 C 语言或者初始化数据区。

下列的错误信息会出现在日志中：

语言管理员初始化失败。

2.       在 UDR 装入或执行时生成了内部语言管理员错误, 于是引发了象是内存分配或
锁定错误。

下列的错误信息会出现在日志中：

错误：装入例行程序 routine_name procid = process_ID_number 文件: sqlmload.c

错误：卸载例行程序 routine_name procid = process_ID_number 文件: sqlmload.c

错误：例行程序执行问题 -- procname= procedure_name procid = process_ID_number 
文件: sqlmexec.c





-9785	在 UDR 生成 SLV (my_slv)之前无法对其进行访问

在 producer-UDR 生成 SLV 之前访问了语句中引用的 SLV。以下示例描述了
该条件:

SELECT slv_var FROM my_table WHERE foo_slv(slv_var # int)
	OR my_table.column IN (100,200,300);

在 WHERE 子句中，如果 OR 条件的 IN 子句在调用 UDR foo_slv 之前执行，
则不会初始化 slv_var。在这种情况下，不允许访问 SLV。





-9784	SLV (my_slv)没有 producer-UDR；或者处于producer-UDR 的范围之外。

本地语句变量(SLV)越界。例如：给定两个 SELECT 语句的联合，一个 SELECT 
语句声明为 SLV，而另一个 SELECT 语句引用该 SLV。






-9782	语句局部变量已经定义。

在查询中，不同的 OUT 和 INOUT 参数使用了相同的语句局部变量 (SLV)。请确保 SLV 在查询中唯一
。



-9781	SLV 不能当作由 EXECUTE 或 CALL 显式调用函数的参数。

具有 OUT 参数的程序只能作为数据操作语言查询 (只在 WHERE 子句中) 的一部份来调
用。请勿以 CALL 或 EXECUTE 语句来调用这种程序。





-9780	Statement-local 变量不能当作从 WHERE 子句外调用函数的参数。

接受 Statement-local 变量做为参数的用户定义程序 (UDR) 调用只可以在数据操作语言语
句的 WHERE 子句中执行。如果违反了这个规则，则会产生此错误。请移动WHERE 子
句中的 UDR调用。





-9754	没有使用权限。

用户没有创建函数的使用权限，或者用户没有授予/取消对一种语言的使用权限。
当用户没有权限创建用户定义的例程时，会返回该错误。

请求用户 gbasedbt 或对该语言带有 GRANT 选项的用户授予您使用许可。






-9750	在 PREPARE 和 BIND/EXECUTE 期间决定的程序 routine_name 返回不同的类
型。

如果在所准备的语句中使用了宿主变量，则在无变参类型信息的情况下，服务器试图解析
用户想解析的最有可能的程序。但是，在 BIND/EXECUTE 期间，有变参类型信息的情况
下，语句中所指定的程序可能会解析成不同程序。在这种情况下，如果服务器原本所选取
程序的返回类型与后来所解析的类型不同时，则会产生此错误。





-9748	以例行程序 routine_name 的名称通过参数时不能转换参数类型。

在参数可以通过到例行程序之前, 至少有一个参数需作型态转换。 以名称通过参数时,不支
持型态转换。 请使用由参数转换到参数类型的明确型态转换。





-9744	BUILTIN 例程 routine_name 定义与内部运算符不匹配。

采用 BUILTIN 语言的 SYSPROCEDURES 中的该项与正在重载的运算符的内部格式不匹配。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9741	内部错误 - 在需要强制转换参数类型时尝试以 C 样式传递参数
。

发生内部编程错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9740	不允许执行具有非内置类型的远程例程 (routine_name)。

在调用远程例程时，不能将复杂数据类型或不受支持的用户定义不透明类型作为例程参数或返回类型进行传递。请将不受支持的数据类型强制转型为支持的数据类型，或在本地数据库
中创建例程。



-9721	无法卸载正在使用的模块名。

您只能使用 ifx_unload_module() 函数卸载未用的共享对象文件，
此时，任何数据库中没有一个正在执行的 SQL 语句在使用指定的
共享对象文件中的任何用户定义的例程。

试图卸载共享对象文件前，请等待，直到执行完所有活动的 SQL 语句。




-9720	指定的模块名称或语言名称无效。

您在 ifx_replace_module() 或 ifx_unload_module() 函数调用中指定的模块名称或语言名称无效。对于这些函数，唯一有效的语言
名称是 C。

检查模块名称是否正确。检查模块路径是否包含在 DB_LIBRARY_PATH 配置参数的值中。替换模块名称或语言名称，或更新 DB_LIBRARY_PATH 的
值，然后再次执行该函数。



-9719	一个例程和聚合不能共享相同的名称。

试图创建一个与聚合同名的例程 (UDR) 是非法的。同样，
创建一个与例程同名的聚合也无效。例程名也可能与诸如
 sum()、count()、或 max() 之类的内部聚合名不匹配。

更改导致故障的聚合名或例程名。




-9718	在指定名称中指定的拥有者名必须是当前用户。

如果指定的名称是合格的拥有者名，则所指定的拥有者名应和合格的被建程序所使用的拥
有者名相同。如果此程序名不合格，它应与当前的用户名相同。





-9717	在程序名和指定名中指定的拥有者名必须相同。

如果指定的名称是合格的拥有者名，则所指定的拥有者名应与合格的被建程序所使用的拥
有者名相同。如果此程序名不合格，它应与当前的用户名相同。





-9716	此程序 routine_name 具有和另一个程序相同的特定名称。

特定名称在名称空间中是唯一的。在非 ANSI 数据库中，它在一个数据库中是唯一的。在 
ANSI 数据库中，它在用户的模式中是唯一的。改变名称使之成为唯一的名称。





-9715	过程不能有任何 OUT 参数。

CREATE PROCEDURE 函数不能有 OUT 参数。 只有 CREATE FUNCTION 语句在参数
中可以有 OUT 参数。 指定为 OUT 的参数应是唯一的且是最后一个参数。





-9714	OUT 参数只能是例行程序的最后一个参数。

在 CREATE FUNCTION 语句中指定一个 OUT 参数时, 此参数必须是最后一个参数, 而
且是具有 OUT 选项的唯一参数。





-9713	标示符太长 - 此标示符所允许的最大长度为 128。

CREATE PROCEDURE 或 CREATE FUNCTION 语句中所指定的特定名称大于 128 个字
节。请缩短此名称的长度。





-9712	后绑定函数不能有不同的返回类型。

由于联接过迟，所执行的函数会在查询执行中改变。如果由新函数所返回值的 
类型与先前的函数不同时，则会产生此错误结果。所有类型分层所定义相同名 
称的函数应有相同类型的返回值。





-9711	后绑定函数不能有不同的返回值数目。

由于连接过迟, 所执行的函数会在查询执行中变化。 如果由新函数所返回的值数目与先前
的函数不同时, 则会调用此错误。 所有类型分层所定义相同名称的函数应有相同的返回值
数目。





-9710	不允许内部函数的超载。

不可超载像 dbinfo 与 trim 这样的内部函数。改变你正在创建的程序名字使之不会与已被
数据库服务器使用的名字相冲突。





-9709	已有一个以上参数类型的明显类型自参数类型作型态转换。

如果有数个参数来源类型的明显类型自参数类型作型态转换, 会发生这个情况。 例如：假
设已存在一个例行程序 foo(paramtype)。 paramdist1 与 paramdist2 两个都是 
paramdist1 的明显类型。 此例行程序会调用为 foo(argtype)。 也存在着由 argtype
转换到 paramdist1
以及由 argtype 转换到 paramdist2 的型态转换。 因为明显类型继承在来源类型上所定
义的例行程序, 于是 paramdist2 与 paramdist1 继承例行程序 foo。 
于是例行程序的解析例行程序不能解析例行程序, 引发此错误。





-9708	仅在 EXTERNAL FUNCTION 中才能使用 SELFUNC 修饰符。

请勿对 SPL 例行程序或外部过程指定 SELFUNC 修饰符。





-9707	在过程中不允许修饰符 COMMUTATOR 和 NEGATOR。

因为过程未返回数值, 所以在 CREATE PROCEDURE 语句中不允许有这些修饰符。 请使
用 CREATE FUNCTION 语句或不指定这些修饰符。





-9706	END PROCEDURE/FUNCTION 与 CREATE PROCEDURE/FUNCTION 不匹
配。

在使用 CREATE PROCEDURE 语句时，结束子句必须含有 END PROCEDURE，在使用
CREATE FUNCTION 语句时，结束子句必须含有 END FUNCTION。不要将 PROCEDURE
和 FUNCTION 关键字混合使用。





-9705	对 SPL 例程，修饰符（修饰符名称）无效。

该消息显示您不能为 SPL 例程指定的修饰符。对 SPL 例程，下列修饰符无效：
 CLASS, CLIENT, HANDLESNULLS, INTERNAL, ITERATOR, PARALLELIZABLE, 
 PERCALL_COST, SELFUNC 和 STACK。其它修饰符可能也无效。






-9704	SPL 例行程序的参数必须命名。

只有对于外部例行程序, CREATE FUNCTION 或 CREATE PROCEDURE 语句中的参数名
是可以选择的。 请指定参数名。





-9703	在同一例行程序中不能使用修饰符 VARIANT 和 NOT VARIANT。 

可以将 VARIANT 或 NOT VARIANT 指定为修饰符或指定为 LANGUAGE 子句之后的
子句。 如果两种都指定时, 则必须将它们指定为 VARIANT 或 NOT VARIANT。 或是使
它们一致, 或是删除当作修饰符的参照或当作 LANGUAGE 子句之后的子句参照。





-9702	建立 FUNCTION 时, 必须指定 RETURN 子句。

所有函数都必须返回一个值。 指定返回子句, 或使用 CREATE PROCEDURE 语句。





-9701	EXTERNAL PROCEDURE 不能有 RETURN 子句。

不要给外部过程 PROCEDURE 指定 returns/returning 子句。你可以给 SPL 过程指定这个
子句，但请尽可能不要对某一过程指定 RETURN 子句。





-9700	例行程序 (routine_name) 混淆 - 一个以上的例行程序用来解决给定的签名。

当参数 (或其来源类型或父类型) 对两个或两个以上的例行程序的参数有隐含的形态转换时
, 会发生此问题。

例如：假定有两个例行程序 foo(paramtype1) 与 foo(paramtype2), 而 foo 是以 
foo(argtype) 所调用的。 还有两个从 argtype 转换到 paramtype1 以及从 argtype 
转换到 paramtype2 隐 含的型态转换。 在这种情形下, 会生成此错误。

如果不是 argtype, 而是在 argtype (如果是明显类型) 来源类型分层, 或是在 argtype
(如果 argtype 是字段类型) 超类型分层的 argtype_dad 有 paramtype1 与 paramtype2 
的型态转 换时, 也会生成此错误。





-9657	无法确定给定表达式中集合的数据类型。

只有在运行时才能确定提供的表达式中所用集合的数据类型。将集合强制转型为某个特定数据类型通常会解决该问题
。



-9656	无法创建单值类型（SERIAL、SERIAL8 或 BIGSERIAL）。

该语句指定创建类型为 SERIAL、SERIAL8 或 BIGSERIAL 的单值数据类型。SERIAL、SERIAL8 或 BIGSERIAL 数据类型不能作
为单值类型。

请从语句中除去 DISTINCT，或指定另一种数据类型。



-9654	集合的元素类型不唯一；必须进行显式强制转型。

复杂类型的元素类型（row、set、multiset 或 list）不唯一，通过隐式强制转型不能将它们从一种复杂类型转换成另一种复杂类型。请使用显式强制转型表示
法将源复杂类型显式强制转型为期望的目标复杂类型。



-9653	创建子类型/子表需要 UNDER 权限。

用户不是类型或表（语句试图在其下创建子类型或子表）的所有者，
同时用户尚未被授予对该类型或表的 UNDER 权限。

要在现有的已命名的行类型下创建一个命名的行类型或在现有的表下创建一个表，
您必须是该超类型或超表的所有者，或者您必须被授予对该超类型
或超表的 UNDER 权限。例如，下列语句序列允许名为 user2 的用户
在 user1 所创建的行类型或表之下创建一个命名的行类型和表。

   -- 作为名为 user1 的用户，可执行
   CREATE ROW TYPE super_rt (int_col INT);
   GRANT USAGE ON TYPE super_rt TO user2;
   GRANT UNDER ON TYPE super_rt TO user2;

   CREATE TABLE super_table OF TYPE super_rt;
   GRANT UNDER ON super_table TO user2;

   -- 作为名为 user2 的用户，可执行CREATE ROW TYPE sub_rt (float_col FLOAT) UNDER user1.super_rt;
   CREATE TABLE sub_table OF TYPE sub_rt UNDER user1.super_table;




-9651	在 "Union" 子句中不允许 Blobs。

在 UNION 查询中您选择了 TEXT 或 BYTE 列。每项查询
的 SELECT 子句不能包括任何 TEXT 或 BYTE 列。这些列
在 UNION 子句中不允许，因为 TEXT 和 BYTE 列不能被
测试是否相等。但是，UNION ALL 子句 可以包含 TEXT 
和 BYTE 列（在独立 SELECT 语句中或在 UNION 视图中）。





-9649	无法将用户定义的类型传输到低于 V9 的客户机版本。

版本低于 V9.x 的客户机中不支持该操作。



-9646	布尔表达式结果不是布尔类型。

条件表达式，如 WHERE 子句或 IF 子句，于此语句中求值时，结果不是布尔类型。所有
的条件表达式的求值必须是布尔值，因此请检查所有条件表达式求值是否正确 。如果表达
式不正确，使用适当的转换使求值正确。





-9645	不能执行类型转换来将用户定义数据类型转换成字符格式。

使用 SPL 的调试特性打印用户定义数据类型变量的内容时，如果数据库服务器未发现或执
行由已知用户定义数据类型转换到字符或长 varchar 格式时，会发生此错误。





-9643	类型 (type_name) 不可杂凑。

在 GROUPBY 语句中使用了杂凑法, 并以它作为删除 DISTINCT 子句与UNION 子句
中复制的值的架构。 无法使用在这些语句中说明为不可杂凑的类型。





-9642	引号字串超过 32768 个字节。

系统限定引号内的字串只能有 32768 个字节。 不能超出这个限制。





-9641	取消类型只能取消不明显类型或明显类型。

DROP TYPE 语句只适用于不明显类型与明显类型。 使用 DROP ROW TYPE 语句取消
行类型。





-9640	不能取消类型 (type_name)：在类型上定义了明显类型。

在取消类型前, 你必须先取消此类型中所有的明显类型。





-9639	不允许非行类型个别的授权/取消。

GRANT/REVOKE 语句中的 UNDER 子句仅适用于行类型 (与行类型个别的)。UNDER 
子句不能用于非行类型或明显非行类型。





-9638	不允许不明显类型的授权/取消。

GRANT/REVOKE 语句中的 UNDER 子句仅适用于行类型。 UNDER子句不能用于不明显类型。





-9637	型态转换函数 (function_name) 不存在。

型态转换时, 与型态转换有关的函数必须存在。 使用 CREATE FUNCTION 语句建
立此函数。





-9636	不明显类型超过了最大长度。

以不能超过的最大长度定义不明显类型。 请检验返回此类型的用户定义例行程序未企图
超过大小限制。 





-9635	在没有强制转型函数的情况下将一种不透明类型转换成另一种类型的尝试失败
。

指定的强制转型不存在，或者强制转型函数不存在。请使用 CREATE CAST 语句来定义强制转型，或者来创建强制转型函数
。

BOOLEAN、BLOB、CLOB 和 LVARCHAR 数据类型由数据库服务器作为内置的不透明数据类型来实现
。



-9634	没有来自 <type-name> 的型态转换。

不存在指定的型态转换，或型态转换函数不存在。 请使用 CREATE CAST 语句
定义型态转换或创建型态转换函数。






-9633	ALTER TABLE 不能修改字段 (column_name) 的类型。 
必须将当前类型转换成新的类型。

字段类型的转换需要型态转换。 请使用 CREATE CAST 语句, 
来定义从来源类型转换到目标类型的型态转换。





-9632	值与字段 (column_name) 的类型不匹配。

数据类型之间的自动转换需要隐含的型态转换。 请使用 CREATE IMPLICIT CAST 语句, 
定义来源类型与目标类型之间的型态转换。





-9631	不明显类型 (type_name) 已在数据库中存在。

在模式 (ANSI 模式) 或数据库中不明显类型必须是唯一的。 确定此类型尚未存在。





-9630	无法取消类型 (type_name)：仍在使用中。

不明显类型若是在使用中，无法将之取消。请确定无类型转换、函数、或明显类型的定义
是在此类型中。





-9629	不是类型的拥有者。

使用不明显类型时需要有 USAGE 许可。 使用 GRANT USAGE ON TYPE 语句, 授与使
用类型的许可。





-9628	未找到类型 (type_name)。

无法找到指定的 type_name。您使用的数据类型名称应该是 GBase  Database Server 的内置数据类型，或者是由用户/应用程序显式创建的
扩展数据类型。如果在 HDR 对的只读辅助服务器上遇到该错误，请检查是否曾在主服务器上创建过指定的 type_name
。

以下是扩展数据类型示例：单值类型、行类型、集合类型和不透明类型。在使用扩展类型之前，必须用 CREATE <datatype> TYPE 语句进行创建。示例：
CREATE DISTINCT TYPE di AS INT; CREATE ROW TYPE rt (a INT, b CHAR(10)); 



-9627	只有当长度为 1，2 或 4 时才能设定 passedbyvalue。

使用 CREATE OPAQUE TYPE 语句来定义固定长度的不明显类型，此类型是通过数值而
传递的，其内部长度必须为 1，2 或 4。





-9626	只有可变大小的不明显类型才须设定最大长度。

使用 CREATE OPAQUE TYPE 语句定义固定长度的不明显类型时, 
不该指定最大长度的修饰符。





-9625	必须将对齐设定为 1, 2, 4 或 8。

使用 CREATE OPAQUE TYPE 语句定义不明显类型时, 所指定的对齐修饰符必须为 1, 2,
 4 或 8。 用有效值重新定义类型。





-9624	最大长度必须大于 0 且小于 32768。

使用 CREATE OPAQUE TYPE 语句定义可变长度的不明显类型时, 所指定的最大长度修
饰符必须大于 0 个字节, 且小于 32768 个字节。 使用有效值重新定义类型。





-9623	内部长度必须大于 0 且小于 32768。

使用 CREATE OPAQUE TYPE 语句定义固定长度的不明显类型时，所指定的内部长度修
饰符必须大于 0 个字节，小于 32768 个字节。

使用有效值定义类型。





-9620	不能选定集合变量 (collection_variable_name)。

企图将 SPL 集合变量放在选定列表中时, 本错误在 SPL 中发生。 你必须从选取列表中
删除集合变量。





-9618	ROW 类型集合不允许使用别名。

对于集合衍生表格，不需提供字段名别名。请取消字段名别名。





-9617	SET 子句的来源应为简单的表达式。

集合衍生表只能使用常数, 宿主变量或表字段来更新。





-9616	应该由常数或变量来指定位置值。

LIST 中的 AT 关键字的位置参数必须是简单的整数, 文字, 字段或宿主变量。请将表
达式简化成任一种。





-9615	插入基础表时不允许使用关键字 AT。

只有在插入 LIST 时才可使用 AT 关键字。





-9614	此语句不允许有衍生的字段列表。

UPDATE 语句不需要衍生的字段列表。字段被放在表名后的括号内。另外，在所有
SQL 语句中，衍生字段只能与集合衍生的表相关。

从 UPDATE 语句删除衍生的字段列表。






-9613	自集合中选定时, 选定列表不能有表达式。

在使用集合的衍生表的选定列表中, 只允许 '*' 或字段名。 请检查你的 SELECT 列表。





-9612	在集合中不允许 WHERE, GROUP BY, HAVING 或 ORDERBY 子句。

请删除语句中的 WHERE, GROUP BY, HAVING 或 ORDER BY 子句, 或删除语句
FROM 子句中的 TABLE(:coll_host_var)。





-9611	当其中一个表为集合时, FROM 子句不能有联结。

你不能将集合所衍生的表与某个表联结在一起。 请删除查询 FROM 子句中的
TABLE(:coll_host_var)。





-9610	非法使用集合宿主变量。

您试图计算不是集合的数据类型的基数，通过使用没有赋值的未输入集合错误
地使用集合宿主变量，或者使用不正确的语法创建一个集合衍生表。

请查看您的手册以确定该上下文中集合的正确用法。






-9609	在表达式中不允许集合。

你试图选取子查询中的集合，在集合上执行累积，或在一些不允许其他表达式的地方使用
集合。请检查你的手册以决定表达式中集合可用的位置。





-9608	在 ORDER BY 子句中不允许集合。

请删除 GROUP BY 列表中的集合字段参照。





-9607	在 DISTINCT 子句中不允许集合。

请删除 DISTINCT 子句或删除 SELECT 子句中的集合字段。





-9606	在 GROUP BY 子句中不允许集合。

请移动 GROUP BY 列表中的集合字段参照。





-9605	滚动游标不能选择集合字段。

使用滚动游标时，你试图选取一个集合字段。你必须不用滚动游标重新写入此 
查询，或减少选取列表中的任意集合字段。





-9602	企图非法地将集合类型转换成另一类型。

你企图将某种类型的集合储存在不同类型的集合中, 或企图将集合移动到非集合的宿主变
量中。 在 ESQL/C 中, 只有被说明含有特定类型元素的集合宿主变量才能保留相同类型的
集合。 如果你需要集合宿主变量保留不同类型的集合, 请说明, 但不需说明它所特有的类
型信息。





-9504	参数数量超过 ASCII 函数的界限。参数个数必须在 0 和 255 之间，包括 0 和 255 在内
。

ASCII 函数的输入必须是 0 和 255 之间的数字。在报告规范中检查该函数的使用。如果命令行参数中值的数量不正确，可以考虑用 IF 语句测试它
。



-9503	无法打开表 tablename。

请检查表名的拼写是否正确。如果正确，表 tablename 可能不存在于数据库中（可能已经删除或重命名）；或者，如果它存在于数据库中，您的帐户可能没有对其的 
SELECT 访问权。或者，如果使用 GBase  SE 数据库服务器，您可能已超过打开的文件数限制，从而限制您可以在 SELECT 语句中命名的表
数。这种情况下，您可能必须修订报告的 SELECT 节，以使用更多的 SELECT 语句，每条语句命名较少的表。V4.0 以后的产品不会发出此消息
。




-9500	下标出界。

此语句采用字符变量子串。子串值（即方括号中的两个数字）不正确。第一个值小于零或大于列的长度，或者第二个值小于第一个。请更正表单规范并重新编译
。



-9499	内部 JAR 处理错误。请与您的管理员核实。

意外的 JAR 处理错误。

有关更多信息，请查阅 jvp.log 和 online.log 文件。



-9498	到指定的 JAR 文件的路径不正确：（<路径名>）。

要安装的 JAR 文件的路径名不正确。

更正到 JAR 文件的路径，然后重试。




-9496	无法将 Java 类型映射到 SQL 类型或将 SQL 类型映射到 Java 类型。

无法在 Java 类型和指定的 SQL 类型之间进行映射。
数据库服务器因其 SQL 类型无法映射到 Java 类型
而不能启动 Java 用户定义的例程，此时常常会出现这样的错误。

检查关于 Java 用户定义的例程的声明。




-9495	数据库服务器 JDBC 内部错误。请与您的管理员核实。

意外的 JDBC 驱动程序内部错误。如果 JDBC 驱动程序获取内部资源失败，将出现该错误
。

有关诊断信息，请检查 jvp.log 和 online.log 文件。



-9494	该数据库服务器不支持 Java，或装入 Java 语言模块时出错
。

您的数据库服务器的版本可能不支持 Java。

如果您正在使用支持 Java 的数据库服务器并且您的分发版中不存在 Java 语言模块 $GBASEDBTDIR/extend/krakatoa/
lmjava.so，请联系 IBM 技术支持。



-9493	来自调度描述符的不被支持的命令：(%s)。

为数据库服务器在调度描述符文件中支持的命令查看 J/Foundation 文档。






-9492	不支持的功能：(%s)。

该版本的数据库服务器不能执行指定的功能。






-9491	此环境中不允许用户线程，必须是 DBAThread。

用户从用户定义的例程内创建的 Java 线程不允许打开 JDBC 连接。

如果此类线程需要进行 SQL，那么它们需要打开 solano 连接，
以便依此运行查询。




-9490	没有找到关于 jar 的清单文件(%s)。

install_jar() 需要处理的所有调度描述符都必须列在关于 jar 的清单文件中。
请确保清单文件已为 jav 正确创建。如果没有可处理的调度描述符，可以将
值'0'作为最后一个参数传递给 install_jar() 内置过程。






-9489	无效的 jar 替换。来自旧 jar 的类(%s)仍然被引用。

在新jar 中至少有一个旧jar的类没有被替换，并仍然被Java UDR 引用。您必须在
试图替换jar 前删除Java UDR，或者向新jar 中添加类。






-9488	无效的jar 删除。所有依赖的 UDR 都没有被取消。

如果依赖的UDR仍然在引用jar 中的类，您就不能删除这个jar。请取消所有
在其外部名称中引用jar 中的类的用户定义函数和/或用户定义过程。






-9487	试图删除一个不存在的 jar：(%s)。

您不能取消一个还没有安装的 jar。






-9486	无效的 URL。

检查关于jar 的URL 语法。






-9485	试图安装一个已有的jar：(%s)。

在安装具有相同名称的jar之前，先删除已有的jar。






-9484	无效的 jar 名称。

如果jar 的名称指定了数据库和/或用户名，请确保这些名称与jar 安装
环境中的数据库和用户相匹配。






-9483	未被承认的类型：(%s)。

请确保指定的数据类型在当前的数据库中已注册。






-9482	调度描述符文件(%s) 的格式错误。

请参考 J/Foundation 文档以了解调度描述符文件的正确格式。






-9481	发生内部错误： (%s)。

请联系 IBM 技术支持。



-9480	存在未知的迭代器代码。

请联系 IBM 技术支持。



-9479	未知可丢弃：(%s)。

Java UDR 丢弃了一个未知的例外。请查看 Java VP 日志以获得详细信息。






-9478	VM 内存不足：剩余 (%s) 字节。

没有足够的内存用来启动一个新的Java UDR实例。减少与Java虚拟处理器（VP)
连接的会话数，或者终止对资源敏感的Java 计算。






-9477	无法获得 UDR 环境。

UDR 环境对象只可用于Java UDR 线程。请确保 getUDREnv() 方法
没有被Java UDR 分支的子进程调用。






-9476	发生数据库服务器 JDBC 错误： (%s)。

请联系 IBM 技术支持。



-9475	连接已关闭。

请确保用于发布 JDBC 操作的连接仍然处于打开状态。






-9474	无法连接到数据库 (%s)。

请联系 IBM 技术支持。



-9473	连接数据库失败。

请确保数据库存在，并且具有所有要求的存取权限。






-9472	创建 Solano 连接时出错：(%s)。

请联系 IBM 技术支持。



-9471	数据库服务器连接失败。

请联系 IBM 技术支持。



-9470	无法建立 JDBC 连接以嵌入应用程序。

请联系 IBM 技术支持。



-9469	UDR 连接失败。

请联系 IBM 技术支持。



-9468	无法在非 UDR线程中进行 UDR 连接。

只可以从执行Java UDR的线程中进行UDR 连接。请确保连接没有被UDR分支的
子进程创建。






-9467	驱动程序关闭，没有新的连接。

Java 虚拟处理器(VP)在创建JDBC连接的中途被关闭。终止您的JDBC 会话，然后
在VP 完全从数据库服务器中删除后，重新启动它。
 





-9466	必须在 URL 中指定口令=值。

请确保JDBC URL 中包含用于所想用户会话的口令。






-9465	必须在 URL 中指定 dbname。

请确保 JDBC URL 中包含数据库名。






-9464	必须在 URL 中指定用户=名称。

请确保JDBC URL 中包含用户名。






-9463	无法装入指定的 IfxProtocol 类：(%s)。

请确保您在DriverManager.getconnection() 方法中指定的 JDBC URL对于
ProtocolClass参数具有有效的协议类名。






-9462	驱动程序被关闭。

当Java 虚拟处理器 (VP)处于关机进程中，不能创建新的JDBC 连接。终止您的
JDBC会话，然后在VP 完全从数据库服务器中删除后，重新启动它。






-9461	无法读取 (%s) 字节的二进制数据流。

大对象中包含的数据字节数少于被要求从中读取的字节数。

请确保用于创建大对象的二进制数据流拥有足够的数据。






-9460	针对大对象的连接不正确。

请联系 IBM 技术支持。



-9459	大对象错误：(%s)。

数据库服务器不能使用一个JDBC连接存取大对象。请检查包含在该错误消息中的
问题信息。并确保来自大对象的连接仍然有效。






-9458	无法启动大对象搜索。

数据库服务器无法使用一个JDBC连接执行在大对象上的查找。
请确保来自大对象的连接仍然有效。






-9457	无法将大对象句柄转换为字节[]。

数据库服务器无法使用一个JDBC连接获得大对象的内容。
请确保来自大对象的连接仍然有效。






-9456	无法获取大对象长度

数据库服务器无法使用一个JDBC连接获得大对象的长度。
请确保来自大对象的连接仍然有效。






-9455	无法访问大对象。

请确保 SBSPACENAME 配置参数指示的缺省sbspace已经被创建。onspaces实用
工具创建了sbspaces。






-9454	为用户定义类型(%s)获取长度错误。

请确保用户定义类型的长度被正确存储在 sysxtdtypes 系统目录表中。






-9453	JDBC 命令不返回任何行。

执行 JDBC 命令后，数据库服务器没有返回任何行。




-9452	处理 null 参数错误。请使用类型的Java对象形式 (%s)。

您可能将一个Java 原始类型作为参数用于映射到指定的Java UDR的Java 方法中。
null 值对于原始类型的参数是无效的。请用Java对象类型替换Java原始类型。
例如：用"java.lang.Integer"替换"int"。






-9451	例示用户定义类型映射类(%s)错误。

请确保指定的 Java 类对例示拥有正确的存取权限。为Java 语言检查例示
规则。






-9450	Java 方法调用失败(%s)。

请确保 Java 方法可存取。即：它必需是公共的，或者是与调用者在同一个包中。






-9449	Java UDR 方法没有找到或者不是静态的：(%s)

请确保指定的Java 方法在指定类中是作为一个公共静态方法存在的。还要确保
定义方法的签名与 CREATE FUNCTION 或 CREATE PROCEDURE语句指定的签名相匹配。






-9448	SQL 和Java 签名中的参数数目不相等(%s)。

请确保 CREATE FUNCTION 或 CREATE PROCEDURE 语句中提供的 SQL 和
 Java 签名指定的参数数目相同。






-9447	不能执行类型(%s) 的 Java 到 SQL 类型映射。

用户定义类型的映射无效。请参考 J/Foundation 以了解允许的类型映射。






-9446	Java 用户定义例程执行失败：(%s)。

根据括号中消息指出的问题更正Java UDR 执行。






-9445	Java 语言管理器操作失败 (%s)。

请联系 IBM 技术支持。



-9444	Java 虚拟处理器初始化失败：(%s)。

请确保数据库服务器的配置文件对 J/Foundation 的设置正确。还要确保您的
JDK 版本安装正确。对于需要 /usr/lib 链接到 JDK 共享库的 Solaris 系统，
请确保链接与 setjdk 实用工具一起正确安装。






-9443	无法找到类型(%s)的类。

对于用户定义的映射，请确保在CLASSPATH环境变量或安装在数据库中的jar 中
存在有类。其它数据类型的映射来自Java 开发员工具包(JDK)，或GBasedbt
增强类。对于这些数据类型，检查JDK 的安装以及GBasedbt数据库服务器。






-9442	错误装入Java UDR 类(%s)。

进行下列检查以确保已装入包含Java UDR的类：
     o  包含类的目录必须在CLASSPATH 环境变量中指定。
     
     o  包含类的 jar 必须与内置过程install_jar()一起正确安装。
     
     o  正确创建 jar 文件，并带有到类的正确路径。
     





-9441	无法创建 UDR 线程 (%s)。

嵌入式 Java 虚拟机无法创建用于处理 UDR 调用的线程。请联系 IBM 技术支持
。



-9440	服务器 JDBC 无法打开游标。

服务器 JDBC 试图打开游标 fetch 失败。




-9439	distinct 类型不支持的特性或方法（<标识符>)。

distinct 类型当前不支持的特性或方法（<标识符>)。
未来发布的版本中可能会实施该特性或方法。




-9438	opaque 类型不支持的特性或方法（<标识符>)。

opaque 类型当前不支持的特性或方法（<标识符>)。
未来发布的版本中可能会实施该特性或方法。




-9437	无法获取 SQLException 信息。

在访问 SQLException 对象期间发生内部错误。

请联系 IBM 技术支持。



-9436	Java UDR 的 VP 类必须是 CLASS_JAVA。

Java UDR 只能在 JVP 上运行。




-9435	在 Java 过程执行期间发生意外故障。

Java 过程执行期间发生了意外故障。

有关详细信息，请查看 online.log。




-9434	Java 虚拟处理器的初始化期间发生意外故障。

JVP 初始化期间发生了意外故障。

有关详细信息，请查看 online.log。




-9433	无法定位 Blob/Clob。

访问大对象期间发生内部错误。

请联系 IBM 技术支持。



-9432	此版本的 Java 中不支持变量长度 UDT。

此版本的 Java 不支持变量长度。预期在未来发布版中支持此特性。




-9431	不能找到系统类、方法或库（<标识符>）。

Java 启动无法找到系统类或方法（<标识符>）。

请检查计算机上的 Java 安装和 J/Foundation 安装。
可能安装了错误的版本，或者安装没有正确地完成。




-9430	发生 JNI 内部错误。无法找到或执行 JNI 调用 (<call-id>)
。

无法执行指定的 JNI 调用。导致该错误的可能原因包括 JVP ONCONFIG 变量设置无效、可能发生 VM 崩溃和 VM 损坏。例如，
JVPCLASSPATH ONCONFIG 参数可能缺少 $GBASEDBTDIR/extend/krakatoa/krakatoa.jar 文件，或者 
JVPCLASSPATH 或另一个 ONCONFIG 参数的路径或文件名可能不正确
。

请检查 JVP ONCONFIG 变量设置。如果设置有效，请联系 IBM 技术支持
。



-9429	Java 初始化失败，无法找到库/例程（<标识符>）。

Java 启动无法找到库或指定的例程（<标识符>）。

请检查机器上的 Java 安装。可能安装了错误的 JDK 版本，
或者安装没有正确地完成。




-9428	Java 配置 (<configuration-name>) 参数错误。

没有正确指定配置参数。

修改配置参数，然后重新启动服务器。




-9427	不能在该配置中使用 Green 线程。

不能在该配置中使用 Green 线程。该平台只支持本机线程。




-9426	不能在该配置中使用 Native 线程。

不能在该配置中使用本机线程。该平台只能支持 green 线程。




-9425	Java 内存池发生内部错误。

使用 Java 内存池期间发生了意外的内部错误。
内存池可能已损坏。
请重新启动数据库服务器。




-9424	服务器 JDBC 无法从服务器获得行。

服务器 JDBC 试图从数据库服务器获得行时出错。 这是内部错误。




-9423	事务请求 %s 无法执行。

服务器 JDBC 试图开始一个事务时，执行失败。

请查看 online.log 了解任何故障的原因。




-9422	JDK 1.2 不能与内核 AIO 一起使用。

JDK 1.2 不能与内核 AIO 一起使用。

禁用内核 AIO 并再试一次。




-9412	支持函数<函数名>的返回类型与聚合状态类型不匹配。

当您为用户定义的数据类型扩展一个内置聚合时，操作符函数的返回类型必须与
用于扩展聚合的数据类型相同。例如：如果您试图在 "new_type"数据类型上使
用SUM聚合，数据库服务器将会查找带有下列签名的plus() 函数：

     CREATE FUNCTION plus(c1 new_type, c2 new_type)
            RETURNING new_type;

如果一个INIT 支持函数的返回类型与ITER 或 COMBINE 函数的返回类型不一样时，
用户定义的聚合也会发生该错误。对于用户定义类型，请确保INIT 函数（如果
有的话），ITER 函数和 COMBINE 函数的返回类型与用户定义的类型相同。






-9411	用户定义的聚合支持函数<函数名>不处理句柄 null。

您用 HANDLESNULLS 选项创建了一个聚合，但是错误消息中指出的函数
不处理 null。

当您用 HANDLESNULLS 选项创建了一个聚合时，所有支持函数都必须处理
null。您可以改变聚合，也可以改变函数。要改变聚合，可以取消聚合，然后
不用 HANDLESNULLS 选项重新创建它。

如果聚合需要处理 null 值，您就必须修改函数以便它能够处理null。然后取消
函数并用 HANDLESNULLS 选项重新注册它。






-9410	用户定义的聚合<聚合名>有两个参数，但是没有指定 INIT函数。

SELECT语句中用户定义的聚合指定了一个设置参数。但是定义该聚合的
 CREATE AGGREGATE 语句没有指定一个INIT支持函数。设置参数的处理
 必须在INIT函数中进行。

您可以调用没有设置参数的用户定义聚合，或者为用户定义的聚合执行
一个设置参数。要执行一个设置传输，可采取以下措施：

     -  编写一个处理设置参数的INIT支持函数。
     
     -  注册该 INIT 函数（用 CREATE FUNCTION）。

     -  取消用户定义的聚合（用DROP AGGREGATE）。

     -  重新定义用户定义的聚合（用 CREATE AGGREGATE），提供INIT
     	修饰符以指定新的 INIT支持函数。
        





-9409	用户定义的聚合<聚合名>的参数太多。

SELECT 语句中用户定义的聚合指定的参数太多

请确保SELECT 语句中用户定义的聚合提供了正确数目的参数（一个，或者
如果聚合中包括一个设置参数，也可能是两个）。






-9408	用户定义的聚合<聚合名>没有参数。

SELECT 语句中用户定义的聚合没有指定任何参数

请确保SELECT 语句中用户定义的聚合提供了正确数目的参数（一个，或者
如果聚合中包括一个设置参数，也可能是两个）。






-9407	聚合<聚合名>的设置参数不能包含非组字段。

如果已经用设置参数对用户定义的聚合进行了定义，那么该聚合的第二个参数
必须为一个常数，或者为查询的GROUP BY 子句中的一个字段。

例如：以下两个语句是有效的；

    SELECT new_aggr(colA, 2) FROM some_table

    SELECT new_aggr(colA, colB) GROUP BY colB FROM some_table






-9406	无法为用户定义的聚合<聚合名>分辨支持函数。

您试图使用一个内置的聚合，但是数据库服务器无法为该聚合找到一个合适的
支持函数。例如：如果您试图在 "new_type"数据类型上使用SUM聚合，那么
数据库服务器将会查找下列操作符函数：

     plus(new_type, new_type)

当CREATE AGGREGATE语句列出(INIT/ITER/COMBINE/FINAL)的支持函数有所
遗漏时，用户定义的聚合也会发生该错误。

请确保用户定义的聚合拥有正确的支持函数。这些函数必须存在，并且必须
用 CREATE FUNCTION 在数据库中进行了注册。






-9405	必须为用户定义聚合<聚合名>的所有者。

您试图取消一个由别人创建的用户定义聚合。要取消用户定义的聚合，您必须
拥有（创建者）该聚合，或者具有DBA权限。






-9404	用户定义的聚合<聚合名>不存在。

数据库中没有指名的聚合。在使用一个用户定义的聚合之前，您必须创建必要的
支持函数，并且用 CREATE AGGREGATE 语句注册新聚合。






-9403	必须指定<修饰符>修饰符。

您需要将指名的修饰符包括在 CREATE AGGREGATE 语句中。迭代程序（ITER）和
组合（COMBINE）函数对于所有用户定义的聚合是必需的。






-9402	出现多个<修饰符>修饰符。

INIT、ITER、COMBINE、FINAL 和 HANDLESNULLS 中的每个修饰符在 CREATE 
AGGREGATE 语句中只出现一次。检查您的语句以免修饰符名称重复出现。






-9401	无法重新定义或取消内置聚合<聚合名>。

指名的聚合是相同定义的聚合。您可以重复载入支持内置聚合的函数，但是您
不能重新定义或取消内置的聚合。

为指名函数创建支持函数，但是不要使用 CREATE AGGREGATE 语句。






-9400	用户定义的聚合<聚合名>已经存在。

给定的名称在数据库中已经存在，或是作为一个聚合名，或是作为一个例程名。（您
不能让聚合和例程拥有同样的名称。）

改变 CREATE AGGREGATE 语句以使聚合具有唯一的名称。






-9305	尝试在 UDT 数据的结尾后读取或定位。

当 Java 用户定义的例程 (UDR) 尝试在用户定义的类型 (UDT) 数据（UDT 数据输入流中提供）的结尾之后读取或设置位置时，将发生该错误
。

按照数据输入 UDR 代码，仔细检查 UDT 的长度和结构。



-9304	该版本不支持可更新的滚动游标特性。

9.21 数据库服务器不支持可更新的滚动游标特性。
试图使用可更新的滚动游标方法
（如 updateRow()、insertRow() 或 deleteRow()）时，
会出现此错误消息。




-9303	用户 SQL 例外。<例外>

J/Foundation 返回了指定的 SQL 例外。




-9302	不能为<标识符>设置新的路径标志。

J/Foundation 不能为指定的对象设置新的路径标志。




-9301	不能为全局 JVP 列表中的 jar (<jar-id>) 设置删除标志。

J/Foundation 不能为全局 JVP 列表中指定的 jar 设置删除标志。




-9300	不能为全局 jar 列表中的 UDT (<udt-id>) 设置清除标志。

J/Foundation 不能为全局 jar 列表中指定的用户定义的类型设置清除标志。




-9275	小数数据精度超过 DRDA 连接允许的限制。

查询输出包含小数数据，其精度超过 DRDA 连接允许的 31 位限制
。



-9272	当前客户机/服务器配置不支持数据类型 <type_name>。

当前客户机版本不支持数据类型 <type_name>。请修改查询，不使用 <type_name> 数据类型或升级客户机版本
。



-9271	类型 <opaque_type_name> 未在分布式查询中使用的所有数据库中一致地定义
。

用户定义的数据类型 <opaque_type_name> 的属性在本地和远程数据库上不相同。在分布式查询中使用的 UDT 在查询所访问的所有数据库中必须具有相同
的属性和类型层次结构。

在本地和远程数据库中检查 <opaque_type_name> UDT 的定义。修改其中一个 UDT，或修改全部两个，使它们相同
。



-9270	在分布式查询中不支持类型 <opaque_type_name>。

在分布式查询中不支持类型 <opaque_type_name>。类型 <opaque_type_name> 无法在访问多个数据库的查询中使用
。

修改查询，不要使用 <opaque_type_name> 数据类型。



-9269	xadatasource 的 xa_open 目的函数返回了一个错误。

xadatasource 的 xa_open 目的函数返回了一个错误。要注册 xadatasource 实例，需要 xa_open 是成功的（即，它需要返回 
XA_OK）。



-9268	Xadatasource 名称未在事务中注册。

xadatasource 名称未在事务中注册；xadatasource 必须先注册，然后才能取消注册
。



-9267	Xadatasource 名称在数据库中不存在。

xadatasource 名称在当前数据库中不存在。检查 xadatasource 的名称；可能存在拼写错误。否则，请创建 xadatasource 名称
。



-9266	未在事务中。

数据库服务器无法注册或取消注册 xadatasource 实例，因为在当前会话中没有活动的事务。要注册或取消注册 xadatasource 实例，必须启动事务
。



-9265	无效的 xadatasource 名称。

作为参数传入的 xadatasource 名称无效。xadatasource 名称的有效格式是“xadatasourcename”或“
owner.xadatasourcename”。



-9263	在非日志记录数据库中无法执行 CREATE/DROP XADATASOURCE 语句
。

“CREATE XADATASOURCE TYPE”、“CREATE XADATASOURCE”、“DROP XADATASOURCE TYPE”和“DROP 
XADATASOURCE”语句是对于外部数据库的事务支持。非日志记录数据库不支持事务，所以在非日志记录数据库中无法执行这些语句
。



-9262	xadatasource 目的函数指示发生错误 [err]。

尝试执行 xadatasource 目的例程时出错。有关更多信息，请参阅随附的 XA 错误代码
。



-9261	无法删除仍在使用的 xadatasource (name)。

xadatasource 在使用时无法删除。确保该名称当前未在事务中注册
。



-9260	无法删除仍在使用的 xadatasource 类型 (type_name)。

xadatasource 类型在使用时无法删除。确保未使用该类型名称定义任何 xadatasource
。



-9259	不是 xadatasource 的所有者或 DBA。

执行 DROP XADATASOURCE 语句的用户未被授权，因为该用户不是 xadatasource 类型的所有者或没有 DBA 特权
。



-9258	不是 xadatasource 类型的所有者或 DBA。

执行 DROP XADATASOURCE TYPE 语句的用户未被授权，因为该用户不是 xadatasource 类型的所有者或没有 DBA 特权
。



-9257	xadatasource 类型的目的函数所用的值不正确。

在 CREATE XADATASOURCE TYPE datasource_type_name 语句中，目的例程使用了不正确的值。请为目的例程使用正确类型的值
。



-9256	xadatasource 类型未使用必需的目的函数。

对于 CREATE XADATASOURCE TYPE datasource_type_name 语句，未使用某个必需的目的例程。更改所使用的目的例程，直到包含
或保留所必需的目的例程。

示例：CREATE XADATASOURCE TYPE xads_t1( xa_flags    = 1, xa_version  = 0, 
xa_open     = xa2pc_open, xa_start    = xa2pc_start, xa_close    = xa2pc_close, 
xa_end      = xa2pc_end, xa_rollback = xa2pc_rollback, xa_prepare  = 
xa2pc_prepare, xa_commit   = xa2pc_commit, xa_recover  = xa2pc_recover, 
xa_forget   = xa2pc_forget, xa_complete = xa2pc_complete); 



-9255	xadatasource 类型所用的目的函数重复。

CREATE XADATASOURCE TYPE datasource_type_name 语句多次使用某个目的例程。更改所用的目的例程，直到没有重复项
。



-9254	xadatasource 类型所用的目的函数不正确。

用于 CREATE XADATASOURCE TYPE type_name 语句的目的例程不正确。可能存在拼写错误。否则则说明，它与其他目的例程的组合使用不正确
，或者它不是一个适用于 xadatasource 类型的目的例程。更正目的例程的拼写，或者更改一个或多个目的例程，直至目的例程的组合有效
。

示例：CREATE XADATASOURCE TYPE xads_t1( xa_flags    = 1, xa_version  = 0, 
xa_open     = xa2pc_open, xa_start    = xa2pc_start, xa_close    = xa2pc_close, 
xa_end      = xa2pc_end, xa_rollback = xa2pc_rollback, xa_prepare  = 
xa2pc_prepare, xa_commit   = xa2pc_commit, xa_recover  = xa2pc_recover, 
xa_forget   = xa2pc_forget, xa_complete = xa2pc_complete); 



-9253	未找到 Xadatasource datasource_name。

datasource_name DROP XADATASOURCE datasource_name 不存在。请使用正确的名称
。



-9252	未找到 Xadatasource 类型 datasource_type_name。

尝试使用 DROP XADATASOURCE TYPE datasource_type_name 语句来删除的 datasource_type_name 不存在
。请使用正确的 datasource_type_name。



-9251	数据库中已存在 Xadatasource datasource_name。

正在使用 CREATE XADATASOURCE datasource_name USING 语句创建的 xadatasource 已存在。必须使用新的名称
。



-9250	数据库中已存在 Xadatasource 类型 datasource_type_name。

正在使用 CREATE XADATASOURCE TYPE 语句创建的 xadatasource 类型已存在。必须使用新的名称
。



-9143	字符、文本和字节数据无法打印成所使用的格式。

USING 函数只能应用于数字数据。请修订报告规范。



-9142	日期转换错误。

ACEGO 正在尝试从字符转换成 DATE 数据类型，但发生错误。日期的标点不正确，存在多余的非数字字符，或者日期本身有矛盾（例如“01/32/91”）
。



-9140	尝试将行号除以零。结果设置为零。

报告规范文件的行号上的表达式包含除法运算。在报告运行的某一时间点，表达式中的除数为零。请检查表达式及其使用的数据并编写报告，使除以零的情况不会出现（例如，通过在
IF 语句中对零进行测试）。该错误可能是在处理第一行数据之前对已定义的变量应用聚集函数而造成的。要避免这种情况，请确保在使用任何变量之前它们都有值（例如，通过从
命令行参数或使用 ROMPT FOR 语句设置它）。



-9072	已经读入 ASCII 输入文件中的计数记录。

此参考消息可帮助您在 ASCII 输入文件中找到问题来源。在该文件的计数行中找到了另一条消息中描述的问题
。



-9071	平面 ASCII 输入文件中的记录包含的数据字段少于报告的 DEFINE ASCII 语句中指定的数据字段
。

ASCII 文件中的字段是以某个定界字符结束的一串零或其他字符（定界符在 READ 语句中指定）。实际上，每条记录中都存在与定界字符一样多的字段。每条记录中的字
段数必须相同，并且每个字段都必须在报告的 DEFINE 节的 ASCII 语句中定义。缺少的字段没有缺省值。请查找消息 -9072；该消息可以帮助查找出错的记录
。



-9070	平面 ASCII 输入文件中的记录包含的数据字段多于报告的 DEFINE ASCII 语句中指定的数据字段
。

ASCII 文件中的字段是以某个定界字符结束的一串零或其他字符（定界符在 READ 语句中指定）。实际上，每条记录中都存在与定界字符一样多的字段。每条记录中的字
段数必须相同，并且每个字段都必须在报告的 DEFINE 节的 ASCII 语句中定义。将不会忽略额外的字段。请查找消息 -9072；该消息可以帮助查找出错的记录
。



-9068	在 SELECT 节中找到的 SQL 语句不是 SELECT 语句。只有 SELECT 语句或创建临时表的 SELECT 语句才允许出现在 SELECT 节中
。

报告规范中可能错误拼写了单词 SELECT。如果您有目的的编写了另一条 SQL 语句（如 UPDATE 或 INSERT），请除去它；报告中只允许 SELECT
语句。（您可以在从报告中调用的 C 函数中执行其他 SQL 语句。ESQL/C 手册中讨论了外部 C 函数与报告的关联。）



-9067	ACE 算术堆栈已超过其界限。此处的表达式太复杂。

请降低算术表达式的复杂性。例如，将表达式分成多个子表达式，并将每个表达式的值赋给变量
。



-9066	在写入输出报告时发生错误。

已正确打开报告目标，但是在写入输出时操作系统报告了错误。请从操作系统中查找对问题进行解释的错误消息。该错误的最常见原因是缺少可用磁盘空间
。



-9065	内存分配失败。

ACEGO 无法分配用来容纳列、行或 SQL 数据结构的内存。所需空间与报告规范的大小并不（如消息文本显示）直接相关。报告最多只缺少几千字节即可运行
。



-9064	运行时字符串表已满。没有更多的内存可供分配。

可用于临时字符串的数据空间已满。在调用外部 C 函数或处理 USING、SPACE 和 ASCII 内置函数时构建了临时字符串。请减少对这些项的使用
。



-9063	在用户 C 静态数据区中的 C 函数定义表 userfuncs 中找不到用户在 ACE 的 DEFINE 语句中定义的用户函数名
。

报告的 DEFINE 节中包含一条 FUNCTION 语句，指示外部函数名将与报告关联。（ESQL/C 手册讨论了对 ACE 报告和“执行”屏幕使用外部 C 函
数的情况。）但是，每个此类函数的名称和地址必须出现在名为 userfuncs 的静态数组中。该数组与外部函数的计算机代码一起与 ACEGO 的定制版本关联。由于
名称未出现在数组中，ACEGO 无法调用它。

请检查是否执行 ACEGO 的正确定制版本（程序的原始版本没有外部函数与其关联）。请查看名称拼写是否正确。然后检查 C 函数的源来确保 userfuncs 数组
定义正确并且它包含一个名称条目。



-9062	在数字值转换成 CHARACTER 类型的用户变量的过程中发生错误。CHARACTER 类型的变量长度不足以容纳结果
。

数字值转换成字符时生成的数字字符数多于目标可以容纳的字符数。ACEGO 没有截断结果，而是停止并显示错误。您可以重新定义目标变量，也可以限制转换的值的大小（例如
，通过 USING 格式字符串）。



-9061	“SELECT INTO”语句不能作为 ACE 报告中的最后一条 SELECT 语句执行
。

报告的 SELECT 节可以包含多条 SELECT 语句。这些语句中的最后一条（或唯一一条）语句必须生成属于报告内容的行。前面的任何 SELECT 语句都用来准
备临时表中的数据，最后的语句会把这些数据传递给报告。请更改报告规范，使除了最后一条 SELECT 语句外其他语句全部包含 INTO TEMP 子句
。



-9060	用于对名称加下标的值 m 和 n 超过列的已定义长度界限
。

ORDER BY 子句中的列子串不正确。当获取列的子串时，方括号中的第一个数字用来指定第一个字符的位置，第二个数字用来指定子串最后一个字符的位置。两个数字不得小
于 1 并且不大于列或变量的总长度。



-9059	不是 ACE 报告中最后一条 SELECT 语句的 SELECT 语句必须选入临时表中
。

报告的 SELECT 节可以包含多条 SELECT 语句。但是，这些语句中只有最后一条语句可以生成属于报告内容的行。前面的 SELECT 语句都用来准备临时表中
的数据，最后的语句会把这些数据传递给报告。请更改报告规范，使除了最后一条 SELECT 语句外其他语句全部包含 INTO TEMP 子句
。



-9055	找不到或无法打开已编译的报告文件 filename。

在 ACEGO 命令行上已命名报告 filename。它需要在当前目录中或 DBPATH 环境变量指定的路径中找到文件 filename.arc，但是它找不到该
文件，或者无法打开该文件进行读取。请检查文件名拼写是否正确，以及您的帐户是否具有对该文件的读访问权
。



-9054	ACE 报告已由版本 A 的编译器编译。此运行程序只能运行 5 到 B。请使用 SACEPREP 重新编译 ACE 报告规范并重新运行 SACEGO
。

ACEPREP 和 ACEGO 的版本必须相符。（要检查任一程序的版本，请通过带 -v 选项的命令行运行该程序。）要重新编译报告，请使用与运行程序 ACEGO 
版本相同的编译器 ACEPREP 版本。如果版本已相同，无论任何请重新编译报告来确保 .ace 文件未损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技
术支持。



-9053	已检测到 .arc 文件中的未知条目。请使用 SACEPREP 重新编译 ACE 报告规范并重新运行 SACEGO。确定 SACEPREP 和 SACEGO 的
版本号相同。

ACEPREP 和 ACEGO 的版本必须相符。（要检查任一程序的版本，请通过带 -v 选项的命令行运行该程序。）要重新编译报告，请使用与运行程序 ACEGO 
版本相同的编译器 ACEPREP 版本。如果版本已相同，无论任何请重新编译报告来确保 .ace 文件未损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技
术支持。



-9052	格式字符串太长。不能超过 79 个字符。

提供给 USING 函数的格式字符串是有大小限制的。



-9051	ACE 程序中已定义参数的数量与传递给命令行上 ACEGO 的实参数量不等
。

使用 DEFINE 节中 PARAMETER 语句定义的参数的数量与命令行中作为参数提供的项数不相符。请检查包含空格或其他特殊字符的参数是否已加引号；缺少引号会
导致单个参数被视作多个参数。



-9050	用户变量名为 type 类型。输入的值超出范围，或者无法转换成该类型
。

已输入了值来响应 PROMPT 语句，该语句可将值存储在所显示名称和类型的变量中。但是，不能将所输入的值转换成该变量的数据类型（请参阅错误 -9049 的论述以
获取有关转换的详细信息）。请重新运行报告，并输入相应数据（另请考虑修订提示字符串，以便更好地指导用户）
。



-9049	作为命令行参数输入的值不能转换成数据类型 type。

DEFINE 节中的 PARAMETER 语句将命令行中的一个值定义为具有数据类型 type。但是，命令行中提供的值不能转换成该类型。请检查下面几点
：

*   如果类型为数字，请检查是否可以将参数作为数字读取。

*   如果类型为 MONEY，参数应该也不包含货币符号。

*   如果类型为 CHARACTER 或 VARCHAR，请检查参数是否不长于为变量定义的长度
。

*   如果类型为 DATETIME，请检查是否对参数正确加标点（请参阅用户指南中 DATETIME 和 INTERVAL 数据的相关信息）
。

*   如果类型为 DATE，请检查是否对参数正确加标点使其成为日期
。

正确加标点的 DATE、DATETIME 和 INTERVAL 值包含可能对操作系统具有特殊意义的字符。问题可能在于参数是正确的，但需要用引号括起来进行保护
。



-9048	无法打开管道 pipe-specification。

报告已定向至 REPORT TO 语句中显示的管道。请确保其中的所有程序名拼写正确，程序存在，以及它们位于当前的执行路径中。请从操作系统中查找可以表示故障来源的
其他消息（例如，表示可用系统内存不够的消息）。



-9047	无法创建输出文件 filename。

可能是您的帐户在该目录中没有写许可权，或者磁盘已满，或者您已超过了打开文件数的限制
。



-9046	无法打开报告输出文件 filename。这很可能是由于许可权引发的问题
。

报告已通过 REPORT TO 语句或者通过 DBPRINT 环境变量的内容定向至所显示的目标。请确保目标拼写正确。验证您的帐户是否具有操作系统许可权来写目标文
件，同时目标磁盘是否可写并且未满。



-9025	列名不在当前表中。用作 ORDER BY 列的任何列必须在当前表中
。

所显示的名称出现在 ORDER BY 字后，但是它不是列名，也不是在此语句中选择的表达式的显示标签
。



-9014	用法：SACEGO [-q][-d database] report-filename。

标志：

-q   SACEGO 不会打印任何消息或错误。

-d   SACEGO 将使用 -d 选项后的数据库名称，而不是报告规范的 DATABASE 节中指定的数据库名称
。

当 ACEGO 未给定适当的命令行参数时显示此消息。其他消息可能对它进行明确的解释。您可以按照手册中的说明，使用 -s 选项代替 -q（如消息中所示）；它们的作
用相同。



-9004	列名不在当前表中，或者尚未定义用户变量名。

无法将所显示的名称与数据库表中的列或已定义的变量相关联。请检查其拼写。如果您希望它成为变量，请将其添加到 DEFINE 节中。如果想要命名数据库中的列，请查看表
是否已更改，或者其列是否已重命名。



-9003	USING 格式字符串可能只包含一个“.”。

指定数字显示的格式字符串包含多个小数点。请留下一个小数点，除去所有其他小数点。请参阅参考手册中 USING 函数的论述
。



-9002	在 PMIM 中找到未知操作代码。

发生内部 ACEGO 错误。请确保 ACEPREP 版本与编译报告的 ACEGO 版本级别相同。如果是这样，请重新编译报告来确保 .arc 文件未损坏。如果该错
误重复出现，请记下所有情况并联系 IBM 技术支持。



-9001	只有类型为 CHARACTER 的列可以加下标或者打印时不带拖尾空格
。

您尝试了对 CLIPPED 函数加下标，或将该函数应用于非字符变量，或者指定变量的数据类型错误
。



-8376	函数 <funcname> NULL 输入大对象句柄。

解释：NULL 输入大对象句柄作为函数 <funcname> 的输入 XML 字符串传递。操作：提供有效的智能大对象句柄。例如，请考虑表 tab：“create
table tab(col1 int, col2 clob);”，Clob 数据可以按如下方式插入：“INSERT INTO tab values(1, 
filetoclob("data.xml", "client"));”，其中“data.xml”是 XML 字符串文档。列 tab.col2 可以用作函数 
<funcname> 的输入大对象句柄。



-8375	函数 <funcname> 一般异常。

解释：函数 <funcname> 在执行期间接收到一般异常。操作：请联系技术支持以解决该问题
。



-8374	函数 <funcname> 进行带寻道的写操作失败。

解释：对 clob 函数 <funcname> 进行带寻道的写操作已失败。操作：请联系技术支持以解决该问题
。



-8373	函数 <funcname> stat 大小失败。

解释：获取大小状态的 clob 函数 <funcname> 失败。操作：请联系技术支持以解决该问题
。



-8372	函数 <funcname> stat 失败。

解释：获取状态的 clob 函数 <funcname> 失败。操作：请联系技术支持以解决该问题
。



-8371	函数 <funcname> 创建失败。

解释：执行创建操作的 clob 函数 <funcname> 失败。操作：请联系技术支持以解决该问题
。



-8370	函数 <funcname> 初始化失败。

解释：执行初始化操作的 clob 函数 <funcname> 失败。操作：请联系技术支持以解决该问题
。



-8369	函数 <funcname> 对内部缓冲区的内存分配失败。

解释：函数 <funcname> 没有更多的内存可供分配。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联系技术支持以解决该问题
。



-8368	函数 <funcname> 缓冲区大小超过最大大小。

解释：<funcname> 的输出必须小于 32739 字节。操作：如果输出记录的组合大小超过 32739 字节，那么需要使用 clob 函数
。



-8367	函数 <funcname> NULL 类型描述符。

解释：行描述符类型的描述符为 NULL。操作：请联系技术支持以解决该问题
。



-8366	函数 <funcname> NULL 类型标识。

解释：行描述符类型标识为 NULL。操作：请联系技术支持以解决该问题
。



-8365	函数 <funcname> NULL 行描述符。

解释：参数中的行描述符信息为 NULL。操作：请联系技术支持以解决该问题
。



-8364	函数 <funcname> 传递了 NULL 缓冲区。

解释：用于存储 XML 输出的状态缓冲区为 NULL。操作：验证系统有足够的内存。请联系技术支持以解决该问题
。



-8363	函数 <funcname> 向函数传递了 NULL 参数。

解释：传递给函数 <funcname> 的一个或多个参数为 NULL。操作：请联系技术支持以解决该问题
。



-8362	函数 <funcname> 未能写入大对象。

解释：运行函数 <funcname> 时，服务器未能写入打开的智能大对象。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联系技术支持以解决该问
题。



-8361	函数 <funcname> 未能创建大对象。

解释：运行函数 <funcname> 时，服务器未能创建智能大对象。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联系技术支持以解决该问题
。



-8360	函数 <funcname> 大对象规范初始化失败。

解释：运行函数 <funcname> 时，服务器未能打开大对象规范初始化结构。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联系技术支持以解决
该问题。



-8359	函数 <funcname> 分配临时 clob 文件时出错。

解释：运行函数 <funcname> 时，服务器无法分配足够的内存以分配临时 clob 文件。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联
系技术支持以解决该问题。



-8358	函数 <funcname> 连接打开失败。

解释：运行函数 <funcname> 时，打开的连接调用失败。操作：重新运行该应用程序。确保服务器正在运行且服务器日志文件中没有错误消息。如果该问题仍然存在，请
联系技术支持以解决该问题。



-8357	函数 <funcname> 内存不足异常。

解释：为了处理该查询，数据库服务器需要分配内存，但无内存可用。该错误可能反映硬件限制、操作系统配置限制或临时空间短缺。操作：一段延迟后重试该查询。如果仍然失败，
请咨询系统管理员。如果可能，请修改查询以使连接的表少一些，使用较少的列排序或分组，或使用两个或更多独立的语句操作。在 DOS 系统上，退出到操作系统命令行，释放
一些磁盘空间或降低程序的复杂程度，并重新落实该程序。如果该问题仍然存在，请联系技术支持以解决该问题
。



-8356	函数 <funcname> 对该查询返回了多个节点。

解释：函数 <funcname> 返回了多个节点。操作：修改函数 <funcname> 以便仅返回一个节点
。



-8355	函数 <funcname> 对输入 XML 文档进行语法分析时出错。

解释：<funcname> 的输入 XML 文档不是格式正确的 XML 字符串。例如：      SELECT idsxmlparse('<customer>
John<customer>') from tab;             在这种情况下，XML 字符串不是格式正确的 XML 字符串，因为它缺少 </
customer> 标记。操作：将格式正确的 XML 文档提供为输入。例如：        SELECT idsxmlparse('<customer>John
</customer>') from tab; 



-8354	函数 <funcname> ICU 内存分配过程中接收到异常。

解释：为 ICU 数据结构分配内存时接收到异常。操作：确保系统有足够的内存可以运行该命令。如果该问题仍然存在，请联系技术支持以解决该问题
。



-8353	函数 <funcname> NULL 输入 XML 文档。

解释：输入 XML 文档作为 NULL 传递。操作：将格式正确的 XML 文档提供为输入
。



-8352	函数 <funcname> 空输入 XML 文档。

解释：输入参数、XML 文档或 XPATH 字符串作为空字符串传递。例如：SELECT extract(col, '') FROM tab; SELECT 
extractvalue('', '') FROM tab; 操作：向函数 <funcname> 提供有效的输入参数，即格式正确的 XML 文档或有效的 
XPATH 字符串。



-8351	函数 <funcname> 输入 XML 文档或输入 XPATH 字符串无效。

解释：输入的 XML 文档或 XPATH 字符串有非法字符，或 XML 文档格式不正确，或 XPATH 字符串不正确。操作：向函数 <funcname> 提供有
效的输入参数，即格式正确的 XML 文档或有效的 XPATH 字符串。例如：        select extractvalue(col2, '/
customer/personnel/') from tab;        上述示例的 XPATH 字符串结尾有个“/”，是无效的 XPATH 字符串。正确的
用法是， select extractvalue(col2, '/customer/personnel') from tab; 



-8337	无法修改列引用 (%s) 的新值。

触发器例程（其 REFERENCING 子句指定了一个视图）无法修改该视图中任何列的 NEW 值
。

错误示例：

       CREATE VIEW View1 ... 

CREATE PROCEDURE testproc() REFERENCING OLD as O NEW as N FOR View1; ... LET 
N.column1 = <value>; --- error END PROCEDURE; 

此处触发器例程的 REFERENCING 子句将 N 声明为用于限定视图中列的 NEW 值的相关名。LET 语句无效，因为如果 REFERENCING 子句指定
了视图，那么相关名无法限定在 LET 表达式左侧的 NEW 列值。

该示例中的语法仅在以下情况下是有效的：LET 语句处于由表上的 INSERT 或 UPDATE 触发器（而不是视图上的 INSTEAD OF 触发器）调用的触发
器例程中（在操作子句的 FOREACH 部分中）。



-8336	未定义的符号 (%s)。

符号在当前环境中未定义。如果该错误来自带有 REFERENCING 子句的 CREATE TRIGGER 或 CREATE PROCEDURE/FUNCTION
，请检查 OLD 或 NEW 相关变量名称的拼写是否正确。



-8335	布尔函数 (%s) 的使用在此上下文中无效。

布尔函数 INSERTING、UPDATING、DELETING 和 SELECTING 对于从触发器操作语句执行的过程有效
。

这些函数根据触发器类型返回“t”或“f”。

例如：

Create trigger trig1 INSERT ON tab1 for each row(execute procedure proc1()); 

Create procedure proc1() 

define i integer; define u integer; if (INSERTING) then LET i = 1; end if if 
(UPDATING) then LET u = 1; end if 

end procedure; 

执行以上示例会将变量 i 设置为 1，但不会将 u 设置为 1，因为所创建的触发器是插入触发器
。



-8334	不能在外部例程中使用 REFERENCING 子句。

对于外部例程，使用 REFERENCING 子句访问列的 OLD 或 NEW 值是无效的
。



-8333	使用引用子句调用例程无效。

以下情况会返回该错误：

* 例程由 REFERENCING 子句创建，但不是由触发器操作语句执行
。

* 例程由 REFERENCING 子句创建，但不是由 WITH TRIGGER REFERENCES 子句执行
。

* 例程不是由 REFERENCING 子句创建，但由 WITH TRIGGER REFERENCES 子句执行
。

* 例程由 REFERENCING 子句创建，但不是由 FOR EACH ROW 触发器操作语句执行
。



-8332	只能修改列引用的 NEW 值。

在触发器例程主体中，不能在 LET 语句左侧指定 OLD 相关名，也不能指定 REFERENCING 子句中使用的表名或视图名
。

错误示例 1：

CREATE PROCEDURE testproc1() REFERENCING OLD as O NEW as N FOR T; ... LET 
O.column1 = <value>; --- error END PROCEDURE; 

错误示例 2：

CREATE PROCEDURE testproc2() REFERENCING OLD as O NEW as N FOR T; ... LET 
T.column1 = <value>; --- error END PROCEDURE; 



-8331	CREATE PROCEDURE 或 CREATE FUNCTION 语句的 REFERENCING 子句中的表或视图名称 (%s) 无效
。

在操作语句中使用不匹配的表或视图名称调用带有 REFERENCING 子句的例程时，会从 CREATE TRIGGER 语句中产生该错误
。

CREATE PROCEDURE 或 CREATE FUNCTION 语句的 REFERENCING 子句中的表或视图名称应与触发表或视图名称匹配
。



-8324	序列外键不应引用序列唯一键。

引用关系中进行引用和被引用的列是 SERIAL、SERIAL8 或 BIGSERIAL 类型，而数据库服务器不允许使用这些类型
。

请将引用列更改成非序列数据类型。



-8322	当前不支持远程序列。

无法引用远程数据库中的序列对象。

请检查是否有类型引用

    <dbname>@<remote-server>:<sequence-name>.[NEXTVAL|CURRVAL]





-8321	不是序列对象的所有者。

该语句将试图执行一些操作，例如取消序列对象，只有表格所有者或具有数
据库管理员特权的用户可以执行此操作。请检查该语句是否命名所需的序列
对象。如果该语句已命名了所需的序列对象，则必须由其所有者或数据库管
理员来执行该语句。若要查找联系人，请查询系统目录，如下所示:

SELECT tabname, owner FROM systables WHERE tabid > 99;
SELECT username FROM sysusers WHERE usertype = 'D'





-8320	对于序列对象，仅 SELECT 和 ALTER 特权是有效的。

对于序列对象，仅表格等级特权的子集是有效的。
您只能授予或取消 SELECT 和 ALTER 特权。

可以使用 WITH GRANT 选项来授予这两种特权。





-8319	此处无法使用序列对象。

无法引用下列案例中序列对象的 CURRVAL 或 NEXTVAL

    SELECT/DELETE 语句的 WHERE 子句
    CHECK 约束的条件
    带有 DISTINCT 运算符、合计函数以及 GROUP BY 的 SELECT 语句
    子句、ORDER BY 子句以及 UNION 集运算符
    CREATE TABLE 或 ALTER TABLE 的分段表达式
    VIEW 定义
    CREATE TABLE 或 ALTER TABLE 的 DEFAULT 子句

检查是否在此集合中尝试了任何操作。





-8318	不允许对序列对象执行此操作。

仅允许对序列对象执行下列操作

    SELECT <sequence-name>.[NEXTVAL|CURRVAL] from <table-name>;
    ALTER SEQUENCE
    DROP SEQUENCE
    RENAME SEQUENCE
    GRANT/REVOKE
    CREATE SYNONYM
    DROP SYNONYM

请检查是否已指定任何不属于此集合的操作。





-8317	序列对象无法显示在 FROM 子句中。

序列对象无法显示在 FROM 子句中。若要根据序列对象的使用来生成编号

    SELECT <sequence-name>.[NEXTVAL|CURRVAL] from <table-name>;

不允许对序列对象执行 DELETE 操作。





-8316	不能用同义词重命名序列对象。

不能用同义词对序列对象执行重命名操作。
请改为指定<sequence-name>。

如果要重命名同义词，请取消现有的同义词，然后新建一个同义词。





-8315	序列(%s) CURRVAL 尚未在该会话中进行定义。

由于没有在该会话中初始化序列对象，所以无法获得会话的 CURRVAL。会话的
CURRVAL 是上一次调用序列对象的 NEXTVAL 时生成的值。

如果已用 RENAME SEQUENCE 对序列对象进行了重命名，则需要在会话中重新
初始化该序列对象。

请先运行 NEXTVAL 以便为会话中的序列对象定义 CURRVAL。





-8314	序列(%s)低于 MINVALUE。

由于指定的序列对象已经低于 MINVALUE，所以它无法生成数字。

如果已为序列设置了 MINVALUE，则可将其更改为更低值，最低为(-2e63 +1)或
-9,223,372,036,854,775,807。如果已将 MINVALUE 设置为最低值，则可考虑
将序列更改为周期序列，以从 MAXVALUE 处重新开始。





-8313	序列(%s)超出其 MAXVALUE。

由于指定的序列对象超出其 MINVALUE，所以它无法生成数字。

如果已为序列设置了 MINVALUE，则可将其改为更高的值，最高为(+2e63 -1)或
9,223,372,036,854,775,807。如果已将 MINVALUE 设置为最高值，则可考虑
将序列更改为周期序列，以从 MAXVALUE 处重新开始。





-8312	没有为 ALTER SEQUENCE 指定选项。

ALTER SEQUENCE 语句没有指定用于更改的参数。
指定要更改的定义参数，然后运行该语句。





-8311	不能将 MAXVALUE 设置为低于当前值。

不能更改序列定义，以将 MAXVALUE 设置为低于序列对象的当前值。序列对
象的当前值是上次引用 NEXTVAL 时生成的值。

如果已在会话中初始化了序列，则可将会话的 CURRVAL 与语句中的 MAXVALUE 
进行比较。但是，会话的 CURRVAL 无法与序列对象的当前值同步，原因是可
能有其它会话从序列对象生成数字。通过使用 NEXTVAL 引用来生成数字可设
置并检查序列对象的当前值。





-8310	无法将 MINVALUE 设置为超出当前值。

无法更改序列定义，以将 MINVALUE 设置为大于序列对象的当前值。序列对
象的当前值是上次引用 NEXTVAL 时生成的值。

如果已在会话中初始化了序列，则可将会话的 CURRVAL 与语句中的 MINVALUE 
进行比较。但是，会话的 CURRVAL 无法与序列对象的当前值同步，原因是可
能有其它会话从序列对象生成数字。通过使用 NEXTVAL 引用来生成数字可设
置并检查序列对象的当前值。





-8309	当值小于 MINVALUE 或大于 MAXVALUE 时，无法重启动序列。

当值小于序列对象的 MINVALUE 或大于其 MAXVALUE 时，序列对象无法被设
置进行重新启动。

如果要重新启动序列，请检查 RESTART 值是否在 MINVALUE-MAXVALUE 范围内。
如果不在这个范围内，请更改 MINVALUE-MAXVALUE 参数，或设置一个重新启动
的合适值。如果要更改 MINVALUE 和 MAXVALUE 参数中的一个，或两个都更改，
则请检查是否以前已为序列设置了不属于被更改的 MINVALUE-MAXVALUE 范围内
的RESTART 值。若要查找现有的 RESTART 值，请查询 syssequences 表。





-8308	无法将 START 值设置为小于 MINVALUE 或大于 MAXVALUE 的值。

当值小于序列对象的 MINVALUE 或大于其 MAXVALUE 时，序列对象无法被设
置进行启动。

请检查语句，并修改 MINVALUE-MAXVALUE 范围，或在此范围内设置一个合适
的 START 值。





-8307	CACHE 大小应小于一个循环。默认的 CACHE 大小是 20。

序列对象的高速缓存值不能大于在周期序列的单循环中生成的值。高速缓存
的默认值为 20。

检查高速缓存值是否小于 20，以及是否没有在序列对象的定义中指定高速
缓存参数。如果是这样，请为 CACHE 参数指定一个合适的值。使用 NOCACHE 
参数说明来指定高速缓存大小为 0。





-8306	高速缓存大小应在 1 到 2,147,483,647 范围内。

序列对象的高速缓存值必须在 1 到 2,147,483,647 范围内。

使用 NOCACHE 参数说明来指定高速缓存大小为 0。





-8305	序列中不允许 INCREMENT 为 0。

不能将序列对象的 INCREMENT 值指定为 0。INCREMENT 值必须为非零的整数。





-8304	MAXVALUE 不能小于 MINVALUE。

序列对象的 MAXVALUE 不能被设为小于其 MINVALUE。





-8303	序列定义中的(%s)说明出现重复或冲突。

在 CREATE SEQUENCE 或 ALTER SEQUENCE 语句中发现序列对象定义参数的说
明存在重复或冲突。

相互冲突的说明包括 MAXVALUE-NOMAXVALUE、MINVALUE-NOMINVALUE、
CACHE-NOCACHE、ORDER-NOORDER 和 CYCLE-NOCYCLE 组合。

请检查是否有任何序列定义参数被指定了多次，或是否同时指定了两个相互
冲突的参数。





-8302	序列对象定义值无效或超出范围。

在 CREATE SEQUENCE 或 ALTER SEQUENCE 语句中，为序列对象的定义指定了
非整数或超出范围的值。序列对象的定义参数包括其 START/RESTART 值、
INCREMENT 值、MAXVALUE 值以及 MINVALUE 值。

请检查为序列对象定义参数指定的值是否为整数，并在(-2e63 + 1)或
-9,223,372,036,854,775,807 到(+2e63 -1)或 9,223,372,036,854,775,807 
范围内。





-8301	序列<sequence-name>已存在于数据库中。

该语句试图用所显示的名称来创建表格或序列对象，但具有该名称的对象已存在。
在单个数据库中，只能存在一个具有给定名称的表格或序列对象。(在符合 ANSI 
的数据库中，只有创建表格或序列对象名称的用户名可以使用该名称，所以每位
用户只能有一个给定名称的表格或序列对象。)

检查名称的拼写是否正确，确保该名称以前不存在，检查所使用的数据库是否正确。
可以通过查询 systables 来检查数据库中所有表格和序列对象的名称，如下所示:

SELECT tabname, owner FROM systables WHERE tabid > 99;





-8300	指定的序列对象<sequence-name>不在数据库中。

数据库服务器无法找到语句中指定的序列对象。序列对象可能已重命名，
或已从数据库中删除。

请检查语句中序列对象的名称。如果名称的拼写正确，则请检查所使用的
数据库是否正确。若要查找所有序列对象的名称，请查询 syssequences 表。





-8270	受保护表的行安全标号不能为空。

要将数据插入受保护表的行中，用户应该具有 LBAC 安全标号，或者用户必须显式地指定行安全标号
。



-8269	LBAC 内部错误：<internal-error>。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-8268	无法创建类型 IDSSECURITYLABEL 的单值类型 <type-name>。

该语句指定将单值数据类型创建为 IDSSECURITYLABEL。IDSSECURITYLABEL 数据类型不能作为单值类型。请从语句中除去 DISTINCT，
或指定另一种数据类型。



-8267	不能将 LBAC 保护添加到为复制定义的表中。

如果对表定义了复制，那么不能对该表执行指定的操作。Enterprise Replication 不支持 LBAC
。



-8266	不允许执行该操作。

该操作是不允许您使用的内部命令。



-8265	无法更改 ARRAY 安全标号组件以在 <element-name> 后添加元素
。

无法在指定元素后添加更多元素，因为对 ARRAY 安全标号组件已执行了过多的更改。您可以在安全标号组件中的其他元素前面或后面添加元素
。



-8264	无法更改 ARRAY 安全标号组件以在 <element-name> 前添加元素
。

无法在指定元素前添加更多元素，因为对 ARRAY 安全标号组件已执行了过多的更改。您可以在安全标号组件中的其他元素前面或后面添加元素
。



-8263	指定的组件类型 <component-type> 与系统目录中的类型不匹配
。

ALTER SECURITY LABEL COMPONENT 语句中指定的安全标号组件类型与系统目录中的该组件类型不匹配
。



-8262	无法更新分区标志。

该内部错误指示数据库服务器无法更新分区标志以设置或取消设置表保护。有关更多信息，请检查随附的 ISAM 错误代码
。



-8261	在缺少 IDSSECURITYLABEL 列缺省值的情况下，无法确保表中行的安全
。

在未指定 IDSSECURITYLABEL 列缺省值的情况下，无法在行级粒度保护非空表。更改 ALTER TABLE 语句，为 IDSSECUIRTYLABEL
列指定 DEFAULT 子句。



-8260	多个安全策略子句。

多次指定了安全策略子句。多次指定了 ADD 或 DROP SECURITY POLICY，或指定了 ADD 和 DROP SECUIRTY POLICY 的组合
。更改该语句，使其只有一个 ADD 或 DROPSECURITY POLICY 子句。



-8259	无法 GRANT 或 REVOKE SETSESSIONAUTH 角色的特权。

不允许授予或撤销角色的 SETSESSIONAUTH 特权。指定单个用户或 PUBLIC
。



-8258	指定的规则与安全策略 <policy-name> 不一致。

指定的规则和安全策略不一致。



-8257	安全标号组件元素 <element-name> 不能为空。

指定的安全标号组件元素为空。元素名称应为加引号的非空字符串
。



-8256	元素 <element-name> 中存在无效字符。

安全标号组件元素中含有无效字符。元素名称不能包含括号、逗号或冒号字符：( ), :



-8255	用户 <user-name> 没有 DBSA 权限。

用户没有执行该操作所必需的许可权；只有 DBSA 有权执行该操作。请联系 DBSA 执行该操作
。



-8254	数据库 <database-name> 当前正由另一个用户打开。

另一用户以互斥方式打开了指定的数据库。等待片刻或确定数据库为空闲后，重复该语句
。



-8253	无法打开数据库 <database-name>。

数据库服务器无法找到指定的数据库。要查找所有数据库的名称，请查询 sysmaster:sysdatabases
。



-8252	无法将角色设置为 DBSECADM。

DBSECADM 是系统定义的角色。只能对于用户创建的角色使用 SET ROLE 语句
。



-8251	不允许更新、删除或插入到 UNION ALL 视图。

如果 UNION ALL 视图是基于多个受保护的表而创建，那么不允许对该视图进行更新、删除和插入操作。如果您具有足够的凭证，请对基本表执行 DML，而不要对 
UNION ALL 视图执行操作。



-8250	用户没有对表 <table-name> 执行 DELETE 的 LBAC 凭证。

不允许用户对表执行 DELETE。如果用户不具备相应的安全标号或豁免权凭证，那么不允许该用户删除受保护表的行。请要求 DBSECADM 授予用户执行删除操作所需
的相应安全标号或豁免权。



-8249	用户没有对表 <table-name> 执行 UPDATE 的 LBAC 凭证。

不允许用户对表执行 UPDATE。如果用户不具备相应的安全标号或豁免权凭证，那么不允许该用户更新受保护表的行。请要求 DBSECADM 授予用户执行更新操作所需
的相应安全标号或豁免权。



-8248	用户没有对表 <table-name> 执行 SELECT 的 LBAC 凭证。

不允许用户对表执行 SELECT。如果用户不具备相应的安全标号或豁免权凭证，那么不允许该用户选择受保护表的行。请要求 DBSECADM 授予用户执行选择操作所需
的相应安全标号或豁免权。



-8247	用户没有对表 <table-name> 执行 INSERT 的 LBAC 凭证。

不允许用户对表执行 INSERT。如果用户不具备相应的安全标号或豁免权凭证，那么不允许该用户在受保护表中插入行。请要求 DBSECADM 授予用户执行插入操作所
需的相应安全标号或豁免权。



-8246	用户无法对受保护的列 <column-name> 执行 WRITE 访问。

在访问受安全策略保护的表时，用户尝试对列执行 INSERT、DELETE 或 UPDATE 访问。用户不具备更新列所必需的 LBAC 凭证。请要求 
DBSECADM 授予用户相应的 LBAC 凭证，以允许对列执行 WRITE 访问
。



-8245	用户无法对受保护的列 <column-name> 执行 READ 访问。

在访问受安全策略保护的表时，用户尝试对列执行 SELECT、DELETE 或 UPDATE 访问。用户不具备读取列所必需的 LBAC 凭证。请要求 
DBSECADM 授予用户相应的 LBAC 凭证，以允许对列执行 READ 访问
。



-8244	为行安全标号列提供的值 <column-value> 无效。

INSERT 或 UPDATE 语句为 IDSSECURITYLABEL 类型的列指定了一个值。该值对应于一个空标签，或者，无法转换为保护表的安全策略的有效安全
标号。请检查 INSERT 或 UPDATE 语句，并确保在安全标号列中设置的值对于保护表的安全策略是有效的。有时候，对未使用与目标表相同的安全策略进行保护的表
执行 SELECT 语句后，会产生无效的值。您应当仅在受相同安全策略保护的表之间复制安全标号
。



-8243	用户 <user-name> 没有用于 READ 访问的安全标号。

要执行内置函数 SECLABEL_TO_CHAR，用户必须具有安全策略 READ 访问的安全标号。请要求 DBSECADM 授予 READ 访问的安全标号
。



-8242	列 <column-name> 不受安全标号保护。

无法从不受安全标号保护的列中删除列安全标号。



-8241	列 <column-name> 已受安全标号保护。

指定的列已受安全标号保护。请不要添加其他保护该列的安全标号
。



-8240	表 <table-name> 不受安全策略保护。

无法从不受安全策略保护的表中删除安全策略。



-8239	表 <table-name> 已有安全策略。

一个表最多只能有一个安全策略与其相连。在删除表与其当前安全策略之间的关联之前，请不要尝试将其他安全策略与该表关联
。



-8238	源表必须具有与目标表相同的安全保护。

表的安全保护不相同。表由不同的安全策略保护，或者，保护源表中的列的安全标号集与保护目标表的不相同。两个表必须具有相同的安全策略、相同的保护粒度，具有相同的一组受
保护列，并且每对相应列必须使用相同的安全标号保护。



-8237	无法将列 <column-name> 修改为类型 IDSSECURITYLABEL。

现有列无法修改为 IDSSECURITYLABEL 数据类型；该数据类型只用于安全标号列，以保护数据行。要使用行级粒度来保护表，请添加类型为 
IDSSECURITYLABEL 的新列。



-8236	在表中仅允许一个安全标号列。

尝试使用多个安全标号列创建或更改表。对于 CREATE TABLE 语句，仅声明一列具有 IDSSECURITYLABEL 类型。对于 ALTER TABLE 
语句，类型为 IDSSECURITYLABEL 的列已存在。



-8235	无法将安全策略添加至临时表、类型表或外部表中。

不支持向临时表、类型表或外部表添加安全策略。请不要将安全策略与临时表或外部表关联
。



-8234	类型 IDSSECURITYLABEL 的列 <column-name> 的规范无效。

对于类型 IDSSECURITYLABEL 的列，列的某个属性的规范无效，因为类型 IDSSECURITYLABEL 的列无法加密或更改为不同的数据类型。此外，
类型 IDSSECURITYLABEL 的列也不能具有类似列保护、单列约束的属性，或作为多列引用或检查约束的一部分。不能为 CREATE TABLE 语句中的 
IDSSECURITYLABEL 列指定 DEFAULT 子句。仅可在 ALTER TABLE 语句中为 IDSSECURITYLABEL 列指定 
DEFAULT 子句。所提供的缺省值将仅应用于表中的现有行。



-8233	在缺少安全策略的情况下，无法确保表中列或行的安全
。

在表未关联安全策略的情况下，无法使用行或列级粒度来保护表。用户应使用 CREATE TABLE 语句的 SECURITY POLICY 子句，或 ALTER 
TABLE 语句的 ADD SECURITY POLICY 子句来向表添加安全策略。



-8232	安全标号组件中已存在元素 <element-name>。

在 ALTER SECURITY LABEL COMPONENT 期间，要添加至现有组件的安全标号组件元素在该安全标号组件中已定义
。



-8231	无法将 DBSECADM 授予用户 <user-name>。

GRANT 语句尝试将 DBSECADM 授予不允许接受该权限的授权名称。DBSECADM 权限只能授予单个用户
。



-8230	用户 <user-name> 无权授予或撤销 DBSECADM。

只有 DBSA 有权授予或撤销 DBSECADM 特权。请联系 DBSA 执行该操作
。



-8229	用户 <user-name> 没有 SETSESSIONAUTH 权限。

只有具有 SETSESSIONAUTH 特权的用户可以执行 SET SESSION AUTHORIZATION 操作。请要求 DBSECADM 授予特权
。



-8228	对于 PUBLIC，无法 GRANT 或 REVOKE SETSESSIONAUTH 特权。

不允许向 PUBLIC 授予或撤销 SETSESSIONAUTH 特权。指定单个用户或角色名称
。



-8227	安全策略 <policy-name> 当前正在使用。

由于以下原因而无法删除安全策略：

*  该策略正用于保护一个或多个表。对于所有使用该安全策略的表，更改表以删除该表保护或删除该表。以下查询可用于查找所有受此策略保护的表
：

SELECT TABNAME FROM SYSTABLES WHERE SECPOLICYID= (SELECT SECPOLICYID FROM 
SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>" ) 

*  有一个或多个安全标号在使用它。删除属于该安全策略的所有安全标号。以下查询可用于查找属于该安全策略的所有安全标号
：

SELECT SECLABELNAME FROM SYSSECLABELS WHERE SECPOLICYID=(SELECT  SECPOLICYID 
FROM SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>" ) 

*  已针对它的一个或多个规则授予一个或多个豁免权。请撤销授予所有用户的针对该安全策略的全部豁免权。以下查询可用于查找已授予针对此策略的豁免权的所有用户
：

SELECT GRANTEE, EXEMPTION FROM SYSSECPOLICYEXEMPTIONS WHERE SECPOLICYID=(SELECT 
SECPOLICYID FROM SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>") 



-8226	安全标号 <policy-name.label-name> 当前正在使用。

由于以下原因而无法删除安全标号：

*  它被授予一个或多个用户。撤销已针对该安全策略授予所有用户的此安全标号。以下查询可用于查找已授予该安全标号的所有用户
：

SELECT GRANTEE FROM SYSSECLABELAUTH WHERE READSECLABELID = (SELECT SECLABELID 
FROM SYSSECLABELNAMES WHERE SECLABELNAME = "<label-name>"    AND SECPOLICYID = 
(SELECT SECPOLICYID FROM SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>")) 
OR WRITESECLABELID = (SELECT SECLABELID FROM SYSSECLABELNAMES WHERE 
SECLABELNAME = "<label-name>"    AND SECPOLICYID = (SELECT SECPOLICYID FROM 
SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>")) 

*  该安全标号正用于保护一个或多个列。对于所有使用该安全标号保护列的表，更改表以删除该列保护或删除该表。以下查询可用于查找所有受保护的表以及所有受该安全标号保
护的列：

SELECT TABNAME, COLNAME FROM SYSCOLUMNS, SYSTABLES WHERE SYSCOLUMNS.TABID = 
SYSTABLES.TABID   AND SECLABELID = (SELECT SECLABELID FROM SYSSECLABELNAMES 
WHERE SECLABELNAME = "<label-name>"        AND SECPOLICYID = (SELECT SECPOLICYID
FROM SYSSECPOLICIES WHERE SECPOLICYNAME = "<policy-name>")) 



-8225	安全标号组件 <component-name> 当前正在使用。

由于一个或多个安全策略引用了安全标号组件，因此无法删除它。以下查询可用于查找所有引用此安全标号组件的安全策略
：

SELECT SECPOLICYNAME  FROM SYSSECPOLICIES WHERE SECPOLICYID = (SELECT  
SECPOLICYID FROM SYSSECPOLICYCOMPONENTS WHERE COMPID = (SELECT COMPID FROM 
SYSSECLABELCOMPONENTS WHERE COMPNAME = "<component-name>")) 



-8224	安全标号 <label-name> 与现有的已授予安全标号冲突。

如果用户被授予两个不同的标号，一个用于 READ 访问，另一个用于 WRITE 访问，那么它们必须满足以下规则
：

*  对于类型为 ARRAY 的安全标号组件，两个安全标号中的值必须相同
。

*  对于类型为 SET 的安全标号组件，用于 WRITE 访问权的安全标号中指定的值必须是用于 READ 访问权的安全标号中所指定值的子集
。

*  对于类型为 TREE 的安全标号组件，其值必须相同，或用于 WRITE 访问权的安全标号中指定的值必须是用于 READ 访问权的安全标号的子树值之一
。



-8223	用户已具有用于 WRITE 访问的安全标号 <label-name>。

每个用户最多可以有一个用于 READ 访问的安全标号和最多一个用于 WRITE 访问的安全标号。已授予用户用于 WRITE 访问的安全标号。如果您要更改用户用于
WRITE 访问的安全标号，必须先使用 REVOKE SECURITY LABEL 语句从用户撤销安全标号
。



-8222	用户已具有用于 READ 访问的安全标号 <label-name>。

每个用户最多可以有一个用于 READ 访问的安全标号和最多一个用于 WRITE 访问的安全标号。已授予用户用于 READ 访问的安全标号。如果您要更改用户 
READ 访问的安全标号，必须先使用 REVOKE SECURITY LABEL 语句来从用户撤销安全标号
。



-8221	安全策略无安全标号 <label-name>。

安全策略没有指定的安全标号。请验证您是否指定了正确的安全标号名称和安全策略名称，并且是否位于正确的数据库中
。



-8220	用户 <user-name> 无此特权、安全标号或豁免权。

指定的用户无此特权、安全标号或豁免权，因此撤销操作失败
。



-8219	DBSECADM 无法撤销自身的特权、安全标号或豁免权。

不允许 DBSECADM 撤销其自身的特权、安全标号或豁免权。请要求另一 DBSECADM 执行此操作
。



-8218	DBSECADM 无法为自身授予特权、安全标号或豁免权。

不允许 DBSECADM 为自身授予特权、安全标号或豁免权。请要求另一 DBSECADM 执行此操作
。



-8217	无法指定 PUBLIC 或角色名称。

对于 PUBLIC 或角色，不允许 GRANT 或 REVOKE SECURITY LABEL 或 EXEMPTIONS。指定单个用户名
。



-8216	安全策略所用的规则集中不存在访问规则 <rule-name>。

在 GRANT EXEMPTION 或 REVOKE EXEMPTION 语句中指定的访问规则不是安全策略所用的 LBAC 规则集的一部分。请指定一个属于所指定
安全策略使用的规则集的访问规则。



-8215	安全标号组件元素 <element-name> 被多次指定。

安全标号组件元素在安全标号组件元素的列表中重复。请验证是否正确指定了安全标号组件元素名称。从安全标号组件元素列表中除去所有重复项
。



-8214	为安全标号组件 <component-name> 指定了两个或多个元素
。

对于类型 ARRAY 的组件，安全标号不能具有多个元素。只能为安全标号组件指定一个元素
。



-8213	安全标号组件中未定义元素 <element-name>。

安全标号组件的定义中不存在组件元素。如果在执行标量函数 SECLABEL_BY_COMP() 时遇到该错误，那么请检查安全标号字符串，以确保值的列出顺序与安全策
略中组件的列出顺序相同。



-8212	安全策略中未定义安全标号组件 <component-name>。

安全标号只能包含那些在标号所属的安全策略中定义的组件的值。指定的安全标号组件不属于安全策略，因此无法在该安全标号中使用组件。请验证是否指定了正确的组件名称，并且
是否位于正确的数据库中。



-8211	安全标号 <label-name> 已存在。

数据库中已经定义了要创建的安全标号。对于 RENAME SECURITY LABEL，使用指定的新名称的安全标号已存在。请验证是否指定了正确的标签名称，并且是否
位于正确的数据库中。



-8210	安全策略 <policy-name> 不存在。

指定的安全策略在数据库中不存在。请验证是否指定了正确的安全策略名称，并且是否位于正确的数据库中
。



-8209	已超过安全策略 <policy-name> 中所允许的最大组件数量
。

安全策略最多可具有 16 个组件。您已超过安全策略中所允许的组件数量
。



-8208	安全标号组件 <component-name> 不存在。

指定的安全标号组件在数据库中不存在。请验证是否指定了正确的安全标号组件名称，并且是否位于正确的数据库中
。



-8207	安全标号组件 <component-name> 被多次指定。

安全标号组件在安全策略或安全标号的组件列表中重复。请验证是否正确指定了安全标号组件名称。从安全标号组件列表除去所有重复项
。



-8206	安全策略 <policy-name> 已存在。

数据库中已经定义了要创建的安全策略。对于 RENAME SECURITY POLICY，使用指定的新名称的安全策略已存在。请验证是否指定了正确的策略名称，并且是
否位于正确的数据库中。



-8205	安全标号组件元素 <element-name> 还未定义。

该错误可能由以下原因引起：

*  在 CREATE 或 ALTER SECURITY LABEL COMPONENT 语句的 UNDER 子句右侧使用了元素 <element-name>，
但尚未将其定义为 ROOT 或 UNDER 某个其他元素。请将该对象定义为 ROOT 或 UNDER 某个已定义的元素
。

*  在 ALTER SECURITY LABEL COMPONENT 语句的 BEFORE 或 AFTER 子句右侧使用了元素 <element-name>，
但该元素尚未定义。请指定已定义或已存在的元素名称。



-8204	安全标号组件 <component-name> 有过多元素。

安全标号组件不能有超过 64 个元素。您的语句超过了此限制。指定一个属于限制范围内的较小元素数量
。



-8203	安全标号组件元素 <element-name> 超过 32 个字节。

指定的安全标号组件元素超过 32 个字节的长度限制。请指定一个较短的名称
。



-8202	安全标号组件元素 <element-name> 已定义。

安全标号组件元素在安全标号组件元素列表中被多次指定。对于 TREE 安全标号组件，安全标号组件元素已定义为 ROOT 或 UNDER 某些其他元素。不允许在 
UNDER 子句的左侧多次指定一个元素。请验证是否正确指定了组件元素名称
。



-8201	安全标号组件 <component-name> 已存在。

数据库中已经定义了要创建的安全标号组件。对于 RENAME SECURITY LABEL COMPONENT，使用指定的新名称的安全标号组件已存在。请验证是否指
定了正确的组件名称，并且是否位于正确的数据库中。



-8200	用户 <user-name> 没有 DBSECADM 权限。

用户没有执行该操作所必需的许可权；只有 DBSECADM 有权执行该操作。请联系 DBSECADM 执行该操作
。



-8130	INTEGER 常量不得大于 2147483647。

此语句指定的值不包含在整数中。请使用较小的值，或者使用其他数据类型（例如 DECIMAL）
。



-8129	指定的页面长度 length 对于缺省报告来说太短。

报告页面无法装入指定的行数。请允许每页有更多的行，或者修订报告规范来使用较少的行（例如，更改上下页边距）
。



-8128	VARCHAR 变量的最小长度必须小于最大大小。

使用了两个数字名（n、r）对 VARCHAR 变量进行定义，其中 n 是变量的最大长度，r 是保留长度。尽管在定义报告变量时允许保留长度，该保留长度仅在数据库表
定义的上下文中有意义。如果指定了保留长度，必须对 r 写入一个小于或等于 n 的大小的数字
。



-8127	在报告规范中不能使用多条 REPORT TO 语句。

整个报告都定向至一个目标，该目标通过 OUTPUT 节中的 REPORT TO 语句进行选择。不能在多个目标之间拆分报告，因此请除去第一条语句后的所有 
REPORT TO 语句。如果要为不同数据集生成单独的报告文件，请执行下面的一个步骤
：

*   为每个数据集编写单独的报告（规范只应在其 SELECT 语句中不同）
。

*   生成完整报告（但数据集在单独的页面上），并随后使用操作系统实用程序和工具来分开各文件
。

*   在 SELECT 语句中使用参数变量，使您可以在运行报告时动态选择数据子集，并使用 REPORT TO PRINT 使您可以在启动报告之前设置 
DBPRINT 变量来控制输出目标。



-8126	PARAM[0] 可能未定义。

在 PARAMETER 语句中可以定义的第一个参数是数字 1。在一些主机操作系统中，第零个参数预设置为程序名，但是该值在报告中不可用
。



-8125	在 SELECT 节中不止一次找到关键字 END。在 SELECT 节中，请使用分号来分隔 SQL 语句。仅在最后一条 SELECT 语句后使用关键字 END
。

请检查 SELECT 节的内容来确保除最后一条语句以外的每条 SELECT 语句都以分号结尾，最后一条语句后面跟有一条 END 语句。可能是您在该节开始时省略了
FORMAT 语句。



-8124	以上查询中使用的用户变量尚未在 DEFINE 节中定义。

在 SELECT 语句中命名的变量未在报告的 DEFINE 节中定义。请检查 SELECT 语句中的所有名称是所需名称，并且任何列或变量名没有拼写错误
。



-8123	在 FIRST PAGE HEADER、PAGE HEADER 或 PAGE TRAILER 子句中不允许使用 PRINT FILE 命令
。

ACEPREP 需要知道头部和尾部的节中填充了多少行（否则，它不知道要在页面上放置多少详细信息行）。由于在编译报告时无法预测文件大小，因此不允许使用 PRINT
FILE 命令。必须使用 PRINT 语句来生成数据。



-8122	NEED n LINES 可能没有用在 PAGE HEADER 或 PAGE TRAILER 子句中
。

页头或页尾的 PRINT 语句设置页面大小。要设置较大的大小，请不带任何参数使用 PRINT 语句
。



-8121	指定的 WORDWRAP RIGHT MARGIN 值超出范围。该值必须不小于当前列并不大于报告右边距
。

WORDWRAP 子句的右页边距用来设置比应用于整个报告的右页边距更窄的右页边距。处理 WORDWRAP 时，WORDWRAP 显示的有效左页边距是当前列。右页
边距必须在当前列和报告的页边距之间。



-8116	ORDER BY 命令中的下标非法。

只能对字符字段加下标。请检查下标。不允许使用负数；数字不得超过字符列的长度；并且第一个数字必须小于或等于第二个数字
。



-8115	在 ORDER BY 命令中可能仅指定了 8 个排序列。

ACEGO 限制可以排序的列数。必须减少在 ORDER BY 后面列出的列数
。



-8114	要在上下页边距中打印的行数加上要在 page header 和 trailer 子句中打印的行数大于或等于页面长度
。

请检查 OUTPUT 节中以及任何 HEADER 和 TRAILER 子句中的语句。这些语句使用的总行数必须比指定页面长度小很多，这样才可以打印一些详细信息行
。



-8113	任何 header 或 trailer 子句中都不允许使用 SKIP TO TOP OF PAGE
。

在执行 SKIP TO TOP OF PAGE 时，必须执行 page-trailer 子句（来显示固定的页尾资料），接着执行 page-header 子句。如
果在 header 或 trailer 子句中允许使用该语句，那么可能发生无限循环
。



-8112	在 header 或 trailer 子句的 IF-THEN-ELSE 语句内，IF 部分中打印的行数必须等于 ELSE 部分中打印的行数
。

ACEPREP 需要知道头部和尾部的节中填充了多少行（否则，它不知道要在页面上放置多少详细信息行）。由于它无法断定将要执行 IF 语句的哪一部分，因此它要求二者
都生成相同数量的输出行。



-8111	用户变量和运行时参数可能无法用在 ORDER BY 语句中。

只有列名可用于 ORDER BY 子句中。请检查子句中列名或显示标签的拼写。您无法请求按已定义变量、参数或 ASCII 字段的内容排序
。



-8110	尚未定义名为 name 的用户变量。

DEFINE 节中未定义变量、参数或字段名。如果名称拼写正确，那么必须进行定义
。



-8109	自动换行可能无法用在 PAGE HEADERS 或 TRAILERS 中。

ACEPREP 需要知道头部和尾部的节中填充了多少行（否则，它不知道要在页面上放置多少详细信息行）。但是，根据字的不同，通过 WORDWRAP 函数进行的打印可
能填充不同数量的行。因此，页头和页尾节中不允许使用该函数
。



-8108	用户变量或参数的长度必须大于零。

请确保 DEFINE 节中的每个 CHAR 和 VARCHAR 字段都具有非零长度规范
。



-8107	用户变量或参数已经由用户定义了不止一次。

只能在 DEFINE 节中定义某个名称一次。您在 ASCII、PARAM 或 VARIABLE 语句中不止一次用到某个名称
。



-8105	聚集可能无法用在另一个聚集中。聚集也可能无法用在另一个聚集的 WHERE 子句中
。

不能嵌套聚集函数，主要原因是在累积外部聚集时内部聚集的值未知。请重写聚集表达式使其仅引用列和列上的简单表达式。在 AFTER GROUP OF 子句中，您可以保
存来自变量中一组行的聚集值，以便使用它计算后续组上的聚集
。



-8104	分组聚集只能用在 AFTER GROUP OF 子句中。

组的聚集值是在处理组中各行时累积的，这样在到达组结尾之前它们都不可用。因此，除了在 AFTER GROUP OF 子句中以外，报告都不能引用这些聚集值
。



-8103	为了让 BEFORE GROUP OF 或 AFTER GROUP OF 子句正常工作，该子句中指定的列必须还要指定为 ORDER BY 命令中的排序列。如果对
排序列加下标，BEFORE GROUP OF 或 AFTER GROUP OF 子句中的列也必须加下标
。

请确保在 ORDER BY 语句和 GROUP OF 子句中指定的控制列相同。



-8102	在 ORDER BY 命令中可能仅为任意单列指定了一条 AFTER GROUP OF 或 BEFORE GROUP OF 子句
。

报告中对某一列包含多条 AFTER GROUP OF 子句，或者包含多条 BEFORE GROUP OF 子句。每种子句中只有一条能命名给定列。但是，您可以将来
自多条子句的语句合并到单条子句中。



-8062	此报告包含一条 SELECT 语句，但是应该使用 READ 语句，因为已经指定了 ASCII 记录定义
。

报告可以基于 ASCII 文件，也可以基于数据库行，但是不能同时基于二者。DEFINE 节中的 ASCII 语句意味着将要使用文件输入，并使用 READ 语句来
读取文件。如果让报告基于数据库行，请保留 SELECT 语句并删除 ASCII 语句
。



-8061	此报告包含一条 READ 语句，但是尚未指定 ASCII 记录定义
。

为了使用 READ 语句，您必须在 DEFINE 节中使用 ASCII 语句来定义 ASCII 文件所需的字段
。



-8060	在报告规范中过早找到了文件结束符。

ACEPREP 仍旧在等待输入时遇到报告规范文件的结束符。可能是您省略了 END 语句。必须存在至少有一条 EVERY ROW 语句的最小 FORMAT 节，并
且任何控制块都必须包含至少一条语句。



-8059	已超过 IF 语句嵌套的限制。在 ACE 的 IF 语句中 IF 语句太多而无法正确编译此规范
。

已超过嵌套 IF 语句的最大级别数。必须简化报告逻辑。



-8058	ASCII 字段 field-name 已定义。

一个字段名只能定义一次。在 DEFINE 节中字段名必须唯一，即，一个名称不能既用于参数，又用于字段
。



-8057	只有类型为 CHARACTER 的用户变量可以加下标或在 LET 语句中有列表
。

只能对字符变量名使用下标（方括号中的两个数，用来抽取字符子串）。在 LET 语句中，只能对字符变量指派多个以逗号分隔的字符串。其他类型的变量只能接收单个值
。



-8056	PAGE HEADER 或 TRAILER 内不允许跳过 WHILE 或 FOR 循环内部的行
。

ACEPREP 需要确定有多少空格行专用于页头和页尾（否则，它不知道页面上允许多少详细信息行）。它无法预测循环可以执行多少次，因此必须在这些节的循环中禁用 
SKIP 语句。



-8055	此常量使 ACEPREP 中的常量表溢出。

请减少报告规范文件使用的数字常量数。



-8054	字符串 string 太大，无法放入编译器的字符串表的剩余空间中
。

请减少报告规范中的字符串长度或数量。相同字符串只能存储一次
。



-8053	PAGE LENGTH、TOP MARGIN 和 BOTTOM MARGIN 都不得小于零。

请修订 OUTPUT 节中的语句使其具有合理值。



-8052	编译器字符串表中用来存储 CHAR 变量的空间不足。

请减少报告规范中字符变量的长度或数量。



-8051	LEFT MARGIN 不得小于零和大于 RIGHT MARGIN。

请将 OUTPUT 节中的左右 MARGIN 语句修订为合理页边距值。



-8034	在命令行中找到未知选项 option。

ACEPREP 支持以下命令行选项：

*   -s 用来禁止消息

*   -o 用来命名输出目标

*   -ansi 用来测试 ANSI 一致性

ACEGO 支持以下命令行选项：

*   -s 用来禁止消息

*   -d 用来命名数据库



-8033	源文件名 filename 超过最大长度 10。

表单编译器对源文件标识的长度强加了限制。使用文件之前，必须重命名文件。在 DOS 系统中，文件名最多可以达到 8 个字符并加上 3 个字符的扩展名
。



-8030	在行 line-number 字符 char-number 上找到印刷错误。

所示位置处的单个字符语法不正确；不能将它解释为报告规范的一部分
。



-8025	即使未打开注释，也在行 line-number 字符 char-number 上找到了注释结束符号 }
。

除非注释符号括在引号中，否则它们必须是成对的。很可能在编辑期间意外删除了 open-comment 符号。请更改文件，以便正确定界注释
。



-8022	此标识超过了最大标识长度 50。

必须设计较短的标识。



-8021	无法打开源文件 filename。很可能是因为文件不存在。

请检查 filename 拼写。检查当前目录是否有报告规范文件，或者，如果它在另一个目录中，请检查是否提供了正确的路径名。如果此信息正确，请验证您的帐户具有对该
文件的读许可权。



-8019	无法打开临时文件 filename 以读取 TEXT 列。

对于为报告选择的每个 TEXT 列，ACEGO 在 DBTEMP 环境变量命名的目录中准备了一个临时文件。此消息表明文件已创建，并且其中装入了 TEXT 值的副
本，但是现在它还无法读取。请查找可能提供更多详细信息的操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-8018	在行 line-number 字符 char-number 上找到语法错误。构造在其上下文中不可理解
。

源文件中存在语法错误。可能是关键字拼写错误或在文件中位置错误。请检查报告规范文件中关键字的拼写或控制块的顺序
。



-8017	在行 line-number 字符 char-number 上找到非法（不可见、控制）字符。在列表中它已由空格代替，但它仍旧在源（输入）文件中，并且应该在尝试再
次编译之前将它除去。

在文档方式而不是文本方式下使用字处理编辑器，在编辑文件时击打了非打印键，或数据损坏都可能将非法字符引入到文件中
。



-8016	注释已打开但未关闭。在行 line-number 字符 char-number 上打开了已开始的最后一条注释
。

请在报告规范的适当位置处插入关闭注释符号。



-8015	在行 line-number 字符 char-number 上已经打开的注释内找到了打开注释符号 {。这可能是由于关闭先前打开的注释（开始于行 lnum 字符 
cnum）失败而导致的。

注释不能嵌套。请在报告规范的适当位置处插入关闭注释符号
。



-8014	用法：SACEPREP [-q][-o output_directory] input_filename (etc.)

saceprep 不接受您在命令行中输入的内容。请阅读该消息来提醒自己不同选项的语法，然后重新输入命令行
。



-8013	尝试打开列表文件 filename 时发生错误。确保用户在当前目录中具有写许可权
。

请确保您的帐户具有对当前目录的写访问权。如果文件 filename 已存在，请检查您的帐户是否具有对该文件的写访问权
。



-8011	用户尚未定义名为 name 的用户函数。

已调用所显示名称的函数。ACE 假定它是一个外部 C 函数。但是，必须使用 FUNCTION funcname 语句在报告的 DEFINE 节中定义外部函数，未
定义此名称。如果 name 本来要用作外部函数的名称，请为它插入 FUNCTION 语句
。



-8010	无法打开文件 filename。已要求操作系统打开该文件以进行写入。可能是已存在同名文件，但是用户无权写入该文件，或者如果使用 -o，目标目录不存在
。

请确保该文件名拼写正确，以及您的帐户名对其将要存储到的目录具有写访问权。（该目录可能是环境变量 DBTEMP 指定的目录。）如果该名称的文件已存在，请清除该文件
或者确定您的帐户具有该文件的写访问权。



-8009	发生内存分配错误。ACE 报告规范很可能太大。

ACE 编译器无法分配所需内存。请尝试减小报告规范的大小。



-8008	无法打开文件 filename。已要求操作系统打开该文件以进行读取
。

请检查文件名的拼写。请确保文件存在，并且您的帐户名具有对文件的读访问权。如果文件位于非当前目录的其他目录中，可能必须输入完整的路径名
。



-8007	在引用字符串中存在不匹配的引号。

报告规范的这一行包含奇数个引号 (")。引用字符串不能包含换行符；所有引用字符串在一行中都必须完整。为了打印较长字符串，请将其各部分存储在变量中，并在 
PRINT 语句中全部列出。



-8006	引用字符串的长度不得超过 80 个字符。

必须将引用字符串减少至最大 80 个字符。在 PRINT 语句中，将字符串简单拆分成以逗号分隔的几个较短部分
。



-8005	定义的用户变量、参数或函数太多。定义的数量不能超过 ACE 规范中的数量
。

为 ASCII 字段、参数和变量定义的标识总数不得超过所显示的数字。必须简化报告
。



-8004	FLOAT 常量非法。

FLOAT 常量未正确写入。指数可能太小，也可能太大（允许的指数范围取决于您的计算机和操作系统，但与您的 C 编译器对 DOUBLE 数据类型允许的范围相同），
或者可能存在错误的标点或不是指数的非数字字符。



-8003	SMALLINTEGER 常量不得大于 32767。

SMALLINT 常量的允许值范围为 -32,767 到 32,767。仅允许整数数字字符
。



-8002	ACE 报告规范太复杂或太大，而无法正确编译。需要执行此规范的指令数占用的空间超过编译器的指令表中分配的空间
。

请减小报告大小。由于无法将报告分成多部分分开编译，因此必须找到一种简化报告的方法
。



-8001	为 TOP MARGIN、FIRST PAGE HEADER (PAGE HEADER)、PAGE TRAILER 和 BOTTOM MARGIN 指定的换行数
必须在页面上留下足够的空间用于 ON EVERY RECORD 子句的打印
。

为所有上述语句定义的总行数超过页面长度。请检查是否在 OUTPUT 节的每条语句中，以及在 FORMAT 节的头部和尾部规范中输入了所需的行数
。



-7610	无效的聚合文字值。

您的集合值不合适。

请参阅文档中的集合文字值的结构描述。






-7607	无效的行文字值。

对于包含在文字中的对象的语法和类型来说，一个行文字应该是合适的。
对于文字行语法和语义学的描述，请参阅《GBasedbt SQL 指南：语法》。






-7602	内部错误：针对某行字段计数无效。

这是内部错误。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7601	错误的游标动作：子查询只支持游标动作 MI_CURSOR_NEXT。

一个 MI_CURSOR_NEXT 以外的游标动作被用于子查询集合中。

请删除无效的游标动作。对于子查询集合，只能使用MI_CURSOR_NEXT
游标动作，或者打开子查询集合时不带有标志 MI_COLL_NOSCROLL 和
MI_COLL_READONLY。






-7599	共享库中的 mi_stream 函数地址查找失败。

使用提供的函数名无法解析 mi_stream 函数地址。
函数句柄无法映射到实际的可执行地址。

检查日志文件，了解在试图装入库时可能发生的任何错误。
检查函数名的拼写。




-7598	共享库中的 mi_stream 函数符号查找失败。

在给定的共享库模块中未找到 mi_stream 函数符号名。

检查函数符号名的拼写是否正确。




-7597	试图为 mi_stream 操作确定共享库模块 ID 已失败。

mi_stream 函数地址查找失败。共享库模块句柄设置为 NULL，
说明当前无共享库装入。

检查日志文件，了解试图装入库时可能发生的任何错误。
常见的装入问题包括库路径不正确和库在指定的位置不存在。




-7596	使用坏的 whence 值时发生了 mi_stream 查找。

mi_stream_seek() 调用接收了错误的查找参数。

使用下列值之一：

   MI_LO_SEEK_SET 或 SEEK_SET
   MI_LO_SEEK_CUR 或 SEEK_CUR
   MI_LO_SEEK_END 或 SEEK_END




-7595	在有 mi_stream 操作介入的 ifx_int8 的转换或操作期间发生了错误。 

ifx_int8 值的转换操作失败。

检查正在使用的值，以检验这些值与所要求的类型相匹配，
并且使用了有效的数据进行设置。




-7594	在 mi_stream 操作期间，发生了“接收”方面的故障。

在 mi_stream 操作期间，数据传送的接收端遇到了问题，数据传送失败。
此状态通常与“企业复制”(ER) 操作有关。




-7593	在 mi_stream 操作期间，发生了“发送”方面的故障。

在 mi_stream 操作期间，数据传送的发送端遇到了问题，数据传送失败。
此状态通常与“企业复制”(ER) 操作有关。

请查看日志文件，了解任何其它信息。




-7592	没有执行正被调用的 mi_stream 函数。

试图执行未实施的 mi_stream 操作，如 mi_stream_read()、mi_stream_write()、或 mi_stream_seek()。并非所有 mi_stream 类型支持所有的 mi_stream 函数。

检查正在使用的数据流的函数定义，以确保返回此状态的函数已经得到执行。




-7591	这是一个一般的 mi_stream 故障。

发生意外的 mi_stream 错误。原因不明。

有关详细信息，请查看数据流类型文档。




-7590	无法读过数据流标记的结尾。

调用 mi_stream_eof() 本来应返回 MI_TRUE（表示文件或数据流的结尾），
但此后又试图执行另外的读取操作。无法读过数据流标记的结尾。

一旦 mi_stream_eof() 函数返回 MI_TRUE，终止读取操作以避免发生这样的错误。




-7580	非法试图调用例程：该例程只能从 
am_check 例程调用。

您试图从 UDR 而不是 VTI/VII am_check 例程调用
指定的例程。在 am_check 例程以外使用
mi_db_error_raise 报告消息和错误。





-7542	强制转型用户定义的例程查询失败。

验证例程特征符中使用的类型的拼写和定义。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7540	例程的返回值标识超出范围。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7539	通过 API 对 UDR 进行快速路径执行时出错。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7538	将缺省变量转换为 C 样式的值时出错。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7537	为用户定义的例程设置缺省自变量时出错。

检查用户定义的例程的自变量。



-7536	连接的函数描述符未链接或链接不当错误。

确认对 Blade API 调用的参数。使用的连接句柄是
NULL，没有打开、非法或错误修改。





-7535	返回的 MI_FPARAM 指针无效。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7534	初始化用户定义的例程执行顺序时出错。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7533	用户定义的例程查询中出错：未找到指定的用户定义的例程
。

验证用户定义的例程的拼写和定义。



-7532	将字符串格式中类型转换为 id 格式的错误。

确认在例程签名中使用的拼写和类型定义。





-7531	非法的用户定义例程类型：必须是函数或过程。

指定的用户定义例程必须是函数或过程。
确认要调用的例程名称和定义。





-7530	在为用户定义例程查找中指定的签名中丢失
括号。

确认为 fastpath 执行指定的例程签名。





-7522	针对客户机和服务器格式之间转换的语言环境信息不完整
。

请验证您的 CLIENT_LOCALE。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7521	API 中发生 GLS 内部错误：error_code。

请验证您的 CLIENT_LOCALE。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7520	参数 argument_name 为 NULL。

确认对 DataBlade API 调用的参数。NULL 已经传送但
不预期。





-7514	MI_EVENT_END_XACT 回调只能在事务内部注册。

移动事务内部的事务结束回调。





-7510	在回调（<例程>）中使用 API 无效。

在回调中不能调用此例程。

有关使用回调的信息，请参见《DataBlade API 程序员手册》。




-7503	提供的 BLOB 或 CLOB 数据大小与客户机文件大小不同。

load 命令中提供的 BLOB 或 CLOB 数据的大小与智能大对象客户机文件的实际大小不同。验证 load 命令中提供的数据大小是否正确，或检查智能大对象客
户机文件是否不完整或已损坏。



-7500	在 sqlstate SQLSTATE_value 的 syserrors 
目录中有非法的多字节字符。

在 syserrors 目录中输入了非法的多字节
字符，可能 syserrors.locale 不是用于 syserrors.message
的实际位置。该表通常是与 DataBlade 消息
或者（可能）来自用于定义例程的消息一起装入的。





-7494	无法创建内部跟踪消息列表。

请检查计算机上的磁盘空间。致电系统管理员或数据库管理员以获得更多帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7493	无法创建针对跟踪类的内部映射。

请检查计算机上的磁盘空间。致电系统管理员或数据库管理员以获得更多帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7492	写入跟踪输出文件失败。

请检查针对该文件及其目录的许可权。检查计算机上的磁盘空间。致电系统管理员或数据库管理员以获得更多帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7491	无法读取跟踪系统表 table_name。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7490	无法打开跟踪输出文件 file_name。

检查文件及其目录上的权限。要得到更多帮助，请与
系统管理员或数据库管理员联系。





-7476	无法关闭 UDR 内的会话持续时间连接。

会话持续时间连接具有与之关联的会话作用域。在 UDR 中无法关闭这样的连接。请参阅 GBase  DataBlade API 
Programmer's Guide 和 GBase  DataBlade API Function Reference 以获取更多详细信息
。



-7475	无法关闭来自它自己父语句外部的连接。

检查用户定义例程中的逻辑。必须在用户
定义例程的范围内打开和关闭连接。





-7474	没有足够的存储器可分配给服务器用户定义的例程连接
。

请检查计算机上的磁盘空间。致电系统管理员或数据库管理员以获得更多帮助。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7473	内部错误：安装用户定义的例程语言管理器回调时发生错误
。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7472	没有足够的存储器可分配给内部用户定义的例程连接状态
。

请检查计算机上的磁盘空间。致电系统管理员或数据库管理员以获得更多帮助。如果这些检查无法解决该问题并且该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7471	内部错误：用户定义的例程上下文/状态 (state) 无效。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7470	非法连接 connection_handle。

确认对 DataBlade API 调用的参数。使用的连接句柄是
NULL、未打开、非法或错误修改。





-7469	不支持从比较函数中调用 %s。

Compare() 函数无法调用字符串。




-7443	必须首先将语句关闭，才能重新打开或执行该语句。

尝试了打开或执行已经打开的预编译语句。必须首先将语句关闭，才能使用 mi_open_prepared_statement 调用重新打开该语句或使用 
mi_exec_prepare_statement 调用执行该语句。



-7442	在该操作完成之前必须打开语句。

试图取得或关闭没有打开的就绪语句。
确保在调用 mi_fetch_statement 或 mi_close_statement 
之前 mi_open_prepared_statement 调用已经成功完成。





-7438	不支持的数据类型。

不支持您使用的数据类型。确认类型定义。





-7436	参数信息的不适当语句。

您为非 DML 语句请求参数信息调用。
只能为 DML 语句获得参数信息。





-7435	该语句引用在父查询中使用的表。

嵌套用户定义例程调用的子查询或查询不能引用
由父查询使用或调用用户定义例程的表。
重新组织查询以避免这种情况。





-7434	SELECTS 不支持参数信息。

功能未实现。



-7433	命令不是 DML。

预期有 SELECT、INSERT、UPDATE 或 DELETE 语句。查看
用户定义例程中的 SQL 语句。





-7432	命令还没有完成。

功能还没有实现。查看版本说明。





-7431	非法的保存设置类型 type_name。

确认类型名称的拼写是否正确。如果它是
用户定义的类型，请确保已经在数据库中对其
正确定义。





-7430	分配保存设置元素的内存不足。

请与系统管理员或数据库管理员联系。





-7429	分配保存设置的内存不足。

请与系统管理员或数据库管理员联系。





-7428	保存集已损坏。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7427	参数不是有效的 argument_name。

对 DataBlade API 的参数非法。确认对 DataBlade API 的每次调用
中使用的参数。





-7426	该连接上没有活动查询。

确认用户定义例程中的逻辑。不能在没有活动查询
的情况下检索或查询结果。





-7425	非法的语句处理。

确认对 DataBlade API 调用的参数。使用的语句句柄
非法或没有正确修改。





-7424	游标只能为就绪的 SELECT 语句定义。

在定义游标之前准备 SELECT 语句。





-7423	指定了非法参数。返回类型缓冲区为空或者缓冲区的
长度无效。

确认 DataBlade API 调用的参数。





-7422	无法在第二 PDQ 线程中发起 SAPI 函数 <函数名>。需要
将用户定义的例程定义为非可并行。

定义为可并行的用户定义例程已经发起了不 PDQ 线程安全的 SAPI 函数。只有
非可并行用户定义例程可以调用这样的 SAPI 函数。

取消例程并将它重新定义为非可并行。要将例程定义为非可并行的，请重新发起
不带 WITH (PARALLELIZABLE) 类的 CREATE FUNCTION, CREATE PROCEDURE，或
CREATE ROUTINE 语句。或者可以使用下列语句使例程为非可并行：

    ALTER ROUTINE routine-name WITH (DROP PARALLELIZABLE)






-7421	指定的字段位置无效。

检查需要字段编号的 DataBlade API 调用
参数。DataBlade API 调用使用字段编号0到
字段数减1。





-7420	参数 argument_name 非法。

确认对 DataBlade API 调用的参数。





-7413	对于服务器处理位置时加载的位置对象错误。

可能在读取注册表或读取转换对象文件时
发生了错误。注册表文件中丢失位置文件详细资料。
确保试图加载的位置与创建数据库时指定的位置不
兼容。





-7412	为转换到客户代码集加载代码集转换对象时
发生错误。

可能在读取注册表或读取转换对象文件时
发生了错误。注册表文件中丢失位置文件详细资料。
确保试图加载的位置与创建数据库时
指定的位置不兼容。





-7411	在为客户位置加载位置对象时发生错误。

可能在读取注册表或读取转换对象文件时
发生了错误。注册表文件中丢失位置文件详细资料。
确保试图加载的位置与创建数据库时
指定的位置不兼容。





-7406	在执行之外不支持操作 operation_name。

这是数据库服务器内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7404	文件协议错误。该错误由客户机报告。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7403	文件协议错误。期望的协议为 message_packet_name。

这是内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7402	发生内部错误。

如果出现该错误，请记下所有情况并联系 IBM 技术支持。



-7401	无效的 API 用法 <API-call>.

一个 DataBlade API 调用使用了无效的参数或存在于一个不正确的上下文中。
可能有一个或多个参数的值是无效的，DataBlade API 调用的顺序可能不正确，
或者调用是在调用无效的 callback 函数中进行的。

检查 API 调用中的各个参数值是有效的，并且所有参数值的组合是正确的。还要
检查 DataBlade API 调用的顺序。如果错误消息中的 API 调用是在 callback 函数
中进行的，请将调用移开或删除。






-7400	无效的 API 参数 <argument-name>.

确认 DataBlade API 调用的参数。







-7353	事务无法在新主服务器上继续。

该事务已在辅助服务器上启动。在处理该事务时，辅助服务器所连接到的原始主服务器脱机，并且另一服务器成为新的主服务器。在新的主服务器上重现事务状态时出错
。



-7352	操作无法在辅助节点上运行

尝试了在辅助节点上运行只能在主节点上成功运行的操作。需要在当前主节点上执行此操
作



-7351	主服务器和辅助服务器之间的连接已丢失。

主服务器和辅助服务器之间的连接已丢失。在重新建立连接之前，辅助服务器上的更新将无法执行
。



-7350	尝试更新行的较早版本。

尝试更新行的较早副本。这导致乐观并发失败。

当使用可更新的辅助版本且该行的当前版本尚未复制到连接的客户机应用程序所在的辅助服务器上时，可能会发生该错误
。

当辅助服务器的表模式与主服务器的表模式不匹配时，也会返回该错误代码
。



-7212	Incorrect value for the DBNLS environment variable. Valid settings 
when using GBASEDBT-4GL and GBASEDBT-SQL are 0, 1, or 2.

When using GBASEDBT-4GL or GBASEDBT-SQL, you must set the 
DBNLS environment variable to a value of 0, 1, or 2.




-7211	无法引用外部NLS数据库。

如果你的当前数据库不是NLS数据库，你就不能在另一个或同一个数据库服务器访问
NLS数据库。但是，如果NLS环境变量设置正确，即使你的当前数据库不是NLS数据库，
你也可以取消一个NLS外部数据库。





-7210	该服务器没有NLS功能。

当你想从一个无NLS准备的数据库服务器存取数据时，返回该信息。该数据库服务器不
支持NLS。同GBasedbt联系，获得支持NLS的版本。





-7209	LANG或LC_TIME环境变量无效。

LANG或LC_TIME环境变量设置无效。将其中之一或全部设置成你的系统支持的值。





-7208	LANG或LC_NUMERIC环境变量无效。

LANG或LC_NUMERIC环境变量设置无效。将其中之一或全部设置成你的系统支持的值。





-7207	LANG或LC_MONETARY环境变量无效。

LANG或LC_MONETARY环境变量的设置无效。将其中一个或全部设置成你的系统
支持的值。





-7206	LANG或LC_CTYPE环境变量无效。

LANG或LC_CTYPE环境变量的设置无效。将其中的一个或全部设置成你的系统支持的
值。





-7205	DBNLS未被设置或LC_CTYPE必须被设置为范畴值。

当你试图对一个与当前数据库有不同位置的外部数据库进行访问时，本信息可能被返
回。为存取该NLS数据库，你必须将DBNLS环境变量设置为1或2，并设置LC_CTYPE
环境变量为指定的<范畴值>。





-7204	LANG或LC_COLLATE环境变量无效。

LANG或LC_COLLATE环境变量设置无效。将其中的一个或全部设置成你的系统支持的值





-7203	DBNLS未被设置或LC_COLLATE必须是范畴值。

当你试图对一个与当前数据库变量的位置不同的外部数据库变量进行访问时，该信息
出现。为用该NLS数据库，你必须将DBNLS环境变量设置为1或2，设置LC_COLLATE环境
变量为指定的范畴值。





-7202	数据库建立没有NLS功能.

你试图在一个非NLS数据库中建立一个NCHAR(或NVARCHAR)字段，或说明一个NCHAR(或
NVARCHAR)变量.





-7000	<错误号>7000错误由光盘子系统引起。参考适当的子系统手册。

在所用的子系统文档中检查错误号。





-6070	尝试了关闭带有已打开事务的数据库。

程序通过 dbselect() 关闭数据库之前，必须结束当前事务。程序可调用 dbcommit() 或 dbrollback()
。



-6069	尝试了在事务外锁定表。

使用具有事务的数据库时，程序必须打开处于事务边界中的所有表；即，对 dbbegin() 的成功调用后。检查程序逻辑以查看是否执行了该操作。可能是自上次您使用程序
之后，事务日志记录已应用到数据库。



-6068	数据类型不受支持。

列的数据类型不受此版本的 ALL 支持（例如，BYTE 数据类型）。对照实际表来检查请求的列，并且仅使用具有数字或 CHAR 数据类型的列
。



-6067	尝试了在事务内解除表的锁定。

您无法在事务内（即，调用 dbbegin() 后且调用 dbcommit() 或 dbrollback() 之前）调用 dbunlock()。使用事务处理时，所
有锁定必须保持有效，直至落实或回滚事务。结束事务将自动释放所有锁定
。



-6066	数据库服务器协议错误。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-6065	数据库没有事务。

对 dbbegin()、dbcommit() 或 dbrollback() 的这一调用不恰当，因为当前数据库不支持事务。要使用事务处理来转换数据库，请参阅您的数
据库服务器的参考资料。



-6064	尝试了终止尚未启动的事务。

程序在事务未生效时调用了 dbcommit() 或 dbrollback()。尚未调用 dbbegin() 来启动事务，或者对 dbcommit()、
dbrollback() 或 dbselect() 的调用已结束了事务。检查程序逻辑以查看发生该错误的原因
。



-6063	NULL 指针参数。

该函数调用的某个参数应包含指向内存的指针，实际上却包含 C 空指针值（零）。检查程序的逻辑以了解发生该错误的原因
。



-6062	当表中任何列允许空值时，无法使用 Dbsetfileview。

由于 dbsetfileview() 构造的缓冲区不使用对齐，因此 dbsetfileview() 无法为可能具有空值的列构建缓冲区
。



-6057	ROLLBACK WORK 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-6056	COMMIT WORK 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-6055	BEGIN WORK 失败。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-6052	并非所有组合索引均包含在该表的当前视图中。

当程序调用 dbselfield() 以设置组合索引时，通过调用 dbsetfileview() 或 dbstructview() 而建立的当前视图必须包括该索
引的所有列。检查程序逻辑（特别是对后两个函数的调用）以确保执行了该操作。如果视图是按照您的期望设置的，那么可能是组合索引已被删除或并使用更多列或不同列进行了重新
创建。



-6050	键描述错误：内部错误。

不应返回该错误。发生该错误的最有可能的原因是，ALL 使用的某个内部数据结构在内存中已被覆盖。请检查程序逻辑。如果您确信程序不会存储到 ALL 数据中，请记下所
有情况并联系 IBM 技术支持。



-6045	未选择列或索引。

程序调用 dbfind() 前，必须首先调用 dbselfield() 以建立检索方法（即使将不使用任何索引）。检查程序逻辑以确保执行了该操作
。



-6044	列号大于组合键中列的数量。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-6043	列不是组合键。

传递给 dbselfield() 的 columname 参数不是指定表中列的名称，也不是该表上组合索引的名称。检查 tablename 和 columname
参数。如果它们与您期望的一致，检查是否选择了正确的数据库。如果是，那么所需的索引可能已被删除或者是使用其他名称创建的
。



-6042	传递到 dbprusing 的格式无效。

传递到 dbprusing() 的格式字符串不可接受。验证传递的值，根据参考资料中的描述检查 USING 函数的规则，以了解 GBase  4GL 
的“报告”功能。



-6041	列号大于表中列的数量。

呈现给 dbnfield() 的 colnum 参数大于传递了其名称的表中列的总数。如果程序从 0 开始向上对列号进行迭代，该返回码表明表的结束。否则，检查传递
的数字；如果与您期望的一致，那么当前数据库是错误的，或者表已被变更
。



-6040	在数据库中未找到具有别名的表作为表名。

无法在当前数据库中找到呈现给 dbalias() 用作表名的 oldname 参数。检查参数的值；如果与您期望的一致，那么可能当前数据库是错误的，或者期望的表已
被重命名。



-6038	别名不能是现有别名的别名。

呈现给 dbalias() 的 oldname 参数在先前的调用中已定义为别名。程序可为一张表定义多个别名，但不能为一个别名定义另一个别名。请检查程序逻辑，对其
进行更改以便 oldname 参数在数据库中始终是真实表的名称。



-6037	别名先前已使用。

提供给 dbalias() 的 newname 参数在先前的调用中已定义为别名。在程序的运行中，一个别名只能定义一次。请检查程序逻辑，对其进行更改以仅使用别名一
次。



-6036	别名与数据库中现有表名相同。

提供给 dbalias() 的 newname 参数已在数据库中作为表而存在。请检查程序逻辑，对其进行更改以仅使用唯一别名
。



-6035	无当前行。

传递到 dbfind() 的 flag 参数表示当前行（例如，相对于某个 FIRST 的标志 CURRENT 或 NEXT）；但是之前的调用尚未建立当前行。检查
程序逻辑以确保其在建立当前行之后再进行此类调用。



-6034	用户没有从表中删除行的 SQL 许可权。

运行该程序的用户帐户没有被授予当前表上的 DELETE 特权。对数据库具有 DBA 特权的用户应使用 SQL 语句 GRANT 来授予必要的特权。然后再次运行程
序。



-6033	用户没有更新指定列的 SQL 许可权。

运行该程序的用户帐户没有被授予当前表上的 UPDATE 特权。对数据库具有 DBA 特权的用户应使用 SQL 语句 GRANT 来授予必要的特权。然后再次运行程
序。



-6032	用户没有向表中插入行的 SQL 许可权。

运行该程序的用户帐户没有被授予当前表上的 INSERT 特权。对数据库具有 DBA 特权的用户应使用 SQL 语句 GRANT 来授予必要的特权。然后再次运行程
序。



-6031	用户没有选择指定列的 SQL 许可权。

运行该程序的用户帐户没有被授予当前表上或者要选择的特定列上的 SELECT 特权。对数据库具有 DBA 特权的用户应使用 SQL 语句 GRANT 来授予必要的
特权。然后再次运行程序。



-6030	无法添加重复值；索引已定义为 UNIQUE。

呈现给 dbupdate() 的列值中至少有一个列值是对其所在列中现有值的重复。但是，该列被约束为包含唯一值。无法插入该行
。



-6029	尚未设置视图。

程序调用 dbupdate() 前，必须首先调用 dbsetview() 以建立视图（即，要返回的列以及对其进行接收的缓冲区的规范）。检查程序逻辑以查看是否执行
了该操作。



-6028	Tablename 尚未打开。

对 dbselect 的调用必须首先打开 dbupdate() 要使用的表。检查程序逻辑以确保执行了该操作
。



-6027	无法向 NOT NULL 列中插入 NULL 值。

对 dbadd() 或 dbupdate() 的调用尝试了插入一个行，而该行对被限制为非空的列包含一个空值。可能是程序使用 dbsetnull() 在记录缓冲区
中放置了一个空值，或者当前视图忽略了被约束为非空的列。该行未插入。在添加或更新前，检查表和程序逻辑的定义，对其进行更改，以使其对所有非空列定义了值
。



-6026	必须对命名列建立索引，或者必须选择顺序搜索。

对 dbselfield() 的调用命名了一个在数据库中不包含索引的列，但传递的标志为 ACCKEYED。检查以确保列的命名正确且打开了正确的数据库和表。如果上
述情况属实，那么必须删除索引并应重新创建索引，才能再次运行程序
。



-6025	表已打开。

对 dbselect() 的调用传递了已打开的表的名称。该表继续保持打开状态。检查程序逻辑以查看其是否对 dbselect() 进行了冗余调用
。



-6024	内存分配错误，内存不足。

在某些操作期间，将会分配内存以容纳内部数据结构。在该调用上，内存分配失败。通过打开更少的表和/或创建带更少列的数据库视图结构，可能会避免该问题
。



-6023	Tablename 尚未打开。

对 dbselect 的调用必须首先打开 dblock() 或 dbunlock 要使用的表。检查程序逻辑以确保执行了该操作
。



-6022	锁定被拒绝。

可能其他某个进程已锁定了该表。程序应稍等一段时间，然后再次尝试锁定。如果这种情况依然存在，程序应回滚其事务并重试整个操作
。



-6021	Tablename 尚未打开。

对 dbselect 的调用必须首先打开 dbdel() 要使用的表。检查程序逻辑以确保执行了该操作
。



-6020	没有当前行。

dbdel() 和 dbupd() 函数使用 dbfind() 对最后选择的行执行操作。检查程序逻辑以查看是否调用了 dbfind() 以建立行。如果对 
dbfind() 自身进行了调用，那么会向其传递一个标志（如 CURRENT），该标志假定先前调用中已经选了一个行，但实际尚未选择任何行
。



-6019	尚未设置视图。

程序调用 dbadd() 前，必须首先调用 dbsetview() 以建立视图（即，要返回的列以及对其进行接收的缓冲区的规范）。检查程序逻辑以查看是否执行了该操
作。



-6018	Tablename 尚未打开。

对 dbselect 的调用必须首先打开 dbadd() 要使用的表。检查程序逻辑以确保执行了该操作
。



-6017	无法添加重复值；索引已定义为 UNIQUE。

呈现给 dbadd() 的列值中至少有一个列值是对其所在列中现有值的重复。但是，该列被约束为包含唯一值。无法插入该行
。



-6016	尚未设置视图。

程序调用 dbfind() 前，必须首先调用 dbsetview() 以建立视图（即，要返回的列以及对其进行接收的缓冲区的规范）。检查程序逻辑以查看是否执行了该
操作。



-6015	Tablename 尚未打开。

首先，使用 dbselect() 打开指定给该函数的表名。检查程序逻辑以确保执行了该操作
。



-6014	没有这样的标志值。

该函数的标志参数不是定义的值之一。当调用采用预定义标志值的函数时，请使用 dbio.h include 文件定义的名称，并且仅传递为该特定函数定义的标志
。



-6012	文件开头。

针对上一行的这一 dbfind() 调用未生成任何数据。已达到表的开头
。



-6011	文件结尾。

针对下一行的这一 dbfind() 调用未生成任何数据。已达到表的结尾
。



-6010	无法找到值。

针对带有键的搜索的这一 dbfind() 调用未生成任何数据。所选的索引列中未找到请求的值
。



-6009	表中没有数据。

为空表调用 dbselfield() 或 dbfind() 时，将返回该消息。该消息不是反映程序中的错误，而是反映表的状况
。



-6008	Tablename 尚未打开。

对 dbselect 的调用必须首先打开 dbselfield() 要使用的表。检查程序逻辑以确保执行了该操作
。



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

传递到该函数的列名在表中不存在。检查名称的拼写。如果名称是正确的，那么选择了错误的数据库或者表已被变更
。



-6006	Tablename 尚未打开。

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



-6005	无法找到某个列。

传递到该函数的列名中至少有一个列名在传递了其名称的表中不存在。检查表的名称以及列的名称。如果这些名称是正确的，那么选择了错误的数据库或者数据库已被变更
。



-6004	未打开任何数据库。

程序已调用了一个要求数据库打开的函数，但未打开任何数据库。程序在调用该函数之前，必须首先调用 dbselect()
。



-6002	尝试了打开多个数据库。

程序连续两次通过传递 DBOPEN 标志调用了 dbselect()。程序必须通过 DBCLOSE 标志调用 dbselect()，以在关闭数据库之后再打开另一
个数据库。



-6001	数据库或表不存在。

为此函数指定的表或数据库不存在。可能是名称不正确，选择了错误的数据库或者数据库已被变更
。



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

程序必须首先使用 dbselect() 函数选择数据库，然后选择表，才能访问数据。检查程序逻辑以了解为何未进行这些调用
。



-5856	您为 FLOAT指定的精确度无效。

FLOAT 数据类型的最大精确度值必须在 1 到 16之间。
注意：SQL 忽略所有指定的精确度。






-5855	目标字符串的长度不足以包含转换的格式。

目标字符串的长度不足以包含转换的格式。您需要为目标字符串分配更多空间
。



-5854	不可辨认的格式元素：(element_name)。

指定的格式元素不可辨认。可能不是有效的
 Oracle 格式元素。





-5853	格式元素 (element_name) 在 GBasedbt 中没有等价元素。

不支持指定的格式，因此无法转换为 GBasedbt 格式。



-5852	无效日期。

给函数指定的参数之一必须是 DATETIME 类型。
检查传递给函数的参数值。





-5851	指定给 SUBSTRING 函数的值无效。

指定给 SUBSTRING 函数的长度参数不能具有负值



-5849	查询计划的子查询序列化设置和 NO_SUBQF 环境变量的当前值不匹配
。

 .PROBLEM 查询计划使用了不同的 NO_SUBQF 环境变量值创建，而不是使用当前的 NO_SUBQF 环境变量值。.操作：更改 NO_SUBQF 环境
变量的值，或运行 UPDATE STATISTICS 来重建例程查询计划。



-5848	存在违反约束的行

 .PROBLEM 无法更改约束的事务方式设置，因为有一行违反了约束（可能因延迟的约束造成）
。



-5030	CSM：密码库错误：<text>。

数据库服务器或客户机中的“通信支持模块”(CSM) 收到来自其密码服务提供者（或密码库）的错误指示信息。仅当使用 CSM 时才会发生该错误，它通常表示内部处理错
误，但未检测出的协议错误也可能导致该错误。该错误消息后可能会提供其他文本和/或密码库返回码
。

如果在上下文设置期间（即，在连接时）发生该错误，那么连接建立会失败。如果在建立连接之后发生该错误，那么该连接将被删除
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5013	CSM：无法获得证书：认证错误。

服务器或客户机中的CommBlade（通信支持模块-CSM）无法获得一个证书以在认证
交换中进行。例如：一个用户没有提供口令，或者对外部认证服务的证书请求
返回一个错误代码。只有使用CommBlade时才会发生该错误。该错误只有在
上下文建立（即：在连接时）才发生。

连接建立失败。

请提供口令，或提前指定外部认证服务提供程序要求的操作（例如：
Kerberos klogin）。






-5012	CSM：收到意外类型的消息。

数据库服务器或客户机中的“通信支持模块”(CSM) 收到一条消息，该消息的类型与协议格式和/或内部状态不一致。该消息比消息 -5011 更具体，因为在这种情况下
，内部一致的协议数据单元可能具有接收方无法处理的消息类型。仅当使用 CSM 时才会发生该错误。以下情况可能导致该错误：通信错误、客户机和数据库服务器使用的 
CSM 版本不兼容或客户机和数据库服务器 CSM 的配置不一致。

如果在上下文设置期间（即，在连接时）发生该错误，那么连接建立会失败。如果在建立连接之后发生该错误，那么该连接将被删除
。

请确保 CSM 类型的发行版本匹配，以及客户机和数据库服务器 CSM 的配置匹配。如果该问题重复出现，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信
息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5011	CSM：协议错误。

数据库服务器或客户机中的“通信支持模块”(CSM) 收到一条消息，该消息的类型与 CSM 的协议格式和/或内部状态不一致。通常产生该错误的原因是内部消息不一致性
，表示收到未知格式的协议数据单元。仅当使用 CSM 时才会发生该错误，以下情况可能导致该错误：通信错误、客户机和数据库服务器使用的 CSM 版本不兼容或客户机和
数据库服务器 CSM 的配置不一致。

如果在上下文设置期间（即，在连接时）发生该错误，那么连接建立会失败。如果在建立连接之后发生该错误，那么该连接将被删除
。

请确保 CSM 类型的发行版级别匹配，以及客户机和数据库服务器 CSM 的配置匹配。如果该问题重复出现，请与 IBM 技术支持或 CSM 供应商联系，并提供下列
信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5010	CSM：发生内部处理错误。

数据库服务器或客户机中的“通信支持模块”(CSM) 检测到内部处理错误，并且无法进行自我诊断以提供更多信息。仅当使用 CSM 时才会发生该错误，它通常表示内部处
理错误，但未检测出的协议错误也可能导致该错误。

如果在上下文设置期间（即，在连接时）发生该错误，那么连接建立会失败。如果在建立连接之后发生该错误，那么该连接将被删除
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5009	CSM：发生认证错误。

在数据库服务器或客户机中执行主体认证的“通信支持模块”(CSM) 无法认证主体
。

如果在建立会话期间发生该错误，那么连接建立会失败。如果在建立连接之后发生该错误，那么该连接将被删除
。

导致该错误的常见原因包括提供的密码无效，或者期望的数据库服务器不信任该客户机计算机或您的用户标识
。

请提供认证所需的正确密码。或请求系统管理员将该客户机计算机作为受信任的主机和/或将您的用户标识作为受信任的用户，包含到数据库服务器计算机的 /etc/
hosts.equiv 文件或数据库服务器计算机上您的主目录的 .rhosts 文件中。有关更多信息，请参阅 HOSTS.EQUIV(5) 上的“UNIX 手册
”页面。

如果该问题重复出现，请联系 IBM 技术支持，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5008	CSM：同级已断开连接。

数据库服务器或客户机中的“通信支持模块”(CSM)

从同级 CSM（使用其专用的 CSM 间协议）收到消息，要求按顺序开始销毁各自的 CSM 上下文。该 CSM 通过将该消息返回给调用者（CSS 及其调用者）作为
响应。该消息可能不是一个错误，而实际上可能是该协议的一部分。可能触发该断开连接操作的典型事件是凭证到期（如 Kerberos 凭单过旧，由于 CSM 功能对 
SQL 会话的持续时间设置了期限而导致关联时间过长，或 X.509 证书到期）。仅当使用 CSM 时才会发生该错误
。

如果断开连接是意外情况而且该问题持续存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 
sqlhosts 信息。



-5007	CSM：上下文选项 <text> 无效。

数据库服务器或客户机中的“通信支持模块”(CSM) 发现其当前版本不支持的 CSM 连接选项规范。该连接选项字符串在 CSS 配置文件以及 sqlhosts 文
件的 csm 选项字段中指定。错误消息中的文本列出了 CSM 不支持的所有选项
。

请从 CSM 连接选项规范中除去 CSM 不支持的所有选项或将 CSM 升级为支持这些选项的版本。如果该问题重复出现，请与 IBM 技术支持或 CSM 供应商联
系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。




-5006	CSM：全局选项无效。

“通信支持模块”(CSM) 发现其当前版本不支持的全局选项。该全局选项字符串在 CSS 配置文件中指定
。

请从全局选项规范中除去 CSM 不支持的所有选项或将 CSM 升级为支持这些选项的版本。如果该问题重复出现，请与 IBM 技术支持或 CSM 供应商联系，并提供
下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5005	CSM：功能不受支持。

数据库服务器或客户机中的“通信支持模块”(CSM) 发现其当前版本不支持的全局或连接参数规范。该 CSM 还可能通过内部 CSM 间协议发现同级 CSM 在使用
它的实例不支持的选项。

请除去该 CSM 不支持的所有选项或将 CSM 升级为支持该选项的版本。在客户机和数据库服务器中安装并激活 CSM 的匹配版本。如果该问题重复出现，请与 IBM
技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5004	CSM：上下文无效。

数据库服务器或客户机中的“通信支持模块”(CSM) 检测到一个上下文包含无效数据或与当前操作/CSM 状态不一致。该错误通常发生在输入或输出消息处理期间（而非建
立上下文期间）。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5003	CSM：发生文件 I/O 错误。

数据库服务器或客户机中的“通信支持模块”(CSM) 无法成功完成文件的读或写操作。仅当使用 CSM 时才会发生该错误
。

请验证客户机中的用户或数据库服务器中的 gbasedbt 用户对于 CSM 执行该操作所需的全部文件是否具有读写访问权。如果验证失败，请与 IBM 技术支持或 
CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhost 信息
。



-5002	CSM：内存释放出错。

数据库服务器或客户机中的“通信支持模块”(CSM) 无法释放内存。仅当出现某种形式的内存崩溃时才会出现该错误消息
。

请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文件以及 sqlhosts 信息
。



-5001	CSM：内存分配出错。

数据库服务器或客户机中的“通信支持模块”(CSM) 无法获取进行处理所需的内存
。

请确保系统配置为动态分配提供了足够的可用内存。如果验证失败，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和数据库服务器的 CSS 配置文
件以及 sqlhost 信息。



-5000	CSM 错误：<text>。

数据库服务器或客户机中的“通信支持模块”(CSM) 检测到一个错误
。

该错误代码是一个常规的 CSM 错误代码。个别的 CSM 可以使用该代码反映不同的错误情况。错误文本中会提供有关该错误可能原因的线索
。

如果为特定的 CSM 启用的机密性选项，那么您可能会看到该错误代码的以下示例：“CSM 错误：CSM：收到意外类型的消息。”这表示用户端（数据库服务器端或客户机
应用程序端）的 CSM 无法解释所收到的消息。请确保为数据库服务器和客户机应用程序都设置了机密性选项
。

请检查您的 sqlhosts 文件和 CSS 配置文件。查看另一端（数据库服务器端或客户机应用程序端）的错误消息，以获取有关该错误可能原因的更多线索
。

另外，还要确保数据库服务器或客户机 SDK 支持您正在使用的 CSM。如果该问题仍然存在，请与 IBM 技术支持或 CSM 供应商联系，并提供下列信息：客户机和
数据库服务器的 CSS 配置文件以及 sqlhosts 信息。



-4866	DATETIME 格式无效。

字段值对于 xsd DATETIME 值过宽。



-4865	字段值超出 DATETIME 值中的可接受范围。

DATETIME 值至少包含一个不正确的字段或至少缺少一个字段。

可能的错误包括：对年使用了零；对月使用了 1 到 12 以外的数字，对日使用了 1 到 31 之外的数字，对时使用了 0 到 23 之外的数字，或对分或秒使用
了 0 到 59 之外的数字；对月使用了不恰当的数字；对指定精度使用了数字过多的尾数
。



-4864	DATETIME 值中的字符无效。

DATETIME 字面值的格式受到严格限制，只能包含小数位数和以下定界符：年、月、日数字之间的连字符；日和时之间的空格；时、分、秒之间的冒号；秒和尾数之间的小数
点。

如果使用了任何其他字符或以错误顺序使用了允许的字符，都将返回错误
。



-4863	DATETIME 格式无效。

DATETIME 值与必需的格式不匹配。

DATETIME 值至少缺少一个字段，或者重复了某个字段值，或者其定界符缺少、位置错误或重复，或者在 xsd DATETIME 值中具有不恰当的标记符
。



-4862	DATETIME 格式无效。

不支持 XSD 格式的 DATETIME 值。



-4861	输出缓冲区大小不足以容纳 DATETIME 值。

当调用了该函数，且输出缓冲区的地址空间为空或小于格式字符串长度时，将返回该错误
。



-4860	INTERVAL 值无效。

仅 INTERVAL 值的秒中允许尾数，且小数点应在秒和尾数之间。检查字面值限定符中的标点是否缺少或位置错误
。



-4859	INTERVAL 值无效。

INTERVAL 值的标记字母顺序无效。INTERVAL 值可包含“年/月”时间间隔或“日/时”时间间隔。INTERVAL 值必须遵循从头到尾的格式。
INTERVAL 的限定符可指定来自 YEAR 和 MONTH 的字段，或从 DAY 至 FRACTION 的字段，但是不能同时指定来自两组中的字段
。



-4858	INTERVAL 值无效。

INTERVAL 值具有重复的标记字母。INTERVAL 值可以指定数年和/或数月，或者数天和/或若干非完整天。不能同时指定数年和/或数月以及数天和/或若干非完
整天。INTERVAL 值必须遵循从头到尾的格式，不能重复相同单位
。



-4857	INTERVAL 值的字段中数字过多。

INTERVAL 字面值的第一个字段必须包含 1 个或 2 个数字（如果该字段不是 YEAR）或者 2 个或 4 个数字（如果该字段是 YEAR）。检查该语句中
的 INTERVAL 字面值并根据需要进行纠正。



-4856	在 INTERVAL 值中需要数字的位置没有数字。

检查 INTERVAL 值以确保其不缺少字段。在 INTERVAL 字面值中，第一个字段是计数字段并且可具有限定符所指定数量的数字
。



-4855	INTERVAL 值无效。

INTERVAL 值中错误使用了有效标记符。检查用于 INTERVAL 限定符的标记符（如 YMDTHMS）以确保其在值中的正确位置进行使用
。



-4854	INTERVAL 值无效。

某个无效字符用作了 INTERVAL 值中的标记符。有效标记符为 YMDTHMS
。



-4853	在 INTERVAL 值的结束处有多余的（非空格）字符。

INTERVAL 字面值后面只能跟空格。检查 INTERVAL 值。



-4852	INTERVAL 值无效。

INTERVAL 值具有无效字符。持续时间中的时、分或秒均必须以“T”开头
。



-4851	INTERVAL 值无效。

INTERVAL 值具有无效字符。INTERVAL 值的语法必须以字符“P”开头
。



-4850	用于格式化的 INTERVAL 值的空间不足。

在分配的缓冲区中无法容纳 INTERVAL 值。



-4831	变量 var_name 不是 INTEGER 或 SMALLINT 类型。它不能用于存储从搜寻操作返回的偏移字节
。

用于存储从搜寻操作返回的偏移字节的变量必须为整数类型。指定其他变量，或重新定义已命名的变量
。



-4830	变量 var_name 不是 INTEGER 或 SMALLINT 类型。它无法用作文件描述符
。

用作文件描述符的变量必须是整数类型。指定其他变量，或重新定义已命名的变量
。



-4829	内存分配错误。

已证明无法为文件 IO 函数（如 Open 或 Close）所需的小型固定大小结构分配内存。需要的内存量很小；程序大小稍加缩减，几乎都应该可以避免该错误
。



-4828	要从文件 file_name 中读取的字段长度不应超过 4096 个字节
。

从文件中读取的字符串的长度超过 4096 个字节。检查文件中的字段。可能是文件定界符的位置错误
。



-4827	文件 file_name 中的字符串过长，不适用于该变量。

变量的长度小于从文件中读取的字符串的长度。该字符串无法存储在变量中。请增加变量的大小
。



-4826	无法写入文件 file_name。随附的操作系统消息：OS_Message
。

无法写入文件。检查您的用户名是否具有写入文件的许可权。请从操作系统中查找随附的错误消息。可能是文件已关闭，或磁盘已满，或发生硬件故障
。



-4825	无法对文件 file_name 执行搜寻。随附的操作系统消息：OS_Message
。

无法对文件执行搜寻。请从操作系统中查找随附的错误消息。可能是文件已关闭，或者文件描述符可能在程序中被更改
。



-4824	无法读取文件“%s”。随附的操作系统消息：“%s”。

无法读取文件。检查您的用户名是否具有读取文件的许可权。请从操作系统中查找随附的错误消息。可能是文件已关闭，或磁盘已满，或发生硬件故障
。



-4823	与文件描述符相关联的文件可能未打开。

指定的文件描述符可能未与文件相关联。可能是文件已关闭，或者文件描述符可能在程序中被更改。重新访问程序逻辑
。



-4822	无法关闭文件 file_name。随附的操作系统消息：OS_Message
。

无法关闭文件。请从操作系统中查找随附的错误消息。可能是文件未打开，或者指定的文件描述符可能不正确
。



-4821	无法创建或打开文件 file_name。随附的操作系统消息：OS_Message
。

检查您的用户名是否具有在指定目录中创建文件的许可权。请从操作系统中查找随附的错误消息。可能是磁盘已满，或者您达到了打开文件数限制
。



-4820	仅当指定了格式时，才应设置定界符。

仅当指定了文件的格式时，才必须设置定界符。将文件的格式设置为 LOAD、CSV 或 TEXT，然后指定定界符
。



-4819	仅支持 LOAD、CSV 和 TEXT 格式。

可以指定的格式为 LOAD、CSV（逗号分隔值）和 TEXT。将文件的格式指定为 LOAD、CSV 或 TEXT
。



-4818	当格式为 CSV 时，定界符应为逗号。当格式为 TEXT 时，定界符应为换行符
。

当指定的格式为 CSV（逗号分隔值）时，定界符必须为逗号。同样，如果指定的格式为 TEXT，定界符必须为换行符。相应更改定界符
。



-4817	对其使用 fgl_dynarr_extentsize(dynarr, n) 的动态数组没有“n”维
。

已对其调用 fgl_dynarr_extentsize 函数的数组没有 n 维。请查看 DEFINE DYNAMIC ARRAY 语句中的数组定义，并查明它的维
数。



-4816	fgl_dynarr_extentsize 函数中使用的动态数组应处于 ALLOCATEd 状态
。

函数只能用于已分配的动态数组。在调用 fgl_dynarr_extentsize 函数前，请使用 ALLOCATE ARRAY 语句
。



-4815	只有动态数组才能用于 fgl_isdynarr_allocated 或 fgl_dynarr_extentsize
。

请仅使用 DYNAMIC ARRAY 作为 fgl_isdynarr_allocated 函数的参数以及 fgl_dynarr_extentsize 函数的第一
个参数。动态数组名使用时应该不带任何下标。



-4814	所传递/返回的动态数组应该具有相似特性。

传递给函数或从函数返回的动态数组：a. 必须与所传递/返回的函数具有相同类型 b. 必须对两个函数具有相同数量的扩展数据块 c. 如果它是一条动态数组记录，必须
让两条记录具有相同大小



-4813	动态数组 ALLOCATE/RESIZE 参数必须是非零的正数。

请检查 RESIZE 或 ALLOCATE 语句。下标值必须是非零的正数。



-4811	不允许 DYNAMIC ARRAY OF RECORD 中的 DYNAMIC ARRAY。

在 DYNAMIC ARRAY of RECORD 内部不能具有 DYNAMIC ARRAY。请将它替换成 ARRAY 类型
。



-4810	ALLOCATE/RESIZE 的动态数组变量“%s”上缺少下标。

ALLOCATE 和 RESIZE 语句需要（新）大小。如果缺少下标，那么将发生该错误。示例：ALLOCATE ARRAY dynarr[10]



-4809	DEALLOCATE ARRAY 语句只能含有数组名。它不得含有下标。

您仅通过使用不带下标的数组名而取消分配了动态数组。不能使用如下带有下标的语句：DEALLOCATE ARRAY dynarr[10] 请改用如下语句：
DEALLOCATE ARRAY dynarr 



-4808	当包含 DYNAMIC ARRAY OF RECORD 时，不允许 RECORD 嵌套。

不能定义其中顶级记录是 DYNAMIC ARRAY 类型的 RECORD 元素。请将顶级 DYNAMIC ARRAY OF RECORD 替换成 ARRAY 类
型。



-4807	不允许对尚未分配的动态数组的元素进行访问。

尚未分配动态数组。请通过 ALLOCATE DYNAMIC ARRAY 语句来分配动态数组。语法是 ALLOCATE ARRAY <arrayname>
[extent information]。请参阅 4GL Reference Manual 以获取更多详细信息
。



-4806	已分配动态数组。

已经使用 ALLOCATE 语句分配数组。在再次尝试“分配”它之前请使用 DEALLOCATE，或者使用 RESIZE 来更改扩展数据块大小
。



-4805	要对其执行 ALLOCATE/DEALLOCATE/RESIZE ARRAY 语句的变量必须是一个动态数组
。

DYNAMIC ARRAY 类型的变量可以是 ALLOCATE、DEALLOCATE 或 RESIZE 语句的主体。该变量可以是任何简单类型或 4GL 
RECORD 类型的动态数组。



-4804	不能对变量“%s”加下标，因为它不是数组变量。

只有 ARRAY 或 DYNAMIC ARRAY 类型的变量才能接受加下标。如果编译器遇到在某种其他类型的变量上加下标的操作，就会产生该错误
。



-4803	ALLOCATE/DEALLOCATE/RESIZE ARRAY 语句中使用的变量只能是 DYNAMIC ARRAY 类型的变量
。

ALLOCATE、DEALLOCATE 或 RESIZE 语句的主体必须是 DYNAMIC ARRAY 类型的变量。该变量可以是任何简单类型或 4GL 
RECORD 类型的动态数组。



-4802	不允许某条记录的动态数组中 BLOB 作为成员之一。

动态记录数给不得将 BLOB 或 TEXT 数据类型作为其中一个成员
。



-4801	只能对 WITH DIMENSIONS 使用 1、2 或 3。

声明动态数组的语法是 DEFINE arrname DYNAMIC ARRAY [with n dimensions] OF TYPE。n 值可以是 1、2 
或 3。如果未指定，缺省值假定为 1。



-4704	选项名称需要自变量。

您指定了程序无法识别的选项。有关该命令的有效选项，请参阅您的文档。请仅使用有效选项来重复该命令
。




-4703	选项名称无效。

您指定了程序无法识别的选项。有关该命令的有效选项，请参阅您的文档。请仅使用有效选项来重复该命令
。



-4702	未指定程序。

该命令无法执行，因为您未指定程序名。以 NewEra 程序的名称作为自变量，重复该命令
。



-4701	-V 选项不得与其他自变量一起使用，必须单独使用。

-V 选项请求程序显示版本号，然后终止。该选项不允许与任何其他选项一起使用。要显示版本号，请重复该命令，但只能带有 -V 选项
。



-4671	SQL...END SQL 块中的分号 (;) 后面缺少 END SQL。

可以在 SQL...END SQL 块内部使用可选分号 (;) 来标记 SQL 语句结束。程序遇到了分号 (;)，但是紧接在分号后找不到 END SQL。请检查
代码以确保 END SQL 指令紧跟在分号 (;) 后面。



-4670	不能在 SQL...END SQL 块内使用多条 INTO 子句。

SQL...END SQL 块内只能使用一条 INTO 子句。请检查代码以确保没有使用多条 INTO 子句
。



-4669	函数 fgl_setcurrline 只能用在 INPUT/DISPLAY ARRAY 块中。

正在 INPUT/DISPLAY ARRAY 块的外部使用该函数。请检查代码以确保除了 INPUT/DISPLAY ARRAY 块以外的任何其他位置尚未使用 
fgl_setcurrline。



-4668	由 START REPORT 语句指定的报告输出未采用下列任何形式：文件、管道、屏幕、打印机、线性管道方式，或者表单管道方式
。

只能将报告输出发送给下列任何接收方：文件、管道（表单或线性方式）、屏幕或打印机
。



-4667	在该文件中类名只能前置声明。

不赞成使用前置声明类来更新存储库。



-4666	填充存储库时遇到问题。

有关该问题的详细描述，请参阅 $GBASEDBTDIR\temp 或当前目录中的 repold.log 文件
。



-4665	警告：报告页头或页尾输出必须以换行符结束，因此将自动追加换行符
。

在报告页头或页尾行的结尾处包含分号 (;)。在报告正文中，结尾的分号将抑制新行的创建。页头和页尾必须以换行符结束才能正确执行。编译器已忽略分号。为了防止出现该警
告消息，请从源代码中除去分号。



-4664	CCL 类声明必须具有“-useccl”开关。请向模块中添加 INCLUDE SYSTEM“ixstmt.4gh”
。

要使用 -useccl 开关编译 REPORT 或 MAIN 程序块，用户需包含 ixstmt.4gh
。

该语句调用了其他函数调用的参数列表中嵌套的函数，级别超过了 4。支持的最高级别为 4，如以下表达式所示：Afun(2-Bfun(3+Cfun(4*Dfun
(5)))) 

重写表达式以存储变量中最内部函数调用的结果，并使用表达式中的变量
。



-4663	来自引擎的 ODBC 错误 -“text”。

已使用 -useccl 编译器开关。已检测到 ODBC 错误，此处显示为“text”
。



-4661	不允许对该内部成员函数使用访问控制限制。

内部成员函数 !copy() 和 !derive() 必须具有 PUBLIC 访问控制，这是成员函数的缺省访问控制
。



-4660	报告参数不能采用对象引用。

正式自变量不能指定类名（或 FOREIGN）作为其数据类型。



-4659	报告参数不允许具有 CHAR (*) 类型。

正式自变量不能接受未指定长度的字符数据类型，如 CHAR (*)
。



-4658	游标名称不允许为常量。

用作动态游标名称的标识必须为变量。



-4657	CANCEL DELETE 只能用在 INPUT ARRAY 语句的 BEFORE DELETE 子句中
。

正在 INPUT ARRAY 的 BEFORE DELETE 子句外部使用 CANCEL DELETE 语句。请检查代码以确保除了 BEFORE DELETE 
子句以外的任何其他位置尚未使用 CANCEL DELETE。



-4656	CANCEL INSERT 只能用在 INPUT ARRAY 语句的 BEFORE INSERT 子句中
。

正在 INPUT ARRAY 的 BEFORE INSERT 子句外部使用 CANCEL INSERT 语句。请检查代码以确保除了 BEFORE INSERT 
子句以外的任何其他位置尚未使用 CANCEL INSERT。



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

fort VARCHAR (maximum, reserved) 的声明已为 reserved 错误指定了一个不在 0 到最大值（包括 0 和最大值）之间的值
。



-4654	CHAR 大小应在 1 到 32766 范围之间。

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



-4653	INPUT/CONSTRUCT/MENU 语句中出现的 BEFORE 或 AFTER INPUT/CONSTRUCT/MENU 
子句不能超过一个。

只可有一个 BEFORE 语句块来初始化这些语句类型。请确保所有 INPUT、CONSTRUCT 和 
MENU 语句的范围已用 END 语句正确地标记。然后针对每个语句将所有预编译代码组合为
单个 BEFORE 块。

注：具有该含义的错误 -4653 是由 V4.1 之后的 4GL 发出的。



-4652	函数名只可在 INPUT 或 CONSTRUCT 语句中使用。

所显示的函数正在 INPUT 或 CONSTRUCT 语句之外使用。然而，它返回的结果仅在 INPUT 
或 CONSTRUCT 的上下文中才有意义。请复查代码，以确保 END INPUT 或 END CONSTRUCT 
语句没有放错位置。请复查函数的操作和使用，以确保您了解该函数。



-4651	您的路径中不包含 p-code 编译器。

因为无法执行编译器，所以无法编译源模块或程序。它应该位于 GBASEDBTDIR 环境变量所
指向的 bin 目录中；然而该目录还必须列在 PATH 环境变量中，这样才能调用该程序。



-4650	找不到运行器。

在由 GBASEDBTDIR 环境变量指定的目录中找不到正常的程序运行器或调试器。请检查该环
境变量的设置。



-4649	运行 fglc 时发生 I/O 错误：%s。

当前任何 GBase  产品都不会返回该消息。如果出现该消息，请参阅对错误 -4648 的论述。如果该错误重复出现，请记下所有情况并联系 IBM 技
术支持。



-4648	运行 4GL C 或 p-code 编译器时发生 I/O 错误。

在打开输入或输出文件（源文件、列表文件、错误文件等）时编译器收到意外的操作系统
错误码。请查找操作系统错误，这些错误有可能提供更多信息。



-4647	无法打开文件 filename 以读取 TEXT 变量值。

该 PRINT 语句通过使用 LOCATE 语句来引用文件或位于文件中的 TEXT 变量。当 4GL 尝
试打开此文件以提取值时，发生错误。可能此文件不存在；可能您的帐户无权访问它；可
能存在硬件错误。请验证此文件存在并且是按显示的样式拼写的；然后查找操作系统消息
，这些消息会提供更多详细信息。



-4646	指定的 WORDWRAP RIGHT MARGIN 值越界。

该值必须大于或等于当前字段，及小于或等于报表的右边界（或对于 DIRECTION RIGHT 
TO LEFT 是报表的左边界）。报表边界在报表的 OUTPUT 节设置。






-4645	4GL 不支持返回 blob 变量。

RETURN 语句不能命名 BYTE 或 TEXT 值。从函数中返回这种值的唯一方式是通过全局变量
。



-4644	每个 HELP 和 ATTRIBUTE 子句均只可指定一次。

在 INPUT 或 DISPLAY ARRAY 语句的范围内，只可给出这些子句中的一个。在源模块中从
该语句开始向后搜索；找到所有此类型的语句，并将其调整成一个语句。



-4643	INTERVAL 限定符中的一个字段超出范围。可接受范围为从 YEAR 到 MONTH 以及
从 DAY 到 FRACTION。

INTERVAL 可以指定为期数年和／或数月，或为期数天和／或几天中的某几段时间然而，时
间间隔值不可以混合使用月数和天数。INTERVAL 的限定符可以使用 YEAR 和 MONTH 中的
字段，或 DAY 到 FRACTION 中的字段，但不能同时具有这两部分的字段。



-4642	此处不允许下标。

当前的任何 GBasedbt 产品都不返回此消息。如果该错误重新出现，请记下所有情况并联
系 GBasedbt 技术支持部门。



-4641	此处需要列名。

在定义“LIKE column”变量时，必须指定表和列。此处的名称不是出现在当前数据库（源
文件中首个 DATABASE 语句所选择的数据库）中的列。请复查名称的拼写和所选择的数据
库。



-4640	此处需要表名。

在定义 LIKE table 变量或记录（例如表）时，必须指定一个存在于当前数据库（源文件
中首个 DATABASE 语句所选择的数据库）中的表。只有该数据库中的表可以在 LIKE 定义
中命名。请复查名称的拼写和所选择的数据库。



-4639	此处无法指定真实的列名。相反，需要符号“*”。

在定义 RECORD LIKE talbe 时，不能写入单个列的名称。请使用星号表示所有列。



-4638	varchar 的最大大小必须在 1 到 255 之间。

要存储长于 255 个字符的字符串，必须使用 CHAR 数据类型。



-4635	不能创建临时文件 filename 以包含 blob 变量。

已使用 LOCATE 语句在临时文件中找到了 TEXT 或 BYTE 变量。当前语句将一个值赋给该
变量，所以 4GL 曾尝试创建临时文件，但发生了错误。可能没有磁盘空间，或者可能您的
帐户无权创建临时文件。4GL 在 DBTEMP 环境变量指定的目录中创建一个临时文件。请查
找操作系统错误消息，

这些消息可能提供更多信息。请检查 DBTEMP 的值。



-4634	符号名必须是 SQL 数据库项名称 － 数据库名、表名或列名。

所示名称的使用上下文建议您指定一个数据库名，或数据库项的名称。然而，当前数据库
中没有关于该名称的任何信息。请检查名称的拼写。如果您打算使用此名称，请确保当前
数据库是您打算使用的数据库。



-4633	DATETIME 单位只能是 YEAR、MONTH、DAY、HOUR、MINUTE、SECOND 和 FRACTION
。

在当前语句中，DATETIME 或 INTERVAL 值的限定符或 UNITS 函数的参数存在某种错误。
这些情况下使用的有效的精度关键字只在消息中列出。可能是关键字拼写错误，也可能是
其它一些语法错误阻止 4GL 识别关键字。



-4632	FRACTION 的括号内精度必须在 1 到 5 之间。对于其它时间单位，不能指定任何
精度。

在 DATETIME 限定符中，只有 FRACTION 字段可以有括号内的精度，而且必须是 1 到 5 
之间的一个数。请检查当前语句中的 DATETIME 限定符；其中一个限定符违反了这些规则
。INTERVAL 限定符的第一个字段的括号内的精度也可在 1 到 5 之间。关于 DATETIME 
和 INTERVAL 之间的区别，请查阅 SQL 参考资料。



-4631	在时间列表中，DATETIME 或 INTERVAL 限定符的起始字段必须出现在其结束字段
之前。

DATETIME 或 INTERVAL 的限定符包含 start TO end，其中 start 和 end 是从这个列表
中选择的：

YEAR MONTH DAY HOUR MINUTE SECOND FRACTION 

在列表中，开始字段的关键字必须出现在结束字段的关键字之前，或者与其同时出现。例
如，DAY TO FRACTION 和 MONTH TO MONTH 的限定符有效，但是 MINUTE TO HOUR 的一个
限定符无效。



-4630	未能卸装文件 filename。

UNLOAD 语句失败，可能是因为 SELECT 语句有问题，或是因为生成输出文件时发生错误。
关于更多信息，请从 4GL 或操作系统中查找其它消息。



-4629	未能从文件 filename 中装入。

LOAD 语句失败，可能是因为读取所指定的文件时发生错误，或是因为将数据从一种格式转
换成另一种格式时发生错误。关于更多信息，请从 4GL 或操作系统中查找其它消息。



-4628	此时程序无法退出 DISPLAY ARRAY 语句，因为它不在 DISPLAY ARRAY 语句中。

当前语句是 EXIT DISPLAY，但它不在 DISPLAY 语句的上下文中。请从此处开始向后检查
源模块，以确定 DISPLAY 语句发生了什么情况。可能当前语句被错误放置，或者可能 
END DISPLAY 语句插入了更早的位置。



-4627	此时程序无法退出 INPUT 语句，因为它不在 INPUT 语句中。

当前语句是 EXIT INPUT，但它不在 INPUT 语句的上下文中。请从此处开始向后检查源模
块，以确定 INPUT 语句发生了什么情况。可能当前语句被错误放置，或者可能 END 
INPUT 语句插入了更早的位置。



-4626	无法打开文件 filename。

可能是文件不存在，或者您的帐户无权访问它，或者在打开该文件时发生硬件故障。请验
证此文件是否存在；如果它存在，请查找操作系统错误消息以了解更多信息。



-4625	FIXTIME 失败。

这是内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-4624	所有者名称标识的长度超过了 8 个字符。

出现在此语句中的所示名称应该有一个所有者名称，例如在表名前加所有者名：
identifier.table。然而，该名称超过 8 个字符，而数据库服务器仅允许 8 字符的所有
者名称。复查语句的标点符号和标识的拼写。



-4623	内存分配错误。

已证明，不可能为打印函数（例如 USING 或 ASCII）所需的固定大小的小型工作区分配内
存。需要的内存量较小；几乎程序大小的任何减小都应避免该错误。



-4622	根据指定的名称找不到可运行的 4GL 程序。

您要求运行的程序不可作为名为 program.4go 的文件访问。4GL 在当前目录和在 DBPATH 
环境变量中指定的目录中进行查找。请检查程序名的拼写。如果你打算使用它，请检查文
件是否存在以及 DBPATH 的设置。可能需要在运行程序之前编译它。



-4621	写入输出文件 filename 时发生错误。写入所指定的文件时，操作系统报告了错
误。问题可能是磁盘已满或硬件故障。请查找操作系统错误消息，这些消息提供更多的信
息。



-4620	GBase  ESQL/C 没有安装在系统上。

为了在程序定义中使用 ESQL/C 模块（带有 .ec 后缀的源文件），您必须在系统上安装 
GBase  ESQL/C。如果您认为它已安装，请复查安装过程，因为在 INFROMIXDIR 环
境变量中指定的目录中看不到该产品。



-4618	访问请求的文件时发生错误。

某种问题阻止程序读取您指定的文件。请查找其它消息（包括操作系统消息），这些消息
可能会提供更多的详细信息。



-4617	不能编辑位于不同设备上的程序。如果某个源文件所在的目录不与您的当前目录
同处一个设备上，则无法指定该源文件的路径名。请使用系统实用程序将源文件复制到当
前目录中（或当前设备上的某个目录中）。



-4616	4GL 程序数据库不存在。请通过 PROGRAM 部分创建。

在 UNIX 上，不可访问名为 syspgm4gl 的程序数据库。如果选择“程序”菜单选项，则将
询问您是否希望创建它。如果您认为此数据库应已存在（例如，如果您先前已定义了多模
块程序），则退出“程序员的环境”并检查 DBTATH 环境变量的值。它确定哪些数据库可
见（如果您正在使用 GBase  SE）。如果它正确，或者如果您正在使用 OnLine 数
据库服务器，则说明程序数据库从不存在或已被删除。



-4615	程序名无效。

您已为新程序指定了不可接受的名称。名称可能过长（在某些操作系统中最多只能有 10 
个字符，其它系统中最多只能有 8 个字符）。如果不是这样，请确保它以一个字母开头，
并且仅包含字母、数字和下划线字符。



-4614	具有此名称的程序已存在。

您已将程序数据库中已出现的程序指定为新程序。程序必须具有不重复的名称。请选择其
它名称。



-4613	对于此数据库，屏幕显示属性表当前不存在。

该程序使用的某一语句需要来自 syscolatt 表的输入；然而该表在当前数据库中不存在。
可能它尚未（使用 Windows 中的“列属性字典”实用程序或 DOS 和 UNIX 中的 upscol 
实用程序）创建；可能它从数据库中被误删除了；或者可能由于 DBPATH 环境变量的值发
生更改，现在正在使用中的数据库不是您需要的数据库。



-4612	对于此数据库，数据验证表当前不存在。

该程序使用诸如 VALIDATE 或 INITIALIZE 之类的语句，它们需要来自 syscolval 表的输
入，然而该表在当前数据库中不存在。可能它尚未（使用 Windows 中的“列属性字典”实
用程序或 DOS 和 UNIX 中的 upscol 实用程序）创建；可能它从数据库中被误删除了；或
者可能由于 DBPATH 环境变量的值发生更改，现在正在使用中的数据库不是您需要的数据
库。



-4611	当前没有可供此程序使用的 4GL 源。

您已请求编译某一程序，但系统找不到一个模块源文件。它正在查找带有 .4gl 后缀并且
在程序源列表中显示了名称的文件。它在当前目录中和 DBPATH 环境变量中指定的目录中
查找。请检查该程序已正确定义，并找到源模块。请确保 DBTATH 环境变量是正确设置的
。



-4610	在 4GL 模块中发现警告。

您已经用 -ansi 命令行选项进行编译，它警告您：所使用的任何 SQL 均不符合 ANSI 标
准 SQL。编译器确实发现一处或多处使用了标准 SQL 的 GBasedbt 扩展。编辑 
module.err 文件可查看警告消息。



-4609	可用于完成程序编译的内存不足。

唯一的实际解决方法是将源文件分解成更小的单元。



-4608	程序的编译未成功。

应该还可看见其它的错误消息，或者在后缀名为 .err 的文件中存在错误消息，用以说明
不成功的原因。



-4607	在编译期间发现以下错误。

发现与特定的源代码行无关的错误，例如，未定义的函数。可能还可显示 .err 文件，用
以查看更多错误消息。请按要求修改程序定义和源模块并重新编译它们。



-4604	在 4GL 模块中发现错误。

选择“纠正”菜单选项。将向您显示该模块的源码，并伴有错误消息。



-4603	根据指定的名称找不到可执行的 4GL 程序。

无法按 module.4go 文件找到指定的可执行程序。系统在当前目录中和在 DBPATH 环境变
量中命名的目录中查找。可能名称的拼写错误，或者文件可能已被重命名，或者可能 
DBPATH 变量设置不正确。



-4602	根据指定的名称找不到任何 4GL 程序。

在程序数据库中找不到指定的多模块程序。可能模块名称的拼写错误。如果自从定义程序
之后 DBPATH 环境变量已被更改，则可能您现在正使用与以往不同的程序数据库。



-4601	根据指定的名称找不到任何 4GL 模块。

无法按 module.4gl 文件找到指定的源模块。系统在当前目录中和在 DBPATH 环境变量中
命名的目录中查找。可能模块名称的拼写错误，或者文件可能已被重命名，或者可能 
DBPATH 变量设置不正确。



-4600	根据指定的名称找不到任何表单。

无法按 formname.frm 文件找到指定的表单。系统在当前目录中和在 DBPATH 环境变量中
命名的每个目录中查找。可能表单名称的拼写错误，或者表单文件可能已被重命名，或者
可能 DBPATH 变量设置不正确。



-4556	对象大小不得超过 65535 个字节。

您尝试创建的对象总大小超过 65535 个字节。数组消耗空间的速度比您观察到的速度快。一个类型为 CHAR(6) 的简单数组 A[100,100] 可消
耗 10,000 x 7 - 70,000 个字节。



-4555	变量大小不得超过 65535 个字节。

您尝试创建的变量总大小超过 65535 个字节。数组消耗空间的速度比您观察到的速度快。一个类型为 CHAR(6) 的简单数组 A[100,100] 可消
耗 10,000 x 7 - 70,000 个字节。



-4543	定界符无效。请勿使用“\\”、十六进制数字（0-9、A-F、a-f）或空格
。

使用除此处列出的 22 个禁止符号以外的定界符。



-4542	尝试升级设计数据库失败。

应用程序构建器尝试了将 GBase  4GL 中的较旧样式数据库升级为使用 NewEra 的新样式，但失败。该过程涉及创建一系列新表以及修改和移动数
据。

可能由于缺少许可权而发生该错误。数据库的所有者应执行此升级
。

可能由于磁盘已满而发生该错误。在写入并验证升级之前，升级不会擦除旧信息，然后只有在请求时才会将其擦除。升级所需的可用空间量大约等于较旧数据库使用的空间量
。



-4538	尚未指定数据库名称。

应用程序构建器尝试了执行 OPEN DATABASE 命令，但未指定数据库的名称。请检查 gbasedbt.ini 文件中的“database=...”行。如果
要使用缺省数据库，请将该行设置为“database=syspg4gl”。



-4536	数据库打开失败。

应用程序构建器无法打开数据库。网络故障、GBase  NET 故障或 DBPATH 环境变量中的值错误都可能会导致该错误。请检查 DBPATH 设置
，然后运行 SETNET。另请验证 UNIX 主机是否正常工作。



-4535	store include 表语法 "file1" "file2" 错误。

发生内部错误。

生成 INCLUDE 语句的代码，即生成 INCLUDE 语句的应用程序构建器前端代码与处理数据库数据的插入和除去的应用程序构建器后端代码不同步
。

如果所保存的块格外大并且其中的文件名超过 64 千字节，那么也可能导致产生该错误
。



-4534	Wordwrap may not be used within report headers or trailers.

4GL has to be able to predict how many lines will be used up in a 
report header or trailer. When the WORDWRAP function is used the 
number of lines of output is unpredictable, hence you may not use 
it in these contexts.




-4533	Please install an GBASEDBT-4GL Run Time Facility and run this 
program again.

The 4GL run-time package has not been properly installed. Consult 
the person who installed your GBasedbt software.




-4532	GBASEDBT-4GL Run Time Facility.

This error message should never be displayed.




-4531	The file filename starts with a bad magic number. You may have tried 
to run a file that was not created by the 4GL pcode compiler.

A magic number is a constant written at the start of the .4go or .4gi file 
to identify it as coming from the 4GL compiler. The runner program 
did not see the magic number it expected. Verify that the program 
file was really written by the compiler, or created from .4gi files 
written by the compiler. If so, it may be that the file has since been 
truncated to zero length or corrupted in some way. It might be best 
to recompile all modules. If the error recurs, please note all 
circumstances and contact the GBasedbt Technical Support 
Department.  




-4530	Cannot close and free a cursor used to process a report.

Within a report function, 4GL has set up a database cursor to read 
rows from a temporary table. Now it is closing and freeing the 
cursor and an error has been reported. Recompile the program and 
run it again. If the error recurs, please note all circumstances and 
contact the GBasedbt Technical Support Department. 




-4529	A select statement could not be prepared for selecting rows from a 
temporary table used for a report.

Within a report function, 4GL has dynamically created a temporary 
table and saved rows into it. Now it is dynamically preparing a 
SELECT statement to retrieve the saved rows, and has received an 
error message (see the reference material on the PREPARE 
statement). The only user-initiated action that could account for this 
would be that someone, while the report program was running, 
opened the database from another process or thread and deleted the 
temporary table. Other than that, only an internal error could 
account for this event. Recompile the program and run it again. If 
the error recurs, please note all circumstances and contact the 
GBasedbt Technical Support Department. 




-4528	Undefined opcode.

This message is not returned by any current GBasedbt product. If it 
appears, refer to the discussion of error -4527. If the error recurs, 
please note all circumstances and contact the GBasedbt Technical 
Support Department. 




-4527	函数名中存在未定义的操作码。

用于该程序的 p-code 文件（文件后缀为 .4go）已损坏。请至少重新编译包含命名函数的模块（最好是重新编译整个程序），然后再次运行该程序。如果该错误再次出
现，请确保运行的 fglpc 和 fglgo 具有相同的版本级别。如果它们的版本相同，请参阅针对您的数据库服务器的“管理员指南”或“参考大全”以获取更多诊断信息
。请联系 IBM 技术支持以获取诊断信息。



-4526	The error log has not been started.

See error -1340, which has replaced this error.




-4525	Global variable name cannot be found in the descriptor table.

See error -1339, which has replaced this error.




-4524	The program cannot be executed.

This message is not returned by any current GBasedbt product. If the 
error recurs, please note all circumstances and contact the GBasedbt 
Technical Support Department. 




-4523	The function name has not been defined in any module in the 
program.

See error -1338, which has replaced this error.




-4522	The variable name has been redefined with a different type or length.

See error -1337, which has replaced this error.




-4521	Cannot read pcode file or it is shorter than expected.

Either the operating system returned an error code while 4GL was 
loading the compiled program, or the file has somehow been 
truncated so 4GL could not locate an end-marker that it expected. 
Look for messages from the operating system. In any event, it is 
probably best to re-create the file by compiling the program again.




-4520	Module name in the pcode file contains pcode version 
compile-version. This program can run pcode version runner-version. 
Run the pcode compiler with -V to check the pcode version that it 
produces and then recompile all the modules of your program and 
run it again.

See error -1336, which has replaced this error.




-4519	A report is accepting output or being finished before it has been 
started.

See error -1335, which has replaced this error.




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

程序试图从函数返回超过 32768 字节的 CHAR，VARCHAR，或 CHAR(*) 值，或者程 
序隐含建立的临时 CHAR(*) 变量的字节数超越了 32768。该错误仅被 NewEra 返回。






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

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






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

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






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

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






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

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






-4513	形成的十六进制值不正确。

十六进制数字是 a - f 和0 - 9。在 NewEra 期望十六进制值或符号的地方，你可能包含了
非法字符。






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

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






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

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






-4510	An insert statement could not be prepared for inserting rows into a 
temporary table used for a report.

See error -1327, which has replaced this error.




-4509	一个数组变量被引用时，超出了其指定的维数。

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






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

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






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

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






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

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






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

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






-4504	一个由 VALIDATE 命令引发的确认错误。

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






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

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






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

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






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

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






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

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






-4499	已在类或其基类中声明成员“name”。

名为“name”的成员在当前类中已经存在，但您尝试了使用该名称声明其他成员，或者您尝试覆盖某个事件或变量。只能覆盖成员函数
。



-4498	事件/处理程序名称必须不同于内部成员函数名称。

您不能使用与内部成员函数相同的名称（!copy()、!derive() 或类的名称）来声明事件或处理程序。更改事件或处理程序的名称
。



-4497	已在类中声明事件“name”。

同一类中的两个事件不能具有相同名称。



-4496	记录或类中不允许 CHAR(*) 类型。

仅在函数原型中允许 CHAR(*) 类型（作为参数，而非作为记录或类的元素）
。



-4495	参数名称重复或无效。

函数调用中指定的参数名称与该函数的声明中的任何名称均不匹配，或该参数名称不是有效的 NewEra 标识。请检查其拼写
。



-4494	缺少的命名参数“name”没有缺省值。

指示的函数调用未列出参数的值，且函数的声明未提供其缺省值。在声明中添加一个缺省值，或在调用时在此处添加名称/值对
。



-4493	仅正式函数/报告允许命名参数。

指示的函数引用使用了命名参数，但函数或报告的声明使用非形参样式的声明（其中，在参数列表中仅指定了名称，在后续附属声明中指定了类型）
。



-4492	警告：为参数指定了新的缺省值。

当前作用域中出现多个函数原型副本，由该消息指示的副本已经为正式参数指定了不同于已遇到的所有原型所指定值的缺省值
。



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

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





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

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





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

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







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

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






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

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






-4486	不能在报表的头或尾打印 TEXT 或 BYTE 变量以及字自动换行
显示字段。

4GL 必须要能预知报表的头/尾要用多少行。因为 TEXT 变量的大小不
可预知，所以不能在这些地方显示这一变量。







-4485	Only blob variables of type BYTE or TEXT may be used in a LOCATE 
statement.

The LOCATE statement is used to assign a BYTE or TEXT variable to 
a medium, either memory or a file. This is supported only for these 
data types; all other types of variables are located in memory.




-4484	Cannot specify UNIQUE CONSTRAINT name for TEMP table.

Remove the constraint definition from this CREATE TEMP TABLE 
statement. Constraints may only be applied to permanent tables.




-4483	No more than two subscripts may be used to specify a substring.

This statement contains the name of a character column or variable 
followed by more than two expressions in square brackets. If you 
intend this as a reference to a substring of the character value, edit 
the statement to show two expressions in square brackets, one 
giving the first character (counting from 1) and the other the last 
character in the substring.




-4482	BY NAME may not be used with owner names or remote database 
names.

The BY NAME clause asks 4GL to match up variable names to the 
column names associated with form fields. Unfortunately this does 
not work when the field is qualified with an owner name, a database 
name, or a site name. To get around this restriction, change the form. 
In the TABLES section, define an alias for the fully-qualified table 
name. Use that alias in defining the fields.




-4481	Subscripting cannot be applied to the variable name because it is not 
an array variable. The substring operator cannot be used with host 
variables in this statement.

This statement includes a reference to name followed by square 
brackets. However, name is not defined as an array, and a character 
substring is not allowed in this statement. Check that the name used 
is the one that you intended. If you meant it as a reference to an array 
element, check the definition of the variable. If you meant to take a 
substring of a character variable, that is not allowed in SQL 
statements, in which substrings can only be taken of character 
column-names.




-4480	Warning: this statement is not compatible with ANSI Standard SQL 
syntax.

This SQL statement uses GBASEDBT extensions to the ANSI standard. 
Refer to the SQL reference material. This message is seen because 
you used the -ansi command-line parameter.




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

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






-4478	The size of the local variables used in this function has exceeded the 
32K per function limit.

The total size of the local variables in this function has exceeded the 
limit. (You have probably defined large local character strings or 
arrays.) You will have to redesign the function or else make some of 
the local variables into module variables. If you would prefer to not 
have a large number of module-level variables, consider setting up 
a separate source module just for this function and its variables.




-4477	The variable name is an array. You must specify one of its elements 
in this statement.

In this context you may not refer to an array, but only to a simple 
variable. Check the spelling of the variables in the statement. If they 
are as you intended, then use a subscript to select one element of 
name.




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

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






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

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






-4474	The PROMPT statement at line number is not terminated.

When a PROMPT statement contains an ON KEY clause, it must be 
terminated with an END PROMPT statement. Make sure there is such 
a statement. (Possibly 4GL was not able to recognize it owing to 
some other error.)




-4473	The DISPLAY ARRAY statement at line number is not terminated.

When a DISPLAY ARRAY statement contains an ON KEY clause, it 
must be terminated with an END DISPLAY statement. Make sure 
there is such a statement. (Possibly 4GL was not able to recognize it 
owing to some other error.)




-4472	The INPUT statement at line number is not terminated.

When an INPUT statement contains a BEFORE, AFTER, or ON KEY 
clause, it must be terminated with an END INPUT statement. Make 
sure there is such a statement. (Possibly 4GL was not able to 
recognize it owing to some other error.)




-4471	UPDATEs may not be used with singleton selects.

The FOR UPDATE clause may only follow a SELECT statement that is 
part of a cursor declaration. If you intend to select a row and then 
update it, you will have to declare a cursor for that purpose. Then 
OPEN the cursor, FETCH the row, and use UPDATE with the clause 
WHERE CURRENT.




-4470	A SCROLL cursor was not declared.

This FETCH statement uses a direction keyword other than NEXT; 
however the cursor being used was not declared with the SCROLL 
keyword. Only a scroll cursor can perform operations such as 
FETCH PREVIOUS.




-4469	FOR UPDATE cannot be used with SCROLL cursors.

This DECLARE CURSOR statement contains both the FOR UPDATE 
clause and the SCROLL keyword. That combination is not allowed. 
If you must use a scroll cursor, you will have to use a separate cursor 
for updating.




-4468	Column column does not belong to table tablename.

The program indicates that column is part of the table shown, but 
that table in the database does not have such a column. Make sure 
that the column and the table are both spelled as you intended. Then 
check the definition of the table in the database. The database that is 
checked at compile time is the one named in the first DATABASE 
statement in the source module.




-4467	Array array-name must have just 1 dimension for INPUT ARRAY or 
DISPLAY ARRAY.

Check that the array used in this statement is defined with only one 
dimension. These statements do not support multi-dimensional 
arrays.




-4466	Column column of table tablename has too many default values.

While compiling the INITIALIZE LIKE statement, 4GL has found 
more than one default value for the column noted. These defaults 
are put into the syscolval table by the Column Attributes Dictionary 
utility in Windows and the upscol utility in DOS and UNIX. Use that 
utility to revoke all but one of the defaults before compiling again.




-4465	The FOREACH statement at line number is not terminated.

A FOREACH statement must be closed with an END FOREACH 
statement. (EXIT FOREACH is not equivalent.) Possibly the END 
FOREACH statement is missing; or possibly it was written 
incorrectly or 4GL was not able to recognize it owing to some other 
error.




-4464	The number of columns must match the number of values in the SET 
clause of an UPDATE statement.

Review the punctuation of this UPDATE statement. The two lists, 
one of columns and one of expressions, must have matching 
numbers of items. Possibly there is a comma missing between two 
expressions, an easy mistake to overlook when expressions are 
complex.




-4463	The NEXT FIELD statement can only be used within an INPUT or 
CONSTRUCT statement.

Something has caused 4GL to think this NEXT FIELD statement is not 
part of an INPUT statement: possibly an earlier error, possibly a 
misplaced END INPUT statement. Check to make sure that all the 
parts of the INPUT or INPUT ARRAY statement are properly 
delimited.




-4462	Scroll direction must be either UP or DOWN.

The SCROLL statement requires a direction word, either UP or 
DOWN. Look for earlier errors that may have mislead 4GL at this 
point.




-4461	Line number in the colors file must have the form <color> 0-9.

The compiler is reading the colornames file located in the current 
directory or in the incl directory pointed to by the GBASEDBTDIR 
environment variable, and it cannot parse the line whose number is 
shown. Each line of the file should contain only a name for a color 
followed by a single digit.




-4460	Invalid attribute name attribute.

Check the spelling of the attribute shown. Built-in attributes are 
WHITE, YELLOW, MAGENTA, RED, CYAN, GREEN, BLUE, BLACK, 
REVERSE, BLINK, and UNDERLINE. In addition you may define new 
names in the colornames file.




-4459	The total size of an array cannot exceed number.

The product of the array dimensions times the size of one element of 
the array is limited to the amount shown. You will have to reduce 
the size of one element or else reduce the dimensions.




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

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






-4457	You may have at most 4 keys in the key list.

This is the limit on keys in a single ON KEY clause in this context.




-4456	This help number is not acceptable or reserved.

Acceptable help numbers are in the range -32767 to 32767.




-4455	This variable definition is too complex. The number of levels of 
record nesting plus the maximum number of array dimensions at 
each level cannot exceed 10.

An internal 4GL compiler limit has been exceeded. Find a way to 
simplify the structure of the record.




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

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






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

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






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

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






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

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






-4450	Error while reading pcode file filename, or it is incomplete.

Either the operating system returned an error code while 4GL was 
loading the named file, or the file has somehow been truncated so 
4GL could not locate an end-marker that it expected. Look for 
messages from the operating system. In any event, it is probably best 
to re-create the file by compiling the program again.




-4449	Cannot write to the pcode file.

The compiler is unable to write the compiled form of the program. 
This output file has the same name as the source file and the 
extension .4go or .4gi. It is located in the current working directory, 
or if you are compiling from the command line, in the directory you 
specified with the -p option. Possibly there is already a file of the 
same name which is read-only to your account, or your account may 
not have write permission in the destination directory. Or the disk 
may by full. Look for messages from the operating system that may 
give more information.




-4448	不能打开文件用来读取或写入。

核查文件名拼写正确并且您的帐号
具有读写权限。






-4447	value is not a recognized key value.

The acceptable key values are F1 through F36, ESC or ESCAPE, and 
CONTROL-K where K is any letter except A, D, H, L, R, and X (those 
control characters are reserved for text-editing functions).




-4446	Key value key-name may not be used in this context.

The acceptable key values are F1 through F36, ESC or ESCAPE, and 
CONTROL-K where K is any letter except A, D, H, L, R, and X (those 
control characters are reserved for text-editing functions). CTRL-Z, 
CTRL-C, CTRL-S, and CTRL-Q are reserved for special functions by 
some operating systems.




-4445	You may not open or close window SCREEN.

The word SCREEN may be used in the CLEAR WINDOW and 
CURRENT WINDOW statements, but because it refers to the physical 
terminal, it is not appropriate in the OPEN WINDOW and CLOSE 
WINDOW statements.




-4444	Too many colors specified for window.

You may include only one color in the ATTRIBUTES clause of the 
OPEN WINDOW statement. It specifies the foreground (text) color for 
the window. Once the window is open you can display text in other 
colors through the attributes in a form, or the ATTRIBUTES clause of 
a DISPLAY, INPUT, or CONSTRUCT statement.




-4443	Only constants and variables of type INTEGER or SMALLINT may be 
used to specify the size and/or position of windows.

The WITH and AT clauses of the OPEN WINDOW statement require 
integer parameters. There is no automatic data conversion here; you 
must specify integer constants or name variables of an integer type. 
Possibly you misspelled the name of a variable.




-4442	fetch-direction is not a recognized row selector in the ISAM FETCH 
statement.

The word shown appears in this FETCH statement at the point where 
a fetch direction is expected. A fetch direction must be one of the 
words NEXT, FIRST, LAST, CURRENT, RELATIVE, ABSOLUTE, PRIOR, 
PREVIOUS, or ROWID. (All but NEXT require a scroll cursor.) Possibly 
you simply misspelled the word you intended; possibly due to an 
error earlier in the statement, 4GL is looking at the wrong word.




-4441	The ISAM cursor cursor-name has not yet been declared in this 
program module. It must be declared before it can be used.

The cursor named in this statement has not been declared. A cursor 
must be declared in the source module where it is used, and the 
declaration must physically precede any references to it. Check the 
spelling of the cursor name; if it is as you intended, then locate the 
DECLARE CURSOR statement and move it to the top of the module.




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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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

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






-4431	扩展的报告参数的数目超过了允许的最大值。

当前任何 GBase  产品都不会返回该消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-4430	数值无法用RETURN从报表传出。

报表不能含RETURN语句，因这会将控制权传回给调用这个报表的程序。这个错误只由 
NewEra 传回。






-4429	报表与函数参数不能是数组。

不能传递一个整个的数组作为函数的参数，但可以用下标传递一个单独的数组元素。
可能产生这种错误的数组是一个使用星号标记传递的记录变量的元件。这个错误只能
被4GL返回。






-4428	不可以在一个INPUT或PROMPT语句中使用PROMPT语句，即使它包括在一个
条件或循环语句中。

可以从另一个PROMPT语句或一个INPUT语句中执行PROMPT语句，但是为了做到这点必须
将这个PROMPT语句放入一个函数中并调用该函数。不能在一个INPUT语句或另一个
PROMPT语句中嵌入一个PROMPT语句的文本。






-4427	DISPLAY语句的COLUMN特性只能用于无屏幕或显示字段目标的显示中。

COLUMN函数返回一个串，其中的空格足够长使之能达到某种用于显示输出的字段。可
以与不合格的DISPLAY和DISPLAY AT合用，但是它与DISPLAY TO 或DISPLAY BY NAME不
相适应。






-4426	PRINT语句只能用于报表中。如果你希望做无屏幕定位的打印，使用无任何显
示字段或屏幕目标的DISPLAY语句。

关键字PRINT特别用于给一个报表产生一行输出。关键字DISPLAY将输出引入屏幕。可
能这个语句被偶然从一个报表主体中拷贝而来，更可能的原因是仓促中试图在屏幕上
显示一个临时的输出。在后一种情况下，只要简单地将PRINT改为DISPLAY就可以了。






-4425	变量<变量名>未被定义为LIKE表<表名>。

命名的变量用于一个UPDATE语句的SET子语中。尽管如此，它未被定义为LIKE被修改
的表名。结果，4GL不能加入一个带表字段的记录元件。可以改变变量的定义，或
重写UPDATE语句以表示字段名称和记录元件之间显式的关系。






-4424	变量<变量名称>尚未定义成记录或对象。

表示的变量已与一个星号、或THRU关键字、THROUGH关键字合用。但是它未被定义为
一个记录或对象。检查名称的拼法，如果它确是你所要的，定位于变量定义的地方，
找出它为何未象所期望的那样定义这个错误只由NewEra传回。






-4423	用于DISPLAY语句的CLIPPED和USING选项当显示到一个屏幕表格的
显示字段时不能使用。

CLIPPED和USING关键字不能用于DISPLAY TO和DISPLAY BY NAME语句。一个屏幕表格的
显示字段的显示格式由显示字段的属性控制，这些属性在屏幕表格文件中指定。在一
个显示字段中结尾的空格不显示。为了得到USING的效果，编辑屏幕表格文件并添加
USING属性给一个或多个显示字段。






-4422	不可以在另一个INPUT语句中使用CONSTRUCT语句。包括当CONSTRUCT被包括在
一个条件语句或一个循环语句中的情况。必须调用一个函数执行CONSTRUCT
语句。

可以在一个INPUT语句中执行CONSTRUCT语句，但是为了做到这一点，必须将CONSTRUCT
语句放入一个函数然后调用该函数。不能在INPUT语句中嵌入CONSTRUCT
语句的文本。






-4421	不能在另一个INPUT语句或PROMPT语句中使用INPUT语句，即使该语句被
包括在一个条件或循环语句中。

可以从另一个INPUT语句、或从一个PROMPT语句中执行INPUT语句，但是为了做到这一
点必须将INPUT语句放入一个函数中然后调用该函数。不能在另一个INPUT语句中嵌入
INPUT语句的文本。






-4420	在header或trailer子句的一个IF-THEN-ELSE语句的IF部分和ELSE部分中打印
的行数相等。

4GL需要知道填入header和尾部部分的行数（否则它不知道放入该页的行数的明细情
况）。由于它不知道IF语句的哪一部分将被执行，它要求两者产生相同行数的输出。






-4419	用在CONSTRUCT语句中的变量必须为字符变量。

跟在词CONSTRUCT后面的名称必须是定义为CHARACTER或VARCHAR的变量的名称。因为接
收到的串可能很长，因此它必须是个长变量。检查名称的拼法，如果它是所要求的，
找到并检查DEFINE语句看为何它不是字符类型。






-4418	用于INPUT ARRAY 或DISPLAY ARRAY语句的变量必须为数组。

跟在词DISPLAY ARRAY 或INPUT ARRAY后的名称必须是记录的一个数组名。检查名称的
拼法，如果它是所要求的，找到并检查DEFINE语句看为何它不是一个数组。（如果要
显示或输入一个简单变量或一个数组的单一元素，使用DISPLAY 或 
INPUT语句）






-4417	这种语句类型只能用于报表。

象PRINT、SKIP、NEED之类的语句只能在一个报表函数的主体中有意义，此时存在一个
隐含的报表列表去接收输出。






-4416	在validation串中有一个错误: "%s"。

在syscoval表中更改合适的DEFAULT 或INCLUDE值。






-4415	在一个报表中指定的ORDER BY或GROUP项必须是一个报表参数。

用于ORDER BY ，AFTER GROUP OF，或BEFORE GROUP OF语句中的名称必须也在REPORT
语句的参数列表中。不可能基于一个全局变量或其它表达式排次序或组成组。检查语
句中名称的拼法将它们与REPORT语句相比较。






-4414	标签<标签名称>已经使用但从未定义在函数/报表中。

一个 GOTO 或 WHENEVER 语句指向所带的标号，但在当前的函数、报表、句柄或
主程序中没有相应的LABEL语句。如果该标号确是所要的，找到定义它的LABEL语句
并做检查。不能用GOTO转移出一个程序；标号必须在使用它的同一函数主体中做
定义。这个错误只能被NewEra返回。






-4413	标签<标签名称>已经在函数/报表中定义过。

标号出现在两个以上的LABEL语句中。检查标号名，如它确为所要的，搜索一遍该函
数、报表、句柄或主程序的其它LABEL语句找到重名的那些，将它们改为其它名称。
该错误只能被NewEra返回。






-4412	从RUN命令来的值只能被返回给INTERGER或SMALLINT变量。

RUN命令只能从一个执行程序中返回整型的返回码。在这种情况下无自动数据转换；结
果必须被指定为一个整型变量。






-4411	在上行中有一个过长的字母数字标识符。

任何标识符不能超越50个字符。检查该标识符的拼写和全部标识符的标点（可能两个
名称连在一起了）。






-4410	在前面的行中有一个过大或过小的数值常数。

该行中有个数值常数不能处理。检查全部文字数的数字和标点；例如，确信你没有键
入一个字母作为数字。任何一个数都不能超越50个数字。按照上下文，数可能被限制
在以下三个范围之一：

SMALLINT: 绝对值不超越 32,767
INTEGER: 绝对值不超越2,147,483,647
DECIMAL: 绝对值从10-130到10140 






-4409	在上行中有一个无效的字符。

该源程序行中包含非可打印文本或不正常的空白。删去无效字符（该字符在正常编辑
器下可能是不可见的）。如果在编辑器中看不见或无法选定无效的字符，只能删除该
行再重新键入。






-4408	在上行中有一个过长的引用串。

文字字符串的长度极限是80个字符。但是，在DISPLAY和LET语句中可使用一个逗号连
接较短的字符串。例子可见信息-4406。






-4407	在上行中有一个不可打印的字符。

该源程序行中包含一个不正规的字符。4GL认为源程序可能被毁坏了。编辑文件并删除
坏字符。如果用编辑器不能看见或无法选定该字符，就不得不删除该行并重新键入。






-4406	在上行中有一个不匹配的引号。

源程序行中含有奇数个引号。从左至右检查该行，保证全部文字字符串以一个引号开
始和结束。所有文字串必须在同一逻辑行开始和结束。有两种方法写出一个长的文字
串，首先，可以在行的最后用一反斜线以退出行结束符（然而，一个单独的引用串的
总长度的最大值固定为80个字符）。第二，在DISPLAY和LET语句中，可用一逗号连接
较短的文字串。下面有两个例子：

DISPLAY "abcdefghijkl\
mnopqrstuvwxyz"
DISPLAY "abcdefghijkl",
"mnopqrstuvwxyz"

显示的字母中均未嵌入空白符。






-4405	该函数的参数超过了允许的最大数目。

当前任何 GBase  产品都不会返回该消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-4403	该名称的变量的维数与下标不匹配。

在该语句中，带有这个名称的数组其下标超过了定义的维数。检查下标的标点。如果
是所要的，回顾该变量名被定义处的DEFINE语句。






-4402	在该类型语句中，下标只用于数组变量以从中选定单独的数组元素。

该语句包括一个后跟方括号的名称，但是该名称不是一个数组变量。检查语句的标点
并且拼写全部的名称。带下标的名称一定是数组。如果想在语句中使用一个字符子
串，必须修改程序。






-4401	一个连接操作符产生的串过长，不能放入目标串变量中。

该语句连接两个以上的字符串并将结果存储于另一个类型为CHAR或VARCHAR的变量中，
但是，连接的结果超过了接收变量的长度。如果超过的长度是结尾的空格，可使用
CLIPPED函数禁止结尾空格进入合并的结果中。否则，必须定义接收变量的长度至少为
输入变量的长度之和。






-4400	行<行号>中的FOR语句无结束。

4GL不能标识一个END FOR 语句去匹配处于该行数的FOR语句。从该行开始干找去直到
寻找到应该是结束语句的地方，加入结束语句。






-4399	行<行号>中的WHILE语句无结束。

4GL不能标识一个END WHILE 语句去匹配处于该行数的WHILE语句。从该行开始找下去
直到寻找到应该是结束语句的地方，加入结束语句。






-4398	行<行号>中的CASE语句无结束。

4GL不能标识一个END CASE语句去匹配处于该行数的CASE语句。从该行开始找下去直到
寻找到应该是结束语句的地方，加入结束语句。






-4397	行<行号>中的IF语句无结束。

4GL不能标识一个END IF 语句去匹配处于该行数的IF语句。从该行开始干下找直到寻
找到应该是结束语句的地方，加入结束语句。






-4396	带有该行数的MENU说明无结束。

4GL不能标识一个END MENU语句去匹配处于该行数的MENU语句。从该行开始找下去直到
寻找到应该是结束语句的地方，加入结束语句。






-4395	对一个数据库字段名指定了过多的下标。

在该语句中数据库字段的名称后跟了一个方括号，括号中有一些数字。带方括号的数
据库字段的唯一有效的用法是从一个字符字段中选定一个子串。但是，在这种用法中
必须准确地写两个数字，即子串的开始和结束字母的下标。这里使用了多于两个的数
字，检查并更正标点。






-4394	警告：非正式函数头中的形参不能具有初始值。将忽略该参数的初始值。如果该值本来要用作缺省参数，则使用正式函数头来指定缺省值
。

尽管正式（函数原型样式）定义中的参数可具有初始值，但是非正式函数定义中的参数不能具有初始值。将忽略该参数的初始值。如果该值本来要用作缺省参数，那么使用正式定义格
式来（使用函数原型）来指定缺省值。仅 NewEra 返回该错误
。



-4393	MENU 语句超越了选项的最大数。

每个菜单中的最大选项数为25个。确保END MENU语句不被忽略，它连接两个菜单。
如果菜单确为所需要的，你必须修改程序使它不超越极限，例如建立一个菜单的
级联。






-4392	4GL 编译器运行的数据空间内存不够用来容纳4GL程序符号。如果程序模块非
常大，可以把它分割成分离的模块来改变这种情况。

重新组织程序来源成为一组可独立编译的模块。另外，可修改程序以便只需更少的唯
一符号，例如使用数组来代替许多相似的变量。这种错误也同CONSTRUCT
语句相关。如果一个CONSTSRUCT 覆盖很大数量的显示字段，可移动该语句到一个
函数并且把此函数放置在不同的源模块以使程序不做其它修改。






-4391	当 执行 INPUT BY NAME 或 INPUT ARRAY时，显示字段名只能被显示字段
名后缀指定。屏幕数组和屏幕记录元素是不允许的。

只有单一屏幕表格显示字段的名称可和一个 BEFORE或 AFTER子句一起使用。这个显
示字段的名称在屏幕表格定义的ATTRIBUTES 节中定义；它通常与数据库字段的名称
相同。下面是一些 ATTRIBUTES节中的例子：

atag=customer.customer_num,noentry;
tag2=formonly.total,format="######.##";

这些显示字段的名称分别是customer_num和 total。

在4GL语句中存在一个问题，以另一个名称和一个圆点作为一个名称的前缀，这条句
法用于指定屏幕记录或屏幕数组的元件，或不同表格中相同名称的数据库字段，但此
处该句法不适用。






-4390	每个MENU语句只允许有一个BEFORE MENU 子句。

在MENU中仅可能有一个BEFORE块。确保你的MENU语句正确使用END MENU 标定范围。组
合所有准备好的代码成为一个单一的BEFORE MENU 块。
该错误仅被4GL 版本4.1返回。






-4389	报表中的IF语句有太多级嵌套。

IF 语句的嵌套超过了五级。可能ENDIF语句被忽略。否则，必须修改报表逻辑使嵌套
不太深。






-4388	对每一个报表输入参数，只允许一个BEFORE GROUP OF 子句和一个AFTER
GROUP OF 子句。

报表试图为单一的报表参数定义第二个BEFORE GROUP OF 或AFTER GROUP OF 块。只允
许有一个控制块。找出关于该参数的全部块组合成一个语句。






-4387	右侧的空白必须大于左侧的空白。

如果报表右侧的空白不大于左侧的空白，每行将没有空间给数据。检查在OUTPUT
节中的两个MARGIN使之成为合理值。






-4386	在该报表中有太多的ORDER BY 字段。最大数目为该数。

排序的字段的数目存在一个极限。你必须重新设计该报表以便不超出<数字>字段的排
序。或者在传递数据到报表前排序该数据，并且在报表主体的ORDER BY 语句中指定
EXTERNAL关键字。一般来说，由数据库服务器产生正确次序的行更为有效。(在产生行
的游标中使用SELECT...ORDER BY)。






-4385	报表聚合不能嵌套。

聚合函数不能嵌套，主要因为在外部聚合积累的同时内部聚合值是不知道的。仅参考
字段和字段上简单表达式来重写聚合表达式。在AFTER GROUP OF 子句，你可以从一组
程序变量行中保存聚合值，以便用它计算后来组上的聚合。






-4384	符号<名称>不表示任何记录元素。

所示名称使用之处4GL期望为记录元件名称。检查名称的拼法。如果确为所需要的，回
到记录变量定义处，查看它为何未作为一个元件字段引入。






-4383	元素名1和元素名2不属于同一父记录。

所示的两个名称所用之处要求一个记录的两个元件；然而它们不是同一记录的元件。
检查两个名称的拼法，如它们确为所需要的，回到记录定义之处，查看它为何没有将
这两个名称作为元件字段引入。






-4382	不能扩充有数组成员的结构。

除了在LET语句，".*"及 THROUGH符号不可用於扩充有数组成员的记录。
除非是在LET语句，否则".*"及 THROUGH符号不可用於扩充有数组成员的记录。
错误-4382仅被NewEra返出。






-4381	输入文件<文件名>有个无效的扩展名。文件名必须以.4gl作为扩展名。

当键入一个源程序名时不必输入文件扩展名或.4gl字根。然而，如果键入文件字根则
必须是.4gl；其它则不允许。如果键入非法的字根，去掉字根重新输入命令。如果文
件确实有一个不同的字根，必须将它改变。






-4380	不能产生列表文件<文件名>。

检查指定的前导文件的目录路径是否正确，在UNIX系统上检查你的帐户是否许可在该
路径上建立文件。检查从操作系统上来的其它更显式的错误信息。可能磁盘已满或达
到了允许打开文件数的最大值。






-4379	不能打开输入文件<文件名>。

输入了不存在的文件，在UNIX上，你的帐户不许可读取该文件。可能文件名有拼写错
误，或指定的文件路径有错误。






-4378	未指定输入文件。

从命令行调用C代码或p-code编译程序，但为未指定已编辑的源文件名。重复该命令，
指定一个源文件名。






-4377	不能建立或打开该文件名的输出文件。

在UNIX上，检查你的帐户是否在文件将要产生的目录上具有建立文件的许可。查找从
操作系统来的其它更显式的错误信息。可能是磁盘已满或已达到了所能打开的文件数
的最大值。






-4376	不能产生待写的临时文件。

检查在UNIX系统上你的帐户是否在/tmp 目录上有产生文件的许可，或如果DBTEMP
环境变量中指定的目录名与之不同，是否有产生文件的许可。查找从操作系统来的其
它更显式的错误信息。可能是磁盘已满或已达到了所能打开的文件数的最大值。






-4375	页的长度太短不能覆盖指定页的header和尾的长度。

检查OUTPUT节中以及任何HEADER和TRAILER子句中的语句。这些语句使用的总行数
必须比指定的页长足够的小，以使可打印比较明细的行。






-4374	该语句类型只能用于一个MENU语句。

举例来说这类语句中的SHOW OPTION语句，只能在一个MENU语句的上下文中有意义。回
顾附近的程序查看是否将一个END MENU语句放置错误。如果想要在显示之前设置一个
菜单的外貌，在MENU的作用域中使用一个BEFORE MENU块。






-4373	在该行、该字符处发现一个语法错误。在它的上下文中不能理解该构造。

这是个一般信息，表示不能分析一个4GL语句。所示的行数和字符数表示分析器侦测到
错误的点。但是，这往往不是存在错误的点。从此处开始在程序中回溯，寻找其它的
错误信息和遗漏的标点、END语句及其它的错误。如果该行是END FUNCTION，END MAIN
或END REPORT，一个可能的原因是，可能在很多行以前就缺少另一个END。通常原因是
遗漏了一个ENDIF。如果错误原因不太明显，请集中注意其它更特殊的错误信息，往往
在其它错误改正之后该错误也消失了。






-4372	带该游标名称的游标在本程序模块中尚未说明。必须在使用它之前说明。

在所示的名称出现之处期待为一个已说明的游标名或一个已准备好的语句；但是在程
序此处这个名称的游标（或语句）未被说明（或准备好）。检查该名称的拼法。如确
为所要的，回顾该程序查看是否未说明它－可能所需的DECLARE语句在一个GLOBALS
文件中，而该文件未被包含。






-4371	游标在一个程序模块中必须唯一地说明。

在DECLARE cname CURSOR 语句中的标识符cname只能在源文件中的一个DECLARE 
语句中使用。甚至当该DECLARE语句只在一个函数内部出现时也是真的如此。尽管一个
与DEFINE语句一起产生的程序变量是该函数的本地变量，但是在函数内部的游标对整
个模块来说是全局的。






-4370	该变量不能用于确认。

VALIDATE语句只在单个简单变量上操作；不能接受记录或数组。如果已命名了一个记
录，可使用星号标记或THRU标记作为记录的显示字段元件列表的速记。然而，如果一
个记录元件本身是记录，则必须单独地列出每个元件。






-4369	该变量名符号不表示一个已定义的变量。

所示的名称出现之处期待为一个变量，但是它与上下文中使用的DEFINE语句中的任何
变量名称不匹配。检查该名称的拼法，如确为所需要的，则返回寻找它为何未做定
义。可能GLOBALS语句从源模块中忽略了，或它命名了一个非法的文件。也可能这段
代码从另外的函数或模块中拷贝而来，但是DEFINE语句没有随之拷来。






-4368	退出已经在主程序中被延缓了一次。每个主程序只能延缓退出一次。

语句DEFER INTERRUPT 和 DEFER QUIT只能在程序的主要节中出现一次。它们只能在
程序中各出现一次。






-4367	中断已经在主程序中被延缓了一次。每个主程序只能延缓中断一次。

语句DEFER INTERRUPT 和 DEFER QUIT只能在程序的主要节中出现一次。它们只能在
程序中各出现一次。






-4366	变量数与该语句中的数据库字段数不匹配。

必须给语句中声明的每一个字段提供一个变量以便从字段接收或供给数据。可能字段
名和变量名之间比较含糊。当一个程序变量与一个数据库字段重名时，可以强制4GL用
一个 @字符或用它的表名做前缀使用数据库字段。






-4365	中断或退出的延缓只能在主程序中执行。

语句DEFER INTERRUPT 和 DEFER QUIT只能在程序的主要节中出现一次。它们可能在
程序中各出现一次且仅一次。






-4364	初始化/缺省表达式的类型与变量/参数的声明类型不匹配
。

指定的变量的初始化表达式未求值为与声明的类型兼容的数据类型。检查表达式，使其与声明的类型一致
。



-4363	在一个header和尾部的循环中报表不能跳行。

4GL需要知道有多少空行将插入页header和页尾中（否则每页中允许多少行的细节是未
知的）。由于一个循环将执行多少次是无法预知的，因此在PAGE HEADER, 
PAGE TRAILER, 以及 FIRST PAGE HEADER 节中的循环之中SKIP语句是禁止使用的。






-4362	在一个header和trailer中报表不能跳到页头。

当SKIP TO TOP OF PAGE执行时，页尾子句必须跟在页header子句之后执行（为了显示
固定的页尾材料）。如果在header或页尾子句中允许该语句，可能产生死循环。






-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语句将其保存在一个全局变量中。






-4360	一个ON LAST ROW 子句已在该表中指定。

在一个报表中只允许一个ON LAST ROW控制块。找到其它的ON LAST ROW 控制块，将它
们的语句合并成一个块。






-4359	一个ON EVERY ROW 子句已在该表中指定。

在一个报表中只允许一个ON EVERY ROW控制块。找到其它的ON EVERY ROW 控制块，
将它们的语句合并成一个块。






-4358	在该报表中第一个header已经指定。

在一个报表中只允许一个FIRST PAGE HEADER控制块。（当然，也只有一个第一页）。
找到其它的FIRST PAGE HEADER控制块，将它们的语句合并成一个块。






-4357	在该报表中一个页trailer已经指定。

在一个报表中只允许一个 PAGE TRAILER 控制块。用于该控制块的语句必须适合报表
的全部页。找到其它的PAGE TRAILER控制块，将它们的语句合并成一个块。






-4356	在该报表中一个页header已经指定。

在一个报表中只允许一个 PAGE HEADER 控制块。用于该控制块的语句必须适合报表的
全部页（除非最前面的页，可在该页写一个FIRST PAGE HEADER块）。找到其它的
PAGE HEADER控制块，将它们的语句合并成一个块。






-4354	对 TEXT 或 BYTE 变量，不能执行聚合函数。

此语句将如 SUM 这样的聚合函数应用到定义为 BYTE 或 TEXT 的变
量上。这些变量不在聚合函数的定义域内。检查语句中的函数使用，确
保它们是用于所要的变量上。






-4353	这种为报表指定的ORDER BY 或GROUP项的类型对排序无效。

数据库服务器不支持在TEXT或BYTE类型的字段上进行比较的功能。结果，这种类型
的字段不能用于行的排序或成组。使用其它字段（通常主要是表的键）用于排序或
成组。






-4352	此时程序不能继续一个FOREACH循环因为它不在FOREACH循环中。

CONTINUE FOREACH语句不在FOREACH语句和与其匹配的END FOREACH语句中。也许
FOREACH语句被偶然删掉了，或者，改成了其它类型的循环，例如WHILE或FOR。






-4351	此时程序不能继续一个WHILE循环因为它不在WHILE循环中。

CONTINUE WHILE语句不在WHILE语句和与其匹配的END WHILE 语句中。也许WHILE
语句被偶然删掉了，或者，改成了其它类型的循环，例如FOREACH或FOR。






-4350	此时程序不能继续一个FOR循环因为它不在FOR循环中。

CONTINUE FOR语句不在FOR语句和与其匹配的END FOR语句中。也许FOR语句被偶然删掉
了，或者，改成了其它类型的循环，例如FOREACH或WHILE。






-4349	PERCENT和COUNT报表聚合不能用在表达式中。

这些聚合简单地计算整个行而不管行的内容。COUNT返回行的计算，PERCENT返回行作
为整个表的百分比的计算。这些函数唯一允许的参数 '*' 的意思是 "一个整行"。它
们不能用于指定的字段或包含指定字段的表达式。






-4348	这种类型的聚合必须用于表达式，而不是 '*'。只有-PERCENT 和COUNT聚合
可使用 '*'。

在这种语句中的聚合函数是类似于MIN和SUM的类型之一，必须用于指定的字段，或包
含指定字段的表达式。在一个SQL语句中的星号标记意思是“整行”。对于聚合函数来
说，它仅在计算整行时才是有用的。






-4347	该变量不是记录。它不能引用记录元素。

在该语句中变量名后跟一个圆点和另一个变量名。这种方式用于参考一个记录的元
件；但是，该变量名未被定义为一个记录。可能写错了变量名或该变量名未按要求定
义。






-4346	下标只能包含INTERGER或SMALLINT表达式。

数组下标是整型值，只有整型变量可用来形成它们。该语句包含了一个使用了FLOAT、
CHAR或其它类型的变量的下标。在下标表达式中无自动的数据类型转换。检查语句中
的下标表达式；可能只是简单地键入了错误的变量名。如果并非如此，必须修改程序
使数组下标只存储于整型变量中（你可能希望允许一个带有0缩放因子的DECIMAL值，
但情况不是这样的）。







-4345	该变量已使用了一个子串。

所示的名称后面跟了两个子串表达式（在方括号中的两个数）。这是无效的。可能在
编辑另一个变量名称时，偶然删掉了一些标点。或者意为一个字符项后跟一个选择元
素子串的两维数组，问题在于变量名未被定义为一个数组。






-4344	该变量不能使用字串操作因为它不是一个字符变量。

该语句包含一个标识符后跟一个子串表达式（在方括号内的两个数）。但是，该变量
非CHAR或VARCHAR数据类型。如果确是要得到一个子串，那么可能是变量名错或变量未
正确定义。如果要作为数组下标，那么也是如此。






-4343	下标不能用于表达式，因为它不是一个字符或数组的参考。

可以在一个能计算出数组的表达式后跟一个下标表达式（包含于方括号中的两个整型
表达式，被一个逗号分开）。可以在一个字符表达式后指定一个子串（方括号中的两
个整型表达式）。但是，在该语句中，带方括号的表达式跟在一个既不是字符也不是
数组的变量后面。检查语句中的标点和变量的说明。包含这段文字的错误-4343由
4.1版的4GL产生。







-4342	PAGENO 和 LINENO 只允许用于报表。

这些函数只在报表函数（在一个REPORT语句后）主体中是相关的。只在产生报表的代
码之中，当前页或行的意思才是有意义的。可以通过全局变量使它们在报表之外有
用。例如，可以将类似这样的语句放在PAGE HEADER 控制块中：

LET CURR_PAGE = PAGENO

这样就将当前页设定给一个全局变量（该例中称为CURR_PAGE），代码可以在报表函数
之外检测到它。






-4341	聚合函数只允许在报表和SELECT语句中。

类似SUM、AVG和MAX的聚合函数只能在SQL语句和某些用于报表主体上下文中的语句中
出现。在程序语句的普通表达式中不支持它们。可以写一些专用函数在数据上形成该
聚合函数；但是必须使用SUM、AVG和MAX这些保留字之外的名称。






-4340	用于表达式的变量类型过于复杂。

NewEra 使用“过于复杂”的意思是“有过多的元件部分”。在表达式中只能使用简单
变量(即只有单个元件)。如果所示变量是个数组，必须提供一个下标选择一个元素。
如果是一个记录或对象，必须选择它的一个元件。该错误由NewEra 
程序产生。






-4339	4GL运行的数据空间内存不够。

该程序过长不能编译。将它分成多个模块分别编译。






-4338	该变量名已定义为参数。

所示名称出现在FUNCTION语句的参数列表中并且在函数主体中至少有两个DEFINE
语句。只允许在DEFINE语句中出现一次。






-4336	该变量名的参数未在函数和报表中定义。

该变量名出现在该函数的FUNCTION语句的参数列表中。但是，它未在函数的DEFINE语
句中出现。全部参数在使用之前都必须在函数中定义。可能写了DEFINE
语句但变量名的拼法与使用时不一致。






-4335	符号<域名>不是记录的一个元素。

该语句参考了record.field。记录变量确是一个记录，但<域名>不是它的成员之一。
寻找记录的定义（可能在GLOBALS文件中），并检验它的域名称。改正域的拼法。






-4334	用于该语句的变量名在它当前的屏幕表格中过于复杂。

4GL使用“过于复杂”的意思是“有过多的元件部分”。在该语句中只能使用简单变量
(含有单一元件的变量)。如果变量名是一个数组，必须提供下标以选择一个元素。如
果是一个记录，必须选择它的一个元件。（但是，如果该语句允许一个变量列表，如
在INITIALIZE语句中，可以使用星号或THRU标号将记录名转换成一元件列表）。






-4333	该名称已有不同个数参数的调用。

在前面的程序中已有对同一函数或事件的调用，然而其参数表中参数个数不同。这些
调用中至少有一个是错误的。检查FUNCTION或EVENT语句找到正确的参数名称。然后
检查对它的全部调用是否都正确书写。在函数顶端出现的该错误与错误-4336有关，
首先解决错误-4336，错误-4333通常就消失了。该错误由NewEra 程序产生。






-4332	LET 语句必须具有至少一个源表达式。

此 LET 语句在等号右侧没有有效的表达式。请检查标点符号；可能语句的一部分被错误删
除了；或者可能注释定界符的插入位置错误。



-4331	只有 INTEGER 或 SMALLINT 类型的变量可用于索引显示字段

此语句使用下标指代屏幕数组的一个元素。然而，下标变量不是整数类型。请确保该下标
变量是您打算使用的变量，并确保它被定义为 INTEGER 或 SMALLINT。



-4330	不能从主程序中返回该值。

尽管在主程序中RETURN和EXIT PROGRAM相同，但它不能包括一个返回值。该错误由 
NewEra 程序产生。






-4329	该变量不是一个记录。只有记录变量可用.*或THROUGH速记扩展。

在所示的名称中使用了圆点-星号(.*)或THRU（或THROUGH）字，它们是指定记录元件
列表的速记符号。不幸的是，变量未定义为记录。确保指定了一个正确的变量并定义
为记录。






-4328	该函数的类型作为一个函数返回值的目标过于复杂。

该名称的变量是一个记录或数组。函数只能返回简单变量或一个简单变量的列表。在
记录这种情况，可使用星号或THRU标号作为速记来指定一个元件列表。






-4327	该变量不是INTEGER或SMALLINT类型，不能用于循环索引。

在FOR循环中的索引变量必须是一个整型。指定另外一个变量或重新定义该名称的变
量。






-4326	一个NULL值不能用于子串。

NULL值是个整值，它只与完整的变量相关。可以将NULL设定给这个变量（删掉子串标
记）使整个变量包含一个null串。另一种方法，可以给子串设定一个空格使之成为空
白。删除一个串的一部分的唯一方法是写一个表达式提取作为限定的开头和结尾的子
串，然后连接它们。






-4325	在该记录赋值语句中的来源和目的记录在类型/或长度上不匹配。

该语句使用星号标记将该记录的全部元件赋给另一个记录的对应元件。但是，元件不
对应。注意4GL严格地按位置匹配记录元件，第一个对第一个，第二个对第二个，依此
类推；并不按照名称作匹配。如果来源和目的地记录元件个数和类型不同，必须给每
个元件各写一个赋值语句。






-4324	该变量不是字符类型，不能用来容纳连接的结果。

该语句试图连接两个以上的字符串（使用逗号作为连接操作符）并将结果赋给该变
量。不幸的是，这不是一个字符变量。4GL在这种情况下不做自动的字符类型转换。
将连接串赋给字符变量，如果需要将结果作为数值处理，可将串整个地赋给数值
变量。






-4323	该变量类型过于复杂不能用于赋值语句。

该名称的变量不是一个记录或数组。4GL不支持对整个记录或数组的赋值。在记录的情
况下，必须给单个记录元件赋值，或使用星号标记将一组元件赋给另一组元件。在数
组的情况下，必须使用下标指定一个单独的数组元素。该错误不由高于版本4.1的任何
版本的4GL产生。






-4322	字段名符号不是指定数据库的字段名称。

前面的语句表明该名称的字段是在上个DATABASE语句中命名的数据库的某个表的一部
分。该表存在，但是表中无该字段。检查字段名称的拼法，如确为所要的，那么或是
表已改变，或是不能存取所要的数据库。






-4321	数组最大只能有三维。

在数组名称之后有超过三维的下标。4GL只支持三维以下的数组。检查下标的句法；可
能错误产生于插入了多余的逗号。






-4320	该表名符号不是指定数据库的表的名称。

该名称的表未在上一个DATABASE语句命名的数据库中出现。可能在程序中拼错了名
称，或在程序上次编译的时候被漏掉或改名。






-4319	该变量名符号的定义超过一次。

所示的变量在本次定义之前至少在其它一个DEFINE语句中出现过。如果这个DEFINE在
一个函数或MAIN节中，则前一个也是如此。如果这个DEFINE在任何函数之外，那么前
一个也在任何函数之外；可能存在于GLOBALS语句包含的文件中。






-4318	程序不能在这一点退出一个CASE语句因为它现在不在一个CASE语句中。

这个CONTINUE或EXIT语句使用了CASE关键字，而它并不定位于一个CASE语句中。或是
语句错，或是一些其它的错误妨碍4GL识别CASE语句。






-4317	程序不能在这一点退出一个FOR语句因为它现在不在一个FOR语句中。

这个CONTINUE或EXIT语句使用了FOR关键字，而它并不定位于一个FOR循环中。或是语
句错，或是一些其它的错误妨碍4GL识别FOR语句。






-4316	程序不能在这一点退出一个WHILE语句因为它现在不在一个WHILE语句中。

这个CONTINUE或EXIT语句使用了WHILE关键字，而它并不定位于一个WHILE循环中。或
是这个语句错，或是一些其它的错误妨碍4GL识别WHILE语句。






-4315	程序不能在这一点退出一个FOREACH语句因为它现在不在一个FOREACH语句中。

这个CONTINUE或EXIT语句使用了FOREACH关键字，而它并不定位于一个FOREACH循环
中。或是语句错，或是一些其它的错误妨碍4GL识别FOREACH语句。






-4314	程序不能在这一点继续或退出一个菜单因为它现在不在一个MENU语句中。

这个CONTINUE或EXIT语句使用了MENU关键字，而它并不定位于一个MENU语句的COMMAND
节中。或是这个语句错，或是一些其它的错误妨碍4GL识别MENU语句。






-4313	NEED语句不能用于报表的headers或trailer。

NEED n LINES语句用于一个报表产生了一个有条件的跳页。而在一个FIRST PAGE
HEADER，PAGE HEADER，和PAGE TRAILER节的上下文中是不相关的。如果它确实产生了
一个跳页，一个未结束的循环会跟着发生。






-4312	NEED语句只能用于报表中。

NEED n LINES语句用于一个报表以产生一个有条件的跳页。这只能在与一个报表的
FORMAT节有关联的上下文中。检查是否忽略了REPORT语句。






-4311	变量“variable-name”未被定义为一个记录。不能像这样使用它。

所显示的变量名正在与 THRU（或 THROUGH）符号或与 .* 符号配合使用，但没有被定义为
记录。请检查该变量名是您打算使用的名称。如果确实是该名称，请查找它的定义位置（
可能包含在某个全局定义文件中的 GLOBALS 语句中）并查明它不再被定义为记录的原因。



-4310	文件不能打印到报表的headers或trailer。

4GL需要知道页的headers和trailer需要多少行空间；否则它无法知道一页允许多少明
细行。既然它不能预测一个文件中有多少行，它禁止在一个headers或trailer打印一
个文件。可以在FIRST PAGE HEADER，PAGE HEADER，和PAGE TRAILER的控制块中书写
PRINT语句。但不能在那些控制块中书写PRINT FILE
语句。






-4309	打印不能在包含与报表headers或尾部的一个循环或CASE语句中完成。

4GL需要知道页的headers和尾部需要多少行空间；否则它无法知道一页允许多少明细
行。既然它不能预测一个循环将要执行多少次，或者一个CASE的哪个分支将被执行，
它禁止在与FIRST PAGE HEADER，PAGE HEADER，和PAGE TRAILER节有关的上下文中使
用PRINT语句。必须重整理代码将PRINT语句放在总被执行的地方。






-4308	输入变量的数量与屏幕输入列表中表单字段的数量不匹配。

您的 INPUT 语句指定的变量数必须与字段的数量相同。检查这项时，请记住，当您使用星
号或 THRU 引用一个记录时，相当于逐项列出每一条记录。



-4307	显示列表中的变量和／或常量的数量与目标显示中的表单字段数量不匹配。

值列表中要显示的项数必须与 TO 关键字之后列出的字段数目完全相同。



-4306	无法打开 GLOBALS 文件“pathname”以供读取。

无法打开 GLOBALS 语句中指定的文件。请检查此文件确实存在并且您可以读取它，例如，
通过用操作系统命令显示它。如果这些项都正确，请再次检查路径名的拼写。如果文件不
在当前目录中，请给出完整的路径。



-4305	无法找到或打开数据库“name”。如果数据库存在，请检查该数据库上的数据库
许可权。另外，请检查数据库目录及其上级目录上的系统许可权。

检查数据库名称的拼写。请检查数据库名称确实在当前目录中或在 DBPATH 环境变量中所
包括的目录中存在。如果数据库位于不同的目录中，请确保您能够读取该目录（要测试这
一点，请让该目录成为当前目录，并列出其中所含文件的名称）。如果这些项都正确，请
确保您对数据库至少具有 CONNECT 特权。



-4304	已声明了不同的数据库。如果您的程序使用全局定义文件，则它必须包含与该文
件相同的数据库名称。

此模块包含非过程性的 DATABASE 语句，还使用 GLOBALS filename 语句以包括全局定义
文件。该文件中有一个 DATABASE 语句，它命名了不同的数据库。更改模块或全局定义文
件，这样它们就命名相同的数据库。



-4303	需要 blob 变量或游标名称。

FREE 语句的参数必须是游标或预编译语句的名称，或是（在 4GL 中）数据类型为 BYTE 
或 TEXT 的变量的名称。



-4302	记录描述嵌套过深。

重写记录定义，这样它就不会超出五层嵌套记录的限制。



-4301	该程序 WHILE、FOR、MENU 和／或 CASE 语句层次过多。

您只能（按任何组合）将 CASE、FOR、MENU 和 WHILE 语句嵌套至 25 级深。请重新安排
此程序，以使嵌套深度不超过 25，例如，将某些内部结构移到独立模块中或在某一函数中
隔离它们。



-4300	语句中包含太多级的函数调用嵌套。

这个语句调用了嵌套于其它函数调用的参数列表中的函数，并超越了四级。最大级的
支持是四，如以下表达式：Afun(2-Bfun(3+Cfun(4*Dfun(5))))。
重写表达式将最内层的函数调用存储于一个变量中，并在表达式中使用这个变量。






-4203	编译成功，但带有 n 个警告。文件 filename 未成功写入
。

编译器生成了输出文件。它还检测到一些警告，并且也未能生成错误文件。可能是可用的磁盘空间不足
。



-4202	编译不成功。找到的错误数：n。文件 filename 也未成功写入
。

编译器未能生成输出文件，因为存在错误，并且也未能生成错误文件。可能是可用的磁盘空间不足
。



-4201	写错误。请检查可用磁盘空间和上限。

编译器未能将某些信息写入输出文件中，但是错误的原因未完全确定。这通常意味着超出上限，但也可能是检测到错误时已太迟，导致辅助信息不准确，或者后来发生了其他错误
。



-4200	写错误 -- 磁盘空间不足。

编译器未能将某些信息写入输出文件中，磁盘空间耗尽。



-4169	装入语言环境时出错。

尝试装入 CLIENT_LOCALE 语言环境文件时发生故障。请验证指定的文件是否存在，这些文件是否设置了相应的许可权以及是否具有足够的空间来装入语言环境文件
。



-4168	该 NewEra 名称中检测到异常字符。

在 NewEra 标识的名称中找到了多字节字符（或支持语言环境的其他非 ASCII 字符）。对于此 NewEra 发行版，多字节字符和其他特定于语言环境的字符在
NewEra 标识中无效。



-4167	PRAGMA LOCATION 语句应该是行上的最后一个语句。

在同一行上，任何其他 NewEra 语句都不能跟在 PRAGMA LOCATION 之后。如果您的源文件在 PRAGMA LOCATION 后面包含任何其他 
NewEra 语句或编译器伪指令，那么紧随 PRAGMA LOCATION 编译器伪指令插入一个换行符。（PRAGMA LOCATION 的最后一个规范必须是行
号、文件名或关键字 RESET。）



-4164	该变量的类型过于复杂，无法在赋值语句中使用。

该变量的类型无法在赋值中使用。即，您不能将一个值（无值的 NULL 除外）赋给 BYTE 或 TEXT 变量。不能将任何值赋给 ARRAY 变量
。



-4163	无法直接调用类“class”的内部函数“name”。

表单 classname::classname() 的构造函数通过 NEW 运算符进行调用。classname::!copy() 通过 COPY 运算符进行调用
。classname::!derive() 通过 NEW 和 COPY 运算符中的 AS 子句进行调用。仅 NewEra 返回该错误
。



-4162	值不能在报告中返回。

报告不能包含 RETURN 语句，因为这会将控件返回到调用报告的例程
。



-4161	该变量尚未定义为记录或对象。

指示的变量已与星号或 THRU 或 THROUGH 关键字结合使用。但是，尚未将其定义为记录或对象。请检查名称的拼写。如果这正是您期望的，请找到变量的定义，并查
明为何没有按照期望将其定义。仅 NewEra 返回该错误。



-4160	该表达式无法用作赋值语句的目标。

检测到非法赋值。例如，您声明 abc 为常量，但您在此处尝试为其赋值。涉及赋值的语句：LET、SELECT...INTO、OPEN CURSOR...INTO、
FETCH INTO、FOREACH...INTO、FOR 迭代器（该迭代器被赋值）、INITIALIZE 和 LOCATE。仅 NewEra 返回该错误
。



-4159	下标无法应用到表达式，因为其不是字符或数组引用
。

无法通过下标来限定表达式，因为该表达式不是 ARRAY 或 CHAR() 类型
。



-4158	本产品中不支持 GBase  的 FORM 和 WINDOW 语句。使用可视类库进行屏幕交互
。

编译器遇到了 OPEN FORM 或 OPEN WINDOW 语句。在 NewEra 中，这些功能通过可视类库对象进行处理。请查阅 Graphical and 
Connectivity Reference Manual。除此之外，还可能生成其他语法错误。将违规的语句替换为 VCL 调用，重新编译应可避免出现其他消息
。



-4157	该语句过于复杂。请尝试将其简化。

如果在编译期间检测到堆栈溢出，会发生该错误。在 Windows 下，堆栈大小受到限制。请尝试降低代码的复杂性。复杂表达式，如很多字符串并置（“||”），可消耗大
部分的堆栈。



-4156	警告：循环计数器可能溢出。

当 FOR 循环的上限在该类型最大值的 STEP 值中时，FOR 语句可能会发生该警告。例如，假设 FOR 语句尝试运行 IX，从 1 到 32760，步长
为 20，且 IX 被声明为 SMALLINT；编译器将发出警告，因为在不满足循环终止条件的情况下，IX 将溢出
。



-4155	警告：WHERE CURRENT OF 子句中仅允许静态游标名称。游标名称将处理为静态游标名称
。

在 UPDATE 和 DELETE 语句中，WHERE CURRENT OF cursor-name 子句不能引用声明为动态的游标名称
。



-4154	CHAR 或 VARCHAR 类型的常量的最大允许大小为 255。

在 CONSTANT 声明或定义中，字符类型常量（CHAR 或 VARCHAR）的大小不能超过 255
。



-4153	警告：在编译时，已根据环境变量的值对带有 USING 子句的常量表达式进行了求值
。

当 CONSTANT 的值包含 USING 子句时，将生成该警告。环境变量 DBFORMAT 和 DBMONEY 的设置会影响 USING 操作的结果。该警告提
醒用户，将在编译时对 CONSTANT 语句中的 USING 子句进行求值，并且可能与运行时进行求值的其他 USING 子句不一致
。



-4152	THROUGH 表达式的开始或结束名称无效。

在 SQL 语句的 THROUGH 表达式中使用了无效表达式。



-4151	无法直接调用构造函数。

无法使用 CALL 语句或作为函数调用表达式中的函数来直接调用构造函数。应使用 NEW 运算符间接调用构造函数
。



-4150	首个参数必须为 ixRow 对象。

对于调用内置函数 packrow() 和 unpackrow()，第一个自变量的类型必须为 ixRow
。



-4149	SQL 语句中不允许该类型的表达式。

SQL 语句中提到的某个标识是诸如 FOREIGN 之类的类型，或其命名一个对象（类的成员）或记录
。



-4148	SQL 语句中不允许 CHAR(*) 类型。

CHAR(*) 类型不允许作为 SQL 类型。不可以在 CREATE TABLE、ALTER TABLE 等语句中使用
。



-4147	该函数中需要一个 RETURN 语句。

该函数使用 RETURNING 子句（指定非 VOID）进行了声明，但函数的主体中没有出现 RETURN 语句
。



-4146	指定的输入文件过多。

可执行文件 fglc 和 fglp 仅允许 1 个输入文件。



-4145	错误过多，编译器将退出。

检测到太过编译器错误。编译器报告其目前为止找到的错误并退出
。



-4144	在 INCLUDEd 文件中找到了语法错误。构造在其上下文中不可理解
。

该常规消息显示无法解析由 INCLUDE 语句召集的文件中的 NewEra 语句。从发出错误的一点开始，向后处理程序以查找是否存在其他错误消息，是否缺少标点、
END 语句，以及是否存在其他错误。通常是由于缺少 END IF 而导致的。如果发生该错误的原因不明显，请着重于消除任何其他更为具体的错误消息，该错误可能也会消
失。



-4143	WHENEVER 语句中调用的函数无法返回值。

程序中的 WHENEVER 语句具有 WHENEVER condition CALL 形式的函数，并且正在调用的函数通过 RETURNING 子句进行了声明。该
上下文中的函数调用无法返回任何值。



-4142	WHENEVER 语句中调用的函数无法要求参数。

程序中的 WHENEVER 语句具有 WHENEVER condition CALL 形式的函数，并且正在调用的函数声明为具有参数。该上下文中的函数调用甚至都不
能具有括号，更不用说自变量。请注意，main 具有显式参数，因此其不能用于这种形式的 WHENEVER 语句中
。



-4141	将忽略未知的 4GL 编译器标志“name”。

当用户直接调用 NewEra 产品的组件，而不是通过标准接口调用时，将会发生该错误。可执行文件 fglc 或 fglp 已被传递给一个无法理解的编译器开关
。



-4140	编译器无法继续。

如果编译器中发生无法恢复的错误（即 SEG VIO、BUS ERROR），那么该错误为输出。如果用户显式终止了编译，那么可能会发生这种情况。或者，如果该错误重复
出现，请记下所有情况并联系 IBM 技术支持。



-4139	常量“name”不能用于其自身的定义中。

只有在定义某个常量后才能使用该常量。因此，常量不能用于其自身的定义中
。



-4138	不允许数组 CHAR (*)。

ARRAY [ ] OF CHAR(*) 不是有效类型。



-4137	仅在编译的 4GL 程序中允许嵌入的 C 代码。

BEGIN_C 和 END_C 块只能包括在编译的 NewEra 程序中。其在解释的 (p-code) NewEra 程序中无效
。



-4136	内部函数 name() 的特征符不正确。

!copy() 函数的正确特征符为 FUNCTION !copy (obj this_class)，即，具有一个其类型为包含类的对象的参数。!derive() 
函数的正确特征符没有自变量，只有一对圆括号。



-4135	仅共享类变量可在类声明外部定义。

描述为 SHARED 的类变量不能在类声明外部定义。指示的变量定义正在完成某一变量的定义，而该变量在无 SHARED 限定符的情况下在类声明中进行了描述
。



-4134	调用事件时不允许类限定。

程序指定的类名之后跟随了作用域解析运算符 (::) 和事件名称。将类名替换为相应对象的名称
。



-4133	仅事件可以公布。

POST 语句指定了事件以外的内容。不可以公布成员函数、处理程序和报告
。



-4132	基础子句中的基类名不正确。

程序已声明了一个基类，并将另一个类声明为 DERIVED FROM（基类）。在派生类构造函数的定义中，基础构造函数子句指定对非基类构造函数的调用。假设派生类名为
“bread”并且基类名为“food”；如果 loaf 的构造函数应具有一个自 FUNCTION bread::bread(args1):food(args1)
开始的定义。如果其自 FUNCTION bread::bread(args1):beverage(args1) 开始，那么会出现错误消息
。



-4131	该非共享函数调用没有隐式对象（该上下文中没有定义“SELF”）
。

尚未为该成员函数调用提供对象引用。如果成员函数调用在某个成员函数内部进行，那么“self”将是隐式对象引用。该调用在非成员函数体中进行，因此没有隐式对象引用
。



-4130	无法直接调用处理程序。

处理程序不能是显式 CALL 语句的对象。调用处理程序的唯一方法是通过调用或公布由 HANDLE 语句将处理程序分配到的事件
。



-4129	期望对象名。

在 HANDLE 语句中，事件的前缀为“name.”限定符，但名称不是已知对象的名称
。



-4128	处理程序应该是同一个类的成员，或者是对象的基类
。

指示的处理程序在程序中声明，但不是与对象同一类的成员，也不是派生对象的基类的成员
。



-4127	期望事件。

HANDLE 语句的 WITH 子句前面的标识未标识某个事件。事件必须在目标对象（可以是 SELF 对象）的已声明类中声明或继承
。



-4126	期望处理程序。

HANDLE 语句的 WITH 子句中的标识未标识某个处理程序。如果处理程序的标识指定了一个类，请检查以了解处理程序是否声明为属于该类；否则，检查以了解其是否声
明为属于目标对象的已声明类。



-4125	未在类层次结构“name”中定义/声明为成员。

指示的元素未声明，或者已声明但未定义为类层次结构“name”的成员
。



-4123	对函数“name”的调用必须具有 RETURNING 子句。

函数名声明为返回结果，因此 CALL 语句必须提供 RETURNING 子句以接收结果
。



-4122	已超出解析器限制。请尝试降低模块的复杂性或大小
。

解析器返回的错误不是语法错误。该错误可能是由解析器堆栈溢出（IF 语句、WHILE 语句或类似语句中嵌套级别过多）造成，或是由于解析器耗尽解析器堆栈空间（模块过
大）造成。通过将复杂函数分解为多个函数或将模块分割为多个模块，来尝试降低代码的复杂性
。



-4121	无法通过 CALL 语句或使用函数调用表达式调用报告。

该语句尝试将报告视为函数来调用。尽管报告具有一般格式的函数定义，但是其不能用作函数。检查该语句中调用的函数的名称；一个为报告。如果您打算将一行数据发送到报告，请
使用 OUTPUT TO REPORT 语句。



-4120	将变量“name”声明为外部或本地（相对于模块），但不能同时声明为外部和本地
。

多次声明或定义了指定的变量。其中至少一次使用 EXTERNAL 对其进行了声明，而另一次是定义为模块变量（缺少 EXTERNAL 或 GLOBAL）。检查名称的
声明和定义，其中一些可能存在于包括的文件中。如果希望名称为该模块的专用变量，请为其提供唯一名称。（您可多次将变量声明为 EXTERNAL，并且您可将其声明为 
EXTERNAL，然后将其定义为 GLOBAL。这两种情况都会由于包括了头文件而发生，并且它们都具有定义完整的含义。但是，模块存在一个既是外部又是本地的变量，这
一点是矛盾的。）



-4119	在常量表达式中，时间相关函数必须与函数 CONSTANT() 配合使用
。

该 CONSTANT 语句中某个常量表达式引用了诸如 CURRENT 之类的函数，其值取决于当前时间。此类函数必须作为自变量写入到 CONSTANT() 函数中
，后者将返回编译时的时间作为此类函数的值。（您不能在常量值中使用执行时间。
）



-4118	常量表达式中不允许该数据类型的表达式。

指示的表达式无法求值为常量。纠正针对该表达式而报告的任何其他错误，并重新编译
。



-4117	此处期望常量表达式。

该 CONSTANT 语句的某个常量表达式中至少有一个值在编译时无法进行求值。请参阅 GBase  4GL Reference Manual 中有关
常量表达式的信息，以获取可在常量表达式中使用哪些类型的操作的信息
。



-4111	警告：该函数名未正式声明。要进行更强类型检查，请使用正式定义的函数
。

编译器检测到函数名为非正式函数。可能是函数在不同情形中返回了不同数量自变量，或者函数没有原型声明。尽管以这种方式定义函数没有任何错误，但非正式函数在运行时更易于
出错。建议您使用正式函数声明（以及函数原型），正式函数声明不容易出错且编译器检查更加严格
。



-4110	您不能在 REPORT 例程的 OUTPUT 节中使用多个 REPORT TO 选项
。

在该 OUTPUT 节中，语句 REPORT TO 多次出现。仅允许一个此类规范。仅留下一个规范，除去所有其他规范
。



-4109	期望 DATE 或 DATETIME 类型的表达式。

在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用或仅仅是某个表达式中，编译器找到了 DATE 或 
DATETIME 表达式以外的内容。



-4108	期望 DATE 类型的表达式。

在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用或仅仅是某个表达式中，编译器找到了 DATE 表达式以
外的内容。



-4107	期望 INTEGER 或 SMALLINT 类型的表达式。

在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用或仅仅是某个表达式中，编译器找到了 INTEGER 或
SMALLINT 表达式以外的内容。



-4106	期望 DATETIME 类型的表达式。

在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用或仅仅是某个表达式中，编译器找到了 DATETIME 
表达式以外的内容。



-4104	列值的类型与变量类型不匹配。

INITIALIZE 语句不能建立列值类型与相应变量类型之间的匹配
。



-4103	编译器在文件“name”的行号上检测到内部错误。

请咨询您的系统管理员或联系 IBM 技术支持以报告该错误。

记录下指定的文件名和行号。然后报告该内部错误。



-4100	常量标识“name”定义非法。

已建立为常量标识的名称显示为新标识的声明。例如，假设 maxval 已被声明为类 x 中的常量，然后出现了 VARIABLE x::maxval INT 的声明
。



-4099	要强制转型的类型必须为类。

该语句中 CAST 运算符的右侧自变量不是类名。检查语句的语法和拼写。确保将已包含声明类时所需的所有头文件
。



-4098	扩展的表达式的类型必须为类或记录。

该语句引用 name.*（或使用 THRU 表示法）；但是其引用的名称未声明为记录或某些类的对象。请检查名称的拼写，并检查其声明
。



-4097	类“name”有多个声明。

该类先前已在源模块中（或许是在包含的文件中）声明。仅允许一个声明。查找类的所有声明，然后将其减少为一个
。



-4096	表达式类必须等同于结果类或派生自结果类。

该语句尝试将某个类的值赋予给某个其他类（并非派生自以前的类）的对象
。



-4095	记录具有不同数量的字段或不兼容类型的字段。

在该多字段赋值中，正在被赋予的值未正确地匹配接收记录或对象中的字段。检查值表达式的语法；然后检查接收变量的声明
。



-4094	比较的 CHAR 或 VARCHAR 类型的长度不同。

编译器尝试处理两个字符串类型之间的比较（如比较函数特征符），且两个字符串具有不同边界
。



-4093	RECORD 和非 RECORD 类型之间的类型不匹配。

编译器尝试了转换某个表达式的结果以符合另一个表达式的类型，且其中仅一个为 RECORD。或者两者都必须是 RECORD 类型，或者都不是 RECORD 类型
。



-4092	CLASS 和非 CLASS 类型之间的类型不匹配。

编译器尝试了转换某个表达式的结果以符合另一个表达式的类型，且其中仅一个为 CLASS。或者两者都必须是 CLASS 类型，或者都不是 CLASS 类型
。



-4091	无法作为整体赋值到数组或引用数组。使用索引编制来引用个别元素
。

编译器尝试了转换某个表达式的结果以符合另一个表达式的类型，且其中仅一个为 ARRAY。或者两者都必须是 ARRAY 类型，或者都不是 ARRAY 类型
。



-4085	无法输出该类型的表达式。

该语句尝试输出无法输出的类型表达式（如 FOREIGN）或尝试输出包含返回 VOID 的函数调用的表达式
。



-4083	警告：将忽略外部变量的初始化。

这只是一个警告。该语句同时通过 EXTERNAL 关键字和初始化表达式来声明变量。只能在定义某个变量的点（即，为该变量分配了内存的位置）来初始化该变量。这是一个
声明，而非定义，因此将忽略初始化。



-4082	MATCH 和 LIKE 操作的操作数必须为 CHAR 或 VARCHAR 类型。

该语句将 MATCH 或 LIKE 运算符与数字或二进制自变量表达式配合使用。在此情况下，不存在数据类型自动转换。检查表达式。如果是按照您的期望编写，那么在将其
与 MATCH 或 LIKE 配合使用前，将其修订以将值赋予字符变量（从而强制其转换为字符）
。



-4081	警告：DATETIME 表达式不能为负数。

DATETIME 操作数中出现“-”运算符。不存在为负的时间点。INTERVAL 可以为负数，但 DATETIME 不可以。检查该表达式的语法，并进行修订以使其
大于或等于零。



-4080	警告：对 NULL 的操作返回 NULL。

当编译器优化表达式时，发现组成表达式的字面值中至少有一个为 NULL
。



-4079	索引表达式中不允许该操作。

在索引表达式中尝试了诸如扩展 (.*)、COPY、NEW 或 THRU 之类的操作
。



-4078	缺少操作数，或者该操作数是不支持的类型。

运算符被指示为对无效类型进行操作。或许函数返回 VOID、blob（TEXT 或 BYTE）或 FOREIGN 结果。IS NULL 和 IS NOT NULL
运算符可对 TEXT 或 BYTE 及 FOREIGN 操作数进行操作，并可从同一类型的其他操作数或 NULL 中接收赋值
。



-4077	该操作在该类型的操作数上无效。

运算符无法接受该类型的操作数。纠正已报告的任何其他错误，并验证该运算符是否是为该类型的操作数而定义的。然后再次编译该程序
。



-4076	CAST 对象的类必须是指定为右侧自变量的类的基础。

您不能将对象强制转型为任意类；您只能将其强制转型为派生自其规定类的类。在该语句的 CAST 表达式中，左侧对象引用的规定类不是命名为右侧自变量的类的基类。查看表
达式以确保您已指定了期望的对象（可能需要在对象引用两侧使用圆括号）和目标类
。



-4075	简单字符串表达式的类型必须为 CHAR 或 VARCHAR。

编译器期望字符串表达式，但找到的表达式既不是 CHAR 也不是 VARCHAR 数据类型
。



-4074	不允许两个以上的子串索引表达式。

子串限定符由一对整型表达式组成，中间以逗号分隔并加方括号（示例：name[1,23]）。第一个值不能大于第二个值。两个值必须均为正数，且不大于字符串长度（或接收
数据类型的声明长度）。



-4073	THRU 规范中的开始或结束名称不是目标记录的成员。

该语句引用了某些结构（表、记录或对象），限定为“fist THRU last”。但是，第一个或最后一个未显示为聚集的元素。检查这两个名称的拼写
。



-4072	无法扩展不带有成员的结构。

语句尝试执行扩展，但失败。扩展的格式为 object.*，但是所命名的对象不具有任何公用成员变量，因此扩展集为空。检查您是否在引用正确的类和成员
。



-4071	无法赋值给常量“name”。

该语句将新值赋予了某个名称，但该名称是使用 CONSTANT 语句声明的（在该作用域中）。常量没有内存位置且无法被赋予新值。检查该名称是否是您期望使用的标识。然
后检查其声明。可能是您要赋予一个模块级别变量名，但是其已被声明为本地常量或成员常量，这两种常量在该上下文中优先
。



-4070	无法赋值给“SELF”。

该语句将新值赋予名为 SELF 的隐式函数自变量。由于 SELF 的值隐式用于对自身对象成员的任何引用，因此不允许对其进行赋值
。



-4069	调用成员函数“name”的表达式的类型不是类。

该语句尝试使用作用域解析 (::) 运算符或记录成员资格 (.) 运算符来调用指定函数。但是，作用域解析运算符左侧的名称不是类的名称（其中名称为某个成员)，或者
记录成员资格运算符左侧的名称不是对象引用的名称（其名称为某个成员）。如果您计划通过对某个对象的引用来调用名称，请使用 object.name 语法。或者，确保您
指定了期望的类和成员名称，并且查看类的声明。



-4068	函数“class::member”尚未声明为 SHARED。

该语句使用双冒号语法来调用类-成员函数。但是，指定的成员函数未声明为 SHARED。仅共享成员函数能够以这种方式调用；正常成员函数必须通过引用对象来调用，因为正
常成员函数需要对象引用作为其 SELF 引用的值。检查您是否指定了期望的类和成员；然后检查该类的声明
。



-4067	该 RETURN 语句必须提供一个值。

此 RETURN 语句尚未指定要返回的值，但函数使用 RETURNING 子句（指定非 VOID）进行了声明。如果要在不生成值的情况下提前终止某个函数，可在 
END FUNCTION 语句上放置一个标签并使用 GOTO，或重新设计函数逻辑以避免需要提前退出
。



-4066	内部函数的主体中不允许出现 RETURN 语句。

该语句是内部成员函数（类构造函数、!copy 等等）定义的一部分。这些函数不具有显式结果值；更为确切地说，编译器自动生成的代码生成了其返回值。删除 RETURN
语句。



-4065	同一异常类“name”具有多个异常处理程序。

对于该块中的同一个异常类，存在两个或更多个 ON EXCEPTION 语句。只能调用一个。检查语句，确保每个语句均指定了正确的异常类，并除去或合并重复的处理程序
。



-4064	返回值的类型与函数“name”的声明返回类型不匹配。

函数“name”未明确声明，但是已通过某个原型调用，且当前调用提供不同原型。确保您已调用了期望的函数。然后检查其之前的调用，或为其创建一个显式声明
。



-4063	函数“name”不应返回任何结果。

该语句在暗示应返回一个或多个值的上下文中调用函数“name”。但该函数先前在该模块中声明时不带有 RETURNING 子句，或带有 RETURNING VOID
。确保您已调用了期望的函数；然后检查其声明。



-4062	警告：非正式函数“name”在不同场合返回（或期望其返回）不同数量结果
。

在该源模块中的多个位置处调用了该函数名，且暗示返回不同数量的自变量。这可能是正确的；在不同情况下，可以编写返回不同数量值的函数。但是，您应检查是否是这种情况，以
及在每种情况下，将返回值的期望数量。



-4060	对于函数“name”，实际自变量数量少于无缺省值的正式自变量数量
。

该语句调用函数名，但是其指定的自变量表达式数量少于在函数名的声明中调用的数量。检查自变量列表的语法。检查函数的声明以了解对于自变量所期望的数量和类型
。



-4059	对于函数“name”，实际自变量数量超过正式自变量数量
。

该语句调用函数名，但是其指定的自变量表达式数量超过了在函数名的声明中调用的数量。检查自变量列表的语法。检查函数的声明以了解对于自变量所期望的数量和类型
。



-4058	带有构造函数名称的符号不是函数。

在该上下文中，不允许成员变量或常量名称后面跟随类名。



-4057	类不能派生自带有 PRIVATE 内部函数的类。

该语句使用 DERIVED FROM 子句声明了一个新类。但是，指定的基类具有一个或多个声明为 PRIVATE 的内部函数（类构造函数，诸如 !copy() 之
类的函数）。基类的内部函数必须可用于从派生类的相同函数中调用。无法按此调用私有成员；因此，您不能从带有私有内部函数的基类中派生类。确保您指定了正确的基类，并检查
其声明。



-4055	不允许覆盖基类的构造函数。

CLASS 语句中的 FUNCTION 声明指定一个函数，其名称与该类的基类名称相同。换言之，您正在尝试覆盖基类的构造函数。不允许执行此操作。复审此类继承的成员
名称，并为成员函数选择唯一名称。



-4054	函数“name”已使用其他返回类型进行了声明。

此 FUNCTION 语句中描述的函数已进行了声明，该声明与先前声明在返回值的数量或类型方面不一致。请复审此函数声明包括的文件，并使语句保持一致
。



-4053	函数“name”已使用其他原型进行了声明。

此 FUNCTION 语句中描述的函数已进行了声明，该声明与先前声明在自变量的数量或类型方面不一致。请复审此函数声明包括的文件，并使语句保持一致
。



-4052	标识“name”未在全局作用域中定义。

使用了非本地定义的常量或变量，因此编译器假定其是全局定义的，但也未在其中找到
。



-4051	成员“name”在类“class”中定义，但未定义为函数。

该语句尝试直接调用 class::member() 或作为 object.member() 调用。类具有使用该名称的成员，但其为成员变量，而非函数。请检查成员名
和类名或对象名的拼写。复审类的声明以获取其成员名的正确拼写
。



-4050	已使用了函数“name”并且在该正式声明之前已声明为非正式
。

对该函数的调用出现在该函数的此次声明之前。支持对未声明函数进行调用的唯一目的是为了兼容先前版本的 4GL 语言。编译器遇到对该函数的调用时，编译器为该函数假定一
个非正式声明。将函数的声明移动到源模块的顶部，以使其出现在调用之前
。



-4048	在该报告的主体中不允许出现报告的驱动程序语句。

该语句定义了一个记录变量并在声明一个或多个成员时使用初始化表达式。而此操作不受支持。仅当定义简单变量时，才能使用初始化表达式时
。



-4047	非正式和正式函数声明语法混合。将忽略返回类型。

函数声明已将非正式（FUNCTION 程序块）和正式（FUNCTION 原型）语法相混合。带圆括号的自变量列表仅给出了名称，且类型随后在 VARIABLE 语句
中定义，但是然后声明后面跟有一个 RETURNING 子句，而该子句仅在声明的函数原型样式中可用。请参阅 GBase  4GL Reference 
Manual。



-4046	对于该非正式函数定义，先前出现了正式声明。正式声明无效
。

该函数的正式声明先前出现在该源模块中。此时，出现了非正式函数语法中的定义
。



-4045	成员“name”在类“class”中定义，但未定义为变量或常量
。

标识名称在类中定义，但定义为变量或常量以外的内容（如成员函数）。请检查成员名和类名或对象名的拼写
。



-4044	成员“name”在类“class”中未定义。

该语句尝试访问 class::name。但是，没有为该类定义任何此类变量或常量。请检查成员名和类名或对象名的拼写。如果引用为 class::name，请复审类的
声明以获取成员名的正确拼写。如果引用是通过对象，那么确保对象声明为具有您期望的类
。



-4043	EXTERNAL 声明非法。

该语句尝试声明 EXTERNAL classname::membername。程序不能使用全局 EXTERNAL 声明来声明共享成员变量。要实现这一目的，请包含
共享成员所属的类的描述。



-4042	该形式的声明只能出现在全局（模块）作用域中。

identifier::identifier 的声明只能出现在全局作用域中。



-4041	再次包含“文件”将导致无限循环。

该 INCLUDEAGAIN 语句指定了一个包含自身的文件。如果您强制将其包含，随后将出现循环。确保这是您想要包含的文件。请复审文件的内容
。



-4037	函数“name”有多个声明。

尽管您可声明多个不同版本的用户定义函数，但是对于某些函数（如 GBase  软件定义的名称），您不能执行该操作
。



-4036	函数“name”无法在具有不同引用作用域的派生类“class”中重新定义
。

函数“name”的基类声明为 SHARED 但“name”未声明为 SHARED，或者“name”声明为 SHARED 但基类未声明为 SHARED
。



-4035	函数“name”无法在具有不同访问许可权的派生类“class”中重新定义
。

函数“name”的父类具有不同于该声明的访问许可权（PRIVATE、PROTECTED 或 PUBLIC）
。



-4034	使用“-nosql”开关编译时，不允许使用 SQL 语句和两次通过报告
。

使用“-nosql”开关调用了编译器，但是源包含显式 SQL 语句或两次通过报告（后者涉及 SQL 语句）。使用“-nosql”编译将导致生成 .c 代码（而不
是 .ec 代码），其中不允许使用 SQL 语句。



-4033	基成员名“name”无法用于类名。

该语句尝试声明某个类名，但是还指定了一个 DERIVED FROM 子句。从该基类继承的成员中有一个成员名称为“name”。类的名称不能与其成员的名称相同，因为
构造函数必须使用该名称。请复审该新类的继承，然后为其选择其他名称
。



-4032	警告：已忽略 THRU 成员“name”结构部分。

语句包括了以下格式的 THRU 短语：

rec.first THRU rec.last 

正确的格式为：

rec.first THRU last 

逻辑是修改记录，从第一个开始到最后一个。



-4030	警告：无法进一步扩展已扩展的表达式。

表达式不能具有多个 .* 后缀。



-4029	选择成员“name”的表达式的类型不是对象引用或记录
。

该语句将名称视为记录或类的成员而引用了 .name。但是，点号之前的表达式既不是记录的名称，也不是对象的引用。如果您认为名称是记录的成员，请检查记录的定义，并确
保其点号之前的部分名称拼写正确。如果您认为名称是类成员，那么确保点号前有一个表达式，且该表达式引用了正确类的对象
。



-4026	成员“name”已在基类“class”中定义。

派生类继承其基类的所有成员。您不可以添加与基类中的成员具有相同名称的成员
。



-4025	函数“name”已在类中进行了声明。

具有指定名称的函数已在当前类中进行了声明。



-4024	标识“name”具有多个不同类型的声明。

给定作用域中给定名称的多个声明必须一致（即，它们必须具有相同类型）。已使用其他类型声明了所显示的标识
。



-4023	类不能从自身派生。

该 CLASS 语句断言类从自身派生。而此操作不受支持。除去该子句，或命名另一个基类
。



-4022	保留的关键字“name”不能用作 4GL 标识。

关键字不能用于命名函数、报告、变量或常量。请查阅 GBase  4GL Language Reference 以获取保留的关键字的列表
。



-4021	类成员不能命名为“SELF”。

您不能使用 SELF（无论大小写）作为成员变量、成员常量或成员函数的名称。标识 SELF 是一个由 New Era 自动提供的内置标识。您可引用 SELF，以在
某个成员的名称与在全局或模块作用域中声明为的标识相同时，是您代码的可读性更佳，或在本地实体具有相同名称时，用于访问成员
。



-4020	函数“member”不是类“class”的成员。

该语句尝试直接调用 class::member() 或作为 object.member() 调用。但是，该类中未提供这样的成员函数。请检查成员名和类名或对象名的
拼写。如果引用为 class::member()，请复审类的声明以获取成员名的正确拼写。如果引用是通过对象，那么确保对象声明为具有您期望的类。您只能调用对象中规
定的类（被声明具有的类）的成员。如果要调用实际类（您认为将在执行时出现的类）的成员，那么使用 CAST 运算符
。



-4019	THRU 选项中指定的列以相反顺序出现。

该语句使用“first THRU last”（或“first THROUGH last”）限定引用了某个聚集（表、记录或对象）。但是第一个和最后一个未按该顺序出
现在聚集中；最后一个在第一个前面。检查这两个名称的拼写。确保在编译时正确的数据库是最新的（最新的数据库在 DATABASE 语句前面）
。



-4018	THRU 选项中指定的列不属于同一个表。

该语句从第一个到最后一个列引用了某些表；但是第一个和最后一个不都是该表中的列。检查这些列名称的拼写。确保在编译时正确的数据库是最新的（最新的数据库在 
DATABASE 语句前面）。



-4016	每个类声明必须至少具有一个成员函数。

该类声明不包含任何成员函数。类必须至少包含一个成员函数，因为定义第一个（或唯一一个）成员函数的点也是定义类本身的点。如果类没有任何其他成员，请声明其构造函数。因
为声明了构造函数，因此还必须定义构造函数（虽然在您不希望的情况下，定义不需要包含 FUNCTION 和 END FUNCTION 之外的任何语句）
。



-4014	您不能为内部成员函数指定 RETURNING 类型。

该内部成员函数声明包含 RETURNING 子句。而此操作不受支持。编译器定义了内部成员函数的返回值。省略了 RETURNING 子句
。



-4013	内部成员函数“!name”无效。

支持的内部成员函数为 !copy()、!derive() 和类名（构造函数）。声明任何其他函数时前面不能加感叹号。请检查名称的拼写。如果其不是支持的名称之一，请
将函数声明为正常的成员函数。



-4012	您仅能为类构造函数指定基础子句。

该函数声明后面有逗号、类名和自变量列表（简而言之，基础子句）。仅当为类声明构造函数（其名称与类的名称相同的函数）以指定基类构造函数的函数自变量时才会使用该语法
。



-4011	类“name”未声明。

该语句引用了一个具有指示名称的类，但在源模块中此时尚未声明此类。请检查名称的拼写。确保已包含了所有所需的包含文件
。



-4010	未找到包含文件“pathname”。

该 INCLUDE 语句命名了一个编译器无法找到的文件。如果使用完整路径名，那么文件不存在。请检查所有目录和文件名的拼写。如果仅给出了文件名，那么该文件无法在当
前目录、$GBASEDBTDIR/incl 或 -H 编译器自变量中指定的任何目录中找到。或许其中一个自变量被省略或错误拼写
。



-4009	非共享成员“name”无法用于缺省值中。

该函数声明的缺省值表达式引用了该类的正常成员变量的值。而此操作不受支持。缺省值表达式可引用变量，但是这些变量必须在模块级别声明，或者必须是类的共享成员
。



-4007	记录成员“name”未定义。

该语句引用了 record.name。而该变量记录确实是一个记录，名称不是其某一组件字段的名称。查找记录的定义（可能在 GLOBALS 文件中），并验证其字段的
名称。然后纠正名称的拼写。



-4005	您无法重新定义私有基成员函数“name”。

类声明中的该 FUNCTION 声明命名了从该类的基类继承的成员。但是，继承的名称声明为 PRIVATE，因此无法在该语句中将其覆盖。检查所有基类的声明；然后选
择将对该类是唯一的函数名称。



-4004	无法在该上下文中访问类“class-name”的成员“name”。

编译器可识别成员，但是成员的访问控制使其在语句中无法被访问。检查 PUBLIC、PRIVATE 或 PROTECTED 声明。成员变量缺省为 PROTECTED
访问权，但成员常量和成员函数缺省为 PUBLIC。



-4002	函数“name”的自变量 n 未转换为其形参的类型。

指示的自变量表达式或缺省自变量表达式与该函数自变量的声明类型不兼容。请复审函数的声明以查看所期望的类型
。



-4001	基础类型名称“type”不能用作类名。

该 CLASS 语句尝试使用与内置数据类型（如 INTEGER）相同的名称来声明某个类。请为您的类使用其他名称
。



-4000	内部成员函数不能声明为 SHARED。

该语句尝试将该类的某个内部成员（类构造函数或 !copy() 或 !derive() 函数）声明为 SHARED。您可声明这些函数以进行扩展，但声明不能指定 
SHARED。



-3999	文件 filename 的行号处出现系统内部错误。

该错误不应该发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-3767	在命令行上找到未知选项的选项名。

确保输入了正确的命令行选项。



-3766	用法：SPERFORM [-s] [-d database] filename . . .

该消息显示 sperform 程序的命令行选项。



-3765	表单图像太大，不适合屏幕窗口。

表单文件中定义的屏幕图像比当前窗口尺寸大（较宽或较高）。如果当前窗口是主窗口，它的大小由正在使用的终端的尺寸来设置。如果当前窗口是通过 OPEN WINDOW 
打开的，您应该指定更多的行或列。请检查表单文件，要么减小屏幕图像的大小，要么将它显示为较大的窗口
。



-3764	屏幕太小。必须至少为 6 行和 30 列。

PERFORM 无法在小于 6 行乘以 30 列的屏幕或窗口中操作。必须增加要在其中执行 PERFORM 的终端窗口的大小。绝对最小值为 6 行乘以 30 列。
但是，窗口还须足够大，以便包含将要显示的表单。



-3763	该程序具有无效序列号。请查阅您的安装指示信息。

GBase  软件产品安装不正确。请检查安装过程。如果需要帮助，请联系”IBM 技术支持“
。



-3762	在 C 函数定义表 userfuncs 中找不到表单中定义的用户函数 funcname
。

表单的 INSTRUCTIONS 节包含对函数 funcname 的调用，并且 sperform 假定这是外部 C 函数的名称。但是，每个这样的函数的名称和地址
必须显示在名为 userfuncs 的静态数组中。该数组连同外部函数的计算机代码一起与 sperform 的定制版本关联。由于名称未显示在数组中，
sperform 无法调用它。

请检查是否在执行 sperform 的正确定制版本（该程序的原始版本没有与之关联的外部函数）。请查看是否正确拼写了函数名。然后检查 C 函数的源以确保 
userfuncs 数组定义正确。



-3761	错误 - 尝试除以零。

INSTRUCTIONS 节中除法表达式的除数为零。请复审 INSTRUCTIONS 节中所有除法的使用，并查找是否可能有零作分母的情况（可能分母是用户在其中输
入了零的字段）。请使用 IF-THEN-ELSE 针对零进行测试来保护这些表达式
。



-3760	在非字符字段或表达式之间可能无法使用匹配。

表单的 INSTRUCTIONS 节中 IF-THEN-ELSE 语句使用 MATCHES 关键字来比较两个字段。但是，至少有一个字段不是字符字段，而您只能对字
符字段使用 MATCHES。请复审 INSTRUCTIONS 节中所有 MATCHES 的使用来确保它仅适用于字符字段
。



-3759	表单中不存在显示字段 field-name。

表单中未定义传递给 C 函数 pf_nxfield() 的字段标记名。请复审传递的字符串；如果它是期望的字符串，那么请检查表单定义来了解更改的内容。某个公共错误
将混淆屏幕布局和 ATTRIBUTES 节中等号左边使用的标记名与 ATTRIBUTES 节中等号右边使用的列名。后者在引用字段时使用
。



-3758	下一个选定的字段 tag-name 不在当前表中。

传递给 C 函数 pf_nxfield() 的字段标记名是当前表中不存在的字段的名称。这些字段中不允许有光标
。



-3757	字段 tag-name 发生转换错误。

无法将传递给 pf_putval() 的值的数据类型转换成屏幕字段 tag-name 的数据类型。请对比复审表单定义中的 value 和 valtype 标记与
字段的数据类型。



-3756	此时无法对选定的字段 tag-name 赋值。

指定的字段不在当前表中。这些字段中不允许有光标，也不能在其中设置值
。



-3755	无法访问选定的仅显示字段 tagname。

传递给 C 函数 pf_nxfield() 的字段标记名是仅显示字段的名称。由于不允许用户在仅显示字段中输入数据，因此在其中任何字段中都找不到光标。请检查提供的
标记名；如果是期望的名称，那么请复审该字段的属性，并找出将它设置成仅显示的原因
。



-3754	您已超过伪机器堆栈空间。

请降低表单复杂性。尤其要降低循环和 IF 语句的嵌套级别，并将 LET 语句中极其复杂的表达式分解成多个较简单的表达式
。



-3752	由于图形已存在，因此无法使用此编辑功能。

已对该字段定义（在表单规范文件中）了 PICTURE 属性来指定其格式。在编辑这样的字段时，不能使用某些编辑键（例如：CTRL-A、CTRL-D 和 
CTRL-X）。请仅使用可打印的字符和退格键来输入值。



-3751	键入回车符继续。

无当前的 GBase  产品返回该消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-3750	命令异常中止。

无当前的 GBase  产品返回该消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-3731	无法打开表 table-name。

数据库服务器无法打开代表该表的文件。您可能已超过操作系统的打开文件数限制；如果是这样，您必须减少表单中包含的表数。但是，首先请确保数据库目录（其名称为 
database-name.dbs）中存在该表对应的文件，并且您的账户对其有读访问权。表文件的名称包含：表名、3 位数的数字和后缀 .dat
。



-3730	未授予许可权来允许除去 table-name 行。

您的账户未被授予对表 table-name 的 DELETE 特权。表的所有者或对数据库具有数据库管理员 (DBA) 特权的人员可以对您授予该特权级别
。



-3720	未授予许可权以允许添加表名。

您的账户未被授予对表 table-name 的 INSERT 特权。表的所有者或对数据库具有数据库管理员 (DBA) 特权的人员可以对您授予该特权级别
。



-3710	未授予许可权以允许更新 table-name。

您的账户未被授予对表 table-name 的 UPDATE 特权。表的所有者或对数据库具有数据库管理员 (DBA) 特权的人员可以对您授予该特权级别
。



-3700	未授予许可权以允许读取 table-name。

您的账户未被授予对表 table-name 的 SELECT 特权。表的所有者或对数据库具有数据库管理员 (DBA) 特权的人员可以对您授予该特权级别
。



-3690	无法执行详细信息 - 第一个和第二个表未连接。

在表单的 INSTRUCTIONS 节中指定了这两个表的主详细信息关系。但是，这两个表未连接。请在 ATTRIBUTES 节中添加连接属性
。



-3680	PERFORM 用光了内存。

PERFORM 无法获得所需内存数据空间。必须降低表单的复杂性
。



-3670	操作系统错误。无法在临时文件中寻道。

较早的 PERFORM 创建了一个临时文件；现在它无法更改该文件的文件位置。在创建文件后可能另一个用户删除了该文件。请从操作系统中查找可能给出更多问题详细信息的
消息。



-3660	您必须先更新连接了该行的表名行。

要更新的行是验证连接的主导成员。不允许您更改该列中的行值，否则将使其他表中连接的行无效。您必须先更新表名中连接了该列的行
。



-3651	您已超过系统允许的打开表数。

执行该语句要求 PERFORM 超过操作系统的打开文件数限制。必须减少表单规范中包含的表数
。



-3650	必须先除去连接该行的表名行。

要除去的行是验证连接的主导成员。在没有先除去连接某行的任何行的情况下，您无法除去该行
。



-3630	操作系统错误。无法写入临时文件中。

PERFORM 早先创建了一个临时文件，但是现在无法对其写入。该错误最可能的原因是磁盘已满。还有一种可能是在创建临时文件后，另一个用户删除了它
。



-3620	您没有写入该表的许可权。

您没有该表的 Insert 或 Update 特权，因此无法插入或更新列。请向表的所有者或对数据库具有数据库管理员 (DBA) 特权的人员协商以获取必需的许可权
。



-3610	没有为该表指定主表。

必须先将该表作为表单的 INSTRUCTIONS 节中另一个表的详细信息而建立
。



-3600	没有为该表指定详细信息表。

必须先将该表作为表单的 INSTRUCTIONS 节中另一个表的主表而建立
。



-3500	两个条目不相同。请重试。

要防止打印错误，必须在该字段中输入该值两次。两次输入的值必须相同。请谨慎地重新输入数据。（表单规范文件中的 VERIFY 属性已经与该列关联。
）



-3460	该行已被另一个用户锁定 - 请稍后再试。

另一个个体当前正在使用表。请稍等，然后重新输入语句。



-3452	不允许在远程表上进行添加、更新和除去操作。

正在被查询的表位于当前数据库（在表单的 DATABASE 部分中命名的数据库）的外部数据库中。无法修改此类表。（当前未使用该消息。您可能会在 V4.0 或更低版
本的产品中遇到此消息。）



-3451	该表单中没有需要数据输入的字段。

该表单规范中没有任何字段允许数据输入；它们全都标记为 LOOKUP 或 DISPLAYONLY，而不带 ALLOWING INPUT 关键字
。



-3450	其他人已检测到处于您的列表中的行。

另一个用户（访问您的表单所查询的表）删除了您的最新查询所选择的行。请重新启动您的查询来获得准备的行选择。当查询某个视图时，PERFORM V4 和较早版本可能返
回该错误消息。本产品的早期版本不支持视图。



-3430	该字段需要输入的值。

在标明的字段中输入值以前，无法向表中添加行。表单规范文件中的 REQUIRED 属性已经与该列关联。请在字段中输入值
。



-3421	当前用户无法选择连接的字段 table.column。

该表单查询所示的表中连接两个表的列。但是，您的帐户名没有对该表和列的 SELECT 特权。请联系表的所有者或数据库管理员以获得该特权
。



-3420	该值算不上合理的可能性。

已为该列设立了一列（系列）可接受的值（经由表单规范文件中的 INCLUDE 属性）。必须输入处于可接受范围内的值
。



-3400	不存在满足条件的行。

数据库中没有任何行与表单中输入的值匹配。请输入不同的值，然后重新查询
。



-3300	沿着您执行操作的方向不再有行存在。

您已到达当前行列表的开头或结尾。可以使用 QUERY 命令开始新的查询，或者使用 PREVIOUS 或 NEXT 命令从相反方向通过列表
。



-3265	缺少必需的列名索引。请恢复。

必须对验证连接中的所有主导列建立索引（其名称前具有星号的列）。可能在编译表单后删除了索引。请重新创建索引，然后再次运行表单
。



-3261	值无效 - table-name 表中不存在其合成值。

该列与其他列一起作为 COMPOSITE 列示在表单规范的 INSTRUCTIONS 节中。它在其中显示为需要针对表 table-name 的匹配列进行验证。您
所输入的值与组合体中其他值一起都不显示在 table-name 中。



-3260	这是一个无效值 - table-name 表中不存在该值。

该列与表 table-name 中的列具有验证连接。在该字段中输入的任何值必须可在该表中找到。找不到刚刚输入的值。请输入正确的值
。



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

另一个用户正好删除了目录显示的行。该行不再存在。在使用 QUERY 显示有效行之前，您不能使用 UPDATE、REMOVE、NEXT 或 PREVIOUS 命令
。



-3200	当前列表中没有行。

必须首先查询表，然后执行 UPDATE、REMOVE、NEXT 或 PREVIOUS 命令
。



-3120	字段中有错。

输入当前字段中的数据不适合于字段的数据类型。



-3101	列 column-name 不允许空值。

向表中添加数据时，未对显示的列指定数据。但是，该列在数据库中定义为不允许空值。除非您提供值，否则无法添加行
。



-3082	没有指定用来编辑该 BYTE 字段的程序。

表单用户已键入 BYTE 字段的显示。但是，没有为该字段定义 program= 属性
。



-3081	指定的输出文件名的扩展名错误。

输出文件名不能以下列任一后缀结尾：.dat、.idx、.aud、.per、.frm、.ace、.arc、.sql 或 .unl
。

请选择另一个文件名。



-3060	操作系统错误。无法创建临时文件。

PERFORM 正在尝试创建临时文件，但是无法创建。在 UNIX 系统中，检查您的帐户是否可以写入 /tmp 目录或 DBTEMP 环境变量命名的目录，并且该目
录未满。可能是您超过了操作系统的打开文件数限制。在这种情况下，必须减少该表单中使用的表数
。



-3050	操作系统错误。无法打开临时文件。

PERFORM 正在尝试打开早先创建的临时文件。请查找可能提供更多信息的操作系统错误消息。可能是您超过了打开文件数限制。如果该错误重复出现，请记下所有情况并联系
IBM 技术支持。



-3037	列 column-name 不是组合列。请再次构建表单。

列 column-name 被当作表单规范的 INSTRUCTIONS 节中 COMPOSITE 的一部分。但是，在数据库中该列及其同伴上不存在组合索引（某个组
合键的所有列上的索引）。在编译表单后，组合索引即被删除。应该将它恢复，或者应该修订表单
。



-3035	列 column-name 更改了列类型。请再次构建表单。

在编译表单后，该表单的 ATTRIBUTES 节中命名的 column-name 不再具有它本来的数据类型（自那以后表被更改）。请检查当前的数据类型；然后检查表
单规范以确保它在适当大小的字段中显示该列。请按需要修改表单，并对其重新构建
。



-3031	打不到或无法打开表单 form-name。

PERFORM 在当前目录或 DBPATH 环境变量命名的目录中找不到已编译的表单 form-name.frm。或者如果 PERFORM 确实找到了该文件，也无
法打开它。请检查名称的拼写。请验证文件是否存在，并检查您的帐户对文件是否有读访问权
。



-3030	列 column-name 不在数据库中。请再次构建表单。

表单的 TABLES 节中指定的表是存在的，但是在 ATTRIBUTES 节中命名的列不存在。请根据实际的表检查 column-name 的拼写。表可能已被更改
，或者列可能已经重命名。可以使用 GBasedbt SQL 来检查“表”菜单中“信息”选项下面的列名。修订表单以使用正确的列名
。



-3020	表 table-name 不在数据库中。请再次构建表单。

找不到表单的 TABLES 节中列出的表。请检查 DATABASE 语句以确保表单正在使用正确的数据库。如果是这样，并且如果表名按要求拼写，那么说明表已被删除或
重命名。可以使用 GBasedbt SQL 来检查“表”菜单中“信息”选项下面的表名。修订表单以使用正确的名称
。



-3019	出现非预期错误号；请致电技术支持。

请记下所有情况并联系 IBM 技术支持。



-3011	表被锁定 - 不允许进行读或写。

由于另一个用户以互斥方式锁定了表，PERFORM 无法继续。请在表格未锁定时重新运行事务
。



-3010	找不到数据库 database-name。

无法打开表单的 DATABASE 节中命名的数据库。可能是找不到，也可能是您的帐户未被授予对该数据库的 CONNECT 特权。可以使用 GBasedbt SQL
分开这些情况。使用“数据库”菜单的“选择”选项。如果列出了数据库名称，那么可以找到数据库但无法打开它
。

数据库服务器首先在当前目录中查找数据库，然后在 DBPATH 环境变量命名的各个目录中查找。请查看 database-name.dbs 是否存在于其中一个目录中
。



-3007	您的表单与 PERFORM 的当前版本不兼容。请重新编译表单，然后再次运行它
。

请使用 FORMBUILD 编译表单，然后再次运行 PERFORM。



-3006	在 .frm 文件中找到未知代码。请重新编译表单，然后再次运行它
。

请重新编译表单以确保 .frm 文件尚未损坏。如果该错误再次出现，请检查运行的 FORMBUILD 和 PERFORM 产品是否处于相同版本级别（如果不使用
-s 选项，版本号将在从命令行执行命令时显示）。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-3005	您没有访问表单 form-name 的许可权。

表单文件 form-name 是存在的；但是，您的帐户没有操作系统许可权对其进行读写
。



-3003	该 BLOB 字段为空。

您选择了“查看”菜单选项。光标位于代表 BYTE 列的字段中，并且您按下了 ! 键来编辑该字段的内容。但是，该字段为空；没有可查看的数据。请使用“查询”来选择该
字段中包含非空数据的行。



-3002	没有可查看的 BLOB 字段。

您选择了“查看”菜单选项。该选项允许您查看表单的 TEXT 和 BYTE 字段的内容，但是该表单中没有这样的内容
。



-3001	当前目录中没有表单。

只能运行当前目录或 DBPATH 环境变量命名的目录中存在的表单。请将目录更改为包含期望表单的目录，或者更改 DBPATH 的内容
。



-3000	ISAM 或系统错误号 number。

请在 finderr 实用程序中查找错误号。



-2999	SQL 服务器终止。

应用程序与数据库服务器失去联系。可能有人关闭了数据库服务器，
或是内部错误破坏了应用程序与数据库服务器之间的管道。在局域网
系统中，文件服务器中的数据库服务器进程或线程可能终止了，或者
文件服务器可能关机了。请查找其它信息，尤其是操作系统信息，或
许会找到更详细的原因。






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

显示的错误来自主机操作系统。该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-2997	请参阅错误号。

数据库服务器返回了显示的错误号。请在本文档中查找该错误。另请参阅可能提供更多信息的其他错误消息或联系 IBM 技术支持
。



-2996	收到意外的错误号 os-error。请联系 IBM 技术支持。

显示的错误号来自主机操作系统。RDS 曾经是 GBasedbt 软件的名称。该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



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

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






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

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






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

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






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

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






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

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






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

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






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

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






-2988	FORMBUILD已经用完内存。

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






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

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






-2951	左和右定界符必须用二个字符的串指定。

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






-2950	字段<名称>没有从1开始的节。记住，第一个下标是1，不是0。

来自同一个字段的多重子串被定义为显示的显示字段。可是，该子串没有覆盖毗连
的，字段的非重迭部分。或者没有第一节(从字段1开始)，或者一节与另一节重迭。
重新检查指定的子串，考虑使用一个多行编辑显示字段替代一组子串；更简单的办法
是去编码并为数据输入提供更好的编辑。






-2946	你不能在只能显示的显示字段<名称>上计算一个聚合。

只能在与表相联的显示字段上(不在DISPLAYONLY显示字段)执行聚合，并且表必须列在
同一控制块的打开命令中。修正屏幕表格说明并重新编译。






-2945	你只能对表而不能对字段使用添加，修改，查询，或删除命令。

只能在与表相联的显示字段上(不能在DISPLAYONLY显示字段上)执行聚合(AVG,
MIN，MAX，COUNT，TOTAL)，并且表必须列在同一控制块的打开命令中。修正屏幕表格
说明并重新编译。






-2944	你只能对表而不能对字段使用添加，修改，查询，或删除命令。

所有的添加，修改，删除，和查询操作都应用于整个行。所以这些控制块必须只能在
它们的打开命令中列出表名，而不能列出各个字段的名字。重新检查这个语句中的名
字，把字段名改为它们表的名字。






-2943	你已经超出了伪机器的容量。

这个语句中的表达式的处理太复杂。简化它并重新编译该屏幕表格(参见错误信息
-2988。)






-2941	<名称>不是该屏幕表格上的一个用于显示的显示字段名。

这个语句引用了显示字段<名称>，但没有定义这样的<名称>。检查拼写，并重新检查
ATTRIBUTES节，看显示字段是如何定义的。






-2940	显示的字段名既带有下标又不带下标。

这个屏幕表格在不同的显示字段中显示指定字段的全部，和它的下标部分。你可以在
不同的显示字段中显示一个字段的不同的下标部分，但这些部分不能重叠。换句话
说，一个字段的部分不能在同一屏幕显示两次。重新检查指定字段的所有使用。也许
你不想在两个地方命名它；或也许在不同的表中有两个以上的同名字段，你需要使用
表名区别它们。否则，在字段的每个显示字段上使用不重叠的下标。






-2936	用'-c' 选项或在屏幕节中指定的字段数必须是从30到600之间的一个整型数。

在SCREEN语句中或用-c命令行选项给出的屏幕的水平大小不在范围内。把它改为指定
屏幕表格将使用的终端的期望尺寸。






-2935	用'-l' 选项或在屏幕节中指定的行数必须是从6到600之间的一个正整型数。

在SCREEN语句中或用-l(小写L)命令行选项给出的屏幕的垂直大小不在范围内。把它改
为指定屏幕表格将使用的终端的期望尺寸。






-2934	格式宽度小于预置的显示宽度。

为这个显示字段指定的FORMAT串的长度小于该显示字段本身在SCREEN节表示的长度。
检查屏幕的版面布置，并加以修改，或修改格式使它们一致。






-2933	格式宽度大于预置的显示宽度。

为这个显示字段指定的FORMAT串的长度大于该显示字段本身在SCREEN节表示的长度。
检查屏幕的版面布置，并加以修改，或修改格式使它们一致。






-2932	格式的指定只限浮点、小浮点、十进制或日期字段。

该属性语句指定了FORMAT串，但显示字段的数据类型不是支持的四种格式之一：
FLOAT、SMALLFLOAT、DECIMAL(或MONEY)和DATE.如果这不是DISPLAYONLY
字段，检查它是否附属于右字段，并确认该字段是否如你所预期的在数据库中定义。






-2931	格式说明中存在错误。

检查该语句的FORMAT串内容。是否存在不正确的数据类型。如，数值字段含有#-
和.以外的字符；DATE字段存在不正确的内部长度。如，yyy要求三位数的年。






-2930	字段名的部分多于一次在屏幕上显示。

这个屏幕表格在不同的显示字段中显示指定字段带有下标的部分。这是合法的；但任
何单一字符不能出现在一个以上的显示字段中。即，下标部分不能重叠。例如，可在
某显示字段显示name[25,49]，而在另一显示字段显示name[50,74]。但不能同时显示
name[25,49]和name[25,74]，因为某些字符会显示两次。






-2921	数据库的dbname与当前的-GBASEDBT-SQL版本不兼容。

屏幕表格中DATABASE语句命名的数据库是由老版本的gbasedbt软件创建。要使当前系
统能使用它，必须使用sqlconv实用工具进行转换。






-2920	该字段column是主要的字段但未加索引。如为该字段创建索引，性能会大有
改进。

指定的字段已定义为检验联结的主要字段。这意味着无论何时操作员在该显示字段输
入一个数值，将会在该字段进行对照。如果索引存在，该对照操作非常迅速。现在该
字段无索引。如果没有索引，对照将会极其缓慢。除非该字段不允许操作员输入(这时
应删除星号)或者表很小(最多几十行)，你应该在屏幕表格使用前为该字段创建索引。






-2901	显示字段名包含两个冲突的属性，第一属性和第二属性。

该语句自相矛盾。UPSHIFT和DOWNSHIFT属性不能用于同一显示字段；NOENTRY和
REQUIRED属性，或NOENTRY和VERIFY属性也不能用于同一显示字段。检查该语句并
修正选定的属性。






-2895	field-size的显示字段长度与column-size的数据库字段长度不匹配。只是警
告信息。

该语句定义的字符显示字段大小(如SCREEN节中出现时所示)与关联字段的大小不同。
可在屏幕表格编译程序中指定-v选项，来产生此类警告信息。






-2893	显示字段标签标记名在屏幕表格中出现一次以上。但长度不同。

可以在屏幕版面布置中放置一个显示字段的多重拷贝（所有拷贝均显示同一字段），
但所有拷贝必须是同样长。检查SCREEN节，以确认：如果打算一个显示字段有多重拷
贝，则所有拷贝必须完全相同。






-2892	字段column-name名在屏幕表格中出现一次以上。如果希望某字段在屏幕表格
中重复。使用同样的显示字段标签。

在两个或两个以上位置显示同一字段的方法是：在屏幕版面布置中放置两个或两个以
上显示字段，每个显示字段具有相同的标记名。然后，在ATTRIBUTES节中使用一条单
独的语句，使那个标记名和字段名产生关联。当前的字段值将在所有的显示字段重
复。如果需要显示不同字段。列在ATTRIBUTE节中的字段名必须不同。如果需要显示
不同字段，而又恰巧具有相同字段名。须将表名作为其前缀。






-2890	屏幕定义必须由左大括号‘｛’开始。

每个屏幕版面布置必须置于大括号({})中。左大括号必须是所在行第一个字符。检查
屏幕表格说明，确认屏幕版面布置的句法结构是正确的。






-2880	单词'screen'或者'end'丢失。

每个屏幕表格说明必须以关键字END结尾，必须包含关键字SCREEN。它们都必须在每行
的第一列开始。检查屏幕表格说明内容，确认其包括所有必要的节，并适当地标记。






-2870	下标字段大小与显示字段中分配的空间不匹配。

该属性语句将字段的子串与显示字段相关联。但是，或者子串数字错（第一个小于1或
者大于该字段的大小，第二个小于第一个），或者数字正确但选择的字符个数与显示
字段大小不同。修正子串数字，使之与显示字段要求的字符数绝对一致。






-2867	CURRENT属性只能赋予datetime字段。

CURRENT函数（不是属性）以DATATIME值产生当前的日期和时间。在语句中引用的显
示字段，不具有DATATIME数据类型。在该环境中不支持自动数据类型转换。检查该
语句，确认引用所期望的显示字段，并修正屏幕表格，将DATETIME值只设定于
DATETIME显示字段。






-2866	NOW属性只能赋予datetime字段。

这个信息没有在任何当前的产品中使用。SQL不提供NOW属性或函数支持；请用CURRENT
函数。






-2865	在表table-name中不存在字段column-name。

在这语句中隐含有表示的字段是指定表的一部分（很可能语句涉及table-name.
column）。但在那个表中没有定义。检查两个名字的拼写。如果没有错误，检查数据
库的内容；很可能该表已被修改或字段已被改名。






-2864	在指定表中不包含表table-name。

指定的表用于这个语句，但在屏幕表格说明的TABLES节中无定义。检查其拼写；如果
无错，将该表增加到TABLES节中。






-2863	在指定表中不存在字段column-name。

屏幕表格的TABLES节中指定的表确实存在。但应在ATTRIBUTES节中命名的column-name
不存在。对照实际表检查它的拼写。可能此表已被修改或者该字段已被改名。也可在
Table菜单下，选定info，也可使用GBASEDBT-SQL检查字段名。






-2862	数据库中找不到表 table-name。

表单中使用的所有表在编译该表单时必须存在，以便编译器可以验证列的数据类型。指示的表在表单中所命名的数据库中不存在。请检查表名称和数据库名称的拼写。如果拼写与您期
望的一致，那么表明您使用的数据库版本不是期望的版本（检查 DBPATH 环境变量中值），或者数据库已被更改
。

表单的 TABLES 部分中指定的表存在，但是 ATTRIBUTES 节中命名的列 column-name 不存在。请对照实际表检查其拼写。可能是表已变更，或者
列已重命名。可使用 GBase  SQL 检查“表”菜单下“信息”选项中的列名
。



-2861	已超过最大的表数。

在一次可使用的表数目存在一个极限（这个极限随着不同的宿主系统或者不同的数据
库服务器而不同）。它迫使你减少该屏幕表格使用的表的数目。






-2860	存在对column-name的字段/值类型失配。

该语句使用DEFAULT从句为显示字段赋值，或者在INCLUDE从句中使用该显示字段的
值，但使用的数据不符合显示字段的数据类型。检查显示字段的数据类型（它来自与
之关联的字段），并确认仅设定兼容的数值。






-2859	字段<字段名>是一个以上的表的成员，你必须指定表名。

TABLES节中两个或两个以上表均包含指定名称的字段。必须指明你要的是哪个表。方
法是将表名作为字段名前缀。如<表名>.<列名>。无论在屏幕表格说明的任何位置使用
该名称都这样做。






-2858	表table-1和表table-2联结。但它们的联结字段不属于复合键。

在两个表之间已定义两个或更多不同的联结字段。但在联结字段上不存在复合索引。
该索引是用以保证复合键的存在的。即，保证联结字段值的任意复合只出现一次。检
查两个或两个以上定义这两个表的联结字段的ATTRIBUTES语句。确认它们如你所望；
例如，确认是基于两个或多个字段联结两个表，而不是基于一个字段联结三个或更多
的表。如果需要复合键，可使用命令CREATE INDEX为至少表1的那些字段创建复合
唯一索引。






-2857	在联结列表中，只能存在一个主要复合字段。

这语句定义一个联结列表，两个或多个字段名与同一屏幕表格显示字段关联的列表。
在这样的列表中，在字段名前有星号表明该字段是检验联结中的主要字段。在任何联
结中只能存在一个这样的字段，但这个列存在两个或更多。检查检验联结的文档，并
选定一个单一的主要表。






-2856	TODAY属性只能赋予日期字段。

TODAY函数（不是属性）返回今天的日期值。该值只能赋予类型为DATE或DATETIME的显
示字段。在这个语句中的显示字段有不同的类型。在4GL程序中提供自动数据转换，但
在屏幕表格环境中无此功能。






-2850	名字<名称>不是这个数据库的字段名。

屏幕表格的TABLES节中指定的表的确存在。但应在ATTRIBUTES节中命名的字段名不存
在。对照实际表检查其拼写。可能表已被修改或字段已被改名。可以在Tables菜单
下，选定info，使用GBASEDBT-SQL检查字段名。






-2846	显示字段field-name不是表table-name的成员。

在这个语句中假定所指的名称是这个表的一部分，但它在当前的数据库中不对。检查
两个名称的拼写。如果无错，确认使用了正确的数据库，且该表没有被修改。






-2845	包含字段column的表table-name的复合字段没加索引。为该字段创建索引可
极大地改善性能。

使用索引可减少多层联结表所需的时间。但索引不是必须的。尤其当表很小或者在初
始测试阶段。






-2844	在屏幕表格说明中，字段column-name与一个以上的显示字段关联。

在ATTRIBUTES语句中任何表的字段只能和一个显示字段相关联。也许你试图显示的字
段源自两个或两个以上表，它有着相同的字段名；在这种情况下，将表名作为字段名
的前缀，以区别它们。






-2843	字段column-name不在屏幕表格说明中。

在ATTRIBUTES语句中的名称，应预先在屏幕表格说明中定义。检查语句中所有名称的
拼写，确定它们被恰当的定义。






-2841	在属性节前屏幕表格必须包括一个表的说明。

检查屏幕表格说明文件，确认是否按顺序存在DATABASE语句、SCREEN节、TABLES节和
ATTRIBUTES节。






-2840	屏幕表格中没有定义标签标记。

指定的名称在ATTRIBUTES语句的左部出现，但不在SCREEN节的括号内。检查已定义的
显示字段标记，弄清为什么它被漏掉。






-2834	NULL不能当作缺省值。它已经是你不指定任何值时的缺省值。

ATTRIBUTES语句包含指定NULL值的DEFAULT从句。删除该从句或指定其它值。






-2832	屏幕表格在显示字段的起始和结束位置使用“|”。因此，屏幕表格必须指定
同一字符作为左右分隔符。可使用INSTRUCTIONS节中的DELIMITERS命令定义它。

确定存在DELIMITERS语句，并且指定了同一字符作为左右分隔符。






-2831	控制块超过显示字段的最大极限。

在控制块的OF子句中列出的字段或表太多。这将使你分别写控制块，每个对应原列表
的一部分。






-2830	在这行找到左中括号，但无右中括号与之匹配。

屏幕显示字段不能跨行。检查SCREEN节，确认所有显示字段被适当地标记。如果创建
多行显示字段，对多重完整的显示字段须使用同一显示字段标签标记。






-2820	括号之间的标签名没有正确地给出或者标签丢失。

在屏幕表格说明的SCREEN节的这行中，存在由中括号指定的显示字段；但在括号内应
有简单名而实际上没有：或者除了空格外没有其他的内容，或者是个无效的名称。检
查该行的标点，确认括号间只有一个简单标识符。






-2812	临时表table-name无法读取。

应用程序在数据库中创建并填充一个临时表，或者创建并填充一些其它临时文件，但
试图从中读取数据行时，收到数据库服务器产生的错误代码。最可能的原因是硬件失
败。查找包括操作系统信息的其它错误信息，以获取更多信息。






-2811	写出时无法打开临时表table-name。

应用程序试图在数据库中创建一个临时表或者一些其它临时文件，但收到数据库服务
器产生的错误代码。最可能的原因是磁盘空间不够。查找包括操作系统信息的其它错
误信息，以获取更多信息。






-2810	名称name不是现存的数据库名。

在屏幕表格说明起始部分的DATABASE语句中的名称，不是可以找到的数据库。除非使
用-OnLine，数据库必须被置于当前目录下或者在环境变量DBPATH中命名的目录下。






-2800	规范的第一行必须为关键字数据库（后跟数据库名称）或 FORMONLY 关键字（仅 4GL）。后面也可能带有可选的 WITHOUT NULL INPUT
。

除了注释行，表单规范必须通过命名数据库开始。请复审文件是否有标点和拼写错误。请参阅本产品的参考手册以了解 DATABASE 语句中允许的选项。（当前产品不使用该
消息。您可能会在 V4.0 或更低版本的产品中遇到此消息。）



-2100	显示字段field存在校验串错误，String =string.

在syscolval或syscolatt表中的格式串或校验串之一未被正确地编码。字符串作为其
应用的显示字段来指定。使用Windows的Column attributes Dictionary实用工具或者
DOS和UNIX的upscol实用工具修改该字符串。






-2045	4GL显示字段的条件属性不能取决于其它显示字段的值。

属性COLOR中WHERE子句的布尔表达式只能使用显示字段名或常数。修改该属性并
重新编译屏幕表格。






-2044	最多可以为每个字段的每个条件指定一个颜色属性。

检查ATTRIBUTES语句，COLOR属性附近可能有错。找出漏掉的标点。






-2043	屏幕版面布置超过指定屏幕宽度。这仅是警告信息。

假设的屏幕宽度可在SCREEN语句或屏幕表格编译程序命令行参数中得到，缺省值是80
个字符。如果当前屏幕表格说明被显示于具有此宽度的终端，或者一些行被截断或者
行被不明显地“自动换行”。






-2042	上面语句中或附近的BLOB显示字段的用法不正确。

BYTE和TEXT类型字段不能按在该语句中使用方式使用。检查表名和字段名，确认无
误，并检验在DATABASE语句中命名的数据库的表的当前定义。






-2041	屏幕表格文件名无法打开。很可能不存在。或用户没有读取权限。

检查文件名的拼写。检查屏幕表格文件存在于当前目录下。或如果在其它路径下，提
供了正确的路径名。在UNIX系统中，如果上述检查无错，检查你的帐户有该文件的读
取权限。






-2040	屏幕表格名<名称>超过最大字符长度的长度。

屏幕表格编译程序对名字长度的限定可能小于宿主操作系统对它的限定。应将屏幕表
格说明文件换名，并重新执行该命令。






-2039	BLOB字段不支持以下属性：AUTONEXT、DEFAULT、INCLUDE、VERIFY、RIGHT
和ZEROFILL。

BYTE和TEXT类型字段不能按这些属性使用方式使用。检查表名和字段名，确认无误，
并检验在DATABASE语句中命名的数据库的表的当前定义。






-2038	BLOB显示字段不能进行联结。

BYTE和TEXT类型字段不能进行比较；因此它们不能用于联结表；它们不能作为联结字
段或在COMPOSITES语句中。检查表名和字段名，确认无误，并检验在DATABASE语句中
命名的数据库的表的当前定义。






-2037	只能为BYTE和TEXT类型显示字段指定属性PROGRAM。

显示字段属性PROGRAM指定一个外部程序编辑或显示BYTE或TEXT值；这些值假定为
太大，并对常规的屏幕表格显示方法是特殊的。但在这个语句中，该属性用于其它不
支持类型的字段。检查表名和字段名，确认无误，并检验在DATABASE语句中命名的
数据库的表的当前定义。






-2036	多行显示字段的显示行位于不同屏幕页中。

多行显示字段（多重显示字段带有同样的标签，具有WORDWRAP属性）必须完整地在一
个屏幕页内。也许并没有把显示字段设计在两页上。但如果该页的版面布置，加上4行
保留行，高于物理屏幕（象在SCREEN语句或在命令行中行维数所指定那样），在页可
容纳的最后一行后开始新的一页，这样屏幕表格被分割；并且可能会意外地分割多行
显示字段。无论如何重新安排显示字段，使多行显示字段放在在单个页中。






-2035	如果指定属性WORDWRAP，应该用于联结中的所有字段。

默认本信息。它用于PERFORM（联结）的特性，而4GL不支持该特性。






-2034	该特性在GBASEDBT-SQL中不可用。在GBASEDBT-4GL中通过"form4gl"屏幕表格
产生器可用该属性。

PERFORM屏幕表格编译程序和4GL屏幕表格编译程序接受非常类似的屏幕表格说明，但
在某些方面存在差别。这个语句使用4GL功能PERFORM不能处理它。






-2033	显示字段<名称>有一缺省值，它不在其所包含的值范围内。

指定的显示字段既有DEFAULT属性也有INCLUDE属性，但它们不兼容：缺省值不是允许
值之一。修改属性之一，并重新编译屏幕表格说明。






-2032	上面的数值无法成功转换成INTERGER或DOUBLE或LONG。

数值常数出错。很可能数字位数过多。检查该语句的标点。可能两个数值被写成一个
数。






-2031	WORDWRAP属性只能指定到CHAR、-VARCHAR和TEXT显示字段。

这条PRINT语句将WORDWRAP函数用于一个非字符数据的数值。检查该显示字段名正是你
所要的，并检查语句其余部分的标点。






-2030	在<行号>行<列号>个字符发现排印错。

指定位置的单个字符，虽然是可打印的，但不是预期的并且不符合屏幕表格说明的语
法。






-2029	屏幕记录数组<名称>中元素的大小，或者与数组指定的维数不同，或者它们
自相矛盾。

屏幕数组的维数写在紧接其名后的方括号内，如下例所示，它的维数是12。
SCREEN RECORD details[12](items.item num,items.item desc,unit_price)
这时，应精确地有12个屏幕显示字段，每个与屏幕记录列出的三个字段之一相关联。
当一个或多个字段出现的次数有所不同时，本错误信息出现。






-2028	符号<名称>不表示在这个屏幕表格中使用的表前缀。它不能在这里用于选择
记录元素。

在SCREEN RECORD语句中，每个元件必须由定义于TABLES节的表名引出，或由单词
FORMONLY。对照TABLES节检查指定名称的拼写，并检查语句其余部分的标点。






-2027	在<行号>行<列号>个字符中存在非法字符（不可见字符或控制字符）。在列
表中已被空格取代，但仍存于源（输入）表中。在重新编译前应将其删除。

当使用字处理编辑器的文件模式而不是文本模式时可以把非法字符引入到文件中，或
者在编辑时敲入非打印键，或者由数据损坏引入的。






-2026	FORMONLY field显示字段名没有指定类型。如果包含列表或指定缺省值，其
类型必须指定。

定义form-only显示字段（没有联接到数据库字段的显示字段）的普通方法是：
tagname = DISPLAYONLY.fieldname TYPE datatype
要求有TYPE从句。检查属性语句并重新编译屏幕表格。（关键字FORMONLY用于由4GL编
译程序编译的屏幕表格。与DISPLAYONLY意义相同）。






-2025	在<行号>行<列号>个字符中虽然没有打开任何注释，但却发现了注释结束符
（｝）。

除非包含在引号中，否则注释符必须是一一对应的。很可能在编辑过程中注释起始符
偶然被删除。修改屏幕表格说明，使注释合法分界。






-2024	已有一个记录名被指定了。如果记录名与屏幕表格中的表名相同，则创建一
个同名的缺省记录。

确认每个屏幕记录和屏幕数组的记录名在屏幕表格说明中是唯一的。为每个用于
ATTRIBUTES节中的表自动定义一个屏幕记录，来定义一个显示字段。因此，如果定义
与表名相同的记录，就会认为是重复。






-2023	引用串超过引用串的最大长度<长度值>。

不能使用更长的引用串。在屏幕表格中，不能将两个短串联结成一个长串，因此这是
绝对的长度极限。必须修改屏幕表格说明并重新编译。






-2022	该标识符超过标识符的最大长度<长度值>。

所有字段名和其它标识符名不能超过最大长度。在GBasedbt 动态服务器 2000 中，
标识符的最大长度为 128个字符。在其它 GBasedbt 数据库服务器中，标识符的
最大长度为 18 个字符。

必须修改表格说明并重新编译。







-2021	指定了非法的颜色。颜色0到7依次是白色、黄色、紫红色、红色、靛色、绿
色、蓝色和黑色。

无论在屏幕表格说明的COLOR属性中，还是在4GL程序的显示属性中，颜色必须由名字
指定，拼写如以上信息所示。检查该语句的拼写和标点。






-2020	表table-name不能打开。要求操作系统按写入方式打开该表。

你正在使用数据库服务器，它管理表作为普通磁盘文件。当前数据库作为目录，表是
其中的文件。参看操作系统错误信息，会得到更多的信息。定位数据库的目录（或在
当前目录或在环境变量DBPATH命名的路径上）。确认有足够盘空间。在UNIX环境，你
的个人帐户不必有对该目录及表文件的写权限。但对组-id gbasedbt它们必须是可写
入的。






-2019	整数超过允许大小的最大值。

INTEGER数据类型可接受绝对值范围从0到2,147,483,647(±231-1)的数字。如果要存
储超出此范围的数字，字段或变量必须重定义为DECIMAL数据类型。（数值
-2,147,483,648是32位数值，但不能被接受；在4GL中它用于指示空值。）






-2018	在<行号>行<列号>个字符中出现语法错。在它的环境中，该结构无法解释。

该信息指出源文件中编译程序无法解释的确切位置。实际的错误可能更早，在文件的
前部，也许在几行之前；但不会是在文件的后部。其它的，并且更为具体的错误信息
也应出现。






-2017	字符数据值不能正确转换成该显示字段类型。

在显示字段输入的字符值（引用串）与该显示字段的数据类型不同，比如INTEGER。输
入的字符又无法转换成该显示字段的类型。查阅该应用的操作说明。然后重新输入数
据。






-2016	注释被打开，但没有关闭。最后的注释开始在<行号>行<列号>个字符中。

在报表说明中的适当位置插入注释结束符。






-2015	在<行号>行<列号>个字符内，已打开的注释中又出现一个注释起始符。这可
能是由于关闭以前打开的注释失败，它开始在<行号>行<列号>个字符内。

不支持嵌套的注释。检查屏幕表格说明和所有注释，确认每个开大括号有一个对应的
关大括号。






-2014	操作系统命令行中的参数个数不对。至少需要一个参数。

如果从命令行运行屏幕表格编译程序，必须指定-d选项或屏幕表格的名字。






-2013	不能打开输出屏幕表格文件<文件名>。

很可能你的帐户不具有所指目录的写入权限；或者磁盘已满。在某些系统中，可能与
打开文件个数的极限有关。查看操作系统信息，以获得更多信息。






-1832	环境块大于 32K。

在会话的开始，客户机会将服务器将使用的所有环境变量进行分组，并将环境变量作为单个块发送到服务器。该块的最大允许大小为 32K。环境变量的当前块超过了 32K。取
消一个或多个环境变量的设置，或减少某些环境变量的大小，然后重试连接到 IDS
。



-1829	无法打开文件 citoxmsg.pam。

$GBASEDBTDIR/msg 目录中缺少文件 citoxmsg.pam。

如果出现该错误，请记下所有情况并联系 IBM 技术支持。



-1828	无法在客户机集合中滚动或保持游标。

客户机集合的游标声明不能用于滚动或保持游标。例如以下的声明：

    /** 滚动游标情况 **/
    EXEC SQL DECLARE cur1 SCROLL CURSOR
             FOR SELECT * FROM table(:collection_host_variable);

    /** 保持游标情况 **/
    EXEC SQL DECLARE cur2 CURSOR WITH HOLD
             FOR SELECT * FROM table(:collection_host_variable);

请用以下的声明来替换：

    EXEC SQL DECLARE cur3 CURSOR
             FOR SELECT * FROM table(:collection_host_variable);






-1826	此时，关于语句的 DESCRIBE 信息不可用。

当启用 DEFERRED_PREPARE 选项，语句的描述是未知的直
到游标被打开。因此，DESCRIBE 只能在 OPEN 之后执行。
如果同时启用 DEFERRED_PREPARE 和 OPTOFC，DESCRIBE 
只能在 FETCH 之后发生，因为 OPEN 直到 FETCH 被执行后才
会被执行。





-1825	INSERT 及 DELETE 不能在 ROW 宿主变量上执行。

只有 UPDATE 及 SELECT 语句才能与行宿主变量搭配使用。请检查正在使用行宿主变量
的衍生表格语法，然后使用 UPDATE 或SELECT。





-1824	找不到信息。

服务器用户定义程序已执行，但找不到信息文字。请检查用户定义程序以确定服务器返回
的所有 SQLSTATES 都含有对应的信息文字。





-1823	需有更多内存才能储存数据。

应用尝试设定的长度或数据比 ifx_var_alloc() 中所分配的内存容量还大时, 
ifx_var_setlen() 及 ifx_var_setdata() 会返回这个错误。 请调用 ifx_var_getlen() 
以找到当前所分配的长度, 如果有必要则调用 ifx_var_alloc() 以便重新调整大小, 
然后再执行 ifx_var_setlen() 或 ifx_var_setdata()。





-1822	无效参数。

其中一个传送到此函数的参数值不合法, 或为 NULL。 请检查文档以获得可通过此函数
的正确值。





-1821	宿主变量不够大，放不下从服务器所返回的数据。

由应用程序分配取得用户定义数据类型的内存不够。请改变应用程序以便在取得此用户定
义数据类型前，分配更多的内存。





-1820	在访存或输入之间主变量类型已更改。

如果主变量用于用户定义的数据类型列，或主变量自身是用户定义的数据类型主变量，那么主变量类型和长度不能在访存或输入之间进行更改
。



-1818	输入变量类型与集合或行定义不匹配。

某些数据类型不能在客户机上作形态转换。下述情况会返回该错误：
    *   正在试图将任一复杂类型转换成其它复杂类型
	(即，将集合转换成列表)
    *   正在试图将内部类型 (如 INT) 转换成复杂类型。
    *   正在试图将复杂类型转换成 UDT 类型。
    *   正在尝试将内部类型转换成 UDT 类型。

请检查 SQL 语句并确定这些类型是否兼容。





-1817	未提供集合或行变量。

没有提供期望的集合或行宿主变量，或者衍生表语法中所用的宿主变量不是
集合或行宿主变量。

请检查应用程序中此宿主变量的说明，并将它改变成集合或行宿主变量说明。






-1816	集合或行中没有此类型的字段。

在集合或行宿主变量的语句中, 没有应用所指定的显示字段名。 请检查说明中的显示字段
名描述, 并确认所指定的显示字段名与说明中所指定的匹配。





-1815	集合或行没有可用的类型信息。

在 SQL 语句中使用有类型的集合或行宿主变量前，应用程序需先加以说明。应用程序在 
SQL 语句中使用这些数据之前，从类型集、类型列表、多类型组或类型行的字段中取得复
杂的类型数据后，再将它们放到没有类型的集合或行宿主变量中。





-1814	使用集合或行变量前需先加以分配。

使用 SQL 语句中的类型集合或类型行的宿主变量前，应用程序需先调用 ALLOCATE 
COLLECTION 或 ALLOCATE ROW。





-1813	只有当前连接能静止不正确地使用SET CONNETCTION DORMANT语句。

你试图让已经静止的连接进入静止状态。或者你试图让正被其它线索使用的连接
进入静止状态。





-1812	发生内部错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1811	在显式连接后不允许隐含连接。

一但使用CONNECT TO语句建立与数据库服务器的显式连接，就不能使用DATABASE
语句之一隐含建立与其它数据库服务器的连接。显式连接之后，必须使用CONNECT TO
语句连接其它数据库服务器。






-1810	断开连接错误。

DISCONNECT ALL 语句未将某个连接断开。针对某一连接的数据库服务器可能已终止。如果服务器未终止，那么这可能是由软件内部原因造成的。如果该错误重复出现
，请记下所有情况并联系 IBM 技术支持。



-1809	服务器拒绝了连接。

检查是否具有连接到您所指定的服务器的许可权。如果同时指定了数据库服务器和数据库，那么检查以了解是否具有访问数据库的许可权
。

如果以下两个条件之一或两个条件同时存在，尝试使用 IDS 的可插式认证模块 (PAM) 功能部件时，可能会出现该错误消息
：

*   PAM 配置文件未正确设置。请参阅操作系统供应商文档以了解更多信息
。

*   客户机或服务器计算机未配置为处理通过连接请求生成的 PAM 消息
。



-1808	重新连接server_name服务器i来进行数据库操作。

如果使用CONNECT语句连接数据库服务器，就不能通过-DATABASE语句之一(
DATABASE、STARTDATABASE等)隐含地重新与服务器连接。必须使用SET
CONNECTION语句将连接转到它。






-1807	没有连接，不是进行停止连接。

企图中止一个当前不存在的连接。检查程序，确认你没有对该连接执行DISCONNECT语
句。






-1805	无效的连接名。

连接名无效。连接名必须符合和任何其它标识符一样的命名规则，即不能超过最
大长度，并且不能是ANSI保留字，必须以字母或下划线开头，可包括字符、数字
和下划线。另外，在GBasedbt 动态服务器 2000 中，还可包含美元符号。

标识符的最大长度取决于数据库服务器。在GBasedbt 动态服务器 2000 中，最大长度
为 128个字符。在其它 GBasedbt 数据库服务器中，最大长度为 18 个字符。


检查连接名是是有效的标识符，以及正在使用的是连接名而不是其它值。
如果连接名用于原始的CONNECT TO语句，必须在后续连接语句中使用
该连接名。







-1804	无效的数据库环境。

数据库服务器无法连接到你指定的数据库环境上。服务器无法定位到数据库服务器或
你指定的数据库上。检查你的语句的句法。如指定数据库服务器，必须使用符号@。不
能使用//。






-1803	连接不存在。

在SET CONNECTION或DISCONNECT语句中的连接名不对应于已建立的连接。检查你的程
序，是否进行了连接，如果是，确认该连接没有停止连接。并且检查语句中失败的连
接名的拚写。






-1802	连接名在使用。

已有一个具有相同连接名的连接被建立。每个连接必须拥有唯一的连接名。为该连接
改名，重试一遍。






-1801	不支持多重服务器事务。

试图在单个事务中跨越多个连接。如果建立连接时使用WITH CONCURRENT
TRANSACTION从句，就可以当一个事务活动时转换到不同的连接。
该错误信息可以在下列试图转换连接时出现：

    *   如果当前的连接是对于6.0或更高版本的数据库服务器，且建立连接时没有
指定WITH CONCURRENT TRANSACTION从句，并且当前连接中有一个活动的事务。

    *   如果当前连接属5.0版本数据库服务器，且建立连接时没有指定WITH 
CONCURRENT TRANSACTION从句，并且当前有一个数据库在此连接上打开。






-1800	无效的事务状态。

在停止连接之前，必须提交或滚回当前事务。






-1797	对于指定的配置，根数据库空间大小不足。实际大小为 sizenum，所需大小为 sizenum
。

根数据库空间在指定的驱动器上不适合。释放指定驱动器上所需的空间量，或者更改 ROOTPATH 配置参数以指定具有更多可用空间的其他驱动器。然后使用 -iy 参数
重新启动数据库服务器以初始化根数据库空间。

警告：使用参数 -iy 启动数据库服务器将重新初始化根数据库空间并有效销毁任何现有数据。您将不能再访问现有数据库，除非您随后执行全面系统恢复。请勿重新初始化根数
据库空间，除非您确定要执行该操作。



-1796	数据库服务器在 MIRRORPATH 的注册表子键数据中检测到不匹配。为 MIRRORPATH 检索的数据是路径名
。

尚未制作根数据库空间的镜像。要添加镜像，请使用 onspaces 或 onmonitor
。



-1795	共享内存中指定的块数量 num_chunks 过大。

当前配置允许的最大数量为 num_chunks。指定更大的块大小并减少块的数量
。



-1794	包含根数据库空间的主块 chunkname 无效。其需要重新初始化
。

包含根数据库空间的块已损坏或过期。如果已备份了数据库服务器，那么可以执行全面系统恢复以恢复根数据库空间。如果您尚未备份数据库服务器，那么在启动数据库服务器时，您
将需要使用 -iy 参数来重新初始化根数据库空间。

警告：使用参数 -iy 启动数据库服务器将重新初始化根数据库空间并有效销毁所有现有数据。您将不能再访问现有数据库，除非您随后执行全面系统恢复。请勿重新初始化根数
据库空间，除非您确定要执行该操作。



-1793	数据库服务器无法打开块 chunkname。返回的系统错误值为 errno
。

确保该块存在且具有正确的访问许可权。



-1792	数据库服务器无法访问 %GBASEDBTDIR%\dbssodir 或 %GBASEDBTDIR%\aaodir
。

检查对通向 %GBASEDBTDIR%\dbssodir 和 %GBASEDBTDIR%\aaodir 的路径段的访问。如果 %GBASEDBTDIR% 在网络
驱动器上，请确保未变更 oninit 进程特权。此外，确保 AAO 和 DBSSO 组名在注册表中有效
。



-1791	数据库服务器在初始化共享内存时遇到致命错误。

在 %GBASEDBTDIR%\online.log 中查找该错误的原因。



-1790	无法启动数据库服务器。

确保用于启动数据库服务器的帐户是 gbasedbt-admin 组的成员。



-1789	数据库服务器无法获取用户 username 的帐户信息。

检查以了解用户帐户是否存在并有效。



-1788	审计配置文件路径名过长。其路径名最多可包含 maxnum 个字符
。

字符的最大数量或 maxnum 为 128。



-1787	数据库服务器检测到配置文件中存在不匹配。Mirror chunk pathname = pathname，Offset = offset K，Size = 
size K。

按照在 ONCONFIG 文件中为镜像块指定的大小，检查块的实际文件大小
。



-1786	“控制面板/服务/启动”对话框中指定的命令行选项为 -i
。

“控制面板/服务/启动”对话框中指定的参数为 -i，这导致数据库服务器初始化根数据库空间，从而销毁其当前包含的所有信息。当数据库服务器作为一种服务在 
Windows 下运行时，将不会提示您确认已指定的参数。如果您确定要初始化根数据库空间，那么改为将参数指定为 -iy
。



-1785	pathname\buildsmi.ext

该消息引用 buildsmi.bat 的输出。对于 Windows，如果“Error building sysmaster”出现在 online.log 文件中
，请查看文件 %GBASEDBTDIR%\etc\buildsmi.out。



-1784	数据库服务器无法初始化安全子系统。

数据库服务器在用户 gbasedbt 帐户下运行，该帐户必须具有以下特权
：

*   作为服务登录

*   创建令牌对象

*   充当操作系统一部分

*   属于 gbasedbt-admin 组

要验证该用户 gbasedbt 是否具有这些权限，请访问用户管理器，然后使用“策略/用户权限”对话框
。



-1783	UnSetup 将执行以下操作：

*   除去 groupname 组以及 username 用户帐户 

*   除去 servicename 服务 

*   从注册表除去分支 Software\\branchname\\keyname\\ 

是否还要除去所有 GBase  产品文件和目录？(Y,N,Q) 



-1782	数据库服务器无法验证该用户。

该用户在运行数据库服务器的计算机上没有有效帐户或密码。您必须为该用户创建用户帐户和密码
。



-1781	数据库服务器无法检索该用户帐户的帐户信息。

帐户信息缺少或无效。运行用户管理器以检查该帐户的有效性
。



-1780	数据库服务器只能由用户 gbasedbt 启动。

您必须是 gbasedbt-admin 组的成员才能启动数据库服务器。使用属于 gbasedbt-admin 组的用户帐户进行登录，或要求 Windows 管理
员将您的用户帐户添加到 gbasedbt-admin 组。



-1779	该命令只能由 gbasedbt-admin 组的成员执行。

使用属于 gbasedbt-admin 组的用户帐户进行登录，或要求 Windows 管理员将您的用户帐户添加到 gbasedbt-admin 组。然后重试该过
程。



-1778	无法为该命令初始化安全子系统。

确保该帐户具有足够特权。



-1396	报表PRINT FILE源文件不能按读取方式打开。

在PRINT FILE语句中命名的文件不能被打开。检查文件名。如果不当前目录下，应指
定全路径名。如果指定文件名正确，确认文件存在并且你的帐户对它有读取权限。查
看操作系统错误信息以获得更多的细节。





-1394	对内部函数ixRow对象参数是无效的。

ixRow参数应作为UNPACKROW()和PACKROWINTO()内部函数的第一个参数。





-1393	已经定义了分类 <分类名称>。

程序试图第二次定义某个分类。





-1392	不能使用NULL对象。

在p 码运行程序中，试图向下引用一个NULL对象。也许程序已定义对象，然后在使用
!copy()或!derive()创建它之前，试图调用该对象的成员函数。





-1391	无效的分类指定，在AS从句中。

NEW或者COPY操作的AS从句指定的分类必须是从状态类继承的。





-1390	分类 <分类名称>在程序的任何模块中都没有定义。

命名的分类已经被说明和使用，但从未被定义过。分类必须在定义该分类的第一个成
员函数时被定义。





-1381	调试时无法执行另一个运行程序。

4GL 运行程序的某一个实例当前正在执行。正在调试时，您不可以通过 RUN 命令、RUN 加速器按钮或直接从 Windows 来启动运行程序的其他实例。要启动运
行程序的新实例，首先退出当前正在运行的 4GL 应用程序。



-1380	只有字元表达式可以CLIPPED

如果你正试图遮除一表达式，你不可以CLIP非字元表达式.





-1379	不能直接调用报表函数。请使用OUTPUT TOREPORT语句.

报表函数已经作为CALL语句的结果被输入。但报表函数只能通过START REPORT、
-FINISH REPORT和OUTPUT TO REPORT语句运行。检查程序，寻找象调用普通函数一样
调用报表函数名的位置，并加以修改。如果想使用报表函数的某些代码作为子程序，
应把它放入独立的子程序中，然后从报表函数或其它位置调用。






-1378	SQL是非-ANSI的扩充警告。

虽然当前数据库是符合ANSI标准的，进行的数据库操作不属于ANSI SQL。这只是提示
信息。






-1377	SQL浮点到十进制的转换警告。

程序设置了WHENEVER WARING STOP，并且某个警告条件成立。该条件是在数据库刚打
开时，数据库服务器将使用DECIMAL数据类型取代FLOAT值。






-1376	SQL -GBASEDBT-OnLine或程序变量失配警告。

程序已设置WHENEVER WARING STOP，并且某个警告条件成立。如果涉及的语句是
DATABASE或CREATEDATABASE语句，条件是数据库被-OnLine数据库服务器开本。如果是
任何其它语句，条件是SELECT语句返回的值多于程序变量可包含的数目。






-1375	SQL NULL值在聚合或ANSI模式的数据库警告。

程序设置了WHENEVER WARING STOP，并且某个警告条件成立。如果涉及的语句是
DATABASE语句，条件是打开的数据库是符合ANSI标准的。如果是任何其它语句，条件
是在聚合值的计算中，已使用null值。






-1374	SQL字符截断或事务警告。

程序设置了WHENEVER WARING STOP，并且某个警告条件成立。如果涉及的语句是
DATABASE语句，条件是刚打开的数据库使用事务日志。如果是任何其它语句，条件是
数据库的字符值必须被截断来适合它的目标。






-1373	field显示字段名不在CONSTRUCT/INPUT语句的显示字段列表中。

内部函数get_fldbuf( )或field_touched( )被调用时带有指定的显示字段名。但在
CONSTRUCT或INPUT语句中不需要从该显示字段输入。结果，函数无法返回任何有用
值。检查所有这些函数的使用情况，并与语句开始部分的显示字段列表进行比较。






-1372	输入的数值太大，无法适合小数或货币变量。

当前的 GBase  产品可能都不会返回该消息。如果出现该消息，请参阅对错误 -1226 的解释。如果该错误重复出现，请记下所有情况并联系 IBM 
技术支持。



-1371	当前屏幕表格中不存在field显示字段名。

在NEXT FIELD语句或pf_nxfield( )函数中已经给出指定的显示字段名，但在当前的屏
幕表格中没有定义。常见错误是弄混了标记名与显示字段名；标记名用于屏幕版面布
置中，并位于ATTRIBUTES节中等号的左部；而显示字段名是位于ATTRIBUTES节中等号
的右部的字段名称。后者用于指示显示字段。






-1367	DLL dllname 不是资源 DLL - 应用程序将终止。

应用程序启动程序的程序选项 fglaunch 指定 DLL dllname 包含资源，但未找到任何资源
。



-1366	无法装入应用程序 appname。

应用程序启动程序 fglaunch 无法装入请求的应用程序。DLL 没有必需的 NewEra 入口点，因此其不可以是 NewEra DLL。检查以了解 
NewEra DLL 是否具有与现有系统 DLL 相同的名称。



-1365	找不到应用程序 appname。

应用程序启动程序 fglaunch 找不到请求的应用程序。



-1364	错误恢复设置失败 - 应用程序将终止。

允许应用程序捕获和处理内部错误的机制无法完成其操作。返回到 DOS，然后重新启动 Windows
。



-1363	发生致命内部错误 - 应用程序将终止。

程序尝试了在属于应用程序的内存外访问。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1362	4GL 运行时堆栈违例。

程序尝试了在堆栈边界外访问。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1361	非法的blob文件名。不允许存在空名。

已经使用4GL语句LOCATE在文件中定位了BYTE或TEXT变量。但是变量给出的文件名是空
串。由于文件不存在，4GL不能对其进行任何操作。






-1360	没有这个显示字段的PROGRAM=从句。

当游标位于TEXT或BYTE显示字段时，你按下了惊叹号键(!)，但没有外部程序指定到该
显示字段（使用屏幕表格说明文件的PROGRAM属性）。如果这是一个TEXT显示字段，可
在启动该程序前通过设置DBEDIT环境变量指定一个文本编辑器。






-1359	blob文件文件名出现读取错误。

当对存有TEXT或BYTE变量的临时文件输出时，操作系统标识错误。很可能磁盘已满，
或硬件失败。查看操作系统信息，以获取更多信息。






-1358	blob文件<文件名>出现写入错误。

当对存有TEXT或BYTE变量的临时文件输出时，操作系统标识错误。很可能磁盘已满，
或硬件失败。查看操作系统信息，以获取更多信息。






-1357	在临时文件<文件名>中出现读取错误。

当对存有TEXT或BYTE变量的临时文件输出时，操作系统标识错误。很可能磁盘已满，
或硬件失败。查看操作系统信息，以获取更多信息。






-1356	在临时文件<文件名>中出现写入错误。

当对存有TEXT或BYTE变量的临时文件输出时，操作系统标识错误。很可能磁盘已满，
或硬件失败。查看操作系统信息，以获取更多信息。






-1355	不能建立临时文件。

已经使用LOCATE语句在临时文件中定位TEXT或BYTE变量。当前语句给该变量赋值，所
以4GL试图建立临时文件，但发生错误。可能磁盘空间不够，或你的帐户没有建立临时
文件的权限。4GL在DBTEMP环境变量中指定的目录上建立临时文件。查看操作系统错误
信息，可能会得到更多的信息。检查DBTEMP的值。从在5.01版本开始，DBTEMP环境变
量被GBASEDBT-SE数据库服务器使用，而不是被GBASEDBT-
OnLine Database Server 使用。




-1353	使用'!'编辑TEXT和BYTE显示字段。

内部屏幕表格编辑器不能处理TEXT或BYTE字段。但是可以指定一个外部程序，用它显
示或编辑TEXT或BYTE字段的值。为任意的显示字段指定调用外部程序，须把游标放在
该显示字段上，并键入惊叹号(!)字符。如果已定义外部程序（使用屏幕表格说明的
PROGRAM属性），就会启动该程序。如果是TEXT显示字段，且屏幕表格中没有指定
外部程序，则DBEDIT环境变量命名的程序就会启动。






-1352	名字不能既作为函数（或报表）名又作为变量名。

所示的名称至少按两种方式定义。名称无论在全局或模块级（函数名、报表名和全局
或模块变量的名称）必须唯一。定位该名称的所有定义，并除了其中之一全部修改它
们。






-1351	函数（或报表）名已被定义。函数和报表不能有同样的名称。

每个函数（或报表，它与函数类似）在程序内必须拥有唯一的名字。必须修改其中之
一。






-1350	不能在指定的类型之间进行转换。

系统试图进行任何有意义的数据转换。但有些不被支持，如INTERVAL到DATE，或
DATETIME到MONEY的转换。你可能引用了错误的变量或字段。确认指定的数据类型无
错，并且数据值的文字表达式格式正确。






-1349	字符到数值的转换出错。

为了存储于数值字段或变量，字符值被转换成数值格式。但该字符串无法按数值解
释：它包含除了空格、数字、符号、十进制数或字母e以外的其它字符；或者各部分
的次序不对因此该数值不能被解码。






-1348	试图除以零。

分母不能是零。当分母是字符值而且它没有被正确地转换成数值时，也会引起这种错
误。






-1347	数值对DECIMAL数据类型来说太小。

DECIMAL数据类型允许绝对值是从10-130到10124。精度（有效数字个数）的变化从1到
32；该错误的原因不是数值的长度而是数值的数量级。






-1346	数值对DECIMAL数据类型来说太大。

DECIMAL数据类型允许绝对值是从10-130到10124。精度（有效数字个数）的变化从1到
32；该错误的原因不是数值的长度而是数值的数量级。






-1345	发现未定义的操作码。

用于该程序的 p-code 文件（文件后缀为 .4go）已损坏。请重新编译整个程序，然后再次运行。如果该错误再次出现，请验证运行的 p-code 编译器和 
p-code 运行程序是否具有相同的版本。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1344	-GBASEDBT-4GL简易运行版.

任何当前的gbasedbt产品不显示该信息。






-1343	没有指定帮助文件。

INPUT、PROMPT或MENU语句包含带有帮助编号的HELP从句；但没有建立信息文件。该信
息文件由OPTIONS HELP FILE语句建立，但没有执行这样的语句。检查程序的逻辑并修
改它，在需要帮助以前，执行带有HELP FILE从句的OPTIONS语句。






-1340	没有启动出错日志。

程序调用errorlog( )函数时，没有首先调用startlog( )函数。检查程序的逻辑，找
出这个错误的原因。






-1339	在描述符表中无法找到全局变量名。

该错误表明运行程序中存在内部问题。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1338	函数<名字>没有在程序的任何模块中定义。

程序中至少有一个模块调用命名的函数，但在所有模块中都没有定义。如果你正在使
用程序员环境，可能某个模块没有定义为一个多模块程序的部分。如果你在命令行状
态工作，当程序文件集中形成.4gi文件时，可能忽略了一个或多个已编译的.4go模
块。






-1337	变量<名字>已重新定义为不同的类型或长度。

所示的变量在GLOBALS节中的两个或多个模块内被定义，但在这些模块中的定义与在其
它模块中的不同。可能模块分别编译，在此期间某些公共的GLOBALS文件发生变化。也
可能变量在某些模块中被说明为模块变量，这些模块不包含GLOBALS文件。






-1336	pcode文件中的模块<名称>包含pcode版本<编译版本号>。这个程序可执行
pcode版本―运行版本。带-V选项运行pcode编译程序来检查它产生的pcode版本，然后
重新编译你程序的所有模块并重新运行它。

程序runner或定制runner必须在与程序编译器同样的软件版本上。首先通过带-V
选项执行每一个程序来确定它们在同一级别。该选项使它们显示它们的版本号。当确
认使用的是兼容的软件，就重新编译你的程序。






-1335	在报表启动之前已进行输出或完成。

程序在执行START REPORT语句之前已执行OUTPUTTO REPORT或FINISH REPORT
语句。检查直到该语句的程序逻辑，找出这个错误的原因。






-1334	4GL 程序无法为临时字符串存储分配更多空间。

在以高于 4GL V4.1 的版本编译的程序中不会看到此消息；但是由 4GL V4.1 及更早版本编译的程序必须处理该问题
。

在对字符表达式求值时使用了临时字符串存储空间。该空间是根据简单算法从固定大小的缓冲区中分配的。在最后一个暂挂的字符表达式完成之后才会回收该缓冲区中的空间。因为大
多数表达式都会立即完成，所以该字符串缓冲区通常能够做到即用即空
。

但是，如果表达式包含函数调用，那么在函数调用期间表达式求值会暂挂。在函数返回之后才会清空缓冲区。例如，临时空间用于下列语句中的字面值“###”和 USING 运
算符的结果：

LET charvar = numvar USING '###', myfunc() 

在调用 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 语句中，GBase-4GL V4.1 的某些版本中的一个已知错误会导致该类型的伪错误
。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1333	串的长度大于512，不能从函数调用中被返回。

当前RETURN语句包含一个表达式，其结果是长于512个字符的字符串。它不被支持。检
查函数的逻辑，并修改它，使之不返回如此长的字符串值。更长字符串可赋予全局变
量。






-1332	字符变量引用的下标超出范围。

在当前语句中，用于提取字符值子串的变量包含小于1的数，或大于变量大小的数，或
者第一个子串表达式大于第二个。检查直到这条语句的程序逻辑，找出错误的原因。






-1331	无法从报表临时表中获取数据行。

在报表定义中，4GL生成SQL语句从临时表中取数据行。已成功地创建了表，但从中检
索数据行时出错。唯一可能的原因是硬件失败，或数据库服务器出错。查看操作系统
信息，以获取更多细节。






-1330	往临时报表中插入一行失败。

在报表定义时，4GL产生往临时报表中存入行的SQL语句。然而，当这些行被插入时，
有错误发生。有可能的原因是数据库磁盘空间不够。查阅其它的错误信息，可以得到
更多的细节。






-1329	无法创建报表所需的临时数据库表的数据库索引。

在报表定义中，4GL生成SQL语句把数据行保存在临时表中。但无法创建该临时表的索
引。最可能的原因是在数据库中存在同名的索引（排序索引被命名为"i_<报表名>"例
如"i_order_rpt"）。另一通常的原因是在文件系统或dbspace中没有磁盘空间可用。
另外，与某些数据库服务器有关的可能性是你已超过打开文件的操作系统极限。查看
其它错误信息，可能获得更多的细节信息。






-1328	在选定的数据库中，不能创建报表所需的临时表。用户在所定的数据库中必
须具有创建表的权限。

在报表定义中，4GL生成SQL语句将数据行保存在临时表中。但无法创建临时表。最可
能的原因是数据库中没有余下磁盘空间。其它通常的原因是当前数据库存在与临时表
同名的表，报表定义试图创建该临时表作为排序表。排序表被命名为"t_<报表名>"。
(例如，报表名是"order_rpt"，其排序表将命名为"t_order_rpt"）因此，建议用户
定义表时避开以"t_"打头的名字。与一些数据库服务器有关的-1328错误另外可能的
原因是，你超过打开文件的操作系统极限。查看其它错误信息，可能会获得更多的
细节。






-1327	无法准备插入语句以将数据行插入报表使用的临时表。

在报表函数中，4GL生成SQL语句把数据行保存在临时表中。语句的动态准备（参考
PREPARE语句的参考资料）发生错误。最可能的原因是程序被编译后保持原样，直到运
行时，数据库表格还没有定义；或者数据库已改变或者程序选择了与当前编译不同的
数据库。另外的可能性是数据库管理员已回收你对报表中使用的一个或多个表的
SELECT权限。查看其它错误信息，可能给出更多细节。






-1326	数组变量的引用超过指定的维数范围。

数组下标表达式产生的数值或小于1或大于数组元素的个数。检查直到这条语句的逻
辑，判定错误是如何产生的。






-1325	A report PRINT FILE source file cannot be opened for reading.

The file named in a PRINT FILE statement cannot be opened. Review 
the file name. If it is not in the current directory, a full path must be 
specified. If the file is specified correctly, make sure that it exists and 
that your account has file permissions to read it. Look for operating 
system error messages that may give more details.




-1324	报表输出文件无法写入。

REPORT TO语句指定的文件已经打开，但写入时出现错误。可能磁盘已满。查看操作系
统信息，可能会给出更多的细节。






-1323	不能打开报表输出管道。

REPORT TO PIPE语句指定的管道不能开始。确认其中命名的所有程序都存在，并在你
的执行路径中是可访问的。还要查看操作系统信息，可能给出更具体的错误信息。






-1322	不能打开报表输出文件。

不能打开REPORT TO语句指定的文件。确认你的帐户具有对这样文件的写权限，磁盘未
满，并且你没有超过某些关于可打开文件数目的极限。






-1321	VALIDATE命令的执行结果出现确认错误。

VALIDATE语句对照存储于syscolval表中的规则测试当前变量的值。检测出失配情况。
通常程序使用WHENEVER语句来获取这个错误，显示或修正错误的值。检查VALIDATE语
句，找出正在测试的变量，并找出为什么它们是错误的。






-1320	函数没有返回调用函数期望的数值的数目。

如果函数作为表达式的一部分被调用，那么它返回多于一个的数值。如果使用CALL语
句调用它，那么RETURN语句（函数中）后表达式的数目不同于RETURNING从句（CALL
语句中）中列出的变量的数目。

确认调用了正确的函数。检查该函数的逻辑，特别是它的返回语句，确认总是返回期
望数目的数值。






-1319	4GL程序已经超出了运行时可用的数据空间内存。

你将不得不减少程序要求的数据空间。检查大字符变量的大小和数组的维数。可能需
要将程序分割成可以分别装入的几个程序。






-1318	调用函数和被调用函数的参数个数不匹配。

在调用函数时给的参数太多或太少。调用可能在与被调用的函数不同的源模块中。
检查函数的定义和它被调用的所有点，确认使用参数个数与定义的相同。






-1317	因为在调用程序和它的函数参数之间或变量和它的赋值表达式之间的
不兼容，发生了数值转换错误。

只要不丢失信息，4GL在两种数据类型间自动转换。在当前的语句里，不能这样做。
首先查看函数调用，检查作为参数传递的值。确认传递的值和参数在函数体内定义的
类型相符。(一个错误的实例是调用函数fun("X")，而函数的参数定义为整数。)
如果是LET语句，确认在右边计算出的值能被左边命名的变量容纳。






-1316	ISAM错误号<号码>。

当前的语句访问数据库服务器，数据库服务器侦测到了错误(可能显示错误 -1313
报告)。这条信息包含关于错误发生的附加信息。可在本文档中查找号码。






-1315	4GL 运行时错误号<号码>。

因为侦测到错误，程序已经停止。在本文档中查找错误代码号。也寻找其它错误信
息，以得到更多细节。






-1314	程序在语句<行号>行处停止。

在程序的指示点侦测到错误。寻找其它给出本错误细节的错误信息。用本信息中的号
可在程序源文件中定位错误。






-1313	SQL语句错误号<号码>。

当前语句访问数据库服务器时后者侦测到错误并且返回一个错误代码号。在本文档中
查找号码。也可寻找其它错误信息。






-1312	FORMS语句错误号<号码>。

这是有关于屏幕表格的问题。在本文档中查找错误号。结合当前的语句对它进行分
析。






-1310	退出当前函数，且不执行 RETURN 语句。

当前函数未返回 void，但是即将退出，而不执行 RETURN 语句。



-1309	在你进行的方向上没有更多的行。

你在试图在范围外滚动记录数组，或者是在数组顶端向上滚，或者是在数组底端向下
滚。进一步尝试将会是同样的结果，如果那使你高兴就继续吧。






-1308	不能删除行 - 此行没有数据。

你在一空行上按下删除行功能健(通常是F2，但要看程序作者提供的操作说明)，没有
任何东西被删除。






-1307	不能插入另一行，输入数组已满。

你正在输入数据到一个记录数组，此数组在程序中用程序变量数组表示。这个数组现
在是满的；没有地方来存储另一个记录。按ACCEPT键(通常是ESCAPE，但要看程序
作者提供的操作说明)来处理你已输入的记录。






-1306	为了校验请再敲一遍。

游标在已被指定VERIFY的屏幕表格显示字段中。在游标能移动到另一显示字段之前，
你必须输入同样的值两次。这是为了确保在数据输入中没有敲键错误。你也可以用中
断键取消屏幕表格输入(通常是CTRL-C，但要看程序作者提供的操作说明)。






-1305	这个显示字段要求一个输入值。

游标在已被指定REQUIRED的屏幕表格显示字段中。在游标能移动到另一显示字段之前
你必须输入值。然而，你可以通过敲入任何可打印字符再退格消去的方法来输入null
值。代替地，你可以用中断键取消屏幕表格输入(通常是CTRL-C，但要看程序作者提供
的操作说明)。






-1304	显示字段中的错误。

你已经在显示字段中输入一个值，但不能被存储在接收它的程序变量中。例如，你输
入一个十进制数，而应用程序只提供了整型变量；或你可能输入了一个超出应用程序
期望长度的字符串。记下所有环境并且和写应用程序的人讨论这个问题。






-1303	由于存在图片你不能使用这个编辑特性。

此显示字段被(在屏幕表格说明文件中的)PICTURE属性指定了格式。当你编辑这样的显
示字段时，特定的编辑键(例如，CTRL-A，CTRL-D和CTRL-X)是不允许用的。只能用输
入可打印字符和退格输入值。






-1302	两次输入是不同的--请再试一次。

为防止敲键错误，此显示字段已被指定VERIFY(在屏幕表格说明文件中)。此显示字段
的值必须被同样地输入两次。仔细地重输数据。你也可以用中断键取消屏幕表格输入
(通常是CTRL-C，但要看程序作者提供的操作说明)。






-1301	这个值不在有效的可能范围之中。

本字段可接受的值的列表或范围已被建立(由屏幕表格说明中的INCLUDE属性)。你必须
输入一个在可接受范围之内的值。






-1286	环境变量的无效值。

指定的环境变量值无效。没有指定值，或指定的值超过定义的最大长度。
有关详细信息，请与技术支持部门联系。





-1285	内部错误：数据类型未知。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1284	值不适合 BIGINT 或 INT8。

BIGINT、BIGSERIAL、INT8 或 SERIAL8 数据类型可以接受绝对值从 0 到 9,223,372,036,854,775,807（+ 2
^63 - 1 或 - 2^63 + 1）的数值。

要存储超过该范围的数值，请重新定义列或变量以使用 DECIMAL 数据类型。有关数据类型有效范围的更多信息，请参阅《GBase  SQL 参考指南》
。



-1283	libgls.so与Library API不兼容。

和你的客户应用程序一起编译的libgls.so共享库与在$GBASEDBTDIR/lib目录中的版本
不兼容。用新的libgls.so共享库的路径设定GBASEDBTDIR，然后重新编译你的应用程
序。





-1282	libsql.so与Library API不兼容。

和你的客户应用程序一起编译的libsql.so共享库与在$GBASEDBTDIR/lib目录中的版本
不兼容。用新的libsql.so共享库的路径设定GBASEDBTDIR，然后重新编译你的应用程
序。





-1281	libos.so与Library API不兼容。

和你的客户应用程序一起编译的libos.so共享库与在$GBASEDBTDIR/lib目录中的版本
不兼容。用新的libos.so共享库的路径设定GBASEDBTDIR，然后重新编译你的应用程
序。





-1280	libgen.so与Library API不兼容。

和你的客户应用程序一起编译的libgen.so共享库与在$GBASEDBTDIR/lib目录中的版本
不兼容。用新的libgen.so共享库的路径设定GBASEDBTDIR，然后重新编译你的应用程
序。





-1279	值超过了字符串字段的长度

这条信息仅出现在ANSI数据库中。试图将一个字符串主变量插入到一个CHAR，NCHAR，
VARCHAR，或NVARCHAR字段中，但字符串太长了。





-1278	无效的转义顺序。

检查语句的LIKE或MATCHES子句中指定的模式匹配串。在ANSI数据库中，可以有效转义
的字符只有: LIKE子句的%，_和转义字符，MATHES子句的*，?，[，]和转义字符。






-1277	输入不匹配表单规范。

请检查包含 DATETIME 或 INTERVAL 值的 ASCII 字符串是否与格式字符串一致。例如，DATETIME 或 INTERVAL ASCII 字符
串中的百分比字符在格式字符串必须具有匹配的“%%”序列。另见《GBase  SQL 参考指南》中 DBTIME 环境变量的论述
。

如果正在对 DATE 或 DATETIME 数据类型使用 ROUND() 或 TRUNC() 内置函数，请注意第二个参数是受支持值列表为：“YEAR”、“
MONTH”、“DAY”、“DD”、“HH”或“MI”。请参阅《GBase  SQL 指南：语法》中有关“代数函数”的讨论以获取详细信息
。



-1276	格式转换字符不被支持。

格式串中的格式转换字符不是有效的。对照你的嵌入语言的产品手册中关于DATETIME
和INTERVAL格式转换函数的格式转换指令表检查串。可以参看 "GBasedbt SQL指南:参
考手册" 第四章中关于DBTIME环境变量的详述。






-1275	在DATETIME或INTERVAL格式串中显示字段的宽度或精度无效。

在DATETIME或INTERVAL格式说明中的显示字段的宽度或精度必须是有意义的。显示字
段宽度必须是一个十进制数，带前导零或负号(-)。如果有精度说明，也必须是十进制
数，且用点(.)与显示字段的宽度说明分开。






-1274	没指定输出缓冲区。

当输出缓冲区的长度为零或缓冲区指针为null时，发生此错误。版本5.01之后的数据
库服务器不采用此错误信息。






-1273	输出缓冲区为NULL或太小不能保持结果。

当函数被调用并且输出缓冲区的地址空间为null或小于格式串长度时，发生此错误。
重定义地址大小并执行函数。(此函数可能要求用DBTIME环境变量定义格式指令。)






-1272	没指定输入缓冲区。

你没有为此函数指定一个输入串，所以转换不能进行。设置输入串参数，再调用函
数。(此函数可能要求用DBTIME环境变量定义格式指令。)






-1271	在datetime或INTERVAL分数中遗漏了小数点。

当DATETIME或者INTERVAL文字值的限定符中包含FRACTION一词时，此文字值应该有一
个小数点。此语句中有这样一个文字值但缺少小数点。检查文字的限定符并寻找遗漏
或错放的标点。






-1270	INTERVAL文字值不能有嵌入的负号。

你可以在一个INTERVAL文字和其它值之间使用负号作为算术运算符，或用负号作为一
个INTERVAL文字的前缀来说明它是负的量。然而你不能在文字之中嵌入负号。如果你
没有这样作，检查语句是否遗漏或错放标点。






-1269	定位器转换错误。

此信息的产生是因为一个要求定位器参数(BYTE或TEXT值的引用)的函数接收的不是一
个有效的定位器(如一个NULL参数)。检查程序逻辑，确认参数是正确的。如果错误再
次发生，请记下所有环境并与GBasedbt技术支持部门联系。






-1268	无效的datetime或INTERVAL限定符。

此语句包含了一个不可接受的DATETIME或INTERVAL限定符。这些限定符只可是YEAR，
MONTH，DAY，HOUR，MINUTE，SECOND，FRACTION和TO。FRACTION后的圆括号中可以是
一个1到5之间的数。检查语句中遗漏的标点和错放的词。一个常见的错误是多加了
个s，如MINUTES，这是非法的。






-1267	一个datetime的计算结果越界。

在此语句中，一个DATETIME计算产生了不能被存储的值。例如，如果一个很大的
间隔加到DATETIME上，就会发生这种情况。如果结果日期不存在（例如 1999 年
 2 月 29 日），也会发生该错误。

请检查语句中的表达式，看是否可以改变运算顺序来避免溢出。







-1266	INTERVAL或datetime对运算不兼容。

有些DATETIME，INTERVAL和数值的算术组合是无意义和不允许的。请检查语句中的数
学表达式。可能其中之一错误地使用了DATETIME或INTERVAL字段或变量。如果没有，
查看你的SQL参考资料中这些数据类型的正确用法。






-1265	日期时间或时间间隔操作发生溢出。

DATETIME 和 INTERVAL 值在内部都作为 DECIMAL 值存储。在该语句中，使用 DATETIME 和/或 INTERVAL 值的算术运算导致了
算术溢出。这种情况不应发生。请检查为 INTERVAL 值指定的精度。如果希望输入的 INTERVAL 值的位数大于该字段所允许的缺省位数，那么必须在定义中显式
地确定有效数字的位数。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1264	在datetime或INTERVAL尾部的额外字符。

除了空格，DATETIME或INTERVAL文字值之后不能有任何字符。检查此语句是否有
遗漏或非法的标点。






-1263	datetime 或 interval 中的字段出界，不正确或缺失。

请检查该语句中的 DATE、DATETIME 和 INTERVAL 字面值，它们中至少有一个包含不正确的字段或至少缺少一个字段
。

在 DATE 或 DATETIME 字面值中，年份可能是零，月份可能不是 1 到 12，或者日期可能不是 1 到 31 或与月份不对应。并且在 DATETIME
字面值中，小时可能不是 0 到 23，分钟或秒钟可能不是 0 到 59，或者尾数可能有太多的数字而不是指定的精度
。

在 INTERVAL 字面值中，除了第一个字段是计数字段并且可能具有限定符所指定数量的数字以外，其他约束都是相同的
。



-1262	非数值字符出现在datetime或INTERVAL中。

DATETIME或INTERVAL文字的格式是很严格的。只能包含十进制数字和允许的分界符:在
年，月，日间的连字符;在日和时间的空格;在时，分，秒间的冒号，和在秒和分数间
的小数点。任何其它字符，或这些字符的次序错误，都被检测为错误。






-1261	datetime或INTERVAL的第一个显示字段中数字太多。

一个DATETIME文字的第一个显示字段必须包含1或2个数字(如果它不是YEAR)，或者2或
4个数字(如果它是YEAR)。一个INTERVAL文字的第一个显示字段代表单元的个数，且最
多可有9位数字，这依赖它的限定符中指定的精度。请检查此语句中的DATETIME和
INTERVAL文字并且改正。






-1260	在指定的类型间转换是不可能的。

数据库服务器将尝试任何有意义的数据转换。然而，有一些转换是不支持的，
如INTERVAL到DATE，DATETIME到MONEY，CHAR 到 LIST，或 CHAR 到 SET。
您可能涉及了错误的变量或字段。确认您已指定了您所要的数据类型，
且数据值的文字表示格式正确。







-1258	无法连接用于和后端通信的共享内存。

后端指数据库服务器。请在该内部错误中查找可能提供更多详细信息的操作系统消息。在证实没有系统限制或本地不存在问题后，请记下所有情况并联系 IBM 技术支持
。



-1257	操作系统无法对后端进行派生处理。

后端指数据库服务器。如果这是内部错误，请查找可能提供更多详细信息的操作系统消息。在 DOS 系统中，很可能会出现内存不足情况；请退出到操作系统命令行，然后重新提
交您的程序。确认不存在任何系统限制或本地问题后，请记下所有情况并联系 IBM 软件支持
。



-1254	不能与远程主机连接。

程序试图打开一个由另一个系统中的数据库服务器管理的数据库，但不能打开与另一
个系统的网络连接。检查DATABASE或CREATE DATABASE语句中指定的节点名。如果那是
你想要的，寻找来自网络元件或操作系统的错误信息。与另一系统的操作者联系，验
证它是活动的且接受网络连接。






-1252	不能建立共享内存。shmget失败。

在使用共享内存进行通讯的服务器的版本中，应用程序在初始化与服务器的通讯时，
调用操作系统函数shmget发生了非期望的错误。查阅操作系统错误信息可以得到更多
的细节。请向安装GBasedbt 共享内存产品的人咨询。






-1251	不能建立共享内存。semget失败。

在服务器用共享内存进行通讯的版本中，应用程序在初始化与服务器的通讯时，调用
操作系统函数semget发生了非期望的错误。查阅操作系统错误信息可以得到更多的细
节。请向安装GBasedbt 共享内存产品的人咨询。






-1250	不能建立管道。

应用程序使用操作系统的管道功能初始化它与数据库服务器的通讯时，操作系统返回
了非期望的错误代码。查阅操作系统错误信息可以得到更多的细节。






-1239	纪元年号溢出

给出的纪元偏移不在纪元所指定的范围。检查纪元偏移是否在纪元指定的合法范围
中。





-1238	年代初始化不正确。

请联系 IBM 技术支持，报告有关该内部错误的信息。



-1237	错误的纪元名

日期格式要求一个纪元名，但在输入串中却未找到与GLS局部环境设置中的纪元名
相对应的名字。检查是否使用了正确的局部环境设置以及输入了正确的纪元名。





-1236	错误的日期纪元

输入串中给定的纪元名或纪元偏移的是非法的或没有以要求的格式输入。检查输入串
中的纪元名和偏移是否合法，次序是否适当。检查输入串格式对于DBTIME型值，
DBDATE型值或传递到SQL API函数的格式化串是否合适。





-1235	字符主变量对于该数据太短。

一个 ESQL/C 程序尝试将列值访存到不够大的主变量中。请使用 DESCRIBE 命令找出列值的大小
。

如果该错误出现在 4GL 程序中，请记下所有情况并联系 IBM 技术支持
。



-1234	函数可能仅适用于日期时间数据类型。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1233	小时、分钟或秒无效。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1232	信息缓冲区太小。

4GL在从一编译过的信息文件中读取信息文本，但不能调整缓冲区大小来容纳完整的信
息。这可能说明数据空间的危急短缺，更可能是表明信息文件被毁或者非法。重新安
装所有.iem类型的文件。如果你已修改了用户信息文件4glusr.msg，你需要重新编译
它。






-1231	不能在信息文件中查找。

应用程序试图在一信息文件中查找一信息文本，当试图在文件中定位时收到一错误代
码。这说明文件本身有问题；可能文件已被损坏或截断。重新安装所有的.iem
类型文件。如果你已修改了用户信息文件4glusr.msg，要重新编译它。






-1230	错误的信息文件名格式。

提供给信息文件的文件名是非法的，此信息文件要用来象本书这样显示错误信息，故
它无法被打开。检查DBLANG环境变量的值，如果它被指定了的话。






-1229	不兼容的信息文件。

4GL试图在信息文件中查找一信息文本，文件中有和产品的当前版本不匹配的内容。可
能文件是损坏的;可能找到的是以前的版本信息文件。文件有后缀.iem且存放在
GBASEDBTDIR环境变量指定的路径的 etc 子目录中。重新安装这些文件。如果你已修
改用户信息文件4glusr.msg，一定要用当前版本的mkmessage 工具重新编译它。






-1228	在信息文件中没有找到信息号。

4GL不能在与产品一起安装的信息文件中找到相应的信息号。重新安装所有.iem
类型文件。若你已修改文件4glusr.msg的内容，检查你所有可能的删除，并且重新编
译此文件。






-1227	没找到信息文件。

4GL找不到一信息文本文件。此文件有.iem后缀且存放在产品目录$GBASEDBTDIR/msg
中。重新安装这些文件。若你已修改了用户信息文件4glusr.msg，确认它的编译后的
版本已被放在当前目录下。






-1226	十进制或money值超出了最大精度。

4GL试图转换一个字符格式的数值为DECIMAL或MONEY变量。然而，此数值小数点左边的
数字多于变量说明允许的位数。修改程序，分配被转换数值给具有更高精度的变量。






-1225	字段不接受NULL值。

此语句试图存储null值到已被定义为不允许null的字段。检查表的定义，修改语句，
使它提供值给所有需要的字段。






-1224	小数无效。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1223	值不能用FLOAT表达。

FLOAT数据类型能接受一定指数范围的数值。最大和最小指数值依主机操作系统不同
而不同(取值范围与主机系统中 C 编译程序支持的 double 值范围一样)。在当前语
句中，一常数数值被转换存储到FLOAT变量或字段中，但指数过大或过小。






-1222	值不能用SMALLFLOAT表达。

SMALLFLOAT数据类型能接受一定指数范围内的数值。最大和最小指数值依主机操作系
统不同而不同(取值范围与主机系统中 C 编译程序支持的 float 值范围一样)。在当
前语句中，一常数数值被转换存储进FLOAT变量或字段中，但指数过大或过小。






-1221	无法转换空的数据类型。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1220	来自数据库的数字值对于 COBOL 数据项来说太小。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1219	来自数据库的数字值对于 COBOL 数据项而言太大。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1218	串到日期转换错误。

函数 rstrdate() 的输入未正确表示一个日期:或者在应是数字处有非数字，或有非期
望的定界符，或者数值过大或不一致。






-1217	格式串过大。

被用来格式化一个日期(或是DBDATE环境变量，或是传递到rfmtdate()或USING功能的
模式)的模式串过长。限制是80字节。






-1216	不合法的指数。

一个数值文字的指数不能超越 32,767。事实上，可供使用的数据类型中，都不能接纳
这么大的指数的;然而，在检查数值的目的之前，指数本身触发了此信息。检查语句是
否遗漏或错放了标点，那将导致两个数被连在一起。






-1215	值太大，不适合 INTEGER 类型。

INTEGER 或 SERIAL 数据类型可以接受绝对值从 0 到 2,147,483,647（+ 2^31 - 1 或 - 2^31 + 1 的绝对值）的数值
。

要存储超过该范围的数值，请重新定义列或变量以使用 BIGINT、BIGSERIAL、INT8、SERIAL8 或 DECIMAL 数据类型。有关数据类型有效范围
的更多信息，请参阅《GBase  SQL 参考指南》。



-1214	值过大，不能放进一个SMALLINT。

SMALLINT数据类型能接受绝对值从 0 到 32,767 (±215-1)的数值。若要存储超过此
范围的数，字段或变量必须重定义为INTEGER或DECIMAL类型。(-32,767是16
位的值，但不被接受;在4GL中，它被用来指示一个null值。)






-1213	字符到数值的转换失败。

一个字符被转换为数值形式来存储进数值字段或变量中。然而，字符串不能被解释为
数值:它包含了除空格，数字，符号，小数点，字母e之外的字符; 或有顺序错误，因
此不能被解释。

如果你使用NLS，那么十进制字符或千分符可能在本地环境下出错。






-1212	数据转换格式必须包含月，日，年元件。

当一数值在内部二进制格式和显示或输入格式间被转换时，转换由模式指引。当转换
自动进行时，模式来自DBDATE环境变量。当转换是通过显式调用rfmtdate(),
rdefmtdate(),或USING函数进行时，模式串作为参数被传递。在任何情况中，模式串(
信息的"格式")必须包括指示日期的三部分的字母:2或3个字母d; 2或3个字母m;2或4个
字母y。






-1211	内存不足。

4GL不能分配一块小的，临时的内存以处理一个表达式。尽量简化程序来释放足够多的
内存，从而避免此错误。






-1210	日期不能被转换为  月/日/年  格式。

DATE类型和INTEGER类型是兼容的，但不是所有整数都是有效的日期。当试图将数值小
于 -693,594 或大于 2,958,464的日期转换为字符时，将产生此错误。超出此范围的
数值不表示日期。






-1209	没有定界符，日期必须恰好包含 6 或 8 个数字。

当一个文字日期值被用数值形式输入，而不是包含在引号中作为字符串时，必须准确
地用 6 位数字(代表mmddyy)或 8 位数字(代表mmddyyyy)输入。由于没有标点，任何
含其它数量数字的日期是二义的;它不能被确凿地分成月，日，年。






-1208	没有从非字符值到字符值的转换。

如果你在用版本4.0以前的数据库服务器，在 INSERT 和UPDATE等SQL语句中，没有从
数值到字符的自动转换。确认指定给每一字段的值符合该字段的数据类型。若使用版
本4.0或更高的数据库服务器，不会出现此信息。






-1207	被转换值不能放入分配的空间。

一个非字符值在转换成字符串后过长以致不能放进提供的缓冲区。若转换是自动的，
修改程序以提供更大的主机变量来接受串。若是显式调用转换函数，传递更大的缓冲
区。






-1206	日期中的无效日值。

DATE 值或文字中的日值必须是从1到28（或闰年中的29）、
30或31的一个或两个数字的值，具体值取决于所在的月份。







-1205	日期中的无效月份。

DATE值或文字中的月份必须是 1 到 12之 间的一位或二位数字。






-1204	日期中的无效年份。

DATE值或文字中的年份是无效的。例如：数 0000 作为年份是不被接受的。







-1203	用于MATCH的值必须都是CHARACTER类型。

MATCHES 关系仅能应用于字符数据；它的操作项必须是CHAR或VARCHAR类型的字段或变
量，或文字字符串。如果你需要进行正规模式与一个数字值的匹配，那么你可以在4GL
中通过把数字值赋值给一个CHAR变量从而进行比较。






-1202	试图作除以0的运算。

一个除数不能为0。在一些情况下，出现这个错误是因为除数是一个字符值而没有恰当
地转换为数值。






-1201	对于 DECIMAL 数据类型来说，数字太小。

DECIMAL 数据类型包含绝对值大于或等于 1.000E-130 并且小于 1.000E+126 的数字。精度（有效数字数）从 1 到 32 不等；但是，该错
误的根源不在于数字的长度，而是其大小。



-1200	对于 DECIMAL 数据类型来说，数字太大。

浮点型 DECIMAL 数据类型包含绝对值大于或等于 1.000E-130 并且小于 1.000E+126 的数字。精度（有效数字数）从 1 到 32 不等；但
是，该错误的根源不在于数字的长度，而是其大小。



-1176	COMMAND KEY 值出现在当前菜单的其他位置。

在指示的 MENU 语句中，您在多个 COMMAND KEY 键列表中定义了键值，或者在一个 COMMAND KEY 键列表中定义了键值并且作为一个或多个非隐藏
COMMAND 子句的缺省激活键（例如，该键值可以是一个或多个菜单选项字符串的第一个字符）。由于在给定击键发生时，MENU 没有办法决定该做什么，因此这种情况下
非法的。

由于在获得唯一的字符串之前，系统将提示用户随后的击键，因此给定的键可能显示为多条 COMMAND（不带 KEY 子句）的缺省激活键。因为只比较一次击键，所以该操
作对 COMMAND KEY 是不可能的。

如果 COMMAND 目前隐藏（通过使用 HIDE OPTION 关键字），那么其缺省激活键将被忽略并且不会触发该特殊错误条件
。



-1171	FMP遇到一个不被允许的数据类型。

"FMP"意思是指 GBASEDBT-4GL/RF。详见你的系统安装手册。






-1170	你的终端类型系统不支持。

检查你的TERM环境变量以及TERMCAP或TERMINFO环境变量的设置。如果你需要这方面的
帮助，通知系统管理员。






-1168	菜单中没有这一命令。

SHOW OPTION，HIDE OPTION或NEXT OPTION 语句不能引用不存在的选项（命令）。
检查选项名的拼写。






-1167	FMP收到一个未知的屏幕表格名称。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1166	FMP 收到一段非法代码。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1165	FMP不允许用这个语句。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1164	在当前的输入语句中，屏幕表格指令部分指定的NEXT FIELD没有被使用。

当前屏幕表格显示字段有NEXT FIELD的说明（在屏幕表格的INSTRUCTION部分中指
定）。然而，指定的下一个显示字段没有在当前的INPUT语句中指明，故游标不能移
到那一个显示字段。






-1163	FMP版本号与4GL程序不兼容。重新连接4GL程序并且再运行。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1162	并发打开的屏幕表格数目超出了FMP的限制。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1161	FMP当前不在一个INPUT语句中间。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1160	并发的DISPLAY ARRAY 语句数超出了FMP的限制。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1159	并发的INPUT语句数超出了FMP 的限制。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1158	FMP 运行内存不够。

“FMP”是指 GBASEDBT-4GL/RF。详见系统安装手册。






-1157	没有更多的行。

这是信息 -1127/-1309的另一版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1127。






-1156	再次输入值。

这是信息 -1125/-1306的另一版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1125。






-1155	在显示字段中输入值。

这是信息 -1124/-1305的另一版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1124。






-1154	不能使用编辑键。

这是信息 -1105/-1303的一个版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1105






-1153	检验不合法。

这是信息 -1104/-1302的另一版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1104。






-1152	输入一个指定范围内的值。

这是信息 -1103/-1301的另一版本，是由GBASEDBT-4GL/RF在非常小的屏幕的手持式终
端上使用的。见信息-1103。






-1151	GBase  4GL 运行时设施。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1150	窗口太小，显示不下这个菜单。

结合MENU语句，检查当前窗口的OPEN WINDOW语句。窗口应至少有两行高，并且它必须
足够宽以显示菜单标题，最长的选项名，两组三点的省略号，和六个空格。修改程序
使得窗口足够大到可以显示短一些的菜单名以及短一些的菜单选项。






-1149	在表单中检测到未知代码。

当前显示的屏幕表单在某个方面不可接受。它可能已损坏；或者可能使用 form4gl 的过时版本进行编译。请重新编译该表单。如果该问题重复出现，请记下所有情况并联系
IBM 技术支持。



-1148	窗口大小不能为负数。

OPEN WINDOW 语句的AT子句使用了负数。行和列的大小都必须是正整数。改正这个语
句。






-1147	不能对未打开的窗口进行CLOSE，CLEAR或CURRENT操作。

CLOSE WINDOW, CLEAR WINDOW,或 CURRENT WINDOW语句中使用的窗口尚未打开或已经
关闭。检查程序逻辑结构，除非确信已打开窗口，否则不引用它。






-1146	PROMPT的信息太长，在窗口中显示不下。

尽管4GL将截断MESSAGE及COMMENT的输出以使用窗口大小，但它对PTOMPT
和用户的响应却不会这样做。缩短提示的长度或扩大窗口。使用DISPLAY你能显示大部
分提示正文，然后显示单个空格或冒号。






-1145	不能打开ERROR窗口。

4GL试图打开一个单行，80列的窗口以显示错误信息，但不能成功。可能的原因包括内
存不够或内部错误。

对4GL程序，这个错误由-1319代替。






-1144	不能打开窗口。窗口的坐标原点不在屏幕上。

OPEN WINDOW 语句中AT子句给出的行列位置指到了屏幕之外。这个语句不能执行。重
新检查这个程序，确认行列值是以正确的顺序给出（先行后列）。程序开始执行时，
通过读入termcap信息（或terminfo信息，这依赖于INFOMIXTERM环境变量的值）确定
终端的大小，所以一个窗口的坐标对某些用户是正确的，但对另一些却可能根本就不
对。






-1143	窗口已经打开。

OPEN WINDOW 语句中指明的窗口已经打开了。重新检查程序逻辑，看看是应该包含一
个CLOSE WINDOW 语句还是简单地使用CURRENT WINDOW 语句使打开的窗口出现在屏幕
上就可以了。






-1142	窗口太小，显示不下这个屏幕表格。

窗口大小太小了，以至于不能包含要显示的屏幕表格。重新检查窗口大小并把它与所
有要在窗口中显示的屏幕表格比较。屏幕表格的大小是在屏幕表格说明文件中用
SCREEN语句说明。窗口大小的设定在OPEN WINDOW 语句中，不管是直接打开的窗口还
是随一特定屏幕表格打开的窗口。






-1141	不能关闭有作用的INPUT语句，DISPLAY ARRAY语句或MENU语句的
窗口。

CLOSE WINDOW 语句不能被执行，因为在该窗口中仍然有一个输入操作在起作用。
CLOSEWINDOW语句必须包含在输入语句自身中或在输入语句自身中调用。重新检查程
序，修改程序使得在关闭窗口之前，输入语句已经完成。






-1140	NEXT OPTION 是一个隐藏的选项。

在这个NEXT OPTION语句中指定的选项已经使用HIDDEN OPTION语句给隐藏了起来。既
然它对用户是不可见的，它不能被作为下一个选择被高亮显示。






-1139	FORM LINE不能使用LAST关键字设置。

这个OPTION 语句包含了使用了LAST的FORM LINE 子句。这是不允许的；你可以指定一
根绝对的表格线或一根相对于FIRST的表格线，但是不能指定相对于LAST
的表格线。






-1138	窗口的边不能显示在屏幕上，窗口太大。

用OPEN WINDOW说明的窗口不能打开，因为它的边不能显示在屏幕上。不管信息怎么
说，窗口不一定要比屏幕要更大一些。只是它的一条或更多的边（上，下，左或右）
不能在屏幕上画出来。窗口的位置在OPEN WINDOW语句中设定；确信它的始点不高于
第二行也不左于第二列（或取消BORDER属性）。窗口的大小也由OPEN WINDOW语句
设定或由它指定的屏幕表格设定。

UNIX 系统中，在程序开始执行时，通过读入TERMCAP信息（或TERMINFO信息，这依赖
于INFOMIXTERM环境变量的值）确定终端的大小.如果TERMCAP格式包含
sg#1 (terminfo: xmc#1)，4GL在窗口的左右两边各保留一多余的列。在DOS系统下，
窗口的大小总是24x80。






-1137	不能打开窗口。

问题的原因是数据内存不够。修改程序，使并发的打开的窗口数减少，或使用更少的
全局变量。






-1136	窗口太大，在屏幕上显示不下。

由这个OPEN WINDOW 语句中WITH子句指定的窗口大小与屏幕的大小发生了冲突。完整
的窗口不能被显示，所以语句不能被执行。如果用了WITH子句指定窗口大小，那你可
以用小一些的窗口；如果是在屏幕表格中指定，窗口大小由SCREEN
语句在表格说明文件中指定。另一方面，你可以通过在AT子句中改变位置坐标使窗口
可以显示在屏幕上。UNIX 系统下，在程序开始执行时，通过读入termcap信息（或
terminfo信息，这依赖于INFOMIXTERM环境变量的值）确定终端的大小。这样一个
屏幕的大小对某些用户是正确的，但对另一些却可能根本就不对。在DOS
系统下，窗口的大小总是24x80。






-1135	DISPLAY AT中的行号或列号超出了你的终端的限制。

检查DISPLAY...AT 语句。在DISPLAY AT中的行或列号超出了终端的限制。确认行列位
置是以正确顺序给出（先行后列）并且它们相对当前终端或窗口是有意义的。UNIX 系
统下，在程序开始执行时，通过读入termcap信息（或terminfo信息，这依赖于
INFOMIXTERM环境变量的值）确定终端的大小.这样一个屏幕的大小对某些用户是正确
的，但对另一些却可能根本就不对。在DOS系统下，窗口的大小总是24x80。






-1134	没有对应该功能键的termcap格式。

这个OPTIONS语句的某子句指定的键在termcap文件（或者如果使用的是terminfo
文件，则在terminfo文件）中没有定义。检查子句HELP KEY，INSERT KEY，
NEXT KEY，PREVIOUS KEY和DELETE KEY。比较所指定的功能键与当前使用的termcap
文件中键的定义。






-1133	菜单中不含NEXT OPTION 所指定的选项名。

这个MENU语句所包含的一个NEXT OPTION 子句指定的某个菜单选项在语句中没有定
义。跟在NEXT OPTION后的串必须与同一MENU语句中跟在COMMAND子句后的一个串相
同。检查语句，确认这些子句彼此一致。






-1132	CONSTRUCT语句的目标串长度不够。

CONSTRUCT语句的结果是一个包含了用户输入的所有条件的字符串。在屏幕表格中，这
个串适合用于SELECT语句中的WHERE子句。在这个CONSTRUCT语句中，结果串比用来接
收它的程序变量要长。作为一个一般规则，变量的长度必须有足够的空间装下用于这
个语句的所有屏幕显示字段的名称，加上显示字段的内容，加上标点符号和关系符。
检查这个语句，并且相应地修改接收变量的定义。






-1131	同一显示字段不能有多个AFTER子句。

这个语句包含了至少两个对应同一名称的表格显示字段的AFTER FIELD子句。仅能支
持一个。找出所有与同一显示字段相关的AFTER FIELD子句，然后把它们合并成一个
子句。






-1130	同一显示字段不能有多个BEFORE子句。

这个语句包含了至少两个对应同一名称的表格显示字段的BEFORE FIELD子句。仅能支
持一个。找出所有与同一显示字段相关的BEFORE FIELD子句然后把它们合并成一个子
句。






-1129	屏幕表格中没发现BEFORE/AFTER指定的显示字段。

这个语句包含了一个BEFORE FIELD子句或AFTER FIELD子句，子句中指定了一个当前显
示的屏幕表格中没有定义的显示字段。检查程序，确认正确的屏幕表格被显示；然后
再对照这个屏幕表格的说明检查该语句，确认指定的显示字段都存在。参阅信息-1102
中关于显示字段名的解释。






-1128	在你的这个方向上，已没有更多的行。

你试图越界滚动一组记录；或是在记录组顶端向上滚或在记录组底部往下滚。更进一
步的企图将导致相同的结果，但如果你还是不明白就请往后看。

对于4GL程序，这个错误被-1309代替。






-1127	不能删除这一行 - 它是一个空行。

在一个空行，按下了删除行的功能键（通常是F2，但取决于程序作者提供的操作指
令）。不能删除任何数据。

对4GL程序，这个错误由-1308代替。






-1126	不能插入另一行 - 输入数组已满。

你正在往一个记录数组中输入数据，这个数组在程序中由一组程序变量说明。现在这
个数组满了；已没有空间存储另一个记录。按下ACCEPT功能键（通常是ESCAPE键，但
取决于程序作者提供的操作指令）处理你已输入的记录。

对 4GL 程序，这个错误由-1307代替。






-1125	为检验请再输入一次。

游标在一个被指定VERRIFY属性的屏幕表格显示字段中。在游标能移至另一显示字段之
前，你必须两次输入同一值。这是帮助确定在数据输入的过程中没有打字错误。另一
方面，你可以用中断键取消表格输入（通常是CTRL-C，但取决于程序作者提供的操作
指令）。

对于 4GL 程序，这个错误由-1306代替。






-1124	这个显示字段需要输入值。

游标在被指定REQUIRED属性的表格显示字段中。在游标移到另一个显示字段之前，你
必须输入值。然而，你可以通过输入任何可印刷字符然后退格从而输入空值。另外，
你能用中断键取消表格输入（通常是CTRL-C，但取决于程序作者提供的操作指令）。

对4GL程序，这个错误由-1305代替。






-1123	没有指定帮助文件。

这个INPUT，PROMPT，或MENU语句包含了一个HELP help_number子句；然而没有建立相
应的信息文件。信息文件由OPTIONS HELP FILE语句建立；但此时并未有一条这种语句
被执行。检查程序并修改使得在需要帮助文件之前已经执行了带HELP FILE子句的
OPTIONS语句。

对4GL程序，这个错误由-1343代替。






-1122	不兼容的信息文件。

最近执行的OPTIONS HELP FILE语句中指定的信息文件不被接受。可能有几种原因导致
它被破坏。有可能是指定信息源文件的OPTIONS 语句出错而不是编译过的信息文件
（mkmessage 的结果）。可能是文件使用了过时的mkmessage工具版本进行编译。
重新用当前版本的工具编译信息；并检查程序源文件以确保指定了一个正确的文件。

对4GL程序，这个错误被-1229代替。






-1121	信息文件中没有该信息号。

在当前信息文件中，找不到由INPUT，PROMPT或MENU语句中HELP子句给出的信息号。这
个信息文件是由最近执行的OPTIONS HELP FILE语句建立的。在程序中找到该语句，检
查该信息文件是否为所需文件。然后，检查信息文件来源，确认它包含了程序中用到
的所有信息号的定义。用mkmessage工具重新编译信息文件再重新运行该程序。

对4GL程序，这个错误由-1228代替。






-1120	没发现信息文件。

最近执行的OPTIONS语句HELP FILE子句中指定的信息文件不存在。在程序中找到该
OPTIONS语句，检查<帮助文件>的参数。它必须包含所准备的信息文件的全名，并且，
如果文件不在当前目录中，它必须有完整的路径名。信息文件要使用mkmessage工具准
备好。

对4GL程序，这个错误由-1227代替。






-1119	在屏幕表格中没发现NEXT FIELD中指定的显示字段名。

这个语句（INPUT或INPUT ARRAY）包含了一个NEXT FIELD子句，子句所指定的显示字
段在屏幕表格中未定义。也许屏幕表格已被改变而程序没有。参阅错误-1102的解释。
对4GL程序，这个错误由-1371代替。






-1117	无法将日期值转换为字符串。

我们认为该消息不会用于当前的任何产品。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1116	屏幕表格显示字段的缺省值不能转换至输入变量类型。

这个语句从屏幕表格的一个显示字段得到输入，该显示字段的缺省值（在屏幕表格中
用ATTRIBUTES的关键字DEFAULT指定）与接受它的程序变量数据类型不兼容。检查
这个语句中指定的程序变量并把它们与显示字段的定义相比较。确保每个变量与相应
的显示字段一致，有兼容的数据类型。






-1115	对该显示字段，数字值太长

在一个屏幕表格显示字段中，4GL试图使数字值的显示规范化并且对该显示字段而言结
果串太长。检查程序，找出被赋值的数值有多大。

对在4GL/GX下由版本5.0或更高的版本下编译的4GL程序，这个错误不可能出现。






-1114	没有屏幕表格被显示。

当前语句需要用到屏幕表格。例如，DISPLAY...TO或一个INPUT语句必须用到一个屏幕
表格的显示字段。然而，从当前窗口被打开后没有DISPLAY FORM 语句被执行。检查程
序逻辑结构确定在试图使用一个屏幕表格前已打开了它并且显示了它。






-1113	内存分配错误。

一个BYTE或TEXT变量已经在内存中被分配而且已有一个值被赋给该变量。然而，没有
足够的数据内存用来保持该变量。检查程序并把大的值放入文件中保存。
对4GL程序，该错误由-1319代替。






-1112	屏幕表格与当前的4GL版本不兼容。重建你的屏幕表格。

OPEN FORM语句中指定的屏幕表格不被接受。它可能是由于某些原因被破坏，也有可能
仅是由于屏幕表格被编译时使用的表格编译器的版本是与编译该程序所使用的4GL编译
器不兼容。用当前版本的表格编译器重新编译该屏幕表格说明。






-1111	字段表偏移量超出范围。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1110	找不到屏幕表格文件。

OPEN FORM 中指定的屏幕表格文件没有找到。检查该语句的"form-file"参数。它不能
包含该文件的后缀.frm。然而，如果屏幕表格文件不在当前的目录中，它应该包含文
件的全路径。






-1109	列表与记录显示字段数目不相符合。

程序变量的个数与在CONSTRUCT，INPUT，INPUT ARRAY，DISPLAY，或DISPLAY 
ARRAY语句中的屏幕显示字段数目不相符合。结合表格说明检查语句，察看错误的
所在。通常问题有：一个屏幕记录定义的改变没有反映到每一个使用了该记录的
语句中，一个程序记录的改变没有反映到该屏幕表格的设计中。






-1108	记录不在屏幕表格中。

在INPUT ARRAY或DISPLAY ARRAY中指定的屏幕记录在当前显示的屏幕表格中没有出
现。结合屏幕表格说明，检查源文件看它是否与屏幕记录名称匹配。






-1107	显示字段下标越界。

在INPUT，DISPLAY或CONSTRUCT语句中的屏幕数组下标小于1或大于数组中的显示
字段数目。结合屏幕表格说明，检查程序源文件找出错误。






-1106	显示字段出错。

你在该显示字段中输入的值不能被指定来接收它的程序变量保存。例如，你可能在应
用程序只提供整数变量时输入了一个十进制数；或你输入了比应用程序所期望的要长
的字符串。记下所有的细节情况，并与该应用程序作者讨论这一问题。

对4GL程序，这个错误由-1304代替。






-1105	由于图形的存在，你不能使用这个编辑功能。

这个显示字段定义时（在表格说明文件中）使用了PICTURE属性来指定它的格式。在
你编辑这类显示字段时，你不能使用某些编辑键（例如，CTRL-A, CTRL-D, 和 
CTRL-X）。只能用可打印字符和退格键输入值。

对4GL程序，这个错误由-1303代替。






-1104	两次输入不一致 -- 请再试一次。

为了避免打字错误，这个显示字段指定了VERIFY属性（在表格说明文件中）。这个显
示字段的值必须同样地被输入两次。另外，你可以用中断键取消表格的输入（通常使
用CTRL-C，但这依赖于程序作者所提供的操作指令）。

对4GL程序，这个错误由-1302代替。






-1103	这个值不是合法的值。

为该字段建立了一个可接受值的列表或范围（经由屏幕表格说明文件中的INCLUDE
属性指定）。你必须输入一个在接受范围的值。
对4GL程序，该错误由-1301代替。






-1102	屏幕表格中找不到该显示字段名。

在INPUT，INPUT ARRAY，CONSTRUCT，SCROLL或DISPLAY语句中列出的显示
字段名在当前显示的屏幕表格的表格说明中找不到。检查程序逻辑结构，确认当前
窗口正是想显示的窗口，想显示的屏幕表格也显示在该窗口中，并且该语句中所有的
显示字段名称拼写正确。

通常的问题是试图使用显示字段标志代替显示字段名称。显示字段标志是写在屏幕图
形中的名字并且它显示在该显示字段ATTRIBUTES语句的左边。它不是用于输入或输出
的显示字段的名字。显示字段名字是它所关联的字段的名字。这个名字在ATTRIBUTES
语句显示等号的右边：

ATTRIBUTES

f000 = customer.customer_num,color=red;

在上例中，显示字段名是custerm_num。在INPUT语句中使用标志f000将产生一个
错误。






-1101	变量地址为 NULL。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-1010	tc= 间接的次数太多。

在终端的termcap定义中，入口tc= 定义要使用其它终端的缺省值。定义其它终端的时
候可能也使用了tc=入口。但是，4GL不允许有超过4个 tc= 命令。现在正在使用的
termcap的定义（由TERM或TERMCAP环境变量指定）超出了这个限制。请写出或找到更
为自包含的termcap定义。






-1009	错误的termcap入口。

当应用程序初始化时，TERMCAP环境变量或termcap数据库中termcap入口的内容被读
进存储中。在这个过程中，程序在termcap入口中发现不合适的标点符号，具体来
说，一个期望出现的冒号没有出现。检查指定的termcap并且选择不同的一个或修改
现在这个。






-1008	termcap入口太长了。

当应用程序初始化时，TERMCAP环境变量或termcap数据库中termcap入口的内容被读进
存储中。然而，分配用来保存termcap人口的内存缓冲区只有1,024字节，现正使用的
比这要长。你将不得不用一个简单些的termcap。






-1007	GBASEDBTTERM 环境变量有非法值。

GBASEDBTTERM 环境变量仅有的合法设置是termcap和terminfo。设置变量值为termcap
（或保持未定义）指示 4GL 在终端控制时使用TERMCAP设备。设置变量为terminfo导
致4GL 使用TERMINFO设备。其他设置，包括termcap和terminfo中有大写字符都将引出
这条信息。






-1006	错误号。

返回所显示的错误码，但是程序不能显示该号码的信息文本，可能在 GBASEDBTDIR 
环境变量指定的目录中有某个 .iem 信息文件遗漏了。可在 finderr 实用
工具中查找该号码。也可向 GBasedbt 软件安装人员咨询，找出信息文件
不可用的原因。






-1005	你指定的termcap文件不能被读取。

TERMCAP环境变量指定了一个文件，但是不能打开这个文件。可能是由于文件根本不存
在，或者是由于你的帐户没有对它进行读取的操作系统许可。请检查环境变量以及它
命名的文件。






-1004	被选定的ACCEPTKEY已经预先被分配给ISQL。

ACCEPTKEY环境变量中指定的键是一个总被 GBASEDBT-SQL使用的键。请为环境变量
设置另外的值。






-1003	环境中的ACCEPTKEY设置无效。

ACCEPTKEY环境变量中指定的键无法解释；它没有以F开头，或者它的号码是无效的。
请另外指定一个键。






-999	尚未实现。

该错误表示正在尝试的功能当前尚未实现。请查看该产品的这个特定发行版中描述此当前限制的文档和发行说明。如果这种情况在常规文档或发行说明中没有说明并重复出现，请记下
所有情况并联系 IBM 技术支持。



-979	由于发生内部错误，当前事务已回滚。

与您的会话关联的服务器线程已暂挂，原因很可能是严重的内部错误。有关该问题的证据已收集并写入了“断言故障”(Assertion Failure) 文件，您的联机日
志应该包含更多信息。

在暂挂会话线程之前，服务器已尝试回滚当前事务执行的所有工作。与服务器的连接也可能已断开，这取决于暂挂的线程的类型。您至少需要开始一个新事务
。

请联系 IBM 技术支持并向其提供“断言故障”文件。



-978	对检查/诊断表没有插入权限

用户对一个表带过滤模式目标地发布一个INSERT，DELETE，或者UPDATE语句。因为
用户缺少对与该表相联系的检查或者诊断表的INSERT权限，用户会收到这个消息。
用户必须在数据库服务器能够写入列到该用户的检查和诊断表之前具有对该检查和
诊断表的INSERT权限。

类似的，如果用户已经发布了一个SET语句去改变一个无效的约束或者一个无效的唯
一索引的目标模式为有效的或者为过滤模式，并且如果一个检查表已经被为目的表
启动，如果用户缺少与目的表联系的检查或者诊断表的INSERT权限，用户会收到这个
消息。





-977	对分段(<dbspace名字>)没有权限

用户在表分段上没有必须的分段-级别的权限。这个消息常常跟有其它指示用户缺少权
限的消息。如果一个INSERT语句失败,第二个后跟的消息是 -271。如果一个UPDATE语
句失败,第二个后跟的消息是 -346。如果一个DELETE语句失败,第二个后跟的消息是 
-240。





-976	表必须被表达式分段来授予分段的权力。

用户试图对一个没有分段的表或者没有被表达式分段的表授予分段级别的权限。





-975	非法的目标和目标模式组合。

用户试图在一种不适合某目标类型的目标模式下产生一个新的目标，或者用户设置
一个已经存在的目标的目标模式为一个与该目标类型不合适的模式。比如，如果用户
试图在过滤模式产生一个触发器,或者把一个已经存在的触发器设置为过滤模式，
用户收到这个错误。





-974	无法删除针对序列类型列的非空约束。

用户发出一条语句，要删除针对数据类型为 SERIAL、SERIAL8 或 BIGSERIAL 的列的 NOT NULL 约束。这样的约束可以被禁用，但在删除该列
之前无法将其删除。



-973	不能从检查表插入到目的表。

用户已经发布了一个试图插入检查表的行到目的表的语句。
比如，用户键入以下语句:

INSERT INTO mytable SELECT * FROM mytable_vio

如果目的表具有一些过滤模式的目标,这个错误被返回给用户。用户可以用下列方法
恢复:

    *   设置过滤目标的目标模式为其它模式*停止检查表*插入检查表中的行到一个
	临时表，然后把临时表中的行插入到目的表。





-972	不能更改表<表名>。

现场修改表不能完成。请参见相伴的ISAM错误的更多消息。





-971	检测到完整性冲突。

用户试图改变一个无效的约束或者无效的唯一索引为有效的或者为过滤模式。
但是SET语句因为表中存在与约束或者唯一索引要求的冲突而失败。
如果一个冲突表已经为一个具有不一致数据的表开动，这个消息将返回给用户。
无论是否SET语句中包括了WITH ERROR 选项，这个消息都要返回。

类似的，当一个INSERT，DELETE或者UPDATE语句引起一些记录加入到冲突表中，
由于该语句与一个过滤模式的目标冲突,如果以下两个条件为真的话,这个消息将返回
给用户：

    *   为该目标指定过滤目标模式的SET语句或者CREATE语句中包括
	WITH ERROR选项。

    *   在INSERT，DELETE或者UPDATE语句中没有遇到其它的错误。





-959	由于发生内部错误，当前事务已回滚。

与您的会话关联的服务器线程已暂挂，原因很可能是严重的内部错误。有关该问题的证据已收集并写入了“断言故障”(Assertion Failure) 文件，您的联机日
志应该包含更多信息。请联系 IBM 技术支持并向其提供“断言故障”文件
。

在暂挂会话线程之前，服务器已尝试回滚当前事务执行的所有工作。与服务器的连接也可能已断开，这取决于暂挂的线程的类型。您至少需要开始一个新事务
。



-958	会话中已经存在临时表<表名>。

该语句试图创建一个具有显示名称的表，但是已经存在一个具有该名称的临时表。
在会话中只能存在一个具有给定名称的临时表。

检查名称的拼写。如果它们的拼写与你所希望的相同，检查在会话中不存在具有
给定名称的临时表。要查看临时表的名称，可查询systabnames表，如下：

    SELECT dbsname, tabname FROM sysmaster:systabnames
           WHERE tabname = <table-name>

如果名称存在，可通过查询<dbsname>中的 systables 查看该名称：

    SELECT tabname FROM <dbsname>:systables
           WHERE tabname = <table-name>

如果 systables 中不存在该名称(" 没有发现行")，该表为临时表。






-957	无法在 NFS 安装上创建/访问数据库。

请记下该内部错误发生时您的系统的细节并联系 IBM 技术支持
。



-956	远端主机里的 / etc / hosts.eguiv 没有用户端<用户端名称>。

因为用户端机器(当地主机，其名称由 hostname指令返回)的名称无法被指定的远方
机器辨别。用户端名称正常是记录在配置文件 / etc / hosts.equiv中。远程机器
的rhosts 文件亦可能需要修改。这些档案的详情可试着在UNIX系统打man rhosts。
找远程主机管理员；确认用户端主机名称有指定在远程主机的 /etc/hosts.equiv 
文件中。6.0之前版本有这条信息。







-955	远程主机无法从客户机接收数据。

该内部错误表明您的应用程序与另一位置的 GBase  STAR 或 GBase  NET 软件之间的通信失败。请重新启动您的应用程序。查
找可能提供更多信息的操作系统消息。如果该问题重复出现，那么请求网络管理员运行网络诊断。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持。该消息出现在 
V6.0 之前的版本中。




-954	客户机是远程主机不知道的。

你的正在运行的应用程序所在的计算机是你试图访问的计算机所不知道的计算机。请
与你的网络管理员联系，请求他使你的计算机成为可知的。通常使一台计算机被其它
系统知道的方法是通过修改其它系统上的/etc/hosts.equiv配置文件。请参考
GBASEDBT-NET/GBASEDBT-STAR安装与配置指南。(这条信息出现在6.0版之前的
版本中。)







-953	网络服务器不能执行sqlexec程序。

网络服务器不能启动数据库服务器线程。导致这个错误的最常见的原因是root在启动
数据库服务器进程时定义GBASEDBTDIR环境变量失败。请与你的网络管理员联系，请求
远程系统上的数据库服务器进程使用GBasedbt软件的有效路径重新进行启动。
(这条信息从6.0及以后版本出现。)







-952	数据库服务器的用户密码不正确。

服务器计算机~/.netrc文件中指定的密码，或是CONNECT语句中USER子句不正确。
数据库服务器不能接受(或是找不到)你的帐户密码。确定你的密码被正确指定。再试
一下。(6.0版後有这条信息)。







-951	数据库服务器不认得用户的用户名。

你企图存取的数据库服务器不接受你的用户 ID, 该 ID 是在你的 CONNECT 语句的
USER 子句中针对所需服务器主机而指定的登录名称。如果你已在服务器上明确指定 你的
用户名, 请检查此名称是否正确。如果你在服务器机器上没有正确的用户 ID, 请找你的系
统管理员。这条信息出现在版本 6.0 及之后的版本中。







-950	用户 <username> 在数据库服务器上未知。

此语句引用了另一个计算机系统上的数据库，但该数据库服务器不接受您的帐户名称。您必须具有所有远程访问的数据库服务器上的有效受信登录标识。请让您的数据库管理员将您的
登录标识加入远程服务器上的“sysuser:sysauth”中。此消息显示在启用 PAM 的服务器上
。



-949	当索引禁用时，无法改变分段模式。

试图变更已禁用索引表中的分段模式。这是不允许的。该动作被中止。






-948	无法重命名约束索引。

用户试图重命名一个系统生成的约束索引。

您不必采取任何行动，因为不允许重命名系统生成的约束索引。






-947	SPL 变量 'null'的声明与 SQL NULL 的值冲突。

用户无法定义一个拼写为 'null'的SPL 例程变量。该错误的发生是因为
允许这样的定义将会限制NULL 常数的全局范围。






-946	UPPER、LOWER 和 INITCAP 的源字符串必须是字符串类型。

作为输入传递给大小写转换函数的源字符串必须是
字符串数据类型。





-945	给 dbinfo(版本)指定了无效参数。

dbinfo() 的参数是无效的或是 NULL。第一个参数是字符串参数版本。

请检查第二个参数也是一个引用的字符串常量，并与下列值之一相对应：
'major', 'minor', 'level'，'os', 'server-type' 或 'full'。







-944	该上下文中不能使用“first”、“limit”、“top”或“skip”。

此语句在子查询内使用了 FIRST N、LIMIT N、TOP N 或 SKIP M。而此操作不受支持
。

请复查 FIRST N 的使用，检查并确定它仅能应用于外部主查询 SELECT 子句
。



-943	发现一个没有终止的注释("/*" 没有匹配的 "*/").

DB-Access 当前不支持不带有终结符的注释。当通过DB-Access运行.sql脚本
时，您可能会看到该消息。






-942	事务提交失败 - 事务将被回滚。

这个错误可以在事务提交时发生，如果错误发生在
 DataBlade 例程调用 UDR 注册的 end-of-transaction
(MI_EVENT_END_XACT) 回调函数时。您已经给服
务器例程环境中的 MI_EVENT_END_XACT (或 
MI_Xact_State_Change) 事件注册了回调函数。当 
end-of-transaction (MI_EVENT_END_XACT) 事件
发生在提交事务时发生错误。在 DataBlade 例程中，
您可以使用 mi_err_desc_next() 函数得到下一个错误，
它应该能解释失败的原因。当前，end-of- transaction 
(MI_EVENT_END_XACT) 事件只有当在 DataBlade 
服务器例程环境中发生。它不会在 DataBlade 客户端
例程环境中发生。





-941	当执行函数(function_name)时字符串处理出错。

大小写转换函数在对输入字符串执行时出现错误。
这个错误可能是由于字符串中的无效字符（单或
双字节）引起的。在您核查输入字符串的字符有
效后您需要重新执行查询。





-940	在联合视图中不支持检查选项。

您试图定义一个具有检查选项的联合视图。
重新定义一个不具有检查选项子句的联合视图。





-939	要显示太多的消息；部分消息将不显示。

如果服务器中单个错误导致返回了大量的消息，那么会显示该消息。例如，如果存在一组嵌套的调用，其中，用户定义的例程 (UDR) 执行调用另一个 UDR 的 SQL 
语句，以此类推。当发生错误时，每个 UDR 都为该错误返回一条与自身上下文对应的消息。当消息数超过内部限制时，其余消息将被该消息替换。您无须采取任何特殊行动
。



-938	如果游标在 INSERT 上声明，VALUES 子句不会有表达式。

与 INSERT 游标相关联的 INSERT 语句包括有一个或更多表达式的 VALUES 子句。

修改应用程序，使表达式不在 VALUES 子句中使用。




-937	用户定义的例程出错。

用户定义的例程内调用了 mi_db_error_raise()，并且触发了一个致命错误。要获取说明，请查看用户定义的例程设置的 SQLSTATE
。



-936	在远程连接<连接名>时发生错误。

试图连接到一个远程主机的企图失败了。请检查你的连接语句(即CONNECT，DATABASE
等等)中指定的连接的名字，以确保你正确地指定了连接的名字和路径。检查有没有错
误的拼写。检查有没有错误的连接名。

 	数据库服务器不认识用户<用户名>。

你试着要存取的数据库服务器不能接受你的用户id，或在~/.netrc文件上所要连接上
的服务器主机的注册名称，或在CONNECT语句中USER子句中所指定的用户名称。
如果你在~/.netrc文件中或在CONNECT语句指定你的用户名称，确定这名称是对的。
如果你在服务机器没有可以有效使用的用户id，找你的系统管理员。
(6.0及以后版本有这条信息)。

用户定义的例行程序错误。

mi_db_error_raise() 已从 UDR 内调用, 设定严重错误。相关的解释, 参考 UDR 设定的
SQLSTATE。





-935	不能获得服务器名<服务器名>的IPX地址。

你正在试图用一个服务器名通过带有可移植的GBASEDBT-OnLine for NetWare系统上的
IPX/SPX网络协议去连接一个数据库服务器。客户应用程序，GBASEDBT-NET
或者GBASEDBT-STAR不能决定指定的服务器名字所对应的IPX地址。可能的原因包括：
你的sqlhosts文件中的服务器名字拼写错了；sqlexecd daemon程序或者OnLine数据库
服务器现在没有运行起来，或者是可移植的GBASEDBT-OnLine for 
NetWare软件操作得不正确。请求你的DBA或者系统管理员确认sqlexecd daemon,
数据库服务器以及可移植的GBASEDBT-OnLinefor NetWare软件是可用的。






-934	到远程节点的连接不再有效。

这个语句使用了来自其它计算机系统的数据，而连接已经丢失。请重新建立连接，然
后将事务滚回并重试一次。






-933	DBNETTYPE中指定了未知的网络类型。

在某些机器上，DBNETTYPE环境变量被用来在两种可用的网络协议中选用其中之一。它
的当前设置值是一种不被支持的类型。请显示变量的值，确保它的设置是正确的。对
于6.0版之前的版本，请参考GBASEDBT-NET/GBASEDBT-STAR安装与配置指南中关于
如何正确设置的说明。如果你正在使用GBASEDBT-OnLine for NetWare，可将
DBNETTYPE设为starlan, tcp/ip或者其它被支持的网络。






-932	网络连接出错，函数系统调用失败。

该内部错误表明您的应用程序与另一位置的网络软件（GBase  STAR、GBase  NET、GBase  NET for 
Windows 等）之间的通信失败。请重新启动您的应用程序。查找可能提供更多信息的操作系统消息
。

如果您正在使用 GBase  NET for Windows，那么可能存在 Windows Sockets 问题；请查看 Windows 
Sockets 1.1 文档以了解更多信息。请查看 sqlca 结构的 sqlerrm 字段以获取特定的 Windows Sockets 消息
。

在 ASCL 上下文中，该错误还可能表明 gbasedbt.ini 文件中存在问题。请验证 SERVICE、HOST 和 PASSWD 项正确无误
。

如果该问题重复出现，那么请求网络管理员运行网络诊断。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-931	不能在/etc/services中找到<服务名>service/tcp服务。

上面提到的服务未被列在/etc/services(UNIX)或者\etc\services(DOS)网络配置文
件中。请检查$GBASEDBTDIR/etc/sqlhosts文件，确保所需的服务的名字拼写正确。
如果是正确的，请与你的网络管理员联系，找出服务未知的原因。如果你使用的是
GBASEDBT-OnLine for NetWare，请检查客户机上的\etc\services文件中相应的
入口。






-930	不能连接到数据库服务器<服务器名>。

这个应用程序正试着存取另一个计算机系统，且已失败。注意在目前语句中的服务器
名称。要求你的网络管理员及DBA检查网络是否可运作，并检查数据库服务器是否活
跃。这条信息从6.0及以后版本出现。







-929	发生 SQLI 协议错误。会话已终止。

数据库服务器收到无法解释的 SQLI 协议请求。这样的消息将视为对服务器的攻击，而发出这样请求的会话将立即被单方面终止。如果您认为错误地收到该消息，请记录所有详
细信息（包括使用的 CSDK 或 I-Connect 的版本）并联系 IBM 技术支持
。



-928	未许可数据库服务器进行分布式数据存取。

该语句涉及另一计算机系统上的数据库（例如，用 dbname@sitename:table 
限定表的名称）。但是，在指定地点活动的数据库服务器未被许可如此
使用。这一情况表明，远程计算机系统的安装有错误：系统配置为可进
行网络存取，但启动了错误的数据库服务器。请与网络管理员联系，请
求在启动 sqlexecd daemon 时检查环境变量。如果用户正在使用用于 NetWare 
的 GBASEDBT-OnLine，则试图访问未被许可远程访问的数据库服务
器上的表；用户只能访问其它的 GBASEDBT-NET PC 系统。






-927	超过了你可以引用的服务器的最大个数。

这个语句包含对多于数据库服务器可以处理的节点的引用。从4.1版开始，出现在一个
语句中的不同节点的个数最多可达32个(后面的版本可能允许更多的节点数)。请重新
检查这个语句，确保它只引用了必要的节点。如果确实有必要，请修改操作以使用更
少的节点；例如，先把一部分数据选进一个本地的、临时的表中。






-926	GBasedbt 动态服务器 2000 未被许可为分布式用途的数据访问。

这个语句引用了其它计算机系统中的数据库（例如，以dbname@sitename:table这样
的形式对表名进行限定）。然而，该版本没有被许可为此种用途。使用当前的版本，
您只能使用在同一个数据库服务器上的数据库中的表。

请与你的GBasedbt代理联系，看看如何将此数据库服务器升级为完整的GBASEDBT-
STAR状态。如果你确认已经安装了GBASEDBT-STAR，那么请检查GBASEDBTDIR环境变量
的内容。如果你正在使用GBASEDBT-OnLine for NetWare，那么除非你拥有GBASEDBT-
NET PC系统，否则你无法访问远程系统上的表或者数据库。








-925	协议的类型应该是tcp。

OnLine上的$GBASEDBTDIR/etc/sqlhosts文件或者GBASEDBT-OnLine for Netware
上的\GBASEDBT\etc\sqlhosts文件中的协议类型应该是tcp。






-924	IBM 未被许可访问所指定的数据库服务器。

如果您仅在客户机上安装了 GBase  NET 站软件包，那么无法访问本地驻留的数据库。如果您要访问的数据库并非本地驻留的，请再次输入命令，并使用数
据库名称指定一个站点名称，或将 DBPATH 环境变量设置为指示仅在特定站点中进行搜索。如果您要使用 GBase  产品来访问本地和远程数据库，请联
系您的 IBM 代表，获取有关购买相应的 GBase  产品的详细信息
。



-923	IBM 仅被许可访问当前的数据库服务器。

此版本的 GBase  产品未被许可用于网络。找到许可与 GBase  STAR 或 GBase  NET 一同使用的软件版
本，并重设 GBASEDBTDIR 环境变量和 SQLEXEC 环境变量（对于 V6.0 之前的数据库服务器）以指向它
。



-922	不能取得当前工作目录名字。

在你的应用程序正在使用的这个系统或者其它系统上的工作目录出了问题。可能是因
为你的帐户对该目录没有读取的权限，或者是因为包含该目录的文件系统安装得不正
确。请退出应用程序的执行并重试。如果问题依然存在，请与你的系统管理员联系。






-921	发生系统错误。传递给 sqlexec 服务器的参数非法或数量不正确
。

该内部错误表明您的应用程序与另一个计算机系统上的数据库服务器之间的通信失败。请检查所有的软件组件是否具有兼容的软件级别。如有必要，重新编译并重新链接您的应用程序
。如果该问题重复出现，请记下所有情况并联系 IBM 技术支持
。

对于 Windows 系统，请查看《Client Installation and Configuration Guide》以获取有关使用 Setnet32 设
置对客户机/服务器通信有影响的环境变量的信息。

对于 V6.0 之前的版本，请参阅相应的《GBase  NET/GBase  STAR Installation and 
Configuration Guide》以获取兼容性图表。



-919	发生系统错误。传递给数据库服务器进程的参数数量不正确
。

该内部错误表明您的应用程序、GBase  STAR 或 GBase  NET 软件以及另一个计算机系统上的数据库服务器之间的通信失败。请
检查所有这三个软件组件是否具有兼容的软件级别。（对于 V6.0 之前的版本，请参阅相应的《GBase  NET/GBase  STAR 
Installation and Configuration Guide》以获取兼容性图表）。如有必要，重新编译并重新链接您的应用程序。如果该问题重复出现，请记
下所有情况并联系 IBM 技术支持。



-918	从另一个数据库服务器收到意外的数据。

该内部错误表明您的应用程序与另一位置的 GBase  STAR 或 GBase  NET 软件之间的通信失败。请重新启动您的应用程序。如
果该问题重复出现，那么请求系统管理员运行网络诊断。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-917	在使用一个新的数据库之前必须关闭当前的数据库。

这个语句(DATABASE 或者 CREATE DATABASE)要求打开不同的数据库。然而，当前的数
据库位于另外的计算机系统上，因此，你必须使用显式的CLOSE DATABASE
命令将其关闭。(如果你当前使用的数据库与应用程序位于同一个计算机系统上，数据
库服务器会自动将其关闭。)如果这个错误被一个程序收到，请重新检查程序的逻辑，
确保它在[CREATE] DATABASE语句之前执行了一个CLOSE
DATABASE语句。这适用于网络和本地两种情况。






-916	NFS安装表错误。

你试图存取的数据库服务器或者你的DBPATH环境变量中指定的一个路径位于一个NFS
文件系统上。然而，数据库服务器或客户应用程序在访问NFS安装表文件/etc/mtab
(或者，在某些操作系统上的/etc/mnttab)时遇到了一个错误。这可能是因为你的帐户
没有对它的读取权限。请与你的系统管理员联系，使这个文件成为公众可读的。

这条信息出现6.0及以后版本。






-915	不能从一个GBasedbt 动态服务器 2000 客户机上创建一个GBASEDBT-SE 
	数据库。

该CREATE DATABASE语句不能被执行，原因在于你的工作站上与另一个计算机
系统上的数据库服务器产品的类型不同：一个是GBASEDBT-SE，而另一个是其他的
GBasedbt 数据库服务器。您可以在这种配置下操作数据库，但不能创建数据库。

为了能够创建数据库，或者在两个系统上运行同样的产品，或者在其它计算机系统上
本地运行该语句。








-914	系统错误 - 不能写到管道。

这是一个内部错误，它反映了你的应用程序与GBASEDBT-STAR或者GBASEDBT-NET
软件之间的通讯有误。请检查操作系统提供的错误信息。重新启动应用程序。如果问
题再次发生，请记录下所有的现场信息并与GBasedbt技术支持部联系。






-913	网络错误 - 不能从数据库服务器读取。

发生了网络错误。请检查操作系统的错误信息。重新启动应用程序。如果问题再次发
生，请与你的系统管理员联系，并请求他运行网络诊断程序。






-912	网络错误 - 不能写到数据库服务器。

发生了网络错误。请检查操作系统的错误信息。重新启动应用程序。如果问题再次发
生，请与你的系统管理员联系，并请求他运行网络诊断程序。






-911	系统错误 - 无法从管道中读取。

该内部错误表明您的应用程序与 GBase  STAR 或 GBase  NET 软件之间的通信失败。请查找可能提供更多信息的操作系统错误
消息。重新启动应用程序。如果该问题重复出现，请记下所有情况并联系 IBM 技术支持
。



-910	不能从一个GBASEDBT-SE客户机上创建一个GBasedbt 动态服
务器 2000 数据库。

该 CREATE DATABASE语句不能被执行，原因在于你的工作站上与另一个计算机系
统上的数据库服务器产品的类型不同：一个是GBASEDBT-SE，而另一个是其它的
Infirmix数据库服务器。您可以在这种配置下操作数据库，但不能创建数据库。

为了能够创建数据库，或者在两个系统上运行同样的产品，或者在其它计算机系统上
本地运行该语句。








-909	无效的数据库命名格式。

这个语句看来引用了另外的数据库服务器上的数据库，但是数据库名称、节点名或服
务器名、标点可能有误。请重新检查语句，确保所有的限定符都以字母开头(6.0及以
后版本，也可以是下划线)，并且名字中只包含字母、数字或下划线，而且以
dbname@sitename或 //sitename/dbname(6.0之前的版本)，或者dbname@servername 
或 //servername/dbname(6.0及以后版本)的格式。如果你正在使用GBASEDBT-
OnLine for NetWare，请检查你是否按照产品手册中解释的几种格式提供了远程数据
库的名字。






-908	试图与数据库服务器（服务器名）连接失败。

程序或应用程序正试图访问另一个数据库服务器，但失败了。

所要求的数据库服务器是不可用的，或者网络已关闭或拥塞。请求 DBA 
和系统管理员检验服务器和网络是否可以运行。如果网络拥塞，使用环
境变量 GBASEDBTCONTIME 和 GBASEDBTCONRETRY 来调整连接定时。
有关设置这些环境变量的信息，请参考《GBasedbt SQL 指南：参考》。

此信息将出现在 6.0 及以后的版本中。







-907	不能生成当前数据库服务器的套接字。

GBASEDBT-STAR 或者GBASEDBT-NET正在试图访问另外的计算机系统，但是不能建立
连接。请求你的系统管理员检查TCP/IP是否已经正确安装而且功能正常。






-906	不能定位数据库服务器(检查DBPATH)。

DBPATH 环境变量指定的服务器名是无效的。该消息出现在 6.0版和更高版本。

请检查 DBPATH 设置中的每个数据库服务器名是有效的，并且不是太长。在
GBasedbt 动态服务器 2000 中，服务器名最大长度为 128个字符。在其它 GBasedbt 
数据库服务器中，服务器名最大长度为 18 个字符。









-905	不能定位在/etc/services中定位sqlexec service/tcp 服务。

这个系统的GBASEDBT-STAR或GBASEDBT-NET软件安装得不正确。具体来说，未生成系统
配置文件/etc/services (UNIX)或 \etc\services (DOS) 中的入口。请与安装你的
GBasedbt软件的人联系。






-904	授权文件未在许可的GBASEDBT-SQL服务器上注册。

这条信息表明GBasedbt网络软件的安装不完全正确。请检查工作站和网络服务器上的
安装步骤，确保它是正确无误的。






-903	许可的GBASEDBT-SQL服务器不能被访问。

这个语句引用了另外的宿主计算机系统，而且那个系统是活动的、可访问的。然而，
sqlexecd网络daemon没有被启动，因此，不能从它那里得到数据库服务。请与该系统
的DBA联系。请确保GBASEDBT-STAR和GBASEDBT-NET是正确安装的。






-899	太多的冲突

在诊断表中的记录数超出或者将要超出在START VIOLATIONS TABLE语句中的MAX ROWS
短语指定的上限。当一个在目的表上的简单语句(比如INSERT或者SET语句)
引起要插入到诊断表的记录数比用MAX ROWS短语指定的上限多时。这个错误将返回给
在该目的表上发布语句的用户。





-898	不能改变与检查/诊断表联系的表。用户试图增加，删除或者修改某个有检查
和诊断表与之相联系的表中的一个列。



-897	不能修改/删除一个检查/诊断表

用户试图修改或者删除正在作为另一个表的检查表或者诊断表的表。





-896	没有为目的表打开检查表。

如果一个检查表没有为目的表开动，并且一个INSERT，DELETE，或者
UPDATE语句不能满足目的表上的过滤模式对象，发布这个INSERT，DELETE或者
UPDATE语句的用户收到这个消息。

要防止这个错误，可以为目的表开动检查表。






-895	不能产生检查/诊断表。

用户已经为一个目的表发布一个 START VIOLATIONS TABLE 语句。数据库服务器不能
为这个目的表产生检查和诊断表。任一下列情况均可是失败的原因:

    *   目的表已经有一个检查/诊断表。

    *   在START VIOLATIONS TABLE 语句中指定检查和诊断表的名称是非法的。
	比如，如果你在语句中漏了USING子句并且在目的表名称中的字符数加上四个字符
	比最大标识符长度长，检查和诊断表的产生的名称将比最大标识符长度长。
	如果检查和诊断表的名称因为这个原因非法，用户可以在START 
	VIOLATIONS TABLE 语句的USING短语中为检查和诊断表给出清晰的名称来纠正
	这个问题。

    *   在START VIOLATIONS TABLE 语句中指定检查和诊断表的名称于数据库中
	已经存在的表名称匹配。

    *   目的表包括名为 gbasedbt tupleid 或者gbasedbt optype的列。由于这
	两个名称将复制检查表中的gbasedbt tupleid 或者gbasedbt optype的列，数据库
	服务器不能产生检查表。

    *   目的表是临时表。

    *   目的表正在作为其它表的检查或者诊断表。

    *   目的表是系统目录表。





-894	不能找到目标<目标名>。

用户在SET语句中明确指定的目标名称在数据库中没有找到。





-893	因为它的依赖性不能激活/产生目标<目标名>。

用户已经发布了一个SET已经去设置数据库目标为使能或者过滤目标模式。或者用户已
经发布一个CREATE INDEX,CREATE TRIGGER或者CREATE TABLE已经去产生一个使能的或
者过滤模式的数据库目标。但是，这个目标需要其它的无效目标。比如，在使能一个
表上的引用约束时，用户必须首先激活该约束需要的索引。





-892	不能使目标<目标名>无效，由于其它活动目标正在使用它。

其它目标正在使用这个目标，如果正在使无效的目标是一个索引，则一个唯一约束，
基本约束或者引用约束可能正在使用这个目标。如果这个目标是唯一的或者是基本约
束，则可能一个引用约束正在使用这个目标。





-891	临时表对象仅仅可以被激活

你不能改变临时表目标的目标模式为使不能的或者为过滤目标模式。





-889	内部数据跳过条件应该重新定位到下一行，然后继续执行
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-888	不能连上一个有约束的表。

你试图连上一个有约束的表。请先将所有的参照的和主的约束去掉，然后重新试图继
续连接。





-887	由于权限、视图或约束的限制，不能取消。

你不能使用RESTRICT选项REVOKE一个权限，如果该操作将导致被抛弃的权限、被抛弃
的视图或者被抛弃的表约束。请参考GBASEDBT-SQL指南：Tutorial 中的说明。





-886	由于依赖关系的存在，不能取消表或视图。

当你使用DROP TABLE或DROP VIEW语句时，如果你指定了RESTRICT选项并且存在一个视
图或者外码约束依赖于表或视图，那么表或视图不能被取消。当你指定了RESTRICT选
项并且该表存在一个检查和诊断表时，你同样不能取消该表。





-885	传给dbinfo(utc_to_datetime)的utc 时间是无效的或NULL。

你试图将一个无效的或者NULL值传递给dbinfo()函数。请确保你传递到dbinfo()
函数的值是有效的、非空的。





-884	不能变更临时表上的索引。

你的程序试图变更临时表上的索引。请改正你的程序。





-883	不能对分段存储表达式求值。

你的程序中的一个分段存储表达式是无效的。请检查并改正之。请检查表达式的逻
辑。表达式中的某些元件可能并不代表实际存在的或定义的元素，例如字段、散列
值，范围，索引键等。





-882	不能在一个未被分段的表上生成rowid。

你试图使用ALTER TABLE . . . ADD句法在一个未被分段的表上增加一个rowid字段。
这不是合法的用法，因为已经存在一个rowid字段，非分段的表上总是存在rowid的。





-881	由 CONCAT、LPAD、REPLACE 或 RPAD 生成的字符串长度大于最大长度
。

LPAD、RPAD、REPLACE 或 CONCAT 函数所返回字符串的长度不在相应数据类型的长度范围之内（对于 NVARCHAR 或 VARCHAR，长度范围
是 1 到 255 字节；对于 CHAR、 NCHAR 或 LVARCHAR，长度范围是 1 到 32739 字节）。这些函数所返回字符串的数据类型取决于函数正
在格式化的输入字符串的数据类型。请确保函数所返回字符串的长度在返回的数据类型的大小范围之内
。



-880	Trim 字符和 trim 来源必须都是串数据类型。

当你使用 TRIM 函数时，TRIM 字符值表达式与来源字符值表达式的数据类型发生冲
突。字符与来源的值表达式都必须是串数据类型的。请检查一下 TRIM 函数的句法，
确保字符与来源的值都是串数据类型的。





-879	Trim 字符必须为 null 或者长度为1。

TRIM 函数计算出的值为 NULL。但是，TRIM 字符值表达式必须为 null 或者只包含一
个字符。你编写的程序有错误。如果 TRIM 计算出的值为 NULL，说明你的程序插入 
TRIM字符值表达式的值既不是 null ，也不是单个字符。请改正该错误，程序编译，
然后重新运行你的程序。





-878	对一个 READ-ONLY 事务进行了无效的操作。

你在 SET TRANSACTION 语句中指定了一个 READ－ONLY 事务，然后试图变更
数据库。也就是说，READ-ONLY 保证你可以读取数据，但是你不能够变更数据。如果
你希望变更数据，你应该在 SET STATEMENT 语句中指定 READ-WRITE。如果你仅仅
希望读取数据，请改正你的程序，使之不再试图去变更数据。





-877	隔离级已由前面的 "Set Transaction" 设置。

你的程序试图在 SET TRANSACTION 语句建立了隔离级之后对它进行重置。不要在一个
SET TRANSACTION 语句的后面使用 SET ISOLATION 语句。





-876	在一个事务启动之后不能使用 SET TRANSACTION。

当有一个事务是活动的时候，不要使用 SET TRANSACTION 语句。在执行了 DLL 
或者 DML 语句之后，一个事务成为活动的。在 BEGIN WORK 与 SET TRANSACTION
语句之间只允许有 SET EXPLAIN，SET CONSTRAINT，SET DATASKIP 等 SET 语句。





-875	存取方式与隔离级不兼容。

如果你将存取方式设为 READ-WRITE，你就不能将隔离级设为 READ-UNCOMMITTED。





-874	优化器中发生常规异常错误。

如果出现该内部错误，请记下所有情况并联系 IBM 技术支持
。



-873	无效的分段表达式字段。

你不能在一个分段表达式中同时使用不同表中的字段。





-872	在唯一的索引情况下的无效分段策略或表达式。

唯一的索引不能用 round-robin 方法分段。如果索引是用表达式方法分段的，那么分
段表达式中使用的所有字段都必须是索引键的一部分。





-871	Remainder分段只能在最后指定。

如果你指定了一个REMAINDER，它必须是最后一个分段表达式。请重写你的句法，在最
后指定其余字段。





-870	不能重复指定其余分段。

你指定了重复的其余分段。请从你的SQL语句中删除一个其余分段。





-869	分段存储表达式中不允许子查询和过程。

分段存储表达式只能引用当前表中的列以及单个行中的数据值。这些限制不允许子查询
。



-868	不能对附加表进行约束检查。

如果残留表上有检查、参考、主键或NOT NULL约束，你就不能连上这个表。

应该先取消检查、参考、主键或NOT NULL约束，然后连上表。如果您仍然
需要使用该约束，可以重新建立它。






-867	不能生成新的rowid。

更多的信息请参见伴随的 -ISAM错误。如果一个表中有serial或rowid字段，那么表中
能够容纳不超过2G字节的记录。





-866	不能连上包含serial字段的表。

在使用一个 ALTER FRAGMENT . . . ATTACH 语句之前，你必须先取消所有的serial字
段或者修改字段的类型。





-865	不能在增加或取消rowid的同时进行其他的变更表选项。

你必须使用一个单独的ALTER TABLE . . . ADD 或 ALTER TABLE . . . DROP 语句来
增加或取消rowid。





-864	不能够连上一个带rowid的表。

在你连上一个表之前，你必须先取消残留表上的rowid。





-863	不能够分离一个带rowid的表。

在你使用ALTER FRAGMENT . . . DETACH之前，你必须先取消rowid。请参阅 
GBASEDBT-SQL 指南: 句法部分的句法和用法。





-862	变更分段连接必须至少指定一个被消耗的表。

你还没有指定将被消耗的表。请参见 GBASEDBT-SQL 指南: 句法部分中关于ALTER
FRAGMENT . . . ATTACH 的句法和用法。





-861	不能够生成新的PDQ线索。

更多的信息请参见伴随的 ISAM 错误。





-860	一个分段的对象拥有的分段数必须大于1。

你将一个对象分成一个分段。要将对象放入一个单个的dbspace，应该使用IN子句代替
FRAGMENT BY 子句。





-859	'Distributions only'在一个Update statictics LOW请求中是无意义的。

你不能在UPDATE STATISTICS语句的 LOW模式中指定DISTRIBUTIONS ONLY选项。





-858	不能在一个分段存储说明中指定同一个dbspace两次。

你在同一个分段存储说明中多次指定了同一个dbspace。请修改分段存储说明，使每个
分段有不同的dbspace。





-857	Rowid 在表中不存在。

你不能取消一个不存在的rowid。你指定的rowid并不存在于指定的表中。在你的SQL语
句中应该避免使用rowid。可以用主键代替rowid来删除数据。





-856	Rowid 在表中已经存在。

指定的表已经存在一个rowid字段。你不能多次为同一个表生成rowid。请修改你的SQL
语句。





-855	不能取消一个未分段的表的rowid。

你试图用 ALTER TABLE . . . DROP 句法来取消一个未分段的表的rowid字段。一个未
分段的表有一个rowid字段，但它是不可取消的。





-854	未找到后端。或后端正忙。

在 DOS 中，应用程序无法建立与本地 GBase  SE 引擎或 GBase  NET PC 通信模块之间的连接
。

必须首先装入 SE 引擎（用于访问本地数据库）或 GBase  NET PC 通信模块（用于访问远程数据库），然后才能通过各种方法（例如，
DATABASE 语句）连接到它们。要装入 SE 引擎，请运行 PSTARTSQ。要装入 GBase  NET PC 通信模块，请运行 REMSQL
。

如果您遇到了该错误消息时先前已装入 SE 引擎或 GBase  NET PC 通信模块，那么可能是另一个应用程序当前已连接到 SE 引擎或 IBM 
GBasedbt NET PC 通信模块（这两者一次只能有一个连接）；或者当前应用程序遇到了内部错误而丢失连接
。

如果另一个应用程序连接到 SE 引擎或 GBase  NET PC 通信模块，那么您必须首先释放该连接，然后才能连接当前应用程序。如果其他应用程序
是 4GL 或 ESQL/C 程序，那么该应用程序通过执行 CLOSE DATABASE 语句、调用 SQLEXIT( ) 函数或退出来释放其连接
。

在发生内部错误的极端情况下，必须退出应用程序并通过 DOS 命令行停止 SE 引擎或 GBase  NET PC 通信模块。要停止 SE 引擎，请运
行 PSTARTSQ 并带 -T 选项。停止 SE 引擎，请不带任何选项运行 PSTARTSQ 以将其重新装入。要停止 GBase  NET PC 
通信模块，请带 -T 选项运行 SETNET。停止 GBase  NET PC 通信模块后，运行 REMSQL 以将其重新装入
。

当客户机 Windows 应用程序使用错误的 .DLL 文件以连接到网络上的数据库服务器时，也可能会出现该错误消息。用于 GBase  NET PC
V4.1（如 V4.1 ESQL/C）的客户机 Windows 应用程序也可用于 GBase  NET for Windows V5.01。检查以了
解 GBase  NET PC V4.1 和 GBase  NET for Windows V5.01 是否并发驻留在同一客户机计算机上
。如果是，请检查 V5.01 的 LDLLSQLW.DLL 文件在 PATH 环境变量设置中出现在 V4.1 的 LDLLSQLW.DLL 文件之前。此外，
V4.1 的 LDLLSQLW.DLL 文件不得驻留在当前目录、Windows 目录、Windows\SYSTEM 目录或包含正在运行的应用程序的可执行文件目录
。



-853	由于错误或者遗漏COMMIT WORK，当前的事务被滚回。

在执行一个命令文件中的SQL语句的时候，GBASEDBT-SQL 接收到一个错误返回码，或
者执行到文件的尾部却没有找到 BEGIN WORK 语句。由于事务正在进行之中(如果文件
中包含 BEGIN WORK 或者数据库是符合 ANSI 标准的)，GBASEDBT-SQL 将事务滚回。
(不能留下打开的事务，而且即使没有错误返回也不能假定成功。)






-852	写操作失败。卸出<计数>行(检查用户限制或磁盘空间)。

在将<计数>行输出写入卸载文件之后，再试图写入下一行时发生错误。请检查一下操
作系统信息，它可能给出更多的信息。这可能是由磁盘已满或者磁盘的定额限制引起
的。






-851	不能删除文件(检查文件的许可权限)。

你请求删除一个文件，但是这个文件不能被删除掉，这可能是由于你的帐户没有该文
件或者它所在目录的写权限。请使用操作系统命令检查文件的权限。






-850	用户无权修改此菜单。

只有生成本数据库的系统菜单的用户才能够修改菜单结构。该用户是在本数据库是"当
前的"的时候选择"用户菜单"显示的"修改"选项的第一个用户。按照下面的方法查询
systables找到这个人。

SELECT owner FROM systables WHERE tabname LIKE `sysmenu*'

如果这样不太合适，你可以请求那个人取消系统菜单和系统菜单项表，并且让应该维
护系统菜单的人重新生成菜单。






-849	在表单规范中发现警告。

您请求编译表单规范，编译已完成，但表单编译器报告了一个或多个警告。在尝试使用表单前并不要求您更正警告，但建议您这么做。错误消息保存在 formname.err 
文件中。



-848	Form4gl不能对屏幕表格进行编译。

你请求对一个屏幕表格说明进行编译，但是屏幕表格编译器报告了一个或者多个错
误。请在改正了屏幕表格说明之后重新进行编译。你可以在<屏幕表格名称>。err文
件中找到错误信息。






-847	在装入文件的<行号>行时发生错误。

在装入数据文件的指出的行的数据时出现问题。在插入了指出的行之前的所有行之
后(即插入了<行号>-1行)。如果该操作位于一个事务中，该事务将被滚回；如果不是
这样的，那么你在重复该操作之前需要删除表中已经插入的行或文件中已经使用过的
行。为了改正文件，请察看一下附加的错误信息，这有助于找出问题所在。可能的原
因是指出的行中的显示字段(分界符)不足或者太多。也可能由于存在数据转换的问
题，例如一个数值型的显示字段中有非数值字符，DATETIME值的格式不正确，或者
一个串数据过长等。还有一种可能是在不允许出现null的字段出现了null显示字段(
长度为0的)。请编辑装入文件以纠正错误；察看一下后续的行中有无类似的问题，然
后重复被中止的操作。






-846	装入文件中值的数量与列数不相等。

LOAD 处理器会计算文件第一行中定界符的数量，以确定装入文件中值的数量。如果指定了定界符，那么对于表中的每一列或列列表中的每一列都必须存在一个定界符。请检查您
是否指定了期望的文件，并检查该文件是否使用正确的定界字符。文本中的空行也会导致该错误
。

如果 LOAD 语句未指定定界符，请验证缺省定界符是否与文件中使用的定界符匹配。如果您对缺省定界符存有疑问，请在 LOAD 语句中指定定界符
。



-845	数据库中没有用户菜单。

本数据库中不包含系统菜单表或者菜单表是空的，也可能由于顶层菜单未命名为
main。确保你正在使用你实际想要使用的数据库。或者咨询为本数据库定义用户菜单
的人。






-844	语句太长 -- 内存不够。

GBASEDBT-SQL不能够分配足够大的内存缓冲区来存放该语句。只能设法缩短该语句
或者将其写成两个或多个部分。







-843	不能写临时文件。

GBASEDBT-SQL正在试图将当前的SQL源文件写入一个临时文件以备编辑，它接收到一个
非期望的操作系统返回码。请察看操作系统的错误消息以得到更多的信息。可能的原
因是你的帐户没有对/tmp目录或者DBTEMP环境变量中指定的目录的写权限，也可能是
因为磁盘已满。从5.01版开始，DBTEMP环境变量由 GBASEDBT-SE服务器使用，而不由 
GBASEDBT-OnLine 动态服务器使用。






-842	不能读取临时文件。

GBASEDBT-SQL已经生成了一个临时文件；现在它正在试图从临时文件中读取数据。但
是，它接收到一个非期待的操作系统返回码。这可能是由于你或者其他用户已经删除
了这个文件，也可能是由于发生了一个硬件错误。






-841	命名必须以字母或"_"开始，而且只能包含字母，数字或者"_"。

数据库的命名，以及报表、屏幕表格和其他文件的命名都必须遵守上面所述的规则。
请在正确命名之后重复当前操作。从6.0版开始，下列标识符的命名可以以下划线开
始：字段，连接，约束，数据库，索引，过程，同义字，表，触发器，视图，服务器
和游标名。






-840	名字过长。

数据库的名字以及报表、屏幕表格和其他文件的名字的长度不能大于10个字符。请选
择一个新的、更短的名字，然后重复当前的操作。在DOS系统下，文件名中至多可以包
含8个字符和另外3个字符的扩展名。






-839	表未被找到。

你指定了当前的数据库中不存在的一个表名。请重新察看表名的拼写并确保你使用了
正确的数据库。请参考-310号错误中关于如何显示所有表的名字的方法。






-838	装入文件中的一行过长。

LOAD 的输入文件中的每一行必须先整个地读入存储器之后才能得到处理。
GBASEDBT-SQL在必要的时候重新设置它的内存缓冲区的大小以保存当前行，但是在当
前的情况下它无法分配足够大的缓冲区。这个错误经常是由于装入文件中有TEXT或者
BYTE类型的数据值，或者非常长的CHAR类型的值。一行的所有值必须包含在装入文件
的一行中。如果你不能获得足够多的可用内存来重新运行程序，那么你修改装入文
件，使之每行中的值更少或者更短。你也可以试用dbload实用工具来装入。






-837	没有足够的可用内存。

GBASEDBT-SQL 需要为某一个小的工作区分配内存，但是不能分配。你可以终止程序的
运行，然后重新启动程序；如果这样还不能解决问题，请找你的系统管理员要求更多
的内存。在DOS系统下，你需要释放掉一些磁盘空间。

在4.1版之后，数据库服务器不再产生这条错误信息。请参看-208号错误信息中的相关
错误信息。






-836	插入语句没有values子句。

INSERT语句是当前的LOAD命令的一部分，它需要一个VALUES子句。请进行更正，在
语句中加入一个VALUES子句。






-835	当前的子句在交互方式下无效。

WHERE CURRENT OF子句只有在使用游标来读取行的程序中才有意义。在当前的交互式
上下文中，你必须在你的WHERE子句中指定CURRENT之外的条件。






-834	Sformbld不能对屏幕表格进行编译。

报表编译器sformbld在对一个报表说明进行编译的时候遇到一个错误。请查找
sformbld和操作系统的其他错误信息，可能会提供更多的信息。






-833	Saceprep不能对报表进行编译。

报表编译器saceprep在对一个报表说明进行编译的时候遇到一个错误。请查找
saceprep和操作系统的其它错误信息，可能会提供更多的信息。






-832	在表单规范中发现错误。

在报告规范编译期间发现一个或多个错误。请编辑报告规范文件，然后再次编译。请遵循提示以查看错误消息。要查找这些信息，请使用 finderr 实用程序
。



-831	在报告规范中发现错误。

在报告规范编译期间发现一个或多个错误。请编辑报告规范文件，然后再次编译。请遵循提示以查看错误消息。要查找这些信息，请使用 finderr 实用程序
。



-830	未找到报表。

在当前目录和DBPATH环境变量中列出的目录中都未找到你指定的需要进行编译的报表
说明。请检查名字的拼写以及DBPATH的设置。






-829	未找到屏幕表格。

在当前目录和DBPATH环境变量中列出的目录中都未找到你指定的需要进行编译的屏幕
表格说明。请检查名字的拼写以及DBPATH的设置。






-828	未找到命令文件。

在当前目录和DBPATH环境变量中列出的目录中都未找到你指定的需要进行编译的SQL命
令文件。请检查名字的拼写以及DBPATH的设置。






-827	未找到数据库。

请参见错误号-329的讨论。






-826	Fork系统调用失败。

这个内部错误表明不能启动一个子进程，这可能发生在使用了"使用编辑器"选项时试
图从DB-Acess进入vi时。请寻找可能给出更多信息的操作系统信息。重试同一操作，
如果错误再次发生，请与你的系统管理员联系。在DOS系统下，你可能遇到了内存不足
的情况；这时你可以退回到操作系统的命令行并重新提交你的程序。






-825	未找到程序。

无法找到一个支持的可执行文件。它应该位于GBASEDBTDIR环境变量指定的目录中。请
与安装gbasedbt软件的人联系。






-824	insert 语句中缺少 values 子句。

当前的 GBase  产品可能都不会返回该消息。如果确实出现了该消息，请参阅有关错误 -836 的讨论。如果该错误重复出现，请记下所有情况并联系 
IBM 技术支持。



-823	没有可以运行的语句。

你选择了Run选项却没有输入SQL语句。你可以输入一个语句或者用Choose装入一个。






-822	语句已经被保存过了。

当前的SQL语句已经用屏幕顶部显示的名字保存过了。(这条信息看起来不再出现。)






-821	不能为缺省的报表打开文件。

你已经请求生成一个缺省的报表说明。这个文件被保存在当前目录中，但是某些问题
使操作失败了。这可能是由于磁盘已满或者你的帐户不允许你在这个目录下写入文
件。






-820	没有更多的数据可以显示。

被选中的行已经显示完毕。这不是一个可滚屏的显示器；这些行不能被再次显示出
来。你可以从头重新开始查询或者输入一个新的查询。






-819	菜单中没有菜单项。

你选定的菜单中没有菜单项。你可以选择其他菜单或者修改当前的菜单。如果你认为
菜单中应该有菜单项，请检查当前数据库的sysmenuitems表的内容。






-818	未找到指定的用户菜单。

找不到需求的用户菜单。请检查菜单名的拼写。如果它确实是你所希望的，请检查当
前数据库的sysmenus表的内容；该菜单可能未在数据库中定义。






-817	不能读取文件(检查文件的许可权限)。

不能读取前一个命令中指定的文件。这很可能是由于你的帐户没有对该文件进行读取
的操作系统许可权限。请检查许可权限，然后再运行程序。






-816	不能写文件(检查文件的许可权限)。

不能对前一个命令中指定的文件进行写操作。这很可能是由于你的帐户没有对该文件
进行写操作的权限。请检查许可权限，然后再运行程序。






-813	不能将输出写入管道(没有读取进程)。

在Output选项下，你通过管道将输出送给命令或者程序。尽管管道已经建立起来(表明
命令有正确的句法并且命名了已存在的程序)，它可能被关闭了。这表明管道中的(第
一个)程序在接收完所有输出之前终止了。它可能是由于一个错误而退出，也可能是由
于你或者其他用户使用kill命令使它终止了。请检查一下管道程序的信息，这可能会
对它退出的原因予以解释。






-812	不能打开管道进行输出。

在Output选项下你选择了To-pipe并且指定了一个程序或者命令来接收该输出。然而，
GBASEDBT-SQL不能够打开到那个程序或者命令的管道。请重新检查一下你键入的命令
或者程序，看它是否是有效的UNIX或DOS命令，而且它必须在当前的可执行程序路径中
可以找到。同时看一下操作系统的错误信息，因为你可能超出了系统在内存或者进程
方面的定额限制。






-811	不能打开打印机进行输出。

应用程序试图打开DBPRINT环境变量中指定的设备，结果失败了。请检查变量的设
置，然后重新运行程序。






-810	不能打开用来保存的文件。

SQL命令文件不能被保存。请检查你的帐户是否有对当前目录的写权限，以及磁盘是否
已满。






-809	SQL 发生了语法错误。

该 LOAD/UNLOAD/INFO 语句中的 INSERT 语句有非法语法。
请检查标点和关键字的使用。







-808	不能打开选择文件。

你为Choose菜单选项指定的SQL命令文件不能被打开进行输入。请确保此文件在当前目
录中，而且对你的帐户是可读的。






-807	不能打开文件进行输出。

程序不能够打开你在Save选项中指定的文件。这个文件应该被保存在当前目录下。这
可能是由于你的帐户没有对该目录的写权限。也可能是由于那个目录中存在一个同名
的只读文件(你可以试试换一个名字保存来消除这种可能性)。也可能是由于磁盘已
满。请检查操作系统信息，它可能告诉你更多的信息。






-806	不能打开卸载文件。

打不开UNLOAD命令中指定的输出文件。请检查伴随的ISAM错误码以得到更多的信息。
可能需要更完整的路径名；文件虽然存在但是你的帐户没有对它的写权限；或者是磁
盘已经满了。






-805	不能打开装入文件。

打不开LOAD命令中指定的输入文件。请检查伴随的ISAM错误码以得到更多的信息。可
能需要更完整的路径名；文件不存在；你的的帐户没有对它或者它所在的目录的读取
权限。






-804	注释不完整。

这个语句包含一个位于大括号之中的注释 { }，但是括号不完全匹配。请检查语句中
的标点符号，确保所有的大括号都有配对。






-803	文件过大，无法进行内部编辑。

你用“选择”选项选定的SQL命令文件太大，无法存入编辑缓冲区中。编辑缓冲区的大
小是动态变化的，程序无法为存放命令文件的内容分配足够的存储空间。(在DOS下，
如果命令文件的大小超过了64K字节，那么也会发生这个错误。)请确保你指定的文件
是你实际需要的，而且是一个SQL命令文件。如果它确实是你希望指定的，那么你只能
将它拆成若干个小的文件，然后分别使用它们。






-802	不能打开运行文件。

无法打开要你指定的、需要读取的SQL命令文件。请检查一下指定的文件名。如果它拼
写无误，那么请确保它位于当前目录或DBPATH环境变量中的一个目录之中，而且你的
帐户有对它的读取权限。






-801	SQL编辑缓冲区已满。

文本编辑器无法扩展用来保存你的SQL语句的缓冲区，因为没有更多的可用数据空间内
存。如果你在缓冲区中有多个语句，请逐个地执行它们。






-800	CASE 表达式或 DECODE 函数中的相应数据类型必须兼容。

CASE 表达式中所有 WHEN 子句的全部结果值应具有兼容的数据类型。在 CASE 表达式的线性使用中，跟在 CASE 关键字后面的“值-表达式”应该与跟在 
CASE 表达式中所有 WHEN 关键字后面的“值-表达式”兼容。在修改 CASE 表达式后请重新发出查询以便所有相关的表达式都具有兼容数据类型
。

当 DECODE 函数的表达式没有兼容的数据类型时，也可能发生该错误。DECODE 函数可以存在四种表达式：expr、when_expr、then_expr 和
else_expr。when_expr 的所有实例必须和 expr 相同或二者具有兼容的数据类型。then_expr 的所有实例必须和 else_expr 相同
或二者具有兼容的数据类型。在修改 DECODE 函数后请重新发出查询以便所有相关的表达式都具有相同或兼容的数据类型
。

当调用在各数据类型之间使用隐式强制转型和比较的函数（如 NVL 函数）时，也可能发生该错误。在这种情况下，请修订您的程序逻辑（例如，通过添加显式强制转型）。这样
表达式将返回相同或兼容的数据类型。



-797	分段非空。

分段包含数据行或索引项，不为空。



-796	行的分段位置超出了允许的最大值。

行的分段位置超出了 2147483646。考虑更改时间间隔值表达式或转换值以容纳行
。



-795	时间间隔分段的一个或多个数据库空间不可用。

时间间隔分段表或索引的 STORE IN 子句中一个或多个数据库空间的主块（如果存在镜像块，也包括在内）不可使用。回滚当前事务并终止应用程序。请联系数据库服务器
管理员以修复数据库空间。



-794	时间间隔分段的一个或多个数据库空间不存在。

时间间隔分段表或索引的 STORE IN 子句中一个或多个数据库空间不存在。请联系数据库服务器管理员以添加数据库空间。或者，您也可对表或索引使用 ALTER 
FRAGMENT 语句修改 STORE IN 子句以列出系统中存在的数据库空间。始终确保数据库空间的页面大小与表或索引的页面大小相匹配
。



-793	数据库空间的页面大小与表或索引的页面大小不匹配
。

数据库空间的页面大小与表或索引的页面大小不匹配。表或索引的所有分段必须创建在相同页面大小的数据库空间中。如果是时间间隔分段表或索引，请确保 STORE IN 子
句中所有数据库空间具有相同的页面大小并与初始分段数据库空间大小相匹配
。



-792	无法更新时间间隔分段的 sysfragments 系统目录表。

为新创建的时间间隔分段更新 sysfragments 系统目录表时发生错误。导致该错误的常见原因是磁盘空间不足
。



-791	找不到行的分段。

查找行的分段时发生错误。对于时间间隔表或索引，对行的分段位置进行求值时失败
。

通过分段存储策略的定义检查行中的数据值，以验证行是否能够存储在初始范围分段或时间间隔分段中
。



-790	无法创建时间间隔分段。

创建时间间隔分段时发生错误。在延迟一段时间后重试操作。如果该错误持续存在，请记下所有情况并联系 IBM 技术支持
。



-789	内部错误 - 未正确定义表达式。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-788	运算符/类型未知。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-787	"象表一样"地被分段的索引不能被变更。

如果你未在CREATE INDEX语句中指定一个存储说明，那么索引将与基本表同样地被分
段，同时要满足分段索引的各种限制条件。例如，如果基本的分段存储策略为
round-robin，而索引为唯一的，那么将返回一个错误码。你不能变更这种索引分段存
储类型。如果你希望变更索引分段存储，你可以使用ALTER INDEX 的INIT选项分离索
引。这就使得索引与表是相互独立的，从而允许你分别独立地变更它们。





-786	无法附加到此表，因为它不在 ATTACH 子句中的表列表中
。

尚存的表未分段或者哈希分段，且必须出现在附加列表中，才能使其现有分段在生成的分段存储模式中正确定位
。



-785	由于表或者索引的分段存储，不能取消字段。

在取消字段之前，你必须变更分段存储表达式，取消对字段的引用。





-784	由于参照约束的存在，不能分离。

已存在的参照约束不允许你执行分离。在对dbspace或表执行datach操作之前，你必须
先取消参照约束。





-783	由于模式不兼容，不能连上。

互不兼容的表模式不允许你执行attach操作。当你执行attach时，表的模式必须相
同。可以先用ALTER TABLE语句使模式兼容，然后再执行ALTER  FRAGMENT . . . 
ATTACH 操作。





-782	被连上的表是分段的。

当你连上表时，被使用的表不能是被分段的。





-781	不能在一个临时表上变更分段存储。

你试图变更一个基于临时表的分段。一般来说，不允许对TEMP表进行动态修改。如果
你需要不同的分段存储模式，你必须重新生成临时表。





-780	表/索引未被分段。

由于表或者索引未被分段，你不能执行ALTER FRAGMENT 操作。对表或索引进行分段，
或者不要执行分段存储操作。





-779	在变更分段说明中重复使用了表名。

你不能多次联结同一个表。请确保在你变更分段说明时，每个表只能联结一次。





-778	不能在索引上变更分段存储的方案。

在ALTER FRAGMENT操作中，索引的分段存储策略不能变更。查看伴随的ISAM 错误以
得到更多的为何ALTER FRAGMENT操作失败的信息。





-777	内部错误 - 函数对于分段表无效。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-776	变更分段错：不能将行移到新的分段存储方案中。

在ALTER FRAGMENT 操作中，行不能移到另一个分段存储策略中。查看伴随的ISAM 错
误以得到更多的为何ALTER FRAGMENT操作失败的信息。





-775	表/索引未使用分段分区名称。

在 ALTER FRAGMENT 操作期间指定的分区不正确，因为该分区不包含任何段。请指定一个具有段的分区。如果在创建时未指定分区名称，那么该名称缺省设为数据库
空间名称。



-774	不能用一个round-robin 分段存储指定分段表达式。

如果表分段存储是基于round-robin 策略的，在ALTER FRAGMENT 操作中不能指定一个
分段表达式。





-773	表达式要求一个新的分段。

当增加一个分段到一个基于分段存储策略的表达式中时，必须为新的分段指定一个表
达式。重写SQL语句使之包括一个分段表达式。





-772	记录/键对任何表/索引分段都不合格。

该错发生在插入或更新一个记录时。最可能的原因是一个未指定REMAINDER的非法的分
段存储说明。最容易的改错方法是增加一个REMAINDER分段到SQL语句中。但是最好的
方法可能是重新检查原始的分段存储说明，找出错误的原因，在ALTER FRAGMENT语句
中定位它。





-771	指定的表锁定标识不正确。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-770	指定的分段标识不正确。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-769	内部错误 - 迭代器执行/阶段参数出错。

如果您无法找到导致该内部错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-768	例程 routine-name 中发生内部错误。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-767	不能用带检查选项的视窗UPDATE/INSERT一个远程表。

当使用带检查选项的视窗时，不能对驻留在网络之上的表执行UPDATE或INSERT操作。
从视窗中取消全部检查选项或本地执行UPDATE/INSERT。





-766	串必须以null结尾。

在GBASEDBT-ESQL/C中，如果在一个INSERT语句或一个SQL语句的WHERE子句中使用宿主
变量，且数据库是ANSI兼容的，串必须以null结尾。






-765	不能EXECUTE一个已DECLARE的语句。

不能执行一个已经说明的准备好的语句。但是，可以使用 EXECUTE INTO (或EXECUTE 
PROCEDURE INTO) 而不是执行DECLARE, OPEN,和 FETCH 语句为一个准备好的单个的
SELECT语句指定一个输出变量。






-764	在该方式中只有DBA可以在数据库上运行修改统计。

试图在该方式中，在整个数据库上带DROP DISTRIBUTIONS 子句运行UPDATE
STATISTICS
语句，并且不是LOW模式。只有用户gbasedbt或数据库管理员可以做该操作。






-763	检查环境初始化错误。

这是一个全目标信息，意在指出当用户试图与一个加密的数据库服务器连接时出现了
问题。与安全管理员或DBA联系如何进行操作。






-762	进行语句分析时栈溢出。

这条错误说明SQL分析器已达到了一个内部的内存极限。当查询包含过多的嵌套表达式
时出现该错。例如，该查询的WHERE子句中包含很多AND或OR。解决的办法是重写查询
取消一些嵌套的表达式。






-761	GBASEDBTSERVER 与 DBSERVERNAME 或DBSERVERALIASES 都不匹配。

GBASEDBTSERVER 环境变量与 DBSERVERNAME或设置在试图连接的服务器的ONCONFIG
配置文件中的任何DBSERVERALIASES不匹配。检查环境变量和ONCONFIG 配置文件，确
保GBASEDBTSERVER与ONCONFIG文件中的一个设置匹配。






-760	远程过程必须在返回之前提交或恢复。

当过程将控制返回应用之前远程过程必须执行COMMIT WORK 及 ROLLBACK WORK语句。





-759	在显式数据库连接中不能使用数据库命令。

如果使用 CONNECT TO database@server 语法来与数据库和服务器连接，
则在停止当前连接之前不能选择另一数据库。






-758	不能隐含地重连接一个新服务器<服务器名>。

如果使用CONNECT TO 语句连接一个服务器，不能通过DATABASE，START DATABASE等等
DATABASE语句之一隐含地重连接另一个服务器。必须用SET CONNECTION语句转向它。






-757	针对高性能批量插入操作的文件打开无法伪关闭。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-756	评测版本已经期满。

本产品的评测版本只能工作一段指定的时间周期。它允许你评测本产品但不能长期使
用。当评测版本期满后，电话联系GBasedbt定购本产品的标准版本。






-755	不能存取许可证文件以发布许可。

可能不具备进行某种特定操作的许可。与系统管理员一起检查。






-754	不能存取许可证文件。

系统找不到用户的许可证文件。用户许可证文件可能尚未安装或未正确安装。也可能
因为没有存取用户许可证文件的正确的文件许可或目录许可。参考安装文件。






-753	拒绝存取-已超越了单用户极限。

许可加强只为单用户配置；多重用户不能同时使用本产品。如果在一个远程机器上使
用本产品，该产品只对非网络环境实施许可。如果从本地机器上使用本产品，等待当
前用户退出后再试一次。






-752	全部Smart Disk 设备忙。

等待一段时间，重试Smart Disk 操作。





-751	在5.01之前的服务器上不允许执行远程过程。

触发器的动作子句包含一个未在数据操作语句中调用的SPL 例程，该过程将被一个外
部的5.01之前的数据库服务器执行。这是不允许的。一个在数据操作语句中调用的
 SPL 例程不能执行某种SQL语句的限制，包括与事务有关的语句。与事务有关的语句
 在一个触发器动作的 SPL 例程中是不允许的。一个早于5.01的数据库服务器不配备
 来检查这些，所以过程是不允许的。如果可能，在一个5.01或更高版本的数据库服
 务器上执行该过程。







-750	table_name 的分发格式无效。

该内部错误不应发生，除非数据库已遭受某种形式的损坏。要重新构建分发，请使用 UPDATE STATISTICS。如果该错误重复出现，请记下所有情况并联系 IBM
技术支持。



-749	远程游标操作在5.01之前的服务器上不允许。

触发器语句或游标操作由5.01之前的数据库服务器发送。这是不允许的。






-748	级联的触发器数超过了最大极限。

超过了级联触发器的最大数61。可以关掉触发器而不实现它。可以查询systriggers
系统目录表，找出数据库中存在着什么样的触发器。要跟踪触发动作，可在 SPL 例程
中放置初始化触发器动作子句并使用SPL TRACE 语句。







-747	表或字段匹配在触发器语句中参考的对象。

该错误在下述情形返回：当一个触发的SQL语句作用在触发表上时，或当两种语句被更
新且字段在触发的操作中被更新与字段被触发语句更新是一样时。






-746	信息串

用户为该信息提供信息串。可将此信息用于 SPL 例程中指定的出错条件。对错误
的更正措施取决于引起错误的条件。出错条件和信息文本均由用户自己来定义。







-745	触发器执行失败。

该信息为在触发操作的SPL 例程中指定错误条件这一普遍用途而定义。







-744	在触发器中不合法的SQL语句。

当触发的SQL语句是BEGIN WORK, COMMIT WORK, ROLLBACK WORK, 或 SET 
CONSTRAINTS 时该错误返回。这些语句在作为触发操作时是不允许的。删掉冲突的语
句。






-743	对象<对象名>已经在数据库中存在。

试图在数据库中定义一个已存在的对象。






-742	触发器与串联删除的参照约束不能共存。

删除触发器不能与参照约束共存。

在试图将删除串联外部关键字增加到某个已有删除触发器的表中时，
出现此错误。在试图将删除触发器增加到某个已有删除串联外部关键
字的表中时，也会出现这种错误。





-741	同一事件的触发器已经存在。

为一个事件产生一个触发器，但是已经存在一个该事件的触发器。在一个表中只能有
一个插入或删除触发器。如果在一个更新中定义了多重触发器，在UPDATE语句中的字
段列表必须是互相排斥的-即，不能在超过一个的UPDATE子句中将一个字段命名为触发
字段。






-740	分辨率必须大于0.005，或小于等于10.0。

该参数值决定数据分布的分辨的精确程度。一个10.0的分辨率意即为任何单一选定过
滤器的应用的估计的精确度限制于（+或-）百分之五。大于10.0的值无意义因为它不
能提供关于数据分布的足够的细节。






-739	信任必须在范围[0.80, 0.99]（包括）之内。

如果一个想要的信任值大于0.99，使用HIGH模式。小于0.80的值是不允许的因为可能
会得到一个很差的分布。如果降低信任以使执行一个更新统计命令的时间降低，应该
考虑使用较大的分辨率值。






-738	DROP DISTRIBUTIONS 只在LOW模式下有效。

缺省地，LOW模式不能取消分布，所以需要DROP DISTRIBUTIONS 子句。如果要取消
HIGH或MEDIUM分布，使用DROP DISTRIBUTIONS 子句。






-737	置信度值和 SAMPLING SIZE 子句对于 UPDATE STATISTICS 语句的 HIGH 方式无效
。

请从该语句除去置信度值和 SAMPLING SIZE 子句。

例如，以下语句具有置信度值 0.99：

UPDATE STATISTICS HIGH RESOLUTION 0.1 0.99; 

更正的语句为：

UPDATE STATISTICS HIGH RESOLUTION 0.1; 

如果需要的是基于取样的分布，而不是使用列中所有数据的分布，请将方式从 HIGH 更改为 MEDIUM，并使用 SAMPLING SIZE 子句指定样本数量
。



-736	RESOLUTION 和 SAMPLING SIZE 子句对于 UPDATE STATISTICS 语句的 LOW 方式无效
。

由于数据分布仅在 UPDATE STATISTICS 语句的 MEDIUM 或 HIGH 方式中构造，所以指定解析度或取样大小对于 LOW 方式无意义
。

请从该语句除去 RESOLUTION 子句和 SAMPLING SIZE 子句。

要使用 SAMPLING SIZE 子句，请将方式更改为 MEDIUM。要使用 RESOLUTION 子句，请将方式更改为 MEDIUM 或 HIGH
。



-735	无法引用参与层叠删除的表。

子表或在属于 DELETE 或 MERGE 语句的相关子查询中引用，或者作为 MERGE 语句中的源表进行引用。子表不能是在其上删除将会层叠的表。不允许这些操作
，因为结果取决于处理行的顺序。重新编写您的查询，这样子表不在相关子查询中引用和/或不作为 MERGE 语句的源表进行引用
。



-734	对象名称匹配旧的或新的值相关名称。

该错误在下面三种情况下返回：

    *   触发表名称，或同义字，(如果使用了)，匹配REFERENCING 子句中的旧的或
	新的相关名称。

    *   在动作子句中参考的表名称，或同义字，(如果使用了)，匹配REFERENCING
	子句中的旧的或新的相关名称。

    *   旧的相关名称匹配新的相关名称。

改变相关名称或表名称，然后再执行CREATE TRIGGER语句。






-733	不能参考 CREATE TRIGGER 语句或 CREATE VIEW 语句中的过程变量。

在一个SPL 例程内部有一个 CREATE TRIGGER 语句或 CREATE VIEW 语
句，在 CREATE TRIGGER 语句或 CREATE VIEW 语句中参考了在SPL 例程
中定义的变量。这是非法的。删掉从 CREATE TRIGGER 语句或 CREATE 
VIEW 语句中对SPL 例程变量的参考，然后再试一次。







-732	在触发器内部旧的或新的值相关名称的非法使用。

不能在FOR EACH ROW 节外，或在 EXECUTE PROCEDURE语句的 INTO 子句之中
使用旧的或新的相关名称。使用旧的或新的相关名称来验证SELECT COUNT DISTINCT 
字段也是无效的。例如下面的语句返回该错误：

SELECT COUNT (DISTINCT oldname.colname)

不能对一个插入触发器指定一个旧的相关名称，不能对一个删除触发器指定一个新的
相关名称。






-731	在触发器主体中参考的字段的使用是无效的。

为了插入和删除触发器，这意味着在EXECUTE PROCEDURE 语句（只在一个修改触发器
中允许）的INTO子句中使用了冲突的字段。从INTO子句中删除字段名称。






-730	如果触发器没有FOR EACH ROW，不能指定REFERENCING。

在一个不包括FOR EACH ROW触发操作节的CREATE TRIGGER语句中包括了一个
REFERENCING 子句。删掉REFERENCING 子句或，如果恰当的话，增加遗漏的关键字
FOR EACH ROW，后跟一个此时要发生的触发操作。






-729	触发器没有触发操作。

CREATE TRIGGER 语句不包括一个触发操作。在触发器定义中增加一个触发操作列表，
然后重新提交CREATE TRIGGER 语句。






-728	dbinfo（<参数>）的第一个参数未知。

请检查 dbinfo() 的第一个参数是与下列值之一相对应的引用字符串：'dbspace',
 'version', 'sqlca.sqlerrd1','sqlca.sqlerrd2', 'sessionid', 'coserverid'，
 'utc_to_datetime','utc_current', 'get_tz' 或 'dbhostname'。








-727	无效或NULL tblspace 数送给dbinfo(dbspace)。

用`dbspace' 串常数作为第一个参数调用dbinfo() 函数。必须提供一个有效的表空间
的数或一个能计算出与第二个参数一样的数的表达式。检查是否提供了一个数作为第
二个参数，并且对应于一个有效的表空间的数。






-726	dbinfo()的第一个参数必须是一个引号引起的串常数。

dbinfo()的第一个参数应该是一个引号引起的串常数。如果dbinfo()的第一个参数
是字符串'version'，那么第二个参数也应该是一个引用的串常数。








-725	当读取系统初始化文件$GBASEDBTDIR/cnv50t60.sql 时出错。

确定手迹文件$GBASEDBTDIR/cnv50t60.sql 是可读的。如果是这样但仍失败，重装系
统。






-724	系统初始化文件$GBASEDBTDIR/cnv50t60.sql 丢失。

确定$GBASEDBTDIR/cnv50t60.sql 在正确位置且可读。如果确是，系统仍然失败，重
装系统。






-723	不能禁止在一个符合ANSI标准的数据库中进行日志。

试图使用START DATABASE <数据库> WITH NO LOG句法去取消在一个符合ANSI标准的SE
数据库上的数据库日志。不能在这种数据库上运行该语句来关掉日志。






-722	堆栈空间溢出。

服务器运行的堆栈空间溢出。请求GBasedbt数据库管理员增加在$ONCONFIG (或 
$TBCONFIG) 文件中指定的STACKSIZE参数以分配更多的内存。为使此改变生效，
OnLine必须重新开始。






-721	SPL 例程（<例程名>）不再有效。

试图从一个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 */







-720	返回值数目与 SPL 变量数目不相等。

跟在 INTO 关键字后面的 SPL 变量列表的变量数目不同于活动集合每一行中值的数目。在执行 SPL 的 FOREACH 语句或动态 SQL 的 FETCH 
语句的过程中会发生该错误。

在包含嵌入式 SELECT 语句的 FOREACH 语句中，SELECT 语句中跟在 INTO 关键字后面的变量列表的变量数目与 SELECT 语句检索到的每一
行中的列数或表达式数目不相等。在包含嵌入式 EXECUTE FUNCTION 或 EXECUTE PROCEDURE 语句的 FOREACH 语句中，跟在例程参
数列表后面的 INTO 子句指定了变量数目与例程返回的值数目不相等的变量列表
。

在 FETCH 语句中，跟在 INTO 关键字后面的变量列表的变量数目与 SELECT 语句检索到的每一行中的列数或表达式数目不相等，或与函数调用返回的值数目不
相等。相同 SPL 例程中的 DECLARE 语句使 FETCH 指定的游标与 SELECT 语句或 EXECUTE FUNCTION 或 EXECUTE 
PROCEDURE 语句关联。

例如，当执行过程时，该过程体中的下列动态 SQL 语句会返回该错误，因为对游标的访存会返回两个值 (c1, c2)，但只有一个局部变量 (l_out1) 来接收
这两个列值：

create procedure proc() define qry_str varchar(120); define l_out1  char(10); 

let qry_str = "select c1,c2 from t1";

prepare stmt_id from qry_str; 

declare my_cur cursor for stmt_id; 

open my_cur; 

fetch my_cur into l_out1; 

 .... end procedure; 

要避免该错误，可复查 FOREACH 或 FETCH 语句的逻辑，以验证 INTO 子句中变量列表的变量数目是否与 SELECT 语句的投影列表中的值数目相等，
或与例程返回的值数目相等。FOREACH 和 FETCH 要求 INTO 子句中的 SPL 变量列表与调用返回的值或查询返回的每一行中的值在数量、次序或数据类型
上一一对应。

如果在 FETCH 语句接收该错误时有多个游标打开，那么请确保 FETCH 语句引用了正确的游标
。



-719	循环变量<变量名>不能说明为GLOBAL。

一个全局变量不能用作循环变量。重新定义使它对于循环是局部的，或用另一个（局
部的）变量作为循环变量。






-718	当一个全局的事务被挂起时语句是无效的。

如果一个作为资源管理器运行的OnLine数据库服务器在一个X/Open分布的事务处理
环境中已经挂起了一个事务，它的下一个语句必须是xa_start。全部其它语句皆
不允许。






-717	无效的参数传递给系统函数<函数名>。

一个无效的数据类型被传递给算术函数之一。(HEX(), TRUNC(), ROUND())。






-716	可能不一致的事务。<服务器名称列表>是未知的服务器。

在管理员杀死一个协调者之后该信息出现－OnLine数据库服务器进程、线索或会话使
用tbmode -z 或onmode -z一个协调者作出决定提交或滚回一个两阶段提交事务之后的
任何时间。必须检查未知的服务器每次决定是否本地事务被提交或滚回时留下的
OnLine信息日志或OnLine逻辑日志。如果一些参与的OnLine数据库服务器滚回事务且
其它的提交它，必须判定联网的数据库系统是否处于不一致状态。这个过程在
GBASEDBT--OnLine Administrator's Guide (或，对于版本6.0, 在GBASEDBT-OnLine 
Database Server Administrator's Guide中)中作了详细的描述。






-715	事务状态错。

检索事务状态错误。参看ISAM 错误以取得更多的信息。






-714	不能为BLOB描述符编码。

一个为了在光盘媒体中存储的blob描述符的编码失败。参看从光盘子系统中来的错误
（在7000到7199范围中的错误）以得到更多的信息。






-713	不能为BLOB描述符解码。

一个blob描述符在插入数据行之前解码失败。参看从光盘子系统中来的的错误（在
7000到7199范围中的错误）以得到更多的信息。






-712	不能在非光盘的BLOB字段上插入编码的BLOB描述符。

试图使用DESCR()函数在一个存储在dbspace 或 blobspace中的 TEXT或BYTE字段中插
入一个编码的blob描述符。只能使用该函数将描述符插入存储在光盘媒体上的blob
字段。






-711	不能插入编码的BLOB描述符。

使用DESCR() 函数插入一个编码的blob描述符失败。参看ISAM 错误以得到更多的信
息。






-710	已删除、更改或重命名表 <table-name>。

显式准备的语句可能会产生该错误。这些语句具有以下形式
：

PREPARE statement id FROM "quoted_string" 

在数据库服务器中准备语句之后并在执行该语句之前，该语句引用的表可能已重命名或已更改 － 可能更改了表的结构。因此可能会出现问题。准备语句之后向表添加索引也可能使
该语句无效。

SPL 例程也可能会产生该错误。数据库服务器第一次执行新的 SPL 例程之前，会对 SPL 例程中的代码（语句）进行优化。优化使代码依赖于过程引用的表的结构。如
果表结构在过程优化之后、执行之前发生更改，那么可能会发生该错误
。

“自动重新准备”功能部件使数据库服务器能够在执行已准备的语句和存储过程之前对它们进行检查，以查看是否对这些语句和存储过程所引用的表进行了更改。该功能部件能够防止
许多会导致 -710 错误的常见原因。

如果“自动重新准备”功能部件已启用，那么下列语义适用
：

在执行已准备的语句或 SPL 例程之前，数据库服务器会进行检查，以确定直接或间接引用的表的结构是否已发生更改。如果检测到更改，那么会在重新准备之前检查该语句
：

* SELECT 列表中列的数目或类型发生更改将导致错误 -710。如果发生这种情况，应用程序应该再次准备并执行该语句，以使数据库服务器能够重新描述 
SELECT 列表。

* 对于其他更改，数据库服务器会自动重新准备该语句。如果准备成功，那么服务器会执行该语句
。

存储过程会进行重新优化，如果重新优化成功，这些过程将会执行
。

重新准备语句或重新优化 SPL 例程期间产生的错误会返回给应用程序，以替代 -710 错误
。

如果“自动重新准备”功能部件未启用，那么下列语义适用
：

如果游标引用了无效的已准备语句，那么针对该游标的后续 OPEN 命令将失败；即使 OPEN 命令具有 WITH REOPTIMIZATION 子句也会失败
。

如果在准备语句之后添加了索引，那么必须重新准备该语句并再次声明游标。如果游标基于不再有效的已准备语句，那么您不能只是重新将其打开
。

如果该语句引用的表具有外键，而其中的任何外键引用了在准备该语句之后已重命名的表，那么也会发生该错误
。

每一个 SPL 例程会在第一次运行时（而不是在创建时）进行优化。这种行为意味着 SPL 例程第一次运行可能会成功，但稍后在几乎相同的环境中运行就可能失败。SPL
例程失败也可能是间歇性的，因为一次执行失败后可能会强制产生内部警告，要求在下一次执行之前实施重新优化过程
。

数据库服务器会保留 SPL 例程显式引用的表的列表。每当修改这些显式引用的表时，数据库服务器会在该过程下次执行时对其进行重新优化
。

但是，如果 SPL 例程依赖于只采用间接方式引用的表，那么该表修改后，数据库服务器将无法检测到对该过程进行重新优化的需求。例如，如果 SPL 例程调用了触发器，
表就可能会被间接引用。如果对触发器（而不是由 SPL 例程直接）引用的表进行了更改，那么数据库服务器就不会知道应该在运行该 SPL 例程之前对其进行重新优化。在
更改表之后运行过程时，会发生该错误。

请使用以下两种方法之一从该错误中恢复：

*   发出 UPDATE STATISTICS 语句以强制对过程进行重新优化。

*   重新运行过程。

要防止该错误发生，您可以强制对 SPL 例程进行重新优化。要强制执行重新优化，请执行以下语句
：

UPDATE STATISTICS FOR PROCEDURE procedure_name 

您可以采用以下方式之一将该语句添加到程序：

*   在每一条更改对象方式的语句之后添加 UPDATE STATISTICS 语句
。

*   在每次 SPL 例程执行之前添加 UPDATE STATISTICS 语句。

为了提高效率，您可以将 UPDATE STATISTICS 语句用于程序中发生频率较低的操作（更改对象方式或执行过程）。在大多数情况下，程序中发生频率较低的操作
是更改对象方式。

如果您采用这种方法从错误中恢复，那么必须为每个间接引用已更改表的过程执行 UPDATE STATISTICS 语句，除非该过程还显式地引用这些表
。

您还可以通过简单地重新运行 SPL 例程，以从错误中恢复。存储过程第一次失败时，数据库服务器会将其标记为需要重新优化。下一次运行该过程时，数据库服务器会在运行其
之前执行重新优化。但是运行 SPL 例程两次可能既不实际也不安全。比较安全的选择是使用 UPDATE STATISTICS 语句来强制对该过程进行重新优化
。



-709	Blob字段<字段名>已经聚类。

已经用命名了的blob字段产生了一个光盘聚类。因为一个单一的blob字段只能是一个
光盘聚类的一部分，因此试图在该字段上产生一个新的聚类失败。






-708	光盘聚类<聚类名>已经存在。

试图用一个已存在的聚类名称产生一个新的光盘聚类。必须取消已存在的聚类，或用
一个不同的聚类名称重执行该语句。






-707	在光盘聚类中的Blob字段必须是不同的。

同一字段在CREATE OPTICAL CLUSTER 语句中FOR子句的字段列表中被指定了
一次以上。改变语句使得字段不能出现一次以上。






-706	在过程<过程名>中执行的权限被取消。

一个用户如果未拥有过程或不是DBA，则必须有执行权限去运行一个过程。






-705	不能取消/修改过程 procedure-name。它正在使用中。

试图取消当前正在执行的过程，或试图在当前正在运行的过程上运行 
UPDATE STATISTICS。如果某个过程试图取消自己，或者如果某个嵌
套过程试图取消调用它的过程，就会出现这种情况。

错误实例：

   CREATE PROCEDURE testproc()
   ...
   DROP PROCEDURE testproc; -- 错误
   END PROCEDURE

更正：可用 ON EXCEPTION 语句来捕获此错误而不执行 DROP PROCEDURE 
或 UPDATE STATISTICS 语句。

如果试图取消某个功能索引正在使用的函数或过程，此错误也会出现。






-704	主键已在表中存在。

一个表只能有一个主键。






-703	表 table-name 上的主键有一带 null 键值的显示字段。

试图将 null 值插入某个作为主键部分的字段中，或试图将主要约束增加
到某个具有键字段值为 NULL 的表中。






-702	不能认排他模式打开数据库。

在一个X/Open 分布的事务处理环境中，不能认排他模式打开一个数据库。






-701	语句在 XA 环境中无效。

当试图在 X/Open 分布式事务处理环境内部执行下面的任意一条语句时就会发生该错误
：

*   CLOSE DATABASE 

*   CREATE DATABASE 

*   DROP DATABASE 

*   SET LOG 

*   SAVEPOINT 

*   RELEASE SAVEPOINT 

*   ROLLBACK TO SAVEPOINT 

在该环境中，您可以在 xa_open 调用后执行单条 DATABASE 语句，以便指定当前数据库。但是，在选择该数据库后，不能执行其他 DATABASE 语句。
当试图执行另一条 DATABASE 语句时就会发生错误。



-700	在一个全局事务中语句是无效的。

当用户试图在一个全局事务中执行一个BEGIN WORK,COMMIT WORK, 或ROLLBACK WORK
语句时产生该错误。






-699	事务启发式地滚回。

如果一个GBASEDBT-STAR 两阶段提交事务被所有参与的OnLine数据库服务器启发式地
滚回，将返回这个信息。因为全部数据库服务器滚回了这个事务，网络上的数据库系
统依然是一致的。






-698	不一致的事务。服务器的数目和名称滚回 － 服务器。

如果 GBASEDBT-STAR 两阶段提交或分布式事务执行后得到混合结果，
将返回此错误。这就是说，一些参加事务的数据库服务器滚回它们的
全局事务部分，而其它数据库服务器提交它们的全局事务部分。滚回
工作的数据库服务器的数目总是准确的，但服务器的名称列表（由 DBSERVERNAME 
值指定）可能不完整。如果滚回工作的服务器很多，该列表可能会截
断以节省空间。参考协调者数据库服务器的信息日志可获得服务器名
的完整列表。如果返回了该错误信息，则必须确定联网的数据库系统
是否处于不一致的状态。在《管理员指南》中有这一过程的详细描述。






-697	STEP表达式求值得ZERO。

一个FOR语句的STEP表达式计算得零。

错误的例子：

LET e = -1;
FOR i = 10 TO 20 STEP e+1; -- 错误
	...
END FOR

更正：改变STEP表达式使得它计算出一个非零的值。






-696	变量 变量名 有未定义的值。

在指定值之前引用了 SPL 变量或设置了行字段。

错误示例：

DEFINE my_row_var1 (last_name CHAR(20), id INTEGER);
DEFINE i, j INT; 

LET i = j + 1;                -- 错误
LET my_row_var1.id = new_id;  -- 错误

While

LET my_row_var1 = ROW(NULL::CHAR(20), NULL::INTEGER)::person_rt;
LET my_row_var1.id = new_id;  -- 成功

纠正：在使用之前指定所有变量和参数的有效值。

在SPL 例程中允许行类型变量。在使用这样的变量之前必须将它
初始化。要初始化行类型变量，必须初始化整个变量。初始化每个字段
不能代替初始化整个变量，并且实际上在初始化整个变量之前不能初始化
单独的字段。下面的例子说明在 SPL 中对行类型变量正确的和错误的初始化。
-- 例子说明 SPL 中的行类型变量必须使
-- 整个变量初始化。在不初始化整个变量
-- 的情况下初始化字段是不够的。
 
   drop table table1;
   drop row type person_rt restrict;
   drop function create_person_rt;
   
   CREATE ROW TYPE person_rt (last_name CHAR(20), id INTEGER);
   
   CREATE FUNCTION create_person_rt(new_name CHAR(20), new_id INTEGER)
   RETURNING person_rt;
   DEFINE my_row_var1 person_rt;
   -- 在初始化整个变量之前，不能初始化变量
   -- 的单独字段。如果此时执行下列
   -- 语句，那么它将失败，并且错误是 -696。
   -- LET my_row_var1.id = new_id;   
   -- 初始化整个变量。
   LET my_row_var1 = ROW(NULL::CHAR(20), NULL::INTEGER)::person_rt;
   -- 现在设置单个字段。
   LET my_row_var1.id = new_id;
   LET my_row_var1.last_name = new_name;  
   RETURN my_row_var1;
   END FUNCTION;
    
-- 示例用法：
 
   CREATE TABLE table1 (person_column person_rt);
   INSERT INTO table1 (person_column) VALUES (create_person_rt('Uhuru', 128));
    
   CLOSE DATABASE;
 
   必须初始化整个变量，原因是引擎可以跟踪整个变量是否已经初始化，但是不能
   在对逐个字段进行跟踪初始化。







-695	参数不是过程<过程名>的一个参数。

一个命名的参数被传递给一个过程，但那个命名的参数不存在。

错误的例子：

CREATE PROCEDURE testproc (arg1 INT, arg2 INT)
	RETURNING INT;
	...
	RETURN 1; END PROCEDURE SELECT col FROM tab WHERE testproc
	(arg1 = 10, arg5 = 20); --错误






-694	太多的参数传递给过程<过程名>。

传递给过程的参数比过程说明接受的参数多。






-693	系统命令期待一个非null值。

一个null值被传递给SYSTEM语句。

错误的例子：

DEFINE c CHAR(100);
	LET c = NULL;
	...
SYSTEM c; -- 错误






-692	约束<约束名>的键值仍然被参照。

违反了一个参照约束。这种情况常常在试图删除正被另一行（子键）参照着的一个字
段中的一行（父键）时发生。如果使用级连的删除，数据库日志必须打开。






-691	在参照约束<约束名>的参照表中遗漏键。

一个参照约束被违反。这种情况常常发生在试图将值插入到一个是某个参照约束的一
部分的字段中，或修改这样的字段的值时发生。试图键入的值在参照的（父键）字段
中不存在。如果使用级连的删除，数据库日志必须打开。






-690	不能从参考表<表名>中读取码。

指示约束不能生效。参照ISAM错误以得到更多的信息。如果使用级连的删除，数据库
日志必须打开。






-689	全局变量<变量名>说明不合理。

两个或更多的执行着的过程定义了不同数据类型的同一个全局变量。

错误的例子：

CREATE PROCEDURE test1()
	DEFINE GLOBAL glob INT DEFAULT 10;
	...
END PROCEDURE
CREATE PROCEDURE test2()
	DEFINE GLOBAL glob CHAR (9) DEFAULT USER;
	...
END PROCEDURE 

更正：一致地说明全局变量。（使用合适的命名约定将是有用的。）同一数据类型但
不同长度的两个变量被认为是不一致的。






-688	变量<变量名>必须被说明为CHAR或VARCHAR。

说明了CHAR或VARCHAR数据类型以外的变量。更正说明并重试。






-687	在跟踪SPL 例程前设置调试文件。

一个TRACE语句在一个SET DEBUG FILE语句前执行。不知道TRACE
语句的输出到何处。该错误同样适用于 TRACE OFF 语句。

错误的例子：

TRACE procedure; -- 错误

更正：

SET DEBUG FILE TO `trace.out';
TRACE procedure;







-686	函数 function-name 返回了多行。

调用者所期待的值只有一行，而函数返回的值不止一行（例如，它执行了
RETURN...WITH RESUME 语句）。

错误实例：

CREATE ROUTINE testroutine (limit INT) RETURNING INT;
        DEFINE i INT;
        FOR i IN (1 TO limit) RETURN i WITH RESUME;
        END FOR
        END ROUTINE;

CREATE ROUTINE gettest() DEFINE var INT;
        LET var = testroutine (10); -- 错误
        END ROUTINE






-685	函数 function-name 返回的值太少。

函数所返回的值的数目少于调用者所期待的数目。

错误实例：

CREATE ROUTINE testroutine (arg INT) RETURNING INT, INT;
        RETURN 1,2;
        END ROUTINE

UPDATE tab SET (c1, c2, c3) = (testroutine(1)); -- 错误






-684	函数 routine-name 返回的值太多。

函数所返回的值的数目多于调用者所期待的数目。

错误实例：

CREATE ROUTINE testroutine(arg INT) RETURNING INT, INT;
        RETURN 1,2;
        END ROUTINE

SELECT col FROM tab WHERE col = testroutine(1); -- 错误






-683	指定的STEP表达式将不通过RANGE。

在FOR语句中的STEP表达式的计算值将导致一个无穷的循环。

错误的例子：

FOR i = 10 TO 20 STEP -1; -- 错误	...
END FOR

更正：更正范围或步长表达式以使增加的值在范围之内。






-682	读取针对表 table-name 的约束索引时出错。

系统无法验证该约束。请参阅 ISAM 错误以了解更多信息。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-681	在INSERT列表中字段不止一次被指定。

这个错误当用户在INSERT字段列表中指定一个字段名超过一次时发生。






-680	无法写入约束 constraint-name 的约束违例数据。

请参阅 ISAM 错误以了解更多信息。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-679	无法读取约束 constraint-name 的约束违例数据。

请参阅 ISAM 错误以了解更多信息。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-678	在检查约束中无效的字段<字段名>下标。

在一个检查约束中一个带下标的字段的下标超出字段的边界。检查字段的最大长度不
要超越带下标的字段指定的边界。如果知道字段的表名，可以使用以下的子查询查询
系统目录表以找出字段的最大长度。

SELECT collength FROM syscolumns WHERE colname = 
	`column-name' 
	AND tabid = 
	(SELECT tabid FROM systables WHERE tabname =
		`table-name')






-677	检查约束不能包含子查询或过程。

一个检查约束不能有子查询或过程调用。






-676	无效的检查约束字段。

一个在字段级指定的检查约束只能参考那个字段。要指定一个跨越多于一个字段的检
查约束，在表级指定检查约束。不能为字段建立一个穿越表的约束。






-675	不合法的SQL语句在SPL 例程中。

在SPL 例程中运行禁止的 SQL 语句。该错误发生在一个例程被一个SQL
数据管理语句调用时。

错误的例子：

CREATE PROCEDURE testproc (arg INT, id INT) RETURNING INT;
        UPDATE tab SET col = arg WHERE key = id; -- error
        RETURN id;
        END PROCEDURE;

SELECT col FROM tab WHERE testproc(tab.col, tab.key) = 10;

不要在SPL 例程中使用诸如前面的UPDATE一样的语句。







-674	无法解析例程 <routine-name>。

您调用了数据库中不存在的例程，您没有执行该例程的许可权，或者您调用的例程包含的参数太少或太多。如果某条预编译语句调用了用户定义的例程，并且您的应用程序或另一个应
用程序在执行该预编译语句之前删除了该例程，那么将发生该错误
。

如果编写表达式来调用 SPL 例程（存储的过程）且该例程不返回值，可能也会看到该错误消息。可用在表达式中的 SPL 例程必须返回值
。

请检查例程的名称是否正确，您是否有执行许可权，是否指定了正确的参数数目来执行例程，以及各参数的数据类型是否恰当。对于引用例程的预编译语句，请确保在执行该语句时例
程仍旧存在。



-673	例程 routine-name 已存在于数据库中。

用户试图建立某个已存在于数据库中的例程。如果要建立该例程的新版本，
则应在试图建立之前，用 DROP ROUTINE 语句先取消该例程。






-672	数据结构 execution-tree 无效。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-671	例程调用 routine-name 存在重复的参数名。

例程调用多次命名某个参数。

错误示例：

LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- 错误






-670	变量 variable-name 被声明为 SERIAL、SERIAL8 或 BIGSERIAL 类型
。

SERIAL、SERIAL8 或 BIGSERIAL 数据类型不是合法的过程类型。请使用 INTEGER、INT8 或 BIGINT 数据类型来匹配 SQL 
SERIAL、SERIAL8 或 BIGSERIAL 数据类型。



-669	重新声明了变量 variable-name。

在相同作用域中对变量声明了两次。请参阅《GBase  SQL 指南：教程》，以获取过程变量作用域的说明
。

当 DECLARE（或 PREPARE）使用与已声明的某个过程变量相同的标识时，也会出现该错误。请改为选择不同的游标名称或语句标识
。

例如，下列 DECLARE 语句错误地使用与过程变量相同的游标名称
：

DEFINE spl_var INTEGER; ... DECLARE spl_var CURSOR FOR stmt_id1; 

以下代码纠正上面样本代码中的问题：

DEFINE spl_var INTEGER; ... DECLARE cur_id CURSOR FOR stmt_id1; 



-668	无法执行系统命令，或者它以非零状态退出。

操作系统中的系统调用失败，或者，所执行的命令退出并返回非零状态
。

以下示例显示了可能引起系统命令失败并返回错误的语句：

SYSTEM 'hello'; 

请确保系统命令未尝试运行并非位于您路径中或不适用于环境的函数或程序
。

请确保您在连接数据库服务器时提供了用户标识和密码。数据库服务器必须具有用户密码才能代表该用户执行命令
。

在 Windows 平台上，请确保向用户“gbasedbt”指派了以下“高级用户权限”：“以操作系统方式操作”、“调整进程的内存配额”以及“替换进程级记号”
。

以下示例显示了会失败的语句，该语句会返回错误 -668 和 ISAM 错误说明“-255 未在事务中”
：

SYSTEM 'exit 255'; 



-667	变量<变量名>没有被说明。

指定的变量没有说明。检查未定义变量的拼写以确定其不导致错误。






-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。






-665	语义方面存在内部错误 - code-number。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-664	系统函数 function-name 的参数数目错误。

用户为函数 function_name 指定的参数数目不对。检查为函数提供的参数
数目是否正确。






-663	对过程<过程名>使用了多于一次的过程调用句法。

调用一个过程时，一些参数命名了而其它的没命名。

错误的例子：

LET var = proc (arg1 = 10, 20, arg3 = 30); -- 错误

更正：

LET var = proc (arg1 = 10, arg2 = 20, arg3 = 30); --正确LET var =
proc (10,20,30);--正确






-662	指定的循环变量<变量名>超过一个。

在一个FOREACH语句中使用一个循环变量超过一次。

错误的例子：

FOREACH SELECT col1, col2 INTO var, var FROM tab -- 错误
	...
	END FOREACH

更正：

FOREACH SELECT col1, col2 INTO var1, var2 FROM tab
	...
	END FOREACH






-661	变量数和返回值数不匹配。

一个LET语句左边的变量的个数和右边的值数不匹配。

错误的例子：

LET a,b = 10,20,39; LET i,j = proc1()+proc2(); LET a,b = (SELECT c1
FROM tab)

更正：匹配LET语句两边表达式的个数。






-660	循环变量<变量名>不能被修改。

试图修改一个FOR 语句中的循环变量。循环变量不能在循环内部被修改。

错误的例子：

FOR i IN (1,2,3,4) LET i = i + 1; -- 错误END FOR

更正：在LET语句中使用另一个变量。






-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






-658	说明成GLOBAL的变量要求一个缺省值。

一个全局变量没有给缺省值。全局变量要求一个缺省值。

错误的例子：

DEFINE GLOBAL glob INT; -- 错误。

更正：

DEFINE GLOBAL glob INT DEFAULT 10;






-657	不能在过程内建立过程。

不能在一个CREATE PROCEDURE语句中有CREATE PROCEDURE语句。






-656	没有说明例程要返回值。

当说明例程时，没有包含 RETURNING 子句，表明该例程不返回任何值，
但此后又在例程主体中发现 RETURN 语句。

以下是一个错误实例： 

CREATE ROUTINE testproc() DEFINE a INT;
        LET a = 10;
        RETURN a + 1; -- 错误
        END ROUTINE

更正：在 DEFINE 语句前加上 RETURNING 子句，或者删除 RETURN 
语句。






-655	RETURN值计数与过程说明不匹配。

一个过程在RETURNING子句中声明的返回值的个数与在一个RETURN子句中的值的个数
不匹配。

下面是一个错误的例子：

CREATE PROCEDURE testproc () RETURNING INT, INT;
	...
	RETURN 1,2,3; -- 错误
	...
	RETURN 1; -- error END PROCEDURE

更正：在这个实例中，严格地返回两个参数。






-654	错误使用PROCEDURE声明类型。

过程声明用在参数或RETURNING子句中。SPL 例程不能接受或返回过程。

下面是一个错误的例子：

CREATE PROCEDURE testproc (proc1 procedure) -- 错误 
	RETURNING procedure; -- 错误
	...
	END PROCEDURE

更正：不要试图在一个参数或RETURNING子句中使用过程说明。







-653	声明为LIKE的变量不能是全局的。

一个全局变量定义为LIKE。LIKE变量必须是局部变量。

下面是一个错误的例子：

DEFINE GLOBAL var LIKE tab.col; -- 错误

更正：不要对全局变量使用LIKE关键字。换句话说，显式地指定数据类型。






-652	局部变量不允许缺省值。

试图用一个缺省值定义一个局部变量。只有全局变量和参数能有缺省值。

下面是一个错误的例子：

DEFINE var INT DEFAULT 10; -- 错误

更正如下：

DEFINE var INT; LET var = 10;






-651	保留的字段大小>最大字段大小(varchar)。

这个语句指定了一个VARCHAR(m, r)带有一个大于最大宽度m的保留宽度r。检查字段定
义的标点。如果它是所要的，修改那个语句使得m >= r。






-650	最大的varchar大小已经被超越。

这个语句指示一个VARCHAR(m,r)字段带有的最大宽度m大于允许的值(255)。检查字段
定义的标点。如果它是所要的，使用一个宽度范围在1个字符到255个字符的VARCHAR
重新设计表。






-649	调试文件名必须是一个NON-NULL CHAR或VARCHAR。

在SET DEBUG语句中为调试文件指定的参数必须是一个字符数据类型。






-648	不能为 SPL 例程跟踪打开DEBUG文件。

试图打开DEBUG跟踪文件时发生一个错误。这个错误可能发生在指定的调试文件名
中一个目录不存在或目录是写保护时。确定那个目录路径是合法的并且gbasedbt组
是能够写那个目录的。







-647	计算数学库函数<函数名>错误。

参数的数据类型是正确的，但是传递给函数的值对数学函数是不恰当的。检查确定传
递了一个合法的值给函数。






-646	不能发布卷。

试图发布一个带有RELEASE语句的要求光盘卷失败。参照从光盘子系统来的错误(一个
在-7000到-7199范围内的错误) 以得到更多的信息。






-645	不能保留卷。

试图保留一个带有RESERVE语句的要求光盘卷失败。参照从光盘子系统来的错误(一个
在-7000到-7199范围内的错误) 以得到更多的信息。






-644	FAMILY()、VOLUME() 和 DESCR() 要求在光学媒体上的 BLOB 字段。

FAMILY()、VOLUME() 或 DESCR() 函数的参数必须是存储在光学媒体
上的 TEXT 或 BYTE 字段。检查是否指定了不同的数据类型的字段，
或是指定成存储在存储空间上的 TEXT 或 BYTE 字段了。






-643	卷必须是一个数。

在RESERVE或RELEASE语句中的卷参数必须是一个INTERGER或SMALLINT。






-642	家族名必须是一个字符串。

在RESERVE或RELEASE语句中指定的光盘家族名必须是一个字符串，或一个主机或估计
为一个字符串的过程变量。如果已经指定了一个字符串，确定已将它用引号引起来。






-641	不能在非光盘媒体上保留/发布家族。

在RESERVE或RELEASE语句中指定的家族名必须在光盘媒体上存在。检查以确定没有用
这些语句中的任何一个指定一个dbspace或blobspace。






-640	QPlan 健全性故障：line-number。

运行 UPDATE STATISTICS 可能会纠正该内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-639	不能在不同的光盘家族上聚类blob字段。

在CREATE OPTICAL CLUSTER语句的FOR子句中指定的全部blob字段必须属于相同的光盘
家族。检查以确定为一个光盘聚类指定的字段不属于不同的家族。






-638	不能将 TEXT 或 BYTE 字段聚类在非光学媒体上。

只可在存储于光学媒体上的 TEXT 或 BYTEZ 字段上建立光盘聚类。
检查是否尚未指定存储于存储空间上的 TEXT 或 BYTE 字段名。






-637	不能变更光盘聚类。

试图变更一个光盘聚类的大小失败。参照ISAM错误以得到更多的信息。






-636	键域的大小太大或有太多的键域。

违反了下列有关聚类键约束之一，这些键在CREATE OPTICAL CLUSTER语句的ON子句
中指定。

    *   包含在一个组合聚类键中的字段数超越16。

    *   一个CHARACTER字段的长度超越256字节。






-635	不是对象的拥有者。

用户在试图取消用户不拥有的数据库对象。可查询适当的系统目录表，
找出该对象的拥有者（例如，对于触发器，查询 systriggers 表）。可能
需要请求该数据库对象的拥有者或数据库管理员来取消该对象。






-634	对象不存在。

试图取消一个不存在的触发器。检查触发器名称的拼写。同时，可以查询systriggers
系统目录表以回顾数据库中的触发器的名称。






-633	不能取消光盘聚类。

试图取消一个光盘聚类失败。参照ISAM错误以得到更多的信息。






-632	不能建立光盘聚类。

试图建立一个光盘聚类失败。参照ISAM错误以得到更多的信息。






-631	不能在非blob字段<字段名>上建立光盘聚类。

只能在TEXT或BYTE类型的字段上建立光盘聚类。所示的字段名是一些其它的类型。确
定字段是你要指定的那一个，并检查表的定义。






-630	不能为提交准备数据库服务器<服务器名>。

指定的OnLine数据库服务器不能准备与这个GBASEDBT-STAR两个阶段提交事务相关的本
地事务。最后，所有的采用者滚回全部和事务相关的工作。不要求管理的干预。参照
ISAM错误以得到更多的关于为什么数据库服务器不能准备提交本地事务的信息。






-629	不能结束启发式滚回的事务。

作为事务协调者的数据库服务器不能结束此 GBASEDBT-STAR 两阶段
提交事务，该事务保持打开状态。最后，GBASEDBT-STAR 自动恢复
机制将结束它。不需要进行管理干预。有关数据库服务器为何不能正确
结束事务的详细信息，请参考 ISAM 错误。






-628	不能结束协调员处的两阶段提交事务。

作为事务协调员的数据库服务器不能结束此 GBASEDBT-STAR 两阶段
提交事务，该事务保持打开状态。最终，GBASEDBT-STAR 自动恢复
机制将结束它。不需要进行管理干预。有关数据库服务器为何不能正确
结束事务的详细信息，请参考 ISAM 错误。






-627	不能为两阶段提交准备协调者。

由于协调者不能准备这个GBASEDBT-STAR两阶段提交事务，所有参与者最后滚回全部和
此事务关联的工作。不需要管理的干预。参照ISAM错误以得到更多的关于为什么数据
库服务器不能准备提交本地事务的信息。






-626	无法获取或设置序列值。

该内部错误消息并不表示您所定义的表中的 SERIAL、SERIAL8 或 BIGSERIAL 列存在问题。数据库服务器对于多种不同的目的都使用唯一的整数值（例如
，针对新建或已更改表的表标识号）。而该内部错误使数据库服务器无法生成新的唯一编号。例如，在使用文件进行锁定的主机系统中，有些情况可能阻止锁文件的创建。有关更多信
息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-625	约束名称<约束名>已经存在。

所示的约束名称已经存在。检查它的拼写；如果正是所希望的，则必须选定一个其它
的名称，或取消并重新定义存在的约束。参照错误-623的讨论以得到一个列出全部约
束的办法。






-624	无法删除 CONSTRAINT constraint-name。

该内部错误表明数据库服务器在删除一个约束或实现该约束的索引时发生意外的错误。有关更多信息，请检查随附的 ISAM 错误代码。可能的原因包括系统目录或根数据库空间
损坏以及存在硬件问题。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-623	不能发现CONSTRAINT<约束名>。

在这个语句中指定的约束不能找到。检查所示名称的拼写。如果它是所愿的，通过查
询系统约束表检查存在名称的约束如以下的实例所示。如果想要的约束的所有者名称
显示不是你的，你需要成为一个数据库管理员以参考它(并且，如果这个数据库是ANSI
兼容的，你需要使用所有者名来限制它)。

SELECT constrname，owner FROM gbasedbt.sysconstraints






-622	查找约束索引 index-name 时出错。

该内部错误表明数据库服务器尝试测试某一新建或更新的行在 UNIQUE 或 PRIMARY KEY 约束条件下的唯一性，但是无法找到实现该约束的索引。有关更多信息
，请检查随附的 ISAM 错误代码。可能的原因包括系统目录表或根数据库空间损坏以及存在硬件问题。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-621	无法更新新的锁定级别。

该内部错误表明数据库服务器无法将共享锁转换为互斥锁。有关更多信息，请检查随附的 ISAM 错误代码。可能的原因包括硬件出错或共享内存有问题。如果该错误重复出现，
请记下所有情况并联系 IBM 技术支持。



-620	不能更新下一个范围的大小。

这个内部错误指示数据库服务器不能改变一个存储在根dbspace上的内部数据结构(不
是一个系统目录)。检查相应的ISAM错误的代码以得到更多的信息。可能是根dbspace
损坏。请OnLine管理员运行tbcheck或oncheck工具。






-619	一个blob错误发生在前端应用程序。

这个语句在数据库和用户程序之间传递一个BYTE或TEXT，但有一些事情阻止它。例
如，不能在内存中为一个值分配一个缓冲区。检查相应的ISAM错误的代码以得到更多
的信息。






-618	尝试复制 TEXT 或 BYTE 数据时发生错误。

该语句将 BYTE 或 TEXT 值从一行复制到另一行，但是某个意外的错误阻止了该操作。请回滚当前事务。检查随附的 ISAM 错误代码以了解更多信息；可能的原因
包括硬件出错、存储空间或表空间的数据损坏、磁盘空间不足或命名了无效的存储空间。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-617	此处必须提供 TEXT 或 BYTE 数据类型。

此语句将某个非简单大对象的值赋给了 BYTE 或 TEXT 字段，或是将
BYTE 或 TEXT 字段赋给了一个非简单大对象的字段。系统对这两种
操作都不支持。BYTE 和 TEXT 值必须作为完整单元赋给同类型的字段。
检查此语句是否指定了所需的字段。






-616	一个blob下标在这个上下文中不允许。

这个UPDATE或INSERT语句指定了一个BYTE或TEXT类型的下标字段作为目标。下标注释
在这个上下文中是不允许的；一个BYTE或TEXT(或任何其它)值必须被完全的替换。
修改语句以给整个字段赋值。






-615	该表达式中不允许有 TEXT 和 BYTE 字段。

这个语句使用了一个如COUNT，SUM，MIN，MAX，或AVG的聚合函数，但将它应用到了
一个BYTE或TEXT数据类型的字段。这是不支持的。

回顾每个聚合函数的使用以确保它们没有应用到 BYTE 或 TEXT 字段上。







-614	Blob不允许在"order by"子句中。

这个SELECT语句选定一个或多个BYTE或TEXT值，并且也在ORDER BY子句中指定了那些
字段。这是不支持的。因为没有对BYTE或TEXT值指定词汇次序，数据库服务器不能将
它们排序(这即使在从一个BYTE或TEXT字段中选定子串时也是对的)。回顾SELECT
语句以确定在ORDER BY子句中命名了正确的字段。






-613	Blob不允许在"distinct"子句中。

这个语句指定了DISTINCT值，但它也选定了一个BYTE或TEXT值。数据库服务器不知道
如何比较这些值或认定它们的次序。因此不能给它们排序，也不能定位重复的值。
因而当选定这些数据类型时不能使用DISTINCT关键字。回顾SELECT语句以移去
关键字或只选定普通字段。






-612	Blob在"group by"子句中是不允许的。

这个SELECT语句选定一个或多个BYTE或TEXT值，并且也在GROUP BY子句中指定了那些
字段。这是不支持的。因为没有对BYTE或TEXT值指定词汇次序，数据库服器不能对它
们排序或比较。所以不能在它们的值上对行分组。(这即使在从一个BYTE或TEXT
字段中选定子串时也是对的)。检查SELECT语句以确定在ORDER BY子句中命名了正确的
字段。






-611	滚动游标不能选定blob字段。

在这个语句中命名的游标与一个返回一个或多个TEXT或BYTE字段的SELECT语句有联
系；同时这个游标和SCROLL关键字一起说明。这是不支持的。原因是通过一个滚动游
标取得的行也是存贮在临时表中的。因为TEXT和BYTE值的大小，这将产生一个不能接
受的时间和磁盘空间的花费。修改游标的说明以选定其它类型的想要的字段，同时
ROWID也进行同样处理。在通过滚动游标取得一行后，使用独立的，非滚动的游标取
得BYTE或TEXT值，WHERE ROWID=<主机变量>。






-610	索引在blob字段不允许。

这个CREATE INDEX语句命名一个TEXT或BYTE类型的字段；但这些类型是不支持索引
的。原因是没有在这些类型中定义词汇次序，所以数据库服务器不知道如何排序或比
较它们；因而它不能建立一个翻转的索引。可能你对数据有足够的理解，知道如何从
中抽出一个关键值的集合的次序；如果是这样，在同一个表中抽出一个独立的字段并
索引那个字段。






-609	不合法的使用Text/Byte主机变量的企图。

本语句使用一个TEXT或BYTE定位器结构的主机变量，但使用某些其它类型的数据进行
组合（例如在表达式中或将其插入到另一类型的字段中）这是不支持的。这些类型的
主机变量只可以用于选择、建立、或插入同一类型的字段。






-608	试图非法转换 Text/Byte 数据类型。

此语句说明将 BYTE 或 TEXT 的值转换为另一种数据类型的值，例如，
在表达式中将它与其它的类型组合在一起，或将它插入到另一类型的字
段中。系统不支持此操作。BYTE 和 TEXT 字段只能选入或拷贝到同类
型的字段中。检查语句是否命名了所需的字段，且这些字段是否有用户
所需的数据类型。






-607	Text/Byte 下标错。

本语句涉及使用子字符串符号的 TEXT 或 BYTE 值（名字后跟带方括号的数字）。但
子字符串未写正确。重新审查子字符串的所有用法，确认第一个数字大于零并且不大
于值的长度；第二个数字不小于第一个数字；数字间有逗号分开。






-606	针对 TEXT 或 BYTE 数据的存储空间名称无效。

如果该语句引用存储空间（例如，CREATE TABLE 语句可能创建类型为 TEXT IN blobspace-name 的列），那么该名称无效或不存在。请检查
打算作为存储空间名称的标识。如果这些标识拼写正确，请咨询数据库服务器管理员以确定它们是否存在以及是否联机。如果该语句不引用存储空间，那么这是内部错误。如果该错误
重复出现，请记下所有情况并联系 IBM 技术支持。



-605	无法写 TEXT 或 BYTE 值。

该语句用于写 BYTE 或 TEXT 值，但是某个意外的错误阻止了值的创建。请回滚当前事务。检查随附的 ISAM 错误代码以了解更多信息；可能的原因包括硬件出错
以及存储空间或表空间的数据损坏。有可能是因为用于该列的存储空间已满。也可能是因为尽管已将新的块分配给存储空间，但在记录添加块的操作并关闭日志文件之前，不会在块中
分配页面。数据库服务器管理员可以使用 tbmode -l 或 onmode -l 命令来强制关闭日志文件。如果该错误重复出现，请记下所有情况并联系 IBM 技术
支持。



-604	无法读取 TEXT 或 BYTE 值。

该语句用于引用 BYTE 或 TEXT 值，但是某个意外的错误阻止了对值的访问。请回滚当前事务。检查随附的 ISAM 错误代码以了解更多信息；可能的原因包括硬件
出错以及存储空间或表空间的数据损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-603	无法关闭 TEXT 或 BYTE 值。

该语句用于写 BYTE 或 TEXT 值，但是某个意外的错误阻止了值创建操作的完成。请回滚当前事务。有关更多信息，请检查随附的 ISAM 错误代码。可能的原因包
括硬件出错以及存储空间或表空间的数据损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-602	无法打开 TEXT 或 BYTE 值。

该语句用于引用 BYTE 或 TEXT 值，但是某个意外的错误阻止了查找值的操作。请回滚当前事务。有关更多信息，请检查随附的 ISAM 错误代码。可能的原因包括
硬件出错以及存储空间或表空间的数据损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-601	无法删除 TEXT 或 BYTE 值。

该语句用于替换或删除 BYTE 或 TEXT 值，但是某个意外的错误阻止了删除旧值的操作。请回滚当前事务。有关更多信息，请检查随附的 ISAM 错误代码。可能的
原因包括硬件出错以及存储空间或表空间的数据损坏。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-600	无法创建 TEXT 或 BYTE 值。

该语句用于创建新的 BYTE 或 TEXT 值，但是某个意外的错误阻止值的创建。请回滚当前事务。有关更多信息，请检查随附的 ISAM 错误代码。可能是存储空间或
表空间已满，或者您未引用有效存储空间。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-599	不能把 GBasedbt 动态服务器 2000 句法和 GBASEDBT-SE 句法混和在一起。

对 GBasedbt 动态服务器 2000 特定的句法和对GBASEDBT-SE 数据库特定的句
法已混淆在同一语句中。使用对你的数据库服务器来说合适的句法。








-598	不好的游标名字<游标名>。

在SPL 例程内部，在 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; -- 错误
END FOREACH







-597	[内部] 缓冲过早结束。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-596	错误的 EXIT/CONTINUE 语句。未在<语句名>循环内部。

SPL 例程 EXIT 和 CONTINUE 语句必须放在FOREACH，WHILE，或 FOR 循环之内。







-595	聚集函数的使用不正确。

聚集函数在 SPL 例程表达式或检查约束中的使用错误，或者是错误用作迭代器表函数。这些类型的表达式无法处理聚集函数
。

以下示例显示聚集函数的不正确用法：

LET var = MAX(another_var) + 10; -- error 

SELECT 1 FROM TABLE(FUNCTION(udr1(max(1))));  -- error 

SPL 例程表达式或检查约束中的表达式只能引用单个值，因此使用聚集函数没有意义
。



-594	不能为 blob 字段指定非空缺省值。

本 CREATE 或 ALTER TABLE 语句规定字段的数据类型为 BYTE 或 TEXT。而且有一
个DEFAULT 子句为字段规定除 NULL 以外的内容。用户只可以为 TEXT 或 BYTE
数据类型的字段指定缺省值 NULL。






-593	无法为 SERIAL、SERIAL8 或 BIGSERIAL 列指定缺省值。

该 CREATE 或 ALTER TABLE 语句指定某列的数据类型为 SERIAL、SERIAL8 或 BIGSERIAL，但是该列还有一条 DEFAULT 
子句。数据库服务器在每次创建一行时为 SERIAL、SERIAL8 或 BIGSERIAL 列生成值，每次创建一个行，因此 DEFAULT 子句毫无意义
。



-592	当缺省值为空时，不能指定字段为非空。

本 CREATE 或 ALTER TABLE 语句规定字段不能包含空（NOT NULL 子句），但是也有
一个DEFAULT 子句为新行给出为 NULL 的缺省值。这种不一致是不允许的。






-591	字段/变量 <字段名>/<变量名>的无效缺省值。

指定的缺省值是错误的类型，或者对于字段或 SPL 例程变量过长。

要为字段指定一个有效的缺省值，可以使用 CREATE 语句中的DEFAULT子句。
要为 SPL 例程中变量指定一个有效的缺省值，可以使用过程中DEFINE 语句
的DEFAULT子句。







-590	例程高速缓冲已损坏。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。




-589	在单个事务内不能修改多个场所。

本数据库服务器只支持单场所修改，一个事务内的操作只可以修改网络中一个节点的
数据；事务内前面的某个语句已经修改了一个节点中的数据；当前语句将修改第二个
节点的数据。此语句不被执行。滚回当前事务，根据这一限制检查应用程序，检查
受UPDATE、INSERT、和 DELETE 影响的所有表格的名字，以确认它们都在同一个数据
库中，或者在同一个数据库服务器保持的数据库中。（检查任何同义词的定义。因为
同义词可以使外部数据库中的表格看起来就象在当前的数据库中一样。）

5.01以后版本的数据库服务器不使用本出错信息。






-588	主变量号无效。

V4.1 或更高版本的数据库服务器可以检测到该内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-587	不能删除文件<文件名>。

4.0 及其以上版本不使用本信息。对先前的版本，检查伴随的 ISAM 出错代码以获取
更多的信息。






-586	游标已经是打开的。

本数据库以与 ANSI 相一致的方式运行 （以 MODE ANSI创建或启动）。按照 ANSI 
SQL 的规则，一个游标必须总是在关闭以后才能再一次被打开。重新审查程序的逻
辑。可能最初是要利用GBasedbt 对SQL的扩展：如果游标被重新打开，它就自动地
被关闭和打开。在当前的数据库中这种操作是不被支持的。






-585	不能改名系统目录中的字段。

RENAME COLUMN 语句不能被执行，因为它将改名组成系统目录的表中的一个字段。数
据库服务器依赖于这些字段名字供内部需要，并且不能改变这些名字。






-584	不能改名系统目录。

RENAME TABLE 语句不能被执行，因为它将改名组成系统目录表中的一个表。这些表
的名字不可以被改变；数据库服务器使用它们。






-583	察看许可不再有效 -- 远程目标许可被收回。

本语句需要一个基于外部数据库表的视图（当前数据库以外的其它数据库）。然而在
一个或多个这样的数据库中，用户的账号没有拥有视图使用的表的表级权限；或者用
户对外部数据库的CONNECT 权限已经被取消。关于显示视图定义的方法，参见出错号


-582	数据库没有日志。

本 ROLLFORWARD 语句不能被执行，因为数据库没有事务日志。前滚操作用事务日志
作为其输入，由于没有对任何事务进行日志，所以数据库不能被前滚。






-581	装入信息文件错。

SET EXPLAIN 语句不能被完成，因为数据库服务器准备解释输出时，不能找到所使用
的信息样板文件。询问 GBasedbt 软件的安装人员。






-580	不能取消许可。

REVOKE 语句不能被执行，或者本语句取消一个数据库级的权限而用户不是这一数据
库的数据库管理员，或者本语句取消一个用户帐户名无权取消的表级的权限。重新审
查权限和用户名确认其正确。用如下方法通过询问systabauth从而列出已获准的表级
权限。

SELECT          A.grantee, T.tabname FROM systabauth A, systables T
WHERE           A.grantor = USER AND               A.tabid = T.tabid






-579	不是同义词的拥有者。

不拥有在 DROP SYNONYM 语句中规定的同义词。要取消一个自己不拥有的对象，
必须要有数据库管理员的权限。






-578	所有者名称太长。

该语句包含所有者名称，此名称限定表名、视图名、索引名或同义词名，并且该所有者名称超过了 32 个字符的最大长度（例如：
overly_long1234567890123456789012.tablename）。请复审所有标识的标点和拼写。可能是省略的空格或逗号造成两个名称连在
一起。要检查所有已知所有者的名称，请选择下列相应系统目录的所有者列：systables、sysindexes 或 syssynonyms
。



-577	字段集中已有同一类型的限制。

用户已安排字段集的约束（可以是 UNIQUE、PRIMARY KEY、FOREIGN KEY、或CHECK
）但是关于那些字段的同一类型的约束已经存在。在 FOREIGN KEY 的情况下，这种
错误只在同一个外码字段集访问同一个已经存在的父码字段集时才会发生。无论约束
在表格创建时发生，还是已经被加入，自从字段存在以后就不能再次加入。






-576	不能为 TEMP 表指定 CONSTRAINT名。

用户不能为安排在临时表的约束指定约束名（无论是UNIQUE、 PRIMARY KEY、
FOREIGN KEY、或CHECK），这种操作对于临时表是不支持的。然而可以指定一个字段
接收约束中的一个约束，而且当已有一个约束时指定一个字段列表。但是不能使用
CONSTRAINT <约束名>子句。临时表及它们的索引没有记录在通常的系统目录表中。






-575	LENGTH()要求字符串类型值。

本语句包含应用于不是字符类型（不是 CHAR或VARCHAR）的字段或表达式的LENGTH 
的用法。这种操作是不被支持的。重新审查 LENGTH 的用法并确认它们只应用于字符
值。






-574	一个子查询返回的不是严格的只有一个字段。

本语句包含一个作为单值使用的子查询（在圆括号内的SELECT语句）。（例如，在相
关操作符如相等的一边）。这样的子查询必须严格地只在一行和一个字段返回；否
则，就会对返回值中哪一个是所需要的这一问题发生疑问。该子查询返回不止一个
值。如果您在设计列表带有多个元素的集合子查询中指定了 ITEM 关键字，就会
发生该错误。

重新审查所有的子查询并确认它们都最多只返回一个字段（在SELECT 后只列出
一个表达式）而且最多只有一行（在WHERE 子句中测试唯一键）。对于集合子查询，
可以取消 ITEM 关键字，或者确保设计列表中只包含一个元素。







-573	在模式 ANSI 数据库中不能使日志设置为缓冲方式。

本语句试图应用 BUFFERED LOG 方式，但数据库是符合ANSI标准的；亦即，数据库由
子句 MODE ANSI建立。遵循 ANSI 的一个方面是，所有的事务在COMMIT WORK
语句执行期间立即记入日志。使用缓冲日志方式必然伴有日志记录的延迟写入，这样
在某些较小丢失事务日志的风险时会改善性能。在标准下不允许这样的风险；符合
ANSI标准的数据库必须使用非缓冲日志方式。






-572	指定的等待持续时间太长。

用户在 SET LOCK MODE 中作为 WAIT  时间可以指定的最大时间是 32767 秒。重新
审查本语句并确认指定的正是所需的以秒计的持续时间。如果是这样，则或者使用一
个较短的持续时间，或者（因为32767 秒大于9个小时）省去持续时间直接指定一个
无限的等待。






-571	不能访问外部的非 ANSI 数据库。

本语句访问一个当前数据库以外的数据库。然而，当前数据库是符合ANSI标准的，而
外部的数据库不符合。这种操作是不被支持的。在单个事务中使用的数据库必须全
都是符合ANSI标准或者全都不符合ANSI标准。






-570	不能访问外部的 ANSI 数据库。

本语句访问一个当前数据库以外的数据库。然而，当前数据库是不符合ANSI标准的，
而外部的数据库符合。这种操作是不被支持的。在单个事务中使用的数据库必须全
都是符合ANSI标准或者全都不符合ANSI标准。






-569	不能访问带日志的外部数据库。

本语句访问一个当前数据库以外的数据库。然而，当前数据库不使用事务日志，而外
部的数据库使用。这种操作是不被支持的。在单个事务中使用的数据库必须全都使用
日志或者全都不使用日志。






-568	不能访问不带日志的外部数据库。

本语句访问一个当前数据库以外的数据库。然而，当前数据库使用事务日志，而外部
的数据库不使用。这种操作是不被支持的。在单个事务中使用的数据库必须全都使用
日志或者全都不使用日志。






-567	无法写已排序的行。

该内部错误表明在排序过程中发生意外情况。有关更多信息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-566	无法开始排序。

该内部错误表明在排序过程中发生意外情况。有关更多信息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-565	无法读取已排序的行。

该内部错误表明在排序过程中发生意外情况。有关更多信息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-564	无法对行进行排序。

该内部错误表明在排序过程中发生意外情况。有关更多信息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-563	不能为数据库转换获取排他锁定。

正在运行数据库服务器的新版本，并且刚好首次以这个软件级别打开了一个数据库。
该数据库服务器已经试图通过定义附加的系统目录表来自动地升级数据库。然而，
这需要锁定数据库，以便独占使用，来完成这次转换，但其它用户已将该数据库打开
了。请稍候，然后再重新试一下这个语句。到那时，这个数据库可能被释放了（或
者其它用户的操作已将它更新了）。






-562	数据库转换失败。

您正在运行新版本的数据库服务器，并且刚利用该级别的软件第一次打开一个数据库。数据库服务器可能通过定义一个额外的系统目录表，尝试自动升级该数据库。但出现意外的错误
。有关更多信息，请检查随附的 ISAM 错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

V5.01 或更高版本的数据库服务器不使用该错误消息。



-561	对日期时间值不能进行求和及平均值计算。

本语句应用一个统计函数（如 SUM）于一个具有类型DATETIME 的字段。该函数不是
对这种数据类型定义的，因为不是算术类型。重新审查统计函数的用法，并必须修改
原查询。






-560	有tabid<号码>的同义词在systables中未找到。

systables或syssyntable系统目录，或它们中之一的索引已经被损坏。运行bcheck
或secheck实用程序。准备重建所有的同义词。






-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的当前数据库，否则指一外部数
据库。






-558	在 $GBASEDBTDIR/bin 中未找到 changrp。请参考安装说明。

本命令要求有名字为 changrp 的可执行程序。该程序通常作为数据库服务器的一部
分被安装，并应在由环境变量 GBASEDBTDIR 命名的目录的子目录bin之下。
检查该变量的值，然后咨询安装软件的人员。






-557	在<级别数>级同义词映射后，不能定位当前服务器外部的表。

本查询中命名的表之一事实上是一个同义词，指向当前数据库的外面。其命名指向数
据库外面的另一同义词，并且没有发现一个实际的表来 <level-count> 计数同义词。
数据库服务器已经放弃一个无结束的同义词链情况的查询。

可以通过查询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

当本查询没有返回行时，请求的表名没有作为一个同义词在那个数据库中定义（它
是一个表或视图，或没有定义）。







-556	不能建立、取消或修改外部对象。

本语句试图建立、取消或修改不是当前数据库的外部数据库中的对象。用户只可以读
外部数据库的内容。

如果使外部数据库成为当前的数据库，可以修改其内容。重新审查在
外部数据库<数据库名>访问目标，开始<数据库名>时名字的所有用法。







-555	在多重查询准备中，不能使用选择或任何数据库语句。

由 PREPARE  提供的语句文本有由分号分开的多重语句，其语句之一是 SELECT、
DATABASE、CREATE DATABASE或CLOSE DATABASE。这些语句必须总是准备成单语句文
本。核查语句文本字符串并确认想要多重语句；然后修改程序单独执行这四种类型的
语句。






-554	此数据库服务器中不允许该语法。

正在使用的数据库服务器不支持此语句或其中的一些子句。当程序启动
时，使用的数据服务器是根据 SQLEXEC 环境变量（对于 6.0 版本以前
的数据库服务器）来选取的。GBASEDBT-SE 与其它 GBasedbt 数据库服
务器之间在语句语法上存在一些小差异。例如，GBASEDBT-SE 支持 
CREATE TABLE 语句的 IN '路径名' 子句，而其它 GBasedbt 数据库服务
器支持 IN dbspace 子句。






-553	在$GBASEDBTDIR/bin中未找到mkdbsdir。参考安装说明。

可执行程序 mkdbsdir 在 CREATE DATABASE  语句期间，用于建立数据库目录的初始
内容。它由数据库服务器分配并且应该在 GBASEDBTDIR  环境变量命名的目录的子目
录bin 中找到，但是没有找到。检查GBASEDBTDIR 环境变量的设置，然后咨询软件
安装人员。






-552	在多语句准备中，Blob 主机变量不被允许。

本 EXECUTE 命令执行一个有准备的多重语句列表。在列表中，通配符? 提供的一个
或多个主机变量是对于TEXT 或 BYTE 的定位器结构。这种操作是不被允许的。访问
TEXT 或 BYTE变量的语句可能已准备好并被执行，但它们必须是单个语句，而不是多
语句列表的一部分。






-551	约束包含太多的字段。

在 UNIQUE、PRIMARY KEY 或 FOREIGN KEY 子句列出的字段总数是有限制的。限制
取决于使用中的数据库服务器，但所有的数据库服务器都支持8个字段。
该限制与复合索引中字段数的限制是一样的。要获取附加的信息，
请参考《GBasedbt SQL 指南: 语法》中的CREATE TABLE 语句。







-550	受约束的列的总长度太长。

UNIQUE、PRIMARY KEY 或 FOREIGN KEY 子句中列出的所有列的总大小有限制。该限制与组合索引中所有列的总大小的限制相同。IBM 
GBase  Database Server 允许 16 个键部分，在 2K 页面平台上允许 390 字节的宽度。在 4K 页面平台或使用非缺省页面大小的平台
上则允许大于 390 字节的索引列宽度。GBase  SE 支持 8 列和 126 字节的宽度。其他 GBasedbt 数据库服务器允许 16 列
和 255 字节。该限制与所使用的数据库服务器有关，但是所有服务器都支持至少 120 字节的总数
。

有关其他信息，请参阅《GBase  SQL 指南：语法》中的 CREATE TABLE 语句
。



-549	在 UNIQUE 约束中，字段<字段名>不是表中的字段。

出现在为 UNIQUE 子句列表的字段中显示的字段，不是在表中定义的字段之一。检查
在本语句中所有字段名字的拼法。如果所有字段的拼法正确，则检查表的定义。见出
错号 -328 关于在表中列出所有字段名的方法的讨论。

5.01版本以后的数据库服务器不使用本出错信息。






-548	在 TEMP 表中不允许参考约束和触发器。

用户不能在一个临时（TEMP）表中建立约束或触发器。考虑建立临时表作为数据库中
的参数表。如果选项可行，则建立该表，然后在其上建立触发器。






-547	必须在数据库所在目录前滚数据库。

在执行 ROLLFORWARD 语句之前，使当前目录成为为数据库包含<数据库名>.dbs
目录的目录。然后再次执行语句。






-546	当建立视图<视图名>时，不能有宿主变量。

本语句或者准备、 或者执行一个 CREATE VIEW 语句，在此语句中 SELECT 语句访问
宿主变量。这种操作是不被支持的。SELECT语句在视图中可以从任何程序中被执行，
并且可以不依赖于程序的变量。重新审查 CREATE  VIEW语句，并确认该语句不包含
任何宿主变量的名字、INTO子句，也不包含?通配符。5.01版以后的数据库服务器不使
用本错误信息。






-545	对于表<表名>没有写许可。

检查伴随的 ISAM 出错代码以获取更多的信息。对于数据库服务器，一个数据库是一
个具有名字<数据库名>.dbs的目录，而表和索引是目录内的文件。用户必须具有所有
这些文件的读写访问权限，以便正常地运用数据库函数。






-544	统计内不能有统计。

语句包含参数表内对于另一个统计函数的统计函数调用，例如SUM(MAX(COLUMN))。这
种操作是不被支持的，因为所有的统计函数是在行的同一组进行计算的。如果这种表
达式不是想要的表达式，查找遗漏的或放错地方的圆括号。如果这种表达式是想要的
表达式，就必须重新想办法。例如，可以选择 MAX 值放入临时表中，然后取其 
SUM。






-543	ESCAPE 字符必须是一个单字符。

在 WHERE 子句中，ESCAPE微子句包含多个字符作为一个字符。重新审查子句的标点
并加以修改使其只指定一个字符。






-542	在约束、触发器或索引中不能多次指定同一字段。

在更新触发器的触发字段表中多次命名同一字段。删除重复出现的字段名并重试。在
索引表中如果有重复的字段名，也会出现本错误。






-541	用户没有 ALTER 权限。

用户必须具有更正权限，才可变更表的名称或表中的字段名、类型或数目。
还必须具有更正权限才可设置约束和触发器的对象方式。

用户必须是数据库对象的拥有者、在数据库中有数据库管理员权限、或者
该数据库对象的拥有者或 DBA 对用户授予了 ALTER 权限。有关列出表
拥有者和有 DBA 权限的用户的方法，请参考对错误 -313 的论述。






-540	在约束上写失败

定义约束时发生错误。可能用户已经定义了一个约束，其名字与另一个约束、表、或
索引重复。如果是这种情形，指定一个唯一的名字重复此语句。否则，核查 伴随的
ISAM 出错代码以获取更多的信息。






-539	DBTEMP 太长。

DBTEMP 环境变量中的路径名超过了路径名的极限长度（80 个字符）。
必须定位到目录层次中更高的临时目录上。从 5.01 版本开始，GBASEDBT-SE 
数据库服务器使用 DBTEMP 环境变量，但 GBasedbt 动态服务器和
GBASEDBT-OnLine 动态服务器并不使用。






-538	游标<游标名>已经被说明。

在 DECLARE 语句中命名的游标已经在较早执行的DECLARE 语句中命名。可能同一个 
DECLARE 语句正在一个循环中被执行；也可能程序要为此游标执行一个 FREE 
语句，但没有执行。重新审查程序逻辑以确认对每一个游标只执行一次 DECLARE
（释放的游标除外）。






-537	约束字段<字段名>在表中没有找到。

在约束定义中指定的字段不存在。






-536	子约束中的字段数与父约束中的字段数不匹配。

正参考的字段（子键）数与参考约束中被参考的字段（父键）数不匹配。检查在被参
考和正参考字段间的一对一对应关系。






-535	已在事务中。

本 BEGIN WORK 语句是多余的；事务已经在处理。如果这是一个程序，重新审查其逻
辑以确认没有意外的失败结束先前的事务。






-534	表被锁住，不能在表中插入新行。

4.0及以后版本的数据库服务器不返回本错误。在较早的版本中，其意义与错误号-271
（带ISAM出错代码-113）相同。滚回当前事务，并在表被解锁以后重新运行。







-533	范围大小太小，最小值为数字k。

为磁盘范围（无论EXTENT SIZE子句或NEXT SIZE子句）指定的大小必须至少四倍于磁
盘页大小，如所示。通常，把 EXTENT SIZE 设置得足够大，以容纳在最初估计的所
有的行，而设置 NEXT SIZE为其八分之一或四分之一。






-532	不能变更临时表<表名>。

所示的表只是一个临时表，它将在会话期结束时消失。这样的表不能被改变。要改变
表的形式，直接取消并重新建立之。






-531	在视图中存在有重复的字段<字段名>。

本 CREATE VIEW 语句给出一个字段名的列表，并且其中至少有一个字段在列表中出
现两次。重新审查字段名列表并确认每个字段只出现一次。






-530	检查约束<约束名>失败。

放置在表字段的检查约束已经被扰乱。要找与字段相联系的检查约束，可以查询
syschecks系统目录表。然而，用户在查询syschecks之前必须知道检查约束的
constrid。（constrid在sysconstrains系统目录表中赋值。）使用下面的子查询以显
示<约束名>的检查约束。

SELECT * FROM syschecks WHERE constrid =
        (SELECT constrid FROM sysconstraints WHERE constrname =
        constraint-name)






-529	不能连到共享内存。

本出错信息在6.0版以前的版本中出现。用户的应用程序不能初始化其对数据库服务器
的连接，因为用户正使用一个共享内存工具。要么数据库共享内存还未被初始化，
要么最大个数的用户已经启动使用系统。检查伴随的 ISAM 出错代码以获取更多的
信息。







-528	最大的输出行大小<最大大小>被超过。

本语句选择的总字节数超过数据库服务器和程序间可以传递的最大值。确认选择的字
段是所需要的字段；检查例如没有由于错误而命名了很宽的字符字段，或者忘记指定
一个子字符串，或者指定了过长的子字符串。如果选择是所需求的，把SELECT 重写
成两个或更多的语句，每个语句只选定字段中的某一个。如果这是几个表的联结，则
最好选择所有想要的数据 INTO TEMP；然后选择临时表的专用字段。如果这是一个
借助程序中游标的fetch，则可以修改程序如下。首先，改变游标以便只选择想要的
行 ROWID，第二，用一组 SELECT 语句扩大 FETCH 语句，每个语句选择一个或几个
字段 WHERE ROWID= 保存的row-id。






-527	“锁定方式”在该系统上不可用。

您尝试在 GBase  SE 上使用 SET LOCK MODE TO WAIT 语句，但 GBase  SE 数据库服务器使用 
CREATE LOCKING 而不是 System V 锁定。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

数据库服务器无法执行 SET LOCK MODE TO WAIT 语句，因为主机操作系统对于允许等待释放锁的锁定方面未提供充足的支持。在该系统上，如果表或行被锁
定，您的程序将收到通知（如 -233 或 -378 之类的错误）；该程序需要确定接下来的步骤，如回滚事务以及再试一次
。



-526	不允许修改滚动游标。

对一 DECLARE 子句，则子句 FOR UPDATE不允许和 SCROLL 关键字在一起。对一符合
ANSI标准的数据库（在其中，当说明游标要修改时，FOR UPDATE 子句是不需要的）中
的 UPDATE语句：则本语句命名的游标用 SCROLL 关键字说明，并且不能用于更新。滚
动游标的实现方法使对表的更新不安全，因为它有时不反应选定行的当前状态。如果
用户要使用滚动游标来检查行，然后更新它们，可以重新用下面的方法设计应用程序
（其中之一） ：使用滚动游标同时选择每行的ROWID。再次说明非滚动游标选择进行
更新的行是基于其ROWID。当更新一选定行时：

    *   使用由滚动游标找到的 ROWID 值打开更新游标。

    *   取出该行并检查出错代码 （行可能已被删除）。

    *   如果fetch成功，检验行的内容未从滚动游标（游标现在是锁定的，因此不
	能被进一步修改，但是在两个fetch之间它可能已经被修改） 的选定中改变。

    *   如果游标未改变，则使用非滚动游标修改。

    *   关闭非滚动游标。

    *   本过程确保修改反应当前表的状态而保持了滚动游标的方便。一个由新近取
	出的行的ROWID  的fetch常常没有磁盘活动并且不会花费很多时间。






-525	不能满足参考的约束<约束名>。

在ALTER TABLE 或SET语句期间，你增加或激活了一个由表中损坏的数据的参考约束。
检查正参考字段的数据（子键）在被参考字段（父键）中存在。






-524	锁定表只能在事务内使用。

因为本数据库有一个事务日志，所以表只能在事务内锁定。重新审查程序并确保本语
句之前已发出一个 BEGIN WORK 语句启动事务。






-523	只能恢复、修补或取消表。

本语句（RECOVER、REPAIR或DROP）指定一个视图。然而，这些语句只支持真实表而不
支持视图。在DROP的情形下，如果要取消视图中使用的表中的任何一个表，则视图也
同时被取消。要恢复或修补这种表，必须恢复或修复这些表在其上已有视图定义。列
出是视图的表的名字的方法，参见出错号-394的讨论。






-522	表<表名>在查询时不被选择。

使用一个相关的名字使字段名在 GROUP BY 子句或在 SET 子句合格。考虑在作为触发
动作的SPL 例程中重写语句，传递作为参数的字段值。在任何情形下，必须重写语句
且在GROUP BY子句或 SET 子句中没有使用相关的名字。







-521	不能锁定系统目录<表名>。

不允许锁定任何一个包含系统目录的表。这些表是所有用户在任何时间都需要的。数
据库服务器正确地处理对它们的并行访问，所以，用户可以从程序中直接删除这些语
句。






-520	不能打开数据库tblspace。

OnLine数据库服务器不能定位在存储有本命令要参考的表的磁盘分区。与OnLine管理
员联系以找出问题之所在。可能包含该tblspace的大块已经脱机。






-519	不能修改字段成不合法的值。

本 UPDATE 语句的值中的一个是基于一个错误的表达式。检查每个 SET 语句中表达式
的正确性，特别注意内置函数如 LENGTH 及 DATE 的用法。






-518	未找到子约束 constraint-name。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-517	索引的总大小太大或索引中的部分太多。

所有的数据库服务器在索引中可以包含的列数以及键中总字节数（列宽的总和）方面都有限制。CREATE INDEX 语句可能会超过该数据库服务器的限制。IBM 
GBase  Database Server 和 GBase  Universal Server 允许 16 个键部分（列或功能方面），在 2K 
页面平台上允许 390 字节的宽度。在 4K 页面平台或使用非缺省页面大小的平台上则允许大于 390 字节的索引列宽度。GBase  SE 支持 8
列和 126 字节的宽度。其他 GBasedbt 数据库服务器允许 16 列和 255 个字符
。



-516	系统错误 - 尚未创建临时输出文件。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-515	约束<约束名>已经被取消。

试图在同一个 ALTER TABLE  语句中取消一个已经被取消的约束。






-514	只有 DBA 可以创建、删除、授予或撤销其他用户。

该数据定义语句指定了一个由另一个用户拥有的表、视图、索引或同义词，或者作为另一个用户授予/撤销特权。其中任何一个操作均要求数据库管理员特权，而您对该数据库无此特
权。如果您期望处理您所拥有的对象，请复审语句的标点。在其中某处，您可能使用了另一帐户的用户标识限定了名称。否则，让 DBA 授予您 DBA 特权或为您执行该操作
。



-513	语句对该数据库服务器不可用。

如果另一个数据库已打开，则不能执行 xa_open()。确保在执行 xa_open() 
前已关闭任何打开的数据库。






-512	对参考的字段没有参考权限。

用户对参考的字段没有参考权限。参考表的拥有者，或者有参考权限的用户带有那个
表的授权选项，可以使用 GRANT 语句授权用户这一权限。






-511	无法修改系统目录 table-name。

不允许在该表中更新、插入或删除行。如果您非常确定必须这么做，请以用户 gbasedbt 登录。该用户帐户可以修改除与 LBAC 相关的目录表以外的绝大多数系统目
录表。但由于存在很大风险，因此不推荐您这么做，除非得到 IBM 技术支持的专门指导
。



-510	不能为临时表 <表名> 建立同义词。

本 CREATE SYNONYM 语句不能被执行，因为指定的表是临时的。重新审查表名的拼
法。如果是用户所要的名字，则必须重新设计应用程序：或者使表变为永久的，或者
不使用同义词。






-509	不能改名临时表中的字段。

本 RENAME COLUMN 语句不能被执行，因为指定的表是临时的。不能在临时表中重命
名字段。重新审查表名的拼法。如果是用户所要的名字，取消它，用不同的字段再建
立一次。






-508	不能改名临时表。

本 RENAME TABLE 语句不能被执行，因为指定的表是临时的。不能改名一个临时表。
重新审查表名的拼法。如果是用户所要的名字，取消它，用不同的名字再建立一次。






-507	游标 <游标名> 没有找到。

在本 UPDATE 或 DELETE 语句中 WHERE CURRENT  OF子句命名的游标不存在。重新审
查名字的拼法。如果是用户所要的名字，则检查 DECLARE 语句并确认该语句已被执
行。同时还要确认游标没有用 FREE 语句释放。






-506	没有更新所有字段的许可。

用户的账户已经被授予更新特别字段的权限，但是本 UPDATE 语句更新所有的字段，
或者更新用户没有权限的字段。与表的拥有者联系或与本数据库中某个有数据库管理
员权限的人员联系，并要求授予完全的UPDATE 权限。列出表的拥有者的方法，参见
出错号 -313的讨论。






-505	在 UPDATE 中的字段数与 VALUES 的数目不匹配。

本 UPDATE 语句使用一个 SET 子句，在其中一个字段名字的列表设置为等于表达式
的列表，或者等于SELECT语句。等式左边的字段数并不等同于右边产生的数据值。滚
回当前的事务，然后重写语句。如果表达式的列表被使用，检查标点以确认每个表达
式是不同的。如果SELECT 语句被使用，检查看有多少字段返回。






-504	不能锁定视图。

本 LOCK TABLE 命令不能被执行，因为指定的表实际是一个视图。只有实际的表可以
被锁定。滚回当前的事务。然后重新设计操作针对视图所基于的实际的表进行工作，
或者以互斥方式打开数据库。






-503	锁定的表太多。

在本主机操作系统的数据库服务器中，有一个关于一次可锁定的表的数量的限制。它
不能锁定用户请求的表。滚回当前的事务，然后重新设计操作以锁定较少的表，或者
代之以行级的锁定，或者以互斥方式打开数据库。






-502	不能聚类索引。

当数据库服务器以行的聚集顺序建立表的新拷贝时，得到一个不期望的错误。检查 
ISAM 出错代码以获取更多的信息。典型的原因包括磁盘空间的短缺。






-501	索引<索引名>已经未被聚类。

表不再在（如果曾经在）本索引上被聚类。确认本索引是用户意指的索引；如果这
样，则不必变更本索引。查看哪一个表已被聚类的方法，参见出错号 -500的讨论。






-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'






-499	操作导致行大小超过了允许的限制(32767)。

表记录的最大大小为 32,767 字节。检查表中所有显示字段的摘要大小。请确保
您试图进行的操作不会导致超过最大行大小。






-498	错误的 cixtomsg 文件。请检查安装。

文件 cixtomsg（保存 SQLCODE 至 SQLSTATE 值的映射表）的版本无效。cixtomsg 文件位于目录 $GBASEDBTDIR/msg 中
。请检查该文件的日期和大小。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-497	LANG 或 LC_TIME 环境变量无效。

用户对环境变量 LANG 或 LC_TIME  指定了一个无效的值。





-496	LANG 或 LC_NUMERIC 环境变量无效。

用户对环境变量 LANG 或 LC_NUMERIC 指定了一个无效的值。





-495	LANG 或 LC_MONETARY 环境变量无效。

用户对环境变量 LANG 或 LC_MONETARY指定了一个无效的值。





-494	LANG 或 LC_CTYPE 环境变量无效。

用户对环境变量 LANG 或 LC_CTYPE 指定了一个无效的值。





-493	DBNLS 未设置（LC_CTYPE 必须是<字符串值>）

把环境变量 DBNLS 设置为一个适当的值。确认LC_CTYPE 被设置为指定的字符串值。





-492	LANG 或 LC_COLLATE 环境变量无效。

用户对环境变量 LANG 或 LC_COLLATE 指定了一个无效的值。





-491	DBNLS 未设置（LC_COLLATE 必须是<字符串值>）

把环境变量 DBNLS 设置为一个适当的值。确认LC_COLLATE被设置为指定的<字符串
值>。





-490	建立数据库没有 NLS 功能。

用户建立了一个缺少 NLS 功能的数据库。






-489	异常号超出范围。

被请求的异常号或者小于1，或者大于诊断区域的诊断表项数。






-488	无效的游标操作。

试图对一个游标进行无效的操作。为 SELECT 语句说明的游标不能在PUT 语句中使
用。同样，为INSERT 语句说明的游标不能在 FETCH 语句中使用。检查程序并重
试。






-487	游标只能被说明为静态的或者动态的。

指定的 SQL  语句要求用户把游标说明为静态的或动态的。依据所要求的游标类型把
游标说明为静态的或动态的，并重试指定的操作。






-486	在数据转换期间发现不合法的数据类型。

在系统描述符 sqlvar 表项找到的数据类型或者是不合法的，或者是未初始化的。不
能使用 GET DESCRIPTOR语句从未初始化的 sqlvar 获取一个值。






-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个结构成员中。






-484	语句/游标的名字必须在1 到 128个字符之间。

语句和游标的最大长度取决于数据库服务器。在GBasedbt 动态服务器 2000 中，
最大长度为 128个字符。在其它 GBasedbt 数据库服务器中，最大长度为 18 
个字符。







-483	SQL 描述符的名字太长。限于128个字符。

SQL 标识符名称的最大长度取决于数据库服务器。在GBasedbt 动态服务器 2000 中，
最大长度为 128个字符。在其它 GBasedbt 数据库服务器中，最大长度为 18 个字符。







-482	对非 SCROLL 游标的无效操作。

用户不能用非滚动游标发出FETCH PRIOR、FETCH FIRST、FETCH LAST、 FETCH 
CURRENT、FETCH RELATIVE n、或FETCH ABSOLUTE n 语句。要这样做，必须首先将游
标说明为滚动游标。






-481	无效语句名或语句没有被准备。

语句还没有被准备或者语句名的格式不是有效的。有效的语句名不能超过最大长度。
它由字母或下划线开始，并且不包含任何空格及除下划线以外的非字母数字字符。
另外在GBasedbt 动态服务器 2000 中，还可以包含美元符号。

语句名的最大长度取决于数据库服务器。在GBasedbt 动态服务器 2000 中，最
大长度为 128个字符。在其它 GBasedbt 数据库服务器中，最大长度为 18 个字符。







-480	有相同名字的描述符已经存在。

具有相同名字的一个系统描述符区域已经被分配，所以本描述符是不唯一的。在
ALLOCATE DESCRIPTOR 语句中改变描述符的名字，使描述符成为唯一的，并再次执行
本语句。






-479	DESCRIBED字段数大于分配的空间。

在表中的字段数大于分配的描述符。使用ALLOCATE DESCRIPTOR 语句去重新分配一个
更大的出现值，并重试 DESCRIBE 语句。






-478	用户必须指定TYPE。

在初始状态，当用户执行一个 SET DESCRIPTOR 语句时，必须指定 TYPE 作为要设置
的字段之一。在SET DESCRIPTOR 语句中设置 TYPE 字段并再次执行。






-477	缓冲区太小。

在 GET DESCRIPTOR 语句中，指定用来存储 NAME 表项的缓冲区（字符宿主变量）太
小。增大缓冲区大小并再次调用 GET DESCRIPTOR 语句。本出错信息在宿主变量是 
FILE 类型时也会被显示，而且用于存储其名字的缓冲区是太小的。






-476	当类型为 SQLCHAR 时，LENGTH 字段必须被指定。

当使用 SET DESCRIPTOR 语句，并且  TYPE  设置为SQLCHAR时，则 LENGTH 
字段在同一个 SET DESCRIPTOR语句中也必须被指定和设置。






-475	在 GET 语句中，如果 DATA 为空，则 INDICATOR 必须被指定。

这一X/Open规则说明当DATA为空时必须在 GET DESCRIPTOR 语句中请求 
INDICATOR 值。






-474	未知的字段类型。

一个未知的字段类型已经被请求。检查你正使用的是X/Open 方式下的有效字段类型之
一，并再试一次，有效的字段类型是TYPE、LENGTH、PRECISION、SCALE、NULLABLE、
INDICATOR、DATA和NAME。






-473	指定数据类型不是X/Open标准类型本错误发生在GET DESCRIPTOR 或 SET
DESCRIPTOR语句在X/Open 方式下执行，并且类型字段的值不是X/Open的标准类型的
时侯。再次检查X/Open代码的数据类型并确认使用的类型正确。



-472	出现的值超出范围。

改变 COUNT 语句的值使其小于或等于<出现>的值并且大于零，然后再试一次。






-471	使用了一个无效的描述符名字。

本错误在 SQL  描述符的名字是一个空字符串或是一个未被初始化的宿主变量时
产生。描述符的名字遵循和标识符一样的命名规则。检查描述符的名字并检验它已经
用SET  DESCRIPTOR 语句设置或用ALLOCATE DESCRIPTOR 语句分配或被初始化。






-470	出现的值必须大于零。

如果在 ALLOCATE DESCRIPTOR 语句中包含 WITHMAX <出现>子句，则必须指定一个
大于零的<出现>的值。改变<出现>的值成正的整数，并再次执行ALLOCATE
DESCRIPTOR语句。






-469	本描述符不存在。

指定的系统描述符区域的名字在系统描述符区域列表中不存在，所以它没有被分配。
必须先执行ALLOCATE DESCRIPTOR 语句分配好描述符的名字，然后才能使用它。






-468	无法从系统获取用户标识。无法启动数据库服务器。

您的应用程序正在尝试打开与数据库服务器的通信。作为该操作的一部分，必须从系统密码文件中读取您的用户标识，但是其未能执行该操作。查找可能提供更多具体信息的操作系统
错误消息。咨询系统管理员以确保用户标识的文件可由所有用户读取
。



-467	指示器对象遗漏。

这个程序用 -icheck标志编译，且当前的SQL语句返回一个截段的或null值，对这个值
将正常地设置一个指示器，然而，没有指示器变量指定到一个宿主变量。修改程序使
用指示器变量。






-466	文件长度不正确。

该语句在文件中的 BYTE 或 TEXT 列中存储值。定位器结构在 loc_locsize 中指定了数据长度，但数据库服务器在读取完该长度的数据之前就已到达文件
的结尾。请检查该程序以确保输入文件正确定位并且指定了正确的长度。如果应该读到文件的结尾，请将长度指定为 -1。如果这是 4GL 程序，那么不应发生该错误。如果该
错误重复出现，请记下所有情况并联系 IBM 技术支持。



-465	没有更多的存储器可用于定位器缓冲区。

该查询返回位于存储器中的 BYTE 或 TEXT 值，并且定位器结构要求（通过将 loc_bufsize 设置为 -1）数据库服务器分配存储器。缓冲区无法获得必
要的存储器空间。如果您可以使用操作系统方法为程序分配更多的数据空间存储器，请这样做并再次运行该程序。或者，找到文件中的值或使用子串按比例选择值。如果这是 4GL
程序，那么不应发生该错误。在 DOS 系统上，请退出到操作系统命令行，释放一些磁盘空间，然后重新提交您的程序。如果该错误重复出现，请记下所有情况并联系 IBM 
技术支持。



-464	写文件错误。

这个语句从一个 BYTE 或 TEXT 字段读取一个值到一个文件。当写该数据时，数据库
服务器得到一个操作系统错误。检查伴随的 ISAM错误代码以获得更多的信息，并寻找
操作系统信息。典型的原因包括缺少磁盘空间和硬件错误。






-463	读取文件错误。

这个语句从一个文件将一个值写到一个 BYTE 或 TEXT 字段。当读取该文件时，数据
库服务器得到一个操作系统错误。检查伴随的 ISAM 错误代码以获得更多的信息，并
寻找操作系统信息。






-462	文件关闭错误。

这个语句从一个 BYTE 或 TEXT 字段读取一个值到一个文件。数据库服务器将该数据
复制到那个文件，但是，当数据库服务器关闭该文件时，得到一个操作系统错误。检
查伴随的 ISAM错误代码以获得更多的信息，并寻找操作系统信息。典型的原因包括缺
少磁盘空间和硬件错误。






-461	文件打开错误。

此语句在文件和 BYTE 或 TEXT 字段之间传送值，或此语句试图在所需
文件不可用时取消数据库。由于定位器结构字段 loc_loctype 设置为 LOCFNAME，
数据库服务器试图用 loc_fname 中的路径名和 loc_oflags 中的标志来打
开文件。这时将返回操作系统错误。检查随附的 ISAM 错误码以获得详
细信息，同时查找操作系统消息。典型原因有：磁盘空间不足、文件
许可权问题和对打开文件的数目限制。






-460	语句长度超出最大值。

在这个 PREPARE, DECLARE, 或 EXECUTE  IMMEDIATE 语句中，语句文本长于数据库服
务器可以处理的长度。对于不同的设备，实际的限制是不同的，但总是放宽的，
多数情况最多为32,000字符。检查程序逻辑，确认某个错误不会使它提供一个比预期
长度要长的串（例如，在内存中覆盖 null 串结束符字节）。如果文本有预期长度，
修改程序使其每次提供较少的语句。






-459	GBasedbt 动态服务器 2000 被关闭。

您的应用程序使用的数据库服务器实例已被其操作者关闭。当数据库服务器再次启动
时，当前事务将被自动滚回。在那个时间重新运行应用程序。








-458	长事务已异常终止。

数据库服务器耗尽了记录该事务的日志空间。无法回滚未完全记录的事务。为保留数据库完整性，操作系统结束了事务并自动将其回滚。自事务启动后进行的所有更改均已被除去。请
终止应用程序并重新计划以使其在每个事务中修改更少的行。或者，联系数据库服务器管理员来讨论增加逻辑日志的数量或大小。准备好讨论要更新或插入的行的数量以及每个行的大
小。

当 DBA 在另一会话中使用了 FORCE_DDL_EXEC 环境变量且执行了 ALTER FRAGMENT ON TABLE 语句时，也会发生该错误。在这种情
况下，ALTER FRAGMENT ON TABLE 语句将回滚打开的任何事务并在发出 ALTER FRAGMENT 的表上加锁
。



-457	数据库服务器异常终止。

您的应用程序正在使用的数据库服务器进程或线程已终止。DBA 可能已关闭系统。第二种最可能的原因是内部错误。查找可能提供更多信息的操作系统消息。如果该错误重复出现
，请记下所有情况并联系 IBM 技术支持。

请查看该错误返回的 ISAM 错误代码。如果代码是 -129，那么表明数据库服务器未终止，只是达到了最大并发用户会话数的限制（请参阅错误 -129 的说明）
。



-456	指示符值不适合主变量。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-455	'loc_write()' 失败。

loc_write() 函数在定位器结构提供的一个BYTE 或 TEXT 值，在这个语句中被调用并
返回一个负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)
定位时，这个函数是程序的部分并且你不得不自己诊断它的问题。当该值在
一个文件(loc_loctype 包含 LOCFILE，或在一个4GL程序，该变量已被定位在一个文
件)被定位时，这个错误表示系统提供的 loc_write() 函数不能写到该文件。可能的
原因包括: 磁盘是满的，你没有对该磁盘的写许可；发生了一个硬件错误。






-454	'loc_read()' 失败。

loc_read()函数在定位器结构提供的一个BYTE 或TEXT值，在这个语句中被调用并返回
一个负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)
定位时，这个函数是程序的部分并且你不得不自己诊断它的问题。当该值在一个文件
(loc_loctype 包含 LOCFILE，或在一个4GL程序，该变量已被定位在一个文件)被定位
时，这个错误表示系统提供的 loc_read() 函数不能从该文件读取。






-453	'loc_close()' 失败。

loc_close()函数在定位器结构提供的一个BYTE 或TEXT值，在这个语句中被调用并返
回一个负的返回代码。当该值用用户提供的函数(loc_loctype 包含 LOCUSER)
定位时，这个函数是程序的部分并且你不得不自己诊断它的问题。当该值在一个文件
(loc_loctype 包含 LOCFILE，或在一个4GL程序，该变量已被定位在一个文件)被定位
时，这个错误表示系统提供的 loc_close() 函数不能关闭该文件。






-452	'loc_open()' 失败。

loc_open()函数在定位器结构提供的一个BYTE 或TEXT值，在这个语句中被调用并返回
一个负的返回代码。当该值用用户提供的函数( loc_loctype 包含 LOCUSER)定位时，
这个函数是程序的部分并且你不得不自己诊断它的问题。当该值在一个文件
(loc_loctype 包含 LOCFILE，或在一个4GL程序，该变量已被定位在一个文件)被定位
时，这个错误表示系统提供的loc_open()函数不能打开该文件。可能的原因包括: 
该文件不存在；你没有对该文件的读取许可；打开文件太多。






-451	定位器缓冲区太小。

在该语句中为 BYTE 或 TEXT 值提供的定位器结构（在 loc_bufsize 字段中）指定了小于该值的存储器缓冲区。实际大小位于 
loc_indicator 中。这样导致未传输任何数据。请修改该程序，以使用较大的缓冲区，将值放置在文件而非存储器中，或者通过用户提供的读取函数在分段中传递值。
您也可以在 SELECT 语句中指定值的子串。如果这是 4GL 程序，那么不应发生该错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-450	不合法的 ESQL 定位器，或4GL中未初始化的 blob 变量。

在这个语句中使用的一个 BYTE 或 TEXT主机变量是无效的。如果这是一个 4GL 
程序，该变量没有用 LOCATE 语句初始化，或者定位后被释放。检查程序逻辑，确认
全部的 blob 变量在使用前是定位的。如果这是 ESQL/C，则定位器结构是无效的或未
初始化的。检查全部定位器结构在使用前已分配空间并且已赋值。






-444	无法使用 ALTER TABLE 语句来修改指定外部表的扩展数据块大小
。

无法对驻留在 extspace 中的外部表更改扩展数据块大小。extspace 指的是 GBasedbt 数据库服务器未管理的存储位置
。



-443	FOR 循环中指定的范围不能有 NULL 值：(%s)。

存储过程中的 FOR 语句的开始值、结束值或某个范围的单步值不能为 NULL 值
。



-442	无法将许可权授予 NULL 或空用户名。

您要授予访问特权的用户的授权标识不能为 NULL 或空。



-441	由于提交被中止，目标DMMS(%s)中可能存在不一致的数据。

由于通信错误、节点故障、网关故障、或通过网关访问的目标DBMS的其它错误，
分布式提交处理失败。在参与事务的所有节点上的更新与目标DBMS可能的例外
已被滚回。如果故障发生在目标DBMS处理提交信息之后，目标DBMS可能已经
提交了它的更新。

如果目标DBMS 上的更新已经提交，那么更新应该被手工滚回。请与目标DBMS
系统管理员联系。






-440	在一次事务中更新的非GBasedbt DBMS不能超过一个。

在应用程序中，试图在多个通过网关访问的目标DBMS上更新数据。在分布式
事务中，最多只能更新一个通过网关访问的目标DBMS。

您需要重新编写应用程序以便在单独的分布式事务中最多更新一个通过
网关访问的目标DBMS。






-439	数据库服务器当前正在处理一个 SQL 任务。

你试图在一个信号处理函数/例程或一个回调 函数/例程内调用一个 SQL 程序，或试
图执行一个SQL语句。只能使用你的 GBASEDBT-ESQL/C 回调函数内部的 
sqldone() 和 sqlbreak() 函数库函数。只能使用你的 ESQL/COBOL 回调过程内部的
ECO-SQD 和 ECO-SQB函数库程序。另外，如果你要在GBASEDBT-ESQL/C中不寄存你的回
调函数，你可以在你的回调过程中调用 sqlbreakcallback()回调登记函数。如果你要
在 ESQL/COBOL 中不寄存你的回调过程，你可以在你的回调过程中调用 ECO-SQBCB 回
调寄存程序。





-438	如果 time-out 值是-1，回调函数必须是NULL。

对撤消回调函数提供了一个非法值。给该回调函数传递一个 null 值，而不是一个函
数指针。





-437	连接必须建立在登记回调函数之前。

在连接到一个数据库服务器之前，试图登记回调函数。首先必须连接到一个数据库服
务器，然后登记回调。





-436	当 time-out 值大于等于零时，回调函数必须被定义。

你没有对你的 time-out 值提供一个回调函数。确认你既提供了 time-out 值也提供
了一个回调函数。





-435	Time-out 值必须大于等于-1。

在 GBASEDBT-ESQL/C 或 ESQL/COBOL中，你为你的回调 函数/例程提供一个非法的 
time-out 值。请检查 time-out 值大于等于-1。





-434	小数类型与大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-433	货币类型与大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-432	日期类型与大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-431	浮点类型与大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-430	整数类型与大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-429	指示符变量应该是 2 字节整数。

该语句将未声明为小整数的主变量命名为指示符变量。而返回给指示符变量的值是一个小整数值。请检查该语句，特别是将主变量作为指示符变量的部分。确保指示符变量的名称拼写
正确并且进行了正确的声明。在 4GL 程序中该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-428	调用绑定例程的次数太多。

该内部错误不应发生。如果您无法找到导致该错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-427	以不同的计数调用了绑定计数例程。

该内部错误不应发生。如果您无法找到导致该错误的直接原因，请记下所有情况并联系 IBM 技术支持
。



-426	提供了未知的值。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-425	数据库目前正被另一用户打开。

另一用户已经以独占方式打开了所要求的数据库，或用户与数据库
服务器有多个的连接。稍等片刻或当知道数据库已闲置时，再重
复此语句。






-424	游标已经从这个准备好的语句说明了。

这个 DECLARE 语句把一个游标与一个准备好的语句名结合在一起。然而，另一个 
DECLARE 语句已经被执行，并把另外一个游标与相同的语句 id 结合在一起。这种操
作是不被支持的；一个已知语句只能被一个游标结合。检查程序中的全部 
DECLARE 语句并确认它们全部参考唯一的语句。本错误信息在5.0及以后的版本中不应
再出现。






-423	试图在无当前行时执行 FETCH CURRENT。

这个 FETCH 语句请求当前行，但当前行不存在。或者游标刚被打开，或者先前的
fetch返回一个错误代码，也许由于它处在数据的结尾而产生这种情况。在试图使用这
个语句前，检查程序逻辑，并检查使用一个FETCH NEXT语句或其它FETCH
操作以建立一个当前行。






-422	试图在未打开的游标上刷新。

这个 FLUSH 语句命名一个从未打开的游标，或已经被关闭的游标。检查程序逻辑并确
保它将在此之前打开该游标，而且不会意外地关闭它。一个插入的游标是自动地由 
COMMIT WORK 或 ROLLBACK WORK关闭的。






-421	执行远程 sqlexec 的未知服务。

应用程序正在启动并试图与其它机器中的一个数据库服务器连通。它使用来自服务入
口 sql 下的文件 /etc/services的信息，但没有发现该文件。请与在系统上安装 
GBASEDBT-NET 的人联系。






-420	不能执行远程 sqlexec。

应用程序正在启动并试图与另一个计算机中的数据库服务器进程连通。为此，它使用
了 SQLHOST 环境变量的内容。检查SQLHOST变量并修改在其它机器中已经启动的 
GBASEDBT-NET 或 GBASEDBT-STAR 服务。






-419	SQLDA 或主变量中的 SQLDATA 指针为 NULL。

请检查该程序构造 sqlda 和相关数据结构的方式；它以某种方式设置了一个 NULL 指针。如果该程序以 GBase  4GL 或并非由程序直接构造
sqlda 的另一种语言编写，或者，如果该语句仅通过名称引用主变量，那么该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-418	发现 SQLDA 描述符或主变量列表为 NULL。

请检查该程序构造 sqlda 和相关数据结构的方式；它以某种方式设置了一个 NULL 指针。如果该程序以 GBase  4GL 或并非由程序直接构造
sqlda 的另一种语言编写，或者，如果该语句仅通过名称引用主变量，那么该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-417	FLUSH 只能被用于一个插入游标。

这个 FLUSH 语句参考一个与 SELECT 语句而不是 INSERT 语句结合在一起的游标。
FLUSH 只适合插入游标。检查程序，确认命名了正确的游标。






-416	打开语句的USING 选项对于插入游标是无效的。

这个 OPEN 语句参考一个为 INSERT 语句说明的游标。OPEN 的USING 子句在这种情况
是不合适的；它只能用于指定一个SELECT 语句使用的变量。检查程序以确认在这个语
句中是否使用了正确的游标。如果在这个语句使用的游标是正确的，并且如果 
INSERT 语句是 DECLARE 语句的部分，你可以在其中直接命名宿主变量。如果 
INSERT 语句已经准备好，你可以在PUT 语句的 FROM 子句中指定宿主变量。






-415	数据转换错误。

数据库服务器不能进行一个程序变量和一个数据库字段之间的转换。在许多情况中它
执行自动数据转换，但在这种情况中却不行。例如一个字符串只要包含一个有效数的
数字就将被转换成一个数值类型；或者一个浮点或十进制数将被转换成整数，只要接
收器对该值有足够的精度。检查这个语句，检查每个与匹配的数据库字段没有相同数
据类型的程序变量。






-414	试图在 NULL 游标上插入。

这个 PUT 语句指定一个无效的游标。该游标可能已经用 FREE 语句释放，或者该游标
数据结构可能已在内存中被覆盖。






-413	试图在未打开的游标上插入。

这个 INSERT 语句命名一个从未打开的或者已经被关闭的游标。检查程序逻辑并检查
它将在此之前打开该游标，而且不会意外地关闭它。一个插入游标是自动地由COMMIT 
WORK 或 ROLLBACK WORK语句关闭的。






-412	命令指针是 NULL。

这个语句(可能是 EXECUTE 或 DECLARE)参考一个从未准备或已经被释放的动态 SQL 
语句。检查程序逻辑，确认语句已经准备好，即 PREPARE 没有返回一个错误代码，并
且在此之前没有用 FREE 语句释放该语句。






-411	不能同时指定主机变量和描述符。

这个语句有一个USING DESCRIPTOR 子句，但它还参考一个用主机变量说明的游标(即
用 SELECT...INTO 或 INSERT ，它们使用 VALUES 子句中的变量)。描述符结构和
主机变量名字的目的都是指定数据值的位置，且只能用一种方法。检查该游标的说明
并决定指定数据值位置的一种方法。






-410	准备语句失败或没执行。

这个 EXECUTE 语句参考一个尚未准备的语句 id。或者没有执行 PREPARE 语句，或者
虽然执行却返回一个错误代码。检查程序逻辑，确保语句是准备好的且 PREPARE
的返回代码被检测。一个从PREPARE 返回的负的错误码通常反映一个已准备的语句中
的错误。






-409	当前用户没有发现或不能执行 Sqlexec。

在启动应用程序时，应用程序与数据库服务器进程相联系。该操作使用SQLEXEC 
环境变量中的值就做到这一点(对于数据库服务器6.0以前的版本)；它应该指向两个可
执行文件之一：GBASEDBT-SE 的 sqlexec 或 GBASEDBT-OnLine 的sqlturbo
 (6.0以前的版本)。通常这些将驻留在由 GBASEDBTDIR 环境变量命名的目录的 
lib 子目录中。检查你的SQLEXEC 环境变量是否确实正确地设置以及你的帐户是否已
经存取到这些目录和文件。






-408	接收自 sqlexec 进程的消息类型无效。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请确保您的程序软件与正在使用的数据库引擎兼容
。

如果 CSM 选项已在数据库服务器端启用但未在客户机应用程序端启用（或相反），也会发生该错误。如果您希望使用 CSM，请确保在 sqlhosts 文件中为数据库
服务器和客户机应用程序都设置了 CSM 选项。

如果 CSM 的机密性选项已在数据库服务器端启用但未在客户机应用程序端启用（或相反），也会发生该错误。如果您希望使用 CSM 的机密性选项，请确保为数据库服务器
和客户机应用程序都设置了该选项。请检查 sqlhosts 文件和 CSS 配置文件
。

如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-407	从 sqlexec 进程接收到错误号 0。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请确保您的程序软件与正在使用的数据库引擎兼容。如果该错误重复出现，请记下所有情况并联系 IBM 技
术支持。



-406	内存分配失败。

在当前语句中某些内容要求为数据存储分配内存，但内存不可使用。几件事情
可能导致这个错误，包括：您的应用程序有一个内存漏洞；您正在请求比系统
允许配置的更多的资源；或者UNIX系统本身有问题需要重启该系统。

滚回当前事务。设法使这个语句更简单或移动更少的数据。也可以与你的 UNIX 
系统管理员商量解决内存问题或者设法使操作系统给这个程序更多的虚拟内存，
以在其内运行这个程序。在 DOS 系统，退出操作系统命令行，释放一些磁盘空
间，并重新提交你的程序。







-405	主变量的地址未正确对齐。

请检查该程序构造 sqlda 和相关数据结构的方式；它以某种方式设置了一个未按字对齐的指针。另外，请确保所有的主变量都针对其类型按照正确的地址边界对齐。如果该程
序以 GBase  4GL 或并非由程序员控制存储对齐的另一种语言编写，那么该错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支
持。



-404	游标或语句不可用。

可能使用了指明某一用 FREE 语句释放掉的游标的语句。检查程序逻辑，
并确保指定游标在到达该语句前，已说明并打开，但没有释放。

如果错误出现在指定变量而不是指定游标的命令上，则该语句并未在
用户试图执行它以前准备好。

如果因为与服务器的连接并不存在或是失去了连接而使游标或语句不可用，
则这一错误也会出现。







-403	所收到行的大小与期望的大小不匹配。

该内部错误表明数据库服务器和调用它的库函数之间的通信存在问题。请检查您的程序是否与正在使用的数据库服务器具有相同的软件级别。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-402	主变量地址为 NULL。

请检查该程序构造 sqlda 和相关数据结构的方式；它以某种方式设置了一个 NULL 指针。如果使用行或集合主变量而未执行必要的 ALLOCATE 语句，就可能
产生该错误。

如果该程序以 GBase  4GL 或并非由程序直接构造 sqlda 的另一种语言编写，或者，如果该语句仅通过名称引用主变量，那么该错误不应发生。如
果该错误重复出现，请记下所有情况并联系 IBM 技术支持。



-401	试图在 NULL 游标上进行Fetch。

这个 FETCH 语句传递一个无效的游标数据结构或一个 null 指针。该游标可能已经用
FREE语句释放，或者该游标数据结构可能在内存被覆盖。

5.0及以后版本的数据库服务器不返回这个错误代码。参见错误-267 和 -404。






-400	试图在未打开的游标上进行Fetch。

这个 FETCH 语句命名一个从未打开或已经关闭的游标。检查程序逻辑并检查它将在此
之前打开该游标，而且没有意外地关闭它。除非一个游标用WITH HOLD说明，它自动地
由一个COMMIT WORK 或 ROLLBACK WORK语句 关闭。






-399	不能存取日志文件。

这个查询参考一个命名为syslog 的表。systables目录有一行在 tabname字段中具有
syslog，但这只是一个存储事务日志文件路径名的方便地方。在GBASEDBT-SE下一个命
名为syslog的表不能存于登录的一个数据库中。(一般地，不宜使用以sys-开始的表
名，而 syslog 是不允许的。)






-398	游标控制必须在一个事务内部。

试图使用一个UPDATE 或一个DELETE WHERE CURRENT OF语句时会产生这个错误信息。
这个语句将通过一个游标修改一个表。然而，这个数据库使用一个事务日志。对这种
情况，通过一个游标进行修改必须处于一个事务的范围。

检查程序逻辑，并检查在这个语句之前先执行BEGIN WORK 语句而且在适当的时间结束
该事务。如果程序既要通过使用事务的数据库，又要通过不使用事务的数据库来工
作，你可以让它检测 SQL 通讯区的sqlwarn 数组的第二个元素。如果该数据库有一
个事务日志，该通讯区就包含一个跟随DATABASE语句的字母W；如果没有事务日志，
就包含一个空格。






-397	系统目录 <table-name> 已损坏。

该内部错误不应发生。数据库服务器遇到一张或多张系统目录表违反完整性约束的情况
。

如果您正在使用 GBase  Database Server、GBase  Universal Server 或 GBase
OnLine Database Server，请运行 oncheck 实用程序。如果正在使用 GBase  SE 数据库服务器，请运行 bcheck 
或 secheck。如果正在使用 GBase  OnLine 数据库服务器，请运行 tbcheck。如果该错误重复出现，请记下所有情况并联系 IBM
技术支持。



-396	在嵌套的外部表与保留表之间存在不合法的联结。

此查询需要一个外部联结。但是WHERE子句中的一个条件使一个嵌套的从属表与一个不
是它的直接父表的保留表之间发生关联。这种操作是不被支持的。请重新察看此查
询，确认每个条件中相关联的两个表分别是保留表与它的直接从属表。






-395	WHERE子句包含一个外部笛卡尔乘积。

此查询需要一个外部联结。但是WHERE子句的写法实际是要对于主表的每一行分别选出
从属表的每一行，这将导致一个规模非常大的输出。请重新察看查询语句，并检查在
查询语句中至少有一个条件使每一对主―从表之间有关联。






-394	没有找到视图<视图名>。

所命名的视图不存在，故不能删除之。可用如下语句查询systables中现存的视图的名
字：

SELECT tabname FROM systables WHERE tabtype = `V'






-393	where子句中的条件导致双向外部联结。

此查询需要一个外部联结。但是在WHERE子句有一个或更多的条件使主―从关系发生冲
突。请重新察看查询，确认关联两个表的每个条件都是必要的。






-392	系统错误 - 发现意外的 NULL 指针。

该内部错误不应发生。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-391	不能向字段<字段名>中插入null。

此语句试图向所指出的字段中送入NULL值。但此字段被定义为NOT NULL。当前事务被
滚回。如果这是一段程序，请重新检查表的定义并修改程序的逻辑使null不被用于不
接受NULL的字段。






-390	此同义名已作为表名或同义名使用过。

CREATE SYNONYM语句命名了一个已在使用的同义名。为查看当前定义的同义名和表
名，请按如下方式查询systables：

SELECT  tabname,  owner  FROM  systables  WHERE  tabid  >99






-389	没有DBA权限。

此语句不能被执行。因为你的帐户没有被授予此数据库的DBA的权限。请与
有此数据库DBA权限的人联系，并请他授权给你（或者请他帮你执行此语句）。

收到此消息还可能是因为您试图注册一个用户定义的例程，而该例程是用一种您
不具有使用权限的语言书写的。如果您不具有该语言的使用权限，可以请以下用户
授权给您：用户 gbasedbt 或其它被授权可以给其它用户授权的用户。







-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权限。






-387	没有连接权限。

不能访问这条语句所要求的数据库，因为没有被获准与该数据库连接的权限。
请与拥有该数据库管理员权限的人联系，并向他申请与该数据库连接的权限。






-386	字段中包含空值。ALTER TABLE 语句中包含的MODIFY字句将NOT NULL属性赋
予一个已经存在的字段。但此字段已包含了一个或者多个null值。除非将所有的null
值删除或者将其更新为非null值，否则此修改无法完成。



-385	


-384	不能修改非简单视图。

此语句试图修改（插入、删除、修改）一视图中的某些字段。然而，此视图不可被修
改。此视图是基于联结两个或者更多的表的SELECT语句的，或者是用来选择计算值、
文字值的SELECT语句的。（但你可以对从单个表中选出的视图进行DELETE
操作，即使有一些计算值被选出也是允许的。）你必须使此语句直接对视图所基于的
表进行操作。






-383	需要在视图定义中指定视图字段名。

在此 VIEW 语句中，未列出字段的指定名称。在 SELECT 语句仅选择
简单的已命名字段时才允许此操作。然而，此处的 SELECT 语句选择
了一个或多个表达式。必须为视图名后面用括号括起的列表中的这些字段
提供名称。由于不能只为其中一些字段提供名称，必须列出所有字段的名称。






-382	在视图和选择子句中指定的字段个数必须相等。

在此VIEW语句中，你已经列出了视图的字段名。然而，此处列出的字段数与定义视图
的SELECT语句中的字段数不等。检查两个列表中的标点，确认你为选择列表中的每项
都提供了名字。






-381	不能将权限授给那些将该种权限赋予你的用户。

你试图将原先以WITH GRANT OPTION授与你的权限授予别人。原来授予你该权限的用户
的名字也列在当前命令的用户名单之中。为了系统安全起见，不允许相互授权。重写
语句，去掉那些授权给你的用户的名字。要查看你不该授权的用户名单，请按下列方
式查询systabauth：

SELECT grantor FROM systabauth WHERE grantee = USER






-380	不能删除日志文件。

数据库服务器在初始化事务的日志时，接收到一个非期待的错误。请查看伴随的ISAM
错误代码，它将给出关于原因的详细说明。典型的原因是硬件错误和文件权限错误。






-379	不能撤消字段上的权限。

在GRANT语句中，可以对特定的字段授与UPDATE或SELECT权。然而，REVOKE权限语句只
能接受权限类型的关键字，你不能撤消对指定字段的访问权限。如果要改变某个用户
所允许访问的字段，那就必须先撤消全部权限，再按新的字段列表予以授权。






-378	当前记录被其它用户锁住。

此语句需要的表中的一行不能被访问，因为此行已被锁住。为得到更多的信息，请查
看伴随的ISAM错误号。可能的错误码为-107, -113, -134, -143, -144, -154，它们
分别表示你的程序和其它用户程序之间些微不同的关系。可用SET LOCK MODE TO WAIT
来阻止大部分（但不是全部）此类错误的发生。

在4.1之版本前的数据库服务器中，这类错误只是由UPDATE 和 DELETE WHERE 
CURRENT OF语句引起的在6.0版本中，这条错误信息不再被使用。






-377	在关闭数据库之前必须结束事务。

只有在当前事务完成后，该语句(DATABASE,CREATE DATABASE或CLOSE 
DATABASE)才能执行。

您可以使用COMMIT WORK语句，也可以用ROLLBACK
WORK语句，然后就可以关闭数据库了。

如果您导出一个数据库，然后又将其导入，大对象句柄（对于图象）在导入
数据库后会不同。因此，如果您对图象使用静态的 html 引用并且在导出数据库
后又将其导入，就必须为每个静态的 html 引用确定新的大对象句柄。







-376	日志文件已存在。

你在WITH LOG IN 子句中定义的事务日志文件必须是尚不存在的。数据库服务器必须
使用新的日志文件。没有办法在旧的日志文件的后面添加日志数据。已存在的日志文
件中的恢复数据是至关重要的，所以不能简单清空已存在的日志文件。要作一完全备
份：先锁定数据库，把数据库的目录复制到备份介质上，删除日志文件（这个文件已
不再需要了），执行START DATABASE语句。要进行部分归档，先对数据库加锁，把日
志文件复制到备份介质上并以全归档的方式存储复制的日志文件，删除/重命名日志文
件，执行START DATABASE 语句。






-375	不能生成事务的日志文件。

当数据库企图利用执行START命令创建事务日志时，遇到了一个非期待的错误。请查看
伴随的ISAM错误代码，它将提供更详细的信息。典型的原因为磁盘空间不够，文件权
限问题，可同时打开文件的个数的限制。






-374	在带UNION的ORDER BY子句中只能使用字段号。

此查询语句包含UNION和ORDER BY子句。在一个有几个选择语句、而且每个语句中的被
选字段的名字不必要相同的"并"查询语句中，不能在ORDER BY子句中使用字段名。但
可以用位置号表示，即用1表示第一个字段、2表示第二个字段等等。请重写此查询，
在ORDER BY 子句中只使用数字。






-373	由于 DBPATH 条目太长，因此数据库或命令脚本不可访问
。

由于一个或多个条目太长，因此数据库服务器使用 DBPATH 环境变量找不到数据库或命令脚本。任何条目都不能超过 128 字节，总条目数不能超过 100。在
第 100 个条目以外的指定条目将被忽略。

请按照这些规则重新设置 DBPATH 环境变量的值。



-372	不能变更打开了审计追踪的表。

一旦某表的审计追踪被启动，表就不应变更。如果必需变更，请执行下述操作：把表
复制到备份介质上，用DROP AUDIT去掉审计追踪，删除审计追踪文件，变更表，再把
表复制到备份介质上的，最后用CREATE AUDIT启动新的审计追踪。如果表变更失败（
如果表太大，那么操作过程将长，需要大量的磁盘操作），就要把第一次复制的表恢
复回去。第二次复制的表也是必要的，因为如果变更后的表必须恢复时，那么新的审
计追踪应该被使用有相同的字段格局的备份。






-371	不能在含有重复值的字段上创建唯一索引。

CREATE UNIQUE INDEX语句不能完成，因为此字段（或一些字段）有一条以上重复的
行。你可以建一个普通索引以接受重复值，或者删除掉重复的值。要得到一列字段中
的重复值，可先建立一个普通索引，在下述SELECT语句中填入表名和字段名，然后执
行之：

SELECT column FROM table main WHERE  1  <
	(	SELECT  COUNT(*)  FROM  table  sub
		WHERE  main.column  =  sub.column )

这种语句可扩展到使用了AND的多个字段的情况。






-370	不能删除最后一个字段。

 ALTER TABLE DROP语句要删除表中的每个字段。至少要留一个字段。改正语句，至少
保留一个字段。如果你不想要整个表，可用DROP TABLE语句删除该表。






-369	无效的序列号。请查阅您的安装指示信息。

在安装 GBase  产品时发生了某个错误。请检查 SQLEXEC 环境变量（对于早于 6.0 版的数据库服务器）和 GBASEDBTDIR 环境变
量中的值；然后咨询已安装该软件的人员，并复查安装指示信息
。



-368	不兼容的sqlexec模块。

数据库服务器版本与数据库应用程序例行函数库版本不匹配。这个不兼容性在应用程
序能够执行之前必须解决。数据库服务器通过SQLEXEC环境变量被选中（专指6.0以前
版本的数据库服务器），此变量含有数据库服务器代码的全路径，它常用的名字是
sqlexec或sqlturbo（专指6.0以前的数据库服务器版本）。连接到程序中的存取例行
程序是在编译时选择的。如果你正在执行的程序是由GBasedbt提供的，那么可能是此
GBasedbt产品或其它GBasedbt产品安装不正确。






-367	不能计算字符型字段的总和或平均值。

此语句用 SUM /AVG函数对字符型字段（即CHAR或VARCHAR数据类型）进行计算。
如果你不想计算字符型字段的总和或平均值 ，请重新检查表定义时字段名的拼法。
如果字符型字段中存的是字符形式的数值，有个方法可以巧妙地实现数据库服务器
（4.0及以后版本）的自动转换。在表达式中用圆括号的表达式 (<字段名>+0)
代替函数中的字段名。






-366	小数位数超过了指定的最大精度。

此语句中DECIMAL/ MONEY数据类型的精度或小数位数有问题。重新查看这些类型的用
法。首先，DECIMAL应该定义为DECIMAL(p)或DECIMAL(p,s)。此处的p代表1到32之间的
精度（数字的总共位数），s代表小数位数（数字小数点右边的数字个数），并且S不
大于P。MONEY型遵循同样规则。






-365	必须在简单的 SELECT 语句中为 FOR UPDATE 定义游标。

在该语句（可能是 OPEN 语句）中命名的游标与 FOR UPDATE 子句一起声明。但是，它已和一条 SELECT 语句关联，该语句用于连接 (join) 两
张或多张表，或者使用 UNIQUE、DISTINCT、GROUP BY、RDER BY、FOR READ ONLY、INTO TEMP 或 UNION。这样的 
SELECT 语句不能在更新中使用，因为无法将新数据分配回多张表
。

请检查游标的声明。如果它声明了 FOR 语句标识，那么还需检查设置该语句的 PREPARE 语句。您可能需要两个游标，一个用于常规查询，另一个专用于更新
。



-364	没有说明UPDATE OF的字段<字段名>。

UPDATE...WHERE CURRENT OF <游标名>语句至少引用了一个字段：它未出现在定义游
标的DECLARE语句的FOR UPDATE OF子句中。将某些字段列在游标声明中，数据库服
务器将不允许其它字段被修改。重新查看此游标的定义和使用。也许消息提到的字段
和其它的字段应该加到定义中；或者应该删除OF子句，从而允许游标删除表中任意
字段。






-363	CURSOR不在SELECT语句中。

此语句（也许是OPEN语句）中的游标被联系到一个非SELECT语句的预备语句。重新查
看程序的逻辑，特别是游标定义的DECLARE语句、所指定的语句id、建立语句的
PREPARE。如果想在INSERT中使用游标，那么只能把INSERT写为DECLARE语句的一
部分。如果要执行一些SQL语句，可直接用EXECUTE语句而不要使用间接的游标方式。

当你试图将游标联系到一个SELECTINTO TEMP语句时，也会返回这个错误。由于
INTO TEMP子句的存在，SELECT语句不能返回任何记录，因此不能使用游标。






-362	只能有一列的类型为 SERIAL/（SERIAL8 或 BIGSERIAL）。

一张表最多只能有一列的类型为 SERIAL 类型，以及一列的类型为 SERIAL8/BIGSERIAL。您正尝试添加第二个类型为 SERIAL 或 
SERIAL8/BIGSERIAL 的列，或者正尝试创建的表包含了多列这两种类型之一。如果您打算使用外键（即，某一列引用另一张表中的 SERIAL 或 
SERIAL8/BIGSERIAL 列），那么该表中列的数据类型应为 INTEGER、INT8 或 BIGINT
。



-361	列宽太大。

该内部错误表明数据库服务器和应用程序之间的通信存在问题。不应发生该错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-360	无法修改也用于子查询的表或视图。

UPDATE、INSERT 或 DELETE 语句使用从子查询的同一个表中获得的数据
。

由于存在进入无穷循环的危险，因此除了在 DELETE 或 UPDATE 语句的 WHERE 子句中的不相关查询情况下，该操作都是不允许的
。

要避免该错误，请首先将输入数据选入临时表中，然后在单独的 DELETE、UPDATE 或 INSERT 语句中引用临时表
。

具有相关列名的子查询不能在其 FROM 子句中引用正在由括起的 UPDATE 或 DELETE 子句修改的同一个表，如以下示例所示
：

database stores_demo; update orders set ship_charge = ship_charge + 2.00 where 
customer_num in (select new_order.customer_num from orders as new_order where 
orders.ship_weight < new_order.ship_weight); 

在 SPL 例程中，在修改某个不相关子查询的 FROM 子句所指定的同一个表的 DELETE 或 UPDATE 语句中甚至都不允许该不相关子查询，如以下示例所示
：

database stores_demo; create procedure ship_count(customer_id integer) returning
integer define shipcount integer; select count(*) into shipcount from orders 
where customer_id = orders.customer_num and ship_charge > 20; return shipcount; 
end procedure; 

update orders set ship_charge = ship_charge + 2.00 where customer_num in (select
customer_num from customer where customer.state = 'CA' and ship_count
(customer.customer_num) > 5); 



-359	无法删除或重命名当前数据库或任何打开的数据库。

无法删除或重命名当前打开的数据库。请首先使用 CLOSE DATABASE 语句或终止访问数据库的应用程序，然后才能删除该数据库
。



-358	在对数据库执行CREATE、START或ROLLFORWARD操作之前必须关闭当前的
数据库。

此类语句要选择新的当前数据库。但当前数据库必须首先被关闭。请先用CLOSE 
DATABASE关闭数据库。






-357	视图<视图名>所依赖的表已被变更。

自从视图定义以来，视图所依赖的表的数据已被变更。此变更删除或者重新命名了视
图中用到的一个字段。视图不能再使用了。取消视图，按现在的模式重新定义视图。






-356	引用和被引用的字段的数据类型不匹配。

子约束中的字段的数据类型必须与父约束中的字段数据类型相同。






-355	不能重新命名表的文件名。

RENAME语句不能完成，因为数据库服务器得到一个非期待的错误。为得到该错误的
更详细的信息，请查看伴随的ISAM错误代码。可能的原因包括硬件错误和文件权限
问题。






-354	不正确的数据库或游标名称格式。

此语句含有格式错误的数据库或游标的名称。如果语句是程序的一部分，
该名称可能已通过宿主变量传递。

数据库名和游标名的最大长度取决于数据库服务器。在 Infirmix 动态服务器
 2000 中，最大长度为 128 个字符。GBASEDBT-SE 的数据库名不应长于 10 个字符
（在一些主机操作系统中更小），其它 GBasedbt 数据库服务器的最大长度不应
长于 18 个字符。

数据库名和游标名必须以字母开始，而且只含字母、数字和下划线字符。
在 GBASEDBT-OnLine 动态服务器及更新版本中，数据库名和游标名可以
下划线开始。在 Infirmix 动态服务器 2000 中，这些名称中还可包含美
元符号。

在 DOS 系统中，文件名最长可为 8 个字符加上 3 个字符的扩展名。







-353	在赋予或撤消权限时，没有指定表或视图。

此语句指定表级别的权限(ALTER, DELETE,INDEX, INSERT, SELECT, UPDATE和 ALL)
中的一个；但没有指定权限所作用的表。在赋予或撤消数据库级别的权限(CONNECT，
DBA，RESOURCE)时，你可以不命名表名。但在赋予或撤消表级别的权限时，你必须
指定表。






-352	字段<字段名>没有找到。

CREATE INDEX语句中命名的字段或其中之一不存在。重新查看语句中所有字段的拼
法。请参看-328号错误的讨论，那里有列出表的所有字段名的方法。






-351	数据库中有属于其它用户的表。

DROP DATABASE/UPDATE STATISTICS语句不能运行，可能是由于以下的原因：可能
会破坏其它用户的数据。为了取消此数据库，先要取消全部属于其它用户的表。做此
事时你必须有DBA的权限。请参看-313号错误的讨论，那里给出了显示全部表和它们
的拥有者的方法。






-350	列（或一组列）中已经存在索引。

不能执行该 CREATE INDEX 语句，因为针对相同列或列组合的索引已经存在。对于指定的整理次序，针对任何列组合最多可存在两个索引：一个升序和一个降序
。

要显示针对特定表的索引，可连接 sysindices 和 systables。在下列语句中提供 table-name
：

SELECT * FROM sysindices, systables WHERE sysindices.tabid = systables.tabid AND
systables.tabname = 'table-name' 



-349	未选择数据库。

因为没有当前的数据库，所以此语句不能执行。或许当前数据库没有建立，或许当前
数据库被CLOSE DATABASE语句关闭了。你可以执行DATABASE或者CREATE 
DATABASE命令建立当前的数据库。






-348	不能从表中读一行。

数据库服务器试图从表中取一行时，接到了一个意想不到的错误。为得到引起该错误
原因的更详细的信息，请查看伴随的ISAM错误代码。原因可能是硬件错或者锁冲突。






-347	不能按排他存取方式打开表。

数据库服务器不能完成LOCK TABLE命令，或者隐含的LOCK TABLE作为其他命令（例如
ALTER TABLE,RENAME, CREATE INDEX这类改变表定义的语句）的一部分被执行。为得
到引起该错误原因的更详细的信息，请查看伴随的ISAM错误代码。可能的原因包括锁
冲突、锁表已满，或低层的主机操作系统的锁机制有问题。






-346	不能修改表中的一行。

在数据库服务器处理UPDATE时，收到一个非期待的错误，为得到引起该错误原因的更
详细的信息，请查看伴随的ISAM错误代码。原因可能是硬件错误或者锁冲突。






-345	不能变更记录-表中的记录与审计追踪中的记录不匹配。

当数据库服务器按审计追踪重新构造表时，发现更新后的的行现在的内容与审计追踪
中首次进行更新时记录的内容不同。或者审计追踪已经损坏；或者审计追踪不完全，
即丢失了一部分修改记录。表不能按审计追踪恢复。在确认表已经精确地恢复到它在
建立审计追踪时的状态之后，重新操作一次。如果错误再次发生，请用其它方式重建
表。






-344	不能删除行-表中的行与审计追踪中的行不匹配。

当数据库服务器按审计追踪重新构造表时，发现被删除的行现在的位置与审计追踪中
记录的该行第一次删除时的位置不同。要么审计追踪已经损坏；要么审计追踪不完
全，即丢失了一部分修改记录。表不能按审计追踪恢复。在确认已经使表完全恢复到
审计追踪建立时的同样状态之后，重新操作一次。如果错误再次发生，请按其它方式
重建表。






-343	审计追踪中的行被加到了不同于期望的位置上。

当数据库服务器按审计追踪中重新构造表时，发现被插入的行现在的位置与审计追踪
中记录的该行第一次插入时的位置不同。要么审计追踪已经损坏；要么审计追踪不完
全，即丢失了一部分修改记录。表不能按审计追踪恢复。在确认已经使表完全地恢复
到审计追踪建立时的状态之后，再重新操作一次。如果错误再次发生，请按其它方式
重建表。






-342	远程主机不能执行此语句。

本语句被送到别的系统上的数据库服务器上执行，但数据库服务器不支持所请求的函
数。也许是早期版本的原因。






-341	不能从审计追踪文件中读一行。

在数据库服务器读取此表的审计追踪文件时，遇到了意外的错误。错误的原因可能是
文件权限问题、硬件错误。请查阅操作系统信息，以获得更多的信息。






-340	不能打开审计追踪文件。

数据库服务器需要为此表而使用审计追踪文件，但是某种意外的错误阻止了它。硬件
错误、文件权限问题、不小心删除了审计追踪文件都可能导致该错误。请查看操作系
统错误信息，它可能会提供更多的信息。






-339	审计追踪文件的名字必须以全路径名的形式给出。

CREATE AUDIT语句中指定的审计追踪文件必须指定全路径。因为审计追踪文件不必放
在特定的目录中，数据库服务器无法用当前路径或DBPATH 变量去寻找它。






-338	不能删除审计追踪。

在执行DROP AUDIT命令时，发生了未预料到的错误。为得到更详细的信息，请查看伴
随的ISAM错误代码。






-337	试图在临时表<表名>上建立视图。

视图只能建立在永久性的表上。在最新的语句中定义视图的SELECT语句中有临时表，
表名。如果你本来不想命名一个临时表，请查看表名的拼法。请参看-313号错误的讨
论，那里给出了显示数据库中全部永久表名的方法。






-336	不能建立或取消对临时表<表名>的审计。

临时表不能被审计。关于审计追踪的命令将不接收临时表的这个表名。如果目的不是
命名临时表，检查显示的表<表名>的拼写。关于显示数据库中所有永久表名的办法，
见错误编号 -313的讨论。






-335	对指定的表没有审计追踪。

这条语句要求有审计追踪工作，但不存在对该表的当前审计追踪。要么不曾启动，要
么被取消。检查该表是你想要的。如果是在进行恢复工作（语句是RECOVER 
TABLE），那么，请检查该表是否从备份的拷贝恢复。如果是，那么在做这个备份时，
该表没有审计追踪。如果审计追踪在后来指定，则在备份和开始审计之间有未知的一
段时间，在此期间可能有未被审计的修改。






-334	不能建立审计追踪。

某些问题防止数据库服务器初始化审计追踪文件。检查为文件指定完整的、正确的路
径名。查看操作系统错误信息，它可能给出较多的信息。常见的问题包括缺少磁盘
空间和文件的权限问题。






-333	审计追踪文件已经存在，有不同的名称。

在启动新的审计追踪之前，必须取消已存在的审计追踪。使用DROP AUDIT语句。






-332	不能访问审计追踪名的信息。

在读审计追踪文件时发生错误。重新执行最后的语句，如果还发生错误，审计追踪文
件有错误。在这种情况下，将需要取消并重新启动审计追踪。






-331	不能取消数据库目录。

在数据库服务器执行DROP DATABASE语句时，从<数据库名>.dbs删除所有与数据库相关
的文件并试图删除目录本身，因而发生错误。有关原因的更详细信息，请检查伴随的
ISAM错误代码。最有可能的原因是你或其它用户在同一目录中建立了非数据库文件。
而目录不能被删除，因为它还不是空的。






-330	无法创建或重命名数据库。

可能是您试图创建与已有数据库同名的数据库，也可能是将数据库重命名为已存在的名称；这样的话，请选择另一个名称。否则，请检查随附的 ISAM 错误代码以获取有关问题
原因的更多详细信息。可能存在磁盘空间不够或文件许可权的问题
。



-329	未找到数据库或没有系统许可权。

您尝试打开的数据库对于数据库服务器不可见。请检查名称的拼写。该数据库可能位于另一个数据库服务器（或网络系统）中，并且您在指定数据库名称时省略了服务器名称（或站点
名称）。如果您确信该数据库存在并且名称的拼写正确，那么下一步措施取决于所使用的数据库服务器
。

如果您正在使用 GBase  SE，可见数据库应该是目录加上 dbname.dbs 形式的名称。您必须能够对数据库进行读写。数据库服务器首先在当前工
作目录中查找，然后在 DBPATH 环境变量指定的每一个目录中查找。该错误最常见的原因是设置错误或未设置 DBPATH 环境变量
。

如果您正在使用 GBase  Database Server、GBase  Universal Server 或 GBase
OnLine Database Server，那么具有所输入名称的数据库不存在。在某些环境中，一次可以运行数据库服务器的两个或多个实例，并且每一个实例都有自己的数
据库集合。对于 V6.0 或更高版本，GBASEDBTSERVER 环境变量的值确定您使用的数据库服务器实例。对于 V5.1x 和更低版本，ONCONFIG 环
境变量指向确定实例的配置文件。如果您认为正在使用错误的实例，请咨询数据库服务器管理员
。

如果您连接到辅助数据库服务器，那么尝试打开的数据库可能存在，但未记录。数据库必须记录之后才能通过辅助数据库服务器访问
。



-328	表中已经存在字段<字段名>。

这个语句试图加入所说明的字段，但该名字的字段已经存在。检查名称的拼写；如果
是你想要的，则该表不是如你所期望的安排。通过查询syscolumns，可以检查表中的
所有字段。用如下查询提供表名。

SELECT colname,  colno FROM syscolumns C, systables T
WHERE C.tabid  =T.tabid AND T.tabname =`table-name'

可以使用RENAME COLUMN改变字段名。






-327	不能解事务内表<表名>的锁。

在事务内，即在执行BEGIN WORK之后，不允许有命令UNLOCK TABLE。在使用事务时，
可能还在使用LOCK TABLE，但是在事务结束时，所有表将被自动地解锁，因为所有锁
在事务结束时被释放。在符合ANSI标准的数据库中不使用BEGIN WORK，事务总是起作
用，决不要使用UNLOCK TABLE语句。






-326	参考限制有太多的被参考字段。

指定的参考限制多于16个字段（或GBASEDBT-SE中8个字段）。






-325	文件名必须用全路径名指定。

如在试图用WITH LOG IN子句创建一个表，但没有对注册文件指定全路径时发生这个错
误。如果使用GBASEDBT-SE来创建数据库登录而又没有指定注册文件的全路径，也会发
生这个错误。确认已指定全路径名，包括指出注册文件常驻地方的名称。






-324	二义性字段<字段名>。

说明的字段名出现在这个查询的FROM子句里列出的多个表中。数据库服务器需要知道
要用哪些字段。修正查询语句，使在查询中出现这个字段名的地方用它的表名做前缀
（<表名>.<字段名>）。如果这样写使语句太长，就在FROM子句中给表起一个短一些的
别名（举例见错误 -316的讨论）。






-323	不能对临时表授予权限。

GRANT语句命名临时表。这种操作是不支持的。只对永久表记录权限。因为临时表不在
系统目录中记录，没有地方来记录它们的权限。只有创建临时表的人能访问它。






-322	不能创建、更改或重命名视图<视图名>的触发器。

可以只在一个表上创建触发器。考虑在取得视图的表上创建触发器，或者考虑作为表
创建视图<视图名>，然后在其上创建触发器。

如果对视图使用START VIOLATIONS TABLE语句或STOP VIOLATIONS TABLE语句
也能收到该信息。两个语句中都必须指定基表的名字。






-321	不能用统计字段分组。

这个语句中的GROUP BY子句参考所选的值是统计函数的值。这种操作是不支持的（在
形成分组之前，不能计算分组使用的值）。能够按照字段或字段表达式的值把数据行
分组，但表达式不能包括统计函数。检查GROUP BY子句，把它和选择列表比较。可能
是GROUP BY子句中一个字段数有错误。






-320	不是索引的所有者。

这条语句试图做只能由索引的所有者或有数据库管理员权限的用户做的事情，例如取
消索引。确认该语句命名你想要的索引。如果正确，你就必须是它的所有者或DBA，
才有权执行这条语句。关于列出索引的名称和所有者的办法，见错误 -316的讨论。






-319	索引不存在。

本句指向不存在的索引。检查该索引名的拼写是否正确；如果它确是所要的
索引名并且可以肯定它是存在的，那么请确保所使用的是正确的数据库。
 
在符合 ANSI 标准的数据库中，不属于您的索引必须用其拥有者名进行验证。
请参阅错误 -316 的论述，可以得到有关查找所有索引名及其拥有者的方法。






-318	和指定的日志文件有相同名称的文件已经存在。

在WITH LOG IN子句中指定的事务日志文件不能已经存在。数据库服务器必须启动新的
日志文件；它不能把日志数据附加到旧日志文件。已存在的日志文件包含可能是很关
键的恢复信息，因此它不是简单地清空已存在的文件。为了对以前还没有登录过的数
据库开始登录：锁定数据库；把所有数据库目录拷贝到备份介质；并使用START 
DATABASE语句命名新文件。为了顺序地存档：锁定数据库；把所有日志文件拷贝到备
份介质并存储它作为完整的档案；擦去或重命名日志文件；使用START
DATABASE语句。






-317	在每个UNION单元里所选的字段数必须相同。

在一个联合中产生的所有行必须有相同的格式。因此在联合中的每条SELECT语句必须
选择相同的字段数。在这个联合中第二条或接下去的SELECT语句列出的字段数和前面
的不相同。检查整个联合，并检查所有选择列表的数量和数据类型都一样。如果其中
一条语句没有相应的字段，在那个位置指定相应类型的文字值。例如，在需要匹配数
值字段的地方，指定一个文字零。






-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






-315	没有创建索引的权限。

这条语句试图为一个表创建索引。或是没有对这个表授予INDEX权限，或者该表本身是
一个视图或别名。如果命名的这个表确实是一个表，与表的所有者或数据库管理员联
系（见错误 -313的讨论）并请求授予这种权限。






-314	表<表名>现正在使用。

这条语句试图做某些事，例如取消一个表，在其它用户使用这个表时，这件事不能
做。等待一会儿再试试。为了确认没有表在使用，用DATABASE EXCLUSIVE打开数据
库。






-313	不是表的所有者。

这条语句试图做某些事，例如取消一个表，这只能由表的所有者或有数据库管理员权
限的用户才能做。要确认语句中的表名是你所想的表。如果是，就必须是该表的所有
者或DBA，以便执行这条语句。为了查知与谁联系，可以查询如下系统目录。

SELECT tabname, owner FROM systables WHERE tabid > 99; SELECT username
FROM sysusers WHERE usertype = 'D'






-312	不能修改系统目录<表名>。

数据库服务器不能记录所示系统目录表中的变动。有关原因的更详细信息，请检查
伴随的ISAM错误代码。一个常见的原因是缺少磁盘空间。






-311	不能打开系统目录<表名>。

数据库服务器不能访问系统目录中的一个表。有关原因的详细信息请见伴随的ISAM
错误代码，并查看操作系统的错误信息，那里可能给出更多的信息。






-310	数据库中已存在表<表名>。

这条语句试图创建所示名字的一个表，但那个名字的表已经存在。在一个数据库中只
能存在一个给定名称的表。（在符合ANSI标准的数据库中，表是由创建它的用户的名
称限定的，因此每个用户只能有一个给定名称的表。）

检查那个名称的拼写，如果与你所想的一样，你应确认它不存在，确认你正在使用的
数据库是你所想的。你可以通过查询如下的systables，检查在这个数据库中的所有表
名。

SELECT tabname FROM systables WHERE tabid > 99

该语句将只显示永久表的名字，而没有临时表的名字。临时表不出现在systables
中。如果该名字不出现，结束数据库会话并启动新的数据库，临时表将被取消。






-309	ORDER BY的字段<字段名> 必须在SELECT列表中。

所示的字段出现在这条SELECT语句的ORDER BY子句中，但它不在选择列表（词SELECT
之后的值列表）中。这种操作是不支持的。所有分类键必须以分类的顺序出现在输出
行中。修改语句使之符合这一规则。如果只想对涉及这个字段的表达式排序，不是对
字段本身，则可以在列表中按它的位置号参考表达式。






-308	对于每条UNION语句，相应的字段类型必须是兼容的。

在SELECT语句的UNION中产生的所有行必须有相同的格式。因此每个UNION 语句中的
相应字段必须具有相同的数据类型或兼容的数据类型。如果可以将一个数据类型转换
为另一个数据类型，那么它们就是兼容的。例如： int 和 float 就是兼容的数据
类型，因为您可以将 int 值转换为 float 值。在当前语句中，在第二条或接下去的
SELECT语句中的某字段和前面的SELECT语句中的相应的字段不一致。

检查和比较所有SELECT语句。核对选择的字段与前面的SELECT语句中的字段不相同的
语句的每一个地方。如果字段数据类型不匹配，那么其中一个类型必须可以被转换为
另一个类型。







-307	不合法的下标定义。

这条语句参考一个字符变量的子串。子串的值（在方括号中的两个数）是不正确的。
第一个小于零或大于字段的长度，或者第二个小于第一个。检查语句中使用的所有方
括号，找出错误。可能是改变了某字段的字长，使子串工作时失败。






-306	下标超出范围。

这条语句参考一个字符变量的子串。子串的值（在方括号中的两个数）是不正确的。
第一个小于零或大于字段的长度，或者第二个小于第一个。检查语句中使用的所有方
括号，找出错误。可能是改变了某字段的字长，使子串工作时失败。






-305	有下标的字段<字段名>不是类型CHAR, VARCHAR, TEXT ，也不是BYTES。

只能从所述类型的字段选择子串。检查在这条语句中使用的所有方括号，确信每个方
括号遵循有这些类型之一的字段的命名。如果是这种情况，检验你使用的是你想要的
数据库，重复检查该表的定义。可能表中的一个字段已经改变，使用了不同的类型。






-304	HAVING只能有统计或GROUP BY子句中的字段的表达式。

HAVING子句用于在分组后选择完成的行。因此它能测试的唯一选择值是能在完成的分
组行中得到的值，名义上是在GROUP BY子句中命名的单值字段和统计值。检查HAVING
子句是否符合这种规则。如果要在分组进行之前选择具体的行，可以使用WHERE子句。






-303	表达式把字段和统计函数混淆。

这条SELECT语句在它的WHERE子句中使用统计函数。这种操作是不允许的。WHERE
子句必须在表被扫描时逐行使用，而统计函数只能在所有行被选出和分组后计算。检
查该语句是否这样做了。如果只打算选择某组记录，可以把这样的测试放在HAVING
子句中，它适用于已分组的行。

这条信息的文本有些易使人误解的地方。事实上，你能够在表达式中把字段名和统计
函数混合使用。然而，你只能在选择列表或HAVING子句（不是在WHERE子句）中
做这件事，字段必须出现在GROUP BY子句。

版本5.01后的数据库服务器中不使用这条错误信息。






-302	对多表视图没有GRANT选项或选项非法。

这条GRANT语句不能被执行。授权者无权为这个表授予指定的权限，表名是一个别名；
或该表是一个视图，对它不能授予这个选项。如果授权者具有授权的权利，那么该表
可能是一个不能被修改的别名或视图，也不能用于插入、更新和删除操作。

为了授予某表任意权限，您必须是这个表的所有者，或者被授予带有 GRANT 选项的
相同权限。要使用 AS GRANTOR，您必须具有 DBA 权限。







-301	GROUP BY字段的总数太大。

数据库服务器限制在GROUP BY子句中列出的组合字段的字节总数。所有数据库服务器
至少支持120个字节。更多的信息参考错误 -300的讨论。






-300	有太多的GROUP BY字段。

在GROUP BY子句中可以列出的字段数是数据库服务器的实现限制。所有数据库服务器
至少支持8个字段。检查当前语句，确信GROUP BY子句的标点是正确的。如果是你想象
的，你就必须寻找用两步或两步以上做这件事的办法。因为所有非统计的选择字段必
须在 GROUP BY子句中列出，而列表的长度受限制，就必须只选择区别每组所必须的
非统计值。把该组的结果放入一个临时表，把这个表连接到原来的表以选择其它
非统计值。






-299	不能授予本身权限。

这条GRANT语句把你的用户id作为一个被授予者。如果你能授予该权限，你就已经有该
权限。检查语句，从TO子句去掉你的用户名。






-298	不能用授予选项授予public权限。

子句WITH GRANT OPTION允许接受者授予他人相同权限的授权。在这种情况下，授权的
接受者是PUBLIC。如果执行这条语句，每个人将有该权限，而且每个人能授权。该权
限禁止这种操作。或者指定被授予者，或者删除子句WITH GRANT OPTION。






-297	无法找到引用的表 <table_name> 的唯一性约束或主键。

数据库服务器无法在 sysconstraints 系统目录表中找到被引用的约束，并且未在用于创建引用约束的同一 ALTER TABLE 语句中创建被引用的约束。
被引用的约束可能不存在，或者外键可能引用了具有唯一性约束但没有主键约束的表
。

请检查您是否输入了与适当约束关联的列的有效名称。如果被引用的表具有唯一性约束但没有主键，那么必须使用以下形式的 REFERENCES 子句
：

REFERENCES table_name (column_name) 

如果约束列有效，那么表明这是内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-296	引用的表 table-name 不可用。

在引用约束中指定的表不存在或不可访问。有关更多信息，请检查随附的 ISAM 错误代码
。



-295	被参考表和参考表必须在相同的数据库中。

参考限制不能跨数据库。换言之，被参考字段和参考字段（或父键和子键）必须在相
同数据库中。






-294	字段<字段名>必须在GROUP BY列表中。

在分组的SELECT中，必须在GROUP BY子句中列出每个非聚合字段，以确保在每一分组
行中每个选定的字段有定义好的值。一个字段或是包含一个聚合值，或是包含对那个
组来说是唯一的值。如果选定的字段既不是聚合值又不在列表中，在一些组中的那
个字段可能有两个或多个值，并且数据库服务器不能选择要显示哪一个。修正查询
以便在该子句中包含该字段名或它的位置号。







-293	IS [NOT] NULL的谓词只能被简单字段使用。

对于null值的测试可只适用于<字段名>（例如不适用于带下标字符的字段或表达式）。

检查WHERE子句和所有 CASE 语句中这些关键字的用法。







-292	隐含的插入字段<字段名>不接收NULL。

这条INSERT语句不对表中的所有字段提供值。至少忽略了一个字段限制不能为null。
因为数据库服务器必须为每个未提及的字段插入null值，它不能执行这种插入。对照
表的定义检查语句。可能表的定义已经改变。







-291	不能改变表的锁定方式。

当前的LOCK TABLE语句不能被执行，因为已经用不同方式(EXCLUSIVE或SHARE)
锁定同一个表。为改变锁定方式，在再次锁定之前要对这个表解锁。






-290	游标没有用FOR UPDATE子句说明。

这条语句试图用未被说明用于修改的游标来修改。由于为防止程序错误而设计的安全
度量和性能特征的原因，数据库服务器不允许这种操作。为了使用有UPDATE或DELETE
语句的游标，必须说明它以便修改。检查程序逻辑以确信在这条语句中使用想要用的
游标。

在符合ANSI标准的数据库中操作时，任何游标可以被用于修改；不需要FOR UPDATE
子句（会产生一个警告）。






-289	不能以需求的方式锁定表<表名>。

该表已经以排它方式锁定。必须在处理之前等待该表解锁。






-288	表<表名>未被当前用户锁定。

这条UNLOCK TABLE语句命名一个还没有被锁定的表。如果你早些时候锁定该表，那么
它已经被解锁。在事务处理结束或数据库关闭时，表自动解锁。如果另一个用户锁定
表，你不能解开它的锁。






-287	无法将序列类型的列 column-name 添加到表中。

您不能将 SERIAL、SERIAL8 或 BIGSERIAL 数据类型的列添加到现有表中。这样的列不能包含空值，但添加列时数据库服务器必须在全部的现有行中设置
空值。您可以通过以下三个步骤添加序列类型的列。首先，添加数据类型为 INTEGER 的列。然后通过为新列的每一行赋予唯一的非空值来更新表。最后，使用 ALTER
TABLE MODIFY 将列的数据类型更改为 SERIAL、SERIAL8 或 BIGSERIAL。



-286	主键字段<字段名>的缺省值是NULL。

作为主键一部分的字段不能有null作为它的缺省值。






-285	无效的游标被sqlexec接收。

在这条语句中使用的游标没有适当地说明或准备，否则就是FREE语句已经释放它。
检查程序逻辑，保证游标已经说明。如果是，并且该DECLARE语句参考一个语句id，
检查被参考的语句已经准备。






-284	子查询实际不是返回一行。

用于表达式的子查询在文字值的位置上必须只返回单行和单个字段。在这条语句中，
一条子查询的返回超过一行，数据库服务器不能选择哪个返回值用于表达式。可使子
查询总是只返回一行。使用WHERE子句，对有唯一索引的字段测试相等性。或是只选择
统计函数。检查子查询并检查它们只返回一行。

这个错误在使用单一SELECT语句来检索多行时也可能发生。必须使用
ECLARE/OPEN/FETCH语句系列，或EXECUTE INTO语句来检索多行。






-283	发现没有终结的注释（"{"和"}"不匹配）。

审查当前语句并查注释及带引号字符串的标点。可以使用大括号将注释插入SQL语句，
但大括号必须成对出现。或者，可以用双连字符附注释于行后。






-282	发现一个引号没有相匹配的引号。

审查当前语句，检查带引号的所有字符串的标点。为了将引号放在文字字符串中，用
一些单撇号作为字符串的分隔符。如下例所示：

SELECT ' " ', fname, ' " '," ' ' ", lname, " ' ' " FROM customer






-281	不能把索引加到临时表中。

检查伴随的ISAM错误代码，找出具体问题，然后查看操作系统错误信息以求得到更多
信息。可能是磁盘满了。






-280	带引号的字符串超过256个字节。

这个语句中有字符文字超过允许的最大值。审查该语句，检查其中所有带引号字符串
的长度和标点。可能遗漏两个引号，使两个短字符串成为一个长串。必须修改语句使
用更短一些的字符串。






-279	不能授予或取消表或视图的数据库权限。

这条语句命名一个或多个数据库级权限 (CONNECT, RESOURCE和 DBA)，但是它也使用
ON <表名>子句。没有描述具体表的语句（不包含ON子句）必须授予或取消数据库级的
权限。表级权限如INSERT需要ON子句。这两种不能混合在同一语句中。






-278	无法回滚保存点。

这是内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-277	UPDATE 表 table-name 与游标表不同。

此 UPDATE WHERE CURRENT OF 游标语句所引用的表不同于用游标
说明的 SELECT 语句所引用的表。检查程序的逻辑，确保通过游标所
作的更新只更新游标正在读取的表。此消息也适用于使用 DELETE WHERE CURRENT OF
的游标语句。






-276	没有发现游标。

在这个语句中命名的游标没有在当前会话期中说明。当前会话期从一个DATABASE
语句到下一个DATABASE或CLOSE DATABASE语句之间运行。检查程序的逻辑保证它
在DATABASE语句之后执行这个游标的DECLARE语句。

版本5.01以后的数据库服务器不使用这条错误信息。






-275	该操作需要 Insert 特权。

您的帐户名、PUBLIC 组或当前角色不具有针对该表或列的 INSERT 访问特权。必须在该表的所有者或 DBA 向您授予 Insert 特权之后，您才能够向该
表插入行。

当试图将行插入不可更新的视图中时，也会返回该错误。除非以下所有条件都成立，否则视图不可更新：1. 视图中的所有列都来自一张表。2. 投影列表中没有列是聚集值
。3. SELECT 投影列表中没有 UNIQUE 或 DISTINCT 关键字。4. 视图定义中没有 GROUP BY 子句或 UNION 运算符。5. 查询
未选择任何计算值和字面值。

如果只有第一个条件是不成立，并且您对视图中的所有列都具有 INSERT 和 SELECT 访问特权，那么可以对该视图定义一个 INSTEAD OF 触发器（该触
发器会触发将值插入该视图的基本表的操作），并使用该触发器来完成更新
。



-274	没有表的 DELETE 许可权。

该表的创建者未将 Delete 特权授予给您的账户名或公共帐户名。必须在该表的所有者或 DBA 向您授予该特权之后，您才能够删除该表中的行
。



-273	没有表/列的 UPDATE 许可权。

该表的创建者未将 Update 特权授予给您的账户名或者该表或列的公共账户名。必须在该表的所有者或 DBA 向您授予该特权之后，您才能够更新该表中的行或更新列
。



-272	没有表/列的 SELECT 许可权。

该表的创建者未将 Select 特权授予给您的账户名或者该表或列的公共账户名。必须在该表的所有者或 DBA 向您授予该特权之后，您才能够从该表或列中选择数据
。

在装入或插入行之前，由于 DB-Access 使用 SELECT 命令获取表的相关信息，因此如果您在 DB-Access 中使用 LOAD 命令也可能出现该错误
消息。



-271	不能把新行插入这个表。

这个问题可能有许多原因，包括锁定的表或满磁盘。更多的信息请查看伴随的ISAM
错误代码。






-270	不能放在临时文件内。

数据库服务器在由DBTEMP环境变量指定的目录（或在UNIX系统上缺省指定的/tmp ）
中创建文件，要在文件中定位（寻找）时碰到一个错误。检查伴随的ISAM错误代码，
查看操作系统错误信息以便获得更多的信息。可能是硬件故障，或另一个用户已经
截断文件。从版本5.01开始，GBASEDBT-SE数据库服务器使用DBTEMP环境变量，
GBASEDBT OnLine动态服务器不使用。






-269	不能增加不接收null的字段<字段名>。

这条语句申请有NOT NULL限制的新字段，然而，当某字段加到已有的表中时，null 
值正好要被装入已存在的行中。必须定义包括这个字段的新表，然后从旧表把数据
INSERT这个表以便为这个字段提供合适的非null值。






-268	唯一限制<限制名>违法。

在执行这条语句期间，重复的值引入受唯一性限制保护的字段。不允许有重复值的行
进入表中（不能插入或修改）。对于GBasedbt 动态服务器 2000 或GBasedbt 动态
服务器，在发现重复值之前由这条语句做的任何改动已被滚回。（然而，在事务中
先于语句的影响，如果有的话，仍然起作用，必须显式地滚回或提交。）

该错误发生在登录数据库中，但是，如果您正在使用可重复的读取隔离，就可能
显示错误 -239。







-267	游标已经先释放，不能用。

FREE语句已释放在这条语句中命名的游标所连接的资源。在能够使游标之前，必须再
次准备与它相关联的SQL语句。如果游标用FOR语句说明，它的DECLARE必须被重新
执行。如果它用FOR一个语句的id说明，必须重新执行PREPARE语句。






-266	UPDATE/DELETE游标没有当前行。

当前语句使用WHERE CURRENT OF <游标名>子句，但该游标还没有与当前行发生联系。
要么从它被打开开始还没有执行FETCH语句，要么是最近的fetch发生错误，这样就没
有行返回。修正程序的逻辑，以便在执行这条语句之前总能成功地取得数据行。






-265	装入或插入游标必须在一个事务内运行。

试图打开一个insert游标。这个数据库有一个事务日志。在这样的数据库中，在打开
用INSERT语句或用FOR UPDATE子句说明的游标之前，必须执行BEGIN WORK语句。
修正程序的逻辑，以便在打开游标之前程序开始一个事务。

在没有事务日志的数据库中也可确保程序工作，把程序按如下办法修改。紧接在执行
DATABASE语句之后，把SQLAWARN警告标志数组的第二单元的内容保存在SQL通信区中。

如果数据库没有使用事务，该单元将是空，而如使用事务，将包含字母W。在每一事务
逻辑上开始和结束点，测试保存的值。如果含有W，执行事务语句开始或结束一个事
务。






-264	无法写入临时文件。

数据库服务器在 DBTEMP 环境变量（或者在 UNIX 系统上缺省为 /tmp）指定的目录中创建了一个临时文件，但是在尝试将数据写入该文件中时遇到错误。要确定
该错误的原因，请检查随附的 ISAM 错误代码，并查找可以给出更多信息的操作系统错误消息。可能的原因包括硬件故障以及磁盘已满，或者如果启用了 PDQ，那么原因可
能是共享内存不够。



-263	不能锁定行用于UPDATE。

这条语句失败，可能是命名游标的FETCH语句说明了FOR UPDATE，因为该语句取得的行
不能被锁定。请检查伴随的ISAM错误代码（通常是错误 -107, -113, -134, -143,
 -144或-154）可获得更多的信息。有可能另一程序正在用该行(-107)或表(-113)。可
使用 SET LOCK MODE TO WAIT将消除这些错误，但检测死锁 (-143或-154)和锁定的表
满(-134) 仍会发生。






-262	不存在当前游标。

该内部错误不应发生。请记下正在使用的网络软件的所有详细信息以及位于这个和其他主机系统中的数据库服务器的版本号。如果该错误重复出现，请记下所有情况并联系 IBM 
技术支持。



-261	不能为表 table-name 建立文件。

一般来说，数据库服务器不能建立代表该表的文件。请检查随附的 ISAM 
错误码以获得详细信息。对于 GBASEDBT-SE，该文件将建在 database.dbs 
目录中（除非用户提供了一个 IN 路径名子句）。该文件名将以表名的开头
几个字母开始，后面是一个 3 位的数字和后缀 .dat 或 .idx。对于 
GBASEDBT-SE，可能存在文件许可权问题，或磁盘可能已满。

GBasedbt 动态服务器 2000、GBasedbt 动态服务器、GBASEDBT-Universal 
服务器、或 GBASEDBT-OnLine 动态服务器允许将表分段存储，
这可能要涉及到 dbspace 的扩展使用。用户需检查为该表指定的 dbspace。
如果未指定 dbspace，则使用在其中建立数据库的 dbspace。对于建立
数据库，如果未指定 dbspace，则使用 rootdbs。所指定的 dbspace 
可能不存在，或磁盘已满。







-260	不能执行已PREPARE的SELECT语句 ― 必须使用游标。

虽然可以准备一条SELECT语句，但是能执行SELECT语句的唯一办法是把它的语句id与
一个游标联系（使用DECLARE语句）然后打开游标。

一个重要的例外是 SELECTINTO TEMP 语句，你可以执行它，却不能借助游标
使用它。

你可以用EXECUTE语句执行其它准备语句。如果你在写程序时已经知道这条SELECT
语句的内容，并且确知它只返回单一数据行，就可以把它嵌入程序。如果它必须在程
序运行时动态地准备，那么修改程序以通过游标来执行它。






-259	游标没打开。

当前语句使用了一个游标但它没有被打开。检查程序逻辑看它在此之前为何不能执行
OPEN语句。结束事务的语句(COMMIT WORK和ROLLBACK WORK)也关闭游标，
除非游标被说明为WITH HOLD。






-258	系统错 ― sqlexec 进程收到无效的语句标识符。

当前的语句（EXECUTE 或 OPEN）引用了一个准备的SQL 语句或者不存在的游标。
产生的原因可能是该语句标识符无效，或者该语句是准备好的、但被 FREE 语句
释放了。检查程序的逻辑，确保该语句中命名的语句或游标是有效的、是正确地
准备或声明好的、而且没有在这之前被释放掉。

如果程序成功地执行了一句准备的 DATABASE 语句，数据库服务器将自动释放这句
准备的语句。因此，如果释放了准备的 DATABASE 语句，会在FREE 语句上收到这条
错误信息。在这种情况下，可以不理睬它。






-257	关于最大语句数的系统限制超过 ― 最大是<计数值>。

数据库服务器只能为每个用户处理固定数量的准备SQL语句。这种限制包括用PREPARE
准备的语句和用DECLARE说明的游标。这个语句(PREPARE, DECLARE或PREPARE 
IMMEDIATE)超过那个限制。该语句不被执行。FREE语句释放准备语句。检查程序逻辑
并修改它，以便在不需要时释放准备语句。

5.0版以后的数据库服务器没有这种限制。然而，必须与早先版本兼容的程序仍应在
这个限制之下使用FREE。






-256	事务不可用。

不能在此数据库中开始事务，因为它没有事务日志。要支持事务，必须
启动事务日志。有关如何启动事务日志的信息，请参考《管理员指南》。






-255	不在事务中。

数据库服务器不能执行此 COMMIT WORK 或 ROLLBACK WORK 语句，
因为没有执行 BEGIN WORK 来启动事务。由于没有启动任何事务，因
此也就不能结束事务。对数据库所做的任何修改都是永久性的，不能滚
回，但也无须提交。检查 SQL 语句序列，找出应从何处启动事务。

当打开游标进行更新而尚未启动事务时，会出现此错误。






-254	给出太多或太少宿主变量。

你在这条语句的INTO子句中命名的宿主变量的数量与写入该语句的"?"位置标识符的数
目不匹配。定位该语句的正文(在PREPARE或DECLARE语句中)，并检验位置标识符的数
目。然后检查在INTO子句中的列表，看看哪个项目不正确。






-253	标识符长度超过了该版本服务器允许的最大长度。

SQL 标识符超过了最大字符数目。在GBasedbt 动态服务器 2000 中，SQL 语句
中标识符的最大长度为 128个字符。在其它 GBasedbt 数据库服务器中，SQL 语句
中标识符的最大长度为 18 个字符。

检查语句中没有标识符超过最大长度以及没有标点错误，例如缺少空格和或逗号，
不要使两个名字连成了一个。







-252	不能获取表的系统信息。

数据库服务器不能存取与该表相关的系统信息。检查随附的 ISAM 错误
码以获得详细信息。除非 ISAM 错误码或操作系统消息指出其它原
因，否则运行 oncheck 实用工具检验文件的完整性。






-251	ORDER BY或GROUP BY的字段号太大。

ORDER BY或GROUP BY子句使用字段顺序号，至少其中之一大于选择列表的字段数目。
检查你输入的子句是否正确，选择列表是否没有丢失项目。






-250	不能从文件读取记录用于修改。

数据库服务器在修改之前不能得到某表的数据行。更多的信息请检查伴随的ISAM
错误代码。其它用户可能已经锁定该行或表，或者存在更严重的问题。






-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






-248	无法落实保存点。

V4.1 和更高版本的产品可以检测到该内部错误。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-247	前滚数据库失败。

数据库服务器不能提供审计跟踪来向前滚动数据库。更多的信息请检查伴随的ISAM
错误代码。






-246	不能按带索引的读得到下一行。

数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的ISAM错误
代码。表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它
原因，否则运行bcheck或secheck实用工具来检验文件的完整性。






-245	不能通过索引在文件内定位。

数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的ISAM错误
代码。表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它
原因，否则运行bcheck或secheck实用工具来检验文件的完整性。






-244	无法执行物理顺序读来访存下一行。

数据库服务器无法读取包含表中某一行的磁盘页面。有关更多信息，请检查随附的 ISAM 错误代码。可能存在硬件问题，或者表或索引可能已损坏。如果查询使用的是脏读取隔
离级别，那么该错误代码可能是因为从相同数据的并发更新中读取处于暂时不一致状态的数据而引起的正常行为
。

除非 ISAM 错误代码或某条操作系统消息指向另一个原因，否则请运行 oncheck 实用程序（对于 GBase  SE 是 secheck，或者对
于 GBase  OnLine 是 tbcheck）来检查与修复表和索引。



-243	不能在表< 表名>内定位。

数据库服务器不能对代表某表的文件内的实际行设置文件位置。更多的信息请检查伴
随的ISAM错误代码。硬件错误可能发生，或文件可能被损坏（截断）。除非ISAM
错误代码或操作系统信息指出其它原因，否则运行bcheck或secheck实用工具来检验文
件的完整性。






-242	不能打开数据库表< 表名>。

数据库服务器不能开始读取表。更多的信息请检查伴随的ISAM错误代码。问题可能是
在文件权限，硬件错误，或被损坏的系统目录等方面。除非ISAM错误代码或操作系统
信息指出其它原因，否则运行bcheck或secheck实用工具来检验文件的完整性。






-241	不能进行滚回工作。

数据库服务器不能执行ROLLBACK WORK语句。更多的信息请检查伴随的ISAM错误
代码。在访问事务日志时可能发生问题。






-240	不能删除行。

数据库服务器不能完成DELETE语句的执行。滚回当前的事务处理；然后，检查伴随的
ISAM错误代码，得到更多的信息。






-239	不能插入新行 ― 在UNIQUE INDEX字段中有重复值。

正在被插入（或更新具有新的主键）的行在限制必须有唯一值的字段中，包含已经存
在的某些行的重复值。该错误的另一个原因可能是锁定冲突，如果表的锁定模式是
页面的话。新的或被更新的行不被插入。

滚回当前事务处理，没有任何重复行并且解决了锁定冲突后再执行它。

如果您正在使用可重复的读取隔离，那么该错误可能是唯一的限制被违反而引起的。
请参考错误 -268。







-238	不能进行提交工作。

数据库服务器不能执行COMMIT WORK语句。更多的信息请检查伴随的ISAM错误代码。
在访问事务日志时可能发生问题。






-237	不能进行开始工作。

数据库服务器不能执行BEGIN WORK语句。更多的信息请检查伴随的ISAM错误代码。
在访问事务日志时可能发生问题。






-236	在INSERT中字段数与VALUES的数目不匹配。

在INSERT语句中命名或采用的每个字段必须分别有值表达式。如果语句没有列出特定
的字段，检查表的定义，或字段的数量及其数据类型。也检查VALUES子句中表达式的
列表是否没有多余的或遗漏的逗点，它们可能会导致错误的赋值数量。要特别小心长
字符串和带括号的表达式。






-235	字符字段的宽度太大。

这条语句对宽度大于32,767的字段或宽度超过255的VARCHAR字段指定了CHAR
数据类型。如果你需要这种大小的字段，就使用TEXT数据类型，它允许无限长。
否则，检查语句是否印刷错误。






-234	不能插入虚拟字段<字段名>。

这条INSERT语句指向一个视图，而不是一个真正的表，在视图中定义的一个字段实际
上是一个表达式的值。不允许对有这种字段的视图进行插入和修改。对视图所依赖的
真正的表运用INSERT。






-233	不能读取被其它用户锁定的记录。

其它用户已经锁定由这条语句选出的行。如果你交互地执行该语句，可以做两件事之
一。 可以等待一会儿再输入这条语句，或执行语句SET LOCK MODE TO WAIT，
之后你将很难再看见这条信息。

在一个程序中，你应该滚回当前事务处理，等待随机的间隔，再运行该事务。如果你
用WAIT的LOCK MODE运行事务，就能减少这种错误的频率，但它在某些情况下仍会出
现，例如当发现死锁时。该错误通常伴随一个ISAM错误代码，-107, -113, -134, 
-143, -144或-154，程序可以对每种错误做出不同响应。






-232	不能更新 SERIAL 列 column-name。

您不能利用 UPDATE 语句更改数据类型为 SERIAL、SERIAL8 或 BIGSERIAL 的列的内容，即使更新值为 0，也是如此（使用 INSERT 
语句时，您可以为序列类型的列指定值 0；数据库服务器会忽略 0 并插入生成的数值）。请修改该语句以便只更新非序列类型的列
。



-231	不能用关于表达式的distinct执行聚集函数。

这条语句在聚集函数内选择DISTINCT (表达式)。这个动作是不支持的。选择
DISTINCT 值和其它字段进入一个临时表，然后从那个表选择ALL运用聚集函数。






-230	不能读取临时文件。

数据库服务器在由DBTEMP环境变量指定的目录（或在UNIX系统上由缺省指定的/tmp）
中创建临时文件，但是在试图把文件读回时发生错误。检查伴随的ISAM错误代码，
查看操作系统错误信息，它可能给出更多的信息。可能出现了硬件故障，可能另一个
用户意外地删去临时文件。从版本5.01开始，GBASEDBT-SE数据库服务器就已使用
环境变量DBTEMP，但GBASEDBT-Online动态服务器没有使用。






-229	不能打开或建立临时文件。

数据库服务器不能建立临时磁盘文件。该文件应建立在 DBTENP 环境
变量指定的目录中（或者在 UNIX 系统上，建立在缺省目录 /tmp 中）。
检查随附的 ISAM 错误码和查找操作系统错误消息以获得详细信息。
可能用户帐户对该目录没有写入权限，或者磁盘已满。从 5.01 版本开始，
GBASEDBT-SE 使用 DBTEMP 环境变量，但 GBasedbt 动态服务器和
GBASEDBT-OnLine 动态服务器并不使用。

在 UNIX 系统上，可以试试将打开文件的最大数目（在一些系统上为 
NFILES 参数）增加到 400 左右。






-228	禁止对ROWID进行UPDATE或INSERT。

这条语句命名字段列表中的字段ROWID用于插入或修改。rowid是不能修改的固有特
性。你可以在SELECT语句中选择它并在WHERE子句中比较，但不可以语句修改它的内
容。






-227	禁止对ROWID进行DDL操作。

这条语句试图改变名为ROWID的字段。该字段是每个表的一部分，除被分段存储的表
外。你可以用SELECT语句中选择它并在WHERE子句中比较，但不可以用DDL语句更改
它。






-226	不能为系统目录<表名>创建索引。

数据库服务器（不是OnLine）试图对系统目录创建表，可能作为CREATE DATABASE语句
的一部分。它创建该表但存在主机操作系统禁止它建索引的问题。更多的信息请检查
伴随的ISAM错误代码，查看操作系统错误信息。磁盘空间不足可能产生这个问题。






-225	不能为系统目录<表名>创建文件。

数据库服务器（不是OnLine）试图对系统目录创建表，可能作为CREATE 
DATABASE语句的一部分。可能存在主机操作系统禁止的问题。更多的信息请检查伴随
的ISAM错误代码，查看操作系统错误信息。磁盘空间不足和操作系统文件访问权限的
问题可能产生这个问题。






-224	不能打开事务日志文件。

数据库服务器不能打开进行事务日志登录的文件。在这个文件修复之前，不能启动任
何事务处理。（在符合ANSI标准的数据库中，什么事情也不能做；在其它数据库中，
只能做查询。）对GBASEDBT OnLine动态服务器，向OnLine管理员报告这种问题。对其
它数据库，检查伴随的ISAM错误代码，查看操作系统错误信息，它可能给出更多的信
息。START DATABASE语句指定了到日志文件的路径。如果文件已经删除，可以重新建
立它作为一个空文件。如果路径已经改变，可以发布新的START DATABASE语句来重新
定义它。






-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），该表可以两次或多次选择。






-222	不能写新表<表名>的临时文件。

数据库服务器建立了一个临时磁盘文件，但当试图写该文件时发生了一个错误。请检
查伴随的ISAM错误代码，并查看操作系统信息以获得更多的信息。在UNIX系统中，
该文件应在环境变量DBTEMP所指定的目录下被建立(缺省值为 /tmp)；在DOS系统中，
该文件应位于当前目录下。可能是磁盘已满，或是发生了硬件错误。从版本5.01
开始，GBASEDBT-SE数据库服务器就已使用环境变量DBTEMP，但GBASEDBT-Online
动态服务器没有使用。






-221	不能建立新表<表名>的临时文件。

数据库服务器不能建立一个临时磁盘文件。该文件应在环境变量DBTEMP指定的目录下
被创建。如果DBTEMP没有定义，在缺省情况下，数据库服务器在根目录下搜索名为tmp
的子目录，并在该目录下建立临时磁盘文件。检查伴随的ISAM错误代码，并查看操作
系统信息以获得更多的信息。可能是你的帐户没有在该目录下写的许可，也可能是磁
盘已满。从版本5.01开始，GBASEDBT-SE数据库服务器就已使用环境变量DBTEMP，但
GBASEDBT-Online动态服务器没有使用。






-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
语法错误。)







-219	通配符匹配不能用于非字符类型。

这个语句的WHERE子句中包含了对一非字符字段的测试，该测试使用了关键字LIKE
或MATCHES，并使用了代表多重字符的特殊字符，（例如在MATCHES中使用星号和问
号，或是在LIKE中使用百分号和下划线）。只对数据库中被定义为CHAR或VARCHAR
的字段才使用这类测试。不提供自动的数据转换。检查WHERE子句中的字段正是你所
希望的。如果是这样的话，表的定义可能被修改过了。






-218	同义字<同义字名>未找到。

同义字在这个数据库中未被定义。检查同义字名是否拼写得如你所预期的。检查你正
在使用你所希望用的数据库。如果是这样的话，该同义字可能被取消了。该同义字可
能是在它所在的表被取消时被自动取消了。为了显示所有被定义的同义字，查询
systables，如下所示:

SELECT tabname FROM systables WHERE tabtype = `s'






-217	查询中在任何表中都无法找到字段 column-name （或 SLV 未定义）。

该名称出现在此次查询的选择列表或 WHERE 子句中，但未在表中定义
且不以语句本地变量 (SLV) 的定义出现。检查字段名或 SLV 名以及
所选表名的拼写是否与所需的一样。

如果所有名称的拼写都正确，则所使用的表是错的，或数据库已改变，
或者尚未定义 SLV。如果此无法找到的名称是对某一字段的引用，则该字段
可能已重命名或被取消。如果此无法找到的名称代表的是 SLV 而且在
语句中已定义了这个 SLV，则要确保 SLV 定义出现在对 SLV 名的其
它所有引用之前。

当引擎试图更新与该表有关的视图时，在执行 ALTER TABLE 期间，
该错误消息也会出现。






-216	不能删除索引。

数据库服务器不能完全删除索引。详细信息，请检查随附的 ISAM 错误码。
操作系统文件许可权、只读文件或硬件方面的问题有可能导致这一错误。






-215	不能为表<表名>打开文件。

数据库服务器不能打开操作系统文件或存储该表处的文件。请检查伴随的ISAM错误
代码以获得更多的信息。操作系统的文件访问权限问题，内存不足和硬件错误可能
引发这个错误。






-214	不能给表<表名>删除文件。

数据库服务器不能完全地删除该表。检查伴随的ISAM错误代码以获得更多的信息。
操作系统的文件访问权限问题，只读文件和硬件错误可能引发这个错误。






-213	语句被用户中断。

数据库服务器接收到用户发出的一个中断信号，可能是由于用户按下了中断键(通常是
Delete键或Control-C)。语句提前结束。程序应滚回当前的事务并友好地结束。如果
该语句可能修改表，交互式用户应该执行ROLLBACK WORK以取消任何不完全的修改。






-212	不能增加索引。

这个语句试图增加一个索引，可能是显式地通过CREATE INDEX，或是隐含地作为对多
个无索引表的SELECT的处理的一部分。不管在哪种情况下，某些错误阻止了索引的建
立。请检查伴随的ISAM错误代码以获得更多的信息。产生这个问题的一个常见的原因
是磁盘空间不足。






-211	无法读取系统目录 <error-text>。

当数据库服务器处理多数语句时，它引用系统目录的表。当它无法读取这些重要表中的任何一个表时，就会导致严重错误。有关更多信息，请检查随附的 ISAM 错误代码。该错
误的影响取决于正在执行的语句和特定的表，如下所示：

*   CREATE TABLE 语句，systabauth 未读取；表已创建，但是未按通常情况进行 PUBLIC 授权
。

*   DROP TABLE 语句，systables 未读取；未采取行动。

*   DROP TABLE 语句，sysviews 未读取；表已删除，但是与表相关的任何视图都未自动删除
。

*   DROP VIEW 语句，sysviews 未读取；未采取行动。

*   DROP INDEX 语句，sysindexes 或 systables 未读取；未采取行动。

*   DROP SYNONYM 语句，systables 或 syssynonyms 未读取；未采取行动
。

*   DROP DATABASE 语句，systables 未读取；未采取行动。

*   START DATABASE 语句，systables 未读取；未采取行动。

*   DATABASE 语句，systables 或 sysusers 未读取；未选择数据库（无当前数据库；有关后续操作，请参阅错误 -349）。如果此错误伴
随 ISAM 错误 103，请在启动实例之前尝试先在环境中设置 GL_USEGLU=1
。

在检测到错误之前，其他语句可能已部分完成。回滚当前事务，然后调查错误原因。请使用 oncheck 实用程序（对于 GBase  SE 时 
secheck，或者对于 GBase  OnLine 是  oncheck）来检查与修复索引。如果必需的话，请从备份与逻辑日志磁带中恢复数据库
。



-210	显式的路径名太长。

这个语句包含的一个文件路径名超过了64个字符的最大长度。检查该语句以确定
路径名是否确实太长；也可能是一个标点错误使得语句的其它部分也被包含进了
路径名里。如果不是这样，请重新放置文件或者用较短的路径名重新命名
某些目录名。






-209	不兼容的数据库格式。

一个过时版本的数据库软件建立了这个数据库。转换这个数据库才能被当前的软件处
理。使用dbupdate实用工具。在使用数据之前你必须运行它(从Version4.0开始这条信
息已不存在)。






-208	在查询处理中分配内存失败。

数据库服务器需要分配数据空间内存以处理查询，但不能得到内存。这个错误可能反
映了硬件上的限制，或是操作系统配置上的限制，或是临时的空间短缺。

在一段延迟后再次执行该查询。如果仍然失败，向你的系统管理员咨询。如果可能的
话，修订你的查询，联结较少的表或是对较少的字段排序或分组，或是使用两个或多
个语句来完成查询。在DOS系统中，退出到操作系统命令行，释放一些磁盘空间，或是
减少你的程序的复杂性，并重新提交你的程序。

在5.01后的版本中，只有这条错误信息通知你数据库服务器不能分配内存。






-207	不能更新声明在多个表上的游标。

在这个语句中所使用的游标已说明FOR UPDATE，但有一个SELECT语句，它会合并二个
或更多的表格。这个动作是不受支持的；数据库不知道如何分配新值到多重表格中。
如果你用游标来说明SELECT语句，就必须修改它本身或是FOR UPDATE子句。如果程序
建立了SELECT语句，并且将它与游标动态地相关联，则程序应告知用户不得在此应用
程序中使用多重表格SELECT语句。(这条信息仅出现在4.0版或更早的版本)。







-206	指定的表 <table-name> 不在数据库中。

数据库服务器无法找到在该语句中指定的表或视图。该表或视图可能已重命名或已从数据库中删除
。

在尝试对用户定义的类型授予 USAGE 特权时，如果省略关键字“TYPE”，也可能出现该消息。例如，以下 GRANT 语句是正确的
：

GRANT USAGE ON TYPE person_row_type TO usr2; 

而以下 GRANT 语句会产生错误 -206：

GRANT USAGE ON person_row_type TO usr2; 

请检查语句中的表名和视图名，或者检查 GRANT 语句中是否省略了关键字“TYPE”。如果名称按要求拼写并且不缺少“TYPE”，那么请检查是否在使用要求的数据库
。要找到数据库中所有表的名称，请查询 systable 表。要找到所有视图的名称，请查询 sysview 表
。



-205	无法对具有并集、聚集、分组、多表或衍生表达式的视图使用 ROWID
。

关键字 ROWID 代表仅存在于简单表中的虚拟列。该消息引用了某个表的 ROWID，该表实际是由选择操作（包括并集、聚集函数、分组、两个或多个表的连接或衍生的表
达式）而产生的视图。此类查询产品无 ROWID 列。因此，此视图没有 ROWID（即使它显示为一个表）。要在查询中使用 ROWID，您必须将查询应用于位于视图下
的表。



-204	在语句中发现不合法的浮点数。

一个所含标点与浮点数类似的数值常数(有一个小数点和/或一个以e打头的指数)
是不可接受的。可能是指数大于可处理的值。






-203	在语句中发现一个不合法的整数。

在期待出现一个整型值的地方出现了一个不可接受的数值常数。检查该语句，寻找那
些包含小数点或字母 e ，或是大于2,147,483,647(231-1)，但应是整型的数字。






-202	在语句中发现一个不合法的字符。

这个语句中嵌入了不能被解释为SQL语句的一部分的字符。如果程序构造了该语句，这
个字符可能是一个不可打印的控制字符。确保语句中仅含有可打印的ASCII字符并重新
执行之。






-201	发生语法错误。

该常规错误消息表明 SQL 语句的格式不正确。请检查标点符号是否缺失或多余（例如逗号缺失或多余、子查询缺少括号，等等），关键字是否错误拼写（例如把 VALUES
拼为 VALEUS），关键字是否误用（例如在 INSERT 语句中使用 SET 或在子查询中使用 INTO），关键字顺序是否错误（例如将条件“value IS 
NOT”误写为“NOT value IS”），或是否将保留字用做标识。

完全符合 NIST 的数据库服务器不将任何字作为保留字；因此当为这种数据库服务器编写的查询用于较早版本的 GBase  数据库服务器时可能会失败并返
回错误 -201。

如果尝试在针对索引的 CREATE INDEX 或 ALTER FRAGMENT INIT 语句中使用循环法语法，就可能会导致该错误。您不能使用循环法索引
。

如果 SQL 语句中输入字符串两边使用了双引号，并且设置了环境变量 DELIMIDENT，那么也可能发生该错误。如果设置了 DELIMIDENT，双引号括起的字
符串将被看作 SQL 标识而不是字符串字面值。有关 DELIMIDENT 用法的更多信息，请参阅《GBase  SQL 参考指南》
。



-200	标识符太长。

SQL 标识符超过了最大字符数目。在GBasedbt 动态服务器 2000 中，SQL 语句中
标识符的最大长度为 128个字符。在其它 GBasedbt 数据库服务器中，SQL 语句中
标识符的最大长度为 18 个字符。

检查语句中的标识符是否超过了最大长度，是否没有标点错(例如一个遗漏的空格
或逗号)，不要使两个名字连成了一个。







-199	ISAM 错误：Dbspace 已满。

dbspace 已满。如果您正在通过 onparams 添加一个逻辑日志，那么在指定大小
日志的 dbspace 中没有足够的空间。如果当 ONCONFIG 文件中的 DBSPACETEMP 
变量设置为 TEMP 或 NOTCRITICAL 时，您试图创建一个带有日志的临时表
（临时表为缺省日志设置），也可能发生该错误。

如果要添加逻辑日志，可以向 dbspace 中添加一个或多个大块，也可以指定一个
较小的日志大小。

如果要创建临时表，可以将 DBSPACETEMP 设置为 ALL，也可以创建一个不带日志
的临时表。







-198	不能变更表。在进程中表有太多现场变更。

GBasedbt 将未完成的现场 ALTER TABLE 要求数限制在 255。在第 1 个现场表变更完
成之前就要求第256 个现场表变更。完成是指第 1 个现场表变更中表的所有行已在物
理上变更。

为了从这个错误恢复过来，你必须采取以下步骤之一：

    *   等到第 1 个现场表变更完成，并发出另一个现场 ALTER TABLE 语句。

    *   改变 ALTER TABLE 语句的格式以要求一个不把字段增加到表末的变更。
	这样一个语句将使用老算法而不是现场变更算法。

    *   执行表中每个行的更新以强制完成未完成的变更。因为在更新行时只按最近
	方式修改，所以，在物理上强制完成现场变更就是更新表中每一行。为了得到这个
	结果使用哑更新，其中表的每个字段都设置成其自身值。哑更新强制行在进程中按
	最近方式更新而不实际改变字段值。行总是按最近方式更新，所以遍历一次表更新
	所有行将完成所有未完成的变更。





-197	ISAM 错误：无法打开最近的附加目标分区进行写或记录操作
。

如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-196	ISAM 错误: 在临时的dbspace中不允许的操作。

在临时的dbspace中执行的一个操作要求使用临时dbspace不提供的功能(很可能是日
志)。使用一个非临时dbspace来执行这一操作。





-194	ISAM 错误: 大块不空。

一个大块不空因此不能被取消。





-193	ISAM 错误：大块很忙。

逻辑恢复不能前滚大块增加，因为此大块已存在。下列情况会导致此错误：
将大块从存储空间中取消或空间被取消，而在没有首先进行 0 级备份时，
大块又被用于另一个存储空间。





-192	ISAM 错误：不能取消第一个大块。

绝对不要取消存储空间的第一个大块。选择另一个大块。





-191	ISAM错误: 没有此大块。

指定要取消的大块不存在。





-190	ISAM错误: 事务表溢出。

在事务表中不再有可供使用的插槽。要查看该表，运行带-x 选项的onstat。





-188	ISAM 错误：不能在 DR 打开时添加登录到 DR 主数据库服务器的事务。

事务登录不能在 DR 正使用时被添加到数据复制 (DR) 对的主数据库服务器上的数据库。
必须关闭 DR，才能添加事务登录。

在关闭 DR 后将事务登录添加到数据库需要通过主数据库服务器及其
在第二数据库服务器上的物理恢复进行的0-级归档，才能再次打开 DR 对。
重新启动 DR 对于避免由于主数据库服务器和第二数据库服务器之间的
不一致而出现的 DR 故障是必要的，这种不一致产生的原因是添加了事务登录。




-186	ISAM 错误：无法打开分区。正在联机创建/删除索引。

当前操作尝试打开某个分区，但当前正在该分区上执行联机创建/删除索引。请稍候片刻，然后再重试
。



-182	ISAM 错误：重复光学 BLOBSpace 名。

TEXT 或 BYTE 数据的存储空间被定义为与某个光盘族的名称一样了。





-181	ISAM 错误: 没有光盘子系统连接。

目前没有光盘子系统。这通常意味着您在数据库服务器上请求了一个
光盘操作，但是该数据库服务器正在没有GBASEDBT-OnLine/Optical 
配置的情况下工作。






-179	ISAM 错误：无足够盘空间可用于排序。

执行排序时，数据库服务器没有找到足够的相邻磁盘空间来建立必要的
临时文件。可能磁盘空间不够，重新运行此程序前需腾出更多的可用空
间。也许在 DBSPACETEMP 中指定临时 dbspaces 名或在 PSORT_DBTEMP 
中指定目录名时出了差错。检查在 DBSPACETEMP 中指定的临时空间名
的拼写。如果指定了多个临时 dbspaces，请确保使用冒号（：）或逗号
（，）作为分界符。





-178	ISAM 错误：数据库被锁定；暂停对登录方式的更改。

请求更改数据库的登录状态。直到在该数据库使用的所有存储空间的 0 级归档
完成为止，对数据库的访问被阻塞。





-176	ISAM错误:在逻辑恢复期间发生了错误。

这个一般性信息表明逻辑恢复失败。SQL API也包含了与这个错误有关的有用的错误
文本。





-175	ISAM 错误：在物理恢复中发生一个错误。

这个生成的消息表明物理恢复失败。SQL API 中也包含与这个错误有关的有用的错误文本。





-174	ISAM错误: 在档案备份时发生了错误。

这个一般性信息表明档案备份失败。SQL API也包含了与这个错误有关的有用的错误
文本。





-173	ISAM错误: 在逻辑日志备份时发生了错误。

这个一般性信息表明逻辑日志备份失败。SQL API也包含了与这个错误有关的有用的
错误文本。





-172	ISAM 错误：发生意外的内部错误。

您遇到意外的内部事件。请检查 online.log 以了解诊断是否保存了任何与该事件相关的额外消息。如果该错误重复出现，请参阅“管理员指南”以获取更多诊断信息。
请联系 IBM 技术支持以获取诊断信息。



-171	ISAM错误:发现ISAM文件格式改变。

一个使用特定锁定方法或索引结点大小的程序试图存取一个使用另外的锁定方法或索
引结点大小建立的ISAM文件。

如果你正在从使用不同索引结点大小的平台上移植文件，你必须对所有ISAM文件(.dat
和.idx)运行带有-s 选项的实用工具bcheck或secheck来重新设置索引结点大小。

对GBASEDBT-SE，如果你在使用不同锁定方法的平台之间移植应用程序的话，你必须在
你存取 ISAM文件时设置环境变量RESETLOCK以转换它们。如果时间允许，你可以通过
在给定的数据库中运行UPDATE STATISTICS，这将使你能够存取该数据库的所有文件。

对C-ISAM应用程序，如果你在使用不同锁定方法的平台之间移植应用程序的话，你必
须在你存取C-ISAM文件时设置环境变量RESETLOCK以转换它们。






-170	ISAM 错误：非法使用 TEXT 或 BYTE 数据的存储空间。

用户试图将日志增加到 TEXT 或 BYTE 数据的存储空间中。只能将日志
增加到 dbspaces 中。





-169	ISAM 错误：只有记录了大块增加后，才可从大块中分配 TEXT 或
BYTE 数据页。

当含 TEXT 或 BYTE 数据的存储空间通过增加新的大块进行扩展时，
只有在日志记录显示已记录了大块增加后才可分配页。如果不强制实施
此项规则，则恢复时可能出现一些异常。不必等到日志满了为止；可用 -1 
选项运行 tbmode 或 onmode 实用工具，从而强制切换到下一日志。






-168	ISAM错误: 归档阻塞了分配BlobPage。

在生成一个联机档案的时候，从blobspace中分配磁盘页的操作被冻结。在归档开始
时，包含数据的blobpage在它们可以被写入档案磁带前不会被释放或被新的blobpage
覆盖。一旦一个blobspace大块中的所有使用过的blobpage都已被归档，在该大块中
分配blobpage的工作就可以重新开始。在归档时，正常的行数据可以继续被改变，因
为被改变的dbspace页可以在任何时候被写入，或是重写到磁带上。






-167	ISAM错误: BlobPage大小不是PAGESIZE的倍数。

OnLine管理员可以看到这个错误。在定义一个blobspace时，你必须指定页的大小，它
必须是系统页大小的整数倍。系统页大小是在OnLine第一次初始化时在参数屏幕中设
置的。






-166	ISAM错误:BlobSpace满。

这个操作试图插入或修改一个BYTE或TEXT字段，但是在存储字段的blobspace 中没有
足够的空间。滚回当前事务并结束应用程序。请与OnLine管理员联系，要求给这个
blobspace增加一个大块的磁盘空间。

在BYTE和TEXT值被删除或替换时，它们在blobspace中所占用的页只有在该事务出现
的逻辑日志被释放后才能重新被使用。一个逻辑日志在它已被备份到磁带上并且在该
日志中的所有事务都被关闭后才能被释放。






-165	ISAM 错误：不存在 TEXT 或 BYTE 列。

该内部错误不应发生。数据库服务器针对未定义为 BYTE 或 TEXT 的表列调用了 isbcreate 函数。如果该错误重复出现，请记下所有情况并联系 IBM 
技术支持。



-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已被损坏。






-163	ISAM错误: 开始和结束页时间戳不同。

OnLine数据库服务器报告了数据库损坏的迹象。每个磁盘页在两端都有时间戳，在从
磁盘上读出该页时，这两个时间戳应该相同。这个数据完整性测试的失败表明或是有
一个磁盘页没有被完全写入磁盘，或是该页在磁盘或内存中被部分地覆盖了。在任何
情况下，都应滚回当前的事务并停止应用程序。然后通知OnLine管理员运行tbcheck
或oncheck实用工具以获得有关失败的更进一步的信息。






-162	ISAM错误: BlobSpace不存在。

造成这个错误的最有可能的原因是当前语句试图使用子句"IN blobspace"定义一个
BYTE或TEXT字段，但是没有定义给定名字的blobsapce。然而，如果blobspace
的拼写正确并且存在，那就可能是由于在根dbsapce保留的页遭到了损坏。在这种情况
下，OnLine管理员应该运行带有-cr选项的tbcheck或oncheck实用工具来检查情况。
如果语句并未引用blob字段，可能是根dbspace已满或被损坏；与OnLine
管理员联系以获得进一步的帮助。






-161	ISAM 错误：未打开 TEXT 或 BYTE 字段。

该内部错误不应发生。数据库服务器已调用 TEXT 或 BYTE 函数，而没有首先调用 isbopen。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-160	ISAM 错误：任何时候只能打开一个 TEXT 或 BYTE 字段。

该内部错误不应发生。数据库服务器在一行中调用了 isbopen 函数两次。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-159	ISAM错误: 无效的整理序列。

你正试图使用一个不被支持的或是与最初用来建立ISAM文件的序列不匹配的整理
序列。使用islanginfo()来确定ISAM文件的语言。





-158	ISAM错误: SMI 伪表中不允许的操。作

你试图进行一个在系统监视界面（SMI）伪表中不支持的SQL操作。试试其它操作。






-157	ISAM错误: 被中断的ISAM调用。

被侦测到的来自客户进程的中断终止了操作。重新开始该操作。





-155	ISAM错误:基本的和镜像大块是坏的。

基本的大块(以及镜像大块，如果存在的话)是无法使用的。滚回当前的事务并结束应
用程序。与OnLine管理员联系。必须定义新的磁盘大块，然后必须从磁带上恢复
系统。






-154	ISAM错误: 锁定因超时而失效。

这个网络操作已被暂停，等待另一个数据库服务器的响应的时间已经超过了最长的等
待时间。GBASEDBT-OnLine 动态服务器假定出现了分布的死锁，用户的需求在等待一
个其它系统中的某个用户锁定的资源，而那个用户在等待这个用户所拥有的某些东
西。滚回当前事务，在一段延时后重新运行。如果这个错误经常出现，要求OnLine管
理员调整死锁超时的时间间隔的长度。

如果一个显式的等待时间超时，也会返回这个错误代码；就是说，如果你有语句SET 
LOCK MODE TO WAIT 3，你对某个锁定的需求被放在队列中超过3秒，那么该操作以这
个ISAM错误代码结束。






-153	ISAM 错误：未处于 ISMANULOCK 方式。

ISAM 处理器接到指令对当前文件（表）执行锁定或解锁操作，但该文件未以适当的方式打开。对于 C-ISAM 程序，请检查 isopen 的使用，并确保当程序打开
一张表以进行手工锁定时传递了 ISMANULOCK 标志。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-152	ISAM 错误：从远程进程收到非法的消息类型。

该内部错误不应发生。请记下正在使用的网络软件的所有详细信息以及位于这个和其他主机系统中的数据库服务器的版本级别。如果该错误重复出现，请记下所有情况并联系 IBM
技术支持。



-151	ISAM 错误：varchar 长度字段中的值非法。

如果磁盘上 VARCHAR 列中的前导字节表明 VARCHAR 的长度大于在创建列时定义的长度，那么会发生该内部错误
。

如果该错误重复出现，请参阅“管理员指南”或“参考大全”以获取有关纠正错误的信息。要获取更多诊断帮助，请联系 IBM 技术支持并提供诊断信息
。



-150	已超过 GBase  演示版本的限制数。

您正在使用数据库服务器的演示版本。该版本对于它可管理的表数量和表大小有严格的限制。当前操作导致它超过其中一个限制。请联系您的 IBM 代表，获取有关购买该软件生
产版本的信息。



-149	ISAM错误: GBASEDBT-OnLine daemon不在执行。

你的应用程序正在与一个OnLine数据库服务器通讯，但数据库服务器不在执行中。当
下一次启动时，OnLine系统进行快速恢复并将你的当前事务滚回。结束你的应用程序
并与OnLine管理员联系，看看发生了什么情况以及什么时候数据库服务器能重新
启动。






-148	ISAM错误: dbspace不空。

OnLine管理员可以看到这个错误。在一个dbspace中的所有表都被取消之前，你不能删
除这个dbspace。使用带有-pe选项的tbcheck或oncheck实用工具来寻找剩余的表的名
字；它会按大块列出dbspace内的表。






-147	ISAM错误: 正在进行归档。

OnLine管理员可以看到这个错误。在进行归档的时候你请求的行动不能被执行。例
如，在归档期间你不能增加一个日志或一个镜像。取消归档操作或是等到归档结束，
然后重新发出该命令。






-146	ISAM错误: 这个磁盘的另一个拷贝现在被禁止或是不存在。

OnLine管理员可以看到这个错误。在使一个大块脱机之前必须使这个镜像对的另一个
大块成为联机状态。






-145	ISAM错误: 系统没有磁盘镜像。

OnLine管理员可以看到这个错误。OnLine系统没有被初始化成支持磁盘镜像的。在你
能够增加一个镜像大块之前，你必须重新初始化"初始磁盘参数"，在标有"镜象"的字
段处选Y。这个动作实现了对磁盘镜像的支持。






-144	ISAM 错误: 键值被锁定。

当前的操作插入一个带有某主键值的行，或是将一行更新为带有某一主键值，但是一
个尚未提交的事务已从索引里删除该键值。这个错误只有在锁定方式设置为NOT WAIT
的情况下才会出现。处理方法与错误-107(记录被锁定)相同：滚回当前事务，在一段
延时后重新执行。如果其它事务已提交，锁定不再存在。如果其它事务滚回，该键存
在，这个操作将得到一个重复键错误。






-143	ISAM错误: 侦测到死锁。

OnLine数据库服务器在你的需求和其他并发的用户需求之间侦测到一个即将发生的死
锁。每个用户都在等待一个资源(一行或一磁盘页)，而该资源又被链中的其他用户所
要求；如果你需求的操作继续下去，这条链将闭合起来，所有要求都将陷入死锁。简
单地说，处理方法与错误-107(记录被锁定)相同：滚回当前事务并在一定延时后重新
执行。为防止再次出现此错误，检查使用同一个表而且并发执行的应用程序的设计。
有很多设计策略可以尽量减小出现死锁的概率。

当GBASEDBT-STAR是活跃的并且你的应用程序正在同时使用这一系统和其他系统的表
时，死锁检测不再是决定性的，而是概率性的，与另一系统上等待资源的延时长度有
关。OnLine管理员可以设置延时的长度，超过该延时则认为发生了死锁。






-142	ISAM 错误：表空间页面溢出。

发生内部错误（很可能是过时的内部错误）。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-141	ISAM错误: tblspace表溢出。

OnLine数据库服务器被配置成只能处理一定数目的打开的tblspace(大致与表对应)。
现在已经达到了这个tblspace数目的极限，所以这个语句中使用的表不能被打开。简
而言之，滚回当前事务并在有较少的并发操作进行的情况下重新执行。为了防止再次
出现这个错误，OnLine管理员应配置系统使之可以处理更多的打开的tblspace。
TBCONFIG或ONCONFIG文件中的TBLSPACES参数设置了这个极限。DB Mornitor或
ON Mornitor Profile显示的ovrtable计数反映了这个错误发生的次数。






-140	ISAM 错误：针对 DR 辅助服务器的操作非法。

UPDATABLE_SECONDARY 已禁用：

DR 辅助服务器仅支持只读操作。任何类型针对非临时数据库空间的写操作都是不允许的。例如，您不能在常规数据库空间中创建表，也不能对常规数据库空间中的表执行插入、更
新或删除操作。

请检查您的应用程序逻辑，并进行重新撰写以除去写入非临时数据库空间的任何操作
。

UPDATABLE_SECONDARY 已启用：

DR 辅助服务器是可更新的。某些 DML/DDL 语句在可更新的辅助服务器上不受支持。例如，在可更新的辅助服务器上不支持创建不带日志的数据库。此外，辅助服务器也
不支持创建原始表和外部表。



-139	ISAM错误: 日志文件表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
逻辑日志。这个最大数目的极限已经达到，所以这个日志不能被增加。增加TBCONFIG
或ONCONFIG文件的LOGSMAX参数并初始化共享内存。






-138	ISAM错误: dbspace表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
dbspace。这个最大数目的极限已经达到，所以这个dbspace不能被增加。增加
TBCONFIG或ONCONFIG文件的DBSPACES参数并初始化共享内存。






-137	ISAM错误:大块表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
磁盘大块。这个最大数目的极限已经达到，所以这个大块不能被增加。增加TBCONFIG
或ONCONFIG文件的CHUNKS参数并初始化共享内存。






-136	ISAM 错误：没有更多的扩展数据块。

数据库服务器需要将扩展数据块添加到表中，但是无法实现。数据库空间中可用磁盘空间不足，或为表给定的扩展数据块已达到允许的最大数量，或者已达到最大页面数。数据库服务
器管理员可以确定原因，如下：

1.  确定表的表空间编号。对于该表，该值是 systables 表的 partnum 列中的值
。

2.  将表空间编号转换成十六进制，并抽取其 2 个最高有效位（高位字节）。该块编号表示表所在的位置
。

3.  使用 onstat 实用程序的 -t 选项来查找该表的磁盘使用情况。尤其请注意为 npages（可用磁盘页面）、nused（已用磁盘页面）和 
nextns（扩展数据块数）报告的值。

如果 nused 小于 npages，而 nextns 较大，那么可能是表中的扩展数据块太多。每个表的扩展数据块的上限取决于所在数据库空间的页面大小以及其表空间
页面上的其他条目耗用了多大空间。所允许扩展数据块数的最大估计值为页面大小（以字节计）减去 150 字节的开销，然后除以 8。因此，页面大小为 2K 的数据库空间
中的表限制为大致 (2,048 - 150) / 8 = 237 个扩展数据块，但是如果其表空间页面上的其他条目导致可用于扩展数据块条目的空间减少，那么实际限制
可能较低。页面大小越大，对应的扩展数据块数就越多。

如果扩展数据块太多，请使用更少更大的扩展数据块重新分配表，或在具有较大页面大小的数据库空间中重新分配表。要重新分配表，请把它卸载到平面文件中，然后删除该表。重新
创建表，同时指定第一个扩展数据块的大小，使其足以容纳其所有当前数据，接着指定下一个扩展数据块的大小，为其当前大小的四分之一到十六分之一。然后将数据重新装入表中
。

如果 nextns 很小，或者 npages 和 nused 的差值小于表的下一个扩展数据块的大小，那么在表所在的数据库空间中没有足够的磁盘空间。请使用第 2 
步中的块编号以及 ON-Monitor 或“ON-Monitor 块”显示来确定数据库空间，然后向该数据库空间添加新块
。

如果 nused 接近 0xFFFFFF (16,777,215)，那么已达到该表的最大页数。请在具有更大页面大小的数据库空间中重新分配表，如上所述
。



-135	ISAM错误: tblspace不存在。

这个错误可能表明根的dbspace控制信息被损坏。这是一个严重的错误，需要从档案上
恢复系统。简单地说，滚回当前的事务并且终止应用程序。然后OnLine管理员应该
运行tbcheck或oncheck实用工具。






-134	ISAM错误: 没有更多的锁。

ISAM处理器需要锁定一行或一个索引页但是已没有可用的锁了。一个操作所需要的锁
的个数主要取决于在一个事务中改变的行的个数。你可以通过减少每个事务所修改的
行数来减少一个操作所需的锁的个数，或通过锁定整个表来代替锁定行。可用的锁的
个数根据你所使用的实现可能在下面三个位置之一被配置:操作系统核心；共享内存
段；或是OnLine。向你的系统管理员咨询如何获得更多的锁。






-133	ISAM错误: 审计跟踪已存在。

ISAM处理器被要求以一种与审计跟踪不兼容的方式对文件进行操作，但是该文件的审
计跟踪已经存在了。对C-ISAM程序，在审计跟踪存在时，你不能调用iscluster。首先
用AUDSTOP方式调用isaudit。对 SQL产品，在一个表有审计跟踪时，你不能给该表建
立聚类的索引，先使用DROP AUDIT命令取消审计跟踪。






-132	ISAM错误: 行尺寸太大。

单一行的尺寸极限是OnLine所支持的磁盘页大小。用不同的方法来定义表，以使得每
一行短一些。考虑把该表分割成两个或更多的表，或使用更加紧凑的数据类型。






-131	ISAM错误: 没有可用的磁盘空间。

没有足够的连续可用的磁盘空间来完成当前的操作。对 C-ISAM 程序，如果正在使用
事务日志，滚回当前事务。腾出一些可用的磁盘空间并重新运行程序。对 SQL产品，
如果可能的话，滚回当前事务。与系统管理员联系以给数据库获得更多的磁盘空间。






-130	ISAM 错误：不存在这样的数据库空间。

该代码表示发生两个问题中的一个问题。最有可能发生的问题是该操作按名称指定数据库空间（例如，在 CREATE TABLE 语句的 IN 子句中，或在 
DBSPACETEMP 环境变量设置中），但尚未定义该名称。您可以运行具有 -d 选项的 onstat 实用程序来查看已定义数据库空间的名称。请咨询数据库服务器
管理员有关创建新数据库空间的信息。

如果操作并未显式命名数据库空间，或者如果名称是正确的，那么可能要认真对待问题。错误可能反映出根数据库空间中保留页面被损坏了。请使用具有 -cr 选项的 
tbcheck 或 oncheck 实用程序来检查这种状况。



-129	ISAM错误: 过多的用户。

ISAM的实现使用了共享内存，配置时已经达到为共享内存所规定的最大并发用户数。
你可能需要增加ONCONFIG文件中的参数USERTHREADS和TRANSACTIONS的值。
如果问题再次出现，与系统管理员或是安装此产品的人联系。

"用户"这个词可能会使人误解；实际上是对使用数据库服务器的并发的应用程序个数
有限制。一个用户可以同时启动多个应用程序。例如，当用户启动 GBASEDBT-4GL程序
员环境时，它打开一个与数据库服务器的会话。当用户发出命令编译一个4GL程序时，
4GL编译器被启动并且还打开一个与数据库服务器的会话。在编译期间，用户有两个
会话在运行。






-128	ISAM错误: 没有日志。

ISAM处理器的一个函数被调用，该函数需要一个事务日志，但该文件没有日志。对
C-ISAM程序，检查数据文件的建立。在使用象isbegin这类函数之前，程序必须用
islogopen设置一个日志。对 SQL产品，这个数据库不支持事务日志。如果你正在使用
OnLine数据库服务器，请系统管理员允许此数据库进行日志操作。否则，使用START 
DATABASE语句开始事务日志。在所有情况下，日志只能在数据库完全备份后马上
开始。






-127	ISAM 错误：没有主键。

已针对需要唯一主键索引的函数调用 ISAM 处理器，但是该文件不存在这样的索引。对于 C-ISAM 程序，请检查数据文件的设计以了解该文件是否用 0 部分主索引
（即，按记录号顺序进行检索）创建。如果不是这种情况，那么索引可能已损坏；请运行 bcheck 或 secheck 实用程序。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-126	ISAM 错误：行标识不正确。

要求 ISAM 处理器按其物理位置检索行，但该处理器找不到该处的行
。

由于下面的一个或多个原因而发生错误：

对于使用脏读取隔离级别的查询，所查询的数据处于暂时不一致的状态，因而无法读取。这是脏读取隔离级别的正常行为，允许查询访问正在由其他事务并发更新的数据。请重新提交
查询。要阻止该错误出现，请使用较高的隔离级别。

对于 C-ISAM 程序，如果您正在使用按记录号访问，请复审 isrecnum 中存储的编号；它是无效的。否则，当前索引可能已损坏；请运行 bcheck 或 
secheck 实用程序。

对于 SQL 产品，索引可能已损坏。如果您正在使用 GBase  Database Server、GBase  Universal 
Server 或 GBase  OnLine Database Server，请运行 oncheck 实用程序来检查和修复索引。如果正在使用 IBM 
GBasedbt SE 数据库服务器，请运行 bcheck 或 secheck。如果正在使用 GBase  OnLine 数据库服务器，请运行 
tbcheck。



-125	ISAM错误: 不能使用nfs。

ISAM处理器被要求打开一个位于其它机器的磁盘上的文件，并通过网络文件系统(NFS)
来对它进行存取。这个功能不被支持。数据库文件必须位于在物理上属于正在运行
ISAM处理器的计算机的磁盘上。要想使用其他计算机上的数据库，你必须安装
GBASEDBT-STAR或GBASEDBT-NET网络软件。那时这台计算机上的应用程序就可以与
磁盘所在的计算机上运行的数据库服务器进行通讯了。






-124	ISAM错误: 还没有开始工作。

ISAM处理器被要求为事务结束给一个标记，但是还没有任何事务开始。对C-ISAM
程序，检查程序逻辑，确保在调用iscommit或isrollback之前已调用过isbegin。对
SQL产品，确定在执行COMMIT WORK或ROLLBACK WORK前先执行了BEGIN WORK。






-123	ISAM错误:没有共享内存。

ISAM的实现使用了共享内存，但是共享内存分区还没有建立起来。与系统管理员或安
装产品的人联系。






-122	ISAM错误: 事务不可用。

ISAM处理器被要求给一个事务标记开始或结束，但是事物日志并未工作。对C-ISAM
程序，这个文件没有以日志方式打开。检查isopen调用并确保ISTRANS参数已被包括。
对SQL产品，这个数据库不支持事务日志。如果你正在使用OnLine数据库服务器，请 
OnLine 管理员允许这个数据库进行日志操作。否则，使用START DATABASE 
语句来开始事务日志。在所有情况下，日志只能在已获得数据库的一个完全的备份后
马上开始。






-121	ISAM: 不能写日志记录。

ISAM处理器正试图给事务日志增加一条记录，但是从操作系统接到了一个错误信息。
磁盘可能已满。查看操作系统错误信息可能会获得进一步的信息。事务日志文件可能
会增长得相当大。为了减小其大小，你必须做两件事。首先给数据文件(对C-ISAM)或
所有的数据库文件(对SQL)做一个备份拷贝，然后，清空事务日志文件。如果例行地执
行以上步骤，就可以控制日志文件的大小。






-120	ISAM错误: 不能打开日志文件。

ISAM处理器试图打开一个事务日志文件但接到了从操作系统来的错误信息。查看操作
系统错误信息可能会得到进一步的信息。对C-ISAM程序，检查传递给islogopen
的参数。确定它指定了一个已存在的可写的日志文件的正确的名字，并且当文件不在
当前目录下时，它包含了路径。对SQL产品，START DATABASE语句建立了事务的日志
文件。确定该日志文件还在与执行STARTDATABASE语句时相同的目录位置上，并且你
的帐户可以写存取。






-119	ISAM错误: 坏的日志记录。

ISAM处理器正试图滚回一个事务或恢复一个文件，但是在日志记录中遇到了坏的数
据。dblog或selog实用工具可以用来获取与此问题有关的更多的信息。如果该文件
(表)不能被恢复，则必须重新建立或从备份上恢复。






-118	ISAM错误: 不能读取日志记录。

ISAM处理器试图滚回一个事务或恢复一个文件但是在读取日志记录时遇到了错误。查
看操作系统错误信息可能会获得进一步的信息。使用dblog或selog实用工具获取与此
问题有关的更多的信息。如果该文件(表)不能被恢复，则必须重新建立或从备份上
恢复。






-117	ISAM 错误：定制的整理顺序不正确。

当前的 GBase  产品不会显示该消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-116	ISAM错误: 不能分配内存。

ISAM处理器需要分配内存用于数据存储但是没有成功。可能是操作系统出了问题；
查看操作系统错误信息可能会获得更多的信息。一个原因可能是选定了包含有巨大的
BYTE或TEXT字段的一行到一个临时表中或是作为一个INSERT或UPDATE的一部分。
在某些版本中，整个行包括BLOB值都被缓冲到内存中。对C-ISAM程序，查看程序，
寻找任何可以减少内存使用的办法。对SQL产品，如果可能的话，简化程序，屏幕
表格或报表。






-115	ISAM错误: 不能建立锁定文件。

ISAM处理器被要求存取使用锁定来存取一个文件或一行。因为这个操作系统使用锁定
的文件，ISAM必须建立一个<表名>.lok文件。当ISAM试图这样做时，它收到了操作系
统的错误代码。可能是磁盘已满，或者你的帐户可能没有在相关目录的写许可。查看
操作系统错误信息可能会获得进一步的信息。






-114	ISAM 错误：文件名太长。

ISAM 处理器接到指令，要求打开或创建文件名大于 10 个字符的文件。对于 C-ISAM 程序，该长度超过了产品规定的最大限度。请选择较短的文件名。如果该错误
重复出现，请记下所有情况并联系 IBM 技术支持。



-113	ISAM 错误：该文件已被锁定。

另一个用户的需求已经用排它方式打开需求的文件(表)。在使用文件锁定的系统中，
存在一个<表名>.lok文件。可能这个文件是另一个程序异常结束后遗留的产物。如果
您能肯定是这样的，可以通过清空该文件来解除锁定。在许多系统中都不使用锁定
文件，GBasedbt 动态服务器 2000 或 GBASEDBT-OnLine动态服务器也从不使用它。

当用户试图存取一个已被锁定的表时，在GBasedbt 动态服务器 2000 或
 GBASEDBT-OnLine动态服务器中会发生该错误。

对C-ISAM程序，在文件被解锁后重新运行该程序。对SQL产品，表是由LOCK TABLE
显式锁定，并在执行CREATE INDEX和ALTER TABLE语句时被隐含地锁定。在表被
解锁后重新运行程序或查询。

如果您在使用REPEATABLE READ 或 SERIALIZABLE事务隔离模式时发现该错误，并且
如果您的查询没有使用索引（因此必须使用整个表的顺序扫描），错误的原因
就可能是另一个用户至少在表中的一行上具有一个排它的锁定或可提升的锁定。如果
您在REPEATABLE READ 或 SERIALIZABLE模式中并且您的查询需要扫描（查找）表中
的每个单独的记录，以找到所有符合 WHERE 子句中条件的记录，那么引擎将需要
锁定表中的所有记录以保持读取的可重复性。实际上，引擎将试图锁定整个表，而
不是每个单独的记录。但是在表中的行中如果有排它的锁定，或者甚至有可提升的
锁定，那么引擎将不会在整个表中获得一个共享锁定，查询将失败。







-112	ISAM 错误：无当前记录。

ISAM 处理器接到指令，要求返回当前记录，但尚未创建任何当前记录。对于 C-ISAM 程序，请检查程序逻辑。在该程序使用 ISCURR 检索方式之前，它必须使
用另一种检索方式（例如 ISFIRST）来创建当前记录。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-111	ISAM错误: 没找到记录。

ISAM处理器不能定位需求的记录。对C-ISAM程序，根据所使用的检索方式，没有具有
所需求的索引值或记录号的记录。确认正在使用正确的索引。对SQL产品，参见SQL
错误信息或返回代码。可能是此次查询没有找到相应的行。






-110	ISAM错误: 文件的开头或结尾。

ISAM处理器向前或向后顺序地读取行时达到了文件(表）的一端。对C-ISAM程序，这个
信息是文件结束的正常信号。使用isread的其它检索方法来在文件中重新定位。对SQL
产品，参见SQL错误信息或返回代码。






-109	ISAM 错误：该键是这个文件的主键。

ISAM 处理器接到指令，要求删除主键索引。对于 C-ISAM 程序，isdelindex 调用不能删除主键。如果该错误重复出现，请记下所有情况并联系 IBM 
技术支持。



-108	ISAM 错误：键已存在。

ISAM 处理器接到指令，要求创建已存在的索引。对于 C-ISAM 程序，请检查程序逻辑。该程序必须在定义另一个索引之前删除已有索引。如果该错误重复出现，请记下
所有情况并联系 IBM 技术支持。



-107	ISAM错误: 记录被锁定。

所需求的记录，或是包含该记录的文件（表），已被另一个用户的需求锁定。这一般
是一个暂时的情况。程序可以通过滚回当前事务来恢复，等一小段时间，然后重新执
行操作。对交互式的SQL，重新进行该操作。对C-ISAM程序，检查程序逻辑，确保程序
可以处理这种在多程序环境中的正常事件。你可以把ISEXCLLOCK标志传递给isopen以
获得对表的排它存取。对SQL程序，检查程序逻辑，确保程序可以处理这种在多程序环
境中的正常事件。处理这种情况的最简单的方法就是使用命令SET LOCK MODE TO 
WAIT。对于批量更新参见LOCK TABLE命令和DATABASE语句的EXCLUSIVE选项。






-106	ISAM错误: 非排它存取。

ISAM处理器被要求增加或取消一个索引，但它并没有排它存取权。对C-ISAM程序，在
做这个操作之前文件必须以排它存取方式打开。检查程序逻辑，确保在打开文件时把
ISEXCLLOCK标志传递给了isopen。对SQL产品，在要求对表的排它锁定时，
GBASEDBT-OnLine 动态服务器和GBASEDBT-SE数据库服务器中可能会返回这个错误。
例如，当第一个用户锁定了表后，第二个用户又试图变更表时，就会出现这个错误。






-105	ISAM错误: 坏的ISAM文件格式。

一个ISAM文件(表或索引)的内容已被损坏。对C-ISAM，如果已使用了事务日志，你可
以用isrecover程序来恢复该文件。否则，重新建立或是从备份上恢复该文件。对SQL
产品，使用bcheck或secheck实用工具来获取有关此问题的进一步信息，可能的话改正
错误(在GBASEDBT-OnLine数据库服务器中使用tbcheck或是在GBASEDBT-OnLine 
动态服务器 中使用oncheck)。如果实用工具不能恢复表或索引，你必须重新建立或
恢复它。






-104	ISAM错误: 打开文件过多。

ISAM处理器已经到达了打开文件数的极限。对C-ISAM程序，检查并改变程序逻辑使得
它同时打开较少的文件。使用isclose来关闭不需要的文件。对SQL产品，这个查询过
于复杂；它同时使用了过多的表。分步执行查询并使用临时表。






-103	ISAM 错误：键描述符非法（部分太多或键太长）。

向 ISAM 处理器提供了无效的键描述符。对于 C-ISAM 程序，请检查键描述符。每个键描述符最多可包含 8 个部分和 120 个字符。如果该错误重复出现，请
参阅“管理员指南”或“参考大全”中名为“纠正错误”的附录中有关纠正错误的信息，以获取更多的诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-102	ISAM 错误：ISAM 函数的参数非法。

提供给某个 C-ISAM 函数的参数超过了可接受值的范围。对于 C-ISAM 程序，请检查该函数调用中使用的参数，并将它们与该函数的文档比较。如果该错误重复出现
，请参阅“管理员指南”或“参考大全”中有关纠正错误的信息，以获取更多的诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-101	ISAM 错误：文件未打开。

该程序尝试使用未打开的文件、表、分区、表空间或其他存储对象，或者其访问方式不支持请求的操作（例如，尝试写入以只读方式打开的文件）
。

如果该错误重复出现，请参阅“管理员指南”或“参考大全”中有关纠正错误的信息，以获取更多的诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-100	ISAM错误：对有唯一键的记录重复取值。

某一行在被插入或是更新时，其键值在索引中已经存在。对C-ISAM程序，在最后一次
调用iswrite，isrewrite，isrewcurr或isaddindex时传递了重复的键值。检查程序逻
辑和输入数据。对SQL产品，在最后一个INSERT或UPDATE中使用了重复的键值。





-79	没有可用的记录锁。

一个具有上面所说的意义的操作系统错误码意外地返回到数据库服务器。这个
GBasedbt数据库服务器的实现可能使用了核心锁定，就是说使用了操作系统的功能来
锁定表的行。操作系统锁定表的能力已被超出。与你的系统管理员联系把操作系统配
置得可以支持更多的锁。同时也检查你的应用程序，看看是否可以少用一些锁，例如
在每一个事务中少更新一些行，或是锁定整个表来代替锁定行。






-78	已检测到/已消除死锁情况。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

在 AIX 中，该代码表示连接超时。



-77	标识已除去。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-76	非数据消息。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-75	没有期望类型的消息。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-74	流资源耗尽。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-73	计时器到期。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-72	非流设备。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，特别是涉及设备的消息。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-71	路径中的远程层次太多。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-70	失效的NFS文件句柄。

一个带有上述含义的操作系统错误码意外地返回到数据库服务器。这反映了在网络文
件系统中文件服务器的一个错误。尽管GBasedbt数据库服务器不支持对安装在NFS上文
件系统的数据库存取，但是当数据库服务器可执行文件或其他与数据库服务器相关的
文件位于安装在NFS的磁盘上时(换句话说，就是环境变量GBASEDBTDIR命名了一个安
装在NFS上的磁盘)，就有可能发生这个错误。这个错误一般是暂时的，反映了文件服
务器的崩溃和后来的重新启动。重新安装文件系统到你的工作站上并重新运行你的
应用程序。






-69	超出磁盘限额。

一个带有上述含义的操作系统错误码意外地返回到数据库服务器。可能在操作系统中
配置了磁盘限额的极限。查看其它操作系统错误信息可能会获得进一步的信息，特别
是有关的磁盘。与系统管理员联系，要求更多的自由限额。






-68	过多的用户。

一个带有上述含义的操作系统错误码意外地返回到数据库服务器。这个错误可能反映
了操作系统配置的极限。查看其它操作系统错误信息可能会获得进一步的信息。






-67	过多的进程。

你的应用程序不能启动一个数据库服务器进程，或是不能为某些子例程函数，如
REPORT TO管道或是一个网络存取程序，建立所需的进程。这个错误可能反映了
操作系统配置的极限。查看其它操作系统错误信息可能会获得进一步的信息。






-66	目录非空。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，特别是涉及将要除去的目录的消息。如果该错误重复出现，请记下
所有情况并联系 IBM 技术支持。



-65	主机不可访问。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-64	主机宕机。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-63	文件名太长。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。在对报告的 REPORT TO 语句进行编码的过程中可能存在错误。如果不是这种情况，请记下所有情况并联系
IBM 技术支持。



-62	符号连接的层次过多。

一个带有上述含义的操作系统错误码意外地返回到数据库服务器。数据库服务器一般
不使用符号连接。查看其它操作系统错误信息可能会获得进一步的信息，特别是正在
访问的文件。






-61	连接被拒绝。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-60	连接超时。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-59	引用太多：无法分片。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-58	无法在套接字关闭后进行发送。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-57	套接字未连接。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-56	套接字已连接。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-55	没有可用的缓冲区空间。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，特别是涉及文件的消息。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-54	同级已复位连接。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-53	软件导致连接异常中止。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-52	网络在复位时断开连接。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以报告网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-51	网络不可访问。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以找出网络问题。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-50	网络中断。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果您尝试使用 GBase  STAR 或 GBase  NET，请联系系统管理
员以确定网络何时恢复正常。如果不是这种情况，请记下所有情况并联系 IBM 技术支持
。



-49	无法分配所请求的地址。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-48	该地址已在使用。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-47	协议系列不支持此地址系列。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-46	该协议系列不受支持。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-45	套接字不支持该操作。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-44	该套接字类型不受支持。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-43	该协议不受支持。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-42	协议不支持该选项。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-41	该协议类型对于套接字不正确。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-40	消息太长。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-39	目标地址是必需的。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-38	对非套接字执行了套接字操作。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，特别是涉及相关进程和存在问题的操作的消息。如果该错误重复出
现，请记下所有情况并联系 IBM 技术支持。



-37	操作已在进行。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-36	操作正在进行。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-35	操作可能中断。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-34	结果太大。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-33	参数太大。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-32	管道中断。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。管道是两个进程间的数据路径；如果一个进程意外退出而另一个正在等待数据，管道就会中断。请查找可能提供更多信
息的其他操作系统错误消息，特别是涉及进程的消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-31	链接太多。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，特别是涉及文件的消息。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



-30	只读文件系统。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。整个文件
系统 （盘或盘分区）已成为只读的。与系统管理员联系找出原因。






-29	寻道非法。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息，例如有关发生错误的设备的消息。如果该错误重复出现，请记下所
有情况并联系 IBM 技术支持。



-28	设备已没有空间。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。或者数据
库表，或者 ASCII 输出文件可能已经占满了可用的盘空间。查找其它操作系统错误信
息，可能会给出更详细的信息。






-27	文件太大。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。检查操作
系统的文档，找出“太大”在当前操作的上下文中可能是指的是什么意思。






-26	文本文件忙。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。如果当前
的操作需要使用文本文件 （如报表中的 LOAD 或 PRINT FILE 语句的输入文件），
那么在后面要再试一下操作。查找其它操作系统错误信息，可能会给出更详细的
信息。






-25	这不是打字机。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。数据库软件的配置中可能存在错误。该错误可能包括提供给数据库服务器的日志设备参数中的地址不正确。请查找可能
提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-24	太多的打开文件。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。这一错误
可能反映出在操作系统中配置的限制。查找其它操作系统错误信息，可能会给出更
详细的信息。






-23	文件表溢出。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-22	参数无效。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请参阅“管理员指南”或“参考大全”中有
关纠正错误的信息，以获取更多的诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-21	是一个目录。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。已直接对
目录进行文件类型的操作。有些数据库服务器存储表，索引和锁定文件，是作为数据
库目录中带有特别后缀的文件的。如果用目录来代替这样的文件，这就可能产生错
误。查找其它操作系统错误信息，可能会给出更详细的信息。






-20	不是一个目录。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。查找其它
操作系统错误信息，可能会给出更详细的信息。某些数据库服务器把存储数据库作为
名为 database.dbs的目录。如果在 DBPATH 中用 .dbs 后缀放置文件（而不是目
录），这种错误可能会发生。






-19	没有这样的设备。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-18	交叉设备链接。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-17	文件已存在。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。这个错误
可能反映企图在 REPORT TO 说明中替换一个存在的文件。查找其它操作系统错误信
息，可能会给出更详细的信息。






-16	安装设备正忙。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-15	需要块设备。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。在数据库
软件的配置中可能存在错误。这个错误可能包含大块设备或磁带设备赋给 OnLine 的
参数中的无效地址。查找其它操作系统错误信息，可能会给出更详细的信息。






-14	地址不正确。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-13	许可被拒。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。这个错误
代码一般是由于想执行一个不是程序或 shell 笔迹的文件；它也可能反映一个报表中
的 REPORT TO 说明有错。查找其它操作系统错误信息，可能会给出更详细的信息。






-12	无足够的核心。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。核心可能
涉及到操作系统函数所需内存的数据空间。查找其它操作系统错误信息，可能会给出
更详细的信息。






-11	没有其他进程。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-10	没有子代。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-9	文件编号不正确。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-8	执行格式错误。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-7	参数列表太长。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请参阅“管理员指南”或“参考大全”中有
关纠正错误的信息，以获取更多的诊断信息。请联系 IBM 技术支持以获取诊断信息
。



-6	没有这样的设备或地址。

一个具有所示意义的操作系统错误代码，不可预料地返回到数据库服务器。这可能反
映在配置数据库软件中的一些错误，或者可能是在报表的 REPORT TO 子句中有错误。
查找其它操作系统的错误信息，它会给出更详细的信息。






-5	发生 I/O 错误。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-4	系统调用被中断。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。您可能在关键时刻按了中断键，或软件可能生成了一个中断信号，如 UNIX 命令 kill。请查找可能提供更
多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



-3	没有这样的进程。

向数据库服务器意外返回了具有所示说明的操作系统错误代码。请查找可能提供更多信息的其他操作系统错误消息。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。

1	00:00:00.00000）。

- 对于首个字段限定符为 DAY 或更小时间单位的

INTERVAL 类型的时间间隔值，转换值不得以 FRACTION 

作为最后一个字段限定符，除非 FRACTION 字段的值为零。



例如，以下语句会生成错误：


示例 1：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(basepay) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 40000.50 IN dbs1, 

PARTITION p2 VALUES < 60000.50 IN dbs2, 

PARTITION p3 VALUES < 80000.50 IN dbs3; 


在以上示例中，第一个和中间范围分段的上限

可以为任意数字类型，但最后一个

范围分段的上限（它是时间间隔分段的转换值）

必须为 INTEGER。以上示例中的转换值 80000.50 

具有尾数部分。


正确的用法如下：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(basepay) 

INTERVAL(1000) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < 40000.50 IN dbs1, 

PARTITION p2 VALUES < 60000.50 IN dbs2, 

PARTITION p3 VALUES < 80001 IN dbs3; 


示例 2：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(hire_date) 

INTERVAL(3 UNITS YEAR) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < DATE('03/25/2006') IN dbs3; 


在以上示例中，时间间隔值是以 YEAR 为单位指定的，

但转换值与年或月边界不一致。


正确的用法如下：


CREATE TABLE employee (emp_id INTEGER, emp_name CHAR(64), ssn CHAR(12), 

basepay FLOAT, varpay FLOAT, dept_id SMALLINT, 

hire_date DATE) 

FRAGMENT BY RANGE(hire_date) 

INTERVAL(3 UNITS YEAR) STORE IN (dbs1, dbs2, dbs3) 

PARTITION p1 VALUES < DATE('03/01/2006') IN dbs3; 


示例 3：


CREATE TABLE orders (order_num INT, order_time DATETIME YEAR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(INTERVAL(10 12) DAY(2) TO HOUR) 

PARTITION p1 VALUES < DATETIME(2010-03-25 01:00:00.123) YEAR TO FRACTION(3) IN 
dbs1; 


在以上示例中，时间间隔值是 DAY(2) TO HOUR 时间间隔。

INTERVAL 字段限定符转换值与第二个边界不一致

（因为它包含非零 FRACTION 值）。


正确的用法如下：


CREATE TABLE orders (order_num INT, order_time DATETIME YEAR TO SECOND, 

customer_num INT, ship_instruct_code CHAR(1)) 

FRAGMENT BY RANGE(order_time) 

INTERVAL(INTERVAL(10 12) DAY(2) TO HOUR) 

PARTITION p1 VALUES < DATETIME(2010-03-25 01:00:00.000) YEAR TO FRACTION(3) IN 
dbs1; 





-2	没有这样的文件或目录。

一个具有上述意义的操作系统错误代码，不可预料地返回到数据库服务器。查找其它
操作系统错误信息，它会给出更详细的信息。






-1	不是所有者。

一个具有上述意义的操作系统错误代码，不可预料地返回到数据库服务器。检查在当
前操作中所使用的文件和目录的所有关系和许可权。查找操作系统的错误信息，它会
给出更详细的信息。






100	没有发现匹配的记录。

数据库服务器不能寻找更多的数据。这个信息是ANSI 标准的 SQLCODE 值。如果您想
选择或取数据，遇到了数据结束，或没有数据匹配 WHERE 子句中的标准。检查是否是
空表。使用这个 SQLCODE值决定一个语句什么时候到达数据结束。要了解更多的信
息，请参看《GBASEDBT-ESQL/C 程序员手册》中关于 SQLCODE 的讨论。数据库服
务器能够返回这个 SQLCODE 值给在运行的程序。

对于高性能装入程序（HPL)，该消息表明映射可能来自于缺省设计以外的一个设计。
使用 onpload 命令行中 -p 选项为映射提供设计名。






1203	找不到信息文件

数据提取不能找到所需的信息文件。确保当你设置GBASEDBTDIR 和 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	请参阅错误号 errno。

请检查随附的消息来确定是否表明要执行系统操作。使用 finderr 实用程序来查找标明的错误消息
。



12750	db <database_name>, tabid <table_identifier>：必须将原始表变更为标准表。

原始（非登录）表存在于您正试图恢复至前一版本的数据库服务器中。
早期版本的数据库服务器不支持原始表。

要将每个表的登录 TYPE 选项从 RAW 改为 STANDARD，使用 ALTER TABLE 语句。
将表更改为 STANDARD 后，就可以恢复数据库服务器。




16755	oninit：VPCLASS VPCLASS_name 重复的类名。

onconfig 文件中的 VPCLASS 参数有一个重复的名。VPCLASS 名必须是唯一的。请更正 
onconfig 文件并重新开始 oninit。





16872	逻辑恢复完成 - 不需要任何日志重放。

在恢复期间，数据库服务器确定所有有关的dbspaces自备份以来没有任何的
登录活动。您不必在磁带上查找日志备份，因为不会找到任何东西。

您不必采取任何行动。






16888	通过添加日志成功变更了 Logslice。

逻辑日志被添加到变更后的dbslice中所有新的dbspace。

执行一个 0级备份或伪备份以启用新的逻辑日志。






16889	通过添加 dbspace 成功变更了 Dbslice。

Dbspaces 被添加所有命名的 coservers。

您不必采取任何行动。






19568	oninit：指定了太多的 VPCLASS 参数。

在 onconfig 文件中有太多的 VPCLASS 参数行。请减少 VPCLASS 行数并重新开始 
oninit。





19569	oninit：VPCLASS VPCLASS_name 坏的 affinity 说明。

VPCLASS 行的 affinity 说明是非法的。affinity 被指定在 x 小于或等于 z 
的范围内，并
且 x 和 z 均大于零。

x：用处理器 x

x - z：用包括在 x - z 范围内的处理器





19570	oninit：不能混合 VPCLASS cpu 及 NUMCPUVPS、
SINGLE_CPU_VP、AFF_SPROC、AFF_NPROCS 或 NOAGE 参数。

CPU VP 能够用 VPCLASS CPU 或旧的参数 NUMCPUVPS 等进行配置。但 CPU VP 不
能同时用两种格式的混合进行配置。





19571	oninit：不能混合 VPCLASS aio 及 NUMAIOVPS 参数。

AIO VP 能够用 VPCLASS AIO 或旧的参数 NUMAIOVPS 等进行配置 。但 AIO VP 不
能同时用两种格式进行配置。





19572	oninit：VP 的 VPCLASS VPCLASS_name 数值超出了 0-10000 的范围。

由 VPCLASS 参数行指定的 Vp 的初始数值必须在 0 到 10,000 之间。请更正 onconfig 
文件并重新开始 oninit。





19573	oninit：VP 的 VPCLASS VPCLASS_name 最大数值超出了 1-10000 的范围。

由 VPCLASS 参数行指定的 Vp 的最大数值必须在 0 到 10,000 之间。请更正 onconfig 
文件并重新开始 oninit。





19574	oninit: VP 的 VPCLASS VPCLASS_name 数值大于所指定的最大值。

由 VPCLASS 参数指定的 Vp 的初始数值大于由同样的 VPCLASS 参数指定的最大值。
请更正 onconfig 文件并重新开始 oninit。





19575	oninit：VPCLASS VPCLASS_name 坏的调度程序说明。

VPCLASS 参数的选项之一是不合法的。请查阅 GBASEDBT-通用服务器管理员手册查找合
法值。更正 onconfig 文件并重新开始 oninit。





19750	非法的序列号。请查询《安装指南》。

该 RSAM 错误消息指出错误的序列号。






19812	非法使用复制影子字段。

当复制允许时指定操作无法在复制影子字段执行。





19813	当表已经有了复制影子字段不能添加 CRCOLS。

指定的表是用 WITH CRCOLS 子句建立的，于是已经有了定义的复制影子字段。不能更
改这张表，在该表中添加 CRCOLS。





19814	表无复制影子字段时，不能取消 CRCOLS。

指定的表不是用 WITH CRCOLS 子句所建立，或尚未变更为包含 CRCOLS。你不能变更
此表格和取消 CRCOLS，因为表上没有这些字段。





19815	不能用 CRCOLS 建立临时表。

你不能建立临时的表来包含复制影子字段。如果你不打算命名临时表，请检查表名的拼写。





19816	无法针对为复制而定义的表执行该操作。

如果对表定义了 Enterprise Replication，那么不能对该表执行指定的操作。如果希望执行指定操作，必须删除对该表定义的所有复制
。

如果使用“更改数据捕获”界面来捕获表，那么必须使用 CDC API 函数来停止数据捕获并对表禁用整行记录
。



19820	GBasedbt OUTER JOIN 和 ANSI JOIN 在同一个查询块中。

您不能将 OUTER JOIN 和 ANSI JOIN 放在同一个查询大块中。GBasedbt OUTER JOIN
 和 ANSI JOIN 是两种不同的机制，不能被结合在一个单独的查询中。您只能使用
其中之一。





19821	不能使用同义词重命名表。

不能使用同义词对表执行重命名操作。应该指定<table-name>。

如果要重命名同义词，请删除现有的同义词，然后创建一个新的同义词。





19822	不能使用同义词更改表、或删除表或视图。

不能使用同义词对表进行更改，或对表或视图执行删除操作。应该指定
<table-name>或<view-name>。

如果要使用同义词删除表或视图或者更改表，请不要设置环境变量 USETABLENAME。

如果要删除同义词但不删除表或视图，请指定 DROP SYNONYM <synonym-name>。





19823	不能在 INSTEAD OF 触发器的操作中使用 EXECUTE PROCEDURE INTO。

不能在 INSTEAD OF 触发器的操作中使用 EXECUTE PROCEDURE INTO。





19824	不能与 INSTEAD OF 触发器一起使用 BEFORE 或 AFTER 操作。

不能与 INSTEAD OF 触发器一起使用 BEFORE 或 AFTER 操作。必须与 
INSTEAD OF 触发器一起使用 FOR EACH ROW 操作。





19825	如果 INSTEAD OF 触发器已定义，则不能使用 WHEN 子句。

由于不能为 INSTEAD OF 触发器语句指定触发器约束，因此 WHEN 子句不能与 
INSTEAD OF 触发器一起使用。触发器操作将替换指定的事件。





19826	不能为选择事件创建 INSTEAD OF 触发器。

可以为插入、更新或删除事件创建 INSTEAD OF 触发器，但不能为选择事件
创建该触发器。





19827	不能基于表创建 INSTEAD OF 触发器。

只能基于视图创建 INSTEAD OF 触发器，而不能基于基表或同义词创建。





19991	表不处于 Enterprise Replication 更改方式

如果为复制定义的表不处于 Enterprise Replication 变更方式，那么无法对该表执行指定操作。如果希望执行指定操作，必须将表置于 
Enterprise Replication 变更方式。



19992	当表处于变更方式时，无法对复制表执行插入/删除/更新操
作

如果为复制定义的表处于 Enterprise Replication 变更方式，那么无法对该表执行指定操作。如果希望执行指定操作，必须取消设置 
Enterprise Replication 变更方式。



19993	无法修改复制列

无法对为复制定义的表执行指定操作。如果希望执行指定操作，必须通过 Enterprise Replication 重载过程从复制定义中除去列，变更列，然后再次将列
添加到复制定义中。



19994	当列是复制定义的一部分时，无法删除复制列

无法对为复制定义的表执行指定操作。如果希望执行指定操作，必须通过 Enterprise Replication 重载过程从复制定义中除去列
。



19995	设置变更方式时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码
。

执行指定操作时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码。如果希
望执行指定操作，请纠正 Enterprise Replication 问题并重新尝试该操作
。



19996	取消设置变更方式时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代
码

执行指定操作时遇到 Enterprise Replication 错误。请参阅消息日志文件以获取 Enterprise Replication 错误代码。通过 
cdr 命令行实用程序手动纠正问题并清除变更方式。



21511	无法为联机索引构建请求多个页面。

联机索引构建在并行构建期间请求了多个页面。



21512	前像缓冲区要求互斥存取。

前像缓冲区要求互斥存取。释放缓冲区时使用了 BF_MODIFY 标记，或者，有其他线程共享或等待该缓冲区
。



21513	联机索引操作中出错。

联机索引操作期间发生内部错误。



21514	联机索引构建后保存 keyp 时出错。

联机索引构建后保存新 keyp 时出错。



21515	无法对附带索引执行联机索引构建。

只允许对拆离或半拆离索引执行联机索引构建。不支持附带索引构建
。



21516	部分读取行。

这是并行索引构建读取行时的内部设置错误。如果是为联机索引执行并行构建，它将被忽略
。



21517	为前像或更新器日志分配缓冲区队列时出错。

为前像或更新器日志记录分配缓冲区队列时出错。



21518	启动线程处理前像或更新器日志时发生错误。

启动线程处理前像或更新器日志时发生错误。



21519	不存在前像。

预期应该存在的前像实际并不存在。



21520	临时分区的物理地址不正确。

对于 preimage 或 updator 日志分区，获取了错误的临时分区 physaddr
。



21521	对同一个表执行多个联机索引操作。

对同一个表不允许执行多个联机索引操作。



21522	无法联机构建索引。

无法在所请求的场景中联机构建索引。索引构建要求逐行读取数据，否则该 IDS 版本中将不允许联机索引构建
。



21523	无法继续使用脏/已修改的表数据字典项。

当 DML 操作引用表数据字典信息的较旧副本时，

操作易受此错误影响。

很有可能数据库服务器刚刚对 DML 操作所引用的表完成了

“CREATE/DROP INDEX ...”操作。


该错误伴随着 SQL 错误 - 710。




21524	无法创建在排序中使用的临时操作系统文件

正在执行未使用数据库空间分区来存储溢出数据的排序。溢出数据将写到临时操作系统文件中。但是，数据库服务器无法为该排序创建临时操作系统文件。请考虑将 
PSORT_DBTEMP 环境变量设置为最小具有 200 MB 可用空间的安全目录。如果未设置 PSORT_DBTEMP，那么数据库服务器将溢出数据存储在 /
tmp 或 $GBASEDBTDIR/tmp 目录中。



21525	在排序期间无法写到临时操作系统文件中

正在执行未使用数据库空间分区来存储溢出数据的排序。溢出数据将写到临时操作系统文件中。但是，数据库服务器无法写到该临时操作系统文件中，最有可能的原因是文件目录空间
不足。该文件的位置在 PSORT_DBTEMP 环境变量指定的路径中。如果未设置 PSORT_DBTEMP，那么数据库服务器将这些临时文件存放在 /tmp 或 
$GBASEDBTDIR/tmp 目录中。



21526	因为下一日志具有打开的事务，所以该日志无法删除
。

当请求删除某个日志，但因为下一日志包含一个打开事务的开始部分而无法删除它时，将出现该错误。在长事务终止期间，需要显式或隐式地使用该日志来回滚事务。此外，剩余的日
志空间可能不足以挂起回滚日志记录。



21527	无法创建分区，因为数据库空间当前不可用。

无法在指定的数据库空间中创建分区，因为在从备份恢复的过程中或在快速恢复的更新过程中，禁用了数据库空间
。

启用数据库空间或等待它完成其恢复，然后运行该命令以再次创建分区
。



21957	无效的块大小。

你已经在 onload  或 onunload 命令中，为磁带设备指定了不够块的大小。使块的大
小比在跟随的错误信息指出的大小（用 k 字节计）大。onload和 onunload
实用工具需要块大小参数，对于 2k 字节一页的机器最小值为 4，对于 4k 字节一页
的机器最小值为 8。






25500	sqlexecd 精灵进程未许可供远程使用。

在运行 GBasedbt 客户/服务器产品安装程序时，输入了不正确的系列号或者系列号
密码。输入正确的系列号和密码，然后重新安装 GBasedbt 客户/服务器产品。






25501	你必须作为根注册来启动 sqlexecd daemon。

从根登录，然后启动sqlexecd daemon进程。






25502	sqlexecd daemon 不能执行fork系统调用。

与系统管理员联系，解决系统问题。






25503	这个产品不支持 GBasedbt 网络特性。

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的参数太多。

参看你的 GBasedbt 产品手册。检查与 GBasedbt 客户/服务器产品有关的版本信息，
以检验这些产品之间的兼容性。






25518	你在 DBNETTYPE 中指定了一个不知道的网络类型。假定是 STARLAN。

如果你的网络支持 STARLAN 连接，把 DBNETTYPE 环境变量设置为 starlan。如果你
的网络支持 TCP/IP 连接，把 DBNETTYPE 环境变量设置为 tcp/ip。GBasedbt 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 不能通知指定的服务名。

你在一个运行可移植的  GBASEDBT-OnLine for NetWare，网络协议为IPX/SPX的系统
上启动 sqlexecd daemon。但是，daemon 不能在 GBASEDBT-OnLine for NetWare 的
网络数据库服务器上通知服务名。可能的原因包括：另一个 sqlexecd daemon 已在
使用相同的服务名；一个有相同的服务名且刚刚已停止了的 sqlexecd daemon 不能
从它的服务处撤回通知；或者，在你的系统上可移植的 GBASEDBT-OnLine for 
NetWare 软件已被关闭。

每个数据库服务器的服务名在整个GBASEDBT-OnLine for NetWare网络上必须保持唯
一。缺省的服务名是sqlexec。如果该名字已被网络上另外一个sqlexecd daemon
或数据库服务器所用，那么使用别的服务名启动sqlexecd daemon。可在sqlexecd命令
行中显式地指定某服务名为参数。

如果你在重新启动刚刚终止了的 sqlexec daemon，前面的sqlexecd 可能不能完成撤
销通知或者不能撤销通知服务名。当在终止一个 sqlexecd daemon 时，只使用 TERM 
信号（15）（亦即kill- 15 pid，或kill pid）。如果你没有正常地结束一个服务，
那么，依据你的 GBASEDBT-OnLine for NetWare 配置，可能需要大约三分钟来自动地
结束被撤销通知的服务。






26023	当定义了非受控或严格受控（在所有复制参与者之间，列和表名与数据类型必须匹配）复制时，无法执行重命名操
作

仅允许对定义了非严格受控复制的 Enterprise Replication 表进行重命名表和列操作。对于非严格受控复制，列名可以不同但列数据类型必须匹配。非严
格受控复制可以通过“cdr define repl”的 --name=n 属性或“cdr modify repl”命令来定义。有关非严格受控复制、受控复制和非受
控复制的更多信息，请参阅 Enterprise Replication 手册。



29061	EDA 警告（EDA_警告）。

SQL 语句已成功执行，但是 EDA 客户或服务器发出警告。EDA 警告显示字段包括警
告信息。

EDA 警告显示字段的格式化与错误信息 -29060 中所描述的 EDA 错误显示字段相
同。参见第 451 页“GBasedbt 网关错误”。





32000	因未指定的原因而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBROLLBACK 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，资源管理器因为未指定的原因

而回滚事务分支。资源管理器未落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。

只有当标志中设置了 TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器因为未指定的原因

而将事务分支标记为“仅回滚”。资源管理器已将

事务分支与控制线程分离，并将代表 *xid 执行的

工作标记为“仅回滚”。


在 xa_prepare 上下文中，资源管理器因为未指定的原因

而回滚事务分支。资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚事务分支的工作

并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器因为未指定的原因

而回滚事务分支。资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器因为未指定的原因

而将事务分支标记为“仅回滚”。资源管理器尚未将

事务分支与控制线程关联，并且已将 *xid 标记为

“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32001	因通信失败而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBCOMMFAIL 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


资源管理器中发生通信失败。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32002	因检测到死锁而导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBDEADLOCK 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


资源管理器检测到死锁。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32003	检测到违反资源完整性的情况。

该错误与 X/OPEN XA 规范标准中的 XA_RBINTEGRITY 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


资源管理器检测到资源完整性违例。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32004	资源管理器因某个原因（并非 XA 回滚错误）而回滚事务分支
。

该错误与 X/OPEN XA 规范标准中的 XA_RBOTHER 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，资源管理器由于某个原因

（并非 XA 回滚错误）而回滚事务分支。资源管理器

未落实代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有

挂起资源。只有当标志中设置了 TMONEPHASE 时，才可以返回该值
。


在 xa_end 上下文中，资源管理器由于某个原因

（并非 XA 回滚错误）而将事务分支标记为“仅回滚”。资源管理
器

已将事务分支与控制线程分离，并将

代表 *xid 执行的工作标记为“仅回滚”。


在 xa_prepare 上下文中，资源管理器由于某个原因

（并非 XA 回滚错误）而回滚事务分支。资源管理器

未准备落实代表事务分支执行的工作。在

返回时，资源管理器已回滚分支的工作并已释放

所有挂起资源。


在 xa_rollback 上下文中，资源管理器由于某个原因

（并非 XA 回滚错误）而回滚事务分支。资源管理器

已回滚事务分支的工作并已释放所有挂起资源。

当分支已标记为“仅回滚”时，通常将返回这些值。



在 xa_start 上下文中，资源管理器由于某个原因

（并非 XA 回滚错误）而将事务分支标记为“仅回滚”。资源管理
器

尚未将事务分支与控制线程关联，并且已将 *xid 标记为

“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32005	在资源管理器中发生协议错误。

该错误与 X/OPEN XA 规范标准中的 XA_RBPROTO 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在资源管理器中发生协议错误。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32006	因事务分支耗时过长导致回滚。

该错误与 X/OPEN XA 规范标准中的 XA_RBTIMEOUT 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


该事务分支代表的工作花费太长时间。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32007	资源管理器检测到瞬时错误。

该错误与 X/OPEN XA 规范标准中的 XA_RBTRANSIENT 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


资源管理器已检测到瞬时错误。


在 xa_commit 上下文中，资源管理器未落实代表事务分支

执行的工作。在返回时，资源管理器已回滚

分支的工作并已释放所有挂起资源。只有当标志中设置了 

TMONEPHASE 时，才能返回此值。


在 xa_end 上下文中，资源管理器已将事务分支与

控制线程分离，并将代表 *xid 执行的工作标记为

“仅回滚”。


在 xa_prepare 上下文中，资源管理器未准备落实

代表事务分支执行的工作。在返回时，

资源管理器已回滚分支的工作并已释放所有挂起资源。


在 xa_rollback 上下文中，资源管理器已回滚事务分支的工作

并已释放所有挂起资源。当分支已标记为“仅回滚”时，

通常将返回这些值。


在 xa_start 上下文中，资源管理器尚未将事务分支与

控制线程关联，并且已将 *xid 标记为“仅回滚”。


另请参阅资源管理器指南获取更多详细信息。





32009	返回的例程无影响，可以重新发出。

该错误与 X/OPEN XA 规范标准中的 XA_RETRY 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，资源管理器此时无法落实

事务分支。在存在阻塞条件并且设置了 TMNOWAIT 

的情况下，会返回此值。但是请注意，即使在未

设置 TMNOWAIT 时（例如，如果必需的稳定存储器当前不可用）
，

也会返回此值。如果在标志中设置了 TMONEPHASE，

就不能返回此值。所有代表 *xid 挂起的资源保持在

预备状态，直至可以落实为止。事务管理器应该

稍后重新发出 xa_commit。


在 xa_complete 上下文中，在标志中设置了 TMNOWAIT，

并且未完成任何异步操作。


在 xa_start 上下文中，在标志中设置了 TMNOWAIT，

并且存在阻塞条件。


另请参阅资源管理器指南获取更多详细信息。





32010	事务分支已经启发式落实并回滚。

该错误与 X/OPEN XA 规范标准中的 XA_HEURMIX 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，由于启发式决策，

代表指定事务分支执行的工作已部分落实

并已部分回滚。


在 xa_rollback 上下文中，由于启发式决策，

代表指定事务分支执行的工作已部分落实

并已部分回滚。资源管理器只有在已经成功

准备 *xid 之后才能返回此值。


另请参阅资源管理器指南获取更多详细信息。





32011	事务分支已经启发式回滚。

该错误与 X/OPEN XA 规范标准中的 XA_HEURRB 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，由于启发式决策，

代表指定事务分支执行的工作已回滚。


在 xa_rollback 上下文中，由于启发式决策，

代表指定事务分支执行的工作已回滚。资源

管理器只有在已经成功准备 *xid 之后才能返回此值。


另请参阅资源管理器指南获取更多详细信息。





32012	事务分支已经启发式落实。

该错误与 X/OPEN XA 规范标准中的 XA_HEURCOM 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，由于启发式决策，

代表指定事务分支执行的工作已落实。


在 xa_rollback 上下文中，由于启发式决策，

代表指定事务分支执行的工作已落实。资源

管理器只有在已经成功准备 *xid 之后才能返回此值。


另请参阅资源管理器指南获取更多详细信息。





32013	事务分支可能已经启发式完成。

该错误与 X/OPEN XA 规范标准中的 XA_HEURHAZ 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit 上下文中，由于某个故障，代表

指定事务分支执行的工作可能已经启发式完成。


在 xa_rollback 上下文中，由于某个故障，代表

指定事务分支执行的工作可能已经启发式完成。

资源管理器只有在已经成功准备 *xid 之后才能

返回此值。


另请参阅资源管理器指南获取更多详细信息。





32014	必须在发生暂挂处执行恢复。

该错误与 X/OPEN XA 规范标准中的 XA_NOMIGRATE 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_end 上下文中，资源管理器无法为迁移

准备事务上下文。但是，资源管理器已

暂挂关联。事务管理器只能在当前线程中

恢复关联。只有当标志中设置了 TMSUSPEND 

和 TMMIGRATE 时，才能返回此代码。在 xa_switch_t 

结构的标志元素中设置了 TMNOMIGRATE 的

资源管理器不需要返回 [XA_NOMIGRATE]。


另请参阅资源管理器指南获取更多详细信息。





32015	异步操作待处理。

该错误与 X/OPEN XA 规范标准中的 XAER_ASYNC 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在标志中设置了 TMASYNC，并且已超过待处理

异步操作的最大数量或者资源管理器的 xa_switch_t 

结构的标志元素中未设置 TMUSEASYNC。


另请参阅资源管理器指南获取更多详细信息。





32016	在事务分支中发生资源管理器错误。

该错误与 X/OPEN XA 规范标准中的 XAER_RMERR 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_close 上下文中，关闭资源时出错。


在 xa_commit 上下文中，落实代表事务分支执行的工作时

发生错误，分支的工作已经回滚。

请注意，返回此错误标志着事务管理器的灾难性事件，

因为其他资源管理器可能成功落实了它们代表此分支

执行的工作。只有当资源管理器断定自己永远无法

落实该分支，并且无法以预备状态挂起分支的资源时，

才应返回此错误。否则，应返回 [XA_RETRY]。



在 xa_end 上下文中，将事务分支与控制线程

分离时出错。


在 xa_forget 上下文中，资源管理器中发生错误，

并且资源管理器还未忽略事务分支。


在 xa_open 上下文中，打开资源时出错。


在 xa_prepare 上下文中，资源管理器在准备落实

事务分支的工作时遇到错误。指定的 XID 可能已经

准备就绪，也可能尚未准备就绪。


在 xa_recover 上下文中，确定要返回的 XID 时出错。


在 xa_rollback 上下文中，回滚事务分支时出错。

在返回此错误时，只要已经将分支的状态通知给

所有正在访问的控制线程，资源管理器就可以忽略

该分支。


在 xa_start 上下文中，将事务分支与控制线程

关联时出错。


另请参阅资源管理器指南获取更多详细信息。





32017	XID 无效。

该错误与 X/OPEN XA 规范标准中的 XAER_NOTA 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit、xa_end、xa_prepare、xa_rollback 上下文中，

指定的 XID 对于资源管理器来说是未知的。


在 xa_forget 上下文中，指定的 XID 对于资源管理器来说

不是已知的启发式已完成 XID。


在 xa_start 上下文中，在标志中设置了 TMRESUME 或 TMJOIN，

并且指定的 XID 对于资源管理器来说是未知的。


另请参阅资源管理器指南获取更多详细信息。





32018	提供了无效的参数。

该错误与 X/OPEN XA 规范标准中的 XAER_INVAL 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_close、xa_commit、xa_complete、xa_end、xa_forget、xa_open、

xa_prepare、xa_rollback 或 xa_start 上下文中，指定的自变量无效
。


在 xa_recover 上下文中，指针 xids 为 NULL 且计数大于 0，

计数为负，或指定的标志无效，或控制线程没有打开恢复扫
描

且没有在标志中指定 TMSTARTRSCAN。



另请参阅资源管理器指南获取更多详细信息。





32019	在不正确的上下文中调用了目的例程。

该错误与 X/OPEN XA 规范标准中的 XAER_PROTO 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在不正确的上下文中调用了例程。


另请参阅资源管理器指南获取更多详细信息。





32020	资源管理器不可用。

该错误与 X/OPEN XA 规范标准中的 XAER_RMFAIL 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_commit、xa_end、xa_forget、xa_recover、xa_rollback、xa_start 上下文中
，

发生了导致资源管理器不可用的错误。


在 xa_prepare 上下文中，发生了导致资源管理器不可用的错误
。

指定的 XID 可能已经或可能还没预备。


另请参阅资源管理器指南获取更多详细信息。





32021	XID 已存在。

该错误与 X/OPEN XA 规范标准中的 XAER_DUPID 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_start 上下文中，如果标志中既未设置 TMRESUME 也未设置 
TMJOIN

（指示 *xid 的最初使用），并且资源管理器中已经存在 XID，

那么资源管理器必须返回 [XAER_DUPID]。资源管理器

未能将事务分支与控制线程关联。


另请参阅资源管理器指南获取更多详细信息。





32022	资源管理器正在全局事务外部执行工作。

该错误与 X/OPEN XA 规范标准中的 XAER_OUTSIDE 相同。

有关更多信息，请参阅“分布式事务处理：

XA 规范”。


根据 X/OPEN XA 规范标准：


在 xa_start 上下文中，资源管理器正在所有代表应用程序的

全局事务外部执行工作。


另请参阅资源管理器指南获取更多详细信息。





32023	执行 xadatasource 目的例程执行序列时出错。

尝试执行 xadatasource 目的例程时出错。请重试该语句。



32024	xadatasource 目的例程指示发生错误。

xadatasource 目的例程返回 MI_ERROR。



32025	从 xadatasource 目的例程返回的值不正确。

xadatasource 目的例程返回的值无效。可能在 xadatasource 目的例程中存在错误
。



32700	找不到许可证文件。

程序无法打开许可证文件。其首先尝试打开用户在 LM_LICENSE_FILE 中指定的文件。如果您尚未设置该环境变量，那么程序尝试打开缺省位置中的许可证文件 $
GBASEDBTDIR/etc/ifmxld.dat。如果计划使用 LM_LICENSE_FILE，请检查您是否已在该文件中正确设置了您的许可证文件路径名
。



32701	许可证文件语法无效。

如果功能部件名称、守护程序名称或服务器名称超出了允许的最大长度，或者如果功能部件行不完整，那么会发生该错误。如果在安装后编辑了许可证文件，请检查您是否没有出错。
服务器名称的最大长度为 32 个字符。功能部件名称、守护程序名称和功能部件行在安装期间自动生成
。



32702	无法连接到许可证守护程序服务器。

如果在安装后编辑了许可证文件，请检查您是否没有出错。如果许可证文件功能部件行中指定的守护程序名称与供应商守护程序名称不匹配，或者尝试连接所有服务器节点上的供应商
守护程序未成功，那么会发生该错误。请确认所有许可证服务器上的守护程序仍在运行且网络正常工作
。



32703	已达到许可的用户数量。请检查守护程序日志。

通过使用 lmstat 或通过检查许可证守护程序日志文件来检查网络许可活动，从而确定您是否需要从 IBM 购买更多用户容量
。



32704	不存在这样的功能部件。

该功能部件无法在许可证文件中找到。确保许可证文件包含用于您要尝试使用的产品的功能部件行，并且产品进行了正确许可
。



32705	不存在 TCP/IP 许可证服务。

检查使用中的许可证文件以确保服务器行上的 TCP/IP 端口号有效。如果 TCP/IP 端口号无效，那么修改许可证文件以使用有效端口号
。



32706	不存在与许可证管理器服务器的套接字连接。

该错误表明在发送或接收消息期间发生内部错误。记下所有观察到的行为以及任何其他错误消息。与系统管理员核实以确保系统正常工作
。



32707	许可证文件中的加密代码不一致。

该错误表明许可证文件行中的代码与许可证文件中的其他数据不一致。当不是所有软件组件都使用同一加密代码构建时，通常会发生该错误。认真检查 
create_license.c、ls_vendor.c 以及应用程序代码以确保其具有相同的供应商代码。在安装期间生成许可证文件后，请勿修改其中的加密代码
。



32708	主机无效。

当许可证文件中指定的主机标识与运行软件的节点不匹配时会发生该错误
。



32709	功能部件已过期。

当前日期超过许可证文件中功能部件的截止日期。确定您是否要将该 GBase  产品从评估版本更改为常规版本，并联系 IBM 以了解您需要的过程
。



32710	许可证文件中的日期格式无效。

检查许可证文件中日期字段格式是否为 dd-mmm-yyyy，其中 dd 是表示日的两位数，mmm 是表示月的三位数，yyyy 是表示年的四位数。安装过程会生成这
些日期。如果您未在这些字段上修改许可证文件，那么将该问题以及许可证文件的输出一同报告给 IBM 技术支持
。



32711	从许可证守护程序服务器返回的数据无效。

确保没有其他服务使用服务器行上的端口号。与系统管理员核实以确保网络正常工作。检查许可证守护程序服务器日志以了解所有错误消息
。



32712	许可证文件中没有服务器行。

许可证文件中不存在服务器行。所有非零许可证计数功能部件至少需要一个服务器行
。



32713	在网络数据库中找不到服务器主机名。

检查所有相关系统文件（如 /etc/hosts），以确保服务器主机名在网络中是已知的
。



32714	无法从许可证守护程序服务器读取数据。

确保所有许可证服务器中的守护程序均正在运行。检查守护程序日志中是否包含任何错误消息
。



32715	无法将数据写入到许可证守护程序服务器。

与您的系统管理员核实以确保网络正常工作。另请检查守护程序日志中是否包含其他错误消息
。



32716	许可证守护程序服务器不支持该功能部件。

该功能部件已过期或尚未启动，或者您尝试使用的产品的版本不是许可版本。检查许可证守护程序服务器以及运行该 GBase  许可产品的计算机中的许可证文件
是否均已正确设置。



32717	许可证守护程序服务器忙（无主体）。

许可证守护程序服务器正忙于建立服务器节点的定额以便许可能够启动。稍后重试该操作
。



32718	许可证文件不支持该版本。

确保您正在尝试使用的产品的版本已获得许可。检查许可证文件以确保功能部件行上所需产品的版本与您要使用的版本相同或者比其更高
。



32719	在许可证守护程序服务器上检测到功能部件检入失败
。

检入请求未从供应商守护程序检索到正确应答。（许可证可能仍被视为使用中。）检查守护程序日志输出以查看是否存在任何更多错误消息。如果该错误重复出现，请记下所有情况并
联系 IBM 技术支持。



32720	许可证守护程序服务器暂时忙（新服务器正在连接）
。

供应商守护程序忙于建立定额条件。来自客户机的新请求在该时段内被延迟。稍后重试该操作
。



32721	许可证守护程序服务器不支持该功能部件的该版本。

您尝试使用的版本比您获得许可的版本更新。检查许可证文件中的功能部件行以确保所需产品的版本与您尝试使用的版本相同或者比其更高
。



32722	请求的许可证数量超出了该功能部件所支持的数量。

检出请求中的许可证数量超过了该许可证文件中支持的许可证数量。确保您未对许可证检出请求进行更改，从而致使检出的许可证数量超出其能够处理的数量。对于每个请求，仅检出
一个许可证。



32723	无法读取许可证文件。

请确保许可证文件有正确的读许可权。



32724	与守护程序的加密握手出错。

在进行任何许可操作之前，客户机将执行与守护程序的加密握手操作。该握手操作失败。与系统管理员核实以确保系统和网络正常工作。如果该错误重复出现，请记下所有情况并联系
IBM 技术支持。



32725	功能数据库在守护程序中已损坏。

守护程序的运行时功能数据结构已损坏。该内部守护程序错误表明存在严重问题。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



32726	无法分配动态内存。

malloc() 调用未能返回足够内存。当系统从许可证文件读取功能时可能会发生该错误（特别是在用户设置的 LM_LICENSE_FILE 路径及长时）。与您的系
统管理员核实以确保系统正常工作。



32727	从未检出功能。

该消息向用户提供信息。这并不是错误。



32728	始终设置检查在守护程序中不可用。

该消息向用户提供信息。这并不是错误。



32766	未知的错误信息<号码>。

你启动的程序不能找到 GBasedbt 错误信息文件。GBASEDBTDIR环境变量设置可能不正
确。GBASEDBTDIR 指向含有存储信息文件的 msg 目录。






32788	添加到一个镜像Dbslice 中的 Dbspaces必须也被镜像。

数据库管理员试图为每个大块使用不带MIRROR子句的ALTER DBSLICE
 ADD DBSPACE命令将一个dbspace添加到现有的镜像dbslice。

重新发布对每个大块带有MIRROR子句的 ALTER DBSLICE ADD DBSPACE 命令。






32789	添加到一个非镜像Dbslice 中的 Dbspaces不能被镜像。

数据库管理员试图为每个大块使用至少带有一个MIRROR子句的ALTER DBSLICE
 ADD DBSPACE命令将一个dbspace添加到现有的非镜像dbslice。

重新发布对每个大块不带MIRROR子句的 ALTER DBSLICE ADD DBSPACE 命令。






32792	Coservers 被成功冻结。

EBR BLOCK 命令成功完成。






32793	Coservers 被成功解冻

EBR UNBLOCK 命令成功完成。






33987	已成功建立外部空间。

你用来建立外部空间的 onspaces 命令已成功执行。





33988	外部空间建立失败。

数据库服务器不能新增外部空间。请检查此失败所返回的错误。






33989	已成功取消外部空间。

你用来取消外部空间的 onspaces 命令已成功执行。





33990	外部空间取消失败。

试图取消外部空间失败。请检查与此失败相关的错误。





33991	外部空间参考计数非零。取消失败。

此外部空间的参考计数不是零。在试图取消此空间前，请先检查外部空间的参考计数。





33992	onmode: 未知的选项参数

通过 onmode 的未知参数。用正确的参数列表再试一次。





35201	SQLCODE 用于 SQL 语句中，或被声明为 IN 参数。

从 SQL 语句中除去 SQLCODE 且/或从参数列表除去 IN。SQLCODE 只是一个 out 参数
。



35202	SQLCODE 参数必须使用 SQLCODE_TYPE 类型进行声明。

仅将 SQLCODE 声明为 SQLCODE_TYPE 参数。



35579	常规表管理器：参数无效。

尝试创建表时传递了无效的参数。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35580	常规表管理器：未分配任何表。

表未创建或已删除。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35581	General Table Manager：无内存。

表或表输入的内存分配已失败。试一试减少已用内存数，使得有一些内存可用于表和表输
入。





35582	General Table Manager：不能建立 Mutex。

不能建立表或输入 mutex。试一试减少已用内存数，以为创建 mutex 释放一部分内存。





35583	常规表管理器：不允许存在重复的键。

不允许存在具有相同键的表项。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35584	常规表管理器：表已满。

表已满并且无法扩展。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35585	常规表管理器：项已被锁定。

表项已被锁定（尚未使用）。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35586	常规表管理器：表已被锁定。

表已被锁定（尚未使用）。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35587	常规表管理器：没有项。

不存在所需的项。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35588	常规表管理器：项规范无效。

项规范无效（例如，NULL 指针）。如果该内部错误重复出现，请记下所有情况并联系 IBM 技术支持
。



35589	执行未含 setuid 的 Oninit 造成描述符的使用限制。

在开发者方式下(非根的 suid) 执行数据库服务器时，此信息只是指醒您，服务器
可用的文件描述符的个数当前是受限于数据库服务器初始化时所在的 shell。存取
大块及执行网络连接时，需要有文件语句描述符。如果数据库服务器文件描述符已
用完，您需要选择下列之一的解决方法：限制连接的数目、限制所用的大块数、以
及以 root 的身份运行。






35590	您没有 -U 选项，因此没有运行数据库服务器正确权限。

用户不是根或 gbasedbt，且不在 gbasedbt组中。没有权限而要运行数据库服务器
的唯一方法是使用 -U 选项。






35591	你必须是此服务器的拥有者才能启动它。

你试图引导数据库服务器，但你不是拥有者。请以正确的用户登录后，再试一次。





35592	你不是此服务器的拥有者。

您企图在非你所拥有的数据库服务器上执行 onstat 或 onmode。






38002	未知的事件记忆或代码<事件记忆码>。

在审计追踪中，遇到了未知的事件记忆或代码。检查事件记忆或代码，修改命令行或
装载文件，再重新试一下。






38005	无效的路径名，< 路径名 >( 错误码= <号码>)。

你指定了一个无效的路径名。核实一下你的输入，再试一下。






38006	无效的文件名，< 文件名 >(错误码= <号码>)。

你指定了一个无效的文件名。核实一下你的输入，再试一下。






38007	在文件<文件名>上没有读许可权。

对指定的文件，你没有读许可权。核实一下许可权，再试一下。






38008	不能建立文件< 文件名 >( 错误码= <号码>)。

指定的文件不能被建立。核实一下路径和目录的许可权，再试一下。






38010	内部错误：set_msg 的使用非法（超出范围）。

set_msg 函数超过了在错误缓冲区中分配的存储空间。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。



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	不能连接共享内存。

确认 GBASEDBT-OnLine 动态服务器在活动，再试一下。






38083	在bulk操作（行号为< 行号>)期间，不能修改 mask。

在装入文件中定义的 mask  已经存在。或者编辑装入文件，或者删除存在的定义。






38084	这个平台不支持 OS 方式审计。

这个平台不执行 -O 选择项。从命令中删除它，再试一下。






38085	不能找到 ONCONFIG 文件。

数据库服务器不能找到 $GBASEDBTDIR/etc/$ONCONFIG 文件，和/或 ADTPATH 和/或 
DBSERVERNAME 没有定义。






38086	发现无效格式过的审计记录。

审计追踪含有句法分析错误。检查路径和目录许可权，再试一下。






38088	不能作用用户<用户名>，出现错误<号码>。

这条一般的 onaudit 失败信息可能表示一条命令不正确或不完整，数据库不能访问，
或者用户不是 gbasedbt。检查许可权，ID及命令行句法，再试一下。






38089	不起作用，出现错误<号码>。

这个一般的 onaudit 失败信息可能表示一条命令不正确或不完整，数据库不能访问，
或者用户不是 gbasedbt。检查许可权 id及命令行句法，再试一下。





38090	跳过现有的审计追踪<文件名>。

数据库服务器不能覆盖一个现有的审计追踪文件。当 GBASEDBT-OnLine 动态服务器运
行起来，并且ADTPATH 保持旧的审计数据时，可能出现这种信息。删除所有旧的审计
追踪。






38091	审计追踪建立<文件名>失败。

数据库服务器不能打开下一个审计文件，因为对 aio_fopen() 调用失败。确保 
ADTPATH 指向由用户或 gbasedbt 组可以写的有效目录。






38092	不能打开下一个审计文件。

数据库服务器不能打开下一个审计文件，因为对 aio_fopen() 调用失败。确保 
ADTPATH 指向由用户或 gbasedbt 组可以写的有效目录。






38093	GBasedbt 级审计写失败 (错误码 =< 号码>)。

数据库服务器不能把当前审计记录写到审计追踪文件中。确保 ADTPATH 指向由用户或
 gbasedbt 组可以写的有效目录，并且有盘空间可以使用。也可检查目录和审计追踪
文件的许可权。






38094	为 ADTERR 设置的<串>无效。

ONCONFIG 文件包含无效的参数。为了使参数为 0/1，修改 ONCONFIG 
文件。






38095	为 ADTMODE 设置的<串>无效。

 ONCONFIG 文件包含无效的参数。为了使参数为 0/1，修改 ONCONFIG 
文件。






43007	向 table_name 插入行时必需提供数据。

在不指定数据的情况下，无法向该表插入行。在尝试再次对该表执行插入操作前，请先验证是否存在必需的数据
。



43008	为查询创建 WHERE 子句失败。

试图为指定的查询创建 WHERE 子句失败。核查
创建 WHERE 子句所需的数据是否存在。





43010	缺少 table_name 数据。

缺少所需数据。请验证该数据是否存在。



43011	不允许对 table_name 主键进行更新。

不允许更新表的主键。请先删除该行，然后插入具有新主键的新行
。



43012	不能打开对服务器的连接。

数据库服务器处于不正确的状态。调整数据库
服务器到正确的状态。为了备份，数据库服务
器应该处于在线或静止模式。为了热恢复，数
据库服务器应该处于在线、静止、备份或恢复
模式。为了冷恢复，数据库服务器应该处于离
线模式。使用 onmode 或 oninit 命令。





43014	不能读取 $ONCONFIG 参数。

ONCONFIG 文件不可访问。可能是缺失或设置
了不正确的权限值。核查 ONCONFIG 文件是否
存在并且权限是否正确。详细内容，参见管理员
指南。





43015	无法设置 GBASEDBTSHMBASE。

无法连接共享内存。请与您的数据库系统管理员联系。



43018	必须是 root 或 gbasedbt 用户。

只有 root 和 gbasedbt 用户才允许执行 ON-Bar。
在您试图备份、恢复或改变数据库日志模式之前
以 root 或 gbasedbt 登录。





43019	用户不是 GBasedbt-Admin 组的成员。

只有列入 GBasedbt-Admin 组的用户才可以执
行 ON-Bar。让系统管理员把用户名称添加
到 GBasedbt-Admin 组中。





43036	用户不是 gbasedbt-admin 组的成员。

只有 gbasedbt-admin 组中列出的用户可以执行 ON-Bar。请要求您的系统管理员将您的用户名添加到 gbasedbt-admin 组中
。



43039	版本 <version_number> 的 XBSA 共享库与版本 <version_number> 的 ON-Bar 不兼容
。

该存储器管理供应商所提供的 XBSA 共享库未经过 IBM 认证，或者，在安装 ON-Bar 期间出错。请验证是否正确安装了 ON-Bar。请验证 XBSA 库
是否经过认证。



43040	数据库空间/BLOB 空间 dbspace_name/blobspace_name 不存在。

请验证存储空间是否存在于该数据库服务器。



43043	必须恢复从 date_time 或以后的逻辑日志。

用户想在太早的逻辑日志上停止恢复。存
储空间备份发生在用户指定的日志之后。
试着恢复到特定逻辑日志或以后。





43047	不能热恢复关键介质：dbspace_name。

用户想在太早的逻辑日志上停止恢复。存
储空间备份发生在用户指定的日志之后。
试着恢复到特定逻辑日志或以后。





71561	该命令只能由 GBasedbt-Admin 组的成员
执行。

您登录的帐号可能不是 GBasedbt-Admin 组
的成员。请与 Windows NT 系统管理员联系。





71562	使用 -iy 选项初始化数据库服务器。

在 控制->面板->服务->启动对话框中指定
的命令行选项是 -I。当数据库服务器
作为服务运行时，它不提示用户确认。

如果确实希望完全初始化根 dbspace，请用 -iy 选项启动
数据库服务器代替。





71563	数据库服务器无法访问 %GBASEDBTDIR%\dbssodir 或
%GBASEDBTDIR%\aaodir。

首先，检查导致 dbssodir 和 aaodir 的路径段的访问权限。
如果 %GBASEDBTDIR% 在网络驱动器上，请确保 oninit
过程特权没有改变。此外，确保下列注册表关键字
中的 AAO 和 DBSSO 组名有效：

HKEY_LOCAL_MACHINE\SOFTWARE\GBasedbt\OnLine\CurrentVersion\Security





71564	警告：在SPL 例程中不支持 SYSTEM 命令。

在版本 7.21 之前，GBASEDBT-OnLine Database Server for Windows NT
不支持SPL 例程（存储过程）中的系统命令。该功能是在版本 7.21 中增加的。

运行SPL 例程以外的系统命令。






71565	对于指定的配置，根数据库空间大小不足。实际大小为 xxx 页，所需大小为 yyy 页
。

尝试在包含根数据库空间的驱动器上释放一些空间，然后重新初始化数据库服务器
。



71566	在 ONCONFIG 文件中为 TAPEDEV 或 LTAPEDEV 指定的值
非法。

为 TAPEDEV 和/或 LTAPEDEV 指定有效值。有关设置
配置参数的特定信息，请参见《管理员指南》。





71567	数据库服务器在 Recovery Mode 下启动失败。
请查看事件日志中的错误。

查看事件日志中来自数据库服务器的错误并纠正它们。





71568	在注册表的 SQLHOSTS 关键字下找不到 
oninit: DBSERVERNAME `servername'。

将关键字添加到注册表中。有关详细信息，参见
《管理员指南》。





71569	数据库服务器在 Recovery Mode 下启动失败，服务
已经运行。

在 SQLHOSTS 关键字下检查 GBASEDBTSERVER 的注册表设置。





71570	SPL 例程中的 System() "<命令名>" 命令无法执行，
	原因是用户没有用口令登录。

再次用口令登录并执行SPL 例程。






71571	用于错误消息的缓冲区大小不足。

为错误消息分配的缓冲区大小不足。如果该错误重复出现，请记下所有情况并联系 IBM 技术支持
。





71572	SPL 例程中的 System() 命令失败。

查看消息日志可以获得详细信息。



79511	警告：DB_LOCALE 环境变量与数据库的区域设置不匹配。

当连接到与您的 $DB_LOCALE 环境变量的值不匹配的数据库时，
dbaccess 实用工具发出该消息。有关详细信息，
请参见《GBasedbt GLS 功能性指南》中关于执行代码集转换的章节。





80622	DBSERVERNAME 或 DBSERVERALIAS 非法：<dbname> 必须以字母开头。

onconfig 文件中 DBSERVERNAME 或 DBSERVERALIASES 的值没有以字母开头。

编辑 onconfig 文件。确保 DBSERVERNAME 值和所有 DBSERVERALIASES 值都以字母开头。



---------
