• GDAL打开mdb文件失败解决方法


    使用GDAL打开mdb文件时提示下面错误信息:

    ERROR 1: Unable to initialize ODBC connection to DSN for DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:UsersSCRS-MinluDesktopHONGWEI.MDB,
    [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
    ERROR 1: Unable to initialize ODBC connection to DSN for DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:UsersSCRS-MinluDesktopHONGWEI.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的数据格式即可。

    查看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");
  • 相关阅读:
    Office 2007在安装过程中出错-解决办法
    Sql日期时间格式转换
    大型网站架构演变和知识体系
    作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
    Java 入门基础
    技术类面试、笔试题汇总
    怎样玩转千万级别的数据
    数据库性能优化:SQL索引
    最后一公里极速配送
    编辑-滴滴算法大赛算法解决过程
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6313897.html
Copyright © 2020-2023  润新知