Saya ingin memanipulasi database Microsoft Access (file .accdb atau .mdb) dari proyek Java saya. Saya tidak ingin menggunakan JDBC-ODBC Bridge dan Access ODBC driver dari Microsoft karena:
- Jembatan JDBC-ODBC telah dihapus dari Java SE 8 dan tidak didukung (ref: di sini ),
- Jembatan JDBC-ODBC tidak berfungsi dengan baik dengan driver Access ODBC ketika teks menyertakan karakter Unicode dengan poin kode di atas U + 00FF (ref: di sini ), jadi penyiapan seperti itu tidak akan dapat menangani karakter seperti Yunani, Rusia, Cina , Arab, dll.,
- driver Access ODBC dari Microsoft hanya bekerja di Windows, dan
- ada versi 32-bit dan 64-bit terpisah dari Access Database Engine (dan driver ODBC) yang dapat mengganggu penerapan.
Saya telah melihat jawaban lain yang menyebutkan driver JDBC untuk database Access bernama UCanAccess . Bagaimana cara menyiapkan proyek Java saya untuk menggunakan pendekatan ini?
(Jawaban yang menyarankan cara yang lebih baik untuk bekerja dengan database Access dari Java juga akan sangat disambut.)
java
ms-access
ucanaccess
Gord Thompson
sumber
sumber
Jawaban:
UCanAccess adalah driver Java JDBC murni yang memungkinkan kita membaca dari dan menulis ke database Access tanpa menggunakan ODBC. Ini menggunakan dua paket lain, Jackcess dan HSQLDB , untuk melakukan tugas-tugas ini. Berikut ini adalah ikhtisar singkat tentang cara menyiapkannya.
Opsi 1: Menggunakan Maven
Jika proyek Anda menggunakan Maven, Anda cukup memasukkan UCanAccess melalui koordinat berikut:
groupId: net.sf.ucanaccess
artifactId: ucanaccess
Berikut ini adalah kutipan dari
pom.xml
, Anda mungkin perlu memperbarui<version>
untuk mendapatkan rilis terbaru:Opsi 2: Menambahkan JAR ke proyek Anda secara manual
Seperti disebutkan di atas, UCanAccess membutuhkan Jackcess dan HSQLDB. Jackcess pada gilirannya memiliki ketergantungannya sendiri . Jadi untuk menggunakan UCanAccess Anda perlu menyertakan komponen berikut:
UCanAccess (ucanaccess-xxxjar)
HSQLDB (hsqldb.jar, versi 2.2.5 atau yang lebih baru)
Jackcess (jackcess-2.xxjar)
commons-lang (commons-lang-2.6.jar, atau versi 2.x yang lebih baru )
commons-logging ( commons-logging-1.1.1.jar, atau versi 1.x yang lebih baru )
Untungnya, UCanAccess menyertakan semua file JAR yang diperlukan dalam file distribusinya. Saat Anda membuka ritsletingnya, Anda akan melihat sesuatu seperti
Yang perlu Anda lakukan adalah menambahkan kelima (5) JAR ke proyek Anda.
Eclipse: Klik kanan proyek di Package Explorer dan pilih
Build Path > Configure Build Path...
. Klik tombol "Tambah JAR Eksternal ..." untuk menambahkan masing-masing dari lima (5) JAR. Setelah Anda selesai, Path Build Java Anda akan terlihat seperti iniNetBeans: Perluas tampilan struktur pohon untuk proyek Anda, klik kanan folder "Libraries" dan pilih "Add JAR / Folder ...", lalu telusuri file JAR.
Setelah menambahkan kelima (5) file JAR, folder "Libraries" akan terlihat seperti ini:
IntelliJ IDEA: Pilih
File > Project Structure...
dari menu utama. Pada panel "Libraries", klik tombol "Add" (+
) dan tambahkan lima (5) file JAR. Setelah selesai, proyek akan terlihat seperti ini:Itu dia!
Sekarang data "U Can Access" dalam file .accdb dan .mdb menggunakan kode seperti ini
Penyingkapan
Pada saat menulis T&J ini, saya tidak terlibat atau berafiliasi dengan proyek UCanAccess; Saya baru saja menggunakannya. Sejak itu saya menjadi kontributor proyek.
sumber
net.ucanaccess.jdbc.UcanaccessDriver