2014-03-26 131 views
3

我正在將項目從Mirosofts Oracle提供程序(System.Data.OracleClient)遷移到Oracle數據提供程序ODP.Net(Oracle.DataAccess.Client),版本11.2.0.4。我現在遇到的問題如下:C#/ ODP.Net:MERGE INTO - 如何獲取受影響的行數?

當我使用函數OracleCommand.ExecuteNonQuery運行MERGE INTO語句時,它總是返回-1,無論它是否成功。 Microsofts Provider總是返回受影響的行數。所以這也是我對ODP.Net的期望。但它只會返回INSERT/DELETE/UPDATE語句的受影響行數...

那麼,如何才能讓這個工作?有任何想法嗎?

乾杯 基督教

+0

聽起來像這可能是Oracle提供商的一個錯誤。你有沒有在相關的Oracle論壇上發佈? –

回答

2

這是ODP.NET的錯誤,很遺憾。

如果您可以在匿名PL/SQL或存儲過程中執行此操作,則可以利用PL/SQL的SQL%ROWCOUNT。

+0

使用匿名塊適用於我。謝謝! – user3270991

+0

超過2.5年後仍然存在竊聽。 > _>它是否至少作爲Oracle關心的任何錯誤輸入? – jpmc26

相關問題