SSIS ADO源与OLEDB目标的映射问题
0
在64位的服务器上用32位的ORACLE驱动建了一个ODBC, 然后用SSIS引用此ODBC建ADONET源(SQL COMMAND), 由于自动识别DATA TYPE为UNICODE, 于是中间加DATA CONVERSION将CODE转成(DT_STR, 40, 1252), 然后导入OLEDB的目标MSSQL. 于是出现了一个巨诡异的问题, 数据的结果随机出现, 每跑一次结果都不一样. 把ADONET源改成OLEDB源,就没什么问题 (至少目前结果是正确的).这个问题折磨了我1整天了, 开始一直以为是ODBC设置或者是DATA TYPE的问题, 后来想着把源和目标都用同样的DRIVER才解决. 这个是嘛情况? 诡异啊.
比如说ODBC SQL出来源表值为
PRDCT_CD TM_CD TM_NM
0001 017 OTHER BRAND
0002 017 OTHER BRAND
写到OLEDB的MSSQL会变成
PRDCT_CD TM_CD TM_NM
0001 017 OTHER BRAN
0002 017 OTHER BRAND
有时又会变成
PRDCT_CD TM_CD TM_NM
0001 01 OTHER BRAND
0002 017 OTHER BRAND
比如说ODBC SQL出来源表值为
PRDCT_CD TM_CD TM_NM
0001 017 OTHER BRAND
0002 017 OTHER BRAND
写到OLEDB的MSSQL会变成
PRDCT_CD TM_CD TM_NM
0001 017 OTHER BRAN
0002 017 OTHER BRAND
有时又会变成
PRDCT_CD TM_CD TM_NM
0001 01 OTHER BRAND
0002 017 OTHER BRAND
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-11-12 回答
赞同来自: