目前,我在SSIS包的Script任务中有一个硬编码的文件路径值。
我有一个字符串变量sPath。我应该如何在Script Task中使用这个变量sPath?
string strPath = "C:\\File.xls";
if( File.Exists(strPath))
{
File.Delete(strPath);
}
答案 0 :(得分:7)
以下是在Script Task
中使用变量的一种可能方法。假设您的软件包上声明了一个名为 FilePath 的变量,如屏幕截图# 1 所示,那么您可以使用以下代码在Script Task
内使用该变量。这是使用变量的可能方法之一。此处变量仅用于使用方法LockForRead
读取值。如果使用LockForWrite
方法声明变量,您还可以将值写入变量。
顺便说一下,Scrip Task
代码中描述的功能也可以使用SSIS File System Task
任务列表中提供的Control Flow
来执行。
希望有所帮助。
在脚本任务中使用包变量:
C#代码,只能在 SSIS 2008 and above
中使用。
public void Main()
{
Variables varCollection = null;
string FilePath = string.Empty;
Dts.VariableDispenser.LockForRead("User::FilePath");
Dts.VariableDispenser.GetVariables(ref varCollection);
FilePath = varCollection["User::FilePath"].Value.ToString();
if (File.Exists(FilePath))
{
File.Delete(FilePath);
}
varCollection.Unlock();
Dts.TaskResult = (int)ScriptResults.Success;
}
屏幕截图#1: