OdbcConnection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une connexion ouverte à une source de données.
public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
inherit DbConnection
interface ICloneable
type OdbcConnection = class
inherit Component
interface ICloneable
interface IDbConnection
interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
- Héritage
- Héritage
- Héritage
- Implémente
Exemples
L’exemple suivant crée un OdbcCommand et un OdbcConnection. L’objet OdbcConnection est ouvert et défini comme propriété Connection . L’exemple appelle ExecuteNonQueryensuite et ferme la connexion. Pour ce faire, il ExecuteNonQuery est passé une chaîne de connexion et une chaîne de requête qui est une instruction SQL INSERT.
static private void InsertRow(string connectionString)
{
string queryString =
"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
OdbcCommand command = new OdbcCommand(queryString);
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
command.Connection = connection;
connection.Open();
command.ExecuteNonQuery();
// The connection is automatically closed at
// the end of the Using block.
}
}
Private Sub InsertRow(ByVal connectionString As String)
Dim queryString As String = _
"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
Dim command As New OdbcCommand(queryString)
Using connection As New OdbcConnection(connectionString)
command.Connection = connection
connection.Open()
command.ExecuteNonQuery()
' The connection is automatically closed at
' the end of the Using block.
End Using
End Sub
Remarques
Un OdbcConnection objet représente une connexion unique à une source de données créée à l’aide d’une chaîne de connexion ou d’un nom de source de données ODBC (DSN). Avec un système de base de données client/serveur, il équivaut à une connexion réseau au serveur. Selon les fonctionnalités prises en charge par le pilote ODBC natif, certaines méthodes ou propriétés d’un OdbcConnection objet peuvent ne pas être disponibles.
L’objet OdbcConnection utilise des ressources natives telles que l’environnement ODBC et les handles de connexion. Vous devez toujours fermer explicitement tous les objets ouverts OdbcConnection en appelant Close ou Supprimer avant que l’objet OdbcConnection ne soit hors de portée, ou en plaçant la connexion dans une Using instruction. Cela ne laisse pas la libération de ces ressources natives au garbage collection. Il peut ne pas les libérer immédiatement. Cela peut, à son tour, entraîner l’expiration du pilote sous-jacent ou atteindre une limite maximale. Cela a entraîné des défaillances intermittentes. Par exemple, vous pouvez rencontrer Maximum Connections des erreurs -related pendant que de nombreuses connexions attendent d’être supprimées par le garbage collector. La fermeture explicite des connexions permet d’utiliser plus efficacement les ressources natives, d’améliorer la scalabilité et d’améliorer les performances globales des applications.
Note
Pour déployer des applications hautes performances, vous devez fréquemment utiliser le regroupement de connexions. Toutefois, lorsque vous utilisez le fournisseur de données .NET Framework pour ODBC, vous n’avez pas besoin d’activer le regroupement de connexions, car le fournisseur gère cela automatiquement.
Si l’une des Execute méthodes de la OdbcCommand classe provoque une erreur irrécupérable OdbcException (par exemple, un niveau de gravité SQL Server de 20 ou supérieur), la OdbcConnection valeur peut se fermer. Toutefois, l’utilisateur peut rouvrir la connexion et continuer.
Une application qui crée une instance de l’objet OdbcConnection peut exiger que tous les appelants directs et indirects disposent d’une autorisation suffisante pour le code en définissant des exigences de sécurité déclaratives ou impératives. OdbcConnection crée des demandes de sécurité à l’aide de l’objet OdbcPermission . Les utilisateurs peuvent vérifier que leur code dispose d’autorisations suffisantes à l’aide de l’objet OdbcPermissionAttribute . Les utilisateurs et les administrateurs peuvent également utiliser l’outil de stratégie de sécurité d’accès au code (Caspol.exe) pour modifier la stratégie de sécurité au niveau de l’ordinateur, de l’utilisateur et de l’entreprise. Pour plus d'informations, consultez Code Access Security and ADO.NET.
Pour plus d’informations sur la gestion des messages d’avertissement et d’information à partir de la source de données, consultez Événements de connexion.
Constructeurs
| Nom | Description |
|---|---|
| OdbcConnection() |
Initialise une nouvelle instance de la classe OdbcConnection. |
| OdbcConnection(String) |
Initialise une nouvelle instance de la OdbcConnection classe avec la chaîne de connexion spécifiée. |
Propriétés
| Nom | Description |
|---|---|
| CanRaiseEvents |
Obtient une valeur indiquant si le composant peut déclencher un événement. (Hérité de Component) |
| ConnectionString |
Obtient ou définit la chaîne utilisée pour ouvrir une source de données. |
| ConnectionTimeout |
Obtient ou définit le délai d’attente (en secondes) lors de la tentative d’établissement d’une connexion avant de terminer la tentative et de générer une erreur. |
| Container |
Obtient le IContainer fichier qui contient le Component. (Hérité de Component) |
| Database |
Obtient le nom de la base de données active ou de la base de données à utiliser après l’ouverture d’une connexion. |
| DataSource |
Obtient le nom du serveur ou le nom de fichier de la source de données. |
| DbProviderFactory |
Obtient la DbProviderFactory valeur de ce DbConnection. (Hérité de DbConnection) |
| DesignMode |
Obtient une valeur qui indique si la Component valeur est actuellement en mode création. (Hérité de Component) |
| Driver |
Obtient le nom du pilote ODBC spécifié pour la connexion actuelle. |
| Events |
Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component. (Hérité de Component) |
| ServerVersion |
Obtient une chaîne qui contient la version du serveur auquel le client est connecté. |
| Site |
Obtient ou définit le ISiteComponent. (Hérité de Component) |
| State |
Obtient l’état actuel de la connexion. |
Méthodes
| Nom | Description |
|---|---|
| BeginDbTransaction(IsolationLevel) |
En cas de substitution dans une classe dérivée, démarre une transaction de base de données. (Hérité de DbConnection) |
| BeginTransaction() |
Démarre une transaction à la source de données. |
| BeginTransaction(IsolationLevel) |
Démarre une transaction à la source de données avec la valeur spécifiée IsolationLevel . |
| ChangeDatabase(String) |
Modifie la base de données actuelle associée à un open OdbcConnection. |
| Close() |
Ferme la connexion à la source de données. |
| CreateCommand() |
Crée et retourne un OdbcCommand objet associé au OdbcConnection. |
| CreateDbCommand() |
En cas de substitution dans une classe dérivée, crée et retourne un DbCommand objet associé à la connexion actuelle. (Hérité de DbConnection) |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le Component. (Hérité de Component) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les Component ressources gérées et libère éventuellement les ressources managées. (Hérité de Component) |
| EnlistDistributedTransaction(ITransaction) |
Inscrit dans la transaction spécifiée en tant que transaction distribuée. |
| EnlistTransaction(Transaction) |
Inscrit dans la transaction spécifiée en tant que transaction distribuée. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetSchema() |
Retourne des informations de schéma pour la source de données de ce OdbcConnection. |
| GetSchema(String, String[]) |
Retourne des informations de schéma pour la source de données de cette OdbcConnection méthode à l’aide de la chaîne spécifiée pour le nom du schéma et du tableau de chaînes spécifié pour les valeurs de restriction. |
| GetSchema(String) |
Retourne des informations de schéma pour la source de données de cette OdbcConnection méthode à l’aide du nom spécifié pour le nom du schéma. |
| GetService(Type) |
Retourne un objet qui représente un service fourni par le Component ou par son Container. (Hérité de Component) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| OnStateChange(StateChangeEventArgs) |
Déclenche l’événement StateChange. (Hérité de DbConnection) |
| Open() |
Ouvre une connexion à une source de données avec les paramètres de propriété spécifiés par le ConnectionString. |
| OpenAsync() |
Version asynchrone de , qui ouvre une connexion de base de Open()données avec les paramètres spécifiés par le ConnectionString. Cette méthode appelle la méthode OpenAsync(CancellationToken) virtuelle avec CancellationToken.None. (Hérité de DbConnection) |
| OpenAsync(CancellationToken) |
Il s’agit de la version asynchrone de Open(). Les fournisseurs doivent remplacer par une implémentation appropriée. Le jeton d’annulation peut éventuellement être honoré. L’implémentation par défaut appelle l’appel synchrone Open() et retourne une tâche terminée. L’implémentation par défaut retourne une tâche annulée si elle a passé une annulation d’annulationToken. Les exceptions levées par Open seront communiquées via la propriété Exception de tâche retournée. N’appelez pas d’autres méthodes et propriétés de l’objet |
| ReleaseObjectPool() |
Indique que le handle d’environnement ODBC Driver Manager peut être libéré lorsque la dernière connexion sous-jacente est publiée. |
| ToString() |
Retourne un String nom contenant le nom du Component, le cas échéant. Cette méthode ne doit pas être remplacée. (Hérité de Component) |
Événements
| Nom | Description |
|---|---|
| Disposed |
Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode. (Hérité de Component) |
| InfoMessage |
Se produit lorsque le pilote ODBC envoie un avertissement ou un message d’information. |
| StateChange |
Se produit lorsque l’état de la connexion change. |
| StateChange |
Se produit lorsque l’état de la connexion change. (Hérité de DbConnection) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| ICloneable.Clone() |
Pour obtenir une description de ce membre, consultez Clone(). |
| IDbConnection.BeginTransaction() |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Commence une transaction de base de données. |
| IDbConnection.BeginTransaction() |
Commence une transaction de base de données. (Hérité de DbConnection) |
| IDbConnection.BeginTransaction(IsolationLevel) |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Commence une transaction de base de données avec le niveau d’isolation spécifié. |
| IDbConnection.BeginTransaction(IsolationLevel) |
Commence une transaction de base de données avec le niveau d’isolation spécifié. (Hérité de DbConnection) |
| IDbConnection.CreateCommand() |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Crée et retourne un objet de commande associé à la connexion. |
| IDbConnection.CreateCommand() |
Crée et retourne un DbCommand objet associé à la connexion actuelle. (Hérité de DbConnection) |