-372        不能变更打开了审计追踪的表。
一旦某表的审计追踪被启动,表就不应变更。如果必需变更,请执行下述操作:把表 复制到备份介质上,用DROP AUDIT去掉审计追踪,删除审计追踪文件,变更表,再把 表复制到备份介质上的,最后用CREATE AUDIT启动新的审计追踪。如果表变更失败( 如果表太大,那么操作过程将长,需要大量的磁盘操作),就要把第一次复制的表恢 复回去。第二次复制的表也是必要的,因为如果变更后的表必须恢复时,那么新的审 计追踪应该被使用有相同的字段格局的备份。
-373        DBPATH太长。
在使用 DBPATH 环境变量定位数据库时,数据库服务器构造的全路径串超出了80个字 符的限制。此限制为完整的数据库目录路径名(即从斜线或者反斜线起到.dbs止) 的长度的限制。为了能使用数据库,你可能要把它定位在较高层的目录上。(此信息 易引起误会,对 DBPATH内容的总长度没有特别限制。)
-374        在带UNION的ORDER BY子句中只能使用字段号。
此查询语句包含UNION和ORDER BY子句。在一个有几个选择语句、而且每个语句中的被 选字段的名字不必要相同的"并"查询语句中,不能在ORDER BY子句中使用字段名。但 可以用位置号表示,即用1表示第一个字段、2表示第二个字段等等。请重写此查询, 在ORDER BY 子句中只使用数字。
-375        不能生成事务的日志文件。
当数据库企图利用执行START命令创建事务日志时,遇到了一个非期待的错误。请查看 伴随的ISAM错误代码,它将提供更详细的信息。典型的原因为磁盘空间不够,文件权 限问题,可同时打开文件的个数的限制。
-376        日志文件已存在。
你在WITH LOG IN 子句中定义的事务日志文件必须是尚不存在的。数据库服务器必须 使用新的日志文件。没有办法在旧的日志文件的后面添加日志数据。已存在的日志文 件中的恢复数据是至关重要的,所以不能简单清空已存在的日志文件。要作一完全备 份:先锁定数据库,把数据库的目录复制到备份介质上,删除日志文件(这个文件已 不再需要了),执行START DATABASE语句。要进行部分归档,先对数据库加锁,把日 志文件复制到备份介质上并以全归档的方式存储复制的日志文件,删除/重命名日志文 件,执行START DATABASE 语句。
-377        在关闭数据库之前必须结束事务。
只有在当前事务完成后,该语句(DATABASE,CREATE DATABASE或CLOSE  DATABASE)才能执行。你可以使用COMMIT WORK语句,也可以用ROLLBACK WORK语句,然后就可以关闭数据库了。
-378        当前记录被其它用户锁住。
此语句需要的表中的一行不能被访问,因为此行已被锁住。为得到更多的信息,请查 看伴随的ISAM错误号。可能的错误码为-107, -113, -134, -143, -144, -154,它们 分别表示你的程序和其它用户程序之间些微不同的关系。可用SET LOCK MODE TO WAIT 来阻止大部分(但不是全部)此类错误的发生。
在4.1之版本前的数据库服务器中,这类错误只是由UPDATE 和 DELETE WHERE  CURRENT OF语句引起的在6.0版本中,这条错误信息不再被使用。
-379        不能撤消字段上的权限。
在GRANT语句中,可以对特定的字段授与UPDATE或SELECT权。然而,REVOKE权限语句只 能接受权限类型的关键字,你不能撤消对指定字段的访问权限。如果要改变某个用户 所允许访问的字段,那就必须先撤消全部权限,再按新的字段列表予以授权。
-380        不能删除日志文件。
数据库服务器在初始化事务的日志时,接收到一个非期待的错误。请查看伴随的ISAM 错误代码,它将给出关于原因的详细说明。典型的原因是硬件错误和文件权限错误。
-381        不能将权限授给那些将该种权限赋予你的用户。
你试图将原先以WITH GRANT OPTION授与你的权限授予别人。原来授予你该权限的用户 的名字也列在当前命令的用户名单之中。为了系统安全起见,不允许相互授权。重写 语句,去掉那些授权给你的用户的名字。要查看你不该授权的用户名单,请按下列方 式查询systabauth:
SELECT grantor FROM systabauth WHERE grantee = USER
-382        在视图和选择子句中指定的字段个数必须相等。
在此VIEW语句中,你已经列出了视图的字段名。然而,此处列出的字段数与定义视图 的SELECT语句中的字段数不等。检查两个列表中的标点,确认你为选择列表中的每项 都提供了名字。
-383        聚合或表达式中的视图字段必须显式地命名。
在该VIEW语句中你没有为字段列出特定的名称。只有当SELECT语句只选择简单的、命 名的字段时,这种操作才是允许的。然而,此处的SELECT语句选择了一个或者多个表 达式。你必须在视图名后的括号中列出字段的名字。因为不能只给出一部分字段名, 你必须列出全部字段名。
-384        不能修改非简单视图。
此语句试图修改(插入、删除、修改)一视图中的某些字段。然而,此视图不可被修 改。此视图是基于联结两个或者更多的表的SELECT语句的,或者是用来选择计算值、 文字值的SELECT语句的。(但你可以对从单个表中选出的视图进行DELETE 操作,即使有一些计算值被选出也是允许的。)你必须使此语句直接对视图所基于的 表进行操作。
-385        数据值越界。
此语句企图向一个用WITH CHECK OPTION定义的视图中送数据。因此新的数据必须满 足视图中WHERE子句的检查条件。然而,在当前语句中有一个或者多个数据值不满足 条件。所以此变更操作不能执行。事物被滚回。要查看新数据必须满足的条件,可用 下列语句显示视图的定义:
SELECT           seqno, viewtext FROM sysviews, systables WHERE            systables.tabname = 'viewname' AND systables.tabid = sysviews.tabid ORDER BY seqno
-386        字段中包含空值。ALTER TABLE 语句中包含的MODIFY字句将NOT NULL属性赋 予一个已经存在的字段。但此字段已包含了一个或者多个null值。除非将所有的null 值删除或者将其更新为非null值,否则此修改无法完成。
-387        没有连接权限。
不能访问这条语句所要求的数据库,因为没有被获准与该数据库连接的权限。 请与拥有该数据库管理员权限的人联系,并向他申请与该数据库连接的权限。
-388        没有资源权限。
如果有CREATE TABLE, CREATE INDEX,或CREATE PROCEDURE语句,这些语句 不能被执行,因为你的帐户没有被授予此数据库的RESOURCE权限。你需要RESOURCE 权限去创建永久性的表和永久性表的索引和过程。
如果有SET语句,START VIOLATIONS TABLE语句,或STOP VIOLATIONS TABLE 语句,这些语句不能被执行,因为你的帐户没有被授予此数据库的RESOURCE权限。你 需要RESOURCE权限在当前数据库中对一限制的、触发的或定义了索引的表去执行SET 语句。在当前数据库中对一基表执行START VIOLATIONS TABLE或STOP VIOLATIONS  TABLE语句也需要RESOURCE权限。
为解决此错误,请与有此数据库的DBA权限的人联系,并请他授给你该数据库的 RESOURCE权限。
-389        没有DBA权限。
此语句不能被执行。因为你的帐户没有被授予此数据库的DBA的权限。请与有此数据库 DBA权限的人联系,并请他授权给你(或者请他帮你执行此语句)。
-390        此同义名已作为表名或同义名使用过。
CREATE SYNONYM语句命名了一个已在使用的同义名。为查看当前定义的同义名和表 名,请按如下方式查询systables:
SELECT  tabname,  owner  FROM  systables  WHERE  tabid  >99
-391        不能向字段<字段名>中插入null。
此语句试图向所指出的字段中送入NULL值。但此字段被定义为NOT NULL。当前事务被 滚回。如果这是一段程序,请重新检查表的定义并修改程序的逻辑使null不被用于不 接受NULL的字段。
-392        系统错误- -遇到非期望的NULL指针。
这是一个不应发生的内部错误。如果此类错误再次发生,请记录下全部环境并与 INFORMIX技术支持部联系。
-393        where子句中的条件导致双向外部联结。
此查询需要一个外部联结。但是在WHERE子句有一个或更多的条件使主—从关系发生冲 突。请重新察看查询,确认关联两个表的每个条件都是必要的。
-394        没有找到视图<视图名>。
所命名的视图不存在,故不能删除之。可用如下语句查询systables中现存的视图的名 字:
SELECT tabname FROM systables WHERE tabtype = `V'
-395        WHERE子句包含一个外部笛卡尔乘积。
此查询需要一个外部联结。但是WHERE子句的写法实际是要对于主表的每一行分别选出 从属表的每一行,这将导致一个规模非常大的输出。请重新察看查询语句,并检查在 查询语句中至少有一个条件使每一对主—从表之间有关联。
-396        在嵌套的外部表与保留表之间存在不合法的联结。
此查询需要一个外部联结。但是WHERE子句中的一个条件使一个嵌套的从属表与一个不 是它的直接父表的保留表之间发生关联。这种操作是不被支持的。请重新察看此查 询,确认每个条件中相关联的两个表分别是保留表与它的直接从属表。
-397        系统目录 <表名> 损坏。
这个内部错误不该出现。该数据库服务器在一个或多个系统目录表中遇到一些破坏完 整性约束的内容。运行 tbcheck 或 oncheck实用工具 (对于 OnLine) 或者bcheck 或 secheck实用工具 (对于 INFORMIX-SE)。如果该错误再次出现,请记下全部细节并 与Informix技术支持部联系。
-398        游标控制必须在一个事务内部。
试图使用一个UPDATE 或一个DELETE WHERE CURRENT OF语句时会产生这个错误信息。 这个语句将通过一个游标修改一个表。然而,这个数据库使用一个事务日志。对这种 情况,通过一个游标进行修改必须处于一个事务的范围。
检查程序逻辑,并检查在这个语句之前先执行BEGIN WORK 语句而且在适当的时间结束 该事务。如果程序既要通过使用事务的数据库,又要通过不使用事务的数据库来工 作,你可以让它检测 SQL 通讯区的sqlwarn 数组的第二个元素。如果该数据库有一 个事务日志,该通讯区就包含一个跟随DATABASE语句的字母W;如果没有事务日志, 就包含一个空格。
-399        不能存取日志文件。
这个查询参考一个命名为syslog 的表。systables目录有一行在 tabname字段中具有 syslog,但这只是一个存储事务日志文件路径名的方便地方。在INFORMIX-SE下一个命 名为syslog的表不能存于登录的一个数据库中。(一般地,不宜使用以sys-开始的表 名,而 syslog 是不允许的。)
-400        试图在未打开的游标上进行Fetch。
这个 FETCH 语句命名一个从未打开或已经关闭的游标。检查程序逻辑并检查它将在此 之前打开该游标,而且没有意外地关闭它。除非一个游标用WITH HOLD说明,它自动地 由一个COMMIT WORK 或 ROLLBACK WORK语句 关闭。 
 
(本文已被浏览 2293 次)
|
|