OdbcConnection.ConnectionString Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la cadena que se utiliza 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 valores como el nombre del origen de datos, necesarios para establecer la conexión inicial. El valor predeterminado es una cadena vacía (""). La longitud máxima es 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. ConnectionString Solo 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 en false
. 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 el cadena de conexión menos la contraseña. No 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 que se especifican en .ConnectionString
En la versión 1.0 de Microsoft .NET Framework, la validación del cadena de conexión no se produce hasta que una aplicación llama al Open método . Es responsabilidad del controlador ODBC subyacente validar el cadena de conexión. Si el cadena de conexión contiene propiedades no válidas o no admitidas, el controlador puede generar una OdbcException en tiempo de ejecución.
Sin embargo, en .NET Framework versión 1.1 y versiones posteriores, se produce alguna validación básica del cadena de conexión en cuanto se establece la ConnectionString propiedad. En ese momento, el proveedor de datos comprueba que el cadena de conexión cumple el "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 .
Un 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; attribute-keyword
no distingue mayúsculas de minúsculas; attribute-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 cadena de conexión y la gramática del archivo de inicialización, se deben evitar palabras clave y valores de atributo que contengan los caracteres []{}(),;? *=!@ no está entre llaves. El valor de la palabra clave DSN no puede constar únicamente 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 las llaves. Si el valor de atributo que recibe el controlador incluye llaves, el controlador no debe quitarlos, pero deben formar parte del cadena de conexión devuelto.
Un valor DSN o cadena de conexión 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 el cadena de conexión al controlador para las cadenas de conexión normales. Evite usar llaves incrustadas en un valor de palabra clave.
El 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 se repiten palabras clave 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.