OleDbConnection.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 una base 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); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("OleDbConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
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 proveedor OLE DB que incluye el nombre del origen de datos y otros parámetros necesarios para establecer la conexión inicial. El valor predeterminado es una cadena vacía.
Implementaciones
- Atributos
Excepciones
Se ha suministrado un argumento de cadena de conexión no válido o no se ha suministrado un argumento de cadena de conexión requerido.
Ejemplos
En el ejemplo siguiente se crea y OleDbConnection se establecen algunas de sus propiedades en el cadena de conexión.
static void OpenConnection(string connectionString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
connection.ServerVersion, connection.DataSource);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
}
Public Sub OpenConnection(ByVal connectionString As String)
Using connection As New OleDbConnection(connectionString)
Try
connection.Open()
Console.WriteLine("Server Version: {0} DataSource: {1}", _
connection.ServerVersion, connection.DataSource)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
End Sub
Comentarios
ConnectionString está diseñado para que coincida con el formato cadena de conexión OLE DB lo más cerca posible con las siguientes excepciones:
Se requiere la cláusula "Provider =
value
" . Sin embargo, no puede usar "Provider = MSDASQL" porque el proveedor de datos de .NET Framework para OLE DB no admite el proveedor OLE DB para ODBC (MSDASQL). Para acceder a orígenes de datos ODBC, use el OdbcConnection objeto que se encuentra en el System.Data.Odbc espacio de nombres .A diferencia de ODBC o ADO, el cadena de conexión que se devuelve es el mismo que el establecido ConnectionStringpor el usuario, menos la información de seguridad si
Persist Security Info
está establecidafalse
en (valor predeterminado). El proveedor de datos de .NET Framework para OLE DB no conserva ni devuelve la contraseña en un cadena de conexión a menos que establezca laPersist Security Info
palabra clavetrue
en (no se recomienda). Para mantener un alto nivel de seguridad, se recomienda encarecidamente usar laIntegrated Security
palabra clave conPersist Security Info
establecido enfalse
.
Puede usar la ConnectionString propiedad para conectarse a una variedad de orígenes de datos. En el ejemplo siguiente se muestran varias cadenas de conexión posibles.
"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"
"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"
Si la Data Source
palabra clave no se especifica en el cadena de conexión, el proveedor intentará conectarse al servidor local si hay una disponible.
Para obtener más información sobre las cadenas de conexión, vea Uso de palabras clave de cadena de conexión con SQL Server Native Client.
La ConnectionString propiedad solo se puede establecer cuando se cierra la conexión. Muchos de los valores de cadena de conexión tienen propiedades de solo lectura correspondientes. Cuando se establece el cadena de conexión, estas propiedades se actualizan, excepto cuando se detecta un error. En este caso, no se actualiza ninguna de las propiedades. OleDbConnectionlas propiedades devuelven solo las opciones de configuración contenidas en .ConnectionString
Al restablecer en ConnectionString una conexión cerrada, se restablecen todos los valores de cadena de conexión y las propiedades relacionadas. Esto incluye la contraseña. Por ejemplo, si establece un cadena de conexión que incluye "Initial Catalog= AdventureWorks" y, a continuación, restablece el cadena de conexión a "Provider= SQLOLEDB; Origen de datos= MySQLServer; IntegratedSecurity=SSPI", la Database propiedad ya no está establecida en AdventureWorks. (El valor de Catálogo inicial del cadena de conexión corresponde a la Database
propiedad ).
Una validación preliminar del cadena de conexión se realiza cuando se establece la propiedad . Si los valores de Provider
, Connect Timeout
Persist Security Info
, o OLE DB Services
se incluyen en la cadena, se comprueban estos valores. Cuando una aplicación llama al Open método , el cadena de conexión se valida por completo. Si el cadena de conexión contiene propiedades no válidas o no admitidas, se genera una excepción en tiempo de ejecución, como ArgumentException, .
Precaución
Es posible proporcionar información de conexión para en OleDbConnection un archivo de vínculo de datos universal (UDL); sin embargo, debe evitar hacerlo. Los archivos UDL no están cifrados y exponen cadena de conexión información en texto no cifrado. Un archivo UDL no se puede proteger mediante .NET Framework, ya que se trata de un recurso basado en un archivo externo a la aplicación.
El formato básico de un cadena de conexión incluye una serie de pares palabra clave-valor separados por punto y coma. El signo igual (=) asocia cada palabra clave a su valor. Para incluir valores que contienen un punto y coma, un carácter de comilla simple o un carácter de comillas dobles, el valor debe ir entre comillas dobles. Si el valor contiene un punto y coma y un carácter de comilla doble, el valor se puede incluir entre comillas simples. La comilla simple también es útil si el valor comienza con un carácter de comilla doble. Por el contrario, se puede usar la comilla doble si el valor comienza con una comilla simple. Si el valor contiene caracteres de comillas simples y de comillas dobles, el carácter de comillas usado para incluir el valor se debe duplicar cada vez que se produzca dentro del valor.
Para incluir espacios anteriores o finales en el valor de cadena, el valor debe ir entre comillas simples o comillas dobles. Se omiten los espacios iniciales o finales alrededor de los valores enteros, booleanos o enumerados, incluso si se incluyen entre comillas. Sin embargo, se conservan los espacios dentro de una palabra clave o valor literal de cadena. Las comillas simples o dobles se pueden usar dentro de un cadena de conexión sin usar delimitadores (por ejemplo, Data Source= my'Server
o Data Source= my"Server
) a menos que un carácter de comillas sea el primer o último carácter del valor.
Para incluir un signo igual (=) en una palabra clave o un valor, debe ir precedido por otro signo igual. Por ejemplo, en el cadena de conexión hipotético
"key==word=value"
la palabra clave es "key=word" y el valor es "value".
Si una palabra clave específica de un par palabra clave=valor se produce varias veces en un cadena de conexión, la última aparición enumerada se usa en el conjunto de valores.
Las palabras clave no distinguen mayúsculas de minúsculas.
Precaución
Debe tener precaución al construir un cadena de conexión en función de la entrada del usuario, por ejemplo, al recuperar la información de identificador de usuario y contraseña de un cuadro de diálogo y anexarla al cadena de conexión. La aplicación debe asegurarse de que un usuario no puede insertar parámetros adicionales de cadena de conexión en estos valores, por ejemplo, escribir una contraseña como "validpassword; database= somedb" en un intento de adjuntar a otra base de datos. Si usa el parámetro Propiedades extendidas cadena de conexión para las conexiones OLE DB, evite pasar identificadores de usuario y contraseñas porque debe evitar almacenar los identificadores de usuario y las contraseñas en texto no cifrado, y porque la configuración predeterminada de Persist Security Info= false
no afecta al Extended Properties
parámetro .