How to connect to Oracle 8.1.6.0.0 database with jdbc?
Hi,
I'm new in Oracle and Java , and I'm trying to write a Java application connecting to Oracle 8i Enterprise Edition Release 8.1.6.0.0 database. I download classes12.zip on Oracle site and I use it in my Java classpath.Here's my code:
import java.sql.*;
public class ClasseDb2 {
public ClasseDb2() {
}
public static void main( String [] args) throws SQLException {
try {
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Class.forName ("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@localhost:1521:JOHNDB",
"JOHN", "JOHN_6Y_f");
Statement stmt = conn.createStatement ( );
ResultSet srs = stmt.executeQuery("SELECT NAME FROM EMPLOYEE_TABLE");
while (srs.next()) {
String name = srs.getString("NAME");
System.out.println(name );
}
}
}
When I compile this class (the classe ClasseDb2 above) on command-line with
javac -classpath C:\classes12\classes12.zip ClasseDb2.java ,, it works fine(there's no error message on command-line).But when , after the compilation, I want to launch the program with
java -classpath C:\classes12\classes12.zip;. ClasseDb2 , the following error messages are displayed on command-line:
Exception in thread "main" UnSatisfiedLinkError : oracle.jdbc.oci8.OCIEnv.get_env_handle<>I
at oracle.jdbc.oci8OCIEnv..get_env_handle<Native Method>
at oracle.jdbc.oci8OCIEnv..getEnvHandle<OCIEnv.java:70>
at oracle.jdbc.oci8OCIDBAccess.logon<OCIDBAccess.java:359>
at oracle.jdbc.driver.OracleConnection.<init><OracleConnection.java:252>
at oracle.jdbc.driver.OracleDriver.getConnectionInstance<OracleDriver.java:365>
at oracle.jdbc.driver.OracleDriver.connect<OracleDriver.java : 260>
at java.sql.DriverManager.getConnection<Unknown Source>
at java.sql.DriverManager.getConnection<Unknown Source>
at ClasseDb2.main<ClasseDb2.java:20>
I would want to know how to do in order to connect to my Oracle database from the java class ClasseDb2.
Thanks you in advance.