Oracle ODAC / XCopy(非客户端)-使用OracleConnection.Open()会生成NullReferenceException

时间:2018-08-23 08:21:45

标签: asp.net-mvc wpf oracle odac oracle-client

早上好

我有2个.NET应用程序-一个在WPF中,一个在MVC中。我想从两者都连接到Oracle,而无需使用Oracle Client安装,因此我从Oracle下载了64位ODAC XCopy zip,并按照此处找到的一些说明进行操作-https://o7planning.org/en/10509/connecting-to-oracle-database-using-csharp-without-oracle-client

在WPF方面,它的工作原理像一个超级按钮,我可以连接到Oracle并对其进行读写。不幸的是,当我在MVC应用程序中实现时遵循相同的说明时,尝试打开()OracleConnection对象时会收到“ NullReferenceException”。在WPF和MVC中,OracleConnection都是使用相同的连接字符串创建的。

screenshot of VS error

我很困惑,因为在这两种情况下都添加了完全相同的dll,但是异常没有为我提供足够的信息来进一步调试。 InnerException中没有任何内容,Stacktrace只是告诉我该错误发生在Oracle.DataAccess.dll中,仅此而已。

我遇到了通过在Oracle.DataAccess.dll上的.config文件中添加一个条目来运行跟踪的建议,该条目会产生一些输出,尽管输出对我来说不是很清楚(见下文)

WORKING WPF的跟踪摘要 wpf trace of Oracle.DataAccess.dll

来自NON_WORKING MVC的跟踪摘要 mvc trace of Oracle.DataAccess.dll

仔细查看,您会发现mvc应用程序在运行OpsConAddRef()时发生了偏离–它收到一条“如果条件错误:...失败”消息。 WPF应用程序继续,您将看到正在使用连接字符串。

除了在输出中应有的位置之外,我没有看到任何其他文件正在加载dll的迹象,因此我正在努力寻找下一个位置。

昨天我花了整整一天时间在这里和其他地方寻找类似的问题,但是我发现的所有内容都不是我想要的。

感谢您的帮助

保罗

0 个答案:

没有答案