3

我有一个需要使用ODBC连接到Informix数据源的SSIS包。它在我的 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 驱动程序。
有人有任何想法/见解吗?

4

1 回答 1

4

要记住两件事,您在 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
于 2013-01-03T18:49:15.200 回答