Rad*_*hiu 5 sql-server ssis export-to-excel sql-server-2008-r2
我已经使用 SQL Server 的导入/导出实用程序创建了一个 SSIS 包,以将数据从视图导出到 Excel 文件。我还通过 SQL Server 中的时间表对其进行了安排,并且一切正常。
我从中导出数据的视图实际上是从多个视图等中获取数据,大约为“层次结构”中的 3 个级别。
VS_NEEDSNEWMETADATA当我修改进入顶层视图的任何视图的列别名时遇到错误,我正在从中导出数据。
经过研究,我明白这就是我收到错误的原因,但是有什么方法可以“传播”“新视图”的元数据,这样我就不必在每次更改时重新创建 SSIS 包视图的结构?
没有。SSIS 中的数据流与源紧密绑定。对列名称或数据类型的更改将导致验证步骤失败,从而导致错误。
为了缓解这种情况,我要么考虑保持列别名相同 - 视图/表值函数/存储过程在这方面很方便。
我使用的另一种方法是自动创建包。根据您的个人资料,我怀疑这会是一件简单的事情。不要在每次更改时在 SSMS 中右键单击来重新创建 SSIS 包,而是使用您认为合适的任何技术。我使用了基本的 .NET SSIS 库来创建包,但是当我使用 COM(数据流项)时,它们对我来说很痛苦。然后,我使用 EzAPI 构建了包,它抽象了一些 COM 内容,但它并不是 100% 功能完整。我目前对替代包结构的喜爱是Biml。
从 CodePlex下载BIDS Helper。它是免费的,并提供了许多有用的功能,这些功能不适合 SSIS/SSRS/SSAS 开发。其中包含将 Biml XML 转换为 SSIS 包 XML 的功能。您可以浏览我的答案并了解它的一些工作方式。就您而言,它将是 Excel 目标的非常基本的 OLE DB 源。您指定源视图名称,并且每次对视图进行更改时,单击“生成包”即可完成。Biml 将联系您的源,识别元数据并使用它为您的目的地生成数据类型和名称。
| 归档时间: | 
 | 
| 查看次数: | 20126 次 | 
| 最近记录: |