GDAL開啟mdb檔案失敗解決方法

2021-07-25 02:47:59 字數 1498 閱讀 3365

使用gdal開啟mdb檔案時提示下面錯誤資訊:

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)」,而通過微軟的官網(檢視access的驅動說明,裡面的鏈結字串為「driver=microsoft access driver (.mdb, *.accdb)」。比較可以看出,字串裡面多了一種資料格式accdb,這個是office新版本的格式,所以只需要將dsn的鏈結字串加上accdb的資料格式即可。

檢視gdal庫原始碼發現,這個鏈結字串可以通過配置項「pgeo_driver_template」和「mdb_driver_template」來進行配置,只需在命令列裡面使用–config引數配置即可。

--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");

用ASP開啟遠端MDB檔案

如果你用odbc connection dsn or dsn less 來訪問遠端的 unc path 資料庫,oledb會出現以下錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc micros...

新版GDAL 讀取shape檔案讀取失敗和亂碼

於是找到網上的 gdal之ogr入門 include ogrsf frmts.h int main ogrlayer polayer polayer pods getlayerbyname point ogrfeature pofeature polayer resetreading while p...

關於C開啟檔案失敗

c語言可以做到使用檔案的多種方式,例如開啟乙個用於讀取的文字檔案,建立乙個用於寫入的文字檔案,附加乙個文字檔案等等。現在我們討論一下關於使用c語言開啟檔案錯誤的情景。fopen函式用來開啟乙個檔案,其有固定的呼叫形式 檔案指標名 fopen 檔名,r 我們這裡討論開啟所以是 r 如有其他操作則給fo...