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。

这样两个错误都解决了。

相关文章
相关标签/搜索