我有 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很弱,但我找不到有关如何让Windows Server 2008允许我在System32的ODBC管理器引擎中查看32位Informix驱动程序的任何有用信息。
任何人都有任何想法/见解?
答案 0 :(得分:4)
要记住两件事,你在32/64位空间中有ODBC驱动程序/配置事物(odbcad32.exe),但你也会在32/64位中存在SSIS(dtexec.exe)空间。
在我阅读时,您已在服务器上安装了32位驱动程序并创建了32位DSN(尽管后面的声音名称 是%windir%/SysWOW64/
中找到的名称)。
现在的诀窍是以32位模式运行程序包。如果您使用的是SQL代理,则SQL Server Integration Services作业步骤具有32位模式的复选框。这只适用于SQL Agent。如果从命令行运行它,或通过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