如何找到当前正在更新记录的平面文件

How to find the Flat file which is currently updating record into it

在 SSIS 中 在一个文件夹中有许多平面文件,通过使用每个循环容器,我们正在一个一个地处理它。如果文件夹中有任何新文件并且它仍处于复制模式。那么,我们不应该把它当作继续过程。我们应该只处理完全复制的文件到我们的下一个进程。

我们怎样才能做到这一点?请提出您的建议。

我过去这样做的最佳方法是使用 C# 脚本任务并尝试打开文件 - 如果文件仍在复制中,您将收到错误(您会发现)。然后,您可以设置一个布尔变量,以在打开有效时有条件地处理文件。

例如: 布尔 b = true;

        FileStream f;

        try
        {
            f = new FileStream("C:\Test\Test.txt", FileMode.Open, FileAccess.ReadWrite, FileShare.None);
        }
        catch (IOException e)
        {
            if (e.Message == "hello")
            {
                b = false;
            }
        }