【问题标题】:Can i use a 32 Bit ODBC Driver for my 64 Bit app我可以为我的 64 位应用程序使用 32 位 ODBC 驱动程序吗
【发布时间】:2011-08-03 19:01:33
【问题描述】:

我有一个创建 ODBC 连接的 Win32 应用程序。我们使用SQLDriverConnect() 连接 显示一个对话框来选择数据源。在 x64 版本中,对话框显示并提供 2 个不同的 32 位 MS ACCESS 驱动程序。当我选择其中之一时,在 32 位版本中,我会看到一个打开文件对话框来选择一个 .mdb 文件。在 64 位版本中,此时对 SQLDriverConnect() 的调用返回 -1。

SQLError() 返回:“[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序”

一般情况下是否可以从 64 位可执行文件中使用 32 位 ODBC 驱动程序?为什么显示这些驱动程序?据我所知,到目前为止还没有 64 位 MS Access OBDC 驱动程序。我能做什么?

【问题讨论】:

    标签: winapi odbc 32bit-64bit


    【解决方案1】:

    您绝对不能混合使用 32 位应用程序和 64 位驱动程序(反之亦然)。

    基本上,ODBC 驱动程序通常是由其父应用程序加载的 dll (windows) 或共享对象 (linux...)。

    共享同一进程空间的所有可执行文件、dll 等必须具有相同的位...

    【讨论】:

    • 感谢您的明确回答。我很确定 ODBC 是使用 COM 还是不同的接口。但是为什么当我从 64 位应用程序调用 ODBC 驱动程序管理器时会列出这些驱动程序?
    • @REDSOFTADAIR 它与注册表项有关。微软的描述在这里:support.microsoft.com/kb/942976
    【解决方案2】:

    为了从 64 位应用程序“桥接”到 32 位 ODBC 驱动程序,您需要使用 ODBC 到 ODBC 桥接器,例如 -

    http://uda.openlinksw.com/odbc-odbc-mt/

    这有一个 64 位 ODBC 客户端组件,它将 vis 套接字连接到 32 位服务器组件。服务器组件桥接到预先配置的 32 位 Access ODBC DSN。

    客户端组件可以在本地机器或服务器机器上...

    【讨论】:

      【解决方案3】:

      好吧,我不知道为什么 SQLDriverConnect() 的工作方式与您描述的一样,但也许这篇来自 Microsoft 的博客文章

      http://blogs.msdn.com/b/psssql/archive/2010/01/21/how-to-get-a-x64-version-of-jet.aspx

      可以帮到你一点。

      似乎在不久的将来不会有用于 MS Access 的原生 64 位 ODBC 驱动程序,但那些提到的 ACE 组件可能会有替代方案。

      【讨论】:

      • 64 位 Office 或 MS Access 2010 安装程序确实包含 64 位 MS Access ODBC 驱动程序,尽管它似乎不是 64 位 Windows 操作系统随附的 64 位 MDAC 的一部分,尽管我想这可能在以后的更新中更改。就在上周,我安装了 64 位 MS Access,然后我可以在 Windows 上将 MS Access 表链接到我的 64 位 Virtuoso Server
      • @hwilliams:感谢您提供的有趣信息,看来我发现的博客文章有点过时了。
      【解决方案4】:

      您不能,但您可以选择以 32 位编译您的应用程序,并使用 32 位 odbc 驱动程序。在我的情况下,我使用 GoLang 只需更改 GOARCH 环境变量 SET GOARCH=386 然后编译您的项目 go build 和所有设置。

      【讨论】:

      • 没有回答问题:“我可以为我的 64 位应用程序使用 32 位 ODBC 驱动程序吗”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多