-261        无法建立表<表名>的文件。
通常,数据库服务器无法建立描述这个表的文件。检查附带的ISAM错误代码以获得更 多信息。此文件将用INFORMIX-SE建立在数据库dbs 目录下(除非你已提供了IN<路径 名>语句)。它的文件名将以<表名>的前几个字母开头,后面是三位数字和后缀.dat或 .idx。对于INFORMIX-SE,问题可能出在文件权限方面,或可能是磁盘满了。
INFORMIX-OnLine动态服务器允许分段存储,这会引起dbspaces的扩展使用。你需要检 查为该表指定的dbspace。如果没有指定的dbspace,那么建立数据库的dbspace将被使 用。为建立数据库,如果没有指定的dbspace,那么使用rootdbs。对于OnLine,指定 的dbspace可能不存在,或磁盘满了。
-262        没有当前游标。
这个内部错误不应该发生。记录使用中的网络软件的所有细节以及本台或其它主机系 统中的数据库服务器版本号。如果重复发生错误,请记录详细情况并与Informix技术 支持部联系。
-263        不能锁定行用于UPDATE。
这条语句失败,可能是命名游标的FETCH语句说明了FOR UPDATE,因为该语句取得的行 不能被锁定。请检查伴随的ISAM错误代码(通常是错误 -107, -113, -134, -143, -144或-154)可获得更多的信息。有可能另一程序正在用该行(-107)或表(-113)。可 使用 SET LOCK MODE TO WAIT将消除这些错误,但检测死锁 (-143或-154)和锁定的表 满(-134) 仍会发生。
-264        不能写入临时文件。
数据库服务器在由DBTEMP环境变量指定的目录(或在UNIX系统上由缺省指定的/tmp) 中创建临时文件,但在试图向文件写入数据时会发生错误。检查伴随的ISAM错误代 码,查看操作系统错误信息,它可能给出更多的信息。可能已经有硬件故障,也可能 磁盘已满。从版本5.01开始,INFORMIX-SE数据库服务器使用DBTEMP环境变量,但 INFORMIX OnLine动态服务器不使用。
-265        装入或插入游标必须在一个事务内运行。
试图打开一个insert游标。这个数据库有一个事务日志。在这样的数据库中,在打开 用INSERT语句或用FOR UPDATE子句说明的游标之前,必须执行BEGIN WORK语句。 修正程序的逻辑,以便在打开游标之前程序开始一个事务。
在没有事务日志的数据库中也可确保程序工作,把程序按如下办法修改。紧接在执行 DATABASE语句之后,把SQLAWARN警告标志数组的第二单元的内容保存在SQL通信区中。
如果数据库没有使用事务,该单元将是空,而如使用事务,将包含字母W。在每一事务 逻辑上开始和结束点,测试保存的值。如果含有W,执行事务语句开始或结束一个事 务。
-266        UPDATE/DELETE游标没有当前行。
当前语句使用WHERE CURRENT OF <游标名>子句,但该游标还没有与当前行发生联系。 要么从它被打开开始还没有执行FETCH语句,要么是最近的fetch发生错误,这样就没 有行返回。修正程序的逻辑,以便在执行这条语句之前总能成功地取得数据行。
-267        游标已经先释放,不能用。
FREE语句已释放在这条语句中命名的游标所连接的资源。在能够使游标之前,必须再 次准备与它相关联的SQL语句。如果游标用FOR语句说明,它的DECLARE必须被重新 执行。如果它用FOR一个语句的id说明,必须重新执行PREPARE语句。
-268        唯一限制<限制名>违法。
在执行这条语句期间,重复的值引入受唯一性限制保护的字段。不允许有重复值的行 进入表中(不能插入或修改)。对于OnLine数据库服务器,在发现重复值之前由这条 语句做的任何改动已被滚回。(然而,在事务中先于语句的影响,如果有的话,仍然 起作用,必须明确地滚回或提交。)
-269        不能增加不接收null的字段<字段名>。
这条语句申请有NOT NULL限制的新字段,然而,当某字段加到已有的表中时,null  值正好要被装入已存在的行中。必须定义包括这个字段的新表,然后从旧表把数据 INSERT这个表以便为这个字段提供合适的非null值。
-270        不能放在临时文件内。
数据库服务器在由DBTEMP环境变量指定的目录(或在UNIX系统上缺省指定的/tmp ) 中创建文件,要在文件中定位(寻找)时碰到一个错误。检查伴随的ISAM错误代码, 查看操作系统错误信息以便获得更多的信息。可能是硬件故障,或另一个用户已经 截断文件。从版本5.01开始,INFORMIX-SE数据库服务器使用DBTEMP环境变量, INFORMIX OnLine动态服务器不使用。
-271        不能把新行插入这个表。
这个问题可能有许多原因,包括锁定的表或满磁盘。更多的信息请查看伴随的ISAM 错误代码。
-272        没有SELECT权限。
创建这个表的人没有授予Select权限给你的帐户名或public。必须在表的所有者或DBA 授予这个权限后,你才能从该表选择数据。
-273        没有UPDATE权限。
创建这个表的人没有授予Update权限给你的帐户名或public。必须在表的所有者或DBA 授予这个权限后,你才能修改该表的数据行。
-274        没有 DELETE权限。
创建这个表的人没有授予Delete权限给你的帐户名或public。必须在表的所有者或DBA 授予这个权限后,你才能删除该表的数据行。
-275        没有INSERT权限。
创建这个表的人没有授予Insert权限给你的帐户名或public。必须在表的所有者或DBA 授予这个权限后,你才能向该表插入数据行。
-276        没有发现游标。
在这个语句中命名的游标没有在当前会话期中说明。当前会话期从一个DATABASE 语句到下一个DATABASE或CLOSE DATABASE语句之间运行。检查程序的逻辑保证它 在DATABASE语句之后执行这个游标的DECLARE语句。
版本5.01以后的数据库服务器不使用这条错误信息。
-277        UPDATE表<表名>和游标的表不相同。
UPDATE WHERE CURRENT OF<游标名>语句参考的表不同于用游标说明的SELECT语句 参考的表。请检查程序逻辑确保这一点:在通过游标进行修改时,它只修改游标正在 读的表。
-278        ORDER BY的字段太多。
此SELECT语句要求的字段超过数据库服务器所能支持的。这个限制视所用的数据库服 务器而定,但处理分类上都最多只到8个字段。更新这个语句以便要求较少的字段。
4.0及以後的版本对ORDER BY的字段数没有特别的限制。当执行排序操作时复杂的排 序工作会使数据库服务器用尽内存或磁盘空间。
-278        不能滚回保存点。
4.1及以后版本的产品能检测这一内部错误。如果反复发生错误,请记录详细情况并与 Informix技术支持部联系。
-279        不能授予或取消表或视图的数据库权限。
这条语句命名一个或多个数据库级权限 (CONNECT, RESOURCE和 DBA),但是它也使用 ON <表名>子句。没有描述具体表的语句(不包含ON子句)必须授予或取消数据库级的 权限。表级权限如INSERT需要ON子句。这两种不能混合在同一语句中。
-280        带引号的字符串超过256个字节。
这个语句中有字符文字超过允许的最大值。审查该语句,检查其中所有带引号字符串 的长度和标点。可能遗漏两个引号,使两个短字符串成为一个长串。必须修改语句使 用更短一些的字符串。
-281        不能把索引加到临时表中。
检查伴随的ISAM错误代码,找出具体问题,然后查看操作系统错误信息以求得到更多 信息。可能是磁盘满了。
-282        发现一个引号没有相匹配的引号。
审查当前语句,检查带引号的所有字符串的标点。为了将引号放在文字字符串中,用 一些单撇号作为字符串的分隔符。如下例所示:
SELECT ' " ', fname, ' " '," ' ' ", lname, " ' ' " FROM customer
-283        发现没有终结的注释("{"和"}"不匹配)。
审查当前语句并查注释及带引号字符串的标点。可以使用大括号将注释插入SQL语句, 但大括号必须成对出现。或者,可以用双连字符附注释于行后。
-284        子查询实际不是返回一行。
用于表达式的子查询在文字值的位置上必须只返回单行和单个字段。在这条语句中, 一条子查询的返回超过一行,数据库服务器不能选择哪个返回值用于表达式。可使子 查询总是只返回一行。使用WHERE子句,对有唯一索引的字段测试相等性。或是只选择 统计函数。检查子查询并检查它们只返回一行。
这个错误在使用单一SELECT语句来检索多行时也可能发生。必须使用 ECLARE/OPEN/FETCH语句系列,或EXECUTE INTO语句来检索多行。
-285        无效的游标被sqlexec接收。
在这条语句中使用的游标没有适当地说明或准备,否则就是FREE语句已经释放它。 检查程序逻辑,保证游标已经说明。如果是,并且该DECLARE语句参考一个语句id, 检查被参考的语句已经准备。
(本文已被浏览 2259 次)
|
|