SQL Server數據庫管理員經常會遇到需要從一個XML文檔加載數據到SQL Server 2005或2008中去的情況。因為XML被許多公司廣泛地用來溝通和分享數據,所以加載XML數據到SQL Server中去已經成為了數據庫管理員的一項經常工作。這篇文章提供了對怎樣創建和配置一個可以用來從XML文件導入數據到SQL Server 2008中去的SSIS包的逐步指導。
第一步是啟動BIDS(SQL Server商業智能開發套件)。在BIDS選擇文件|新建|項目中,將要彈出的頁面是新項目屏幕。在這裡我們需要在項目類型下面選擇商業智能項目,然後我們需要在模板下面選擇集成服務項目。然後你需要提供SSIS項目名稱,位置等等。你輸入了這些細節之後,點擊OK來創建解決方案。項目創建屏幕看起來如下圖所示:
BIDS將打開SSIS包開發套件環境。這個屏幕在左邊有一個工具箱,在右邊有解決方案管理器和屬性。這裡要注意的一個最重要區域是連接管理器區域,它在屏幕下方。在屏幕的中央,你將看到工作區,它有四個標簽頁:控制流、數據流、時間處理器和包管理器。
為了建立SSIS包,你需要將數據流從工具箱拖到控制流標簽頁中。然後你需要重新命名這個數據流任務來加載XML,然後雙擊它打開這個數據流任務。通過這麼做,你將看到你現在在BIDS的數據流標簽頁中。
為了建立一個數據流,從數據流源工具箱拖拉XML源到數據流設計器界面,並重新命名這個任務為XML源數據文件。
你需要雙擊這個XML源數據文件任務,它將打開XML源編輯器,在這裡你需要選擇XML文件位置作為數據訪問模式的值。然後你需要指定整個xml數據文件的實際路徑用於XML定位,最後點擊‘生成..’按鈕來創建和保存這個XSD文件。
接下來你需要從工具箱裡拖拉SQL Server目標數據流任務並重新命名它來加載XML數據到SQL Server。下面是接下來的配置步驟:
1) 你需要用綠色箭頭將XML源數據文件到加載XML數據到SQL Server 任務連接起來。
2) 雙擊加載XML數據到SQL Server 任務來打開SQL目標編輯器並雙擊‘新建…’按鈕,它將彈出配置OLE DB連接管理器。
3)對於一個到SQL Server目標數據庫的有效連接,你需要點擊‘新建…’按鈕,它將再次彈出連接管理器,在這裡提供商應該選擇為本地OLE DB\SQL Server 本地客戶端10.0、再填入SQL Server 名稱、驗證模式和最終的目標數據庫名稱。填好了所有的細節之後點擊OK來保存變更。
4) 當從XML文件導入的數據將要存儲在目標數據庫中時,需要提供表名稱。然後你需要點擊‘匹配’來檢查XML文檔中的元素是否正確地匹配到SQL Server表中的表字段上。點擊OK來保存這些設置。最後的屏幕顯示如下所示:
5) 在BIDS中,包的屏幕顯示如下圖所示:
6) 選擇重新命名了叫做“LoadXML.dtsx”的SSIS包,如果沒有重新命名那麼默認情況下BIDS將它命名為“package.dtsx”。右鍵單擊“LoadXML.dtsx”包,它將彈出一個窗口,在這裡你需要選擇執行包選項,這會運行SSIS包。
7) 如果這個包成功執行了,你就可以看到這些任務變為了綠色,而且它還會顯示轉換和發布到SQL Server的記錄數目。
8) 這個例子中的示例XML數據文件如下圖所示:
9) 由SSIS包加載進SQL Server 表的數據顯示如下:
10) 按下CTRL + S來保存這個SSIS包。