3

我正在将一个项目从 Mirosofts Oracle Provider (System.Data.OracleClient) 迁移到 Oracles Data Provider ODP.Net (Oracle.DataAccess.Client),版本 11.2.0.4。我现在遇到的问题如下:

当我使用函数 OracleCommand.ExecuteNonQuery 运行 MERGE INTO 语句时,无论它是否成功,它总是返回 -1。Microsofts Provider 总是返回受影响的行数。所以这也是我对 ODP.Net 的期望。但它只返回 INSERT/DELETE/UPDATE 语句的受影响行数......

那么我怎样才能让它工作呢?有任何想法吗?

干杯基督徒

4

1 回答 1

2

不幸的是,这是 ODP.NET 中的一个错误。

如果您能够在匿名 PL/SQL 或存储过程中执行此操作,则可以利用 PL/SQL 的 SQL%ROWCOUNT。

于 2014-03-27T17:24:25.170 回答