65.9K
CodeProject 正在变化。 阅读更多。
Home

章节摘录 - SQL Server Integration Services

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (1投票)

2008 年 2 月 27 日

CPOL

9分钟阅读

viewsIcon

28956

本教程详细介绍了如何使用 SSIS 将表从 Oracle 10G XE 复制到 SQL Server 2005 数据库

1847193315.png
  • 针对 SSIS 和多任务处理设置的 Visual Studio 2005 环境
  • 将数据源和数据目标链接到一个任务
  • 转换源到目标的数据
  • 使用 IDE 提供的脚本支持和事件处理
  • 了解 SQL Server 2005 中新增的 Web 服务和 XML 等任务

有关更多信息,请访问
www.packtpub.com/sql-server-integration-services-visual-studio-2005/book

从 Oracle XE 复制表的包

现代企业出于多种原因,必须处理来自不同数据库供应商的资源,包括历史原因:技术新发展;成本考虑;资源收购(M&R)等。例如,虽然一家大型医院可能拥有使用 Oracle 或 SQL Server 2005 的主要数据库,但各个部门和成本中心可能使用其他产品。在这些情况下,能够轻松地将对象从一种供应商产品迁移到另一种供应商产品非常重要。每个数据库供应商都提供内置工具集来处理数据库对象或整个数据库的迁移到另一种供应商类型的数据库。

尽管本教程详细介绍了使用 SSIS 任务将表从 Oracle 10G XE 复制到 SQL Server 2005 数据库的细节,但您应该回顾一篇较早的文章,该文章使用 IMPORT / EXPORT 工具将数据从 Oracle 10G XE 导入到 SQL Server 2005。

在本练习中,我们将使用数据流任务将表从本地 Oracle 10G XE 服务器上的 **hr** 数据库传输到本地 SQL Server 2005 上的 MyNorthwind 数据库。为了遵循指示的步骤,您需要一个源和一个目标——源是来自 Oracle 10G XE 服务器的数据,目标是将这些数据加载到 SQL Server 2005 上的 *MyNorthwind* 数据库。您还需要建立一个连接它们的路径。

动手练习:将视图从 Oracle 10G XE 传输到 SQL Server 2005 数据库

以下是本次练习的主要步骤

  • 安装和查看 Oracle 10G XE 上的对象。
  • 创建 BI 项目并添加数据流任务。
  • 添加 OLE DB 源并进行配置以连接到本地 Oracle 10G XE 服务器。
  • 配置 OLE DB 源。
  • 添加 SQL Server 目标并配置其连接管理器。
  • 在 OLE DB 源和 SQL Server 目标之间建立路径。
  • 配置 SQL Server 目标组件。
  • 构建并执行包。

Oracle 10G XE 服务器

Oracle 10G XE 可从Oracle 网站免费下载。下载和安装 Oracle 10G XE 在本教程中有详细描述。

启动和停止 Oracle 10G XE 服务器

安装 Oracle 10G XE 后,您应该能够通过 Windows 服务配置其停止/启动模式。从“**开始**”菜单,依次单击“**控制面板**”、“**管理工具**”和“**服务**”可以找到“**服务**”文件夹。这将打开“**服务**”窗口,如下一屏幕截图所示,您可以在其中向下滚动到 Oracle XE Server。在这里,您可以单击左侧的超链接来停止、重新启动或暂停服务。

3315_SSIS_Chapter_13_img_1.jpg

另一种方便的方法是使用 Oracle 10G XE 安装时安装的快捷方式,如下一屏幕截图所示。有时快捷方式可能会移位,最好在“**服务**”文件夹中查找。快捷方式还可以让您访问数据库的主页。

3315_SSIS_Chapter_13_img_2.jpg

使用对象浏览器

“**转到数据库主页**”快捷方式将带您进入 Oracle 10G XE 数据库。使用此 HTML 页面,您将能够管理和使用本节开头链接中讨论的各种工具。您可以在作者的博客找到许多关于此数据库的教程链接)。当浏览器打开时,如以下屏幕截图所示,您需要提供用户名和密码,它们是 **hr** 和 **hr**。

3315_SSIS_Chapter_13_img_3.jpg

单击“**登录**”按钮后,您将打开“**主页**”,如以下屏幕截图所示。您可以单击“**主页**”上的“**对象浏览器**”组件。

3315_SSIS_Chapter_13_img_4.jpg

“**对象浏览器**”是用于处理数据库对象的所有操作的用户界面。在这里,您可以查看表、视图、存储过程等。在选择“**表**”的下拉菜单中,您将能够看到该数据库对象浏览器中之前看到的 **EMPLOYEES** 表的详细信息,如下一屏幕截图所示。

3315_SSIS_Chapter_13_img_5small.JPG

步骤 1:创建 BI 项目并添加数据流任务

此过程已在之前的章节中多次描述。

  1. 创建一个 BI 项目 **Ch13**。将默认包名称更改为 OraTo2k5.dtsx。将“**工具箱**”中的“**控制流项**”组下的“**数据流任务**”拖放到画布上的“**控制流**”页面。

    **数据流任务**的实例将被添加到画布上的**控制流**页面。

步骤 2:添加 OLE DB 源并配置它以连接到本地 Oracle 10G XE 服务器

  1. 将**OLE DB 源**从“**工具箱**”中的“**数据流源**”组拖放到画布的“**数据流**”页面。
    1. 右键单击画布上的**连接管理器**页面中的空白区域,然后从弹出菜单中选择“**新建 OLE DB 连接…**”。
    2. (由于这在较早的章节中已处理,因此此处省略了后续操作的详细说明)。这将打开**配置 OLE DB 连接管理器**窗口。左侧区域显示**数据连接:**标签下的所有现有数据连接,右侧区域显示左侧所选数据连接的详细信息,标签为**数据连接属性**。在右侧下方,您会找到“**新建…**”按钮来创建新的 OLE DB 连接。
    1. 单击“**新建…**”按钮。
    2. 这将打开**连接管理器**窗口,它默认连接到 SQL Server 2005,使用 SQL Native Client 提供程序,因此此窗口具有适合连接到 SQL Server 的控件。但是,要连接到 Oracle 数据库,我们需要使用 Oracle 的**提供程序**,该提供程序通过此页面上“**提供程序**”标签对应的下拉菜单项进行选择。
  2. 单击下拉菜单并选择 Microsoft OLE DB Provider for Oracle,如下图所示。

下图显示了**连接管理器**页面以及在稍后步骤 5 中使用**测试连接**按钮的结果。

  1. 输入 **Xe** 作为**服务器名称**,**hr** 作为**用户名**,**hr** 作为**密码**。同时为“**保存我的密码**”复选框打勾。单击“**测试连接**”按钮。

由于提供的信息正确,因此成功连接到 Oracle 10G XE。

  1. 单击**测试连接**按钮生成的邮件以及**连接管理器**窗口上的“**确定**”按钮。
  2. 这将使您返回到**配置 OLE DB 连接管理器**窗口。一个新的 OLE DB 连接 **xe.hr** 被添加到左侧的**数据连接**区域。
  1. 单击此窗口上的“**确定**”按钮。

这样就完成了 Oracle 10G XE 的连接管理器设置。连接管理器 **xe.hr** 出现在画布上的**连接管理器**页面中。

3315_SSIS_Chapter_13_img_6.jpg

步骤 3:配置 OLE DB 源

  1. 右键单击画布上的**OLE DB 源**组件,然后弹出**OLE DB 源编辑器**,如下图所示。
  2. OLE DB 连接管理器是我们最近创建的连接管理器 **xe.hr**。由于我们正在访问数据库中的一个*表*,因此**数据访问模式**的默认设置是可接受的。
  1. 单击“**表或视图名:**”的下拉菜单。此字段将显示 Oracle 10G XE 服务器上 hr 数据库中所有可访问的对象。
  1. 选择我们在该数据库对象浏览器中之前看到的视图,“**HR**”。“**EMPLOYEES**”。
    1. 单击“**预览…**”按钮,通过此连接查看正在使用的 Oracle 10G XE 中的表。
    2. 这将弹出一个**Microsoft Visual Studio**警告页面,如下图所示。忽略此警告,然后单击警告窗口上的“**确定**”按钮,将在**预览查询结果**窗口中显示 EMPLOYEES 的所有列。
  2. 单击“**确定**”按钮。
3315_SSIS_Chapter_13_img_7.jpg

3315_SSIS_Chapter_13_img_8.jpg

步骤 4:添加 SQL Server 目标并配置其连接管理器

  1. 将**SQL Server 目标**组件从“**工具箱**”的“**数据流目标**”组拖放到画布的“**数据流**”页面。

  2. 按照与 OLE DB 连接管理器类似的过程,为**SQL Server 目标**配置一个连接管理器(LocalHost.MyNorthwind)。

下图显示了连接管理器窗口的最终屏幕,在通过**测试连接**按钮进行连接性测试之后。选择的**提供程序**是 Microsoft OLE DB Provider for SQL Server。您可能会注意到使用(**.**)格式表示默认的 SQL Server 2005 安装。此服务器使用 SQL Server 身份验证。选择身份验证后,您将能够从下拉列表中**选择或输入数据库名称**。如果您的服务器使用 Windows 身份验证,则无需提供用户名和密码。

3315_SSIS_Chapter_13_img_9.jpg

步骤 5:在 OLE DB 源和 SQL Server 目标之间建立路径

这一点在大多数教程中都有描述,因此此处不再重复。

  1. 在**OLE DB 源**和**SQL Server 目标**之间建立路径。

连接源和目标的路径的**元数据**将显示在下面的**数据流路径编辑器**窗口中。

3315_SSIS_Chapter_13_img_13small.JPG

步骤 6:配置 SQL Server 目标组件

  1. 右键单击**SQL Server 目标**组件,然后从下拉菜单中

    单击“**编辑…**”。这将打开**SQL 目标编辑器**,显示之前配置的连接管理器。

    3315_SSIS_Chapter_13_img_11.jpg
  2. 单击“**新建…**”按钮。“**使用表或视图:**”。

这将弹出显示在**SQL 目标编辑器**上的**创建表**窗口。

  1. 在**创建表**窗口中,将**SQL Server 目标**替换为您自己的名称。在此练习中,它称为**Oracle 表**。在更改 SQL Server 目标为 OracleTable 后,单击**创建表**窗口上的“**确定**”按钮。
    1. 现在已经选择了连接管理器和表,请单击左侧的**映射**列表项。
    2. 这将打开 Oracle 10G XE 上的**视图**与**可用目标列**之间的映射。
  2. 接受此默认映射,然后单击上述编辑器上的“**确定**”按钮以完成**SQL Server 目标**配置。
3315_SSIS_Chapter_13_img_12.jpg

步骤 7:构建并执行包

  1. 构建并执行包。

程序运行,过一会儿,源和目标组件会变成绿色,表明运行成功。在 SQL Server 中打开**Oracle 表**以验证数据是否已传输,如下所示。

3315_SSIS_Chapter_13_img_13small.JPG

重要的是要注意,SQL Server 目标的正确提供程序是 Microsoft OLE DB provider for SQL Server。

摘要

本章描述了将 Oracle 10G XE 服务器上的表数据传输到 SQL Server 2005 的表中的步骤。还查看了 Oracle 10G XE 的 hr 数据库的安装和对象审查。

© . All rights reserved.