티스토리 뷰

어플리케이션

CUBRID JDBC 드라이버 비교 및 빌드

쌀맛나는세상 2009. 4. 30. 00:37

cubrid JDBC 빌드 하는법

nforge에서 checkout을 받는다.

원하는 릴리즈를 선택 한다.
svn checkout --username anonsvn https://dev.naver.com/svn/cubrid/tags/2008_R1.1

2008_R1.4를 원한다면

svn checkout --username anonsvn https://dev.naver.com/svn/cubrid/tags/2008_R1.4

  • JDK : Java 5 or Java6 
  • ANT : Version 상관 없음
  • make
  • 현재 소스에서 JDK5, JDK 6모두 지원한다.
    그러나 JDK 1.4의 경우 공식적인 지원을 안한다.

    오라클의 경우
    classes12.jar - JDK 1.2, JDK1.3
    ojddbc14.jar   - JDK 1.4
    ojdbc6.jar       - Java 5
    ojdbc6.jar       - Java 6
    의 형태로 배포 하고 있다.

    현재 큐브리드는 JDBC Driver 빌드는 Make를 이용하여 빌드 한다.

    ./driver/CUBRIDCallableStatement.pjava
    ./driver/CUBRIDDatabaseMetaData.pjava
    ./driver/CUBRIDDriver.pjava
    ./driver/CUBRIDBlob.pjava
    ./driver/CUBRIDStatement.pjava
    ./driver/CUBRIDPreparedStatement.pjava
    ./driver/CUBRIDPooledConnection.pjava
    ./driver/CUBRIDConnection.pjava
    ./driver/CUBRIDDataSource.pjava
    ./driver/CUBRIDResultSetMetaData.pjava
    ./driver/CUBRIDResultSetWithoutQuery.pjava
    ./driver/CUBRIDClob.pjava
    ./driver/CUBRIDResultSet.pjava
    ./jci/UJCIManager.pjava
    ./jci/UConnection.pjava


    와 같이 되어 있기 때문에 ant로만 빌드 할 수 없다.

    /home/build/2008_R1.4/jdbc/Makefile
    ----------------------------------------------------------------
    CUBRIDConnection.java: $(JDBC_SRC_DIR)/cubrid/jdbc/driver/CUBRIDConnection.pjava
            cpp -C -P $(PJAVA_CFLAGS) $< $@
    ----------------------------------------------------------------

    vi ./driver/CUBRIDConnection.pjava

    cpp - The C Preprocessor
    로 버전 비교

    #ifdef JDK6
    /* JDK 1.6 */
      public Array createArrayOf (String arg0, Object[]arg1) throws SQLException
      {
        throw new java.lang.UnsupportedOperationException ();
      }


     [build@localhost jdbc]$ make
    cpp -C -P -DJDBC_DRIVER_MAJOR_VERSION=8 -DJDBC_DRIVER_MINOR_VERSION=1 -DJDBC_DRIVER_PATCH_VERSION=4 -DJDBC_DRIVER_SERIAL_NUMBER=1032  ../src/jdbc/cubrid/jdbc/driver/CUBRIDConnection.pjava CUBRIDConnection.java
    cpp -C -P -DJDBC_DRIVER_MAJOR_VERSION=8 -DJDBC_DRIVER_MINOR_VERSION=1 -DJDBC_DRIVER_PATCH_VERSION=4 -DJDBC_DRIVER_SERIAL_NUMBER=1032  ../src/jdbc/cubrid/jdbc/driver/CUBRIDDriver.pjava CUBRIDDriver.java
    cpp -C -P -DJDBC_DRIVER_MAJOR_VERSION=8 -DJDBC_DRIVER_MINOR_VERSION=1 -DJDBC_DRIVER_PATCH_VERSION=4 -DJDBC