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

Excel 匯入 SQL Server 2000 完整圖文教學:DTS 精靈逐步操作指南

     編輯:關於SqlServer

適用情境與工具選擇

將 Excel (.xls) 資料導入 SQL Server 2000,最直觀的方式是使用企業管理器內建的 DTS 匯入/匯出精靈。本文提供 11 步驟完整操作流程,並針對常見錯誤(欄位順序不符、資料型別衝突)給出預防建議。

操作步驟總覽

  1. 啟動精靈:企業管理器 → 展開資料庫 → 右鍵資料表 → 「所有工作」→ 「匯入資料」
  2. 資料來源:選擇 Microsoft Excel 97-2000,瀏覽選取 .xls 檔案
  3. 目的地:Microsoft OLE DB Provider for SQL Server,伺服器選 (local),驗證模式 SQL Server 驗證,帳號 sa,目標資料庫
  4. 資料指定方式:選擇 使用查詢指定要傳輸的資料
  5. 查詢建立器:關鍵步驟——將來源欄位加入「選取的欄位」清單時,順序必須與目標資料表欄位定義順序完全一致,否則匯入會報錯或資料錯位
  6. 排序順序:指定 ORDER BY 欄位(可略過)
  7. 列範圍:選擇 所有列
  8. 檢視產生的查詢:確認 SQL 語法無誤
  9. 目的地資料表對應:在「目的地」下拉選單選擇目標資料表
  10. 執行模式:立即執行
  11. 完成精靈:檢視摘要 → 完成

常見坑點與解決方案

問題現象原因解決辦法
匯入成功但資料對錯欄 查詢建立器欄位順序 ≠ 目標表結構順序 步驟 5 嚴格對齊順序;或在 Excel 端調整欄位順序
數值欄位匯入變 NULL Excel 儲存格含非數字字元(如空格、逗號) Excel 端預先清洗:TRIM、SUBSTITUTE、設定儲存格格式
日期欄位格式錯誤 Excel 日期序列值與 SQL Server 日期格式不符 查詢中使用 CONVERT 或匯入暫存表再轉型
長文字截斷 目標欄位長度 < Excel 實際內容長度 擴大目標欄位(VARCHAR(MAX)/TEXT)或預先截斷

進階技巧:另存 DTS 套件實現自動化

精靈最後一步可選「另存為 DTS 套件」,後續可:

  • SQL Agent 排程定期執行
  • 命令列 dtsrun /S server /N "PackageName" /E 呼叫
  • VB/ASP 透過 DTS.Package 物件模型動態修改來源/目的地路徑

現代替代方案(SQL 2005+)

  • SQL Server 匯入/匯出精靈(SSIS 基礎版):支援 .xlsx、OpenXML SDK
  • OPENROWSET:SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=path\file.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]')
  • SSIS 套件:資料流程轉換、錯誤導向、記錄、參數化、專案部署

最佳實務清單

  1. 匯入前先以 SELECT * INTO #tmp FROM OPENROWSET(...) 驗證資料樣貌
  2. 建立 Staging Table(所有欄位 NVARCHAR(MAX))接收原始資料,再用 T-SQL 清洗轉型寫入正式表
  3. 大量資料(>10 萬列)改用 BULK INSERT 或 bcp,效能優於 DTS
  4. 記錄匯入批次號、時間、筆數、錯誤筆數,建立稽核追蹤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved