Share via


Bir kaynak Script bileşeni ile oluşturma

Kaynak bileşeni veri akışı kullanan bir Integration Servicesakım dönüşümleri ve hedefleri için geçmek için bir veri kaynağından veri yüklemek için paket. Normalde varolan bir bağlantı Yöneticisi üzerinden veri kaynağına bağlanın.

Script bileşeni genel bakış için bkz: Veri akışı Script bileşeni ile genişletme.

Script bileşeni ve altyapı kodu sizin için oluşturduğu önemli ölçüde bir özel veri akışı bileşen geliştirme sürecini kolaylaştırmak. Ancak, Script bileşeni nasıl çalıştığını anlamak için size özel veri akışı bileşen geliştirme konusunda ilgili adımları okumak yararlı. Bkz: Bir özel veri akışı bileşen geliştirme, özellikle konu Özel kaynak bileşen geliştirme.

Bir kaynak bileşeni ile Başlarken

Veri akışı bölmesine bir Script bileşeni eklediğinizde SSIStasarımcı, Script bileşeni türünü seç iletişim kutusu açılır ve bir kaynak, hedef veya dönüştürme komut dosyası seçmenizi ister. Bu iletişim kutusunda kaynak.

Meta veri Tasarım modunda bir kaynak bileşen yapılandırma

Kaynağı bileşeni oluşturmak için seçtikten sonra bileşeni kullanarak yapılandırdığınız Komut dosyası dönüşümü Düzenleyicisi. Daha fazla bilgi için, bkz. Script bileşeni Script bileşen düzenleyiciyi içinde yapılandırma.

Veri akışı kaynak bileşeni hiçbir girdileri vardır ve bir veya birden çok çıkış destekler. Bileşen kullanarak meta veri Tasarım modunda, tamamlamanız gereken adımlardan biri için çıkışlarına yapılandırma Komut dosyası dönüşümü Düzenleyicisi, önce özel kodunuzu yazın.

Komut dosyası dili ayarlayarak da belirtebilirsiniz ScriptLanguage özelliği Script sayfası Komut dosyası dönüşümü Düzenleyicisi.

[!NOT]

Komut dosyası bileşenleri ve komut dosyası görevleri varsayılan komut dosyası dilini ayarlamak için Scripting dili Tarih seçeneği Genel sayfası seçenekleri iletişim kutusu. Daha fazla bilgi için, bkz. Genel sayfa.

Bağlantı Yöneticisi ekleme

Normalde bir kaynak bileşeni içinden veri akışı veri yükler veri kaynağına bağlamak için varolan bir bağlantı Yöneticisi kullanır. Tarih Bağlantı Yöneticisi sayfası Komut dosyası dönüşümü Düzenleyicisi, tıklayın Ekle uygun bağlantı Yöneticisi eklemek için.

Ancak, Bağlantı Yöneticisi, Kapsüller ve belirli bir türde veri kaynağına bağlanmak için gereken bilgileri depolar yalnızca bir uygun birimdir. Yüklemek için kod veya veri bağlantısı kaynak da verilerinizi kaydetmek ve büyük olasılıkla açık ve kapatmak için kendi özel yazmanız gerekir.

Bağlantı yöneticileri Script bileşeni ile kullanma hakkında genel bilgi için bkz: Veri kaynakları Script bileşenindeki bağlanma.

Hakkında daha fazla bilgi için Bağlantı Yöneticisi sayfası Komut dosyası dönüşümü Düzenleyicisi, bakın Komut dosyası dönüşümü Düzenleyicisi (Bağlantı Yöneticisi sayfa).

Çıkış ve çıktı sütunları yapılandırma

Kaynak bileşen hiçbir girdileri vardır ve bir veya birden çok çıkış destekler. Tarih giriş ve çıkış sayfası Komut dosyası dönüşümü Düzenleyicisi, bir tek çıkışı varsayılan olarak oluşturuldu, ancak çıktı sütunları oluşturuldu. Bu sayfa Düzenleyicisi, ihtiyaç veya aşağıdaki öğeleri yapılandırmak istediğiniz.

  • Ekleme ve çıktı sütunları her çıkış için el ile yapılandırmanız gerekir. Her çıktı çıktı sütunları klasörü seçin ve sonra Sütun Ekle ve Sütun kaldırma çıktı sütunları her çıkış kaynağı bileşeni yönetmek için düğmeler. Sonra burada sizin için otomatik olarak oluşturulan kodda oluşturulan yazılan erişeni özelliklerini kullanarak atadığınız adları, komut dosyanıza çıktı sütunları için başvuracaktır.

  • Beklenmeyen değerler içeren satırlar için benzetimli hatası çıktı gibi bir veya daha fazla ek çıkışlarına oluşturmak isteyebilirsiniz. Kullanım Eklemek çıktı ve Çıkış kaldırma kaynak bileşen çıkışlarını yönetmek için düğmeler. Aynı sıfır olmayan bir değer için Ayrıca belirtilmedikçe tüm giriş satırları için kullanılabilir tüm çıkış yönlendirilir ExclusionGroupözelliği bu çıkışları her satır, aynı paylaşmak çıkışları sadece birine doğrudan amaçladığınız ExclusionGroupdeğer. Belirli tamsayı değeri seçili tanımlamak için ExclusionGroupönemli değildir.

    [!NOT]

    Ayrıca bir sıfır kullanabilirsiniz ExclusionGroupözellik değeri bir tek çıkışlı tüm satırları çıkış istemediğinizde. Bu durumda, ancak, size açıkça çağırmalısınız DirectRowTo<outputbuffer>yöntemi çıkışı göndermek istediğiniz her satır için.

  • Çıkış için bir kolay ad atamak isteyebilirsiniz. Daha sonra size çıkışlarına adlarıyla komut dosyanıza, sizin için otomatik olarak oluşturulan kodda oluşturulan yazılan erişeni özelliklerini kullanarak başvuruda bulunacak.

  • Normalde çok aynı çıktılar ExclusionGroupaynı sahip çıktı sütunları. Ancak, benzetimli hatası çıktı oluşturuyorsanız, hata bilgilerini depolamak için daha fazla sütun eklemek isteyebilirsiniz. Hata satırları işler nasıl veri akışı alt yapısı hakkında bilgi için bkz: Bir veri akışı bileşeni hata çıkışları kullanarak. Script bileşeni, ancak, ek sütunlar ile ilgili hata bilgileri doldurmak üzere kendi kodunuzu yazmalısınız. Daha fazla bilgi için, bkz. Hata çıktı Script bileşeni simulasyonu.

Hakkında daha fazla bilgi için giriş ve çıkış sayfası Komut dosyası dönüşümü Düzenleyicisi, bakın Komut dosyası dönüşümü Düzenleyicisi (giriş ve çıkışları sayfa).

Değişkenleri ekleme

Değerleri betiğinizde kullanmak istediğiniz herhangi bir varolan değişkenleri varsa, bunları ekleyebilirsiniz ReadOnlyVariablesve ReadWriteVariablesözellik alanları Script sayfası Komut dosyası dönüşümü Düzenleyicisi.

Özellik alanları birden çok değişken girdiğinizde, değişken adları noktalı virgülle ayırın. Üç nokta tıklatarak birden çok değişken de girebilirsiniz (...) yanındaki düğme ReadOnlyVariablesve ReadWriteVariablesözellik alanları ve seçme değişkenleri değişkenleri seçin iletişim kutusu.

Değişkenleri Script bileşeni ile kullanma hakkında genel bilgi için bkz: Değişkenleri kullanarak Script bileşeni.

Hakkında daha fazla bilgi için Script sayfası Komut dosyası dönüşümü Düzenleyicisi, bakın Komut dosyası dönüşümü Düzenleyicisi (kod sayfası).

Komut dosyası kodu tasarım modunda bir kaynak bileşeni

Meta veriler, bileşen için yapılandırdıktan sonra açık Microsoft  Visual StudioTools for Applications (vsta) özel JavaScript kodu için IDE vsta açmak için Komut dosyası Düzenle üzerinde Script sayfası Komut dosyası dönüşümü Düzenleyicisi. Komut dosyanızı kullanarak yazmak Microsoft  Visual Basic 2008ya Microsoft   Visual C# 2008, seçilen komut dosyası dili bağlı ScriptLanguage özelliği.

Script bileşeni kullanılarak oluşturulmuş bileşenleri her türlü uygulandığı önemli bilgiler için bkz: Kodlama ve kod bileşen hata ayıklama.

Otomatik olarak oluşturulan kodu anlama

Oluşturma ve kaynak bileşeni, düzenlenebilir yapılandırdıktan sonra vsta IDE açtığınızda ScriptMainsınıf Kod Düzenleyicisi'nde görüntülenen. Özel kodunuzu yazdığınız ScriptMainsınıf

ScriptMainSınıfı içeren bir stub for CreateNewOutputRowsyöntemi. CreateNewOutputRowsEn önemli kaynağı bileşeni yöntemidir.

Eğer sen açık Project Explorer vsta penceresinde, Script bileşeni de salt üretti gördüğünüz BufferWrapperve ComponentWrapperproje öğeleri. ScriptMainDevraldığı sınıfı UserComponentiçinde sınıf ComponentWrapperProje öğesi.

Çalıştırma sırasında veri akışı altyapısı çağırır PrimeOutputyöntemi UserComponenthangi geçersiz kılar sınıf PrimeOutputyöntemi ScriptComponentüst sınıf PrimeOutputYöntemi, aşağıdaki yöntemleri sırayla çağırır:

  1. CreateNewOutputRowsİçinde geçersiz kılma yöntemi, ScriptMainçıkış veri kaynağından satırlar eklemek için ilk olan tampon boş.

  2. FinishOutputsYöntemi, varsayılan olarak boştur. Bu yöntemde geçersiz ScriptMainÇıkış tamamlamak için gereken herhangi bir işlem gerçekleştirmek için.

  3. Özel MarkOutputsAsFinishedyöntemini çağırır, SetEndOfRowsetyöntemi ScriptBufferüst sınıf veri akışı altyapısı için çıkış tamamlandığını belirtmek için. Aramak gerekmez SetEndOfRowsetaçıkça kendi kodundaki.

Özel kod yazma

Özel kaynak bileşeni oluşturmayı tamamlamak için aşağıdaki yöntemleri kullanılabilir içinde komut dosyası yazmak isteyebilirsiniz ScriptMainsınıf

  1. Geçersiz AcquireConnectionsdış veri kaynağına bağlanmak için yöntem. Connection nesnesi ya da gerekli bağlantı bilgilerini bağlantı Yöneticisi'nden ayıklayın.

  2. Geçersiz PreExecuteeğer sen-ebilmek yük tüm kaynak verilerini aynı anda veri yüklemek için yöntem. Örneğin, yürütebilirsiniz bir SqlCommandkarşı bir ADO.NETbağlantı için bir SQL Serververitabanı ve aynı anda tüm kaynak verileri yüklemek bir SqlDataReader. Kaynak veriler bir satır (örneğin, bir metin dosyası okunurken) bir defada yüklemeniz gerekir, satır döngü gibi verileri yükleyebilirsiniz CreateNewOutputRows.

  3. Geçersiz kılınmış kullanmak CreateNewOutputRowsboş çıktı arabelleği yeni satırlar eklemek ve yeni çıktı satırları her sütun değerlerini doldurmak için yöntemi. Kullanım AddRowyöntemi boş bir yeni satır ekleyebilir ve sonra her sütun değerlerini ayarlamak için her çıkış arabelleği. Genellikle dış kaynaktan yüklenen sütunlarından değerleri kopyalayın.

  4. Geçersiz PostExecuteyöntem veri işlemini bitirmek için. Örneğin, kapatabilirsiniz SqlDataReaderveri yüklemek için kullandığınız.

  5. Geçersiz ReleaseConnectionsgerekirse dış veri kaynağından kesilecek yöntemi.

Örnekler

Aşağıdaki örnekler, içinde gereken özel kod göstermektedir ScriptMainkaynak bileşeni oluşturmak için sınıf.

[!NOT]

Bu örnekler kullanmak Person.Address içinde tablo AdventureWorks örnek veritabanı ve onun birinci ve dördüncü sütun geçmek int AddressID ve nvarchar(30) şehir sütunlar, veri akışı aracılığıyla. Aynı veri kaynağı, dönüştürme ve hedef örnekleri bu bölümde kullanılır. Her örneği için ek bir önkoşul ve varsayımlar belgelenmiştir.

ADO.net kaynak örneği

Bu örnek, varolan bir kullanan bir kaynak bileşeni gösterir ADO.NETBağlantı Yöneticisi veri yüklemek için bir SQL Serververi akışı tablosuna.

Bu örnek kodu çalıştırmak istiyorsanız, paketi ve bileşen aşağıdaki gibi yapılandırmalısınız:

  1. Yaratmak bir ADO.NETBağlantı Yöneticisi kullanan SqlClientSağlayıcı bağlanmak için AdventureWorks veritabanı.

  2. Yeni Script bileşeni için veri akışı Tasarımcı yüzey ekleyin ve kaynak olarak yapılandırın.

  3. Açık Komut dosyası dönüşümü Düzenleyicisi. Tarih giriş ve çıkış sayfasında, varsayılan çıkış MyAddressOutput gibi daha tanımlayıcı bir adla yeniden adlandırın ve eklemek ve iki çıktı sütunları yapılandırma AddressID ve şehri.

  4. Tarih Bağlantı Yöneticisi sayfa, eklemek veya oluşturmak ADO.NETBağlantı Yöneticisi ve MyADONETConnection gibi bir ad verin.

  5. Tarih Script sayfa'yı Komut dosyası Düzenle ve aşağıdaki komut dosyası girin. Komut dosyası geliştirme ortamı kapatın ve Komut dosyası dönüşümü Düzenleyicisi.

  6. Oluşturmak ve yapılandırmak bir hedef bileşeni gibi bir SQL Serverhedef, ya da içinde gösterilen örnek hedef bileşeni bir hedef Script bileşeni ile oluşturma, ki beklediği AddressID ve şehir sütunlar. Hedef kaynak bileşeni bağlanın. (Kaynak doğrudan hedef olmadan dönüştürmeler bağlanabilirsiniz.) Aşağıdakini çalıştırarak hedef tablo oluşturabilirsiniz Transact-SQLkomutunu AdventureWorksveritabanı:

    CREATE TABLE [Person].[Address2](
        [AddressID] [int] NOT NULL,
        [City] [nvarchar](30) NOT NULL
    )
    
    CREATE TABLE [Person].[Address2](
        [AddressID] [int] NOT NULL,
        [City] [nvarchar](30) NOT NULL
    )
    
  7. Örnek çalıştırın.

    Imports System.Data.SqlClient
    ...
    Public Class ScriptMain
        Inherits UserComponent
    
        Dim connMgr As IDTSConnectionManager100
        Dim sqlConn As SqlConnection
        Dim sqlReader As SqlDataReader
    
        Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
    
            connMgr = Me.Connections.MyADONETConnection
            sqlConn = CType(connMgr.AcquireConnection(Nothing), SqlConnection)
    
        End Sub
    
        Public Overrides Sub PreExecute()
    
            Dim cmd As New SqlCommand("SELECT AddressID, City, StateProvinceID FROM Person.Address", sqlConn)
            sqlReader = cmd.ExecuteReader
    
        End Sub
    
        Public Overrides Sub CreateNewOutputRows()
    
            Do While sqlReader.Read
                With MyAddressOutputBuffer
                    .AddRow()
                    .AddressID = sqlReader.GetInt32(0)
                    .City = sqlReader.GetString(1)
                End With
            Loop
    
        End Sub
    
        Public Overrides Sub PostExecute()
    
            sqlReader.Close()
    
        End Sub
    
        Public Overrides Sub ReleaseConnections()
    
            connMgr.ReleaseConnection(sqlConn)
    
        End Sub
    
    End Class
    Imports System.Data.SqlClient
    ...
    Public Class ScriptMain
        Inherits UserComponent
    
        Dim connMgr As IDTSConnectionManager100
        Dim sqlConn As SqlConnection
        Dim sqlReader As SqlDataReader
    
        Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
    
            connMgr = Me.Connections.MyADONETConnection
            sqlConn = CType(connMgr.AcquireConnection(Nothing), SqlConnection)
    
        End Sub
    
        Public Overrides Sub PreExecute()
    
            Dim cmd As New SqlCommand("SELECT AddressID, City, StateProvinceID FROM Person.Address", sqlConn)
            sqlReader = cmd.ExecuteReader
    
        End Sub
    
        Public Overrides Sub CreateNewOutputRows()
    
            Do While sqlReader.Read
                With MyAddressOutputBuffer
                    .AddRow()
                    .AddressID = sqlReader.GetInt32(0)
                    .City = sqlReader.GetString(1)
                End With
            Loop
    
        End Sub
    
        Public Overrides Sub PostExecute()
    
            sqlReader.Close()
    
        End Sub
    
        Public Overrides Sub ReleaseConnections()
    
            connMgr.ReleaseConnection(sqlConn)
    
        End Sub
    
    End Class
    
    using System.Data.SqlClient;
    public class ScriptMain:
        UserComponent
    
    {
        IDTSConnectionManager100 connMgr;
        SqlConnection sqlConn;
        SqlDataReader sqlReader;
    
        public override void AcquireConnections(object Transaction)
        {
            connMgr = this.Connections.MyADONETConnectionManager;
            sqlConn = (SqlConnection)connMgr.AcquireConnection(null);
    
        }
    
        public override void PreExecute()
        {
    
            SqlCommand cmd = new SqlCommand("SELECT AddressID, City, StateProvinceID FROM Person.Address", sqlConn);
            sqlReader = cmd.ExecuteReader();
    
        }
    
        public override void CreateNewOutputRows()
        {
    
            while (sqlReader.Read())
            {
                {
                    MyAddressOutputBuffer.AddRow();
                    MyAddressOutputBuffer.AddressID = sqlReader.GetInt32(0);
                    MyAddressOutputBuffer.City = sqlReader.GetString(1);
                }
            }
    
        }
    
        public override void PostExecute()
        {
    
            sqlReader.Close();
    
        }
    
        public override void ReleaseConnections()
        {
    
            connMgr.ReleaseConnection(sqlConn);
    
        }
    
    }
    
    using System.Data.SqlClient;
    public class ScriptMain:
        UserComponent
    
    {
        IDTSConnectionManager100 connMgr;
        SqlConnection sqlConn;
        SqlDataReader sqlReader;
    
        public override void AcquireConnections(object Transaction)
        {
            connMgr = this.Connections.MyADONETConnectionManager;
            sqlConn = (SqlConnection)connMgr.AcquireConnection(null);
    
        }
    
        public override void PreExecute()
        {
    
            SqlCommand cmd = new SqlCommand("SELECT AddressID, City, StateProvinceID FROM Person.Address", sqlConn);
            sqlReader = cmd.ExecuteReader();
    
        }
    
        public override void CreateNewOutputRows()
        {
    
            while (sqlReader.Read())
            {
                {
                    MyAddressOutputBuffer.AddRow();
                    MyAddressOutputBuffer.AddressID = sqlReader.GetInt32(0);
                    MyAddressOutputBuffer.City = sqlReader.GetString(1);
                }
            }
    
        }
    
        public override void PostExecute()
        {
    
            sqlReader.Close();
    
        }
    
        public override void ReleaseConnections()
        {
    
            connMgr.ReleaseConnection(sqlConn);
    
        }
    
    }
    

Düz dosya kaynağı örneği

Bu örnek, varolan bir düz dosya Bağlantı Yöneticisi veri düz bir dosyadan veri akışı yüklemek için kullandığı kaynak bileşeni gösterir. Ondan vererek düz dosya veri kaynağı oluşturulur SQL Server.

Bu örnek kodu çalıştırmak istiyorsanız, paketi ve bileşen aşağıdaki gibi yapılandırmalısınız:

  1. Kullanım SQL Serververmek için alma ve Verme Sihirbazı Person.Address dan masa AdventureWorks virgülle ayrılmış düz dosya örnek veritabanı. Bu örnek, ExportedAddresses.txt dosya adını kullanır.

  2. Dışa aktarılan veri dosyasına bağlanan Yöneticisi düz dosya bağlantısı oluşturun.

  3. Yeni Script bileşeni için veri akışı Tasarımcı yüzey ekleyin ve kaynak olarak yapılandırın.

  4. Açık Komut dosyası dönüşümü Düzenleyicisi. Tarih giriş ve çıkış sayfasında, varsayılan çıkış MyAddressOutput gibi daha tanımlayıcı bir adla yeniden adlandırın. Ekleme ve iki çıktı sütunları yapılandırma AddressID ve şehri.

  5. Tarih Bağlantı Yöneticisi sayfa, eklemek veya düz dosya Bağlantı Yöneticisi MyFlatFileSrcConnectionManager gibi açıklayıcı bir ad kullanarak oluşturun.

  6. Tarih Script sayfa'yı Komut dosyası Düzenle ve aşağıdaki komut dosyası girin. Komut dosyası geliştirme ortamı kapatın ve Komut dosyası dönüşümü Düzenleyicisi.

  7. Oluşturmak ve bir hedef bileşeni yapılandırmak gibi bir SQL Serverhedef, ya da içinde gösterilen örnek hedef bileşeni bir hedef Script bileşeni ile oluşturma. Hedef kaynak bileşeni bağlanın. (Kaynak doğrudan hedef olmadan dönüştürmeler bağlanabilirsiniz.) Aşağıdakini çalıştırarak hedef tablo oluşturabilirsiniz Transact-SQLkomutunu AdventureWorksveritabanı:

    CREATE TABLE [Person].[Address2](
        [AddressID] [int] NOT NULL,
        [City] [nvarchar](30) NOT NULL
    )
    
    CREATE TABLE [Person].[Address2](
        [AddressID] [int] NOT NULL,
        [City] [nvarchar](30) NOT NULL
    )
    
  8. Örnek çalıştırın.

    Imports System.IO
    ...
    Public Class ScriptMain
        Inherits UserComponent
    
        Private textReader As StreamReader
        Private exportedAddressFile As String
    
        Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
    
            Dim connMgr As IDTSConnectionManager100 = _
                Me.Connections.MyFlatFileSrcConnectionManager
            exportedAddressFile = _
                CType(connMgr.AcquireConnection(Nothing), String)
    
        End Sub
    
        Public Overrides Sub PreExecute()
            MyBase.PreExecute()
            textReader = New StreamReader(exportedAddressFile)
        End Sub
    
        Public Overrides Sub CreateNewOutputRows()
    
            Dim nextLine As String
            Dim columns As String()
    
            Dim delimiters As Char()
            delimiters = ",".ToCharArray
    
            nextLine = textReader.ReadLine
            Do While nextLine IsNot Nothing
                columns = nextLine.Split(delimiters)
                With MyAddressOutputBuffer
                    .AddRow()
                    .AddressID = columns(0)
                    .City = columns(3)
                End With
                nextLine = textReader.ReadLine
            Loop
    
        End Sub
    
        Public Overrides Sub PostExecute()
            MyBase.PostExecute()
            textReader.Close()
    
        End Sub
    
    End Class
    Imports System.IO
    ...
    Public Class ScriptMain
        Inherits UserComponent
    
        Private textReader As StreamReader
        Private exportedAddressFile As String
    
        Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
    
            Dim connMgr As IDTSConnectionManager100 = _
                Me.Connections.MyFlatFileSrcConnectionManager
            exportedAddressFile = _
                CType(connMgr.AcquireConnection(Nothing), String)
    
        End Sub
    
        Public Overrides Sub PreExecute()
            MyBase.PreExecute()
            textReader = New StreamReader(exportedAddressFile)
        End Sub
    
        Public Overrides Sub CreateNewOutputRows()
    
            Dim nextLine As String
            Dim columns As String()
    
            Dim delimiters As Char()
            delimiters = ",".ToCharArray
    
            nextLine = textReader.ReadLine
            Do While nextLine IsNot Nothing
                columns = nextLine.Split(delimiters)
                With MyAddressOutputBuffer
                    .AddRow()
                    .AddressID = columns(0)
                    .City = columns(3)
                End With
                nextLine = textReader.ReadLine
            Loop
    
        End Sub
    
        Public Overrides Sub PostExecute()
            MyBase.PostExecute()
            textReader.Close()
    
        End Sub
    
    End Class
    
    using System.IO;
    public class ScriptMain:
        UserComponent
    
    {
        private StreamReader textReader;
        private string exportedAddressFile;
    
        public override void AcquireConnections(object Transaction)
        {
    
            IDTSConnectionManager100 connMgr = this.Connections.MyFlatFileSrcConnectionManager;
            exportedAddressFile = (string)connMgr.AcquireConnection(null);
    
        }
    
        public override void PreExecute()
        {
            base.PreExecute();
            textReader = new StreamReader(exportedAddressFile);
        }
    
        public override void CreateNewOutputRows()
        {
    
            string nextLine;
            string[] columns;
    
            char[] delimiters;
            delimiters = ",".ToCharArray();
    
            nextLine = textReader.ReadLine();
            while (nextLine != null)
            {
                columns = nextLine.Split(delimiters);
                {
                    MyAddressOutputBuffer.AddRow();
                    MyAddressOutputBuffer.AddressID = columns[0];
                    MyAddressOutputBuffer.City = columns[3];
                }
                nextLine = textReader.ReadLine();
            }
    
        }
    
        public override void PostExecute()
        {
    
            base.PostExecute();
            textReader.Close();
    
        }
    
    }
    
    using System.IO;
    public class ScriptMain:
        UserComponent
    
    {
        private StreamReader textReader;
        private string exportedAddressFile;
    
        public override void AcquireConnections(object Transaction)
        {
    
            IDTSConnectionManager100 connMgr = this.Connections.MyFlatFileSrcConnectionManager;
            exportedAddressFile = (string)connMgr.AcquireConnection(null);
    
        }
    
        public override void PreExecute()
        {
            base.PreExecute();
            textReader = new StreamReader(exportedAddressFile);
        }
    
        public override void CreateNewOutputRows()
        {
    
            string nextLine;
            string[] columns;
    
            char[] delimiters;
            delimiters = ",".ToCharArray();
    
            nextLine = textReader.ReadLine();
            while (nextLine != null)
            {
                columns = nextLine.Split(delimiters);
                {
                    MyAddressOutputBuffer.AddRow();
                    MyAddressOutputBuffer.AddressID = columns[0];
                    MyAddressOutputBuffer.City = columns[3];
                }
                nextLine = textReader.ReadLine();
            }
    
        }
    
        public override void PostExecute()
        {
    
            base.PostExecute();
            textReader.Close();
    
        }
    
    }
    
Integration Services simgesi (küçük) Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve Microsoft video yanı sıra topluluk seçili çözümleri için ziyaret Integration ServicesMSDN sayfası:


Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.

Ayrıca bkz.

Kavramlar

Bir hedef Script bileşeni ile oluşturma

Özel kaynak bileşen geliştirme