利用 DTS 封裝的動態屬性任務,在執行期由全域變數指定來源檔案路徑、目標伺服器與資料庫,搭配 Windows 批次檔遍歷目錄呼叫 dtsrun,實現多檔自動化匯入。
FileName、ServerName、DatabaseName。Text File (Source)、目標 SQL Server,設定欄位對應。DataSource = FileNameDataSource = ServerName、Catalog = DatabaseNameINSERT INTO LogTable (Status) VALUES (?),參數綁定 FileName)。C:\MyImport\Import.dts。@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 目錄,功能更強大且支援原生排程與監控。