...
Completely uninstall and reinstall oracle 12c. The installer we used was from the zip folder in \\TC4S0A\GROUPS\AARA\AARAD\Software Library\Developer Tools\Oracle, followed a standard installation, except for not installing any VS dev tools, and installed it system-wide.
Unconfigure Oracle’s GAC with the attached bat file (This is now in the \\Tc4s0a\groups\AARA\AARAD\NORMS folder)
Installed the latest ODT from Oracle’s website
Code Block language xml <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"/> <oracle.manageddataaccess.client> <version number="*"> <settings> <setting name="NAMES.DIRECTORY_PATH" value="TNSNAMES"/> </settings><dataSources> <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/> </dataSources> </version> </oracle.manageddataaccess.client>
Verify the machine.config files in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config, and C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config.
I had
Version=4.122.18.3
in theWeb.config
andVersion=4.122.21.1
in themachine.config
.I updated the version, replaced
Version=4.122.18.3
ofWeb.config
toVersion=4.122.21.1
andoracle.manageddataaccess.client with 4.122.21.1
in both themachine.config
, and the issue was resolved.
Note: If you have an error to debug the app, verify the configurations below
Code Block |
---|
1) Provider
<configuration>
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>
</configuration>
2) Configuration Section Handler
The following entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client>
section for ODP.NET, Managed Driver-specific configuration:
<configuration>
<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
</configuration>
3) DbProviderFactories
The following entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Also, any
DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored with the following
entry:
<configuration>
<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>
</configuration>
4) Dependent Assembly
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<publisherPolicy apply="no" />
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
<bindingRedirect oldVersion="4.122.0.0 - 4.65535.65535.65535" newVersion="4.122.21.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
5) Data Sources
<configuration>
<oracle.manageddataaccess.client>
<version number="*">
<dataSources>
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
</dataSources>
</version>
</oracle.manageddataaccess.client>
</configuration> |
Reference: https://stackoverflow.com/questions/33312848/oracle-odp-net-error
...