文件系统任务是用来操作服务器上的文件和目录的。比如,可以新建任务来创建、复制、删除或移动一个文件或一个目录。
一、操作和属性
一个文件系统可以定义如下10种操作。
- 所有的操作包含Name, Description, IsSourcePathVariable, SourceConnection和SourceVariable这些常用属性值。
- Delete directory content操作会删除这个目录文件夹中所有的子文件夹和文件,但是不会删除当前目录文件夹。
- Delete directory操作会删除这个目录文件夹中所有的子文件夹和文件,同时也会删除当前目录文件夹。
- 没有"Rename directory" 的操作,但是可以使用 "Move directory" 的操作来重命名一个目录。
下面是一个文件系统任务中所有的属性列表。
二、创建文件系统任务
下面我们将C盘根目录下的Test.txt文件移动到一个新创建的文件夹下,最后使文件为只读属性。
1)打开空白的SSIS包,拖拽三个文件系统任务到设计面板上并连线如下。
2)右键第一个任务->重命名为“Rename Folder”,修改描述为“Create a folder from a variable”->修改操作为"Create directory",IsSourcePathVariable为"True"->单击SourceVariable最右侧的三角
3)选择“New variable”->打开添加变量窗口,修改如下图,创建变量Folder->OK->OK。
4)与上述操作类似,右键选择编辑第2个任务->重命名为“Move File ”,描述为“Move a file to the new folder”->修改操作为“Move file”,IsDestinationPathVariable为"True",DestinationVariable为变量 "User::Folder"->在SourceConnection的下拉列表中选择打开文件连接管理器编辑器->单击“浏览...”->按钮选择C盘的Test.txt文件->单击"打开"。
5)单击OK,这时我们设置的任务属性如下,之后单击OK,这样第二个任务就设置好了。
6)新建一个变量File,使用String类型,设置值表达式为@[user::Folder]+"\\Test.txt",指向移动后的文件。
7)同上编辑第3个任务,修改如下,改好之后单击OK保存。
8)执行包,执行成功后关闭执行。
9)最后我们在目录C:\SSIS下可以看到移动过来的Test.txt文件,并且在该文件的属性可以看到文件属性为只读。