ssis oledb source,找不到as400参数

时间:2013-04-12 03:44:26

标签: ssis

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

我有一个数据流任务,在里面,我有一个Oledb源,在那里,我有数据访问模式到Sql Command,我有一个查询:

select *
from table1
where name = ?

然后我点击参数按钮并设置“name1”作为参数名称。 当我运行ssis时,我收到了错误:

  

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

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

现在,问题是这个相同的ssis需要在另一个as400服务器上运行,而旧版本的服务器运行它并显示错误:

  

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

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

是否有其他方法使用与Oledb Source不同的方法来执行此过程以避免此问题?

我该怎么办?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

正如我所看到的,使用的方法并不重要,为了使其正常工作,需要做的是传递AS400所需名称的参数。如果传递了具有正确名称的参数,则查询将正常工作。