Chcę manipulować bazą danych Microsoft Access (plik accdb lub mdb) z mojego projektu Java. Nie chcę używać mostka JDBC-ODBC Bridge i sterownika Access ODBC firmy Microsoft, ponieważ:
- most JDBC-ODBC został usunięty z Java SE 8 i nie jest obsługiwany (ref: tutaj ),
- Most JDBC-ODBC nie działa poprawnie ze sterownikiem Access ODBC, gdy tekst zawiera znaki Unicode z punktami kodowymi powyżej U + 00FF (ref: tutaj ), więc taka konfiguracja nie byłaby w stanie obsłużyć takich znaków jak grecki, rosyjski, chiński , Arabski itp.,
- sterownik Access ODBC firmy Microsoft działa tylko w systemie Windows, a
- istnieją oddzielne 32-bitowe i 64-bitowe wersje aparatu Access Database Engine (i sterownika ODBC), które mogą być uciążliwe podczas wdrażania.
Widziałem inne odpowiedzi dotyczące sterownika JDBC dla baz danych Access o nazwie UCanAccess . Jak mogę skonfigurować projekt Java do korzystania z tego podejścia?
(Mile widziane byłyby również odpowiedzi sugerujące lepsze sposoby pracy z bazami danych Access w języku Java).
java
ms-access
ucanaccess
Gord Thompson
źródło
źródło
Odpowiedzi:
UCanAccess to czysty sterownik Java JDBC, który umożliwia nam odczytywanie i zapisywanie w bazach danych Access bez korzystania z ODBC. Do wykonywania tych zadań używa dwóch innych pakietów, Jackcess i HSQLDB . Poniżej znajduje się krótki przegląd tego, jak go skonfigurować.
Opcja 1: Korzystanie z Mavena
Jeśli Twój projekt korzysta z Maven , możesz po prostu dołączyć UCanAccess za pomocą następujących współrzędnych:
groupId: net.sf.ucanaccess
artifactId: ucanaccess
Poniżej znajduje się fragment z
pom.xml
, może być konieczna aktualizacja,<version>
aby uzyskać najnowszą wersję:Opcja 2: Ręczne dodawanie plików JAR do projektu
Jak wspomniano powyżej, UCanAccess wymaga Jackcess i HSQLDB. Jackcess z kolei ma swoje własne zależności . Aby korzystać z UCanAccess, musisz dołączyć następujące komponenty:
UCanAccess (ucanaccess-xxxjar)
HSQLDB (hsqldb.jar, wersja 2.2.5 lub nowsza)
Jackcess (jackcess-2.xxjar)
commons-lang (commons-lang-2.6.jar lub nowsza wersja 2.x )
commons-logging ( commons-logging-1.1.1.jar lub nowsza wersja 1.x )
Na szczęście UCanAccess zawiera wszystkie wymagane pliki JAR w swoim pliku dystrybucyjnym. Po rozpakowaniu zobaczysz coś takiego jak
Wszystko, co musisz zrobić, to dodać wszystkie pięć (5) plików JAR do swojego projektu.
Eclipse: kliknij prawym przyciskiem myszy projekt w Eksploratorze pakietów i wybierz
Build Path > Configure Build Path...
. Kliknij przycisk „Dodaj zewnętrzne pliki JAR ...”, aby dodać każdy z pięciu (5) plików JAR. Kiedy skończysz, Twoja ścieżka budowania Java powinna wyglądać mniej więcej takNetBeans: Rozwiń widok drzewa swojego projektu, kliknij prawym przyciskiem myszy folder „Biblioteki” i wybierz opcję „Dodaj JAR / folder ...”, a następnie przejdź do pliku JAR.
Po dodaniu wszystkich pięciu (5) plików JAR folder „Biblioteki” powinien wyglądać mniej więcej tak:
IntelliJ IDEA: Wybierz
File > Project Structure...
z menu głównego. W panelu „Biblioteki” kliknij przycisk „Dodaj” (+
) i dodaj pięć (5) plików JAR. Gdy to zrobisz, projekt powinien wyglądać mniej więcej tak:Otóż to!
Teraz dane „U Can Access” w plikach accdb i .mdb przy użyciu takiego kodu
Ujawnienie
W czasie pisania tego pytania i odpowiedzi nie byłem zaangażowany ani powiązany z projektem UCanAccess; Po prostu go użyłem. Od tego czasu stałem się współtwórcą projektu.
źródło
net.ucanaccess.jdbc.UcanaccessDriver