OdbcConnection.ConnectionString Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define a string usada para abrir uma fonte de dados.
public:
property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public string ConnectionString { get; set; }
public override 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 Property ConnectionString As String
Public Overrides Property ConnectionString As String
Valor de Propriedade
A cadeia de ligação do driver ODBC que inclui definições, como o nome da fonte de dados, necessárias para estabelecer a ligação inicial. O valor padrão é uma cadeia vazia (""). O comprimento máximo é de 1024 caracteres.
Implementações
- Atributos
Observações
A propriedade ConnectionString foi concebida para corresponder ao formato ODBC cadeia de ligação o mais fielmente possível. Só ConnectionString pode ser definido quando a ligação está fechada e, assim que está definido, é passado, sem alterações, para o Gestor de Drivers e para o driver subjacente. Portanto, a sintaxe do ConnectionString deve corresponder exatamente ao que o Driver Manager e o driver subjacente suportam.
Pode usar a ConnectionString propriedade para se ligar a várias fontes de dados. Isto inclui um nome de fonte de dados ODBC (DSN). O exemplo seguinte ilustra várias possíveis cadeias de ligação.
"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"
Note
O Data Provider .NET Framework para ODBC não suporta a palavra-chave Persist Security Info que é suportada por outros fornecedores de dados .NET Framework. No entanto, a ConnectionString propriedade comporta-se como se Persist Security Info estivesse definida como false. Isto significa que não pode recuperar a palavra-passe da ConnectionString propriedade se a ligação tiver sido aberta. Quando a propriedade ConnectionString é lida de um objeto OdbcConnection que foi aberto, a cadeia de ligação é devolvida menos a palavra-passe. Não podes mudar este comportamento; portanto, se a aplicação exigir a palavra-passe, armazene-a separadamente antes de chamar Open.
Muitas das definições especificadas na cadeia têm propriedades correspondentes de apenas leitura (por exemplo, Server=(local), que corresponde à DataSource propriedade). Estas propriedades são atualizadas após a abertura da ligação, exceto quando é detetado um erro. Neste caso, nenhuma das propriedades é atualizada.
OdbcConnection Propriedades (como Database) retornam apenas as definições predefinidas ou aquelas especificadas no ConnectionString.
Alguma validação básica da cadeia de ligação ocorre assim que se define a propriedade ConnectionString. Nesse momento, o fornecedor de dados verifica se a cadeia de ligação cumpre a "palavra-chave=valor;... mas não verifica se palavras-chave ou valores são válidos. A verificação restante é realizada pelo driver ODBC subjacente quando a aplicação chama o Open método.
Uma cadeia de ligaçã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
onde character-string tem zero ou mais caracteres; identifier tem um ou mais caracteres; attribute-keyword não distingue maiúsculas e minúsculas; attribute-value pode ser distinto a maiúsculas; e o valor da palavra-chave DSN não consiste apenas em espaços em branco.
Devido à cadeia de ligação e à gramática dos ficheiros de inicialização, devem evitar-se palavras-chave e valores de atributos que contenham os caracteres []{}(),;? *=!@ não incluído com aparelho dentário. O valor da palavra-chave DSN não pode consistir apenas em blanks e não deve conter blanks iniciais. Devido à gramática da informação do sistema, palavras-chave e nomes de fontes de dados não podem conter o carácter de barra inversa (\).
As aplicações não precisam de adicionar chaves em torno do valor do atributo após a palavra-chave Driver, a menos que o atributo contenha um ponto e vírgula (;), caso em que as colchetes são necessárias. Se o valor do atributo que o driver recebe incluir brackets, o driver não deve removê-los, mas devem fazer parte da cadeia de ligação devolvida.
Um valor DSN ou cadeia de ligação incluído com colchetes ({}) que contenha qualquer um dos caracteres []{}(),;? *=!@ é passado intacto para o condutor. No entanto, quando usas estes caracteres numa palavra-chave, o Gestor de Drivers devolve um erro quando trabalhas com DSNs de ficheiros, mas passa a cadeia de ligação para o driver para cadeias de ligação normais. Evite usar chaves incorporadas num valor de palavra-chave.
A cadeia de ligação pode incluir qualquer número de palavras-chave definidas pelo driver. Como a palavra-chave DRIVER não utiliza informação do sistema, o driver deve definir palavras-chave suficientes para que o driver possa ligar-se a uma fonte de dados usando apenas a informação da cadeia de ligação. O driver define quais as palavras-chave necessárias para se ligar à fonte de dados.
Se alguma palavra-chave for repetida na cadeia de ligação, não há garantia de qual valor será selecionado.
Note
Se um driver ODBC suportar cadeias de ligação superiores a 1024 caracteres, pode usar um nome de fonte de dados (DSN) para exceder a limitação máxima de comprimento.