Tomcat on Linux with10g using OCI Client UnsatisfiedLinkError: no ocijdbc10
67097Oct 27 2005 — edited Oct 29 2005I'm having some issues configuring Tomcat with a 10g JDBC driver under Linux using the OCI thick client. When I attempt to get a database connection I get the following:
java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path
java.lang.ClassLoader.loadLibrary(Unknown Source)
java.lang.Runtime.loadLibrary0(Unknown Source)
java.lang.System.loadLibrary(Unknown Source)
oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:2854)
oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:135)
oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:107)
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:446)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:512)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:543)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:564)
org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:114)
org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:201)
....
Now I've seen other instances of the above and they basically come down to making sure that the ojdbc14.jar file is in my classpath, and I thought I had that covered.
Here's everything I've done:
added ojdbc14.jar to $TOMCAT_HOME/common/endorsed
added ojdbc14.jar to $TOMCAT_HOME/common/lib
verified that ORACLE_HOME is defined: /app/oracle/product/10.1.0/client_1
verified that LD_LIBRARY_PATH is defined: /app/oracle/product/10.1.0/client_1/lib
added the following to the java commandline for Tomcat:
-Djava.library.path="$ORACLE_HOME"
the above -Djava.library.path didn't work so made the following change (which still didn't work)
-Djava.library.path="$ORACLE_HOME"/lib
my PATH variable includes both $ORACLE_HOME and $ORACLE_HOME/lib
echo $PATH:
/app/oracle/product/10.1.0/client_1:/app/oracle/product/10.1.0/client_1/lib
I have no idea what else I am missing or if my Oracle client installation is just hosed.
Any assistance would be appreciated.