Search code examples
asp.netoracleduplicatesodp.net

oracle.manageddataaccess.client duplicate entry for ASP:NET


Hy,

I am working on an asp.net web application. I have downloaded the latest version of ODP.NET to perform DB-activities. Now i am facing the following error: There is a duplicate 'oracle.manageddataaccess.client' section defined

I already tried the workaround solution to delete the section in the machine.config file, without success (https://www.oracle.com/technetwork/topics/dotnet/downloads/odpnet-managed-nuget-121021-2405792.txt).

Does anybody know any other possiblity to solve this issue?

Kind regards,


Solution

  • Try this script to remove all entries:

    set Oracle_x64=c:\oracle\product\12.1\Client_x64\odp.net
    set Oracle_x86=c:\oracle\product\12.1\Client_x86\odp.net
    
    set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg
    set OraProvCfg_x86=%Oracle_x86%\bin\4\OraProvCfg
    
    
    "OraProvCfg_x64" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.1.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x64" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.2.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x64" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.1.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x64" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.18.3 /unset:settings\TNS_ADMIN
    "OraProvCfg_x64" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.1.0
    "OraProvCfg_x64" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.2.0
    "OraProvCfg_x64" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.1.0
    "OraProvCfg_x64" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.18.3
    
    "OraProvCfg_x86" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.1.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x86" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.2.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x86" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.1.0 /unset:settings\TNS_ADMIN
    "OraProvCfg_x86" /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.18.3 /unset:settings\TNS_ADMIN
    "OraProvCfg_x86" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.1.0
    "OraProvCfg_x86" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.121.2.0
    "OraProvCfg_x86" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.1.0
    "OraProvCfg_x86" /action:unconfig /product:odpm /frameworkversion:v4.0.30319 /productversion:4.122.18.3
    

    Afterwards you can use the same tool to configure it properly:

    set TNS_ADMIN=C:\oracle\network\admin
    
    IF EXIST "%Oracle_x64%\managed\common\Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%\managed\common\Oracle.ManagedDataAccess.dll /set:settings\TNS_ADMIN:%TNS_ADMIN%
    IF EXIST "%Oracle_x86%\managed\common\Oracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%\managed\common\Oracle.ManagedDataAccess.dll /set:settings\TNS_ADMIN:%TNS_ADMIN%
    

    Update

    Actually you can remove all entries shorter with

    set Oracle_x64=c:\oracle\product\12.1\Client_x64\odp.net
    set Oracle_x86=c:\oracle\product\12.1\Client_x86\odp.net
    
    set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg
    set OraProvCfg_x86=%Oracle_x86%\bin\4\OraProvCfg
    
    "OraProvCfg_x86" /action:unconfig /product:odpm /frameworkversion:v4.0.30319
    "OraProvCfg_x64" /action:unconfig /product:odpm /frameworkversion:v4.0.30319