My Oracle Support Banner

Mappings Using "LKM File to Oracle (SQLLDR)" Fail in "Call sqlldr" Task with "java.lang.UnsatisfiedLinkError" (Doc ID 2632878.1)

Last updated on JULY 28, 2023

Applies to:

Oracle Data Integrator - Version 12.2.1.4.0 and later
Oracle Data Integrator on Marketplace - Version 12.2.1.4.200123 and later
Information in this document applies to any platform.

Symptoms

On a Windows environment, all mappings using "LKM File to Oracle (SQLLDR)" are failing in the "Call sqlldr" Task Name with the following error:

ODI-1590: The execution of the script failed.
Caused By: org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 8, in <module>
File "<ODI_HOME>\odi\sdk\lib\Lib\subprocess.py", line 799, in <module>
class Popen(object):
File "<ODI_HOME>\odi\sdk\lib\Lib\subprocess.py", line 1399, in Popen
_handle_to_pid = ctypes.cdll.kernel32.GetProcessId
File "<ODI_HOME>\odi\sdk\lib\Lib\ctypes\__init__.py", line 281, in __getattr__
dll = self._dlltype(name)
File "<ODI_HOME>\odi\sdk\lib\Lib\ctypes\__init__.py", line 262, in __init__
self._handle = jffi.dlopen(name, mode)
  at com.kenai.jffi.internal.StubLoader.getStubLibraryStream(StubLoader.java:407)
  at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:355)
  at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:258)
  at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:444)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:348)
  at com.kenai.jffi.Init.load(Init.java:68)
  at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
  at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
  at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
  at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
  at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
  at com.kenai.jffi.Type.resolveSize(Type.java:155)
  at com.kenai.jffi.Type.size(Type.java:138)
  at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:187)
  at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
  at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:66)
  at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
  at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:62)
  at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:58)
  at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  at java.lang.Class.newInstance(Class.java:442)
  at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
  at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
  at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
  at jnr.ffi.Library.loadLibrary(Library.java:114)
  at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:279)
  at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:283)
  at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:37)
  at jnr.posix.WindowsPOSIX.<init>(WindowsPOSIX.java:132)
  at jnr.posix.POSIXFactory.loadWindowsPOSIX(POSIXFactory.java:163)
  at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:136)
  at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
  at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:36)
  at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:32)
  at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:382)
  at org.python.modules.posix.PosixModule.classDictInit(PosixModule.java:131)
  ...
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file. Tried [jni/x86_64-Windows/jffi-1.2.dll, /jni/x86_64-Windows/jffi-1.2.dll]
  at com.kenai.jffi.internal.StubLoader.getStubLibraryStream(StubLoader.java:407)
  at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:355)
  at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:258)
  at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:444)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:348)
  at com.kenai.jffi.Init.load(Init.java:68)
  at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
  at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
  at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
  at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
  at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
  at com.kenai.jffi.Type.resolveSize(Type.java:155)
  at com.kenai.jffi.Type.size(Type.java:138)
  at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:187)
  at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
  at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:66)
  at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
  at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:62)
  at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:58)
  at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  at java.lang.Class.newInstance(Class.java:442)
  at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
  at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
  at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
  at jnr.ffi.Library.loadLibrary(Library.java:114)
  at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:279)
  at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:283)
  at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:37)
  at jnr.posix.WindowsPOSIX.<init>(WindowsPOSIX.java:132)
  at jnr.posix.POSIXFactory.loadWindowsPOSIX(POSIXFactory.java:163)
  at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:136)
  at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
  at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:36)
  at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:32)
  at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:382)
  at org.python.modules.posix.PosixModule.classDictInit(PosixModule.java:131)
...

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
 Download the missing jar file:
 For ODI Studio - Local/No Agent
 For Standalone/Colocated Agent
 For J2EE Agent
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.