41 votes

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

J'ai un fichier .accdb créé avec Microsoft Office 2010 et je veux savoir s'il est possible de l'ouvrir avec une application native Ubuntu comme LibreOffice ou OpenOffice. Je sais que LibreOffice a LibreOffice Base, mais je ne peux pas trouver comment l'ouvrir ou si c'est même possible d'ouvrir un fichier .accdb.

Existe-t-il un moyen d'ouvrir un fichier .accdb sans Wine ou VirtualBox?

61voto

Grommit Points 501

Oui, nous pouvons utiliser le pilote JDBC UCanAccess pour se connecter aux bases de données Access (.mdb et .accdb) dans LibreOffice Base. Voici comment je l'ai fait sur une installation propre 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 d'UCanAccess, disponible ici.

Configuration à Faire une Fois

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

sudo apt-get install libreoffice-base

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

~/Téléchargements/JDBC/UCanAccess

HomeFolder.png

Remarque: Lors de la décompression du fichier de distribution, assurez-vous de spécifier "Conserver la structure des répertoires" (ou similaire, en fonction de votre outil de décompression) pour que la structure des dossiers apparaisse comme dans la capture d'écran ci-dessus.

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

LibreOffice.png

et j'ai choisi Outils > Options

ToolsOptions.png

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

ClassPathButton.png

puis j'ai ajouté le fichier JAR suivant en utilisant le bouton "Ajouter Archive...":

/home/gord/Téléchargements/JDBC/UCanAccess/loader/ucanload.jar

ClassPathDialog.png

Notez qu'il s'agit de ucanload.jar dans le sous-dossier loader/, pas de "ucanaccess-x.y.z.jar" dans le dossier racine UCanAccess.

Important: Vous devez fermer et réouvrir tous les composants LibreOffice (ou OpenOffice.org) pour que la nouvelle valeur "Chemin de classe..." prenne effet. Cela inclut toutes les fonctionnalités de "démarrage rapide" ou autres processus liés. (Si vous voulez jouer la sécurité, redémarrez simplement votre machine.)

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, donc à l'Étape 2 le "URL de la source de données" était ...

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

(notez que Base fournit le préfixe jdbc: pour nous, donc tout ce que nous devons entrer est le reste de l'URL à partir de ucanaccess: ...)

... et le "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 simplement 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 s'est terminé, il a ouvert ma base de données LibreOffice et j'ai pu voir les tables et les requêtes enregistrées dans le fichier .accdb

BaseMainWindow.png

Dépannage

Si vous utilisez une distribution qui installe LibreOffice Base par défaut (par exemple, Linux Mint), vous pouvez rencontrer l'erreur

La connexion à la source de données "MaBaseDeDonnées" n'a pas pu être établie.

'org.hsqldb.persist.HsqlProperties org.hsqldb.DatabaseURL.parseURL(java.lang.String, boolean, boolean)'

Cela est dû au fait que LibreOffice a installé sa propre copie (assez ancienne) de HSQLDB qui entre en conflit avec UCanAccess. Pour résoudre cela, supprimez la copie de LibreOffice de HSQLDB. Par exemple, sur Linux Mint cela serait

sudo apt remove libhsqldb1.8.0-java

De plus, si LibreOffice Base ne fonctionne pas pour une raison quelconque, vous pouvez utiliser DBeaver à la place. L'installation de l'édition (gratuite) Community est aussi simple que

sudo snap install dbeaver-ce

11voto

Bob Points 940

Comme mentionné ici, il est indiqué qu'il prend en charge les fichiers Access mais si nous creusons plus profondément, ils n'ont testé que jusqu'à Office 2007 dans LibreOffice.

Puisque vous avez un Office 2010, je vous suggérerais d'essayer ce lien puisque d'autres utilisateurs, vu ceci, ont déjà essayé.

De plus, la compatibilité indiquée ici montre à quel point LibreOffice Base est bon en relation avec Microsoft Access 2010. Au moins jusqu'à la version 3.6.

Il y a aussi une question sur le site Ask Libreoffice à propos de cela qui mentionne ce lien où il est dit que le format 2007 est différent de celui de 2010 donc il ne fonctionnera 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 en format MDB. Du moins en attendant que LibreOffice travaille sur l'amélioration de la compatibilité avec 2010 en général.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X