SSIS在传输过程中会改变数据的类型吗

hjw_1985 2010-04-01 05:02:26
SSIS包在传输数据的过程中会将数据的类型改变吗?比如source是varchar,那么传送到destination时会变成nvarchar类型吗
...全文
227 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjw_1985 2010-04-07
  • 打赏
  • 举报
回复
恩谢谢大家的回答了,现在我在研究如何用SSIS里面提供的功能抽取创建表结构时候的语句,因为我要将整张表copy过去,包括里面的索引,约束,等其他内容
pbsh 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 hjw_1985 的回复:]
怎么判断是SQl任务还是数据流组件的?我都是从BIDS里面拖出来的,只是在目的里面把data access mode改成SQL command了
[/Quote]

SQl任务和数据流任务本身就是不同的组件,你在工具栏里可以看到是两个东西啊.
你所说的目的里面把data access mode改成SQL command了?是OLE DB源里面吧?用SQL command的话就很灵活了,你可以在查询里面对各列执行Cast等转换,预先定义数据类型,这样就不需要再使用数据转换组件了。
具体自己可以多摸索摸索,一两句这里也讲不清楚。
gqh770525 2010-04-06
  • 打赏
  • 举报
回复
通过数据转换组件,是可以地
jdl2000 2010-04-03
  • 打赏
  • 举报
回复
我来回答你的问题,但是如果不给分下次就不回答了哦,首先SSIS本身有数据转换的控件,但是,问题是对于某些类型来说,使用控件也无法进行转换,比如我要将TIMESTAMP的类型转换成NUMBER类型的使用控件就坚决不行,所以我一般都是在数据模型里使用SQL语句来转换类型,SO,建议你使用SQL语句来进行数据转换,再对数据进行抽取。

记得给分哦
hjw_1985 2010-04-02
  • 打赏
  • 举报
回复
怎么判断是SQl任务还是数据流组件的?我都是从BIDS里面拖出来的,只是在目的里面把data access mode改成SQL command了
pbsh 2010-04-02
  • 打赏
  • 举报
回复
至于你说的字段类型改为Nvarchar后就对了,请参考你另一个帖子里我的回答,验证一下。
pbsh 2010-04-02
  • 打赏
  • 举报
回复
楼主还是去看一下联机丛书或者例子吧,这东西说起来就大了。

关于你的需求,简单的做法就是在数据流前面加一个SQL任务来Truncate一下。

hjw_1985 2010-04-02
  • 打赏
  • 举报
回复
如果2个组件是源和目的的关系,那有什么用?
hjw_1985 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 pbsh 的回复:]
引用 11 楼 hjw_1985 的回复:
在源是执行的SQL命令(查询),在目的也是执行的SQL命令(删除原来的表然后重新建立一个同样的表然后插入数据)


果然如此。

楼主,执行SQL任务就是执行普通的SQL语句,两个SQL任务组件没有所谓的源和目的的关系。
[/Quote]
那会造成什么结果啊?那如果我想达到把一个表的内容考到另外一个server上面的一个表上的话该如何做?后面那个表必须用前一个表的内容替代,而不是仅仅的插入数据,意思就是后面那个表永远要跟前面那个表的内容一致,而不是用前面那个表的内容填充后面那个表
pbsh 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hjw_1985 的回复:]
在源是执行的SQL命令(查询),在目的也是执行的SQL命令(删除原来的表然后重新建立一个同样的表然后插入数据)
[/Quote]

果然如此。

楼主,执行SQL任务就是执行普通的SQL语句,两个SQL任务组件没有所谓的源和目的的关系。
hjw_1985 2010-04-02
  • 打赏
  • 举报
回复
在源是执行的SQL命令(查询),在目的也是执行的SQL命令(删除原来的表然后重新建立一个同样的表然后插入数据)
pbsh 2010-04-02
  • 打赏
  • 举报
回复
最好能说明一下你在SSIS怎么执行这个操作的,猜测你是执行SQL任务而不是数据流任务。
htl258_Tony 2010-04-01
  • 打赏
  • 举报
回复
路过,帮顶
hjw_1985 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jwwyqs 的回复:]
引用 6 楼 pbsh 的回复:
源是varchar,目标是Nvarchar?

数据流中加一个数据转换组件吧。

我之前搞了 还还是 nvarchar(max)
[/Quote]
啥意思的?解释下。。
jwwyqs 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pbsh 的回复:]
源是varchar,目标是Nvarchar?

数据流中加一个数据转换组件吧。
[/Quote]
我之前搞了 还还是 nvarchar(max)
pbsh 2010-04-01
  • 打赏
  • 举报
回复
源是varchar,目标是Nvarchar?

数据流中加一个数据转换组件吧。
hjw_1985 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pbsh 的回复:]
如果你不在数据流中进行数据转换,我可以保证你的包执行时一定会涨停,哈哈
[/Quote]
什么原因啊?解释下啊,如果我想保持源和目的都是一致的数据类型,改怎么办啊?
ghd2004 2010-04-01
  • 打赏
  • 举报
回复
看看。哈
--小F-- 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pbsh 的回复:]
如果你不在数据流中进行数据转换,我可以保证你的包执行时一定会涨停,哈哈
[/Quote]

幸灾乐祸是不对滴
pbsh 2010-04-01
  • 打赏
  • 举报
回复
如果你不在数据流中进行数据转换,我可以保证你的包执行时一定会涨停,哈哈
加载更多回复(1)

695

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧