16,555
社区成员
发帖
与我相关
我的任务
分享
DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
DbConnection conn = factory.CreateConnection();
conn.ConnectionString = "User Id=scott;Password=tiger;Data Source=ora";
conn.Open();
DbCommand cmd = conn.CreateCommand();
Oracle.DataAccess.Client.OracleCommandBuilder cmdbuilder = (Oracle.DataAccess.Client.OracleCommandBuilder)factory.CreateCommandBuilder();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "mytest.bulk_insert";
// 尝试让 oracle 分析参数的个数和类型
// 这里激发异常 "位于参数位置 1 的 PL/SQL 数据类型不受支持"
Oracle.DataAccess.Client.OracleCommandBuilder.DeriveParameters((Oracle.DataAccess.Client.OracleCommand)cmd);
create or replace package mytest as
type rec1_type is record(place varchar2(80),sekinin number(2));
type tbl1_type is table of rec1_type index by binary_integer;
procedure bulk_insert(ret out tbl1_type);
end mytest;
create or replace package body mytest as
procedure bulk_insert(ret out tbl1_type)
is
begin
ret(1).place := 'abc';
ret(1).sekinin := 0;
end;
end mytest;