【问题标题】:How to check number of inserted rows by oracleBulkCopy (ODP.NET)如何通过 oracleBulkCopy (ODP.NET) 检查插入的行数
【发布时间】: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 文档。)

【问题讨论】:

    标签: c# oracle odp.net


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多