社区
MS-SQL Server
帖子详情
SSIS中能不能用临时表
chengpei_chen
2009-08-04 05:54:22
我现在用SSIS在数据库之间导数据,但是在OLE DB连接管理器中的SQL命令文本中建临时表(#table)就报错,
不能在原来的数据库中建实际的表然后再删除,只能建临时表之类,请问有没有办法用?
...全文
644
18
打赏
收藏
SSIS中能不能用临时表
我现在用SSIS在数据库之间导数据,但是在OLE DB连接管理器中的SQL命令文本中建临时表(#table)就报错, 不能在原来的数据库中建实际的表然后再删除,只能建临时表之类,请问有没有办法用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ray_Zhang
2009-08-05
打赏
举报
回复
首先想问你,你用ole连接的数据源是什么,还是SQLServer吗,如果是应该不会报错才对,你把报错信息贴出来,如果不是Sql那么你的数据是否支持你写的创建临时表的语句呢
jiangshun
2009-08-05
打赏
举报
回复
小梁,顺便问一下,比如建立了A.xls的链接管理,要是删除这个excel文件好像报错,怎么关闭这个链接,然后在删除或者移动这个文件啊?
--小F--
2009-08-05
打赏
举报
回复
[Quote=引用 13 楼 liangck 的回复:]
做一个例子吧.
先在"连接管理器"上.创建一个OleDb连接管理器.并连接上你的SQL Server;
然后在控制流中.拖两个"执行SQL任务",并将第一个的绿色工作流拖到第二个当中.
然后双击第一个"执行SQL任务".
设置Connection为刚刚创建的OleDb连接管理器.
Statement设置为Create Table #tb(id int);
然后第二个"执行SQL任务"的Connection也设置为刚刚创建的OleDb连接管理器.
Statement设置为 Drop Table #tb;
---------
如果现在这样运行的话,第二个"执行SQL任务"就会出错,并提示#tb表不存在.
------------
因为每个任务都会使用ConnectionManager提供的属性来创建自己的连接,
所以各个连接中.临时表都是不可见的..
-------
如果现在将刚创建的Oledb连接管理器的RetainSameConnection属性设置为True,
再运行,那两个任务都会执行成功.因为设置这个属性之后,
使用上它的任务.都会视为是同一条连接.
[/Quote]
学习
liangCK
2009-08-05
打赏
举报
回复
做一个例子吧.
先在"连接管理器"上.创建一个OleDb连接管理器.并连接上你的SQL Server;
然后在控制流中.拖两个"执行SQL任务",并将第一个的绿色工作流拖到第二个当中.
然后双击第一个"执行SQL任务".
设置Connection为刚刚创建的OleDb连接管理器.
Statement设置为Create Table #tb(id int);
然后第二个"执行SQL任务"的Connection也设置为刚刚创建的OleDb连接管理器.
Statement设置为 Drop Table #tb;
---------
如果现在这样运行的话,第二个"执行SQL任务"就会出错,并提示#tb表不存在.
------------
因为每个任务都会使用ConnectionManager提供的属性来创建自己的连接,
所以各个连接中.临时表都是不可见的..
-------
如果现在将刚创建的Oledb连接管理器的RetainSameConnection属性设置为True,
再运行,那两个任务都会执行成功.因为设置这个属性之后,
使用上它的任务.都会视为是同一条连接.
liangCK
2009-08-05
打赏
举报
回复
[Quote=引用 11 楼 chengpei_chen 的回复:]
引用 5 楼 liangck 的回复:
可以..
在你的任务,或者组件中使用这个连接管理器..
并将该连接管理器的RetainSameConnection属性设置为True;
好像不行吧大哥
提示临时表#table对象无效
[/Quote]
可以的呀.
将你的连接管理器的RetainSameConnection属性设置为True,
然后你的任务,组件,都使用上这个连接管理器..
那就会认为他们是在同一条连接上.所以可以使用临时表.
chengpei_chen
2009-08-04
打赏
举报
回复
[Quote=引用 5 楼 liangck 的回复:]
可以..
在你的任务,或者组件中使用这个连接管理器..
并将该连接管理器的RetainSameConnection属性设置为True;
[/Quote]
好像不行吧大哥
提示临时表#table对象无效
chengpei_chen
2009-08-04
打赏
举报
回复
[Quote=引用 4 楼 chinajiabing 的回复:]
试一下..
[/Quote]
好像不行吧
让你望见影子的墙
2009-08-04
打赏
举报
回复
楼主,先建立一个临时表,然后给这个临时表取一个同义词看看。
htl258_Tony
2009-08-04
打赏
举报
回复
[Quote=引用 5 楼 liangck 的回复:]
可以..
在你的任务,或者组件中使用这个连接管理器..
并将该连接管理器的RetainSameConnection属性设置为True;
[/Quote]学习
soft_wsx
2009-08-04
打赏
举报
回复
SSIS还没用过呢?只能顶贴
SQL77
2009-08-04
打赏
举报
回复
按楼上的所说,试试建立表变量试试
liangCK
2009-08-04
打赏
举报
回复
可以..
在你的任务,或者组件中使用这个连接管理器..
并将该连接管理器的RetainSameConnection属性设置为True;
ChinaJiaBing
2009-08-04
打赏
举报
回复
试一下..
xiequan2
2009-08-04
打赏
举报
回复
[Quote=引用楼主 chengpei_chen 的回复:]
我现在用SSIS在数据库之间导数据,但是在OLE DB连接管理器中的SQL命令文本中建临时表(#table)就报错,
不能在原来的数据库中建实际的表然后再删除,只能建临时表之类,请问有没有办法用?
[/Quote]
很简单,是先创建一个实际存在的表,借助这张表进行处理,处理完后Drop掉这张表。
sdhdy
2009-08-04
打赏
举报
回复
如果临时表不行的话,可以试试表变量。
declare @tb table(col1 int,col2 int)
SQL77
2009-08-04
打赏
举报
回复
顶,
图解
SSIS
循环导入Excel工作表图解
图解
SSIS
循环导入Excel工作表图解
SSIS
循环导入Excel工作表图解
SSIS
循环导入Excel工作表图解
SSIS
循环导入Excel工作表
SSIS
基础指南
SSIS
基础指南
无论你是否计划将SQL Server数据库转换服务(DTS)包迁移到SQL Server集成服务(
SSIS
)或在SQL Server 2005里运行DTS包,都需要专家的一些建议。这一指南主要是包括
SSIS
的相关基础知识、技巧帮助你进行
SSIS
调整,还...
SSIS
简要介绍及使用说明
SSIS
数据仓库 sqlserver2005 集成服务
SSIS
实例一个(
SSIS
基本应用)
SSIS
实例一个
SSIS
实例一个(
SSIS
基本应用)
ssis
,ssas培训
1、“01 参考资料列表”文件夹——该文件夹包含一个名为“参考资料列表.doc”的文档,文档列出了本次考核所涉及到的五部分内容(SQL管理及T-SQL、
SSIS
及SSAS、网络及硬件、Oracle及DB2,其他)的知识点和考查点,...
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章