OracleConnectionStringBuilder 类

定义

注意

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

为创建和管理由 OracleConnection 类使用的连接字符串的内容提供了一种简单方法。

public ref class OracleConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleConnectionStringBuilder+OracleConnectionStringBuilderConverter))]
public sealed class OracleConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleConnectionStringBuilder+OracleConnectionStringBuilderConverter))]
[System.Obsolete("OracleConnectionStringBuilder has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)]
public sealed class OracleConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleConnectionStringBuilder+OracleConnectionStringBuilderConverter))>]
type OracleConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OracleClient.OracleConnectionStringBuilder+OracleConnectionStringBuilderConverter))>]
[<System.Obsolete("OracleConnectionStringBuilder has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)>]
type OracleConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class OracleConnectionStringBuilder
Inherits DbConnectionStringBuilder
继承
OracleConnectionStringBuilder
属性

示例

以下控制台应用程序为 Oracle 数据库生成连接字符串。 代码使用 类OracleConnectionStringBuilder创建连接字符串,然后将 实例的 OracleConnectionStringBuilder 属性传递给ConnectionString连接类的构造函数。 该示例还分析现有连接字符串,并演示了操作连接字符串内容的各种方法。

注意

该示例包括一个密码以演示 OracleConnectionStringBuilder 如何使用连接字符串。 在您的应用程序中,建议使用 Windows 身份验证。 如果必须使用密码,请不要在你的应用程序中包括硬编码的密码。

// You may need to set a reference to the System.Data.OracleClient
// assembly before you can run this sample.
using System.Data.OracleClient;

class Program
{
    static void Main()
    {
        // Create a new OracleConnectionStringBuilder and
        // initialize it with a few name/value pairs.
        OracleConnectionStringBuilder builder =
            new OracleConnectionStringBuilder(GetConnectionString());

        // Note that the input connection string used the
        // Server key, but the new connection string uses
        // the well-known Data Source key instead.
        Console.WriteLine(builder.ConnectionString);

        // Pass the OracleConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString = "server=OracleDemo;user id=maryc;" +
            "password=pass@word1";

        // Now that the connection string has been parsed,
        // you can work with individual items.
        Console.WriteLine(builder.Password);
        builder.Password = "newPassword";
        builder.PersistSecurityInfo = true;

        // You can refer to connection keys using strings,
        // as well. When you use this technique (the default
        // Item property in Visual Basic, or the indexer in C#),
        // you can specify any synonym for the connection string key
        // name.
        builder["Server"] = ".";
        builder["Load Balance Timeout"] = 1000;
        builder["Integrated Security"] = true;
        Console.WriteLine(builder.ConnectionString);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }

    private static string GetConnectionString()
    {
        // To avoid storing the connection string in your code,
        // you can retrieve it from a configuration file.
        return "Server=OracleDemo;Integrated Security=true";
    }
}
' You may need to set a reference to the System.Data.OracleClient
' assembly before running this example.
Imports System.Data.OracleClient

Module Module1
  Sub Main()
    ' Create a new OracleConnectionStringBuilder and
    ' initialize it with a few name/value pairs.
    Dim builder As New OracleConnectionStringBuilder(GetConnectionString())

    ' Note that the input connection string used the 
    ' Server key, but the new connection string uses
    ' the well-known Data Source key instead.
    Console.WriteLine(builder.ConnectionString)

    ' Pass the OracleConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "server=OracleDemo;user id=Mary;" & _
        "password=*****"
    ' Now that the connection string has been parsed,
    ' you can work with individual items.
    Console.WriteLine(builder.Password)
    builder.Password = "newPassword"
    builder.PersistSecurityInfo = True

    ' You can refer to connection keys using strings, 
    ' as well. When you use this technique (the default
    ' Item property in Visual Basic, or the indexer in C#),
    ' you can specify any synonym for the connection string key
    ' name.
    builder("Server") = "NewDemo"
    builder("Load Balance Timeout") = 1000

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value to the 
    ' dictionary, if necessary. 
    builder.Item("Integrated Security") = True
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
  End Sub

  Private Function GetConnectionString() As String
    ' To avoid storing the connection string in your code,
    ' you can retrieve it from a configuration file. 
    Return "Server=OracleDemo;Integrated Security=True;" & _
      "Unicode=True"
  End Function

End Module

注解

此类型已弃用,并将在.NET Framework的未来版本中删除。 有关详细信息,请参阅 Oracle 和 ADO.NET

连接字符串生成器允许开发人员使用 类的属性和方法以编程方式创建语法正确的连接字符串,以及分析和重新生成现有连接字符串。 连接字符串生成器提供与 Oracle 允许的已知键/值对对应的强类型属性。 OracleConnectionStringBuilder 类实现 ICustomTypeDescriptor 接口。 这意味着 类在设计时与 Visual Studio .NET 设计器一起使用。 当开发人员使用设计器在 Visual Studio .NET 中生成强类型数据集和强类型连接时,强类型连接字符串生成器类将显示与其类型关联的属性,并且还将具有可映射已知键的通用值的转换器。

需要在应用程序中创建连接字符串的开发人员可以使用 OracleConnectionStringBuilder 类生成和修改连接字符串。 类 OracleConnectionStringBuilder 还便于管理存储在应用程序配置文件中的连接字符串。

OracleConnectionStringBuilder 对键/值对的有效性进行检查。 因此,此类不能用于创建无效的连接字符串。 尝试添加无效对将引发异常。 类 OracleConnectionStringBuilder 维护同义词的固定集合,如果需要,可以执行所需的转换,以便从同义词转换为相应的已知键名称。 例如,使用 Item[] 属性检索值时,可以指定包含所需键的任何同义词的字符串。 有关可接受同义词的完整列表,请参见 Item[] 属性。

OracleConnectionStringBuilder 柄尝试插入恶意条目。 例如,以下代码使用索引器 (默认 Item[] 属性,在 C#) 中正确转义嵌套键/值对。

Dim builder As New System.Data. _  
    OracleClient.OracleConnectionStringBuilder  
builder("Data Source") = "OracleDemo"  
builder("Integrated Security") = True  
builder("User ID") = "Mary;NewValue=Bad"  
System.Diagnostics.Debug.WriteLine(builder.ConnectionString)  
System.Data.OracleClient.OracleConnectionStringBuilder builder =  
   new System.Data.OracleClient.OracleConnectionStringBuilder();  
builder["Data Source"] = "OracleDemo";  
builder["integrated Security"] = true;  
builder["User ID"] = "Mary;NewValue=Bad";  
System.Diagnostics.Debug.WriteLine(builder.ConnectionString);  

结果是以下连接字符串,它通过将用户 ID 值括在引号中,以安全的方式处理无效值:

Data Source=OracleDemo;Integrated Security=True;User ID="Mary;NewValue=Bad"  

构造函数

OracleConnectionStringBuilder()
已过时.

初始化 OracleConnectionStringBuilder 类的新实例。

OracleConnectionStringBuilder(String)
已过时.

初始化 OracleConnectionStringBuilder 类的新实例。 所提供的连接字符串为实例的内部连接信息提供数据。

属性

BrowsableConnectionString
已过时.

获取或设置一个值,该值指示 ConnectionString 属性是否在 Visual Studio 设计器中可见。

(继承自 DbConnectionStringBuilder)
ConnectionString
已过时.

获取或设置与 DbConnectionStringBuilder 相关联的连接字符串。

(继承自 DbConnectionStringBuilder)
Count
已过时.

获取属性 ConnectionString 中包含的键的当前数目。

(继承自 DbConnectionStringBuilder)
DataSource
已过时.

获取或设置要连接到的 Oracle 数据源的名称。

Enlist
已过时.

获取或设置一个值,该值指示池程序是否在创建线程的当前事务上下文中自动登记连接。

IntegratedSecurity
已过时.

获取或设置一个值,该值指示连接中是否指定了“User ID”和“Password”(当为 false 时),或者是否使用当前的 Windows 帐户凭据进行身份验证(当为 true 时)。

IsFixedSize
已过时.

获取一个值,该值指示 OracleConnectionStringBuilder 是否具有固定大小。

IsReadOnly
已过时.

获取一个值,该值指示 DbConnectionStringBuilder 是否为只读。

(继承自 DbConnectionStringBuilder)
Item[String]
已过时.

获取或设置与指定的键关联的值。 在 C# 中,此属性为索引器。

Keys
已过时.

获取包含 ICollection 中的键的 OracleConnectionStringBuilder

LoadBalanceTimeout
已过时.

获取或设置连接被移除之前在连接池中的最短存活时间(以秒为单位)。

MaxPoolSize
已过时.

获取或设置针对此特定连接字符串连接池中所允许的最大连接数。

MinPoolSize
已过时.

获取或设置针对此特定连接字符串连接池中所允许的最小连接数。

OmitOracleConnectionName
已过时.

获取或设置启用 Oracle 早期版本(8.1.7.4.1 以前的版本)中的事务回滚的标志。

Password
已过时.

获取或设置 Oracle 帐户的密码。

PersistSecurityInfo
已过时.

获取或设置一个布尔值,该值指示如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)是否将不作为连接的一部分返回。

Pooling
已过时.

获取或设置一个布尔值,该值指示连接是否加入池中,或者在每次请求连接时,每个连接是否被显式打开。

Unicode
已过时.

获取或设置一个布尔值,该值指示客户端是否支持较高版本的 Oracle 客户端中可用的 Unicode 功能,或者该客户端是否可以识别非 Unicode。

UserID
已过时.

获取或设置在连接到 Oracle 时要使用的用户 ID。

Values
已过时.

获取一个包含 ICollection 中的值的 OracleConnectionStringBuilder

方法

Add(String, Object)
已过时.

将带有指定键和值的条目添加到 DbConnectionStringBuilder 中。

(继承自 DbConnectionStringBuilder)
Clear()
已过时.

清除 OracleConnectionStringBuilder 实例的内容。

ClearPropertyDescriptors()
已过时.

清除关联的 DbConnectionStringBuilder 上的 PropertyDescriptor 对象集合。

(继承自 DbConnectionStringBuilder)
ContainsKey(String)
已过时.

确定 OracleConnectionStringBuilder 是否包含特定键。

Equals(Object)
已过时.

确定指定对象是否等于当前对象。

(继承自 Object)
EquivalentTo(DbConnectionStringBuilder)
已过时.

将此 DbConnectionStringBuilder 对象中的连接信息与提供的对象中的连接信息进行比较。

(继承自 DbConnectionStringBuilder)
GetHashCode()
已过时.

作为默认哈希函数。

(继承自 Object)
GetProperties(Hashtable)
已过时.

使用有关此 DbConnectionStringBuilder 的所有属性的信息,填充提供的 Hashtable

(继承自 DbConnectionStringBuilder)
GetType()
已过时.

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()
已过时.

创建当前 Object 的浅表副本。

(继承自 Object)
Remove(String)
已过时.

OracleConnectionStringBuilder 实例中移除具有指定的键的项。

ShouldSerialize(String)
已过时.

指示此 OracleConnectionStringBuilder 实例中是否存在指定的键。

ToString()
已过时.

返回与此 DbConnectionStringBuilder 关联的连接字符串。

(继承自 DbConnectionStringBuilder)
TryGetValue(String, Object)
已过时.

从此 OracleConnectionStringBuilder 中检索与提供的键相对应的值。

显式接口实现

ICollection.CopyTo(Array, Int32)
已过时.

从特定的 ICollection 索引开始,将 Array 的元素复制到一个 Array 中。

(继承自 DbConnectionStringBuilder)
ICollection.IsSynchronized
已过时.

获取一个值,该值指示是否同步对 ICollection 的访问(线程安全)。

(继承自 DbConnectionStringBuilder)
ICollection.SyncRoot
已过时.

获取可用于同步对 ICollection 的访问的对象。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()
已过时.

返回此组件实例的自定义属性的集合。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()
已过时.

返回此组件实例的类名称。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()
已过时.

返回某个组件的此实例的名称。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()
已过时.

返回此组件实例的类型转换器。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()
已过时.

返回某个组件的此实例的默认事件。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()
已过时.

返回此组件实例的默认属性。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)
已过时.

返回此组件实例的指定类型的编辑器。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()
已过时.

返回此组件实例的事件。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])
已过时.

使用指定的属性数组作为筛选器,返回此组件实例的事件。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()
已过时.

返回此组件实例的属性。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])
已过时.

使用特性数组作为筛选器,返回此组件实例的属性。

(继承自 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)
已过时.

返回一个对象,该对象包含指定的属性描述符所描述的属性。

(继承自 DbConnectionStringBuilder)
IDictionary.Add(Object, Object)
已过时.

IDictionary 对象中添加一个带有所提供的键和值的元素。

(继承自 DbConnectionStringBuilder)
IDictionary.Contains(Object)
已过时.

确定 IDictionary 对象是否包含具有指定键的元素。

(继承自 DbConnectionStringBuilder)
IDictionary.GetEnumerator()
已过时.

返回 IDictionary 对象的 IDictionaryEnumerator 对象。

(继承自 DbConnectionStringBuilder)
IDictionary.Item[Object]
已过时.

获取或设置具有指定键的元素。

(继承自 DbConnectionStringBuilder)
IDictionary.Remove(Object)
已过时.

IDictionary 对象中移除具有指定键的元素。

(继承自 DbConnectionStringBuilder)
IEnumerable.GetEnumerator()
已过时.

返回循环访问集合的枚举数。

(继承自 DbConnectionStringBuilder)

扩展方法

Cast<TResult>(IEnumerable)
已过时.

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)
已过时.

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)
已过时.

启用查询的并行化。

AsQueryable(IEnumerable)
已过时.

IEnumerable 转换为 IQueryable

适用于

另请参阅