如何将数据表从vb传递到Oracle存储过程

时间:2015-07-17 11:19:28

标签: vb.net oracle stored-procedures plsql datatable

我需要将几行数据传递给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。

0 个答案:

没有答案