2014-07-14 40 views
0

我需要将列添加到ETL过程。除最后一个步骤外,所有步骤均成功完成 - ADO NET Destination(左侧的“插入规范”元素)。ADO NET中可用目标列中缺少新添加的列目标

SSIS conditional split

新列出现就好在Conditional Split,既作为源列和目的列。

ADO NET Destination(“插入规格”)中,新列仅出现在“Available Input Columns”的左侧,而右侧缺失(“Available Destination Columns”)。

ADO NET Destination mappings

我肯定知道我的新列存在于目标表。我错过了一步吗?


更新:
什么也很有趣的是,当我将鼠标悬停在ADO NET目标元素我得到这样的警告:

与名sold_price一个新列已经被添加到外部数据库表。如果需要,使用高级编辑器刷新可用的目标列。

ADO NET Destination - new column added

+0

您指向的ADO .NET目标有没有可用的新列?如果你是积极的,你就指向正确的目的地,而你没有在离线模式下工作,请关闭软件包并重新打开它。这将迫使设计者重新验证所有的元数据 – billinkc

+0

谢谢@billinkc。已经尝试过。 – Nelu

回答

10

上面的观点是“编辑”得到刷新。

但是,说明要求提供“高级编辑器”。

SSIS advanced editor in Visual Studio

有一个在高级编辑器底部的 “刷新” 按钮。单击此按钮将新列添加到“可用目标列”框中。

SSIS advanced editor view in Visual Studio

+0

任何想法如何更新可用的输入列?E将新列添加到提供条件分割的源时? – KidCode

+0

我试过这个,我的新列还没有显示出来。我还有什么可以尝试的想法?我宁愿不必删除并重新添加所有内容,但也许这是剩下的唯一选择? – Kris

1

我发现这种情况发生在其他转换不时。我必须始终解决它的唯一方法,就是删除数据流的连接器,然后重新连接,因为有时他们似乎并不在SSIS 2008年

+0

刚刚尝试过,列中仍然缺少可用目标列。 :( – Nelu

1

这是SSIS 2013:在目的地编辑器,有按钮“新建...”旁边的“表或视图的名称”。按下它,在代码中编辑表名,按OK键。这将删除当前的目标表并创建新的目录表,并带有更新的列,您可以立即映射该列。要小心,因为这会丢失当前的目标表。