gpt4 book ai didi

SSIS - 如何遍历文件夹中的文件并获取路径+文件名,最后执行存储过程,参数为路径+文件名

转载 作者:行者123 更新时间:2023-12-03 23:25:59 25 4
gpt4 key购买 nike

任何帮助深表感谢。我正在尝试创建一个 SSIS 包来遍历文件夹中的文件并获取路径+文件名,最后执行存储的过程,参数为路径+文件名。我不确定如何获取路径+文件名并将其作为参数插入到存储过程中。我附上了截图供您引用:

最佳答案

看起来您的想法总体上是正确的,@Speedbirt186 提供的链接有一些很好的细节,但听起来我想我可能会指出关于流量和变量的一些细微差别。

foreach 循环可以将整个路径或文件名或文件名和扩展名分配给变量。如果您不想添加脚本任务以从路径中拆分文件名,则后者对您的情况最有帮助。如果您从向项目中添加 5 个变量开始,它会更容易一些。 1 将是源目录路径,另一个是目标(存档)目录路径,然后 1 用于保存每个循环分配的文件名和扩展名。然后是 2 个额外的动态变量,它们简单地将源目录和文件名组合起来以获取源完整路径,将目标与文件名组合起来以获取目标完整路径。

enter image description here

接下来确保设置数据库和 Excel 文件连接。在设置好 Excel 文件连接后,转到属性窗口中的表达式并将“连接字符串”属性设置为 SourceFullPath。这将告诉连接在循环的每次迭代中更改文件路径。

enter image description here

现在你只需要设置你的循环等。添加每个循环容器设置目录、过滤器并选择文件名和扩展名。

enter image description here

现在在集合页面的表达式框中,将目录属性设置为源目录变量的属性。

enter image description here

Fore each 循环的最后一部分是设置变量映射以将文件名存储在变量中。所以去那个选项卡选择你的文件名变量并将索引设置为0。

enter image description here

此时,您可以像使用普通文件一样添加数据流并设置导入(请注意,文件名参数的默认值应该是具有您要导入的结构的实际文件)。

在您的 Execute SQL 任务中删除数据流并按照您的需要进行设置。这是直接输入的示例,您可以看到引用参数的简单方法就是问号 (?)。

enter image description here

接下来在您的 sql 任务中,通过添加所需的详细信息来设置参数映射,例如:

enter image description here

现在您正在执行文件任务。根据需要删除文件任务和设置,但选择目标和源完整路径变量来告诉任务要移动哪个文件。

enter image description here

就是这样,你已经完成了。不过还有一件事需要注意。您在发布的图像中设置优先级的方式显示了从数据流到 sql 和文件任务的同时进行。如果您的存储过程依赖于您的文件,您可能希望将其放在 sql 任务之后。如果您想移动文件,即使您的存储过程失败,您也可以随时将约束选项更改为“完成”。

enter image description here
enter image description here

关于SSIS - 如何遍历文件夹中的文件并获取路径+文件名,最后执行存储过程,参数为路径+文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151342/

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