ODBC olmadan Java Access veritabanı manipüle
Microsoft Access veritabanı işlemek istiyorum.accdb veya .dosya mdb) Java projem. Microsoft JDBC-ODBC Köprüsü ve Access ODBC sürücüsü, çünkü kullanmak istemiyorum:
- JDBC-ODBC Köprüsü Java SE 8 kaldırılmış ve (ref: here) desteklenmiyor
- JDBC-ODBC Köprüsü çalışmıyor düzgün ile Access ODBC sürücüsü metin içerir Unicode karakter kodu puan yukarıda U 00FF (ref: here), bu yüzden böyle bir kurulum olmaz yapabiliyor karakterler gibi Yunanca, Rusça, Çince, Arapça, vb.,
- sadece Windows çalışır ODBC Erişimi
- dağıtım için bir sıkıntı olabilir hangi 32-bit ve 64-bit Access Veritabanı Altyapısı sürüm (ve ODBC sürücüsü) ayrı vardır.
Diğer cevaplar Access veritabanları UCanAccess adlı için gerekli OLANLARI bir sürücü söz gördüm. Nasıl Java projem bu yaklaşımı kullanmak için ayarlayabilir miyim?
(Cevaplar Java Access veritabanları ile çalışmak için daha iyi yollar önermek çok da hoş olurdu.)
CEVAP
UCanAccess bizden okuyun ve ODBC kullanmadan Access veritabanlarına yazmak için saf Java JDBC sürücüsüdür. Diğer iki paket Jackcess ve bu görevleri gerçekleştirmek için HSQLDB kullanır. Aşağıdaki kurmak için nasıl kısa bir bakış.
Seçenek 1: Maven Kullanarak
Eğer proje Maven kullanıyorsa sadece şu koordinatları üzerinden UCanAccess içerebilir:
groupİd:net.sf.ucanaccess
artifactİd:ucanaccess
Seçenek 2: Manuel olarak projenize Kavanoz da sözlerine ekledi
Yukarıda da belirtildiği gibi, UCanAccess Jackcess ve HSQLDB gerektirir. Sırayla Jackcess dependencies kendi. Aşağıdaki bileşenleri içermesi gerekir UCanAccess kullanmak için:
UCanAccess () ucanaccess-2.x.x.jar
HSQLDB (hsqldb.jar sürüm 2.2.5 veya daha yeni)
Jackcess () jackcess-2.x.x.jar
commons-lang (commons-lang-2.4.jar veya daha yeni)
commons-logging (commons-logging-1.0.4.jar veya daha yeni)
Neyse ki, UCanAccess dağıtım dosyasında gerekli JAR dosyalarını içerir. Bunu halletmek zaman gibi bir şey göreceksiniz
ucanaccess-2.0.4.jar
lib/commons-lang-2.6.jar
lib/commons-logging-1.1.3.jar
lib/hsqldb.jar
lib/jackcess-2.0.3.jar
Tüm yapmanız gereken projeniz için beş (5) tüm Kavanoz ekleyin.
Eclipse:Sağ Paket Explorer'da proje ve Build Path > Configure Build Path...
seçim. Tıklayın "Dış Kavanoz Ekle..." ayrıca, her beş (5) eklemek için düğme Kavanoz. Java İnşa bitirdiğinizde Yolu bu gibi görünmelidir
Eclipse:Proje için ağaç görünümü sağ tıklayın "kütüphane" ve "JAR/Folder...", sonra JAR dosyasına gidin. Ekle seçin klasör genişletin
Beş (5) ekledikten sonra KAVANOZU "Kitaplıklar" klasörü bu gibi görünmelidir: . dosyaları
İşte bu!
Şimdi "U erişebilirler" veri .accdb ve .mdb dosyaları bu kodu kullanarak
// 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));
}
Açıklama
Ya UCanAccess proje ile ilişkisi hiç bir ilgim yok. Ben sadece bunu kullanın.
Dönüş türü ile Java yöntemi return ifa...
Java arabirim yöntemleri kamuya açık b...
orada java script sorgu dizesi olmadan...
Access veritabanı eklerken engellendi...
ERROR 1044 (42000): Access kullanıcı i...