Ssis

SSIS Excel 到 SQL Server - 需要將 SSIS 變數添加到組合中

  • November 26, 2018

我有一個 SSIS 作業,它將 Excel 文件從 UNC 路徑載入到暫存 SQL 表中,然後在 SQL 伺服器上執行儲存過程以將數據載入到生產 SQL 表中。

我需要做的是確保與 Excel 中的數據一起,我還載入了一個 SSIS 變數。

假設 Excel 有 10 列。我的目標 SQL 表有 11 列。第 11 列是載入的 Excel 文件的名稱,我需要將其與 Excel 數據一起載入。

這是一個過於簡單的例子,但也差不多。

Excel 連接管理器是否使用變數作為文件名(ExcelFilePath屬性)?如果是這樣,請嘗試添加以該變數為值的派生列。否則,您可以按如下方式在數據流任務中添加一個腳本組件,以創建一個包含文件路徑的新列。

  • 添加腳本組件。在 Input and Outputs 窗格中,展開 Output 0 文件夾,選擇 Output Columns 文件夾並添加一個新列。將此列命名為您希望保存文件名的列被命名並選擇正確的數據類型。
  • 在腳本組件的連接管理器窗格中,添加正在使用的 Excel 連接管理器,並為名稱屬性提供適當的名稱。
  • 在腳本中,以下程式碼將從對像中獲取文件名並將新列設置為該值IDTSConnectionManager100。在此範例中,ExcelConnection是在腳本組件編輯器上為 Excel 連接管理器指定ExcelFilePath的名稱,並且是在數據流中添加的新列的名稱。從這一點開始,新列可以映射到目標表中的相應列。
IDTSConnectionManager100 ConnMnger;
ConnMnger = this.Connections.ExcelConnection;

Row.ExcelFilePath = ConnMnger.ConnectionString;

引用自:https://dba.stackexchange.com/questions/223269