修正程式: 當您執行 SQL Server 2005、 SQL Server 2008年或 SQL Server 2008 R2 整合服務套件 (SSIS) 安裝之後錯誤訊息。NET Framework 2.0 SP2 或。NET Framework 3.5 SP1: 「 ADO NET 來源 [1424]"

文章翻譯 文章翻譯
文章編號: 969845 - 檢視此文章適用的產品。
Microsoft 發佈 Microsoft SQL Server 2005 年 Microsoft SQL Server 2008,和 Microsoft SQL Server 2008 R2 修正單一可下載的檔案。因為的修正程式是累積的每個新版本包含的所有 hotfix,並且所有的安全性問題修正前一個 SQL Server 2005 Microsoft SQL Server 2008年或 SQL Server 2008 R2 隨附的修正版本。
全部展開 | 全部摺疊

在此頁中

徵狀

請考慮下列情況:
  • 您 Microsoft SQL Server 2005年、 Microsoft SQL Server 2008年或 SQL Server 2008 R2 整合服務套件 (SSIS) 的電腦上執行具有下列其中一個項目。NET Framework 的安裝:
    • 。NET Framework 2.0 Service Pack 2 (SP2)
    • 。NET Framework 3.5 Service Pack 1 (SP1)
  • SSIS 封裝會使用字元資料會匯入的第三方 ODBC 驅動程式。
然而,當您執行 SSIS 封裝時,您會收到下列錯誤訊息:
[ADO NET 來源 [1424]]錯誤: SSIS 錯誤碼 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。「 元件 」 ADO NET 來源 」 (1424) 」 失敗,因為發生的錯誤代碼 0x80131937,錯誤資料列配置 」 輸出資料行"columnname"(數字)"指定失敗,發生錯誤。對指定元件的指定之物件時發生錯誤。可能含有關於失敗的詳細資訊,在此之前張貼的錯誤訊息。

錯誤 0xc0209029: 資料流程工作: 「 元件 」ComponentName"(1) 失敗,因為發生錯誤碼 0x80131937...

[ADO NET 來源 [1424]]錯誤: 「 ADO NET 來源 」 (1424),元件無法處理資料。管線元件從方法呼叫傳回 HRESULT 錯誤碼 0xC0209029。

[SSIS。管線] 時發生錯誤: SSIS 錯誤碼 DTS_E_PRIMEOUTPUTFAILED。元件"ADO NET 來源 」 (1424) 傳回的錯誤代碼 0xC02090F5 的 PrimeOutput 方法。管線引擎會呼叫 PrimeOutput() 時,該元件傳回失敗碼。錯誤碼的意義由定義元件,但屬於嚴重錯誤,管線已停止執行。可能含有關於失敗的詳細資訊,在此之前張貼的錯誤訊息。
這個問題會影響在下列情況成立時,從受管理的 ODBC 提供者所存取的 ODBC 驅動程式:
  • [ 用戶端 藉由呼叫函式 CommandBehavior.SequentialAccess 參數。在下列情況下使用此呼叫和參數:
    • 當 SQL Server 2005 SSIS 封裝從 DataReader 來源或 SQL Server 2008 SSIS 封裝會從受管理的 ADO 來讀取資料會讀取資料。NET 資料來源。
    • 若要重新導向錯誤與截斷值未設定資料來源。
  • [ OdbcDataReader.IsDbNull 呼叫函式。SSIS 封裝會使用這個方法來判斷與否,欄位中的值是否為 NULL。
  • 其中一個下列的函式呼叫:
    • [ OdbcDataReader.GetBytes 若要從受管理的 ODBC 提供者中取得特定資料型別,例如 DT_BYTES,會呼叫函式。
    • [ OdbcDataReader.GetChars 若要從受管理的 ODBC 提供者取得特定的字串資料型別,例如指定模糊相符,會呼叫函式。

發生的原因

。NET Framework 2.0 SP2 和。NET Framework 3.5 SP1 引入 managed 字串讀取從原生的 ODBC 驅動程式,「 徵狀 〉 一節所述的案例中所用的 ODBC 提供者的變更。因這項變更,managed 呼叫的原生的 ODBC 驅動程式中使用的 ODBC 提供者 SQLGetData API 函式會使用 0 大小的緩衝區。在這個呼叫,相容的 ODBC 驅動程式並沒有問題。不過,在這些情況下的不相容的 ODBC 驅動程式可能會失敗。如相容的 ODBC 驅動程式, SQLGetData 偵測到緩衝區的大小為 0 時,API 函式會傳回 SUCCESS_WITH_INFO。不相容的 ODBC 驅動程式,呼叫會傳回 NO_DATA。

解決方案

Hotfix 資訊

使用 Microsoft 的支援的 hotfix。然而,其目的只為修正問題,這篇文章所述。此 hotfix 只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果您不會嚴重受到這個問題,我們建議您等候下一個包含此 hotfix 的軟體更新。

此 hotfix 已開放下載,有此知識庫文件頂端的 「 下載 Hotfix 」 區段。如果未出現此區段,請連絡 Microsoft 客戶服務及支援 」 取得 hotfix。

附註 如果發生其他問題,或者需要進行疑難排解時,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題,以及此特定 hotfix 無法解決的問題。如需完整清單的 「 Microsoft 客戶服務和支援的電話號碼,或建立個別的服務要求,請造訪下列 Microsoft 網站:
看到
附註 「 下載 Hotfix 」 表單會顯示 hotfix 還是可以使用的語言。如果看不到您的語言,是因為 hotfix 未提供該語言。

必要條件

您必須擁有。NET Framework 2.0 Service Pack 2,安裝。

重新啟動資訊

您並沒有套用此 hotfix 之後,請重新啟動電腦。

登錄資訊

您沒有變更登錄。

Hotfix 檔案資訊

此 hotfix 包含只為修正本文所列的問題所需的檔案。此 hotfix 並未包含您必須將產品完整更新至最新版組建的所有檔案。檔案屬性 (或較新的檔案屬性),此 hotfix 的英文版具有下表所示。其日期和時間,這些檔案會列出在國際標準時間 (UTC)。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請使用 時區 在索引標籤 日期和時間 在 [控制台] 中的項目。
.NET Framework 2.0 的 Windows 2000 中,Windows Server 2003,Windows XP 中,32 位元版本
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間平台
System.data.dll2.0.50727.40632,933,76019-05: 08x86
.NET Framework 2.0 的 Windows 2000 中,Windows Server 2003,Windows XP 中,x x64 版本
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間平台
System.data.dll2.0.50727.40633,008,51218-23: 51x64
System.data.dll2.0.50727.40632,933,76019-05: 08x86
.NET Framework 2.0 的 Windows 2000 中,Windows Server 2003,Windows XP,ia-64 版本
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間平台
System.data.dll2.0.50727.40632,933,76019-05: 08x86
System.data.dll2.0.50727.40633,234,81619-01: 09IA-64
.NET Framework 2.0,Windows Vista 中,Windows Server 2008,32 位元版本
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間
System.data.dll2.0.50727.44002,933,7602009 年 9 月 10 日11: 54
.NET Framework 2.0 的 Windows Vista 中,x x64 版本的 Windows Server 2008
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間
System.data.dll2.0.50727.44003,008,5122009 年 9 月 10 日11: 54
.NET Framework 2.0 的 Windows Vista 中,Windows Server 2008,ia-64 版本
摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間
System.data.dll2.0.50727.44003,234,8162009 年 9 月 10 日11: 54

其他可行方案

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

方法 1

編輯的 SSIS 封裝,以設定受管理的 ADO 或 DataReader 來源上的錯誤與截斷重新導向。NET 資料來源。在編輯的 SSIS 封裝,以重新導向錯誤輸出的目的地之後,封裝執行成功即使沒有任何資料列寫入目的地。若要這樣做,請依照下列步驟執行。

附註 下列步驟假設您使用從 DataReader 來源讀取資料的 SQL Server 2005 SSIS 封裝。
  1. 開啟 SQL Server 商務智慧開發 Studio SSIS 封裝。
  2. 開啟 進階的編輯器 DataReader 來源 在資料流的設計工具] 對話方塊。
  3. 按一下 輸入與輸出屬性 索引標籤,然後再展開 DataReader 輸出 在節點 輸入和輸出 樹狀結構。
  4. 展開 輸出資料行 節點。
  5. 按下的每個資料行 輸出資料行 節點,然後檢查 資料型別 屬性。每個資料行的 資料型別 屬性是指定模糊相符、 DT_NTEXT、 DT_BYTES 或 DT_IMAGE,請編輯下列兩個屬性:
    • 設定 ErrorRowDisposition 屬性 RD_RedirectRow.
    • 設定 TruncationRowDisposition 屬性 RD_RedirectRow.
  6. 按一下 [確定] 若要儲存所做的變更。
  7. 在資料流設計工具中,加入新的目的地。例如,新增一般檔案目的地或 SQL Server 的目的地。
  8. 使用 DataReader 來源的紅色箭號,將它連接到新加入的目的地。這項作業會導向的錯誤資料列和目的端的截斷資料列,才能夠儲存錯誤的資料列。
  9. 所有資料流程工作存取 ODBC 字串或影像資料行,並因 「 徵狀 〉 一節所述的錯誤訊息,請重複步驟 1 至 8。

方法 2

解除安裝。NET Framework 2.0 SP2 或。NET Framework 3.5 SP1。不過,我們不建議您解除安裝 hotfix 之後,因為這樣的可靠性、 增強功能和 service pack 所提供的效能最佳化也跟著大打折扣。

若要將系統還原到之前安裝的狀態。NET Framework 2.0 SP2 或。NET Framework 3.5 SP1 中,請依照下列步驟執行:
  1. 在 [控制台] 中,按兩下 新增或移除程式.
  2. 找出 Microsoft。NET Framework 3.5 SP1,然後將它解除安裝。
  3. 找出 Microsoft。NET Framework 3.0 SP2,然後將它解除安裝。
  4. 找出 Microsoft。NET Framework 2.0 SP2,然後將它解除安裝。
  5. 重新安裝原始發行版本。NET Framework 3.5。這個步驟將會重新安裝。NET Framework 2.0 SP1 和。NET Framework 3.0 SP1。若要取得。NET Framework 3.5,請造訪下列 Microsoft 網站:
    http://www.microsoft.com/downloads/details.aspx?FamilyId = 333325FD-AE52-4E35-B531-508D977D32A6 & displaylang = 短破折號

方法 3

請連絡協力廠商的 ODBC 驅動程式廠商,以判斷廠商是否有更新的驅動程式,如果要解決這個問題。

狀況說明

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

屬性

文章編號: 969845 - 上次校閱: 2011年12月1日 - 版次: 5.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
關鍵字:?
kbautohotfix kbhotfixserver kbsurveynew kbfix kbqfe kbexpertiseadvanced kbmt KB969845 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:969845
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