返回首页

gbase数据、南大通用产品文档:GBase8s创建警报

更新日期:2024年09月11日

执行调度程序任务或传感器的操作时,可创建警报。
必须以用户 gbasedbt 或其他授权用户身份连接 sysadmin 数据库。
要创建警报,请执行以下操作:
使用 INSERT 语句在 ph_alert 表中添加行。 包含以下列的值:

ID:生成的系统;请为该值使用 0。

alert_task_id:必须引用 ph_task 表中的作业标识。

alert_task_seq:必须引用 ph_task 表中的作业序号。

alert_type:选择 INFO、WARNING 或 ERROR。

alert_color:选择 GREEN、YELLOW 或 RED。

alert_state:选择 NEW、IGNORED、ACKNOWLEDGED 或 ADDRESSED。

alert_object_type:警报描述的对象类型,如 SERVER。

alert_object_name:对象的名称。

alert_message:描述警报的消息。

alert_action:用于执行更正操作 SQL 语句或函数,或者为 NULL。
示例
以下示例添加一个警报,用于警告尚未执行备份。此代码片段是将 task_id 和 task_seq 用作
自变量的存储过程的一部分。
INSERT INTO ph_alert
(
ID,
alert_task_id,
alert_task_seq,
alert_type,
alert_color,
alert_state,
alert_object_type,
alert_object_name,
alert_message,
alert_action
)

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 548 -
VALUES
(
0,
task_id,
task_seq,
"WARNING",
"RED",
"NEW",
"SERVER",
"dbspace_name",
"Dbspace ["||trim(dbspace_name)|| "] has never had a level-0 backup.
Recommend taking a level-0 backup immediately.",
NULL
);

虽然定位更新不适用于所有类型的应用程序,但尽可能使用定位更新和删除。
定位更新(使用 UPDATE WHERE CURRENT OF CURSOR)允许您通过将数据库游标定
位到要更改的行来更新数据,并通知驱动程序更改数据。您不必强制构建复杂的 SQL 语
句;提供要更改的语句。
除了要使代码更易于维护,定位更新通常会提高性能。由于数据库服务器已经在行上定位
(对于当前正在处理 SELECT 语句),因此定位要更改的行的多余查询是不必要的。如果
该行必须定位,则数据库服务器通常具有指向可用行的内部指针(例如 ROWID)。
要支持使用滚动游标定位的 UPDATE 和 DELETE 语句,GBase 8s ODBC Driver 从原始
的定位语句构造一个新的搜索的 UPDATE 或 DELETE 语句。
但是,
数据库服务器不能直
接更新滚动游标。相反,GBase 8s ODBC Driver 会构造一个 WHERE 子句,用于引用在

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 197 -

WHERE CURRENT OF CURSOR 子句中引用的 SELECT 语句中访存的每个列。SELECT
语句的行集数据缓存中的值绑定到已经建立的 WHERE 子句中的每个值。
该定位方法比使用具有 FORWARD ONLY 游标的子句 WHERE CURRENT OF CURSOR
子句更慢,更容易出错。如果访存的行不包含唯一键值,则构建的 WHERE 子句可能标识
一行或多行,
这会导致许多行被删除和更新。
以这种方式删除行会影响定位的 UPDATE 和
DELETE 语句,和使用滚动游标的 SQLSetPos 语句。
使用 SQLSpecialColumns 确定在 WHERE 子句中用于更新数据的最佳列集。很多时候,
伪列提供了对数据的最快访问;您只能通过使用 SQLSpecialColumns 确定这些列。
许多应用程序不能设计为利用定位的更新和删除。
这些应用程序通常通过形成 WHERE 子
句来更新数据。该 WHERE 子句由结果集中返回的一部分列值组成。某些应用程序可能会
使用所有可搜索的结果列或通过调用 SQLStatistics 来查找可能属于唯一索引的列的
WHERE 子句。这些方法通常有效,但是会导致相当复杂的查询。
考虑以下示例:
rc = SQLExecDirect (hstmt, "SELECT first_name, last_name, ssn,
address, city, state, zip FROM emp", SQL_NTS);
// fetchdata

rc = SQLExecDirect (hstmt, "UPDATE EMP SET ADDRESS = ?
WHERE first_name = ? AND last_name = ? AND ssn = ? AND
address = ? AND city = ? AND state = ? AND zip = ?", SQL_NTS);
// fairly complex query
应用程序应该调用 SQLSpecialColumns/SQL_BEST_ROWID 检索标识任何给定记录的最
佳列集(可能是伪列)。许多数据库支持在表定义中没有显式用户定义的特定列,但是是
每个表的隐藏列(例如,ROWID 、TID 和其它列)。这些伪列总是提供对数据的最快访
问。因为它们通常指向记录的确切位置。因为伪列不是显式表定义的一部分,所以它们不
会从 SQLSpecialColumns 返回。确定伪列是否存在的唯一方法是调用 SQLSpecialColumns。

考虑之前的示例,这次使用 SQLSpecialColumns:

rc = SQLSpecialColumns (hstmt, ..... 'emp', ...);

rc = SQLExecDirect (hstmt, "SELECT first_name, last_name, ssn,
address, city, state, zip, ROWID FROM emp", SQL_NTS);
// fetch data and probably "hide" ROWID from the user

rc = SQLExecDirect (hstmt, "UPDATE emp SET address = ? WHERE
ROWID = ?", SQL_NTS);
// fastest access to the data!

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 198 -

如果您的数据源不包含特定的伪列,则 SQLSpecialColumns的结果集由指定表上的最佳唯
一索引组成(如果唯一索引存在)。因此,您的应用程序不会另外调用 SQLStatistics 来查
找最小的唯一索引。

of significant digits) varies from 1 to 32; however, the source of this error
is not the length of the number but its magnitude.
float DECIMAL数据类型可容纳大于或等于 1.000E-130 且绝对值小于 1.000E + 126 的数
字。
精度(有效位数)从 1 到 32 不等;然而,这个错误的来源不是数字的长度,而是数的大
小。


-1201 Number is too small for a DECIMAL data type.

The DECIMAL data type accommodates numbers greater than or equal to 1.000E-130
and less than 1.000E+126 in absolute value. The precision (number of significant
digits) varies from 1 to 32; however, the source of this error is not the length
of the number but its magnitude.
DECIMAL数据类型可容纳大于或等于 1.000E-130 且绝对值小于 1.000E + 126 的数字。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 609 -

精度(有效位数)从 1 到 32 不等;然而,这个错误的来源不是数字的长度,而是数的大
小。


-1202 An attempt was made to divide by zero.

Zero cannot be a divisor. In some cases, this error arises because the divisor
is a character value that does not convert properly to
numeric.
零不能为除数。在某些情况下,会出现此错误,因为除数是不能正确转换为数字的字符值。



-1203 Values used in a MATCH must both be type CHARACTER.

The MATCHES relationship applies only to character data; both of its operands
must be CHAR or VARCHAR columns or variables, or literal character strings.
If you need to apply a regular-expression pattern match to a numeric value,
you can do so in 4GL. Assign the numeric value to a CHAR variable, and test
that variable.
MATCHES 关系仅适用于字符数据;
它的两个操作数必须是 CHAR 或 VARCHAR 列或变量或文
字字符串。
如果您需要将正则表达式模式应用于数值,则可以在 4GL 中执行此操作。将数值分配给
CHAR 变量,
然后测试该变量。


-1204 Invalid year in date.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 610 -


The year in a DATE value or literal is invalid. For example, the number 0000 is
not acceptable as the year.
DATE 值或文字中的年份无效。例如,0000 年的数字是不可接受的。


-1205 Invalid month in date.

The month in a DATE value or literal must be a one- or two-digit number from 1 to
12.
DATE 值或文字中的月份必须是从 1 到 12 的一位或两位数字。


-1206 Invalid day in date.

The day number in a DATE value or literal must a one- or two-digit number
from 1 to 28 (or 29 in a leap year), 30, or 31, depending on the month that
accompanies it.
DATE 值或文字中的日期数字必须是 1 到 28(或闰年中的 29),30 或 31 中的一位或两
位数字,
具体取决于随附的月份。


-1207 Converted value does not fit into the allotted space.

A noncharacter value, after conversion to a character string, is too
long to fit in the buffer that was provided.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 611 -

转换为字符串后的非字符值太长,无法放入提供的缓冲区中。

If the conversion was automatic, change the program to provide a larger
host variable to receive the string.
如果转换是自动的,请更改程序以提供更大的主机变量来接收字符串。

If this action was an explicit call to conversion function, pass a larger buffer.
如果此操作是对转换函数的显式调用,则传递更大的缓冲区。


-1209 Without any delimiters, this date must contain exactly 6 or 8 digits.

When a literal date value is entered in numeric form, not enclosed in
quotes to make it a character string, it must be entered as a number of
precisely 6 digits (representing mmddyy) or 8 digits (representing
mmddyyyy). Because no punctuation is present, a date with any other
number of digits is ambiguous; it cannot be divided into month, day,
and year with certainty.
如果以数字形式输入文字日期值,
而不是用引号括起来使其成为字符串,
则必须输入正好 6
位数
字(代表 mmddyy)或8位数字(代表 mmddyyyy)的数字。由于没有标点符号,因此具有任
何其他
数字位数的日期是不明确;它不能确定地分为月、日、年。


-1210 Date could not be converted to month/day/year format.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 612 -

The DATE type is compatible with the INTEGER type, but not all integer
values are valid dates. This error arises in attempts to convert to character
from a date whose numeric value is less than -693,594 or greater than 2,958,464.
Numbers that are outside this range have no representation as dates.
DATE 类型与 INTEGER 类型兼容,但并非所有整数值都是有效的日期。尝试从数字值小于
-693,594
或大于 2,958,464 的日期转换为字符时出现此错误。超出此范围的数字不能表示为日期。


You may also see this message if you try to use the VARIANCE() or STDEV()
functions on an inappropriate data type, such as DATE.
如果尝试在不适当的数据类型(如 DATE)上使用 VARIANCE()或 STDEV()函数,也可能会
看到此消息。


-1211 Out of memory.

4GL cannot allocate memory for a small, temporary work area that is
used for processing an expression. To avoid this error, simplify the
program in almost any way to release enough space
4GL 不能??为用于处理表达式的小型临时工作区域分配内存。为了避免这个错误,请通过
任何方式简化程序以释放足够的空间。

-1212 Date conversion format must contain a month, day, and year component.

When a date value is converted between internal binary format and display
or entry format, a pattern directs the conversion. When conversion is done a
utomatically, the pattern comes from the environment variable DBDATE. When

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 613 -

it is done with an explicit call to the rfmtdate(), rdefmtdate(), or USING
functions, a pattern string is passed as a parameter. In any case, the pattern
string (the format of the message) must include letters that show the location
of the three parts of the date: 2 or 3 letters d; 2 or 3 letters m; and either
2 or 4 letters y.
当日期值在内部二进制格式和显示或输入格式之间转换时,模式会指示转换。转换自动完
成时,模式来自环
境变量 DBDATE。当完成对 rfmtdate()、rdefmtdate()或 USING 函数的显式调用时,模式
字符串将
作为参数传递。在任何情况下,模式字符串(消息格式)必须包含显示三部分日期位置的
字母:
2 或 3 个字母 d; 2 或 3 个字母 m;2 或 4 个字母 y。


-1213 A character to numeric conversion process failed.

A character value is being converted to numeric form for storage in a
numeric column or variable. However, the character string cannot be
interpreted as a number. It contains some characters other than white
space, digits, a sign, a decimal, or the letter e; or the parts are in
the wrong order, so the number cannot be deciphered.
字符值正在转换为数字形式以存储在数字列或变量中。但是,字符串不能被解释为数字。
它包含除空格、数字、符号、小数或字母 e 以外的一些字符;或者部分顺序错误,所以
编号无法被破译。

If you are using NLS, the decimal character or thousands separator
might be wrong for your locale.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 614 -

如果您使用的是 NLS ,则语言环境可能会出现小数字符或千位分隔符错误。


-1214 Value too large to fit in a SMALLINT.

The SMALLINT data type can accept numbers with absolute values from 0
through 32,767 (plus or minus (2 to the 15th power) - 1). To store
numbers that are outside this range, redefine the column or variable to
use INTEGER or DECIMAL type. (The value -32,768 is a 16-bit value but
is not acceptable; it indicates a null value in 4GL.)
SMALLINT 数据类型可以接受绝对值从 0 到 32,767(加号或减号(2 的 15 次方)-1)
的数字。要存储超出此范围的数字,请重新定义列或变量以使用 INTEGER 或 DECIMAL 类
型。
(值 -32,768 是 16 位值,但不可接受;它表示 4GL 中的空值。)


-1215 Value too large to fit in an INTEGER.

The INTEGER or SERIAL data type can accept numbers with absolute values
from 0 through 2,147,483,647 (plus or minus (2 to the 31st power) - 1).
INTEGER 或 SERIAL 数据类型可以接受绝对值从 0 到 2,147,483,647(加号或减号(2 的
31 次方) - 1)的数字。

To store numbers that are outside this range, redefine the column or
variable to use the BIGINT or BIGSERIAL or INT8 or SERIAL8 data type
or the DECIMAL data type. For more information on valid ranges of
data types, see the GBase 8s Guide to SQL: Reference.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 615 -

要存储超出此范围的数字,请重新定义列或变量,使用 BIGINT 或 BIGSERIAL 或 INT8
或 SERIAL8 数据类型或 DECIMAL 数据类型。有关数据类型的有效范围的更多信息,
请参阅 GBase 8s SQL 指南:参考。


-1216 Illegal exponent.

The exponent of a numeric literal cannot exceed 32,767. In fact, none
of the available data types can accommodate an exponent that large.
However, the exponent itself triggers this message before checking the
destination of the number. Check the statement for missing or misplaced
punctuation that might have caused two numbers to run together.
数字的指数不能超过 32,767。
事实上,
没有一种可用的数据类型可以容纳一个很大的指数。

但是,指数它本身在检查数的目标之前触发此消息。检查语句是否有可能导致两个数字一

运行的缺失或错位的标点符号。


-1217 The format string is too large.

The pattern string that is used to format a date (either the DBDATE
environment variable or the pattern that is passed to rfmtdate() or the
USING function) is too long. The limit is 80 bytes.
用于格式化日期的模式字符串
(DBDATE 环境变量或传递给 rfmtdate()或 USING 函数的模
式)太长。限制是 80 字节。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 616 -

-1218 String to date conversion error.

The input to the rstrdate() function does not properly represent a
date: either it has nondigits where digits are expected, an unexpected
delimiter, or numbers that are too large or are inconsistent.
rstrdate()函数的输入不能正确表示一个日期:要么有非数字,其中数字是预期的,
例外的分隔符,或者数字太大或不一致。


-1219 Numeric value from database is too large for COBOL data item.

This message is not believed to be in use in any current product.
If the error recurs, note all circumstances and contact GBase Technical Support.
此消息任何当前产品中都不再使用。如果错误再次出现,请记下所有情况并联系 GBase 技
术支持。

-1220 Numeric value from database is too small for COBOL data item.

This message is not believed to be in use in any current product.
If the error recurs, note all circumstances and contact GBase Technical Support.
此消息任何当前产品中都不再使用。如果错误再次出现,请记下所有情况并联系 GBase 技
术支持。


-1221 Cannot convert null data types.

This message is not believed to be in use in any current product.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 617 -

If the error recurs, note all circumstances and contact GBase Technical Support.
此消息任何当前产品中都不再使用。如果错误再次出现,请记下所有情况并联系 GBase 技
术支持。


-1222 Value will not fit in a SMALLFLOAT.

The SMALLFLOAT data type can accept numbers within a certain range of exponents.
The maximum and minimum exponent values are different depending on the host
operating
system (the range is the same as that supported by the C compiler for float values
in
this system). In the current statement, a constant number is being converted for
storage
in a FLOAT variable or column, and the exponent is too large or too small.
SMALLFLOAT 数据类型可以接受指定范围内的数字。
最大和最小指数值根据主机操作系统而
不同(范围与 C 编译器
针对此系统中的浮点值所支持的范围相同)

在当前的语句中,
一个常数被转换为 FLOAT 变
量或列中的存储值,
并且指数太大或太小。


-1223 Value will not fit in a FLOAT.

The FLOAT data type can accept numbers within a certain range of exponents.
The maximum and minimum exponent values are different depending on the host
operating system (the range is the same as that supported by the C compiler

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 618 -

for double values in this host system). In the current statement, a constant
number is being converted for storage in a FLOAT variable or column, and the
exponent is too large or too small.
FLOAT 数据类型可以接受指定范围内的数字。最大和最小指数值根据主机操作系统而不同
(该范围与 C
编译器在此主机系统中为 double 值所支持的范围相同)。在当前的语句中,一个常数被
转换为 FLOAT
变量或列中的存储值,并且指数太大或太小。

-1224 Invalid decimal number.

This message is not believed to be in use in any current product.
If the error recurs, note all circumstances and contact GBase Technical Support.
此消息任何当前产品中都不再使用。如果错误再次出现,请记下所有情况并联系 GBase 技
术支持。


-1225 Column does not admit a NULL value.

This statement attempted to store a null value in a column that has been defined
as not
allowing nulls. Review the definition of the table, and revise the statement so
that it
supplies values for all required columns.
该语句试图在已经被定义为不允许空值的列中存储空值。检查表的定义,并修改该语句,
以便为所有需要的列提供值。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 619 -


-1226 Decimal or money value exceeds maximum precision.

The client is attempting to convert a number into a DECIMAL or MONEY variable.
However, the number has more digits to the left of the decimal point than the
declaration of the variable allows. Revise the program to assign the converted
number to a variable with an appropriate precision.
客户端正试图将数字转换为 DECIMAL 或 MONEY 变量。但是,该数字在小数点左侧的位数
比变量
声明允许的位数多。修改程序将转换后的数字以适当的精度分配给变量。


-1227 Message file not found.

4GL cannot locate a file of message texts. The file should have a suffix of .iem
and be in the product directory, $GBS_HOME/msg. Reinstall such files from the
distribution materials. If you have started to modify the user-message file,
4glusr.msg,
check that its compiled form has been replaced in the correct directory.
4GL 无法找到消息文本的文件。该文件的后缀应为 .iem,并位于产品目录 $GBS_HOME/msg
中。
从发布材料中重新安装这些文件。如果您已经开始修改用户消息文件 4gl usr.msg,请检
查其编译后
的表单是否已被替换为正确的目录。


-1228 Message number not found in message file.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 620 -


4GL cannot find a message number that should appear in a message file
that was installed with the product. Reinstall all files of type .iem
from the distribution materials. If you have modified the contents of
the file, 4glusr.msg, review all deletions that you might have made,
and recompile that file.
4GL 找不到应该出现在与产品一起安装的消息文件中的消息编号。从发布材料中
重新安装所有类型为 .iem 的文件。如果您修改了文件 4glusr.msg 的内容,
请检查您所做的所有删除操作,然后重新编译该文件。


-1229 Incompatible message file.

4GL is trying to look up a message text in a message file, but the file
contents do not match the current version of the product. Possibly the
file is corrupt; possibly a message file from a prior version is present.
The file has a suffix of .iem and exists in the etc subdirectory of the
path that the GBS_HOME environment variable identifies. Reinstall such
files from the distribution materials. If you have started to modify the
user-message file, 4glusr.msg, make sure that you are recompiling it with
a current version of the mkmessage utility.
4GL 试图在消息文件中查找消息文本,但文件内容与当前版本的产品不匹配。可能文件已
损坏;
可能存在来自先前版本的消息文件。该文件的后缀为 .iem,并存在于 GBS_HOME 环境变量

识的路径的 etc 子目录中。从发布材料中重新安装这些文件。如果已开始修改用户消息文
件 4glusr.msg,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 621 -

请确保使用当前版本的 mkmessage 实用程序重新编译它。


-1230 Bad message file name formulation.

An invalid filename has been supplied for the message file that is
usedfor displaying error messages such as the ones in this book, so
thefile cannot be opened. Check the value of the DBLANG environment
variable, if one is specified.
为用于显示错误消息的消息文件提供了无效的文件名,例如本书中的错误消息,因此文件
无法打开。请检查 DBLANG环境变量的值(如果指定)。

-1231 Cannot seek within message file.

The application is trying to look up a message text in a message file
but receives an error code when it tries to position within the file.
This situation indicates some problem with the file itself; possibly it
has been corrupted or truncated. Reinstall all files of type .iem from
the distribution materials. If you have modified the user-message file,
4glusr.msg, recompile it as well.
应用程序试图在消息文件中查找消息文本,但在尝试定位文件时收到错误代码。这种情况
表明文件本身存在一些问题;可能它已被损坏或截断。从发布材料中重新安装所有类型为
.iem 的文件。如果已修改用户消息文件 4glusr.msg,
请重新编译它。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 622 -

-1232 Message buffer too small.

4GL is reading a message text from a compiled message file but cannot
resize the buffer to be large enough to hold the complete message. This
situation might indicate a critical shortage of data space, but more
probably it indicates a corrupted or invalid message file. Reinstall
all files of type .iem from the distribution materials. If you have
modified the user-message file, 4glusr.msg, recompile it as well.
4GL 正在从编译的消息文件中读取消息文本,
但无法调整缓冲区的大小以容纳完整的消息。

这种情况可能表明数据空间严重不足,但更可能表明损坏或无效的消息文件。从发布材料
中重新安装所有类型为 .iem 的文件。如果已修改用户消息文件 4glusr.msg,请重新编译
它。


-1233 Invalid hour, minute, or second.

This message is not believed to be in use in any current product. If
the error recurs, note all circumstances and contact
GBase Technical Support.
此消息已不再在任何当前产品中使用。如果错误再次出现,请记下所有情况并联系 GBase
技术支持。

-1234 Function may be applied only to datetime data types.

This message is not believed to be in use in any current product. If
the error recurs, note all circumstances and contact
GBase Technical Support.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 623 -

此消息已不再在任何当前产品中使用。如果错误再次出现,请记下所有情况并联系 GBase
技术支持。


-1235 Character host variable is too short for the data.

In an ESQL/C program, the program has attempted to fetch a column value
into a host variable that is not large enough. Use the DESCRIBE command
to find out the sizes of column values.
在 ESQL/C 程序中,程序试图将列值访存一个不够大的主变量。使用 DESCRIBE 命令找出
列值的大小。

If this error arises in a 4GL program, note all circumstances and contact GBase
Technical Support.
如果在 4GL 程序中出现此错误,请注意所有情况并联系 GBase 技术支持。


-1236 Bad era date.

The era name or the era offset that is given in the input string is
invalid or has not been entered in the required format. Check that the
era name and offset are valid and in the proper order in the input
string. Check the format against the value of DBTIME, DBDATE, or the
format string passed to the SQL API function, whichever is appropriate.
输入字符串中给出的时代名称或时代偏移量无效或未按所需格式输入。检查时代名称和偏
移量
是否有效,
并按照输入字符串中的正确顺序。
根据 DBTIME、
DBDATE 的值或传递给 SQL
API

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 624 -

函数的格式字符串。

-1237 Bad era name.

The date format requires an era name, but no name that matches the era
names in the GLS locale could be found in the input string. Check that
you are using the correct locale and that you entered the era name
correctly.
日期格式需要年代名称,
但在输入字符串中可找不到与 GLS 语言环境中的时代名称匹配的
名称。
检查您是否使用了正确的语言环境,并且输入了正确的时代名称。


-1238 Bad era initialization.

Contact GBase Technical Support regarding this internal error.
有关此内部错误,请联系 GBase 技术支持。

-1239 Era year overflow.

The era offset that is given is not within the range for the era that
is specified. Check that the era offset is within the valid range for
the era that is specified.
给出的时代偏差不在所指定时代的范围内。请检查时代偏移量是否在指定时代的有效范围
内。

-1250 Unable to create pipes.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 625 -


Your application is using an operating-system facility called a pipe to
initialize its communication with the database server. The operating
system returned an unexpected error. Look for operating-system error
messages that might give more information.
您的应用程序使用称为管道的操作系统工具来初始化与数据库服务器的通信。操作系统返
回了意外错误。
查找可能提供更多信息的操作系统错误消息。


-1251 Unable to create shared memory. semget failed.

Your application is initializing its communication with the database
server, which is a version that uses shared memory for communications.
An unexpected error has occurred with an operating-system function,
semget. Look for operating-system messages that might give more
information. Consult with the person who installed the GBase 8s
shared-memory product.
您的应用程序正在初始化与数据库服务器的通信,该数据库服务器是使用共享内存进行通

的版本。操作系统函数 semget 发生意外错误。查找可能提供更多信息的操作系统消息。
请咨询安装 GBase 8s 共享内存产品的人员。


-1252 Unable to create shared memory. shmget failed.

Your application is initializing its communication with the database

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 626 -

server, which is a version that uses shared memory for communications.
An unexpected error has occurred with an operating-system function,
shmget. Look for operating-system messages that might give more
information. Consult with the person who installed the GBase 8s
shared-memory product.
您的应用程序正在初始化与数据库服务器的通信,该数据库服务器是使用共享内存进行通

的版本。操作系统函数 semget 发生意外错误。查找可能提供更多信息的操作系统消息。
请咨询安装 GBase 8s 共享内存产品的人员。


-1254 Unable to connect to remote host.

The program is attempting to open a database that a database server in
another system manages, but it could not open a network connection to
the other system. Check the site name that the DATABASE or CREATE
DATABASE statement specifies. If it is as you intended, look for other
error messages from the networking component or the operating system.
Contact the operator of the other system to verify that it is active
and accepting network connections.
该程序正试图打开另一个系统中的数据库服务器管理的数据库,但它无法打开到另一个系
统的网络连接。
检查 DATABASE 或 CREATE
DATABASE 语句指定的站点名称。如果它符合您的要求,请查找
网络组件
或操作系统中的其他错误消息。联系另一个系统的操作员以验证它是否处于活动状态并接
受网络连接。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 627 -


-1257 Operating system cannot fork process for back end.

Back end refers to the database server. If this is an internal error, look
for operating-system messages that might give more detail. In DOS
systems, you probably are out of memory; exit to the operating-system
command line, and resubmit your program. After you verify that no
system limit or local problem exists, note all circumstances and
contact GBase Software Support.
后台指的是数据库服务器。如果这是内部错误,请查找可能提供更多详细信息的操作
系统消息。在 DOS 系统中,可能是因为内存不足;请退出到操作系统命令行,然后重
新提交程序。在确认没有系统限制或本地问题存在之后,请记下所有情况并联系 GBase 软
件支持。

-1258 Cannot attach to shared memory used to communicate with back end.

Back end refers to the database server. In this internal error, look
for operating-system messages that might give more detail. After you
verify that no system limit or local problem exists, note all
circumstances and contact GBase Technical Support.
后台指的是数据库服务器。在这个内部错误中,查找可能提供更多细节的操作系统
消息。在确认没有系统限制或本地问题后,请记下所有情况并联系 GBase 技术支持。

-1260 It is not possible to convert between the specified types.

The database server attempts any data conversion that makes sense. Some

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 628 -

conversions, however, are not supported, such as INTERVAL to DATE, DATETIME
to MONEY, CHAR to LIST, or CHAR to SET. Possibly you referenced the wrong
variable or column. Check that you have specified the data types that you
intended and that literal representations of data values are correctly
formatted.
数据库服务器尝试进行数据转换。
但是,
某些转换是不支持的。
例如:
从 INTERVAL 到 DATE、

DATETIME 到 MONEY、CHAR 到 LIST 、CHAR 到 SET 的转换。可能是因为您引用了错误的
变量和列。
请检查您想要指定的数据类型和数据值的文字表达式是否正确。


-1261 Too many digits in the first field of datetime or interval.

The first field of a DATETIME literal must contain either 1 or 2 digits
(if it is not a YEAR) or else 2 or 4 digits (if it is a YEAR). The
first field of an INTERVAL literal represents a count of units and can
have up to 9 digits, depending on the precision that is specified in
its qualifier. Review the DATETIME and INTERVAL literals in this
statement, and correct them.
DATETIME 文字的第一个字段必须包含 1 或 2 个数字(如果不是 YEAR)或 2 或 4 个数

(如果它是 YEAR)

INTERVAL 文字的第一个字段表示单位的计数,
最多可以有 9 位数字,

具体取决于其限定符中指定的精度。请检查该语句中的 DATETIME 和 INTERVAL 文字,并
纠正它们。


-1262 Non-numeric character in datetime or interval.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 629 -


The form of a DATETIME or INTERVAL literal is very limited. One can
contain only decimal digits and the allowed delimiters: the hyphen
between year, month, and day numbers; the space between day and hour;
the colon between hour, minute, and second; and the decimal point
between second and fraction. Any other characters, or these characters
in the wrong order, produce an error.
DATETIME 或 INTERVAL 文字的格式非常有限。一个只能包含十进制数字和允许的
分隔符:年、月、日之间的连字符;日和小时之间的空格;小时、分钟和秒之间的
冒号;以及秒和分数之间的小数点。任何其他字符或错误顺序的这些字符都会产生
错误。


-1263 A field in a datetime or interval is out of range, incorrect, or missing.

Inspect the DATE, DATETIME, and INTERVAL literals in this statement;
at least one of them contains at least one incorrect field or is
missingat least one field.
检查该语句中的 DATE、DATETIME 和I NTERVAL 文字;其中至少有一个文字至少
包含一个不正确的字段或缺少至少一个字段。

In a DATE or DATETIME literal, the year might be zero, the month
might be other than 1 to 12, or the day might be other than 1 to
31 or inappropriate for the month. Also in a DATETIME literal,
the hour might be other than 0 to 23, the minute or second might
be other than 0 to 59, or the fraction might have too many digits

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 630 -

for the specified precision.
在 DATE 或 DATETIME 文字中,年份可能为零,月份可能不是 1 至 12 ,或者该
日期可能不是 1 至 31 或月份不合适。同样在 DATETIME 文字中,小时可能不是
0 到 23,分钟或秒可能不是 0 到 59,或者小数可能具有指定精度的数字太多。

In an INTERVAL literal, the constraints are the same except that
thefirst field is a count and can have as many digits as the
qualifier specifies.
在 INTERVAL 文字中,约束条件相同,只是第一个字段是一个计数并且可以具有
与限定符指定的数量一样多的数字。


-1264 Extra characters at the end of a datetime or interval.

Only spaces can follow a DATETIME or INTERVAL literal. Inspect this
statement for missing or incorrect punctuation.
只有空格可以遵循 DATETIME 或 INTERVAL 文字。请检查这个语句是否缺少或是否包含
不正确的标点符号。


-1265 Overflow occurred on a datetime or interval operation.

Both DATETIME and INTERVAL values are stored internally as DECIMAL
values. In this statement, an arithmetic operation that uses DATETIME
and/or INTERVAL values has caused an arithmetic overflow. This
situation should not occur. Check the precision that is specified for

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 631 -

an INTERVAL value. If the INTERVAL value that you want to enter is
greater than the default number of digits that are allowed for that
field, you must explicitly identify the number of significant digits in
your definition. If the error recurs, note all circumstances and
contact GBase Technical Support.
DATETIME 和 INTERVAL 值均作为 DECIMAL 值存储在内部。在此语句中,使用 DATETIME
和/或 INTERVAL 值的算术运算会导致算术溢出。这种情况不应该发生。检查为 INTERVAL
值指定的精度。如果您想要输入的 INTERVAL 值大于默认允许的位数字段,则必须明确标
识定
义中有效数字的数量。如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-1266 Intervals or Datetimes are incompatible for the operation.

Some arithmetic combinations of DATETIME, INTERVAL, and numeric values
are meaningless and are not allowed. Review the arithmetic expressions
in this statement. Possibly one of them is using a DATETIME or INTERVAL
column or variable by mistake. If not, see your SQL reference material
for the valid use of these data types.
DATETIME、INTERVAL 和数值的某些算术组合是没有意义的,也是不允许的。请查看本语句

的算术表达式。可能是错误地使用了 DATETIME 或 INTERVAL 列或变量。如果没有,请参

您的 SQL 参考资料以了解这些数据类型的有效用法。


-1267 The result of a datetime computation is out of range.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 632 -


In this statement, a DATETIME computation produced a value that cannot be
stored. This situation can occur, for example, if a large interval is added
to a DATETIME value. This error can also occur if the resultant date does
not exist, such as Feb 29, 1999.
在此语句中,
DATETIME 计算产生了一个无法存储的值。
例如,
如果将一个大的 interval 值
加 DATETIME
值,则会发生这种情况。如果生成的日期不存在,例如 1999 年 2 月 29日,也可能出现
此错误。

Review the expressions in the statement and see if you can change the
sequence of operations to avoid the overflow.
请检查语句中的表达式并查看是否可以更改操作序列以避免溢出。


-1268 Invalid datetime or interval qualifier.

This statement contains a DATETIME or INTERVAL qualifier that is not
acceptable. These qualifiers can contain only the words YEAR, MONTH,
DAY, HOUR, MINUTE, SECOND, FRACTION, and TO. A number from 1 to 5 in
parentheses can follow FRACTION. Inspect the statement for missing
punctuation and misspelled words. A common error is adding an s, as in
MINUTES.
此语句包含不可接受的 DATETIME 或 INTERVAL 限定符。这些限定词只能包含
YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、FRACTION 和 TO 等词。括号中的
数字 1 到 5 可以跟在分数之后。请检查是否缺少标点,单词的拼写是否错误。
常见的错误是多添加了一个 s,如在 MINUTES 中。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 633 -



-1269 Locator conversion error.

This message was issued because a function that requires an argument
that is a locator (a reference to a BYTE or TEXT value) received
something other than a valid locator (such as a NULL parameter, or an
argument of any other data type).
发出此消息是因为需要参数为定位符的函数(引用 BYTE 或 TEXT 值)接收到
除有效定位符(例如 NULL 参数或任何其他数据类型的参数)之外的其他数据。

Review the program logic to make sure the arguments are correct.
请检查程序逻辑,确保参数是正确的。


-1270 Interval literal may not have embedded minus sign.

You can use a minus sign as an arithmetic operator between an INTERVAL
literal and other values, and you can use a minus sign as a prefix to
an INTERVAL literal to indicate it is a negative quantity. However, you
cannot embed a minus sign among the fields of the literal. If you did
not intend to do this, inspect the statement for missing or misplaced
punctuation.
可以在 INTERVAL 文字和其他值之间使用减号作为算术运算符,并且可以使用减号作为
INTERVAL
文字的前缀以指示它是负数量。但是,不能在文字的字段中嵌入减号。如果您并没有这样
做,请检查

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 634 -

语句是否有错误或错位的标点符号。


-1271 Missing decimal point in datetime or interval fraction.

A decimal point is expected to appear in a DATETIME or INTERVAL literal
when the qualifier of the literal contains the word FRACTION. This
statement has such a literal, but no decimal point was found. Inspect
the literal qualifiers for missing or misplaced punctuation.
当文字的限定符包含单词 FRACTION 时,预计小数点会出现在 DATETIME 或 INTERVAL
文字中。该语句具有这样的文字值,但没有小数点。请检查文字修饰符是否丢失,或者包

了错位标点符号。


-1272 No input buffer has been specified.

You have not specified an input string for this function, so the
conversion cannot proceed. Set the input-string argument, and call the
function again. (This function might require that you define
formatting directives with the DBTIME environment variable.)
您尚未为此功能指定输入字符串,因此转换无法继续。设置输入字符串参数,
然后再次调用该函数。(此函数可能需要使用 DBTIME 环境变量定义格式化指令。)


-1273 Output buffer is NULL or too small to hold the result.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 635 -


This error is returned when the function is called and the address
space for the output buffer is null or smaller than the format-string
length. Redefine the size of the address, and execute the function
again. (This function might require that you define formatting
directives with the DBTIME environment variable.)
当调用函数并且输出缓冲区的地址空间为空或小于格式字符串长度时,将返回此错误。
请重新定义地址的大小,然后再次执行该函数。 (此函数可能需要使用 DBTIME 环境
变量定义格式化指令。)


-1274 No output buffer has been specified.

The output buffer length is zero, or the buffer pointer is a null
pointer.
输出缓冲区长度为零,或者缓冲区指针为空指针。


-1275 Invalid field width or precision in datetime or interval format string.

The field width or precision in DATETIME or INTERVAL format
specification must make sense. The field width must be a decimal
number, with a leading zero or minus ( - ) sign. If a precision
specification is present, it must also be decimal, separated from the
field-width specification by a period.
DATETIME 或 INTERVAL 格式规范中的字段宽度或精度必须有意义。
字段宽度必须是十进制

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 636 -

数字,并带有前导零或减号(-)。如果存在精度规格,则它也必须是十进制数,与字段宽度
规格
分隔一段时间。


-1276 Format conversion character not supported.

A format conversion character in the format string is not valid. Check
the string against the table of format conversion directives for
DATETIME and INTERVAL format conversion functions in the manual for
your embedded language product. See also the discussion of the DBTIME
environment variable in the GBase 8s Guide to SQL: Reference.
格式字符串中的格式转换字符无效。在嵌入式语言产品的手册中,根据格式转换指令表检
查字符串
是否适用于 DATETIME 和 INTERVAL 格式转换功能。另请参阅 “GBase 8s SQL 指南:参
考”
中对 DBTIME 环境变量的讨论。


-1277 Input does not match format specification.

Check that the ASCII string that contains a DATETIME or INTERVAL value
conforms to the format string. For example, a percent character in a
DATETIME or INTERVAL ASCII string must have a matching "%%" sequence in the
format string. See also the discussion of the DBTIME environment variable in
the GBase 8s Guide to SQL: Reference.
检查包含 DATETIME 或 INTERVAL 值的 ASCII 字符串是否符合格式字符串。例如,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 637 -

DATETIME
或 INTERVAL ASCII 字符串中的百分号字符在格式字符串中必须具有匹配的“%%”序列。
另请参阅
“GBase 8s SQL 指南:参考”中对 DBTIME 环境变量的讨论。

If you are using the ROUND() or TRUNC() build-in functions on DATE or DATETIME
data types, note that the list of supported values for the second parameter
is "YEAR", "MONTH", "DAY", "DD", "HH" or "MI". Please refer to the discussion
on "Algebraic Functions" in the GBase 8s Guide to SQL: Syntax for the details.
如果在 DATE 或 DATETIME 数据类型中使用 ROUND()或 TRUNC()内置函数,请注意第二个
参数支持
的值列表为“YEAR”、“MONTH”、“DAY”、“DD” 、“HH”或“MI”。有关详细信息,
请参阅“GBase 8s SQL
指南:语法”中关于“代数函数”的讨论。


-1278 Invalid escape sequence.

Check the pattern-matching string that the LIKE or MATCHES clause of
the statement specifies. In an ANSI database, the only valid characters
that can be escaped are: %, _, and the escape character for the LIKE
clause, and *, ?, [, ], and the escape character for the MATCHES
clause.
检查语句中 LIKE 或 MATCHES 子句指定的模式匹配字符串。在 ANSI 数据库中,
唯一可以转义的有效字符是:LIKE 子句的 %、_和转义字符,以及 MATCHES 子
句的 *、?、[,]和转义字符。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 638 -


-1279 Value exceeds string column length.

This message applies only to ANSI databases. You attempted to insert into a
CHAR, NCHAR, VARCHAR, NVARCHAR or LVARCHAR column using a string host
variable, but the string is too long.
此消息仅适用于 ANSI 数据库。您试图使用字符串主变量插入 CHAR、NCHAR、VARCHAR、
NVARCHAR 或 LVARCHAR 列,但该字符串太长。


-1280 Library API incompatibility found in libgen.so.

The libgen.so shared library compiled with your client application is
incompatible with the version in the $GBS_HOME/lib directory.
Recompile your application with GBS_HOME set to the path of the new
libgen.so shared library.
客户端应用程序使用编译的 libgen.so 共享库与 $GBS_HOME/lib 目录中的版本不兼容。
请将 GBS_HOME 设置为新的 libos.so 共享库的路径,重新编译您的应用程序。


-1281 Library API incompatibility found in libos.so.

The libos.so shared library compiled with your client application is
incompatible with the version in the $GBS_HOME/lib directory.
Recompile your application with GBS_HOME set to the path of the new
libos.so shared library.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 639 -

客户端应用程序使用编译的 libos.so 共享库与 $GBS_HOME/lib 目录中的版本不兼容。
请将 GBS_HOME 设置为新的 libos.so 共享库的路径,重新编译您的应用程序。


-1282 Library API incompatibility found in libsql.so.

The libsql.so shared library compiled with your client application is
incompatible with the version in the $GBS_HOME/lib directory.
Recompile your application with GBS_HOME set to the path of the new
libsql.so shared library.
客户端应用程序使用编译的 libsql.so 共享库与 $GBS_HOME/lib 目录中的版本不兼容。
请将 GBS_HOME 设置为新的 libsql.so 共享库的路径,重新编译您的应用程序。

-1283 Library API incompatibility found in libgls.so.

The libgls.so shared library compiled with your client application is
incompatible with the version in the $GBS_HOME/lib directory.
Recompile your application with GBS_HOME set to the path of the new
libgls.so shared library.
客户端应用程序使用编译的 libgls.so 共享库与 $GBS_HOME/lib 目录中的版本不兼容。
请将 GBS_HOME 设置为新的 libgls.so 共享库的路径,重新编译您的应
用程序。


-1284 Value will not fit in a BIGINT or an INT8.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 640 -

The BIGINT or BIGSERIAL or INT8 or SERIAL8 data type can accept numbers
with absolute values from 0 through 9,223,372,036,854,775,807 (plus or
minus (2 to the 63rd power) - 1).
BIGINT 或 BIGSERIAL 或 INT 8或 SERIAL8 数据类型可接受绝对值从 0 到
9,223,372,036,854,775,807(加号或减号(2 的 63 次方)-1)的绝对值。

To store numbers that are outside this range, redefine the column or
variable to use the DECIMAL data type. For more information on valid
ranges of data types, see the GBase 8s Guide to SQL: Reference.

要存储超出此范围的数字,请重新定义列或变量以使用 DECIMAL 数据类型。
有关数据类型的有效范围的更多信息,请参阅“GBase 8s SQL 指南:参考”。


-1285 Internal error: data type unknown.

If this internal error recurs, please note all circumstances and
contact GBase Technical Support.
如果此内部错误再次出现,请注意所有情况并联系 GBase 技术支持。


-1301 This value is not among the valid possibilities.

A list or range of acceptable values has been established for this
column (via an INCLUDE attribute in the form-specification file). You
must enter a value within the acceptable range.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 641 -

已经为该列建立了可接受值的列表或范围(通过格式规范文件中的 INCLUDE 属性)。
您必须输入一个可接受的范围内的值。


-1302 The two entries were not the same. Try again.

To guard against typographical errors, this field has been designated
VERIFY (in the form-specification file). You must enter the value in
this field twice, identically. Carefully reenter the data.
Alternatively, you can cancel the form entry with the Interrupt key
(usually CTRL-C, but see the operating instructions that the program
author supplied).
为防止排版错误,该字段被指定为 VERIFY(在表格规范文件中)。您必须两次都使用相同

方式在此字段中输入值。小心重新输入数据。或者,可以使用中断键(通常是 CTRL-C )
取消
表单条目,但请参阅开发者提供的该程序的操作说明)。


-1303 You cannot use this editing feature because a picture exists.

This field is defined (in the form-specification file) with a PICTURE
attribute to specify its format. You cannot use certain editing keys
(for example, CTRL-A, CTRL-D, and CTRL-X) while you are editing such a
field. Use only printable characters and backspace to enter the value.
为这个字段定义了 PICTURE 属性(在 form-specification 文件中)来指定它的格式。
在编辑这样的字段时,您不能使用某些编辑键(例如,CTRL-A、CTRL-D 和 CTRL-X)。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 642 -

只能使用可打印的字符和退格键输入值。


-1304 Error in field.

You entered a value in this field that cannot be stored in the program
variable that is meant to receive it. For example, possibly you entered
a decimal number when the application provided only an integer
variable, or you entered a character string that is longer than the
application expected. Note all the circumstances and then discuss the
problem with the person who wrote the application program.
您在此字段中输入的值不能存储在要接收它的程序变量中。例如,应用程序提供整型变量,
但是您
输入了一个十进制数,或者输入的字符串超出了应用程序定义的长度。请注意所有情况,
然后与编
写该应用程序的人员讨论此问题。


-1305 This field requires an entered value.

The cursor is in a form field that has been designated REQUIRED. You
must enter some value before the cursor can move to another field. To
enter a null value, type any printable character and then backspace.
Alternatively, you can cancel the form entry with the Interrupt key
(usually CTRL-C, but see the operating instructions that the program
author supplied).
光标位于已被指定为 REQUIRED 的表单域中。在光标移动到另一个字段之前,必须输入值。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 643 -

要输入空值,
输入任何可打印的字符,
然后退格。
或者,
您可以使用中断键
(通常是 CTRL-C,

但请参阅程序作者提供的操作说明)取消表单条目。


-1306 Type again for verification.

The cursor is in a form field that has been designated VERIFY. You must
enter the value twice, identically, before the cursor can move to
another field. This procedure helps to ensure that no typographical
errors occur during data entry. Alternatively, you can cancel the form
entry with the Interrupt key (usually CTRL-C, but see the operating
instructions that the program author supplied).
光标位于已被指定为 VERIFY 的表单域中。在光标移动到另一个字段之前,必须以相同的
方式
输入两次值。此过程有助于确保在数据输入过程中不会发生印刷错误。或者,您可以使用
中断键
(通常是CTRL-C,但请参阅程序作者提供的操作说明)取消表单条目。


-1307 Cannot insert another row - the input array is full.

You are entering data into an array of records that is represented in
the program by an array of program variables. That array is now full;
no place is available to store another record. Press the ACCEPT key
(usually ESCAPE, but see the operating instructions that the program
author supplied) to process the records that you have entered.
您正在将数据输入到程序中由程序变量数组表示的记录数组中。
该数组现在已满;没有空间

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 644 -

可以存储另一条记录。请按 ACCEPT 键(通常是 ESCAPE,但请参阅程序作者提供的操作
说明)处理您输入的记录。


-1308 Cannot delete row - it has no data.

You pressed the Delete Row function key (usually F2, but see the
operating instructions that the program author supplied) in an empty
row. Nothing was deleted.
您按下了 Delete Row 功能键(通常为 F2,但请参阅程序作者提供的操作说明)。
但没有数据被删除。


-1309 There are no more rows in the direction you are going.

You are attempting to scroll an array of records farther than it can
go, either scrolling up at the top or scrolling down at the bottom of
the array. Further attempts will have the same result.
您正在尝试滚动到超出记录数组的位置。无论是在顶部滚动还是在数组底部向下滚动。进
一步的尝试都会得到相同的结果。


-1310 Exiting the current function without executing a RETURN statement.

The current function does not return void but is about to exit without
executing a RETURN statement.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 645 -

当前函数不返回 void,但即将退出而不执行 RETURN 语句。


-1312 FORMS statement error number number.

A problem exists with a screen form. Look up error number in this
document. Consider it in relation to the current statement.
屏幕表单存在问题。在本文档中查找错误编号。考虑它与当前语句的关系。


-1313 SQL statement error number number.

The current statement calls on the database server that detected an
error and returned an error code number. Look up number in this
document. Also look for other error messages.
数据库服务器调用的当前语句检测到一个错误,并返回一个错误代码号。
请在该文件中查找错误编号和其他错误消息。


-1314 Program stopped at statement, line number line.

At the indicated point in the program, an error was detected. Look for
other error messages that give details of the error. Use the numbers in
this message to locate the error in the program source file.
在程序的指定位置检测到错误。查找提供错误详细信息的其他错误消息。使用此消息中的
错误编号在程序源文件中定位错误。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 646 -



-1315 4GL run-time error number number.

The program stopped because an error was detected. Look up error code
number in this document. Also look for other error messages for more
details.
该程序因检测到错误而停止。在本文档中查找错误代码编号。有关更多详细信息,
请查看其他错误消息。


-1316 ISAM error number number.

The current statement called on the database server, which detected an
error (probably reported in a display of error -1313). This message
contains additional detail on the cause of the error. Look up number in
this document.
在数据库服务器上调用的当前语句检测到一个错误(可能在显示错误 -1313 时报告)。
此消息包含导致此错误的原因的详细信息。请在该文件中查找该错误代码编号。


-1317 A numeric conversion error has occurred due to incompatibility
between a calling program and its function parameters or between a variable
and its assigned expression.

4GL converts between one data type and another automatically whenever

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 647 -

it can do so without losing information. In the current statement, it
could not do so. Look first for function calls, and inspect the values
that are passed as parameters. Check that the values that are passed
agree in type with the parameters as they are defined in the function
bodies. (An example of such an error would be calling a function
fun("X") when within the function its parameter was defined as an
integer.) If the statement is a LET statement, check that the value
that is computed on the right can be accommodated in the variable that
is named on the left.

4GL 会在一种数据类型和另一种数据类型之间自动转换,而不会丢失信息。但在当前语句
中,
它没有这样做。首先检查函数调用,检查作为参数传递的值。检查传入的值是否与函数体

定义的参数类型一致。(这种错误的可能是因为在函数内部调用一个函数 fun("X"),它的
参数被定义为一个整数)。如果该语句是 LET 语句,请检查在右边计算的值是否可以存储
在左侧命名的变量中。


-1318 A parameter count mismatch has occurred between the calling function
and the called function.

Either too many or too few parameters were given in the call to the
function. The call is probably in a different source module from the
called functions. Inspect the definition of the function, and check
all places where it is called to ensure that they use the number of
parameters that it declares.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 648 -

在调用函数时给出的参数太多或太少。该调用可能位于与被调用函数不同的源模块中。
检查函数的定义,并检查它所调用的所有地方,以确保它们使用了它声明的参数量。


-1319 The 4GL program has run out of runtime data space memory.

You must reduce the data space that the program requires. Review the
size of large character variables and the dimensions of arrays. You
might need to split the program into separate programs that load
separately, if that is possible.
您必须减少程序所需的数据空间。请查看大字符变量的大小和数组的维数。
如果可能的话,可能需要将程序拆分为单独加载的独立程序。


-1320 A function has not returned the correct number of values expected
by the calling function.

If the function was invoked as part of an expression, then it returned
more than one value. If a CALL invoked it, the number of expressions
that follow the RETURN statement (in the function) was different from
the number of variables that are listed in the RETURNING clause (in the
CALL statement).
如果函数作为表达式的一部分被调用,那么它返回多个值。如果 CALL 调用它,则 RETURN
语句
(在该函数中)后面的表达式数与 RETURNING 子句(在 CALL 语句中)中列出的变量数不
同。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 649 -

Check that the correct function was called. Review the logic of the
function, especially its RETURN statements, to ensure that it always
returns the expected number of values.
请检查是否调用了正确的函数。查看函数的逻辑,特别是 RETURN 语句,以确保它始终返
回预期的值数。


-1321 A validation error has occurred as a result of the VALIDATE command.

The VALIDATE statement tests the current value of variables against
rules that are stored in the syscolval table. It has detected a
mismatch. Ordinarily, the program would use the WHENEVER statement to
trap this error and display or correct the erroneous values. Inspect
the VALIDATE statement to see which variables were being tested and
find out why they were wrong.
VALIDATE 语句根据存储在 syscolval 表中的规则测试变量的当前值。它检测到不匹配。
通常,程序使用 WHENEVER 语句捕获该错误并显示或纠正错误的值。请检查 VALIDATE
语句,查看哪些变量正在进行测试,并找出它们错误的原因。


-1322 A report output file cannot be opened.

The file that the REPORT TO statement specifies cannot be opened. Check
that your account has permission to write such a file, that the disk is
not full, and that you have not exceeded some limit on the number of
open files.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 650 -

REPORT TO 语句指定的文件无法打开。检查您的账户是否具有对该文件的写入权限,
磁盘是否已满,并且打开文件的数量没有超出限制。


-1323 A report output pipe cannot be opened.

The pipe that the REPORT TO PIPE statement specifies could not be
started. Check that all programs that are named in it exist and are
accessible from your execution path. Also look for operating-system
messages that might give more specific errors.
REPORT TO PIPE 语句指定的管道无法启动。检查所有在其中命名的程序是否存在
并可从执行路径访问。同时请查找可能会导致更具体错误的操作系统消息。


-1324 A report output file cannot be written to.

The file that the REPORT TO statement specifies was opened, but an
error occurred while writing to it. Possibly the disk is full. Look for
operating- system messages that might give more information.
REPORT TO 语句指定的文件已打开,但写入该文件时发生错误。可能是因为磁盘已满。
请查看可能提供更多信息的操作系统消息。


-1326 An array variable has been referenced outside of its specified
dimensions.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 651 -

The subscript expression for an array has produced a number that is
either less than one or greater than the number of elements in the
array. Review the program logic that leads up to this statement to
determine how the error was made.
数组的下标表达式产生的数字要么小于 1,要么大于数组中元素的数量。请查看程序逻辑,

确定错误是如何发生的。


-1327 An insert statement could not be prepared for inserting rows into
a temporary table used for a report.

Within the report function, 4GL generated an SQL statement to save rows
into a temporary table. The dynamic preparation of the statement (see
the reference material on the PREPARE statement) produced an error.
Probably the database tables are not defined now, at execution time, as
they were when the program was compiled. Either the database has been
changed, or the program has selected a different database than the one
that was current during compilation. Possibly the database
administrator has revoked SELECT privilege from you for one or more of
the tables that the report uses. Look for other error messages that
might give more details.
在报告功能中,4GL 生成一条 SQL 语句将行保存到临时表中。该语句的动态准备(请参阅
PREPARE
语句中的参考资料)会产生错误。现在,在执行时数据库表可能不会像编译程序时那样定
义。数据库已
被更改,或者程序选择了与编译期间当前数据库不同的数据库。可能数据库管理员已经撤
销了您对该报

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 652 -

告使用的一个或多个表的 SELECT 权限。请查看可能提供更多详细信息的其他错误消息。


-1328 A temporary table needed for a report could not be created in
the selected database. The user must have permission to create tables in
the selected database.

Within the report definition, 4GL generated an SQL statement to save
rows into a temporary table, but the temporary table could not be
created. Probably no disk space is left in the database, or you
already have a table in your current database with the same name as the
temporary table that the report definition is attempting to create as a
sorting table.
在报告定义中,4GL 生成一条 SQL 语句将行保存到临时表中,但临时表无法创建。数据库
中可
能没有多余磁盘空间,或者当前的数据库中已经有一个表,其名称与报表定义尝试创建作
为排
序表的临时表相同。

Another possible cause is that the report name is too long. It should be 16
characters or fewer if your database server allows only table names
up to 18 characters long, to leave room for the "t_" prefix.
另一个可能的原因是报告名称太长。如果数据库服务器只允许长达 18 个字符的表名,则
应为 16 个
字符或更少,为“t_”前缀留出空间。

The sorting table is named "t_reportname". For example, a report named

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 653 -

"order_rpt" would name its sorting table "t_order_rpt". Users should
avoid beginning table names with "t_".
排序表被命名为“t_reportname”。例如,名为“order_rpt”的报告会将其排序表命名为
“t_order_rpt”。
用户应避免使用“t_”开始表名。

Another possible cause of this error with some database servers is that
you have exceeded an operating-system limit on open files.
某些数据库服务器出现此错误的另一个可能原因是,
您已超出操作系统对打开文件的限制。


Look for other error messages that might give more details.
请查看可能提供更多详细信息的其他错误消息。


-1329 A database index could not be created for a temporary database
table needed for a report.

Within the report definition, 4GL generated SQL statements to save rows
into a temporary table. However, an index could not be created on the
temporary table. Probably an index with the same name already exists in
the database. (The sorting index is named "i_reportname"; for example,
"i_order_rpt".) Possibly no disk space is available in the file system
or dbspace. Another possibility with some database servers is that you
have exceeded an operating-system limit on open files. Look for other
error messages that might give more details.
在报告定义中,4GL 会生成 SQL 语句来将行保存到临时表中。但是,无法在临时表

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 654 -

上创建索引。数据库中可能已经存在一个同名的索引。(排序索引名为“i_reportname”;

例如,“i_order_rpt”。)文件系统或 dbspace 中可能没有可用的磁盘空间。某些数据

服务器出现此错误的另一个可能原因是,您已超出操作系统对打开文件的限制。请查找可

提供更多详细信息的其他错误消息。


-1330 A row could not be inserted into a temporary report table.

Within the report definition, 4GL generated SQL statements that would
save rows into a temporary table. However, an error occurred while rows
were being inserted. Probably no disk space is left in the database.
Look for other error messages that might give more details.
在报告定义中,4GL 会生成的 SQL 语句将行保存到临时表中。但是,插入行时发生错误。

数据库中可能没有磁盘空间。请查找可能提供更多详细信息的其他错误消息。


-1331 A row could not be fetched from a temporary report table.

Within the report definition, 4GL generated SQL statements to select
rows from a temporary table. The table was built successfully but now
an error occurred while rows were being retrieved from it. Almost the
only possible cause is a hardware failure or an error in the database
server. Check for operating-system messages that might give more
details.
在报告定义中,4GL 生成了用于从临时表中选择行的 SQL 语句。该表已创建成功,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 655 -

但现在从中检索行时发生错误。唯一可能的原因是数据库服务器中的硬件故障或错
误。请检查可能提供更多信息的操作系统消息。


-1332 A character variable has referenced subscripts that are out of range.

In the current statement, a variable that is used in taking a substring
of a character value contains a number less than one or a number
greater than the size of the variable, or the first substring
expression is larger than the second. Review the program logic that
leads up to this statement to find the cause of the error.
在当前语句中,用于获取字符值子字符串的变量包含小于 1 的数字或大于变量大小的数
字,
或者第一个子字符串表达式大于第二个。请查看程序逻辑,找出错误的原因。


-1333 Strings of length > 512 cannot be returned from function calls.

The current RETURN statement contains an expression that evaluates to a
character string longer than 512 characters. This situation is not
supported. Review the logic of the function, and modify it so that it
does not return such a long character value. You can assign a longer
string to a global variable.
当前 RETURN 语句包含一个表达式,其计算结果为长度超过 512 个字符的字符串。这种情

是不支持的。请检查函数的逻辑,并对其进行修改,使其不会返回如此长的字符值。您可
以将更

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 656 -

长的字符串分配给全局变量。


-1334 The 4GL program cannot allocate any more space for temporary
string storage.

You should not see this message from a program that is compiled at a
version later than Version 4.1; however, programs that are compiled by
4GL Version 4.1 and earlier must deal with this issue.
您不会在高于 V4.1 的版本编译的程序看到此消息;但是,由 4GL V4.1 及更早版本编译
的程序必须处理此问题。

Temporary string storage is used while evaluating a character
expression. It is allocated by a simple algorithm from a fixed-size
buffer. Space in this buffer is not reclaimed until the last pending
character expression is finished. Because most expressions complete
immediately, the string buffer is normally emptied as fast as it is
used.
在评估字符表达式时使用临时字符串存储。它由一个简单的算法从固定大小的缓冲区中分
配。
直到上一个挂起的字符表达式完成后,才会回收此缓冲区中的空间。因为大多数表达式会

即完成,所以字符串缓冲区通常会尽可能快地被清空。

However, when expressions involve function calls, expression evaluation
is suspended during the function call. The buffer is not cleared until
the function returns. For example, temporary space is used for the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 657 -

literal "###" and the result of the USING operator in the following
statement:
但是,当表达式涉及函数调用时,表达式评估在函数调用期间暂停。在函数返回结果之前,

缓冲区不会被清除。例如,临时空间用于以下语句中的文字“###”和 USING 运算符的结
果:

LET charvar = numvar USING '###', myfunc()

These pending values remain in the string buffer for the duration of
the call to myfunc(). If the aggregate total of all temporary character
values that are used during the evaluation of myfunc() and its
sub-functions exceeds the buffer size, this error occurs.
这些挂起的值在调用 myfunc()期间一直保留在字符串缓冲区中。
如果在评估 myfunc()及
其子函数期间使用的所有临时字符值的总计超过了缓冲区大小,则会发生此错误。

You can usually prevent the error by isolating function calls in
separate statements, as in the following example:
通常可以通过在单独的语句中分别调用这些函数来防止错误,如下例所示:

LET charvar = myfunc()
LET charvar = numvar USING '###', charvar clipped

The string buffer is free during the call to myfunc() in the first
statement and free again as soon as the second statement completes.
在第一条语句中调用 myfunc()期间,字符串缓冲区是空闲的,并在第二条语
句完成后立即释放。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 658 -


The short form of a WHEN clause in a CASE statement also creates a
suspended character expression. In the following example, temporary
string storage is tied up throughout the calls to func_A() and
func_B().
CASE 语句中 WHEN 子句的简写形式也会创建一个暂停的字符表达式。在下面的例子中,
在对 func_A()和 func_B()的调用中,临时字符串存储被绑定。

CASE charvar
WHEN 'A' CALL func_A()
WHEN 'B' CALL func_B()
...

The longer form of the WHEN clause does not do this because evaluation
of the character expression is completed before the function call
begins.
长格式的 WHEN 子句则不会这样做,因为在函数调用开始之前它已经完成了对字符表
达式的评估。

CASE
WHEN charvar = 'A' CALL func_A()
WHEN charvar = 'B' CALL func_B()

Finally, a known error in some versions of 4GL Version 4.1 causes a
spurious error of this type when the WORDWRAP clause appears in a PRINT
statement.
If
the
error
recurs,
note
all
circumstances
and
contact
GBase
Technical

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 659 -

Support.
最后,当 WORDWRAP 子句出现在 PRINT 语句中时,某些版本的 4GL
V4.1 中的已知错误会
导致此类型的错误错误。如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-1335 A report is accepting output or being finished before it has been
started.

The program executed an OUTPUT TO REPORT or FINISH REPORT statement
before it executed a START REPORT. Review the program logic that leads
up to this statement to find the cause of the error.
该程序在执行 START REPORT 之前执行了 OUTPUT TO REPORT 或 FINISH REPORT 语句。
请查看导致本声明的程序逻辑,找出错误的原因。


-1336 Module name in the pcode file contains pcode version compile-version.
This program can run pcode version runner-version. Run the pcode compiler
with the -V option to check the pcode version that it produces. Then
recompile all modules of your program, and run it again.

The program runner or a customized runner must be the same software
version as the program compiler. To check that the programs are at the
same level, execute each with the -V option. That option displays their
version numbers. When you determine that you are using compatible
software, recompile your program.
程序的运行器或定制的运行程序必须与程序编译器具有相同的软件版本。请检查程序是否

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 660 -

处于
同一级别,请使用 -V 选项查询。该选项显示其版本号。当确定您正在使用兼容软件时,
请重新
编译程序。


-1337 The variable name has been redefined with a different type or length.

The variable that is shown is defined in the GLOBALS section of two or
more modules, but it is defined differently in some modules than in
others. Possibly modules were compiled at different times, with some
change to the common GLOBALS file between. Possibly the variable is
declared as a module variable in some module that does not include the
GLOBALS file.
显示的变量在两个或多个模块的 GLOBALS 部分中定义,
但在某些模块中定义的变量与其他
模块中的不同。可能的模块是在不同的时间编译的,其间某些操作修改了 GLOBALS 文件。

可能在某些不包含 GLOBALS 文件的模块中声明该变量为模块变量。


-1338 The function name has not been defined in any module in the program.

The named function is called from at least one module of the program,
but it is defined in none. If you are using the Programmer's
Environment, possibly one module was not defined as part of a
multimodule program. If you are working at the command line, possibly
one or more compiled .4go modules were omitted when the program files

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 661 -

were concatenated to form the .4gi file.
至少从程序的一个模块中调用了命名的函数,但它没有定义。如果您使用的是编程环境,
可能
有一个模块没有被定义为多模块程序的一部分。如果您在命令行中工作,当程序文件连接
在一
起形成 .4gi 文件时,可能会省略一个或多个已编译的 .4go 模块。


-1339 Global variable name cannot be found in the descriptor table.

This error indicates an internal problem in the runner. If the error
recurs, note all circumstances and contact GBase Technical Support.
此错误表示运行程序内部存在问题。如果错误再次出现,请记下所有情况并联系 GBase 技
术支持。


-1340 The error log has not been started.

The program called the errorlog() function without first calling the
startlog() function. Review the program logic to find out the cause of
this error.
该程序在不调用 startlog() 函数的情况下调用 errorlog()函数。请检查程序逻辑,并找
出此错误的原因。


-1343 No help file specified.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 662 -

This INPUT, PROMPT, or MENU statement contains a HELP help-number
clause; however, no message file has been established. The OPTIONS HELP
FILE statement establishes the message file, but the statement has not
yet been executed. Review the program logic, and modify it to execute
an OPTIONS statement with a HELP FILE clause before it is needed.
该 INPUT、PROMPT 或 MENU 语句包含一个 HELP 帮助号子句;但是,没有建立消息文件。

选项帮助文件语句建立消息文件,但该语句尚未执行。请查看程序逻辑,修改它以在需要
之前
使用 HELP FILE 子句执行 OPTIONS 语句。


-1344 GBase 8s Run Time Facility.

No current GBase 8s product displays this message.
当前 GBase 8s 产品不会显示此消息。


-1345 Undefined opcode.

The p-code file for the program (whose file suffix is .4go) has become
corrupted. Recompile the whole program, and run it again. If the same
error occurs, check that you are running the identical version of both
the p-code compiler and the p-code runner. If the error recurs,
note all circumstances and contact GBase Technical Support.
该程序的 p-code 文件(其文件后缀为 .4go)已损坏。重新编译整个程序,然后
重新运行它。如果发生相同的错误,请检查您是否运行了相同版本的 p-code 编译

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 663 -

器和 p-code 运行器。如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-1346 Number is too large for a DECIMAL data type.

The DECIMAL data type accommodates numbers from 10 to the -130th power
through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.
DECIMAL 数据类型可容纳从 10 的 -130 次方到 10 的 124次方的绝对值。精度(有效位
数)
从 1 到 32 不等;然而,这个错误的来源不是数字的长度,而是数的大小。


-1347 Number is too small for a DECIMAL data type.

The DECIMAL data type accommodates numbers from 10 to the -130th power
through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.
DECIMAL 数据类型可容纳从 10 的 -130 次方到 10 的 124次方的绝对值。精度(有效位
数)
从 1 到 32 不等;然而,这个错误的来源不是数字的长度,而是数的大小。


-1348 An attempt was made to divide by zero.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 664 -

Zero cannot be a divisor. In some cases, this error arises because the
divisor is a character value that does not convert properly to numeric.
零不能成为除数。在某些情况下,会出现此错误,因为除数是不能正确转换为数字的字符
值。


-1349 Character to numeric conversion error.

A character value is being converted to numeric form for storage in a
numeric column or variable. However, the character string cannot be
interpreted as a number. It contains some characters other than white
space, digits, a sign, a decimal, or the letter e, or else the parts
are in the wrong order so that the number cannot be deciphered.
字符值正在转换为数值值以存储在数值列或变量中。但是,字符串不能被解释为数值。它
包含
除空格、数字、符号、小数或字母 e 以外的一些字符,或者部分顺序错误,因此无法破译
该数值。


-1350 It is not possible to convert between the specified types.

The system will attempt any data conversion that makes sense. However,
some conversions, such as INTERVAL to DATE, or DATETIME to MONEY, are
not supported. Possibly you referenced the wrong variable or column.
Check that you have specified the data types that you intended and that
you formatted literal representations of data values correctly.
系统将尝试任何有意义的数据转换。但是,不支持某些转换,例如 INTERVAL 到 DATE

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 665 -

或 DATETIME 到 MONEY。可能您引用了错误的变量或列。请检查您是否指定了想要的数
据类型,以及是否正确格式化了数据值的文字表示。


-1351 The function (or report) name has already been defined. Function
and report cannot both have the same name.

Each function (or report, which is similar to a function) must have a
unique name within the program. You must change either this use or the
prior one.
每个函数(或与函数类似的报告)在程序中必须具有唯一的名称。您必须更改该用法或之
前的用法。


-1352 name may not be used as both a function (or report) name and
a variable name.

The name that is shown has been defined at least two ways. Names at the
global or module level (function names, report names, and names of
global or module variables) must be unique. Locate all the definitions
of this name, and change all but one of them.
显示的名称至少有两种定义。全局或模块级别的名称(函数名称、报告名称和全局变量或
模块变量的名称)必须是唯一的。找到这个名称的所有定义,并且改变除了其中一个以外
的所有定义。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 666 -

-1353 Use '!' to edit TEXT and BYTE fields.

The built-in form editor cannot deal with TEXT or BYTE columns.
However, you can designate an external program that can display or edit
a value from a TEXT or BYTE column. To call the external program for
any field, put the cursor in that field, and key the exclamation mark
(!) character. If an external program has been defined (with the
PROGRAM attribute in the form specification), it will be started. In a
TEXT field, if no external program is specified in the form, the
program that the DBEDIT environment variable names will be started.
内置的表单编辑器无法处理 TEXT 或 BYTE 列。但是,您可以设计一个可以显示或
编辑TEXT 或 BYTE 列中的值的外部程序。要为任何字段调用外部程序,请将光标放
在该字段中,然后键入感叹号(!)字符。如果已经定义了外部程序(在表格说明中使
用 PROGRAM 熟悉),则会启动该程序。在 TEXT 字段中,如果在表单中没有指定外
部程序,则会启动 DBEDIT 环境变量名称的程序。


-1355 Cannot build temporary file.

A TEXT or BYTE variable has been located in a temporary file using the
LOCATE statement. The current statement assigns a value into that
variable, so 4GL attempted to create the temporary file, but an error
occurred. Possibly no disk space is available, or your account does not
have permission to create a temporary file. 4GL creates a temporary
file in the directory that the DBTEMP environment variable specifies.
Look for operating-system error messages that might give more

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 667 -

information. Check the value of DBTEMP.
已使用 LOCATE 语句将 TEXT 或 BYTE 变量定位在临时文件中。当前语句为该变量
赋值,因此 4GL 试图创建临时文件,但发生错误。可能没有可用的磁盘空间,或者
您的账户没有创建临时文件的权限。4GL 在 DBTEMP 环境变量指定的目录中创建一个
临时文件。查找可能提供更多信息的操作系统错误消息。检查 DBTEMP 的值。


-1356 Write error on temporary file filename.

The operating system signalled an error during output to a temporary
file in which a TEXT or BYTE variable was being saved. Possibly the
disk is full, or a hardware failure occurred. For more information,
look for operating-system messages.
操作系统在输出到临时文件时发出错误信号,其中保存了 TEXT 或 BYTE 变量。
磁盘可能已满,或发生硬件故障。有关更多信息,请查看操作系统消息。


-1357 Read error on temporary file filename.

The operating system signalled an error during input from a temporary
file in which a TEXT or BYTE variable was saved. Possibly a hardware
failure occurred. For more information, look for operating-system
messages.
从保存 TEXT 或 BYTE 变量的临时文件输入时,操作系统发出错误信号。可能发生了硬件
故障。
有关更多信息,请查看操作系统消息。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 668 -



-1358 Write error on TEXT or BYTE file filename.

The operating system signalled an error during output to a temporary
file in which a TEXT or BYTE variable was being saved. Possibly the
disk is full, or a hardware failure occurred. For more information,
look for operating-system messages.
操作系统在输出到临时文件时发出错误信号,其中保存了 TEXT 或 BYTE 变量。
磁盘可能已满,或发生硬件故障。有关更多信息,请查看操作系统消息。


-1359 Read error on TEXT or BYTE file filename.

The operating system signalled an error during output to a temporary
file in which a TEXT or BYTE variable was being saved. Possibly the
disk is full, or a hardware failure occurred. For more information,
look for operating-system messages.
操作系统在输出到临时文件时发出错误信号,其中保存了 TEXT 或 BYTE 变量。
磁盘可能已满,或发生硬件故障。有关更多信息,请查看操作系统消息。


-1360 No PROGRAM= clause for this field.

You pressed the exclamation-mark key (!) while the cursor was in a TEXT
or BYTE field. However, no external program has been designated for

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 669 -

this field (with the PROGRAM attribute in the form-specification file).
If this field is a TEXT field, you can set the DBEDIT environment
variable before you start the program to specify a text editor.
当光标位于 TEXT 或 BYTE 字段时,您按了感叹号键(!)。但是,没有为此字段
(在表格规范文件中具有 PROGRAM 属性)指定外部程序。如果此字段是 TEXT 字
段,则可以在启动程序指定文本编辑器之前设置 DBEDIT 环境变量。


-1361 Illegal TEXT or BYTE file name. Null names are not permitted.

The BYTE or TEXT variable has been located in a file using the 4GL
statement LOCATE. However, the filename that is given for the variable
is a null string. Because the file does not exist, 4GL cannot do
anything with it.
已经使用 4GL 语句 LOCATE 在文件中定位 BYTE 或 TEXT 变量。但是,变量的文件名是
空字符串。由于该文件不存在,4GL无法对其执行任何操作。


-1362 4GL runtime stack violation.

The program attempted to access outside the boundaries of the stack. If
the error recurs, note all circumstances and contact GBase Technical Support.
该程序试图访问堆栈的边界外的部分。如果错误再次出现,请记下所有情况并联系 GBase
技术支持。

-1363 A fatal internal error has occurred - Application Terminating.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 670 -


The program attempted to access outside the memory that belongs to the
application. If the error recurs, note all circumstances and
contact GBase Technical Support.
该程序试图访问属于该应用程序的内存之外的部分。如果错误再次出现,请记下所有情况
并联系 GBase 技术支持。

-1364 Error recovery setup failed - Application Terminating.

The mechanism that allows the application to catch and handle internal
errors could not complete its actions. Return to DOS, and restart
Windows.
允许应用程序捕获并处理内部错误的机制无法完成其操作。请返回到 DOS,并重新启动
Windows。


-1365 Application appname not found.

The Application Launcher, fglaunch, did not find the requested application.
应用程序启动器 fglaunch 没有找到请求的应用程序。


-1366 Unable to load application appname.

The Application Launcher, fglaunch, could not load the requested
application. The DLL does not have the required NewEra entry points, so
it must not be a NewEra DLL. Check to see if the NewEra DLL has the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 671 -

same name as an existing system DLL.
应用程序启动器 fglaunch 无法加载请求的应用程序。该 DLL 没有所需的 NewEra 入口
点,
因此它不能是 NewEra DLL。请检查 NewEra DLL 否与现有系统 DLL 具有相同的名称。


-1367 DLL dllname is not a resource DLL - Application Terminating.

The program options for the Application Launcher, fglaunch, specified
that the DLL dllname included resources, but no resources were found,
应用程序启动程序 fglaunch 的程序选项指定 DLL dllname 包含资源,但未找到资。


-1371 The field fieldname does not exist in the current form.

The indicated field name has been given to the NEXT FIELD statement or
to the pf_nxfield() function, but it is not defined in the current
form. A common error is to confuse the tag name, which is used in the
screen layout and to the left of the equal sign in the ATTRIBUTES
section, with the field name, which is the column name used to the
right of the equal sign in the ATTRIBUTES section. Use the latter when
you refer to fields.
指定的字段名称已被传递到 NEXT
FIELD 语句或 pf_nxfield()函数,但未在当前表单中定
义。
一个常见的错误是将在屏幕布局中使用的标记名称和 ATTRIBUTES 部分中等号左侧的标记
名称
与字段名称混淆了,字段名称是在等号右边使用的列名称 ATTRIBUTES 部分。当您引用字

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 672 -

段时
请使用后者。


-1372 The number entered is too large to fit in the decimal or money variable.

Probably no current GBase 8s product returns this message. If it
appears, refer to the explanation of error -1226. If the error recurs,
note all circumstances and contact GBase Technical Support.
目前 GBase 8s 产品可能不会返回此消息。如果出现,请参阅错误 -1226的解释。
如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-1373 The field fieldname is not in the list of fields in the
CONSTRUCT/INPUT statement.

The built-in function get_fldbuf() or field_touched() has been called
with the field name shown. However, input from that field was not
requested in this CONSTRUCT or INPUT statement. As a result, the
function cannot return any useful value. Review all uses of these
functions, and compare them to the list of fields at the beginning of
the statement.
内置的函数 get_fldbuf()或 field_touched()已经被调用,并显示了字段名称。但是,在

CONSTRUCT 或 INPUT 语句中未请求来自该字段的输入。
因此,
函数无法返回任何有用的值。

查看这些函数的所有用法,并将它们与语句开头的字段列表进行比较。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 673 -



-1374 SQL character truncation or transaction warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement involved is a DATABASE statement, the condition is
that the database that was just opened uses a transaction log. On any
other statement, the condition is that a character value from the
database had to be truncated to fit in its destination.
程序设置 WHENEVER WARNING STOP,出现警告状况。如果涉及的语句是 DATABASE 语句,
则条件是刚刚打开的数据库使用的事务日志。在任何其他语句中,条件是必须将数据库中
的字符值
截断以适合其目标。


-1375 SQL NULL value in aggregate or mode ANSI database warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement that is involved is a DATABASE statement, the
condition is that the database that was just opened is ANSI compliant.
On any other statement, the condition is that a null value has been
used in the computation of an aggregate value.
程序设置 WHENEVER WARNING STOP,并出现警告条件。如果涉及的语句是 DATABASE 语句,

则条件是刚刚打开的数据库符合 ANSI 标准。在任何其他语句中,条件是在计算平均值时
使用了空值。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 674 -

-1376 SQL, database server, or program variable mismatch warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement that is involved is a DATABASE or CREATE DATABASE
statement, the condition is that the database server opened the
database. On any other statement, the condition is that a SELECT
statement returned more values than there were program variables to
contain them.
程序设置 WHENEVER WARNING STOP,并出现警告条件。如果涉及的语句是 DATABASE 或
CREATE DATABASE 语句,则条件是数据库服务器已打开数据库。在任何其他语句中,条件

SELECT 语句返回的值比程序包含的变量多。


-1377 SQL float-to-decimal conversion warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
The condition is that in the database that was just opened, the
database server will use the DECIMAL data type for FLOAT values.
程序设置 WHENEVER WARNING STOP,并出现警告条件。条件是在刚打开的数据库中,数据

服务器将为 FLOAT 值使用 DECIMAL 数据类型。


-1378 SQL non-ANSI extension warning.

A database operation was performed that is not part of ANSI SQL,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 675 -

although the current database is ANSI compliant. This message is
informational only.
虽然当前数据库符合 ANSI 标准,但是数据库操作不是 ANSI SQL 的一部分。此消息仅供
参考。


-1379 Report functions may not be called directly. Use the OUTPUT
TO REPORT statement.

A report function has been entered as a result of a CALL statement.
Report functions can only be executed using the START REPORT, FINISH
REPORT, and OUTPUT TO REPORT statements. Review the program. Look for
places where the report function name is called like a normal function,
and change them. If you want to use some of the code in the report
function as a subroutine, place it in a separate subroutine, and call
it from the report function and other places.
报表函数已经作为 CALL 语句的结果输入。报表函数只能使用 START REPORT、FINISH
REPORT
和 UTPUT TO REPORT 语句执行。查看该程序。查找报表函数名称同普通函数一样被调用的
地方,
并对其进行更改。如果要将报表函数中的某些代码用作子例程,请将其放置在单独的子例
程中,并从
报表函数和其他位置调用它。


-1380 Only character expressions may be CLIPPED.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 676 -

You cannot CLIP a noncharacter expression.
不能 CLIP 一个非字符表达式。


-1381 Cannot execute another runner when debugging.

An instance of the 4GL runner is currently executing. While you are
debugging, you cannot launch additional instances of the runner through
a RUN command, the RUN accelerator button, or directly from Windows. To
launch a new instance of the runner, first quit the currently running
4GL application.
正在执行一个 4GL 运行器的实例。在调试时,无法通过 RUN 命令、RUN 加速按钮或直接

Windows 启动运行器的其他实例。要启动运行器的新实例,首先退出当前正在运行的 4GL
应用程序。


-1390 The class "class" has not been defined in any module in the program.

The named class has been declared, and it has been used, but it has
never been defined. It must be defined at the definition of the first
member function of that class.
已声明并使用该命名的类,但该类从未被定义。它必须在该类的第一个成员函数的定义中
定义。


-1391 Invalid class specified in AS clause.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 677 -


The class specified in an AS clause of a NEW or COPY operation must be
derived from the stated class.
在 NEW 或 COPY 操作的 AS 子句中指定的类必须来自所声明的类。


-1392 Cannot use a NULL object.

In the p-code runner, an attempt was made to dereference a NULL
object. Perhaps the program has defined an object, then tried to
invoke a member function of the object before creating it through
!copy() or !derive().
在 p-code 运行器中,试图取消引用 NULL 对象。也许程序定义了一个对象,
然后在通过 !copy() 或 !derive() 创建它之前尝试调用对象的成员函数。


-1393 The class class has already been defined.

The program attempted to define a class for a second time.
该程序试图再次定义一个类。


-1394 Invalid ixRow object argument for built-in function.

An ixRow argument is expected as the first argument for the built-in
functions UNPACKROW() and PACKROWINTO().

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 678 -

预计 ixRow 参数将作为内置函数 UNPACKROW()和 PACKROWINTO()的第一个参数。


-1396 A report PRINT FILE source file cannot be opened for reading.

The file that is named in a PRINT FILE statement cannot be opened.
Review the file name. If it is not in the current directory, you must
specify a full path. If the file is specified correctly, check that it
exists and that your account has file permissions to read it. Look for
operating-system error messages that might give more details.
在 PRINT FILE 语句中命名的文件无法打开。请检查文件名。如果它不在当前目录中,
则必须指定完整路径。如果文件指定正确,请检查它是否存在,并确保您的账户具有文
件权限以便读取它。请查看可能提供更多详细信息的操作系统错误消息。


-1778 The security subsystem could not be initialized for this command.

Ensure that this account has sufficient privileges.
确保此账户具有足够的权限。


-1779 This command can be executed only by members of the Gbasedbt-admin
group.

Log in with a user account that belongs to the Gbasedbt-admin group, or
ask the Windows administrator to add your user account to the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 679 -

Gbasedbt-admin group. Then try the procedure again.
使用属于 Gbasedbt-admin 组的用户账户登录,
或要求 Windows 管理员将您的用户账户添
加到
Gbasedbt-admin 组。然后再次尝试该程序。


-1780 The database server can be started only by user GBase 8s.

You must be a member of the Gbasedbt-admin group to start the database
server. Log in with a user account that belongs to the Gbasedbt-admin
group, or ask the Windows administrator to add your user account to
the Gbasedbt-admin group.
您必须是 Gbasedbt-admin 组的成员才能启动数据库服务器。使用属于Gbasedbt-admin
组的用户账户登录,或要求 Windows 管理员将您的用户账户添加到 Gbasedbt-admin 组。



-1781 The database server could not retrieve the account information for
this user account.

The account information is missing or invalid. Run User Manager to
check the validity of this account.
账户信息丢失或无效。运行用户管理器来检查此账户的有效性。


-1782 The database server cannot validate this user.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 680 -

The user does not have a valid account or password on the computer
where the database server is running. You must create a user account
and password for this user.
用户在运行数据库服务器的计算机上没有有效的账户或密码。您必须为此用户创建一个用

账户和密码。


-1783 UnSetup will carry out these actions:
UnSetup 将执行这些操作
* Remove the groupname group and the username user accounts
移除 groupname 组和 username 用户账户
* Remove the servicename service
移除 servicename 服务器
* Remove the branch Software\\branchname\\keyname\\ from the

registry
从注册表移除该分支 Software\\branchname\\keyname\\

Do you also want to remove all GBase 8s product files and directories?
(Y,N,Q)
您需要删除所有的 GBase 8s 产品文件和目录么?(Y、N、Q)


-1784 The database server could not initialize the security subsystem.

The database server runs under the user GBase 8s account, which must

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 681 -

have the following privileges:
* Log on as a service

* Create a token object

* Act as part of the operating system

* Belong to the Gbasedbt-admin group

To verify that user GBase 8s has these rights, access the User Manager,
and use the Policies/User Rights dialog box.
数据库服务器在用户 Infromix 账户下运行,该账户必须具有以下权限:

*作为服务登录

*创建一个令牌对象

*作为操作系统的一部分

*属于 Gbasedbt-admin 组

要验证用户 Gbasedbt 是否具有这些权限,请访问用户管理器,然后使用“策略/用户权
限”对话框。


-1785 pathname\buildsmi.ext

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 682 -


This message refers to the output of buildsmi.bat. For Windows, look
into the file %GBS_HOME%\etc\buildsmi.out if "Error building
sysmaster" appears in the online.log file.
此消息引用了 buildsmi.bat 的输出。对于 Windows,如果在 online.log 文件中出现
“Error building sysmaster”,请查看文件 %GBS_HOME%\etc\buildsmi.out。


-1786 The command line option specified in the Control Panel/Services/Startup
dialog was -i.

The parameter that was specified in the Control Panel/Services/Startup
dialog box was -i, which causes the database server to initialize the
root dbspace, destroying any information that it currently contains.
When the database server runs as a service under Windows, it does
not prompt you to confirm the parameters that you have specified. If
you are sure that you want to initialize the root dbspace, specify the
parameters as -iy instead.
在 控制面板/服务/启动 对话框中指定参数的是 -i,这会导致数据库服务器初始化 root
dbspace,
销毁它当前包含的任何信息。当数据库服务器在 Windows 下作为服务运行时,它不会提示
您确认已指定
的参数。如果您确定要初始化 root dbspace,请指定参数为 -iy 。


-1787 The database server detected a mismatch in the configuration file.
Mirror chunk pathname = pathname, Offset = offset K, Size = size K.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 683 -


Check the actual file size of the chunk against the size that is
specified for the mirror chunk in the ONCONFIG file.
根据为 ONCONFIG 文件中镜像 chunk 指定的大小检查 chunk 的实际文件大小。


-1788 The audit configuration-file pathname is too long. Its pathname
should contain at most maxnum characters.

The maximum number of characters, or maxnum, is 128.
最大字符数或 maxnum 为 128 。


-1789 The database server could not get account information for user username.

Check to see that the user account exists and is valid.
检查用户账户是否存在并且有效。


-1790 The database server could not be started.

Ensure that the account used to start the database server
is a member of the Gbasedbt-admin group.
确保用于启动数据库服务器的账户是 Gbasedbt-admin 组的成员。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 684 -

-1791 The database server encountered a fatal error while initializing
shared memory.

Look for the cause of this error in %GBS_HOME%\online.log.
请在 %GBS_HOME%\online.log 中查找此错误的原因。


-1792 The database server cannot access %GBS_HOME%\dbssodir or
%GBS_HOME%\aaodir.

Check access to the path segments that lead to %GBS_HOME%\dbssodir
and %GBS_HOME%\aaodir. If %GBS_HOME% is on a network drive, make
sure that the oninit process privileges are not altered. In addition,
make sure that the AAO and DBSSO group names are valid in the
registry.
检查到 %GBS_HOME%\dbssodir 和 %GBS_HOME%\aaodir 的路径段的访问权限。
如果 %GBS_HOME% 位于网络驱动器上,请确保 oninit 进程权限未被更改。另外,
请确保 AAO 和 DBSSO 组名在注册表中有效。


-1793 The database server could not open the chunk chunkname. The system
error value returned was errno.

Ensure that this chunk exists and has the correct permissions for
access.
确保该 chunk 存在并具有正确的访问权限。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 685 -



-1794 The primary chunk chunkname containing the root dbspace is
invalid. It needs to be re-initialized.

The chunk that contains the root dbspace is corrupt or out of date. If
you have backed up your database server, you can perform a full-system
restore to restore the root dbspace. If you have not backed up your
database server, you will need to reinitialize the root dbspace by
using the -iy parameters when you start the database server.
包含 root
dbspace 的 chunk 已损坏或已过时。如果已备份数据库服务器,则可以执行全
系统还原来还原 root
dbspace。如果尚未备份数据库服务器,则需要在启动数据库服务器
时使用 -iy 参数重新初始化 root dbspace。

Warning: Starting the database server with the parameters -iy reinitializes
the root dbspace and effectively destroys all existing data. You will
no longer be able to access existing databases unless you subsequently
perform a full system restore. Do not reinitialize the root dbspace
unless you are certain that you want to do so.
警告:使用参数 -iy 启动数据库服务器重新初始化 root
dbspace 并有效销毁所有现有数
据。
除非您随后执行完整的系统还原,否则将无法再访问现有的数据库。除非确定要这样做,

则不要重新初始化 root dbspace 。


-1795 The number of chunks specified in shared memory, num_chunks, is too

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 686 -

large.

The maximum allowable number with the current configuration is
num_chunks. Specify larger chunk sizes, and reduce the number of
chunks.
当前配置的最大允许数量为 num_chunks。指定较大的 chunk 大小,减少 chunk 的数量。



-1796 The database server detected a mismatch in the registry subkey data for
MIRRORPATH. The data retrieved for MIRRORPATH was pathname.

The root dbspace has not been mirrored. To add mirroring, use onspaces
or onmonitor.
root dbspace 未被镜像。要添加镜像,请使用 onspaces 或 onmonitor。


-1797 The root dbspace is not large enough for the specified configuration.
The actual size is sizenum, and the required size is sizenum.

The root dbspace will not fit on the specified drive. Free the amount
of space that is needed on the specified drive, or change the ROOTPATH
configuration parameter to specify a different drive with more space
available. Then restart the database server with the -iy parameters to
initialize the root dbspace.
root
dbspace 不适合指定的驱动器。
释放指定驱动器上所需的空间量,
或者更改 ROOTPATH
配置参数以指定具有更多可用空间的其他驱动器。
然后使用 -iy 参数重新启动数据库服务

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 687 -

器以初
始化 root dbspace。

Warning: Starting the database server with the parameters -iy
reinitializes the root dbspace and effectively destroys any existing
data. You will no longer be able to access existing databases unless
you subsequently perform a full-system restore. Do not reinitialize the
root dbspace unless you are certain that you want to do so.
警告:使用参数 -iy 启动数据库服务器重新初始化 root
dbspace 并有效销毁所有现有数
据。
除非您随后执行完整的系统还原,否则将无法再访问现有的数据库。除非确定要这样做,

则不要重新初始化 root dbspace 。


-1800 Invalid transaction state.

You must commit or rollback the current transaction before you disconnect.
在断开连接之前,您必须提交或回滚当前事务。


-1801 Multiple-server transaction not supported.

You are attempting to span multiple connections within a single
transaction. You can switch to a different connection while a
transaction is active if you use the WITH CONCURRENT TRANSACTION clause
when you establish the connection.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 688 -

您正试图在单个事务中跨越多个连接。如果在建立连接时使用 WITH CONCURRENT
TRANSACTION 子句,
则可以在事务处于活动状态时切换到其他连接。


-1802 Connection name in use.

A connection with the same connection name has already been made. Each
connection must have a unique connection name. Rename the connection,
and try again.
数据库已完成一个具有相同连接名称的连接。每个连接必须具有唯一的连接名称。请重命
名连接,然后重试。


-1803 Connection does not exist.

The connection name in a SET CONNECTION or DISCONNECT statement does
not refer to an established connection. Check your program to see that
the connection was made and, if so, that it was not disconnected. Also,
check the spelling of the connection name in the statement that is
failing.
SET
CONNECTION 或 DISCONNECT 语句中的连接名称不引用已建立的连接。请检查程序,看

是否已建立连接,如果是,则表示没有断开连接。另外,请检查失败的语句中连接名称的
拼写。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 689 -

-1804 Invalid database environment.

The database server cannot connect to the database environment that you
specified. The server cannot locate either the database server or the
database that you specified. Check the syntax of your statement. If you
are specifying a database server, you must use the @ sign. You cannot
use //.
数据库服务器无法连接到您指定的数据库环境。服务器无法找到您指定的数据库服务器或
数据库。
请检查语句的语法。如果要指定数据库服务器,则必须使用 @ 符号。不能使用 //。


-1805 Invalid connection name.

The connection name is invalid. It must conform to the same rules as any
other identifier; that is, it cannot exceed the maximum length, cannot be an
ANSI reserved word, must begin with a letter or underscore, and can contain
only letters, digits, underscores, and dollar-sign characters.
连接名称无效。它必须符合与任何其他标识符相同的规则;也就是说,它不能超过最大长
度,
不能是 ANSI 保留字,必须以字母或下划线开头,并且只能包含字母、数字、下划线和美
元符号。

The maximum length for identifiers depends on the database server. In
GBase 8s , the maximum length is 128 characters. In other GBase 8s
database servers, the maximum length is 18 characters.
标识符的最大长度取决于数据库服务器。 在 GBase 8s 中,最大长度为 128 个字符。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 690 -


Check that the connection name is a valid identifier and that you are using
the connection name and not some other value. If a connection name was used
with the original CONNECT TO statement, you must use the connection name in
subsequent connection statements.
检查连接名称是否是有效的标识符,并且您正在使用连接名称而不是其他值。如果同时使
用连接名称和原始
CONNECT TO 语句,则必须在后续连接语句中使用连接名称。


-1807 No connection to disconnect.

You are attempting to disconnect a connection that does not exist at
this time. Check your program to see that you have not already
performed a DISCONNECT statement for this connection.
您正试图断开此时不存在的连接。请检查程序,看看还没有为这个连接执行 DISCONNECT语
句。


-1808 Reconnect to server_name server to perform the database operation.

If you connect to a database server using the CONNECT statement, you
cannot implicitly reconnect to a server through one of the DATABASE
statements (DATABASE, START DATABASE, and so on). You must switch to it
with the SET CONNECTION statement.
如果使用 CONNECT 语句连接到数据库服务器,则不能通过其中一个 DATABASE 语句
(DATABASE、

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 691 -

START DATABASE 等)隐式重新连接到服务器。您必须使用 SET CONNECTION语句切换。


-1809 Server rejected the connection.

Check that you have permission to connect to the server that you
specified. If you specified both a database server and a database,
check to see that you have permission to access the database.
检查您是否有权连接到指定的服务器。如果同时指定了数据库服务器和数据库,请检查您
是否有权访问数据库。

This error message can occur when you are trying to use a Pluggable Authentication
Module (PAM) feature of IDS when one or both of the following conditions exists:
当存在以下一个或两个条件时,当您尝试使用 IDS 的可插入身份验证模块(PAM)功能时,
可能会出现此错误信息:

* The
PAM
configuration
file
is
not
set
correctly.
Refer
to
the
OS vendor
documentation for more information.
* PAM 配置文件设置不正确。有关更多信息,请参阅 OS 供应商文档。

* The client or server computer is not configured to handle PAM messages

that are generated from a connection request.
* 客户端或服务器计算机没有配置处理从连接请求生成的 PAM 消息。


-1810 Disconnect error.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 692 -

A DISCONNECT ALL statement has not disconnected a connection. The
database server for one of the connections might have terminated. If
not, the cause is internal to the software. If the error recurs,
note all circumstances and contact GBase Technical Support.
DISCONNECT
ALL 语句没有断开连接。
其中一个连接的数据库服务器可能已终止。
如果不是,

错误原因产生自软件内部。如果错误再次出现,请记下所有情况并联系 GBase 技术支持。



-1811 Implicit connection not allowed after an explicit connection.

Once you have used the CONNECT TO statement to establish an explicit
connection to a database server, you cannot use one of the DATABASE
statements to connect implicitly to another database server. After an
explicit connection, you must use the CONNECT TO statement to connect
to other database servers.
一旦使用 CONNECT TO 语句建立到数据库服务器的显式连接,就不能使用其中一个
DATABASE
语句隐式连接到另一个数据库服务器。在显式连接之后,必须使用 CONNECT TO 语句连接
到其他
数据库服务器。


-1812 Internal error.

If this internal error recurs, note all circumstances and
contact GBase Technical Support.
如果此内部错误再次出现,请记下所有情况并联系 GBase 技术支持。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 693 -



-1813 Only the current connection can be made dormant.

You used the SET CONNECTION DORMANT statement incorrectly. You
attempted to put a connection that was already dormant into the dormant
state. Or you attempted to put a connection that is in use by another
thread in a dormant state.
您错误地使用了 SET CONNECTION DORMANT 语句。试图将已处于休眠状态的连接置于休眠
状态。或者尝试将另一个线程正在使用的连接置于休眠状态。


-1814 Need to allocate collection or row variable before using it.

The application needs to call ALLOCATE COLLECTION or ALLOCATE ROW
before it uses a host variable of type collection or of type row in an
SQL statement.
应用程序在使用 SQL 语句中的集合类型或行类型的主机变量之前,需要调用
ALLOCATE COLLECTION 或 ALLOCATE ROW。


-1815 No type information for collection or row is available.

The application needs to declare a typed collection or row host
variable before using it in an SQL statement. The application can fetch
the complex type data from a column of type set, type list, type

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 694 -

multiset or type row into their untyped collection or row host variable
before it uses the data in the SQL statements.
应用程序需要在 SQL 语句中使用类型集合或行主机变量之前就声明它们。在使用 SQL 语
句中
的数据之前,应用程序可以将类型集、类型列表、类型 multiset 或类型行的列中的复杂
类型
数据提取到它们的非类型化集合或行主机变量中。


-1816 No such column exists in the collection or row.

The field name specified by the application does not exist in the
description of the collection or row host variable. Check the
description of the field names within the declaration and make sure
thefield name specified matches the one in the declaration.
集合或行主机变量的描述中不存在应用程序指定的字段名称。请检查声明中字段名称的描
述,
并确保指定的字段名称与声明中的字段名称匹配。


-1817 No collection or row variable provided.

A collection or row host variable was expected but none was provided, or the
host variable used in the derived table syntax is not a collection or row
host variable.
需要集合或行主机变量,但没有提供任何变量,或者派生表语法中使用的主机变量不是集
合或行主机变量。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 695 -


Check the declaration of this host variable in the application and change it
to a collection or row host variable declaration.
请检查应用程序中此主机变量的声明并将其更改为集合或行主变量声明。


-1818 Input variable type does not match collection or row definition.

Certain data types cannot be cast on the client. The following
situations return this error:

* Trying to cast any complex type into any other complex type

(that is, casting a set into list)

* Trying to cast a built-in type (for example, INT) into a
complex type

* Trying to cast a complex type into a user-defined data type

* Trying to cast a built-in type into a user-defined data type

Check the SQL statement and make sure the types are compatible.

某些数据类型不能在客户端上转型。以下情况会返回此错误:

*尝试将任何复杂类型转换为任何其他复杂类型(将一个 set 转换为 list)

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 696 -


*尝试将内置类型(例如,INT)转换为复杂类型

*尝试将复杂类型转换为用户定义的数据类型

*尝试将内置类型转换为用户定义的数据类型

请检查 SQL 语句并确保类型兼容。


-1820 The host variable type was changed between fetches or puts.

If the host variable is used for user-defined-data-type columns or if
the host variable itself is a user-defined-data-type host variable, the
host variable type and length cannot be changed between fetches or puts.
如果主机变量用于用户定义的数据类型列,或者主机变量本身是用户定义的数据类
型主机变量,则主机变量类型和长度不能在提取或放入之间更改。


-1821 Host variable is not large enough to hold the data returned from
the server.

The memory allocated by the application to fetch the user-defined data
type is not sufficient. Change the application so that it allocates
more memory before it fetches this user-defined data type.
应用程序分配的用于获取用户定义数据类型的内存不足。请更改应用程序,以便在

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 697 -

获取此用户定义的数据类型之前分配更多内存。


-1822 Invalid argument.

One of the arguments passed to the function has an illegal value or is
NULL. Check the documentation for the valid values that can be passed
to this function.
传递给该函数的参数中具有非法值或为 NULL。请检查文档以获取可传递给此函数
的有效值。


-1823 Need more memory to store data.

This error is returned from ifx_var_setlen() and ifx_var_setdata() when
the application tries to set the length or the data to a size that is
larger than the amount of memory allocated in ifx_var_alloc(). Find the
current allocated length by calling ifx_var_getlen(), resize it if
necessary by calling ifx_var_alloc(), and execute ifx_var_setlen() or
ifx_var_setdata() again.
当应用程序尝试将长度或数据设置为大于 ifx_var_alloc()中分配的内存量的大小时,将

ifx_var_setlen() 和 ifx_var_setdata() 返回此错误。通过调用 ifx_var_getlen()
查找当前分配的长度,如果需要请调用 ifx_var_alloc() 调整其大小,并再次执行
ifx_var_setlen() 或 ifx_var_setdata()。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 698 -


-1824 Message cannot be found.

The server user-defined routine has been executed, but the message text
cannot be found. Check the user-defined routine to make sure all
SQLSTATES returned by the server have a corresponding message text
associated with them.
已经执行服务器用户定义的例程,但无法找到消息文本。请检查用户定义的例程以确保服

器返回的所有 SQLSTATES 都具有与其相关的相应消息文本。


-1825 INSERT and DELETE cannot be performed on ROW host variables.

Only UPDATE and SELECT statements can be used with row host variables.
Check the derived table syntax that is using the row host variable and
use UPDATE or SELECT instead.
只有 UPDATE 和 SELECT 语句可以用于行主机变量。请检查使用行主变量的派生表语法,

使用 UPDATE 或 SELECT 代替。


-1826 DESCRIBE information about this statement is not available at this time.

When the DEFERRED_PREPARE option is turned on, the description of the
statement is not known until the cursor is opened. Therefore, a DESCRIBE
can only be executed after an OPEN. If DEFERRED_PREPARE and OPTOFC are

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 699 -

both turned on, then the DESCRIBE can happen only after the FETCH, because
the OPEN is not executed until the FETCH is executed.
当打开 DEFERRED_PREPARE 选项时,直到游标打开后才能知道该语句的描述。因此,
一个 DESCRIBE 只能在 OPEN 之后执行。如果 DEFERRED_PREPARE 和 OPTOFC 都已打
开,那么 DESCRIBE 只能在 FETCH 之后发生,因为在执行 FETCH 之前不会执行 OPEN。

-1828 Cannot use scroll or hold cursor with client collections.

A cursor declaration for a client collection cannot be for a scroll or hold
cursor, as in the following declarations:
客户端集合的游标声明不能用于滚动或保持游标,如以下声明所示:

/** scroll cursor case **/
EXEC SQL DECLARE cur1 SCROLL CURSOR
FOR SELECT * FROM table(:collection_host_variable);

/** hold cursor case **/
EXEC SQL DECLARE cur2 CURSOR WITH HOLD
FOR SELECT * FROM table(:collection_host_variable);

Declare the cursor as follows instead:
相反,如下所示声明游标:

EXEC SQL DECLARE cur3 CURSOR
FOR SELECT * FROM table(:collection_host_variable);


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 700 -


-1829 Cannot open file citoxmsg.pam.

The file citoxmsg.pam is missing from the directory $GBS_HOME/msg.
目录 $GBS_HOME/msg 中缺少 citoxmsg.pam 文件。

If this error occurs, note all circumstances and contact GBase Technical Support.
如果发生此错误,请记下所有情况并联系 GBase 技术支持。


-1831 Combination of FetArrSize, Deferred-PREPARE, and OPTOFC is not supported.


-1832 Environment block is greater than 32K.

At the start of a session, the client groups all the environment variables
that the server will use and sends the environment variables to the server as
a single block. The maximum allowed size of this block is 32K. The current
block of environment variables exceeds 32K. Unset one or more environment
variables or reduce the size of some of the environment variables and then
retry connection to IDS.
在会话开始时,客户端会将服务器将使用的所有环境变量进行分组,并将环境变量作为单
个 block
发送到服务器。该 block 的最大允许大小为 32 K。当前的环境变量 block 超过 32 K。
请取消
设置一个或多个环境变量或减小某些环境变量的大小,然后重新连接到 IDS。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 701 -


-1833 Cannot open file itoxmsg.pam.

The file itoxmsg.pam is missing from the directory $GBS_HOME/msg.
文件 itoxmsg.pam 从 $GBS_HOME/msg 目录中丢失。

If
this
error
occurs,
note
all
circumstances
and
contact GBase
Technical
Support.
如果发生此错误,请记下所有情况并联系 GBase 技术支持。


-2013 The output form file filename cannot be opened.

Possibly your account does not have permission to write in the
specified directory; possibly the disk is full. In some systems, the
problem might be related to a limit on the number of open files. Look
for operating-system messages for more information.
可能是因为您的账户没有写入指定的目录的权限;可能磁盘已满。在某些系统中,
问题可能与打开文件的数量限制有关。请查找操作系统消息以获取更多信息。


-2014 There were an incorrect number of arguments on the operating
system command line. At least one (1) argument is expected.

When you run the Form Compiler from the command line, you must specify
either the -d option or the name of a form.
从命令行运行 Form Compiler 时,必须指定 -d 选项或表单的名称。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 702 -



-2015 An open comment symbol, {, was found inside an already open
comment on line line, character column. This could be due to a failure
to close the previously opened comment, which was begun on line line,
character column.

Nested comments are not supported. Review the form specification, and
inspect all comments. Check that each open brace has a matching close
brace.
不支持嵌套注释。请查看表格规范,并检查所有注释。检查每个开放大括号是否有匹配的
大括号。


-2016 A comment has been opened, but not closed. The last comment begun
was opened on line line, character column.

Insert a close-comment symbol where appropriate in the report
specification.
请在报表规范中适当的位置插入一个结束注释的符号。


-2017 The character data value does not convert correctly to the field type.

You have entered a character value (a quoted string) into a field that
has a different data type (for example INTEGER). However, the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 703 -

characters that you entered cannot be converted to the type of the
field. Consult the operating instructions for this application, then
reenter the data.
您已将字符值(带引号的字符串)输入到具有不同数据类型的字段(例如 INTEGER )。但
是,
输入的字符不能转换为字段的类型。请参阅此应用程序的操作说明,然后重新输入数据。


-2018 A grammatical error has been found on line line, character column.
The construct is not understandable in its context.

This message points to the exact spot in a source file where the
compiler could no longer understand the input. The actual mistake might
be earlier in the file, perhaps several lines earlier, but it is not
later. Other, more specific error messages should also appear.
此消息指向源文件中编译器无法理解输入的确切位置。实际的错误可能早于文件,可能早
于几行,
但其还不算晚。会出现其它更具体的错误信息。


-2019 This integer exceeds the maximum size allowed.

The INTEGER data type can accept numbers with absolute values from 0 to
2,147,483,647 (plus or minus (2 to the 31st power) - 1). If you have to
store numbers outside this range, redefine the column or variable to
use DECIMAL data type. (The value -2,147,483,648 is a 32-bit value but
is not acceptable; it is used in 4GL to indicate a null value.)

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 704 -

INTEGER 数据类型可以接受绝对值从 0 到 2,147,483,647(加号或减号(2 的 31 次方)
-1)
的数字。如果必须存储此范围之外的数字,则请重新定义列或变量,使用 DECIMAL 数据类
型。
(值 -2,147,483,648 是一个 32 位值,但不可接受;它在 4GL 中用于指示空值。)


-2020 The table table-name could not be opened. The operating system was
asked to open it for writing.

You are using a database server that manages tables as ordinary disk
files. The current database is managed as a directory, and tables are
files within it. Look for operating-system error messages that might
give more information. Locate the database directory (either in the
current directory or on a path that is named in the DBPATH environment
variable). Check that disk space is available. In UNIX, your personal
account does not have to have write access to the directory and table
files; however, they must be writable to the group-id GBase 8s.
您正在使用将表管理为普通磁盘文件的数据库服务器。当前数据库作为目录进行管理,表
是其
中的文件。查找可能提供更多信息的操作系统错误消息。找到数据库目录(在当前目录中
或在
DBPATH 环境变量中命名的路径中)。检查磁盘空间是否可用。在 UNIX 中,您的个人账户
不必具有对目录和表文件的写入权限;但是,GBase 8s 组必须对它们必须具有写入权限。



-2021 An illegal color has been specified. Colors 0 through 7 are white,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 705 -

yellow, magenta, red, cyan, green, blue, and black.

Both in a COLOR attribute in a form specification and in a display
attribute in a 4GL program, you must specify colors by name and spell
them as this message shows. Check the spelling and punctuation of the
statement.
无论是在表单规范的 COLOR 属性中还是在 4GL 程序中的显示属性中,都必须按名称指定
颜色
并在此消息显示时拼写它们。请检查该与居家的拼写和标点符号。


-2022 This identifier exceeds the maximum length for identifiers,
which is .

Names of fields and other identifiers cannot exceed the maximum length.
字段和其他标识符的名称不能超过最大长度。

Revise the form specification and recompile it.
请检查表单规范并重新编译它。


-2023 This quoted string exceeds the maximum length for quoted strings,
which is length.

You cannot use longer quoted strings. In a form, you cannot join
shorter strings to make longer ones, so this maximum is an absolute

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 706 -

length limit. You must revise the form specification and recompile it.
无法使用更长的引用字符串。在一个表单中,不能加入较短的字符串来制作较长的字符串,

因此此最大值是绝对长度限制。必须修改表单规范并重新编译它。


-2024 There is already a record name specified. If the record name is
the same as a table name in the form, a default record of the same name
has been created.

Check that the record-name of every screen record and screen array is
unique in the form specification. A screen record is automatically
defined for each table that is used in the ATTRIBUTES section to define
a field. If you define a record with the name of a table, it is seen as
a duplicate.
检查每个屏幕记录和屏幕数组的记录名在表单规范中是否是唯一的。屏幕记录会自动定义
ATTRIBUTES 部分中用于定义字段的每个表。如果您使用表名称定义记录,则将其视为重复
值。


-2025 The comment close symbol (}) has been found on line line, character
column, even though no comment has been opened.

Unless comment symbols are enclosed in quotes, they must be balanced.
Probably you accidentally deleted the open-comment symbol when you were
editing. Change the form specification so that comments are properly
delimited.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 707 -

除非注释符号用引号引起来,否则它们必须成对出现。编辑时可能意外删除了
open-comment 符号。
请更改表单规范,以便正确分隔注释。


-2026 The FORMONLY field fieldname did not have a type specified. A type
must be specified if include lists or default values are specified.

The usual way of defining a form-only field (one not linked to a
database column) is as follows:
定义仅用于表单的字段(没有链接到数据库列)的常用方法如下所示:

tagname = DISPLAYONLY.fieldname TYPE datatype

The TYPE clause is required. Review the attribute statements and
recompile the form. (The keyword FORMONLY is used in forms that the 4GL
compiler compiles. Its meaning is the same as DISPLAYONLY.)
TYPE 子句是必需的。请检查属性语句并重新编译表单。(关键字 FORMONLY 用于 4GL
编译器编译的形式,其含义与 DISPLAYONLY 相同。)


-2027 An illegal (invisible, control) character has been found on
line line,character column. It has been replaced by a blank in the listing,
but it is still in the source (input) table, and should be removed before
attempting to compile again.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 708 -

Illegal characters can be introduced into files by using a
word-processing editor in document mode instead of text mode,
by striking nonprinting keys while editing the file, or by
data corruption.y
通过在文档模式下使用文字处理编辑器代替文本模式,在编辑文件时按非打印键可以
将非法字符引入文件。或者是由于数据损坏而引入了非法字符。


-2028 The symbol name does not represent a table prefix used in this form.
It cannot be used here to select record elements.

In a SCREEN RECORD statement, each component must be introduced by the
name of the table as defined in the TABLES section or by the word
FORMONLY. Review the spelling of the indicated name against the TABLES
section, and check the punctuation of the rest of the statement.
在 SCREEN RECORD 语句中,每个组件必须按照 TABLES 部分中定义的表名或 FORMONLY
一词的名称引入。请查看指定名称与 TABLES 部分的拼写,并检查其余部分的标点符号。


-2029 Screen record array name has component sizes which either
differ from the specified dimension of the array or differ among themselves.

The dimension of the screen array is written in square brackets that
follow its name, as in the following example where the dimension is 12:
屏幕数组的维度写在名称后面的方括号中,如以下维度为 12 的示例所示:


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 709 -

SCREEN RECORD details [12]

(items.item_num, items.item_desc, items.unit_price)

In this case, exactly 12 screen fields should be associated with each
of the three columns that are listed in the screen record. This error
message appears when one or more of the columns appear a different
number of times.
在这种情况下,屏幕记录中列出的三列中的每一列都应与 12 个屏幕字段相关联。
当一个或多个列显示不同的条目数时,会出现此错误消息。


-2030 A typographical error has been found on line line, character column.

The single character at the indicated position, although printable, is
unexpected and does not fit the syntax of a form specification.
指定位置处的单个字符虽然是可打印的,却是不是预期的,并且不符合表单规范的语法。


-2031 The WORDWRAP attribute can only be specified for CHAR, VARCHAR and
TEXT fields.

This PRINT statement applies the WORDWRAP function to a value that is
not character data. Check that the field named is the one that you
intended, and check the punctuation of the rest of the statement.
该 PRINT 语句将 WORDWRAP 函数应用于不是字符数据的值。请检查指定的字段是否是您

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 710 -

想要的字段,并检查语句其余部分的标点符号。


-2032 The number above could not be successfully converted to either an
INTEGER or a DOUBLE or a LONG.

Something is wrong with the numeric constant; probably it has too many
digits. Check the punctuation of the statement; possibly two numbers
have been run together.
数字常量有些问题;可能它有太多的数字。请检查语句的标点符号;可能是同时运行了两
个数字。


-2033 The field name has a default value not within the range of its include
list values.

The indicated field has both a DEFAULT attribute and an INCLUDE
attribute, but they disagree. The default value is not one that
is allowed. Modify one of the attributes, and recompile the form
specification.
指定的字段同时具有 DEFAULT 属性和 INCLUDE 属性,但是它们互相冲突。缺省值
不是允许的值。请修改其中一个属性,并重新编译表单规范。


-2034 This feature is not available for GBase 8s SQL. It is available for
GBase 8s 4GL by using the "form4gl" form builder.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 711 -


The PERFORM form compiler and the 4GL form compiler accept very similar
form specifications, but they differ in some features. This statement
uses a 4GL feature, but PERFORM cannot process it.
PERFORM 表单编译器和 4GL 表单编译器接受相似的表单规范,
但它们在某些功能上有所不
同。
该语句使用 4GL 功能,但 PERFORM 无法处理它。


-2035 The WORDWRAP attribute, if specified, should apply to all
the columns in a join.

Ignore this message. It applies to a feature of PERFORM (joins) that
4GL does not support.
忽略此消息。它适用于 4GL 不支持的 PERFORM(joins)功能。


-2036 The display lines of a multi-line field lie in different screen pages.

A multiline field (multiple fields with identical tags, given the
WORDWRAP attribute) must be complete within a screen page. Possibly you
did not intend the field to be on two pages. If your page layout, plus 4
reserved lines, is taller than the physical screen (as specified in
the SCREEN statement or in the lines dimension on the command line),
the form is divided by starting a new page after the last line that can
fit on the page, and this situation might accidentally split a

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 712 -

multiline field. In any case, rearrange fields so that the multiline
field fits on a single page.
多行字段(带有相同标签的多个字段,具有 WORDWRAP 属性)必须在屏幕页面内完成。可

您不打算将这个字段分成两页。如果页面布局加上 4 条保留行高于物理屏幕(如 SCREEN
语句或命令行上的行尺寸中所指定的那样),则可以通过在最后一行之后开始新页面来在

面上划分表单,这种情况可能会意外地分割多行字段。无论如何,请重新排列字段以便多

字段适合单个页面。


-2037 The PROGRAM attribute can only be specified for BYTE and TEXT fields.

The field attribute PROGRAM specifies an external program to edit or
display a BYTE or TEXT value; these values are assumed to be too large
and specialized for the normal form-display methods. However, in this
statement, the attribute is applied to a column of another type, which
is not supported. Check the table and column names to make sure that
they are as you intended, and verify the current definition of the
table in the database that is named in the DATABASE statement.
字段属性 PROGRAM 指定一个外部程序来编辑或显示 BYTE 或 TEXT 值;假定这些值太大
并且使用特定的正常的形式显示。但是,在此语句中,该属性应用于另一种类型的列,但
该列
不支持。请检查表名和列名以确保它们符合要求,并验证当前在 DATABASE 语句中命名的
数据
库中的表定义。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 713 -



-2038 BLOB fields cannot be joined.

Columns of BYTE and TEXT types cannot be compared. Therefore, they
cannot be used in joining tables, and they cannot be named as join
columns or in a COMPOSITES statement. Check that the table and column
names are as you intended, and verify the current definition of the
table in the database that the DATABASE statement names.
BYTE 和 TEXT 类型的列无法进行比较。因此,它们不能用于连接表,并且不能将其命名
为连接列或 COMPOSITES 语句。请检查表名和列名是否符合您的要求,并验证当前数据
库中 DATABASE 语句指定名称的定义。


-2039 The attributes AUTONEXT, DEFAULT, INCLUDE, VERIFY, RIGHT and ZEROFILL
are not supported for BLOB fields.

Columns of BYTE and TEXT types cannot be used in the ways that these
attributes imply. Check that the table and column names are as you
intended, and verify the current definition of the table in the
database that the DATABASE statement names.
BYTE 和 TEXT 类型列不能隐式地以这些属性的方式使用。
请检查表名和列名是否符合您的
要求,
并验证当前数据库中 DATABASE 语句所指名称的定义。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 714 -

-2040 The form name name exceeds the maximum length of length characters.

The limit of the form compiler on names might be shorter than that of
the host operating system. Rename the form-specification file, and
issue the command again.
表单编译器在名称上的限制可能比主机操作系统的限制短。重命名窗体规范文件,并再次
发出该命令。


-2041 The form filename cannot be opened. This is probably because
it does not exist, or the user does not have read permission.

Check the spelling of filename. Check that the form file exists in your
current directory. If it is in another directory, check that the
correct pathname has been provided. On a UNIX system, if these things
are correct, verify that your account has read permission on the file.
检查文件名的拼写。检查表单文件是否存在于当前目录中。如果它在另一个目录中,
请检查是否提供了正确的路径名。在 UNIX 系统上,如果以上几点都是正确的,请
确认您的账户对文件具有读取权限。


-2042 The usage of a BLOB field in or around the above statement
is incorrect.

Columns of BYTE and TEXT types cannot be used in the ways that this
statement implies. Check that the table and column names are as you

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 715 -

intended, and verify the current definition of the table in the
database that the DATABASE statement names.
BYTE 和 TEXT 类型列不能隐式地以这些属性的方式使用。请检查表名和列名是否符
合您的要求,并验证当前数据库中 DATABASE 语句所指名称的定义。


-2043 Screen layout exceeds the specified screen width. This is
a warning only.

The assumed screen width is taken from the SCREEN statement or a
command-line parameter to the form compiler, with a default of 80
characters. If the current form specification is displayed on a
terminal of that width, either some lines truncate, or lines wrap
unattractively.
假定的屏幕宽度是从 SCREEN 语句或 acommand-line 参数获取到表单编译器,缺省
值为 80 个字符。如果当前表单规范在该宽度的终端上显示,则可能会有一些行被截断,
或者换行很难看。


-2044 At most one color attribute may be specified for each
field with each condition.

Review this ATTRIBUTES statement; a problem exists near a COLOR
attribute. Look for missing punctuation.
请检查 ATTRIBUTES 属性;COLOR 属性旁存在一个问题。请检查缺少的标点符号。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 716 -


-2045 The conditional attributes of a 4GL field cannot depend
on the values of other fields.

The Boolean expression in a WHERE clause of a COLOR attribute can use
only the name of that field and constants. Revise this attribute, and
recompile the form.
COLOR 属性的 WHERE 子句中的布尔表达式只能使用该字段和常量的名称。
修改此属性并重
新编译表单。


-2100 Field field has validation string error, String = string.

One of the formatting or validation strings that is stored in the
syscolval or syscolatt tables is improperly coded. The string is shown
as is the field to which it applies. Use the Column Attributes
Dictionary utility in Windows or the upscol utility in DOS and UNIX to
update the string.
存储在 syscolval 或 syscolatt 表中的格式化或验证字符串被错误地编码。字符串显示

它应用的字段。使用 Windows 中的 Column Attributes Dictionary 实用程序或 DOS 和
UNIX
中的 upscol 实用程序来更新字符串。


-2800 The first line of the specification must be the keyword database
followed by the database name, or the FORMONLY keyword (4GL only). An optional

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 717 -

WITHOUT NULL INPUT may also follow.

Aside from comment lines, a form specification must begin by naming a
database. Review the file for punctuation and spelling errors. Refer to
the reference manual for this product for the options that are allowed
in the DATABASE statement.
除了注释行外,表单规范必须以命名数据库开始。查看文件中的标点符号和拼写错误。
有关 DATABASE 语句中允许的选项,请参阅本产品的参考手册。


-2810 The name name is not an existing database name.

This name, which was found in the DATABASE statement at the start of
the form specification, is not a database that can be found. If you
are using GBase 8s SE, the database must reside either in the current
directory or in a directory that the DBPATH environment variable
names.
在表单规范开头的 DATABASE 语句中找到的名称,不是现有的数据库名称。如果您正在使
用 GBase 8s SE,则数据库必须位于当前目录中或 DBPATH 环境变量所指定的目录中。


-2811 The temporary table table-name could not be opened for writing.

The application is attempting to create a temporary table in the
database or some other temporary file but received an error code from
the database server. The most probable cause is a lack of disk space.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 718 -

Look for other error messages, including operating-system messages,
that might give more information.
应用程序正试图在数据库或其他临时文件中创建临时表,
但收到数据库服务器的错误代码。

最可能的原因是缺少磁盘空间。查找可能提供更多信息的其他错误消息,包括操作系统消
息。


-2812 The temporary table table-name could not be read.

The application created and filled a temporary table in the database or
created and filled some other temporary file, but when it tried to read
rows from it, it received an error code from the database server.
Probably a hardware failure occurred. Look for other error messages,
including operating-system messages, that might give more information.
应用程序在数据库中创建并填充了一个临时表,或者创建并填充了一些其他临时文件,但

当它尝试从中读取行时,它从数据库服务器收到错误代码。可能是发生了硬件故障。查找

能提供更多信息的其他错误消息,包括操作系统消息。


-2820 The label name between brackets is incorrectly given or
the label is missing.

In this line of the SCREEN section of a form specification, square
brackets indicate a field. The brackets should contain a simple name.
Instead, they contain spaces or an invalid name. Review the punctuation

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 719 -

of the line to make sure that the brackets contain only a simple
identifier.
在表单规范的 SCREEN 部分的该行中,方括号表示一个字段。方括号应该包含一个简单的
名称。
相反,它们包含空格或无效名称。检查该行的标点符号以确保括号只包含一个简单的标识
符。


-2830 A left square bracket has been found on this line, with no right
square bracket to match it.

A screen field cannot span lines. Review the SCREEN section to make
sure all fields are properly marked. To create a multiline field, mark
off multiple complete fields all with the same field tag.
屏幕字段不能跨越行。请查看 SCREEN 部分以确保所有字段都已正确标记。要创建多行字
段,
请标记多个完整字段,并使用相同的字段标记。


-2831 The control block has exceeded the maximum of limit fields.

Too many columns or tables are listed in the OF clause of this control
block. Write separate control blocks, each for part of the list.
该控制块的 OF 子句中列出了太多的列或表。请编写单独的控制块,根据列表的每个部分
划分。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 720 -

-2832 This form uses "|" to both start and end a field placement.
Because of this, the form must specify left and right delimiters which
are the same character. This is done with the DELIMITERS command in
the INSTRUCTIONS section.
因此,
表单必须指定相同字符的左右分隔符。
通过 INSTRUCTIONS 部分中的 DELIMITERS 命
令完成。

Make sure that a DELIMITERS statement is present and that it specifies
the same character for both left and right delimiters.
确保存在 DELIMITERS 语句,并为左右分隔符指定相同的字符。


-2834 NULL cannot be used as the default. It is already the
default if you specify nothing.

This ATTRIBUTES statement contains a DEFAULT clause that specifies
NULL. Either delete the clause, or specify another value.
此 ATTRIBUTES 语句包含一个指定 NULL 的 DEFAULT 子句。要么删除该子句,要么指定另
一个值。


-2840 The label tag was not defined in the form.

The indicated name appears at the left of this ATTRIBUTES statement,
but it does not appear within brackets in the SCREEN section. Review
the field tags that have been defined to see why this one was omitted.
指定的名称出现在 ATTRIBUTES 语句的左侧,但它不出现在 SCREEN 部分的括号内。请查

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 721 -


已经定义的字段标签,以了解为什么省略这个字段标签。


-2841 The form must include a tables declaration before the attributes
section.

Check that the form-specification file contains a DATABASE statement, a
SCREEN section, a TABLES section, and an ATTRIBUTES section, in that
order.
按照该顺序检查表单规范文件是否包含 DATABASE 语句、SCREEN 部分、TABLES 部分和
ATTRIBUTES 部分。


-2843 The column column-name does not appear in the form specification.

A name in this ATTRIBUTES statement should have been defined previously
in the form specification. Check that all names in the statement are
spelled correctly and defined properly.
此 ATTRIBUTES 语句中的名称应该已经在表单规范中定义。检查声明中的所有名称的拼写

否正确并正确定义。


-2844 The column column-name is associated with more than one field in the
form specification.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 722 -


Any one table column can be related to only one field in an ATTRIBUTES
statement. Possibly you are trying to display columns from two or more
tables that have the same column names; in that case, prefix the table
names to the column names to distinguish them.
任何一个表列都只能与 ATTRIBUTES 语句中的一个字段相关联。可能您试图显示来自两个
或多个具有相同列名称的表的列;在这种情况下,将表名添加到列名前面以区分它们。


-2845 The composite column for table table-name containing
column column is not indexed. Performance will be much improved by
creating an index on the column.

The presence of an index can greatly reduce the time that is needed to
join tables. However, an index is not essential, especially when the
tables are small, or during initial testing.
索引的存在可以大大减少连接表所需的时间。但是,索引不是必需的,特别是在表很小或
初始测试期间。


-2846 The field field-name is not a member of the table table-name.

Something in this statement suggests that the name shown is part of
this table, but that is not true in the current database. Review the
spelling of the two names. If they are as you intended, check that the
correct database is in use and that the table has not been altered.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 723 -

该语句中的某些内容表明所显示的名称是此表的一部分,但在当前数据库中不是这样。请

看这两个名字的拼写。如果它们符合您的要求,请检查是否正在使用正确的数据库并且表

被更改。


-2850 The name name is not a column name in this database.

The tables that are specified in the TABLES section of the form exist,
but the column name, which is named in the ATTRIBUTES section, does
not. Check its spelling against the actual table. Possibly the table
was altered, or the column was renamed. You can use GBase 8s SQL to
check column names under the Tables menu, Info selection.
在表单的 TABLES 部分中指定的表存在,但在 ATTRIBUTES 部分中不包含命名的列名。
检查其对实际表的拼写。可能表被更改了,或者列被重新命名了。可以使用 GBase 8s SQL
检查 Info Tables 的信息。


-2856 The TODAY attribute may be assigned only to date columns.

The TODAY function (not attribute) returns the value of today's date.
That value can be assigned only to a field that has the DATE or
DATETIME data type. The field in this statement has a different type.
Automatic data conversion is provided in 4GL programs, but not in the
context of a form.
TODAY 函数(非属性)返回今天日期的值。该值只能分配给具有 DATE 或 DATETIME

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 724 -

数据类型的字段。该语句中的字段具有不同的类型。在4GL程序中提供自动数据转换。
但不在表单的上下文中提供。


-2857 There can be only one dominant composite column in a join list.

This statement defines a join list, a list of two or more column names
that are related to the same form field. In such lists, an asterisk
preceding a column name indicates that column is the dominant column in
a verify join. Only one such column is allowed in any join, but two or
more are present in this list. Review the documentation on verify
joins, and choose a single dominant table.
该语句定义了一个连接列表,是与同一个表单字段相关的两个或多个列名称的列表。在这

的列表中,列名前面的星号表示该列是验证连接中的显性列。在任何连接中只允许有一个

样的列,但是此列表中有两个或更多列。请查看关于验证连接的文档,并选择一个统一的
表。


-2858 The table table-1 is joined to the table table-2, but its joined
columns do not belong to a composite key.

You have defined two or more different joining columns between the two
indicated tables. However, no composite index exists on the joining
columns. Such an index is required to ensure that a composite key
exists; that is, that any combination of values from the joining

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 725 -

columns will occur only once. Review the two or more ATTRIBUTES
statements that define join columns for these two tables. Make sure
that they are as you intended; for example, make sure that you intended
to join two tables on two or more columns, instead of joining three or
more tables on one column each. If you intended the composite key, then
use the CREATE INDEX command to create a composite unique index on
those columns for at least table1.
已在两个指定的表之间定义了两个或更多不同的连接列。但是,连接列上不存在组合索引。

需要组合索引确保组合建的存在;也就是说,来自连接列的值的任何组合都只会出现一次。

请查看定义这两个表的连接列的两个或多个 ATTRIBUTES 语句。确保它们是您想要的;
例如,确保在两列或多个列上连接两个表,而不是每列连接三个或更多表。如果打算使用

合键,则使用 CREATE INDEX 命令在这些列上至少为 table1 创建一个组合唯一索引。


-2859 The column column-name is a member of more than one
table -- you must specify the table name.

Two or more tables that are named in the TABLES section have columns
with the name shown. You must make clear which table you mean. To do
this, write the table name as a prefix of the column name, as
table.column, wherever this name is used in the form specification.
在 TABLES 部分中命名的两个或多个表具有相同名称的列。您必须明确目的。为此,请将
表名作为列名称的前缀写入,如 table.column 所示,在表单规范中使用该形式的限定名。




GBase 8s 错误消息
南大通用数据技术股份有限公司 - 726 -

-2860 There is a column/value type mismatch for column-name.

This statement assigns a value to the field with the DEFAULT clause or
uses its value with the INCLUDE clause, but it does so with data that
does not agree with the data type of the field. Review the data type of
the field (which comes from the column with which it is associated),
and make sure that only compatible values are assigned.
该语句使用 DEFAULT 子句将值赋给字段,或者将值与 INCLUDE 子句一起使用,但与该字
段的数据类型不一致的数据使用了该值。请查看字段的数据类型(相关联的列)的数据
类型,并确保只分配兼容值。


-2861 You have exceeded the maximum of number tables.

A limit exists on the number of tables that can be in use at one time.
(This limit might be different on different host systems or with
different database servers.) Reduce the number of tables that you use
in the form.
一次可以使用的表的数量存在限制(此限制可能会因不同的主机系统或不同的数据库服务

而有所不同)。请减少表单中使用的表次数。


-2862 The table table-name cannot be found in the database.

All tables used in a form must exist at the time that the form is

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 727 -

compiled, so that the compiler can verify the data types of the
columns. The indicated table does not exist in the database that is
named in the form. Check the spelling of the table name and database
name. If they are as you intended, either you are not using the version
of the database that you expected (check the value in the DBPATH
environment variable), or the database has been changed.
在表单中使用的所有表必须在表单编译时存在,以便编译器可以验证列的数据类型。指定
的表
不存在于表单中命名的数据库中。检查表名和数据库名称的拼写。如果它们符合您的要求,

么要么您没有预期版本的数据库(检查 DBPATH 环境变量中的值),要么数据库已更改。

The tables that are specified in the TABLES section of the form exist,
but column-name, which is named in the ATTRIBUTES section, does not.
Check its spelling against the actual table. Possibly the table was
altered, or the column was renamed. You can use GBase 8s SQL to check
column names under the Tables menu, Info selection.
在 TABLES 部分中指定的表存在,但在 ATTRIBUTES 部分中命名的 column-name 不存在。

请检查其对实际表的拼写。可能表被更改,或者列被重新命名。您可以使用 GBase 8s SQL
来 Info Table 的信息。


-2863 The column column-name does not exist among the specified tables.

The tables that are specified in the TABLES section of the form exist,
but column-name, which is named in the ATTRIBUTES section, does not.
Check its spelling against the actual table. Possibly the table was

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 728 -

altered, or the column was renamed. You can use GBase 8s SQL to check
column names under the Tables menu, Info selection.
在 TABLES 部分中指定的表存在,但在 ATTRIBUTES 部分中命名的 column-name 不存在。

请检查其对实际表的拼写。可能表被更改,或者列被重新命名。您可以使用 GBase 8s SQL
来 Info Table 的信息。


-2864 The table table-name is not among the specified
tables.

The indicated table is used in this statement but is not defined in the
TABLES section of the form specification. Check its spelling; if it is
as you intended, add the table in the TABLES section.
在此语句中指定表未在表单规范的 TABLES 部分中定义。请检查其拼写;如果它符合您的
要求,
请在 TABLES 部分添加该表。


-2865 The column column-name does not exist in the table
table-name.

Something in this statement implies that the column shown is part of
the indicated table (most likely the statement refers to
table-name.column). However, it is not defined in that table. Check
the spelling of both names. If they are as you intended, then check the
contents of the database; possibly the table has been altered or the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 729 -

column renamed.
该语句中的某些内容指示所显示的列是指定表的一部分(很可能该语句引用了
table-name.column)。
但是,它没有在该表中定义。请检查两个名称的拼写。如果它们符合您的要求,请检查数
据库的内容;
可能表已被更改或列已重命名。


-2866 The NOW attribute may be assigned only to datetime
columns.

This message is not in use in any current product. SQL does not support
any NOW attribute or function; use the CURRENT function.
此消息已经不再在任何当前产品中使用。 SQL 不支持任何 NOW 属性或函数;请使用
CURRENT 函数。


-2867 The CURRENT attribute may be assigned only to datetime
columns.

The CURRENT function (not attribute) produces the current date and time
as a DATETIME value, but the field that is referenced in this statement
does not have the DATETIME data type. Automatic data conversion is not
supported in this context. Review the statement to make sure that it
refers to the field that you intended, and revise the form to assign
DATETIME values only to DATETIME fields.
CURRENT 函数(不是属性)将当前日期和时间作为 DATETIME 值生成,但在此语句中引用

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 730 -

的字段不具有 DATETIME 数据类型。在此上下文中不支持数据自动转型。请查看语句以确
保它引用了想要的字段,并修改表单,将 DATETIME 值分配给 DATETIME 字段。

-2870 The subscripted column size does not match the space
allocated in the display field.

This attribute statement relates a substring of a column to a display
field. However, either the substring numbers are wrong (the first is
less than 1 or greater than the size of the column, the second is less
than the first), or they are correct but the number of characters that
they select is different from the size of the display field. Revise the
substring numbers to select exactly as many characters as the field
requires.
该属性语句将列的子串与显示字段相关联。但是,子字符串数字是错误的(第一个小于 1
或大于列的大小,第二个长度小于第一个),或者它们是正确的,但它们选择的字符数与
显示的字段的大小不同。请修改子字符串数以选择与字段完全一样多的字符。


-2880 The word 'screen' or 'end' has been left out.

Every form specification must end in the keyword END and must contain
the keyword SCREEN. Both must begin in the first column of a line.
Review the contents of the form specification to make sure that all the
necessary sections are properly marked.
每个表单规范必须以关键字 END 结尾,并且必须包含关键字 SCREEN。两者都必须从行的


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 731 -

一列开始。请查看表格规范的内容,确保所有必要的部分都被正确标记。


-2890 A screen definition must begin with a left curly bracket '{'.

Each screen layout must be enclosed in braces ({ }). The open brace
must be the first character on its line. Review the form specification
to make sure that the screen layout is punctuated properly.
每个屏幕布局必须用大括号({})括起来。大括号必须是行中的第一个字符。
检查表单规范,确保屏幕布局使用了正确的标点符号。


-2892 The column column-name name appears more than once. If you wish
a column to be duplicated in a form, use the same display field label.

The expected way to display the same column in two or more places is to
put two or more fields in the screen layout, each with the same
tag-name. Then put a single statement in the ATTRIBUTES section to
associate that tag-name with the column name. The current column value
will be duplicated in all fields. If you intended to display different
columns, the column names as listed in the ATTRIBUTES section must
differ. If you intend to display different columns that happen to have
the same column-names, prefix each with its table-name.
在两个或多个位置显示相同列的方法是在屏幕布局中放置两个或多个字段,每个字段都具

相同的标签名称。然后在 ATTRIBUTES 部分中添加一条语句,将该标签名称与列名称关联。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 732 -

当前列值将在所有字段中重复。如果打算显示不同的列,则 ATTRIBUTES 部分列出的列名
称必须不同。如果打算显示具有相同列名的不同列,则在每个列前加上它的表名。


-2893 The display field label tag-name appears more than once
in this form, but the lengths are different.

You can put multiple copies of a field in the screen layout (all will
display the same column), but all copies must be the same length.
Review the SCREEN section to make sure that, if you intended to have
multiple copies of one field, all copies are the same.
您可以在屏幕布局中放置多个字段副本(全部将显示相同的列),但所有副本必须具有相

的长度。请检查 SCREEN 部分,如果打算包含一个字段的多个副本,则所有副本都必须相
同。


-2895 Display field length of field-size does not match
the database column length of column-size. This is a warning only.

The size of the character field that is defined in this statement (as
shown by its appearance in the SCREEN section) is different from the
size of the associate column. You specified the -v option to the form
compiler to request warnings of this type.
此语句中定义的字符字段的大小(在 SCREEN 部分中的显示)与关联列的大小不同。
为表单编译器指定 -v 选项来请求此类型的警告。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 733 -


-2901 Field name contains two conflicting attributes, first and second.

This statement contradicts itself. The UPSHIFT and DOWNSHIFT attributes
cannot be applied to the same field; nor can NOENTRY and REQUIRED or
NOETNRY and VERIFY. Review the statement, and correct the selection of
attributes.
该语句自相矛盾。
UPSHIFT 和 DOWNSHIFT 属性不能应用于同一字段;
NOENTRY 和 REQUIRED
也不能应用于同一字段,NOETNRY 和 VERIFY 也不行。请查看该语句,并修改属性。


-2920 The column column is a dominant column but it is not indexed.
Performance will be much improved by creating an index on the column.

You have defined the indicated column as dominant in a verify join.
Whenever the operator enters a value in the field, it will be looked up
in this column. Such a lookup operation is very quick when an index is
present. No index on the column exists at this time. Without one, a
lookup might be extremely slow. Unless the field does not allow
operator input (in which case you should remove the asterisk) or the
table is very small (a few dozen rows at most), you should create an
index for this column before you put the form into use.
您已将指定的列定义为判定连接中的显式列。每当操作者在该字段中输入值时,都会在此
列中
查找。索引存在时,这种查找操作会非常快速。此时列上没有索引。没有索引,查找可能
会非
常缓慢。除非该字段不允许操作者输入(在这种情况下,应该删除星号)或者表非常小(最

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 734 -


几十行),否则您应该在使用该表单之前为该列创建一个索引。


-2921 The database dbname is not compatible with the current version of
GBase 8s SQL.

A prior version of GBase 8s software created the database that is named
in the DATABASE statement in this form. Before the present system can
use the database, you must use the sqlconv utility to convert it.
先前版本的 GBase 8s 软件在此表单中 DATABASE 语句中创建了命名的数据库。
在本系统可以使用数据库之前,您必须使用 sqlconv 实用程序对其进行转换。


-2930 Portions of the column name are displayed on the screen
more than once.

This form displays subscripted portions of the indicated column in
different fields. This situation is permitted; however, no single
character can appear in more than one field. That is, the subscripts
cannot overlap. For example, you can display name[25,49] in one field
and name[50,74] in another. You cannot display name[25,49] and
name[25,74] because some characters would be displayed twice.
该表在不同的字段中显示指定列的下标部分。这种情况是允许的。但是,单个字符不能出
现在多个字段中。也就是说,下标不能重叠。例如,可以在一个字段中显示名称[25,49],

在另一个字段中显示名称[50,74]。不能显示名称[25,49]和名称[25,74],因为某些字符会

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 735 -

显示两次。


-2931 There is an error in the format specification.

Check the content of the FORMAT string in this statement. It is not
correct for the data type; that is, it has characters other than # and
. for a numeric column, and it has an incorrect internal length for a
DATE column (for example, yyy, which calls for a three-digit year).
检查这个语句 FORMAT 字符串的内容。数据类型不正确;也就是说,它具有#和 . 以外的
其他字符。对应 DATE 列的数值列的内部长度不正确(例如,yyy,它要求三位数年份)。



-2932 Formats may be specified only for float, smallfloat,
decimal, or date columns.

This attribute statement specifies a FORMAT string, but the data type
of the field is not one of the four that support formatting: FLOAT,
SMALLFLOAT, DECIMAL (or MONEY), and DATE. If this column is not
DISPLAYONLY, check that it has been associated with the right column
and that the column is defined in the database as you expected.
此属性语句指定一个 FORMAT 字符串,但该字段的数据类型不是以下支持格式化的四种格
式:
FLOAT、SMALLFLOAT、DECIMAL(或 MONEY)和 DATE。如果此列不是 DISPLAYONLY,
请检查它是否与右列相关联,并且是否按照预期在数据库中定义了该列。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 736 -


-2933 The format width is larger than the allocated display width.

The length of the FORMAT string that is specified for this field is
greater than the length of the field itself as shown in the SCREEN
section. Review the screen layout, and revise it or the format so that
they agree.
为该字段指定的 FORMAT 字符串的长度大于字段本身的长度,如 SCREEN 部分所示。
请查看屏幕布局,修改它或 FORMAT 字符串的格式以便匹配。


-2934 The format width is less than the allocated display width.

The length of the FORMAT string that is specified for this field is
less than the length of the field itself as shown in the SCREEN
section. Review the screen layout, and revise it or the format so that
they agree.
为该字段指定的 FORMAT 字符串的长度小于字段本身的长度,如 SCREEN 部分所示。
请查看屏幕布局,修改它或 FORMAT 字符串的格式以便匹配。


-2935 The number of lines specified with the '-l' option or
in the screen section must be a positive integer from 6 to 600.

The vertical size of the screen, as indicated in the SCREEN statement
or in the -l (lowercase L) command-line option, is out of range. Change

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 737 -

it to specify the expected size of the terminal where the form will be
used.
如 SCREEN 语句或 -l(小写L)命令行选项所示,屏幕的垂直大小超出范围。请将其更改
为指定使用该表单的终端的预期大小。


-2936 The number of columns specified with the '-c' option or
in the screen section must be a positive integer from 30 to 600.

The horizontal size of the screen, as indicated in the SCREEN statement
or in the -c command line option, is out of range. Change it to specify
the expected size of the terminal where the form will be used.
如 SCREEN 语句或 -c 命令行选项所示,屏幕的水平尺寸超出范围。将其更改为指定使用
该表单的终端的预期大小。


-2940 The column name appears both with and without subscripts.

This form displays all of the indicated column, and subscripted portion
of it, in different fields. You can display different, subscripted
parts of a column in different fields, but the parts cannot overlap.
That is, portions of a column cannot be displayed twice on the same
screen. Review all uses of the indicated column. Perhaps you did not
intend to name it in both places. Perhaps two or more columns of the
same name exist in different tables, and you need to use the table name
to distinguish them. Otherwise, use nonoverlapping subscripts on each

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 738 -

field of the column.
该表单在不同的字段中显示所有指示的列和其下标部分。可以在不同字段中显示不同字段

下标部分,但该部分不能重叠。也就是说,列不能在同一屏幕上显示两次。查看指定列的

有用法。也许您不打算在这两个地方都命名它。也许在不同的表中有两个或多个同名的列,

您需要使用表名区分它们。否则,请在列的每个字段上使用不重叠的下标。


-2941 name is not a display field name on the form.

This statement refers to a field as name, but no such name is defined.
Check the spelling, and review the ATTRIBUTES section to see how the
field was defined.
该语句引用字段的名称,但没有定义这样的名称。请检查拼写,并查看 ATTRIBUTES 部分,
查看该字段是如何定义的。


-2943 You have exceeded the pseudo machine capacity.

The expression in this statement is too complex to process. Simplify
it, and recompile the form. (See also error message -2988.)
该语句中的表述太复杂,无法处理。请简化它,并重新编译表单。(另请参阅错
误消息 -2988。)


-2944 You may apply the after add, update, query, or remove commands to

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 739 -

a table only -- not a column.

The operations of Add, Update, Remove, and Query all apply to whole
rows. Consequently, these control blocks must list only table names,
not names of individual columns, in their opening command. Review the
names in this statement, and change column names to the names of their
tables.
Add、Update、Remove 和 Query 操作会应用于整行。因此,这些控制块必须在其打开命令
中仅列出表名,而不是单个列的名称。请查看此语句中的名称,并将列名更改为它的表的
名称。


-2945 You may apply the after add, update, query, or remove commands to
a table only -- not a column.

Aggregates (AVG, MIN, MAX, COUNT, TOTAL) can only be performed on
fields that are associated with tables (not on DISPLAYONLY fields), and
the tables must be listed in the opening command of the same control
block. Revise the form specification, and recompile.
聚集
(AVG、
MIN、
MAX、
COUNT、
TOTAL)
只能在与表关联的字段上执行
(而不是在 DISPLAYONLY
字段中),并且必须在同一控制块的打开命令中列出表。请修改表单规范并重新编译。


-2946 You may not calculate an aggregate on the display-only field name.

Aggregates can only be performed on fields that are associated with

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 740 -

tables (not on DISPLAYONLY fields), and the tables must be listed in
the opening command of the same control block. Revise the form
specification, and recompile.
只能在与表关联的字段(不在 DISPLAYONLY 字段中)上执行聚集函数,并且必须在同一
控制块的打开命令中列出表。请修改表单规范并重新编译。


-2950 The column name has no section which starts at 1. Remember that
the first subscript is one, not zero.

Multiple substrings from the same column are assigned to display
fields. However, the substrings do not cover adjacent, nonoverlapping
portions of the column. Either there is no first section (starting from
column 1), or one section overlaps another. Review the substrings that
are specified. Consider using a multiline edit field instead of a group
of substrings; it is simpler to code and provides better editing for
data entry.
来自同一列的多个子字符串被分配给显示字段。但是,子串不包括列的相邻非重叠部分。
要么没有
第一部分(从第 1 列开始),要么一部分与另一部分重叠。请检查指定的子字符串。考虑
使用多行
编辑字段而不是一组子字符串;这样编程更简单,并能提供更好编辑方式。


-2951 The left and right delimiters must be specified in a two character
string.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 741 -

The DELIMITERS instructions require a string of exactly two characters,
the left and right delimiter (marker) characters to be used when
displaying fields. The characters can be the same, but there must be
two of them.
DELIMITERS 指令需要一个正好包含两个字符的字符串,
即显示字段时要使用的左右分隔符
(标记)字符。角色可以相同,但必须有两个角色。


-2952 In order to use a picture, the picture length must be the same as
the display field length.

The string that is specified with the PICTURE attribute must have
exactly the same length as the field as depicted in the SCREEN section.
Review the definition of this field, and make the two lengths agree.
使用 PICTURE 属性指定的字符串必须与 SCREEN 部分中描述的字段的长度完全相同。
请检查这个字段的定义,并使这两个长度一致。


-2953 The name name is not a database column in this form.

All the columns that are named in a COMPOSITES list must be defined in
the ATTRIBUTES section. Check the spelling of all the names, and make
sure that they have been defined.
所有在 COMPOSITES 列表中命名的列必须在 ATTRIBUTES 部分中定义。检查所有名称的拼
写,
并确保它们已被定义。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 742 -



-2954 You have exceeded the maximum of number control instructions.

The INSTRUCTIONS section of this form has exceeded the ability of the
form compiler to handle it. Remove some instructions to simplify the
form.
此表单的 INSTRUCTIONS 部分超出了表单编译器处理它的能力。请删除一些说明以简化表
单。


-2955 The name field-tag is not a displayed field in this form.

The name that is shown appears in the ATTRIBUTES section but nowhere in
the SCREEN section. Check the spelling of the name; it is wrong in one
of those places, or it has been omitted from the screen layout.
显示的名称出现在 ATTRIBUTES 部分,但没有在 SCREEN 部分中出现。请检查名称的拼写;

它其中一个地方是错误的,或者已在屏幕布局中省略它。


-2956 You may not set display field field-tag to a value because
none of its associated database columns belong to the same table as
table, nor is it a variable display-only field.

You cannot assign values in a LET statement across tables. All columns
that are associated to the field-tag in a LET statement must belong to

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 743 -

tables that are named in the opening command of the control block, or
it must be a display-only field.
您不能在 LET 语句中跨表分配值。
与 LET 语句中的 field-tag 关联的所有列必须属于在
控制块的打开命令中命名的表,或者它必须是 display-only 字段。


-2957 You may not set the next field to that-tag because none of its
associated database columns belong to the same table as this-tag.

The field that is named in a NEXTFIELD statement must be associated
with the same table as the current field. Review the relationships
between columns and tables in this form, and revise it.
在 NEXTFIELD 语句中命名的字段必须与当前字段相同的表关联。
请检查这种形式的列和表
之间的关系,并对其进行修改。


-2958 You may have a maximum of ten parameters in a C-function.

This improper call to an external C function has too many parameters.
Find some way to pass the same information in fewer parameters.
这种对外部 C 函数的错误调用具有太多参数。找到某种方法以更少的参数传递相同的信
息。


-2959 Two tables may join with a maximum of limit column pairs,
including all components of composite columns.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 744 -


A limit exists on the number of columns that are involved in a join.
This limit includes both the join columns that are named in an
ATTRIBUTES statement and those that are named in a COMPOSITES statement
for the same table.
连接中涉及的列数存在限制。此限制包括在 ATTRIBUTES 语句中命名的连接列和在同一个

的 COMPOSITES 语句中命名的连接列。


-2970 The column name joins with other columns, but it is not indexed.
It is recommended that columns be indexed for cross-table queries.
Performance will be much improved by creating an index.

The presence of an index on at least one of the columns that are
involved in a join can make join operation much faster. However, an
index is not required when one or both tables are small (dozens of
rows). Consider creating an index on all join columns before you put
the form into production.
若参与连接的列上存在索引就可以使连接操作快得多。但是,当一个或两个表很小(几十
行)时,
不需要索引。在将表单投入生产之前,请考虑在所有连接列上创建索引。


-2971 This column is not a character column, and therefore cannot be
subscripted.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 745 -

This statement contains a subscript, a pair of numbers in square
brackets, after a column name. However, the data type of the column is
not CHAR, VARCHAR, or TEXT. Only such columns can be subscripted. Check
that you named the correct column. If you did, check its definition in
the database.
该语句在列名后面包含一个下标、一个在方括号内的数字对。但是,该列的数据类型不是
CHAR、
VARCHAR 或 TEXT。
只有这样的列才可以下标。
请检查是否命名了正确的列。
如果命名正确,

请在数据库中检查它的定义。


-2972 This column cannot be right justified or zero-filled because its
displayed width does not match the actual column width.

In order to use the RIGHT or ZEROFILL attributes, make sure that the
field size (as depicted in the SCREEN section) is exactly the same as
the width of the database column. Review this statement, the screen
layout, and the definition of the table in the database to make sure
these sizes agree.
为了使用 RIGHT 或 ZEROFILL 属性,请确保字段大小(如 SCREEN 部分中所示)与数据库
列的
宽度完全相同。检查语句、屏幕布局和数据库中表的定义,以确保这些尺寸一致。


-2973 There may be only one dominant column in a display field description.

This statement defines a join list, a list of two or more column names

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 746 -

that are related to the same form field. In such lists, an asterisk
that precedes a column name indicates that column is the dominant
column in a verify join. Only one such column is allowed in any join,
but this list contains two or more. Review the documentation on verify
joins, and choose a single dominant table.
该语句定义了一个连接列表,它是与同一个表单字段相关的两个或多个列名称的列表。在
这样的
列表中,列名前面的星号表示该列是验证连接中的显性列。在任何连接中只允许有一个这
样的列,
但该列表包含两个或更多。请查看关于验证连接的文档,并选择一个统一的表。


-2975 The display field label tag-name has not been used.

The indicated name was defined in the SCREEN section but not in the
ATTRIBUTES section. Review the tags in each section, and revise the
form so that all tags are defined.
指定的名称在 SCREEN 部分定义,但没有在 ATTRIBUTES 部分中定义。请查看每个部分中
的标签,
修改表单以便定义所有标签。


-2976 The end of the form has been reached prematurely.

This form specification has a SCREEN section but no TABLES or
ATTRIBUTES sections. Complete the form specification.
这个表单规范有 SCREEN 部分,但没有 TABLES 或 ATTRIBUTES 部分。请完成表格规范。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 747 -



-2977 Table table1 cannot be a master of table table2 because
they do not join.

The two tables that are named in a MASTER OF instruction must be
joined. A join between tables is expressed by naming columns from both
tables in one statement in the ATTRIBUTES section. Check the spelling
of the table names here, and review the attribute statements.
在 MASTER
OF 指令中命名的两个表必须连接。在 ATTRIBUTES 部分的一个语句中,通过在
两个表
中命名列来表示表之间的连接。检查表名称的拼写,并查看属性语句。


-2978 The column column1 and the column column2 cannot be joined columns
because their types or lengths are different.

The columns in a join must contain data from the same domain. The fact
that these columns have different types or (if they are character
columns) different lengths indicates that their contents are not from
the same domain. Check the spelling of the column names to make sure
that you named the correct columns. Review the design of the database,
and make sure that these tables are meant to be joined on these
columns.
连接中的列必须包含来自同一个域的数据。这些列具有不同类型或(如果它们是字符列)
不同长度,
这表明它们的内容不是来自同一个域。请检查列名称的拼写以确保您命名了正确的列。检

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 748 -

查数据库
的设计,确保这些表连接了这些列。


-2984 The table identifier table is defined more than once.

Correct the statements in the TABLES section so that each table is
defined just once. Possibly you have defined an alias that is the same
as a real table name.
更正 TABLES 部分中的语句,以便每个表只定义一次。可能已经定义了一个与实际表名相
同的别名。


-2985 The table identifiers name1 and name2 represent the same table.

In the TABLES section, these two names are defined in such a way that
they refer to the same database table. One or both of them is a table
alias. Change the statements so that each name stands for just one
table and each table has just one name.
在 TABLES 部分中,这两个名称的定义方式使它们引用同一个数据库表。其中一个或两个
都是表别名。
请更改语句,以便每个名称仅代表一个表,每个表只有一个名称。


-2986 The form specification has exceeded the maximum of limit
master/detail pairs.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 749 -

A restriction exists on the number of master-detail pairs that can be
supported in one form. You must find a way to simplify the form.
一种形式可支持的主 - 细节对的数量存在限制。您必须找到简化表单的方法。


-2987 The form specification has exceeded the maximum of limit screens.

A restriction exists on the number of screen layouts that can be
supported in one form. You must find a way to simplify the form.
一种形式中可支持的屏幕布局的数量存在限制。您必须找到简化表单的方法。


-2988 FORMBUILD has run out of memory.

The form compiler cannot get enough data memory to process the form
specification. You must find a way to simplify the form.
表单编译器无法获取足够的数据内存来处理表单规范。您必须找到简化表单的方法。


-2989 The column name is a reference column, but it is not indexed.
It is recommended that reference columns be indexed for lookups.
Performance will be much improved by creating an index.

You have defined the indicated column as a reference column using the
LOOKUP attribute. Whenever the operator enters a value in the field, it
will be looked up in this column. Such a lookup operation is quick when

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 750 -

an index is present, but no index on the column exists at this time.
Without one, a lookup might be extremely slow. Unless the field does
not allow operator input (in which case you should remove the asterisk)
or the table is very small (a few dozen rows at most), you should
create an index for this column before you put the form into use.
您已使用 LOOKUP 属性将指定的列定义为参考列。只要操作员在该字段中输入一个值,就
会在
该列中查找该值。当存在索引时,这样的查找操作很快,但此时该列上没有索引存在。如
果没
有索引,查找可能非常缓慢。除非该字段不允许操作员输入(在这种情况下,您应该删除
星号)
或者表非常小??(最多几十行),在表单投入使用之前请为该列创建一个索引。


-2990 The columns column1 and column2 are not in the same database table.

All columns that are cited in a single LOOKUP attribute must belong to
the same table. Check the spellings of the names, and make sure that
they are the columns you intended.
在单个 LOOKUP 属性中引用的所有列都必须属于同一个表。检查名称的拼写,并确保它们
是您想要的列。


-2991 Warning: Only the first screen of your multiple-screen form
will be displayed under 4GL.

This warning appears when you use the 4GL forms compiler to compile a

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 751 -

multipage PERFORM screen. A 4GL program can display only the first page
of a multipage form. If the form specification has more than one SCREEN
section, it has been purposely divided into multiple pages, and you
will have redesign it for 4GL. If it has only a single screen layout,
the 4GL forms compiler has split it into two pages because it will not
fit on the screen. The form design might not allow for the four screen
lines that 4GL reserves.
当您使用 4GL 表单编译器编译多页 PERFORM 屏幕时,会出现此警告。4GL 程序只能显示
多页表单的第一页。如果表单规范有多个 SCREEN 部分,则它会被故意划分为多个页面,
并且您将为 4GL 重新设计它。如果它只有一个屏幕布局,那么 4GL 表单编译器将其分
成两页,因为它不适合屏幕。表单设计可能不允许 4GL 保留的四条屏幕线。


-2992 The display label name has already been used.

The forms compiler indicates that name has been defined twice. These
names must be defined uniquely in the form specification. Review all
uses of the name to see if one of them is incorrect.
表单编译器指出该名称已被定义两次。在表单规范中这些名称的定义必须是唯一的。
请查看名称的所有用法,查看其中一个是否错误。


-2993 There is a circular join path specified in the form.

This form defines a series of three or more joins such that table A
joins to table B, table B joins to table C, and table C joins to table

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 752 -

A. The circularity might not be obvious due to the use of table-alias
names. Review all the statements in the ATTRIBUTES section and any
COMPOSITES statements, and draw a diagram of the join relationships.
Then modify the form so that no circular joins are created.
该表单定义了一系列三个或多个连接,表 A 连接到表 B,表 B 连接到表 C,表 C 连接到
表 A 。
由于使用表别名,循环可能不明显。请查看 ATTRIBUTES 部分和任何 COMPOSITES 语句中
的所有
语句,并绘制连接关系图。然后修改表单,以便不创建循环连接。


-2994 The form has exceeded the maximum number of joins between tables.

A limit exists on the number of joins that can be specified. You must
find a way to simplify the form.
能指定的连接数量有限。您必须找到简化表单的方法。


-2995 The form has exceeded the maximum number of tables contained in joins.

A limit exists on the number of tables that can be contained in one
join. You must find a way to simplify the form.
一个连接中可以包含的表的数量有限。您必须找到简化表单的方法。


-2996 The unanticipated error number os-error has occurred.
Contact Technical Support.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 753 -


The error number that is displayed came from the host operating system.
RDS was at one time the name of GBase 8s Software. This error should
not occur. If the error recurs, note all circumstances and
contact GBase Technical Support.
显示的错误号码来自主机操作系统。RDS 曾经是 GBase 8s Software 的名称。该错误不应
该发生。
如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-2997 See error number.

The database server returned the error number that is shown. Look it up
in this document. Also look for other error messages that might give
more information or contact GBase Technical Support.
数据库服务器返回了显示的错误号。请在文件中查找它。另请查看可能提供更多信息的其
他错误
消息或联系 GBase 技术支持。


-2998 Operating system error os-error: text.

The error that is displayed came from the host operating system. This
error should not occur. If the error recurs, note all circumstances
and contact GBase Technical Support.
显示的错误号码来自主机操作系统。RDS 曾经是 GBase 8s Software 的名称。该错误不应
该发生。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 754 -

如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-2999 SQL server terminated.

The application has lost contact with the database server. Someone
might have shut down the database server, or an internal error might
have damaged a pipe between the application and the database server. In
a local area network system, the database server process or thread in
the file server might have been terminated, or the file server might be
down. Look for other messages, especially operating-system messages,
that might give more detail.
应用程序与数据库服务器失去联系。可能有人关闭了数据库服务器,或者内部错误可能损

了应用程序和数据库服务器之间的管道。在局域网系统中,文件服务器中的数据库服务器

程或线程可能已被终止,或者文件服务器可能已关闭。请查找其他消息,尤其是操作系统

息,它可能提供更多详细信息。


-3000 ISAM or system error number number.

Look up the error number in the finderr utility.
使用 finderr 实用程序查找错误号。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 755 -

-3001 There are no forms in the current directory.

You can run only forms that are present in the current directory or a
directory that is named in your DBPATH environment variable. Change
directories to the one that contains the desired forms, or change the
contents of DBPATH.
您只能运行当前目录中存在的表单或 DBPATH 环境变量中命名的目录。将目录更改为包含
所需
表单的目录,或者更改 DBPATH 的内容。


-3002 There are no BLOB fields to view.

You selected the View menu option. This option lets you view the
contents of TEXT and BYTE fields of a form, but this form has none.
您选择了“View”菜单选项。该选项可让您查看表单的 TEXT 和 BYTE 字段的内容,但此
表单没有该选项。


-3003 This BLOB field is empty.

You selected the View menu option. The cursor is positioned in a field
that represents a BYTE column, and you pressed the ! key to edit the
contents of the field. However, the field is null; no data exists to
view. Use Query to select a row that includes nonnull data in this
field.
您选择了“View”菜单选项。游标位于表示 BYTE 列的字段中,并且您按下 ! 键编辑该字

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 756 -

段的内容。
但是,该字段为空;没有数据可供查看。使用 Query 选择此字段中的非空数据的行。


-3005 You do not have permission to access the form form-name.

The form file form-name does exist; however, your account does not have
operating-system permissions to read and write it.
表单文件 form-name 确实存在;但是,您的账户没有操作系统权限来读取和写入它。


-3006 An unknown code has been found in the .frm file. Recompile your form before
running it again.

Recompile the form to make sure that the .frm file has not been
corrupted. If the same error occurs, check that you are running
FORMBUILD and PERFORM products at the identical version level (version
numbers are displayed when the commands are executed from the command
line if you do not use the -s option). If the error recurs, note
all circumstances and contact GBase Technical Support.
重新编译表单以确保 .frm 文件未被损坏。如果发生相同的错误,请检查您是否在相同版
本级别运行
FORMBUILD 和 PERFORM 产品
(如果不使用 -s 选项,
则在命令行执行命令时显示版本号)

如果
错误再次出现,请记下所有情况并联系 GBase 技术支持。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 757 -

-3007 Your form is incompatible with the current version
of PERFORM. Recompile your form before running it again.

Use FORMBUILD to compile the form, then run PERFORM again.
使用 FORMBUILD 编译表单,然后再次运行 PERFORM。


-3010 Database database-name not found.

The database that is named in the DATABASE section of the form could
not be opened. Either it could not be found, or your account has not
been granted CONNECT privilege for it. You can use GBase 8s SQL to
separate these cases. Use Select option from the Database menu. If
database-name is listed, the database can be found but could not be
opened.
无法打开在表单的 DATABASE 部分中命名的数据库。可能是找不到,或是您的账户没有被
授予
CONNECT 权限。可以使用 GBase 8s SQL 分离这些情况。使用 Database 菜单中的 Select
选项。
如果列出数据库名称,则能找到数据库但无法打开。

The database server looks for a database first in the current directory
and then in directories that are named in the DBPATH environment
variable. Check to see if database-name.dbs exists in one of those
directories.
数据库服务器首先在当前目录中查找数据库,然后在 DBPATH 环境变量中指定的目录中查
找数据库。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 758 -

请检查一下这些目录中是否存在 database-name.dbs。


-3011 A table is locked -- no reading or writing is permitted.

Because another user has locked a table in exclusive mode, PERFORM
cannot continue. Rerun the transaction when the table is not locked.
由于另一个用户以互斥模式锁定表,PERFORM 无法继续。表未被锁定时重新运行事务。


-3019 Unanticipated error number has occurred; call Technical Support.

Note all circumstances and contact GBase Technical Support.
请记录所有的情况并联系 GBase 技术支持。


-3020 The table table-name is not in the database. Build your form again.

A table that is listed in the TABLES section of the form cannot be
found. Review the DATABASE statement to ensure that the form is using
the correct database. If so, and if the table name is spelled as you
intended, the table has been dropped or renamed. You can use GBase 8s
SQL to check table names under Info selection in the Tables
menu. Revise the form to use the correct name.
无法找到表单 TABLES 部分列出的表。
查看 DATABASE 语句以确保表单使用正确的数据库。

如果正确,并且表名拼写正确,则该表已被删除或重命名。您可以使用 GBase 8s SQL 检

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 759 -


Info Table 的信息。请修改表单,使用正确的名称。


-3030 The column column-name is not in the database. Build your form again.

The tables that are specified in the TABLES section of the form do
exist, but the column column-name, which was named in the ATTRIBUTES
section, does not. Check the spelling of column-name against the
actual table. The table might have been altered, or the column may have
been renamed. You can use GBase 8s SQL to check column names under Info
selection in the Tables menu. Revise the form to use the correct column
name.
表单 TABLES 部分中指定的表确实存在,
但 ATTRIBUTES 部分中命名的列 column-name 不
存在。请检查列名与实际表的拼写。该表可能已被更改,或该列可能已被重命名。您可以
使用
GBase 8s SQL 检查“Tables”菜单中“Info”选项下的列名称。请修改表单,使用正确的
名称。


-3031 The form form-name cannot be found or opened.

PERFORM cannot locate the compiled form form-name.frm in the current
directory or in a directory that is named in the DBPATH environment
variable. Or if it did find the file, it could not open it. Check the
spelling of the name. Verify that the file exists, and check that your
account has read access to it.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 760 -

PERFORM 无法在当前目录或在 DBPATH 环境变量中命名的目录中找到编译后的表单
form.name.frm。
或者如果它的确找到了文件,但无法打开它。请检查名称的拼写。验证文件是否存在,并
检查您的
账户是否具有对其的读取权限。


-3035 The column column-name has changed column type. Build your form again.

The column column-name, which is named in the ATTRIBUTES section of the
form, no longer has the data type that it had when the form was
compiled (the table has been altered since). Check the present data
type; then examine the form specification to make sure that it will
display the column in a field of the appropriate size. Modify the form
as required, and rebuild it.
在表单 ATTRIBUTES部分中命名的列 column-name 不再具有编译表单时所具有的数据类型
(表已被更改)。检查当前的数据类型;然后检查表单规范以确保它将在适当大小的字段
中显示
该列。根据需要修改表单并重建它。


-3037 The column column-name is not a composite column. Build
your form again.

The column column-name is mentioned as part of a COMPOSITE in the
INSTRUCTIONS section of the form specification. However, no composite
index (an index over all the columns of a composite key) exists over

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 761 -

this column and its fellows in the database. After the form was
compiled, the composite index was dropped. Either it should be
restored, or the form should be revised.
列 column-name 是作为表单规范的 INSTRUCTIONS 部分中的 COMPOSITE 的一部
分提及的。但是,此列和数据库中的其它列不存在索引(对组合键的所有列的索引)。
表单编译完成后,组合索引被删除。要么恢复该索引,要么修改表单。


-3050 Operating system error. Cannot open a temporary file.

PERFORM is trying to open a temporary file that it created earlier.
Look for operating-system error messages that might give more
information. Possibly you have exceeded a limit on the number of open
files. If the error recurs, note all circumstances and contact
GBase Technical Support.
PERFORM 试图打开它之前创建的临时文件。查找可能提供更多信息的操作系统错误消息。
可能您已经超过了打开文件数量的限制。
如果错误再次出现,
请记下所有情况并联系 GBase
技术支持。


-3060 Operating system error. Cannot create a temporary file.

PERFORM is trying to create a temporary file but cannot. On UNIX
systems, check that your account is allowed to write in the /tmp
directory or the directory that is named in the DBTEMP environment
variable and that the directory is not full. Possibly you have exceeded

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 762 -

an operating-system limit on the number of open files. In that case,
you will have to reduce the number of tables that are used in this
form.
PERFORM 试图创建一个临时文件,但失败。在 UNIX 系统上,检查是否允许您的账户户写

/tmp 目录或 DBTEMP 环境变量中指定的目录,并且该目录未满。可能您已经超出了打开文

数量的操作系统限制。在这种情况下,您将不得不减少在该表单中使用的表的数量。


-3081 The specified output file name has a bad extension.

The output filename cannot end in any of the following suffixes:
.dat, .idx, .aud, .per, .frm, .ace, .arc, .sql, or .unl.
输出文件名不能以任何以下后缀结尾:.dat、.idx、.aud、.per、.frm、.ace、.arc、.sql
或 .unl。

Select a different filename.
选择不同的文件名。


-3082 No program specified to edit this BYTE field.

The form user has keyed! in the display of a BYTE field. However, no
program= attribute was defined for this field.
表单用户在显示 BYTE 字段的中键入 !。但是,该字段没有定义 program= attribute。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 763 -


-3101 The column column-name does not allow null values.

When you added data to a table, you did not specify data for the column
shown. However, that column is defined in the database as not allowing
null values. You cannot add the row unless you supply a value.
将数据添加到表时,您没有为显示的列指定数据。但是,该列在数据库中定义为不允许空
值。
除非您提供值,否则不能添加该行。


-3120 Error in field.

The data that is entered into the current field is not appropriate for
the data type of the field.
输入到当前字段的数据不适合该字段的数据类型。


-3200 There are no rows in the current list.

You must first query the table before you execute the UPDATE, REMOVE,
NEXT or PREVIOUS command.
在执行 UPDATE、REMOVE、NEXT 或 PREVIOUS 命令之前,必须先查询表。


-3210 The current row position contains a deleted row.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 764 -


Another user has just deleted the row now displayed. That row no longer
exists. You cannot use the UPDATE, REMOVE, NEXT, or PREVIOUS commands
until you use QUERY to display a valid row.
另一位用户刚刚删除了现在显示的行。该行不再存在。在使用 QUERY 显示有效行之前,不
能使用
UPDATE、REMOVE、NEXT 或 PREVIOUS 命令。


-3260 This is an invalid value -- it does not exist in table-name table.

This column has a verify join with a column in table table-name. Any
value that is entered in this field must be found in that table. The
value just entered was not found. Enter a correct value.
该列与表 table-name 中的列进行验证连接。任何在此字段中输入的值都必须能在该表中
找到。
刚刚输入的值未找到。请输入一个正确的值。


-3261 Invalid value -- its composite value does not exist in table-name table.

This column is listed with others as a COMPOSITE in the INSTRUCTIONS
section of the form specification. It is shown there as needing to be
verified against matching columns of table table-name. The value you
have entered, considered with the other values in the composite, does
not occur in table-name.
在表单规范的 INSTRUCTIONS 部分中,此列与其他列一起作为一个 COMPOSITE 列出。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 765 -

它显示在那里,因为需要根据表名的匹配列进行验证。您输入的值会与组合中的其它值一
起考虑,它们不会出现在表名中。


-3265 A required index on column-name is missing. Restore.

All dominant columns (those with asterisks before their names) in
verify joins must be indexed. Perhaps the index has been dropped since
the form was compiled. Re-create the index, and run the form again.
在验证连接中的所有显性列(名称前带星号的列)必须进行索引。自从编译表后,该索引
可能已经被删除。请重新创建索引,然后再次运行表单。


-3300 There are no more rows in the direction you are going.

You reached the beginning or the end of the current list of rows. You
can start a new query with the QUERY command, or use the PREVIOUS or
NEXT command to reverse through the list the other way.
您已到达当前行列表的开始或结尾。可以使用 QUERY 命令启动新的查询,或者使用
PREVIOUS
或 NEXT 命令以其他方式反转列表。


-3400 There are no rows satisfying the conditions.

No rows in the database match the values that are entered in the form.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 766 -

Enter different values, and query again.
在数据库没有行与表单中输入值匹配。请输入不同的值,然后再次查询。


-3420 This value is not among the valid possibilities.

A list or range of acceptable values has been established for this
column (via an INCLUDE attribute in the form-specification file). You
must enter a value within the acceptable range.
已经为该列建立了可接受值的列表或范围(通过格式规范文件中的 INCLUDE 属性)。
您必须输入一个在可接受的范围内的值。


-3421 The joined field table.column cannot be selected by the current user.

This form queries the column in the table shown in joining two tables.
However, your account name does not have SELECT privilege for that
table and column. Contact the owner of the table or a Database
Administrator to be given this privilege.
该表单查询两表连接中显示的列。但是,您的账户名称对该表和列没有 SELECT 权限。
请联系表的所有者或数据库管理员以获得此权限。


-3430 This field requires an entered value.

The row cannot be added to the table until a value has been entered in

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 767 -

the indicated field. A REQUIRED attribute in the form-specification
file has been associated with the column. Enter a value in the field.
只有在指定字段中输入值后,该行才能添加到表中。表单规范文件中的 REQUIRED 属性
已与列关联。请在该字段中输入一个值。


-3450 Someone else has deleted a row which is in your list.

Another user, accessing a table that is queried by your form, has
deleted a row that your latest query selected. Restart your query to
get an accurate selection of rows. ou query a view. Early versions
of the product did not support views.
另一个用户访问表单查询的表,已删除最近查询选定的行。重新启动您的查询以获得行的
精确
选择。


-3451 This form has no fields requiring data entry.

None of the fields in this form specification permit data entry; they
are all marked as either LOOKUP or DISPLAYONLY without the ALLOWING
INPUT keywords.
本表单中没有字段允许数据输入;它们都被标记为 LOOKUP 或 DISPLAYONLY,但没有
ALLOWING INPUT 关键字。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 768 -

-3452 Add, Update and Remove operations not allowed on a remote table.

The table that is being queried is in a database that is external to
the current database (the one that is named in the DATABASE section of
the form). Such tables cannot be modified.
被查询的表位于当前数据库(在表单的 DATABASE 部分中命名的数据库)外部的数据库中。

不能修改这些表。


-3460 This row has been locked by another user -- try again later.

Another individual is currently using the table. Wait a few moments,
and reenter your statement.
另一个人正在使用该表。请稍等,然后重新输入您的语句。


-3500 The two entries were not the same. Try again.

To guard against typographical errors, you must enter the value in this
field twice. The values that are entered must be identical. Carefully
reenter the data. (A VERIFY attribute in the form-specification file
has been associated with this column.)
为了防止印刷错误,您必须在该字段中输入两次值。输入的值必须相同。注意重新输入数
据。
(表单规范文件中的 VERIFY 属性已与此列相关联。)


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 769 -


-3600 No detail table has been specified for this table.

You must first establish this table as the master of another table in
the INSTRUCTIONS section of the form.
您必须首先在表单的 INSTRUCTIONS 部分中将此表建立为另一个表的主数据表。


-3610 No master table has been specified for this table.

You must first establish this table as the detail of another table in
the INSTRUCTIONS section of the form.
您必须首先在表单的 INSTRUCTIONS 部分中将此表建立为另一个表的详细信息。


-3620 You do not have permission to write into this table.

You do not have insert or update privilege for the table, so you cannot
insert or update a column. Check with the owner of the table or the
person who has Database Administrator (DBA) privilege for the database
for the necessary permission.
您没有该表的插入或更新权限,因此无法插入或更新列。请联系表的所有者或具有数据库
管理员
(DBA)权限的人员,以获得必要的权限。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 770 -

-3630 Operating system error. Cannot write into a temporary file.

PERFORM earlier created a temporary file but now cannot write into it.
The most likely cause of this error is that the disk has filled up.
Alternatively, another user might have deleted the temporary file after
it was created.
PERFORM 之前创建了一个临时文件,但现在无法写入它。此错误最可能的原因是磁盘已满。
或者,
另一个用户可能在创建临时文件后又删除了该临时文件。


-3650 You must first remove table-name rows which join this row.

The row you wish to remove is the dominant member of a verify join. You
cannot remove this row without first removing any rows that join it.
您希望删除的行是验证连接的主要成员。如果不先删除连接它的任何行,则无法删除此行。



-3651 You have exceeded the number of opened tables allowed by your system.

Executing the statement would require that PERFORM exceed an operating
system limit on the number of open files. You will have to reduce the
number of tables that are included in the form specification.
执行该语句会要求 PERFORM 超出操作系统对打开文件数量的限制。
您将不得不减少表单规

中包含的表的数量。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 771 -


-3660 You must first update table-name rows which join this row.

The row you wish to update is the dominant member of a verify join. You
are not allowed to change a row value in this column that would
invalidate joined rows in other tables. You must first update the rows
in table-name that join this column.
您希望更新的行是验证连接的主要成员。您不允许更改此列中的行值,这会使其它表中的
连接
行无效。必须首先更新连接该列的 table-name 中的行。


-3670 Operating system error. Cannot seek into a temporary file.

Earlier PERFORM created a temporary file; now it cannot change the file
position in that file. Perhaps another user deleted the file after it
was created. Look for messages from the operating system that might
give more detail on the problem.
早期的 PERFORM 创建了一个临时文件;现在它不能更改该文件中的文件位置。也许其他用
户在创
建后删除了该文件。请从操作系统中查找可能提供有关此问题更多详细信息的消息。


-3680 PERFORM has run out of memory.

PERFORM cannot get the memory data space it needs. You will have to
reduce the complexity of the form.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 772 -

PERFORM 无法获取所需的内存数据空间。必须降低表单的复杂性。


-3690 Detail cannot be executed -- tables first and second do not join.

A master-detail relationship for these two tables is specified in the
INSTRUCTIONS section of the form. However, the two tables do not join.
Add a join attribute in the ATTRIBUTES section.
在表单的 INSTRUCTIONS 部分中指定了这两个表的主 - 副关系。
但是,
这两张表不会连接。

请在 ATTRIBUTES 部分添加一个连接属性。


-3700 Permission not granted to allow reading of table-name.

Your account has not been granted SELECT privilege for the table
table-name. The owner of the table, or a person who has Database
Administrator (DBA) privilege for the database, can grant this
privilege level to you.
您的账户尚未被授予表 table-name 的 SELECT 权限。表的所有者或具有数据库的
数据库管理员(DBA)权限的人员可以授予您此级别的权限。


-3710 Permission not granted to allow update of table-name.

Your account has not been granted UPDATE privilege for the table
table-name. The owner of the table, or a person who has Database

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 773 -

Administrator (DBA) privilege for the database, can grant this
privilege level to you.
您的账户尚未被授予表 table-name 的 UPDATE 权限。表的所有者或具有数据库的
数据库管理员(DBA)权限的人员可以授予您此级别的权限。


-3720 Permission not granted to allow add of table-name.

Your account has not been granted INSERT privilege for the table
table-name. The owner of the table, or a person who has Database
Administrator (DBA) privilege for the database, can grant this
privilege level to you.
您的账户尚未被授予表 table-name 的 INSERT 权限。表的所有者或具有数据库的
数据库管理员(DBA)权限的人员可以授予您此级别的权限。


-3730 Permission not granted to allow remove of table-name row.

Your account has not been granted DELETE privilege for the table
table-name. The owner of the table, or a person who has Database
Administrator (DBA) privilege for the database, can grant this
privilege level to you.
您的账户尚未被授予表 table-name 的 DELETE 权限。表的所有者或具有数据库的
数据库管理员(DBA)权限的人员可以授予您此级别的权限。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 774 -

-3731 Cannot open the table table-name.

The database server cannot open the file that represents this table.
You might have exceeded an operating-system limit on open files; if
that is the case, you will have to reduce the number of tables that are
included in the form. However, first make sure that a file exists for
this table in the database directory (its name is database-name.dbs)
and that your account has read access to it. The name of the table file
is composed of table-name, a 3-digit number, and the suffix .dat.
数据库服务器无法打开代表此表的文件。您可能已经超过了打开文件的操作系统限制;如
果是
这种情况,必须减少表单中包含的表数量。但是,首先确保数据库目录(其名称为
database-name.dbs)
中该表的文件存在,并且您的账户具有对其的读取访问权限。表文件的名称由表名、3 位
数字和后缀.dat组成。


-3750 Command aborted.

No current GBase 8s product returns this message. If the error recurs,
note all circumstances and contact GBase Technical Support.
当前 GBase
8s 产品不会返回此消息。
如果错误再次出现,
请记下所有情况并联系 GBase 技
术支持。


-3751 Type carriage return to continue.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 775 -

No current GBase 8s product returns this message. If the error recurs,
note all circumstances and contact GBase Technical Support.
当前 GBase
8s 产品不会返回此消息。
如果错误再次出现,
请记下所有情况并联系 GBase 技
术支持。


-3752 You cannot use this editing feature because a picture exists.

This field is defined (in the form-specification file) with a PICTURE
attribute to specify its format. You cannot use certain editing keys
(for example, CTRL-A, CTRL-D, and CTRL-X) while you are editing such a
field. Use only printable characters and backspace to enter the value.
定义此字段
(在 form-specification 文件中)
具有 PICTURE 属性,
以此来指定它的格式。

在编辑这样的字段时,您不能使用某些编辑键(例如:CTRL-A、CTRL-D 和 CTRL-X)。只
能使用可打印的字符和退格键输入值。


-3754 You have exceed the pseudo machine stack space.

Reduce the complexity of the form. In particular, reduce the level of
nesting of loops and IF statements, and break very complicated
expressions in LET statements up into simpler ones.
减少表单的复杂性。特别是,降低循环和 IF 语句的嵌套级别,并将 LET 语句中
非常复杂的表达式分解为更简单的表达式。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 776 -

-3755 The selected display-only field tagname cannot be accessed.

The field tag name that is passed to the C function pf_nxfield() is the
name of a display-only field. Because the user is not allowed to enter
data in a display-only field, the cursor cannot be located in one.
Check the tag name that is supplied; if it is the one that you
intended, review the attributes of that field, and find out why it has
been set display-only.
传递给 C 函数 pf_nxfield() 的字段标签名称是 display-only 字段的名称。
由于不允许
用户在 display-only 字段中输入数据,所以光标不能位于其中。请检查提供的标签名称;

如果它是想要的标签,请查看该字段的属性,并找出它被设置为 display-only 的原因。


-3756 The selected field tag-name cannot be assigned a value at this time.

The specified field is not in the current table. The cursor is not
allowed to enter such fields, and values cannot be set in them.
指定的字段不在当前表中。游标不允许输入这些字段,并且不能在其中设置值。


-3757 A conversion error has occurred for the field tag-name.

The data type of the value that is passed to pf_putval() could not be
converted into the data type of the screen field tag-name. Review the
value and the valtype flag versus the data type of the field in the
form definition.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 777 -

传递给 pf_putval() 的值的数据类型无法转换为屏幕字段标签名的数据类型。
请在表单定义中查看值和 valtype 标志与字段的数据类型。


-3758 The next selected field tag-name is not in the current table.

The field tag name that is passed to the C function pf_nxfield() is the
name of a field that is not in the current table. The cursor is not
allowed to enter such fields.
传递给 C 函数 pf_nxfield() 的字段标签名称不是当前表中的字段名。因此,游标不允许
输入这些字段。


-3759 The display field field-name does not exist in the form.

The field tag name that is passed to the C function pf_nxfield() is not
defined in this form. Review the string that is passed; if it is as you
intended, inspect the form definition to see what has been changed. A
common error is to confuse the tag name, which is used in the screen
layout and to the left of the equal sign in the ATTRIBUTES section,
with the field name, which is the column name used to the right of the
equal sign in the ATTRIBUTES section. The latter is used when
referring to fields.
传递给 C 函数 pf_nxfield() 的字段标签名称未在此表单中定义。请检查传递的字符串;

果它符合您的要求,请检查表单定义以查看已更改的内容。一个常见的错误是将在屏幕布
局中使

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 778 -

用的标记名称和 ATTRIBUTES 部分中等号的左侧的标记名称及字段名称混淆,字段名称是

ATTRIBUTES 部分中等号右边使用的列名称。当引用字段时,使用后者。


-3760 Matching may not be used between non-character fields or expressions.

An IF-THEN-ELSE statement in the INSTRUCTIONS section of the form uses
the keyword MATCHES to compare two fields. However, at least one of the
fields is not a character field, and you can use MATCHES only with
character fields. Review all uses of MATCHES in the INSTRUCTIONS
section to make sure it is applied only to character fields.
表单 INSTRUCTIONS 部分中的 IF-THEN-ELSE 语句使用关键字 MATCHES 比较两个字段。

是,
至少有一个字段不是字符字段,
您只能在字符字段中使用 MATCHES。
请在 INSTRUCTIONS 部

查看 MATCHES 的所有用法,以确保它仅适用于字符字段。


-3761 ERROR -- attempt to divide by zero has occurred.

A division expression in the INSTRUCTIONS section has a zero divisor.
Review all uses of division in the INSTRUCTIONS section, and look for
any that might have a denominator of zero (possibly the denominator is
a field into which the user entered a zero). Protect these expressions
with tests for zero using IF-THEN-ELSE.
INSTRUCTIONS 部分中的除法表达式的除数为零。请查看 INSTRUCTIONS 部分中所有除法

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 779 -

的用法,并查找一个分母为零的分子(可能分母是用户输入零的字段)。
使用 IF-THEN-ELSE 保护这些表达式。


-3762 The user function funcname defined in the form could not be found
in the C function definition table userfuncs.

The INSTRUCTIONS section of the form includes a call to a function
funcname, and sperform assumes that this is the name of an external C
function. However, the name and address of each such function must
appear in a static array that is named userfuncs. That array, along
with the computer code of the external functions, is linked with a
custom version of sperform. Because name did not appear in the array,
sperform cannot call it.
表单的 INSTRUCTIONS 部分包含对函数 funcname 的调用,并且 sperform 假定这是
外部 C 函数的名称。但是,这样函数的名称和地址必须出现在名为 userfuncs 的静态
数组中。该数组以及外部函数的计算机代码与自定义版本的 sperform 链接。由于名称未
出现在数组中,因此 sperform 无法调用它。

Check that you are executing the correct, customized version of
sperform (the original version of the program has no external functions
linked to it). Check to see if funcname is correctly spelled. Then
examine the source of the C functions to make sure that the userfuncs
array is defined correctly.
检查您是否正在执行正确定制版本的 sperform (没有外部函数连接到原始版本的程序)。

请检查 funcname 是否拼写正确。然后检查 C 函数的来源以确保 userfuncs 数组的定义

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 780 -

正确。


-3763 This program has an invalid serial number. Consult your
installation instructions.

The GBase 8s software product has been improperly installed. Review the
installation procedure. If you need help, contact GBase Technical Support.
GBase 8s 软件产品安装不正确。请检查安装过程。如果需要帮助,请联系 GBase 技术支
持。


-3764 Screen too small. Must be at least 6 lines and 30 columns.

PERFORM cannot operate in a screen or window that is smaller than 6
lines by 30 columns. You must increase the size of the terminal window
in which you are executing PERFORM. The absolute minimum is 6 lines by 30
columns. However, the window must also be large enough to contain
the form that will be displayed.
PERFORM 无法在小于6 行乘 30 列的屏幕或窗口中运行。
您必须增加执行 PERFORM 的终端

口的大小。
最小绝对值是 6 行乘 30 列。
但是,
该窗口还必须足够大以包含要显示的表单。



-3765 Form image too large to fit in the screen window.

The screen image as defined in the form file is larger (either wider or

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 781 -

taller) than the dimensions of the current window. If the current
window is the main window, its size is set by the dimensions of the
terminal in use. If the current window was opened with OPEN WINDOW, you
should specify more rows or columns. Review the form file, and either
reduce the size of the screen image or display it as a bigger window.
表单文件中定义的屏幕图像比当前窗口的尺寸大(更宽或更高)。如果当前窗口是主窗口,
则其大
小由正在使用的终端的尺寸设置。如果当前窗口是用 OPEN
WINDOW 打开的,则应该指定更
多的行或列。
请查看表单文件,并减小屏幕图像的大小或将其显示为更大的窗口。


-3766 Usage: SPERFORM [-s] [-d database] filename . . .

This message displays the command-line option of the sperform program.
此消息显示 sperform 程序的命令行选项。


-3767 An unknown option option name was found on the command line.

Make sure that you typed the correct command-line option.
确保您输入了正确的命令行选项。


-3999 System internal error in file filename at line number.

This error should not occur. If the error recurs, note all

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 782 -

circumstances and contact GBase Technical Support.
这个错误不应该发生。如果错误再次出现,请记下所有情况并联系 GBase 技术支持。


-4000 Intrinsic member functions cannot be declared as SHARED.

This statement attempts to declare one of the intrinsic members of this
class (the class constructor, or the !copy() or !derive() function) as
SHARED. You can declare these functions in order to extend them, but
the declaration cannot specify SHARED.
该语句试图声明这个类中的内部成员(类构造函数或 !copy() 或 !derive() 函数)为
SHARED。
您可以声明这些函数以扩展它们,但声明不能指定 SHARED。


-4001 Fundamental type name "type" cannot be used as a class name.

This CLASS statement attempts to declare a class with the same name as
a built-in data type such as INTEGER. Find a different name for your
class.
此 CLASS 语句尝试声明与内置数据类型(如 INTEGER )相同名称的类。请为您的类声明
不同的名称。


-4002 Argument n of function "name" is not convertible to its formal
parameter's type.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 783 -

The indicated argument expression or default argument expression is not
compatible with the declared type of that function argument. Review the
declaration of the function to see what type is expected.
指定的参数表达式或默认参数表达式与该函数参数的声明类型不兼容。请检查函数的声明
以查看预期的类型。


-4004 Member "name" of class "class-name" cannot be accessed in this context.

The compiler is aware of the member, but the access control for the
member makes it inaccessible in the statement. Check for a PUBLIC,
PRIVATE, or PROTECTED declaration. Member variables default to
PROTECTED access, but member constants and member functions default to
PUBLIC.
编译器知道该成员,但成员的访问控制使其无法在语句中访问。检查 PUBLIC、PRIVATE
或 PROTECTED 声明。成员变量默认为 PROTECTED 访问,但成员常量和成员函数默认为
PUBLIC。


-4005 You cannot redefine private base member function "name".

This FUNCTION declaration in a class declaration names a member that is
inherited from a base class of this class. However, that inherited name
is declared as PRIVATE, so it cannot be overridden in this class.
Review the declarations of all base classes; then choose a name for
your function that will be unique to this class.
类声明中的 FUNCTION 声明指定了从此类的基类继承的成员。但是,继承的名称被声明为

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 784 -

PRIVATE,因此它不能在此类中重写。请检查所有基类的声明;然后为您的函数选择一个名
称,
该名称对于此类是唯一的。


-4007 Record member "name" is undefined.

This statement refers to record.name. While the variable record is
indeed a record, name is not the name of one of its component fields.
Find the definition of record (it might be in the GLOBALS file), and
verify the names of its fields. Then correct the spelling of name.
该语句引用了 record.name。虽然变量记录确实是一条记录,但 name 不是其中一个组件
字段的名称。找到记录的定义(可能在 GLOBALS 文件中),验证其字段的名称。然后更正
name 的拼写。


-4009 Non-shared member "name" cannot be used in default values.

A default value expression in this function declaration refers to the
value of a normal member variable of this class. This action is not
supported. Default value expressions can refer to variables, but they
must be declared at the module level or be shared members of classes.
函数声明中的缺省值表达式引用了该类的普通成员变量的值。不支持该操作。
缺省值表达式可以引用变量,但是它们必须在模块级声明或者是类的共享成员。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 785 -

-4010 Include file "pathname" is not found.

This INCLUDE statement names a file that the compiler cannot find. If a
complete pathname is used, the file does not exist. Check the spelling
of all the directories and the filename. If only a filename is given,
that file could not be found in the current directory, in
$GBS_HOME/incl, or in any directory that is specified in a -H
compiler argument. Perhaps one of these arguments was omitted or
misspelled.
该 INCLUDE 语句命名了一个编译器找不到的文件。如果使用完整的路径名,那么该文件不
存在。
请检查所有目录和文件名的拼写。如果仅给出文件名,那么在当前目录、$GBS_HOME/incl
中或在 -H 编译器参数中指定的任何目录中都找不到该文件。也许是因为其中之一的参数
被忽
略或拼写错误。


-4011 Class "name" is not declared.

This statement refers to a class of the indicated name, but no such
class has been declared to this point in the source module. Check the
spelling of the name. Make sure that all desired include files have
been included.
该语句引用了一个指定名称的类,但是在源模块上没有声明这样的类。请检查名称的拼写。

确保包含了所有需要包含的文件。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 786 -

-4012 You can only specify a base clause for class constructors.

This function declaration is followed by a colon, class-name, and
argument list (in short, a base clause). This syntax is used only when
declaring the constructor function for a class (the function whose name
is the same as the name of the class), in order to specify function
arguments to the constructor of the base class.
该函数声明后面跟着一个冒号、类名和参数列表(简而言之,是一个基本子句)。此语法
仅用
于为类声明构造函数(函数的名称与类的名称相同),以便为基类的构造函数指定函数参
数。


-4013 Invalid intrinsic member function "!name".

The supported intrinsic member functions are !copy(), !derive(), and
the class-name (the constructor). No other functions can be declared
with an initial exclamation mark. Check the spelling of name. If it is
not one of the supported names, declare the function as a normal member
function.
支持的内部成员函数是!copy()、!derive()和类名称(构造函数)。其它函数不能用感叹
号来
声明。请检查名称的拼写。如果它不是支持的名称,则将该函数声明为普通成员函数。


-4014 You cannot specify the RETURNING type for intrinsic member functions.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 787 -

This declaration of an intrinsic member function includes a RETURNING
clause. This action is not supported. The compiler defines the returned
value from an intrinsic member function. Omit the RETURNING clause.
内部成员函数的声明包含 RETURNING 子句。不支持此操作。编译器定义从内部成员函数返
回的
值。请省略 RETURNING 子句。


-4016 Each class declaration must have at least one member function.

This class declaration contains no member functions. A class must
contain at least one, because the point at which the first (or only)
member function is defined is also the point at which the class itself
is defined. If the class has no other members, declare its constructor
function. Because the constructor is declared, it must also be defined
(although the definition need not contain any statements beyond
FUNCTION and END FUNCTION unless you wish).
该类声明不包含成员函数。一个类必须至少包含一个成员函数,因为定义第一个(或唯一)
成员
函数也是定义类本身。如果该类没有其他成员,则声明其构造函数。因为声明了构造函数,
所以
它也必须被定义
(尽管定义不需要包含除 FUNCTION 和 END
FUNCTION 之外的任何语句。





-4018 The columns specified in the THRU option do not belong to the same
table.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 788 -

This statement refers to some table first THRU (or THROUGH) last;
however first and last are not both columns in that table. Check the
spelling of these column names. Make sure that the correct database is
current at this point in the compilation (the most recent preceding
DATABASE statement).
该语句引用了某些表的 first THRU (or THROUGH) last;然而,第一列和最后一列都
不是该表中的两列。检查这些列名的拼写。确保在编译(最近一次 DATABASE 语句)的当前
时刻正确的数据库是当前的。


-4019 The columns specified in the THRU option appear in the reverse order.

This statement refers to some aggregate (table, record, or object) with
the qualification "first THRU (or THROUGH) last." However, first and
last do not appear in that order in the aggregate; last precedes first.
Check the spelling of the two names. Make sure that the correct
database is current at this point in the compilation (the most recent
preceding DATABASE statement).
该语句引用了一些具有“first THRU(或 THROUGH)”的聚集(表、记录或对象)。
但是,第一次和最后一次没有按顺序显示在聚集中;最后在第一位。请检查两个名称
的拼写。确保在编译(最近一次 DATABASE 语句)的当前时刻正确的数据库是当前的。


-4020 Function "member" is not a member of class "class".

This statement tries to invoke class::member(), either directly or as

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 789 -

object.member(). However, no such member function is available from
that class. Check the spelling of the member name and the class or
object name. If the reference is class::member(), review the
declaration of the class for the correct spelling of the names of its
members. If the reference is through an object, make sure the object is
declared as having the class you intended. You can only call members of
the stated class (the class it is declared to have) of an object. If
you want to call a member of an actual class (the class that you think
will be present at execution time), use the CAST operator.
该语句试图直接或者以 object.member() 方式调用 class::member()。但是,该类没有
此类成员函数。检查成员名称和类或对象名称的拼写。如果引用是 class::member(),请检

类的声明以获取其成员名称的正确拼写。如果通过对象引用,则请确保该对象被声明为想
要的类。
只能调用所声明的类的成员(它声明拥有的类)的对象。如果要调用实际类的成员(您认
为将在
执行时出现的类),请使用 CAST 运算符。


-4021 A class member cannot be named "SELF".

You cannot use SELF, regardless of letter case, as the name of a member
variable, member constant, or member function. The identifier SELF is a
built-in identifier that New Era provides automatically. You can refer
to SELF to make your code more readable when a member has the same name
as an identifier that is declared as in the global or module scope, or
to access a member when a local entity has the same name.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 790 -

不管字母大小写,都不能使用 SELF 作为成员变量、成员常量或成员函数的名称。标识符
SELF
是 New
Era 自动提供的内置标识符。当成员与全局或模块作用域中声明的标识符具有相同
的名称
时,可以引用 SELF 使代码更具可读性,或者在本地实体具有相同名称时访问成员。


-4022 The reserved keyword "name" cannot be used as a 4GL identifier.

Keywords cannot be used to name a function, report, variable, or
constant. Consult the GBase 8s 4GL Language Reference for a list of
reserved words.
不能使用关键字命名函数、报表、变量或常量。请参阅 GBase 8s 4GL 语言参考以获取保
留字列表。


-4023 A class cannot derive from itself.

This CLASS statement asserts that the class is DERIVED FROM itself.
This action is not supported. Either remove the clause, or name another
base class.
该 CLASS 语句声明的类是 DERIVED
FROM 本身。但不支持此操作。要么删除该子句,要么
命名另一个基类。


-4024 Identifier "name" has multiple declarations with different types.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 791 -

Multiple declarations of a given name in a given scope must be
consistent (that is, they must have the same type). The identifier that
is shown has been declared with a different type.
给定范围内指定名称的多个声明必须一致(即它们必须具有相同的类型)。但显示的标识
符使用
了不同的类型声明。


-4025 Function "name" is already declared in the class.

A function with the specified name has already been declared in the
current class.
已在当前类中声明了具有指定名称的函数。


-4026 Member "name" is already defined in base class "class".

A derived class inherits all the members of its base classes. You
cannot add a member that has the same name as a member from the base
class.
派生类继承其基类的所有成员。不能添加与基类成员具有相同名称的成员。


-4029 The type of expression on which member "name" is selected is not
an object reference or record.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 792 -

This statement refers to .name as if name were a member of a record or
of a class. However, the expression that precedes the dot is neither
the name of a record nor a reference to an object. If you think name is
a member of a record, check the definition of the record, and make sure
that its name is correctly spelled immediately preceding the dot. If
you think name is a class member, make sure that the dot is preceded by
an expression that yields a reference to an object of the right class.
该语句将 .name 作为名称,如同名称是记录或类的成员一样。但是,点之前的表达式既不
是记录的名称,也不是对象的引用。如果您认为名称是记录的成员,请检查记录的定义,

确保点之前的名称的拼写正确。如果您认为名称是类成员,请确保该点前面有一个表达式,

该表达式可以产生对正确类的对象的引用。


-4030 Warning: Cannot further expand an expanded expression.

An expression cannot have multiple .* suffixes.
一个表达式不能具有多个 .* 后缀。


-4032 Warning: The structure part of the THRU member "name" is ignored.

The statement included a THRU phrase of the following form:
该语句包含以下格式的 THRU 短句:

rec.first THRU rec.last

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 793 -


The correct form is:
正确的格式为:

rec.first THRU last

The logic is that first THRU last modifies rec.
逻辑是首先 THRU 最后修改 rec。


-4033 Base member name "name" cannot be used for class name.

This statement attempts to declare a class name, but it also specifies
a DERIVED FROM clause. One of the members that is inherited from that
base class is called name. The name of a class cannot be the same as
the name of one of its members because the constructor function must
use that name. Review the inheritance for this new class, and then
choose a different name for it.
该语句试图声明一个类名,但它也指定了一个 DERIVED FROM 子句。从该基类继承的成员
之一
称为 name。类名不能与其成员的名称相同,因为构造函数必须使用该名称。请检查这个新
类的
继承,然后为它选择一个不同的名称。


-4034 SQL statements and two-pass reports are not allowed when
compiling with the "-nosql" switch.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 794 -


The compiler was invoked with the "-nosql" switch, but the source
included either explicit SQL statements or a two-pass report (which
involves SQL statements). Compiling with "-nosql" causes generation of
.c code (instead of .ec code) in which no SQL statements are allowed.
编译器是通过“-nosql”开关调用的,但是源代码包含显式 SQL 语句或双向报表(涉及
SQL 语句)。
使用“-nosql”进行编译会导致生成无法使用 SQL 语句的 .c 代码(而不是 .ec 代码)。



-4035 Function "name" cannot be redefined in a derived
class "class" with different access permissions.

The parent class of the function "name" has an access permission
(PRIVATE, PROTECTED, or PUBLIC) different from this declaration.
函数“name”的父类具有不同于此声明的访问权限(PRIVATE、PROTECTED 或 PUBLIC)。


-4036 Function "name" cannot be redefined in a derived class
"class" with different scope of reference.

The base class of the function "name" is declared as SHARED and "name"
is not, or "name' is declared as SHARED and its base class is not.
函数“name”的基类声明为 SHARED 但“name”没有,或者“name”声明为 SHARED,但基
类没有声明为 SHARED。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 795 -

-4037 Multiple declarations of function "name".

Although you can declare multiple distinct versions of a user-defined
function, you cannot do so for functions such as a name that GBase 8s
software defines.
虽然您可以声明一个用户定义函数的多个不同版本,但是对于 GBase 8s 软件定义的名称
等函数,
您不能这样做。


-4041 Including "file" again will cause an infinite loop.

This INCLUDEAGAIN statement specifies a file that includes itself. If
you force it to be included, a loop will follow. Make sure that this is
the file you intended to include. Review the contents of the file.
该 INCLUDEAGAIN 语句指定一个包含它自己的文件。如果强制将其包含在内,则会出现循
环。
确保这是您想要包含的文件。检查文件的内容。


-4042 This form of declaration can only appear in the global (module) scope.

The declaration for identifier::identifier can appear only in the
global scope.
identifier::identifier 的声明只能出现在全局范围内。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 796 -

-4043 Illegal EXTERNAL declaration.

This statement tries to declare an EXTERNAL classname::membername. A
program cannot use a global EXTERNAL declaration to declare a shared
member variable. To accomplish this, include the class description of
which it is a SHARED member.
该语句试图声明一个 EXTERNAL classname::membername。程序不能使用全局 EXTERNAL
声明来声明共享成员变量。为此,请包括它是共享成员的类描述。


-4044 Member "name" not defined in class "class".

This statement tries to access class::name. However, no such variable
or constant is defined for that class. Check the spelling of the member
name and the class or object name. If the reference is class::name,
review the declaration of the class for the correct spelling of the
member names. If the reference is through an object, make sure that the
object is declared as having the class that you intended.
这个语句试图访问 class::name。但是,没有为该类定义这样的变量或常量。请检查成员
名称和类或对象名称的拼写。如果引用是 class::name,请查看类的声明,以获取正确拼
写的成员名称。如果引用是通过对象进行的,请确保将该对象声明为具有您想要的类。


-4045 Member "name" is defined in class "class", but not as a
variable or constant.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 797 -

The identifier name is defined in the class, but as something other
than a variable or a constant, such as a member function. Check the
spelling of the member name and the class or object name.
标识符名在类中定义,但定义为变量或常量以外的其他内容,例如成员函数。
请检查成员名称以及类或对象名称的拼写。


-4046 Formal declaration appeared previously for this informal function
definition. The formal declaration is invalidated.

A formal declaration for this function appeared previously in this
source module. At this point, a definition in the informal function
syntax appears.
此函数的正式声明出现在此源模块中。此时,出现非正式函数语法中的定义。


-4047 Mixed informal and formal function declaration syntax.
Return type is ignored.

A function declaration has blended informal (FUNCTION program block)
and formal (FUNCTION prototype) syntax. The parenthesized list of
arguments gave only names, with the types to be defined later in a
VARIABLE statement, but the declaration then continued with a RETURNING
clause, available only in the FUNCTION prototype style of declaration.
Consult the GBase 8s 4GL Reference Manual.
函数声明混合了非正式语法( FUNCTION 程序块)和正式语法( FUNCTION 原型)。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 798 -

带括号的参数列表只给出了名称,类型将在后面的 VARIABLE 语句中定义,但是声明
继续使用 RETURNING 子句,仅以 FUNCTION 原型声明的样式可用。请参阅 GBase 8s
4GL 参考手册。


-4048 Driver statements for a report are not allowed within the
body of that report.

This statement defines a record variable and uses initialization
expressions when it declares one or more members. This action is not
supported. You can use an initialization expression only when you
define a simple variable.
该语句定义了一个记录变量,并在声明一个或多个成员时使用初始化表达式。
不支持此操作。只有在定义一个简单变量时才可以使用初始化表达式。


-4050 Function "name" has been used and hence declared as informal
before this formal declaration.

A call to this function appears prior to this declaration of it. Calls
to undeclared functions are supported only for compatibility with
previous versions of the 4GL language. When the compiler encountered
the call to the function, it assumed an informal declaration for it.
Move the declaration of the function to the top of the source module so
that it precedes calls to it.
在函数声明之前出现对此函数的调用。只有旧版本的 4GL 语言支持调用未声明的函数。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 799 -

当编译器遇到对该函数的调用时,它假定函数有一个非正式的声明。将函数的声明移到
源模块的顶部,以便声明先于调用。


-4051 Member "name" is defined in class "class", but not as a function.

This statement tries to invoke class::member(), either directly or as
object.member(). The class has a member of that name, but it is a
member variable, not a function. Check the spelling of the member name
and the class or object name. Review the declaration of the class for
the correct spelling of its member names.
该语句试图直接或者以 object.member() 方式调用 class::member()。类具有该名称的
成员,但它是一个成员变量,而不是函数。请检查成员名称以及类或对象名称的拼写。
检查类的声明,确保它们成员名拼写正确。


-4052 Identifier "name" is not defined in the global scope.

A constant or variable is used that is not locally defined, so the
compiler assumes that it is to be globally defined but does not find it
there either.
使用的常量或变量不是本地定义的,因此编译器假定它是全局定义的,但找不到它。


-4053 Function "name" has already been declared with a different prototype.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 800 -

The function that is described in this FUNCTION statement has already
been declared, and the previous declaration disagrees with this one in
the number or type of the arguments. Review included files for
declarations of this function, and make those statements consistent.
在 FUNCTION 语句中描述的函数已经被声明,但前面的声明与这个参数的数量或类型不一
致。
请检查包含该函数声明的文件,使这些语句保持一致。


-4054 Function "name" has already been declared with a different return type.

The function that is described in this FUNCTION statement has already
been declared, and the previous declaration disagrees with this one in
the number or type of returned values. Review included files for
declarations of this function, and make those statements consistent.
在 FUNCTION 语句中描述的函数已经被声明,但前面的声明与该返回值的数量或类型不一
致。
请检查包含该函数声明的文件,使这些语句保持一致。


-4055 Overriding the constructor of a base class is not allowed.

This FUNCTION declaration in a CLASS statement specifies a function
whose name is the same as the name of a base of this class. In other
words, you are trying to override the constructor function of a base
class. This action is not permitted. Review the names of members that
are inherited by this class, and choose unique names for its member

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 801 -

functions.
CLASS 语句中的 FUNCTION 声明指定了一个函数,其名称与该类的基类名称相同。换句话
说,
您试图覆盖基类的构造函数。此操作是不允许的。请检查该类继承的成员的名称,并为其

员函数选择唯一名称。


-4057 A class cannot be derived from a class with PRIVATE intrinsic functions.

This statement declares a new class with a DERIVED FROM clause.
However, the specified base class has one or more intrinsic functions
(class constructor, function such as !copy()) that are declared
PRIVATE. The intrinsic functions of a base class must be available for
calling from within the same functions of the derived class. Private
members cannot be called so; therefore, you cannot derive a class from
a base class with private intrinsic functions. Make sure that you
specified the correct base class, and review its declaration.
这条语句声明了一个带有 DERIVED FROM 子句的新类。但是,指定的基类具有一个或多个
声明为 PRIVATE 的内部函数(类构造函数、类似 !copy() 的函数)。基类的内部函数必
须可用于从派生类的相同函数内进行调用。私有成员不能这么调用;因此,无法从具有私
有内
部函数的基类中派生类。请确保指定了正确的基类,并检查它的声明。


-4058 Symbol with constructor name is not a function.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 802 -

A class name that is followed by the name of a member variable or
constant is not allowed in this context.
在此上下文中不允许类名后跟成员变量或常量的名称。


-4059 More actual arguments than formal arguments for function "name".

This statement invokes function name, but it specifies more argument
expressions than were called for in the declaration of function name.
Check the syntax of the argument list. Review the declaration of the
function for the expected number and type of arguments.
该语句调用函数名称,但它指定的参数表达式比函数名称声明中调用的参数表达式多。
检查函数的声明,以确定参数的预期数量和类型。


-4060 Fewer actual arguments than formal arguments without defaults for
function "name".

This statement invokes function name, but it specifies fewer argument
expressions than were called for in the declaration of function name.
Check the syntax of the argument list. Review the declaration of the
function for the expected number and type of arguments.
该语句调用函数名称,但它指定的参数表达式数量少于函数名称声明中要求的值。
请检查参数列表的语法。检查函数的声明,以确定参数的预期数量和类型。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 803 -

-4062 Warning: Informal function "name" returns (or is expected to return)
different number of results at different places.

The function name is called at more than one place in this source
module, and it is implied to return different numbers of arguments.
Possibly this correct; it is possible to write functions that return
different numbers of values in different circumstances. However, you
should check that this is the case and that the expected number of
values will be returned in each case.
在此源模块中的多个位置调用函数名称,并且隐含返回不同数量的参数。这可能这是正确
的;
可以编写在不同情况下返回不同数值的函数。但是,您应该检查是否存在这种情况,并且
在每
种情况下都将返回预期的值数。


-4063 Function "name" should not return any results.

This statement invokes the function "name" in a context that implies it
should return one or more values. However, that function has been
declared earlier in this module without a RETURNING clause or with
RETURNING VOID. Make sure that you have called the function you
intended; then review its declaration.
该语句在上下文中调用函数“name”,这意味着它应该返回一个或多个值。但是,该函数
在此模
块的前面已经声明过,没有 RETURNING 子句,没有 RETURNING VOID。确保您已经调用了
您想要的函数;然后检查它的声明。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 804 -



-4064 Type of returned value does not match the declared return type of
function "name".

The function "name" was not explicitly declared but has already been
called with one prototype, and the current call provides a different
prototype. Make sure that you have called the function you intended.
Then review its earlier call, or create an explicit declaration for
it.
函数“name”没有显式声明,但是已经用一个原型调用了,当前的调用提供了不同的原型。

确保您已经调用了您想要的函数。然后检查它以前的调用,或者为它创建一个显式声明。


-4065 Multiple exception handlers for the same exception class "name".

Two or more ON EXCEPTION statements exist for the same exception class
in this block. Only one can be invoked. Review the statements, make
sure that each specifies the correct exception class, and remove or
combine duplicate handlers.
对于该块中的同一异常类,存在两个或更多 ON EXCEPTION 语句。只能调用一个。
检查语句,确保每个语句指定了正确的异常类,删除或合并重复的处理程序。


-4066 RETURN statement not allowed in the body of intrinsic functions.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 805 -

This statement is part of the definition of an intrinsic member
function (the class constructor, !copy, and so on). These functions do
not have explicit result values; or more precisely, code that the
compiler automatically generates produces their returned values. Delete
the RETURN statement.
该语句是内部成员函数定义的一部分(类构造函数,!copy等)。这些函数没有明确的结果
值;
或者更确切地说,编译器自动生成的代码会产生它们的返回值。请删除 RETURN 语句。


-4067 This RETURN statement must provide a value.

This RETURN statement does not specify a value to return, but the
function was declared with a RETURNING clause that specified other than
VOID. If you want to terminate a function early without producing a
value, you could put a label on the END FUNCTION statement and use a
GOTO, or redesign the function logic to avoid the need for an early
exit.
此 RETURN 语句没有指定要返回的值,但是该函数是使用除 VOID 之外指定的 RETURNING
子句声明的。如果想要在不产生值的情况下提前终止函数,可以在 END FUNCTION 语句上
添加一个标签并使用 GOTO,或者重新设计函数逻辑以避免提前退出。


-4068 Function "class::member" has not been declared as SHARED.

This statement uses the double-colon syntax to invoke a class-member

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 806 -

function. However, the specified member function was not declared as
SHARED. Only shared member functions can be called this way; normal
member functions must be called through a reference to an object
because they need the object reference as the value of their SELF
reference. Check that you have specified the class and member that you
intended; then review the declaration of that class.
该语句使用双冒号语法来调用类成员函数。但是,指定的成员函数未声明为 SHARED。
只有共享的成员函数可以这样调用;正常成员函数必须通过对对象的引用来调用,因
为它们需要对象引用作为其 SELF 引用的值。检查是否指定了想要的类和成员;然后
检查该类的声明。


-4069 The type of expression on which member function "name" is
called is not a class.

This statement attempts to invoke the specified function using either
the scope resolution (::) operator or the record membership (.)
operator. However, the name to the left of the scope resolution
operator is not the name of a class in which name is a member, or the
name to the left of the record membership operator is not the name of
an object reference of which name is a member. If you intended to call
name through a reference to an object, use object.name syntax.
Otherwise, make sure that you have specified the class and member names
that you intended, and review the declaration of the class.
该语句尝试使用范围解析(::)运算符或记录成员(.)运算符来调用指定的函数。
但是,范围解析运算符左侧的名称不是名称是其成员的类的名称,或者记录成员

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 807 -

运算符左侧的名称不是名称为其对象引用的名称会员。如果您打算通过对对象的
引用来调用名称,请使用 object.name 语法。否则,请确保您已指定您想要的
类和成员名称,并查看该类的声明。


-4070 Cannot assign to "SELF".

This statement would assign a new value to the implicit function
argument named SELF. Since the value of SELF is used implicitly in any
reference to a member of the self object, assignment to it is not
permitted.
该语句将为名为 SELF 的隐式函数参数分配一个新值。由于 SELF 的值在对 self 对象
的任何引用中都被隐式引用,因此不允许对其赋值。


-4071 Cannot assign to constant "name".

This statement would assign a new value to name, but name was declared
(in this scope) with a CONSTANT statement. Constants do not have memory
locations and cannot be assigned new values. Check that name is the
identifier you intended to use. Then review its declaration. Possibly
you want to assign into a module-level variable name, but it has been
declared as a local constant or a member constant that takes precedence
in this context.
该语句将为 name 赋予新值,但是名称是使用 CONSTANT 语句声明的(在此范围内)。常
量没有内存位置,也不能分配新值。检查该名称是您打算使用的标识符。然后检查它的声

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 808 -

明。
可能您想分配一个模块级别的变量名称,但它已被声明为一个本地常量或一个在此上下文

优先的成员常量。


-4072 Cannot expand structure with no members.

The statement attempted to perform an expansion, but it failed. The
expansion was of the form object.*, but the object that is named does
not have any public member variables, so the expansion set is empty.
Check that you are referring to the correct class and member.
该语句试图进行扩展,但失败了。扩展是表单 object.*,但被命名的对象没有任何公共成
员变量,所以扩展集是空的。检查是否引用了正确的类和成员。


-4073 Beginning or ending name in THRU specification is not a member
of the target record.

This statement makes a reference to some structure (table, record, or
object) with the qualification "first THRU (or THROUGH) last". However,
first or last does not appear as an element of that aggregate. Check
the spelling of the two names.
该语句引用了具有“first THRU(或 THROUGH)last”限定的结构(表、记录或对象)。
但是,第一个或最后一个不会显示为该聚集的元素。检查两个名称的拼写。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 809 -


-4074 No more than two substring index expressions are allowed.

The substring qualifier consists of a pair of integer expressions,
separated by a comma and surrounded by brackets (example: name[1,23]).
The first value cannot be larger than the second. Both must be positive
and no larger than the string length (or the declared length of the
receiving data type).
子字符串限定符由一对整数表达式组成,
用逗号分隔并用括号括起来
(例如:
name
[1,23])


第一个值不能大于第二个值。两者都必须是正数并且不能大于字符串长度(或声明的接收
数据类型的长度)。


-4075 Simple string expressions must have type CHAR or VARCHAR.

The compiler expected a string expression but found an expression that
was neither CHAR nor VARCHAR data type.
编译器期望字符串表达式,但发现一个既不是 CHAR 也不是 VARCHAR 数据类型的表达式。



-4076 Class of CAST object must be a base of class specified as right
argument.

You cannot cast an object to any class; you can only cast it as being
of a class that is derived from its stated class. In the CAST
expression in this statement, the stated class of the object reference

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 810 -

on the left is not a base class of the class that is named as the right
argument. Review the expression to make sure that you have specified
the object that you intended (possibly you need to use parentheses
around the object reference) and the target class.
不能将对象强制转换为任何类;只能将其转换为派生自其指定类的类。在此语句中的 CAST
表达
式中,左侧对象引用的指定类不是命名为右边参数的类的基类。检查表达式,以确保指定
了您想要
的对象(可能需要在对象引用周围使用括号)和目标类。


-4077 This operation is not valid on an operand of this type.

The operator cannot accept operands of this type. Correct any other
errors that might have been reported, and verify that this operator is
defined for operands of this type. Then compile the program again.
操作者不能接受这种类型的操作数。更正可能报告的任何其他错误,并确认此运算符是否
为此
类型的操作数定义的。然后再次编译程序。


-4078 Operand is missing, or is of a type that is not supported.

The operator has been directed to operate on an invalid type. Perhaps a
function returns VOID, a blob (TEXT or BYTE), or FOREIGN result. IS
NULL and IS NOT NULL operators can operate upon TEXT or BYTE and FOREIGN
operands and can receive assignment from other operands of the same

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 811 -

type or NULL.
已指示运算符对无效类型进行操作。
函数可能返回 VOID、
blob
(TEXT 或 BYTE)
或 FOREIGN
结果集。IS NULL 和 IS NOT NULL 运算符可以对 TEXT 或 BYTE 和 FOREIGN 操作数进行
操作,
并且可以接收来自相同类型或 NULL 类型的其它操作数的赋值。


-4079 Operation is not allowed in index expressions.

An operation such as expansion (.*), COPY, NEW, or THRU was attempted
in an index expression.
在索引表达式中尝试了扩展(.*)、COPY、NEW 或 THRU 等操作。


-4080 Warning: Operation on NULL returns NULL.

While the compiler was optimizing expressions, it found an expression
composed of literal values, at least one of which was NULL.
当编译器优化表达式时,它发现了一个由文字值组成的表达式,其中至少有一个是 NULL。



-4081 Warning: A DATETIME expression cannot be negative.

A "-" operator occurred with a DATETIME operand. No negative points
exist in time. INTERVAL can be negative, but DATETIME cannot. Inspect
the syntax of the expression, and revise it to make it greater than or

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 812 -

equal to zero.
一个“-”操作符与 DATETIME 操作数一起发生。时间上不存在负点。INTERVAL 可以是负
值,
但 DATETIME 不能。请检查表达式的语法,并将其修改为大于或等于零。


-4082 Operands of MATCH and LIKE operations must be of CHAR or VARCHAR type.

This statement uses the MATCH or LIKE operator with an argument
expression that is numeric or binary. No automatic conversion of data
types exists in this case. Examine the expression. If it is written as
you intended, revise it to assign the values to character variables
(thus forcing their conversion to character) before you use them with
MATCH or LIKE.
该语句使用 MATCH 或 LIKE 运算符以及数字或二进制的参数表达式。
在这种情况下数据类

不会自动转换。请检查表达式。如果它是按照您的意图编写的,那么修改它,将值赋值给
字符
变量(从而强制将它们转换为字符),然后再将它们与 MATCH 或 LIKE 一起使用。


-4083 Warning: Initialization of external variables will be ignored.

This is only a warning. This statement declares a variable with both
the EXTERNAL keyword and an initialization expression. You can
initialize a variable only at the point where it is defined (that is,
where memory is allocated for it). This is a declaration, not a

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 813 -

definition, so the initialization is ignored.
这只是一个警告。该语句使用 EXTERNAL 关键字和初始化表达式声明一个变量。您只能在
定义它的位置(也就是为其分配内存的位置)初始化一个变量。这是一个声明,而不是一

定义,所以初始化被忽略。


-4085 Cannot output expression of this type.

The statement attempted to output an expression of a type that cannot
be output, such as FOREIGN, or an expression that includes an
invocation of a function that returns VOID.
该语句试图输出无法输出的类型的表达式,例如 FOREIGN,或者包含调用返回 VOID 的函
数的表达式。


-4091 Cannot assign to or refer to an array as a whole. Use
indexing to refer to individual elements.

The compiler attempted to convert the result of one expression to
conform with the type of another expression, and only one of them
was an ARRAY. Either both must be ARRAY type, or neither can be.
编译器试图将一个表达式的结果转换为符合另一个表达式的类型,
其中只有一个是 ARRAY。

两者都必须是 ARRAY 类型,或都不是。


-4092 Type mismatch between CLASS and non-CLASS type.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 814 -


The compiler attempted to convert the result of one expression to
conform with the type of another expression, and only one of them
was a CLASS. Either both must be CLASS type, or neither can be.
编译器试图将一个表达式的结果转换为符合另一个表达式的类型,
其中只有一个是 CLASS。

两者都必须是 CLASS 类型,或者都不是。


-4093 Type mismatch between RECORD and non-RECORD type.

The compiler attempted to convert the result of one expression to
conform with the type of another expression, and only one of them
was a RECORD. Either both must be RECORD type, or neither can be.
编译器试图将一个表达式的结果转换为符合另一个表达式的类型,其中只有一个是
RECORD。
两者都必须是 RECORD类型,或者都不是。


-4094 Length of compared CHAR or VARCHAR types is different.

The compiler was attempting to process a comparison between two string
types (such as comparing function signatures), and the two strings had
different bounds.
编译器试图处理两个字符串类型之间的比较(如比较函数签名),这两个字符串具有不同
的边界。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 815 -

-4095 Records have different number of fields or fields of incompatible types.

In this multiple-field assignment the values that are being assigned do
not correctly match to the fields in the receiving record or object.
Examine the syntax of the value expression; then review the
declaration of the receiving variable.
在此多字段分配中,正在分配的值无法正确匹配接收记录或对象中的字段。检查值表达式
的语法;
然后检查接收变量的声明。


-4096 Expression class must be equal to or derived from result class.

The statement attempted to assign a value of one class to an object of
a different class that is not derivable from the former class.
该语句试图将一个类的值赋值给另一个类的对象,而该对象不能从前一个类派生。


-4097 Multiple declarations for class "name".

This class has been declared previously in the source module (perhaps
in an included file). Only one declaration is allowed. Find all
declarations of the class, and reduce them to one.
该类已经在源模块中声明过(可能在一个包含文件中)。只允许一个声明。找到该类的所
有声明,
并将其减少到一个。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 816 -


-4098 Type of expression that is expanded must be class or record.

This statement refers to name.* (or uses THRU notation); however, the
name it refers to is not declared as a record or as an object of some
class. Check the spelling of the name, and review its declaration.
该语句引用 name.* (或使用 THRU 符号);然而,它引用的名称并没有被声明为记录或

个类的对象。检查名称的拼写,并查看其声明。


-4099 Type to CAST to must be a class.

The right argument to the CAST operator in this statement is not the
name of a class. Review the syntax and spelling of the statement. Make
sure that you have included all necessary header files to declare
classes.
此语句中 CAST 运算符的正确参数不是类的名称。检查语句的语法和拼写。确保包含了声
明类
所需的所有头文件。


-4100 Illegal definition of constant identifier "name".

A name already established as that of a constant identifier has
appeared as a declaration for a new identifier. Suppose, for example,
that maxval has already been declared to be a constant in class x, and

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 817 -

then a later declaration of VARIABLE x::maxval INT occurs.
已确定为常量标识符的名称已作为新标识符的声明出现。
例如,
假设 maxval 已经声明为 x

中的常量,然后出现 VARIABLE x::maxval INT 的后续声明。


-4103 The compiler detected an internal error in file "name" at line
number.

Consult your system administrator or contact GBase Technical Support to
report this error.
请咨询您的系统管理员或联系 GBase 技术支持部门报告此错误。

Note the specified file name and line number. Then report this internal
error.
记下指定的文件名和行号。然后报告这个内部错误。


-4104 The type of a column value does not match the type of a variable.

The INITIALIZE statement cannot establish a match between the type of
the column value and the type of the corresponding variable.
INITIALIZE 语句不能在列值的类型和对应变量的类型之间建立匹配。


-4106 An expression of type DATETIME is expected.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 818 -


In an EVENT statement, a function definition or declaration, an
EXTERNAL REPORT statement, a HANDLER statement, a function invocation,
or just an expression, the compiler found something other than a
DATETIME expression.
在 EVENT 语句中、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用
或者表达式中,编译器找到了不是 DATETIME 表达式的其它项。


-4107 An expression of type INTEGER or SMALLINT is expected.

In an EVENT statement, a function definition or declaration, an
EXTERNAL REPORT statement, a HANDLER statement, a function invocation,
or just an expression, the compiler found something other than a
INTEGER or SMALLINT expression.
在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用
或表达式中,编译器发现的不是 INTEGER 或 SMALLINT 表达式的其它项。


-4108 An expression of type DATE is expected.

In an EVENT statement, a function definition or declaration, an
EXTERNAL REPORT statement, a HANDLER statement, a function invocation,
or just an expression, the compiler found something other than a DATE
expression.
在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 819 -

或表达式中,编译器发现的不是 DATE 表达式的其它项。


-4109 An expression of type DATE or DATETIME is expected.

In an EVENT statement, a function definition or declaration, an
EXTERNAL REPORT statement, a HANDLER statement, a function invocation,
or just an expression, the compiler found something other than a DATE
or DATETIME expression.
在 EVENT 语句、函数定义或声明、EXTERNAL REPORT 语句、HANDLER 语句、函数调用
或表达式中,编译器发现的不是 DATE 或 DATETIME 表达式的其它项。


-4110 You cannot use more than one of the REPORT TO options in the
OUTPUT section of a REPORT routine.

In this OUTPUT section, the statement REPORT TO appears more than
once. Only one such specification is allowed. Remove all but one.
在此 OUTPUT 部分中,语句 REPORT TO 多次出现。只允许有一个这样的规范。
只保留一个,其余全部删除。


-4111 Warning: The function name is declared informally. For stronger
type checking, use a function defined formally.

The compiler detected that function name is an informal function.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 820 -

Possibly the function returned a different number of arguments in
different circumstances, or the function has no prototype
declaration. Although nothing is wrong with defining a function this
way, informal functions are more prone to errors at runtime. It is
recommended that you use formal function declarations (along with
function prototypes) that are less error-prone and that the compiler
checks more rigorously.
编译器检测到函数名是非正式函数。函数可能在不同情况下返回不同数量的参数,或者该
函数没有原型声明。虽然用这种方式定义函数没什么问题,但非正式函数在运行时更容易
出错。建议您使用不易出错的正式函数声明(以及函数原型)并且编译器检查得更严格。


-4117 A constant expression is expected here.

At least one of the values in one of the constant expressions in this
CONSTANT statement cannot be evaluated at compile time. See the
information on constant expressions in the GBase 8s 4GL Reference Manual
for information on what types of operations can be used in constant
expressions.
此 CONSTANT 语句中的常量表达式中至少有一个值不能在编译时计算。有关常量表达式中

以使用哪些类型的操作的信息,请参阅“ GBase 8s 4GL 参考手册”中有关常量表达式的
信息。


-4118 Expressions of this data type are not allowed in constant expressions.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 821 -

The indicated expression cannot be evaluated to a constant. Correct any
other errors that might have been reported against this expression, and
recompile.
指定的表达式不能计算为常量。纠正可能根据此表达式报告的任何其他错误,并重新编译。



-4119 Time-dependent functions must be used with the function
CONSTANT() in constant expressions.

One of the constant expressions in this CONSTANT statement refers to
function such as CURRENT, whose value depends on the current time. Such
functions have to be written as arguments to the CONSTANT() function,
which returns their value as of the time of compilation. (You cannot
use the time of execution in a constant value.)
此 CONSTANT 语句中的常量表达式引用了类似 CURRENT 的函数,其值取决于当前时间。
这些函数必须作为参数写入 CONSTANT() 函数,该函数在编译时返回它们的值。
(不能以常量使用执行时间。)


-4120 Declare variable "name" either external or local to module,
but not both.

The specified variable has been declared or defined more than once. At
least one of those times declared it with EXTERNAL, and another was a
definition as a module variable (lacking either EXTERNAL or GLOBAL).
Review the declarations and definitions of name, recalling that some of

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 822 -

them might be in included files. If you intend name as a variable
private to this module, give it a unique name. (You can declare a
variable as EXTERNAL more than once, and you can declare it as EXTERNAL
and then define it as GLOBAL. Both of these things can happen as a
result of including header files, and they have well-defined meanings.
But it is contradictory to have a variable that is both external and
local to the module.)
已多次声明或定义指定的变量。其中至少有一次使用 EXTERNAL 声明,另一次是定义为模
块变量
(缺少 EXTERNAL 或 GLOBAL)。
检查名称的声明和定义,
回顾其中一些可能在包含的文件中。

果您打算将名称命名为此模块的私有变量,请给它一个唯一的名称。(您可以多次将变量声
明为
EXTERNAL,也可以将其声明为 EXTERNAL ,然后将其定义为 GLOBAL。这两种情况都可能由
于包含
头文件而发生,而且它们都有明确的含义。但是,但是有一个变量既是外部的,也是模块
的本地变量,
这是矛盾的。)


-4121 Reports cannot be invoked through the CALL statement or in function
call expressions.

This statement attempts to call a report as if it were a function.
Although a report has the general form of a function definition, it
cannot be used like one. Check the names of functions that are called
in this statement; one is a report. If you meant to send a row of data

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 823 -

to the report, use the OUTPUT TO REPORT statement.
该语句试图调用一个报告,就像它是函数一样。尽管报告具有函数定义的一般形式,但它
不能
像函数定义那样使用。检查在此语句中调用的函数的名称;其中一个是报告。如果您打算
向报
告发送一行数据,请使用 OUTPUT TO REPORT 语句。


-4122 Parser limitations have been exceeded. Try to reduce complexity or
size of module.

The parser has returned an error that is NOT a syntax error. This error
could be caused by a parser-stack overflow (too many levels of nesting
within IF statements, WHILE statements, or the like) or by the parser
running out of parser-stack space (the module is too large). Try to
reduce the complexity of the code by splitting complex functions into
multiple functions or splitting the module into multiple modules.
解析器返回了一个不是语法错误的错误。这个错误可能是由解析器堆栈溢出(IF 语句,
WHILE
语句等嵌套层次太多)或解析器堆栈空间不足(模块太大)造成的。尝试通过将复杂功能
分解为
多个功能或将模块分成多个模块来降低代码的复杂性。


-4123 CALL to function "name" must have a RETURNING clause.

The function name is declared as returning a result, so the CALL

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 824 -

statement must provide a RETURNING clause to receive the result.
函数名称被声明为返回结果集,所以C
ALL语句必须提供一个 RETURNING 子句来接收结果。



-4125 Not defined/declared as a member in the class hierarchy "name".

The element indicated is either not declared, or is declared but not
defined, as a member of the class hierarchy "name."
指定的元素未声明,或者已声明但未定义为类层次结构“name”的成员。


-4126 Handler expected.

The identifier in the WITH clause of the HANDLE statement does not
identify a handler. If the identifier of the handler specifies a class,
check to see that the handler is declared as belonging to that class;
otherwise, check to see that it is declared as belonging to the
declared class of the target object.
HANDLE 语句的 WITH 子句中的标识符不标识处理程序。如果处理程序的标识符指定了类,

请检查处理程序是否被声明为属于该类;否则,检查它是否被声明为属于目标对象的声明
类。


-4127 Event expected.

The identifier before the WITH clause of the HANDLE statement does not

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 825 -

identify an event. The event must be declared in or inherited by the
declared class of the target object (which can be the SELF object).
HANDLE 语句的 WITH 子句前面的标识符不标识事件。
该事件必须在目标对象
(可以是 SELF
对象)的声明类中声明或继承。


-4128 Handler should be a member of either the same class, or else
a base class, of the object.

The indicated handler is declared in the program but is not a member of
same class as the object or of a base class from which the object is
derived.
指示的处理程序在程序中声明,但与对象或派生对象的基类的成员不同。


-4129 Object name expected.

In the HANDLE statement, the event was prefixed with a "name." qualifier,
but the name is not that of a known object.
在 HANDLE 语句中,该事件的前缀是“name.”限定符,但名称不是已知对象的名称。


-4130 Handler can't be invoked directly.

A handler cannot be the object of an explicit CALL statement. The only
way to invoke a handler is through calling or posting the event to

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 826 -

which the handler has been assigned by a HANDLE statement.
处理程序不能是显式 CALL 语句的对象。调用处理程序的唯一方法是通过调用或
发布由 HANDLE 语句分配处理程序的事件。


-4131 No implied object for this non-shared function call ("SELF" is
not defined in this context).

No object reference has been supplied for this member function call. If
the member function call was made inside a member function, "self"
would be the implied object reference. This call was made in a
nonmember function body, so there is no implied object reference.
未为此成员函数调用提供对象引用。如果成员函数调用是在成员函数中进行的,那么
“self”
就是隐含的对象引用。此调用是在非成员函数体中进行的,所以没有隐含的对象引用。


-4132 Incorrect base class name in base clause.

The program has declared a base class and has declared another class as
DERIVED FROM that base class. In the definition of the constructor for
the derived class, a base constructor clause specifies a call to a
function that is NOT the base class constructor. Suppose a derived
class is called "bread" and its base class is called "food"; if the
constructor for loaf should have a definition that begins FUNCTION
bread::bread(args1):food(args1). If it begins FUNCTION

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 827 -

bread::bread(args1):beverage(args1), the error message appears.
程序声明了一个基类,并声明了从该基类派生的另一个类。在派生类构造函数的定义中,
基础构造函数子句指定对不是基类构造函数的函数的调用。假设派生类被称为"bread",
其基类称为"food";如果面包的构造函数应该有一个以 FUNCTION
bread::bread(args1):food(args1)
开头的定义。如果以 FUNCTION bread::bread(args1):beverage(args1) 开始,则显示错
误消息。


-4133 Only events can be posted.

A POST statement specified something other than event. Member
functions, handlers, and reports cannot be posted.
POST 语句指定了事件以外的其他内容。不能发布成员函数、处理程序和报告。


-4134 Class qualification not allowed when invoking an event.

The program specified a class name followed by a scope resolution
operator (::) and the name of an event. Replace the class name with the
name of the appropriate object.
该程序指定了一个类名,后跟范围解析运算符(::)和事件的名称。请将类名替换为适当对
象的名称。


-4135 Only shared class variables can be defined outside class declaration.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 828 -

A class variable described as SHARED cannot be defined outside the
class declaration. The variable definition indicated is completing the
definition of a variable already described without a SHARED qualifier
in a class declaration.
不能在类声明外定义描述为 SHARED 的类变量。所指出的变量定义是在类声明中完成已经
描述的变
量的定义,而没有 SHARED 限定符。


-4136 Intrinsic function name() has wrong signature.

The correct signature for a !copy() function is FUNCTION !copy (obj
this_class), having one parameter whose type is an object of the
containing class. The correct signature for a !derive() function has no
arguments, only a pair of parentheses.
!copy() 函数的正确签名是 FUNCTION !copy (obj this_class) 其中一个参数的类型是
包含类的对象。!derive() 函数的正确签名是没有参数的,只有一对括号。


-4137 Embedded C code is allowed in compiled-4GL programs only.

A BEGIN_C and END_C block can be included only in compiled NewEra
programs. It is not valid in a interpreted (p-code) NewEra program.
BEGIN_C 和 END_C 块只能包含在已编译的 NewEra 程序中。
它在解释
(p-code)
NewEra 程
序中无效。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 829 -

-4138 Arrays of CHAR(*) are not allowed.

ARRAY [ ] OF CHAR(*) is not a valid type.
ARRAY [ ] OF CHAR(*) 是一个无效的类型。


-4139 The constant "name" cannot be used within its own definition.

A constant cannot be used until it is defined. Therefore, a constant
cannot be used in its own definition.
除非定义了常量,否则不能使用它。因此,常量不能在其本身的定义中使用。


-4140 Compiler cannot continue.

This error is output if an unrecoverable error occurs in the compiler
(that is, SEG VIO, BUS ERROR). This situation could occur if the user
terminated the compilation explicitly. Otherwise, if the error recurs,
note all circumstances and contact GBase Technical Support.
如果编译器中出现不可恢复的错误,则输出此错误(即,SEG VIO、BUS ERROR)。
如果用户显式终止编译,则可能发生这种情况。否则,如果错误再次发生,请注意所有情
况,
并与 GBase 技术支持部门联系。


-4141 Unknown 4GL compiler flag "name" will be ignored.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 830 -


This error occurs when the user invokes components of the NewEra
product directly, instead of through standard interfaces. The
executable fglc or fglp has been passed a compiler switch that is not
understood.
当用户直接调用而不是通过标准接口定义 NewEra 产品的组件时,会发生此错误。
可执行文件 fglc 或 fglp 已被传递给一个无法解释的编译器开关。


-4142 Functions called in the WHENEVER statement cannot require parameters.

The WHENEVER statement in the program has the form WHENEVER condition
CALL function, and the function being called is declared to have
parameters. The function call in this context cannot even have
parentheses, let alone arguments. Note that main has implicit
parameters, so it cannot be used in this form of the WHENEVER
statement.
程序中的 WHENEVER 语句具有 WHENEVER 条件 CALL 函数格式,被调用的函数被声明为具
有参
数。在这种情况下的函数调用甚至不能有括号,更不用说参数了。请注意,main 有隐式参
数,所以
它不能以 WHENEVER 语句这种形式使用。


-4143 Functions called in the WHENEVER statement cannot return values.

The WHENEVER statement in the program has the form WHENEVER condition

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 831 -

CALL function, and the function that is being called is declared with a
RETURNING clause. The function call in this context cannot return any
values.
程序中的 WHENEVER 语句具有 WHENEVER 条件 CALL 函数的形式,并且正在调用的函数使

RETURNING 子句声明。此上下文中的函数调用不能返回任何值。


-4144 A grammatical error has been found in an INCLUDEd file. The
construct is not understandable in its context.

This general message shows an inability to parse a NewEra statement
from a file summoned by an INCLUDE statement. Start at the point where
the error was issued, and work backward in the program looking for
other error messages, and for missing punctuation, missing END
statements, and other mistakes. Often, a missing END IF is the culprit.
If the cause for this error is not obvious, concentrate on eliminating
any other, more specific error messages, and this one will probably go
away also.
此一般消息显示无法从 INCLUDE 语句调用的文件中解析 NewEra 语句。
从发出错误的位置
开始,
在程序中反向查找其他错误消息、缺少标点符号、缺少 END 语句和其他错误。通常,缺少
END IF
是罪魁祸首。如果这个错误的原因不明显,那就集中精力消除任何其他更具体的错误信息,
这个错
误信息也可能会消失。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 832 -


-4145 Too many errors, compiler will quit.

Too many compiler errors have been detected. The compiler reports the
errors it has found to this point and quits.
检测到太多的编译错误。编译器报告它发现的错误并退出。


-4146 Too many input files specified.

The executables fglc and fglp allow only 1 input file.
可执行文件 fglc 和 fglp 只允许一个输入文件。


-4147 A RETURN statement is required in this function.

The function was declared with a RETURNING clause that specified other
than VOID, but no RETURN statement occurs in the body of the function.
该函数声明了 RETURNING 子句,该子句指定的不是 VOID,但函数的主体中没有发生
RETURN 语句。


-4148 CHAR (*) type is not allowed in SQL statements.

The CHAR(*) type is not allowed as an SQL type. It cannot be used in
CREATE TABLE, ALTER TABLE, and so on.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 833 -

不支持 CHAR(*) 类型作为 SQL 类型。它不能用于 CREATE TABLE、ALTER TABLE 等。


-4149 Expressions of this type are not allowed in SQL statements.

An identifier that is mentioned in an SQL statement is of a type such
as FOREIGN, or it names an object (a member of a class) or a record.
在 SQL 语句中提到的标识符是类似 FOREIGN 的类型,或者它命名了对象(类的成员)或
记录。


-4150 First parameter must be an ixRow object.

For calls to the built-in functions packrow() and unpackrow(), the
first argument must be of type ixRow.
对于调用内建函数 packrow() 和 unpackrow(),第一个参数必须是 ixRow 类型。


-4151 Constructor cannot be called directly.

A constructor cannot be called directly using the CALL statement or as
the function in a function call expression. The constructor should be
invoked indirectly using the NEW operator.
不能直接使用 CALL 语句调用构造函数,或这在函数调用表达式中作为函数使用。
构造函数必须直接使用 NEW 操作符调用。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 834 -


-4152 Invalid begin or end name for THROUGH expression.

Invalid expressions have been used in a THROUGH expression in an SQL
statement.
SQL 语句中的 THROUGH 表达式中使用了无效的表达式。


-4153 Warning: The constant expression with the USING clause has been
evaluated based on the values of the environment variables at compile time.

This warning is generated when a value for a CONSTANT contains a USING
clause. The settings for environment variables DBFORMAT and DBMONEY can
affect the result of the USING operation. This warning reminds the user
that the USING clause in the CONSTANT statement will be evaluated at
compile time and might not be consistent with other USING clauses that
are evaluated at runtime.
当 CONSTANT 的值包含 USING 子句时会生成此警告。环境变量 DBFORMAT 和 DBMONEY 的
设置可能会影响 USING 操作的结果。此警告提醒用户 CONSTANT 语句中的 USING 子句将
在编译时进行计算,并且可能与运行时计算的其他 USING 子句不一致。


-4154 The maximum size allowed for a constant of type CHAR or VARCHAR
is 255.

In a CONSTANT declaration or definition, the size of a character type

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 835 -

constant (CHAR or VARCHAR) cannot exceed 255.
在 CONSTANT 定义或声明中,字符类型常量(CHAR 或 VARCHAR)的大小不能超过 255。


-4155 Warning: Only static cursor names are allowed in the WHERE CURRENT OF
clause. Cursor name will be processed as a static cursor name.

In the UPDATE and DELETE statements, the WHERE CURRENT OF cursor-name
clause cannot cite a cursor name that has been declared as dynamic.
在 UPDATE 和 DELETE 语句中,WHERE CURRENT cursor-name 子句不能引用已声明为
动态游标的游标名称。


-4156 Warning: The loop counter may overflow.

This warning can occur for a FOR statement when the upper limit of the
FOR loop is within the STEP value of the maximum value of that type. As
an example, suppose the FOR statement tried to run IX from 1 to 32760
with a step of 20, and IX was declared as SMALLINT; the compiler would
issue the warning because IX would overflow without satisfying the loop
termination condition.
当 FOR 循环的上限在该类型的最大值的 STEP 值内时,
可能会发生此警告。
例如,
假设 FOR
语句试图以 20 步从 1 到 32760 运行IX,并且 IX 被声明为 SMALLINT;编译器会发出警
告,
因为 IX 会溢出,而不满足循环终止条件。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 836 -


-4157 The statement is too complex. Try to simplify it.

This error occurs if a stack overflow is detected during compilation.
Under Windows, the stack size is limited. Try to reduce the complexity
of your code. Complex expressions, such as many string concatenations
('||'), can consume a large portion of the stack.
如果在编译期间检测到堆栈溢出,则会发生此错误。在 Windows 下,堆栈大小有限。尽量

少代码的复杂性。复杂的表达式(如多个字符串连接('||'))可能占用大部分堆栈。


-4158 GBase 8s FORM and WINDOW statements are not supported in this
product. Use the Visual Class Library for screen interaction.

The compiler encountered an OPEN FORM or OPEN WINDOW statement. In
NewEra, these functionalities are handled through Visual Class Library
objects. Consult the Graphical and Connectivity Reference Manual. Other
grammatical errors might be generated in addition to this one.
Replacing the offending statements with VCL calls and recompiling
should eliminate the additional messages.
编译器遇到 OPEN FORM 或 OPEN WINDOW 语句。在 NewEra 中,这些功能是通过
Visual Class Library 对象处理的。请参阅图形和连接参考手册。除此之外,可能
会产生其他语法错误。用 VCL 调用替换违规语句并重新编译应该可以排除附加的消息。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 837 -

-4159 Subscripting cannot be applied to the expression because it is
not a character or array reference.

The expression cannot be qualified by a subscript because the
expression is neither an ARRAY nor CHAR() type.
表达式不能由下标限定,因为表达式既不是 ARRAY 也不是 CHAR() 类型。


-4160 This expression cannot be used as the target of an assignment statement.

An illegal assignment was detected. For example, you declared abc to be
a constant, but here you attempted to assign a value to it. Some
statements that involve assignment: LET, SELECT...INTO, OPEN
CURSOR...INTO, FETCH INTO, FOREACH...INTO, FOR iterator (the iterator
is assigned values), INITIALIZE, and LOCATE. Only NewEra returns this
error.
检测到非法赋值。例如,将 abc 声明为常量,但在此试图为其赋值。涉及赋值的语句有:

LET、
SELECT
...
INTO、
OPEN
CURSOR
...
INTO、
FETCH
INTO、
FOREACH
...
INTO、
FOR iterator
(迭代器赋值)、
INITIALIZE 和 LOCATE。只有 NewEra 返回此错误。


-4161 This variable has not been defined as a record or object.

The variable indicated has been used with an asterisk or with the THRU
or THROUGH keywords. However, it has not been defined as a record or an

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 838 -

object. Check the spelling of the name. If it is as you intended,
locate the definition of the variable, and find out why it was not
defined as expected. Only NewEra returns this error.
指示的变量已于星号或 THRU 或 THROUGH 关键字一起使用。但是,它没有被定义为记录
或对象。检查名称的拼写。如果它是您想要的,找到变量的定义,并找出它没有按预期定

的原因。只有 NewEra 返回此错误。


-4162 Values cannot be RETURNed from within reports.

A report cannot include a RETURN statement because that would return
control to the routine that invoked the report.
报告不能包含 RETURN 语句,因为这会将控制权返回给调用报告的例程。


-4163 Intrinsic function "name" of class "class" cannot be called directly.

Constructors of the form classname::classname() are invoked through the
NEW operator. The classname::!copy() is invoked through the COPY
operator. The classname::!derive() is invoked through the AS clause in
both the NEW and the COPY operator. Only NewEra returns this error.
通过 NEW 运算符调用形如 classname::classname() 的构造函数。classname::!copy()
通过 COPY 运算符调用。通过 NEW 和 COPY 运算符中的AS 子句调用
classname ::!derive()。
只有 NewEra 返回此错误。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 839 -


-4164 The variable is too complex a type to be used in an assignment
statement.

The type of the variable cannot be used in an assignment.That is, you
cannot assign a value (except for the nonvalue NULL) to a BYTE or TEXT
variable. You cannot assign any value to an ARRAY variable.
变量的类型不能用于赋值。
也就是说,
不能将值
(除了非值 NULL)
赋值给 BYTE 或 TEXT 变
量。
不能将任何值分配给 ARRAY 变量。


-4167 The PRAGMA LOCATION statement should be the last statement on the line.

No other NewEra statement can follow PRAGMA LOCATION on the same line.
If your source file includes any other NewEra statement or compiler
directive after PRAGMA LOCATION, insert a linefeed character
immediately following the end of the PRAGMA LOCATION compiler
directive. (The last specification of PRAGMA LOCATION must be a line
number, a filename, or the keyword RESET.)
其他 NewEra 声明都不能与 PRAGMA LOCATION 同行。如果源文件在 PRAGMA LOCATION
之后包含任何其他 NewEra 语句或编译器指令,请在 PRAGMA LOCATION 编译器指令结
束后立即插入换行符。(PRAGMA LOCATION 的最后一个规格必须是行号、文件名或关键字
RESET。)


-4168 An unexpected character was detected in this NewEra name.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 840 -


A multibyte character (or other non-ASCII character that supports the
locale) was found in the name of a NewEra identifier. For this release
of NewEra, multibyte characters and other locale-specific characters
are not valid in NewEra identifiers.
NewEra 标识符的名称中含有多字节字符(或支持其它语言环境的非 ASCII 字符)。对于
此版本的 NewEra,多字节字符和特定于其它语言环境的字符在 NewEra 标识符中无效。


-4169 Error loading locale.

A failure occurred in trying to load the CLIENT_LOCALE locale file.
Verify that the specified files exist, that these files have
appropriate permissions set, and that sufficient space is available in
which to load them.
尝试加载 CLIENT_LOCALE 语言环境文件时发生故障。请验证指定的文件是否存在,
这些文件是否设置了适当的权限,并且有足够的空间可用于加载它们。


-4200 Write error -- out of disk space.

The compiler failed to write some information to the output file
because it ran out of disk space.
编译器无法将一些信息写入输出文件,因为它的磁盘空间不足。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 841 -

-4201 Write error. Check available disk space and ulimit.

The compiler failed to write some information to the output file, but
the cause of the error was not reliably determined. This usually means
that the ulimit was exceeded, but possibly the error was detected too
late for the auxiliary information to be accurate, or other errors have
occurred since.
编译器未能将一些信息写入输出文件,但错误原因没有可靠地确定。这通常意味着 ulimit
超限,
但可能错误被检测得太晚,以致辅助信息无法准确,或者此后发生了其他错误。


-4202 The compilation was not successful. Errors found: n. The file
filename was not written successfully either.

The compiler failed to produce the output file because of errors and it
also failed to produce the error file. Probably not enough disk space
was available.
编译器由于错误而无法生成输出文件,也无法生成错误文件。可能没有足够的磁盘空间可
用。


-4203 The compilation was successful, with n warnings. The file filename
was not written successfully.

The compiler produced the output file. It also detected some warnings,
and it failed to produce the error file as well. Probably not enough

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 842 -

disk space was available.
编译器生成了输出文件。它还检测到一些警告,并且也无法生成错误文件。可能没有足够
的磁
盘空间可用。


-4300 This statement contains too many levels of function call nesting.

This statement has calls to functions that are nested within the
parameter lists of other function calls, to a level exceeding four. The
maximum level supported is four, as in the following expression:
Afun(2-Bfun(3+Cfun(4*Dfun(5)))).
该语句调用嵌套在其他函数调用的参数列表中的函数,其层级超过 4。支持的最高层级是
四,
如以下表达式所示:Afun(2-Bfun(3+Cfun(4*Dfun(5))))。

Rewrite the expression to store the result of the innermost function
calls in a variable, and use the variable in the expression.
重写表达式以将最内层函数调用的结果存储在变量中,并在表达式中使用该变量。


-4301 The program has too many levels of WHILE, FOR, MENU, and/or
CASE statements.

You can only nest CASE, FOR, MENU, and WHILE statements (in any combination)
to a depth of 25. Rearrange the program so that the nesting depth does not
exceed 25, for example, by moving some of the inner structures to a separate

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 843 -

module or isolating them in a function.
您只能将 CASE、FOR、MENU 和 WHILE 语句(以任意组合)嵌套 25 层。重新排列程序以
使嵌
套深度不超过 25。例如,通过将某些内部结构移动到单独的模块或在函数中分隔它们。


-4302 The record description is nested too deep.

Rewrite the record definition so that it does not exceed the limit of five nested
levels of records.
请重写记录定义,使其不超过五个嵌套层级的限制。


-4303 A blob variable or cursor name expected.

The argument to the FREE statement must be the name of a cursor or
prepared statement or, in 4GL, the name of a variable with the BYTE
or TEXT data type.
FREE 语句的参数必须是游标或预准备语句的名称,或者在 4GL 中是带 BYTE 或 TEXT
数据类型的变量的名称。


-4304 A different database has already been declared. If your program
uses a global definition file, it must contain the same database name
as this one.

This module contains a non-procedural DATABASE statement and also uses the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 844 -

GLOBALS filename statement to include a global definitions file. In that file
there is a DATABASE statement that names a different database. Change either
the module or the globaldefinitions file so they name the same database.
此模块包含非程序化 DATABASE 语句,并使用 GLOBALS 文件名语句包含全局定义文件。在
该文件
中有一个名为不同数据库的 DATABASE 语句。请更改模块或全局定义文件,以便命名相同
的数据库。


-4305 The database "name" cannot be found or opened. If the database
exists, check the database permissions on the database. In addition,
check the system permissions on the database directory and its
ascendant directories.

Check the spelling of the database name. Check that the database
name exists in your current directory or in a directory included in
your DBPATH environment variable. If the database is in a different
directory, make sure that you have the ability to read that directory
(to test this, make it the current directory and list the names of files
in it). If these items are correct, make sure that you have at least
CONNECT privilege for the database.
检查数据库名称的拼写。检查数据库名称在当前目录或在 DBPATH 环境变量中包含的目录
中是否存在。
如果数据库位于不同的目录中,请确保您有能力读取该目录(测试目录,将其作为当前目
录并列出其
中的文件名称)。如果这些条目是正确的,请确保您至少具有数据库的 CONNECT 权限。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 845 -


-4306 The GLOBALS file "pathname" cannot be opened for reading.

The file specified in the GLOBALS statement cannot be opened.
Check that the file exists and that you can read it, for example, by
displaying it with an operating system command. If these items are
correct, double-check the spelling of the pathname. If the file is not in
the current directory, give the complete path.
GLOBALS 语句中指定的文件无法打开。请检查文件是否存在,以及是否可以读取它。例如,

通过使用操作系统命令显示该文件。如果这些条目正确,请仔细检查路径名的拼写。如果

件不在当前目录中,请输入完整路径。


-4307 The number of variables and/or constants in the display list does
not match the number of form fields in the display destination.

There must be exactly as many items in the list of values to display
as there are fields listed following the TO keyword.
在要显示值列表中,必须包含与 TO 关键字后面列出的字段相同的项。


-4308 The number of input variables does not match the number of form
fields in the screen input list.

Your INPUT statement must specify the same number of variables as

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 846 -

it does fields. When checking this, keep in mind that when you refer
to a record using an asterisk or THRU, it is the same as listing
each record component individually.
您的 INPUT 语句必须指定与字段相同数量的变量。
在检查时,
请记住,
当使用星号或 THRU
引用记录时,这与单独列出每个记录组件是一样的。


-4309 Printing cannot be done within a loop or CASE statement contained
in report headers or trailers.

4GL needs to know how many lines of space will be devoted to page
headers and trailers; otherwise, it does not know how many detail rows
to allow on a page. Since it cannot predict how many times a loop will
be executed, or which branch of a CASE will be execute, it forbids the
use of PRINT in these contexts within FIRST PAGE HEADER, PAGE HEADER,
and PAGE TRAILER sections. You have to rearrange the code to place the
PRINT statement where it will always be executed.
4GL 需要知道将有多少空间用于页眉和页尾;否则,它不知道在页面上允许多少行。由于
无法
预测循环将执行多少次,
或 CASE 的哪个分支将被执行,
因此它禁止在这些上下文的 FIRST
PAGE HEADER、PAGE HEADER、和 PAGE TRAILER 中使用 PRINT。您必须重新排列代码,
以便将 PRINT 语句放置在始终执行的位置。


-4310 Files cannot be printed within report headers or trailers.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 847 -

4GL needs to know how many lines of space will be devoted to page
headers and trailers; otherwise, it does not know how many detail rows
to allow on a page. Since it cannot predict how many lines are in a
file, it forbids printing a file in a header or trailer. You can write
PRINT statements in the control blocks for FIRST PAGE HEADER, PAGE
HEADER, and PAGE TRAILER. However, you cannot write PRINT FILE
statements in these control blocks.
4GL 需要知道将有多少空间用于页眉和页尾;否则,它不知道在页面上允许多少行。由于
无法预测循环将执行多少次,它禁止在页眉和页尾打印文件。可以在 FIRST PAGE HEADER、

PAGE HEADER、和 PAGE TRAILER 的控制块中编写 PRINT。但是您不能在这些控制块中写
PRINT FILE 语句。


-4311 The variable "variable-name" was not defined as a record.
It cannot be used in this fashion.

The variable name that is shown is being used with THRU (or THROUGH)
notation or with .* notation, but is not defined as a record.
Check that the variable name is the one that you intended. If it is,
find the place where it is defined (which may be in a global
definition file included with the GLOBALS statement) and find out
why it is no longer defined as a record.
显示的变量名正在与 THRU(或 THROUGH)表示法或 .* 表示法一起使用,但未被定义为
记录。
检查变量名称是否是您想要的名称。
如果是,
找到定义它的位置
(可能位于 GLOBALS
语句的全局定义文件中)并找出它不再被定义为记录的原因。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 848 -


-4312 The NEED statement is allowed only within reports.

The NEED n LINES statement is used in a report to cause a conditional
page skip. This is only relevant in the context of the FORMAT section
of a report. Check to see if a REPORT statement has been omitted.
在报告中使用 NEED n LINES 语句导致条件页跳过。这只在报告的 FORMAT 部分中有用。
检查是否省略了 REPORT 语句。


-4313 The NEED statement cannot be used within report headers or trailers.

The NEED n LINES statement is used in a a report to cause a conditional
page skip. In the context of a FIRST PAGE HEADER, PAGE HEADER, and PAGE
TRAILER section, however, it is irrelevant. If it did cause a page
skip, an endless loop could ensue.
在报告中使用 NEED n LINES 语句导致条件页跳过。然而,在 FIRST PAGE HEADER、PAGE
HEADER
和 PAGE TRAILER 部分的上下文中,这是无关紧要的。如果确实导致页面跳过,则可能会
出现无限循环。


-4314 The program cannot continue or exit a menu at this point because
it is not within a MENU statement.

This CONTINUE or EXIT statement uses the MENU keyword, but it is not
located within a COMMAND section of a MENU statement. Either the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 849 -

statement is in error, or some other error has prevented 4GL from
recognizing the MENU statement.
该 CONTINUE 或 EXIT 语句使用 MENU 关键字,但它不在 MENU 语句的 COMMAND 部分。
该语句可能是错误的,或者其他错误阻止了 4GL 识别 MENU 语句。


-4315 The program cannot exit a FOREACH statement at this point because
it is not within a FOREACH statement.

This CONTINUE or EXIT statement uses the FOREACH keyword, but it is not
located within a FOREACH loop. Either the statement is in error, or
some other error has prevented 4GL from recognizing the FOREACH
statement.
该 CONTINUE 或 EXIT 语句使用 FOREACH 关键字,但它不在 FOREACH 循环中。
该语句可能是错误的,或者其他错误阻止了 4GL 识别 FOREACH 语句。


-4316 The program cannot exit a WHILE statement at this point because
it is not within a WHILE statement.

This CONTINUE or EXIT statement uses the WHILE keyword, but it is not
located within a WHILE loop. Either the statement is in error, or some
other error has prevented 4GL from recognizing the WHILE statement.
此 CONTINUE 或 EXIT 语句使用 WHILE 关键字,但它不在 WHILE 循环内。
该语句可能是错误的,或者其他错误阻止了 4GL 识别 WHILE 语句。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 850 -


-4317 The program cannot exit a FOR statement at this point because
it is not within a FOR statement.

This CONTINUE or EXIT statement uses the FOR keyword, but it is not
located within a FOR loop. Either the statement is in error, or some
other error has prevented 4GL from recognizing the FOR statement.
此 CONTINUE 或 EXIT 语句使用 FOR 关键字,但它不在 FOR 循环内。
该语句可能是错误的,或者其他错误阻止了 4GL 识别 FOR 语句。


-4318 The program cannot exit a CASE statement at this point because
it is not within a CASE statement.

This CONTINUE or EXIT statement uses the CASE keyword, but it is not
located within a CASE statement. Either the statement is in error, or
some other error has prevented 4GL from recognizing the CASE
statement.
此 CONTINUE 或 EXIT 语句使用 CASE 关键字,但它不在 CASE 循环内。
该语句可能是错误的,或者其他错误阻止了 4GL 识别 CASE 语句。


-4319 The symbol variable-name has been defined more than once.

The variable that is shown has appeared in at least one other DEFINE
statement before this one. If this DEFINE is within a function or the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 851 -

MAIN section, the prior one is also. If this DEFINE is outside any
function, the prior one is also outside any function; however, it might
be within the file included by the GLOBALS statement.
显示的变量至少出现在此语句之前的另一个 DEFINE 语句中。如果该 DEFINE 在函数或
MAIN
部分中,那么前面的部分也是。如果此 DEFINE 在任何函数之外,则前面的函数也在任何
函数之外;
但是,它可能在 GLOBALS 语句包含的文件中。


-4320 The symbol table-name is not the name of a table in the specified
database.

The named table does not appear in the database that is named in the
latest DATABASE statement. It may be spelled wrong in the program, or
the table might have been dropped or renamed since the last time the
program was compiled.
指定的表不会出现在最新 DATABASE 语句指定的数据库中。它可能在程序中拼写错误,
或者自上次编译程序以来表可能已被删除或重命名。


-4321 An array may have the maximum of three dimensions.

You have written more than three subscripts following the name of an
array. However, 4GL only supports arrays of three dimensions or fewer.
Check the syntax of the subscript; an extra comma might have been
entered in error.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 852 -

您已经在数组的名称后面写入了三个以上的下标。但是,4GL 仅支持三维或更小的数组。
请检查下标的语法;可能错误地输入了额外的逗号。


-4322 The symbol column-name is not the name of a column in the specified
database.

The preceding statement suggests that the named column is part of a
certain table in the database that is in the last DATABASE statement.
The table exists, but the column does not appear in it. Check the
spelling of the column name. If it is spelled as you intended, then
either the table has been altered, or the column renamed, or you are
not accessing the database you expected.
上述语句表明,该命名列是数据库中某个表的一部分,该表在最后一个 DATABASE 语句中。

该表存在,但该列不在其中显示。检查列名称的拼写。如果它按照您的意图进行拼写,那

表已被更改,或者列已重命名,或者没有访问您所期望的数据库。


-4323 The variable variable-name is too complex a type to be used in an
assignment statement.

The named variable is a record or an array. 4GL does not support the
assignment of whole records or arrays. In the case of a record, you
must assign the individual record components, or you can assign groups
of components to groups of components using asterisk notation. In the

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 853 -

case of an array, you must use a subscript to designate a single array
element. This error is not produced by any version of 4GL later than
Version 4.1.
指定的变量是一个记录或一个数组。4GL 不支持给整个记录或数组赋值。在记录的情况下,

必须为单个记录组件赋值,或者可以使用星号符号将组的组件分配给组。对于数组,必须
使用下标来指定单个数组元素。4GL 的任何版本都不会在 V4.1 之后产生此错误。


-4324 The variable variable-name is not a character type, and cannot
be used to contain the result of concatenation.

This statement attempts to concatenate two or more character strings
(using the comma as the concatenation operator) and assign the result
to the named variable. Unfortunately, it is not a character variable.
4GL will not perform automatic conversion from characters in this case.
Assign the concatenated string to a character variable; then, if you
want to treat the result as numeric, assign the string as a whole to a
numeric variable.
此语句尝试连接两个或多个字符串(使用逗号作为连接运算符)并将结果分配给指定的变
量。
不幸的是,该变量不是字符变量。在这种情况下,4GL 不会执行字符的自动转换。将连接

符串分配给字符变量;那么,如果想将结果视为数字,请将该字符串作为整体分配给数字
变量。


-4325 The source and destination records in this record assignment

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 854 -

statement are not compatible in types and/or lengths.

This statement uses asterisk notation to assign all components of one
record to the corresponding components of another. However, the
components do not correspond. Note that 4GL matches record components
strictly by position, the first to the first, second to second, and so
on; it does not match them by name. If the source and destination
records do not have the same number and type of components, you will
have to write a simple assignment statement for each component.
该语句使用星号符号将一个记录的所有组件分配给另一个记录的相关组件。但是,组件不
对应。
请注意,4GL 严格按位置匹配记录组件,第一个对第一个,第二个对第二个等;而不是通
过名称
匹配。如果源记录和目标记录没有相同数量和类型的组件,则必须为每个组件编写简单的
赋值语句。


-4326 A NULL value may not be applied to substrings.

The value NULL is a whole value that is relevant to complete variables
only. You can assign NULL to the name of this variable (omitting the
substring notation) to make the entire variable contain the null
string. Alternatively, you can assign spaces to a substring to make it
blank. The only way to delete a portion of a string is to write an
expression that extracts the leading and trailing substrings that are
to be retained and concatenates them.
NULL 值是一个完整的值,只与完整的变量有关。您可以将 NULL 赋值给此变量的名称

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 855 -

(省略子字符串表示法)以使整个变量包含空字符串。或者,可以将空格分配给子字符串,

使其为空。删除字符串的一部分的唯一方法是编写一个表达式,该表达式提取要保留的前
导和后续子字符串,并将它们连接起来。


-4327 The variable variable-name is not of type INTEGER or SMALLINT. It
cannot be used as a loop index.

The index variable in a FOR loop must be an integer type. Specify a
different variable, or redefine the one named.
FOR 循环中的索引变量必须是整数类型。指定不同的变量,或重新定义命名的变量。


-4328 The variable variable-name has too complex a type to be used
as the destination of a return from a function.

The named variable is a record or an array. Only simple variables can
be returned by a function, although the function can return a list of
simple variables. In the case of a record, you can use the asterisk or
THRU notation as shorthand to specify a list of components.
命名的变量是一个记录或一个数组。虽然函数可以返回简单变量列表,但函数只能返回简
单变量。
在记录的情况下,可以使用星号或 THRU 符号作为简写来指定组件列表。


-4329 The variable variable-name is not a record. Only record variables

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 856 -

may be expanded using the .* or THROUGH shorthand.

You have used the displayed name with either dot-asterisk (.*) or the
word THRU (or THROUGH), which is shorthand notation to specify a list
of the components of a record. Unfortunately, the variable is not
defined as a record. Make sure that you specified the right variable
and that it is defined as a record.
您已使用带星号(.*)或 THRU(或 THROUGH)这个简写符号的显示名称来指定记录组件的
列表。
不幸的是,该变量没有被定义为记录。确保您指定了正确的变量并将其定义为记录。


-4330 Values cannot be RETURNed from the MAIN program.

Although RETURN is equivalent to EXIT PROGRAM in a MAIN program, it
cannot include a value to be returned. NewEra programs return this
error.
虽然 RETURN 与 MAIN 程序中的 EXIT
PROGRAM 相同,但不能包含要返回的值。NewEra 程
序返回这个错误。


-4331 Only variables of type INTEGER or SMALLINT may be used to
index display fields

This statement uses a subscript to refer to one element of a screen
array. However, the subscript variable is not an integer type. Make
sure that the subscripting variable is the one you intended to use,

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 857 -

and make sure it is defined as INTEGER or SMALLINT.
该语句使用下标来引用屏幕数组的一个元素。但是,下标变量不是整数类型。
确保下标变量是您要使用的变量,并确保将其定义为 INTEGER 或 SMALLINT。


-4332 The LET statement must have at least one source expression.

This LET statement has no valid expression to the right of the equals
sign. Check the punctuation; perhaps part of the statement was
deleted in error, or perhaps a comment delimiter has been inserted
in the wrong place.
LET 语句等号右边的表达式无效。请检查标点符号;或许错误地删除了部分语句;
或者可能是在错误的地方插入了注释分隔符。


-4333 The name has already been called with a different number of parameters.

Earlier in the program, there is a call to this same function or event
with a different number of parameters in the parameter list. At least
one of these calls must be in error. Examine the FUNCTION or EVENT
statement for name to find out the correct number of parameters. Then
examine all calls to it, and make sure that they are written correctly.
When this error appears near the top of a function in conjunction with
error -4336, fix error -4336 first, and -4333 will usually disappear.
NewEra programs return this error.
在程序的前面,会调用这个函数或事件,参数列表中有不同数量的参数。这些调用中至少

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 858 -

有一个
必须出错。检查 FUNCTION 或 EVENT 语句的名称,找出正确的参数。然后检查对它的所有

用,并确保它们编写正确。当此错误与错误 -4336 一起出现在函数顶部附近时,首先修复
错误
-4336,并且 -4333 通常会消失。NewEra 程序返回此错误。


-4334 The variable variable-name in its current form is too complex
to be used in this statement.

By "too complex" 4GL means "has too many component parts." In this
statement, only simple variables (those that have a single component)
can be used. If variable-name is an array, you must provide a subscript
to select just one element. If it is a record, you must choose just one
of its components. (However, if this statement permits a list of
variables, as in the INITIALIZE statement, you can use asterisk or THRU
notation to convert a record name into a list of components.)
4GL 的“太复杂”是说具有太多的组件。在该语句中,只能使用简单变量(具有单个组件
的变量)。
如果 variable-name 是数组,必须提供下标来选择元素。如果它是记录,则必须选择其中
一个
组件。(但是,如果此语句允许使用变量列表(如在 INITIALIZE 语句中那样),则可以
使用
星号或 THRU 表示法将记录名称转换为组件列表。)



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 859 -

-4335 The symbol field is not an element of the record record.

This statement refers to record.field. Although the variable record is
indeed a record, field is not the name of one of its component fields.
Find the definition of record (it may be in the GLOBALS file), verify
the names of its fields, and correct the spelling of field.
该语句引用了 record.field。虽然变量记录确实是一条记录,但字段不是其组件字段的名
称。
查找记录的定义(可能位于 GLOBALS 文件中),验证其字段的名称,并更正字段的拼写。



-4336 The parameter variable-name has not been defined within the
function or report.

The name variable-name appears in the parameter list of the FUNCTION
statement for this function. However, it does not appear in a DEFINE
statement within the function. All parameters must be defined in their
function before use. Possibly you wrote a DEFINE statement but did not
spell variable-name the same way in both places.
variable-name 出现在该函数的 FUNCTION 语句的参数列表中。但是,它不会出现在函数
中的 DEFINE 语句中。使用前必须在函数中定义所有参数。可能编写了 DEFINE 语句,但

在两个地方都没有以相同的方式拼写变量名。


-4338 The symbol variable-name has already been defined once as a parameter.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 860 -

The name that is shown appears in the parameter list of the FUNCTION
statement and in at least two DEFINE statements within the function
body. Only one appearance in a DEFINE statement is permitted.
显示的名称出现在 FUNCTION 语句的参数列表中,
并且在函数中至少有两个 DEFINE 语句。

在 DEFINE 语句中只允许出现一个。


-4339 4GL has run out of data space memory.

Your 4GL program requires more memory than is available.
If your program was executing sucessfully prior to this
message, examine your code to see if FREE, CLOSE FORM,
CLOSE WINDOW, or other 4GL statements can release memory
used by 4GL program objects that are no longer needed.
4GL 程序需要更多的内存。如果程序在发出此消息之前执行成功,请检查您
的代码以查看 FREE、CLOSE FORM、CLOSE WINDOW 或其他 4GL 语句是否
可以释放不再需要的 4GL 程序对象所使用的内存。

If your program was using a shared memory connection, try
setting GBASEDBTSHMBASE to a larger value. Alternatively,
use a streams (olipcstr) or network (oltlitcp) connection.
如果程序使用共享内存连接,请尝试将 GBASEDBTSHMBASE 设置为更大的值。
或者,使用流(olipcstr)或网络(oltlitcp)连接。

If you receive this message during compilation, a .4gl
source module might be too large to compile. Divide it

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 861 -

into smaller modules, and compile them separately. If the
error persists, divide the 4GL program into smaller programs.
如果在编译期间收到此消息,则 .4gl 源模块可能太大而无法编译。将它分成
更小的模块,并分别进行编译。如果错误仍然存在,请将 4GL 程序分成更小的程序。


-4340 The variable variable-name is too complex a type to be used in an
expression.

By "too complex," NewEra means "has too many component parts." In an
expression, only simple variables (those that have a single component)
can be used. If the variable indicated is an array, you must provide a
subscript to select just one element. If it is a record or object, you
must choose just one of its components. NewEra programs return this
error.
4GL 的“太复杂”是说具有太多的组件。在表达式中,只能使用简单变量(具有单个组件
的变量)。
如果指示的变量是数组,必须提供下标来选择元素。如果是记录或对象,则必须选择其中
一个组件。
NewEra 程序返回此错误。


-4341 Aggregate functions are only allowed in reports and SELECT statements.

Aggregate functions such as SUM, AVG, and MAX can only appear in SQL
statements and within certain statements you use in the context of a
report body. They are not supported in ordinary expressions in program

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 862 -

statements. You might be able to write an application-specific
function to form this aggregate function on your data; however, you
must name it something else because names such as SUM, AVG, and MAX are
reserved words.
例如 SUM、AVG 和 MAX 之类的聚集函数只能出现在 SQL 语句中以及在报表正文上下文中
使用的
某些语句中。程序语句的一般表达式中不支持它们。您可能可以编写一个特定于应用程序
的函数,
以在数据上形成这个聚集函数;但是,
必须将其命名为其他名称,
因为名称
(如 SUM、
AVG 和
MAX)
是保留字。


-4342 PAGENO and LINENO are allowed only in reports.

These functions are only relevant in the body of a report function (one
following a REPORT statement). Only within the report-generating code
is the idea of a current page or line meaningful. You can make these
values available outside a report through global variables. For
example, you could put a statement such as this one in the PAGE HEADER
control block:
这些函数只与报表函数的正文相关(在 REPORT 语句之后)。只有在报表生成代码中,当
前页面
或行的概念才有意义。可以通过全局变量使这些值在报表外部可用。例如,可以在 PAGE
HEADER
控制块中放置如下所示的语句:


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 863 -

LET CURR_PAGE = PAGENO

This would assign the current page to a global variable (called
CURR_PAGE in the example) that could be tested by code outside the
report function.
这会将当前页面分配给全局变量(在本例中称为 CURR_PAGE),该变量可以由报表函数
外部的代码进行测试。


-4343 Subscripting cannot be applied to the expression because it
is not a character or array reference.

You can write subscript expressions (integer-valued expressions
separated by commas and enclosed in square brackets) following an
expression that evaluates to an array. You can specify a substring (two
integer expressions in square brackets) following a character
expression. However, in this statement, expressions in square brackets
follow something that is neither character nor an array. Review the
punctuation of the statement and the declaration of the variables in
it. Error -4343 with this text is produced by 4GL through Version 4.1.
可以在求值为数组的表达式后面编写下标表达式(用逗号分隔的整数值表达式并用方括号
括起来)。
可以在字符表达式后面指定一个子字符串(两个整数表达式包括在方括号内)。但是,在
这个语句中,
方括号中的表达式跟随的既不是字符也不是数组。请查看语句的标点符号和变量的声明。
本文的错误
-4343 是由 V4.1 版本的 4GL生成的。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 864 -




-4344 The variable variable-name cannot be used with substrings
because it is not a character variable.

This statement contains what appears to be a substring expression (two
numbers in square brackets) following the identifier shown. However,
that variable is not of data type CHAR or VARCHAR. If you intended this
variable as a substring, then you either named the wrong variable, or
the variable is not correctly defined. If you meant this as an array
subscript, the same is true.
该语句包含一个子字符串表达式(方括号中有两个数字),它位于所示的标识符后面。但
是,
该变量不是 CHAR 或 VARCHAR 数据类型。如果希望将此变量作为子字符串,那么要么命名

错误的变量,要么该变量未正确定义。如果把它当作一个数组下标,情况也是如此。


-4345 The variable variable-name has already had substrings applied to it.

The name that is shown is followed by one substring expression (two
numbers in square brackets) and then by another. This is not valid.
Perhaps some punctuation was deleted accidentally in editing the name
of another variable. Or if you meant this to be a subscript of a
two-dimensional array of character items followed by a substring of the
chosen element, the problem is that variable-name has not been defined

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 865 -

as an array.
显示的名称后跟一个子字符串表达式(方括号中有两个数字),然后是另一个。这是无效
的。
在编辑另一个变量的名称时,可能删除了一些标点符号。或者,如果您的意思是这是一个

符项的二维数组的下标,后跟所选元素的子字符串,那么问题是变量名还没有被定义为数
组。


-4346 Subscripts can contain only INTEGER or SMALLINT expressions.

Array subscripts are integer values, and only integer variables can be
used to form them. This statement contains a subscript in which a
FLOAT, CHAR or some other type of variable is used. No automatic
conversion of data types is performed in a subscript expression. Review
the subscript expressions in the statement; perhaps you simply entered
the wrong variable name. If not, you will have to revise the program to
store array subscripts in integer variables only (you might expect that
a DECIMAL value with a scale factor of zero would be permitted also,
but this is not the case.)
数组下标是整数值,只能使用整数变量。该语句包含一个下标,使用 FLOAT、 CHAR 或其

类型的变量。下标表达式不会自动转换数据类型。请查看语句中的下标表达式;也许只是输
入了
错误的变量名称。如果不是,请修改程序,将数组下标存储在整数变量中(您可能期望一
个比例
因子为零的 DECIMAL 值也是允许的,但事实并非如此)。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 866 -



-4347 The variable variable-name is not a record. It cannot
reference record elements.

In this statement variable-name appears followed by a dot, followed by
another name. This is the way you would refer to a component of a
record variable; however, variable-name is not defined as a record.
Either you have written the name of the wrong variable, or else
variable-name is not defined the way you intended.
在这个语句中,变量名称后面跟着一个点,后面跟着另一个名称。这是您引用记录变量的
组件的
方式;但是,变量名称没有被定义为记录。要么是变量名称错误,要么变量名没有按想要
的方式
定义。


-4348 This type of aggregate must be applied to an expression,
not '*'. Only PERCENT and COUNT aggregates use '*'.

An aggregate function in this statement is one of those, such as MIN
and SUM, that must be applied to a specific column or to an expression
involving specific columns. The asterisk notation in an SQL statement
means "the whole row." With an aggregate function, it is useful only
when counting entire rows.
此语句中的聚集函数是必须应用于特定列或涉及特定列的表达式的聚合函数之一,如 MIN
和 SUM。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 867 -

SQL语句中的星号符号表示“整行”。对于聚合函数,它只在计数整行时才有用。


-4349 The PERCENT and COUNT report aggregates cannot be used with an
expression.

These aggregate functions simply count entire rows, without regard for
the contents of the rows. COUNT returns a count of the rows, and
PERCENT returns the count of rows as a percentage of the entire table.
The only permitted parameters of these functions '*' mean "the entire
row." They cannot be applied to specific columns or to expressions that
involve specific columns.
这些聚集函数只对整行进行计数,而不考虑行的内容。COUNT 返回行计数,PERCENT 返回
行计数占整个表的百分比。这些函数的唯一允许参数“*”表示“整行”。它们不能应用于
特定列
或涉及特定列的表达式。


-4350 The program cannot continue a FOR loop at this time because
it is not within a FOR loop.

A CONTINUE FOR statement is not between a FOR statement and its
matching END FOR statement. Perhaps the FOR statement has been
accidentally deleted, or perhaps you changed to another type of loop
such as FOREACH or WHILE.
CONTINUE FOR 语句不在 FOR 语句和其匹配的 END FOR 语句之间。也许 FOR 语

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 868 -

句被意外删除了,或者可能更改了另一种类型的循环,比如 FOREACH 或 WHILE。


-4351 The program cannot continue a WHILE loop at this time because
it is not within a WHILE loop.

A CONTINUE WHILE statement is not between a WHILE statement and its
matching END WHILE statement. Perhaps the WHILE statement has been
accidentally deleted, or perhaps you changed to another type of loop
such as FOREACH or FOR.
CONTINUE WHILE 语句不在 WHILE 语句和其匹配的 END WHILE 语句之间。也许 WHILE
语句被意外删除了,或者可能更改了另一种类型的循环,比如 FOREACH 或 FOR。


-4352 The program cannot continue a FOREACH loop at this time because
it is not within a FOREACH loop.

A CONTINUE FOREACH statement is not between a FOREACH statement and its
matching END FOREACH statement. Perhaps the FOREACH statement has been
accidentally deleted, or perhaps you changed to another type of loop
such as WHILE or FOR.
CONTINUE FOREACH 语句不在 FOREACH 语句和其匹配的 END FOREACH 语句之间。
也许 FOREACH 语句被意外删除了,或者可能更改了另一种类型的循环,比如 WHILE 或
FOR。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 869 -

-4353 The type of this ORDER BY or GROUP item specified for the
report is not valid for sorting.

The database server does not support comparison functions on columns of
such types as TEXT or BYTE. As a result, columns with such types cannot
be used to order or group rows. Use other columns (usually the primary
key of the table) for ordering and grouping.
数据库服务器不支持 TEXT 或 BYTE 等类型的列上的比较函数。因此,具有这种类型的列
不能
用于排序或分组。使用其他列(通常是表的主键)进行排序和分组。


-4354 Aggregate functions cannot be performed with TEXT or BYTE variables.

This statement applies an aggregate function such as SUM to a variable
that is defined as BYTE or TEXT. Such variables are not in the domain
of the aggregate functions. Review the use of functions in the
statement, and make sure that they are applied to the variables you
intended.
此语句将 SUM 之类的聚集函数应用于定义为 BYTE 或 TEXT 的变量。
这些变量不在集合函

的域中。请检查语句中函数的用法,确保它们应用于您想要的变量。


-4356 A page header has already been specified within this report.

Only one PAGE HEADER control block is allowed in a report. The

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 870 -

statements in this control block must be suitable for all pages of the
report (except the very first page, for which you may write a FIRST
PAGE HEADER block). Find the other PAGE HEADER control blocks, and
combine all their statements into one control block.
报告中只允许有一 个PAGE
HEADER 控制块。该控制块中的语句必须适用于报表的所有页面
(除了第一页外,您可以为其写入 FIRST PAGE HEADER 块)。请查找其他 PAGE HEADER
控制块,并将所有语句组合到一个控制块中。


-4357 A page trailer has already been specified within this report.

Only one PAGE TRAILER control block is allowed in a report. The statements
in this control block must be suitable for all pages of the report. Find
the other PAGE TRAILER control blocks, and combine all their statements
into one control block.
报表中只允许有一个 PAGE TRAILER 控制块。此控制块中的语句必须适用于报表的所有页
面。
查找其他 PAGE TRAILER 控制块,并将其所有语句组合到一个控制块中。


-4358 A first page header has already been specified within this report.

Only one FIRST PAGE HEADER control block is allowed in a report. (After
all, only one first page exists.) Find the other FIRST PAGE HEADER
control blocks, and combine all their statements into one control
block.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 871 -

报表中只允许有一个 FIRST PAGE HEADER 控制块。(毕竟,只存在一个首页。)
找到其他 FIRST PAGE HEADER 控制块,并将它们的语句组合成一个控制块。


-4359 An ON EVERY ROW clause has already been specified within
this report.

Only one ON EVERY ROW control block is permitted in a report. Find the
other ON EVERY ROW control blocks, and combine their statements into
one block.
报表中只允许有一个 ON EVERY ROW 控制块。找到其他 ON EVERY ROW 控制块,
并将它们的语句组合成一个控制块。


-4360 An ON LAST ROW clause has already been specified within
this report.

Only one ON LAST ROW control block is permitted in a report. Find the
other ON LAST ROW control blocks, and combine their statements into
one block.
报表中只允许有一个 ON LAST ROW 控制块。找到其他 ON LAST ROW 控制块,
并将它们的语句组合成一个控制块。


-4361 Group aggregates can occur only in AFTER GROUP clauses.


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 872 -

The aggregate functions that apply to a group of rows (GROUP COUNT,
GROUP PERCENT, GROUP SUM, GROUP AVG, GROUP MIN, and GROUP MAX) can only
be used at the point in the report when a complete group has been
processed, namely, in the AFTER GROUP control block. Make sure that the
AFTER GROUP statement exists and was recognized. If you need the value
of a group aggregate at another time (for instance, in a PAGE TRAILER
control block), you can save it in a global variable with a LET
statement in the AFTER GROUP control block.
适用于一组行的聚集函数(GROUP COUNT、GROUP PERCENT、GROUP SUM、GROUP AVG、
GROUP MIN 和 GROUP MAX)只能在处理完整组(即在 AFTER GROUP 控制块中)时在
报告中使用。确保 AFTER GROUP 语句存在并已被识别。如果在另一时间需要组聚集的值
(例如,在 PAGE TRAILER 控制块中),则可以在 AFTER GROUP 控制块中使用 LET
语句将其保存在全局变量中。


-4362 The report cannot skip to the top of page while in a header or trailer.

When SKIP TO TOP OF PAGE is executed, the page trailer clause must be
executed (so as to display fixed page-end material) followed by the
page header clause. If the statement was allowed in a header or trailer
clause, an infinite loop could ensue.
当执行 SKIP TO TOP OF 页面时,必须执行页尾子句(以便显示固定的页尾材料),后面
跟着页头部分子句。如果在头部或尾部子句中允许语句,则会产生无限循环。


-4363 The report cannot skip lines while in a loop within a header or trailer.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 873 -


4GL needs to know how many lines of space will be devoted to the page
header and trailer (otherwise it does not know how many detail rows to
allow on the page). It cannot predict how many times a loop will be
executed, so it has to forbid the use of SKIP statements in loops in
the PAGE HEADER, PAGE TRAILER, and FIRST PAGE HEADER sections.
4GL 需要知道有多少行空间将用于页头和页尾(否则它不知道页面上允许多少个明细行)。

它无法预测循环将执行多少次,因此它必须禁止在 PAGE HEADER、PAGE TRAILER 和
FIRST PAGE HEADER 部分的循环中使用 SKIP 语句。


-4364 Type of initialization/default expression does not match
declared type of the variable/parameter.

The initialization expression for the specified variable does not
evaluate to a data type that is compatible with the declared type.
Review the expression, and make it and the declared type agree.
指定变量的初始化表达式不计算为与声明的类型兼容的数据类型。检查表达式,
并使其与声明的类型一致。


-4365 Deferments of interrupt or quit may be executed only in the main
program.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the
MAIN section of the program. They can appear only once each in a

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 874 -

program.
DEFER INTERRUPT 和 DEFER QUIT 语句只能出现在程序的 MAIN 部分。它们只能在程序中
出现一次。


-4366 The number of variables does not match the number of database
columns in this statement.

There must be a program variable to receive data from or supply data to
each column named in the statement. Possibly there is an ambiguity
between column names and variable names. When a program variable has
the same name as a database column, you can force 4GL to use the
database column by prefixing it with the at-sign (@) character or with
its tablename.
必须有一个程序变量来接收来自语句中命名的每一列的数据或向其提供数据。列名和变量
名之间
可能存在歧义。当程序变量具有与数据库列相同的名称时,可以强制 4GL 使用数据库列,
方法
是在数据库列前面加上 at-符号(@)字符或表名。


-4367 Interrupt has already been deferred once in the main program.
Each main program may defer interrupts only once.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the
MAIN section of the program. They can appear only once each in a
program.

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 875 -

DEFER INTERRUPT 和 DEFER QUIT 语句指南出现在程序的 MAIN 部分。它们只能在程序中
出现一次。


-4368 Quit has already been deferred once in the main program. Each main
program may defer quit only once.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the
MAIN section of the program. They can appear only once each in a
program.
DEFER INTERRUPT 和 DEFER QUIT 语句指南出现在程序的 MAIN 部分。它们只能在程序中
出现一次。


-4369 The symbol variable-name does not represent a defined variable.

The name shown appears where a variable would be expected, but it does
not match any variable name in a DEFINE statement that applies to this
context. Check the spelling of the name. If it is the name you
intended, look back and find out why it has not yet been defined.
Possibly the GLOBALS statement has been omitted from this source
module, or it names an incorrect file. Possibly this code has been
copied from another module or another function, but the DEFINE
statement was not copied also.
显示的名称出现在预期变量的位置,但它与适用于此上下文的 DEFINE 语句中的
任何变量名都不匹配。检查名称的拼写。如果是想要的名称,回顾并找出为何还未
定义的原因。可能已从此源模块中省略 GLOBALS 语句,或者它命名了不正确的文件。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 876 -

可能这个代码已经从另一个模块或另一个函数中复制,但是没有复制 DEFINE 语句。


-4370 The variable variable-name cannot be used in validation.

The VALIDATE statement operates on only simple variables; it cannot
accept records or arrays. If you have named a record, you can use
asterisk notation or THRU notation as shorthand for a list of the
component fields of the record. However, if a record component is
itself a record, you must list its components individually as well.
VALIDATE 语句只能对简单变量进行操作;它不能接受记录或数组。如果您已命名了记录,

则可以使用星号或 THRU 符号作为记录组件字段列表的简写。但是,如果记录组件本身就
是记录,那么也必须单独列出其组件。


-4371 Cursors must be uniquely declared within one program module.

In the statement DECLARE cname CURSOR, the identifier cname can be used
in only one DECLARE statement in the source file. This is true even
when the DECLARE statement appears inside a function. Although a
program variable made with the DEFINE statement is local to the
function, a cursor within a function is still global to the whole
module.
在 DECLARE cname CURSOR 语句中,标识符 cname 只能在源文件中的 DECLARE
语句中使用。即使 DECLARE 语句出现在函数内时也是如此。虽然对于函数来说用 DEFINE
语句创建的程序变量是局部的,但对整个模块来说函数中的游标仍然是全局的。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 877 -



-4372 The cursor cursor-name has not yet been declared in this program
module. It must be declared before it can be used.

The name shown appears where the name of a declared cursor or a
prepared statement is expected; however, no cursor (or statement) of
that name has been declared (or prepared) to this point in the program.
Check the spelling of the name. If it is the name you intended, look
back in the program to see why it has not been declared. Possibly the
DECLARE statement appears in a GLOBALS file that was not included.
所显示的名称出现在需要声明游标或预备语句的位置;但是,该名称的游标(或语句)尚
未在
程序中声明(或准备)。请检查名称的拼写。如果是您想要的名称,请在程序中查看它为
什么
没有被声明。可能 DECLARE 语句出现在未包含的 GLOBALS 文件中。


-4373 A grammatical error has been found on line line-number, character
char-number. The construct is not understandable in its context.

This general message shows an inability to parse a 4GL statement. The
line and character numbers show the point at which the parser detected
a problem. However, this is almost never the point at which the error
exists. Start there, and work backward in the program looking for
other error messages and for missing punctuation, missing END
statements, and other mistakes. If the statement at line-number is END

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 878 -

FUNCTION, END MAIN, or END REPORT, one probable cause is the absence of
another END, possibly many lines earlier. Usually a missing END IF is
the culprit. If the cause for this error is not obvious, concentrate on
eliminating any other, more specific error messages, and this one will
probably go away also.
此一般消息显示无法解析 4GL 语句。行号和字符号显示解析器检测到问题的点。但是,这
几乎
从来不是发生错误的地方。从那里开始,并在程序中向后查找其他错误消息、查找缺少的
标点符
号、缺少的 END 语句和其他错误。如果行号中的语句是 END FUNCTION、END MAIN 或 END
REPORT,
则可能的原因之一是缺少另一个 END,可能有更多行。通常缺少 END IF 是罪魁祸首。如
果造
成此错误的原因并不明显,请集中精力消除任何其他更具体的错误消息,这个错误可能也
会消失。


-4374 This type of statement can only be used within a MENU statement.

This statement, for example a SHOW OPTION statement, only makes sense
within the context of a MENU statement. Review the program in this
vicinity to see if an END MENU statement has been misplaced. If you
intended to set up the appearance of a menu before displaying it, use a
BEFORE MENU block within the scope of the MENU.
该语句(例如 SHOW OPTION 语句)仅在 MENU 语句的上下文中有意义。查看附近的程序,
看看
END
MENU 语句是否放错了位置。如果要在显示菜单之前设置菜单的外观,请使用 MENU 范
围内

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 879 -

的 BEFORE MENU 块。


-4375 The page length is too short to cover the specified page
header and trailer lengths.

Examine the statements in the OUTPUT section and in any HEADER and
TRAILER clauses. The total of lines used by these statements must be
sufficiently less than the specified page length that some detail rows
can be printed.
检查 OUTPUT 部分和 HEADER 及 TRAILER 子句中的语句。
这些语句使用的行总数必须足够
小于指定的页面长度,以便打印一些详细信息。


-4376 The temporary file filename cannot be created for writing.

Check that your account, on UNIX systems, has permission to create
files in the /tmp directory or in the directory named in the DBTEMP
environment variable if that is different. Look for other, more
explicit, error messages from the operating system. Possibly the disk
is full, or you have reached a limit on the number of open files.
检查您的 UNIX 系统上的账户是否有权在 /tmp 目录中创建文件或有权在 DBTEMP 环境变
量中指定的目录中创建文件。从操作系统中查找其它更明确的错误消息。可能磁盘已满,
或者您打开文件的数量已达到限制。



GBase 8s 错误消息
南大通用数据技术股份有限公司 - 880 -

-4377 The output file filename cannot be created or opened.

On UNIX systems, check that your account has permission to create files
in the directory where filename would be created. Look for other, more
explicit, error messages from the operating system. Possibly the disk
is full, or you have reached a limit on the number of open files.
在 UNIX 系统上,检查您的账户是否有权在要创建文件名的目录中创建文件。从操作系统
中查找其他更明确的错误消息。可能磁盘已满,或者您打开文件的数量已达到限制。


-4378 No input file was specified.

You invoked the C-code or the p-code compiler from the command line but
did not specify the name of a source file to be edited. Repeat the
command, specifying a source file.
您从命令行调用了 C-code 或 p-code 编译器,但没有指定要编辑的源文件的名称。
重复该命令,指定一个源文件。


-4379 The input filename filename cannot be opened.

Either the file does not exist, or, on UNIX, your account does not have
permission to read it. Possibly the filename is misspelled, or the
directory path leading to the file was specified incorrectly.
该文件不存在,或者在 UNIX 上,您的账户无权读取该文件。可能是文件名拼写错误,
或指向文件的目录路径错误。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 881 -



-4380 The listing file filename cannot be created.

Check that the directory path leading to the file is specified
correctly and, on UNIX systems, that your account has permission to
create a file in that directory. Look for other, more explicit, error
messages from the operating system. Possibly the disk is full, or you
have reached a limit on the number of open files.
检查指向文件的目录路径是否正确指定,并且在 UNIX 系统上,您的账户是否有权在该
目录中创建文件。查找来自操作系统的其他更明确的错误消息。可能磁盘已满,或者您
打开文件的数量已达到限制。


-4381 The input file filename has an invalid extension. The file
name must have .4gl as the extension.

You do not need to enter the file extension or suffix of .4gl when you
type the name of a program source file. However, if you do type a file
suffix it must be .4gl; no other is allowed. If you type the suffix
incorrectly, enter the command again omitting the suffix. If the file
really has a different suffix, you will have to change it.
当键入程序源文件的名称时不需要输入文件扩展名 .4gl 后缀。但是,如果您确实键入了
一个
文件后缀,那么它必须是 .4gl;不允许其他文件后缀。如果输入的后缀不正确,请再次输
入命
令,省略后缀。如果文件确实有不同的后缀,则必须更改它。

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 882 -



-4382 Cannot expand a structure with an array member.

The ".*" and THROUGH notation cannot be used to expand a record with an
array member, except in the LET statement. Error -4382 with this
meaning is issued by NewEra.
除了 LET 语句之外,“.*”和“THROUCH”表示法不能用于使用数组成员展开记录。
错误 -4382 的这一含义是由 Newera 发布的。


-4382 Record variables that contain array type elements may not
be referenced by the ".*" or THROUGH shorthand, or used as a function
parameter.

You can define a record that contains an array as one of its
components. However, you must always list that component by its full
designation of record.part[n]. The asterisk or THRU notation is only
shorthand for a list of the names of the components of the record. It
cannot produce the bracketed subscript after the name of the array
component.
您可以定义一个包含数组作为其组件的记录。但是,必须始终按照 record.part[n] 的完

定义来列出该组件。星号或 THRU 表示法只是记录组件名称列表的简写。它不能在数组组

的名称之后产生括号内的下标。


GBase 8s 错误消息
南大通用数据技术股份有限公司 - 883 -


A record that contains an array component cannot be used as a parameter
to a function. However, you can use the array component itself as a
function parameter if you spell out its name as record.part. Error -4382
with this meaning is issued by NewEra.
包含数组组件的记录不能用作函数的参数。但是,如果将其名称拼写为 record.part,则

以将数组组件本身用作函数参数。 错误 -4382 的这一含义是由 Newera 发布的。


-4383 The elements name-1 and name-2 do not belong to the same parent record.

The two names shown are used where two components of one record are
required; however, they are not components of the same record. Check
the spelling of both names. If they are spelled as you intended, go
back to the definition of the record and see why it does not include
both names as component fields.
如果需要记录的两个组件,则使用所示的两个名称;但是,它们不是同一记录的组件。检
查两个
名称的拼写。如果它们是按照您的意愿拼写的,请返回记录的定义,并了解为什么它不将
两个名
称都包含在组件字段中。


-4384 The symbol name does not represent the element of any record.

The name shown is used where 4GL expects the name of a record

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 884 -

component. Check the spelling of the name. If it is spelled as you
intended, go back to the definition of the record variable and see why
it does not include name as a component field.
显示的名称用于 4GL 预计记录组件的名称。
检查名称的拼写。
如果按照您的意图进行拼写,

请返回到记录变量的定义,并了解为什么它不将名称包含在组件字段中。


-4385 Report aggregates cannot be nested.

Aggregate functions cannot be nested, primarily because the value of
the inner aggregate is not known at the time the outer aggregate is
being accumulated. Rewrite aggregate expressions to refer only to
columns and simple expressions on columns. In an AFTER GROUP OF clause,
you can save the aggregate value from one group of rows in a program
variable, so as to use it in computing an aggregate over a subsequent
group.
聚集函数不能嵌套,主要是因为在聚集外部聚合时内部聚合的值未知。重写聚集表达式,
只引用列和列上的简单表达式。在 AFTER GROUP OF 子句中,可以将一组行中的聚集值保
存在程序变量中,以便在计算后续组的聚集时使用它。


-4386 There are too many ORDER BY fields in this report. The maximum
number is number.

A limit exists on the number of ordering fields. You will have to
redesign the report so that it requires ordering by no more than number

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 885 -

columns. Alternatively you can order the data before passing it to the
report, and specify the EXTERNAL keyword on the ORDER BY statement in
the report body. It is generally more efficient to have the database
server produce the rows in the correct order (using SELECT...ORDER BY
in the cursor that produces the rows).
排序字段的数量存在限制。您必须重新设计报表,以便它按需要的列数排序。或者,您可

在将数据传递给报表之前对数据进行排序,并在报表正文中的 ORDERBY 语句上指定
EXTERNAL
关键字。让数据库服务器按照正确的顺序生成行通常更有效(在生成行的游标中使用
SELECT.Order by)。


-4387 The right margin must be greater than the left margin.

If the right margin of a report were no greater than the left margin,
there would be no room on each line for data. Check both MARGIN
statements in the OUTPUT section for reasonable values.
如果报表的右边距不大于左边距,则每行都没有容纳数据的空间。请检查 OUTPUT 部分中
的两个
MARGIN 语句,以获取合理的值。


-4388 There is one BEFORE GROUP OF clause and one AFTER GROUP OF clause
allowed for each report input parameter.

The report is attempting to define a second BEFORE GROUP OF or AFTER

GBase 8s 错误消息
南大通用数据技术股份有限公司 - 886 -

GROUP OF block for a single report parameter. Only one such control
block is allowed. Find all the blocks for this parameter, and combine
their statements into one.
报表试图为一个报表参数定义第二个 BEFORE GROUP OF 或者 AFTER GROUP OF 块。
只允许一个这样的控制块。找到该参数的所有块,并将它们的语句合并为一个。


-4389 There are too many levels of nesting of IF statements in this report.

You have exceeded the maximum of five levels of nesting of IF
statements. Possibly an END IF statement has been omitted. If not,
you will have to revise the logic of the report so that decisions
are nested less deeply.
已经超过了 IF 语句可以嵌套的五个层级。 END IF 语句可能已被省略。
如果没有,请修改报表的逻辑,减少嵌套。


-4390 Only one BEFORE MENU clause is allowed for each MENU statement.

There can be only one BEFORE block of statements in a MENU. Make sure
that the scope of your MENU statements are correctly marked with an END
MENU. Then combine all the preparation code for this menu into a
single BEFORE MENU block. This error is returned only by 4GL at Version