【问题标题】:ssis oledb source, as400 parameter not foundssis oledb 源,未找到 as400 参数
【发布时间】:2013-04-04 11:15:12
【问题描述】:

我正在使用 ssis 2008,我正在尝试从 as400 数据库中获取数据。

我有一个数据流任务,在其中,我有一个 Oledb 源,在那里,我有 Sql 命令的数据访问模式,我有一个查询:

select *
from table1
where name = ?

然后我单击“参数”按钮并为我的参数名称设置“name1”。 当我运行 ssis 时,出现错误:

错误:SQL 命令需要一个名为“00001”的参数,即 在参数映射中找不到。

所以我将参数名称更改为“00001”,并且 ssis 工作正常。

现在的问题是,同样的 ssis 需要在另一台 as400 服务器上运行,而且是较旧的服务器,运行时显示错误:

错误:SQL 命令需要一个名为“”的参数,即 在参数映射中找不到。

所以,现在其他服务器需要不同的参数名称。

为了避免这个问题,是否有另一种方法使用不同于 Oledb Source 的东西来完成这个过程?

我能做什么?

【问题讨论】:

    标签: ssis


    【解决方案1】:

    我们正在使用 sql 2012 和 as400 系统,并且我们为 as400 使用 ODBC 源。对于我们的设置,它似乎正在工作。所以试试 ODBC。

    【讨论】:

    • 所以,我将在 Windows 中为 as400 创建一个 ODBC 源,方法是转到控制面板----管理工具-----数据源(ODBC)并在那里设置 ODBC 源。但是我应该在数据流上使用哪个数据流源?
    • 使用您在“连接管理器”的窗口中创建的 ODBC,然后在数据流中使用 ODBC。
    • "使用您在“连接管理器”的窗口中创建的 ODBC" ....这部分没问题,但是......在“数据流”选项卡上,如果单击工具箱菜单有数据流源,我可以看到 6 个数据源但我没有看到 ODBC。你说的这个 ODBC 在哪里?
    • 我认为可能是因为 2008 年。因为我在 2012 年看到这里有 8 个来源,所以他们必须现在才添加它。
    • 也许你可以试试这个链接。可能会有所帮助:social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/…
    【解决方案2】:

    嗯,这似乎是一个 as400 错误,如下所示:[link]http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/5d6ef4f9-1a67-45d1-8a49-eb08becf1408/

    在该线程上,用户说:“此错误与 IBM 客户端访问工具中的 IBMDA400 直接相关。驱动程序将参数传递给 AS/400 时存在错误。我已使用第三方驱动程序证明了这一点来自 HiT Software。使用他们的驱动程序传递 00001 是正确的。”

    因此,正如我所见,您使用的方法无关紧要,为了使其正常工作需要做的是传递具有 AS400 所需名称的参数。如果传递了正确名称的参数,则查询将正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多