반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발꿈나무

[JAVA] Eclipse와 Oracle DB 연결(1) 본문

JAVA

[JAVA] Eclipse와 Oracle DB 연결(1)

HYOKYE0NG 2021. 6. 4. 13:37
반응형

1. Eclipse와 Oracle DB를 연결하기 위해 ojdbc.jar파일을 JDK 설치 디렉터리에 복사해주기

오라클을 설치한 후 ORACLE 경로에 가보면 ojdbc8.jar 파일이 있다. 그것을 JDK 설치 디렉토리/jre/lib/ext/에 복사해준다.

 

내 경우에는 C:/oracle/jdbc/lib에 ojdbc8.jar 파일이 존재했지만 사용자마다 경로와 ojdbc 버전은 다를 수 있다.

 

나는 openjdk를 사용하기 때문에 openjdk 아래 jre/lib/ext 폴더에 ojdbc8.jar 파일을 복사해주었다.

 

 

2. Eclipse Project에 ojdbc.jar 파일 추가해주기

eclipse projcet에서 오른쪽 마우스 클릭한 후 속성으로 들어가 ojdbc.jar파일을 추가해준다.

 

Properties 창에서 왼쪽편의 [Java Build Path]를 클릭한 후 [Classpath]에서 Add Externar JARs버튼을 클릭한다.

 

앞선 단계에서 JDK 하위 폴더에 ojadbc.jar파일을 복사해두었기 때문에 해당 경로의 ojdbc.jar 파일을 추가해주었다.

 

apply and close를 누르고 해당 프로젝트의 Referenced Libraries를 확인하면 ojdbc.jar파일이 추가된 것을 확인할 수 있다.

 

3. DB 연결 확인하기

 

DB 연동하는  DBConnection 클래스와 DB의 내용을 가져와 출력하는 Test 클래스를 실행시켜 DB 연동이 제대로 되었는지 확인해보자

 

<DBConnection 소스코드>

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class DBConnection 
{
    public static Connection dbConn;
    
        public static Connection getConnection()
        {
            Connection conn = null;
            try {
                String user = "USER_ID"; 
                String pw = "PASSWORD";
                String url = "jdbc:oracle:thin:@PORT:1521:SID";
                
                Class.forName("oracle.jdbc.driver.OracleDriver");        
                conn = DriverManager.getConnection(url, user, pw);
                
                System.out.println("Database에 연결되었습니다.\n");
                
            } catch (ClassNotFoundException cnfe) {
                System.out.println("DB 드라이버 로딩 실패 :"+cnfe.toString());
            } catch (SQLException sqle) {
                System.out.println("DB 접속실패 : "+sqle.toString());
            } catch (Exception e) {
                System.out.println("Unkonwn error");
                e.printStackTrace();
            }
            return conn;     
        }
}

 

위의 소스 코드에서 url의 jdbc:oracle:thin:@localhost:1521:xe는 사용할 DB 주소에 해당하는 내용을 적어주면 된다.

(localhost: 접속할 DB의 ip주소(동일 컴퓨터라면 자신의 ip 즉, localhost), port: 리스너의 포트 번호(default: 1521), sid: DB service name)

 

USER_ID, USER_PWD 또한 마찬가지로 본인이 사용할 계정의 정보를 입력하면 된다.

 

<Test 소스코드>

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
 
public class Test
{
    public static void main(String args[])
    {
        Connection conn = null; // DB 세션 객체
        PreparedStatement pstm = null;  // SQL 객체
        ResultSet rs = null;  // 쿼리문의 반환값 객체
        
        try {

            String quary = "SELECT s_doc_no FROM ENGINEER.DOCUMENT WHERE rownum <= 5";
            
            conn = DBConnection.getConnection(); // DBConnection 클래스의 연결상태를 conn에 저장
            pstm = conn.prepareStatement(quary); // DB에 quary 전송 
            rs = pstm.executeQuery(); // quary 결과 rs에 저장
            
            System.out.println("S_DOC_NO    DESCRIPTION");
            System.out.println("=======================");
            
            while(rs.next()){ // rs에서 다음 데이터가 존재한다면 반복 실행
                String s_dwg_no = rs.getString(1);
                String description = rs.getString(1);
                
                String result = s_dwg_no+" "+description;
                System.out.println(result);
            }
            
            // finally문에서도 DB연결을 종료해 줄 것이지만 TRY문 내에서도 닫아주는 게 좋음
            rs.close();
            pstm.close();
            conn.close();
            
        } catch (SQLException sqle) { // Quary 오류
        
            System.out.println("QUARY ERROR");
            sqle.printStackTrace();
            
        }finally{ // DB 연결 종료
            try{
            
                if ( rs != null ){rs.close();}   
                if ( pstm != null ){pstm.close();}   
                if ( conn != null ){conn.close(); }
                
            }catch(Exception e){
            
                throw new RuntimeException(e.getMessage());
                
            }
            
        }
    }
}

다음 코드를 실행시켜 Oracle과 Eclipse가 제대로 연결되었는지 확인할 수 있다. 결과가 다음과 같이 "Database에 연결되었습니다." 와 쿼리문의 결과가 출력된다면 정상적으로 완료된 것이다.

 

 

 

 

다음 시간에는 XLM 파일을 이용하여 데이터베이스에 연결하는 방법을 알아보자 ㅇ0ㅇ!!

반응형
Comments