C# 使用C的Oracle批量插入?
我正在尝试在Oracle数据库中插入值。我有一个存储过程,现在一次插入一行。但在这里阅读有关批量插入的更多信息http://stackoverflow.com/questions/343299/bulk-insert-to-oracle-using-net,似乎最好将参数值作为数组传递。我有一个类似这样的通用列表,即员工列表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;} }
class employee()
{
public int ID {get; set;}
public string Name {get; set;}
}
如何调用我的存储过程我知道我需要对其中的in参数进行更改,以获取参数数组并将每个参数值作为数组传递,以便执行批量插入尝试按照示例链接进行操作?即使传递数组,一次也只能执行一个DML。 如果您希望大容量加载以提高速度,请写出一个文件,并在表中使用SQL Loader bulk insert。
这是为数千行获得超快性能的唯一方法。是否有理由需要使用存储过程,而不是ODP.NET的数组绑定功能?您链接到的文章首先描述了这一点,它比将数组传递给存储过程要简单得多。它有两个逻辑,这取决于它插入/更新的表,这就是为什么。它也被其他应用程序使用过。或者,像Odrade推荐的那样,也可以使用数组绑定来获得类似的性能。如果他的存储过程在插入之前需要逻辑,则这两种解决方案都不起作用。