verwendetes Datenbanksystem: <MySql>
Durch das Öffnen einer Connection wird beim ConnectionString das Passwort abgeschnitten:
using MySql.Data.MySqlClient;
using System.Diagnostics;
namespace LostPasswordExample
{
public class LostPasswordExample
{
public void ShowExample()
{
string connectionString = "server=x.x.x.x;user=test;database=test;password=test;";
string dataBaseName = "test";
MySqlConnection mySqlConnection = new MySqlConnection(connectionString);
MySqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText = "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '" + dataBaseName + "';";
Debug.WriteLine("Before Connection.Open(): " + mySqlCommand.Connection.ConnectionString);
mySqlCommand.Connection.Open();
Debug.WriteLine("After Connection.Open(): " + mySqlCommand.Connection.ConnectionString);
mySqlCommand.Connection.Close();
Debug.WriteLine("After Connection.Close(): " + mySqlCommand.Connection.ConnectionString);
}
}
}
Ergibt folgende Ausgabe:
Before Connection.Open(): server=x.x.x.x;user id=test;database=test;password=test
After Connection.Open(): server=x.x.x.x;user id=test;database=test
After Connection.Close(): server=x.x.x.x;user id=test;database=test
Das Passwort wird also durch Connection.Open() abgeschnitten und bleibt auch nach Schließung der Verbindung verloren.
Warum passiert das? Wo liegt mein Denkfehler?
Wenn ich anschließend den ConnectionString verwende, führt dies zu einer Fehlermeldung:
Fehlermeldung:
MySqlException ist aufgetreten.Ausnahme ausgelöst: "MySql.Data.MySqlClient.MySqlException" in MySql.Data.dll
Zusätzliche Informationen: Authentication to host 'x.x.x.x' for user 'test' using method 'mysql_native_password' failed with message: Benutzer
Bitte vorher in die Doku schauen, dafür ist sie da.
Das ist nicht zu viel verlangt. Auch nicht von Dir. [Hinweis] Wie poste ich richtig?
SqlConnection.ConnectionString
The .NET Framework Data Provider for SQL Server does not persist or return the password in a connection string unless you set Persist Security Info to true.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code