티스토리 뷰

프로그래밍 시 DB는 필수다. 자바와 오라클 DB 프로그래밍 하는 방법을 배워보자


1. 물리적인 드라이버 설치
   JDBC 라이브러리를 이용한 DB에 연결하기 위해서는 해당 DB 프로그램의 기능을 수행하는 외부 라이브러리를 프로젝트에 추가를 시켜주어야 DB에 연결을 할 수 있다.
   여기서 우리는 오라클 DB를 사용할 것이기 때문에 오라클을 중심으로 설명하겠다.
   오라클 드라이버는 ojdbc14.jar 파일이며 이 파일은 오라클 설치폴더안에 (C:\oracle\product\10.2.0\client\jdbc\lib) 포함되어 있다. (나는 C 드라이브 밑에 oracle 폴더에 오라클을 설치하였다), 그리고 오라클 홈페이지에서도 제공을 한다고 하니 알아서 찾아보시길-_-);; 바란다.
   이 ojdbc14.jar 파일을 프로젝트에 포함시켜주면 된다. 


보통 자바 프로그램 하면 이클립스를 사용한다. 웹프로그래밍일 시에는 보통 WEB-INF\lib 에 jar를 넣고 이 경로 안의 파일들은 대부분 build path 로 설정되어 있다. 그러니 오라클 jdbc 드라이버가 없다면 인터넷(오라클사) 에서 다운 받아서 WEB-INF\lib에 넣어 놓으면 될듯 하다.


본인이 원하는 디렉토리에 넣고 이클립스 properties > Java Build Path > Libraries 를 정하면 된다.


참고로 난 ojdbc6-11.1.0.7.0.jar 를 쓰고 WEB-INF\lib에 들어가 있다.



2. 드라이버 로딩
   포함된 라이브러리를 바탕으로 해당 오라클 드라이버를 메모리에 업로드를 시켜야 한다.
   드라이버를 메모리에 업로드 시키는 방법은 Class.forName() 메소드를 이용한다.
   이 메소드는 Class 클래스에 포함되어 있으며 해당 파일경로에 위치한 파일을 프로그램이 실행될때 메모리상에 업로드 시키는 기능을 수행한다.
   수행코드는 Class.forName(oracle.jdbc.driver.OracleDriver) 이다.
   오라클 DB를 사용하면 해당 코드를 그대로 사용하면 된다.



3. 커넥션 연결
   설치된 드라이버를 메모리상에 업로드를 시키면 이제 DB를 지금 사용하는 프로그램과 연결을 시켜야 한다. 이런 연결을 시켜주는 것을 커넥션(Connection) 이라 한다.
   커넥션을 수행하는 코드는 Connection conn = DriverManager.getConnection(
       "jdbc:oracle:thin:@아이피:리스너포트:SIDl", "오라클 아이디" , "오라클 패스워드");
   DriverManager의 getConnection() 메소드를 이용하여 자신이 사용하는 오라클의 정보를 인자로 전달하여 연결을 수행하게 된다. 오라클에 접속하기 위해서는 오라클 서버의 IP, 리스너 포트, 오라클 아이디, 오라클 패스워드 를 알아야 한다. 자세한것은 밑에 소스를 참조하면 될것이다.



4. 생성된 쿼리(SQL)를 오라클로 전달
   기본적으로 자바에서 작성된 쿼리를 오라클로 전달하는 기능을 수행하는 클래스는 Statement 를 사용하나 실제로는 이를 보다 향상시킨 PreparedStatement 클래스를 사용하게 된다.
   이때 사용하게 되는 쿼리는 꼭 오라클에서 테스트를 실시하여 해당 구문이 제대로 수행되는지 확인한 후 프로그램에 적용을 시켜야 오류가 발생할 확률이 줄어들게 된다.



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;


public class JdbcConnTest{

    public static void main(String[] args){

        try{

            Class.forName("oracle.jdbc.driver.OracleDriver");

            System.out.println("드라이버 로딩 성공");

        }catch(ClassNotFoundException e){

            System.out.println("드라이버 로딩 실패");

        }


        try{

            String url = "jdbc:oracle:thin:@111.111.111.111:5000:DBID";

            Connection conn = DriverManager.getConnection(url,"ID","PASSWORD");

            conn.close();            

            System.out.println("커넥션 성공");

        }catch(SQLException e){

            System.out.println("커넥션 실패");

        }

    }

}


위와 같이코딩하고 실행해보면 어디서 문제인지 알 수 있다.


만약 성공적이라면


드라이버 로딩 성공

커넥션 성공


이라고 출력될 것이다.


이제 정상이라면 다음글에서 본격적인 jdbc 프로그래밍을 해본다.



참조: http://krids.tistory.com/89

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/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
글 보관함