gpt4 book ai didi

SSIS - 动态列映射

转载 作者:行者123 更新时间:2023-12-04 19:21:30 25 4
gpt4 key购买 nike

我正在使用 SSIS 进行从 excel 到 OLEDB SQL 的数据转换。我在一个文件夹中有一组工作表,我必须循环遍历并将这些工作表中的每一个中的数据插入到表格中。我有一个场景,我必须遍历一组具有不同列结构的 Excel 工作表。我可以通过 foreach 循环枚举器遍历每个工作表,找到文件名并将它们传递给 Excel 源。

我想知道是否有办法在目标组件中转义此列映射,在我的情况下将是 OLEDB SQL 表。因为这些映射对于每个文件都是不同的。有没有办法动态地做到这一点?

最佳答案

虽然您可以在循环内添加脚本任务来修改映射,但这并不是最简单的事情,因为您必须在代码中显式创建每个映射。一个更简单的解决方案是用带分隔符的文本文件替换 Excel 工作表,并使用批量插入任务将它们导入循环内。只要文件和表中的列顺序相同,您就不必提供任何映射信息。

如果您不能这样做,您将不得不将映射元数据存储在某处,例如数据库中的一个表并使用它在脚本任务中创建动态映射。

一种稍微简单的方法是仅使用一个脚本任务,该任务使用元数据来配置 SqlBulkCopy 对象。您失去了完整数据流任务的灵活性,但如果您只想在临时表中加载一些文件,那就足够了。另外,配置 SqlBulkCopy 对象比配置数据流任务要容易得多。

关于SSIS - 动态列映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com