ODBC없이 Java에서 Access 데이터베이스 조작
Java 프로젝트에서 Microsoft Access 데이터베이스 (.accdb 또는 .mdb 파일)를 조작하고 싶습니다. 다음과 같은 이유로 Microsoft의 JDBC-ODBC 브리지와 Access ODBC 드라이버를 사용하고 싶지 않습니다.
- JDBC-ODBC 브리지가 Java SE 8에서 제거되었으며 지원되지 않습니다 ( 여기 참조 ).
 - 텍스트에 U + 00FF 이상의 코드 포인트를 가진 유니 코드 문자가 포함 된 텍스트 (예 : 여기 ) 가있는 경우 JDBC-ODBC 브리지가 Access ODBC 드라이버에서 제대로 작동하지 않으므로 그리스어, 러시아어, 중국어와 같은 문자를 처리 할 수 없습니다. , 아랍어 등
 - Microsoft의 Access ODBC 드라이버는 Windows에서만 작동하며
 - 32 비트 및 64 비트 버전의 Access 데이터베이스 엔진 (및 ODBC 드라이버)이 배포에 방해가 될 수 있습니다.
 
UCanAccess 라는 Access 데이터베이스 용 JDBC 드라이버를 언급하는 다른 답변을 보았습니다 . 이 접근법을 사용하도록 Java 프로젝트를 설정하려면 어떻게해야합니까?
(Java의 Access 데이터베이스를 사용하는 더 나은 방법을 제안하는 답변도 가장 환영받을 것입니다.)
UCanAccess 는 ODBC를 사용하지 않고 Access 데이터베이스에서 읽고 쓸 수있는 순수 Java JDBC 드라이버입니다. Jackcess 와 HSQLDB 라는 두 가지 다른 패키지 를 사용하여 이러한 작업을 수행합니다. 다음은 설정 방법에 대한 간략한 개요입니다.
옵션 1 : Maven 사용
프로젝트에서 Maven 을 사용 하는 경우 다음 좌표를 통해 UCanAccess를 간단히 포함 할 수 있습니다.
groupId : net.sf.ucanaccess 
 artifactId : ucanaccess
다음은에서 발췌 한 것입니다 pom.xml. <version>최신 릴리스를 받으려면를 업데이트해야 할 수도 있습니다 .
  <dependencies>
    <dependency>
        <groupId>net.sf.ucanaccess</groupId>
        <artifactId>ucanaccess</artifactId>
        <version>4.0.4</version>
    </dependency>
  </dependencies>
 
옵션 2 : 프로젝트에 JAR을 수동으로 추가
위에서 언급했듯이 UCanAccess에는 Jackcess 및 HSQLDB가 필요합니다. Jackcess는 또한 그 자신의 의존성을 가지고 있습니다. UCanAccess를 사용하려면 다음 구성 요소를 포함해야합니다.
UCanAccess (ucanaccess-xxxjar) 
 HSQLDB (hsqldb.jar, 버전 2.2.5 이상) 
 Jackcess (jackcess-2.xxjar) 
 commons-lang (commons-lang-2.6.jar 또는 최신 2.x 버전 ) 
 commons-logging ( commons-logging-1.1.1.jar 또는 최신 1.x 버전 )
다행히 UCanAccess는 배포 파일에 필요한 모든 JAR 파일을 포함합니다. 압축을 풀면 다음과 같은 내용이 표시됩니다
ucanaccess-4.0.1.jar  
  /lib/
    commons-lang-2.6.jar  
    commons-logging-1.1.1.jar  
    hsqldb.jar  
    jackcess-2.1.6.jar
 
5 개의 JAR 파일을 모두 프로젝트에 추가 하기 만하면됩니다.
참고 : 마십시오 하지 추가
loader/ucanload.jar당신이 다른 5 JAR 파일을 추가하는 경우 빌드 경로에. 이UcanloadDriver클래스는 특별한 상황에서만 사용되며 다른 설정이 필요합니다. 자세한 내용은 여기 에서 관련 답변 을 참조하십시오.
Eclipse : 패키지 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고을 선택하십시오 Build Path > Configure Build Path.... "외부 JAR 추가 ..."단추를 클릭하여 5 개의 JAR 각각을 추가하십시오. 완료되면 Java 빌드 경로는 다음과 같아야합니다.
NetBeans: Expand the tree view for your project, right-click the "Libraries" folder and choose "Add JAR/Folder...", then browse to the JAR file.

After adding all five (5) JAR files the "Libraries" folder should look something like this:

IntelliJ IDEA: Choose File > Project Structure... from the main menu. In the "Libraries" pane click the "Add" (+) button and add the five (5) JAR files. Once that is done the project should look something like this:
That's it!
Now "U Can Access" data in .accdb and .mdb files using code like this
// assumes...
//     import java.sql.*;
Connection conn=DriverManager.getConnection(
        "jdbc:ucanaccess://C:/__tmp/test/zzz.accdb");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT [LastName] FROM [Clients]");
while (rs.next()) {
    System.out.println(rs.getString(1));
}
 
Disclosure
At the time of writing this Q&A I had no involvement in or affiliation with the UCanAccess project; I just used it. I have since become a contributor to the project.
참고URL : https://stackoverflow.com/questions/21955256/manipulating-an-access-database-from-java-without-odbc
'IT박스' 카테고리의 다른 글
| Google OAuth 2.0 API의 범위 목록은 어디에서 찾을 수 있습니까? (0) | 2020.08.04 | 
|---|---|
| Tortoise의 비 재귀 커밋은 어떻게 작동합니까? (0) | 2020.08.04 | 
| 팬더 열에 특정 값이 포함되어 있는지 확인하는 방법 (0) | 2020.08.04 | 
| Team Foundation 작업 항목 유형의 제품 백 로그 항목과 기능의 차이점 (0) | 2020.08.04 | 
| HTML5 로컬 스토리지 대체 솔루션 (0) | 2020.08.04 | 

