【问题标题】:SSIS DB2 to SQL Server 2017SSIS DB2 到 SQL Server 2017
【发布时间】:2019-07-10 06:54:22
【问题描述】:

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

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

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

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

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

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

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

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

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

【问题讨论】:

  • 您遇到了主要障碍(将驱动程序咬合与 SSIS 执行模式相匹配)。预览有效但运行无效,这非常奇怪。是否存在仅在运行时出现的用户/密码问题?你的包裹保护等级是多少?
  • 目前,运行也正常。对我来说,一个解决方法是为同一个 AS400 服务器创建两个 ODBC 数据源注册,但一个使用 32 位工具制作,另一个使用 64 位制作。一样的名字。所以,现在,预览使用 32 位驱动程序执行(因为 VSDT 是一个 32 位软件),例如,当我在作业中运行它时,SSIS 以相同的数据源为目标,但是64 位版本。我知道这可能是一种解决方法,但对我来说它有效,而且它似乎不是一个糟糕的解决方案。在您看来,我还有什么需要考虑的吗?

标签: sql-server ssis db2 odbc oledb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多