Est-il possible d'ouvrir un fichier de base de données Access 2010 sans utiliser Wine ou VirtualBox?

38

J'ai un .accdbfichier créé avec Microsoft Office 2010 et je veux savoir s'il est possible de l'ouvrir avec une application native Ubuntu telle que LibreOffice ou OpenOffice. Je sais que LibreOffice l'a fait, LibreOffice Basemais je ne sais pas comment l'ouvrir, ni même s'il est possible. ouvrir un .accdbfichier.

Puis-je ouvrir un .accdbfichier sans Wine ou VirtualBox?

Jeggy
la source

Réponses:

11

Comme mentionné ici, il est indiqué qu'il prend en charge les fichiers Access, mais si nous examinons plus en profondeur, ils n'ont été testés que dans Office Libre jusqu'à Office 2007.

Puisque vous avez un Office 2010 Je suggère d' essayer ce lien depuis d' autres utilisateurs par le regard de ce ont déjà essayé.

De plus, la compatibilité montrée ici indique la qualité de LibreOffice Base par rapport à Microsoft Access 2010. Au moins jusqu'à la version 3.6.

Il y a également une question sur le site Ask Libreoffice à ce sujet qui mentionne ce lien où il est dit que le format 2007 est différent de 2010 et qu'il ne fonctionnera donc pas correctement dans LibreOffice 3.6 ou inférieur.

Ma seule recommandation qui n'inclut pas Wine ou VirtualBox serait d'utiliser MS Office 2010 pour enregistrer le fichier Access en tant que version 2007 (si possible) ou au format MDB. Au moins pendant que LibreOffice travaille à améliorer la compatibilité avec 2010 en général.

Luis Alvarado
la source
1
J'ai remarqué cette ligne ici : 'driver olders limité "Microsoft.Jet.OLEDB.4.0" fonctionne très bien en lecture / écriture, alors que le pilote "Microsoft.ACE.OLEDB.12.0" lit uniquement; ( fdo # 43187 ). Le pilote ne fonctionne que sous Windows . ' - super ...
Wilf
51

Oui, nous pouvons utiliser le pilote JDBC UCanAccess pour vous connecter aux bases de données Access (.mdb et .accdb) dans LibreOffice Base. Voici comment je l'ai fait sur une nouvelle installation d'Ubuntu 14.04 LTS.

Remarque importante:  Ces instructions s'appliquent à UCanAccess version 3.0.5 et ultérieure (y compris la version 4.x). Avant de continuer, vérifiez que vous utilisez la dernière version de UCanAccess, disponible ici .

Configuration unique

Tout d'abord, j'ai installé LibreOffice Base

sudo apt-get install libreoffice-base

Ensuite, j'ai téléchargé UCanAccess ( bin.zipfichier) et l' ai décompressé dans le dossier.

~/Downloads/JDBC/UCanAccess

HomeFolder.png

Remarque: lors de la décompression du fichier de distribution, veillez à spécifier "Conserver la structure du répertoire" (ou similaire, selon votre outil de décompression) afin que la structure du dossier apparaisse comme dans la capture d'écran ci-dessus.

J'ai lancé LibreOffice (pas Base, mais LibreOffice lui-même)

LibreOffice.png

et choisi Outils> Options

ToolsOptions.png

Sur l'onglet Avancé, j'ai cliqué sur le bouton "Chemin de la classe ..."

ClassPathButton.png

puis ajouté le fichier JAR suivant à l’aide du bouton "Ajouter une archive ...":

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

ClassPathDialog.png

Notez qu'il s'agit de ucanload.jar dans le chargeur / sous - dossier et non de "ucanaccess-xyzjar" dans le dossier principal d'UCanAccess.

Important: vous devez fermer et rouvrir tous les composants LibreOffice (ou OpenOffice.org) pour que la nouvelle valeur "Chemin de classe ..." entre en vigueur. Cela inclut toutes les fonctionnalités de "démarrage rapide" ou autres processus connexes. (Si vous voulez jouer en toute sécurité, redémarrez simplement votre ordinateur.)

Configuration par base de données

J'ai lancé LibreOffice Base et, à l'étape 1 de l'assistant, j'ai choisi "Se connecter à une base de données existante (JDBC)".

ExistingDatabase.png

Le fichier Access que je voulais manipuler s'appelait "uca301demo.accdb" dans mon dossier Documents. Ainsi, à l'étape 2, "URL de la source de données" était

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

et la "classe de pilote JDBC" était

net.ucanaccess.jdbc.UcanloadDriver

BaseJdbcPage.png

À l'étape 3, j'ai laissé le champ "Nom d'utilisateur" vide et j'ai juste cliqué sur "Suivant >>".

À l'étape 4, j'ai enregistré la base de données LibreOffice Base sous le nom "accdbTest.odb" dans mon dossier Documents.

Lorsque l’assistant a terminé, il a ouvert la base de données LibreOffice. Je pouvais voir les tables et enregistrer les requêtes dans le fichier .accdb.

BaseMainWindow.png

Gord Thompson
la source
Excellent travail Gord. Une idée si cela utilise des pilotes existants? Je ne parviens pas à importer cela dans mon logiciel de statistiques pour importer Access Tables :)
AdamO
Brillant! Mais je devais ajouter jackcess-2.1.4.jar et hsqldb.jar à mon chemin de classe java. (Je l'ai fait en les mettant dans jdk / jre / lib / ext) Avant cela, je continuais à recevoir un message d'erreur disant que le pilote était corrompu.
Lance Holland
Cela fonctionne toujours pour LibreOffice 6.2! Merci!
StR