我有一个WPF应用程序,由ClickOnce部署,这个应用程序是一个4.8.Net框架的应用程序,它使用的是Oracle.ManagedDataAccess 21.10.0 Nugget包。在几台电脑上都能完美工作,但在一台电脑上就不行了。该计算机也有Oracle 11g客户端和ODAC 12
当应用程序试图打开一个连接,这个错误显示
An exception occurred in the initializer of type 'OracleInternal.Common.ProviderConfig'.
字符串
在我的app.config里有
<oracle.manageddataaccess.client>
<version number="*">
<dataSources>
<dataSource alias="XXX" descriptor="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = prdbd-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = srv)))" />
</dataSources>
</version>
</oracle.manageddataaccess.client>
型
线向下...
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
型
我读到这个问题可能是在这个app.config的引用和machine.config中包含的内容,但我真的不知道在那里搜索什么,有什么想法吗?去哪里找?
提前致谢
1条答案
按热度按时间mwngjboj1#
我在将控制台应用程序升级到4.8.NETFramework时碰巧遇到了类似的问题。
Oracle.ManagedDataAccess仍在版本12上,该版本有漏洞警告。更新到最新版本后,我的app.config发生了很大的变化。
通过比较生产版的app.config和开发版的app.config,并做了适当的修改,我让一切重新运行起来。
旧配置:
字符串
新配置:
型
希望这对你有帮助。
谨致问候,
MPO