Tip - Solving invalid product license file / license not found

The FlowObjects Data Loader requires a license file to execute, which is required to be located in the same directory as the binary executable.

Issue

Data Loader is commonly used in DevOps automation scripts, and depending on the script or configuration when the runtime starting directory is not set correctly or can not be set within the automation application, you may receive a RuntimeError: Invalid product license file error message.

The reason for this error is that the automation application’s runtime starting directory is different from the one where the binary executable and license file reside and when Data Loader executes, it is looking for the license file in the runtime starting directory.

Solution 1

Update your automation script to ensure that it puts the runtime starting directory to be that of where the binary executable and license file reside before it runs the binary executable.

Solution 2

Copy the license file to the runtime starting directory that the automation script is executing in.

Solution 3

Create a batch file / PowerShell script / bash script that will be executed by your automation application.

Windows

One of many common use cases of automation is using the SQL Server Agent to configure a job to run as the following:

  1. Specify a step name: FlowObjects Data Loader step
  2. Specify type: Operating system (CmdExec)
  3. Specify run as: SQL Server Agent Service Account
  4. Specify command: cmd.exe /c D:\FlowObjects\DataLoader_script.bat

A sample Windows batch file may be named DataLoader_script.bat (or another name of your choosing) which can be used on its own or together with the above SQL Server Agent example or another automation application may look like this:

D:
CD \FlowObjects\Data_Loader
.\flowobjects_data_loader.exe {{place your parameters here}}

Linux

A sample Linux bash script file may be named data_loader_script.sh (or another name of your choosing) may look like this:

#!/bin/bash
cd /opt/flowobjects/data_loader
./flowobjects_data_loader {{place your parameters here}}