Share via


VariableDispenser.GetQualifiedName(String) 메서드

정의

변수의 정규화된 이름을 반환합니다.

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

매개 변수

variable
String

정규화된 이름을 확인하려는 변수입니다.

반환

변수의 정규화된 이름입니다. 여기에는 변수 이름과 변수가 속한 네임스페이스가 포함됩니다.

예제

다음 코드 예제에서는 읽기용으로 VariableDispenser 잠긴 목록에 두 개의 시스템 변수를 만들고 추가하고, 한 개의 시스템 변수를 쓰기 위해 잠긴 목록에 추가합니다. 그런 다음 컬렉션의 GetVariables 세 변수를 모두 잠그기 위해 호출됩니다. 변수의 정규화된 이름은 .를 PackageName 사용하여 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  

샘플 출력:

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

설명

이 메서드는 변수의 전체 이름을 반환하지만 변수를 잠그지는 않습니다.

GetQualifiedName 변수 이름만 사용하고 네임스페이스를 지정하지 않고 메서드를 호출하면 메서드는 일치하는 첫 번째 항목을 반환합니다.

이 메서드가 메서드를 DTS_E_AMBIGUOUSVARIABLENAME 반환하면 참조가 모호하며 매개 변수의 변수와 함께 네임스페이 variable 스를 제공해야 합니다. 이 오류는 이름이 같은 변수가 다른 네임스페이스에 있을 때 발생합니다. 네임스페이스를 지정하면 올바른 변수를 찾을 수 있습니다.

적용 대상