OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString OleDbConnection.ConnectionString Property

Définition

Obtient ou définit la chaîne utilisée pour ouvrir une base de données.Gets or sets the string used to open a database.

public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
Public Property ConnectionString As String

Valeur de propriété

Chaîne de connexion du fournisseur OLE DB qui comprend le nom de la source de données, ainsi que d'autres paramètres nécessaires à l'établissement de la connexion initiale.The OLE DB provider connection string that includes the data source name, and other parameters needed to establish the initial connection. La valeur par défaut est une chaîne vide.The default value is an empty string.

Implémente

Exceptions

Un argument de chaîne de connexion non valide a été fourni ou un argument de chaîne de connexion requis n'a pas été fourni.An invalid connection string argument has been supplied or a required connection string argument has not been supplied.

Exemples

L’exemple suivant crée un OleDbConnection et définit certaines de ses propriétés dans la chaîne de connexion.The following example creates an OleDbConnection and sets some of its properties in the connection string.

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

Remarques

Le ConnectionString est conçu pour mettre en correspondance OLE DB format de chaîne de connexion aussi fidèlement que possible, avec les exceptions suivantes :The ConnectionString is designed to match OLE DB connection string format as closely as possible with the following exceptions:

  • La clause "Provider value =" est obligatoire.The "Provider = value " clause is required. Toutefois, vous ne pouvez pas utiliser « Provider = MSDASQL », car le Fournisseur de données .NET Framework pour OLE DB ne prend pas en charge le fournisseur OLE DB pour ODBC (MSDASQL).However, you cannot use "Provider = MSDASQL" because the .NET Framework Data Provider for OLE DB does not support the OLE DB Provider for ODBC (MSDASQL). Pour accéder aux sources de données ODBC, OdbcConnection utilisez l’objet qui se System.Data.Odbc trouve dans l’espace de noms.To access ODBC data sources, use the OdbcConnection object that is in the System.Data.Odbc namespace.

  • Contrairement à ConnectionString Persist Security Info ODBCouADO,lachaînedeconnexionretournéeestidentiqueàcelledel’utilisateur,moinslesinformationsdesécuritésialavaleur(valeurfalse par défaut).Unlike ODBC or ADO, the connection string that is returned is the same as the user-set ConnectionString, minus security information if Persist Security Info is set to false (default). Le fournisseur de données .NET Framework pour OLE DB ne rend pas persistant ou ne retourne pas le mot de passe dans une chaîne Persist Security Info de connexion true , sauf si vous définissez le mot clé sur (non recommandé).The .NET Framework Data Provider for OLE DB does not persist or return the password in a connection string unless you set the Persist Security Info keyword to true (not recommended). Pour maintenir un niveau élevé de sécurité, il est fortement recommandé d’utiliser le mot Integrated Security clé avec Persist Security Info la valeur false.To maintain a high level of security, it is strongly recommended that you use the Integrated Security keyword with Persist Security Info set to false.

Vous pouvez utiliser la ConnectionString propriété pour vous connecter à une variété de sources de données.You can use the ConnectionString property to connect to a variety of data sources. L’exemple suivant illustre plusieurs chaînes de connexion possibles.The following example illustrates several possible connection strings.

"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 le Data Source mot clé n’est pas spécifié dans la chaîne de connexion, le fournisseur tente de se connecter au serveur local s’il en existe une.If the Data Source keyword is not specified in the connection string, the provider will try to connect to the local server if one is available.

Pour plus d’informations sur les chaînes de connexion, consultez utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.For more information about connection strings, see Using Connection String Keywords with SQL Server Native Client.

La ConnectionString propriété peut être définie uniquement lorsque la connexion est fermée.The ConnectionString property can be set only when the connection is closed. La plupart des valeurs de chaîne de connexion ont des propriétés en lecture seule correspondantes.Many of the connection string values have corresponding read-only properties. Lorsque la chaîne de connexion est définie, ces propriétés sont mises à jour, sauf si une erreur est détectée.When the connection string is set, these properties are updated, except when an error is detected. Dans ce cas, aucune des propriétés n’est mise à jour.In this case, none of the properties are updated. OleDbConnectionles propriétés retournent uniquement les paramètres contenus dans ConnectionStringle.OleDbConnection properties return only those settings that are contained in the ConnectionString.

La ConnectionString réinitialisation de sur une connexion fermée réinitialise toutes les valeurs de chaîne de connexion et les propriétés associées.Resetting the ConnectionString on a closed connection resets all connection string values and related properties. Cela comprend le mot de passe.This includes the password. Par exemple, si vous définissez une chaîne de connexion qui comprend « initial Catalog = AdventureWorks », puis que vous réinitialisez la chaîne de connexion à « Provider = SQLOLEDB ; Data Source = MySQLServer ; IntegratedSecurity Database = SSPI », la propriété n’a plus la valeur AdventureWorks.For example, if you set a connection string that includes "Initial Catalog= AdventureWorks", and then reset the connection string to "Provider= SQLOLEDB;Data Source= MySQLServer;IntegratedSecurity=SSPI", the Database property is no longer set to AdventureWorks. (La valeur de catalogue initiale de la chaîne de connexion correspond Database à la propriété.)(The Initial Catalog value of the connection string corresponds to the Database property.)

Une validation préliminaire de la chaîne de connexion est effectuée lorsque la propriété est définie.A preliminary validation of the connection string is performed when the property is set. Si les valeurs de Provider, Connect Timeout, Persist Security Infoou OLE DB Services sont incluses dans la chaîne, ces valeurs sont vérifiées.If values for the Provider, Connect Timeout, Persist Security Info, or OLE DB Services are included in the string, these values are checked. Quand une application appelle la Open méthode, la chaîne de connexion est entièrement validée.When an application calls the Open method, the connection string is fully validated. Si la chaîne de connexion contient des propriétés non valides ou non prises en charge, une exception au ArgumentExceptionmoment de l’exécution, telle que, est générée.If the connection string contains invalid or unsupported properties, a run-time exception, such as ArgumentException, is generated.

Attention

Il est possible de fournir des informations de connexion OleDbConnection pour un dans un fichier Universal Data Link (UDL); Toutefois, vous devez éviter de le faire.It is possible to supply connection information for an OleDbConnection in a Universal Data Link (UDL) file; however you should avoid doing so. Les fichiers UDL ne sont pas chiffrés et exposent les informations de chaîne de connexion en texte clair.UDL files are not encrypted and expose connection string information in clear text. Comme un fichier UDL est une ressource basée sur un fichier externe pour votre application, il n'est pas possible de le sécuriser à l'aide du .NET Framework.Because a UDL file is an external file-based resource to your application, it cannot be secured using the .NET Framework.

Le format de base d’une chaîne de connexion comprend une série de paires mot clé/valeur séparées par des points-virgules.The basic format of a connection string includes a series of keyword/value pairs separated by semicolons. Le signe égal (=) sert de lien entre chaque mot clé et sa valeur.The equal sign (=) connects each keyword and its value. Pour inclure des valeurs qui contiennent un point-virgule, un caractère apostrophe ou un guillemet double, la valeur doit être placée entre guillemets doubles.To include values that contain a semicolon, single-quote character, or double-quote character, the value must be enclosed in double quotation marks. Si la valeur contient à la fois un point-virgule et un caractère guillemet double, la valeur peut être placée entre guillemets simples.If the value contains both a semicolon and a double-quote character, the value can be enclosed in single quotation marks. Le guillemet simple est également utile si la valeur commence par un caractère guillemet double.The single quotation mark is also useful if the value starts with a double-quote character. Inversement, le guillemet double peut être utilisé si la valeur commence par un guillemet simple.Conversely, the double quotation mark can be used if the value starts with a single quotation mark. Si la valeur contient à la fois des guillemets simples et des guillemets doubles, le caractère de guillemets utilisés pour encadrer la valeur doit être doublé chaque fois qu’elle se produit dans la valeur.If the value contains both single-quote and double-quote characters, the quotation-mark character used to enclose the value must be doubled every time it occurs within the value.

Pour inclure des espaces de début ou de fin dans la valeur de chaîne, la valeur doit être placée entre des guillemets simples ou des guillemets doubles.To include preceding or trailing spaces in the string value, the value must be enclosed in either single quotation marks or double quotation marks. Les espaces de début ou de fin autour des valeurs entières, booléennes ou énumérées sont ignorés, même s’ils sont placés entre guillemets.Any leading or trailing spaces around integer, Boolean, or enumerated values are ignored, even if enclosed in quotation marks. Toutefois, les espaces au sein d’un mot clé ou d’une valeur de littéral de chaîne sont conservés.However, spaces within a string literal keyword or value are preserved. Les guillemets simples ou doubles peuvent être utilisés dans une chaîne de connexion sans utiliser de délimiteurs ( Data Source= my'Server par Data Source= my"Serverexemple, ou), sauf si un caractère guillemet est le premier ou le dernier caractère de la valeur.Single or double quotation marks may be used within a connection string without using delimiters (for example, Data Source= my'Server or Data Source= my"Server) unless a quotation-mark character is the first or last character in the value.

Pour inclure un signe égal (=) dans un mot clé ou une valeur, il doit être précédé d’un autre signe égal.To include an equal sign (=) in a keyword or value, it must be preceded by another equal sign. Par exemple, dans la chaîne de connexion hypothétiqueFor example, in the hypothetical connection string

"key==word=value"  

le mot clé est « Key = Word » et la valeur est « value ».the keyword is "key=word" and the value is "value".

Si un mot clé spécifique dans une paire mot clé = valeur se trouve plusieurs fois dans une chaîne de connexion, la dernière occurrence indiquée est utilisée dans la valeur définie.If a specific keyword in a keyword=value pair occurs multiple times in a connection string, the last occurrence listed is used in the value set.

Les mots clés ne respectent pas la casse.Keywords are not case sensitive.

Attention

Vous devez être prudent lors de la construction d’une chaîne de connexion basée sur l’entrée de l’utilisateur, par exemple, lors de la récupération des informations d’ID d’utilisateur et de mot de passe à partir d’une boîte de dialogue et de son ajout à la chaîne de connexion.You should use caution when constructing a connection string based on user input, for example, when retrieving user ID and password information from a dialog box and appending it to the connection string. L’application doit s’assurer qu’un utilisateur ne peut pas incorporer des paramètres de chaîne de connexion supplémentaires dans ces valeurs, par exemple, en entrant un mot de passe sous la forme « validpassword ; Database = somedb » dans une tentative de rattachement à une autre base de données.The application should make sure that a user cannot embed additional connection-string parameters in these values, for example, entering a password as "validpassword;database= somedb" in an attempt to attach to a different database. Si vous utilisez le paramètre de chaîne de connexion des propriétés étendues pour les connexions OLE DB, évitez de passer des ID utilisateur et des mots de passe, car vous devez éviter de stocker les ID utilisateur et les mots de Persist Security Info= false passe en texte clair si vous le pouvez, et parce que le paramètre par défaut de n’est pas affecte le Extended Properties paramètre.If you use the Extended Properties connection string parameter for OLE DB connections, avoid passing user IDs and passwords because you should avoid storing user IDs and passwords in clear text if you can, and because the default setting of Persist Security Info= false does not affect the Extended Properties parameter.

S’applique à

Voir aussi