Hello all,
I have been trying to use the OCI driver to connect to Oracle 9i, but
have been getting the following error:
java.sql.SQLException: Closed Connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBE rror.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBE rror.java:179)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAcce ss.java:2364)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.jav a:480)
at oracle.jdbc.driver.OracleConnection.<init>(OracleC onnection.java:360)
at oracle.jdbc.driver.OracleDriver.getConnectionInsta nce(OracleDriver.java:521)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriv er.java:325)
at java.sql.DriverManager.getConnection(DriverManager .java:517)
at java.sql.DriverManager.getConnection(DriverManager .java:177)
at TestOCI.main(TestOCI.java:17)
Here's my setup:
.. Running on 'SunOS beavis 5.7 Generic_106541-17 sun4u sparc
SUNW,Ultra-5_10'
.. java version is 'Java(TM) 2 Runtime Environment, Standard Edition
(build 1.3.1-b24)'
.. echo $LD_LIBRARY_PATH -> /users/david/TestOCI/9.2.0.3:/oracle/lib
.. in the '9.2.0.3' directory, I have the following files:
classes12_g9203.zip, libheteroxa9.so, libheteroxa9_g.so,
libocijdbc9.so, libocijdbc9_g.so (downloaded from the oracle driver
section)
And the sample program that I run, TestOCI.java:
import java.sql.*;
public final class TestOCI {
private static final String DRIVER = "oracle.jdbc.OracleDriver";
private static final String URL = "jdbc:oracle:oci8:@zool";
public static void main(String[] args) {
try {
Class.forName(DRIVER);
Connection con = DriverManager.getConnection(URL,"user", "pw");
Statement stmt = con.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
}
I have tried to change the URL to 'oci' instead of 'oci8', same
result. It does work perfectly if I use the thin driver however.
This is run with the classpath explicitely set to
'/users/david/TestOCI/9.2.0.3/classes12_g9203.zip:.'
I have also tried to run DbVisualizer (java client) against Oracle
with the same setup, and I get the very same exception.
Does anyone have a clue/pointer?
Thanks