Ошибка доступа к QGIS 2.4. MDB

9

Итак, я следовал инструкции здесь: Может ли QGIS читать ODBC-соединение? для добавления .mdb в QGIS. Есть отличные инструкции о 1/3 пути вниз. Но я до сих пор не могу заставить его открыться. Я на Windows 7 с QGIS 2.4 Я перезапустил QGIS и мой компьютер. Я все еще получаю сообщение об ошибке: «Неверный источник данных: ODBC: co2014ProdSumm (кстати, это .mdb) не является допустимым или распознанным источником данных».

Это не векторные слои и не персональная база геоданных ESRI. Это база данных Access с двумя нужными мне таблицами.

Я также нашел несколько других сообщений Как получить доступ к файлу .mdb (Microsoft Access) в Qgis (с windows 7)? Как импортировать информацию из файла MDB в проект?

и этот может быть ответом, но я не знаю, о чем идет речь: Microsoft Access mdb «не является допустимым или распознанным источником данных» в QGIS

Есть ли способ добавить .mdb в QGIS? Также у меня нет доступа на моем компьютере.

Изменить 1: Я надеюсь, что это проясняет мою проблему. Каждый раз, когда я получаю неверный источник данных: C: ... Co Годовой отчет о производстве за 2014 год - xp.mdb не является действительным или распознанным источником данных. Вот где я добавил соединение доступа

Вот где я добавил соединение доступа

Попытка добавить как векторный файл добавить как векторный файл

Пытаясь добавить базу данных, я также попробовал local: host 3000 Ошибка на рисунке одинакова, независимо от источника, имени и т. Д. Я пытался изменить все поля вокруг. введите описание изображения здесь

TJ
источник
Следовали ли вы моим «принятым ответам» (ссылка на мой ответ здесь) инструкциям в вопросе «Может ли QGIS читать ODBC-соединение»?
RyanKDalton
Да, это те инструкции, на которые я ссылаюсь. Сбой, когда я добираюсь до QGIS, чтобы добавить в файл .mdb.
TJ
Я сделал обновление, чтобы наметить каждый шаг. Также я следовал инструкциям х64. Я проверил перед рукой.
TJ
Я выполнил все шаги и смог создать ODBC-коннект в файл mdb, но когда я использую опцию ESRI Personal Geodatabase, он получает сообщение об ошибке. ¿Есть ли проблема с файлом? Possible Возможно ли, что файл не является файлом базы геоданных? Спасибо

Ответы:

12

Обратите внимание, что есть два способа сделать это. То, как вы собираетесь это делать, - долгий путь, но именно так я собираюсь показать, как это сделать здесь. Другой способ заключается в том, чтобы просто добавить векторный слой, затем выбрать файл, а затем просмотреть, где находится ваш файл .mdb и открыть файл .mdb.

Во-первых, вам нужно убедиться, что используется 32-битная версия QGIS. Скачайте и установите QGIS для Windows 32 bit. Вам нужна 32-битная версия QGIS, потому что Microsoft не делает 64-битный драйвер для Access (.mdb). Esri ArcMap также 32-битный, поэтому он может работать с файлами .mdb.

Во-вторых, вам нужно создать DSN (имя источника данных). Чтобы создать DSN, перейдите к кнопке «Пуск» и нажмите ее.

Кнопка Пуск

Далее в поле поиска введите% windir% \ SysWoW64 \ odbcad32.exe и нажмите на программу odbcad32.exe.

Окно источника данных ODBC

Нажмите на вкладку Системный DSN

введите описание изображения здесь

Нажмите кнопку добавления, чтобы добавить dsn, чтобы получить доступ к ODBC и Esri Personal Database.mdb. Как только вы нажмете кнопку «Добавить», появится новое диалоговое окно. В этом диалоговом окне выберите Microsoft Access Driver (*. Mdb) и нажмите «Готово».

Добавить драйвер доступа

После нажатия кнопки «Готово» появится другое диалоговое окно. В этом диалоговом окне введите QGIS в качестве имени источника данных.

Название источника данных

Затем нажмите кнопку «Выбрать» в разделе «Базы данных». Как только вы нажмете эту кнопку, появится другое диалоговое окно. Это диалоговое окно выбора базы данных.

введите описание изображения здесь

В этом диалоговом окне вам нужно перейти к вашему файлу .mdb. Как только вы окажетесь в папке, файл .mdb появится в левом поле. Выберите файл .mdb и нажмите ОК

Окончательный выбор

Теперь вы должны увидеть ODBC Microsoft Access Setup Dialog. Диалог должен показать вам ваш файл .mdb, как в диалоговом окне ниже.

введите описание изображения здесь

Теперь нажмите OK в диалоговом окне. Также обратите внимание, что источником данных DATA является QGIS. Мы будем использовать это имя при настройке ODBC .mdb / Esri Personal GeoDatabase.mdb. Как только вы нажмете «ОК», вы увидите диалоговое окно, подобное следующему, в котором показан только что созданный вами DSN. Нажмите кнопку ОК в этом диалоговом окне, чтобы закрыть его.

введите описание изображения здесь

Теперь откройте QGIS 2.4 и перейдите к Add Vector Layer введите описание изображения здесь

Теперь выберите базу данных, затем выберите желаемую кодировку, а затем в разделе «Тип базы данных» выберите Esri Personal GeoDatabase.

введите описание изображения здесь

Теперь в том же диалоговом окне нажмите кнопку «Создать».

введите описание изображения здесь

Появится новое диалоговое окно. В этом диалоговом окне заполните поля Тип, Имя и База данных. Для поля Тип выберите Esri Personal GeoDatabase. В качестве имени введите все, что вы хотите. В поле База данных введите QGIS. Обратите внимание, что QGIS - это то же имя, что и DSN, который мы создали ранее.

введите описание изображения здесь

Теперь нажмите на кнопку теста.

введите описание изображения здесь

Если все настроено правильно, вы увидите это после нажатия на кнопку тестирования.

введите описание изображения здесь

Затем нажмите кнопку ОК, чтобы закрыть тест, а затем нажмите кнопку ОК, чтобы завершить подключение к базе данных.

введите описание изображения здесь

Теперь вы должны увидеть имя, которое вы дали соединению, и как только вы это сделаете, нажмите кнопку Открыть. После того, как вы нажмете «Открыть», он попросит ввести пароль. Просто нажмите ОК, если в базе данных нет пароля.

введите описание изображения здесь

После нажатия ОК в диалоговом окне пароля вы увидите диалоговое окно, как показано ниже:

введите описание изображения здесь

Выберите ваш слой и нажмите ОК. После выбора нужного слоя и нажатия кнопки «ОК» вы увидите другое диалоговое окно. Это диалоговое окно для установки координатных ссылок.

введите описание изображения здесь

И мы сделали! Вы можете сделать это с обычной .mdb или Esri Personal GeoDatabase. Чтобы сделать это таким образом, вам нужно создать DSN, а затем установить соединение. Существует более простой способ - просто добавьте вектор и убедитесь, что файл выбран, а затем просто перейдите к вашему .mdb. Обратите внимание, что вам нужен 32-битный QGIS для работы с базами данных .mdb.

введите описание изображения здесь

GisDoodler
источник
Спасибо за помощь, но он не будет загружать таблицы. Это говорит об ошибке, но это пустое следующее сообщение об ошибке. Так что теперь я не знаю, что делать. Я скачал Qgis 32bit и начал все сначала. Я даже пытался просто добавить, а затем нажать и перетащить, и это тянет в таблицах, но они все пустые. Также Qgis 32bit на 64-битном компьютере работает довольно медленно и выдает ошибки при попытке открыть его. Поэтому я бы не рекомендовал использовать 32-битные и 64-битные.
TJ
@GisDoodler, отличный пост!
RyanKDalton
Абсолютно красивый! Инструкции, как указано выше, работали отлично! Большое спасибо за ваш вклад и потраченное время!
@GisDoodler: Большое спасибо! у меня работал как более длинный, так и более короткий метод, как только я перешел на 32-битную QGIS. Однако следует отметить один момент: если в файле .mdb есть длинные таблицы с длинными именами, они не связываются должным образом. Только таблицы с именами, состоящими из 8 символов или менее (и без пробелов, без специальных символов), похоже, связываются правильно.
Шарад
0

Добавляя запись ODBC от GisDoodler, вы можете использовать виртуальный файл для подключения к таблице базы данных Access и определять столбцы Geometry вручную. Виртуальный файл может выглядеть так:

<OGRVRTDataSource>

<OGRVRTLayer name="worms">
    <SrcDataSource>ODBC:DISEASE,worms</SrcDataSource>
<SrcLayer>worms</SrcLayer>
<GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="x" y="y"/>
</OGRVRTLayer>

</OGRVRTDataSource>

Вам все еще нужно выполнить ODBC-DSN и 32-разрядную версию QGIS. Вместо открытия соединения с базой данных вы добавляете файл vrt в таблицу содержания.

Andrej
источник