如何存储在SSIS变量“完全合格”和“名存实亡”的文件名(How to store 'ful

2019-10-21 17:37发布

我有了一个Foreach循环容器装在一个静态文件夹中的所有.txt文件的SSIS包。 我传递完全合格的文件名,因为我使用连接字符串中的变量。

我现在只是需要将文件名传递给一个变量用来执行存储过程,麻烦的是,如果我改变的foreach循环收集只是检索它阻止其余则来自工作的文件名。

有没有办法通过双方的完全合格的名称仅文件名在SSIS一个变量?

Answer 1:

不,你挑一个:要么完全合格的或仅文件名。 就个人而言,如果只是存储过程的一切希望完全合格的名字,我会创建第二个变量FileNameOnly并且用类似的表达来填充它

RIGHT(@[User::CurrentFileName], FINDSTRING(REVERSE(@[User::CurrentFileName]), "\\", 1 )-1)

(这里假设你已经存储在一个名为变量的值CurrentFileName

或者你也可以使用脚本任务分配价值FileNameOnly并充分利用.NET System.IO.Path.GetFileName方法。



Answer 2:

可以添加另一个变量@[User::Filename]Foreach循环容器内添加表达式任务用下面的表达式:

@[User::Filename] = TOKEN(@[User::FilePath],"\\", TOKENCOUNT(@[User::FilePath],"\\"))


文章来源: How to store 'fully qualified' and 'name only' file name in SSIS variable