Udostępnij przez


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 element OdbcCommand i .OdbcConnection Obiekt OdbcConnection jest otwierany i ustawiany jako Connection właściwość. W tym przykładzie jest wywoływana ExecuteNonQueryfunkcja , a następnie zamyka połączenie. Aby to osiągnąć, ExecuteNonQuery jest przekazywany parametry połączenia i ciąg zapytania, który jest 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

OdbcConnection Obiekt reprezentuje unikatowe połączenie ze źródłem danych utworzonym przy użyciu nazwy źródła danych parametry połączenia lub ODBC (DSN). W systemie 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 OdbcConnection obiektu mogą nie być dostępne.

Obiekt OdbcConnection używa zasobów natywnych, takich jak środowisko ODBC i uchwyty połączeń. Zawsze należy jawnie zamknąć wszystkie otwarte OdbcConnection obiekty przez wywołanie Close lub usuwanie przed OdbcConnection wyjściem Using obiektu z zakresu lub przez umieszczenie połączenia w instrukcji. 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ągnie maksymalny limit. Spowodowało to sporadyczne błędy. Na przykład mogą wystąpić Maximum Connections błędy związane z błędami, 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.

Uwaga

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

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

Aplikacja, która tworzy wystąpienie OdbcConnection obiektu, może wymagać od wszystkich wywołań bezpośrednich i pośrednich, aby mieć wystarczające uprawnienia do kodu, ustawiając deklaratywne lub imperatywne wymagania dotyczące zabezpieczeń. OdbcConnection tworzy wymagania dotyczące zabezpieczeń przy użyciu OdbcPermission obiektu . Użytkownicy mogą sprawdzić, czy kod ma wystarczające uprawnienia przy użyciu OdbcPermissionAttribute obiektu. Użytkownicy i administratorzy mogą również używać narzędzia zasad zabezpieczeń dostępu kodu (Caspol.exe), aby zmodyfikować zasady zabezpieczeń na poziomie komputera, użytkownika i przedsiębiorstwa. Aby uzyskać więcej informacji, zobacz Zabezpieczenia dostępu do kodu i 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 OdbcConnection nowe wystąpienie klasy z określonym parametry połączenia.

Właściwości

CanCreateBatch

Pobiera wartość wskazującą, czy to DbConnection wystąpienie 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 element IContainer zawierający element 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 element DbProviderFactory dla tego pliku DbConnection.

(Odziedziczone po DbConnection)
DesignMode

Pobiera wartość wskazującą, czy Component element 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 tego Componentelementu .

(Odziedziczone po Component)
ServerVersion

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

Site

Pobiera lub ustawia ISite element .Component

(Odziedziczone po Component)
State

Pobiera bieżący stan połączenia.

Metody

BeginDbTransaction(IsolationLevel)

Po zastąpieniu klasy 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ą IsolationLevel wartością.

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 plikiem 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 OdbcCommand obiekt skojarzony z obiektem 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 klasy pochodnej tworzy i zwraca DbCommand obiekt 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 zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

(Odziedziczone po DbConnection)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

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

(Odziedziczone po DbConnection)
Dispose(Boolean)

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

(Odziedziczone po Component)
DisposeAsync()

Asynchronicznie dysponuje 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 dany obiekt jest taki sam, jak bieżący obiekt.

(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 OdbcConnectionelementu .

GetSchema(String)

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

GetSchema(String, String[])

Zwraca informacje o schemacie dla źródła OdbcConnection danych 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 programu GetSchema(). Dostawcy powinni zastąpić odpowiednią implementacją. Opcjonalnie cancellationToken można je honorować. Domyślna implementacja wywołuje wywołanie synchroniczne GetSchema() i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany cancellationTokenelement . Wyjątki zgłoszone przez GetSchema() program będą przekazywane za pośrednictwem zwróconej właściwości Wyjątki zadania.

(Odziedziczone po DbConnection)
GetSchemaAsync(String, CancellationToken)

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

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

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

(Odziedziczone po DbConnection)
GetService(Type)

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

(Odziedziczone po Component)
GetType()

Type Pobiera bieżące wystąpienie.

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

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

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

(Odziedziczone po Object)
MemberwiseClone(Boolean)

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

(Odziedziczone po MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

StateChange Zgłasza zdarzenie.

(Odziedziczone po DbConnection)
Open()

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

OpenAsync()

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

(Odziedziczone po DbConnection)
OpenAsync(CancellationToken)

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

Domyślna implementacja wywołuje wywołanie synchroniczne 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ątku zadania.

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

(Odziedziczone po DbConnection)
ReleaseObjectPool()

Wskazuje, że obsługa środowiska menedżera sterowników ODBC może zostać wydana po wydaniu ostatniego połączenia bazowego.

ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , 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 Dispose() metody .

(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 DbCommand obiekt skojarzony z bieżącym połączeniem.

(Odziedziczone po DbConnection)

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje sposób oczekiwania na zadania zwracane z asynchronicznego jednorazowego wykonania.

Dotyczy

Zobacz też