您無法在 SQL Server 2008 R2 或 SQL Server 2008年中的 64 位元模式執行 SSIS 封裝

文章翻譯 文章翻譯
文章編號: 2853715 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

假設您在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008年中建立 Microsoft SQL Server 整合服務 (SSIS) 套件。當您嘗試在 64 位元模式中執行封裝時,您會發現您不能執行此封裝。此外,您可能會收到一或多個下列的錯誤訊息,請依據工作或封裝中的元件而定:
  • 封裝包含 ADO.Net 來源:

    錯誤:時間戳記>
    程式碼: 0xC0047062
    來源: 資料流程工作 ADO 網路來源 [1]
    描述: System.InvalidCastException: 指定的轉型無效。
    在 Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.GetSqlCommand()
    在 Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.Validate()
    在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostValidate (IDTSManagedComponentWrapper100 包裝函式)
    一般錯誤
  • 封裝包含 XML 來源:

    [XML 來源 [1]]錯誤: 「 元件 」 XML 來源"(1) 」 缺少必要的屬性"AccessMode"。物件必須具有指定的自訂屬性。
    [SSIS。管線] 錯誤: 「 元件 」 XML 來源"(1) 」 驗證失敗,並傳回"VS_ISCORRUPT"的驗證狀態。
  • 封裝包含 「 傳送郵件 」 工作:

    錯誤:時間戳記>
    程式碼: 0xC0014005
    來源:
    描述: 指定的連接管理員"SMTP 連接管理員"的連接類型"SMTP"無法辨識為有效的連接管理員類型。當嘗試建立連接管理員一個未知的連接類型時,會傳回這個錯誤。請檢查連接類型名稱。
    一般錯誤
附註當您在 32 位元模式中執行封裝時,封裝執行成功。

發生的原因

原生 64 位元映像,所使用的 SSIS 工作或元件特定的 Microsoft.NET Framework 組件的損毀,就會發生這個問題。舉例如下:

  • ADO.NET 來源,.NET Framework 組件是 Microsoft.SqlServer.ADONETSrc.dll。因此,原生映像 Microsoft.SqlServer.ADONETSrc.ni.dll 損毀。
  • 對於 [XML 來源,.NET Framework 組件會是 Microsoft.SqlServer.XMLSrc.dll。因此,原生映像 Microsoft.SqlServer.XMLSrc.ni.dll 損毀。
  • SMTP 連線,.NET Framework 組件是 Microsoft.SqlServer.SendMailTask.dll。因此,原生映像 Microsoft.SqlServer.SendMailTask.ni.dll 損毀。

解決方案

若要解決這個問題,請使用下列方法之一:

  • 方法 1

    解除安裝原生組件中,然後再使用,以重新安裝原生組件 ngen 命令。

    解除並重新安裝 Microsoft.SqlServer.ADONETSrc.dll 原生組件影像,請依照下列步驟執行:
    1. 解除安裝原生組件影像,類似下列的命令:
      ngen uninstall "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
    2. 顯示原生組件以確認沒有原生映像的映像資訊:
      ngen display "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
    3. 安裝原生組件影像,類似下列的命令:
      ngen install "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    4. 顯示原生映像以驗證原生映像已安裝的資訊:
      ngen display "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
  • 方法 2
    在錯誤發生在電腦上,重新安裝 SQL Server 整合服務。

其他相關資訊

如需有關.NET Framework 組件原生映像的詳細資訊,請前往下列 Microsoft 開發人員網路 (MSDN) 部落格網站:
.NET Framework 組件的原生映像載入導入

如需有關原生映像產生器 (Ngen.exe) 的詳細資訊,請移至下列 MSDN 網站:
原生映像產生器 (Ngen.exe)
附註Ngen.exe 會是 Microsoft Visual Studio 的指令工具的一部份。您必須先選取正確的平台。比方說,您必須選擇 64 位元或 32 位元平台。在電腦上不需要安裝的 Visual Studio 在其上,您可以從有安裝 Visual Studio 開發電腦複製適當的 Ngen.exe 檔案。或者,您可以用來安裝 Ngen.exeSDK Windows.

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

屬性

文章編號: 2853715 - 上次校閱: 2013年6月7日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 Integration Services
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Integration Services
  • Microsoft SQL Server 2008 R2 Standard
關鍵字:?
kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2853715 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:2853715
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com