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

在 Visual Studio 2005 中开发 SSIS

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (5投票s)

2009年10月27日

CPOL

3分钟阅读

viewsIcon

46166

开发 SSIS 以将 Oracle 记录导入 SQL Server。

引言

导入和导出向导易于使用,但它仅利用了 SSIS 功能的一小部分。要真正欣赏 SSIS 的全部功能,您需要使用 BIDS 构建 SSIS 包。一个包是 SSIS 对象的集合,包括

  • 与数据源的连接。
  • 数据流,包括提取和加载数据的源和目标、修改和扩展数据的转换以及链接源、转换和目标的路径。
  • 控制流,包括在包运行时执行的任务和容器。您可以在序列和循环中组织任务。
  • 事件处理程序,这些是响应包、任务或容器引发的事件而运行的工作流。

开发 SSIS ORACLE

我正在利用 SSIS 的强大功能来开发一个包,该包将从 Oracle 导入到 SQL Server,用于我们的一个项目。

我们有一个寄售数据存储在 Oracle 表 "ent_imp_cons" 中。由于某种原因,我们不允许从我们的 .Net 应用程序直接访问该表。为此,我们有一个解决方案,将整个数据复制到 SQL Server 数据库。此任务计划每 x 分钟运行一次。

我们在 SQL Server 数据库中有以下表

  • ent_imp_cons_tmp:这是一个临时表,数据将在此表中临时保存
  • ent_imp_cons:如果导入成功,此表是从 tmp 表获取数据的原始表。

我们的流程如下

  • 删除 Ent_imp_cont_tmp 表(SQL 任务)
  • 执行 Oracle 数据导入(数据流任务)
  • 删除 ent_imp_cons 表(SQL 任务)
  • 将记录从 ent_imp_cons_tmp 表插入到 ent_imp_cons 表中

入门

  • 打开 Visual Studio 2005 并新建项目 --> 商业智能项目 --> 集成服务项目。

    ssis1.jpg
  • 在数据流中,我添加了以下内容

    • OLE DB 源,它连接到 Oracle 数据库。这是 sql 语句
      select ref_air_waybill_prefix, air_waybill_number, house_waybill_number, split_reference_number, num_of_packages_expected, num_of_packages_received, num_of_packages_delivered, time_of_status_3,shed_reference_number,oper_airline_code,flight_number,orig_airport_code,actual_time_of_arrival,dest_airport_code,ent_agt_sname from ent_imp_cons
      
    • 单击右侧的“显示编辑器”。查看数据源属性

      ssis2.jpg

      ssis3.jpg

    • 然后我添加了 OLE DB 目标。连接到 SQL Server。配置连接字符串,如下图所示

      ssis4.jpg

    • 然后单击左侧的“映射”。

      ssis5.jpg

  • 现在在“控制流”中,有以下控件
    • SQL 任务:连接到 SQL 数据源:注意屏幕截图中的“连接”和“SqlStatement”属性

      ssis6.jpg

    • 另一个 SQL 任务:连接到 SQL 数据源

      ssis7.jpg

    • 另一个 SQL 任务:连接到 SQL 数据源

      使用此 sql 语句:insert into ent_imp_cons select ent_imp_cons_tmp

结果流程图

ssis8.jpg

部署包

部署包很简单。您只需要右键单击项目解决方案并构建。前提是在项目属性页中将 CreateDeploymentUtitly 设置为 true。

ssis9.jpg

在我们的例子中,我想为我创建一个配置文件来更改连接字符串,我所做的是

  • 在控制流中:右键单击并选择包配置

    ssisa.jpg

  • 单击“启用包配置”
  • 单击“添加”按钮添加新的配置文件。
  • 选择控件的属性以允许更改。

    ssisb.jpg

  • 现在重新构建项目。
  • 构建项目后找到部署文件夹。

    ssisc.jpg

  • 要开始安装包,请单击“SSIS_oracle.SSISDeploymentManifest”
  • 按照安装向导操作。
  • 在 SQL Server 中安装包。

注释

要在 sql server 中安装包,您需要具备以下条件

  • 集成服务应与 sql server 一起安装。
  • 要在 sql server 中查看已安装的包,您需要连接到集成服务。

    ssisd.jpg

  • 可以在这里找到包

    ssise.jpg

  • 您可以在 sql 作业中安排包。

参考文献

http://www.accelebrate.com/sql_training/ssis_tutorial.htm

http://decipherinfosys.wordpress.com/2008/09/16/deploying-ssis-packages-in-sql-server-2005/

http://blogs.pragmaticworks.com/devin_knight/2009/06/ssis---creating-a-deployment-manifest.html

http://www.mssqltips.com/tip.asp?tip=1434

© . All rights reserved.