Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据表从C#传递到Oracle存储过程_C#_Oracle11g - Fatal编程技术网

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

将数据表从C#传递到Oracle存储过程,c#,oracle11g,C#,Oracle11g,如何将数据表或数据集从C#传递到Oracle中的存储过程。然而,有几种方法: 将datatable/dataset转换为单个XML字符串或blob,并将其用作存储过程的参数 使用临时表存储datatable/dataset内容,以便存储过程可以处理它们 如果要将数据集或数据表插入ORACLE,可以创建ORACLE数据适配器。然后创建一个用于插入的命令对象,并将CommandType设置为StoredProcedure。然后可以使用数据适配器的Update命令,并将dataset或datatab

如何将数据表或数据集从C#传递到Oracle中的存储过程。然而,有几种方法:

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

  • 使用临时表存储datatable/dataset内容,以便存储过程可以处理它们


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

大概是这样的:

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

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

虽然在Oracle中使用Ref-cusor可能对您正在做的任何事情都有帮助,但不确定您要完全做什么


完成向Oracle传递大量数据的另一种方法是通过数组绑定:

我认为我们无法将DataTable或DataSet传递给Oracle。嗨,Larry,您的答案有任何参考资料吗?我还希望向sp发送xml字符串并对其进行分页…如果有,请感谢我的存储过程,包含Xml字符串的参数类型为CLOB。在ADO.NET方面,我使用序列化,并使用字符串调用存储过程。“分页”是什么意思?