Aprire Esri Personal Geodatabase (* .mdb) usando QGIS?


12

È possibile aprire un Geodatabase personale Esri (* .mdb; ArcGIS 10.2) in QGIS 2.6? Le versioni precedenti avevano ragione.


3
Hai provato questo e hai ricevuto un errore o stai chiedendo se è disponibile un'opzione per aprire ESRI PGDB in QGIS 2.6? L'opzione è disponibile in Livello > Aggiungi livello > Aggiungi livello vettoriale > Database > seleziona ESD GeoDatabase personale come tipo
Joseph

Stai utilizzando la versione a 64 bit di QGIS su Windows?
nmtoken,

Ho provato a farlo, ma non mi consente di salvare il file qgis.bat con le modifiche. Qualche idea? Grazie
NandoSC,

Risposte:


21

Se hai installato una versione a 64 bit di QGIS su Windows e scopri che i GeoDatabase personali (* .mdb) non funzionano più per te, questa soluzione potrebbe applicarsi; Sono su QGIS 2.8.1 anziché 2.6, ma presumo che il problema e quindi la soluzione sia la stessa.

Il problema di fondo riguarda questo bug GDAL: Problema nella lettura degli MDB (64 bit)

Passo 1

Scarica la versione a 64 bit del driver ODBC: Microsoft Access Database Engine 2010 ridistribuibile

Se non hai installato una versione a 32 bit di Office, puoi semplicemente eseguire il file eseguibile. Se tuttavia si dispone di un'installazione per ufficio a 32 bit, sarà necessario eseguire l'eseguibile da un prompt dei comandi utilizzando l' /passiveopzione

Installazione di Access Database Engine 2010 a 64 bit ridistribuibile in modalità passiva

Passo 2

Individua il file qgis.bat (il mio è C:\OSGeo4W64\bin\qgis.batad esempio).

Aggiungi le seguenti due righe:

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

Passaggio 3

Apri QGIS e trascina il file mdb nell'area di lavoro

Ecco!


Questo ha funzionato per me su QGIS 3.0.0 a 64 bit su Windows 8.1.
Brian Fisher,

7

Se hai installato correttamente il Motore di database di Microsoft Access a 64 bit, puoi:

Metodo 1 (funziona con QGIS 2)

aggiungere le seguenti due righe:

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

nel tuo qgis.bat / qgis-grass7.bat / qgis-ltr.bat / qgis-ltr-grass7.bat prima dell'ultima riga, che di solito è qualcosa di simile

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

[nota che ci sono due segni di percentuale nel valore della variabile PGEO_DRIVER_TEMPLATE]

Metodo 2 (funziona con QGIS 3)

Nel pannello Impostazioni QGIS -> Opzioni | Sistema | L'ambiente aggiunge le seguenti due variabili:

variable name: OGR_SKIP 
value: ODBC

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

e seleziona la casella di controllo "Usa variabili personalizzate"

[nota che in questo caso c'è solo un segno di percentuale nel valore della variabile PGEO_DRIVER_TEMPLATE]

Metodo 3 (funziona con QGIS 2 e QGIS 3)

Nel pannello Variabili d'ambiente delle Impostazioni di sistema avanzate di Windows, imposta le seguenti due nuove variabili come Variabili utente o Variabili di sistema:

variable name: OGR_SKIP 
value: ODBC

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

[nota che anche in questo caso c'è solo un segno di percentuale nel valore della variabile PGEO_DRIVER_TEMPLATE]


Per me funziona per ESRI .mdb ma non sono sicuro anche per geomedia mdb? Chiunque abbia esperienza su questo tipo di file
Roberto Marzocchi,

1

La soluzione proposta funziona bene anche su Windows 10. Solo un ulteriore suggerimento per aggiungere le due righe al file qgis.bat.

Le due linee stanno impostando. Quindi è importante aggiungere le righe prima dell'inizio del comando.

Probabilmente non è buono, ma se non stai attento, c'è il rischio di sbagliarti.


Poiché questa è la risposta più recente, voglio commentare che funziona, ma posso solo caricare le classi di caratteristiche (livello vettoriale) ma non vedo come caricare le tabelle e le relazioni contenute all'interno di mdb. Anche i set di dati delle caratteristiche vengono ignorati.
Nanunga,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.