Introduction
You can connect FME Form and FME Flow to Oracle databases using the Oracle Instant Client. This article explains how to install and configure the Oracle Instant Client on Windows, Linux, and macOS, and how to set up environment variables such as TNS_ADMIN and LD_LIBRARY_PATH.
The instructions also cover troubleshooting tips for common connection errors.
Requirements
FME Form or FME Flow installed (matching architecture)
Oracle Instant Client (matching 32-bit or 64-bit version)
Access to an Oracle database
Administrative rights to edit environment variables
Important:
The Oracle Client architecture must match your FME installation:
64-bit FME → 64-bit Oracle Client
- 32-bit FME → 32-bit Oracle Client
Using mismatched architectures may produce errors such as:
"Cannot connect to database because the database client software failed to load."
Step-by-Step Instructions
1. Install the Oracle Instant Client
Windows
Download and unzip the Oracle Instant Client into a directory, for example:
C:\oracle\instantclient_19_6-
Add this directory to the PATH environment variable:
Open My Computer > Properties > Advanced > Environment Variables
Edit PATH and add the Instant Client directory at the beginning.
Do not include quotation marks around the path.
Restart FME to apply the new environment settings.
Linux
FME Form
Download and unzip the Oracle Instant Client into a directory, e.g.
/home/fmeuser/instantclient_23_4.-
(If required) Create a symlink for the client library:
-
Set the
LD_LIBRARY_PATHenvironment variable to point to the Instant Client folder: -
To set this permanently:
Per user: Add the export line to
~/.profileand log out/in.System-wide: Add it to
/etc/environmentand reboot.
If you receive the error “Oracle client libraries could not be loaded”, install the libaio1 package.
FME Flow
The following instructions assume you have set up systemd on your Linux system to automatically start FME Flow. (To configure systemd to start FME Flow, see this documentation).
Apply the symlink as described in the FME Form section.
Store the Instant Client in a secure directory such as
/opt/oracle/instantclient_23_4.-
Edit the systemd service to export the
LD_LIBRARY_PATH:Open
/etc/systemd/system/fmeflow-engines.service-
Add this line:
-
Run:
Review
fmeprocessmonitorengine.logto confirm that the path is detected correctly.Test with a workspace connecting to your Oracle Database.
If not using systemd, add LD_LIBRARY_PATH to /etc/environment.
Note: FME versions 2021–2023.2 do not require a /lib folder for the Instant Client.
macOS
Oracle libraries are not available for Apple Silicon (M1/M2) at this time. Use an Intel macOS system instead.
For:
FME 2019.2.3.2 and newer: See macOS Catalina+, FME 2020 and Oracle Client
FME 2019.2.3.1 and older: See macOS Yosemite 10.10 to Mojave 10.14, FME 2015.1 to 2019.x
To learn how to create environment variables on macOS, refer to this article.
2. Connect to Oracle
Option 1: Easy Connect String
Use this format for your dataset connection:
Example:scott/tiger@//amidala:1521/orcl
With Easy Connect, the username and password are embedded, and no tnsnames.ora file or TNS_ADMIN variable is needed.
If you see an error about NLS data files, define the NLS_LANG environment variable:
or for Japanese: