3

我有一个 SSIS 包,它使用 ODBC 连接到 Progress 数据库作为源,使用 32 位 ODBC 驱动程序。该软件包在 BIDS 范围内完美运行。但是,当我使用 SQL 代理运行它时,它会失败并出现以下错误:

指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。

我知道这可能是因为它需要一个用于该连接的 64 位 ODBC 驱动程序,但我似乎无法让 64 位驱动程序在 BIDS 中正常工作。有没有什么技巧可以让我在 SQL 代理中使用 32 位驱动程序并继续我的生活?

4

3 回答 3

3

我找到了我的答案。在 Job Step Properties 的 Execution Options 下,最底部有一个复选框 --- “Use 32-bit Runtime”。够简单!

谢谢你的帮助。

于 2012-06-25T17:30:49.350 回答
1

BIDS = 您的本地机器,32 位 SQL 代理 = 您的服务器,64 位

那正确吗?

如果是,您将真的需要正确的驱动程序。这是来自 BOL:

请务必注意,如果您在 32 位环境中开发包并希望在 64 位环境中运行该包,则连接管理器需要兼容 64 位。某些连接管理器(例如 Excel)只能在 32 位环境中工作。

于 2012-06-25T15:58:51.290 回答
0

Yuo 可以直接用 CmdExec 调用 32bit DTEXEC。指向 32 位 DTEXEC。

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

于 2012-06-25T16:36:36.650 回答