Need some assistance... ODAC .NET

I am upgrading our 6.1.4 system to 8.1 and need to figure out how to get the Oracle .NET Assemblies into IAM so I can

use the Imports System.Data.OracleProvider in a few custom scripts I need to write.

Thanks for any help.

Robin Stone

Longwood University

  • Hi,

    Normally as a first pass we can just copy those assemblies to the One Identity Manager folder on your administrative client machine.  Launch Designer from the same folder and test a short snippet of one of your scripts to make sure all is OK.  The DLLs can also be made available via the Windows GAC.

    To industrialise this you can upload those assemblies to the OneIM DB via Software Loader, to allow for auto distribution.  Notably the Job Server instance that will execute your scripts needs to have those DLLs too.

    You can off course write your own scripts in v8.1 but you might want to investigate the 8.1 DB Connectors: maybe a standard DB connector with the right mapping in Sync Editor would give you what you need.  No-code nirvana...

    hth,

    Rob.

  • Hi Robin,
    Would it be enough, if you import the dlls with the softwareloader and use the following notation in the script:
    #If Not SCRIPTDEBUGGER Then
       Imports System.Data.OracleProvider
    #End If

    Then the jobservice might be able to execute correctly.

  • That would be nice if I could get a connector and sync to do the job. Unfortunately the script calls a PL bases API that writes back to our ERP.

    I will be using Sync to do other things in the near future. Thanks for the information on the DLL's.

  • Well that didn't quite work as smoothly as I'd hoped.

    I followed your instructions, but still can't load the assemblies via Imports System.Data.OracleProvider or as suggested vua ODP documentation using the Oracle. name space.

    I know the assemblies are loaded, I verified via GAC. Any help in trouble shooting would be appreciated.

  • With the system debugger it is able to test the scripts. There one can easily see whether the scripts work and that the references are correct.

    How to use system debugger:

    https://support.oneidentity.com/de-de/technical-documents/identity-manager/8.1.1/configuration-guide/75#TOPIC-1250734

  • Maybe I explained it wrong... the following steps have been tried

    1. Download and install oracle ODAC with ODP.NET - This is done and works. I can connect via a client to an oracle database via the oracle client.
    2. Move ODP.NET DLL's to One Identity program files directory.
    3. Start designer on same machine as step 3. Try to create script using the Imports 'commnd". Oracle namespace is not recognized therefore assembly not available. 
    4. Use Software-loader application on same machine to load assemblies into database. Try script again. Still no Oracle namespace
    5. Re-compiled.database and restarted service as well as closed designer and re-opened. Still no oracle namespace.
    6. Loaded VSS Pro 2019 on management machine (same one I have been testing with), Ran gacutil.exe and it showed assemblies in cache.
    7. Created a project in VSS and was able to reference the oracle name space.

    So I know the libraries are not loading. I don't understand why. Do I need to install these DLL's on all my job servers?

    Any help is greatly appreciated.

  • In addition to Tomi, you might need to add some References commands to the oracle DLLs used. The SDK script sample Modules\QBM\dvd\AddOn\SDK\ScriptSamples\07 Expert knowledge\07 Assembly references and namespaces.vb on the product delivery has a demo for the System.Data.OracleClient.dll.