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

全部博文(19309)

文章存档

2012年(1)

2011年(1)

2009年(125)

2008年(19119)

2007年(63)

分类: DB2/Informix

2008-03-21 00:13:04

作者:oldbank  出处:www.hhnxs.com   
-100        ISAM错误:对有唯一键的记录重复取值。

某一行在被插入或是更新时,其键值在索引中已经存在。对C-ISAM程序,在最后一次
调用iswrite,isrewrite,isrewcurr或isaddindex时传递了重复的键值。检查程序逻
辑和输入数据。对SQL产品,在最后一个INSERT或UPDATE中使用了重复的键值。

-101        ISAM错误:文件未打开。

ISAM处理器被要求使用一个未打开的文件(表)。对C-ISAM程序,程序试图在调用
isopen打开文件前使用该文件,或是试图写一个只读方式打开的文件。如果错误再次
出现,请参考INFORMIX-Online的“管理员指南”附录B,“陷井错误”以得到进一步
诊断。有关诊断信息请与Informix技术支持部联系。

-102        ISAM错误: 不合法的ISAM函数参数。

一个传递给C-ISAM函数的参数值超出了可接受的范围。对C-ISAM程序,检查这个函数
调用中使用的参数,并与该函数的文档比较。如果错误再次出现,请参考INFORMIX-
Online的“管理员指南”附录B,“陷井错误”以得到进一步诊断。有关诊断信息请与
Informix技术支持部联系。

-103        ISAM错误: 不合法的键描述符(部分过多或是太长)。

ISAM处理器被给予了一个无效的键描述符。对C-ISAM程序,检查键描述符。每个键描
述符最多可以有8个部分和120个字符。如果错误再次出现,请参考INFORMIX-Online
的“管理员指南”附录B,“陷井错误”以得到进一步诊断。有关诊断信息请与
Informix技术支持部联系。

-104        ISAM错误: 打开文件过多。

ISAM处理器已经到达了打开文件数的极限。对C-ISAM程序,检查并改变程序逻辑使得
它同时打开较少的文件。使用isclose来关闭不需要的文件。对SQL产品,这个查询过
于复杂;它同时使用了过多的表。分步执行查询并使用临时表。

-105        ISAM错误: 坏的ISAM文件格式。

一个ISAM文件(表或索引)的内容已被损坏。对C-ISAM,如果已使用了事务日志,你可
以用isrecover程序来恢复该文件。否则,重新建立或是从备份上恢复该文件。对SQL
产品,使用bcheck或secheck实用工具来获取有关此问题的进一步信息,可能的话改正
错误(在INFORMIX-OnLine数据库服务器中使用tbcheck或是在INFORMIX-OnLine 
动态服务器 中使用oncheck)。如果实用工具不能恢复表或索引,你必须重新建立或
恢复它。

-106        ISAM错误: 非排它存取。

ISAM处理器被要求增加或取消一个索引,但它并没有排它存取权。对C-ISAM程序,在
做这个操作之前文件必须以排它存取方式打开。检查程序逻辑,确保在打开文件时把
ISEXCLLOCK标志传递给了isopen。对SQL产品,在要求对表的排它锁定时,
INFORMIX-OnLine 动态服务器和INFORMIX-SE数据库服务器中可能会返回这个错误。
例如,当第一个用户锁定了表后,第二个用户又试图变更表时,就会出现这个错误。

-107        ISAM错误: 记录被锁定。

所需求的记录,或是包含该记录的文件(表),已被另一个用户的需求锁定。这一般
是一个暂时的情况。程序可以通过滚回当前事务来恢复,等一小段时间,然后重新执
行操作。对交互式的SQL,重新进行该操作。对C-ISAM程序,检查程序逻辑,确保程序
可以处理这种在多程序环境中的正常事件。你可以把ISEXCLLOCK标志传递给isopen以
获得对表的排它存取。对SQL程序,检查程序逻辑,确保程序可以处理这种在多程序环
境中的正常事件。处理这种情况的最简单的方法就是使用命令SET LOCK MODE TO 
WAIT。对于批量更新参见LOCK TABLE命令和DATABASE语句的EXCLUSIVE选项。

-108        ISAM错误: 键已存在。

ISAM处理器被要求建立一个已存在的索引。对C-ISAM程序,检查程序逻辑。该程序
必须在它定义其它索引之前先删除已有的索引。如果错误再次出现,请记录下所有的
环境并与Informix技术支持部联系。

-109        ISAM错误: 该键是文件的主键。

ISAM处理器被要求删除主键索引。对C-ISAM程序,isdelindex调用不能删除主键。
如果错误再次出现,请记录下所有的环境并与Informix技术支持部联系。

-110        ISAM错误: 文件的开头或结尾。

ISAM处理器向前或向后顺序地读取行时达到了文件(表)的一端。对C-ISAM程序,这个
信息是文件结束的正常信号。使用isread的其它检索方法来在文件中重新定位。对SQL
产品,参见SQL错误信息或返回代码。

-111        ISAM错误: 没找到记录。

ISAM处理器不能定位需求的记录。对C-ISAM程序,根据所使用的检索方式,没有具有
所需求的索引值或记录号的记录。确认正在使用正确的索引。对SQL产品,参见SQL
错误信息或返回代码。可能是此次查询没有找到相应的行。

-112        ISAM错误: 没有当前记录。

ISAM处理器被请求返回一个当前记录,但是还没有建立当前记录。对C-ISAM程序,检
查程序逻辑。在程序使用ISCURR检索方式之前,必须使用另一个检索方式,例如
ISFIRST,以建立一个当前记录。如果错误再次出现,请记录下所有的环境并与
Informix技术支持部联系。

-113        ISAM错误:该文件已被锁定。

另一个用户的需求已经用排它方式打开需求的文件(表)。在使用文件锁定的系统中,
存在一个<表名>.lok文件。可能这个文件是另一个程序异常结束后遗留的产物。如果
你能肯定是这样的,你可以通过清空该文件来解除锁定。在许多系统中都不使用锁定
文件,INFORMIX-OnLine动态服务器也从不使用它。

对C-ISAM程序,在文件被解锁后重新运行该程序。对SQL产品,表是由LOCK TABLE
显式锁定,并在执行CREATE INDEX和ALTER TABLE语句时被隐含地锁定。在表被
解锁后重新运行程序或查询。

-114        ISAM错误: 文件名过长。

ISAM处理器被要求打开或建立一个文件名长于10个字符的文件。对C-ISAM程序,这个
长度超出产品的最大值。选择一个较短的文件名。如果错误再次出现,请记录下所有
的环境并与Informix技术支持部联系。

-115        ISAM错误: 不能建立锁定文件。

ISAM处理器被要求存取使用锁定来存取一个文件或一行。因为这个操作系统使用锁定
的文件,ISAM必须建立一个<表名>.lok文件。当ISAM试图这样做时,它收到了操作系
统的错误代码。可能是磁盘已满,或者你的帐户可能没有在相关目录的写许可。查看
操作系统错误信息可能会获得进一步的信息。

-116        ISAM错误: 不能分配内存。

ISAM处理器需要分配内存用于数据存储但是没有成功。可能是操作系统出了问题;
查看操作系统错误信息可能会获得更多的信息。一个原因可能是选定了包含有巨大的
BYTE或TEXT字段的一行到一个临时表中或是作为一个INSERT或UPDATE的一部分。
在某些版本中,整个行包括BLOB值都被缓冲到内存中。对C-ISAM程序,查看程序,
寻找任何可以减少内存使用的办法。对SQL产品,如果可能的话,简化程序,屏幕
表格或报表。

-117        ISAM错误: 坏的整理顺序。

这个信息不会被任何当前的Informix产品显示。如果该错误重复出现,请记录下所有
的环境并与Informix技术支持部联系。

-118        ISAM错误: 不能读取日志记录。

ISAM处理器试图滚回一个事务或恢复一个文件但是在读取日志记录时遇到了错误。查
看操作系统错误信息可能会获得进一步的信息。使用dblog或selog实用工具获取与此
问题有关的更多的信息。如果该文件(表)不能被恢复,则必须重新建立或从备份上
恢复。

-119        ISAM错误: 坏的日志记录。

ISAM处理器正试图滚回一个事务或恢复一个文件,但是在日志记录中遇到了坏的数
据。dblog或selog实用工具可以用来获取与此问题有关的更多的信息。如果该文件
(表)不能被恢复,则必须重新建立或从备份上恢复。

-120        ISAM错误: 不能打开日志文件。

ISAM处理器试图打开一个事务日志文件但接到了从操作系统来的错误信息。查看操作
系统错误信息可能会得到进一步的信息。对C-ISAM程序,检查传递给islogopen
的参数。确定它指定了一个已存在的可写的日志文件的正确的名字,并且当文件不在
当前目录下时,它包含了路径。对SQL产品,START DATABASE语句建立了事务的日志
文件。确定该日志文件还在与执行STARTDATABASE语句时相同的目录位置上,并且你
的帐户可以写存取。

-121        ISAM: 不能写日志记录。

ISAM处理器正试图给事务日志增加一条记录,但是从操作系统接到了一个错误信息。
磁盘可能已满。查看操作系统错误信息可能会获得进一步的信息。事务日志文件可能
会增长得相当大。为了减小其大小,你必须做两件事。首先给数据文件(对C-ISAM)或
所有的数据库文件(对SQL)做一个备份拷贝,然后,清空事务日志文件。如果例行地执
行以上步骤,就可以控制日志文件的大小。

-122        ISAM错误: 事务不可用。

ISAM处理器被要求给一个事务标记开始或结束,但是事物日志并未工作。对C-ISAM
程序,这个文件没有以日志方式打开。检查isopen调用并确保ISTRANS参数已被包括。
对SQL产品,这个数据库不支持事务日志。如果你正在使用OnLine数据库服务器,请 
OnLine 管理员允许这个数据库进行日志操作。否则,使用START DATABASE 
语句来开始事务日志。在所有情况下,日志只能在已获得数据库的一个完全的备份后
马上开始。

-123        ISAM错误:没有共享内存。

ISAM的实现使用了共享内存,但是共享内存分区还没有建立起来。与系统管理员或安
装产品的人联系。

-124        ISAM错误: 还没有开始工作。

ISAM处理器被要求为事务结束给一个标记,但是还没有任何事务开始。对C-ISAM
程序,检查程序逻辑,确保在调用iscommit或isrollback之前已调用过isbegin。对
SQL产品,确定在执行COMMIT WORK或ROLLBACK WORK前先执行了BEGIN WORK。

-125        ISAM错误: 不能使用nfs。

ISAM处理器被要求打开一个位于其它机器的磁盘上的文件,并通过网络文件系统(NFS)
来对它进行存取。这个功能不被支持。数据库文件必须位于在物理上属于正在运行
ISAM处理器的计算机的磁盘上。要想使用其他计算机上的数据库,你必须安装
INFORMIX-STAR或INFORMIX-NET网络软件。那时这台计算机上的应用程序就可以与
磁盘所在的计算机上运行的数据库服务器进行通讯了。
 
阅读(571) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册