Freigeben über


OleDbConnection-Klasse

Stellt eine offene Verbindung mit einer Datenquelle dar.

Namespace: System.Data.OleDb
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public NotInheritable Class OleDbConnection
    Inherits DbConnection
    Implements ICloneable, IDbConnection, IDisposable
'Usage
Dim instance As OleDbConnection
public sealed class OleDbConnection : DbConnection, ICloneable, IDbConnection, IDisposable
public ref class OleDbConnection sealed : public DbConnection, ICloneable, IDbConnection, IDisposable
public final class OleDbConnection extends DbConnection implements ICloneable, IDbConnection, 
    IDisposable
public final class OleDbConnection extends DbConnection implements ICloneable, IDbConnection, 
    IDisposable

Hinweise

Ein OleDbConnection-Objekt, das eine eindeutige Verbindung mit einer Datenquelle darstellt. Bei Client-/Server-Datenbanksystemen entspricht dies einer Netzwerkverbindung mit dem Server. Abhängig von den vom systemeigenen OLE DB-Anbieter unterstützten Funktionen sind einige Methoden oder Eigenschaften eines OleDbConnection-Objekts möglicherweise nicht verfügbar.

Wenn Sie eine Instanz von OleDbConnection erstellen, werden alle Eigenschaften auf die Anfangswerte festgelegt. Eine Liste dieser Werte finden Sie unter dem OleDbConnection-Konstruktor.

Wenn die OleDbConnection-Klasse den Gültigkeitsbereich verlässt, wird sie nicht geschlossen. Daher müssen Sie explizit die Verbindung schließen, entweder durch Aufruf von Close und Dispose oder durch Verwendung des OleDbConnection-Objekts innerhalb einer Using-Anweisung.

Hinweis

Anwendungen mit hoher Leistung können Sie nur mithilfe von Verbindungspooling bereitstellen. Wenn Sie jedoch den .NET Framework-Datenanbieter für OLE DB verwenden, brauchen Sie das Verbindungspooling nicht zu aktivieren, da dieses vom Anbieter automatisch verwaltet wird. Weitere Informationen über das Verwenden von Verbindungspooling mit dem .NET Framework-Datenanbieter für OLE DB finden Sie unter Verstehen des Verbindungspoolings.

Wenn durch die Methode, die ein OleDbCommand ausführt, eine schwerwiegende OleDbException (z. B. mit einem SQL Server-Schweregrad von 20 oder höher) ausgelöst wird, wird ggf. die OleDbConnection geschlossen. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.

Anwendungen, die eine Instanz des OleDbConnection-Objekts erstellen, können mithilfe von deklarativen oder imperativen Sicherheitsanforderungen festlegen, dass alle direkten und indirekten Aufrufer über die entsprechende Berechtigung für den Code verfügen müssen. OleDbConnection verwendet für Sicherheitsanforderungen das OleDbPermission-Objekt. Benutzer können mit dem OleDbPermissionAttribute-Objekt prüfen, ob ihr Code über die entsprechenden Berechtigungen verfügt. Benutzer und Administratoren können darüber hinaus mit Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe) die Sicherheitsrichtlinien auf Computer-, Benutzer- und Organisationsebene ändern. Weitere Informationen finden Sie unter Codezugriffssicherheit und ADO.NET.

Weitere Informationen über das Behandeln von Warn- und Informationsmeldungen vom Datenserver finden Sie unter Arbeiten mit Connection-Ereignissen.

Hinweis

Das Festlegen oder Abrufen von dynamischen, für den OLE DB-Anbieter spezifischen Eigenschaften wird vom OleDbConnection-Objekt nicht unterstützt. Nur Eigenschaften, die in der Verbindungszeichenfolge für den OLE DB-Provider übergeben werden können, werden unterstützt.

Beispiel

Im folgenden Beispiel werden ein OleDbCommand und eine OleDbConnection erstellt. Die OleDbConnection wird geöffnet und als Connection-Eigenschaft für OleDbCommand festgelegt. Anschließend wird ExecuteNonQuery aufgerufen, und die Verbindung wird geschlossen. Dafür wird ExecuteNonQuery eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, die eine SQL-INSERT-Anweisung ist.

Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OleDbConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OleDbCommand(insertSQL)

        ' Set the Connection to the new OleDbConnection.
        command.Connection = connection

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        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
public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
    }

    public void InsertRow(string connectionString, string insertSQL)
    {
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            // The insertSQL string contains a SQL statement that
            // inserts a new row in the source table.
            OleDbCommand command = new OleDbCommand(insertSQL);

            // Set the Connection to the new OleDbConnection.
            command.Connection = connection;

            // Open the connection and execute the insert command.
            try
            {
                connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            // The connection is automatically closed when the
            // code exits the using block.
        }

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbConnection
        System.Data.OleDb.OleDbConnection

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OleDbConnection-Member
System.Data.OleDb-Namespace

Weitere Ressourcen

Herstellen von Verbindungen zu Datenquellen