您的位置: 网站首页 > 数据库 > SQL Server数据库应用技术 > 第10章 数据转换 > 【10.3 使用DTS设计器】

10.3 使用DTS设计器

 

10.3  使用DTS设计器

10.3.1  DTS设计器简介

使用DTS设计器可以使用户按任意顺序编辑和设计数据包,而不需按“DTS导入/导出向导”规定的顺序进行。无论是打开一个已有的数据包还是新建一个数据包,都会打开如图10-13所示的DTS设计器窗口。

DTS设计器界面由菜单栏、主工具栏、“连接”工具栏、“任务”工具栏和设计区域组成。“连接”工具栏中的11个图标代表“数据源”和“数据目的”的类型,其中带有右箭头图标的数据只能作为“数据源”,带有左箭头图标的数据只能作为“数据目的”,不带箭头的则既可以作为“数据源”又可以作为“数据目的”。“任务”工具栏中的17个图标代表各种不同的任务,其中进行数据转换时,最常用的是“数据转换任务”图标按钮。用户也可以通过选择菜单栏中的菜单命令执行添加数据源、添加数据目的、添加要执行的任务等操作。设计区域中将显示各种数据源、数据目的以及它们之间的连接。

10-13  DTS设计器界面

DTS设计器提供了一个图形化工具,它用于创建从数据源到目标的连接、配置DTS任务、执行转换,以及指定优先权约束。设计时可以采用拖放操作方式,在设计区域内部完成创建DTS数据包所需的对象对话框。

10.3.2  创建数据包

使用DTS设计器创建一个DTS数据包的一般步骤如下:

1)打开DTS设计器。打开企业管理器,展开所在的服务器,右击“数据转换服务”节点,在弹出的快捷菜单中选择“新建包”命令,如图10-14所示,弹出如图10-13所示DTS设计器窗口。

10-14  选择新建包

2)选择数据源。单击“连接”工具栏中相应数据源的按钮,但是该图标不能包括左箭头,如果未在“连接”工具栏中列出,可以单击任意一个图标按钮,在弹出的对话框中设置选择数据源,其设置方法与DTS导入/导出向导中数据源相同。

3)选择数据目的。单击“连接”工具栏中相应数据目的的按钮,但是该图标不能包括右箭头,如果未在“连接”工具栏中列出,可以单击任意一个图标按钮,在弹出的对话框中设置选择数据目的,其设置方法与DTS导入/导出向导中数据目的的设置方法相同。

4)选定数据转换任务。“任务”工具栏中列出了17种任务,若要转换数据,可单击“转换数据任务”按钮,鼠标指针将会变成如图10-15所示指针,指针右侧提示选择源连接。单击某数据源后,可将该对象设为“数据源”,此时指针右侧提示选择目的连接,如图10-16所示,单击某数据目的后,即可将该对象设为“数据目的”。至此,转换数据定义成功,会出现一个从数据源指向数据目的地的箭头,如图10-17所示。

10-15  选择源连接

 

10-16  选择目的连接

10-17  建立转换数据任务

5)配置转换属性。在建立转换任务后,要使数据包正常工作,一般还需要对转换任务进行配置。具体操作是双击数据源和数据目的之间的箭头,或者右击该箭头,在弹出的快捷菜单中选择“属性”命令,出现如图10-18所示“转换数据任务属性”对话框。

·    默认显示的为“源”选项卡,单击“表/视图”单选按钮后可在“表/视图”下拉列表框中选择作为数据源的表或视图,也可以单击“SQL查询”单选按钮在下方的编辑区中通过SQL语句产生数据源。

10-18  转换数据任务属性

·    单击“目的”标签,激活如图10-19所示“目的”选项卡,其中列表中列出了各列的名称、类型、为空性、大小和精度等属性。若目的表不合适,可以单击“创建”按钮,弹出如图10-20所示对话框,在编辑区中可直接输入SQL语句,单击“确定”按钮即可创建新目的表。

10-19  转换数据任务目的选项卡

10-20  创建目的表

·    单击“转换”标签,打开如图10-21所示“转换”选项卡,用于配置转换方式,默认情况下,源列被原封不动地复制到目标列中。如果要在源和目的之间修改列内的数据,可以在“名称”下拉列表框选择或单击源和目的之间的箭头来选中要修改的转换项,然后单击“新建”按钮或单击“编辑”按钮来创建一个转换或修改一个已有的转换。

10-21  转换数据任务“转换”选项卡

10.3.3  执行数据包

10.3.2节中介绍的数据包只是转换数据任务,即将一种数据库格式的数据转换成另一种数据库格式的数据,若要实施这种转换,还需要执行数据包。

1.执行数据包的方法

执行数据包有两种方法,一种是利用企业管理器,一种是利用DTS设计器。

·    在企业管理器中,右击要执行的数据包,在弹出的快捷菜单中选择“执行包”命令,如图10-22所示,程序将执行数据包中的全部转换。

10-22  选择执行包

·    利用DTS设计器来执行数据包时,双击该数据包或者右击该数据包在弹出的快捷菜单中选择“设计包”命令,打开DTS设计器。若要执行所有步骤的转换,单击主工具栏上的“执行”按钮或者选择菜单栏中的“包”→“执行”菜单项。若要只执行其中某一步的转换,右击要执行转换的连线,如图10-23所示,在弹出的快捷菜单中选择“执行步骤”命令即可执行该步骤。

10-23  选择执行步骤

2.优先约束

执行数据包中所有步骤时,所有转换并不是同时进行的,而是依次进行的,其执行次序可以自行定义,这主要通过设定优先约束来实现。例如,在图10-23中所示数据包中,可以定义“SQL Server数据转换为Excel工作表”在“SQL Server数据转换为TXT文本”之后完成,其操作步骤如下:

1)右击“将SQL Server数据转换为Excel工作表”的箭头,如图10-23所示,选择“工作流属性”命令,弹出如图10-24所示“工作流属性”对话框。

10-24  工作流属性

2)单击“新建”按钮,在“优先”列表框中出现一个新的约束,单击“源步骤”栏可选择优先级高的步骤,这里选择“转换为TXT”,再单击“优先”栏选择优先类型,这里选择“成功”,表示在源步骤成功进行后,再进行目的步骤(目的步骤即当前选中的步骤),如图10-25所示。

10-25  添加优先约束

3)单击“确定”按钮,返回DTS设计器窗口,此时设计区域中出现表示优先约束的箭头,如图10-26所示。

10-26  添加了优先约束的数据包

3.调度数据包

如果启动了SQL Server Agent服务,则可以指定数据包执行的时间,也就是所谓的调度数据包。在使用DTS导入/导出向导创建数据包时,可以指定其执行时间,如图10-27所示。对于一个已有的数据包,也可以对其进行调度,其操作步骤如下:

1)右击要调度的包,在弹出的快捷菜单中选择“调度包”命令,弹出如图10-27所示对话框,可以设置执行数据包的时间表。

·    设置发生频率:在“发生频率”选项组中设置执行数据包的日期。若单击“每天”单选按钮,可以设定为每几天执行一次;若单击“每周”单选按钮,可以设定每几周的哪几天执行;若单击“每月”单选按钮,可以设定每几个月的第几天执行,也可以设定为每几个月的第几个星期几执行。

·    设置执行时间:在“每日频率”选项组中设置执行数据包的时间。若单击“一次发生于”单选按钮,可以设定每天执行的时间;若单击“发生周期”单选按钮,可以设定在每天的一段时间内每隔几个小时执行一次。

·    设置持续时间:在“持续时间”选项组中设置执行数据包的时间段。可以设定其开始日期、结束日期,若要永远执行,则可以单击“无结束日期”单选按钮。

10-27  调度包

2)单击“确定”按钮保存设置。

如图10-27所示设置含义为从2007214日起,每个月第三个星期天的12点到18点(不包括18点)之间,每个小时执行一次。