OleDbConnection.ConnectionString Propriété

Définition

Obtient ou définit la chaîne utilisée pour ouvrir une base de données.

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

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. La valeur par défaut est une chaîne vide.

Implémente

Attributs

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.

Exemples

L’exemple suivant crée un OleDbConnection et définit certaines de ses propriétés dans le chaîne de connexion.

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 correspondre au format OLE DB chaîne de connexion aussi étroitement que possible avec les exceptions suivantes :

  • La clause « Provider = value » est obligatoire. 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). Pour accéder aux sources de données ODBC, utilisez l’objet OdbcConnection qui se trouve dans l’espace de System.Data.Odbc noms .

  • Contrairement à ODBC ou ADO, le chaîne de connexion retourné est identique au jeu ConnectionStringd’utilisateurs , moins les informations de sécurité si Persist Security Info est défini sur false (par défaut). Le fournisseur de données .NET Framework pour OLE DB ne conserve pas ou ne retourne pas le mot de passe dans un chaîne de connexion, sauf si vous définissez le Persist Security Info mot clé sur true (non recommandé). Pour maintenir un niveau de sécurité élevé, il est fortement recommandé d’utiliser le Integrated Security mot clé avec Persist Security Info défini sur false.

Vous pouvez utiliser la ConnectionString propriété pour vous connecter à diverses sources de données. L’exemple suivant illustre plusieurs chaînes de connexion possibles.

"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 le chaîne de connexion, le fournisseur tente de se connecter au serveur local s’il est disponible.

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.

La ConnectionString propriété peut être définie uniquement lorsque la connexion est fermée. La plupart des valeurs chaîne de connexion ont des propriétés en lecture seule correspondantes. Lorsque le chaîne de connexion est défini, ces propriétés sont mises à jour, sauf lorsqu’une erreur est détectée. Dans ce cas, aucune des propriétés n’est mise à jour. OleDbConnection les propriétés retournent uniquement les paramètres contenus dans le ConnectionString.

La réinitialisation de sur ConnectionString une connexion fermée réinitialise toutes les valeurs chaîne de connexion et les propriétés associées. Cela inclut le mot de passe. Par exemple, si vous définissez un chaîne de connexion qui inclut « Initial Catalog= AdventureWorks », puis réinitialisez le chaîne de connexion sur « Provider= SQLOLEDB ; Source de données = MySQLServer ; IntegratedSecurity=SSPI », la Database propriété n’est plus définie sur AdventureWorks. (La valeur catalogue initial de l’chaîne de connexion correspond à la Database propriété.)

Une validation préliminaire du chaîne de connexion est effectuée lorsque la propriété est définie. 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. Lorsqu’une application appelle la Open méthode, la chaîne de connexion est entièrement validée. Si le chaîne de connexion contient des propriétés non valides ou non prises en charge, une exception d’exécution, telle que ArgumentException, est générée.

Attention

Il est possible de fournir des informations de connexion pour un OleDbConnection dans un fichier UDL (Universal Data Link), mais vous devez éviter de le faire. Les fichiers UDL ne sont pas chiffrés et exposent chaîne de connexion informations en texte clair. 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.

Le format de base d’un chaîne de connexion comprend une série de paires mot clé/valeur séparées par des points-virgules. Le signe égal (=) sert de lien entre chaque mot clé et sa valeur. Pour inclure des valeurs qui contiennent un point-virgule, un guillemet simple ou un guillemet double, la valeur doit être placée entre guillemets doubles. Si la valeur contient à la fois un point-virgule et un guillemet double, la valeur peut être placée entre guillemets simples. Le guillemet simple est également utile si la valeur commence par un guillemet double. À l’inverse, le guillemet double peut être utilisé si la valeur commence par un guillemet unique. Si la valeur contient à la fois des guillemets simples et des guillemets doubles, le caractère de guillemets utilisé pour entourer la valeur doit être doublé chaque fois qu’il se produit dans la valeur.

Pour inclure des espaces précédents ou de fin dans la valeur de chaîne, la valeur doit être placée entre guillemets simples ou guillemets doubles. Tous 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. Toutefois, les espaces dans un littéral de chaîne mot clé ou une valeur sont conservés. Des guillemets simples ou doubles peuvent être utilisés dans un chaîne de connexion sans utiliser de délimiteurs (par exemple, Data Source= my'Server ou Data Source= my"Server) sauf si un guillemet est le premier ou le dernier caractère de la valeur.

Pour inclure un signe égal (=) dans un mot clé ou une valeur, il doit être précédé d’un autre signe égal. Par exemple, dans l’hypothétique chaîne de connexion

"key==word=value"

le mot clé est « key=word » et la valeur est « value ».

Si une mot clé spécifique dans une paire mot clé=valeur se produit plusieurs fois dans un chaîne de connexion, la dernière occurrence répertoriée est utilisée dans le jeu de valeurs.

Les mots clés ne respectent pas la casse.

Attention

Vous devez faire preuve de prudence lors de la construction d’un chaîne de connexion basé sur l’entrée utilisateur, par exemple, lors de la récupération des informations d’ID utilisateur et de mot de passe à partir d’une boîte de dialogue et de leur ajout à la chaîne de connexion. 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 comme « validpassword ; database= somedb » dans une tentative d’attachement à une autre base de données. Si vous utilisez le paramètre Extended Properties chaîne de connexion pour les connexions OLE DB, évitez de transmettre des ID utilisateur et des mots de passe, car vous devez éviter de stocker les ID et mots de passe des utilisateurs en texte clair si vous le pouvez, et parce que le paramètre par défaut de n’affecte Persist Security Info= false pas le Extended Properties paramètre.

S’applique à

Voir aussi