一、具有固定名称"Oracle.ManagedDataAccess.Client的ADO.NET提供程序未在计算机或应用程序配置文件中注册或无法加载,同 具有固定名称Oracle.DataAccess.Client的ADO.NET提供程序未在计算机或应用程序配置文件中注册或无法加载。
参考文章 主:https://www.cnblogs.com/wendj/archive/2017/11/27/7905735.html
辅:https://www.cnblogs.com/billboy/articles/10664956.html
解决办法:配置系统环境变量,找到路径下文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
先备份machine.config一份,以免出现意外状况。
将如下配置加入<configSections>节点
<configSections>
<section name="oracle.unmanageddataaccess.client" type="OracleInternal.Common.CustomSectionHandler, Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
在这个配置中对ManagedDataAccess和DataAccess都进行了配置,注意!!!对于相应配置的版本号是有可能不同的,要和自己项目中使用的ManagedDataAccess和DataAccess版本一致(如我的ManagedDataAccess的版本是:version=4.122.1.0而你们可能是:version=4.121.1.0),不然会导致以下错误
二、OracleInternal.Common.ProviderConfig的类型初始值设定异常。
参考文章 https://blog.darkthread.net/blog/convered-odpnet-version-mismatch-message/
即版本不一致错误。