토마스 :
바보 같은 암호 문제에 대한 도움이 필요합니다. 문제 다음 :
일부 암호로 MySQL의 서버에 연결할 수 없습니다 ^^
내가 예를 들어 동일한 "연결 문자열"세부 사항과 암호를 사용하는 경우 :
다음 암호는 MySQL 서버 (따옴표, 큰 따옴표, 세미콜론)에 정확히;
"PWD = 123456 '; // 작품
"PWD = 123,456;"; // 작품
"; PWD = 123; 456; ' // System.ArgumentException
"; 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()
);
나는 바보 알고있다. 왜 누군가가 연결 문자열 정보와 암호를 사용합니다 ....하지만이 문제를 해결하기 위해 좋을 것이다.
독일에서 인사말 :)
madreflection :
를 사용하여 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;