OdbcConnection 類別

定義

表示資料來源的開啟連接。

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
繼承
OdbcConnection
繼承
繼承
實作

範例

下列範例會 OdbcCommand 建立 和 OdbcConnectionOdbcConnection會開啟並設定為 Connection 屬性。 然後範例會呼叫 ExecuteNonQuery ,並關閉連線。 若要達成此目的,會 ExecuteNonQuery 傳遞連接字串和 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

備註

OdbcConnection物件代表使用連接字串或 ODBC 資料來源名稱所建立之資料來源的唯一連線, (DSN) 。 使用用戶端/伺服器資料庫系統時,相當於與伺服器的網路連線。 根據原生 ODBC 驅動程式所支援的功能,某些物件的方法或屬性 OdbcConnection 可能無法使用。

物件 OdbcConnection 會使用原生資源,例如 ODBC 環境和連接控制碼。 您應該一律在物件超出範圍之前 OdbcConnection 呼叫 CloseDispose,或在 語句中 Using 放置連接,明確關閉任何開啟 OdbcConnection 的物件。 不這麼做可讓這些原生資源釋出至垃圾收集。 它可能不會立即釋出它們。 接著,這可能會導致基礎驅動程式用盡資源或達到上限。 這會導致間歇性失敗。 例如,當許多連線正在等候垃圾收集行程刪除時,您可能會遇到 Maximum Connections 相關的錯誤。 明確關閉連線可讓您更有效率地使用原生資源、增強延展性和改善整體應用程式效能。

注意

若要部署高效能應用程式,您經常必須使用連線共用。 不過,當您使用 .NET Framework Data Provider for ODBC 時,您不需要啟用連線共用,因為提供者會自動管理此專案。

例如,如果 類別的 ExecuteOdbcCommand 其中一個方法造成嚴重 OdbcException (,則SQL Server嚴重性層級為 20 或更新) ,可能會 OdbcConnection 關閉。 但是,使用者可以再次開啟連線,然後繼續進行。

建立 物件實例的應用程式 OdbcConnection ,可以藉由設定宣告式或命令式安全性需求,要求所有直接和間接呼叫端擁有足夠的程式碼許可權。 OdbcConnection 使用 OdbcPermission 物件建立安全性需求。 使用者可以使用 物件來確認其程式碼具有足夠的許可權 OdbcPermissionAttribute 。 使用者和系統管理員也可以使用代碼存取安全性原則工具 (Caspol.exe) 修改電腦、使用者和企業層級的安全性原則。 如需詳細資訊,請參閱 Code Access Security and ADO.NET

如需從資料來源處理警告和參考訊息的詳細資訊,請參閱 連接事件

建構函式

OdbcConnection()

初始化 OdbcConnection 類別的新執行個體。

OdbcConnection(String)

使用指定的連接字串,初始化 OdbcConnection 類別的新執行個體。

屬性

CanCreateBatch

取得值,指出這個 DbConnection 執行個體是否支援 DbBatch 類別。

(繼承來源 DbConnection)
CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
ConnectionString

取得或設定用來開啟資料來源的字串。

ConnectionTimeout

取得或設定在終止嘗試並產生錯誤前嘗試建立連接的等待時間 (以秒為單位)。

Container

取得包含 IContainerComponent

(繼承來源 Component)
Database

取得目前資料庫或要在連接開啟之後使用的資料庫名稱。

DataSource

取得資料來源的伺服器名稱或檔案名稱。

DbProviderFactory

取得此 DbProviderFactoryDbConnection

(繼承來源 DbConnection)
DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
Driver

取得為目前連接指定的 ODBC 驅動程式名稱。

Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
ServerVersion

取得字串,其包含用戶端連接之伺服器的版本。

Site

取得或設定 ComponentISite

(繼承來源 Component)
State

取得連線目前的狀態。

方法

BeginDbTransaction(IsolationLevel)

當在衍生類別中被覆寫時,會開始進行資料庫交易。

(繼承來源 DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

以非同步方式開始資料庫交易。

(繼承來源 DbConnection)
BeginTransaction()

開始進行資料來源上的交易。

BeginTransaction(IsolationLevel)

使用指定的 IsolationLevel 值,開始進行資料來源上的交易。

BeginTransactionAsync(CancellationToken)

以非同步方式開始資料庫交易。

(繼承來源 DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

以非同步方式開始資料庫交易。

(繼承來源 DbConnection)
ChangeDatabase(String)

變更與開啟之 OdbcConnection 相關聯的目前資料庫。

ChangeDatabaseAsync(String, CancellationToken)

以非同步方式針對開啟的連線變更目前的資料庫。

(繼承來源 DbConnection)
Close()

關閉資料來源的連接。

CloseAsync()

以非同步方式關閉與資料庫的連線。

(繼承來源 DbConnection)
CreateBatch()

傳回提供者類別的新執行個體,該執行個體會實作 DbBatch 類別。

(繼承來源 DbConnection)
CreateCommand()

建立並傳回與 OdbcCommand 相關聯的 OdbcConnection 物件。

CreateDbBatch()

在衍生類別中覆寫時,傳回實 DbBatch 作 類別之提供者類別的新實例。

(繼承來源 DbConnection)
CreateDbCommand()

當在衍生類別中被覆寫時,建立並傳回與目前連線相關聯的 DbCommand 物件。

(繼承來源 DbConnection)
CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

(繼承來源 DbConnection)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 DbConnection 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 DbConnection)
Dispose(Boolean)

釋放 Component 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 Component)
DisposeAsync()

以非同步方式處置連線物件。

(繼承來源 DbConnection)
EnlistDistributedTransaction(ITransaction)

將指定的異動登記為分散式異動。

EnlistTransaction(Transaction)

將指定的異動登記為分散式異動。

EnlistTransaction(Transaction)

登記指定的交易。

(繼承來源 DbConnection)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetSchema()

傳回這個 OdbcConnection 之資料來源的結構描述資訊。

GetSchema()

傳回這個 DbConnection 之資料來源的結構描述資訊。

(繼承來源 DbConnection)
GetSchema(String)

使用結構描述名稱的特定名稱,傳回這個 OdbcConnection 之資料來源的結構描述資訊。

GetSchema(String)

使用結構描述名稱的特定字串,傳回這個 DbConnection 之資料來源的結構描述資訊。

(繼承來源 DbConnection)
GetSchema(String, String[])

使用結構描述名稱的特定字串和限制值的特定字串陣列,傳回這個 OdbcConnection 的資料來源的結構描述資訊。

GetSchema(String, String[])

使用結構描述名稱的特定字串和限制值的特定字串陣列,傳回這個 DbConnection 的資料來源的結構描述資訊。

(繼承來源 DbConnection)
GetSchemaAsync(CancellationToken)

這是 GetSchema() 的非同步版本。 提供者應該覆寫為適當的實作。 您可以選擇性地接受 cancellationToken。 預設實作會叫用同步GetSchema()呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 GetSchema() 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

(繼承來源 DbConnection)
GetSchemaAsync(String, CancellationToken)

這是 GetSchema(String) 的非同步版本。 提供者應該覆寫為適當的實作。 您可以選擇性地接受 cancellationToken。 預設實作會叫用同步GetSchema(String)呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 GetSchema(String) 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

(繼承來源 DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

這是 GetSchema(String, String[]) 的非同步版本。 提供者應該覆寫為適當的實作。 您可以選擇性地接受 cancellationToken。 預設實作會叫用同步GetSchema(String, String[])呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 GetSchema(String, String[]) 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

(繼承來源 DbConnection)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

引發 StateChange 事件。

(繼承來源 DbConnection)
Open()

使用 ConnectionString 所指定的屬性設定,開啟與資料來源的連接。

OpenAsync()

非同步版本的 Open(),這個版本會透過 ConnectionString 所指定的設定開啟資料庫連接。 這個方法會叫用虛擬方法 OpenAsync(CancellationToken) 與 CancellationToken.None。

(繼承來源 DbConnection)
OpenAsync(CancellationToken)

這是 Open() 的非同步版本。 提供者應該覆寫為適當的實作。 可以選擇性地接受取消語彙基元。

預設實作會叫用同步Open()呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 Open 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

在傳回的工作完成之前,不叫用 DbConnection 物件的其他方法及屬性。

(繼承來源 DbConnection)
ReleaseObjectPool()

指示 ODBC 驅動程式管理員環境控制代碼可在釋放最後一個基礎連接時釋放。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
ToString()

傳回任何包含 Component 名稱的 String。 不應覆寫此方法。

(繼承來源 Component)

事件

Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)
InfoMessage

發生於 ODBC 驅動程式傳送警告或資訊訊息時。

StateChange

當連線的狀態變更時發生。

StateChange

當連線的狀態變更時發生。

(繼承來源 DbConnection)

明確介面實作

ICloneable.Clone()

如需這個成員的說明,請參閱 Clone()

IDbConnection.BeginTransaction()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

開始資料庫異動。

IDbConnection.BeginTransaction()

開始資料庫異動。

(繼承來源 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

使用指定的隔離等級開始資料庫異動。

IDbConnection.BeginTransaction(IsolationLevel)

使用指定的隔離等級開始資料庫異動。

(繼承來源 DbConnection)
IDbConnection.CreateCommand()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

建立並傳回與連線相關聯的命令物件。

IDbConnection.CreateCommand()

建立並傳回與目前連線相關聯的 DbCommand 物件。

(繼承來源 DbConnection)

適用於

另請參閱