从连接字符串中获取用户名和密码的正确方法? [复制]
Posted
技术标签:
【中文标题】从连接字符串中获取用户名和密码的正确方法? [复制]【英文标题】:Right way to get username and password from connection string? [duplicate] 【发布时间】:2012-04-16 00:52:10 【问题描述】:我有一个这样的连接字符串:
"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
如何从中获取各种数据库参数?我可以像这样获取数据库名称和服务器:
serverName = conObject.DataSource;
dbName = conObject.Database;
我同样需要用户名和密码。 mysqlConnection 对象上没有设置任何属性。
目前我是这样操作的:
public static void GetDatabaseParameters(string connectionString, out string serverName, out string dbName, out string userName, out string password)
Match m = Regex.Match(connectionString, "SERVER=(.*?);DATABASE=(.*?);UID=(.*?);PASSWORD=(.*?);.*");
//serverName = m.Groups[1].Value;
//dbName = m.Groups[2].Value;
userName = m.Groups[3].Value;
password = m.Groups[4].Value;
这里有公认的做法吗?
【问题讨论】:
【参考方案1】:您可以使用SqlConnectionStringBuilder 类
string conString = "SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200";
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(conString);
string user = builder.UserID;
string pass = builder.Password;
【讨论】:
这对 mysql 也适用吗? 如果你为 MySQL 使用特殊的 .NET 组件,那么应该有特定的 ConnectionStringBuilder,例如MySqlConnectionStringBuilder。 @Devart 谢谢.. 现在我明白了.. 如果你有一个 MySqlConnectionStringBuilder 类,它不是框架的默认部分。看这里forums.mysql.com/read.php?38,60345 如何从中获取 DatabaseName,我在 builder 中没有找到类似的属性?以上是关于从连接字符串中获取用户名和密码的正确方法? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
VS连接Access数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)
sudo -S可以不用手动输入密码,且只要第一次密码正确,后面在有效期内,密码错误也可以