Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı
SQL Server Integration Services ile birlikte gelen kontrol akışı ve veri akışı nesneleri gereksinimlerinizi tam olarak karşılamadığında, kendi başınıza birçok özel nesne türünü geliştirebilirsiniz:
Özel görevler.
Özel bağlantı yöneticileri. Şu anda desteklenmeyen harici veri kaynaklarına bağlanın.
Özel günlük sağlayıcıları. Paket olaylarını şu anda desteklenmeyen formatlarda loglayın.
Özel sayma cihazları. Şu anda desteklenmeyen bir dizi nesne veya değer formatı üzerinde yinelemeyi destekler.
Özel veri akışı bileşenleri. Kaynaklar, dönüşümler veya hedefler olarak yapılandırılabilir.
Entegrasyon Hizmetleri nesne modeli, bu özel geliştirmeyi temel sınıflarla kolaylaştırır; bu sınıflar sizin özel uygulamanız için tutarlı ve güvenilir bir çerçeve sağlar.
Birden fazla paket arasında özel işlevselliği yeniden kullanmak zorunda değilseniz, Script görevi ve Script bileşeni, yazmanız gereken altyapı kodu çok daha az olan yönetilen bir programlama dilinin tüm gücünü sunar. Daha fazla bilgi için Scripting Solutions ile Custom Objects'in Karşılaştırılması bölümüne bakınız.
Entegrasyon Hizmetleri İçin Özel Nesne Geliştirme Adımları
Entegrasyon Hizmetleri'nde kullanılmak üzere özel bir nesne geliştirdiğinizde, tasarım zamanı ve çalışma zamanı SSIS Tasarımcısı ve Entegrasyon Hizmetleri çalışma zamanı tarafından yüklenecek bir Sınıf Kütüphanesi (DLL) geliştirirsiniz. Uygulamanız gereken en önemli yöntemler, kendi kodunuzdan çağrılan yöntemler değil, çalışma zamanının uygun zamanlarda bileşeninizi başlatmak ve doğrulamak ve işlevselliğini çağırmak için çağırdığı yöntemlerdir.
Özel bir nesne geliştirirken izlediğiniz adımlar şunlardır:
Tercih ettiğiniz yönetilen programlama dilinde Sınıf Kütüphanesi tipinde yeni bir proje oluşturun.
Aşağıdaki tabloda gösterildiği gibi uygun temel sınıftan miras alın.
Aşağıdaki tabloda gösterildiği gibi, uygun özniteliği yeni sınıfınıza uygulayın.
Temel sınıfın metodlarını gerektiğinde geçersiz kılın ve nesnenizin özel işlevselliği için kod yazın.
İsteğe bağlı olarak, bileşeniniz için özel bir kullanıcı arayüzü oluşturun. Dağıtım kolaylığı için, kullanıcı arayüzünü aynı çözüm içinde ayrı bir proje olarak geliştirmek ve ayrı bir montaj olarak oluşturmak isteyebilirsiniz.
İsteğe bağlı olarak, SSIS Araç Kutusu'nda özel nesne için örneklere ve Yardım içeriğine bir bağlantı gösterin.
Yeni özel nesnenizi Özel Nesneler Oluşturma, Dağıtma ve Hata Hata Bulma bölümünde tanımlandığı şekilde oluşturun, dağıtın ve hata ayıklayın.
Temel Sınıflar, Nitelikler ve Önemli Yöntemler
Bu tablo, geliştirebileceğiniz her özel nesne türü için Entegrasyon Hizmetleri nesne modelindeki en önemli öğelere kolay bir referans sağlar.
| Özel nesne | Temel sınıf | Attribute | Önemli yöntemler |
|---|---|---|---|
| Görev | Task | DtsTaskAttribute | Execute |
| Bağlantı yöneticisi | ConnectionManagerBase | DtsConnectionAttribute | AcquireConnection, ReleaseConnection |
| Günlük sağlayıcısı | LogProviderBase | DtsLogProviderAttribute | OpenLog, Log, CloseLog |
| Numaralayıcı | ForEachEnumerator | DtsForEachEnumeratorAttribute | GetEnumerator |
| Veri akışı bileşeni | PipelineComponent | DtsPipelineComponentAttribute | ProvideComponentProperties, PrimeOutput, ProcessInput |
Örnekler ve Yardım İçeriğine Bağlantılar Sağlamak
SSIS Araç Kutusu'nda yönetilen kodla yazılmış özel bir nesne için örneklere ve Yardım içeriğine bağlantı göstermek için aşağıdaki özellikleri kullanın.
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.SamplesTag*
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.HelpCollection*
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.HelpKeyword*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.SamplesTag*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.HelpCollection*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.HelpKeyword*
Yerel kodla yazılmış özel bir nesne için örneklere ve Yardım içeriğine bağlantı göstermek için, SamplesTag, HelpKeyword ve HelpCollection için Registry Script (.rgs) dosyasına girişler ekleyin. Aşağıda bir örnek verilmiştir.
val HelpKeyword = s 'sql11.dts.designer.executepackagetask.F1'
val SamplesTag = s 'ExecutePackageTask'
Özel Kullanıcı Arayüzü Sağlamak
Özel nesnenizin kullanıcılarının özelliklerini yapılandırmasına izin vermek için, ayrıca özel bir kullanıcı arayüzü geliştirmeniz gerekebilir. Özel bir kullanıcı arayüzü kesin olarak zorunlu olmadığı durumlarda, varsayılan editörün yerine daha kullanıcı dostu bir arayüz sağlayacak bir arayüz oluşturmayı seçebilirsiniz.
Özel bir kullanıcı arayüzü projesinde veya montajda genellikle iki sınıf olur; -a belirli özel nesne türü için kullanıcı arayüzleri için Entegrasyon Hizmetleri arayüzünü uygulayan sınıf ve kullanıcıdan bilgi toplamak için gösterdiği Windows form. Uyguladığınız arayüzlerin sadece birkaç yöntemi var ve özel bir kullanıcı arayüzü geliştirmek zor değil.
Note
Birçok Entegrasyon Hizmetleri günlük sağlayıcısı, Yapılandırma metin kutusunu filtrelenmiş bir bağlantı yöneticileri listesiyle değiştiren özel bir kullanıcı arayüzüne IDtsLogProviderUI sahiptir. Ancak, bu Entegrasyon Hizmetleri sürümünde özel log sağlayıcıları için özel kullanıcı arayüzleri uygulanmamıştır. Özelliğin UITypeNameDtsLogProviderAttribute değerini belirtmek hiçbir etkisi olmaz.
Aşağıdaki tablo, her tür özel nesne için özel bir kullanıcı arayüzü geliştirirken uygulamanız gereken arayüzlere kolay bir referans sağlar. Ayrıca, nesneniz için özel bir kullanıcı arayüzü geliştirmemeyi seçerseniz veya nesnenin özniteliğindeki UITypeName özelliğini kullanarak nesnenizi kullanıcı arayüzüne bağlayamazsanız kullanıcının ne gördüğünü açıklar. Güçlü Gelişmiş Düzenleyici veri akışı bileşeni için tatmin edici olsa da, Özellikler penceresi görevler ve bağlantı yöneticileri için daha az kullanıcı dostu bir çözümdür ve özel bir ForEach elistör özel form olmadan hiç yapılandırılamaz.
| Özel nesne | Kullanıcı arayüzü için temel sınıf | Özel kullanıcı arayüzü sağlanmıyorsa varsayılan düzenleme davranışı |
|---|---|---|
| Görev | IDtsTaskUI | Özellikler penceresi only |
| Bağlantı yöneticisi | IDtsConnectionManagerUI | Özellikler penceresi only |
| Günlük sağlayıcısı | IDtsLogProviderUI (Entegrasyon Hizmetleri'nde uygulanmadı) |
Yapılandırma sütunundaki metin kutusu |
| Numaralayıcı | ForEachEnumeratorUI | Özellikler penceresi only. Editörün Enumerator yapılandırma alanı boş. |
| Veri akışı bileşeni | IDtsComponentUI | Gelişmiş Düzenleyici |