KB2407172 - 修正:在 SSIS 2005、SSIS 2008 或 SSIS 2008R2 中,對於「XML 來源」任務的無效資料錯誤輸出被重新導向之前,會發生例外

套用到
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Express Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Workgroup Edition

Microsoft 將 Microsoft SQL Server 2005 與 Microsoft SQL Server 2008 修正案作為一個可下載檔案發行。 由於修補是累積性的,每個新版本都包含先前 SQL Server 2005 或 SQL Server 2008 修補釋版本中包含的所有熱修補與安全修補。Microsoft 將 Microsoft SQL Server 2005、Microsoft SQL Server 2008 及 Microsoft SQL Server 2008 R2 修正作為一個可下載檔案發行。 由於修補是累積性的,每個新版本都包含先前 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 修正釋出時所包含的所有熱修補與安全修補。

症狀

請考慮以下案例:

  • 你可以在 SQL Server 2005 (SSIS 2005) Integration Services、Microsoft SQL Server 2008 Integration Services (SSIS 2008) 套件,或 SQL Server 2008 R2 (SSIS 2008) Integration Services 的資料流中新增 XML 來源任務。
  • 你可以設定 XML Source 任務使用 XML 檔案和 XML 結構檔案 (XSD) 。 XML 檔案包含一些基於結構定義的無效資料。
  • 你嘗試將 XML Source 任務的錯誤輸出導向到處理無效資料。
  • 你負責整個包裹。

在此情況下,封裝在錯誤輸出被重新導向前失敗,並發生例外。

例如, LeaseRentStartDate 欄位以 xs:date 型別定義,使用 XSD 檔案,包含以下內容:

<xs:element minOccurs="0" name="LeaseRentStartDate" type="xs:date" />

然而,XML 檔案包含以下格式錯誤的資料:

<LeaseRentStartDate><Time></LeaseRentStartDate>

在這種情況下,套件執行失敗後錯誤輸出尚未被導向,並會收到類似以下錯誤訊息的訊息:

注意

[XML 來源 [3198]]錯誤:元件「XML Source」 (3198) 嘗試將資料寫入輸出欄位「LeaseRentStartDate」 (4036) ,輸出為「LEASE Error Output」 (3668) 失敗。 字串 「<Time>」並非有效的 AllXsd 值。

原因

此問題發生於 XML Source 任務錯誤地根據資料型態進行第二次欄位值解析。 因此,例外情況會發生。

解決方式

累積更新資訊

SQL Server 2008 R2

這個問題的修正最早是在累積更新 5 中釋出的。 欲了解更多如何取得 SQL Server 2008 R2 累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2438347 2008 R2 SQL Server 累積更新包 註:由於建置是累積性的,每個新修正版本都包含了前一 SQL Server 2008 R2 版本中所有的熱修補與安全修補。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2005 Service Pack 4

此問題的修正最初於 SQL Server 2005 Service Pack 4 的累積更新 1 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2464079 2005 服務包 4 SQL Server累積更新包 1 備註:由於建置是累積式的,每個新修正版本都包含了前一 2005 年修正釋版本SQL Server所有的熱修補與安全修補。 Microsoft 建議你考慮套用包含此熱修補的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2485757 2005 服務包 4 發布後釋出的 SQL Server 2005 版本SQL Server SQL Server 2005 熱修補Microsoft針對特定SQL Server服務包所建立。 您必須對安裝 SQL Server 2005 服務包 4 套用 SQL Server 2005 Service Pack 4 熱修補程式。 預設情況下,SQL Server 服務包中提供的任何熱修正會包含在下一個 SQL Server 服務包中。

SQL Server 2008 Service Pack 2

此問題的修正最初於 SQL Server 2008 Service Pack 2 的累積更新 1 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2289254 2008 SQL Server 服務包 2 累積更新 注意 由於建置是累積式,每個新修正版本都包含了 2008 SQL Server 修正釋版本中包含的所有熱修補與安全修補。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 2008 服務包 2 發布後SQL Server SQL Server 2008 版本

SQL Server 2008 服務包 1

此問題的修正最初於 SQL Server 2008 Service Pack 1 的累積更新 10 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2279604 2008 SQL Server 服務包 1 的累積更新包 10 備註:由於建置是累積式的,每個新修正釋版本都包含了前一SQL Server 2008 修正釋版本中包含的所有熱修補與安全修補。 Microsoft 建議你考慮套用包含此熱修補的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 2008 SQL Server 2008 版本是在 2008 服務包 1 發布後釋出SQL Server Microsoft SQL Server 2008 熱修補是針對特定SQL Server服務包所建立的。 您必須對安裝 SQL Server 2008 Service Pack 1 SQL Server 熱修補程式。 預設情況下,SQL Server 服務包中提供的任何熱修正會包含在下一個 SQL Server 服務包中。

SQL Server 2005 Service Pack 3

此問題的修正最早於 SQL Server 2005 Service Pack 3 的累積更新 12 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2345449 2005 服務包 3 SQL Server累積更新套件 12 由於建置是累積的,每個新修正版本都包含了先前 2005 SQL Server 修正版本中包含的所有熱修正與安全修正。 Microsoft 建議你考慮套用包含此熱修補的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

960598 2005 服務包 3 發布後SQL Server 2005 SQL Server版本Microsoft SQL Server 2005 熱修補針對特定SQL Server服務包製作。 您必須對安裝 SQL Server 2005 Service Pack 3 的安裝套用 SQL Server 2005 Service Pack 3 熱修補程式。 預設情況下,SQL Server 服務包中提供的任何熱修正會包含在下一個 SQL Server 服務包中。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

欲了解更多關於 XML 來源的資訊,請造訪以下 Microsoft 開發者網絡 (MSDN) 網站:

關於 XML 原始碼的一般資訊 欲了解更多如何在資料流中處理錯誤的資訊,請造訪以下 MSDN 網站:

關於如何在資料流程中處理錯誤的一般資訊 欲了解更多關於 XML 架構資料型態的資訊,請造訪以下網站:

關於 XML 結構資料型態的一般資訊欲了解更多關於 SQL Server 增量服務模型的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

欲了解更多關於 SQL Server 更新命名架構的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

822499 Microsoft SQL Server軟體更新套件的新命名架構欲了解更多軟體更新術語,請點擊以下文章編號以瀏覽Microsoft知識庫中的文章:

824684 描述用於描述Microsoft軟體更新的標準術語