代码之家  ›  专栏  ›  技术社区  ›  Sankar M

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

  •  0
  • Sankar M  · 技术社区  · 9 年前

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

    我们如何做到这一点?请提出你的建议。

    1 回复  |  直到 9 年前
        1
  •  2
  •   john McTighe    9 年前

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

    如: 布尔值b=真;

            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;
                }
            }