SSMA unable to find specified provider





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















i've installed the full oracle client 12.2.0 and i'm trying to migrate some db from oracle to sql server with SSMA, but when i try to connect to oracle i get the folowing error:



Unable to find specified provider.
Compatible Oracle Data Access Connectivity libraries were not found on the machine.


I've already set the environment's variables HOME_ORACLE and the PATH was set by default during the installation, so i exclude that the problem is there.
I've also searched about the ODAC, and all hints remind me on oracle istant provider, but since i've installed the client with an administrator installation (full) i thought that the installation would covered them too.
Any suggestion?



EDIT: i tried to login with a standard mode and also with the tnsnames mode, but the results is the same










share|improve this question































    0















    i've installed the full oracle client 12.2.0 and i'm trying to migrate some db from oracle to sql server with SSMA, but when i try to connect to oracle i get the folowing error:



    Unable to find specified provider.
    Compatible Oracle Data Access Connectivity libraries were not found on the machine.


    I've already set the environment's variables HOME_ORACLE and the PATH was set by default during the installation, so i exclude that the problem is there.
    I've also searched about the ODAC, and all hints remind me on oracle istant provider, but since i've installed the client with an administrator installation (full) i thought that the installation would covered them too.
    Any suggestion?



    EDIT: i tried to login with a standard mode and also with the tnsnames mode, but the results is the same










    share|improve this question



























      0












      0








      0


      1






      i've installed the full oracle client 12.2.0 and i'm trying to migrate some db from oracle to sql server with SSMA, but when i try to connect to oracle i get the folowing error:



      Unable to find specified provider.
      Compatible Oracle Data Access Connectivity libraries were not found on the machine.


      I've already set the environment's variables HOME_ORACLE and the PATH was set by default during the installation, so i exclude that the problem is there.
      I've also searched about the ODAC, and all hints remind me on oracle istant provider, but since i've installed the client with an administrator installation (full) i thought that the installation would covered them too.
      Any suggestion?



      EDIT: i tried to login with a standard mode and also with the tnsnames mode, but the results is the same










      share|improve this question
















      i've installed the full oracle client 12.2.0 and i'm trying to migrate some db from oracle to sql server with SSMA, but when i try to connect to oracle i get the folowing error:



      Unable to find specified provider.
      Compatible Oracle Data Access Connectivity libraries were not found on the machine.


      I've already set the environment's variables HOME_ORACLE and the PATH was set by default during the installation, so i exclude that the problem is there.
      I've also searched about the ODAC, and all hints remind me on oracle istant provider, but since i've installed the client with an administrator installation (full) i thought that the installation would covered them too.
      Any suggestion?



      EDIT: i tried to login with a standard mode and also with the tnsnames mode, but the results is the same







      oracle odac sql-server-migration-assi






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 3 at 10:28







      Serphentelm

















      asked Jan 3 at 10:18









      SerphentelmSerphentelm

      596




      596
























          1 Answer
          1






          active

          oldest

          votes


















          1














          Looks like there is a bug in the Oracle Universal Installer 12.2, it does not register the ODP.NET components. You can run script below (modify folder names according to your system) in order to configure them properly.



          set Oracle_x64=c:oracleproduct12.1Client_x64odp.net
          set OraProvCfg_x64=%Oracle_x64%bin4OraProvCfg.exe

          set Oracle_x86=c:oracleproduct12.1Client_x86odp.net
          set OraProvCfg_x86=%Oracle_x86%bin4OraProvCfg.exe

          set TNS_ADMIN=C:oraclenetworkadmin



          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll

          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%
          IF EXIST "%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%

          rem Oracle.ManagedDataAccessDTC was used in earlier versions, not used anymore
          "%OraProvCfg_x64%" /action:ungac /providerpath:Oracle.ManagedDataAccessDTC

          IF EXIST "%Oracle_x64%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x64%bin4Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin4Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll


          Update



          According Oracle Doc ID 2272241.1 this seems to be by intention:




          Applies to:

          Oracle Data Provider for .NET - Version 12.1.0.2 and later

          Microsoft Windows x64 (64-bit)

          Microsoft Windows (32-bit)



          Symptoms

          When installing the 12.2 Oracle Data Provider for .Net, the provider
          is not automatically registered in the Global Assembly Cache (GAC).



          Changes

          Moved to the 12.2 version of the Oracle Provider for .Net



          Cause

          This is the expected behavior. Since so many environments are using
          multiple versions of ODP.Net side by side, starting with 12.2, the
          installer does not automatically register the ODP.Net provider in the
          GAC by default.



          Solution

          Manually register the dll into the GAC as outlined in Doc ID
          1169890.1: HOWTO: Example use of OraProvCfg.exe to add/remove Oracle assemblies from the Global Assembly Cache




          However, I would consider this as a bug. It is very difficult to run multiple versions of ODP.Net because the version of Oracle.DataAccess.dll has to match exactly the version of the Oracle Client - even up to revision number.






          share|improve this answer


























          • thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

            – Serphentelm
            Jan 3 at 10:57











          • You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

            – Wernfried Domscheit
            Jan 3 at 11:03











          • thanks a lot my boy. That really solved my problem

            – Serphentelm
            Jan 3 at 11:25











          • @Serphentelm, in this case please accept the answer.

            – Wernfried Domscheit
            Jan 3 at 11:50












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54020284%2fssma-unable-to-find-specified-provider%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Looks like there is a bug in the Oracle Universal Installer 12.2, it does not register the ODP.NET components. You can run script below (modify folder names according to your system) in order to configure them properly.



          set Oracle_x64=c:oracleproduct12.1Client_x64odp.net
          set OraProvCfg_x64=%Oracle_x64%bin4OraProvCfg.exe

          set Oracle_x86=c:oracleproduct12.1Client_x86odp.net
          set OraProvCfg_x86=%Oracle_x86%bin4OraProvCfg.exe

          set TNS_ADMIN=C:oraclenetworkadmin



          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll

          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%
          IF EXIST "%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%

          rem Oracle.ManagedDataAccessDTC was used in earlier versions, not used anymore
          "%OraProvCfg_x64%" /action:ungac /providerpath:Oracle.ManagedDataAccessDTC

          IF EXIST "%Oracle_x64%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x64%bin4Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin4Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll


          Update



          According Oracle Doc ID 2272241.1 this seems to be by intention:




          Applies to:

          Oracle Data Provider for .NET - Version 12.1.0.2 and later

          Microsoft Windows x64 (64-bit)

          Microsoft Windows (32-bit)



          Symptoms

          When installing the 12.2 Oracle Data Provider for .Net, the provider
          is not automatically registered in the Global Assembly Cache (GAC).



          Changes

          Moved to the 12.2 version of the Oracle Provider for .Net



          Cause

          This is the expected behavior. Since so many environments are using
          multiple versions of ODP.Net side by side, starting with 12.2, the
          installer does not automatically register the ODP.Net provider in the
          GAC by default.



          Solution

          Manually register the dll into the GAC as outlined in Doc ID
          1169890.1: HOWTO: Example use of OraProvCfg.exe to add/remove Oracle assemblies from the Global Assembly Cache




          However, I would consider this as a bug. It is very difficult to run multiple versions of ODP.Net because the version of Oracle.DataAccess.dll has to match exactly the version of the Oracle Client - even up to revision number.






          share|improve this answer


























          • thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

            – Serphentelm
            Jan 3 at 10:57











          • You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

            – Wernfried Domscheit
            Jan 3 at 11:03











          • thanks a lot my boy. That really solved my problem

            – Serphentelm
            Jan 3 at 11:25











          • @Serphentelm, in this case please accept the answer.

            – Wernfried Domscheit
            Jan 3 at 11:50
















          1














          Looks like there is a bug in the Oracle Universal Installer 12.2, it does not register the ODP.NET components. You can run script below (modify folder names according to your system) in order to configure them properly.



          set Oracle_x64=c:oracleproduct12.1Client_x64odp.net
          set OraProvCfg_x64=%Oracle_x64%bin4OraProvCfg.exe

          set Oracle_x86=c:oracleproduct12.1Client_x86odp.net
          set OraProvCfg_x86=%Oracle_x86%bin4OraProvCfg.exe

          set TNS_ADMIN=C:oraclenetworkadmin



          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll

          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%
          IF EXIST "%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%

          rem Oracle.ManagedDataAccessDTC was used in earlier versions, not used anymore
          "%OraProvCfg_x64%" /action:ungac /providerpath:Oracle.ManagedDataAccessDTC

          IF EXIST "%Oracle_x64%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x64%bin4Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin4Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll


          Update



          According Oracle Doc ID 2272241.1 this seems to be by intention:




          Applies to:

          Oracle Data Provider for .NET - Version 12.1.0.2 and later

          Microsoft Windows x64 (64-bit)

          Microsoft Windows (32-bit)



          Symptoms

          When installing the 12.2 Oracle Data Provider for .Net, the provider
          is not automatically registered in the Global Assembly Cache (GAC).



          Changes

          Moved to the 12.2 version of the Oracle Provider for .Net



          Cause

          This is the expected behavior. Since so many environments are using
          multiple versions of ODP.Net side by side, starting with 12.2, the
          installer does not automatically register the ODP.Net provider in the
          GAC by default.



          Solution

          Manually register the dll into the GAC as outlined in Doc ID
          1169890.1: HOWTO: Example use of OraProvCfg.exe to add/remove Oracle assemblies from the Global Assembly Cache




          However, I would consider this as a bug. It is very difficult to run multiple versions of ODP.Net because the version of Oracle.DataAccess.dll has to match exactly the version of the Oracle Client - even up to revision number.






          share|improve this answer


























          • thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

            – Serphentelm
            Jan 3 at 10:57











          • You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

            – Wernfried Domscheit
            Jan 3 at 11:03











          • thanks a lot my boy. That really solved my problem

            – Serphentelm
            Jan 3 at 11:25











          • @Serphentelm, in this case please accept the answer.

            – Wernfried Domscheit
            Jan 3 at 11:50














          1












          1








          1







          Looks like there is a bug in the Oracle Universal Installer 12.2, it does not register the ODP.NET components. You can run script below (modify folder names according to your system) in order to configure them properly.



          set Oracle_x64=c:oracleproduct12.1Client_x64odp.net
          set OraProvCfg_x64=%Oracle_x64%bin4OraProvCfg.exe

          set Oracle_x86=c:oracleproduct12.1Client_x86odp.net
          set OraProvCfg_x86=%Oracle_x86%bin4OraProvCfg.exe

          set TNS_ADMIN=C:oraclenetworkadmin



          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll

          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%
          IF EXIST "%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%

          rem Oracle.ManagedDataAccessDTC was used in earlier versions, not used anymore
          "%OraProvCfg_x64%" /action:ungac /providerpath:Oracle.ManagedDataAccessDTC

          IF EXIST "%Oracle_x64%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x64%bin4Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin4Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll


          Update



          According Oracle Doc ID 2272241.1 this seems to be by intention:




          Applies to:

          Oracle Data Provider for .NET - Version 12.1.0.2 and later

          Microsoft Windows x64 (64-bit)

          Microsoft Windows (32-bit)



          Symptoms

          When installing the 12.2 Oracle Data Provider for .Net, the provider
          is not automatically registered in the Global Assembly Cache (GAC).



          Changes

          Moved to the 12.2 version of the Oracle Provider for .Net



          Cause

          This is the expected behavior. Since so many environments are using
          multiple versions of ODP.Net side by side, starting with 12.2, the
          installer does not automatically register the ODP.Net provider in the
          GAC by default.



          Solution

          Manually register the dll into the GAC as outlined in Doc ID
          1169890.1: HOWTO: Example use of OraProvCfg.exe to add/remove Oracle assemblies from the Global Assembly Cache




          However, I would consider this as a bug. It is very difficult to run multiple versions of ODP.Net because the version of Oracle.DataAccess.dll has to match exactly the version of the Oracle Client - even up to revision number.






          share|improve this answer















          Looks like there is a bug in the Oracle Universal Installer 12.2, it does not register the ODP.NET components. You can run script below (modify folder names according to your system) in order to configure them properly.



          set Oracle_x64=c:oracleproduct12.1Client_x64odp.net
          set OraProvCfg_x64=%Oracle_x64%bin4OraProvCfg.exe

          set Oracle_x86=c:oracleproduct12.1Client_x86odp.net
          set OraProvCfg_x86=%Oracle_x86%bin4OraProvCfg.exe

          set TNS_ADMIN=C:oraclenetworkadmin



          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.121.Oracle.ManagedDataAccess.dll
          IF EXIST "%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%managedPublisherPolicy4Policy.4.122.Oracle.ManagedDataAccess.dll

          IF EXIST "%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x64%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x64%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%
          IF EXIST "%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll" "%OraProvCfg_x86%" /action:config /product:odpm /frameworkversion:v4.0.30319 /providerpath:%Oracle_x86%managedcommonOracle.ManagedDataAccess.dll /set:settingsTNS_ADMIN:%TNS_ADMIN%

          rem Oracle.ManagedDataAccessDTC was used in earlier versions, not used anymore
          "%OraProvCfg_x64%" /action:ungac /providerpath:Oracle.ManagedDataAccessDTC

          IF EXIST "%Oracle_x64%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x64%bin4Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin2.xOracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin2.xOracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.102.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.111.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy2.xPolicy.2.122.Oracle.DataAccess.dll

          IF EXIST "%Oracle_x86%bin4Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%bin4Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.112.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.121.Oracle.DataAccess.dll
          IF EXIST "%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll" "%OraProvCfg_x86%" /action:gac /providerpath:%Oracle_x86%PublisherPolicy4Policy.4.122.Oracle.DataAccess.dll


          Update



          According Oracle Doc ID 2272241.1 this seems to be by intention:




          Applies to:

          Oracle Data Provider for .NET - Version 12.1.0.2 and later

          Microsoft Windows x64 (64-bit)

          Microsoft Windows (32-bit)



          Symptoms

          When installing the 12.2 Oracle Data Provider for .Net, the provider
          is not automatically registered in the Global Assembly Cache (GAC).



          Changes

          Moved to the 12.2 version of the Oracle Provider for .Net



          Cause

          This is the expected behavior. Since so many environments are using
          multiple versions of ODP.Net side by side, starting with 12.2, the
          installer does not automatically register the ODP.Net provider in the
          GAC by default.



          Solution

          Manually register the dll into the GAC as outlined in Doc ID
          1169890.1: HOWTO: Example use of OraProvCfg.exe to add/remove Oracle assemblies from the Global Assembly Cache




          However, I would consider this as a bug. It is very difficult to run multiple versions of ODP.Net because the version of Oracle.DataAccess.dll has to match exactly the version of the Oracle Client - even up to revision number.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 5 at 20:59

























          answered Jan 3 at 10:44









          Wernfried DomscheitWernfried Domscheit

          25k43261




          25k43261













          • thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

            – Serphentelm
            Jan 3 at 10:57











          • You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

            – Wernfried Domscheit
            Jan 3 at 11:03











          • thanks a lot my boy. That really solved my problem

            – Serphentelm
            Jan 3 at 11:25











          • @Serphentelm, in this case please accept the answer.

            – Wernfried Domscheit
            Jan 3 at 11:50



















          • thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

            – Serphentelm
            Jan 3 at 10:57











          • You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

            – Wernfried Domscheit
            Jan 3 at 11:03











          • thanks a lot my boy. That really solved my problem

            – Serphentelm
            Jan 3 at 11:25











          • @Serphentelm, in this case please accept the answer.

            – Wernfried Domscheit
            Jan 3 at 11:50

















          thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

          – Serphentelm
          Jan 3 at 10:57





          thank you for the response, and forgive me for the next (maybe obviously) question: do i have to run those scripts in the command line? also i need to execute just the set statement according to my system architecture or do i have to run all the statements?

          – Serphentelm
          Jan 3 at 10:57













          You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

          – Wernfried Domscheit
          Jan 3 at 11:03





          You could run it directly or as BATCH script. It covers all available versions, due to IF EXIST ... expressions it executes only the relevant commands. Of course, if you have only 64-bit version installed then you can skip the 32-bit (i.e. x86) lines.

          – Wernfried Domscheit
          Jan 3 at 11:03













          thanks a lot my boy. That really solved my problem

          – Serphentelm
          Jan 3 at 11:25





          thanks a lot my boy. That really solved my problem

          – Serphentelm
          Jan 3 at 11:25













          @Serphentelm, in this case please accept the answer.

          – Wernfried Domscheit
          Jan 3 at 11:50





          @Serphentelm, in this case please accept the answer.

          – Wernfried Domscheit
          Jan 3 at 11:50




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54020284%2fssma-unable-to-find-specified-provider%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

          ts Property 'filter' does not exist on type '{}'

          mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window