我需要将几行数据传递给oracle存储过程,并在过程中每行执行多个操作 我似乎找不到适合发送数据表的解决方案。
我在oracle中创建了自定义表类型,并在程序中使用了这种类型的参数作为输入参数 在vb结束时,我直接添加了一个数据表作为参数 但是这会产生错误 - 无法将数据表转换为对象。
自定义类型
create or replace TYPE FORECAST_TYP AS OBJECT
(
CUSTOMER VARCHAR2(10 BYTE),
SALESLEVEL VARCHAR2(3 BYTE),
SERV_LOC VARCHAR2(10 BYTE),
PROC_LOC VARCHAR2(10 BYTE),
PROCESSED VARCHAR2(15 BYTE),
PRODLINE VARCHAR2(10 BYTE),
ITEMGROUP VARCHAR2(10 BYTE),
QTY NUMBER,
MNTH1 DATE,
CUSTOMER_DESC VARCHAR2(100 BYTE),
SERV_LOC_DESC VARCHAR2(100 BYTE),
PROC_LOC_DESC VARCHAR2(100 BYTE),
ITEMGROUP_DESC VARCHAR2(100 BYTE),
PI_DESC VARCHAR2(100 BYTE),
VERTICAL VARCHAR2(50 BYTE),
STEEL_TYPE VARCHAR2(100 BYTE),
PI VARCHAR2(10 BYTE)
) NOT FINAL;`
create or replace TYPE FORECAST_TAB_TYP AS TABLE OF FORECAST_TYP;
程序声明是这样的:
create or replace PROCEDURE SCDMB000 (
ps_fore_table forecast_tab_typ,
ps_err_code OUT VARCHAR2,
ps_err_var OUT VARCHAR2
)
注意:我没有连接到Oracle DB的问题 我正在使用visual studio 2013附带的默认数据提供程序.System.data.oracleclient命名空间和dot net 3.5。