我正在尝试在运行时注入连接字符串的密码部分,以便可以安全地保存密码。以前,我用实际的密码完全替换了放置密码令牌的部分。
现在,我尝试仅在末尾附加它,并且连接失败。 连接字符串中令牌的顺序真的重要吗?
以前,我的连接字符串如下所示:
Driver = {用于SQL Server的ODBC驱动程序13}; Server = tcp:[服务器 地址],1433;数据库= [名称]; Uid = [用户名]; Pwd = [密码];加密=是; TrustServerCertificate =否;连接 超时= 30;
现在,失败的连接字符串如下所示:
Driver = {用于SQL Server的ODBC驱动程序13}; Server = tcp:[服务器 地址],1433;数据库= [名称]; Uid = [用户名];加密=是; TrustServerCertificate =否;连接 超时= 30; Pwd = [密码];
尝试在最后添加Pwd令牌时出现两个错误:
错误[01S00] [Microsoft] [SQL Server的ODBC驱动程序13]无效 连接字符串属性
错误[28000] [Microsoft] [SQL Server的ODBC驱动程序13] [SQL 服务器]用户“ [用户名]”的登录失败
我用来构造连接字符串的代码如下:
public static string GetConnectionString(string connectionString, string server, string masterPassword)
{
if (connectionString.Contains($"Server=tcp:{server}"))
connectionString = connectionString + $"Pwd={masterPassword};";
return connectionString;
}