Udostępnij za pośrednictwem


OdbcConnection Klasa

Definicja

Reprezentuje otwarte połączenie ze źródłem danych.

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
Dziedziczenie
Dziedziczenie
Implementuje

Przykłady

Poniższy przykład tworzy OdbcCommand i OdbcConnection. OdbcConnection jest otwarty i ustawiany jako właściwość Connection. W tym przykładzie wywołamy ExecuteNonQueryi zamkniemy połączenie. W tym celu ExecuteNonQuery jest przekazywana parametry połączenia i parametry zapytania, które są instrukcją 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

Uwagi

Obiekt OdbcConnection reprezentuje unikatowe połączenie ze źródłem danych utworzonym przy użyciu parametrów połączenia lub nazwy źródła danych ODBC (DSN). W przypadku systemu bazy danych klienta/serwera jest on odpowiednikiem połączenia sieciowego z serwerem. W zależności od funkcjonalności obsługiwanej przez natywny sterownik ODBC niektóre metody lub właściwości obiektu OdbcConnection mogą być niedostępne.

Obiekt OdbcConnection używa zasobów natywnych, takich jak środowisko ODBC i dojścia połączeń. Zawsze należy jawnie zamknąć wszystkie otwarte obiekty OdbcConnection przez wywołanie Close lub Dispose przed wyjściem obiektu OdbcConnection z zakresu lub przez umieszczenie połączenia w instrukcji Using. Nie powoduje to zwolnienia tych zasobów natywnych do odzyskiwania pamięci. To może nie uwolnić ich natychmiast. Z kolei może to spowodować, że podstawowy sterownik zabraknie zasobów lub osiągnięcie maksymalnego limitu. Spowodowało to sporadyczne błędy. Na przykład mogą wystąpić Maximum Connections -related błędy, podczas gdy wiele połączeń oczekuje na usunięcie przez moduł odśmiecający pamięci. Jawne zamykanie połączeń umożliwia bardziej wydajne wykorzystanie zasobów natywnych, zwiększenie skalowalności i poprawę ogólnej wydajności aplikacji.

Nuta

Aby wdrożyć aplikacje o wysokiej wydajności, często należy używać buforowania połączeń. Jednak w przypadku korzystania z dostawcy danych programu .NET Framework dla ODBC nie trzeba włączać buforowania połączeń, ponieważ dostawca zarządza tym automatycznie.

Jeśli jedna z metod Execute klasy OdbcCommand powoduje OdbcException krytyczny (na przykład poziom ważności programu SQL Server o wartości 20 lub większej), OdbcConnection może zostać zamknięta. Użytkownik może jednak ponownie otworzyć połączenie i kontynuować.

Aplikacja, która tworzy wystąpienie obiektu OdbcConnection, może wymagać od wszystkich wywołań bezpośrednich i pośrednich wystarczających uprawnień do kodu przez ustawienie żądań deklaratywnych lub imperatywnych zabezpieczeń. OdbcConnection tworzy wymagania dotyczące zabezpieczeń przy użyciu obiektu OdbcPermission. Użytkownicy mogą sprawdzić, czy ich kod ma wystarczające uprawnienia, używając obiektu OdbcPermissionAttribute. Użytkownicy i administratorzy mogą również użyć narzędzia zasad zabezpieczeń dostępu kodu (Caspol.exe) do modyfikowania zasad zabezpieczeń na komputerach, użytkownikach i poziomach przedsiębiorstwa. Aby uzyskać więcej informacji, zobacz Code Access Security and ADO.NET.

Aby uzyskać więcej informacji na temat obsługi komunikatów ostrzegawczych i informacyjnych ze źródła danych, zobacz Zdarzenia połączenia.

Konstruktory

OdbcConnection()

Inicjuje nowe wystąpienie klasy OdbcConnection.

OdbcConnection(String)

Inicjuje nowe wystąpienie klasy OdbcConnection z określonymi parametrami połączenia.

Właściwości

CanCreateBatch

Pobiera wartość wskazującą, czy to wystąpienie DbConnection obsługuje klasę DbBatch.

(Odziedziczone po DbConnection)
CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
ConnectionString

Pobiera lub ustawia ciąg używany do otwierania źródła danych.

ConnectionTimeout

Pobiera lub ustawia czas oczekiwania (w sekundach) podczas próby nawiązania połączenia przed zakończeniem próby i wygenerowaniem błędu.

Container

Pobiera IContainer, który zawiera Component.

(Odziedziczone po Component)
Database

Pobiera nazwę bieżącej bazy danych lub bazy danych do użycia po otwarciu połączenia.

DataSource

Pobiera nazwę serwera lub nazwę pliku źródła danych.

DbProviderFactory

Pobiera DbProviderFactory dla tego DbConnection.

(Odziedziczone po DbConnection)
DesignMode

Pobiera wartość wskazującą, czy Component jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Driver

Pobiera nazwę sterownika ODBC określonego dla bieżącego połączenia.

Events

Pobiera listę programów obsługi zdarzeń dołączonych do tej Component.

(Odziedziczone po Component)
ServerVersion

Pobiera ciąg zawierający wersję serwera, z którym jest połączony klient.

Site

Pobiera lub ustawia ISiteComponent.

(Odziedziczone po Component)
State

Pobiera bieżący stan połączenia.

Metody

BeginDbTransaction(IsolationLevel)

Po zastąpieniu w klasie pochodnej uruchamia transakcję bazy danych.

(Odziedziczone po DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Asynchronicznie uruchamia transakcję bazy danych.

(Odziedziczone po DbConnection)
BeginTransaction()

Uruchamia transakcję w źródle danych.

BeginTransaction(IsolationLevel)

Uruchamia transakcję w źródle danych z określoną wartością IsolationLevel.

BeginTransactionAsync(CancellationToken)

Asynchronicznie rozpoczyna transakcję bazy danych.

(Odziedziczone po DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Asynchronicznie rozpoczyna transakcję bazy danych.

(Odziedziczone po DbConnection)
ChangeDatabase(String)

Zmienia bieżącą bazę danych skojarzona z otwartym OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Asynchronicznie zmienia bieżącą bazę danych dla otwartego połączenia.

(Odziedziczone po DbConnection)
Close()

Zamyka połączenie ze źródłem danych.

CloseAsync()

Asynchronicznie zamyka połączenie z bazą danych.

(Odziedziczone po DbConnection)
CreateBatch()

Zwraca nowe wystąpienie klasy dostawcy, która implementuje klasę DbBatch.

(Odziedziczone po DbConnection)
CreateCommand()

Tworzy i zwraca obiekt OdbcCommand skojarzony z OdbcConnection.

CreateDbBatch()

Po zastąpieniu klasy pochodnej zwraca nowe wystąpienie klasy dostawcy, które implementuje klasę DbBatch.

(Odziedziczone po DbConnection)
CreateDbCommand()

Po zastąpieniu w klasie pochodnej tworzy i zwraca obiekt DbCommand skojarzony z bieżącym połączeniem.

(Odziedziczone po DbConnection)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Wykonuje zadania zdefiniowane przez aplikację skojarzone z zwalnianiem, wydawaniem lub resetowaniem niezarządzanych zasobów.

(Odziedziczone po DbConnection)
Dispose()

Zwalnia wszystkie zasoby używane przez Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez DbConnection i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po DbConnection)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez Component i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po Component)
DisposeAsync()

Asynchronicznie diposuje obiekt połączenia.

(Odziedziczone po DbConnection)
EnlistDistributedTransaction(ITransaction)

Enlists w określonej transakcji jako transakcji rozproszonej.

EnlistTransaction(Transaction)

Enlists w określonej transakcji jako transakcji rozproszonej.

EnlistTransaction(Transaction)

Enlists w określonej transakcji.

(Odziedziczone po DbConnection)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetSchema()

Zwraca informacje o schemacie dla źródła danych tego OdbcConnection.

GetSchema(String)

Zwraca informacje o schemacie dla źródła danych tego OdbcConnection przy użyciu określonej nazwy schematu.

GetSchema(String, String[])

Zwraca informacje o schemacie dla źródła danych tego OdbcConnection przy użyciu określonego ciągu dla nazwy schematu i określonej tablicy ciągów dla wartości ograniczeń.

GetSchemaAsync(CancellationToken)

Jest to asynchroniczna wersja GetSchema(). Dostawcy powinni zastąpić odpowiednią implementacją. cancellationToken można opcjonalnie honorować. Domyślna implementacja wywołuje synchroniczne wywołanie GetSchema() i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli zostało już anulowane cancellationToken. Wyjątki zgłaszane przez GetSchema() będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

(Odziedziczone po DbConnection)
GetSchemaAsync(String, CancellationToken)

Jest to asynchroniczna wersja GetSchema(String). Dostawcy powinni zastąpić odpowiednią implementacją. cancellationToken można opcjonalnie honorować. Domyślna implementacja wywołuje synchroniczne wywołanie GetSchema(String) i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli zostało już anulowane cancellationToken. Wyjątki zgłaszane przez GetSchema(String) będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

(Odziedziczone po DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Jest to asynchroniczna wersja GetSchema(String, String[]). Dostawcy powinni zastąpić odpowiednią implementacją. cancellationToken można opcjonalnie honorować. Domyślna implementacja wywołuje synchroniczne wywołanie GetSchema(String, String[]) i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli zostało już anulowane cancellationToken. Wyjątki zgłaszane przez GetSchema(String, String[]) będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

(Odziedziczone po DbConnection)
GetService(Type)

Zwraca obiekt reprezentujący usługę dostarczaną przez Component lub Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego obiektu MarshalByRefObject.

(Odziedziczone po MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Zgłasza zdarzenie StateChange.

(Odziedziczone po DbConnection)
Open()

Otwiera połączenie ze źródłem danych z ustawieniami właściwości określonymi przez ConnectionString.

OpenAsync()

Asynchroniczna wersja Open(), która otwiera połączenie bazy danych z ustawieniami określonymi przez ConnectionString. Ta metoda wywołuje metodę wirtualną OpenAsync(CancellationToken) z elementem CancellationToken.None.

(Odziedziczone po DbConnection)
OpenAsync(CancellationToken)

Jest to asynchroniczna wersja Open(). Dostawcy powinni zastąpić odpowiednią implementacją. Token anulowania można opcjonalnie honorować.

Domyślna implementacja wywołuje synchroniczne wywołanie Open() i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowane anulowanieToken. Wyjątki zgłaszane przez program Open będą przekazywane za pośrednictwem zwróconej właściwości Wyjątek zadania.

Nie należy wywoływać innych metod i właściwości obiektu DbConnection, dopóki zwrócone zadanie nie zostanie ukończone.

(Odziedziczone po DbConnection)
ReleaseObjectPool()

Wskazuje, że dojście środowiska menedżera sterowników ODBC można zwolnić po wydaniu ostatniego bazowego połączenia.

ToString()

Zwraca String zawierającą nazwę Component, jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie metody Dispose().

(Odziedziczone po Component)
InfoMessage

Występuje, gdy sterownik ODBC wysyła ostrzeżenie lub komunikat informacyjny.

StateChange

Występuje, gdy stan połączenia ulegnie zmianie.

StateChange

Występuje, gdy stan połączenia ulegnie zmianie.

(Odziedziczone po DbConnection)

Jawne implementacje interfejsu

ICloneable.Clone()

Aby uzyskać opis tego elementu członkowskiego, zobacz Clone().

IDbConnection.BeginTransaction()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Rozpoczyna transakcję bazy danych.

IDbConnection.BeginTransaction()

Rozpoczyna transakcję bazy danych.

(Odziedziczone po DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Rozpoczyna transakcję bazy danych z określonym poziomem izolacji.

IDbConnection.BeginTransaction(IsolationLevel)

Rozpoczyna transakcję bazy danych z określonym poziomem izolacji.

(Odziedziczone po DbConnection)
IDbConnection.CreateCommand()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Tworzy i zwraca obiekt polecenia skojarzony z połączeniem.

IDbConnection.CreateCommand()

Tworzy i zwraca obiekt DbCommand skojarzony z bieżącym połączeniem.

(Odziedziczone po DbConnection)

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, w jaki sposób będą wykonywane oczekiwania na zadania zwrócone z asynchronicznego jednorazowego użytku.

Dotyczy

Zobacz też