LOGIC从ssis中的文件路径中检索文件夹名称

时间:2014-09-11 16:04:57

标签: sql-server ssis

我在开发一个新软件包时遇到了一个问题,该软件包用于自动将数据从Excel文件加载到数据库表中。在加载时我需要提取Excel文件所在的文件夹名称,根据文件夹的名称,我必须检索要加载到数据库中的其他一些信息。我需要LOGIC的帮助来从文件路径中检索文件夹名称。

3 个答案:

答案 0 :(得分:1)

您可以使用脚本任务,该任务允许您使用System.IO命名空间从文件中获取文件信息和目录信息。然后,您可以将要从文件夹信息中提取的值分配给变量,以便在以后的步骤中使用。

答案 1 :(得分:1)

这样做的一种方法是使用表达式任务。

要使用此方法,您需要将Excel文件的完整路径/名称字符串放入变量(以下示例中为“FullPath”)。

@[User::Folder] = SUBSTRING(@[User::Path], 1, 
  LEN(@[User::Path]) - FINDSTRING(REVERSE(@[User::Path]), "\\", 1)
)

此表达式将变量“Folder”设置为“FullPath”的值减去最后一个“\”及其后的任何内容。如果您将其C:\Somewhere\Somewhere Else\More Path\File Name.xlsx提供,则表达式会将“文件夹”设置为C:\Somewhere\Somewhere Else\More Path

答案 2 :(得分:0)

尝试以下表达式:

SUBSTRING(@[User::FilePath], 1, 
LEN(@[User::FilePath]) - FINDSTRING(REVERSE(@[User::FilePath] ), "\\" ,1 ) + 1
)

更多示例here