เปิด Esri Personal Geodatabase (* .mdb) โดยใช้ QGIS หรือไม่


12

เป็นไปได้ไหมที่จะเปิดฐานข้อมูลส่วนบุคคลของ Esri (* .mdb; ArcGIS 10.2) ใน QGIS 2.6? รุ่นก่อนหน้านี้ถูกต้อง


3
คุณลองและได้รับข้อผิดพลาดหรือคุณกำลังถามว่ามีตัวเลือกให้เปิด ESRI PGDB ใน QGIS 2.6 หรือไม่? ตัวเลือกนี้มีอยู่ในเลเยอร์ > เพิ่มเลเยอร์ > เพิ่มเลเยอร์เวกเตอร์ > ฐานข้อมูล > เลือกESRI Personal GeoDatabaseเป็นประเภท
Joseph

คุณใช้ QGIS รุ่น 64 บิตบน Windows หรือไม่?
nmtoken

ฉันพยายามทำเช่นนี้ แต่ไม่อนุญาตให้ฉันบันทึกไฟล์ qgis.bat พร้อมการเปลี่ยนแปลง ความคิดใด ๆ ขอบคุณ
NandoSC

คำตอบ:


21

หากคุณติดตั้ง QGIS รุ่น 64 บิตบน Windows และคุณพบว่าฐานข้อมูลส่วนบุคคลทางภูมิศาสตร์ (* .mdb) ไม่เหมาะกับคุณอีกต่อไปโซลูชันนี้อาจมีผล ฉันใช้ QGIS 2.8.1 มากกว่า 2.6 แต่ฉันคิดว่าปัญหาและวิธีการแก้ปัญหาเหมือนกัน

ปัญหาพื้นฐานเกี่ยวข้องกับข้อผิดพลาดของ GDAL นี้: ปัญหาในการอ่าน MDB (64- บิต)

ขั้นตอนที่ 1

ดาวน์โหลดไดรเวอร์ ODBC รุ่น 64 บิต: Microsoft Access Database Engine 2010 Redistributable

หากคุณไม่มี office รุ่น 32 บิตติดตั้งอยู่คุณก็สามารถเรียกใช้ไฟล์ปฏิบัติการได้ อย่างไรก็ตามหากคุณมีการติดตั้ง office แบบ 32 บิตคุณจะต้องเรียกใช้โปรแกรมปฏิบัติการจากพรอมต์คำสั่งโดยใช้/passiveตัวเลือก

การติดตั้ง 64- บิต Access Database Engine 2010 สามารถแจกจ่ายต่อได้ในโหมดแฝง

ขั้นตอนที่ 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 ไปยังพื้นที่ทำงานของคุณ

Voila!


สิ่งนี้ใช้ได้กับฉันใน QGIS 64 บิต 64 บิตบน Windows 8.1
Brian Fisher

8

หากคุณติดตั้ง 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? ทุกคนมีประสบการณ์เกี่ยวกับไฟล์ประเภทนี้
Roberto Marzocchi

1

โซลูชันที่เสนอทำงานได้ดีบน windows 10 เฉพาะข้อเสนอแนะเพิ่มเติมสำหรับการเพิ่มสองบรรทัดไปยังไฟล์ qgis.bat

การตั้งค่าสองบรรทัด ดังนั้นจึงเป็นสิ่งสำคัญที่จะเพิ่มบรรทัดก่อนที่จะเริ่มคำสั่ง

อาจเป็นเรื่องไม่ดี แต่ถ้าคุณไม่ระวังก็อาจเสี่ยงต่อการถูกเข้าใจผิดได้


เนื่องจากนี่เป็นคำตอบล่าสุดที่ฉันต้องการแสดงความคิดเห็นว่าทำงานได้ แต่ฉันสามารถโหลดคลาสของคุณลักษณะ (เลเยอร์เวกเตอร์) แต่ฉันไม่เห็นวิธีการโหลดตารางและความสัมพันธ์ที่มีอยู่ภายใน mdb ชุดข้อมูลคุณสมบัติจะถูกละเว้นเช่นกัน
nanunga
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.