Mở cơ sở dữ liệu địa lý cá nhân Esri (* .mdb) bằng cách sử dụng QGIS?


11

Có thể mở Cơ sở dữ liệu địa lý cá nhân Esri (* .mdb; ArcGIS 10.2) trong QGIS 2.6 không? Các phiên bản trước đã đúng.


3
Bạn đã thử điều này và nhận được một lỗi hay bạn đang hỏi liệu có tùy chọn nào khả dụng để mở ESRI PGDB trong QGIS 2.6 không? Tùy chọn này khả dụng trong Lớp > Thêm lớp > Thêm lớp vectơ > Cơ sở dữ liệu > chọn Cơ sở dữ liệu địa lý cá nhân ESRI làm Loại
Joseph

Bạn có đang sử dụng phiên bản 64 bit của QGIS trên Windows không?
nmtoken 20/03/2015

Tôi đã cố gắng làm điều này nhưng không cho phép tôi lưu tệp qgis.bat với các thay đổi. Bất kỳ ý tưởng? Cảm ơn
NandoSC

Câu trả lời:


21

Nếu bạn đã cài đặt phiên bản QGIS 64 bit trên Windows và bạn thấy rằng Cơ sở dữ liệu địa lý cá nhân (* .mdb) không còn hoạt động cho bạn nữa, thì giải pháp này có thể được áp dụng; Tôi đang sử dụng QGIS 2.8.1 chứ không phải 2.6, nhưng tôi cho rằng vấn đề này và do đó giải pháp là như nhau.

Vấn đề cơ bản liên quan đến lỗi GDAL này: Vấn đề đọc MDB (64-bit)

Bước 1

Tải xuống phiên bản 64 bit của trình điều khiển ODBC: Microsoft Access Database Engine 2010 Redistributable

Nếu bạn chưa cài đặt phiên bản văn phòng 32 bit, bạn có thể chạy tệp thực thi. Tuy nhiên, nếu bạn có cài đặt văn phòng 32 bit, bạn sẽ cần chạy tệp thực thi từ dấu nhắc lệnh bằng /passivetùy chọn

Cài đặt công cụ cơ sở dữ liệu truy cập 64 bit 2010 có thể phân phối lại ở chế độ thụ động

Bước 2

Xác định vị trí tệp qgis.bat ( C:\OSGeo4W64\bin\qgis.batví dụ như của tôi).

Thêm hai dòng sau:

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

Bước 3

Mở QGIS và kéo tệp mdb vào không gian làm việc của bạn

Voila!


Điều này chỉ làm việc với tôi trên QGIS 3.0.0 64 bit trên Windows 8.1.
Brian Fisher

7

Với điều kiện bạn đã cài đặt thành công Microsoft Access Database Engine 64 bit, bạn có thể:

Phương pháp 1 (hoạt động với QGIS 2)

thêm hai dòng sau:

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

trong qgis.bat / qgis-grass7.bat / qgis-ltr.bat / qgis-ltr-grass7.bat trước dòng cuối cùng, đó thường là một cái gì đó như

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

[lưu ý rằng có hai dấu phần trăm trong giá trị của biến PGEO_DRIVER_TEMPLATE]

Phương pháp 2 (hoạt động với QGIS 3)

Trong bảng Cài đặt QGIS -> Tùy chọn | Hệ thống | Môi trường thêm hai biến sau:

variable name: OGR_SKIP 
value: ODBC

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

và chọn hộp kiểm "Sử dụng biến tùy chỉnh"

[lưu ý rằng trong trường hợp này chỉ có một dấu phần trăm trong giá trị của biến PGEO_DRIVER_TEMPLATE]

Phương pháp 3 (hoạt động với cả QGIS 2 và QGIS 3)

Trong bảng Biến môi trường của Cài đặt hệ thống nâng cao của Windows, đặt hai biến mới sau đây là Biến người dùng hoặc Biến hệ thống:

variable name: OGR_SKIP 
value: ODBC

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

[lưu ý rằng trong trường hợp này chỉ có một dấu phần trăm trong giá trị của biến PGEO_DRIVER_TEMPLATE]


Đối với tôi nó hoạt động cho ESRI .mdb nhưng tôi cũng không chắc chắn cho geomedia mdb? Bất cứ ai cũng có kinh nghiệm về loại tập tin này
Roberto Marzocchi

1

Giải pháp được đề xuất cũng hoạt động tốt trên windows 10. Chỉ có một đề xuất khác để thêm hai dòng vào tệp qgis.bat.

Hai dòng đang thiết lập. Vì vậy, điều quan trọng là thêm các dòng trước khi bắt đầu lệnh.

Có thể đó là điều không tốt nhưng nếu bạn không cẩn thận, có nguy cơ bị nhầm lẫn.


Vì đây là câu trả lời gần đây nhất mà tôi muốn nhận xét rằng nó hoạt động nhưng tôi chỉ có thể tải các lớp đối tượng (lớp vectơ) nhưng tôi không thấy cách tải các bảng và các mối quan hệ có trong mdb. Bộ dữ liệu tính năng cũng bị bỏ qua.
nanunga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.