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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-20 22:41:10

作者:oldbank  出处:
-851        不能删除文件(检查文件的许可权限)。

你请求删除一个文件,但是这个文件不能被删除掉,这可能是由于你的帐户没有该文
件或者它所在目录的写权限。请使用操作系统命令检查文件的权限。

-852        写操作失败。卸出<计数>行(检查用户限制或磁盘空间)。

在将<计数>行输出写入卸载文件之后,再试图写入下一行时发生错误。请检查一下操
作系统信息,它可能给出更多的信息。这可能是由磁盘已满或者磁盘的定额限制引起
的。

-853        由于错误或者遗漏COMMIT WORK,当前的事务被滚回。


在执行一个命令文件中的SQL语句的时候,INFORMIX-SQL 接收到一个错误返回码,或
者执行到文件的尾部却没有找到 BEGIN WORK 语句。由于事务正在进行之中(如果文件
中包含 BEGIN WORK 或者数据库是符合 ANSI 标准的),INFORMIX-SQL 将事务滚回。
(不能留下打开的事务,而且即使没有错误返回也不能假定成功。)

-854        未发现后端或后端忙。

在DOS中,应用不能与本地INFORMIX- SE引擎或INFORMIX- NET PC通讯模块建立连接。

在与SE引擎(访问本地数据库)或INFORMIX- NET PC通讯模块建立连接之前,例如要
使用DATABASE语句,必须先把它们装入。运行PSTARTSQ可装入SE引擎,而运行REMSQL
可装入INFORMIX- NET PC 通讯模块。如果已装入SE引擎或INFORMIX- NET PC通讯模块
而你仍然收到了本错误信息,那么有可能是因为别的应用目前正与SE引擎或
INFORMIX- NET PC通讯模块连接着(它们在同一时刻只能有一个连接),或者当前应
用因为一个内部错而失掉了连接。

如果是前一种情况,你必须要先释放那个连接,然后才能考虑连接当前应用。如果另
外那个连接应用是一个4GL或ESQL/C程序,那么可通过执行CLOSE DATABASE语句或调用
SQLEXIT()函数或索引退出来释放连接。

如果是出现了内部错,你只能退出应用,然后通过DOS命令行杀死SE引擎或INFORMIX- 
NET PC通讯模块。杀死SE后,你应该使用不需任何选项的PSTARTSQ命令重启它。要杀
死INFORMIX- NET PC通讯模块,使用-T选项运行SETNET命令。杀死它之后,应该运行
REMSQL重启它。

当某个客户Windows应用使用了错误的.DLL文件通过网络连接数据库服务器时,也可能
出现这条错误信息。INFORMIX- NET PC 4.1版本(如4.1版的ESQL/C)上的Client 
Windows应用同样可在INFORMIX- NET for Windows 5.01版本上工作。查看是否有这两
种产品在同一台客户机上并行工作。如果是这样,那么确认5.01版的LDLLSQLW.DLL文
件,在PATH环境变量中的设置出现在4.1版的LDLLSQLW.DLL文件之前。另外,4.1版的
LDLLSQLW.DLL文件不应该出现在下面目录中:当前目录,MS- Windows目录。MS- 
Windows的SYSTEM目录,或者包含你正在运行应用的可执行文件的目录。

-855        不能取消一个未分段的表的rowid。

你试图用 ALTER TABLE . . . DROP 句法来取消一个未分段的表的rowid字段。一个未
分段的表有一个rowid字段,但它是不可取消的。

-856        Rowid 在表中已经存在。

指定的表已经存在一个rowid字段。你不能多次为同一个表生成rowid。请修改你的SQL
语句。

-857        Rowid 在表中不存在。

你不能取消一个不存在的rowid。你指定的rowid并不存在于指定的表中。在你的SQL语
句中应该避免使用rowid。可以用主键代替rowid来删除数据。

-858        不能在一个分段存储说明中指定同一个dbspace两次。

你在同一个分段存储说明中多次指定了同一个dbspace。请修改分段存储说明,使每个
分段有不同的dbspace。

-859        'Distributions only'在一个Update statictics LOW请求中是无意义的。

你不能在UPDATE STATISTICS语句的 LOW模式中指定DISTRIBUTIONS ONLY选项。

-860        一个分段的对象拥有的分段数必须大于1。

你将一个对象分成一个分段。要将对象放入一个单个的dbspace,应该使用IN子句代替
FRAGMENT BY 子句。

-861        不能够生成新的PDQ线索。

更多的信息请参见伴随的 ISAM 错误。

-862        变更分段连接必须至少指定一个被消耗的表。

你还没有指定将被消耗的表。请参见 INFORMIX-SQL 指南: 句法部分中关于ALTER
FRAGMENT . . . ATTACH 的句法和用法。

-863        不能够分离一个带rowid的表。

在你使用ALTER FRAGMENT . . . DETACH之前,你必须先取消rowid。请参阅 
INFORMIX-SQL 指南: 句法部分的句法和用法。

-864        不能够连上一个带rowid的表。

在你连上一个表之前,你必须先取消残留表上的rowid。

-865        不能在增加或取消rowid的同时进行其他的变更表选项。

你必须使用一个单独的ALTER TABLE . . . ADD 或 ALTER TABLE . . . DROP 语句来
增加或取消rowid。

-866        不能连上包含serial字段的表。

在使用一个 ALTER FRAGMENT . . . ATTACH 语句之前,你必须先取消所有的serial字
段或者修改字段的类型。

-867        不能生成新的rowid。

更多的信息请参见伴随的 -ISAM错误。如果一个表中有serial或rowid字段,那么表中
能够容纳不超过2G字节的记录。

-868        不能对残留表进行约束检查。

如果残留表上有检查、参考、主键或NOT NULL约束,你就不能连上这个表。你应该先
取消检查、参考或NOT NULL约束,连上表,然后重新建立那些极为重要的检查、参考
或NOT NULL约束。

-869        在分段存储表达式中不允许出现子查询和过程。

分段存储表达式只能引用当前表中的字段和一个单个行的数据值。这种限制使子查
询、存储的过程等都是不允许的。

-870        不能重复指定其余分段。

你指定了重复的其余分段。请从你的SQL语句中删除一个其余分段。

-871        Remainder分段只能在最后指定。

如果你指定了一个REMAINDER,它必须是最后一个分段表达式。请重写你的句法,在最
后指定其余字段。

-872        在唯一的索引情况下的无效分段策略或表达式。

唯一的索引不能用 round-robin 方法分段。如果索引是用表达式方法分段的,那么分
段表达式中使用的所有字段都必须是索引键的一部分。

-873        无效的分段表达式字段。

你不能在一个分段表达式中同时使用不同表中的字段。

-874        发生浮点异常错误。

这个内部错误影响查询优化程序产生的费用计算。如果这个错误再次发生,请记录所
有的环境信息并与 Informix 技术支持部联系。

-875        存取方式与隔离级不兼容。

如果你将存取方式设为 READ-WRITE,你就不能将隔离级设为 READ-UNCOMMITTED。

-876        在一个事务启动之后不能使用 SET TRANSACTION。

当有一个事务是活动的时候,不要使用 SET TRANSACTION 语句。在执行了 DLL 
或者 DML 语句之后,一个事务成为活动的。在 BEGIN WORK 与 SET TRANSACTION
语句之间只允许有 SET EXPLAIN,SET CONSTRAINT,SET DATASKIP 等 SET 语句。

-877        隔离级已由前面的 "Set Transaction" 设置。

你的程序试图在 SET TRANSACTION 语句建立了隔离级之后对它进行重置。不要在一个
SET TRANSACTION 语句的后面使用 SET ISOLATION 语句。

-878        对一个 READ-ONLY 事务进行了无效的操作。

你在 SET TRANSACTION 语句中指定了一个 READ-ONLY 事务,然后试图变更
数据库。也就是说,READ-ONLY 保证你可以读取数据,但是你不能够变更数据。如果
你希望变更数据,你应该在 SET STATEMENT 语句中指定 READ-WRITE。如果你仅仅
希望读取数据,请改正你的程序,使之不再试图去变更数据。

-879        Trim 字符必须为 null 或者长度为1。

TRIM 函数计算出的值为 NULL。但是,TRIM 字符值表达式必须为 null 或者只包含一
个字符。你编写的程序有错误。如果 TRIM 计算出的值为 NULL,说明你的程序插入 
TRIM字符值表达式的值既不是 null ,也不是单个字符。请改正该错误,程序编译,
然后重新运行你的程序。

-880        Trim 字符和 trim 来源必须都是串数据类型。

当你使用 TRIM 函数时,TRIM 字符值表达式与来源字符值表达式的数据类型发生冲
突。字符与来源的值表达式都必须是串数据类型的。请检查一下 TRIM 函数的句法,
确保字符与来源的值都是串数据类型的。
 
阅读(748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~