SSIS中代码页(Code Page)问题

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。

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值