Two variants
There are two different variants in use called “Invantive Data Hub”:
- Invantive Data Hub: for use only with the .net Framework v4.8 on Microsoft Windows.
- Invantive Data Hub Multi-platform: for use on Windows, Linux and MacOS with .net core v6.0.
The Windows variant of Invantive Data Hub is most commonly used for historical reasons.
This article describes the differences and how to make a switch to the multi-platform variant.
Both variants of Invantive Data Hub continue to be actively developed and released simultaneously.
Missing Functionality Windows variant.
The Windows variant is almost entirely compatible in terms of scripts and operation with the multi-platform variant.
The Windows variant lacks one specific functionality that is present in the multi-platform variant as of June 12, 2023:
- Compatibility with One Exact Identity for Exact Online.
See Invantive Data Hub, Currency Tools, Get My Report and One Exact Identity on Exact Online.
Ontbrekende Functionaliteit Multi-platform variant
The multi-platform variant is almost entirely compatible in terms of scripts and operation with the Windows variant.
However, the following drivers are not available:
- AccountView
- IBM DB/2 UDB
- LDAP
- Microsoft ODBC
- Microsoft Outlook
- Unmanaged Oracle (Pro*C)
- Invantive Web Service
The unmanaged Oracle driver can be replaced with the managed versions; to do this, change “Oracle” to “OracleManaged” in settings*.xml
. The managed versions have no bulk insert and currently do not support Oracle’s XML data type XMLType
.
Alternatives for Missing Functionality.
It happens that the lack of support for One Exact Identity leads to a desire to switch to the multi-platform variant, but the lack of drivers leads to insurmountable problems.
Alternatively, in this scenario, an architect may advise using a “proxy.” For example, for a database that contains both a connection via ODBC to an unsupported SQL Server and to Exact Online to exchange data in two directions, the following three solution directions with proxies are conceivable:
- replace ODBC data container with connection to Invantive Web Service with ODBC;
- replace Exact Online data container with (read-only) OData4 connection to Invantive Bridge Online;
- replace Exact Online data container with proprietary API connection to Invantive App Online.
Switching
Perform the following steps to switch from the Windows variant of Invantive Data Hub to the multi-platform variant:
- Install Microsoft .net core 6, for example, by downloading and installing the x64-Windows installer of .NET Runtime 6.0.16 from Download .NET 6.0 (Linux, macOS, and Windows).
- Download the Windows version of Invantive Data Hub Multi-platform from https://download.invantive.com.
- Choose a folder for the installation, for example, “C:Program Files (x86)-Invantive Software BV-Invantive Data Hub net6 22.0.”
- Extract the ZIP file into this folder.
- Check that there is an
Invantive.Producer.Data.Hub.exe
file in the folder. - Open used batch file(s) in an editor.
- When the default batch file format is used, comment out the following line:
set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 22.0\Invantive.Producer.QueryEngine.exe
- Whenf the default format is used, add the following line:
set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub net6 22.0\Invantive.Producer.Data.Hub.exe
- Check the correct operation of the batch job(s).
A resulting batch job under Windows then looks like this, for example:
set INVANTIVE_LICENSE_KEY=lhG...licensekey...
set INVANTIVE_TRACE_FOLDER=c:\trace\cs
set INVANTIVE_CONFIGURATION_DATABASES_FOLDER=c:\jobs\cfg
set INVANTIVE_CONFIGURATION_FOLDER=c:\jobs\cfg
rem set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 22.0\Invantive.Producer.QueryEngine.exe
set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub net6 22.0\Invantive.Producer.Data.Hub.exe
set INVANTIVE_CONN=GROUP\DATABASE
set INVANTIVE_SQL_FILE=c:\jobs\sql\acme-actual-job0600.sql
set INVANTIVE_LOG_FILE=c:\jobs\log\cs\acme-actual-job0600-%%Y%%m.log
set INVANTIVE_LOG_FILE_OVERWRITE=False
set INVANTIVE_INTERACTIVE=False
"%INVANTIVE_PRG%" /verbose /database:"%INVANTIVE_CONN%" /file:"%INVANTIVE_SQL_FILE%" /logfile:"%INVANTIVE_LOG_FILE%" /logoverwrite:"%INVANTIVE_LOG_FILE_OVERWRITE%" /interactive:%INVANTIVE_INTERACTIVE% /licensekey:%INVANTIVE_LICENSE_KEY%
IF %ERRORLEVEL% NEQ 0 (
echo Failed Data Hub job with exit code %ERRORLEVEL%.
exit /b %ERRORLEVEL%
)
echo Completed Data Hub job with exit code %ERRORLEVEL%.
Usually this job is called by another batch script started from the Windows Task Scheduler to fully log all output messages:
@echo on
rem Run at 06:00 UTC.
set LOGFILE=c:\jobs\log\cs\acme-main-job0600-%date:~10,4%%date:~4,2%.log
echo *** >>%LOGFILE% 2>&1
echo *** Start acme-actual-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1
echo *** >>%LOGFILE% 2>&1
call c:\jobs\batch\acme-actual-0600.bat >>%LOGFILE% 2>&1
IF %ERRORLEVEL% NEQ 0 (
echo *** Fail acme-actual-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1
exit /b %ERRORLEVEL%
)
echo *** End acme-main-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1