ssis数据流正在设置数据类型

时间:2014-04-22 15:10:41

标签: sql vb.net sql-server-2008 ssis

我正在处理ssis包中的数据流任务,并且我已经多次遇到过这个问题。这是一个简单的例子......假设我有一个OLE数据库源代码,一个脚本组件作为转换,以及一个OLE数据库目标。

这是我的数据库源查询(假设strValue是mytable中的varchar数据类型)

select strValue
from mytable
where isnumeric(strValue) = 1

然后我有一个脚本组件作为转换。 strValue是一个输入值。编辑脚本组件时,在"输入和输出"下,我展开输入变量,直到我可以单击strValue。在" Common Properties"下,它表示数据类型是DT_I4(我相信这是一个整数,但我从来没有告诉它)。

我决定更改我的数据库源查询以删除where子句,因此它现在是

select strValue
from mytable

我现在要评估strValue是否是脚本组件中的数字。但是,当我尝试运行它时,它会在转换之前失败,因为strValue不再是一个整数。我想通过解决这个问题的唯一方法是删除原始的OLE db源和脚本组件转换,然后创建新的。

有没有一种简单的方法可以将列strValue映射为字符串,而不是ole db源中的整数? (因为我从来没有真正将它设置为整数!)

1 个答案:

答案 0 :(得分:1)

  1. 右键单击数据流中的源对象
  2. 点击“显示高级编辑器...”
  3. 单击最后一个名为“输入和输出属性”的选项卡。
  4. 从那里,您将看到“输入和输出:”框中的列。然后,您可以单击各列并手动设置数据类型。