Database

Resolving the SAS/ACCESS to Oracle Error: "Image SASORA found but not loadable"

Simon 29/12/2017 3 Aufrufe

Integrating SAS© with Oracle databases is a common setup in Business Intelligence (BI) environments. However, when setting up a new architecture (especially on 64-bit Windows servers), the connection sometimes fails despite a seemingly correct configuration of environment variables.

A classic case involves the error "Image SASORA found but not loadable", which occurs even when the Oracle client appears to be working from the command line.

Illustration

The Symptom

When executing a LIBNAME statement to connect to Oracle (whether via SAS© Enterprise Guide, DI Studio, or Base SAS©), the log displays the following errors:

ERROR: The SAS/ACCESS Interface to ORACLE cannot be loaded. ERROR: Image SASORA found but not loadable. ERROR: Error in the LIBNAME statement.

Yet, preliminary tests seem positive:

  1. The connection to the database works via the command prompt (SQL*Plus or tnsping).

  2. The environment variables (ORACLE_HOME, PATH, TNS_ADMIN) are correctly defined.

  3. Read and execute permissions on the Oracle folder are granted.

Problem Analysis

While path configuration (PATH) is essential, this specific error message ("found but not loadable") often indicates a binary incompatibility or a version issue between the operating system, the Oracle client, and the SAS© executable.

The SAS©/ACCESS module attempts to load the Oracle client's DLLs (like oci.dll). If SAS© finds the image (the file exists) but cannot load it, it means the operating system is failing to interface the two components correctly.

In a Windows Server 2008 R2 (64-bit) environment or newer, this problem is frequently caused by using an outdated or unpatched version of the Oracle 10g client (e.g., version 10.2.0.3). This specific version has known incompatibilities with the 64-bit architecture of Windows Server 2008 R2, making the drivers invisible or unusable for third-party applications like SAS©, even though they respond to native Oracle commands.

The Solution: Update the Oracle Client

This is not a SAS© configuration issue, but a software infrastructure compatibility problem.

To resolve this issue, follow these steps:

  1. Check the exact version of your Oracle client installed on the SAS© server (via the sqlplus -v command or the registry).

  2. Apply the latest "Patchset" available for your Oracle client version.

    • Example: If you are using the 10g client version 10.2.0.3, you must apply the patch to upgrade to version 10.2.0.5 (or higher).

  3. Restart the SAS© services (or the server) to ensure the new system DLLs are recognized.

Once the Oracle client is updated to a version certified as compatible with your server operating system, the LIBNAME statement should execute successfully without any changes to the SAS© code.