|
Rekan-rekan sekalian, pembahasan teknis artikel kali ini akan
mengetengahkan cara membangun custom connector di dalam SSIS (SQL
Server Integration Services). Sebagai pendahuluan singkat, SSIS
ini merupakan versi baru DTS SQL Server 2005 (Yukon) dibandingkan
dengan DTS SQL Server 2000. versi baru ini dibuat dengan fitur ETL
yang lebih skalabel, fleksibel, berjalan dalam managed environment
dan execution.
Source connector didalam SSIS berperan dalam menyediakan
informasi ke data flow. Source connector yang akan didevelop ini
hanya akan membaca file dengan format tertentu yang tidak bisa
dilakukan oleh adapter/connector yang disediakan secara default oleh
Microsoft. Membangun custom component di dalam SSIS dibuat
sedemikian rupa sehingga memudahkan development, mengurangi error
yang ditimbulkan sebagai akibat banyaknya penulisan script yang
semestinya dapat dihandle lewat UI.
Pertama-tama, buatlah sebuah file yang berisi informasi IP
address, status, nama komputer yang dipisahkan oleh spasi. Kemudian
buatlah komponen .NET tipe class library yang inherit dari base
class Microsoft.SqlServer.Pipeline.PipelineComponent dengan
reference ke DLL: Microsoft.SqlServer.DTS.Pipeline.Wrap,
Microsoft.SqlServer.DTS.Pipeline.RuntimeWrap,
Microsoft.SqlServer.ManagedDTS dan Microsoft.SqlServer.PipelineHost.
Kemudian tambahkan ke dalam class library tersebut statement imports
(di VB.NET) atau using (di C#) yaitu
Microsoft.SqlServer.Dts.Pipeline,
Microsoft.SqlServer.Dts.Pipeline.Wrapper,
Microsoft.SqlServer.Dts.Runtime,
Microsoft.SqlServer.Dts.Runtime.Wrapper dan beri class atribut
DtsPipelineComponent(DisplayName=”nama yang akan didisplay di dalam
assembly SSIS Component”,
ComponentType=ComponentType.SourceAdapter).
Karena component source adapter ini akan diinstal kedalam GAC
maka set AssemblyVersion dari 1.0.* menjadi 1.0.0.0 (ganti tanda
asteris menjadi version number yang lengkap) dan juga embed strong
name file yang digenerate lewat sn –k “nama strong name
key.snk” karena GAC membutuhkan versioning yang fixed dan strong
name assembly.
Step berikutnya adalah mendefine input, output, dan koneksi yang
dikaitkan dengan aktivitas ETL. Override method
ProvideComponentProperties untuk mendefine custom activity yang
didefine sebelumnya.
Langkah berikutnya adalah lakukan koneksi dengan melakukan
override pada method ReleaseConnection dan AcquireConnection.
Kemudian untuk melakukan custom transformation maka lakukan override
method PrimeOutput.
Compile class library tersebut, dan lakukan deploy class library
tersebut ke GAC lewat gacutil /i dengan menguninstall library
tersebut apabila sudah terinstal di GAC dengan gacutil /u.
Kemudian tutup project class library tersebut, dan buat sebuah
solusi baru bertipe Data Transformation Project di dalam Business
Intelligence Development Studio. Lalu tambahkan component Data Flow
Task ke dalam tab Control Flow, lalu double click instance Data Flow
Task yang tercreate didisainer, maka tab Data Flow akan terfocus
berdasarkan Data Flow Task yang anda double click sebelumnya.
Tambahkan reference class library yang Anda buat sebelumnya lewat
menu Tools-Choose Toolbox Items, di dalam form Choose Toolbox Item,
pilih tab STS Data Flow Items, lalu beri tanda check pada checkbox
di depan nama class library yang telah anda install di GAC, klik OK
maka Anda akan melihat custom component Anda akan muncul di toolbox,
drag ke surface dari tab “Data Flow”, lalu tambahkan juga instance
dari component DataReaderDestination untuk menerima output dari
class library Anda. Untuk melihat hasilnya, Anda dapat menambahkan
Data Viewer dengan cara klik kanan pada line yang menghubungkan
antara komponen class library dengan instance dari component
DataReader Destination, pilih menu DataViewer, dan klik “ADD” maka
instance DataViewer akan tercreate didekat line tersebut. Setelah
itu lakukan eksekusi package dengan menekan F5, maka custom
component akan membaca file tersebut sebagai input, melakukan
transformasi dan mempassing hasil output ke component
DataReader Destination yang row-nya bisa dibaca lewat DataViewer.
Demikianlah pembahasan mengenai cara membuat custom connector di
dalam SSIS Yukon. Semoga berguna bagi Anda semuanya. Untuk membaca tulisan menarik lainnya
silakan menuju ke situs Sony AK Knowledge Center dengan alamat di
www.sony-ak.com.
Kasim Wirama adalah pemegang sertifikasi MCSD.NET dan MCDBA.
Tulisan ini bersumber dari blog beliau yang ada pada alamat
http://blogs.netindonesia.net/kasim.wirama/
Terimakasih.
| Send
your comments or suggestions |
|
|
|