sql >> Base de Datos >  >> RDS >> Oracle

Cómo conectar JDBC a tns oracle

Debe establecer una propiedad llamada oracle.net.tns_admin para señalar la ubicación de la carpeta que contiene su tnsnames.ora expediente. Luego especifica la entrada de ese archivo después de @ inicie sesión en la URL de su base de datos. Verifique el ejemplo a continuación. Puede encontrar más información aquí:Fuentes de datos y URL - Documentación de Oracle

import java.sql.*;

public class Main {
  public static void main(String[] args) throws Exception {
    System.setProperty("oracle.net.tns_admin", "C:/app/product/11.2.0/client_1/NETWORK/ADMIN");
    String dbURL = "jdbc:oracle:thin:@ENTRY_FROM_TNSNAMES";

    Class.forName ("oracle.jdbc.OracleDriver");

    Connection conn = null;
    Statement stmt = null;

    try {
      conn = DriverManager.getConnection(dbURL, "your_user_name", "your_password");

      System.out.println("Connection established");

      stmt = conn.createStatement();

      ResultSet rs = stmt.executeQuery("SELECT dummy FROM dual");

      if (rs.next()) {
        System.out.println(rs.getString(1));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      if (stmt != null) try { stmt.close(); } catch (Exception e) {}
      if (conn != null) try { conn.close(); } catch (Exception e) {}
    }
  }
}

Entrada de ejemplo de tnsnames.ora archivo:

my_net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(some address here))
   (CONNECT_DATA= 
     (SID=some_SID_name)))

Donde my_net_service_name cadena es lo que tienes que sustituir por ENTRY_FROM_TNSNAMES de mi ejemplo de Java.