Almost-Native

초간단 DB접속 JDBC 테스트 샘플 프로그램 (Oracle Database) 본문

Java 프로그램 개발, IT

초간단 DB접속 JDBC 테스트 샘플 프로그램 (Oracle Database)

2021. 9. 29. 00:23

오라클 DB와 JDBC 연결이 잘 되는지 확인해 보고 싶을때, 사용할 수 있는 간단한 샘플 Java 소스 입니다.

전체 소스가 20줄 밖에 안되기 때문에 간단히 컴파일해서 사용할 수 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.sql.*
 
class Test
  public static void main (String args []) throws SQLException 
  { 
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.181:1521:ORA19""scott""tiger"); 
 
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select '  --> ' || username from ALL_USERS");
    while (rset.next ()) {
      System.out.println (rset.getString (1));
    }
 
    rset.close();
    stmt.close();
    conn.close();
  }
}

 

위 JDBC 프로그램 소스를 복사해서 Test.java 파일을 생성합니다.

 

 

그리고, 현재 디렉토리에 오라클 jdbc Driver 파일 (ojdbc8.jar) 을 복사해 둬야 합니다.

Oracle JDBC Driver 파일은 Oracle DB 버전마다 조금 다른데, 보통 접속하려는 DB서버에 가보면

$ORACLE_HOME/jdbc/lib 디렉토리에 파일이 있습니다. 이걸 윈도우즈 PC 로 ftp 등으로 가져오면 됩니다.

 

 

jdbc 자바 프로그램을 컴파일하기 위해서는 jdk 가 윈도우즈 PC 에 설치되어 있어야 합니다.

jdk 설치는 >>여기<< 참조 하세요~

 

윈도우즈 커맨드(cmd) 창을 열어서 Test.java 파일과 ojdbc8.jar 파일이 있는 위치로 갑니다.

아래와 같이 컴파일을 할 수 있습니다.

 

1) 패스 설정
   > set path=C:\Program Files\Java\jdk1.8.0_121\bin;%path%
   > set CLASSPATH=./;./ojdbc8.jar

2) 컴파일
   > javac Test.java

3) 실행
   > java Test

 

먼저 jdk 실행파일이 있는 위치를 Path 로 잡아주고, CLASSPATH 도 잡아줍니다.

다음으로 javac 커맨드로 Test.java 파일을 컴파일 합니다.

컴파일이 잘 끝나면, Test.class 파일이 생성됩니다.

이 파일을 실행할 때는 뒤에 .class 는 빼고 java Test 라고만 입력하면 실행됩니다.

 

 

jdbc 소스 프그램에서 DB에 커넥션을 하기 위해 아래와 같은 구문을 사용했습니다.

 

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.181:1521:ORA19", "scott", "tiger");

 

getConnection 함수에서 3개의 인자를 받습니다.

첫번째 jdbc:oracle:thin:@~ 로 시작하는 것을 "접속 url" 이라고 하고, 두번째, 세번째 인자는 각각 접속할 DB계정과 패스워드 입니다.

 

접속 url 은  <ip address>:<포트>:<SID>  형식으로 구성되어 있습니다.

이 접속 url 을 꼭 위와같은 형식으로만 쓰지 않아도 됩니다.

Oracle SQL*Net TNS 형식으로 사용할 수도 있고, Oracle Database 19c 이상에서는 Easy Connect 방식으로도 사용할 수 있습니다.

 

1) 기본 url  =>  @ IP : port : SID
    jdbc:oracle:thin:@192.168.1.181:1521:ORA19

2) SQL*Net 방식
    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(PORT=1521)(HOST=192.168.1.181))(CONNECT_DATA=(SERVICE_NAME=ORA19)))

3) Easy Connect 방식  =>  @ // IP : port / Service
    jdbc:oracle:thin:@//192.168.1.181:1521/ORA19

4) Easy Connect 방식 (RAC 2개 IP 기술)
    jdbc:oracle:thin:@//192.168.1.181,192.168.1.182:1521/ORA19

 

마지막 4번의 경우 192.168.1.181 로 접속을 시도해보고 안되면, 192.168.1.182 로 접속하게 됩니다.

jdbc 접속 url 에 Easy Connect 방식의 사용은 Oracle Database 19c 부터 가능한 신기능입니다.

그 이전버전의 Database 는 1) 2) 번 방식을 사용해야 합니다.

 

주의할 부분은

1) 번 기본 url 방식의 경우 맨마지막에 DB Instance SID 를 입력해야 하고,

3) 4) 번의 Easy Connect 방식에서는 맨마지막에 SID 가 아니고 Service 명이라는 점이 다릅니다.

 

Comments