SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性

简介: 在上一个导入列这个例子中我们创建一个实际的表来存储文件路径,在生产环境中我们可能不会创建一个实际的物理表来存储这些信息,而是创建临时表。这里有一个小小的技巧,在Control Flow中拖放两个Execute SQL task,一个创建临时表,另一个销毁临时表,执行这个package,会遇到一个错误,在Progress中提示信息显示不存在这个临时表。

在上一个导入列这个例子中我们创建一个实际的表来存储文件路径,在生产环境中我们可能不会创建一个实际的物理表来存储这些信息,而是创建临时表。这里有一个小小的技巧,在Control Flow中拖放两个Execute SQL task,一个创建临时表,另一个销毁临时表,执行这个package,会遇到一个错误,在Progress中提示信息显示不存在这个临时表。错误信息如下:

Error: 0xC002F210 at Execute SQL Task 1, Execute SQL Task: Executing the query "drop table #Table1" failed with the following error: "Cannot drop the table '#Table1', because it does not exist or you do not have permission.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

Task failed: Execute SQL Task 1

很明显即使使用相同的连接对象,这两个Execute SQL任务没有使用相同的连接,查看这个OLE DB Connection的属性,会注意到有一个属性RegainSameConnection,默认的值是false。呵呵,这里要设置成true才能满足需求的。如图6-1

img_ac41809670db5159ba810f4d7a31c044.png

图6-1

每一个task都回单独地使用这个连接,但是临时表只能在一个连接中有效,连接关闭时临时表也就不存在了。将这个属性修改为true,所有的task都会使用同一个连接,这样就不会出错了。在循环任务中需要连接数据库时这个属性设置也很重要,它将避免多次打开,关闭连接。

这个和我们在写sql语句的时候使用临时表是一样的,所以说只要我们足够的熟悉SQL Server中的概念,SSIS也就很容易上手了。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
6月前
|
前端开发
Antd中Table列表行默认包含修改及删除功能的封装
Antd中Table列表行默认包含修改及删除功能的封装
155 0
|
6月前
|
Java 数据库连接 数据库
使用原生JDBC动态解析并获取表格列名和数据
使用原生JDBC动态解析并获取表格列名和数据
|
3月前
|
SQL 数据处理 数据库
|
6月前
|
SQL 数据库连接 数据库
ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)
ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)
|
6月前
|
SQL 数据采集 Java
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
76 0
|
Java 关系型数据库 MySQL
Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
167 0
|
分布式计算 Java 关系型数据库
导入 Import--增量导入--Lastmodified 模式(附加数据)| 学习笔记
快速学习 导入 Import--增量导入--Lastmodified 模式(附加数据)
123 0
|
SQL 编解码 Java
解决:为何Java执行插入sql,保存进数据库的中文内容会自动变成问号??【解决方案】
解决:为何Java执行插入sql,保存进数据库的中文内容会自动变成问号??【解决方案】
558 0
|
数据管理 大数据 开发者
R 基本的数据管理--创建变量、变量重编码和重命名| 学习笔记
快速学习 R 基本的数据管理--创建变量、变量重编码和重命名
156 0
|
Python
Python 技巧篇-同一个方法多次引用不同效果功能实现,可选参数设置方法
Python 技巧篇-同一个方法多次引用不同效果功能实现,可选参数设置方法
194 0