DB2連線類別

代表已開啟的資料庫連線。

名稱空間:
IBM.Data.DB2
組件:
IBM.Data.DB2 (在 IBM.Data.DB2.dll中)

.NET Framework 2.0 3.0、3.5 及 4.0 繼承階層


System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbConnection
IBM.Data.DB2.DB2Connection

.NET Framework 2.0 3.0、3.5 及 4.0 語法


[Visual Basic]
NotInheritable Public Class DB2Connection
   Inherits DbConnection
   Implements ICloneable, IDbConnection
[C#]
public sealed class DB2Connection : Component, ICloneable,
   IDbConnection
[C++]
public __gc __sealed class DB2Connection : public Component,
   ICloneable, IDbConnection
[JScript]
public class DB2Connection extends Component implements
   ICloneable, IDbConnection

備註

DB2Connection 物件代表與連線字串中所指定資料庫的唯一連線。 在主從式資料庫系統的情況下,它相當於伺服器的網路連線。

DB2Connection 物件會使用原生資源。 在 DB2Connection 物件超出範圍之前,您應該一律透過呼叫 關閉處置 來明確地關閉任何開啟的 DB2Connection 物件。 如果不這樣做,則會將這些原生資源釋放給記憶體回收,而這可能不會立即釋放它們。 這最終可能導致 IBM® Data Server Provider for .NET 或資料伺服器資源不足或達到上限,導致零星失敗。 例如,當一些連線正在等待記憶體回收器刪除時,您可能會遇到 連線數上限相關錯誤。 透過呼叫 CloseDispose 來明確地關閉連線,可更有效地使用原生資源,加強可調整性並增進整體應用程式效能。

附註: 若要部署高效能應用程式,您通常需要使用連線儲存區。 不過,當您使用 IBM Data Server Provider for .NET 時,不需要啟用連線儲存區,因為依預設提供者會儲存連線。

如果 DB2®指令 類別的其中一個 Execute 方法導致嚴重 DB2異常狀況DB2Connection 可能會關閉。 不過,使用者可以重新開啟連線並繼續。

建立 DB2Connection 物件實例的應用程式,可以設定宣告式或命令式安全需求,要求所有直接及間接呼叫端對程式碼具有足夠的許可權。 DB2Connection 會使用 DB2許可權 物件來建立安全需求。 使用者可以使用 DB2PermissionAttribute 物件來驗證其程式碼是否具有足夠的許可權。 使用者和管理者也可以使用「程式碼存取安全原則工具 (Caspol.exe)」來修改機器、使用者和企業層次的安全原則。 如需相關資訊,請參閱 Microsoft .NET Framework SDK 文件中的「保護應用程式安全」。

範例

[Visual Basic , C#] 下列範例會建立 DB2指令DB2ConnectionDB2Connection 會開啟並設為 DB2Command.Connection 內容。 然後,範例會呼叫 DB2Command.ExecuteNonQuery,並關閉連線。 為了達成此目的,會傳遞連線字串及查詢字串 (即 SQL INSERT 陳述式) 給 ExecuteNonQuery

[Visual Basic]
Public Sub InsertRow(myConnectionString As String)
     ' If the connection string is null, use a default.
     If myConnectionString = "" Then
         myConnectionString = "DATABASE=SAMPLE;"
     End If
     Dim myConn As New DB2Connection(myConnectionString)
     Dim myInsertQuery As String = "INSERT INTO STAFF (ID, NAME) Values(...)"
     Dim myDB2Command As New DB2Command(myInsertQuery)
     myDB2Command.Connection = myConn
     myConn.Open()
     myDB2Command.ExecuteNonQuery()
     myConn.Close()
 End Sub

[C#]
public void InsertRow(string myConnectionString)
 {
    // If the connection string is null, use a default.
    if(myConnectionString == "")
    {
       myConnectionString = "DATABASE=SAMPLE;";
    }
    DB2Connection myConn = new DB2Connection(myConnectionString);
    string myInsertQuery = "INSERT INTO STAFF (ID, NAME) Values(...)";
    DB2Command myDB2Command = new DB2Command(myInsertQuery);
    myDB2Command.Connection = myConn;
    myConn.Open();
    myDB2Command.ExecuteNonQuery();
    myConn.Close();
 }

螺紋安全

此類型的任何公用靜態 (Visual Basic 中的Shared ) 成員對於多執行緒作業都是安全的。 不保證任何實例成員都是安全執行緒。