sql >> Database >  >> RDS >> Oracle

Hoe JDBC te verbinden met tns oracle

U moet een eigenschap instellen met de naam oracle.net.tns_admin om te verwijzen naar de locatie van de map met uw tnsnames.ora het dossier. Vervolgens specificeert u de invoer uit dat bestand na de @ meld u aan bij uw DB-URL. Check voorbeeld hieronder. U kunt hier meer informatie vinden:Gegevensbronnen en URL's - Oracle-documentatie

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) {}
    }
  }
}

Voorbeeldinvoer van tnsnames.ora bestand:

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

Waar my_net_service_name string is wat je moet vervangen voor ENTRY_FROM_TNSNAMES van mijn Java-voorbeeld.



  1. Oracle PL/SQL-reeks wordt niet verhoogd zoals verwacht met objectconstructors

  2. Regel gebruiken om in te voegen in secundaire tabel Auto-Increments Sequence

  3. Hoe kan ik controleren op duplicaten voordat ik deze in een tabel invoeg bij het invoegen met select

  4. SQL Server:waar zijn batching-instructies (d.w.z. het gebruik van GO) goed voor?