sqlserver導入數據時常出現的錯誤解答

在作SSIS項目的Data Coversion時,常常會遇到相似以下兩個問題:sql

 1.Validating (Error)數據庫

       Messages app

         * Error 0xc02020f4: Data Flow Task 1: The column "xxxx" cannot be processed because more than one code page (936 and 1252) are specified for it. sqlserver

          (SQL Server Import and Export Wizard) spa

        * Error 0xc02020f4: Data Flow Task 1: The column "xxxx" cannot be processed because more than one code page (936 and 1252) are specified for it. code

          (SQL Server Import and Export Wizard) server

    解決:檢查你源數據庫和目標數據庫的排序規則是否不一致,若是Code Page不一致,就會出現大量上面錯誤。blog

  2:在驗證時出現下面錯誤信息排序

- Validating (Error) ci

            Messages

                  * Error 0xc0202049: Data Flow Task 1: Failure inserting into the read-only column "xxxxx".

                  (SQL Server Import and Export Wizard)

                  * Error 0xc0202045: Data Flow Task 1: Column metadata validation failed.

                  (SQL Server Import and Export Wizard)

    解決:出現這個錯誤,是由於這一列是自動增加,須要在」Edite Mappings" 選項裏面勾選「Enable Identity Insert」選項。

      MSDN對於Code Page的解釋是:對於字符和 Unicode 數據,代碼頁是表明特定字母、數字或符號的位模式的定義(例如 0x20 表明空格,0x74 表明字符「t」)。某些數據類型爲每一個字符使用一個字節;每一個字節的位模式能夠是 256 種不一樣位模式之一。

今天獲得的一個解決方法是:

在用sqlserver導入 導出嚮導時,勾選「Enable Identity Insert」選項。導完保存ssis包,若是出現Code Page的錯誤。那麼進行下一步:

右擊保存的ssis包-編輯,出現數據流窗口,右鍵點擊OLE DB Source控件,點擊Show Advanced Editor…

在彈出的窗口中選擇Component Properties,而後將在這裏將屬性AlwaysUseDefaultCodePage設置爲true,DefaultCodePage也應爲936。

這樣兩個錯誤都解決了。

相關文章
相關標籤/搜索