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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-20 22:40:35

作者:oldbank  出处:
-881        TRIM的返回串的长度必须介于1到255个字符之间。

TRIM函数返回的串的长度不是介于1到255个字符之间的。TRIM函数返回一个VARCHAR
串,而VARCHAR串的长度必须介于1到255个字符之间。确保TRIM返回的串的长度在有
效范围之内。

-882        不能在一个未被分段的表上生成rowid。

你试图使用ALTER TABLE . . . ADD句法在一个未被分段的表上增加一个rowid字段。
这不是合法的用法,因为已经存在一个rowid字段,非分段的表上总是存在rowid的。

-883        不能对分段存储表达式求值。

你的程序中的一个分段存储表达式是无效的。请检查并改正之。请检查表达式的逻
辑。表达式中的某些元件可能并不代表实际存在的或定义的元素,例如字段、散列
值,范围,索引键等。

-884        不能变更临时表上的索引。

你的程序试图变更临时表上的索引。请改正你的程序。

-885        传给dbinfo(utc_to_datetime)的utc 时间是无效的或NULL。

你试图将一个无效的或者NULL值传递给dbinfo()函数。请确保你传递到dbinfo()
函数的值是有效的、非空的。

-886        由于依赖关系的存在,不能取消表或视图。

当你使用DROP TABLE或DROP VIEW语句时,如果你指定了RESTRICT选项并且存在一个视
图或者外码约束依赖于表或视图,那么表或视图不能被取消。当你指定了RESTRICT选
项并且该表存在一个检查和诊断表时,你同样不能取消该表。

-887        由于权限、视图或约束的限制,不能取消。

你不能使用RESTRICT选项REVOKE一个权限,如果该操作将导致被抛弃的权限、被抛弃
的视图或者被抛弃的表约束。请参考INFORMIX-SQL指南:Tutorial 中的说明。

-888        不能连上一个有约束的表。

你试图连上一个有约束的表。请先将所有的参照的和主的约束去掉,然后重新试图继
续连接。

-889        内部的dataskip条件应该重新定位到下一行并继续。

如果这个内部错误再次发生,请记录下所有的现场信息并与Informix
技术支持部联系。

-891        临时表对象仅仅可以被激活

你不能改变临时表目标的目标模式为使不能的或者为过滤目标模式。

-892        不能使目标<目标名>无效,由于其它活动目标正在使用它。

其它目标正在使用这个目标,如果正在使无效的目标是一个索引,则一个唯一约束,
基本约束或者引用约束可能正在使用这个目标。如果这个目标是唯一的或者是基本约
束,则可能一个引用约束正在使用这个目标。

-893        因为它的依赖性不能激活/产生目标<目标名>。

用户已经发布了一个SET已经去设置数据库目标为使能或者过滤目标模式。或者用户已
经发布一个CREATE INDEX,CREATE TRIGGER或者CREATE TABLE已经去产生一个使能的或
者过滤模式的数据库目标。但是,这个目标需要其它的无效目标。比如,在使能一个
表上的引用约束时,用户必须首先激活该约束需要的索引。

-894        不能找到目标<目标名>。

用户在SET语句中明确指定的目标名称在数据库中没有找到。

-895        不能产生检查/诊断表。

用户已经为一个目的表发布一个 START VIOLATIONS TABLE 语句。数据库服务器不能
为这个目的表产生检查和诊断表。任一下列情况均可是失败的原因:

    *   目的表已经有一个检查/诊断表。

    *   在START VIOLATIONS TABLE 语句中指定检查和诊断表的名称是非法的。
        比如,如果你在语句中漏了USING子句并且在目的表名称中的字符数加上四个字符
        比最大标识符长度长,检查和诊断表的产生的名称将比最大标识符长度长。
        如果检查和诊断表的名称因为这个原因非法,用户可以在START 
        VIOLATIONS TABLE 语句的USING短语中为检查和诊断表给出清晰的名称来纠正
        这个问题。

    *   在START VIOLATIONS TABLE 语句中指定检查和诊断表的名称于数据库中
        已经存在的表名称匹配。

    *   目的表包括名为 informix tupleid 或者informix optype的列。由于这
        两个名称将复制检查表中的informix tupleid 或者informix optype的列,数据库
        服务器不能产生检查表。

    *   目的表是临时表。

    *   目的表正在作为其它表的检查或者诊断表。

    *   目的表是系统目录表。

-896        没有为目的表打开检查表。

如果一个检查表或者诊断表没有为目的表开动,并且一个INSERT,DELETE,或者
UPDATE语句不能满足任一个表上的过滤模式的目标,发布这个INSERT,DELETE或者
UPDATE语句的用户收到这个消息。

要从这个消息恢复,你必须为目的表开动检查表和诊断表。然后当用户发布不能满足
定义在该表上的过滤模式目标的INSERT,DELETE或者UPDATE语句时,他们不会收到
这个消息。

-897        不能修改/删除一个检查/诊断表

用户试图修改或者删除正在作为另一个表的检查表或者诊断表的表。

-898        不能改变与检查/诊断表联系的表。用户试图增加,删除或者修改某个有检查
和诊断表与之相联系的表中的一个列。

-899        太多的冲突

在诊断表中的记录数超出或者将要超出在START VIOLATIONS TABLE语句中的MAX ROWS
短语指定的上限。当一个在目的表上的简单语句(比如INSERT或者SET语句)
引起要插入到诊断表的记录数比用MAX ROWS短语指定的上限多时。这个错误将返回给
在该目的表上发布语句的用户。

-903        许可的INFORMIX-SQL服务器不能被访问。

这个语句引用了另外的宿主计算机系统,而且那个系统是活动的、可访问的。然而,
sqlexecd网络daemon没有被启动,因此,不能从它那里得到数据库服务。请与该系统
的DBA联系。请确保INFORMIX-STAR和INFORMIX-NET是正确安装的。

-904        授权文件未在许可的INFORMIX-SQL服务器上注册。

这条信息表明Informix网络软件的安装不完全正确。请检查工作站和网络服务器上的
安装步骤,确保它是正确无误的。

-905        不能定位在/etc/services中定位sqlexec service/tcp 服务。

这个系统的INFORMIX-STAR或INFORMIX-NET软件安装得不正确。具体来说,未生成系统
配置文件/etc/services (UNIX)或 \etc\services (DOS) 中的入口。请与安装你的
Informix软件的人联系。

-906        不能定位远程系统(检查DBPATH)。

INFORMIX-NET正在搜索当前语句中请求的数据库。它使用DBPATH环境变量中提供的
入口,逐个进行尝试,它使用//<节点名>的格式指定其它计算机系统上的目录。那个
系统是不可访问的。请检查DBPATH环境变量的设置。确保它所指定的所有其它系统都
安装了INFORMIX-STAR 或者INFORMIX-NET,并且当前是活动的。这条信息出现在
6.0版之前。

-906        不能够定位数据库服务器(检查DBPATH)。

在你的DBPATH环境中指定的服务器名称是不正确的。确定在DBPATH设置中,每一个服
务器名称都是正确的,且未超过18个字符。6.0版後有这条信息。

-907        不能生成当前数据库服务器的套接字。

INFORMIX-STAR 或者INFORMIX-NET正在试图访问另外的计算机系统,但是不能建立
连接。请求你的系统管理员检查TCP/IP是否已经正确安装而且功能正常。

-908        试图连接到数据库服务器(<服务器名>, conerr=<连接错误号>, 
oserr=<系统错误号>)失败。

程序或应用正在试图访问其它的数据库服务器,但是失败了。请记录下当前语句中的
服务器名以及消息中显示的连接错误号和系统错误号。

所需的数据库服务器是不可使用的,或者由于网络已经关闭或被堵塞。请求你的DBA和
网络管理员确认服务器和网络是否仍正在正常工作。如果网络被堵塞,可以通过设置
INFORMIXCONTIME和INFORMIXCONRETRY环境变量来调整连接计时。请参考
"INFORMIX-SQL指南:参考手册"的第4章中关于设置这些环境变量的说明。

这条信息出现在6.0及以后版本。

-908        试图连接到远程系统失败。

INFORMIX-STAR 或 INFORMIX-NET正试图存取另外的计算机系统,且已失败。
注意目前语句中的节点名。以一个日志文件开始daemon,并在这个日志文件中检查
操作系统错误。如果得不到结论,就与系统管理员联系,并要求检查网络是否
可运作,及特定节点是否活跃。

这条信息在6.0版之前的数据库服务器里出现。

-909        无效的数据库命名格式。

这个语句看来引用了另外的数据库服务器上的数据库,但是数据库名称、节点名或服
务器名、标点可能有误。请重新检查语句,确保所有的限定符都以字母开头(6.0及以
后版本,也可以是下划线),并且名字中只包含字母、数字或下划线,而且以
dbname@sitename或 //sitename/dbname(6.0之前的版本),或者dbname@servername 
或 //servername/dbname(6.0及以后版本)的格式。如果你正在使用INFORMIX-
OnLine for NetWare,请检查你是否按照产品手册中解释的几种格式提供了远程数据
库的名字。

-910        不能从一个INFORMIX-SE客户机上创建一个INFORMIX-OnLine
数据库。

CREATE DATABASE语句不能被执行,原因在于你的工作站上与另一个计算机系统上的数
据库服务器产品的类型不同:一个是OnLine,而另一个是INFORMIX-SE。当你在这种配
置下操作数据库时,你不能创建数据库。为了能够创建,或者在两个系统上运行同样
的产品,或者在其它计算机系统上运行本地命令。SQLEXEC环境变量(对于6.0之前的版
本)决定了你的应用程序使用哪个数据库服务器。
 
阅读(1041) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~