根据变量SSIS脚本删除文件
Delete files based on variable SSIS Script
我在ssis中有一个删除文件的脚本,我需要通过添加变量来修改脚本,以便进程可以动态执行。如果有人可以通过展示如何在下面的脚本中添加变量来帮助我,我将不胜感激:-
enter public void Main()
{
int RetentionPeriod = 0;
string directoryPath = @"\ABCD\EFG\HIJ";--need to add location variable
string[] oldFiles = System.IO.Directory.GetFiles(directoryPath, "*.csv");
foreach (string currFile in oldFiles)
{
FileInfo currFileInfo = new FileInfo(currFile);
if (currFileInfo.LastWriteTime < (DateTime.Now.AddDays(-RetentionPeriod)))---need to add date variable here
{
currFileInfo.Delete();
}
}
// TODO: Add your code here
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}
如脚本所示,我需要添加两个变量,即位置变量和日期 variable.Both 变量具有字符串数据类型
I know this question is very silly but I have no exp in writing SSIS scripts
string directoryPath = Dts.Variables["User::NameOfStringVariable"].Value
您还必须将变量添加到脚本任务配置的只读列表中。这是另一个问题的屏幕截图,向您展示了在何处使脚本可以访问变量:
如果您不知道 where/how 将变量添加到包中。一种简单的方法是右键单击控制流的灰色区域并选择变量,这将显示变量 window 然后只需添加具有所需适当数据类型的变量。
编码过度:试试这个:
按照上面的回答设置一个变量以包含文件路径
在设置 System.IO 之后将其添加到 main 中;参考
public void Main()
{
string FilePath = Dts.Variables["UserControl::File"].Value.ToString();
if (File.Exists(FilePath))
{
File.Delete(FilePath);
}
Dts.TaskResult = (int)ScriptResults.Success;
}
我在ssis中有一个删除文件的脚本,我需要通过添加变量来修改脚本,以便进程可以动态执行。如果有人可以通过展示如何在下面的脚本中添加变量来帮助我,我将不胜感激:-
enter public void Main()
{
int RetentionPeriod = 0;
string directoryPath = @"\ABCD\EFG\HIJ";--need to add location variable
string[] oldFiles = System.IO.Directory.GetFiles(directoryPath, "*.csv");
foreach (string currFile in oldFiles)
{
FileInfo currFileInfo = new FileInfo(currFile);
if (currFileInfo.LastWriteTime < (DateTime.Now.AddDays(-RetentionPeriod)))---need to add date variable here
{
currFileInfo.Delete();
}
}
// TODO: Add your code here
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}
如脚本所示,我需要添加两个变量,即位置变量和日期 variable.Both 变量具有字符串数据类型
I know this question is very silly but I have no exp in writing SSIS scripts
string directoryPath = Dts.Variables["User::NameOfStringVariable"].Value
您还必须将变量添加到脚本任务配置的只读列表中。这是另一个问题的屏幕截图,向您展示了在何处使脚本可以访问变量:
如果您不知道 where/how 将变量添加到包中。一种简单的方法是右键单击控制流的灰色区域并选择变量,这将显示变量 window 然后只需添加具有所需适当数据类型的变量。
编码过度:试试这个: 按照上面的回答设置一个变量以包含文件路径 在设置 System.IO 之后将其添加到 main 中;参考
public void Main()
{
string FilePath = Dts.Variables["UserControl::File"].Value.ToString();
if (File.Exists(FilePath))
{
File.Delete(FilePath);
}
Dts.TaskResult = (int)ScriptResults.Success;
}