0
我想通過嵌套表(OracleTable in dotconnection?)作爲參數來調用存儲過程的包。在包中定義了類型 test002_table。存儲過程的代碼如下:如何使用dotconnect for oracle以嵌套表的形式調用存儲過程作爲參數
create or replace package testPro is
type test002_table is table of test002%rowtype;
procedure testInsert(tbs test002_table);
end testPro;
create or replace package body testPro is
procedure testInsert(tbs test002_table) is
i int;
begin
delete from test002;
for i in 1..tbs.count loop
insert into test002 values tbs(i);
end loop;
end;
end;
用PL \ SQL測試運行成功地:
declare
tab testpro.test002_table := testpro.test002_table();
item test002%rowtype;
i integer;
begin
tab.extend();
item.id:=1;
item.name:='a';
item.lev:=5;
item.age:=55;
item.address:='das';
tab(tab.count) := item;
testPro.testInsert(tab);
commit;
end;
但我不知道如何使用dotConnect調用這個程序。我試過以下方法,但沒有成功:
OracleCommand cmd = new OracleCommand();
cmd.Connection = con; //OracleConnection con
cmd.CommandType = System.Data.CommandType.StoredProcedure;
OracleType tp = OracleType.GetObjectType("testPro.test002_table", con);
OracleTable table = new OracleTable(tp);
Dotconnect找不到該類型。 我如何獲得OracleType所需的對象?或者可以用其他方式解決這個問題?非常感謝。