当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL2005 轻松配置SSIS包

MSSQL
在SQL Server 2005数据库中更改数据架构
建立适当的索引是实现查询优化的首要前提
巧用一条SQL 实现其它进制到十进制转换
处理SQL Server 2000的命名实例和多实例
解析:怎样掌握SQL Server中的数据查询
教你轻松掌握常用的子句、关键词和函数
如何获取SQL Server数据库元数据的方法
分析SQL Server中数据库的快照工作原理
汇总数据库备份 还原 压缩与数据库转移的方法
完全讲解 使用MSCS建立SQL Server集群
SQL Server 2005 内置工具建审查系统
在SQL Server计算机上运行病毒扫描软件
教你如何升级SQL Server数据库系统
SQL Server中处理空值时涉及的三问题
教你为SQL Server数据库构造安全门
在SQL Server中编写通用数据访问方法
针对SQL Server中业务规则链接的分析
运行SQL Server的计算机间移动数据库
怎样在不同版本SQL Server中存储数据
认识那些被忽略的SQL Server注入技巧

MSSQL 中的 在SQL2005 轻松配置SSIS包


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 86 ::
收藏到网摘: n/a

在以前的DTS中,在包的开发、测试、发布迁移过程中有很多问题,典型的问题是你必须手动的确定包中的所有连接都指向一个实际存在的物理服务器

幸运的是,现在在SSIS中提供了这种问题的解决方案,那就是包配置
包配置是一个动态改变你的SSIS对象和连接属性的一种机制,它把这些动态可以改变的信息保存在包的外部,有下面几种方法存储这些值并将其传送到包中:
 XML文件
 环境变量
 注册表键值
 父包变量

下面我们将举例使用XML文件存储这些值

这个例子我们将会把一个文本文件导入到数据库的表中,并可以动态配置数据库的位置来源

首先开始我们的包的建立:
 假设存在一文本文件 PersonAge.txt,内容如下:
  1,Joe Bloggs,27
  2,Mary Smith,26
  3,Fred Jones,28
 目标表为dbo.PersonAge,使用下面代码建立 
  CREATE TABLE [dbo].[PersonAge](
   [PersonAgeKey] [int] NULL,
   [Person] [varchar](35) NULL,
   [PersonAge] [int] NULL
  ) ON [PRIMARY]
  GO
 下面开始拖曳组件到控制流面板
   。一个Execute SQL task组件,命名为Truncate destination. 其 SQL 命令为 TRUNCATE TABLE dbo.PersonAge.
   。一个数据流组件,命名为Import File.
   。然后把2者关联起来
 
   
 
  下面开始设计【Import File】数据流任务
   。一个 Flat File connection 组件指向PersonAge.txt文件
   。一个 OLE DB Connection 组件指向存在dbo.PersonAge表的数据库 ,然后配置列的属性,使表跟文件对应起来
      
   
  
  到现在为止,已经成功的建立了包

设置包配置
  现在开始设置包配置,这是非常简单的且具有很好的弹性
  包配置使你能编辑你的包的属性、变量、连接和你的控制流的其他属性,需要注意的是,你不能编辑你的数据流组件的属性
  
  在菜单条上,单击DTS, Package Configurations… 或者在控制流设计面板右键选择Package Configurations….
  然后在包配置中允许包配置选择,并单击添加
  在单击过后出现一个欢迎屏幕并让你选择配置类型,当前选择XML Configuration File
  然后键入配置文件名,如C:\PackageConfigurations\Environment.dtsConfig,单击下一步
  然后在对象树浏览中选择Connections.Destination.Properties的InitialCatalog 和 ServerName属性,然后单击下一步
  给你的配置一个名字,这样整个过程就完成了
  
这样你的包将在运行期间获得2个属性的值,你打开XML配置文件,你将看得这些你需要动态改变属性的当前值  

现在,你可以非常容易的迁移包到另一个新的环境,而你只须改变你的包配置文件(C:\PackageConfigurations\Environment.dtsConfig)即可