Wie Verbinde UCanAccess zu einer Access-Datenbank verschlüsselt und mit einem Kennwort für die Datenbank?
Habe ich entwickelt, eine Java-Anwendung (ein Wörterbuch) mit einer Access-Datenbank zum speichern der Wörter des Wörterbuchs durch und ich bin immer bereit, Sie zu verteilen.
Ich verschlüsseln will meine Datenbank mit einem Passwort, um zu verhindern, dass Menschen der Zugang zu meinen Worten.
Wenn ich die Passwörter der Java-code zeigt diese Ausnahme
net.ucanaccess.jdbc.UcanaccessSQLException: Decoding not supported. Please choose a CodecProvider which supports reading the current database encoding.
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:247)
Hier ist meine Verbindungs-code vor der Verschlüsselung meiner Datenbank mit einem Kennwort ....
String s1="jdbc:ucanaccess://";
String user="";
String pass="";
String s4="words.accdb";
public void connectToDB(){
//database connection
try {
conn = DriverManager.getConnection(s1+s4,user,pass);
} catch (SQLException e) {
e.printStackTrace();
}
//end of database connection
}
Hier ist der code, der nach der Verschlüsselung mit Passwort z.B. 12345...
String s1="jdbc:ucanaccess://";
String user="";
String pass="12345";
String s4="words.accdb";
public void connectToDB(){
//database connection
try {
conn = DriverManager.getConnection(s1+s4,user,pass);
} catch (SQLException e) {
e.printStackTrace();
}
//end of database connection
}
InformationsquelleAutor | 2015-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schritte, Wie man zu verbinden UCanAccess zu einer Access-Datenbank verschlüsselt und mit einem Kennwort für die Datenbank
Schritt 1:
Fügen Sie diese beiden Pakete, die zu Ihrem Projekt (jackcess-encrypt.jar, bcprov-ext-jdk15on-152)
Können Sie download die zwei Pakete von den folgenden links:
Jackcess Encrypt
Hüpfburg
Schritt 2:
Sie haben, fügen Sie diese Klasse zu Ihrem Projekt-Ordner
wie diese
Schritt 3:
verwenden Sie die folgenden Anschluss-code
Sie können auch dieses video ansehen...https://www.youtube.com/watch?v=TT6MgBBkRSE
InformationsquelleAutor Hamreen Ahmad
UCanaccess Verschlüsselung unterstützt durch die Abhängigkeiten injection-Muster.
-Sie jackcess-verschlüsseln und alle damit verbundenen Abhängigkeiten zu Ihrem Projekt
-Müssen Sie code, der eine Klasse Umsetzung der
net.ucanaccess.jdbc.JackcessOpenerInterface
wie vorgeschlagen in der ucanaccess Website-Sie müssen übergeben Sie den Namen der obigen Klasse in der jdbc-url:
wenn Sie mit dem Namen der Implementierungsklasse
com.pippo.Bingo
dann bauen Sie die jdbc-url, die in dieser Weise:
und ich möchte Ihnen helfen. Sie müssen nur kopieren Sie die Klasse, die JackcessOpenerInterface, zeigte sich in den ucanaccess Website, Ihren Namen ändern, übergeben Sie die gewählten (vollständigen )Namen in der jdbc-url z.B. jdbc:ucanaccess://c:/db/your_db_name.mdb;jackcessOpener=com.die komplette.Name; UCanAccess wird die Methode open aufrufen.
siehe auch meine Antwort im ucanaccess forum(bei sourceforge neu erhältlich)
nun zeigt es diese Ausnahme
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/crypto/InvalidCipherTextException at com.healthmarketscience.jackcess.CryptCodecProvider.createHandler(CryptCodecProvider.java:114)
von der Rückkehr in den offenen methodereturn dbd.open();
Dank, den ich gegründet habe, die Lösung, die ist, müssen wir hinzufügen, eine weitere jar-Datei
http://www.bouncycastle.org/latest_releases.html
vielen Dank.................InformationsquelleAutor jamadei
Ihre Verbindung zum jdbc-Treiber (s1) scheint ungültig zu sein.
Blick auf die Muster, die ich gefunden, während googleing es aus diese Website
Hier ist ein Beispiel aus eine Website
Bitte nicht, dass Sie haben, ändern Sie die Zeichenfolge durch Austausch von teilen mit, dass Ihre Anmeldeinformationen
Wenn es entfernt wird, warum sind Sie immer noch mit MSAccess? Können Sie uns sagen warum Sie nicht verwenden können, eine Reine java-Lösung?
InformationsquelleAutor rmbl
Ich davon aus, dass Sie das Datenbank-Passwort innerhalb von MSAccess verschlüsselt.
Um die Verbindung zu diesem Typ der Datenbank, müssen Sie die richtige Verbindungszeichenfolge und die Verbindung über odbc.
Hier ist ein link, um die Verbindungszeichenfolgen für MSAccess
https://www.connectionstrings.com/access/
Einen guten Beitrag zum Thema kann hier gefunden werden Wie kann ich ein Passwort, um diesen JDBC:ODBC connection string, der versucht, eine Verbindung zu einer MS Access-Datenbank
Ich würde vorschlagen, dass Sie eine andere Art der eingebetteten Datenbank, die all dies zu tun für java. Verwenden h2, die weit besser Reine java-Lösung
http://www.h2database.com/html/main.html
code-Beispiel
Wo sind die Datenbank-Dateien Gespeichert?
Bei der Verwendung von Datenbank-URL wie jdbc:h2:~/test wird die Datenbank gespeichert, die im Benutzer-Verzeichnis. Für Windows ist dies in der Regel C:\Documents und Einstellungen\ oder C:\Users\.
Wenn das Basis-Verzeichnis ist nicht gesetzt (wie im jdbc:h2:test), die Datenbank-Dateien werden in dem Verzeichnis abgelegt, wo das Programm gestartet wird (das aktuelle Arbeitsverzeichnis).
Bei der Verwendung der H2-Console Anwendung aus dem Startmenü, das ist /bin. Das Basis-Verzeichnis kann eingestellt werden, in der Datenbank-URL. Einen festen oder relativen Pfad verwendet werden kann.
Wenn über den URL jdbc:h2:file:data/sample die Datenbank gespeichert ist, in das Verzeichnis Daten (relativ zum aktuellen Arbeitsverzeichnis). Das Verzeichnis wird automatisch erstellt, falls es noch nicht vorhanden ist.
Es ist auch möglich, verwenden Sie den vollständig qualifizierten Verzeichnisnamen (und für Windows -, Antriebs-Namen). Beispiel: jdbc:h2:file:C:/Daten/test
Übergeben Sie den Benutzernamen und/oder Passwort in der URL
Statt der übergabe den Benutzernamen mit einem separaten parameter wie in
Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");
Benutzernamen und/oder Passwort) können geliefert werden in der URL selbst:
Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");
was ist jackcess-verschlüsseln???
Warum brauchen Sie MSAccess überhaupt? Verwenden H2
ich weiß nicht, es verwenden : )
Ich kann Ihnen helfen, es zu benutzen ... gib mir einen moment, um code für Sie
InformationsquelleAutor Constantin