111,092
社区成员




create or replace package Pgl_interface is
type varchar2type is table of varchar2(255) INDEX BY BINARY_INTEGER;
procedure wx_interface (vUser in varchar2,
vOut out varchar2type,
nErr out number,
sErr out varchar2);
end pgl_interface;
create or replace package body Pgl_interface
is
procedure wx_interface (vUser in varchar2,
vOut out varchar2type,
nErr out number,
sErr out varchar2)
is
vStp_port_no varchar2(60);
begin
vStp_port_no:=vUser;
nErr:=0;
sErr:='';
for i in 1..50 loop
vOut(i):='0';
end loop;
end wx_interface ;
end Pgl_interface;
OracleConnection conn = new OracleConnection(strconn);
string[] strOut = new string[255];
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Pgl_interface.wx_interface";
OracleParameter p1 = new OracleParameter("vUser", OracleDbType.Varchar2);
p1.Value = strtest;
p1.Direction = System.Data.ParameterDirection.Input;
OracleParameter p2 = new OracleParameter("vOut", OracleDbType.Varchar2);
p2.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
p2.ArrayBindSize = new int[255];
p2.Size = 255;
p2.Value = strOut;
p2.Direction = System.Data.ParameterDirection.Output;
OracleParameter p4 = new OracleParameter("nErr", OracleDbType.Int32);
p4.Value = code;
p4.Direction = ParameterDirection.Output;
OracleParameter p5 = new OracleParameter("sErr", OracleDbType.Varchar2);
p5.Value = desc;
p5.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.ExecuteNonQuery();