SqlConnectionStringBuilder.Remove(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 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 | 空字符串 |
适用于
另请参阅
- 在 ADO.NET 中
连接字符串 - ADO.NET 概述