-8061        该报表有一个READ语句,但未指定ASCII记录定义。
想用READ语句,你必须在DEFINE节使用ASCII语句定义ASCII文件中期望的显示字段。
-8062        该报表包含一句SELECT语句,但应改用READ语句,因ASCII记录定义已被指 定。
报表可能基于一个ASCII文件或数据库行,但不是二者同时。DEFINE节的ASCII语句说 明将使用输入文件,而且READ语句用来读该文件。如你想使报表基于数据库行,保留 SELECT语句,删去ASCII。
-8102        ORDER BY命令中指定的单一字段只能有一句AFTER或BEFORE GROUP OF子句。
报表中的某一字段包含不只一句AFTER GROUP OF或BEFORE GROUP OF子句。只有其中之 一可以命名一个给定字段。然而,你可以把语句合并,使多个子句合并为单一子句。
-8103        为使BEFORE或AFTER GROUP OF子句能正确执行,子句中指定的字段必须已在 ORDER BY命令中作为排序字段指定过。如果排序字段有下标,BEFORE和AFTER GROUP OF子句中的字段也应如此。
确保在ORDER BY语句和GROUP OF子句中指定的控制字段要相同。
-8104        组聚合只能用在AFTER GROUP OF子句中。
当一个组的行被处理时,该组上的聚合值被积累,所以聚合的值只有在组尾才可用。 因此除在AFRER GROUP OF子句中,报表不能引用它。
-8105        聚合不能使用在另一个聚合中。一个聚合不能使用在另外的聚合的WHERE子句 中。
聚合函数不能嵌套使用。主要因为外部聚合被积累时内部聚合的值不确定。改写聚合 表达式,只引用字段和字段的简单表达式。在AFTER GROUP OF子句中你可以将某几行( 作为一组)的聚合值存在一个变量中,然后就可以用于下一个组上的聚合运算。
-8107        用户变量或参数被定义了多次。
DEFINE节中一个名字只能定义一次,你在ASCII,RARAM或VARIABLE语句中将某个 名字用了不止一次。
-8108        用户变量或参数的长度必须大于零。
确定DEFINE节的每个CHAR和VARCHAR显示字段都有非零的长度说明。
-8109        PAGE HEADERS和TRAILERS中不能用字自动换行。
ACEPREP需要知道header和trailer部分有多少行(否则它将不清楚每页具体会有多少 行)。然而,用WORDWRAP函数打印会使行数成为一个动态变量,依赖于字数,因此不 能用。
-8110        用户变量名<名字>还未被定义。
名为<名字>的变量,参数或显示字段在DEFINE节中未定义。如<名字>拼写正确,它必 须先被定义。
-8111        ORDER BY语句中不允许有用户变量和运行时参数。
只有字段名可以用在ORDER BY子句中。检查子句中的字段名或显示标签拼写。你不能 根据被定义的变量,参数或者ASCII显示字段进行排序。
-8112        在header或trailer子句中,IF-THEN-ELSE语句中的IF部分中的打印行数必须 和ELSE部分中的打印行数相同。
ACEPREP需要知道header和trailer部分将占多少行(否则它将不清楚一页具体会有多 少行)。由于无法确定IF语句将执行哪一部分,所以要求两部分有相同的输出行数。
-8113        任何header或trailer子句中不能出现SKIP TO TOP OF PAGE。
SKIP TO TOP OF PAGE被执行之后,执行trailer子句(显示固定的page-end material)之后必须紧接着执行header子句。如果在header或trailer子句有该语句, 将发生死循环。
-8114        页的头尾的行数加上页眉,页脚所需行数超出了或等于页的长度。
检查OUTPUT节和所有HEADER和TRAILER字段中的语句。这些语句用的所有行数必须远小 于指定页长,从而可以打印有用的内容。
-8115        ORDER BY命令中不能有8个以上待排序字段。
ACEGO限定被排序的字段数。你必须减少ORDER BY后所列的字段数。
-8116        ORDER BY命令中有非法下标。
你只能对一个字符显示字段加下标。检查下标。里面不应该有负数,下标数必须在字 符字段长度之内;且第一个数要小于等于第二个数。
-8121        指定的WORDWRAP RIGHT MARGIN值超出限定范围.它必须大于或等于当前列, 小于等于报表的右边界值。
WORDWRAP子句的右边界值用来设置一个比整个报表的右边界略窄的边界。WORDWRAP显 示的有效左边界是处理WORDWRAP时的当前列。右边界必须在当前列和报表的右边界之 间。
-8122        在PAGE HEADER或PAGE TRAILER子句中不允许用NEED n LINES。
一页的头部和尾部的大小是在PRINT语句中建立的。想把页弄得大一些,使用不带参数 的PRINT语句。
-8123        在FIRST PAGE HEADER,PAGE HEADER或PAGE TRAILER子句中不允许有 PRINT FILE命令。
ACEPREP需要知道头尾部分需要多少行(否则它不知道每页具体该放多少行)。因为编 译报表时无法预言文件的大小,所以不允许有PRINT FILE命令。你需要用PRINT 语句生成该数据。
-8124        上述查询中的一个用户变量在DEFINE节中未定义。
SELECT语句中命名的一个变量在报表的DEFINE节未定义。检查SELECT中的所有名字是 否都是你所要,确认没有拼错的字段或变量名。
-8125        SELECT节有不止一个END关键字。在SELECT节内部,用分号分隔SQL语句。只 在SELECT的最后用END关键字。
请查看SELECT节,确认所有SELECT语句中除最后一句都有分号,且最后一句紧跟END 语句。也许你在该部分开始时少了FORMAT语句。
-8126        PARAM[0]不能被定义。
在PARAMETER语句中定义的第一个参数是1号。在一些主机操作系统中,0号参数事先 设置为程序名,但在报表中不能使用这个值。
-8127        报表说明中不能用多个REPORT TO语句。
整个报表只能指向一个目标文件,它在OUTPUT节REPORT TO语句中指定.。一个报表不 能被分到几个目标文件中,所以只保留第一个REPORT TO语句,其它删去。如果你想对 几组数据产生各自的报表文件,那可按下面中的某条去作:
*     为每套数据写一个单独的报表。(报表说明只在SELECT语句中有所不同) *     产生一个完整的报表,将每套数据分到不同页,以后用操作系统实用工具将其 分离成为不同的文件。 *     在SELECT语句中用参变量,这样在运行报表时你可以动态地选择数据子集合, 也用REPORT TO PRINT语句,这样你可以通过在开始报表前设置DBPRINT变量,达到 控制输出到某个目标文件的目的。
-8128        VARCHAR变量最小长度必须比最大长度小。
VARCHAR变量由两个数定义:<变量名>(n,r),n是变量的最大长度,r是保留长度。尽 管报表变量也允许如此定义,保留长度只在数据库表定义的上下文中才有意义。如果 你指定它,必须使它小于或等于n。
-8129        对于缺省报表,指定的页长<长度>太短。
指定的行数作为报表的页长不合适。增加每页的行数或修改报表说明,使它具有较少 行数。例如修改头或尾的边界行数。
-8130        一个INTEGER类型的常量不能比2147483647大。
该语句指明整数的最大允许值。改用一个较小的值或换一种数据类型,例如DECIMAL 类型。 
  -9001        只有CHARACTER类型字段才可以加下标,或者在打印时后面不用跟空格。
你对一个非字符型变量,或是想加下标,或是想对它用CLIPPED函数;或者错误地指定 了该变量的类型。
-9002        在PMIM中发现未知操作码。
发生ACEGO内部错误。检查ACEPREP编译器版本同ACEGO版本是否一致。若一致, 重新编译报表以确信.arc文件未被损坏。如错误仍发生,请记录所有情况并与 Informix 的技术支持部门联系。
-9003        USING格式串只能包含一个'.'。
确定某数的显示的格式串包含了一个以上的小数点。参照参考手册中的USING函数的说 明,去掉多余的小数点。
-9004        字段<名字>不在当前表中,或用户变量<名字>未被定义。
所显示的名字与数据表中的字段或定义的变量毫无联系。检查它的拼写是否正确。如 果你把它当变量,在DEFINE部分添上它的定义。如果你把它当数据字段,则检查表是 否被改过或它的字段已被更名。
-9014        用法: SACEGO [-q][-d <数据库>] <报表名>
标志: -q        SACEGO 将不打印任何错误或消息。 -d        SACEGO 将使用-d选项指定的数据库名,以取代报表的DATABASE节中指定的数 据库名。 当没有给ACEGO合适的命令行参数时,该信息将出现。可能有另外的信息告诉你是怎么 回事。有时候,你可以使用手册中描述的-s选项代替-q;它们是等效的。
-9025        字段<名字>不在当前表中。任何被用作ORDER BY字段的字段必须在当前表中。
显示的字段名出现在ORDER BY之后,但它不是某字段的名字或该语句所选表达式的显 示标签。
-9046        报表输出文件<文件名>打不开。可能是由于权限问题。
报表通过REPORT TO语句或DBPRINT环境变量内容将报表指向所说的目标文件。请查明 目标文件拼写正确。请查明你的帐号在此操作系统下有写的权限,且目标盘可写,且 没有满。
-9047        输出文件<文件名>无法建立。
可能的原因有:那个目录你没有写的权限;磁盘空间已满;或你对它的操作超越了所打开 文件个数的允许权限。
-9048        管道<管道说明>不能打开。
报表被定向到REPORT TO语句说明的管道。请查明所有语句中的的程序名拼写都正确; 程序都存在;且都在当前执行路径下。参看操作系统的出错信息,该信息可能会指示出 错原因,例如,给出系统内存不够的信息。
-9049        命令行中的输入参数不能被转换成为所需数据类型<类型>。
命令行的值在DEFINE部分PARAMETER语句中被定义为数据类型的<类型>。但命令行实际 给定的值不能转换成该种类型。请检查以下几点是否满足: *     <类型>是数值类型,则应当作为一个数读入。 *     <类型>是MONEY,则参数不应带有货币符号。 *     <类型>是CHARACTER或VARCHAR,则参数不能超过所定义变量长度。 *     <类型>是DATETIME,则参数要用标点正确分隔(参照用户指南中的DATETIME 和INTERVAL相关附录部分)。 *      <类型>是DATE,则输入数据应是用标点正确分隔的。       注意  标点分隔正确的DATE,DATETIME,INTERVAL值,包含对操作系统可能有 特殊含义的字符。因此,问题可能是虽然参数正确但需要引号将其引起来。
-9050        用户变量<名字>是<类型>类型的。输入值越界或无法转换为那种类型。
PROMPT语句提示用户输入值,该值被存入所示类型的变量名。但是,输入值却不能被 转换为该变量的数据类型(参看-9049错误对转换的论述)。重新运行报表,输入正确数 据(也可以考虑修改提示串以便更好地引导用户)。
-9051        ACE程序定义的参数数目与命令行中传给ACEGO的实际参数数目不等。
DEFINE部分中用PARAMETER语句定义的参数数目和命令行中的实际参数数目不一致。检 查包含有空格或其它特殊字符的参数是否加了引号。缺少引号会使单个参数变为多个 参数。
-9052        格式串太大。它不能大于79个字符。
USING函数的格式串有大小限制。
-9053        发现.ace文件中有一个未知入口。用SACEPREP重新编译报表,用SACEGO 重新运行它。注意SACEPREP和SACEGO版本一致。
ACEPREP和ACEGO版本必须一致。(为检查程序版本,在命令行加-V选项运行它)。用编 译器ACEPREP重新编译报表,其版本必须和ACEGO版本一致。如已达上述要求,仍请 重新编译报表,以确认.ace文件未被损坏。如错误仍发生,记录所有情况并与 Informix 技术支持部门联系。
-9054        ACE报表被A版本编译器编译。本运行器只能运行版本5到 B。用SACEPREP重新 编译ACE报表说明,然后重新运行SACEGO。
ACEPREP和ACEGO版本必须一致。(为检查程序的版本,在命令行用-V选项运行它)。用 ACEPREP编译器重新编译报表,其版本要和运行器ACEGO版本一致。如已达到该要求, 仍请重新编译报表,以确认.ace文件未被损坏。如果错误仍发生,记录所有现场消 息,并和Informix 技术支持部门联系。
-9055        编译过的报表文件<文件名>找不着或打不开。
报表<文件名>在ACEGO命令行命名。它应能在当前目录或DBPATH环境变量命名的某路径 把文件"<文件名>.arc"定位,但现在既找不到也不能为读取而打开。检查文件名拼写 是否正确,你的帐户是否有权读取它。
-9059        对于ACE报表,选择语句如果不是最后一条选择语句,它必须选择进入某临时 表。
报表中的SELECT部分可能包含不止一条SELECT语句。然而只有最后一句才产生作为报 表内容的行。前面的语句都为临时表准备数据,最后传给报表。修改报表说明,使除 最后的SELECT语句外的所有SELECT语句都包含INTO TEMP子句。
-9060        <名字>的下标m和n值越界,不符合字段定义的长度
ORDER BY子句中的字段子串不对。当取某字段的子串时,括号中的第一个数指明初始 字符位置,第二个数指明终止字符位置。两个数都至少是1,且都不大于字段或变量长 度。
-9061        'SELECT INTO'语句不能作为ACE报表执行的最后一条选择语句。
报表中可能包含不止一条SELECT语句。最后一句必须产生作为报表内容的行。前面的 SELECT语句用来在临时表格中准备数据,最后的语句将这些传给报表。修改报表说明 使除最后一句SELECT语句的所有SELECT语句都包含INTO TEMP子句。
-9062        在数值向CHARACTER类型用户变量转换时发生错误。CHARACTER类型变量 太短,无法保存结果。
数值向字符转换过程中产生了太多的数值字符,使目标变量无法保持原值。ACEGO 没有截断原值,而是产生错误而停止。你可以重新定义目标变量,或限定转换值的大 小,例如用USING格式字串。
-9063        在ACE中DEFINE语句中有用户定义的函数名<名字>,但在用户的C静态数据区 中的用户定义函数表里却找不到该函数名。
报表中DEFINE部分包含一个FUNCTION语句,指出某外部函数名将和报表链接起来。(外 部C函数同<pn product name>ACE报表和PERFORM屏的联用包括在ESQL/C手册中)。但是 每个外部函数的名字和地址必须在一个叫userfuncs的静态数组中出现。该数组和外部 函数的机器码一起,被连接到ACEGO的客户版本上。由于<名字>在数组中不出现, ACEGO无法调用它。
检查你的ACEGO版本是否是正确的定制版本。(程序的原始版本不连接外部函数)。检查 函数名拼写是否正确。然后检查C函数来源,确认userfuncs数组定义正确,且<名字> 确有入口地址。
-9064        运行中串表满了。内存无法分配。
临时字符串可用的数据空间已满。当调用外部C函数时,或处理USING,SPACE,ASCII 内部函数时,临时串被建立。减少了这些表项的使用。
-9065        内存分配失败。
ACEGO分配内存时不能分配一行,一列或一个SQL数据结构所需的内存。所需空间与报 表说明的大小并不直接相关(正如信息文本所提示)。执行报表最多只缺几千个字节。
-9066        写输出报表时出错。
目的报表的打开是正确的,但写它的时侯操作系统提示有错。请看操作系统的出错解 释。最常见的问题是磁盘空间满。
-9067        ACE算术堆栈溢出。这里的表达式太复杂。
降低数学表达式复杂度。一种途径是将其分成几个子式,各个子式值分别用变量表 示。
-9068        一个不是SELECT语句的SQL语句出现在SELECT部分中。只有SELECT语句 或者创建临时表的SELECT语句在SELECT部分是被允许的。
可能在报表说明中SELECT单词被拼错。如果你写了UPDATE或INSERT等别的SQL语句, 删除之。在报表中只有SELECT语句是允许的。(你可以在报表调用的C函数中执行别的 SQL语句。如何将报表与C函数链接起来将在ESQL/C手册中讨论。)
-9070        ASCII输入文件中的记录包括的数据字段太多,甚至比报表中DEFINE ASCII  所定义的还要多。
ASCII文件的一个字段是以定界符结尾的零个或者多个字符的序列(定界符在READ 语句中说明)。在一个记录中定界符与记录中的字段一样多。每个记录中的字段必须一 样多,并且每个字段必须以ASCII语句在报表的DEFINE部分定义。多余的域不被忽视。 请查找信息-9072,帮助你确定发生错误的记录。
-9071        ASCII输入文件中的记录字段比报表中DEFINE ASCII 语句中定义的少。
ASCII文件中的"字段"是以定界符结束的零个或多个字符的序列(定界符在READ语句中 说明)。事实上,每个记录中字段和定界符数目一样多。每个记录中字段数都一样多, 且每个字段必须在报表中DEFINE部分用ASCII语句定义。缺少的字段没有缺省值。察看 -9072号信息,它会帮你找到发生错误的记录。
-9072        从ASCII码输入文件中读入count个记录。
这条消息所提供的信息能帮助你定位ASCII输入文件中的问题的根源。另外一条消息所 描述的问题可以在文件的第count行上找到。
(本文已被浏览 2409 次)
|
|