- xrath.com 에서 번역됨

[Top] [Prev] [Next]

# 9 - JDBC-ODBC 브릿지 드라이버

## 9.1 JDBC 드라이버의 취득

데이타베이스 벤더, 데이타베이스 미들웨어 벤더등의 벤더로부터 상용의 JDBC 드라이버를 취득하는 것을 추천합니다. 현재 입수할 수 있는 드라이버의 리스트를 체크해 주세요.

JDBC-ODBC 브릿지 드라이버는, 시험용으로서 또는 그 밖에 대신이 되는 드라이버를 이용할 수 없는 경우에만 사용하는 것을 추천합니다.

## 9.2 JDBC-ODBC 브릿지

가능하면, 브릿지나 ODBC 드라이버는 아니고, Pure Java JDBC 드라이버를 사용해 주세요. Pure Java JDBC 드라이버를 사용하면(자), ODBC 가 필요로 하는 클라이언트측의 설정을 실행하지 않아도 됩니다. 또, 브릿지에 부속되는 native code (예를 들어, 브릿지 네이티브 라이브러리, ODBC 드라이버 매니저 라이브러리, ODBC 드라이버 라이브러리, 및 데이타베이스 클라이언트 라이브러리) 안의 에러에 의해 Java VM 가 오염될 가능성도 없어집니다.

JDBC-ODBC 브릿지 드라이버는, prototype의 개발 단계, 및 JDBC 테크놀러지를 베이스로 한 드라이버가 그 밖에 존재하지 않는 경우에만 사용하는 것을 추천합니다. 모두 Java 로 기술된 상용의 JDBC 드라이버를 이용할 수 있는 경우는, 브릿지는 아니고 그 드라이버를 사용하는 것을 추천합니다.

### 9.2. 1 JDBC-ODBC 브릿지의 개요 JDBC-ODBC 브릿지의 개요

JDBC-ODBC 브릿지는, JDBC 드라이버의 1 개입니다. 이 드라이버는, JDBC 조작을 ODBC 조작으로 번역하는 것으로 JDBC 조작을 구현합니다. ODBC 에는, 이 드라이버가 일반적으로의 응용 프로그램으로 간주해집니다. 이 브릿지는, ODBC 드라이버가 사용 가능한 모든 데이타베이스에 JDBC 를 구현하고 있습니다. 이 브릿지는,`sun.jdbc.odbc` Java 패키지로서 구현되어 ODBC 에 액세스 하기 위해서 사용되는 네이티브 라이브러리가 포함되어 있습니다. 브릿지는 Merant 와 Java Software 가 공동으로 개발한 것입니다.

### 9.2. 2 ODBC 의 호환성과 지원되는 ODBC 버젼

Solaris 에서는, JDBC 2.0 브릿지는 ODBC 3. x 드라이버 매니저와 함께 사용할 필요가 있습니다. 이 브릿지는 ODBC 2. x 와 ODBC 3. x 의 양쪽 모두의 드라이버를 지원하고 있습니다만, ODBC 3. x 드라이버를 사용한 테스트만을 하고 있습니다.

NT 에서는, JDBC 2.0 브릿지는, ODBC 2. x 및 ODBC 3. x 의, 드라이버 매니저 및 드라이버를 지원하고 있습니다. JDBC 2.0 브릿지의 테스트는, ODBC 3. x 의 드라이버 매니저를 사용해, 한편, ODBC 2. x 및 3. x 의 드라이버를 사용해 행해지고 있습니다.

Merant 는, 버젼 3.5 이상의 Merant DataDirect ODBC 드라이버와 함께 JDBC 2.0 브릿지를 사용하는 것을 추천 하고 있습니다.

### 9.2. 3 브릿지의 구현

이 브릿지는, Java 언어로 구현되어 ODBC 를 호출하는데, Java 네이티브 메소드를 사용하고 있습니다.

### 9.2. 4 인스톨

이 브릿지는, JDK 의 인스톨시에 패키지 `sun.jdbc.odbc` 로서 자동적으로 인스톨 됩니다. ODBC 의 인스톨과 설정에 대한 자세한 것은, ODBC 드라이버 벤더에 문의해 주세요. 브릿지를 위한 특별한 설정은 필요 없습니다. 클라이언트의 인스톨과 설정에 대한 자세한 것은, 데이타베이스 벤더에 문의해 주세요. Solaris 에서는, 일부의 ODBC 드라이버 매니저는, 각각의 라이브러리에 `libodbcinst.so` 및 `libodbc.so` 라고 하는 이름을 붙입니다. 이 브릿지는, 이러한 라이브러리가 `libodbcinst.so. 1` 및 `libodbc.so. 1` 이라고 명명해지고 있으면(자) 상정하고 있으므로, 이러한 이름에 대해서 기호 연결을 작성할 필요가 있습니다.

### 9.3 브릿지의 사용 이 브릿지를 사용하는 경우는, URL 및 `odbc` 서브 프로토콜을 사용해 JDBC 접속을 엽니다. URL 의 예에 대해서는 이하를 참조해 주세요. 접속이 확립되기 전에, 브릿지 드라이버 클래스 `sun.jdbc.odbc.JdbcOdbcDriver` 를,`jdbc.drivers` 라는 이름의 `java.lang.System` 프로퍼티에 추가해 두는지, Java 클래스 로더를 사용해 명시적으로 로드해 둘 필요가 있습니다. 명시적인 로드는, 다음의 코드에 의해 행해집니다.

         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

ODBC 드라이버 (모든 적합한 JDBC 드라이버등)는, 로드 되면(자), 자신의 인스턴스를 작성해, 이것을 JDBC 드라이버 매니저에게 등록합니다.

### 9.3. 1 애플릿의 브릿지의 사용

Pure Java JDBC 드라이버로 사용되는 JDBC 는, 애플릿의 사용시에 정상적으로 동작합니다. 브릿지 드라이버는 애플릿과 함께 정상적으로 동작하지 않습니다.

### 9.3. 2 대부분의 브라우저는 브릿지를 지원하고 있지 않는

브릿지는 JDK 의 옵션의 원가요소이므로, 브라우저에 의해 제공되지 않는 것도 있습니다. 제공되고 있어도, 그 브릿지를 사용할 수가 있는 것은, 신뢰할 수 있는 애플릿 (파일에 기입할 수가 있는 애플릿)만입니다. 이것은, 애플릿 샌드 박스의 시큐리티를 확보하기 위해서 필요합니다. 게다가 애플릿을 신뢰할 수 있어도, ODBC 와 DBMS 클라이언트 라이브러리가 각 클라이언트상에서 설정되어 있을 필요가 있습니다.

### 9.3. 3 테스트가 끝난 구성

Solaris 로부터는, Merant 사제 ODBC 드라이버의 버젼 3.5 를 사용해, 브릿지를 사용해 Oracle 8.1. 5 에 액세스 했습니다. NT 로부터는, Microsoft 사의 최신의 ODBC 드라이버를 사용해, 브릿지를 사용해 SQL Server 6. x 에 액세스 했습니다.

### 9.3. 4 브릿지와 함께 동작하는 것이 확인되고 있는

ODBC 드라이버는, Oracle, Sybase, Informix, Microsoft SQL Server, 및 Ingres 로 사용 가능합니다. MERANT ODBC 드라이버 스위트는, JDBC-ODBC 브릿지와 완전한 호환성이 있습니다. MERANT ODBC 드라이버의 평가 또는 구입에 대해서는,1-800-547-4000 의 옵션 2, 또는 WWW 사이트 `http://www.merant.com` 경유로 MERANT DataDirect Sales 에 연락해 주세요. MS SQL Server 드라이버도 또 NT 상에서 정상적으로 사용할 수 있었습니다. 다른 많은 ODBC 드라이버도 이와 같이 기능합니다.

### 9.3. 5 브릿지에 의해 지원되고 있는 JDBC 의 URL

브릿지 드라이버는 `odbc` 서브 프로토콜을 사용합니다. 이 서브 프로토콜의 URL 는 이하의 형식을 취합니다.

         jdbc:odbc:<data-source-name>[<attribute-name>=<attribute-value>]*

예:

         jdbc:odbc:sybase
         jdbc:odbc:mydb;UID=me;PWD=secret
         jdbc:odbc:ora123;Cachesize=300

### 9.3. 6 디버그

이 브릿지는,`DriverManager` 트레이스가 유효하게 되어 있는 경우, 확장적인 트레이스를 실시합니다. 이하의 코드예로 트레이스가 유효하게 되어 결과는 표준 출력에 출력됩니다.

          java.sql.DriverManager.setLogStream(java.lang.System.out);

## 9.4 브릿지에서 지원되고 있는 JDBC 2.0 API 의 새로운 기능

이 릴리스의 JDBC-ODBC 브릿지 드라이버는, JDBC 2.0 API 의 다음의 새로운 기능을 지원하고 있습니다.

- 배치 갱신
- 갱신 가능한 결과 세트
- 스크롤 가능한 결과 세트
- 새로운 `BigDecimal` 메소드
- 새로운 `Date`,`Time`, 및 `Timestamp` 메소드

브릿지의 현재의 릴리스는 multi-thread의 ODBC 드라이버를 지원하고 있어, 다수의 버그가 수정되고 있습니다.

[선두의 항목] [전의 항목] [다음의 항목]

Copyright © 1996 - 1999 Sun Microsystems, Inc. All rights reserved.