执行进程包示例

执行进程示例是一个包,它在包中运行可执行文件。在这种情况下,示例包将包含运行展开实用工具 (expand.exe) 的执行进程任务。展开****实用工具用于解压包含 Excel 电子表格的 CAB 文件,该 Excel 电子表格将用作包的其余部分的源数据。执行 SQL 任务会在包第一次运行时创建 Execute_Process_Table 表。创建表的 Transact-SQL 语句存储在单独的文件中。包再次运行时,执行 SQL 任务将截断 Execute_Process_Table

OLE DB 源将读取 Excel 电子表格中的数据,OLE DB 目标将把数据写入 Execute_Process_Table

如果在非英语版本的 Windows 上运行该示例,则可能需要替换 Program Files 文件夹的本地化名称,才能打开或运行该示例。

ms160902.note(zh-cn,SQL.90).gif重要提示:
提供的示例仅供教学使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。

要求

运行此示例包具有以下要求:

  • 示例数据包及其使用的数据文件必须安装在本地硬盘驱动器上。
  • 您必须安装了 AdventureWorks 数据库并对其具有管理权限。
  • 如果仅需要从命令行运行示例包,则必须安装 SQL Server 2005 Integration Services (SSIS)。
  • 若要在 SSIS 设计器中打开包并运行示例包,则必须安装 Business Intelligence Development Studio。
  • 您可能需要修改执行进程任务以提供展开实用工具的正确路径。展开实用工具的位置可能不同于示例包指定的位置,这取决于操作系统。若要修改执行进程任务,请右键单击**“控制流”选项卡中的任务,然后选择“编辑”。在“执行进程任务编辑器”中,将 Executable 属性的路径设置为展开**实用工具所在的文件夹。

有关如何安装示例的详细信息,请参阅 SQL Server 2005 联机丛书中的“Installing Sample Integration Services Packages”主题。若要获取示例的最新版本,包括在最初发布 SQL Server 2005 之后发布的新示例,请参阅 SQL Server 2005 示例和示例数据库(2006 年 4 月)

示例包的位置

如果示例安装在默认的安装位置,则执行进程示例包位于以下文件夹:

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\

运行此示例包需要下列文件:

文件 说明

UsingExecuteProcess.dtsx

示例包。

Customers.cab

CAB 文件,包含用作包中数据源的已压缩 Excel 电子表格。

Create_Execute_Process_Dest.sql

AdventureWorks 数据库中创建目标表的 Transact-SQL 查询。

运行示例

可以使用 dtexec 实用工具从命令行运行包,或在 Business Intelligence Development Studio 中运行包。

如果您使用的是非英语版本的 Windows,则可能需要更新包中使用的所有文件连接管理器的 ConnectionString 属性,才能成功地运行示例包。您应验证计算机上连接管理器所用的路径是否为有效路径。如果需要,可以修改此路径以便使用 Program Files 文件夹的本地化名称。

ms160902.note(zh-cn,SQL.90).gif重要提示:
此示例使用 Microsoft Jet 4.0 OLE DB 访问接口,该 Microsoft Jet 4.0 OLE DB 访问接口没有 64 位版本。该包无法在 64 位计算机上运行。

对于此示例,可能必须更新 orders.xml、TransformToFF 和 XsltResult 连接管理器的 ConnectionString 属性中的“Program Files”。

使用 dtexec 运行包

  1. 打开命令提示符窗口。

  2. 将目录更改为 C: Program Files\Microsoft SQL Server\90\DTS\Binn,即 dtexec 所在的位置。

  3. 键入下列命令:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
    
  4. Enter

有关如何使用 dtexec 实用工具运行包的详细信息,请参阅 SQL Server 2005 联机丛书中的“dtexec 实用工具”主题。

在 Business Intelligence Development Studio 中运行包

  1. 打开 Business Intelligence Development Studio。

  2. 在**“文件”菜单上,指向“打开”,然后单击“项目/解决方案”**。

  3. 找到 ExecuteProcess Sample 文件夹,然后双击名为 ExecuteProcess.sln 的文件。

  4. 解决方案资源管理器中,右键单击 SSIS 包文件夹中的 ExecuteProcess.dtsx,然后单击**“执行包”**。

有关如何在 Business Intelligence Development Studio 中运行包的详细信息,请参阅 SQL Server 2005 联机丛书中的“运行包”主题。

示例中的组件

下表列出了示例中使用的任务、源和目标。

元素 用途

执行 SQL 任务

执行 Create_Execute_Process_Dest.sql 文件中的 Transact-SQL 查询,在 Adventure Works 数据库中创建目标表。在第一次运行包时创建表。当再次运行包时表将被截断。

执行进程任务

运行展开实用工具来解压缩 Customers.cab。

数据流任务

运行包中的数据流。

OLE DB 源

将已解压缩的 Excel 电子表格用作数据源。

OLE DB 目标

将 Excel 电子表格中的数据保存在执行 SQL 任务创建的目标表中。

文件连接管理器

连接到包含创建 Execute_Process_Table 表的 SQL 语句的文件。

OLE DB 连接管理器

一个 OLE DB 连接管理器使用 Microsoft Jet 4.0 OLE DB 访问接口连接到 Excel 电子表格,另一个使用 SQL Native Client 连接到 AdventureWorks 数据库。

示例结果

若要查看执行进程示例包的执行结果,请打开 SQL Server Management Studio。在对象资源管理器中,连接到包含 AdventureWorks 的服务器。在 SQL Server Management Studio 中,单击**“新建查询”,然后选中“数据库引擎查询”**。在数据库列表(默认选中 master 数据库)中,选择 AdventureWorks 数据库或者在查询窗口中键入 USE AdventureWorks,然后按 F5 以更改数据库。

键入并运行以下 Transact-SQL 查询:

Select * from AdventureWorks.dbo.Execute_Process_Dest