180 likes | 359 Views
Egendefinerte komponenter i SSIS. Innhold. Help | About … Kort introduksjon til SSIS Kort om valgmulighetene ActiveX Script Task Custom tasks, adapters and transforms Best Practices Veien videre. Help | About …. Navn: Ole Kristian Bangås Arbeidsgiver: DM Huset / Bisnode Bagkgrunn:
E N D
Innhold • Help | About … • Kort introduksjon til SSIS • Kort om valgmulighetene • ActiveX • Script Task • Custom tasks, adapters and transforms • Best Practices • Veien videre
Help | About … • Navn: Ole Kristian Bangås • Arbeidsgiver: DM Huset / Bisnode • Bagkgrunn: • Forsvarets overkommando • NetConnect Systems • Masterminds • Evergreen Group • Interesseområder: • Databaseløsninger • Høytilgjengelighet • Sikkerhet www.mssql.no ole.kristian@mssql.no
Kort introduksjon til SSIS • SQL Server Integration Services er arvtageren til DTS • SSIS er følgelig en ETL applikasjon • Extract • Transform • Load • DTS har blitt splittet i • Control Flow • Data Flow • Dataflyt er essensielt • En rekke komponenter som kan hjelpe oss • Derived Column • Multicast • (Fuzzy) Lookup • Men vi trenger tidvis noe mer!
Kort om valgmulighetene • ActiveX Task • Script Task/Component • Custom • Tasks • Adapters • Transforms
ActiveX • Er kun ment for bakoverkompatibilitet • I ”Microsoft SQL Server 2005 Integration Services” (på ca 700 sider) har Kirk Haselden skrevet hele 8½ linje om ActiveX Script Task …
Script Task/Component • Genial for prototyping • Kun VB.NET • Lett å komme i gang med • Store deler av koden kan senere brukes i en egendefinert komponent • Ikke egnet for gjenbruk
Script Task • Control Flow Task • Kan bruke connection strings • Merk: Kan IKKE modifisere pakken den kjører i
Script Component • Data Flow • Kan endre/legge til kolonner • Kan slå sammen kolonner/rader • Kan splitte data til flere rader • Kan brukes til å lese inn data fra kilde • Kan brukes til å skrive data til mål
Custom Components • Task • Source Adapter • Transform • Destination Adapter
Custom Components • .NET 2.0 • Kan kodes i en rekke språk, som • C++ • C# • Delphi • Cobol • Perl • VB • Kan lage ”plattformuavhengige” DLLer • 64-bit Itanium2 • ”64-bit” Xeon/Opteron • 32-bit Xeon/P4 • Kan lage egne grensesnitt
Custom Components • Fordeler fremfor Script • Gjenbruk av kode • Skjule logikk • Kommersiell utvikling for salg • Kompleks logikk • Bedre ytelse • Gjenbruk av komponent
Custom Component – Task • Kryptering/Dekryptering av filer • Utpakking av filer • Validering av filer
Custom Component – Source • Innholdsliste fra Arkivfiler (zip, rar, 7-zip etc) • Metadata fra • Mediefiler (mp3, avi, mpeg, vob etc) • Dokumenter (docx, pdf, rtf etc) • Bildefiler (jpeg, tiff, bmp, psd) • Lese inn XML • Datageneratorer • Lage tilfeldige data for logikktesting/feilhåndtering • Generere semitilfeldige data for stresstesting av løsning • Lage surrogatnøkler til data • SOAP
Custom Component – Destination • XML • Proprietære filformater • Nettverksprotokoller • SNMP • SOAP • Automatisk splitting i flere filer • En fil pr ordre • Maks filstørrelse • En fil pr kunde • En fil pr postnummer
Custom Component – Transform • Regulære uttrykk \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* • Regex klassen i .NET • Avansert logikk • Validering av data i henhold til forretningslogikk • Kryptering/Hashing • Egne aggregeringer • Informasjon om kolonner i et datasett, deriblant • Min/Max/Median/Stdev på lengde • Andel NULLS • Min/Max verdi • Kun heltall/flyttall/dato?
Best Practices • Skill gjerne GUI og Komponent i forskjellige Assemblys • Mindre minnebruk • Mer effektivt • Kan om så er kun ha komponent uten GUI på prodservere • Bruk connection Managers for alt av tilkoblinger/filer • Bruk logging effektivt, og med fornuftige navn på events • Skill på feil og advarsler • Ved feil, avslutt med å sette DTSER_FAILED • Bruk InteractiveMode for å bestemme om f eks brukergrensesnitt skal vises • Bruk egendefinerte komponenter for å lette gjenbruk
Veien videre • Donald Farmer: The Rational Guide To Extending SSIS 2005 with ScriptRational PressISBN: 978-1-932577-29-9$24.99 • Kirk Haselden:Microsoft SQL Server 2005 Integration ServicesSAMSISBN: 978-0-672-32781-0$59.99 • SSIS Hands On Training – Creating Custom Components:http://www.microsoft.com/downloads/details.aspx?familyid=1c2a7dd2-3ec3-4641-9407-a5a337bea7d3 • http://www.sqlis.com/