Compartir a través de


OleDbConnection.ConnectionString Propiedad

Definición

Obtiene o establece la cadena utilizada 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

No se ha proporcionado un argumento de cadena de conexión no válido o no se ha proporcionado un argumento de cadena de conexión necesario.

Ejemplos

En el ejemplo siguiente se crea y OleDbConnection se establecen algunas de sus propiedades en la 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 de cadena de conexión OLE DB lo más cerca posible con las siguientes excepciones:

  • La cláusula "Provider = value " es necesaria. 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, la cadena de conexión que se devuelve es la misma que la establecida por el usuario, menos la información de seguridad si Persist Security Info está establecida ConnectionStringfalse en (valor predeterminado). El proveedor de datos de .NET Framework para OLE DB no conserva ni devuelve la contraseña en una cadena de conexión a menos que establezca la Persist Security Info palabra clave true en (no recomendado). Para mantener un alto nivel de seguridad, se recomienda encarecidamente usar la Integrated Security palabra clave con establecido en Persist Security Infofalse.

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 la 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 las propiedades de solo lectura correspondientes. Cuando se establece la 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 una cadena de conexión que incluye "Initial Catalog= AdventureWorks" y, a continuación, restablece la cadena de conexión a "Provider= SQLOLEDB; Origen de datos= MySQLServer; IntegratedSecurity=SSPI", la Database propiedad ya no se establece en AdventureWorks. (El valor del catálogo inicial de la cadena de conexión corresponde a la Database propiedad ).

Cuando se establece la propiedad , se realiza una validación preliminar de la cadena de conexión. Si los valores de Provider, Connect Timeout, Persist Security Infoo OLE DB Services se incluyen en la cadena, estos valores se comprueban. Cuando una aplicación llama al Open método , la cadena de conexión se valida por completo. Si la 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 un OleDbConnection en un archivo de vínculo de datos universal (UDL); sin embargo, debe evitar hacerlo. Los archivos UDL no están cifrados y exponen información de cadena de conexió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 una cadena de conexión incluye una serie de pares de palabra clave-valor separados por punto y coma. El signo igual (=) conecta cada palabra clave y su valor. Para incluir valores que contienen un punto y coma, un carácter de comillas simples o un carácter de comillas dobles, el valor debe incluirse entre comillas dobles. Si el valor contiene un punto y coma y un carácter de comillas dobles, 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 produce dentro del valor.

Para incluir espacios anteriores o finales en el valor de cadena, el valor debe incluirse entre comillas simples o comillas dobles. Los espacios iniciales o finales alrededor de valores enteros, booleanos o enumerados se omiten, 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 una 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 valor, debe ir precedido por otro signo igual. Por ejemplo, en la siguiente cadena de conexión hipotética, la palabra clave es "key=word" y el valor es "value".

"key==word=value"

Si una palabra clave específica de un par palabra clave=valor se produce varias veces en una 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 una cadena de conexión basada en la entrada del usuario, por ejemplo, al recuperar el identificador de usuario y la información de contraseña de un cuadro de diálogo y anexarlo a la cadena de conexión. La aplicación debe asegurarse de que un usuario no puede insertar parámetros de cadena de conexión adicionales en estos valores, por ejemplo, escribir una contraseña como "validpassword; database= somedb" en un intento de adjuntar a una base de datos diferente. Si usa el parámetro de cadena de conexión Propiedades extendidas para las conexiones OLE DB, evite pasar identificadores de usuario y contraseñas porque debe evitar almacenar identificadores de usuario y contraseñas en texto no cifrado si puede y porque la configuración predeterminada de Persist Security Info= false no afecta al Extended Properties parámetro.

Se aplica a

Consulte también