2012-04-02 7 views
15

Ich habe eine Verbindungszeichenfolge wie folgt aus:Richtiger Weg, um Benutzername und Passwort aus der Verbindungszeichenfolge abzurufen?

"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200" 

Wie erhalte ich die verschiedenen Datenbankparameter aus ihm heraus? Ich kann Datenbankname und Server so erhalten:

Ich benötige den Benutzernamen und das Kennwort als auch ähnlich. Für das MySqlConnection-Objekt wurde keine Eigenschaft festgelegt.

Derzeit mache ich es wie folgt aus:

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

Gibt es eine akzeptierte Praxis hier?

Antwort

39

könnten Sie die SqlConnectionStringBuilder Klasse

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; 
+0

funktionierts auch gut für MySQL verwenden? – nawfal

+1

Wenn Sie spezielle .NET-Komponenten für MySQL verwenden, sollte es einen bestimmten ConnectionStringBuilder geben, z. MySqlConnectionStringBuilder. – Devart

+0

@Devart danke .. jetzt bekomme ich es .. – nawfal