OdbcConnection Klasa

Definicja

Reprezentuje otwarte połączenie ze źródłem danych.Represents an open connection to a data source.

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

Przykłady

Poniższy przykład tworzy OdbcCommand i OdbcConnection.The following example creates an OdbcCommand and an OdbcConnection. OdbcConnection jest otwarty i ustawiany jako właściwość Connection.The OdbcConnection is opened and set as the Connection property. Przykład następnie wywołuje ExecuteNonQueryi zamyka połączenie.The example then calls ExecuteNonQuery, and closes the connection. Aby to osiągnąć, ExecuteNonQuery jest przekazywać parametry połączenia i ciąg zapytania, który jest instrukcją SQL INSERT.To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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).An OdbcConnection object represents a unique connection to a data source created by using a connection string or ODBC data source name (DSN). W przypadku systemu bazy danych klienta/serwera jest on odpowiednikiem połączenia sieciowego z serwerem.With a client/server database system, it is equivalent to a network connection to the server. 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.Depending on the functionality supported by the native ODBC driver, some methods or properties of an OdbcConnection object may not be available.

Obiekt OdbcConnection używa natywnych zasobów, takich jak środowisko ODBC i uchwyty połączeń.The OdbcConnection object uses native resources such as ODBC environment and connection handles. Należy zawsze jawnie zamknąć wszystkie otwarte OdbcConnection obiekty, wywołując Close lub Dispose przed przekroczeniem zakresu OdbcConnection lub przez umieszczenie połączenia w instrukcji Using.You should always explicitly close any open OdbcConnection objects by calling Close or Dispose before the OdbcConnection object goes out of scope, or by placing the connection within a Using statement. Nie spowoduje to pozostawienia bezpłatnych zasobów natywnych do wyrzucania elementów bezużytecznych.Not doing this leaves the freeing of these native resources to garbage collection. Nie może ona natychmiast zostać zwolniona.It might not free them immediately. To z kolei może ostatecznie spowodować wyczerpanie zasobów podstawowego sterownika lub uzyskać maksymalny limit.This, in turn, can eventually cause the underlying driver to run out of resources or reach a maximum limit. Spowodowało to Sporadyczne awarie.This has resulted in intermittent failures. Na przykład mogą wystąpić błędy związane z Maximum Connections, podczas gdy wiele połączeń oczekuje na usunięcie przez moduł wyrzucania elementów bezużytecznych.For example, you might experience Maximum Connections -related errors while many connections are waiting to be deleted by the garbage collector. Jawne zamknięcie połączeń pozwala na efektywniejsze korzystanie z zasobów natywnych, zwiększenie skalowalności i poprawę ogólnej wydajności aplikacji.Explicitly closing the connections allows for a more efficient use of native resources, enhancing scalability and improving overall application performance.

Uwaga

Aby wdrożyć aplikacje o wysokiej wydajności, często trzeba użyć puli połączeń.To deploy high-performance applications, you frequently must use connection pooling. Jeśli jednak używasz Dostawca danych .NET Framework dla ODBC, nie musisz włączać puli połączeń, ponieważ dostawca ten zarządza automatycznie.However, when you use the .NET Framework Data Provider for ODBC, you do not have to enable connection pooling because the provider manages this automatically.

Jeśli jedna z metod Execute klasy OdbcCommand powoduje OdbcException krytyczne (na przykład poziom ważności SQL Server równy 20 lub większy), OdbcConnection może zostać zamknięty.If one of the Execute methods of the OdbcCommand class causes a fatal OdbcException (for example, a SQL Server severity level of 20 or greater), the OdbcConnection may close. Użytkownik może jednak ponownie otworzyć połączenie i kontynuować pracę.However, the user can reopen the connection and continue.

Aplikacja, która tworzy wystąpienie obiektu OdbcConnection może wymagać, aby wszyscy niebezpośrednie i pośrednie wywołujące mieli wystarczające uprawnienia do kodu przez ustawienie deklaratywnych lub bezwzględnych wymagań w zakresie zabezpieczeń.An application that creates an instance of the OdbcConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OdbcConnection tworzy wymagania dotyczące zabezpieczeń przy użyciu obiektu OdbcPermission.OdbcConnection creates security demands by using the OdbcPermission object. Użytkownicy mogą sprawdzić, czy ich kod ma wystarczające uprawnienia przy użyciu obiektu OdbcPermissionAttribute.Users can verify that their code has sufficient permissions by using the OdbcPermissionAttribute object. Użytkownicy i Administratorzy mogą również używać narzędzia zasad zabezpieczeń dostępu kodu (Caspol. exe) do modyfikowania zasad zabezpieczeń na poziomie komputera, użytkownika i przedsiębiorstwa.Users and administrators can also use the Code Access Security Policy Tool (Caspol.exe) to modify security policy at the computer, user, and enterprise levels. Aby uzyskać więcej informacji, zobacz zabezpieczenia dostępu kodu i ADO.NET.For more information, see Code Access Security and ADO.NET.

Aby uzyskać więcej informacji na temat obsługi ostrzeżeń i komunikatów informacyjnych ze źródła danych, zobacz zdarzenia połączenia.For more information about handling warning and informational messages from the data source, see Connection Events.

Konstruktory

OdbcConnection()

Inicjuje nowe wystąpienie klasy OdbcConnection.Initializes a new instance of the OdbcConnection class.

OdbcConnection(String)

Inicjuje nowe wystąpienie klasy OdbcConnection z określonymi parametrami połączenia.Initializes a new instance of the OdbcConnection class with the specified connection string.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.Gets a value indicating whether the component can raise an event.

(Odziedziczone po Component)
ConnectionString

Pobiera lub ustawia ciąg używany do otwierania źródła danych.Gets or sets the string used to open a data source.

ConnectionTimeout

Pobiera lub ustawia czas oczekiwania (w sekundach) podczas próby nawiązania połączenia przed zakończeniem próby i wygenerowaniem błędu.Gets or sets the time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error.

Container

Pobiera IContainer, który zawiera Component.Gets the IContainer that contains the Component.

(Odziedziczone po Component)
Database

Pobiera nazwę bieżącej bazy danych lub bazę danych, która ma zostać użyta po otwarciu połączenia.Gets the name of the current database or the database to be used after a connection is opened.

DataSource

Pobiera nazwę serwera lub nazwę pliku źródła danych.Gets the server name or file name of the data source.

DbProviderFactory

Pobiera DbProviderFactory dla tego DbConnection.Gets the DbProviderFactory for this DbConnection.

(Odziedziczone po DbConnection)
DesignMode

Pobiera wartość wskazującą, czy Component jest obecnie w trybie projektowania.Gets a value that indicates whether the Component is currently in design mode.

(Odziedziczone po Component)
Driver

Pobiera nazwę sterownika ODBC określonego dla bieżącego połączenia.Gets the name of the ODBC driver specified for the current connection.

Events

Pobiera listę programów obsługi zdarzeń, które są dołączone do tego Component.Gets the list of event handlers that are attached to this Component.

(Odziedziczone po Component)
ServerVersion

Pobiera ciąg zawierający wersję serwera, z którym jest połączony klient.Gets a string that contains the version of the server to which the client is connected.

Site

Pobiera lub ustawia ISite Component.Gets or sets the ISite of the Component.

(Odziedziczone po Component)
State

Pobiera bieżący stan połączenia.Gets the current state of the connection.

Metody

BeginDbTransaction(IsolationLevel)

Gdy jest zastępowany w klasie pochodnej, uruchamia transakcję bazy danych.When overridden in a derived class, starts a database transaction.

(Odziedziczone po DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Asynchronicznie uruchamia transakcję bazy danych.Asynchronously starts a database transaction.

(Odziedziczone po DbConnection)
BeginTransaction()

Uruchamia transakcję w źródle danych.Starts a transaction at the data source.

BeginTransaction(IsolationLevel)

Uruchamia transakcję w źródle danych o określonej wartości IsolationLevel.Starts a transaction at the data source with the specified IsolationLevel value.

BeginTransactionAsync(CancellationToken)

Asynchronicznie rozpoczyna transakcję bazy danych.Asynchronously begins a database transaction.

(Odziedziczone po DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Asynchronicznie rozpoczyna transakcję bazy danych.Asynchronously begins a database transaction.

(Odziedziczone po DbConnection)
ChangeDatabase(String)

Zmienia bieżącą bazę danych skojarzoną z otwartym OdbcConnection.Changes the current database associated with an open OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Asynchronicznie zmienia bieżącą bazę danych dla otwartego połączenia.Asynchronously changes the current database for an open connection.

(Odziedziczone po DbConnection)
Close()

Zamyka połączenie ze źródłem danych.Closes the connection to the data source.

CloseAsync()

Asynchronicznie zamyka połączenie z bazą danych.Asynchronously closes the connection to the database.

(Odziedziczone po DbConnection)
CreateCommand()

Tworzy i zwraca obiekt OdbcCommand skojarzony z OdbcConnection.Creates and returns an OdbcCommand object associated with the OdbcConnection.

CreateDbCommand()

Gdy jest zastępowany w klasie pochodnej, tworzy i zwraca obiekt DbCommand skojarzony z bieżącym połączeniem.When overridden in a derived class, creates and returns a DbCommand object associated with the current connection.

(Odziedziczone po DbConnection)
CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Dispose() (Odziedziczone po DbConnection)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.Releases all resources used by the Component.

(Odziedziczone po Component)
Dispose(Boolean) (Odziedziczone po DbConnection)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Odziedziczone po Component)
DisposeAsync()

Asynchronicznie nakłada obiekt połączenia.Asynchronously diposes the connection object.

(Odziedziczone po DbConnection)
EnlistDistributedTransaction(ITransaction)

Rejestrowanie w określonej transakcji jako transakcja rozproszona.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Rejestrowanie w określonej transakcji jako transakcja rozproszona.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Rejestracja w określonej transakcji.Enlists in the specified transaction.

(Odziedziczone po DbConnection)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetSchema()

Zwraca informacje o schemacie dla źródła danych tego OdbcConnection.Returns schema information for the data source of this OdbcConnection.

GetSchema()

Zwraca informacje o schemacie dla źródła danych tego DbConnection.Returns schema information for the data source of this DbConnection.

(Odziedziczone po DbConnection)
GetSchema(String)

Zwraca informacje o schemacie dla źródła danych tego OdbcConnection przy użyciu określonej nazwy dla nazwy schematu.Returns schema information for the data source of this OdbcConnection using the specified name for the schema name.

GetSchema(String)

Zwraca informacje o schemacie dla źródła danych tego DbConnection przy użyciu określonego ciągu dla nazwy schematu.Returns schema information for the data source of this DbConnection using the specified string for the schema name.

(Odziedziczone po DbConnection)
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ń.Returns schema information for the data source of this OdbcConnection using the specified string for the schema name and the specified string array for the restriction values.

GetSchema(String, String[])

Zwraca informacje o schemacie dla źródła danych tego DbConnection przy użyciu określonego ciągu dla nazwy schematu i określonej tablicy ciągów dla wartości ograniczeń.Returns schema information for the data source of this DbConnection using the specified string for the schema name and the specified string array for the restriction values.

(Odziedziczone po DbConnection)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczoną przez Component lub Container.Returns an object that represents a service provided by the Component or by its Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego obiektu MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Podnosi zdarzenie StateChange.Raises the StateChange event.

(Odziedziczone po DbConnection)
Open()

Otwiera połączenie ze źródłem danych z ustawieniami właściwości określonymi przez ConnectionString.Opens a connection to a data source with the property settings specified by the ConnectionString.

OpenAsync()

Asynchroniczna wersja Open(), która otwiera połączenie z bazą danych z ustawieniami określonymi przez ConnectionString.An asynchronous version of Open(), which opens a database connection with the settings specified by the ConnectionString. Ta metoda wywołuje metodę wirtualną OpenAsync(CancellationToken) z CancellationToken. None.This method invokes the virtual method OpenAsync(CancellationToken) with CancellationToken.None.

(Odziedziczone po DbConnection)
OpenAsync(CancellationToken)

Jest to asynchroniczna wersja Open().This is the asynchronous version of Open(). Dostawcy powinny zastępować odpowiednie implementacje.Providers should override with an appropriate implementation. Token anulowania można opcjonalnie przyjąć.The cancellation token can optionally be honored.

Implementacja domyślna wywołuje synchroniczne wywołanie Open() i zwraca ukończone zadanie.The default implementation invokes the synchronous Open() call and returns a completed task. Domyślna implementacja zwróci anulowane zadanie, jeśli zostało zakończone już anulowane cancellationToken.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Wyjątki zgłoszone przez otwarcie będą przekazywane za pośrednictwem Właściwości zwróconego wyjątku zadania.Exceptions thrown by Open will be communicated via the returned Task Exception property.

Nie wywołuj innych metod i właściwości obiektu DbConnection, dopóki nie zakończy się zwrócone zadanie.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete.

(Odziedziczone po DbConnection)
ReleaseObjectPool()

Wskazuje, że dojście środowiska Menedżera sterowników ODBC może być wydane, gdy ostatnie połączenie podstawowe zostanie wydane.Indicates that the ODBC Driver Manager environment handle can be released when the last underlying connection is released.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
ToString()

Zwraca String zawierający nazwę Component, jeśli istnieje.Returns a String containing the name of the Component, if any. Ta metoda nie powinna być przesłaniana.This method should not be overridden.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik zostanie usunięty przez wywołanie metody Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Odziedziczone po Component)
InfoMessage

Występuje, gdy sterownik ODBC wysyła komunikat ostrzegawczy lub informacyjny.Occurs when the ODBC driver sends a warning or an informational message.

StateChange

Występuje, gdy zmienia się stan połączenia.Occurs when the state of the connection changes.

StateChange

Występuje, gdy zmienia się stan połączenia.Occurs when the state of the connection changes.

(Odziedziczone po DbConnection)

Jawne implementacje interfejsu

ICloneable.Clone()

Aby uzyskać opis tego elementu członkowskiego, zobacz Clone().For a description of this member, see Clone().

IDbConnection.BeginTransaction()

Rozpoczyna transakcję bazy danych.Begins a database transaction.

IDbConnection.BeginTransaction()

Rozpoczyna transakcję bazy danych.Begins a database transaction.

(Odziedziczone po DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Rozpoczyna transakcję bazy danych o określonym poziomie izolacji.Begins a database transaction with the specified isolation level.

IDbConnection.BeginTransaction(IsolationLevel)

Rozpoczyna transakcję bazy danych o określonym poziomie izolacji.Begins a database transaction with the specified isolation level.

(Odziedziczone po DbConnection)
IDbConnection.CreateCommand()

Tworzy i zwraca obiekt polecenia skojarzony z połączeniem.Creates and returns a command object associated with the connection.

IDbConnection.CreateCommand()

Tworzy i zwraca obiekt DbCommand, który jest skojarzony z bieżącym połączeniem.Creates and returns a DbCommand object that is associated with the current connection.

(Odziedziczone po DbConnection)

Dotyczy

Zobacz też