调用ORACLE存储过程

joses 2007-08-01 02:01:12
我在ASP页面上写调用ORACLE的存储过程,出现如下错误:
ADODB.Command 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。请打家看看什么原因。或者有另外的方法也可以。
<%
Set cmdTemp=Server.CreateObject("ADODB.Command")
Set cmdTemp.ActiveConnection=Conn1
cmdTemp.CommandType=4
cmdTemp.CommandText="SEARCH_MODEL"
sn01="M520073"

set tmp1Param=cmdTemp.CreateParameter("SN01",adVarChar2,adParamInput,30,sn01)
cmdTemp.Parameters.Append tmp1Param

set tmp2Param=cmdTemp.CreateParameter("SN02",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp2Param
set tmp3Param=cmdTemp.CreateParameter("SN03",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp3Param
set tmp4Param=cmdTemp.CreateParameter("SN04",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp4Param
set tmp5Param=cmdTemp.CreateParameter("SN05",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp5Param
set tmp6Param=cmdTemp.CreateParameter("SN06",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp6Param
set tmp7Param=cmdTemp.CreateParameter("SN07",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp7Param
set tmp8Param=cmdTemp.CreateParameter("SN08",adVarChar2,adParamOutput,8)
cmdTemp.Parameters.Append tmp8Param
set tmp9Param=cmdTemp.CreateParameter("SN09",adChar,adParamOutput,8)
cmdTemp.Parameters.Append tmp9Param
set tmp10Param=cmdTemp.CreateParameter("SN10",adChar,adParamOutput,8)
cmdTemp.Parameters.Append tmp10Param
cmdTemp.Execute
%>
+++++++++++++++++++++++++++++++>>PROC:
CREATE OR REPLACE procedure search_model
(p_sn in sn_file.sn01%type,
p_sn01 out sn_file.sn01%type,
p_sn02 out sn_file.sn02%type,
p_sn03 out sn_file.sn03%type,
p_sn04 out sn_file.sn04%type,
p_sn05 out sn_file.sn05%type,
p_sn06 out sn_file.sn06%type,
p_sn07 out sn_file.sn07%type,
p_sn08 out sn_file.sn08%type,
p_sn09 out char,
p_sn10 out char )
is
p_sn_record sn_file%rowtype;
begin
select * into p_sn_record from sn_file
where sn01 = p_sn;
if SQL%FOUND then
p_sn01 := p_sn_record.sn01;
p_sn02 := p_sn_record.sn02;
p_sn03 := p_sn_record.sn03;
p_sn04 := p_sn_record.sn04;
p_sn05 := p_sn_record.sn05;
p_sn06 := p_sn_record.sn06;
p_sn07 := p_sn_record.sn07;
p_sn08 := p_sn_record.sn08;
p_sn09 := to_char(p_sn_record.sn09,'YYYY/MM/DD');
p_sn09 := to_char(p_sn_record.sn10,'YYYY/MM/DD');
declare
p_model model_file%rowtype;
begin
select * into p_model from model_file
where model = p_sn_record.sn08;
if SQL%FOUND then
p_sn06 := p_model.showtext;
end if;
exception
when others then
p_model.showtext := ' ';
end;
end if;
exception
when others then
p_sn_record.sn01 := ' ';
end;
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cow8063 2007-08-07
  • 打赏
  • 举报
回复
应该不是过程问题,
看这个也是
ADODB.Recordset 错误 '800a0bb9'
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
/product/prodseries.asp,行213
213 rsprod.open sqlprod,conn,1,1
原因:rss.open sqls,conn,1,1


这个

ADODB.Recordset 错误 '800a0bb9'
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

/product/prodlist.asp,行85
原因:sql=...写成ql=...


检查一下你的连接什么的
joses 2007-08-07
  • 打赏
  • 举报
回复
我用其他方法代替了。谢谢chenguang79
pzhuyy 2007-08-07
  • 打赏
  • 举报
回复
不用command对象:)直接用conn.execute:)
joses 2007-08-01
  • 打赏
  • 举报
回复
谢谢chenguang79,请知道的朋友指导一下。
chenguang79 2007-08-01
  • 打赏
  • 举报
回复
没有用过,路过。帮顶一下

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧