使用错误代码捕获ODP.NET异常

时间:2014-11-04 14:55:10

标签: vb.net oracle

我正在处理使用SqlBulkCopyOracleBulkCopy的应用程序。有时当我尝试插入一些记录并且SQL Server上已经存在记录时,它会引发一个异常,我会在下面看到它,并且我会以某种方式处理它。

 Catch ex As SqlException When ex.ErrorCode = -2146232060 

但是,我不知道如何在OracleBulkCopy上捕获错误代码附带的异常:ORA-26026

这是我正在尝试使用的结构:

        Try
            'code
        Catch ex As SqlException When ex.ErrorCode = -2146232060
            'Handle SQL
        Catch ex As OracleException When ex.Number = 26026
            'Handle Oracle
        Catch ex As Exception
            'Handle General errors
        End Try

有办法吗?

2 个答案:

答案 0 :(得分:2)

OracleException(Microsoft实现)具有Code属性。您可以使用它来匹配26026

if (ex.Code == 26026)
{ ... }

OracleException的Oracle实现具有Number属性:

if (ex.Number == 26026)
{ ... }

答案 1 :(得分:-1)

好的,调试后,ORA-26026特定错误的.net代码是-2147467259

所以我这样抓住了:

Catch ex As OracleException When ex.ErrorCode = -2147467259
相关问题