如何将文件夹中的最新文件提供给 Integration Services 中的平面文件源
How to feed recent file in a folder to a Flat File Source in Integration Services
我想从日常类似文件的文件夹中导入一个 CSV 文件。
因为我需要在插入之前 t运行 分类目标 sql 服务器,所以我只需要来自源的最新文件。
我正在创建一个集成服务 (dtx) 包,可以 运行 而无需手动更改源文件名
您必须创建一个脚本任务并使用以下代码:
public void Main()
{
// TODO: Add your code here
var directory= new DirectoryInfo(Dts.Variables["User::VarFolderPath"].Value.ToString());
FileInfo[] files = directory.GetFiles();
DateTime lastModified = DateTime.MinValue;
foreach (FileInfo file in files)
{
if (file.LastWriteTime > lastModified)
{
lastModified = file.LastWriteTime;
Dts.Variables["User::VarFileName"].Value = file.ToString();
}
}
MessageBox.Show(Dts.Variables["User::VarFileName"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;
}
以上代码仅供参考,您必须根据自己的变量进行修改,并根据自己的文件名约定
进行过滤
我想从日常类似文件的文件夹中导入一个 CSV 文件。 因为我需要在插入之前 t运行 分类目标 sql 服务器,所以我只需要来自源的最新文件。 我正在创建一个集成服务 (dtx) 包,可以 运行 而无需手动更改源文件名
您必须创建一个脚本任务并使用以下代码:
public void Main()
{
// TODO: Add your code here
var directory= new DirectoryInfo(Dts.Variables["User::VarFolderPath"].Value.ToString());
FileInfo[] files = directory.GetFiles();
DateTime lastModified = DateTime.MinValue;
foreach (FileInfo file in files)
{
if (file.LastWriteTime > lastModified)
{
lastModified = file.LastWriteTime;
Dts.Variables["User::VarFileName"].Value = file.ToString();
}
}
MessageBox.Show(Dts.Variables["User::VarFileName"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;
}
以上代码仅供参考,您必须根据自己的变量进行修改,并根据自己的文件名约定
进行过滤