ssis - 平面文件源 - 进程无法访问该文件,因为它正由另一个进程使用

时间:2010-06-21 21:04:13

标签: sql-server sql-server-2005 ssis

我尝试使用SSIS平面文件源来读取正在写入的日志文件。循环并等待发布文件是不切实际的,因为这是服务所持有的活动日志文件。

理想情况下,我正在寻找平面文件源的设置,类似于下面的C#代码。如果没有,我可以采取什么途径来阅读平面文件?我试图留在SSIS内,因为我真的不敢相信这不能用库存零件完成,并假设我只是遗漏了一些东西。

使用C#,我可以成功打开平面文件源错误的确切文件

System.IO.FileStream file
= new System.IO.FileStream
    (
        file_to_hash.FullName
        , System.IO.FileMode.Open
        , System.IO.FileAccess.Read
        , System.IO.FileShare.ReadWrite
    );

这是SSIS中遇到的错误消息: 警告:0x80070020在数据流任务,平面文件源[1]:进程无法访问该文件,因为它正由另一个进程使用。 错误:0xC020200E在数据流任务,平面文件源[1]:无法打开数据文件“XXX”。

2 个答案:

答案 0 :(得分:1)

蒂姆和卡德的两个想法都会起作用。我选择了Tim的方法 - 复制文件b / c我已经有代码(复制和数据转换),并且更改进入数据转换的文件的名称/路径是正在构建的应用程序的配置设置。希望我能将其标记为已回答,但是将该问题视为未注册用户。

答案 1 :(得分:0)

您可能需要编写自定义数据源 - possibly as simple as a script task