关于asp调用oracle存储过程返回值,显示乱码的问题。系统2003server,oracle817,代码如下:
关于asp调用oracle存储过程返回值,显示乱码的问题。系统2003server,oracle817,代码如下:
set cm = Server.CreateObject("ADODB.Command")
Set cm.ActiveConnection=conn 'cn是数据库连接
cm.CommandText = "r_pro"
cm.CommandType = 4
set para = cm.Parameters
'in
p_ids="A"
p_locations="conten4444t"
para.Append cm.CreateParameter("r_type",202,1,1,p_ids)
para.Append cm.CreateParameter("recp_id",202,2,10)
para.Append cm.CreateParameter("recp_name",202,1,20,Request("Recp_name"))
para.Append cm.CreateParameter("location",202,1,40,Request("Location"))
para.Append cm.CreateParameter("recp_print",3,1,1,0)
para.Append cm.CreateParameter("recp_worker",202,1,20,rs("Oper_name"))
para.Append cm.CreateParameter("memo",201,1,40,"dd")
'out
cm.execute
dim myvar
myvar=cm("recp_id")
-------------
存储过程代码:
create or replace procedure r_pro(
r_type varchar2,
recp_id in out varchar2,
recp_name varchar2,
location varchar2,
recp_print number,
recp_worker varchar2,
memo varchar2)
as
newid number;
begin
savepoint b;
if f_lock(r_type,newid) then
dbms_output.put_line('success');
recp_id:=r_type||to_char(sysdate,'yymmdd')||to_char(newid,'fm000');
insert into recpt_tbl values(recp_id,recp_name,location,recp_print,recp_worker,sysdate,memo);
if sqlcode<>0 then
rollback to b;
else
commit;
end if;
else
dbms_output.put_line('faise');
rollback to b;
end if;
dbms_output.put_line('recp'||recp_id);
end r_pro;
---------
myvar=cm("recp_id")
这句话,我repsonse write 也是乱码,网页上显示ぁ????,怎么是什么原因造成的?存储过程执行后,虽然网页是乱码,但是我进数据库查看,recp_id插入的数据却不是乱码的。我以前在win2000 server一直都没有问题,现在移到win2003 server就出现这个问题。