Tümleştirme Hizmetleri için Özel Nesneler Geliştirme
Denetim akışı ve SQL Server Integration Services bilgisine eklenen veri akışı nesneleri, gereksinimlerinizi tam anlamıyla karşılamaz, bilgisi de dahil olmak üzere kendi başınıza bir çok özel nesne türü geliştirebilirsiniz.
Özel görevler.
Özel bağlantı yöneticileri. Şu anda desteklenmeyen dış veri kaynaklarına bağlanın.
Özel günlük sağlayıcıları. Şu anda desteklenmeyen biçimlerdeki günlük paket olayları.
Özel numaralandırıcılar. Şu an da desteklenmeyen nesne kümeleri veya değer biçimleri üzerinden destek yineleme.
Özel veri akışı bileşenleri. Kaynaklar, dönüşümleri veya hedefler gibi yapılandırılabilir.
Integration Services Nesne modeli, sizin özel uygulamanız için tutarlı ve güvenilir bir çerçeve sağlayan temel sınıflar içeren bu özel geliştirmeyi kolaylaştırır.
Özel işlevi birden çok paket üzerinde tekrar kullanmak zorunda değilseniz, Komut görevi ve Komut bileşeni, önemli ölçüde daha az altyapı kodu yazmak için, size yönetilen bir programlama dilinin tam gücünü verir.Daha fazla bilgi için bkz. Komut dosyası çözümleri ve özel nesneler karşılaştırma.
Her nesne türünün çalışma örnekleri için Codeplex üzerindeki Integration Services örneklerine bakın.
Tümleştirme Hizmetleri için Özel bir Nesne Geliştirme Adımları
Integration Services Bilgisi içinde kullanmak üzere özel bir nesne geliştirdiğinizde, SSID tasarımcısı tarafından ve Integration Services çalışma zamanı öğesi tarafından, tasarım zamanında ve çalışma zamanında konumlandırılmış olan bir Sınıf Kitaplığı (DLL) geliştirirsiniz.Uygulamanız gereken en önemli yöntemler, kendi kodunuzdan çağırabileceğiniz yöntemler değil, çalışma zamanının bileşeninizi başlatmak, doğrulamak ve işlevlerini açmak için, doğru zamanda çağırdığı yöntemlerdir.
Özel bir nesne geliştirirken izleyeceğiniz adımlar şunlardır:
Yeni bir Sınıf Kitaplığı türü projesini, tercih ettiğiniz yönetilen programlama dilinde tasarlama.
Uygun temel sınıftan aşağıdaki tabloda gösterildiği gibi devralın.
Yeni sınıfınıza uygun özniteliği aşağıdaki tabloda gösterildiği gibi uygulayın.
Temel sınıf yöntemlerini gerektiği gibi geçersiz kılma ve nesnenizin işlevselliğinin özelleştirmek için kod yazma.
İsteğe bağlı olarak, bileşeniniz için özel bir kullanıcı arabirimi oluşturun.Dağıtım kolaylığı için, kullanıcı arabirimini aynı çözüm içinde farklı bir proje gibi geliştirmek ve ayrı bir derleme olarak oluşturmak isteyebilirsiniz.
Yeni özel nesnenizi Oluşturma, dağıtma ve özel nesneler hata ayıklama bölümünde anlatıldığı gibi oluşturun, dağıtın ve hata ayıklayın.
Temel Sınıflar, Öznitelikler ve Önemli Yöntemler
Bu tablo, geliştirebileceğiniz her özel nesne türü için Integration Services nesne modeli içindeki en önemli öğelere kolay bir başvuru sağlar.
Özel nesne |
Temel sınıf |
Öznitelik |
Önemli yöntemler |
---|---|---|---|
Görev |
[ T:Microsoft.SqlServer.Dts.Runtime.Task ] |
[ T:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute ] |
[ M:Microsoft.SqlServer.Dts.Runtime.Task.Execute(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging,System.Object) ] |
Bağlantı yöneticisi |
[ T:Microsoft.SqlServer.Dts.Runtime.ConnectionManagerBase ] |
[ T:Microsoft.SqlServer.Dts.Runtime.DtsConnectionAttribute ] |
|
Günlük sağlayıcısı |
[ T:Microsoft.SqlServer.Dts.Runtime.LogProviderBase ] |
[ T:Microsoft.SqlServer.Dts.Runtime.DtsLogProviderAttribute ] |
|
Numaralayıcı |
[ T:Microsoft.SqlServer.Dts.Runtime.ForEachEnumerator ] |
[ T:Microsoft.SqlServer.Dts.Runtime.DtsForEachEnumeratorAttribute ] |
[ M:Microsoft.SqlServer.Dts.Runtime.ForEachEnumerator.GetEnumerator(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging) ] |
Veri akışı bileşeni |
[ T:Microsoft.SqlServer.Dts.Pipeline.PipelineComponent ] |
[ T:Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute ] |
Özel Kullanıcı Arabirimi Sağlama
Kullanıcıların, özel nesnenizin özelliklerini yapılandırmasına izin vermek için özel kullanıcı arabirimi de geliştirmeniz gerekebilir.Özel bir kullanıcı arabiriminin mutlaka gerekli olmadığı durumlarda, varsayılan düzenleyiciden daha kullanışlı bir arabirim oluşturabilirsiniz.
Bir özel kullanıcı arabirimi ya da projesinde, genellikle iki sınıf olur — Integration Services özel nesne türü kullanıcı arabirimleri için arabirimi ve kullanıcıdan bilgi toplamak için görüntüleyen Windows biçimi bilgisini uygulayan bir sınıf. Uyguladığınız arabirimler yalnızca birkaç yönteme sahiptir ve özel bir kullanıcı arabirimi geliştirmek zor değildir.
Not
Çok Integration Services günlüğü sağlayıcıları, IDtsLogProviderUI uygulayan özel bir kullanıcı arabirimine sahiptir ve Yapılandırma metin kutusunu filtrelenmiş bir kullanılabilir bağlantı yöneticileri açılır listesi ile değiştirir.Ancak, özel günlük sağlayıcıları için özel kullanıcı arabirimleri Integration Services sürümünde uygulanmamıştır.DtsLogProviderAttribute öğesinin UITypeName özelliği için değer belirlemenin etkisi yoktur.
Aşağıdaki tablo, her özel nesne türü için özel kullanıcı arabirimi geliştirdiğinizde uygulamanız gereken arabirimlere kolay bir başvuru sağlar.Ayrıca, siz nesneniz için özel bir kullanıcı arabirimi geliştirmemeyi seçtiyseniz ya da UITypeName nesnenin özniteliğindeki özelliği kullanarak nesnenizi onun kullanıcı arabirimiyle bağlamakta başarısız olduysanız kullanıcının göreceklerini açıklar.Güçlü Gelişmiş Düzenleyici bir veri akışı bileşeni için tatmin edici olmasına rağmen Properties penceresi görevler ve bağlantı yöneticileri için daha az kullanıcı dostu bir çözümdür ve özel ForEach numaralayıcı özel bir form olmadan yapılandırılamaz.
Özel nesne |
Kullanıcı arabirimi için temel sınıf |
Özel kullanıcı arabirimi sağlanmışsa varsayılan davranışı düzenleme |
---|---|---|
Görev |
[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsTaskUI ] |
Yalnızca Özellikler penceresi |
Bağlantı yöneticisi |
[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsConnectionManagerUI ] |
Yalnızca Özellikler penceresi |
Günlük sağlayıcısı |
[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsLogProviderUI ] (İçine uygulanmamıştır Integration Services) |
YapılandırmaSütun'u içindeki metin kutusu |
Numaralayıcı |
[ T:Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorUI ] |
Yalnızca Özellikler penceresi.Düzenleyicinin Numaralandırıcı Yapılandırma alanı boştur. |
Veri akışı bileşeni |
[ T:Microsoft.SqlServer.Dts.Pipeline.Design.IDtsComponentUI ] |
Gelişmiş Düzenleyici |
|
Ayrıca bkz.