OracleConnection.ConnectionString 属性

定义

获取或设置用于打开 Oracle 数据库的字符串。

public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Property ConnectionString As String
Public Overrides Property ConnectionString As String

属性值

包含设置(如服务器名称等)的 Oracle 连接字符串需要建立初始连接。 默认值为空字符串 ("")。

实现

属性

示例

以下示例创建 并在 OracleConnection 连接字符串 中设置其一些属性。

public void CreateOracleConnection()
{
    string connectionString = "Data Source=Oracle8i;Integrated Security=yes";
    using (OracleConnection connection = new OracleConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: " + connection.ServerVersion
            + "\nDataSource: " + connection.DataSource);
    }
}
Public Sub CreateOracleConnection()
    Dim connectionString As String = _
       "Data Source=Oracle8i;Integrated Security=yes"

    Using connection As New OracleConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: " + connection.ServerVersion _
           + ControlChars.NewLine + "DataSource: " + connection.DataSource)
    End Using
End Sub

注解

ConnectionString仅当连接关闭时,才能设置 。

可以使用 ConnectionString 属性连接到数据库。 以下示例演示了典型的连接字符串。

"Data Source=Oracle8i;Integrated Security=yes"  

字符串中指定的许多设置都具有相应的只读属性 (例如 , Data Source=MyServer对应于 DataSource 属性) 。 设置连接字符串后,将更新所有这些属性,除非检测到错误,在这种情况下,不会更新任何属性。 OracleConnection 属性仅返回默认设置或在 中指定的 ConnectionString那些设置。

在关闭的连接上重置 ConnectionString 的所有连接字符串值 (和相关属性) ,包括密码。

连接字符串在设置后立即进行分析。 如果分析显示语法错误,则会生成运行时异常,例如 ArgumentException。 仅当尝试打开连接时,才能发现其他错误。

连接字符串的基本格式是一系列用分号分隔的关键字 (keyword) /值对。 每个关键字和它的值之间用等号 (=) 连接。 若要包含包含分号、单引号字符或双引号字符的值,必须将该值括在双引号中。 如果值同时包含分号和双引号字符,则可以将该值括在单引号中。 如果值以双引号字符开头,单引号也很有用。 相反,如果值以单引号开头,则可以使用双引号。 如果值同时包含单引号和双引号字符,则每次值内发生时,用于括住值的引号字符都必须加倍。

若要在字符串值中包含前面或尾随空格,必须将该值括在单引号或双引号中。 即使括在引号中,整数、布尔值或枚举值周围的任何前导或尾随空格也会被忽略。 但是,将保留字符串文本关键字 (keyword) 或值中的空格。 单引号或双引号可以在不使用分隔符的情况下在连接字符串中使用,除非引号字符是值中的第一个或最后一个字符,例如 或 Data Source= my'ServerData Source= my"Server

若要在关键字 (keyword) 或值中包含等号 (=) ,必须在等号前面加上另一个等号。 例如,在假设连接字符串

"key==word=value"  

关键字 (keyword) 为“key=word”,值为“value”。

如果在连接字符串中多次出现关键字 (keyword) /值对中的特定关键字 (keyword) ,则最后一次出现在值集中。

关键字不区分大小写。

下表列出了 中 ConnectionString值的有效名称。

名称 默认 说明
数据源

- 或 -

服务器
要连接到的 Oracle 实例的名称或网络地址。
集成安全性 “false” 该连接是否将成为安全连接。

强烈建议 (识别的值 true) 、 falseyesno
密码 Oracle 帐户登录的密码。 为了保持高级别的安全性,强烈建议改用集成安全关键字 (keyword) 。
持久性安全信息 “false” 当设置为 falseno (强烈建议) 时,如果连接处于打开状态或一直处于打开 State状态,则不会在连接过程中返回密码等安全敏感信息。 重置连接字符串会重置所有连接字符串值,包括密码。

已识别的值为 truefalseyesno
Unicode “false” 指定 oracle .NET Framework 数据提供程序是否使用 UTF16 模式 API 调用。 除非使用 Oracle9i 客户端软件,否则将忽略此关键字 (keyword) 。
用户 ID Oracle 登录帐户。 为了保持高级别的安全性,强烈建议改用集成安全关键字 (keyword) 。

下表列出了 中的 ConnectionString连接池值的有效名称。

名称 默认 说明
连接生存期 0 连接返回到池中后,创建时间将与当前时间进行比较,如果时间跨度(秒)超过 Connection Lifetime 指定的值,该连接将被破坏。 在聚集配置中可以使用它来强制在运行服务器和刚联机的服务器之间达到负载平衡。

值为零会导致共用连接出现最大连接超时。
Enlist 'true' 当 或 yestrue,池程序会自动在创建线程的当前事务上下文中登记连接。

已识别的值为 truefalseyesno
Max Pool Size 100 池中允许的最大连接数。 Max Pool Size设置 的值ConnectionString可能会影响性能。 如果计划创建并主动使用超过 100 个连接,则应增加到 Max Pool Size 一个值,该值与应用程序的稳定状态连接使用情况近似。
Min Pool Size 0 池中允许的最小连接数。
Pooling 'true' 当 或 yestrueOracleConnection将从相应的池中绘制对象,或者如有必要,将创建对象并将其添加到相应的池。

已识别的值为 truefalseyesno

设置需要布尔值的关键字 (keyword) 或连接池值时,可以使用“yes”而不是“true”,使用“no”而不是“false”。 整数值表示为字符串。

适用于