首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

使用 DTS 批次匯入多個檔案到 SQL Server(動態屬性 + 批次檔排程)

     編輯:關於SqlServer

架構概覽

利用 DTS 封裝的動態屬性任務,在執行期由全域變數指定來源檔案路徑、目標伺服器與資料庫,搭配 Windows 批次檔遍歷目錄呼叫 dtsrun,實現多檔自動化匯入。

DTS 封裝設計步驟

  1. 建立三個全域變數:FileName、ServerName、DatabaseName。
  2. 連線與轉換任務:來源 Text File (Source)、目標 SQL Server,設定欄位對應。
  3. 動態屬性任務:
    - 來源連線 DataSource = FileName
    - 目標連線 DataSource = ServerName、Catalog = DatabaseName
  4. 工作流排序:動態屬性任務 → 來源連線 → 目標連線 → 執行 SQL 任務(記錄匯入日誌 INSERT INTO LogTable (Status) VALUES (?),參數綁定 FileName)。
  5. 儲存為結構化儲存檔:C:\MyImport\Import.dts。

批次檔 Import.bat

@ECHO OFF
REM 遍歷 C:\MyImport\*.csv 呼叫 DTS 封裝
SET DTSFILE=C:\MyImport\Import.dts
SET SRV=LOCALHOST
SET DB=Bank

FOR %%F IN (C:\MyImport\*.csv) DO (
    dtsrun /S %SRV% /E /N "Import Package" /A FileName:"%%F" /A ServerName:%SRV% /A DatabaseName:%DB%
    IF ERRORLEVEL 1 ECHO 匯入 %%F 失敗 >> C:\MyImport\Import.log
)

排程自動化

使用 Windows 排程器每日/每小時執行 Import.bat,實現無人值守匯入。

遷移建議

SQL Server 2005 起 DTS 已取代為 SSIS (Integration Services)。新專案請直接使用 SSIS 專案部署模型、專案參數與 SSISDB 目錄,功能更強大且支援原生排程與監控。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved