关闭

SSIS 执行变量中的脚步输出列顺序与SQL查询列顺序不同

1146人阅读 评论(0) 收藏 举报
分类:

这个问题是朋友遇到的,做一个SSIS的程序将数据导入到txt。然后再用Oracle的工具导入到Oracle。但是在SSIS中执行变量脚步的时候,发现输出的列名称跟查询的列名称完全不同。比如Schema_id在查询的第三列,但是输出的时候到了第6列。

 

如图:

 

 

 

因为txt的格式已经定义好了,而且解析的程序也已经做好,所以如果txt列顺序有问题就会影响到后面的操作。查了一下好像没有地方可以调整输出量的顺序。

 

当然这个问题可以通过调整目标列的顺序解决,但是需要手动的调整,如果列多了比较麻烦。

 

另外测试了一下直接从Table或者命令查询就不会有这个问题,感觉微软在解析变量脚步的时候没有考虑到排序。

 

之后发现一篇Blog也提到这个问题:SSIS 系列 - 变量查询语句引起列输出顺序不一致的解决方法

 

可以用下面的办法:

解决的方法虽然也需要人工手动操作,但是比起在文件管理器中删除新建要容易的多,回到数据源的列,先取消全部可用的列。

然后对照查询语句列的顺序,依次选中需要的列,比如第一个先勾选 BusinessEntityID,第二个再勾选 NationalIDNumber,后面根据需要按顺序依次勾选。

按顺序选择完成之后,这样所有的列又按照查询顺序输出了。

需要重新建立新的文件链接管理器,这样可以避免之前的缓存影响,再来看管理器中的列顺序也是对应一致的,没有问题了。

 

 

 

 

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:660894次
    • 积分:9437
    • 等级:
    • 排名:第1896名
    • 原创:262篇
    • 转载:62篇
    • 译文:19篇
    • 评论:104条
    最新评论