QGIS 2.4 доступ .mdb додати помилку


9

Тому я дотримувався інструкції тут: Чи може QGIS прочитати з'єднання ODBC? для додавання .mdb в QGIS. Існують чудові інструкції про 1/3 шляху вниз. Але я все ще не можу його відкрити. Я в Windows 7 з QGIS 2.4 перезапустив QGIS і свій комп'ютер. Я все ще отримую помилку: "Недійсне джерело даних: ODBC: co2014ProdSumm (btw це .mdb) не є дійсним або розпізнаним джерелом даних."

Це не векторні шари, і це не персональна база даних ESRI. Це база даних з 2 таблицями, які мені потрібні.

Я також знайшов кілька інших публікацій Як отримати доступ до .mdb-файлу (Microsoft Access) у Qgis (з Windows 7)? Як імпортувати інформацію з файлу mdb в проект?

і це може бути відповіддю, але я не знаю, про що йдеться: Microsoft Access mdb "не є дійсним або визнаним джерелом даних" в QGIS

Чи є спосіб додати .mdb до QGIS? Також у мене немає доступу на комп’ютері.

Редагувати 1: Я сподіваюся, що це прояснить мою проблему. Кожен раз, коли я отримую недійсне джерело даних: C: ... Co 2014 Річний підсумок виробництва-xp.mdb не є дійсним або визнаним джерелом даних. Тут я додав з'єднання доступу

Тут я додав з'єднання доступу

Намагаються додати як векторний файл додати як векторний файл

Намагаючись додати базу даних, я також спробував локальну: host 3000 Помилка на рис однакова, незалежно від джерела, імені тощо ... Я намагався змінити всі поля навколо. введіть тут опис зображення


Чи дотримувались ви моєї "прийнятої відповіді" (посилання на мою відповідь тут) інструкції, які містяться у запитанні "Чи може QGIS читати з'єднання ODBC"?
RyanKDalton

Так, це інструкції, до яких я маю на увазі. Він не вдається, коли я потрапляю до QGIS для додання у файл .mdb.
TJ

Я зробив оновлення, щоб окреслити кожен крок. Також я дотримувався вказівок x64. Я перевірив перед рукою.
TJ

Я протримав усі кроки, і я можу створити зв'язання ODBC до файлу mdb, але коли я використовую параметр ESRI Personal Geodatabase, воно отримує повідомлення про помилку. Чи є проблема з файлом? ¿Чи можливо, що файл не є файлом бази даних? Дякую

Відповіді:


12

Зауважте, що це можна зробити двома способами. Шлях, яким ви збираєтеся це зробити, - це довгий шлях, але саме таким чином я покажу, як це зробити тут. Інший спосіб - просто перейти на Додати векторний шар, а потім вибрати файл, а потім перейти до місця, де знаходиться ваш .mdb-файл, та відкрити .mdb-файл.

По-перше, вам потрібно переконатися, що використовується 32-бітова версія QGIS. Завантажте та встановіть QGIS для Windows 32 біт. Вам потрібна 32-бітна версія QGIS, оскільки Microsoft не робить 64-бітний драйвер для Access (.mdb). Esri ArcMap теж 32-бітний, тому він може працювати з .mdb файлами.

По-друге, вам потрібно створити DSN (назва джерела даних). Щоб створити DSN, перейдіть до кнопки "Пуск" і натисніть на неї.

Кнопка запуску

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

Вікно джерела даних ODBC

Перейдіть на вкладку System DSN

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

Натисніть кнопку "Додати", щоб додати dsn, щоб отримати доступ до ODBC та Esri Personal Database.mdb. Після натискання кнопки Додати з'явиться нове діалогове вікно. У цьому діалоговому вікні виберіть драйвер Microsoft Access (*. Mdb) і натисніть кнопку "Завершити".

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

Після натискання кнопки закінчити з'явиться інше діалогове вікно. У цьому діалоговому вікні поставте QGIS для імені джерела даних.

Назва джерела даних

Далі натисніть кнопку Вибрати в розділі Бази даних. Після вибору цієї кнопки з’явиться інше діалогове вікно. Це діалогове вікно вибору бази даних.

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

У цьому діалоговому вікні вам потрібно перейти до файлу .mdb. Після того, як ви перейдете до папки, у лівому полі з’явиться .mdb файл. Виберіть файл .mdb і натисніть кнопку ОК

Остаточний вибір

Тепер ви повинні побачити діалогове вікно налаштування доступу Microsoft ODBC. У діалоговому вікні має бути показано ваш .mdb файл, як діалогове вікно нижче.

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

Тепер натисніть кнопку OK у діалоговому вікні. Також зауважте, що джерело даних DATA - QGIS. Ми будемо використовувати це ім'я під час налаштування ODBC .mdb / Esri Personal GeoDatabase.mdb. Після натискання кнопки "ОК" ви побачите діалогове вікно на кшталт наступного, яке показує щойно створений DSN. Натисніть кнопку "ОК" у цьому діалоговому вікні, щоб закрити його.

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

Тепер відкрийте QGIS 2.4 і перейдіть до "Додати векторний шар" введіть тут опис зображення

Тепер виберіть базу даних, а потім виберіть потрібне кодування, а потім у розділі Тип бази виберіть Esri Personal GeoDatabase

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

Тепер у цьому ж діалоговому вікні натисніть кнопку Нова кнопка

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

З'явиться нове діалогове вікно. У цьому діалоговому вікні заповніть поля Тип, Ім'я та База даних. Для поля Тип виберіть Esri Personal GeoDatabase. Для Імені введіть все, що вам потрібно. Для поля База даних введіть QGIS. Зауважте, що QGIS - це те саме ім'я, що і DSN, яке ми створили раніше.

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

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

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

Якщо все налаштовано правильно, ви побачите це, натиснувши кнопку тесту.

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

Далі натисніть кнопку ОК, щоб закрити тест, а потім натисніть кнопку ОК, щоб закінчити з'єднання з базою даних.

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

Тепер ви повинні побачити ім'я, якому ви дали з'єднання, і як тільки це зробите, натисніть кнопку "Відкрити". Після натискання кнопки відкрити, вона запитає пароль. Просто натисніть кнопку ОК, якщо в базі даних немає пароля.

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

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

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

Виберіть шар і натисніть кнопку ОК. Після вибору потрібного шару та натискання кнопки ОК ви побачите ще одне діалогове вікно. Це діалогове вікно призначено для встановлення координатних посилань.

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

І ми зробили! Це можна зробити за допомогою звичайної .mdb або Esri Personal GeoDatabase. Щоб зробити це таким чином, вам потрібно створити DSN, а потім встановити з'єднання. Існує простіший спосіб, і це просто додати вектор і переконатися, що вибрано файл, а потім просто переглядати ваш файл .mdb. Зверніть увагу: для роботи з .mdb базами даних вам потрібен 32-бітний QGIS.

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


Дякуємо за допомогу, але вона не завантажить таблиці. Він говорить про помилку, але це порожнє повідомлення про помилку. Тож тепер я не знаю, що робити. Я завантажив 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 до змісту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.