2011-11-04 11 views
9

Estoy escribiendo un acceso a la base de datos en Java. La base de datos está en Oracle 11g, de la cual no estoy absolutamente familiarizado, y tengo JDK 1.6.qué jdbc jar usar con oracle 11g y jdk 1.6 y cómo conectar con el db en sí

  1. Will ojdbc4.jar do para mi programa? No podemos conectarnos a Internet en la oficina y no puedo descargar ojdbc6.jar, que he leído es más compatible con mi configuración.
  2. ¿Qué cadenas debo poner en Class.forName (String driver) y DriverManager.getConnection (String connectionURL)? No sé la cadena del controlador y la URL de conexión, ya que (naturalmente) se ven muy diferentes de las de MS SQL Server.

Respuesta

18
  1. Oracle bundle el frasco con la instalación del cliente o servidor Oracle y se puede encontrar en $ORACLE_HOME/jdbc/lib/ojdbc6.jar. Yo siempre uso ese.

  2. El nombre de clase del controlador es oracle.jdbc.OracleDriver y la URL es jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE.

He aquí un ejemplo (tomado de 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) {} 
    } 
    } 
} 
+3

1) Class.forName. 2) Demasiados try/catch. Es suficiente cerrar la conexión y cerrará automáticamente todo 3) No estoy seguro, pero en su caso, orcl no es un servicio, por lo que la url debe ser jdbc: oráculo: thin: @ // localhost: 1521: orcl – damluar

+0

Gracias ! De todos modos, ¿el token de servicio es opcional? ¿O puede ser ese el nombre de la base de datos a la que me estoy conectando? –

+0

@matkiros Sí, es opcional. – trojanfoe

6

El archivo JAR oficial en combinación con JDK 1.6 es ojdbc6.jar. Pero ojdbc4.jar debería funcionar para la mayoría de las aplicaciones.

cadenas de conexión typicall son: no es necesario

jdbc:oracle:thin:user/[email protected]:port:SID 
jdbc:oracle:thin:user/[email protected]//server:port/XE 
jdbc:oracle:thin:user/[email protected]:SID 
Cuestiones relacionadas