ODP.NET与OracleException.ErrorCode和OracleException.Number之间的区别?

问题描述 投票:0回答:1

要将旧的VB.NET应用程序从已删除的System.Data.OracleClient Microsoft提供程序转换为ODP.NET Oracle.ManagedDataAccess.dll(版本4.122.1.0),我想知道是否存在以下区别:

Oracle.ManagedDataAccess.Client.OracleException.ErrorCode“获取错误的HRESULT”

Oracle.ManagedDataAccess.Client.OracleException.Number“指定Oracle错误号”

旧代码引用了System.OracleClient.OracleException.Code,当错误为“ORA-06550”时,结果为6550(注意:结果不是负面的。-6550)

.net vb.net oracle odp.net
1个回答
1
投票

我通过抛出一个独特的约束“ORA-00001:违反了唯一约束”对此进行了测试

结果是:

ex.ErrorCode = -2147467259

ex.Number = 1

因此,我将用System.OracleClient.OracleException.Code替换对Oracle.ManagedDataAccess.Client.OracleException.Number的引用

© www.soinside.com 2019 - 2024. All rights reserved.