Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103639662
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-21 00:10:11

作者:oldbank  出处:
-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
语句的内容,并且确知它只返回单一数据行,就可以把它嵌入程序。如果它必须在程
序运行时动态地准备,那么修改程序以通过游标来执行它。
 
阅读(1094) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~