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.