Datenbanken C# und MySql Native Anbindung

Anbinden von MySql an C++/C#

ODBC






Native Anbindung



.NET Treiber von MySQL





















Anbindung an die Datenbank in C#


private MySqlConnection conn;


if (conn != null)conn.Close(); //existiert schon eine Verbindung?


conn = new MySqlConnection("server=localhost;user id=root; password=; database=mysql");

conn.Open();




oder besser:


try

{

conn = new MySqlConnection( connStr );

conn.Open();

}

catch (MySqlException ex)

{

MessageBox.Show( "Mysql Fehler: " + ex.Message );

}


Connection-String basteln

string server = "localhost";

string userid = "root";

string password = "";


...


string connStr = String.Format("server={0};user id={1};

password={2}; database=mysql; pooling=false",

server, userid, password);


...


conn = new MySqlConnection( connStr );



Apropos „pooling“

Connections belasten ein Datenbanksystem

Persistente Verbindungen: eine Session zwischen DB-Client und DB-Server bleibt bestehen==> schnell, viele Ressourcen

Nicht-persistent: Verbindungen für jede Anfrage aufbauen/abbauen==> langsam, wenig Ressourcen



Datenbank-Pool



Viele Verbindungen in einem Pool zusammengefasst; der Programmierer baut auf und ab, in Wirklichkeit wird aber die Verbindung gehalten ==> schnell



conn = new MySqlConnection("server=localhost;user id=root; password=; database=mysql"; pooling=false");


© Kner 3/12