SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
SQL Server Integration Services with
Oracle Database 10g
 SQL Server Technical Article




 Published: May 2008
 Applies To: SQL Server


 Summary: Microsoft SQL Server (both 32-bit and 64-bit) offers best-of breed data
 integration facilities in the form of SQL Server Integration Services (SSIS). This paper
 describes how you can use SSIS to easily interface with other data sources running on
 the Oracle Database 10g database platform.
SQL Server Integration Services with Oracle Database 10g                                                             2



Copyright
    The information contained in this document represents the current view of Microsoft Corporation on the issues
    discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it
    should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the
    accuracy of any information presented after the date of publication.


    This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
    IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.


    Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under
    copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or
    transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or
    for any purpose, without the express written permission of Microsoft Corporation.


    Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights
    covering subject matter in this document. Except as expressly provided in any written license agreement
    from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks,
    copyrights, or other intellectual property.


     2008 Microsoft Corporation. All rights reserved.


    Microsoft and SQL Server are either registered trademarks or trademarks of Microsoft Corporation in the
    United States and/or other countries.


    The names of actual companies and products mentioned herein may be the trademarks of their respective
    owners.
Contents
 Introduction ......................................................................................................1
 About SSIS ........................................................................................................1
 Getting Started .................................................................................................2
     Installing the Oracle Database 10g Client Software.............................................. 2
     Testing the Oracle Database 10g Client Installation ............................................. 5
 Building an ETL Solution in SSIS .......................................................................8
     Planning the Solution ....................................................................................... 8
     Creating the Solution ....................................................................................... 8
     Enhancing the Solution .................................................................................. 14
          Data Conversion ...................................................................................... 14
          Derived Columns ...................................................................................... 17
 Conclusion.......................................................................................................20
SQL Server Integration Services and Oracle Database 10g                                         1



Introduction
   This paper focuses on the advantages of using SQL Server Integration Services to
   extract data from heterogeneous sources and import data into Microsoft® SQL Server™
   for Business Intelligence (BI) analysis and reporting. Oracle Database 10g data is used
   as the primary data source.
   The audience for this paper includes IT professionals, database administrators, and
   system architects. The reader should have a general understanding of databases and
   Microsoft SQL Server and Oracle Database 10g. Readers should use the referenced
   databases on their preferred hardware platform.
   SQL Server is part of the Microsoft integrated BI platform, and covers data
   warehousing, analytics and reporting, score carding, planning, and budgeting.
   SQL Server is in the Leader’s Quadrant in both Gartner’s Magic Quadrant for BI
   Platforms and Magic Quadrant for Data Warehousing. Microsoft includes excellent BI
   products in both SQL Server Standard Edition and Enterprise Edition. These include
   SQL Server Integration Services (SSIS), SQL Server Reporting Services (SSRS), and
   SQL Server Analysis Services (SSAS). In contrast, Oracle offers similar functionality as
   an option at an additional cost with Oracle Enterprise Edition. For a detailed comparison
   of the cost of SQL Server BI tools compared with similar Oracle products, see the
   Understanding Database Pricing white paper.
   The primary focus of this paper is SQL Server Integration Services. SSIS provides
   support for both heterogeneous and homogeneous environments and serves as an
   integration tool for customers who use multiple data sources and platforms running in
   Microsoft and non-Microsoft software environments. We demonstrate how easy it is to
   set up SSIS with a heterogeneous data source and import data into SQL Server. We
   also document the steps to import data from an Oracle Database 10g data source into
   SQL Server.
   Many IT managers strive to adopt practical, price-efficient solutions to support their
   business processes. We re-emphasize the value that SQL Server offers for BI solutions.
   SQL Server includes excellent BI tools at no additional charge, a significant value that
   IT managers cannot ignore.

   About SSIS
   SQL Server Integration Services (SSIS) is a premier data transformation framework
   built on top of Microsoft SQL Server. It performs a wide variety of tasks from simple
   import/export operations to complex high-performance extract, transform, load (ETL)
   tasks between heterogeneous data sources. This powerful functionality comes from a
   tightly knit suite of tools made up of control-flow and data-flow logic designers, utilities
   to build and execute self-contained packages, and the services necessary to support the
   execution and automation of high-performance data transformation.
   SSIS originated in previous versions of SQL Server as Data Transformation Services
   (DTS)—a simple data transformation framework built within SQL Server. What DTS
   lacked in broad functionality, it made up for with a simple “get-it-done” mentality. This
   enabled developers and database administrators to extract, transfer, and load data
   between Microsoft SQL Server and other database platforms or data sources in a
   straightforward manner. However, as the needs of the database community changed,
   so did the need for a more complete ETL solution within SQL Server.


                                                                      Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                        2

   SSIS is the end result of years of customer feedback and refinement by Microsoft. The
   basic premise of data transformation within SQL Server has not changed, but the tools
   and processes to complete ETL tasks have changed radically. SSIS contains vastly more
   functionality than its predecessor. This document provides a practical example of
   extracting and transforming data from an external data source to a SQL Server
   database by using SSIS. The source of the data in our example originates from an
   Oracle Database 10g database. This particular example may become more
   commonplace as the total cost of ownership between Oracle and SQL Server increases.
   IT decision-makers recognize cost as an important purchase criterion when deciding
   which database platforms to run their business and SQL Server comes with the
   programs necessary for building BI solutions.

Getting Started
   Before we start our example ETL process, we must first define the communication path
   between the source Oracle database and the destination SQL Server database. This
   requires installing the necessary Oracle support software. Oracle requires network
   transport facilities known as Oracle Net to communicate with database services. Oracle
   Net is analogous to the SQL Server Tabular Data Stream (TDS) transport facility. The
   most recent 32-bit and 64-bit versions of the Oracle Database 10g client software are
   available for download at the following locations:
   http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip
   http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_client.zip
   Attention should be paid to the particular version of the client software being installed—
   32-bit or 64-bit. Install the correct version for your operating system (32-bit or 64-bit).

Installing the Oracle Database 10g Client Software
   After you download and extract the client software archive file, navigate to the main
   directory where the installation files are stored, and then use the following procedure.
   To install the Oracle Database 10g client software
   1. Double-click the file setup.exe. This launches the Oracle Universal Installer. A
      welcome screen similar to the following figure appears. Select Custom, and then
      click Next.




                                                                     Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                       3

        Figure 1
   2. The next screen prompts for a home name and directory path for the installation. If
      necessary, edit the information. Click Next to continue.




        Figure 2
   3. Select the components to install. In addition to the default selections, make sure to
      also select Oracle Windows Interfaces and Oracle Net. Click Next.




        Figure 3
   4. The next screen shows the status of product-specific prerequisite checks as they are
      performed. Make sure that all checks succeed and correct any issues if necessary.
      Click Next.




                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                       4




        Figure 4
   5. At the prompt for the port number of the Oracle Services for Microsoft Transaction
      Server (Figure 5), click Next to accept the default port.




        Figure 5
   6. A summary screen shows all tasks the Oracle Universal Installer will perform. Verify
      that the information is correct. Click Install to begin the software deployment.
   7. After the software deployment is complete, the Oracle Net Configuration Assistant
      starts and guides you through the process of configuring the Oracle Net software.
      Configure the settings for your environment. The following options were used for
      this example:

         Option                                   Value
         Perform Typical Configuration            No (unselected)
         Selected Naming Method                   Local Naming
         Service Name                             ORCL


                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                            5


         Option                                   Value
         Network Protocol                         TCP
         Host Name                                ADAMS
         Port Number                              1521
         Perform Test                             Yes
         Net Service Name                         ORCL

   8. When the Oracle Net Configuration Assistant completes, the Universal Installer
      indicates that the installation is complete. Click Exit to close the installer.

Testing the Oracle Database 10g Client Installation
   After the client software is installed, it is wise to test and verify the installation by
   executing a basic data import from Oracle into SQL Server.
   To test the Oracle Database 10g client installation
   1. From SQL Server Management Studio, right-click a database that you can use to
      perform a test import, select Tasks, and then select Import Data.
   2. At the prompt to specify a data source, change the Data Source option to
      Microsoft OLE DB Provider for Oracle. Click the Properties button.
   3. In the Data Link Properties dialog box, enter field information. For the server name,
      use the Net Service Name you entered in step 7 in the previous procedure when you
      installed the client software. Make sure the credentials you provide can access
      sample data in Oracle. Optionally, perform a connection test by clicking Test
      Connection. When finished, click OK.




        Figure 6
   4. The next screen prompts for a destination for the data import. It should default to
      the database you specified in step 1. Verify that the information is correct, and then
      click Next.




                                                                         Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                      6




        Figure 7
   5. The next screen asks you to specify whether you want to copy data from a table or
      a view versus running a query. Choose to copy data from one or more tables or
      views, and then click Next.
   6. Select the tables or views to import from the source. Make sure that the destination
      table you specify does not already exist. Click Next.




        Figure 8


                                                                   Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                         7

   7. At the prompt to execute the import or save it as a package, choose to import. Click
      Next.
   8. At the summary screen, verify that the information is correct, and then click Finish
      to start the import process.
   9. A dialog box showing the execution steps and status appears as in the following
      example.




        Figure 9
        During this process you may receive warnings similar to the following. This is to be
        expected and these warnings can be ignored. Click OK to close the warning alert
        box if any appears




        Figure 10
   10. When the installation is finished, click Close to exit the wizard.
   If all went well and there were no fatal errors, the installation was successful. This
   indicates that all software components are working properly and SQL Server can
   reliably extract data from Oracle. The next step is to build a reusable SSIS data import
   solution.



                                                                      Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                       8


Building an ETL Solution in SSIS
Planning the Solution
   The first step when developing a comprehensive solution is always planning. The
   questions that need to be answered in the planning process are:
       Where is the data coming from?
       Where is the data going to?
       What happens to the data between the source and destination?
   These steps may seem elementary, but they are important objectives to define before
   embarking on any development effort. Clear definition of the objectives eliminates any
   ambiguity that might disrupt an otherwise successful ETL solution.
   In our example, we extract sales order information from an Oracle transactional system
   and import it into a SQL Server data warehouse we are building. The example starts
   with a simple data copy from Oracle to SQL Server. We then add some simple data
   transformations along the way as our data warehouse evolves.

Creating the Solution
   All SSIS solutions start in the SQL Server Business Intelligence Development Studio
   (BIDS). This integrated development environment serves as the main hub for
   developing any BI solution, whether it be an Integration Services package, a Reporting
   Services report, or an Analysis Services cube. To begin, start BIDS and create a project.
   Open BIDS from the Start Menu. For the project type, select Integration Services
   Project. Name the project, and either keep the default location or specify a different
   one. Click OK. Figure 11 shows an example new project dialog box.




   Figure 11



                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                       9

   After the new project is created, you see the user interface that is used to create and
   define the project workflow. The workflow is broken up into three main categories:
   control flow, data flow, and event handling.
   The control flow defines what types of tasks will execute as part of the package. Tasks
   can include simple data flow and bulk insert tasks, maintenance plans including backups
   and database integrity checks, as well as more complicated cube processing tasks,
   e-mail tasks, or file system tasks. The wide variety of available control flow tasks
   demonstrates the flexibility of SSIS.
   Data flow tasks include basic data imports and exports as well as data merges (useful
   for joining data from heterogeneous data sources), data conversions and
   transformations, and complex fuzzy data searches and grouping.
   Event handlers enable you to create control flow logic that is separate from the main
   package, which only executes if the package encounters a defined error event.
   To create a package, you first define the control flow logic.
   To define the control flow logic
   1. For our example, we drag a Data Flow Task from the toolbox on the left onto the
      Control Flow canvas as shown in Figure 12.




        Figure 12
   2. To add the necessary logic to this control flow task to support the data import,
      double-click the Data Flow Task icon to display the Data Flow canvas where you
      can add data flow tasks.
   3. To define the source and destination data sources, right-click in the Connection
      Managers pane at the bottom of the window and select New OLE DB Connection.
   4. In the dialog box that appears (see Figure 13), select New. For the Provider,
      select Microsoft OLE DB Provider for Oracle. Enter the server name and user
      credentials. Click OK to finish defining the source connection and close the
      Connection Manager dialog box.



                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                     10




        Figure 13
        The newly created connection is listed in the Connection Manager pane.
   5. To open a new connection manager for the destination connection, right-click in the
      Connection Manager pane and select New OLE DB Connection. Click New.
   6. In the Connection Manager dialog box (Figure 14), leave the provider as Native
      OLE DB/SQL Native Client. Provide the server name, user credentials, and target
      database name. Click OK to finish defining the destination connection and close the
      Connection Manager dialog box.




        Figure 14
        You should see both of your connections listed in the Connection Manager pane.
   Now, define the movement of data from source to destination.


                                                                   Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                      12




        Figure 16
        You may notice the warning message at the bottom of the dialog box. This indicates
        that we have not yet provided a logical mapping of source columns to destination
        columns. SSIS will attempt a “best effort” mapping automatically, but this might
        require user intervention if the mapping is complicated. In our example, there is a
        direct mapping from source columns to destination columns. In other words, the
        source and destination columns are identical.
   6. To review the mappings, click the Mappings option on the left. See Figure 17.




                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                      13




        Figure 17
   7. Verify that the mappings are correct, and then click OK. The Data Flow canvas
      should now look like Figure 18.




        Figure 18
        Note that in a real-world scenario you might want to map only a subset of the
        source columns to destination columns.
   The basic data import is now configured and ready to test.
   To test the data import
   1. To save the project, from the File menu, select Save All.
   2. From the Build menu, select Build [Project Name].
   3. From the Debug menu, selecting Start Debugging.

                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                       14

        This quickly executes the package from within the BIDS development environment
        and reports back the status of the package execution as shown in Figure 19.




        Figure 19
        The green color indicates successful execution. The number of rows transferred is
        identified below the green arrow connector. In the example, all tasks completed
        successfully and the correct number of rows were transferred.

Enhancing the Solution
   Our example so far describes only a very simple direct mapping of source columns to
   destination columns with no real transformation being performed. Now we take the
   example to the next step by adding some basic data conversion.

Data Conversion
   In our sample data, there are four fields that represent dollar amounts (SubTotal,
   TaxAmt, Freight, and TotalDue) but are currently configured to import as generic
   numeric data types rather than currency data types. We need to instruct SSIS to import
   this data as currency. First, alter the destination table to reflect this data type change,
   and then insert a Data Conversion task into the data flow.
   To add a Data Conversion task to the data flow
   1. Right-click the green arrow connector between the OLE DB Source and the
      SQL Server Destination, and select Delete.
   2. From the toolbox, drag a Data Conversion data flow transformation task to the
      Data Flow canvas. Connect the green arrow from the OLE DB Source to the Data
      Conversion icon. Connect the green arrow from the Data Conversion icon to the
      SQL Server Destination icon.



                                                                     Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                     15

   3. Double-click the Data Conversion Task icon to bring up the task properties. This
      dialog box is where you define the data type conversions.
   4. In the Available Input Columns list, select each column that requires a data
      conversion. These are added to the pane at the bottom of the window. This creates
      logical copies of the input columns to the data flow. Optionally, you can rename the
      logical copies by editing the Output Alias property column.
   5. Change the data types from numeric [DT_NUMERIC] to currency [DT_CURRENCY],
      and then click OK. See the following figure for an example.




        Figure 20
   6. Double-click the SQL Server Destination task icon to bring up the task properties.
      Click the Mappings selection on the left side of the window.
   7. Delete the existing mappings between the original input columns and the
      destination columns by highlighting each mapping line and pressing Delete.




                                                                   Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                   16


        Create new mappings between the new logical columns and the destination columns
        by dragging the new column aliases to the destination columns until your screen
        resembles Figure 21.




        Figure 21
   8. Click OK when done. The resulting Data Flow canvas should resemble Figure 22.




        Figure 22

                                                                 Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                        17



   9. Save, build, and start debugging the package as you have done previously. After
      the package completes, the output window should look like the following figure.




        Figure 23
   You have now successfully added a simple data conversion to your import package. The
   net result is that the output columns are of the correct currency data type rather than a
   generic numeric data type. This basic example can be expanded upon to perform fairly
   complex data conversions in other scenarios.

Derived Columns
   Now we want to do something a little more complex. We have a field named
   OnlineOrderFlag in our source data that specifies whether an order was taken online.
   This is a numeric field that acts as a bit field, storing 0 for False or 1 for True. We want
   to create a more human-readable form of the field where the character values “True” or
   “False” are stored in addition to the bit field. We can do this with a Derived Column
   data flow task. SSIS will derive a value for a logical column based on an expression we
   provide. To specify the data from which to derive values, the expression can reference
   other columns in the input stream or hard code values, and have any level of logic,
   from simple to complex.
   The first step is to add a new column to our destination table to store the newly derived
   values.
   To add a derived column
   1. Right-click the green arrow connector between the Data Conversion icon and the
      SQL Server Destination icon, and select Delete.
   2. Drag a Derived Column data flow task from the toolbox onto the Data Flow
      canvas. Connect the green arrow from the Data Conversion task to the Derived

                                                                      Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                         18

        Column task, and then connect the green arrow from the Derived Column task to
        the SQL Server Destination task.
   3. Double-click the Derived Column task icon to show the task properties.
   4. Add a new derived column, expression, and data type with properties similar to
      those in the following figure.




        Figure 24
        The expression is a simple substitution. It checks the OnlineOrderFlag field to see
        if the value is "1" and substitutes "True" if that is the case. Otherwise, the value of
        "False" is displayed in the field. These new values will be stored in a derived field
        named OnlineFlagChar, a variable-length character field. Click OK to save the
        derived column settings.
   5. Double-click the SQL Server Destination task to open the task properties. Click
      the Mappings label on the left side of the window.
   6. Scroll through the column mappings until you find the new derived column in the
      input column list. Drag it to the new column in your destination column list as
      shown in the following figure.




                                                                       Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                    19




        Figure 25
   7. Click OK when done. Your Data Flow canvas should look like the following figure.




        Figure 26
   8. Save, build, and start debugging the package as you have done previously. After
      the package completes, the output window should look like Figure 27.


                                                                  Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                      20




        Figure 27


   You have now added a derived column to your import process. Derived columns provide
   powerful functionality to the data flow capabilities of SSIS. They are not limited to the
   simple substitutions that are demonstrated in our example.

Conclusion
   These simple examples serve to demonstrate only a small part of the functionality in
   SQL Server Integration Services. The best reference available for the complete
   capabilities of SSIS continues to be SQL Server Books Online.
   It is clear to those who have prior experience with Data Transformation Services (DTS)
   that SSIS provides much greater flexibility and functionality. People who are more
   familiar with Oracle may find it unusual that Microsoft would include such a powerful
   piece of software free of charge with SQL Server. However, Microsoft is committed to
   providing the best-of-breed business intelligence solutions for their premiere database
   platforms.


   For more information:
           SQL Server Web site
           SQL Server TechCenter
           SQL Server Developer Center




                                                                    Microsoft Corporation © 2008
SQL Server Integration Services and Oracle Database 10g                                      21

   Did this paper help you? Please give us your feedback. Tell us on a scale of 1 (poor) to
   5 (excellent), how would you rate this paper and why have you given it this rating? For
   example:
       Are you rating it high due to having good examples, excellent screenshots, clear
        writing, or another reason?
       Are you rating it low due to poor examples, fuzzy screenshots, unclear writing?
   This feedback will help us improve the quality of the white papers we release. Send
   feedback.




                                                                    Microsoft Corporation © 2008

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3Naji El Kotob
 
SQL Server Developer 70-433
SQL Server Developer 70-433SQL Server Developer 70-433
SQL Server Developer 70-433jasonyousef
 
owb-11gr2-new-features-summary-129693
owb-11gr2-new-features-summary-129693owb-11gr2-new-features-summary-129693
owb-11gr2-new-features-summary-129693Carnot Antonio Romero
 
Adv 64 Bit Env
Adv 64 Bit EnvAdv 64 Bit Env
Adv 64 Bit EnvRaghu veer
 
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...Dr. Wilfred Lin (Ph.D.)
 
oracle-database-editions-wp-12c-1896124
oracle-database-editions-wp-12c-1896124oracle-database-editions-wp-12c-1896124
oracle-database-editions-wp-12c-1896124Arjun Sathe
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufCTE Solutions Inc.
 
SQL_Server_2016_Deeper_Insights_Across_Data_White_Paper
SQL_Server_2016_Deeper_Insights_Across_Data_White_PaperSQL_Server_2016_Deeper_Insights_Across_Data_White_Paper
SQL_Server_2016_Deeper_Insights_Across_Data_White_PaperIngrid Fernandez, PhD
 
Nationwide_Ensures_Basel_II_Compliance
Nationwide_Ensures_Basel_II_ComplianceNationwide_Ensures_Basel_II_Compliance
Nationwide_Ensures_Basel_II_ComplianceAndrew Painter
 
Sql 2008 r2_manageability_white_paper
Sql 2008 r2_manageability_white_paperSql 2008 r2_manageability_white_paper
Sql 2008 r2_manageability_white_paperKlaudiia Jacome
 
5 Tips For Smooth Ssis U Pgrade To Sql 2012
5 Tips For Smooth Ssis U Pgrade To Sql 20125 Tips For Smooth Ssis U Pgrade To Sql 2012
5 Tips For Smooth Ssis U Pgrade To Sql 2012Jack Pham
 

Was ist angesagt? (20)

SSIS begineer
SSIS begineerSSIS begineer
SSIS begineer
 
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
 
SQL Server Developer 70-433
SQL Server Developer 70-433SQL Server Developer 70-433
SQL Server Developer 70-433
 
owb-11gr2-new-features-summary-129693
owb-11gr2-new-features-summary-129693owb-11gr2-new-features-summary-129693
owb-11gr2-new-features-summary-129693
 
Ebook10
Ebook10Ebook10
Ebook10
 
Cluster arch
Cluster archCluster arch
Cluster arch
 
Adv 64 Bit Env
Adv 64 Bit EnvAdv 64 Bit Env
Adv 64 Bit Env
 
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...
Sql server 2012_and_intel_e7_processor_more_capability_and_higher_value_for_m...
 
Introduction to Oracle
Introduction to OracleIntroduction to Oracle
Introduction to Oracle
 
oracle-database-editions-wp-12c-1896124
oracle-database-editions-wp-12c-1896124oracle-database-editions-wp-12c-1896124
oracle-database-editions-wp-12c-1896124
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian Malbeuf
 
SQL_Server_2016_Deeper_Insights_Across_Data_White_Paper
SQL_Server_2016_Deeper_Insights_Across_Data_White_PaperSQL_Server_2016_Deeper_Insights_Across_Data_White_Paper
SQL_Server_2016_Deeper_Insights_Across_Data_White_Paper
 
Obia with odi
Obia with odiObia with odi
Obia with odi
 
Ssis 2008
Ssis 2008Ssis 2008
Ssis 2008
 
Nationwide_Ensures_Basel_II_Compliance
Nationwide_Ensures_Basel_II_ComplianceNationwide_Ensures_Basel_II_Compliance
Nationwide_Ensures_Basel_II_Compliance
 
Sql 2008 r2_manageability_white_paper
Sql 2008 r2_manageability_white_paperSql 2008 r2_manageability_white_paper
Sql 2008 r2_manageability_white_paper
 
Windows server 2012_r2_
Windows server 2012_r2_ Windows server 2012_r2_
Windows server 2012_r2_
 
Auditing Data Access in SQL Server
Auditing Data Access in SQL ServerAuditing Data Access in SQL Server
Auditing Data Access in SQL Server
 
5 Tips For Smooth Ssis U Pgrade To Sql 2012
5 Tips For Smooth Ssis U Pgrade To Sql 20125 Tips For Smooth Ssis U Pgrade To Sql 2012
5 Tips For Smooth Ssis U Pgrade To Sql 2012
 
Project seminar
Project seminarProject seminar
Project seminar
 

Andere mochten auch

Integration Services Presentation V2
Integration Services Presentation V2Integration Services Presentation V2
Integration Services Presentation V2Catherine Eibner
 
Analysis Services en SQL Server 2008
Analysis Services en SQL Server 2008Analysis Services en SQL Server 2008
Analysis Services en SQL Server 2008Eduardo Castro
 
Developing with SQL Server Analysis Services 201310
Developing with SQL Server Analysis Services 201310Developing with SQL Server Analysis Services 201310
Developing with SQL Server Analysis Services 201310Mark Tabladillo
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesEduardo Castro
 
Architecture of integration services
Architecture of integration servicesArchitecture of integration services
Architecture of integration servicesSlava Kokaev
 
SQL Server Integration Services Best Practices
SQL Server Integration Services Best PracticesSQL Server Integration Services Best Practices
SQL Server Integration Services Best PracticesDenny Lee
 
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Mark Ginnebaugh
 
A Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASA Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASJohn Paredes
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Miningidnats
 
Step by Step Installation of Microsoft SQL Server 2012
Step by Step Installation of Microsoft SQL Server 2012 Step by Step Installation of Microsoft SQL Server 2012
Step by Step Installation of Microsoft SQL Server 2012 Sameh AboulDahab
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSINGKing Julian
 

Andere mochten auch (13)

Integration Services Presentation V2
Integration Services Presentation V2Integration Services Presentation V2
Integration Services Presentation V2
 
Analysis Services en SQL Server 2008
Analysis Services en SQL Server 2008Analysis Services en SQL Server 2008
Analysis Services en SQL Server 2008
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 
Developing with SQL Server Analysis Services 201310
Developing with SQL Server Analysis Services 201310Developing with SQL Server Analysis Services 201310
Developing with SQL Server Analysis Services 201310
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
 
Architecture of integration services
Architecture of integration servicesArchitecture of integration services
Architecture of integration services
 
SQL Server Integration Services Best Practices
SQL Server Integration Services Best PracticesSQL Server Integration Services Best Practices
SQL Server Integration Services Best Practices
 
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
Microsoft SQL Server Analysis Services (SSAS) - A Practical Introduction
 
A Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSASA Gentle Introduction to Microsoft SSAS
A Gentle Introduction to Microsoft SSAS
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Mining
 
What's new in SQL Server Integration Services 2012?
What's new in SQL Server Integration Services 2012?What's new in SQL Server Integration Services 2012?
What's new in SQL Server Integration Services 2012?
 
Step by Step Installation of Microsoft SQL Server 2012
Step by Step Installation of Microsoft SQL Server 2012 Step by Step Installation of Microsoft SQL Server 2012
Step by Step Installation of Microsoft SQL Server 2012
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 

Ähnlich wie SQL Server Integration Services with Oracle Database 10g

Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White Paper
Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White PaperSql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White Paper
Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White PaperDavid J Rosenthal
 
Vskills certified enterprise applications integration specialist with micros...
Vskills certified enterprise applications integration specialist  with micros...Vskills certified enterprise applications integration specialist  with micros...
Vskills certified enterprise applications integration specialist with micros...Vskills
 
Sql interview question part 10
Sql interview question part 10Sql interview question part 10
Sql interview question part 10kaashiv1
 
Sql business intelligence
Sql business intelligenceSql business intelligence
Sql business intelligenceSqlperfomance
 
application-template-deployment-guide.pdf
application-template-deployment-guide.pdfapplication-template-deployment-guide.pdf
application-template-deployment-guide.pdfamazon4it
 
Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2Eduardo Castro
 
Whats New Sql Server 2008 R2 Cw
Whats New Sql Server 2008 R2 CwWhats New Sql Server 2008 R2 Cw
Whats New Sql Server 2008 R2 CwEduardo Castro
 
Microsoft Sql Server 2016 Is Now Live
Microsoft Sql Server 2016 Is Now LiveMicrosoft Sql Server 2016 Is Now Live
Microsoft Sql Server 2016 Is Now LiveAmber Moore
 
Microsoft SQL Azure - Developing And Deploying With SQL Azure Whitepaper
Microsoft SQL Azure - Developing And Deploying With SQL Azure WhitepaperMicrosoft SQL Azure - Developing And Deploying With SQL Azure Whitepaper
Microsoft SQL Azure - Developing And Deploying With SQL Azure WhitepaperMicrosoft Private Cloud
 
Financial, Retail And Shopping Domains
Financial, Retail And Shopping DomainsFinancial, Retail And Shopping Domains
Financial, Retail And Shopping DomainsSonia Sanchez
 
Sql Azure Database whitepaper r01
Sql Azure Database whitepaper r01Sql Azure Database whitepaper r01
Sql Azure Database whitepaper r01Ismail Muhammad
 
A introduction to oracle data integrator
A introduction to oracle data integratorA introduction to oracle data integrator
A introduction to oracle data integratorchkamal
 
plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100Prithvi Rajkumar
 
Kaashiv SQL Server Interview Questions Presentation
Kaashiv SQL Server Interview Questions PresentationKaashiv SQL Server Interview Questions Presentation
Kaashiv SQL Server Interview Questions Presentationkaashiv1
 
Sql interview question part 6
Sql interview question part 6Sql interview question part 6
Sql interview question part 6kaashiv1
 

Ähnlich wie SQL Server Integration Services with Oracle Database 10g (20)

Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White Paper
Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White PaperSql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White Paper
Sql Server 2014 Platform for Hybrid Cloud Technical Decision Maker White Paper
 
Vskills certified enterprise applications integration specialist with micros...
Vskills certified enterprise applications integration specialist  with micros...Vskills certified enterprise applications integration specialist  with micros...
Vskills certified enterprise applications integration specialist with micros...
 
Sql interview question part 10
Sql interview question part 10Sql interview question part 10
Sql interview question part 10
 
Sql2008 (1)
Sql2008 (1)Sql2008 (1)
Sql2008 (1)
 
Sql business intelligence
Sql business intelligenceSql business intelligence
Sql business intelligence
 
application-template-deployment-guide.pdf
application-template-deployment-guide.pdfapplication-template-deployment-guide.pdf
application-template-deployment-guide.pdf
 
Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2Whats New Sql Server 2008 R2
Whats New Sql Server 2008 R2
 
Comp inttools
Comp inttoolsComp inttools
Comp inttools
 
Whats New Sql Server 2008 R2 Cw
Whats New Sql Server 2008 R2 CwWhats New Sql Server 2008 R2 Cw
Whats New Sql Server 2008 R2 Cw
 
Microsoft Sql Server 2016 Is Now Live
Microsoft Sql Server 2016 Is Now LiveMicrosoft Sql Server 2016 Is Now Live
Microsoft Sql Server 2016 Is Now Live
 
Microsoft SQL Azure - Developing And Deploying With SQL Azure Whitepaper
Microsoft SQL Azure - Developing And Deploying With SQL Azure WhitepaperMicrosoft SQL Azure - Developing And Deploying With SQL Azure Whitepaper
Microsoft SQL Azure - Developing And Deploying With SQL Azure Whitepaper
 
Financial, Retail And Shopping Domains
Financial, Retail And Shopping DomainsFinancial, Retail And Shopping Domains
Financial, Retail And Shopping Domains
 
Sql Azure Database whitepaper r01
Sql Azure Database whitepaper r01Sql Azure Database whitepaper r01
Sql Azure Database whitepaper r01
 
REPORT ON (1)
REPORT ON (1)REPORT ON (1)
REPORT ON (1)
 
It ready dw_day3_rev00
It ready dw_day3_rev00It ready dw_day3_rev00
It ready dw_day3_rev00
 
A introduction to oracle data integrator
A introduction to oracle data integratorA introduction to oracle data integrator
A introduction to oracle data integrator
 
plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100
 
Kaashiv SQL Server Interview Questions Presentation
Kaashiv SQL Server Interview Questions PresentationKaashiv SQL Server Interview Questions Presentation
Kaashiv SQL Server Interview Questions Presentation
 
Ebook6
Ebook6Ebook6
Ebook6
 
Sql interview question part 6
Sql interview question part 6Sql interview question part 6
Sql interview question part 6
 

SQL Server Integration Services with Oracle Database 10g

  • 1. SQL Server Integration Services with Oracle Database 10g SQL Server Technical Article Published: May 2008 Applies To: SQL Server Summary: Microsoft SQL Server (both 32-bit and 64-bit) offers best-of breed data integration facilities in the form of SQL Server Integration Services (SSIS). This paper describes how you can use SSIS to easily interface with other data sources running on the Oracle Database 10g database platform.
  • 2. SQL Server Integration Services with Oracle Database 10g 2 Copyright The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.  2008 Microsoft Corporation. All rights reserved. Microsoft and SQL Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
  • 3. Contents Introduction ......................................................................................................1 About SSIS ........................................................................................................1 Getting Started .................................................................................................2 Installing the Oracle Database 10g Client Software.............................................. 2 Testing the Oracle Database 10g Client Installation ............................................. 5 Building an ETL Solution in SSIS .......................................................................8 Planning the Solution ....................................................................................... 8 Creating the Solution ....................................................................................... 8 Enhancing the Solution .................................................................................. 14 Data Conversion ...................................................................................... 14 Derived Columns ...................................................................................... 17 Conclusion.......................................................................................................20
  • 4. SQL Server Integration Services and Oracle Database 10g 1 Introduction This paper focuses on the advantages of using SQL Server Integration Services to extract data from heterogeneous sources and import data into Microsoft® SQL Server™ for Business Intelligence (BI) analysis and reporting. Oracle Database 10g data is used as the primary data source. The audience for this paper includes IT professionals, database administrators, and system architects. The reader should have a general understanding of databases and Microsoft SQL Server and Oracle Database 10g. Readers should use the referenced databases on their preferred hardware platform. SQL Server is part of the Microsoft integrated BI platform, and covers data warehousing, analytics and reporting, score carding, planning, and budgeting. SQL Server is in the Leader’s Quadrant in both Gartner’s Magic Quadrant for BI Platforms and Magic Quadrant for Data Warehousing. Microsoft includes excellent BI products in both SQL Server Standard Edition and Enterprise Edition. These include SQL Server Integration Services (SSIS), SQL Server Reporting Services (SSRS), and SQL Server Analysis Services (SSAS). In contrast, Oracle offers similar functionality as an option at an additional cost with Oracle Enterprise Edition. For a detailed comparison of the cost of SQL Server BI tools compared with similar Oracle products, see the Understanding Database Pricing white paper. The primary focus of this paper is SQL Server Integration Services. SSIS provides support for both heterogeneous and homogeneous environments and serves as an integration tool for customers who use multiple data sources and platforms running in Microsoft and non-Microsoft software environments. We demonstrate how easy it is to set up SSIS with a heterogeneous data source and import data into SQL Server. We also document the steps to import data from an Oracle Database 10g data source into SQL Server. Many IT managers strive to adopt practical, price-efficient solutions to support their business processes. We re-emphasize the value that SQL Server offers for BI solutions. SQL Server includes excellent BI tools at no additional charge, a significant value that IT managers cannot ignore. About SSIS SQL Server Integration Services (SSIS) is a premier data transformation framework built on top of Microsoft SQL Server. It performs a wide variety of tasks from simple import/export operations to complex high-performance extract, transform, load (ETL) tasks between heterogeneous data sources. This powerful functionality comes from a tightly knit suite of tools made up of control-flow and data-flow logic designers, utilities to build and execute self-contained packages, and the services necessary to support the execution and automation of high-performance data transformation. SSIS originated in previous versions of SQL Server as Data Transformation Services (DTS)—a simple data transformation framework built within SQL Server. What DTS lacked in broad functionality, it made up for with a simple “get-it-done” mentality. This enabled developers and database administrators to extract, transfer, and load data between Microsoft SQL Server and other database platforms or data sources in a straightforward manner. However, as the needs of the database community changed, so did the need for a more complete ETL solution within SQL Server. Microsoft Corporation © 2008
  • 5. SQL Server Integration Services and Oracle Database 10g 2 SSIS is the end result of years of customer feedback and refinement by Microsoft. The basic premise of data transformation within SQL Server has not changed, but the tools and processes to complete ETL tasks have changed radically. SSIS contains vastly more functionality than its predecessor. This document provides a practical example of extracting and transforming data from an external data source to a SQL Server database by using SSIS. The source of the data in our example originates from an Oracle Database 10g database. This particular example may become more commonplace as the total cost of ownership between Oracle and SQL Server increases. IT decision-makers recognize cost as an important purchase criterion when deciding which database platforms to run their business and SQL Server comes with the programs necessary for building BI solutions. Getting Started Before we start our example ETL process, we must first define the communication path between the source Oracle database and the destination SQL Server database. This requires installing the necessary Oracle support software. Oracle requires network transport facilities known as Oracle Net to communicate with database services. Oracle Net is analogous to the SQL Server Tabular Data Stream (TDS) transport facility. The most recent 32-bit and 64-bit versions of the Oracle Database 10g client software are available for download at the following locations: http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_client.zip Attention should be paid to the particular version of the client software being installed— 32-bit or 64-bit. Install the correct version for your operating system (32-bit or 64-bit). Installing the Oracle Database 10g Client Software After you download and extract the client software archive file, navigate to the main directory where the installation files are stored, and then use the following procedure. To install the Oracle Database 10g client software 1. Double-click the file setup.exe. This launches the Oracle Universal Installer. A welcome screen similar to the following figure appears. Select Custom, and then click Next. Microsoft Corporation © 2008
  • 6. SQL Server Integration Services and Oracle Database 10g 3 Figure 1 2. The next screen prompts for a home name and directory path for the installation. If necessary, edit the information. Click Next to continue. Figure 2 3. Select the components to install. In addition to the default selections, make sure to also select Oracle Windows Interfaces and Oracle Net. Click Next. Figure 3 4. The next screen shows the status of product-specific prerequisite checks as they are performed. Make sure that all checks succeed and correct any issues if necessary. Click Next. Microsoft Corporation © 2008
  • 7. SQL Server Integration Services and Oracle Database 10g 4 Figure 4 5. At the prompt for the port number of the Oracle Services for Microsoft Transaction Server (Figure 5), click Next to accept the default port. Figure 5 6. A summary screen shows all tasks the Oracle Universal Installer will perform. Verify that the information is correct. Click Install to begin the software deployment. 7. After the software deployment is complete, the Oracle Net Configuration Assistant starts and guides you through the process of configuring the Oracle Net software. Configure the settings for your environment. The following options were used for this example: Option Value Perform Typical Configuration No (unselected) Selected Naming Method Local Naming Service Name ORCL Microsoft Corporation © 2008
  • 8. SQL Server Integration Services and Oracle Database 10g 5 Option Value Network Protocol TCP Host Name ADAMS Port Number 1521 Perform Test Yes Net Service Name ORCL 8. When the Oracle Net Configuration Assistant completes, the Universal Installer indicates that the installation is complete. Click Exit to close the installer. Testing the Oracle Database 10g Client Installation After the client software is installed, it is wise to test and verify the installation by executing a basic data import from Oracle into SQL Server. To test the Oracle Database 10g client installation 1. From SQL Server Management Studio, right-click a database that you can use to perform a test import, select Tasks, and then select Import Data. 2. At the prompt to specify a data source, change the Data Source option to Microsoft OLE DB Provider for Oracle. Click the Properties button. 3. In the Data Link Properties dialog box, enter field information. For the server name, use the Net Service Name you entered in step 7 in the previous procedure when you installed the client software. Make sure the credentials you provide can access sample data in Oracle. Optionally, perform a connection test by clicking Test Connection. When finished, click OK. Figure 6 4. The next screen prompts for a destination for the data import. It should default to the database you specified in step 1. Verify that the information is correct, and then click Next. Microsoft Corporation © 2008
  • 9. SQL Server Integration Services and Oracle Database 10g 6 Figure 7 5. The next screen asks you to specify whether you want to copy data from a table or a view versus running a query. Choose to copy data from one or more tables or views, and then click Next. 6. Select the tables or views to import from the source. Make sure that the destination table you specify does not already exist. Click Next. Figure 8 Microsoft Corporation © 2008
  • 10. SQL Server Integration Services and Oracle Database 10g 7 7. At the prompt to execute the import or save it as a package, choose to import. Click Next. 8. At the summary screen, verify that the information is correct, and then click Finish to start the import process. 9. A dialog box showing the execution steps and status appears as in the following example. Figure 9 During this process you may receive warnings similar to the following. This is to be expected and these warnings can be ignored. Click OK to close the warning alert box if any appears Figure 10 10. When the installation is finished, click Close to exit the wizard. If all went well and there were no fatal errors, the installation was successful. This indicates that all software components are working properly and SQL Server can reliably extract data from Oracle. The next step is to build a reusable SSIS data import solution. Microsoft Corporation © 2008
  • 11. SQL Server Integration Services and Oracle Database 10g 8 Building an ETL Solution in SSIS Planning the Solution The first step when developing a comprehensive solution is always planning. The questions that need to be answered in the planning process are:  Where is the data coming from?  Where is the data going to?  What happens to the data between the source and destination? These steps may seem elementary, but they are important objectives to define before embarking on any development effort. Clear definition of the objectives eliminates any ambiguity that might disrupt an otherwise successful ETL solution. In our example, we extract sales order information from an Oracle transactional system and import it into a SQL Server data warehouse we are building. The example starts with a simple data copy from Oracle to SQL Server. We then add some simple data transformations along the way as our data warehouse evolves. Creating the Solution All SSIS solutions start in the SQL Server Business Intelligence Development Studio (BIDS). This integrated development environment serves as the main hub for developing any BI solution, whether it be an Integration Services package, a Reporting Services report, or an Analysis Services cube. To begin, start BIDS and create a project. Open BIDS from the Start Menu. For the project type, select Integration Services Project. Name the project, and either keep the default location or specify a different one. Click OK. Figure 11 shows an example new project dialog box. Figure 11 Microsoft Corporation © 2008
  • 12. SQL Server Integration Services and Oracle Database 10g 9 After the new project is created, you see the user interface that is used to create and define the project workflow. The workflow is broken up into three main categories: control flow, data flow, and event handling. The control flow defines what types of tasks will execute as part of the package. Tasks can include simple data flow and bulk insert tasks, maintenance plans including backups and database integrity checks, as well as more complicated cube processing tasks, e-mail tasks, or file system tasks. The wide variety of available control flow tasks demonstrates the flexibility of SSIS. Data flow tasks include basic data imports and exports as well as data merges (useful for joining data from heterogeneous data sources), data conversions and transformations, and complex fuzzy data searches and grouping. Event handlers enable you to create control flow logic that is separate from the main package, which only executes if the package encounters a defined error event. To create a package, you first define the control flow logic. To define the control flow logic 1. For our example, we drag a Data Flow Task from the toolbox on the left onto the Control Flow canvas as shown in Figure 12. Figure 12 2. To add the necessary logic to this control flow task to support the data import, double-click the Data Flow Task icon to display the Data Flow canvas where you can add data flow tasks. 3. To define the source and destination data sources, right-click in the Connection Managers pane at the bottom of the window and select New OLE DB Connection. 4. In the dialog box that appears (see Figure 13), select New. For the Provider, select Microsoft OLE DB Provider for Oracle. Enter the server name and user credentials. Click OK to finish defining the source connection and close the Connection Manager dialog box. Microsoft Corporation © 2008
  • 13. SQL Server Integration Services and Oracle Database 10g 10 Figure 13 The newly created connection is listed in the Connection Manager pane. 5. To open a new connection manager for the destination connection, right-click in the Connection Manager pane and select New OLE DB Connection. Click New. 6. In the Connection Manager dialog box (Figure 14), leave the provider as Native OLE DB/SQL Native Client. Provide the server name, user credentials, and target database name. Click OK to finish defining the destination connection and close the Connection Manager dialog box. Figure 14 You should see both of your connections listed in the Connection Manager pane. Now, define the movement of data from source to destination. Microsoft Corporation © 2008
  • 14.
  • 15. SQL Server Integration Services and Oracle Database 10g 12 Figure 16 You may notice the warning message at the bottom of the dialog box. This indicates that we have not yet provided a logical mapping of source columns to destination columns. SSIS will attempt a “best effort” mapping automatically, but this might require user intervention if the mapping is complicated. In our example, there is a direct mapping from source columns to destination columns. In other words, the source and destination columns are identical. 6. To review the mappings, click the Mappings option on the left. See Figure 17. Microsoft Corporation © 2008
  • 16. SQL Server Integration Services and Oracle Database 10g 13 Figure 17 7. Verify that the mappings are correct, and then click OK. The Data Flow canvas should now look like Figure 18. Figure 18 Note that in a real-world scenario you might want to map only a subset of the source columns to destination columns. The basic data import is now configured and ready to test. To test the data import 1. To save the project, from the File menu, select Save All. 2. From the Build menu, select Build [Project Name]. 3. From the Debug menu, selecting Start Debugging. Microsoft Corporation © 2008
  • 17. SQL Server Integration Services and Oracle Database 10g 14 This quickly executes the package from within the BIDS development environment and reports back the status of the package execution as shown in Figure 19. Figure 19 The green color indicates successful execution. The number of rows transferred is identified below the green arrow connector. In the example, all tasks completed successfully and the correct number of rows were transferred. Enhancing the Solution Our example so far describes only a very simple direct mapping of source columns to destination columns with no real transformation being performed. Now we take the example to the next step by adding some basic data conversion. Data Conversion In our sample data, there are four fields that represent dollar amounts (SubTotal, TaxAmt, Freight, and TotalDue) but are currently configured to import as generic numeric data types rather than currency data types. We need to instruct SSIS to import this data as currency. First, alter the destination table to reflect this data type change, and then insert a Data Conversion task into the data flow. To add a Data Conversion task to the data flow 1. Right-click the green arrow connector between the OLE DB Source and the SQL Server Destination, and select Delete. 2. From the toolbox, drag a Data Conversion data flow transformation task to the Data Flow canvas. Connect the green arrow from the OLE DB Source to the Data Conversion icon. Connect the green arrow from the Data Conversion icon to the SQL Server Destination icon. Microsoft Corporation © 2008
  • 18. SQL Server Integration Services and Oracle Database 10g 15 3. Double-click the Data Conversion Task icon to bring up the task properties. This dialog box is where you define the data type conversions. 4. In the Available Input Columns list, select each column that requires a data conversion. These are added to the pane at the bottom of the window. This creates logical copies of the input columns to the data flow. Optionally, you can rename the logical copies by editing the Output Alias property column. 5. Change the data types from numeric [DT_NUMERIC] to currency [DT_CURRENCY], and then click OK. See the following figure for an example. Figure 20 6. Double-click the SQL Server Destination task icon to bring up the task properties. Click the Mappings selection on the left side of the window. 7. Delete the existing mappings between the original input columns and the destination columns by highlighting each mapping line and pressing Delete. Microsoft Corporation © 2008
  • 19. SQL Server Integration Services and Oracle Database 10g 16 Create new mappings between the new logical columns and the destination columns by dragging the new column aliases to the destination columns until your screen resembles Figure 21. Figure 21 8. Click OK when done. The resulting Data Flow canvas should resemble Figure 22. Figure 22 Microsoft Corporation © 2008
  • 20. SQL Server Integration Services and Oracle Database 10g 17 9. Save, build, and start debugging the package as you have done previously. After the package completes, the output window should look like the following figure. Figure 23 You have now successfully added a simple data conversion to your import package. The net result is that the output columns are of the correct currency data type rather than a generic numeric data type. This basic example can be expanded upon to perform fairly complex data conversions in other scenarios. Derived Columns Now we want to do something a little more complex. We have a field named OnlineOrderFlag in our source data that specifies whether an order was taken online. This is a numeric field that acts as a bit field, storing 0 for False or 1 for True. We want to create a more human-readable form of the field where the character values “True” or “False” are stored in addition to the bit field. We can do this with a Derived Column data flow task. SSIS will derive a value for a logical column based on an expression we provide. To specify the data from which to derive values, the expression can reference other columns in the input stream or hard code values, and have any level of logic, from simple to complex. The first step is to add a new column to our destination table to store the newly derived values. To add a derived column 1. Right-click the green arrow connector between the Data Conversion icon and the SQL Server Destination icon, and select Delete. 2. Drag a Derived Column data flow task from the toolbox onto the Data Flow canvas. Connect the green arrow from the Data Conversion task to the Derived Microsoft Corporation © 2008
  • 21. SQL Server Integration Services and Oracle Database 10g 18 Column task, and then connect the green arrow from the Derived Column task to the SQL Server Destination task. 3. Double-click the Derived Column task icon to show the task properties. 4. Add a new derived column, expression, and data type with properties similar to those in the following figure. Figure 24 The expression is a simple substitution. It checks the OnlineOrderFlag field to see if the value is "1" and substitutes "True" if that is the case. Otherwise, the value of "False" is displayed in the field. These new values will be stored in a derived field named OnlineFlagChar, a variable-length character field. Click OK to save the derived column settings. 5. Double-click the SQL Server Destination task to open the task properties. Click the Mappings label on the left side of the window. 6. Scroll through the column mappings until you find the new derived column in the input column list. Drag it to the new column in your destination column list as shown in the following figure. Microsoft Corporation © 2008
  • 22. SQL Server Integration Services and Oracle Database 10g 19 Figure 25 7. Click OK when done. Your Data Flow canvas should look like the following figure. Figure 26 8. Save, build, and start debugging the package as you have done previously. After the package completes, the output window should look like Figure 27. Microsoft Corporation © 2008
  • 23. SQL Server Integration Services and Oracle Database 10g 20 Figure 27 You have now added a derived column to your import process. Derived columns provide powerful functionality to the data flow capabilities of SSIS. They are not limited to the simple substitutions that are demonstrated in our example. Conclusion These simple examples serve to demonstrate only a small part of the functionality in SQL Server Integration Services. The best reference available for the complete capabilities of SSIS continues to be SQL Server Books Online. It is clear to those who have prior experience with Data Transformation Services (DTS) that SSIS provides much greater flexibility and functionality. People who are more familiar with Oracle may find it unusual that Microsoft would include such a powerful piece of software free of charge with SQL Server. However, Microsoft is committed to providing the best-of-breed business intelligence solutions for their premiere database platforms. For more information:  SQL Server Web site  SQL Server TechCenter  SQL Server Developer Center Microsoft Corporation © 2008
  • 24. SQL Server Integration Services and Oracle Database 10g 21 Did this paper help you? Please give us your feedback. Tell us on a scale of 1 (poor) to 5 (excellent), how would you rate this paper and why have you given it this rating? For example:  Are you rating it high due to having good examples, excellent screenshots, clear writing, or another reason?  Are you rating it low due to poor examples, fuzzy screenshots, unclear writing? This feedback will help us improve the quality of the white papers we release. Send feedback. Microsoft Corporation © 2008