You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by "Diethelm Guallar, Gonzalo" <Go...@sonda.com> on 2001/03/02 23:43:24 UTC

Using oracle non-thin JDB driver from Turbine?

On the app server machine I installed the Oracle 8i
Client 8.1.6, and I can connect to a DB using SQL*Plus.
The JDBC thin client also works. However, I have been
unable to switch to an OCI-based driver. If I specify

  database.cartola.driver=oracle.jdbc.driver.OracleDriver
  database.cartola.url=jdbc:oracle:oci8:ANYTHING
  database.cartola.username=USR
  database.cartola.password=PWD

I get this error:

	java.lang.reflect.InvocationTargetException:
        java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
	at java.lang.Runtime.loadLibrary0(Runtime.java:749)
	at java.lang.System.loadLibrary(System.java:820)
	at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:208)

If I specify:

  database.cartola.driver=oracle.jdbc.driver.OracleDriver
  database.cartola.url=jdbc:oracle:oci7:@DBNAME
  database.cartola.username=USR
  database.cartola.password=PWD

I get this error:

	Exception:  java.sql.SQLException:
        Invalid Oracle URL specified: OracleDriver.connect
	Stack Trace follows:
	java.sql.SQLException: Invalid Oracle URL specified:
OracleDriver.connect
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
	at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:775)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:143)
	at java.sql.DriverManager.getConnection(DriverManager.java:517)

What is the proper incantation?


-- 
Gonzalo A. Diethelm
gonzalo.diethelm@sonda.com

Re: Using oracle non-thin JDB driver from Turbine?

Posted by Santiago Gala <sg...@hisitech.com>.
Diethelm Guallar, Gonzalo wrote:

> On the app server machine I installed the Oracle 8i
> Client 8.1.6, and I can connect to a DB using SQL*Plus.
> The JDBC thin client also works. However, I have been
> unable to switch to an OCI-based driver. If I specify
> 
>   database.cartola.driver=oracle.jdbc.driver.OracleDriver
>   database.cartola.url=jdbc:oracle:oci8:ANYTHING
>   database.cartola.username=USR
>   database.cartola.password=PWD
> 
> I get this error:
> 
> 	java.lang.reflect.InvocationTargetException:
>         java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path

---> the ocijdbc.so or .dll library coming with the driver should be in a directory referenced
in the java.library.path property to be loaded by the VM, and ALL libraries referenced by this
one.

> 	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> 	at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> 	at java.lang.System.loadLibrary(System.java:820)
> 	at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:208)
> 

You can try putting it/them in
<java.home>/jre/lib (where .so libs of runtime are)
OF THE SAME RUNTIME you are using.

It is quite common to have several versions of the runtime dangling around,
sp. in development machines (I have had quite a few debugging nightmares on this 
kind of error. Never with oracle, though).

Hope this helps