QGIS | 解决打开ESRI *.mdb数据报错的问题

有些朋友在使用QGIS打开ESRI的*.mdb数据时,会报错:“Invalid Data Source : PGeo:D:\MyData\arcgis tutorial data\ArcTutor\DatabaseServers\community.mdb is not a valid or recognized data source.”

一位名叫@高科科的朋友在打开ESRI的*.mdb文件时也遇到了相同的问题,多方求索找到了解决方案,强烈建议我把这个办法发表出来,以帮助遇到相同问题的人。在此对@高科科表示感谢!

该问题的解决步骤如下:

第一步:下载和安装64位Access数据库引擎

打开网址:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255,下载并安装64位Access数据库引擎。

第二步:设置QGIS环境变量

安装完成后,启动QGIS,点击菜单【设置】->【选项】,打开选项对话框。

切换到【系统】标签页,找到【环境】部分,勾选“使用自定义变量(重启QGIS软件才能生效——包括分隔符)”。

点击右边的【+】按钮,添加如下两个自定义环境变量:

1).

变量名:OGR_SKIP

值:ODBC

2).

变量名:PGEO_DRIVER_TEMPLATE

值:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s

点击【OK】关闭对话框,重启QGIS,使环境变量生效。

第三步:打开mdb数据,验证是否解决

再次从【浏览】面板中将同一个mdb文件拖拽到地图窗口。

QGIS不再报错,弹出【请选择要添加的矢量图层】对话框。点击【全选】按钮,点击【OK】将所有图层添加到地图窗口。

数据打开的效果如下图:

特别提醒:

  • 不管所安装的Access数据库引擎是中文版还是英文版,均不能在文件名或者文件存储路径出现中文字符。

  • 这个问题仅出现在QGIS 64位版本 ,究其原因是QGIS依赖的开源库GDAL出现BUG:不能正确读取64位mdb数据库。具体细节可点击下面链接查看:https://trac.osgeo.org/gdal/ticket/5594。

  • 如果已经安装32位的Access数据引擎,则需要以命令行的方式安装64位Access数据引擎,并添加安装选项 “/passive”,如下图:


版权声明

本文欢迎转载,转载时请注明出处。

猜你喜欢

转载自blog.csdn.net/QGISClass/article/details/108994163