DB2 V9.7 for Linux, UNIX, and Windows

DB2Connection.Open 方法

使用由 ConnectionString 指定的属性设置打开与数据库的连接。

名称空间:
IBM.Data.DB2
组合件:
IBM.Data.DB2(在 IBM.Data.DB2.dll 中)

语法

[Visual Basic]
NotOverridable Public Sub Open() Implements IDbConnection.Open
[C#]
public void Open();
[C++]
public: __sealed void Open();
[JScript]
public function Open();
实现:
IDbConnection.Open

异常

异常类型 条件
InvalidOperationException 连接已打开。
DB2Exception 打开连接期间发生了连接级别错误。

注释

DB2Connection.Open 方法支持 System.EnterpriseServices 名称空间和 System.Transactions 名称空间。

如果连接池已打开且连接可用,那么 DB2Connection 将从连接池中获取一个打开的连接。否则,它将建立与数据库的新连接。

注: 如果 DB2Connection 超出范围,那么它所表示的连接不会自动关闭。因此,必须通过调用 CloseDispose 来显式关闭连接。

示例

[Visual Basic, C#] 以下示例将创建 DB2Connection,打开它,显示它的一些属性,然后关闭连接。

[Visual Basic]
Public Sub CreateDB2Connection(myConnString As String)
    Dim myConnection As New DB2Connection(myConnString)
    myConnection.Open()
    MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
       + ControlChars.Cr + "State: " + myConnection.State.ToString())
    myConnection.Close()
End Sub

[C#]
public void CreateDB2Connection(string myConnString)
{
   DB2Connection myConnection = new DB2Connection(myConnString);
   myConnection.Open();
   MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
      + "\nState: " + myConnection.State.ToString());
   myConnection.Close();
}

在 DB2 for z/OS V10 中,如果在应用程序执行期间服务器已迁移至另一方式,并且如果对 Open 的调用已返回连接(带有已迁移服务器信息),那么对 Open 的后续调用将始终返回连接(带有已迁移服务器信息)。在执行对 Close 的调用时,将重新启动在迁移之前建立的所有连接。

Chaos 隔离级别仅对 DB2® Universal Database for iSeries® 服务器有效。如果 IsolationLevel 被 DB2Connection.ConnectionString 属性(或通过使用 db2dsdriver.cfg 文件)设置为 Chaos 隔离级别的等价级别,且连接到的服务器不是 DB2 Universal Database for iSeries,那么将抛出带有消息“不受支持的隔离级别 Chaos”的 ArgumentException,且将不会打开该连接。