使用QGIS打开Esri个人地理数据库(* .mdb)吗?


12

是否可以在QGIS 2.6中打开Esri个人地理数据库(* .mdb; ArcGIS 10.2)?以前的版本是正确的。


3
您是否尝试过此操作并收到错误消息,或者您是否正在询问是否可以在QGIS 2.6中打开ESRI PGDB?该选项位于“ 图层” >“ 添加图层” >“ 添加矢量图层” >“ 数据库”中,然后选择“ ESRI Personal GeoDatabase”作为“类型”
约瑟夫

您是否在Windows上使用64位版本的QGIS?
nmtoken

我已尝试执行此操作,但不允许我保存更改的qgis.bat文件。任何的想法?谢谢
NandoSC

Answers:


21

如果在Windows上安装了64位版本的QGIS,但发现Personal GeoDatabase(* .mdb)不再适合您,则此解决方案可能适用;我使用的是QGIS 2.8.1而不是2.6,但是我认为问题和解决方案是相同的。

根本问题与此GDAL错误有关:读取MDB(64位)时遇到问题

第1步

下载ODBC驱动程序的64位版本:Microsoft Access Database Engine 2010 Redistributable

如果您没有安装32位版本的Office,则可以运行可执行文件。然而,如果你有一个32位的Office安装,您将需要使用从命令提示符,运行可执行文件/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

第三步

打开QGIS并将mdb文件拖到工作区中

瞧!


这对Windows 8.1上的64位QGIS 3.0.0来说对我来说才有效。
布莱恩·费舍尔

7

如果您已经成功安装了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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.