如何通过oracleBulkCopy(ODP.NET)检查插入的行数

时间:2013-09-05 08:56:51

标签: c# oracle odp.net

我使用批量复制将DataTable上传到Oracle数据库。我想知道在db中插入了多少行。最近我对SQL Server做了同样的事情,我发现的是:

FieldInfo rowsCopiedField = typeof(SqlBulkCopy).GetField("_rowsCopied", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);

return (int)rowsCopiedField.GetValue(bulkCopy);

它工作(返回正确的行数)。 不幸的是,这对OracleBulkCopy不起作用。如何获得行数?

编辑:使用OracleRowsCopied事件是没有意义的,因为它会在NotifyAfter个行数之后触发事件,这些行将被处理,而不会添加到db。 (根据Oracle文档。)

1 个答案:

答案 0 :(得分:0)

使用Oracle,您可以使用%ROWCOUNT属性获取前一语​​句影响的行数。

参考:Managing Cursors in PL/SQL请查找“%ROWCOUNT属性:到目前为止影响了多少行?”