OdbcConnection.ConnectionString Propriedade
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.
Obtém ou define a cadeia de caracteres usada para abrir uma fonte de dados.
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String
Valor da propriedade
A cadeia de conexão de driver ODBC que inclui configurações, como o nome da fonte de dados, necessárias para estabelecer a conexão inicial. O valor padrão é uma cadeia de caracteres vazia (""). O tamanho máximo é de 1.024 caracteres.
Implementações
- Atributos
Comentários
A ConnectionString propriedade foi projetada para corresponder ao formato de cadeia de conexão ODBC o mais próximo possível. O ConnectionString pode ser definido somente quando a conexão é fechada e, assim que ela é definida, é passada, inalterada, para o Gerenciador de Driver e o driver subjacente. Portanto, a sintaxe do ConnectionString deve corresponder exatamente ao que o Gerenciador de Driver e o driver subjacente dão suporte.
Você pode usar a ConnectionString propriedade para se conectar a uma variedade de fontes de dados. Isso inclui um DSN (nome da fonte de dados) ODBC. O exemplo a seguir ilustra várias cadeias de conexão possíveis.
"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"
"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"
"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"
"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"
"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
"DSN=dsnname"
Observação
O provedor de dados .NET Framework para ODBC não dá suporte ao Persist Security Info
palavra-chave com suporte de outros provedores de dados .NET Framework. No entanto, a ConnectionString propriedade se comporta como se Persist Security Info
fosse definida false
como . Isso significa que você não poderá recuperar a senha da ConnectionString propriedade se a conexão tiver sido aberta. Quando a ConnectionString propriedade é lida de um OdbcConnection objeto que foi aberto, o cadeia de conexão é retornado menos a senha. Você não pode alterar esse comportamento; portanto, se o aplicativo exigir a senha, armazene-a separadamente antes de chamar Open.
Muitas das configurações especificadas na cadeia de caracteres têm propriedades somente leitura correspondentes (por exemplo, Server=(local)
, que corresponde à DataSource propriedade ). Essas propriedades são atualizadas depois que a conexão é aberta, exceto quando um erro é detectado. Nesse caso, nenhuma das propriedades é atualizada.
OdbcConnection as propriedades (como Database) retornam apenas as configurações padrão ou as configurações especificadas no ConnectionString.
No Microsoft .NET Framework versão 1.0, a validação do cadeia de conexão não ocorre até que um aplicativo chame o Open método . É responsabilidade do driver ODBC subjacente validar o cadeia de conexão. Se o cadeia de conexão contiver propriedades inválidas ou sem suporte, o driver poderá gerar um em tempo de execuçãoOdbcException.
No entanto, no .NET Framework versão 1.1 e versões posteriores, ocorre alguma validação básica do cadeia de conexão assim que você define a ConnectionString propriedade. Nesse momento, o provedor de dados verifica se o cadeia de conexão atende ao "palavra-chave=value;..." formato, mas não verifica se palavras-chave ou valores são válidos. A verificação restante é executada pelo driver ODBC subjacente quando o aplicativo chama o Open método .
Uma cadeia de conexão ODBC tem a seguinte sintaxe:
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]
attribute-keyword ::= DSN | UID | PWD
| driver-defined-attribute-keyword
attribute-value ::= character-string
driver-defined-attribute-keyword ::= identifier
em character-string
que tem zero ou mais caracteres; identifier
tem um ou mais caracteres; attribute-keyword
não diferencia maiúsculas de minúsculas; attribute-value
pode diferenciar maiúsculas de minúsculas; e o valor do palavra-chave DSN não consiste apenas em espaços em branco.
Devido ao cadeia de conexão e à gramática do arquivo de inicialização, devem ser evitadas palavras-chave e valores de atributo que contenham os caracteres []{}();? *=!@ não entre chaves. O valor do palavra-chave DSN não pode consistir apenas em espaços em branco e não deve conter espaços em branco à esquerda. Devido à gramática das informações do sistema, palavras-chave e nomes de fonte de dados não podem conter o caractere de barra invertida (\).
Os aplicativos não precisam adicionar chaves ao redor do valor do atributo depois que o Driver palavra-chave, a menos que o atributo contenha um ponto e vírgula (;), nesse caso, as chaves são necessárias. Se o valor do atributo que o driver recebe incluir chaves, o driver não deverá removê-los, mas deve fazer parte do cadeia de conexão retornado.
Um valor DSN ou cadeia de conexão entre chaves ({}) que contém qualquer um dos caracteres []{}();? *=!@ é passado intacto para o driver. No entanto, quando você usa esses caracteres em um palavra-chave, o Gerenciador de Driver retorna um erro quando você trabalha com DSNs de arquivo, mas passa o cadeia de conexão para o driver para cadeias de conexão regulares. Evite usar chaves inseridas em um valor palavra-chave.
O cadeia de conexão pode incluir qualquer número de palavras-chave definidas pelo driver. Como o driver palavra-chave não usa informações do sistema, o driver deve definir palavras-chave suficientes para que um driver possa se conectar a uma fonte de dados usando apenas as informações no cadeia de conexão. O driver define quais palavras-chave são necessárias para se conectar à fonte de dados.
Se alguma palavra-chave for repetida no cadeia de conexão, não haverá garantia de qual valor será selecionado.
Observação
Se um driver ODBC der suporte a cadeias de conexão com mais de 1024 caracteres, você poderá usar um DSN (nome da fonte de dados) para exceder a limitação de comprimento máximo.