64 位 windows server 2008 中的 32 位 informix 驱动程序不可用

Posted

技术标签:

【中文标题】64 位 windows server 2008 中的 32 位 informix 驱动程序不可用【英文标题】:32-bit informix drivers in 64-bit windows server 2008 are unavailable 【发布时间】:2013-01-03 18:05:56 【问题描述】:

我有一个 SSIS 包,需要使用 ODBC 连接到 Informix 数据源。它在我的 64 位 Win7 开发盒上运行良好,但在 64 位 Windows Server 2008 上却出现以下错误消息: The specified DSN contains an architecture mismatch between the Driver and Application.

当我在 %windir%/SysWOW64/ 中使用 odbcad32.exe 并在那里创建了 ODBC 连接时,我可以看到 informix 驱动程序。我在 %windir%/System32 中使用 odbcad32.exe 时看不到它们。谷歌机器说当我使用错误的 ODBC 管理员引擎创建 ODBC 连接时出现了我看到的错误消息。我正在使用 IBM Informix SDK 3.70。

也许我的 Google-fu 很弱,但我找不到任何有用的信息来帮助我从 System32 获取 Windows Server 2008 以允许我在 ODBC 管理引擎中查看 32 位 Informix 驱动程序。 有人有任何想法/见解吗?

【问题讨论】:

【参考方案1】:

要记住两件事,您在 32/64 位空间中拥有 ODBC 驱动程序/配置事物 (odbcad32.exe),但您也将在 32/64 位空间中拥有 SSIS (dtexec.exe)空间。

当我读到它时,您已经在服务器上安装了 32 位驱动程序并创建了 32 位 DSN(尽管名称倒过来%windir%/SysWOW64/ 中找到的那个)。

现在的诀窍是在 32 位模式下运行您的包。如果您使用的是 SQL 代理,则 SQL Server Integration Services 作业步骤有一个用于 32 位模式的复选框。但这仅适用于 SQL 代理。如果您是从命令行运行它,或者通过 gui 单击它,则需要从正确的 exe 开始。

32 位

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe

64 位

C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe

【讨论】:

哇!我试图首先在该服务器上的 BIDS 中对其进行测试,但您建议将其放入代理并使用 32 位运行时是一种享受。谢天谢地,其他人的大脑!

以上是关于64 位 windows server 2008 中的 32 位 informix 驱动程序不可用的主要内容,如果未能解决你的问题,请参考以下文章

windows server2008 64位系统突然乱码

Delphi 与 Windows 2008 Server 64 位的兼容性

在windows server 2008 64位服务器上配置php环境

Windows2008 Server r2 64位显示桌面图标的方法

在 Windows Server 2008(64 位)上浏览 wcf 服务时出现 HTTP 错误 404.3 - Not Found”

如何在windows server 2008 r2 64位操作系统下安装sql 2005 32位数据库