免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4292 | 回复: 5
打印 上一主题 下一主题

如何解决这个804错误? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-04 13:38 |只看该作者 |倒序浏览
在对一个表中得数据进行删除的时候,sqlca.sqlcode=-804,下面一条语句向这个表insert的时候,也是同样的804错误,当我把表中的数据清空,在delete的时候,出现的错误是100,但是经过反复几次的测试,又出现了804错误,下面的insert语句一直出现804错误。请问各位大侠这个问题怎么解决?
环境:TurboLinux DTS7.0  db28.06

论坛徽章:
0
2 [报告]
发表于 2003-03-04 15:01 |只看该作者

如何解决这个804错误?

804的错误原因好多:

SQL0804N当前请求的应用程序输入参数无效。原因码“<原因码>;”。若
          SQLDA 中的主机变量或 SQLVAR 无效,则:主机变量/SQLVAR
          号 = "<var-number>;",SQLTYPE = "<sqltype>;",SQLLEN =
          "<sqllen>;",主机变量/SQLVAR 类型 =
          "<input_or_output>;"。

解释:  在处理当前请求时出错。

o   若应用程序员已修改预编译程序的输出,
    或以另一种方式重写了调用参数列表,
    则预编译程序创建的调用参数列表可能不正确。

o   SQL 语句中的 SQLDA 或主机变量无效。

o   正在进行的请求不受支持或超出上下文范围。



对原因码的解释如下:


100 正在进行的请求不受支持或超出上下文范围。

101 SQLDA.SQLN 小于 SQLDA.SQLD

102 SQLVAR.SQLTYPE 无效。

联合体系统用户:您指定的数据类型不受联合体服务器或您想访问的数据源
的支持。

103 在 SQLVAR.SQLLEN 或 SQLVAR2.SQLLONGLEN 中指定的长度对于
SQLVAR.SQLTYPE 中给定的 SQL 类型不正确。

104 应为 SQLVAR 个数的两倍,但是 SQLDA.SQLDAID 的 SQLDOUBLED
字段未设置为 '2'。
因为存在大对象类型或结构化类型,所以这可能是必需的。

105 双字节字符“大对象”具有由 SQLVAR2.SQLDATALEN
指针指示的奇数值, 它总是以字节为单位,即使对于 DBCLOB 也是如此。

106 SQLDATA 指针无效,或者它指向的存储器空间不够。

107 SQLIND 无效,或者它指向的存储器空间不够。

108 SQLDATALEN 无效,或者它指向的存储器空间不够。

109 当前 SQL 语句需要特定数目的输入主机变量/SQLVAR。

110 LOB 定位器与兼容类型的 LOB 不相关。

111 LOB 由 SQLVAR 的 SQLTYPE 指示,但第二个 SQLVAR 是空的。

112 SQLDATATYPE NAME
字段无效。它不符合在数据库中标识现存用户定义类型的格式。
标识现存用户定义类型的格式如下:8 个字节,后跟一个句点,再后跟 18
个字节。

113 SQLFLAG4 字段无效。若指定了结构化类型, 则该值必须为
X'12'。若指定了引用类型, 则该值必须为 X'01'。否则,该值必须为
X'00'。

在带有主机变量的 SQL
语句中,使用主机变量号从该语句或子语句(对于复合
SQL)的起始位置开始计数,以找出无效的主机变量。对于使用 SQLDA
的语句,SQLVAR 号用于查找无效的 SQLVAR。对于输入
SQLDA,只对输入主机变量或 SQLVAR 进行计数;对于输出
SQLDA,与此类似。注意,此号码从 1 开始。

不能处理该语句。

用户响应:  检查应用程序中是否有记录的任何错误。注意,程序员不要试图
修改预编译程序输出。

联合体系统用户:若您接收到原因码
102,则指定一个受支持的数据类型,并重新提交该程序。

sqlcode:  -804

sqlstate:  07002

论坛徽章:
0
3 [报告]
发表于 2003-03-04 19:00 |只看该作者

如何解决这个804错误?

这个我知道,让人不理解的是同样的程序,同样的数据,在Red Hat 7.0上运行时候没有错误啊!

论坛徽章:
0
4 [报告]
发表于 2003-03-04 19:02 |只看该作者

如何解决这个804错误?

我想知道这会不会与数据库参数配置有什么关系啊?

论坛徽章:
0
5 [报告]
发表于 2003-03-04 20:07 |只看该作者

如何解决这个804错误?

排除以上情况可能出现的错误了?用什么写的应用程序啊?

论坛徽章:
0
6 [报告]
发表于 2003-03-04 20:58 |只看该作者

如何解决这个804错误?

用c写的,我觉的程序应该没有错误,如果有错误的话,在Red Hat 上肯定就过不去了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP