sqlserver导入数据时常出现的错误解答

在做SSIS项目的Data Coversion时,经常会遇到类似如下两个问题:

1.Validating (Error)

Messages

* 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.

(SQL Server Import and Export Wizard)

* 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.

(SQL Server Import and Export Wizard)

解决:检查你源数据库和目标数据库的排序规则是否不一致,如果Code Page不一致,就会出现大量上面错误。

2:在验证时出现下面错误信息

- Validating (Error)

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。

这样两个错误都解决了。

sqlserver导入数据时常出现的错误解答

时间: 2024-08-26 23:20:50

sqlserver导入数据时常出现的错误解答的相关文章

使用sqoop1.4.4从oracle导入数据到hive中错误记录及解决方案

在使用命令导数据过程中,出现如下错误 sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.29.16:1521/testdb --username NAME --passord PASS --verbose -m 1 --table T_USERINFO 错误1:File does not exist: hdfs://opt/sqoop-1.4.4/lib/commons-io-1.4.jar FileNotFoundEx

sqoop导入数据时间日期类型错误

一个问题困扰了很久,用sqoop import从mysql数据库导入到HDFS中的时候一直报错,最后才发现是一个时间日期类型的非法值导致. hive只支持timestamp类型,而mysql中的日期类型是datetime, 当datetime的值为0000-00-00 00:00:00的时候,sqoop import成功,但是在hive中执行select语句查询该字段的时候报错. 解决方法是在创建hive表时用string字段类型. sqoop导入数据时间日期类型错误,布布扣,bubuko.co

sqlserver 导入数据

使用Sql Server 2008还原 2000的备份数据库时,报备份集中的数据库备份与现有的数据库不同的错误. 原因:主要由于新建的数据与备份集中的数据库创建时的版本不同导致 解决办法: 1.在SQL Server 2008上新建数据库时在[选项]-[兼容级别]选择 SQL Server 2000 2.还原数据时,设置:选项 -->还原选项 -->覆盖现有数据库 --> 确定

MYSQL导入数据时,出现错误:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1

Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1 这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 我的解决方案是这样的 1.在mysql的安装目录下找到my.ini,作如下修改: [mysqld] character-set-server=utf8mb4 [mysql] default-character-

oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 oracle中使用impdp数据泵导入数据时,假设导入之前已经创建了用户,会提示错误:"ORA-31684:对象类型已经存在".如: 事实上这个问题并不严重,能够先不创建用户,导入时指定一个超级用户导入: impdp system/123456@ORCL DIRECTORY=DUMP_EXP DUMPFILE=EXPDATA.DMP remap_sche

ArcMap导入数据到ArcSDE报000597或者000224的错误

这两天碰到不同用户提出的不同的问题,可是分析之后发现导致该问题的解决办法是同一个原因. ---------------------------------------------------------------------------------- 版权全部,文章同意转载,但必须以链接方式注明源地址,否则追究法律责任! 建议看到转载.请直接訪问正版链接获得最新的ArcGIS技术文章 Blog:              http://blog.csdn.net/linghe301 -----

oracle进行imp导入数据时报错:ORA-12592: TNS: 包错误

使用imp导入数据时,检查发现三百多万条数据的表实际只导入了一百多万条数据,检查导入日志,以下报错信息, [plain] view plaincopy 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data M

衡阳高防服务器租用-数据从sqlserver导入mysql数据库的体验

衡阳高防服务器租用-数据从sqlserver导入mysql数据库的体验 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),

Navicat 导入数据时报Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误

今天重装了个系统,装好MySQL和Navicat之后导入SQL时报了Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误, 查了资料说是mysql版本的原因,管它什么原因,主要还是要解决问题. 首先新建一个查询, show variables like 'sql_mode'; set global; sql_mode='strict_trans_tables,no_zero_in_date,error_for_division_by_