我有一个 SSIS 包(SQL Server 2005),它遍历文件夹中的一堆平面文件。我需要等到源应用程序完成文件的写入,然后才能在我的平面文件导入任务中打开它。
我有一个 For Each 循环容器,其中有一个要在数据流任务之前执行的脚本任务。
当我尝试在脚本任务和数据流任务之间创建成功连接器时,我收到此错误:
无法创建连接器。你调用的对象是空的。
我知道某些东西被设置为空,但我看不到它。我DelayValidation
在脚本任务和数据流任务上都设置为 true。我还缺少什么?
我是一个 C# 人,所以也许我在 VB 中遗漏了一些明显的东西。这是我从互联网上偷来的脚本:
Public Sub Main()
Dim strFileName As String = CType(Dts.Variables("FileName").Value, String)
Dim objFS As System.IO.FileStream
Dim bolFinished As Boolean = False
Do
Try
objFS = System.IO.File.Open(strFileName, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
bolFinished = True
objFS.Close()
Catch ex As Exception
System.Threading.Thread.Sleep(1000)
End Try
Loop
If bolFinished Then
Dts.TaskResult = Dts.Results.Success
Else
Dts.TaskResult = Dts.Results.Failure
End If
End Sub