Visual studio ADO NET目标中的可用目标列缺少新添加的列
我需要向ETL流程添加一列。成功完成了除最后一个步骤之外的所有步骤-Visual studio ADO NET目标中的可用目标列缺少新添加的列,visual-studio,visual-studio-2008,ssis,Visual Studio,Visual Studio 2008,Ssis,我需要向ETL流程添加一列。成功完成了除最后一个步骤之外的所有步骤-ADO NET Destination(左侧的“Insert Specs”元素) 新列在条件拆分中显示良好,既作为源列,也作为目标列 在ADO NET Destination(“插入规范”)中,新列仅出现在“可用输入列”的左侧,而在右侧(“可用目标列”)缺少该列 我确信我的新列在目标表中。我是不是错过了一步 更新: 同样有趣的是,当我将鼠标悬停在ADO NET Destination元素上时,会收到以下警告: 已向外部数据
ADO NET Destination
(左侧的“Insert Specs”元素)
新列在条件拆分
中显示良好,既作为源列,也作为目标列
在ADO NET Destination
(“插入规范”)中,新列仅出现在“可用输入列
”的左侧,而在右侧(“可用目标列
”)缺少该列
我确信我的新列在目标表中。我是不是错过了一步
更新:
同样有趣的是,当我将鼠标悬停在ADO NET Destination元素上时,会收到以下警告: 已向外部数据库表中添加了一个名为
salled\u price
的新列。如果需要,使用高级编辑器刷新可用的目标列
我发现这种情况不时发生在其他转换中。我必须始终如一地修复它的唯一方法是删除数据流连接器并重新连接它们,因为有时它们在SSIS 2008中似乎不会刷新。上面的视图是针对“编辑”的 但是,说明要求使用“高级编辑器” 在高级编辑器的底部有一个“刷新”按钮。单击此按钮将新列添加到“可用目标列””框中
这是针对SSIS 2013的:在目标编辑器中,“表或视图的名称”旁边有一个按钮“新建…”。按它,在代码中编辑表格名称,然后按OK。这将删除当前目标表并创建一个新的目标表,其中包含更新的列,您现在可以映射这些列。小心,因为这将删除当前目标表。接受的答案有效,但会导致所有输入列映射重置(至少对我来说,我使用的是Visual Studio 2017)。我可以通过进入“输入和输出属性”选项卡,展开ADO NET目标输入,选择外部列并单击“添加列”按钮来添加新列。新字段现在在“列映射”选项卡的“目标”列中可用
Visual Studio 2015和“Microsoft OLE DB Povider for SQL Server”存在相同的问题(对于“SQL Server本机客户端11.0”,我没有这个问题) 有时数据流任务无法识别更改。 将忽略在源或目标中添加/删除列 例如,删除和创建具有不同列的表将被忽略,只是运行验证失败
关闭并重新打开Visual Studio是问题最少的解决方案。我的ssis包中使用的“Union All”组件很少,这就是新列丢失的地方。我必须更新它,并在联合中包含新列,之后它就工作了。您所指向的ADO.NET目标是否有可能没有新列可用?如果您确定指向了正确的目标,并且没有在脱机模式下工作,请关闭软件包并重新打开它。这将迫使设计者重新验证所有元数据谢谢@billinkc。已经尝试过。刚刚尝试过,但可用目标列中仍缺少该列:(知道如何更新可用的输入列吗?例如,当你向提供条件拆分的源添加一个新列时?我尝试了这个,但我的新列仍然没有显示。知道我还可以尝试什么吗?我不想删除并重新添加所有内容,但可能这是唯一剩下的选项?按钮在2013版本中缺失。)在…上