VariableDispenser Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Acessa a coleção Variables durante a execução do pacote. Essa classe não pode ser herdada.
public ref class VariableDispenser sealed : Microsoft::SqlServer::Dts::Runtime::DtsObject
public sealed class VariableDispenser : Microsoft.SqlServer.Dts.Runtime.DtsObject
type VariableDispenser = class
inherit DtsObject
Public NotInheritable Class VariableDispenser
Inherits DtsObject
- Herança
Comentários
Há dois cenários para usar o distribuidor de variáveis.
Você quer apenas uma variável. Nesse cenário, chamar LockOneForRead ou LockOneForWrite, e uma coleção com um elemento é retornada.
Você deseja várias variáveis. Nesse cenário, chame LockForRead e LockForWrite várias vezes, uma para cada variável. Isso cria duas listas, uma lista que contém variáveis para leitura e uma lista que contém variáveis para gravação. Em seguida, chame GetVariables, que fornece uma coleção que contém todas as variáveis bloqueadas. Se GetVariables for bem-sucedido, as duas listas, que são as listas de nomes de variáveis, não bloqueios reais, serão desmarcadas.
Para liberar explicitamente os bloqueios, chame Unlock a coleção. Esse método desbloqueia as próprias variáveis. Se GetVariables falhar, as listas permanecerão inalteradas e você poderá ligar GetVariables novamente. Se você ainda não conseguir obter as variáveis, chame Reset para limpar as listas e trazer o dispensador de variável de volta ao estado inicial.
A Variables coleção contém uma Locked propriedade que indica se uma coleção de variáveis de variáveis está bloqueada (true
) ou desbloqueada (false
). O motivo para examinar essa propriedade é que algumas tarefas liberam explicitamente bloqueios para as variáveis que estão usando e chamar Unlock duas vezes gera um erro. Portanto, você deve usar essa propriedade para determinar se a coleção dispensada está bloqueada antes de chamar Unlock.
Importante
O VariableDispenser é usado com as classes runtime. Se você estiver usando componentes de fluxo de dados (Microsoft.SqlServer.Dts.Pipeline), talvez seja necessário usar o IDTSVariableDispenser100 em vez disso. Para saber em qual distribuidor de variáveis usar, consulte a documentação do objeto no qual você está adquirindo variáveis e verifique o objeto de retorno do método.
Métodos
Contains(String) |
Especifica se um item pode ser recuperado na coleção VariableDispenser usando a indexação sem gerar uma exceção. |
Equals(Object) |
Determina se duas instâncias de objeto são iguais. (Herdado de DtsObject) |
GetHashCode() |
Retorna o código hash para a instância. (Herdado de DtsObject) |
GetQualifiedName(String) |
Retorna o nome qualificado da variável. |
GetVariables(Variables) |
Bloqueia as variáveis que estão na lista somente leitura e de leitura e gravação. |
LockForRead(String) |
Adiciona a variável à lista de variáveis a ser bloqueada para acesso somente leitura. |
LockForWrite(String) |
Adiciona a variável à lista de variáveis a ser bloqueada para acesso de leitura e gravação. |
LockOneForRead(String, Variables) |
Coloca a variável em uma lista e, em seguida, bloqueia-a para acesso somente leitura. |
LockOneForWrite(String, Variables) |
Coloca a variável em uma lista e, em seguida, bloqueia-a para acesso de leitura e gravação. |
Reset() |
Desmarca a lista somente leitura e a lista leitura/gravação quando a chamada para GetVariables(Variables) apresenta falha. |