Compartir por


OdbcConnection.ConnectionString Propiedad

Definición

Obtiene o establece la cadena utilizada para abrir un origen de datos.

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 de propiedad

Cadena de conexión del controlador ODBC que incluye la configuración, como el nombre del origen de datos, necesaria para establecer la conexión inicial. El valor predeterminado es una cadena vacía (""). La longitud máxima es de 1024 caracteres.

Implementaciones

Atributos

Comentarios

La ConnectionString propiedad está diseñada para que coincida con el formato de cadena de conexión ODBC lo más cerca posible. Solo ConnectionString se puede establecer cuando se cierra la conexión y, en cuanto se establece, se pasa, sin cambios, al Administrador de controladores y al controlador subyacente. Por lo tanto, la sintaxis de ConnectionString debe coincidir exactamente con lo que admite el Administrador de controladores y el controlador subyacente.

Puede usar la ConnectionString propiedad para conectarse a una variedad de orígenes de datos. Esto incluye un nombre de origen de datos ODBC (DSN). En el ejemplo siguiente se muestran varias cadenas de conexión posibles.

"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"

Nota:

El proveedor de datos de .NET Framework para ODBC no admite la Persist Security Info palabra clave compatible con otros proveedores de datos de .NET Framework. Sin embargo, la ConnectionString propiedad se comporta como si Persist Security Info estuviera establecida falseen . Esto significa que no se puede recuperar la contraseña de la ConnectionString propiedad si se ha abierto la conexión. Cuando se lee la ConnectionString propiedad de un OdbcConnection objeto que se ha abierto, se devuelve la cadena de conexión menos la contraseña. No se puede cambiar este comportamiento; Por lo tanto, si la aplicación requiere la contraseña, almacénela por separado antes de llamar a Open.

Muchos de los valores especificados en la cadena tienen las propiedades de solo lectura correspondientes (por ejemplo, Server=(local), que corresponde a la DataSource propiedad ). Estas propiedades se actualizan después de abrir la conexión, excepto cuando se detecta un error. En este caso, no se actualiza ninguna de las propiedades. OdbcConnectionlas propiedades (como Database) devuelven solo la configuración predeterminada o las especificadas en .ConnectionString

Algunas validaciones básicas de la cadena de conexión se producen en cuanto se establece la ConnectionString propiedad . En ese momento, el proveedor de datos comprueba que la cadena de conexión cumple con "keyword=value;..." format, pero no comprueba si las palabras clave o los valores son válidos. El controlador ODBC subyacente realiza la comprobación restante cuando la aplicación llama al Open método .

Una cadena de conexión ODBC tiene la sintaxis siguiente:

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

donde character-string tiene cero o más caracteres; identifier tiene uno o varios caracteres; no distingue mayúsculas de minúsculas; attribute-keywordattribute-value puede distinguir mayúsculas de minúsculas; y el valor de la palabra clave DSN no consta solo de espacios en blanco.

Debido a la gramática del archivo de inicialización y la cadena de conexión, se deben evitar palabras clave y valores de atributo que contengan los caracteres []{}(),;? *=!@ no entre llaves. El valor de la palabra clave DSN no puede constar solo de espacios en blanco y no debe contener espacios en blanco iniciales. Debido a la gramática de la información del sistema, las palabras clave y los nombres de origen de datos no pueden contener el carácter de barra diagonal inversa (\).

Las aplicaciones no tienen que agregar llaves alrededor del valor del atributo después de la palabra clave Driver a menos que el atributo contenga un punto y coma (;), en cuyo caso se requieren llaves. Si el valor de atributo que recibe el controlador incluye llaves, el controlador no debe quitarlos, pero deben formar parte de la cadena de conexión devuelta.

Un valor de cadena de conexión o DSN entre llaves ({}) que contiene cualquiera de los caracteres []{}(),;? *=!@ se pasa intacto al controlador. Sin embargo, cuando se usan estos caracteres en una palabra clave, el Administrador de controladores devuelve un error al trabajar con DSN de archivo, pero pasa la cadena de conexión al controlador para las cadenas de conexión normales. Evite usar llaves incrustadas en un valor de palabra clave.

La cadena de conexión puede incluir cualquier número de palabras clave definidas por el controlador. Dado que la palabra clave DRIVER no usa información del sistema, el controlador debe definir suficientes palabras clave para que un controlador pueda conectarse a un origen de datos con solo la información de la cadena de conexión. El controlador define las palabras clave necesarias para conectarse al origen de datos.

Si alguna palabra clave se repite en la cadena de conexión, no hay ninguna garantía de qué valor se seleccionará.

Nota:

Si un controlador ODBC admite cadenas de conexión de más de 1024 caracteres, puede usar un nombre de origen de datos (DSN) para superar la limitación de longitud máxima.

Se aplica a

Consulte también