Answers:
如果在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
选项
第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文件拖到工作区中
瞧!
如果您已经成功安装了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变量的值也只有一个百分号]
提出的解决方案在Windows 10上也可以正常工作。只有进一步建议将这两行添加到qgis.bat文件中。
两行正在设置。因此,重要的是在命令开始之前添加行。
可能它并没有被人们理解,但是如果您不小心的话,就有被误解的风险。