使用GDAL打開mdb文件時提示下面錯誤信息:c++
ERROR 1: Unable to initialize ODBC connection to DSN for DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\Users\SCRS-Minlu\Desktop\ZHONGWEI.MDB,
[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱而且未指定默認驅動程序
ERROR 1: Unable to initialize ODBC connection to DSN for DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\Users\SCRS-Minlu\Desktop\ZHONGWEI.MDB,
[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱而且未指定默認驅動程序
經過錯誤信息發現,DSN的連接字符串是「DRIVER=Microsoft Access Driver (.mdb)」,而經過微軟的官網(http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255)查看Access的驅動說明,裏面的連接字符串爲「Driver=Microsoft Access Driver (.mdb, *.accdb)」。比較能夠看出,字符串裏面多了一種數據格式accdb,這個是Office新版本的格式,因此只須要將DSN的連接字符串加上accdb的數據格式便可。ruby
查看GDAL庫源碼發現,這個連接字符串能夠經過配置項「PGEO_DRIVER_TEMPLATE」和「MDB_DRIVER_TEMPLATE」來進行配置,只需在命令行裏面使用–config參數配置便可。markdown
--config MDB_DRIVER_TEMPLATE "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s" --config PGEO_DRIVER_TEMPLATE "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s"
下面是加上配置項以後輸出截圖:
從上圖能夠看出,mdb文件能夠打開。
若是須要在程序中配置的話,能夠使用函數CPLSetConfigOption來進行配置。函數
CPLSetConfigOption("PGEO_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s");
CPLSetConfigOption("MDB_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s");