将数据表从C#传递到Oracle存储过程

时间:2011-04-05 05:47:22

标签: c# oracle11g

如何将数据表或数据集从C#传递到Oracle

中的存储过程

3 个答案:

答案 0 :(得分:1)

你不能直接。但是有几种方法:

  • 将数据表/数据集转换为单个XML字符串或blob,并将其用作存储过程的参数。

  • 使用临时表存储数据表/数据集内容,以便存储过程可以处理它们。

答案 1 :(得分:1)

如果要将数据集或数据表插入ORACLE,则可以创建ORACLE数据适配器。然后创建一个用于插入的命令对象,并将CommandType设置为StoredProcedure。然后,您可以使用数据适配器的“更新”命令,并将数据集或数据表作为参数。

这样的事情:

OracleCommand cmdOra = new OracleCommand(StoredProcedureName, Connection);
cmdOra.CommandType = CommandType.StoredProcedure;
OracleDataAdapter da = new OracleDataAdapter();

da.InsertCommand = cmdOra;
da.Update(dsDataSet);

答案 2 :(得分:0)

不确定你要完全做什么,尽管在Oracle中使用Ref Cusors可能对你可能做的任何事情有所帮助。 PL/SQL REF CURSOR and OracleRefCursor

将大量数据传递给Oracle的另一种方法是通过数组绑定:Put Your Arrays in a Bind