VariableDispenser.GetVariables(Variables) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Verrouille les variables qui figurent dans les listes en lecture seule et en lecture/écriture.
public:
void GetVariables(Microsoft::SqlServer::Dts::Runtime::Variables ^ % variables);
public void GetVariables (ref Microsoft.SqlServer.Dts.Runtime.Variables variables);
member this.GetVariables : Variables -> unit
Public Sub GetVariables (ByRef variables As Variables)
Paramètres
- variables
- Variables
Collection contenant toutes les variables qui figurent dans les listes en lecture seule et en lecture/écriture.
Exemples
L’exemple de code suivant crée une VariableDispenser variable système et ajoute deux variables système à la liste verrouillée pour la lecture. Ensuite, il GetVariables est appelé pour verrouiller les deux variables dans la collection, et les listes sont libérées et mises à disposition pour de nouvelles variables.
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
Exemple de sortie :
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
Remarques
Appelez cette méthode pour verrouiller toutes les variables précédemment ajoutées à la liste en lecture seule ou à la liste en lecture/écriture.
Si l’appel réussit, les listes sont libérées et les variables demandées sont combinées dans une collection unique, avec chaque variable verrouillée pour l’accès spécifié. Pour déverrouiller les variables, relâchez la collection de variables à l’aide Unlock de la Variables collection.
Si l’appel échoue, les listes restent, mais les variables ne sont pas verrouillées.
Notes
Il est souhaitable de conserver un verrou sur la variable pour la durée minimale requise. Cela permet aux autres composants et tâches d’acquérir des verrous et facilite le partage des variables.