【发布时间】:2013-09-05 08:56:51
【问题描述】:
我通过批量复制将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 处理的行数之后触发事件,未添加到数据库中。 (根据 Oracle 文档。)
【问题讨论】: