informix执行存储过程报错 Error Code: -5849

2024-05-20 04:38

1. informix执行存储过程报错 Error Code: -5849

-5849   The sub-query flattening settings for the query plan and the current 
value of NO_SUBQF environment variable do not match.

.PROBLEM
The query plan was created with a different value of the NO_SUBQF environment 
variable than the current value of the NO_SUBQF environment variable.
.ACTION
Change the value of the NO_SUBQF environment variable or run UPDATE STATISTICS
to recreate the routine query plan.

informix执行存储过程报错 Error Code: -5849

2. informix数据库创建存储过程时报错

存储过程没问题,要用dbaccess,不能用isql工具

3. informix 存储过程中 加入unload 语句报语法错误,请问是怎么回事呢?

么是循环呢?它的格式是:unload to 文件名.txt select * from 数据库名

informix 存储过程中 加入unload 语句报语法错误,请问是怎么回事呢?

4. 如何运行 informix 存储过程

标准SQL语言,通过数据库访问语言直接运行:
execute procedure proc_name(in_para_list);
在存储过程中调用;
call proc_name(in_para_list);

5. 请教高手,informix online 出现错误代码

所有错误可以用finderr+错误代码查到,英文的,这里中文注释便于理解。
-100 错误的描述:C—ISAM错误;向具有唯一索引的字段加入一个重复值。
 系统的操作:该语句不被处理。
 更正的方法:检查是否用iswrite,isrewrite,isrewcurr或isaddindex的方法,向一个具有唯一索引的字段加入一重复值。
-101 错误的描述:C-ISAM错误;文件没有打开。
 系统的操作:该语句不被处理。
 更正的方法:检查C-ISAM错误:C-ISAM文件是否已用isopen调用打开,或者是否向一个以只读打开的C-ISAM文件中执行写操作。
-102 错误的描述:C—ISAM错误:C—ISAM函数含有非法参数
 系统的操作:该语句不被处理
 更正的方法:检查C—ISAM调用的第一个参数,是否超出相应的值域
-103 错误的描述:C—ISAM错误;非法的关键字说明(太多的分量或太长)
 系统的操作:该语句不被处理。
 更正的方法:检查组成该关键字说明的一个或多个元素,是否超出相应的值域。(每个关键字的说明最多允许8个分量和120个字符)
-104 错误的描述:C—ISAM错误:打开文件太多
 系统的操作:该语句不被处理。
 更正的方法:在UNIX系统中(以及多数DOS系统中),每个进程打开文件夹的最大个数为20。
-105 错误的描述:C—ISAM错误:C—ISAM文件格式有误。
 系统的操作:该语句不被处理。
 更正的方法:C—ISAM文件的格式已被破坏,对该文件运行bcheck程序,修复被破坏了的索引。如果bcheck不能修复该文件,须从后援存储介质上重新装入数据。
-106 错误的描述:C—ISAM错误;非互斥访问。
 系统的操作:该语句不被处理。
 更正的方法:当要增加或删除一个索引时,必须以互斥访问打开文件。
-107 错误的描述:C—ISAM错误:记录被锁住。
 系统的操作:该语句不被处理。
 更正的方法:由该调用请求的文件或记录不能被访问,这是因为该文件被其它用户锁住。请稍等一会儿,再提出请求。
 如果确定该表未被使用,那么也许需要将文件tablename.lok的内容清空。(该文件包含在某五时刻被锁住的表中记录的信息。当一个用户访问该表,一般要清除这一文件,有时文件未被清除,结果其它人不能访问该表。)可以将文件/dev/null复以上述文件中,以删除所有表记录的锁
-108 错误的描述:C—ISAM错误;关键字已经存在。
 系统的操作:该语句不被处理。
 更正的方法:试图增加一个已定义过的索引,在增加之前,必须删除已存在索引。
-109 错误的描述:C—ISAM错误:该关键字是文件夹主关键字。
 系统的操作:该语句不被处理。
 更正的方法:试图删除主关键字字段,主关键字不能由isdelindex调用删除。
-110 错误的描述:C—ISAM错误;文件头或文件尾。
 系统的操作:该语句不被处理。
 更正的方法:已经查找到文件头或文件尾。
-111 错误的描述:C—ISAM错误,没有找到记录。
 系统的操作:该语句不被处理。
 更正的方法:没有找到含有指定值的记录。编辑查询条件并重新进行查询。
-112 错误的描述:C—ISAM错误:没有当前记录。
 系统的操作:该语句不被处理。
 更正的方法:试图访问当前列表中的记录,但没有当前列表。必须执行一个查询以生成一个当前列表。
-113 错误的描述:C—ISAM错误:文件已被锁住。
 系统的操作:该语句不被处理。
 更正的方法:要改变的表目前正在被其它用户以互斥使用。要等到该表不再被其它用户占用时,再提出请求。如果确定该表未被使用,那么运行RDSQL UNLOCK TABLE命令该表解锁,也许,系统中含有tablename.lok文件,那么需要将tablename.lok文件的内容清空。(该文件包含在某一时刻被锁住的表中记录的信息。当一个用户访问完该表,一般要清除这一文件,有时文件未被清除,使得其它用户不能访问该表。)可以将文件/dev/null复制到上述文件中,以删除所有表中记录的锁。在清空tablenmae.lok文件之前,应确认没有进程访问已上锁的表。
-114 错误的描述:C—ISAM错误:文件名太长。
 系统的操作:该语句不被处理。
 更正的方法:减少文件长度,命名其小于等于8个字符(如果用DOS),或小于等于10个符(如果用UNIX)。
-116 错误的描述:C—ISAM错误:不能分配内存。
 系统的操作:该语句不被处理。
 更正的方法:可用内存不足。(INFORMIX—SQL运行已超出可用的数据空间地址。)减少复合语句或表格。
-118 错误的描述:不能读事务日志记录。
 系统的操作:包含的错误语句不被处理。
 更正的方法:运行dblog程序确定哪个记录有问题
-119 错误的描述:不能打开日志文件。
 系统的操作:包含的错误语句不被处理。
 更正的方法:确定文件是否存在,所使用的路径名是否正确,以及是否具有使用文件适当权限。
-121 错误的描述;不能写日志文件记录。
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查用户对日志文件的权限。
-122 错误的描述:在没有事务处理的数据库中出现BEGIN WORK。
 系统的操作:包含的错误语句不被处理。
 更正的方法:确定数据库是否具有事务处理。
-123 错误的描述:没有可分配内存。
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查数据库管理转换内存空间
-124 错误的描述:没有找到BEGIN WORK。
 系统的操作:包含的错误语句不被处理。
 更正的方法:在COMMIT WORK 或ROLLBACK WORK之间必须执行BEGIN WORK。
-125 错误的描述;不能用NFS
 系统的操作:包含的错误语句不被处理。
 更正的方法:不能用NFS在网络上访问未能远程文件。
-126 错误的描述:跟踪轨迹已存在。
 系统的操作:包含的错误语句不被处理。
 更正的方法:在一人表,没有删除当前的跟踪轨迹时,不能指定新的跟踪轨迹。
-200 错误的描述:标识符太长。
 系统的操作:包含的错误语句不被处理。
 更正的方法:标识符不能长于18个字符,应选择一个新的具有适当长度的标识符。
-201 错误的描述:发生语法错误
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查RDSQL语句是否误拼,关键字顺序是否有错。或者在查询中含有INFORMIX—SQL的保留字。
-202 错误的描述:在语句中发现非法字符。
 系统的操作:包含的错误语句不被处理。
 更正的方法:删除非法字符(通常为不可打印的控制字符)或重写语句。
-203 错误的描述:在语句中发现非法整数
 系统的操作:包含的错误语句不被处理。
 更正的方法:整数必须在-2,147,483,647到2,147,483,647之间。检查是否带有小数部分或超出值域,以及数字中是否含有字母(例如:12593代替了125b3)。
-204 错误的描述:在语句中出现非法浮点数。
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查是否在数字位置上输入了一个字母(例如:12593代替了125b3)。
-205 错误的描述:不能对视图使用ROWID。
 系统的操作:包含的错误语句不被处理。
 更正的方法;重新构造语句,以使视图中不包含虚拟字段。
-206 错误的描述:指定的表名不在数据库中
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查语句中表名拼写是否有误。
-208 错误的描述:在查询过程中内存分配失败。
 系统的操作:包含的错误语句不被处理。
 更正的方法:减少查询或程序的复杂程度。
-209 错误的描述:不兼容的数据格式。
 系统的操作:包含的错误语句不被处理。
 更正的方法:试图对由INFROMIX—SQL早期版本生成的数据库使用INFORMIX—SQL。在数据库上运行DBUPDATE,该程序将数据库改为适合当前INFORMIX—SQL版本的数据库。
-210错误的描述:路径太长。
 系统的操作:包含的错误语句不被处理。
 更正的方法:INFROMIX—SQL要求的路径名不得70个字符,减少路径名的长度。
-211 错误的描述:不能读系统操作。
 更正的方法:检查C—ISAM错误信息,以找出错误的原因,根据语句的内容和错误信息中所引用的系统目录分为以下几种情况:
  对于CREATE TABLE 语句: systabath目录下能读,表已经生成,但无权置为PUBLIC。
  对于DROP TABLE语句:如果没有读systables目录,那么不做任何操作;
  如果没有读sysviews目录,那么表被删除,但建立在表上的视图不被删除。
  对于DROP VIEW 语句:不读sysviews目录,不做任何操作。
  对于DROP SYNONYM语句:不读syssynonym目录,同义名不被删除。
  对于DROP DATABASE语句:不读systables目录,数据库不被启动。
  对于DATABASE语句:不读systables目录或sysusers目录,不选择数据库。
-212 错误的描述:不能增加索引。
 系统的操作:包含的错误语句不被处理。
 更正的方法:检查C—ISAN错误以寻找问题的原因。
-213 错误的描述:语句被用户中断。
 系统的操作:语句不被处理。
 更正的方法:INFORMIX—SQL已经接收到一个中断信号(可能因用户按了DEL键),重新运行该语句。
-214 错误的描述:不能删除tablename表的文件。
 系统的操作:如果是一个DROP DATABASE语句,那么有些表已从数据库中删除。如果是一个DROP TABLE语句,那么有关表的一些系统录入项已经从数据库中删除。
 更正的方法:INFORMIX不能删除系统目录。检查C—ISAM错误以录找问题的原因。
-215 错误的描述:不能打开表tablename中的文件。
 系统的操作:含有的错误语句不被处理
 更正的方法:检查C—ISAM错误以寻找问题原因。
-216 错误的描述:不能删除文件中的ISAM索引
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C—ISAM错误以寻找问题原因。
-217 错误的描述:查询中的字段column_name不能在任何表中找到。
 系统的操作:含有错误的语句不被处理。
 更正的方法:更正字段名的拼写,检查数据库的字段名,以及间隔字段名的逗号。
-218 错误的描述:同义名name 未找到。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查同义名的拼写,如果需要,查询sysssynonyms系统目录中有关可用的同义名。
-219 错误的描述:通配符不能用于匹配非字符类型。
 系统的操作:含有错误的语句不被处理。
 更正的方法:通配符(*.?)和括号[]中的字符只能用于CHAR数据类型,检查字段的数据类型。
-220 错误的描述:在查询中没有FROM子句。
 系统的操作:含有错误的语句不被处理。
 更正的方法:在查询中必须含有一个FROM子句。检查在FROM关键字前是否出现非法字符($,#,&或者一个CONTROL字符)。
-221 错误的描述:不能为新表table-name 建立临时文件。
 系统的操作:含有错误的语句不被处理。
 更正的方法:C—ISAM不能访问/tmp目录或者盘空间溢出。检查C-ISAM错误信息以找出问题的原因。
-222 错误的描述:不能新表table-name的临时文件中写信息。
 系统的操作:含有错误的语句不被处理。
 更正的方法:盘空间可能溢出。检查C—ISAM错误信息以找出问题的原因。
-223 错误的描述:在FROM子句中出现重复的表名table-name。
 系统的操作:含有错误的语句不被处理。
 更正的方法: 删除语句中多余的表名,或者用别名重命名其中一个表。
-224 错误的描述:不能打开日志文件。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-225 错误的描述:不能为系统目录catalog-name建立文件。
 系统的操作:CREATE DATABASE语句没有完成。有些系统文件已经建立。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-226 错误的描述:不能为系统目录catalog-name建立索引。
 系统的操作:CREATE DATABASE语句没有完成。有些系统文件已经建立。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-227 错误的描述:临时表中不能使用ORDER BY子句。
 系统的操作:含有错误的语句不被处理。
 更正的方法:删除语句中的ORDER BY 子句,在生成临时表后,为要排序的字段增加索引。
-228 错误的描述:不能有负字符。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查语句中是否出现负字符数据类型(例如-a或-p)。
-229 错误的描述:不能打开或建立临时文件。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-230 错误的描述:不能读临时文件。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-231 错误的描述:在表达式中不能执行DISTINCT聚合函数。
 系统的操作:含有错误的语句不被处理。
 更正的方法:将表达式选择到一个临表中,然后对临时表执行聚合。
-232 错误的描述:企图修改SERIAL字段。
 系统的操作:含有错误的语句不被处理。
 更正的方法:SERIAL字段的值由INFORMIX-SQL提供,不能修改。
-233 错误的描述:记录被其它用户锁住而不能读。
 系统的操作:含有错误的语句不被处理。
 更正的方法:其它用户锁住了记录,请稍等一会再重新提出请求。
-234 错误的描述:不能插入一个虚拟字段。
 系统的操作:含有错误的语句不被处理。
 更正的方法:指定的字段是由表达式或聚合函数生成的,重新定义视图。
-235 错误的描述:字符字段长度太大,最大长度是32,767。
 系统的操作:含有错误的语句不被处理。
 更正的方法:重新定义字段长度。
-236 错误的描述:INSERT的字段个数与VALUES的个数不匹配。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查表中或字段列表中的字段个数是否与VALUES子句名SELECT子句中的值的个数匹配。
-237 错误的描述:不能开始工作。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-238 错误的描述:不能做COMMIT WORK。
 系统的操作:含有错误的语句不被处理。
 更正的方法:日志文件可能已被破坏,检查C-ISAM错误信息以找出问题的原因。
-239 错误的描述:不能插入一个新的记录——在UNIQUE INDEX字段出现重复值。
 系统的操作:含有错误的语句不被处理。
 更正的方法:要加入的记录中有一个字段(唯一索引)值已存在。为该字段输入一个新值或者将该字段的唯一索引删除。
-240 错误的描述:不能删除一条记录。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息,以找出问题的原因。
-241 错误的描述:不能做ROLLBACK WORK。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查错误信息以找出问题的原因。
-242 错误的描述:不能打开数据库表table-name。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-243错误的描述:不能在表table-name中定位。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-244 错误的描述:不能执行读操作来查找下一个记录。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-245 错误的描述:不能在文件中用索引的方法定位。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-246 错误的描述:不能按索引执行读操作作以了得下一个记录。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-247 错误的描述:ROLLFORWORD数据失败。
 系统的操作:含有错误的语句不被处理
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-249 错误的描述:虚拟字段没有定义。
 系统的操作:含有错误的语句不被处理。
 更正的方法:当选择生成一个临时表或建立一个视图时,依赖于表达式的每个临时表或视图的字段必须给出一个唯一的名字。检查提供名字是否唯一。
-250 错误的描述:不能从要修改的文件中读记录。
 系统的操作:含有错误的语句不被处理。
 更正的方法:该记录可能被其它用户锁住。检查C-ISAM错误信息以找出问题的原因。
-251 错误的描述:字段数number太大。
 系统的操作:含有错误的语句不被处理。
 更正的方法:在ORDER BY 或CGOUP BY 语句中字段个数超过SELECT 语句中的字段总数。
-252 错误的描述:不能取得表的系统信息。
 系统的操作:有些统计可能已被修改。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-253 错误的描述:标识符太长,最大长度为18。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查表名的拼写或长度。
-255 错误的描述:语句不在一个事务中。
 系统的操作:含有错误的语句不被处理。
 更正的方法:该语句必须在某个事务中执行。先启动一个事物,然后执行这个语句。
-256 错误的描述:事务不可用。
 系统的操作:含有错误的语句不被处理。
 更正的方法:INFORMIX-SQL不能在数据库上执行一个事务操作(BEGIN WORK,ROLLBACK WORK,COMMIT WORK),这是因为数据库的事务日志还未建立,请数据库管理员为数据库建立一个事务日志。
-258 错误的描述;系统错误-sql lexec进程接收到非法的语句ID。
 系统的操作:含有错误的语句不被处理。
 更正的方法:请通知技术支持部门。
-261 错误的描述:不能为表table建立文件。
 系统的操作:含有错误的语句不被处理
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-263 错误的描述:不能为UPDATE锁住记录。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。
-264 错误的描述:不能写临时文件。
 系统的操作:含有错误的语句不被处理。
 更正的方法:检查C-ISAM错误信息以找出问题的原因。

请教高手,informix online 出现错误代码

6. informix 存储过程。看了很多教程。写完还是报错呀

报什么错啊,
 SELECT DISTINCT
                          (UPPER(B.TABLE_ENAME))||'APPLY' INTO V_TABLEENAME 
                           FROM DM_DOMAIN_INS A,DM_TABLE_HEAD B 
                           WHERE A.DM_TABLE_HEAD_ID = B.DM_TABLE_HEADPK_ID AND A.DO_MAIN_CODE = P_DOMAINID;
这个里面的值是唯一的吗?如果不是唯一的 用foreach插入
这么看代码不太容易看出错的,你最好说清报什么错,或者把代码简化,一点一点的排除错误

7. informix 存储过程报错 求大神指点

你的这样存储过程是正确的嘛,我也测试了,没有错误。你用什么工具吗?是不是不是用的dbaccess?

informix 存储过程报错 求大神指点

8. 在informix中,674和111错误是什么意思

674 —— 存储过程或函数找不到
111 —— 查询不到记录