Freigeben über


VariableDispenser.GetQualifiedName(String) Methode

Definition

Gibt den qualifizierten Namen der Variablen zurück.

public:
 System::String ^ GetQualifiedName(System::String ^ variable);
public string GetQualifiedName (string variable);
member this.GetQualifiedName : string -> string
Public Function GetQualifiedName (variable As String) As String

Parameter

variable
String

Die Variable, deren vollqualifizierten Namen Sie erfahren möchten.

Gibt zurück

Der qualifizierte Name der Variablen, der den Variablennamen und den Namespace enthält, dem sie angehört.

Beispiele

Im folgenden Codebeispiel wird eine VariableDispenser und zwei Systemvariablen zur Liste hinzugefügt, die für das Lesen gesperrt ist, und eine Systemvariable der Liste, die für das Schreiben gesperrt ist. GetVariables Anschließend wird aufgerufen, um alle drei Variablen in der Auflistung zu sperren. Der vollqualifizierte Name der PackageName Variablen wird mithilfe von GetQualifiedName.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace Microsoft.SqlServer.SSIS.Sample  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package pkg = new Package();  
            Variables vars = null;  
            VariableDispenser variableDispenser = pkg.VariableDispenser;  
            variableDispenser.LockForRead("System::PackageName");  
            variableDispenser.LockForRead("System::OfflineMode");  
            variableDispenser.GetVariables(ref vars);             
            // Verify that the variable is locked before unlocking.  
            Console.WriteLine("Variables are locked? {0}", vars.Locked);  
            foreach (Variable myVar in vars)  
            {  
                Console.WriteLine("Name        {0}", myVar.Name);  
                Console.WriteLine("Description {0}", myVar.Description);  
                Console.WriteLine();  
            }  
            // Use Contains to determine whether indexing can be used.  
            Boolean pkgName = variableDispenser.Contains("PackageName");  
            String qName = variableDispenser.GetQualifiedName("PackageName");  
            Console.WriteLine("Contains is valid?       {0}", pkgName);  
            Console.WriteLine("Fully qualified name is: {0}", qName);  

            vars.Unlock();  

            Console.WriteLine("Variables are locked? {0}", vars.Locked);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace Microsoft.SqlServer.SSIS.Sample  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim pkg As Package =  New Package()   
            Dim vars As Variables =  Nothing   
            Dim variableDispenser As VariableDispenser =  pkg.VariableDispenser   
            variableDispenser.LockForRead("System::PackageName")  
            variableDispenser.LockForRead("System::OfflineMode")  
            variableDispenser.GetVariables( vars)  
            ' Verify that the variable is locked before unlocking.  
            Console.WriteLine("Variables are locked? {0}", vars.Locked)  
            Dim myVar As Variable  
            For Each myVar In vars  
                Console.WriteLine("Name        {0}", myVar.Name)  
                Console.WriteLine("Description {0}", myVar.Description)  
                Console.WriteLine()  
            Next  
            ' Use Contains to determine whether indexing can be used.  
            Dim pkgName As Boolean =  variableDispenser.Contains("PackageName")   
            Dim qName As String =  variableDispenser.GetQualifiedName("PackageName")   
            Console.WriteLine("Contains is valid?       {0}", pkgName)  
            Console.WriteLine("Fully qualified name is: {0}", qName)  

            vars.Unlock()  

            Console.WriteLine("Variables are locked? {0}", vars.Locked)  
        End Sub  
    End Class  
End Namespace  

Beispielausgabe:

Variables are locked? True

Name OfflineMode

Description The offline mode currently set for the package

Name PackageName

Description The package name

Contains is valid? True

Fully qualified name is: System::PackageName

Variables are locked? False

Hinweise

Diese Methode gibt den vollständigen Namen der Variablen zurück, sperrt die Variable jedoch nicht.

Wenn die GetQualifiedName Methode nur mit dem Namen der Variablen aufgerufen wird und nicht den Namespace angibt, gibt die Methode den ersten übereinstimmenden Eintrag zurück.

Wenn diese Methode die DTS_E_AMBIGUOUSVARIABLENAME Methode zurückgibt, bedeutet dies, dass der Verweis mehrdeutig ist, und Sie müssen einen Namespace zusammen mit der Variablen im variable Parameter bereitstellen. Dieser Fehler tritt auf, wenn eine Variable mit demselben Namen in verschiedenen Namespaces vorhanden ist. Wenn Sie den Namespace angeben, können Sie die richtige Variable suchen.

Gilt für: