Compartilhar via


VariableDispenser Classe

Definição

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
VariableDispenser

Comentários

Há dois cenários para usar o distribuidor de variáveis.

  1. Você quer apenas uma variável. Nesse cenário, chamar LockOneForRead ou LockOneForWrite, e uma coleção com um elemento é retornada.

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

Aplica-se a