C#。ネットMysqlConnectorのConnectionStringパスワードの問題/課題

トーマス:

いくつかの愚かなパスワードの問題で助けを必要としています。問題は次のとおりです。

いくつかのパスワードを使用してMySQLサーバーに接続できません^^

私は例えば、同じ「接続文字列」の詳細とパスワードを使用している場合:

以下のパスワードは正確にMySQLサーバ(引用符、二重引用符、セミコロン)です。

"PWD = 123456を"; //作品

"PWD = 123456;"; //作品

「; 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;

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=5715&siteId=1