java와 oracle를 연동하기 위해서는 JDBC 드라이버가 필요하다
JDBC : JVM의 시스템과 DB시스템을 연결하고 통신하기 위한 JAVA의 표준 스펙
시스템에 사용하는 버전
O/S : Centos 7/6
JAVA : java version “1.8.0_191”
ORACLE : 11G
1.먼저 jdbc 파일을 아래 사이트에서 다운로드 후 java lib 폴더에 복사해준다.
https://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html
ojdbc6.jar : jdk 1.6 이상 버전용
ojdbc5.jar : jdk 1.5 버전용
1 2 3 |
[root@localhost ~]# cp -a ojdbc6.jar /usr/local/java//jre/lib/ext/ [root@localhost ~]# source /etc/profile |
2. 아래와 같이 소스를 만들어서 테스트 진행 ( oracle 의 scott 계정은 rock를 해제후 사용할것 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
[root@localhost oracle]# vi GetEmp.java import java.sql.*; public class GetEmp { public static void main(String[] args) { String DB_URL = "jdbc:oracle:thin:@127.0.0.1:1521:ORASID"; String DB_USER = "scott"; String DB_PASSWORD = "tiger"; Connection conn = null; Statement stmt = null; ResultSet rs = null; String query = "SELECT * FROM emp"; try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e ) { e.printStackTrace(); } try { conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); stmt = conn.createStatement(); rs = stmt.executeQuery(query); while (rs.next()) { String empno = rs.getString(1); String ename = rs.getString(2); String job = rs.getString(3); String mgr = rs.getString(4); String hiredate = rs.getString(5); String sal = rs.getString(6); String comm = rs.getString(7); String depno = rs.getString(8); System.out.println( empno + " : " + ename + " : " + job + " : " + mgr + " : " + hiredate + " : " + sal + " : " + comm + " : " + depno); } } catch ( Exception e ) { e.printStackTrace(); } finally { try { rs.close(); stmt.close(); conn.close(); } catch ( SQLException e ) {} } } } |
jdbc:oracle:thin —> 사용하는 JDBC드라이버가 thin 타입을 의미
127.0.0.1 —> oracle이 운용되고 있는 서버 아이피
1521 : oracle 리스너(listener)의 포트번호
ORASID : SID이릅이다 오라클의 SID를 모를때는 쿼리문으로 ( select name from v$database;
소스내려받기 —> GetEmp.java.tar / 또는 https://xinet.kr/data/source/GetEmp.java 에서 다운로드
3. 이제 java 파일을 이용하여 클래스를 생성하여 테스트해보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@localhost oracle]# javac GetEmp.java [root@localhost oracle]# java GetEmp 7369 : SMITH : CLERK : 7902 : 1980-12-17 00:00:00 : 800 : null : 20 7499 : ALLEN : SALESMAN : 7698 : 1981-02-20 00:00:00 : 1600 : 300 : 30 7521 : WARD : SALESMAN : 7698 : 1981-02-22 00:00:00 : 1250 : 500 : 30 7566 : JONES : MANAGER : 7839 : 1981-04-02 00:00:00 : 2975 : null : 20 7654 : MARTIN : SALESMAN : 7698 : 1981-09-28 00:00:00 : 1250 : 1400 : 30 7698 : BLAKE : MANAGER : 7839 : 1981-05-01 00:00:00 : 2850 : null : 30 7782 : CLARK : MANAGER : 7839 : 1981-06-09 00:00:00 : 2450 : null : 10 7788 : SCOTT : ANALYST : 7566 : 1987-04-19 00:00:00 : 3000 : null : 20 7839 : KING : PRESIDENT : null : 1981-11-17 00:00:00 : 5000 : null : 10 7844 : TURNER : SALESMAN : 7698 : 1981-09-08 00:00:00 : 1500 : 0 : 30 7876 : ADAMS : CLERK : 7788 : 1987-05-23 00:00:00 : 1100 : null : 20 7900 : JAMES : CLERK : 7698 : 1981-12-03 00:00:00 : 950 : null : 30 7902 : FORD : ANALYST : 7566 : 1981-12-03 00:00:00 : 3000 : null : 20 7934 : MILLER : CLERK : 7782 : 1982-01-23 00:00:00 : 1300 : null : 10 |