Ist es möglich, eine Access 2010-Datenbankdatei ohne Wine oder VirtualBox zu öffnen?

38

Ich habe eine .accdbDatei mit Microsoft Office 2010 erstellt und möchte wissen, ob es möglich ist, sie mit einer nativen Ubuntu-Anwendung wie LibreOffice oder OpenOffice zu öffnen. Ich weiß, dass LibreOffice eine Datei hat LibreOffice Base, kann aber nicht herausfinden, wie oder ob es überhaupt möglich ist eine .accdbDatei öffnen .

Kann ich eine .accdbDatei auch ohne Wine oder VirtualBox öffnen ?

Jeggy
quelle

Antworten:

11

Wie hier erwähnt , werden Access-Dateien unterstützt, aber wenn wir genauer hinschauen, wurden sie nur in LibreOffice bis Office 2007 getestet.

Da Sie ein Office 2010 haben, würde ich vorschlagen, diesen Link auszuprobieren, da andere Benutzer dies anscheinend bereits versucht haben.

Die hier gezeigte Kompatibilität zeigt außerdem , wie gut LibreOffice Base in Bezug auf Microsoft Access 2010 ist. Zumindest bis Version 3.6.

Es gibt auch eine Frage auf der Ask Libreoffice-Site zu diesem Thema , die diesen Link erwähnt , in dem angegeben wird, dass sich das 2007-Format von 2010 unterscheidet, sodass es in LibreOffice 3.6 oder niedriger nicht ordnungsgemäß funktioniert.

Meine einzige Empfehlung, die Wine oder VirtualBox nicht enthält, wäre, MS Office 2010 zum Speichern der Access-Datei als 2007-Version (falls möglich) oder als MDB-Format zu verwenden. Zumindest während LibreOffice daran arbeitet, die Kompatibilität mit 2010 im Allgemeinen zu verbessern.

Luis Alvarado
quelle
1
Ich bemerkte diese Zeile hier : 'Limited Olders Driver "Microsoft.Jet.OLEDB.4.0" funktioniert gut für Lesen / Schreiben, während "Microsoft.ACE.OLEDB.12.0" Treiber nur liest; ( fdo # 43187 ). Treiber funktioniert nur unter Windows . ' - Großartig ...
Wilf
51

Ja, wir können den UCanAccess- JDBC-Treiber verwenden, um eine Verbindung zu Access-Datenbanken (.mdb und .accdb) in LibreOffice Base herzustellen. Hier ist, wie ich es bei einer Neuinstallation von Ubuntu 14.04 LTS gemacht habe.

Wichtiger Hinweis:  Diese Anweisungen gelten für UCanAccess Version 3.0.5 und höher (einschließlich Version 4.x). Stellen Sie vor dem Fortfahren sicher, dass Sie die neueste Version von UCanAccess verwenden, die hier verfügbar ist .

Einmalige Einrichtung

Zuerst habe ich LibreOffice Base installiert

sudo apt-get install libreoffice-base

Dann habe ich UCanAccess ( bin.zipDatei) heruntergeladen und in den Ordner entpackt

~/Downloads/JDBC/UCanAccess

HomeFolder.png

Hinweis: Wenn Sie die Verteilungsdatei entpacken, müssen Sie "Verzeichnisstruktur beibehalten" (oder Ähnliches, abhängig von Ihrem Entpackungsprogramm) angeben, damit die Ordnerstruktur wie im obigen Screenshot angezeigt wird.

Ich habe LibreOffice gestartet (nicht Base, sondern LibreOffice selbst)

LibreOffice.png

und wählte Extras> Optionen

ToolsOptions.png

Auf der Registerkarte Erweitert habe ich auf die Schaltfläche "Klassenpfad ..." geklickt

ClassPathButton.png

und fügte dann die folgende JAR-Datei über die Schaltfläche "Archiv hinzufügen ..." hinzu:

/home/gord/Downloads/JDBC/UCanAccess/loader/ucanload.jar

ClassPathDialog.png

Beachten Sie, dass dies ucanload.jar im Lade- / Unterordner und nicht "ucanaccess-xyzjar" im UCanAccess-Basisordner ist.

Wichtig: Sie müssen alle LibreOffice- (oder OpenOffice.org-) Komponenten schließen und erneut öffnen, damit der neue Wert für "Klassenpfad ..." wirksam wird. Dies schließt alle "Schnellstart" -Funktionen oder andere verwandte Prozesse ein. (Wenn Sie auf Nummer sicher gehen möchten, starten Sie einfach Ihren Computer neu.)

Datenbank-Setup

Ich habe LibreOffice Base gestartet und in Schritt 1 des Assistenten "Mit einer vorhandenen Datenbank verbinden (JDBC)" ausgewählt.

ExistingDatabase.png

Die Access-Datei, die ich bearbeiten wollte, wurde in meinem Ordner "Documents" als "uca301demo.accdb" bezeichnet. In Schritt 2 lautete die "Datenquellen-URL"

jdbc:ucanaccess:///home/gord/Documents/uca301demo.accdb

und die "JDBC-Treiberklasse" war

net.ucanaccess.jdbc.UcanloadDriver

BaseJdbcPage.png

In Schritt 3 habe ich das Feld "Benutzername" leer gelassen und einfach auf "Weiter >>" geklickt.

In Schritt 4 habe ich die LibreOffice Base-Datenbank als "accdbTest.odb" in meinem Ordner "Dokumente" gespeichert.

Als der Assistent fertig war, öffnete er meine LibreOffice-Datenbank und ich konnte die Tabellen und gespeicherten Abfragen in der .accdb-Datei sehen

BaseMainWindow.png

Gord Thompson
quelle
Großartige Arbeit, Gord. Irgendeine Idee, ob dies vorhandene Treiber verwendet? Ich habe Probleme, dies in meine Statistiksoftware zum Importieren von Zugriffstabellen zu bekommen :)
AdamO
Brillant! Aber ich musste jackcess-2.1.4.jar und hsqldb.jar zu meinem Java-Klassenpfad hinzufügen. (Ich tat dies, indem ich sie in jdk / jre / lib / ext einfügte.) Vorher erhielt ich eine Fehlermeldung, dass der Treiber beschädigt war.
Lance Holland
Dies funktioniert immer noch für LibreOffice 6.2! Danke!
StR