【 tulaoshi.com - SQLServer 】
Microsoft SQL Server 2000的数据转换服务(中)
还可以用编程方式创建自定义任务,然后使用“注册自定义任务”命
令将其集成到 DTS设计器中。
为说明如何使用这些任务,这里显示一个简单的 DTS软件包,其中包
括两项任务: Microsoft ActiveX?脚本任务以及发送邮件任务:
图 2. 具有两项任务的 DTS 软件包
ActiveX脚本任务可包含任何ActiveX脚本引擎,包括Microsoft Visual
Basic Scripting Edition(VBScript)、Microsoft JScriptActiveState
ActivePerl。这些搜索引擎可以从 http://www.activestate.com 下载。
发送邮件任务可以发送消息,指示软件包已运行。请注意,这些任务尚未
排序。执行软件包时,ActiveX 脚本任务和发送邮件任务将同时运行。
工作流:设置任务优先级
定义任务组时,通常有一个执行任务的顺序。如果任务已排序,每个
任务将成为进程中的一个步骤。在 DTS设计器中,在 DTS设计器工作表上
操作任务,并使用优先级约束条件来控制执行任务的顺序。
优先级约束条件继而将软件包中的任务链接起来。下表显示在 DTS中
可以使用的优先级约束条件类型。
优先级约束条件 说明
按完成顺序
(蓝色箭头)
如果希望在任务 1 完成前不执行任务 2,而不考虑执行结果如何,则应使用“按完成顺序”优先级约束条件链接任务 1
和任务 2。
按成功情况
(绿色箭头)
如果希望在任务 1 成功完成前不执行任务 2,应使用“按成功情况”优先级约束条件链接任务 1 和任务 2。
按失败情况
(红色箭头)
如果希望只在任务 1 无法成功执行的情况下才执行任务 2,应使用“按失败情况”优先级约束条件链接任务 1 和任务
2。
下图显示使用“按完成顺序”优先级约束条件的 ActiveX脚本任务和
发送邮件任务。当 Active X 脚本任务完成后,无论成功或失败,都将运
行发送邮件任务。
图 3. 使用“按完成顺序”优先级约束条件的 ActiveX 脚本任务和发送邮件任务
可以分别配置发送邮件任务,一个配置为使用“按成功情况”约束条
件,一个配置为使用“按失败情况”约束条件。两个发送邮件任务可根据
ActiveX 脚本成功还是失败发送不同的消息。
图 4. 邮件任务
您还可以对一个任务采用多个优先级约束条件。例如,发送邮件任务
“管理通知”可以在脚本 #1 采用“按成功情况”约束条件,在脚本 #2
采用“按失败情况”约束条件。在这些情况下,DTS 假设存在逻辑关系
“AND ”。因此,只有在脚本 #1 成功执行而脚本 #2 失败的情况下,才
会发送“管理通知”消息。
图 5.示例:对一项任务采用多个优先级约束条件
连接:访问和移动数据
要成功执行复制和转换数据的 DTS任务,DTS 软件包必须与它的源和
目标数据以及所有其它数据源(如查找表)建立有效连接。
创建软件包时,通过从可用的 OLE DB 提供程序和 ODBC 驱动程序列
表选择连接类型,可对连接进行配置。可用的连接类型包括:
● Microsoft 数据访问组件 (MDAC) 驱动程序
用于 SQL Server 的 Microsoft OLE DB 提供程序
Microsoft 数据链接
用于 Oracle 的 Microsoft ODBC 驱动程序
● Microsoft 数据访问组件 (MDAC) 驱动程序
dBase 5
Microsoft Access
HTML 文件(源)
Microsoft Excel 97-2000
Paradox 5.X
● 其它驱动程序
文本文件(源)
文本文件(目标)
其它连接
DTS 允许您使用任何 OLE DB 连接。使用“连接”工具栏上的图标可
以便捷地访问常用的各种连接。
下图显示一个使用两种连接的软件包。数据将从 Access 数据库(源
连接)复制到 SQL Server 产品数据库(目标连接)。
图 6. 示例:使用两种连接的软件包
此软件包中的第一个步骤是一个执行 SQL任务,该任务检查是否目标
表已经存在。如果存在,将删除它然后重新创建。成功完成执行 SQL任务
后,第二个步骤是将数据复制到 SQL Server 数据库。如果复制操作失败,
第三个步骤是发送一份电子邮件。
摘自http://www.microsoft.com/china/msdn/?MSCOMTB=ICP_MSDN