-241        不能进行滚回工作。
数据库服务器不能执行ROLLBACK WORK语句。更多的信息请检查伴随的ISAM错误 代码。在访问事务日志时可能发生问题。
-242        不能打开数据库表< 表名>。
数据库服务器不能开始读取表。更多的信息请检查伴随的ISAM错误代码。问题可能是 在文件权限,硬件错误,或被损坏的系统目录等方面。除非ISAM错误代码或操作系统 信息指出其它原因,否则运行bcheck或secheck实用工具来检验文件的完整性。
-243        不能在表< 表名>内定位。
数据库服务器不能对代表某表的文件内的实际行设置文件位置。更多的信息请检查伴 随的ISAM错误代码。硬件错误可能发生,或文件可能被损坏(截断)。除非ISAM 错误代码或操作系统信息指出其它原因,否则运行bcheck或secheck实用工具来检验文 件的完整性。
-244        不能按物理顺序读来取得下一行。
数据库服务器不能读取包含一个表的某行的磁盘页。更多的信息请检查伴随的ISAM 错误代码。可能硬件有问题,或表文件或索引文件可能被损坏。除非ISAM错误代码或 操作系统信息指出其它原因,否则运行bcheck或secheck实用工具来检验文件的 完整性。
-245        不能通过索引在文件内定位。
数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的ISAM错误 代码。表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它 原因,否则运行bcheck或secheck实用工具来检验文件的完整性。
-246        不能按带索引的读得到下一行。
数据库服务器通过索引寻找数据行时遇到错误。更多的信息请检查伴随的ISAM错误 代码。表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它 原因,否则运行bcheck或secheck实用工具来检验文件的完整性。
-247        前滚数据库失败。
数据库服务器不能提供审计跟踪来向前滚动数据库。更多的信息请检查伴随的ISAM 错误代码。
-248        不能提交保存点(savepoint)。
在版本4.1以上的产品中能侦测到这个内部错误。如果错误重复发生,请记录详细情况 并与Informix技术支持部联系。
-249        虚拟字段必须有显式名。
在选择INTO TEMP时你正在创建一个表。在用任何表时,临时表的字段必须都有名称。 当你选择单个字段时,临时表中的该字段接收相同的名字。当你选择表达式时必须提 供使用字段别名的名称,如下例所示:
SELECT order_num, ship_date, ship_date + 14 expected FROM orders INTO TEMP ord_dates
临时表ord_dates有三个字段,分别命名为order_num,ship_date和expected。同一原 则亦用于视图:每个字段必须有一个名字。当你从表中选出视图的每个字段时,根据 缺省,视图可以有相同的字段名。当你从表达式派生视图的任何字段时,所有字段必 须给出显式名称,如下例所示:
CREATE VIEW ord_dates(order_num, ship_date, expected) AS SELECT order_num, ship_date, ship_date + 14 FROM orders
-250        不能从文件读取记录用于修改。
数据库服务器在修改之前不能得到某表的数据行。更多的信息请检查伴随的ISAM 错误代码。其它用户可能已经锁定该行或表,或者存在更严重的问题。
-251        ORDER BY或GROUP BY的字段号太大。
ORDER BY或GROUP BY子句使用字段顺序号,至少其中之一大于选择列表的字段数目。 检查你输入的子句是否正确,选择列表是否没有丢失项目。
-252        不能得到表的系统信息。
数据库服务器不能从一个或多个系统目录表读。更多的信息请检查伴随的ISAM错误 代码。除非ISAM错误代码或操作系统信息指出其它原因,运行bcheck或secheck实用 程序,检验文件的完整性。
-253        标识符太长 — 最大长度是18。
语句中的一个名字超过最大长度。检查名字的长度,并检查是否有印刷错误导致两个 名称一起运行。
-254        给出太多或太少宿主变量。
你在这条语句的INTO子句中命名的宿主变量的数量与写入该语句的"?"位置标识符的数 目不匹配。定位该语句的正文(在PREPARE或DECLARE语句中),并检验位置标识符的数 目。然后检查在INTO子句中的列表,看看哪个项目不正确。
-255        不在事务中。
数据库服务器不执行该COMMIT WORK或ROLLBACK WORK语句,因为没有执行BEGIN  WORK来启动一个事务。由于没有事务启动,你就不能够结束它。对数据库所作的任何 修改都固定不变;它们不能滚回但不需要提交。检查SQL语句的顺序,看看事务应该在 什么地方开始。
-256        事务不能用。
不能在这个数据库中开始一个事务,因为它没有事务日志。为了支持事务,必须启动 一个事务日志。使用INFORMIX-OnLine动态服务器时,OnLine管理员使用DB-Monitor 或ON-Monitor的Logical Logs菜单的Databases屏幕来开始一个事务日志。而使用其它 数据库服务器时,则用START DATABASE语句。
-257        关于最大语句数的系统限制超过 — 最大是<计数值>。
数据库服务器只能为每个用户处理固定数量的准备SQL语句。这种限制包括用PREPARE 准备的语句和用DECLARE说明的游标。这个语句(PREPARE, DECLARE或PREPARE  IMMEDIATE)超过那个限制。该语句不被执行。FREE语句释放准备语句。检查程序逻辑 并修改它,以便在不需要时释放准备语句。
5.0版以后的数据库服务器没有这种限制。然而,必须与早先版本兼容的程序仍应在 这个限制之下使用FREE。
-258        系统错 — sqlexec 进程收到无效的语句标识符。
当前的语句(EXECUTE 或 OPEN)引用了一个准备的SQL 语句或者不存在的游标。 产生的原因可能是该语句标识符无效,或者该语句是准备好的、但被 FREE 语句 释放了。检查程序的逻辑,确保该语句中命名的语句或游标是有效的、是正确地 准备或声明好的、而且没有在这之前被释放掉。
如果程序成功地执行了一句准备的 DATABASE 语句,数据库服务器将自动释放这句 准备的语句。因此,如果释放了准备的 DATABASE 语句,会在FREE 语句上收到这条 错误信息。在这种情况下,可以不理睬它。
-259        游标没打开。
当前语句使用了一个游标但它没有被打开。检查程序逻辑看它在此之前为何不能执行 OPEN语句。结束事务的语句(COMMIT WORK和ROLLBACK WORK)也关闭游标, 除非游标被说明为WITH HOLD。
-260        不能执行已PREPARE的SELECT语句 — 必须使用游标。
虽然可以准备一条SELECT语句,但是能执行SELECT语句的唯一办法是把它的语句id与 一个游标联系(使用DECLARE语句)然后打开游标。
一个重要的例外是 SELECTINTO TEMP 语句,你可以执行它,却不能借助游标 使用它。
你可以用EXECUTE语句执行其它准备语句。如果你在写程序时已经知道这条SELECT 语句的内容,并且确知它只返回单一数据行,就可以把它嵌入程序。如果它必须在程 序运行时动态地准备,那么修改程序以通过游标来执行它。
(本文已被浏览 2641 次)
|
|