Skip to main content

Content

Using different Oracle clients in M.App Enterprise

⚠️
Oracle client is no longer needed since M.App Enterprise 2023 Update 1 (16.8.2612.1)
📝
For access to an Oracle database the Oracle Database Client software is necessary. This is also true for M.App Enterprise.

In order for M.App Enterprise to access an Oracle database from it's .NET built server components, the so called ODAC components are necessary to be installed along with the Oracle Database Client software.

Starting with Oracle Database Client 12c Release 2 there was a change in deployment of those components.
This makes an additional step necessary when installing M.App Enterprise. (Only regarding Oracle of course)

Up until now the Oracle Database Client's setup took care about deploying the Oracle.DataAccess.dll into the Global Assembly Cache on a Windows machine. This now has to be made in a manually step.

BUT this additional step has also an advantage. It makes M.App Enterprise independent of the Oracle Database Client that is used on the customers environment. (Oracle Database Client 12 Release 1 or higher)

For Oracle Database Client 12c Release 2

Open a command line (with Administrative privilege) and execute the following lines
(First 2 lines are just comments)

REM set absolute path to the Oracle Client home
REM in this example it's 'C:\app\client\user\product\12.2.0\client_1' 

set Oracle_x64=C:\app\client\user\product\12.2.0\client_1\odp.net
set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg.exe
"%OraProvCfg_x64%" /action:gac providerpath:%Oracle_x64%\bin\4\Oracle.DataAccess.dll 
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.112.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.121.Oracle.DataAccess.dll

For Oracle Database Client 18/19c

Open a command line (with Administrative privilege) and execute the following lines
(First 2 lines are just comments)

REM set absolute path to the Oracle Client home
REM in this example it's 'C:\app\client\user\product\18.0.0\client_1' 

set Oracle_x64=C:\app\client\user\product\18.0.0\client_1\odp.net
set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg.exe
"%OraProvCfg_x64%" /action:gac providerpath:%Oracle_x64%\bin\4\Oracle.DataAccess.dll 
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.112.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.121.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.122.Oracle.DataAccess.dll