Welcome to Sign in | Help

SSIS Quick Start

  •  09-18-2006, 9:05 PM

    SSIS Quick Start

    Puteti crea pachetele SSIS programatic (folosind namespace-ul Microsoft.SqlServer.Dts.Runtime), din VS 2005, pornind de la template-ul Business Intelligence Projects ---> Integration Services Projects sau accesand All Programs ---> Microsoft SQL Server 2005 ---> SQL Server Business Intelligence Development Studio.
    In exemplul de fata veti crea un pachet SSIS folosind VS.
    1. Template-ul "Integration Services Projects" este instalat odata cu SQL Server 2005 - cand ajungeti la Components to install ---> Advanced selectati "Business Intelligence Development Studio" din "Client Components". Cand veti crea un nou proiect in VS 2005, veti observa in sectiunea "Project types" grupul de tempalates "Business Intelligence Projects".
    New SSISP ackage - img1
    2. Spre deosebire de DTS din SQL 2000, succesiunea task-urilor de procesare din pachet ("control flow") este separata de transformarea propriu-zisa a datelor de la sursa la destinatie ("data flow"). Conexiunile cu diverse surse de date (de exemplu tabele dintr-o baza de date sau fisiere text) se definesc in tab-ul "Connection Managers" din partea de jos a ecranului. "Connection manager" este un obiect care reprezinta o conexiune - una dintre proprietatile sale este "connection string". Odata definit, un "connection manager" poate fi asociat cu un task din "control flow" sau cu transformarile din "data flow".
    Tab-ul "event handlers" contine task-uri corespunzatoare evenimentelor produse de pachet (de exemplu "OnError" se produce daca in cursul executiei pachetului apar erori)
    "Package explorer" listeaza continutul pachetului - task-uri, "connection managers", variabile, etc.
    New SSIS Package - img2
    3. Pentru a adauga un prim "connection manager" dati un "right click" pe aria "Connection Managers" si alegeti "ADO.NET Connection". * Aveti nevoie de acest tip de conexiune pentru script task-ul din pasul 4. Gasiti o explicatie amanuntita in Books Online ---> Using Connections in the Script Task. Apasati butonul "New" si specificati serverul si baza de date.
     Specificati in connection string "MultipleActiveResultSets=True" daca vreti sa profitati de "MARS" - vezi imaginea
    4. Alegeti din Toolbox un "script task"
    * Gasiti o lista completa de task-uri in Books Online --->Integration Services Tasks.
    Din meniul "right click" selectati "Edit" ---> Script ---> Design Script.
    Editorul Script Task
    *Din pacate, nu puteti programa decat in VB...
    * Scriptul din acest exemplu selecteaza o coloana de tip "string" dintr-un tabel; sirul este prelucrat iar rezultatul final este inserat in tabelul "Category"
    De exemplu sirul initial este de forma "/Imported Wine/France/Burgundy/Meursault". Scriptul va "sparge" sirul dupa "/" si va crea in tabelul "Category" inregistrarile:
    CategoryID    Name                                ParentCategoryID
    1                    Imported Wine                    0
    2                    France                                1
    3                    Burgundy                            2
    4                    Meursault                            3
    Transact SQL nu este "expert" in job-uri precum prelucrarea de siruri sau "regular expressions"; folositi .NET in aceste cazuri.
    5. Pentru cazul in care apar erori in executie, puteti trimite un mesaj de e-mail folosind un "Send mail task". In cazul de fata veti folosi "Send mail task" intr-un "event handler" corespunzator evenimentului "on error" la nivel de pachet.
    *Lista completa de evenimente: Books Online ---> Integration Services Event Handlers
    Mai intai veti crea un "SMTP connection manager", care conecteaza pachetul la un server SMTP (selectati meniul SSIS ---> New connection).
    6. Puteti configura "Send mail task" folosind variabile. Variabilele pot fi incluse intr-un fisier de configurare care va fi actualizat la o eventuala portare a pachetului pe o alta masina. Variabilele definite de catre utilizator se adauga folosind tab-ul "Variables" din partea dreapta a ecranului. Domeniul ("scope") variabilei poate fi pachetul SSIS, un task, un container sau un event handler (ca in cazul de fata).
    Task-ul se configureaza din editor (accesat cu un "right click"). Incepeti cu sectiunea "Expressions" - click pe butonul "..." si din drop-down-ul "Property" alegeti "FromLine" si expandati "Expression Builder". Nodul "Variables" listeaza variabilele sistem si "user defined" . Asociati urmatoarele proprietati cu variabile:
        FromLine ---> User::sender_mail
        ToLine   ---> User::recipient_mail
        Subject  ---> System::TaskName
    * Lista completa de variabile sistem: Books Online ---> System Variables
    7. Rulati pachetul ca pe orice proiect de VS - apasati "start debugging"
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems