OracleConnection 類別

定義

警告

OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260

表示資料庫的開啟連接。 此類別無法獲得繼承。

public ref class OracleConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class OracleConnection sealed : System::Data::Common::DbConnection, ICloneable
public sealed class OracleConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
public sealed class OracleConnection : System.Data.Common.DbConnection, ICloneable
[System.Obsolete("OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)]
public sealed class OracleConnection : System.Data.Common.DbConnection, ICloneable
type OracleConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
type OracleConnection = class
    inherit DbConnection
    interface ICloneable
[<System.Obsolete("OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)>]
type OracleConnection = class
    inherit DbConnection
    interface ICloneable
Public NotInheritable Class OracleConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class OracleConnection
Inherits DbConnection
Implements ICloneable
繼承
繼承
屬性
實作

範例

下列範例會 OracleCommand 建立 和 OracleConnectionOracleConnection會開啟並設定為 OracleCommand.Connection 屬性。 然後範例會呼叫 ExecuteNonQuery ,並關閉連線。 若要達成此目的,會 ExecuteNonQuery 傳遞連接字串和 SQL INSERT 語句的查詢字串。

public void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
    using (OracleConnection connection = new OracleConnection(connectionString))
    {
        OracleCommand command = new OracleCommand(queryString);
        command.Connection = connection;
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
Public Sub InsertRow(ByVal connectionString As String)
    Dim queryString As String = _
      "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"

    Using connection As New OracleConnection(connectionString)
        Dim command As New OracleCommand(queryString)
        command.Connection = connection
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Using
End Sub

備註

此類型已被取代,將在未來的.NET Framework版本中移除。 如需詳細資訊,請參閱 Oracle 和 ADO.NET

OracleConnection物件代表 Oracle 資料庫的唯一連接。 如果是用戶端/伺服器資料庫系統,它相當於與伺服器的網路連線。

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

注意

不同于其他.NET Framework資料提供者中的Connection物件, (SQL Server、OLE DB 和 ODBC) 不支援 OracleConnectionConnectionTimeout 屬性。 將連線逾時設定為屬性或在連接字串中沒有任何作用,而且傳回的值一律為零。 OracleConnection 也不支援 Database 屬性或 ChangeDatabase 方法。

OracleConnection如果物件超出範圍,則會保持開啟狀態。 因此,您應該一律呼叫 CloseDispose或使用 OracleConnection 語句內的 Using 物件來關閉 OracleConnection 物件。 否則,垃圾收集可能不會立即釋出它們。 如果達到連線數目上限,而垃圾收集行程正在等候刪除連線數目,這類延遲可能會造成錯誤。 相反地,藉由呼叫 Close 來關閉連線會更有效率地使用原生資源、增強延展性和改善整體應用程式效能。 若要確保一律關閉連線,請在 區塊內 Using 開啟連線。

注意

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

建構函式

OracleConnection()
已淘汰.

初始化 OracleConnection 的新執行個體。

OracleConnection(String)
已淘汰.

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

屬性

CanCreateBatch
已淘汰.

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

(繼承來源 DbConnection)
CanRaiseEvents
已淘汰.

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

(繼承來源 Component)
ConnectionString
已淘汰.

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

ConnectionTimeout
已淘汰.

取得在終止嘗試並產生錯誤前嘗試建立連接的等待時間。

Container
已淘汰.

取得包含 IContainerComponent

(繼承來源 Component)
Database
已淘汰.

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

DataSource
已淘汰.

取得連接的 Oracle 伺服器名稱。

DbProviderFactory
已淘汰.

取得此 DbProviderFactoryDbConnection

(繼承來源 DbConnection)
DesignMode
已淘汰.

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

(繼承來源 Component)
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)
已淘汰.

為開啟的 OracleConnection 變更目前的資料庫。

ChangeDatabaseAsync(String, CancellationToken)
已淘汰.

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

(繼承來源 DbConnection)
ClearAllPools()
已淘汰.

清空連接集區。

ClearPool(OracleConnection)
已淘汰.

清空與特定連接關聯的連接集區。

Close()
已淘汰.

關閉與資料庫的連接。

CloseAsync()
已淘汰.

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

(繼承來源 DbConnection)
CreateBatch()
已淘汰.

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

(繼承來源 DbConnection)
CreateCommand()
已淘汰.

建立並傳回與 OracleCommand 相關聯的 OracleConnection 物件。

CreateDbBatch()
已淘汰.

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

(繼承來源 DbConnection)
CreateDbCommand()
已淘汰.

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

(繼承來源 DbConnection)
CreateObjRef(Type)
已淘汰.

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

(繼承來源 MarshalByRefObject)
Dispose()
已淘汰.

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

(繼承來源 Component)
Dispose()
已淘汰.

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

(繼承來源 DbConnection)
Dispose(Boolean)
已淘汰.

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

(繼承來源 Component)
Dispose(Boolean)
已淘汰.

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

(繼承來源 DbConnection)
DisposeAsync()
已淘汰.

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

(繼承來源 DbConnection)
EnlistDistributedTransaction(ITransaction)
已淘汰.

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

EnlistTransaction(Transaction)
已淘汰.

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

Equals(Object)
已淘汰.

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

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

做為預設雜湊函式。

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

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

(繼承來源 MarshalByRefObject)
GetSchema()
已淘汰.

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

GetSchema(String)
已淘汰.

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

GetSchema(String, String[])
已淘汰.

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

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)
ToString()
已淘汰.

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

(繼承來源 Component)

事件

Disposed
已淘汰.

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

(繼承來源 Component)
InfoMessage
已淘汰.

當 Oracle 傳送警告或資訊訊息時發生。

StateChange
已淘汰.

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

StateChange
已淘汰.

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

(繼承來源 DbConnection)

明確介面實作

ICloneable.Clone()
已淘汰.

建立目前執行個體複本的新物件。

IDbConnection.BeginTransaction()
已淘汰.

開始資料庫異動。

IDbConnection.BeginTransaction()
已淘汰.

開始資料庫異動。

(繼承來源 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)
已淘汰.

使用指定的 IsolationLevel 值來開始資料庫交易。

IDbConnection.BeginTransaction(IsolationLevel)
已淘汰.

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

(繼承來源 DbConnection)
IDbConnection.ChangeDatabase(String)
已淘汰.

為開啟的 Connection 物件變更目前的資料庫。

IDbConnection.CreateCommand()
已淘汰.

建立並傳回與連接相關聯的 Command 物件。

IDbConnection.CreateCommand()
已淘汰.

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

(繼承來源 DbConnection)

適用於

另請參閱