SQLServer技术(118)

来源:互联网 发布:数码宝贝网络侦探贯穿 编辑:程序博客网 时间:2024/04/30 10:37
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  DTSDesigner与DTSWizard一样都是在同构或异构数据源间进行数据的导入、导出和转换。但是,DTSDesigner是一个图形工具,它使创建和编辑DTS包的工作变得更简单、轻松,而且提供了比DTSWizard更为强大的功能。
    DTSDesigner中包含几个关键性概念,如连接、数据传递、包、优先权约束、任务,这些概念对于理解DTSDesigner是如何工作很有帮助。

18.3.1创建DTSDesigner包
    在包中不仅要指明源和目标数据源,而且还要定义多个步骤、每个步骤执行的任务,在某些情况下还包括步骤优先权约束。使用DTSDesigner创建包首先要添加连接,每个包包含目标连接和源连接,在连接中指明OLEDB提供者数据源,接着定义源和目标连接间的数据转换。然后要定义包将执行的任务,也可以自定义任务,最后决定是否运行包或将其存储以备后用。
    下面以具体地转换authors表为例子来说明如何使用DTSDesigner来创建包。而且,在该例中,我们要求将authors的au_fname列和au_lname列合并成目标表desauthors的au_name列。

18.3.2添加连接
    首先为包添加源与目标连接,每个连接中指出了数据源的驱动程序,当然不同的OLEDB提供者所提出的要求不同。
(1)启动EnterpriseManager后,登录到指定的服务器,右击DataTransformationServices文件夹,在弹出菜单中选择Newpackage选项,打开DTSPackage对话框。
(2)在主菜单中单击Data菜单项,在下拉菜单中选择MicrosoftOLEDBProviderforSQLServer选项,打开ConnectionProperties对话框如,图18-17所示。

18.3.3定义数据转换
    数据转换任务是将数据从源连接传递到目标连接的主要机制。每个数据转换任务都要引用一个DTSDataDump和OLEDB服务提供者。
    创建完源与目标连接后,应创建数据转换。其方法是按住键不放,分别先后选中源连接和目标连接,然后右击目标连接,在弹出菜单中选择TransformdataTask,此时在DTSDesigner工作区会出现从源连接指向目标连接的箭头,以此来指明数据的流向。如图18-18所示。


18.3.4数据转换任务属性设置
(1)创建完数据转换,接着要进行转换的属性设置。右击源和目标连接之间的箭头,在弹出菜单中选择Properties选项,打开TransformDataTaskProperties对话框,选中Source标签页,如图18-19所示。在Source标签页可以选择来自源连接的数据。

    Tablename:表示来自源连接的一张表;
    SQLQuery:表示来自源连接的一个查询结果集。
(2)选中Destination标签页,如图18-20所示。在Tablename旁的下拉列表中选择目标表,或CreateNew按钮创建新表。在此单击CreateNew按钮,在弹出对话框中输入如下内容。


(3)选中Transformations标签页,如图18-21所示。该对话框允许定义源连接与目标连接列之间的映射关系。可以定义以下几个映射关系:一对一,多对一或一对多。
在本例中进行映射要执行以下操作:
如果源列与目标列之间已存在映射,则选中两者间的箭头,然后按DEL键删除两者间的映射。

按下键不放,分别在Sourcetable与Destinationtable中选择想要映射的列。
单击New按钮。在弹出的CreateNewTransformation对话框中选择ActiveXscript选项,单击OK按钮。打开TransformationOptions对话框,如图18-22所示。


(4)分别选中Sourcecolumns和Destinationcolumns标签页,从中选择准备转换的列。如果源与目标连接的列映射存在多对一或一对多的关系,则通过脚本语言可在转换过程中对源数据列进行加工,从而让转换结果满足用户的要求。再单击Properties按钮,打开ActiveScriptTransformationProperties对话框,如图18-23所示。

(5)选中Lookups标签页,如图18-24所示。

(6)选中Options标签页,如图18-25所示。

 


11
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击