64 位 Windows Server 2008 中的 32 位 informix 驱动程序不可用

Val*_*rie 3 informix odbc ssis windows-server-2008

我有一个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 时,我看不到它们。Google 计算机表示,当我使用错误的 ODBC 管理引擎创建 ODBC 连接时,会出现我看到的错误消息。我正在使用IBM Informix SDK 3.70。

也许我的 Google 能力很弱,但我找不到任何有用的信息来说明如何让 Windows Server 2008 让我能够在 System32 的 ODBC 管理引擎中查看 32 位 Informix 驱动程序。
有人有什么想法/见解吗?

bil*_*nkc 5

需要记住两件事,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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)