调用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;