Ouverture de la géodatabase personnelle Esri (* .mdb) à l'aide de QGIS?


12

Est-il possible d'ouvrir une géodatabase personnelle Esri (* .mdb; ArcGIS 10.2) dans QGIS 2.6? Les versions précédentes avaient raison.


3
Avez-vous essayé cela et reçu une erreur ou demandez-vous s'il existe une option pour ouvrir ESRI PGDB dans QGIS 2.6? L'option est disponible dans Couche > Ajouter une couche > Ajouter une couche vectorielle > Base de données > sélectionnez ESRI Personal GeoDatabase comme type
Joseph

Utilisez-vous une version 64 bits de QGIS sous Windows?
nmtoken

J'ai essayé de le faire mais ne me permet pas d'enregistrer le fichier qgis.bat avec les modifications. Une idée? Merci
NandoSC

Réponses:


21

Si vous avez installé une version 64 bits de QGIS sur Windows et que vous trouvez que les géodatabases personnelles (* .mdb) ne fonctionnent plus pour vous, alors cette solution peut s'appliquer; Je suis sur QGIS 2.8.1 plutôt que 2.6, mais je suppose que le problème et donc la solution sont les mêmes.

Le problème sous-jacent est lié à ce bogue GDAL: problème de lecture des MDB (64 bits)

Étape 1

Téléchargez la version 64 bits du pilote ODBC: Microsoft Access Database Engine 2010 Redistributable

Si vous ne disposez pas d'une version 32 bits d'Office, vous pouvez simplement exécuter l'exécutable. Si toutefois vous disposez d'une installation bureautique 32 bits, vous devrez exécuter l'exécutable à partir d'une invite de commande en utilisant l' /passiveoption

Installation du moteur de base de données Access 64 bits 2010 Redistribuable en mode passif

Étape 2

Localisez le fichier qgis.bat (le mien est dedans C:\OSGeo4W64\bin\qgis.batpar exemple).

Ajoutez les deux lignes suivantes:

set OGR_SKIP=ODBC
set PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%%s

Étape 3

Ouvrez QGIS et faites glisser le fichier mdb sur votre espace de travail

Voila!


Cela a fonctionné pour moi sur QGIS 3.0.0 64 bits sur Windows 8.1.
Brian Fisher

7

Si vous avez correctement installé le moteur de base de données Microsoft Access 64 bits, vous pouvez:

Méthode 1 (fonctionne avec QGIS 2)

ajoutez les deux lignes suivantes:

set OGR_SKIP=ODBC
set PGEO_DRIVER_TEMPLATE=DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%%s

dans votre qgis.bat / qgis-grass7.bat / qgis-ltr.bat / qgis-ltr-grass7.bat avant la dernière ligne, c'est généralement quelque chose comme

start "QGIS" /B "%OSGEO4W_ROOT%"\bin\qqis...

[notez qu'il y a deux signes de pourcentage dans la valeur de la variable PGEO_DRIVER_TEMPLATE]

Méthode 2 (fonctionne avec QGIS 3)

Dans le panneau Paramètres QGIS -> Options | Système | L'environnement ajoute les deux variables suivantes:

variable name: OGR_SKIP 
value: ODBC

variable name: PGEO_DRIVER_TEMPLATE 
value: DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s

et cochez la case "Utiliser des variables personnalisées"

[notez que dans ce cas, il n'y a qu'un signe de pourcentage dans la valeur de la variable PGEO_DRIVER_TEMPLATE]

Méthode 3 (fonctionne avec QGIS 2 et QGIS 3)

Dans le panneau Variables d'environnement des paramètres système avancés de Windows, définissez les deux nouvelles variables suivantes en tant que variables utilisateur ou variables système:

variable name: OGR_SKIP 
value: ODBC

variable name: PGEO_DRIVER_TEMPLATE 
value: DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s

[notez que dans ce cas également, il n'y a qu'un signe de pourcentage dans la valeur de la variable PGEO_DRIVER_TEMPLATE]


Pour moi, cela fonctionne pour ESRI .mdb mais je ne suis pas sûr aussi pour geomedia mdb? Tout le monde a de l'expérience sur ce type de fichiers
Roberto Marzocchi

1

La solution proposée fonctionne bien également sur Windows 10. Seule une autre suggestion pour ajouter les deux lignes au fichier qgis.bat.

Les deux lignes se mettent en place. Il est donc important d'ajouter les lignes avant le début de la commande.

C'est probablement mal compris mais si vous n'y faites pas attention, il y a un risque de se tromper.


Comme il s'agit de la réponse la plus récente, je tiens à dire que cela fonctionne, mais je ne peux que charger les classes d'entités (couche vectorielle), mais je ne vois pas comment charger les tables et les relations contenues dans la mdb. Les jeux de données d'entité sont également ignorés.
nanunga
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.