首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建用于NMock的Oracle.DataAccess.Client.OracleException实例

如何创建用于NMock的Oracle.DataAccess.Client.OracleException实例
EN

Stack Overflow用户
提问于 2010-07-02 01:15:42
回答 1查看 372关注 0票数 1

我使用的是Oracle.DataAccess.Client数据提供程序客户端。我在构造OracleException对象的新实例时遇到了问题,但它一直告诉我没有公共构造函数。我看到其他人也有同样的问题,并尝试了他们的解决方案,但他们似乎不起作用。下面是我的测试代码:

代码语言:javascript
复制
object[] args = { 1, "Test Message" };
ConstructorInfo ci = typeof(OracleException).GetConstructor(BindingFlags.NonPublic 
     | BindingFlags.Instance, null, System.Type.GetTypeArray(args), null);
var e = (OracleException)ci.Invoke(args);

在调试测试代码时,我总是得到'ci‘的空值。

Oracle是否已将库更改为不允许这样做?我做错了什么,我需要做什么来实例化一个用于NMock的OracleException对象?

顺便说一下,我使用的是10g版本的客户端库。

谢谢,

查利

EN

回答 1

Stack Overflow用户

发布于 2016-08-31 17:15:20

ODP.NET中的OracleException与微软客户端中的OracleException不同。OracleException有5个构造函数,您可以通过GetConstructors()获取它们的信息。

在获得的构造函数列表中,您将看到没有带参数(int,string)的构造函数。这就是为什么你在ci中得到NULL的原因。

如果你给出了正确的参数列表,你将拥有正确的参数,并且能够通过调用( ConstructorInfo )来调用构造函数;

然而,OracleException构造函数并不是被设计成这样调用的--并不是所有的字段都会有正确的信息。

2All:我需要以下OracleException: ORA-00001唯一约束(string.string)在通信通道上违反ORA-03113文件结束ORA-03135:连接丢失联系ORA-12170: TNS:连接超时发生测试。如何创建它们?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3160103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档