Forum Discussion

NareshDevalla's avatar
NareshDevalla
Copper Contributor
Jul 26, 2021

BizTalk 2020 WCF-OracleDB adapter Error

I am trying to create a WCF-Oracle DB send port and I get this error. I have Installed both ODP.NETUnmanaged19.10Xcopy32bit and ODP.NETUnmanaged19.10Xcopyx64 and used the command OraProvCfg.exe /action:gac /providerpath:"Oracle.DataAccess.dll" to Gac the Dlls. Also I have changed the machine config on both Framework and Framework64 to point to this version.

<runtime>
<assemblyBinding xmlns="urn: schemas-microsoft-com: asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" />
<bindingRedirect oldVersion="4.122.18.3" newVersion="4.122.19.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>

 

I am running out of ideas here. Any body encountered the same issue?

 

 

6 Replies

  • If you changed BTSNTSvc.exe.config / BTSNTSvc64.exe.config files, you may also need to change MMC.exe.config (BizTalk admin console) for BizTalk admin console. You may also need to change the Oracle.DataAccess.Client to point to newer version (see below).

    -----
    https://docs.microsoft.com/en-us/biztalk/adapters-and-accelerators/post-installation-steps-for-biztalk-adapter-pack-2016#use-a-newer-oracledataaccessdll-version
    -----

    <dependentAssembly>
    <publisherPolicy apply="no" />
    <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.122.19.1" />
    <!--<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.122.18.3" /> -->
    </dependentAssembly>
    </assemblyBinding>
    </runtime>

    <system.data>
    <DbProviderFactories>
    <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    <!--<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342" />-->
    </DbProviderFactories>
    </system.data>
    ------

    I would also make sure to update to the latest BizTalk 2020 CU (CU2 currently) as there were some updates related to Oracle adapter after initial RTM release.

    I hope this helps.
    • harik98's avatar
      harik98
      Copper Contributor

      NiklasE 

      Hi

      I tried the suggestions given here.

      Still i am stuck with following error:

      “Could not load file or assembly 'Oracle.DataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.

      The system cannot find the file specified. (Microsoft.Adapters.OracleDB)”

      Any suggestions on this?

      Tx

      Hari

       

      • NiklasE's avatar
        NiklasE
        Icon for Microsoft rankMicrosoft

        harik98 I would suggest to restart uninstalling previous attempts/unGAC and try the latest 19c unmanaged XCopy client. 

        https://www.oracle.com/database/technologies/net-downloads.html

         

        Oracle XCopy unmanaged .NET client installation :

        If not default location (ORACLE_HOME\network\admin), create a System Environment Variable for :

          Name:   TNS_ADMIN

          Path (change to your location) :      c:\oracle\network\admin\

        CD C:\Oracle\Setup-19x-32bit

        :: Install all to 32-bit folder, 32-bit home name. You can omit the last TNS_ADMIN location parameter if using the default location

        install.bat all c:\oracle\ora19c32 ora19c32 true true c:\oracle\network\admin

        CD c:\oracle\ora19c32

        :: Uninstall 32-bit ORAMTS since we will use the 64-bit ORAMTS and you can only have one ORAMTS running.

        uninstall.bat ORAMTS ora19c32

        CD C:\Oracle\Setup-19x-64bit

        install.bat all c:\oracle\ora19c64 ora19c64 true true c:\oracle\network\admin

        :: Then manually add these paths to Path System environment variable

        c:\oracle\ora19c64

        c:\oracle\ora19c32

        :: check GAC

        gacutil /l | find /I "4.12"

          Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64

          Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86

          Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL

        :: Add AssemblyRedirect in BizTalk .config files and mmc.exe.config for it to use the latest client

          <runtime>

            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

              <dependentAssembly>

                <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"  culture="neutral" />

                <bindingRedirect oldVersion="4.0.0.0-4.65535.65535.65535" newVersion="4.122.19.1" />

              </dependentAssembly>

            </assemblyBinding>

          </runtime>

Resources