2012-03-24 28 views
1

我是SSIS的新手,如果有人可以幫我解決這個問題,我將在關鍵期限工作。 我有一個共享文件夾在服務器位置/ /共享/源/文件,其中每天的基礎上一個文件將得到加載,並在每月的基礎上多一個文件得到加載兩個文件具有相同的擴展名.csvSSIS:將.csv文件從共享文件夾移動到oledb目標,併發送電子郵件通知

任何人都可以幫助我移動文件說A.csvB.csv到相應的表,更重要的是文件名在第1天將A 2011-09-10.csv和第2天在源文件將A 2011 -09-11.csv。這些文件必須移動到表A和文件B.csv必須被移動相應的目的地表表格b,一旦移動文件後,這個文件必須移動到存檔文件夾,而且我們需要向用戶發送tabl-A加載了1000行並且succesfull類似的表-b加載是sucesfull與dat e和時間。 注意:源文件將在早上5點每天在文件夾中自動更新。

+0

你是什麼意思將文件移動到表?你想讀取文件並在桌面上插入它的內容嗎? – Diego 2012-03-26 12:43:35

回答

2

首先,創建一個變量來保存文件路徑名。 其次,創建一個腳本任務,檢查該文件是否可用。 腳本任務如下:

 public void Main() 
    { 
     string FileName = String.Format("{0}.csv", DateTime.Now.ToString("yyyy-MM-dd")); 

     if (System.IO.File.Exists("\\Shared\\Path\\" + FileName)) 
     { 
      Dts.Variables["FileName"].Value = FileName; 
      Dts.TaskResult = (int)ScriptResults.Success; 
     } 
     else 
     { 
      Dts.TaskResult = (int)ScriptResults.Failure; 
     } 

    } 

腳本任務後,創建一個數據流任務。

  1. 在頁面底部的連接管理器中創建一個連接,該連接將指向平面文件。在平面文件連接管理器編輯器彈出窗口中,將文件名稱設置爲您想要上傳的文件(這將被動態更新,因此其實際值不相關)。在新連接的屬性中,打開「表達式」彈出窗口。選擇ConnectionString屬性,並將表達式設置爲指向路徑和FileName變量:「\\ Shared \\ Path \\」+ @ [User :: FileName]。
  2. 創建一個平面文件源,並使用我們剛創建的連接作爲平面文件的連接。
  3. 創建目標數據流項目,並將其指向要插入數據的數據庫。

從這裏開始,創建一個SQL Server作業,該作業在您希望運行的時候運行。這項工作應該執行你剛剛創建的軟件包。

相關問題