2011-10-06 29 views
0

我是一個新手,在SSIS包上工作,並感謝這裏有才華的人的幫助,比如你自己,我已經能夠使它工作,一個問題。我需要從2個平面文件中提取數據,然後將其插入到SQL表中,我已經添加了一個派生列來輸入目錄中文件的LastWriteTime。發生的事情是,不是拉入文件的LastWriteTime,而是將其插入目錄。我知道這一點,因爲我一直在複製/粘貼不同的文件到目錄中,並嘗試使用舊文件,但插入表中的日期是今天的日期,而不是文件的較早日期。我在腳本任務中使用了以下內容:獲取目錄中多個文件的LastWriteTime

Public Sub Main() 
Dim FilePath As String = "D:\InputFiles\" 
     Dim finf As New System.IO.FileInfo(FilePath) 
     Dts.Variables("User::FileDate").Value = finf.LastWriteTime 

     Dts.TaskResult = ScriptResults.Success 
EndSub 

有什麼建議嗎?

回答

0

你會得到FileInfo的目錄。

相反,您需要通過調用new DirectoryInfo(path).GetFiles()來獲取目錄中文件的多個FileInfo

+0

嗨SLaks,謝謝你的建議。所以我按照你的建議嘗試了以下內容:Public Sub Main()Dim filePath As String =「D:\ InputFiles \」Dim fileDirec As New System.IO.DirectoryInfo(filePath)fileDirec.GetFiles()Dts.Variables(「User: :FileDate「)。Value = fileDirec.LastWriteTime Dts.TaskResult = ScriptResults.Success End Sub ,但它仍將今天的日期而不是文件的LastWriteTime的日期插入到表中。任何想法的人? – daniness

+0

你明白你剛剛寫的是什麼嗎?你仍然得到目錄的'LastWriteTime'。你需要一個循環或一個LINQ查詢。 – SLaks

+0

好了,所以我嘗試了for-each循環: 昏暗文件路徑作爲字符串= 「d:\ InputFiles」 昏暗fileDirec作爲新System.IO.DirectoryInfo(文件路徑) 每個文件在fileDirec.GetFiles() DTS .Variables(「User :: FileDate」)。Value = fileDirec.LastWriteTime Next Dts.TaskResult = ScriptResults.Success ...但仍然沒有運氣.....我在做什麼錯誤...我'對不起,但我只是一個初學者,努力學習,因爲我去...我感謝所有的協助。 – daniness