摘要: 通过基本task和transforms的学习,现在可以转入到SSIS实际应用。建立端到端的package这个系列中首先讲解将一系列的文件数据导入到SQL Server中的方法,然后添加一些复杂转换,最后将看到如何在package中处理错误和动态地创建package。 创建一个项目使用SSIS的首要目的是从数据源中读取数据,然后写入Destination中,这个向导介绍从平面文件中读取数据。使用下面的文字Zipcode State ZipName32008 FL BRANFORD32009 FL BRYCEVILLE32011 FL CALLAHAN32013 FL DAY32033 FL EL 阅读全文
posted @ 2011-04-17 12:41 nd 阅读(6627) 评论(2) 推荐(0) 编辑
摘要: 数据视图是SSIS中常见的调试工具,它的功能是在包运行的时候查看数据。例如如果在Aggregate转换的前,后分别放置一个数据视图,尅查看数据在进行聚合操作之前和之后的数据。 但是如果将package部署或者作为job的一个步骤运行,数据视图将不会显示出来。有四种类型的数据视图。表格Grid:在一个时间点显示数据快照直方图Histogram:使用柱状图显示数据的分布散布图Scatter Plot:使用二维分布图显示数据分布柱状图Column Chart:使用柱状图显示数据分布右击绿色连线选择Data Viewers,打开编辑数据界面,如图4-39,选择数据视图的类型并重命名。在Metadata 阅读全文
posted @ 2011-04-14 20:07 nd 阅读(2790) 评论(0) 推荐(2) 编辑
摘要: 在上一个随笔中我们熟悉了数据流任务,现在来做一个例子,通过实践学习这些介绍的内容。这个例子从AdventureWorks数据库中取得数据,然后对数据进行聚合,排序,计算产生新列操作并输入到一个.csv文件中。新建一个新的package将它重命名为AdventureWorksExtract.dtsx,在control flow中拖放一个数据流任务,双击进入data flow 界面在data flow界面内拖放一个OLE DB数据源,右击重命名为TransactionHistory,双 击打开编辑界面AdventureWorks数据库连接如果已经存在就直接选择它,如果不存在点击新建一个连接新建连接 阅读全文
posted @ 2011-04-13 18:59 nd 阅读(2382) 评论(0) 推荐(1) 编辑
摘要: 在上一篇随笔中列举了部分Data Flow中的数据转换任务,这里继续剩余的转换任务。 数据挖掘请求数据挖掘任务是SSIS中一个很重要的任务,它的思想来源于一些算法。数据挖掘请求运行数据挖掘请求,并将结果输出到数据流。它还可以添加一些预测新列,一些应用场合如下列举:根据已知的一些列,例如子女个数,家庭收入,配偶收入预测产生一个新列:这个人是否拥有住房根据客户购物卡预测客户的购买意向可以填充用户的调查问卷上没有填写的空白栏涉及到的算法有:微软时序算法微软决策树算法微软线性回归算法贝叶斯算法 模糊排序和查找模糊排序task可以找出数据中可能重复的行,例如可以找出包含“Main St.”和“Main 阅读全文
posted @ 2011-04-12 19:30 nd 阅读(2879) 评论(2) 推荐(0) 编辑
摘要: 对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤。例如想要得到聚合排序后的运算结果,转换可以实现这种操作。和SQL Server 2000 DTS完全不同,这些操作不需要编写script,所有的运算都在内存中进行。添加一个数据转换之后,数据直接转换成想要的格式然后传递给下一个步骤,由于是在内存中完成运算操作的,不需要在数据库中建立对象来存储这些操作函数。但是当需要处理大批量的数据时,还是需要建立存储表或其他对象来处理的。在data flow面板中拖放一个转换,鼠标点住然后拖放绿色连线到一个目的Destination,然后就可以双击并编辑这个转换。这部分将从最基本的功能开始 阅读全文
posted @ 2011-04-11 21:23 nd 阅读(4205) 评论(7) 推荐(2) 编辑
摘要: 我们可以把SSIS中的整个package包含在一个事务中,但是如果在package的执行过程中有一个表需要锁定应该怎么处理呢?SSIS内建的事务处理可以解决这个问题。在此之前首先来熟悉一下SQL Server中的事务的概念。 事务SQL Server中的事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中永久的组成部分。如果事务遇到错误且必须取消或回滚,则所有的数据修改均被清除。在SQL Server中使用事务有可能会造成一些预想不到的结果,具体来说有脏读,不可重复读和幻读三种结果。脏读:脏读是指当一个事务正在访问数据库,并且对数据进行修改,而这种修改还 阅读全文
posted @ 2011-04-10 20:51 nd 阅读(3071) 评论(4) 推荐(4) 编辑
摘要: 在Data Flow中Destination从数据源或者数据处理流程中接收数据。在SSIS中数据可以导入到任何OLE DB支持的数据源,平面文件或者Analysis Service中的数据。和数据源一样Destinations也通过连接管理器来连接,不同之处是有一个数据映射界面如图4-11。图4-11只有在连接到数据流之后才可以配置Destinations,使用绿色箭头将数据源或者数据流和Destinations连接起来。如果在连接之前就配置Destinations会得到如图4-12的警告提示。图4-12 数据挖掘模型接收器Data Mining Model Training数据挖掘模型可以接 阅读全文
posted @ 2011-04-10 11:25 nd 阅读(2491) 评论(0) 推荐(0) 编辑
摘要: 在SSIS中大多数的数据源都指向一个连接管理器,通过指定连接管理器可以在Package中重复使用连接,这样只需要修改一次就能重新设置所有连接,在SSIS中有6中不同的数据源。 OLE DB数据源OLE DB数据源用来连接OLE EB数据,是一种最常用的数据源。点击上方Data Flow标签,拖放一个OLE EB Source双击这个数据源打开编辑界面如图4-8,从OLE DB Connection manager下拉列表中选择要连接的数据库图4-8在VS2005中标签Data Access Mode设置如何检索数据,它有两个选项,Table/View和SQL Command,或者可以从变量中获 阅读全文
posted @ 2011-04-08 21:23 nd 阅读(2677) 评论(0) 推荐(0) 编辑
摘要: 容器容器是SSIS为一个或多个任务提供一种结构的对象。例如可以执行一个循环直到到达边界条件,或者将一系列的task按逻辑组织在一起。一个容器也可以包含其他的容器。容器和任务(task)一样也放在Control Flow标签内,总共有四种类型的容器:任务宿主Task Host,Sequence序列,For循环和Foreach循环。任务宿主Task Host Containers任务宿主是单个task的默认容器,你在工具栏中找不到这种工具的图标,实际上即使不选择一个容器,单个task仍然包含在一个任务宿主中。SSIS的结构通过任务宿主来扩展变量和事物控制。Sequence容器Sequence容器可 阅读全文
posted @ 2011-04-08 20:51 nd 阅读(4161) 评论(0) 推荐(0) 编辑
摘要: 今天遇到的问题比较有意思。如果有用户正在尝试登陆数据库的时候其他使用者正在修改这个用户的密码,SQL Server会锁定这个用户,所以修改密码的时候需要断开所有连接。 阅读全文
posted @ 2011-04-04 21:05 nd 阅读(3346) 评论(0) 推荐(0) 编辑