OdbcConnection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ą.
|
GetSchemaAsync(String, CancellationToken) |
Jest to asynchroniczna wersja GetSchema(String).
Dostawcy powinni zastąpić odpowiednią implementacją.
|
GetSchemaAsync(String, String[], CancellationToken) |
Jest to asynchroniczna wersja GetSchema(String, String[]).
Dostawcy powinni zastąpić odpowiednią implementacją.
|
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 |
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. |