Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2536764
  • 博文数量: 245
  • 博客积分: 4125
  • 博客等级: 上校
  • 技术积分: 3113
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-25 23:56
文章分类

全部博文(245)

文章存档

2015年(2)

2014年(26)

2013年(41)

2012年(40)

2011年(134)

2010年(2)

分类: 数据库开发技术

2011-06-20 17:06:30

From:http://blog.163.com/loose_went/blog/static/49895180200991411845568/

 MSDN对于Code Page的解释是:对于字符和 Unicode 数据,代码页是代表特定字母、数字或符号的位模式的定义(例如 0x20 代表空格,0x74 代表字符“t”)。某些数据类型为每个字符使用一个字节;每个字节的位模式可以是 256 种不同位模式之一。

在做SSIS项目的Data Coversion时,经常会遇到类似这样的问题:

The column “xxx” cannot be processed because more than one code page (1252 and 936) are specified…

这个问题一般会提示在Destination控件上(如OLE DB Destination),既数据导入的目的地,同时也会提示在Data Flow Task控件上,意思是在转换匹配的时候,字符集定义的代码页多于一个。不过当Destination控件问题解决了,Data Flow Task控件上的问题就会随之解决,因为Destination控件存在于Data Flow Task控件中。

关于这个问题的解决方法,网上一般的说法是将Source控件(如OLE DB Source)的AlwaysUseDefaultCodePage属性设置为true即可。

但我在实验中发现,直接在Visual Studio IDE右面的属性窗口设置是不起作用的,应该右键点击OLE DB Source控件,点击Show Advanced Editor…

在弹出的窗口中选择Component Properties,然后将在这里将属性AlwaysUseDefaultCodePage设置为true,DefaultCodePage也应为936。

这样设置了之后,这个问题就解决了。

阅读(5599) | 评论(0) | 转发(0) |
0

上一篇:今天感冒了

下一篇:百度地图API的应用

给主人留下些什么吧!~~