Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# 使用C的Oracle批量插入?_C#_Oracle_Insert_Bulkinsert - Fatal编程技术网

C# 使用C的Oracle批量插入?

C# 使用C的Oracle批量插入?,c#,oracle,insert,bulkinsert,C#,Oracle,Insert,Bulkinsert,我正在尝试在Oracle数据库中插入值。我有一个存储过程,现在一次插入一行。但在这里阅读有关批量插入的更多信息http://stackoverflow.com/questions/343299/bulk-insert-to-oracle-using-net,似乎最好将参数值作为数组传递。我有一个类似这样的通用列表,即员工列表 class employee() { public int ID {get; set;} public string Name {get; set;} }

我正在尝试在Oracle数据库中插入值。我有一个存储过程,现在一次插入一行。但在这里阅读有关批量插入的更多信息http://stackoverflow.com/questions/343299/bulk-insert-to-oracle-using-net,似乎最好将参数值作为数组传递。我有一个类似这样的通用列表,即员工列表

class employee()
{ 
  public int ID {get; set;} 
   public string Name {get; set;}
}

如何调用我的存储过程我知道我需要对其中的in参数进行更改,以获取参数数组并将每个参数值作为数组传递,以便执行批量插入尝试按照示例链接进行操作?

即使传递数组,一次也只能执行一个DML。 如果您希望大容量加载以提高速度,请写出一个文件,并在表中使用SQL Loader bulk insert。
这是为数千行获得超快性能的唯一方法。

是否有理由需要使用存储过程,而不是ODP.NET的数组绑定功能?您链接到的文章首先描述了这一点,它比将数组传递给存储过程要简单得多。它有两个逻辑,这取决于它插入/更新的表,这就是为什么。它也被其他应用程序使用过。或者,像Odrade推荐的那样,也可以使用数组绑定来获得类似的性能。如果他的存储过程在插入之前需要逻辑,则这两种解决方案都不起作用。