SqlConnectionStringBuilder.Remove(String) 方法

定义

SqlConnectionStringBuilder 实例中删除具有指定键的条目。

public:
 override bool Remove(System::String ^ keyword);
public override bool Remove (string keyword);
override this.Remove : string -> bool
Public Overrides Function Remove (keyword As String) As Boolean

参数

keyword
String

要从此 SqlConnectionStringBuilder中的连接字符串中删除的键/值对的键。

返回

如果密钥存在于连接字符串中并且已删除,则 true;如果密钥不存在,false

例外

keyword 为 null(Visual Basic 中的Nothing

示例

以下示例将现有连接字符串从使用 SQL Server 身份验证转换为 Windows 身份验证(集成安全性)。 该示例的工作原理是从连接字符串中删除用户名和密码,然后设置 SqlConnectionStringBuilder 对象的 IntegratedSecurity 属性。

警告

Microsoft不建议直接提供用户名和密码,因为它是不安全模式。 如果可能,请使用更安全的身份验证流,例如 Azure 资源的托管标识,或 SQL Server 的 Windows 身份验证

using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        try
        {
            string connectString =
                "Data Source=(local);User ID=ab;Password=myPassw0rd;" +
                "Initial Catalog=AdventureWorks";

            SqlConnectionStringBuilder builder = new(connectString);
            Console.WriteLine($"Original: {builder.ConnectionString}");

            // Remove the User ID and Password.
            builder.Remove("User ID");
            builder.Remove("Password");

            // Enable integrated security.
            builder.IntegratedSecurity = true;

            Console.WriteLine($"Modified: {builder.ConnectionString}");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
/* This code example produces the following output:
 * Original: Data Source=(local);Initial Catalog=AdventureWorks;User ID=ab;Password=myPassw0rd
 * Modified: Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True
 */
    Dim connectString As String =
     "Data Source=(local);User ID=ab;Password=a1Pass@@11;" &
     "Initial Catalog=AdventureWorks"

    Dim builder As New SqlConnectionStringBuilder(connectString)
    Console.WriteLine("Original: " & builder.ConnectionString)

    ' Remove the user ID and password.
    builder.Remove("User ID")
    builder.Remove("Password")

    ' Turn on integrated security:
    builder.IntegratedSecurity = True

    Console.WriteLine("Modified: " & builder.ConnectionString)

Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

' This code produces the following output:
' Original: Data Source=(local);Initial Catalog=AdventureWorks;User ID=ab;Password=a1Pass@@11
' Modified: Data Source = (local);Initial Catalog=AdventureWorks;Integrated Security=True

注解

由于 Remove 方法返回一个指示其成功的值,因此在尝试从 SqlConnectionStringBuilder 实例中删除键/值对之前,不需要查找键。 由于 SqlConnectionStringBuilder 维护键/值对的固定大小集合,因此调用 Remove 方法只会将键/值对的值重置回其默认值。

由于 SqlConnectionStringBuilder 支持的键集合是固定的,因此集合中的每个项都有一个已知的默认值。 下表列出了键,以及首次初始化 SqlConnectionStringBuilder 时或调用 Remove 方法后每个键的值。

钥匙 默认值
应用程序名称 “.Net SqlClient 数据提供程序”
异步处理
AttachDBFilename 空字符串
连接超时 15
上下文连接
当前语言 空字符串
数据源 空字符串
加密
故障转移合作伙伴 空字符串
初始目录 空字符串
集成安全性
负载均衡超时 0
最大池大小 100
最小池大小 0
MultipleActiveResultSets
网络库 空字符串
数据包大小 8000
密码 空字符串
持久保存安全信息
复制
事务绑定 隐式取消绑定
用户 ID 空字符串
用户实例
工作站 ID 空字符串

适用于

另请参阅