AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-96982

MPaul's questions

Martin Hope
MPaul
Asked: 2017-07-27 11:59:53 +0800 CST

在同一台机器上安装 32 位和 64 位 Informix 驱动程序

  • 1

目前正在尝试设置一个可以处理 32 位和 64 位 ODBC Informix 驱动程序的开发环境。

我没有成功找到任何类型的指南或在线浏览,但我确实找到了可能导致解决方案的点点滴滴。我只是想要更多的建议,以确保我走在正确的道路上。

驱动程序版本

版本 3.70.TC3,Windows(32 位)

版本 3.70.FC3,Windows x64

资源

我似乎找不到3.70.TC3或3.70.FC3版本,但我确实直接从 IBM 网站找到了 3.70.TC7和3.70.FC7 ,我认为它们只是稍微更新的版本。

Informix 驱动程序安装

驱动程序安装在以下位置(基于注册表项)

  • 32 位:C:\Program Files (x86)\IBM\Informix\Client-SDK\
  • 64 位:C:\Program Files\IBM\Informix\Client-SDK\

注册表项

据我所知,驱动程序的注册表项位于:

  • 32 位:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI
  • 64 位:HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

这基本上列出了所有数据源及其连接详细信息。两个位置具有相同数量的具有相同名称和相同键/值对的数据源,但Driver指向其各自驱动程序位置的键除外;C:\Program Files\或C:\Program Files (x86)\。

ODBC 管理员

32 位 ODBC 管理器位于 %systemdrive%/Windows/ SysWoW64 /odbcad32.exe

与直觉相反,64 位 ODBC 管理器位于 %systemdrive%/Windows/ System32 /odbcad32.exe

资源

ODBC.INI

该ODBC.INI文件位于该文件C:\Windows\的内容列出与 ODBC 管理器中显示的数据源相同的数据源的位置,并包括每个数据源的 32 位驱动程序的键/值对;Driver32=C:\Program Files\IBM\Informix\Client-SDK\bin\iclit09b.dll.

现在有趣的是,虽然Driver32使用了键,但值指向C:\Program Files\路径而不是C:\Program Files (x86)\路径,从而将Driver32与 64 位驱动程序相关联。

我找到了以下页面来解释这种不规则性。

WOW64 注册表重定向器拦截对注册表某些部分的调用,并将它们重定向到注册表的另一部分。注册表重定向会影响 HKEY_LOCAL_MACHINE\SOFTWARE 键。32 位应用程序对该键的注册表调用被重定向到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node。因此,例如,当 32 位应用程序调用 SQLDataSources 时,生成的注册表调用将从 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI 重定向到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI,并且唯一的系统数据源返回的是 32 位 ODBC 驱动程序。

简单地说,连接到 64 位 ODBC 驱动程序的 32 位应用程序将根据注册表项自动重定向到 32 位驱动程序,而 64 位应用程序则不需要这种重定向。

如果 32 位应用程序尝试连接到 64 位 ODBC 驱动程序的有效用户数据源,则如果安装了 32 位版本的驱动程序,则连接将成功。否则,连接将失败并出现“架构不匹配”错误。例如,Microsoft 的 SQL Server ODBC 驱动程序在 64 位 Windows 平台上同时安装 64 位库 (%WINDIR%\System32\sqlsrv32.dll) 和 32 位库 (%WINDIR%\SysWOW64\sqlsrv32.dll)。

对于 Informix,必须单独安装每个体系结构的驱动程序。

问题

该文件的重要性是什么ODBC.INI,我可以简单地修改Driver32密钥Driver64或将两者结合使用吗?

执行 32 位 ODBC 管理器并打开数据源时,我可以修改连接设置,但是在执行 64 位版本时,我收到以下错误。

64 位 ODBC 管理器 - 错误 193

如何将系统当前的 ODBC 管理器更改为 64 位版本以避免此错误?

drivers
  • 1 个回答
  • 5945 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve