다음 이전 차례

2. 포스트그레스 JDBC 드라이버 만들기

포스트그레스는 Type 4의 JDBC 드라이버를 제공한다. Type 4는 순수 자바로 작성되었고 데이터베이스 자체의 통신 프로토콜로 통신한다. 이는 클라이언트측이 JDBC를 통해 DBMS 서버와의 직접적인 통신이 가능함을 의미한다. 네트워크상에서 JDBC 드라이버를 통해 간편 하게 포스트그레스 DB 서버와 연결할 수 있으며 이를 응용하려는 개발자는 DB 의 기능에 만 집중하며 작업을 할 수 있다.

또한 포스트그레스 JDBC 드라이버는 플랫폼에 비종속적이므로 한번 컴파일된 드라이버는 어떤 플랫폼에서도 사용 가능하다. 예를 들어, 컴파일 되어 생성된 포스트그레스 JDBC 드 라이버는 윈도우나 리눅스에서 어떠한 수정없이 바로 사용 가능하다.

2.1 JDBC 다운받기

포스트그레스를 직접 설치하지 않아 포스트그레스의 소스가 없을 경우 포스트그레스 사이트 ( http://www.postgresql.org) 에서 RPM 형태의 JDBC 드라이버를 다운받을 수 있다. 그외에 http://www.retep.org.uk 에서 다운 받을 수 있다.

다운받을 때 주의할 점이 있는데 만약 "JDK1.1.x" 를 가지고 있다면 "JDBC 1" 드라이버를 다운받아야 하고 "JDK1.2" 이상을 가지고 있다면 "JDBC 2" 드라이버를 다운받으면 된다.

2.2 JDBC 만들기

JDBC 드라이버가 없다면 이를 만들어야 한다. 만약, 포스트그레스의 소스를 다운받아 직접 설치를 한 경우이면 포스트그레스 소스 디렉토리내의 interfaces 디렉토리에 JDBC 드라이버 소스가 있어서 컴파일을 하면 된다.

JDBC 드라이버의 컴파일시 "JDK1.1.x" 하에서 JDBC 드라이버를 만들면 "JDBC 1" 드라이 버이다. JDK1.2 버젼에서 만들어진 JDBC 드라이버는 "JDBC 2" 드라이버이다.

이 문서에서는 포스트그레스의 소스 디렉토리는 "/usr/local/src/pgsql_버젼" 이라 가정하고 포스트그레스가 컴파일되어 설치될 디렉토리를 "/usr/local/pgsql" 이라고 가정한다. 기타, 포 스트그레스 "6.5.x" 버전대의 컴파일 방법과 포스트그레스 "7.0.x" 버전대의 JDBC 드라이버 의 컴파일 방법이 다르므로 주의하여야 한다. 이제 JDBC 드라이버를 만들어보자.

postgreSQL 6.5.x 드라이버 만들기

postgreSQL 6.5.x 의 경우는 다음과 같다.

/usr/local/src/pgsql6.5.3/src/interfaces/jdbc]$ make

단지 위의 디렉토리로 가서 "make"만 해주면 된다. "make" 완료 후에 컴파일 된 드라이버 를 확인해 보자. 드라이버의 이름은 "postgresql.jar" 이다. 이제는 "/usr/local/pgsql" 에 jdbc 라는 디렉토리를 만들고 "postgresql.jar" 를 복사하자. JDBC 드라이버를 저장할 디렉토리는 자신이 원하는 대로 바꾸어도 좋다.

/usr/local/pgsql]$ mkdir  jdbc

/usr/local/pgsql]$ cp  ../src/pgsql6.5.3/src/interfaces/postgresql.jar  ./jdbc/

postgreSQL 7.0.x 드라이버 만들기

"postgreSQL 7.0.x" 의 경우는 "6.5.x" 와는 좀 다르다. 만약, "6.5.x" 처럼 "make" 만 입력 하면 메시지가 나오는데 그 내용은 "JDK1.1.x" 이면 "make jdbc1 jar"을 입력하고 "JDK1.2.x" 이면 "make jdbc2 jar"를 입력하라는 메시지가 나온다. 여기서는 "JDK1.2.x" 로 가정하고 컴파일 해보자.

/usr/local/src/pgsql7.0.2/src/interfaces/jdbc]$ make    jdbc2    jar

이제 컴파일 된 드라이버를 확인해 보자. 드라이버의 이름은 "postgresql.jar" 이다. 생성된 JDBC 드라이버는 "/usr/local/pgsql" 에 jdbc 라는 디렉토리를 만들고 JDBC 드라이버를 복 사해 놓으면 된다.

/usr/local/pgsql]$ mkdir  jdbc

/usr/local/pgsql]$ cp  ../src/pgsql7.0.2/src/interfaces/postgresql.jar  ./jdbc/

2.3 JDBC 드라이버 테스트하기

리눅스에서 컴파일되어 생성된 JDBC 드라이버를 테스트하려고 하는 경우 "JDK"를 위해 CLASSPATH 를 설정하여야 한다. CLASSPATH의 설정 예는 다음과 같다.

export   CLASSPATH="$CLASSPATH:/usr/local/pgsql/jdbc/postgresql.jar:."

위의 export 명령을 일반 쉘상에서 실행하여도 되나 이는 일회성이므로 매번 부팅 때마다 export 명령을 실행해주어야 한다. 일회성이 아닌 영구적으로 설정하기 위해 리눅스의 부팅 시 로긴 관련 설정 파일인 "/etc/profile" 이나 "/root/.bash_profile" 등에 위의 CLASSPATH 설정 예를 추가하면 된다.

설정이 끝나면 부팅 후 설정 사항 및 JDBC 드라이버의 확인을 위해 테스트를 해보자. JDBC 드라이버의 테스트를 위해 "/usr/local/src/pgsql653/src/interfaces/jdbc/example" 디렉 토리의 예제 소스를 컴파일해본다. 다음은 테스트를 위해 example 디렉토리의 basic.java를 컴파일하는 예이다.

/usr/local/src/pgsql653/src/interfaces/jdbc/example]$ javac  basic.java


다음 이전 차례