Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what jdbc jar to use with oracle 11g & jdk 1.6 and how to connect to the db itself

I'm writing a database accessor in Java. The database is in Oracle 11g, of which I am absolutely not familiar, and I have JDK 1.6.

  1. Will ojdbc4.jar do for my program? We're not allowed to connect to the Internet in the office and I can't download ojdbc6.jar, which I've read is more compatible with my setup.
  2. What strings should I put in the Class.forName(String driver) and DriverManager.getConnection(String connectionURL)? I don't know the driver string and the connection URL since they (naturally) look very different from the ones for MS SQL Server.
like image 744
MLQ Avatar asked Nov 04 '11 09:11

MLQ


1 Answers

  1. Oracle bundle the Jar with the Oracle client or server installation and can be found in $ORACLE_HOME/jdbc/lib/ojdbc6.jar. I always use that one.

  2. The Driver classname is oracle.jdbc.OracleDriver and the URL is jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE.

Here's an example (taken from here):

import java.sql.*;
class Conn {
  public static void main (String[] args) throws Exception
  {
   Class.forName ("oracle.jdbc.OracleDriver");

   Connection conn = DriverManager.getConnection
     ("jdbc:oracle:thin:@//localhost:1521/orcl", "scott", "tiger");
                        // @//machineName:port/SID,   userid,  password
   try {
     Statement stmt = conn.createStatement();
     try {
       ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
       try {
         while (rset.next())
           System.out.println (rset.getString(1));   // Print col 1
       } 
       finally {
          try { rset.close(); } catch (Exception ignore) {}
       }
     } 
     finally {
       try { stmt.close(); } catch (Exception ignore) {}
     }
   } 
   finally {
     try { conn.close(); } catch (Exception ignore) {}
   }
  }
}
like image 72
trojanfoe Avatar answered Oct 21 '22 04:10

trojanfoe