Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I am trying to set up CDC in Oracle XStream mode. The first step was to create an XStream out connection to the database. DB Type is Oracle OCI, DB Version is 12c.
However, when I click on "Check" I get the error below: (full error stack below)
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no ocijdbc12 in java.library.path
I have already installed Oracle Instant Client 12.1. Added the path to .bash_profile.
export DYLD_LIBRARY_PATH=/Library/instantclient_12_1
export NLS_LANG=/Library/instantclient_12_1
export DYLD_LIBRARY_PATH
export NLS_LANG
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
export PATH=/Library/instantclient_12_1:$JAVA_HOME/bin:$PATH
Any help is much appreciated.
Thanks!
Complete error stack:
Connection failure. You must change the Database Settings.
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no ocijdbc12 in java.library.path
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1095)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:315)
at org.talend.metadata.managment.repository.ManagerConnection.check(ManagerConnection.java:289)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:3983)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:1)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$1.runnableWithCancel(AProgressMonitorDialogWithCancel.java:77)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$ARunnableWithProgressCancel$1.call(AProgressMonitorDialogWithCancel.java:161)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsatisfiedLinkError: no ocijdbc12 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:4091)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:4087)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:301)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:195)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:51)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
at org.talend.core.model.metadata.builder.database.DriverShim.connect(DriverShim.java:41)
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:186)
... 9 more
Hello,
You have already installed Oracle Client on your computer when use the oracle oci to conntect remote oracle database?
Could you please copy ocijdbc12.dll to %ORACLE_HOME%\BIN directory to see if it works?
Best regards
Sabrina
Hello,
You have already installed Oracle Client on your computer when use the oracle oci to conntect remote oracle database?
Could you please copy ocijdbc12.dll to %ORACLE_HOME%\BIN directory to see if it works?
Best regards
Sabrina
Just some additional update. I tested the Oracle OCI connection with SQL Developer and was able to successfully connect.
How can I update the java.library.path in Talend?
Hi Sabrina,
Thanks for your response. I must have just missed your reply when I posted the update.
Yes, I do have Oracle Instant Client installed. I am using Mac OSX.
Hello,
Have you tried to copy ocijdbc12.dll to %ORACLE_HOME%\BIN directory to see if it works?
Best regards
Sabrina
Hi Sabrina,
I'm using a Mac, so I don't have the ocijdbc12.dll.
I don't actually have any file by that name in the instantclient_12_1 directory.
I have downloaded and installed the following:
instantclient-basic-macos.x64-12.1.0.2.0.zip
instantclient-jdbc-macos.x64-12.1.0.2.0.zip (I believe I don't actually need this one but installed it anyways)
Followed the installtion instructions and copied the following files to $HOME/lib
libclntsh.dylib.12.1
libociei.dylib
libclntshcore.dylib.12.1
libons.dylib
libnnz12.dylib
I also added the following to ~/.bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
export PATH=/Library/instantclient_12_1:/Library/instantclient_12_1/ojdbc7.jar:$JAVA_HOME/bin:$PATH
export DYLD_LIBRARY_PATH=/Library/instantclient_12_1
export NLS_LANG=american_america.utf8
What else am I missing? I can connect to the database through SQL Developer using Oracle OCI.
Thanks!
Latest update. Since I was able to connect to the database through Oracle OCI on SQL Developer, I thought perhaps it may have something to do with the mac version of the talend application. It was indicated on the help that Windows is the preferred OS.
So, I went ahead and installed Talend studio on a windows machine. I am able to connect to the database on this version.
Hello,
This issue only repro on your mac?
Best regards
Sabrina
Hi Sabrina,
Yea. It only happens on Mac. It works fine on Windows. I've been using the windows version now.
Hello,
Thanks for your prompt reply. Can we consider this topic as resolved?
Best regards
Sabrina