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ı
Entegrasyon Hizmetleri tasarımcısının Control Flow penceresinde bulunan Script görevi ile Veri Akışı penceresinde bulunan Script bileşeni, Entegrasyon Hizmetleri paketinde çok farklı amaçlara sahiptir. Görev genel amaçlı bir kontrol akışı aracıdır, oysa bileşen veri akışında kaynak, dönüşüm veya hedef olarak hizmet verir. Ancak, farklı amaçlara rağmen, Script görevi ve Script bileşeni, kullandıkları kodlama araçları ile geliştiriciye sundukları paket içindeki nesneler açısından bazı benzerliklere sahiptir. Benzerliklerini ve farklılıklarını anlamak, hem görevi hem de bileşeni daha etkili kullanmanıza yardımcı olabilir.
Script Görevi ile Script Bileşeni arasındaki benzerlikler
Script görevi ve Script bileşeni aşağıdaki ortak özellikleri paylaşır.
| Özellik | Description |
|---|---|
| İki tasarım zaman modu | Hem görevde hem de bileşende, önce düzenleyicide özellikleri belirlersiniz, sonra kod yazmak için geliştirme ortamına geçiyorsunuz. |
| Microsoft Visual Studio Uygulamalar için Araçlar (VSTA) | Hem görev hem de bileşen aynı VSTA IDE'yi kullanır ve Microsoft Visual Basic veya Microsoft Visual C# ile yazılmış kodu destekler. |
| Ön derlenmiş scriptler | SQL Server 2008 Entegrasyon Hizmetleri (SSIS) ile başlayan tüm betikler önceden derlenir. Önceki sürümlerde, betiklerin önceden derlenip derlemediği belirtilebiliyordu. Script, daha hızlı çalıştırma imkanı sunar, ancak paket boyutunu artırır. |
| Debugging | Hem görev hem de bileşen, tasarım ortamında hata ayıklama yaparken kesme noktalarını ve kodda adım adımı geçişi destekler. Daha fazla bilgi için, Script Görevini Kodlama ve Hata Hata Bulma ile Script Bileşenini Kodlama ve Hata Hata Bulma bölümlerine bakınız. |
Script Görevi ile Script Bileşeni arasındaki Farklar
Script görevi ile Script bileşeni arasında aşağıdaki önemli farklar vardır.
| Özellik | Betik Görevi | Betik Bileşeni |
|---|---|---|
| Kontrol akışı / Veri akışı | Script görevi, tasarımcının Control Flow sekmesinde yapılandırılır ve paketin veri akışının dışında çalışır. | Script bileşeni, tasarımcının Veri Akışı sayfasında yapılandırılır ve Veri Akışı görevinde bir kaynak, dönüşüm veya hedefi temsil eder. |
| Purpose | Bir Script görevi neredeyse her genel amaçlı görevi yerine getirebilir. | Script bileşeniyle bir kaynak, dönüşüm veya hedef oluşturmak isteyip istemediğinizi belirtmelisiniz. |
| Execution | Bir Script görevi, paket iş akışının bir noktasında özel kod çalıştırır. Döngü konteynerine veya olay işleyicisine koymazsanız, sadece bir kez çalışıyor. | Bir Script bileşeni de bir kez çalışır, ancak genellikle veri akışındaki her veri satırı için ana işlem rutinini bir kez çalıştırır. |
| Editor | Script Görev Editörü üç sayfadan oluşur: Genel, Script ve Expressions. Yalnızca ReadOnlyVariables ve ReadWriteVariables ile ScriptLanguage özellikleri doğrudan yazabileceğiniz kodu etkiler. | Script Transformation Editörü en fazla dört sayfaya sahiptir: Giriş Sütunları, Girişler ve Çıktılar, Script ve Bağlantı Yöneticileri. Bu sayfaların her birinde yapılandırdığınız meta veri ve özellikler, kodlamada otomatik olarak oluşturulan temel sınıfların üyelerini belirler. |
| Paketle etkileşim | Bir Script görevi için yazılmış kodda, paketin diğer özelliklerine erişmek için Dts özelliğini kullanırsınız. Dts özelliği ScriptMain sınıfının bir üyesidir. | Script bileşen kodunda, değişkenler ve bağlantı yöneticileri gibi belirli paket özelliklerine erişmek için yazılı accessor özellikleri kullanılır. PreExecute yöntemi yalnızca yalnızca okunabilir değişkenlere erişebilir. PostExecute yöntemi hem sadece okunma hem de okuma/yazma değişkenlerine erişebilir. Bu yöntemler hakkında daha fazla bilgi için Script Bileşenini Kodlama ve Hata Bulma bölümüne bakınız. |
| Değişkenlerin kullanımı | Script göreviVariables, görev ve ReadWriteVariables özellikler aracılığıyla ReadOnlyVariables erişilebilir değişkenlere erişmek için Dts nesnesinin özelliğini kullanır. Örneğin: [Visual Basic] Dim myVar as String myVar = Dts.Variables("MyStringVariable").Value.ToString[C#] string myVar; myVar = Dts.Variables["MyStringVariable"].Value.ToString(); |
Script bileşeni, bileşenler ve ReadWriteVariables özelliklerden ReadOnlyVariables oluşturulan otomatik oluşturulan sınıfın yazılı accessor özelliklerini kullanır. Örneğin: [Visual Basic] Dim myVar as String myVar = Me.Variables.MyStringVariable[C#] string myVar; myVar = this.Variables.MyStringVariable; |
| Bağlantıların kullanımı | Script görevi Connections , pakette tanımlanan bağlantı yöneticilerine erişmek için Dts nesnesinin özelliğini kullanır. Örneğin: [Visual Basic] Dim myFlatFileConnection As String myFlatFileConnection = _ DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _ String)[C#] string myFlatFileConnection; myFlatFileConnection = (Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String); |
Script bileşeni, kullanıcının editörün Bağlantı Yöneticileri sayfasında girdiği bağlantı yöneticileri listesinden oluşturulan otomatik oluşturulan temel sınıfın yazılı girişçi özelliklerini kullanır. Örneğin: [Visual Basic] Dim connMgr As IDTSConnectionManager100 connMgr = Me.Connections.MyADONETConnection[C#] IDTSConnectionManager100 connMgr; connMgr = this.Connections.MyADONETConnection; |
| Olayları tetikleme | Script görevi Events , olayları artırmak için Dts nesnesinin özelliğini kullanır. Örneğin: [Visual Basic] Dts.Events.FireError(0, "Event Snippet", _ ex.Message & ControlChars.CrLf & ex.StackTrace, _ "", 0)[C#] Dts.Events.FireError(0, "Event Snippet", ex.Message + "\r" + ex.StackTrace, "", 0); |
Script bileşeni, özellik tarafından döndürülen IDTSComponentMetaData100ComponentMetaData arayüz yöntemlerini kullanarak hata, uyarı ve bilgilendirici mesajlar oluşturur. Örneğin: [Visual Basic] Dim myMetadata as IDTSComponentMetaData100 myMetaData = Me.ComponentMetaData myMetaData.FireError(...) |
| Logging | Script görevi Log , Dts nesnesinin yöntemini kullanarak bilgileri etkinleştirilmiş log sağlayıcılarına kaydeder. Örneğin: [Visual Basic] Dim bt(0) As Byte Dts.Log("Test Log Event", _ 0, _ bt)[C#] byte[] bt = new byte[0]; Dts.Log("Test Log Event", 0, bt); |
Script bileşeni Log , otomatik oluşturulan temel sınıfın yöntemini kullanarak etkin log sağlayıcılarına bilgileri kaydeder. Örneğin: [Visual Basic] Dim bt(0) As ByteMe.Log("Test Log Event", _0, _bt)[C#] byte[] bt = new byte[0]; this.Log("Test Log Event", 0, bt); |
| Sonuçları döndürüyor | Script göreviTaskResult, sonuçlarını çalışma zamanına bildirmek için hem Dts nesnesinin özelliğini hem de isteğe bağlı ExecutionValue özelliğini kullanır. | Script bileşeni, Veri Akışı görevinin bir parçası olarak çalışır ve bu özelliklerden hiçbirini kullanarak sonuçları raporlamaz. |