Partilhar via


Cadeias de ligação em ADO.NET

Aplica-se a: .NET Framework .NET .NET Standard

Baixar ADO.NET

Uma cadeia de conexão contém informações de inicialização que são passadas como um parâmetro de um provedor de dados para uma fonte de dados. O provedor de dados recebe a cadeia de conexão como o valor da DbConnection.ConnectionString propriedade. O provedor analisa a cadeia de conexão e garante que a sintaxe esteja correta e que as palavras-chave sejam suportadas. Em seguida, o DbConnection.Open() método passa os parâmetros de conexão analisados para a fonte de dados. A fonte de dados executa uma validação adicional e estabelece uma conexão.

Sintaxe da cadeia de conexão

Uma cadeia de conexão é uma lista delimitada por ponto-e-vírgula de pares de parâmetros chave/valor:

keyword1=value; keyword2=value;

As palavras-chave não diferenciam maiúsculas de minúsculas. Os valores, no entanto, podem diferenciar maiúsculas de minúsculas, dependendo da fonte de dados. Tanto as palavras-chave quanto os valores podem conter caracteres de espaço em branco. O espaço em branco à esquerda e à direita é ignorado em palavras-chave e valores não citados.

Se um valor contiver ponto-e-vírgula, caracteres de controle Unicode ou espaço em branco à esquerda ou à direita, ele deverá ser colocado entre aspas simples ou duplas. Por exemplo:

Keyword=" whitespace  ";
Keyword='special;character';

O caractere de inclusão pode não ocorrer dentro do valor que ele inclui. Portanto, um valor contendo aspas simples pode ser colocado entre aspas duplas e vice-versa:

Keyword='double"quotation;mark';
Keyword="single'quotation;mark";

Você também pode escapar do caractere envolvente usando dois deles juntos:

Keyword="double""quotation";
Keyword='single''quotation';

As aspas em si, bem como o sinal de igual, não exigem escape, portanto, as seguintes cadeias de conexão são válidas:

Keyword=no "escaping" 'required';
Keyword=a=b=c

Como cada valor é lido até ao próximo ponto e vírgula ou ao fim da cadeia, o valor no último exemplo é a=b=c, e o ponto e vírgula final é opcional.

Todas as cadeias de ligação partilham a mesma sintaxe básica descrita acima. O conjunto de palavras-chave reconhecidas depende do fornecedor. O fornecedor de dados Microsoft SqlClient para SQL Server suporta muitas palavras-chave de APIs mais antigas, mas é geralmente mais flexível e aceita sinónimos para muitas das palavras-chave de cadeia de ligação comuns.

Erros de digitação podem causar erros. Por exemplo, Integrated Security=true é válido, mas IntegratedSecurity=true causa um erro.

Cadeias de ligação construídas manualmente em tempo de execução a partir de entradas invalidadas do utilizador são vulneráveis a ataques de injeção de strings e põem em risco a segurança na fonte de dados. Para resolver estes problemas, foi criada a SqlConnectionStringBuilder classe. Esta classe construtora de strings de ligação expõe os parâmetros como propriedades fortemente tipadas e torna possível validar a cadeia de ligação antes de ser enviada para a fonte de dados.

Nesta secção

Construtor de Cordas de Ligação
Demonstra como usar a ConnectionStringBuilder classe para construir cadeias de ligação válidas em tempo de execução.

Cadeias de conexão e arquivos de configuração
Demonstra como armazenar e recuperar cadeias de conexão em arquivos de configuração.

Sintaxe da cadeia de conexão
Descreve como configurar cadeias de ligação específicas do fornecedor para SqlClient.

Protegendo informações de conexão
Demonstra técnicas para proteger as informações usadas para se conectar a uma fonte de dados.

Consulte também