Відкрити Esri Personal Geodatabase (* .mdb) за допомогою QGIS?


12

Чи можливо відкрити персональну базу даних географічних даних Esri (* .mdb; ArcGIS 10.2) в QGIS 2.6? Попередні версії були правильні.


3
Ви спробували це і отримали помилку чи запитуєте, чи є можливість відкрити ESRI PGDB в QGIS 2.6? Опція доступна в шарі > Додати шар > Додати векторний шар > База даних > виберіть ESRI Personal GeoDatabase як тип
Іосиф

Ви використовуєте 64-бітну версію QGIS в Windows?
nmtoken

Я намагався це зробити, але не дозволяє мені зберегти файл qgis.bat зі змінами. Будь-яка ідея? Спасибі
NandoSC

Відповіді:


21

Якщо ви встановили 64-бітну версію QGIS в Windows і виявите, що Personal GeoDatabases (* .mdb) більше не працює для вас, це рішення може застосовуватися; Я на QGIS 2.8.1, а не на 2.6, але я припускаю, що питання і, таким чином, рішення те саме.

Основна проблема стосується цієї помилки GDAL: Проблема зчитування MDB (64-розрядні)

Крок 1

Завантажте 64-бітну версію драйвера ODBC: Microsoft Red Database Engine 2010, що перерозподіляється

Якщо у вас не встановлена ​​32-бітна версія офісу, ви можете просто запустити виконуваний файл. Якщо у вас 32-розрядна установка для офісу, вам потрібно буде запустити виконуваний файл з командного рядка, використовуючи цю /passiveопцію

Встановлення 64-бітного бази даних Access 2010 Engine Перерозподіляється в пасивному режимі

Крок 2

Знайдіть файл qgis.bat (наприклад, мій C:\OSGeo4W64\bin\qgis.bat).

Додайте наступні два рядки:

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

Крок 3

Відкрийте QGIS і перетягніть файл mdb на робочу область

Вуаля!


Це просто працювало для мене на 64-розрядному QGIS 3.0.0 на Windows 8.1.
Брайан Фішер

8

Якщо ви успішно встановили 64-бітний Microsoft Access Database Engine 64, ви можете:

Спосіб 1 (працює з QGIS 2)

додайте наступні два рядки:

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

у вашому qgis.bat / qgis-grass7.bat / qgis-ltr.bat / qgis-ltr-grass7.bat перед останнім рядком, зазвичай це щось на зразок

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

[зауважте, що у значенні змінної PGEO_DRIVER_TEMPLATE є два відсотки знаків]

Спосіб 2 (працює з QGIS 3)

На панелі налаштувань QGIS -> Параметри | Система | Середовище додайте наступні дві змінні:

variable name: OGR_SKIP 
value: ODBC

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

і встановіть прапорець "Використовувати власні змінні"

[зауважте, що в цьому випадку у значенні змінної PGEO_DRIVER_TEMPLATE є лише один відсоток знака]

Спосіб 3 (працює з QGIS 2 та QGIS 3)

На панелі "Змінні середовища" в розділі "Додаткові системні налаштування Windows" встановіть наступні дві нові змінні як "Змінні користувача" або "Змінні системи":

variable name: OGR_SKIP 
value: ODBC

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

[зауважте, що і в цьому випадку у значенні змінної PGEO_DRIVER_TEMPLATE є лише один відсоток]


Для мене це працює для ESRI .mdb, але я не впевнений також для geomedia mdb? У когось є досвід роботи з подібними файлами
Роберто

1

Пропоноване рішення працює чудово і у Windows 10. Лише додаткова пропозиція щодо додавання двох рядків у файл qgis.bat.

Дві лінії встановлюються. Тому важливо додати рядки перед початком команди.

Можливо, це не зрозуміло, але якщо ви не обережні, є ризик помилитися.


Оскільки це остання відповідь, я хочу прокоментувати, що вона працює, але я можу отримати лише завантаження класів функцій (векторний шар), але я не бачу, як завантажувати таблиці та зв’язки, що містяться всередині mdb. Набори даних про функції також ігноруються.
nanunga
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.