gpt4 book ai didi

C# .Net MysqlConnector ConnectionString 密码问题/问题

转载 作者:行者123 更新时间:2023-12-04 02:38:50 35 4
gpt4 key购买 nike

需要帮助解决一些愚蠢的密码问题。以下问题:

不能用一些密码连接到mysql服务器^^

如果我使用具有相同“连接字符串”详细信息的密码,例如:

以下密码完全在MySql Server中(引号、双引号、分号);

“密码=123456”;//有效

“密码=123456;”;//有效

";pwd=123;456;'//系统参数异常

";pwd=123;456;'"//System.ArgumentException

//Connection String Variant 1:

string connString = string.Format("server={0};port={1};uid={2};pwd={3};database={4};sslmode=preferred",
tbDbServername.Text.ToLower(),
(uint)Convert.ToInt32(tbDbServerPort.Text),
tbDbServerUsername.Text.ToLower(),
tbDbServerPassword.Password,
tbDbServerDatabase.Text.ToLower()
);

//Connection String Variant 2:

string connString = string.Format("server={0};port={1};uid={2};pwd='{3}';database={4};sslmode=preferred",
tbDbServername.Text.ToLower(),
(uint)Convert.ToInt32(tbDbServerPort.Text),
tbDbServerUsername.Text.ToLower(),
tbDbServerPassword.Password,
tbDbServerDatabase.Text.ToLower()
);

我知道这很愚蠢。为什么有人要使用带有连接字符串详细信息的密码....但很高兴解决这个问题。

来自德国的问候:)

最佳答案

使用 MySqlConnectionStringBuilder 构建您的连接字符串。它将执行任何需要的转义/引用。

在你的情况下,你会想要这样做:

MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder()
{
Server = tbDbServername.Text.ToLower(),
Port = (uint)System.Convert.ToInt32(tbDbServerPort.Text),
UserID = tbDbServerUsername.Text.ToLower(),
Password = tbDbServerPassword.Password,
Database = tbDbServerDatabase.Text.ToLower(),
SslMode = MySqlSslMode.Preferred
};

string connString = builder.ConnectionString;

关于C# .Net MysqlConnector ConnectionString 密码问题/问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60346716/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com