Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como conectar o JDBC ao tns oracle


Você precisa definir uma propriedade chamada oracle.net.tns_admin para apontar para o local da pasta que contém seu tnsnames.ora Arquivo. Então você especifica a entrada desse arquivo após o @ entre na URL do seu banco de dados. Confira exemplo abaixo. Você pode encontrar mais informações aqui:Fontes de dados e URLs - Documentação 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) {}
    }
  }
}

Exemplo de entrada de tnsnames.ora Arquivo:
my_net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(some address here))
   (CONNECT_DATA= 
     (SID=some_SID_name)))

Onde my_net_service_name string é o que você tem que substituir por ENTRY_FROM_TNSNAMES do meu exemplo Java.