Aracılığıyla paylaş


Script görev değişkenleri kullanma

Değişkenler, veri paketindeki diğer nesnelerle değişimi Script görev için mümkün kılar. Daha fazla bilgi için, bkz. SSIS paketi değişkenleri.

Script görev kullanır Variablesözelliği Dtsokuma ve yazma için nesne Variablenesneleri paket.

[!NOT]

ValueÖzelliği Variablesınıf türü olan Object. Script görev olduğundan Option Strictetkin, size döküm gerekir Valuegörüneceği şekilde kullanabilmeniz için uygun türü özelliği

Varolan değişkenleri ekleme ReadOnlyVariablesve ReadWriteVariableslisteleri Komut dosyası görev Düzenleyicisi özel bir komut dosyası için kullanılabilir hale. Değişken adları büyük küçük harf duyarlı olduğunu unutmayın. Komut dosyası içinde değişkenleri her iki türdeki erişim Variablesözelliği Dtsnesnesini. Kullanım Valueözellik okuma ve yazma için bağımsız değişkenler için. Script görev şeffaf olarak komut dosyasını okur ve değişkenlerin değerlerini değiştirir kilitleme yönetir.

Sen-ebilmek kullanma Containsyöntemi Variablestarafından döndürülen koleksiyonu Variableskodu kullanmadan önce bir değişkeni varlığını denetlemek için özellik.

Ayrıca VariableDispenserözellik (Dts.VariableDispenser) değişkenleri Script görev ile çalışma. Kullanırken VariableDispenser, kendi kodunuzu kilitleme semantik ve değişken değeri için veri türlerini ve döküm ele. Sen-ebilmek lüzum-e kullanmak VariableDispenserözelliği yerine Variablestasarım zamanında mevcut değil ama programlı çalışma zamanında oluşturulan değişken çalışmak isterseniz özelliği.

Foreach döngü kapsayıcı içinde kod görev kullanarak

Script görev Foreach döngü kapsayıcı içinde tekrar tekrar çalıştırıldığında, komut dosyası genellikle numaralayıcı geçerli öğenin içeriği ile çalışması gerekiyor. Örneğin, bir Foreach dosya numaralayıcı kullandığınızda, komut dosyası geçerli dosya adını bilmesi gerekiyor; bir Foreach ado numaralayıcı kullandığınızda, komut geçerli satırda veri sütunlarının içeriklerini bilmesi gerekiyor.

Değişkenleri Foreach döngü kapsayıcı ve Script görev arasındaki bu iletişimi mümkün kılar. Tarih Değişken Eşleştirmeleri sayfası Foreach döngü Düzenleyicisi'ni, her öğeyi tek bir Numaralandırılmış öğe tarafından döndürülen veri değişkenleri atamak. Örneğin, bir Foreach dosya numaralayıcı yalnızca dosya adı, dizin 0 döndürür ve Script görev kullanmak istediğiniz her sütun için farklı bir değişken eşlemek çeşitli veri sütunlarının her satır döndüren bir numaralayıcı gerektiriyor ise, bu nedenle yalnızca bir değişken eşleme, gerektirir.

Değişkenleri için numaralandırılmış öğeler eşleştirdikten sonra eşlenen değişkenleri eklemelisiniz ReadOnlyVariablesözelliği Script sayfası Komut dosyası görev Düzenleyicisi komut dosyanız için kullanılabilir hale. İşleyen görüntü dosyaları bir klasörde Foreach döngü kapsayıcı içinde kod görev örneği için bkz: Resim Script görev ile çalışma.

Değişkenleri örneği

Aşağıdaki örnekte, erişim ve paket iş akışı yolunu belirlemek için bir komut dosyası görevi değişkenleri kullanın gösterilmiştir. Tamsayı değişkeni adında oluşturduğunuz örnek varsayar CustomerCountve MaxRecordCountve onlara ReadOnlyVariableskoleksiyonunda Komut dosyası görev Düzenleyicisi. CustomerCountDeğişkenini içeren müşteri kayıtlarının alınacak. Onun değeri değeri büyükse MaxRecordCount, Script görev raporları hata. Bir hata oluştuğunda çünkü MaxRecordCounteşik aşıldı, iş akışının hata yolu herhangi bir gerekli temiz-elbise uygulayabilirsiniz

Örnek başarıyla derlemek için Microsoft.SqlServer.ScriptTask derlemesi için başvuru eklemeniz gerekir.

Public Sub Main()

    Dim customerCount As Integer
    Dim maxRecordCount As Integer

    If Dts.Variables.Contains("CustomerCount") = True AndAlso _
        Dts.Variables.Contains("MaxRecordCount") = True Then

        customerCount = _
            CType(Dts.Variables("CustomerCount").Value, Integer)
        maxRecordCount = _
            CType(Dts.Variables("MaxRecordCount").Value, Integer)

    End If

    If customerCount > maxRecordCount Then
            Dts.TaskResult = ScriptResults.Failure
    Else
            Dts.TaskResult = ScriptResults.Success
    End If

End Sub
Public Sub Main()

    Dim customerCount As Integer
    Dim maxRecordCount As Integer

    If Dts.Variables.Contains("CustomerCount") = True AndAlso _
        Dts.Variables.Contains("MaxRecordCount") = True Then

        customerCount = _
            CType(Dts.Variables("CustomerCount").Value, Integer)
        maxRecordCount = _
            CType(Dts.Variables("MaxRecordCount").Value, Integer)

    End If

    If customerCount > maxRecordCount Then
            Dts.TaskResult = ScriptResults.Failure
    Else
            Dts.TaskResult = ScriptResults.Success
    End If

End Sub
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;

public class ScriptMain
{



    public void Main()
    {
        int customerCount;
        int maxRecordCount;

        if (Dts.Variables.Contains("CustomerCount")==true&&Dts.Variables.Contains("MaxRecordCount")==true)

        {
            customerCount = (int) Dts.Variables["CustomerCount"].Value;
            maxRecordCount = (int) Dts.Variables["MaxRecordCount"].Value;

        }

        if (customerCount>maxRecordCount)
        {
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
        else
        {
            Dts.TaskResult = (int)ScriptResults.Success;
        }

    }

} 
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;

public class ScriptMain
{



    public void Main()
    {
        int customerCount;
        int maxRecordCount;

        if (Dts.Variables.Contains("CustomerCount")==true&&Dts.Variables.Contains("MaxRecordCount")==true)

        {
            customerCount = (int) Dts.Variables["CustomerCount"].Value;
            maxRecordCount = (int) Dts.Variables["MaxRecordCount"].Value;

        }

        if (customerCount>maxRecordCount)
        {
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
        else
        {
            Dts.TaskResult = (int)ScriptResults.Success;
        }

    }

} 
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.

Görevler

Paketlerinde değişkenleri kullanma

Kavramlar

SSIS paketi değişkenleri