Sql server SSIS如何将新添加的源列自动映射到所有后续转换和目标
我在SSIS中有一个ETL项目,它在Firebird数据库中收集一些数据,进行一些转换,然后将它们插入SQL Server数据库中的维度模型中。 我必须在模型中进行更改,添加一些列,并且必须在整个项目中从源代码手动将它们映射到所有组件中。 我的问题是:有没有办法自动映射新添加的列,而不必在所有后续转换组件中手动检查它们Sql server SSIS如何将新添加的源列自动映射到所有后续转换和目标,sql-server,ssis,Sql Server,Ssis,我在SSIS中有一个ETL项目,它在Firebird数据库中收集一些数据,进行一些转换,然后将它们插入SQL Server数据库中的维度模型中。 我必须在模型中进行更改,添加一些列,并且必须在整个项目中从源代码手动将它们映射到所有组件中。 我的问题是:有没有办法自动映射新添加的列,而不必在所有后续转换组件中手动检查它们 谢谢,我们使用BIML以及存储在数据库中的一些元数据来生成SSIS包。如果引入了新的源属性,我们只需将该属性添加到元数据中并重新生成包。这种方法的好处是,您可以一次性重新生成多个
谢谢,我们使用BIML以及存储在数据库中的一些元数据来生成SSIS包。如果引入了新的源属性,我们只需将该属性添加到元数据中并重新生成包。这种方法的好处是,您可以一次性重新生成多个包 使用BIML生成SSIS包依赖于使用非常严格的可重用模式的解决方案
马吕斯据我所知,没有一个是这样的——这是有道理的。任何新添加的列都可以是任何数据类型,用于任何用途。不能保证将需要给定的新列,也不能保证新添加的列只用于第一步中的条件检查。它需要手动添加到任何地方,因为这就是在后续的每个步骤中通知包需要它的原因。我采用的方法是使用SQLServer管理对象(SMO)读取表列信息,然后生成包来提取、转换和加载数据。编写代码生成器需要很好的准备工作,但在为数百个表开发包时,这是有意义的。您可以使用代码生成来完成这项工作,但这只有在您必须执行数百次的情况下才是有效的。