gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:48 25 4
gpt4 key购买 nike

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

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

return (int)rowsCopiedField.GetValue(bulkCopy);

它起作用了(返回了正确的行数)。不幸的是,这不适用于 OracleBulkCopy。如何获取行数?

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

最佳答案

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

引用:Managing Cursors in PL/SQL请查找“%ROWCOUNT 属性:到目前为止有多少行受到影响?”

关于c# - 如何通过 oracleBulkCopy (ODP.NET) 检查插入的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18631936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com