首页 > 解决方案 > SSIS DB2 到 SQL Server 2017

问题描述

我正在尝试在我们的 SQL Server 2017 实例和 ISeries AS400 (IBM) 数据库之间建立连接以进行数据集成。

当我在数据流任务中使用 OLE DB 源时,连接成功,但执行速度很慢。管理 AS400 的团队告诉我们,使用 JDBC 或 ODBC 提供程序,我们在读取数据时应该有更好的性能。

我确实在 VSDT 连接管理器中设置了到 AS400 的 ODBC 连接,将其附加到 ODBC 源组件,如果我在数据源任务配置上按“预览”,我看到连接正确打开并显示数据。

但是,如果我运行整个任务,它总是会失败,说明:

“[ODBC 源 [11]] 错误:对连接管理器 AS400iseries 的 AcquireConnection 方法调用失败,错误代码为 0xC0014009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。”

我究竟做错了什么?预览不是验证连接是否有效的充分方法吗?

PS 数据流任务只是将数据一对一复制到 SQL Server 中,并添加了一个固定值列。该任务使用 OLE DB 驱动程序和数据源完美运行。

编辑:已经尝试强制 32 位调试配置,但没有任何改变。

我正在使用 iSeries Access ODBC 驱动程序 32 位(v13.00.01.00),也尝试使用 64 但没有结果

标签: sql-serverssisdb2odbcoledb

解决方案


目前,运行也在运行。对我来说,解决方法是为同一个 AS400 服务器创建两个 ODBC 数据源注册,但一个使用 32 位工具制作,另一个使用 64 位制作。一样的名字。所以,现在,预览使用 32 位驱动程序执行(因为 VSDT 是一个 32 位软件),例如,当我在作业中运行它时,SSIS 以相同的数据源为目标,但是64 位版本。我知道这可能是一种解决方法,但对我来说它有效。


推荐阅读