MySQL gilt als „die beliebteste Open-Source-Datenbank der Welt“ und hat von seinen bescheidenen Anfängen als kostengünstiger Datenbankserver bis zu einem Server, der riesige Websites und wichtige Geschäftssysteme betreibt, einen langen Weg zurückgelegt. Wenn Sie jedoch ein ASP.NET-Entwickler sind, werden Sie immer auf Unzufriedenheit stoßen: MySQL wurde ursprünglich für Anwendungen auf der UNIX-Plattform entwickelt, daher ist die Unterstützung für Windows zweitrangig.
Aber jetzt verfügt die Windows-Version von MySQL über die gleichen Funktionen und die gleiche Stabilität wie die UNIX-Version und gilt als brauchbarer Datenbankserver für die Windows-Entwicklung. Sehen wir uns nun an, wie Sie mithilfe von ODBC eine Verbindung zu einer MySQL-Datenbank innerhalb des .NET-Frameworks herstellen können.
Installation
Laden Sie die Windows-Version von MySQL herunter und installieren Sie sie. Die Installation ist einfach – befolgen Sie einfach die Anweisungen und Sie können im Handumdrehen loslegen. Wenn Sie auf ein Problem stoßen, können Sie im MySQL-Forum nach Hilfe und Lösungen suchen.
Um ASP.NET und MySQL zu verbinden, müssen Sie ODBC.NET verwenden. Im Allgemeinen ist der DataProvider von ODBC.NET Teil des Standard-.NET-Frameworks (Version 1.1 und höher) und wird daher automatisch mit diesem installiert.
Sobald Sie bestätigt haben, dass ODBC.NET installiert ist, müssen Sie den ODBC-Treiber für MySQL herunterladen. Auch hier helfen die MySQL-Entwickler gerne weiter – sie stellen diese Treiber auf ihrer Website zur Verfügung. Sie können beim Herunterladen der Datei das FAQ-Dokument lesen, in dem alle Probleme aufgeführt sind, die bei der Installation des MySQL-ODBC-Treibers auf Ihrem System auftreten können.
Alles erledigt? Beginnen wir nun mit etwas Code.
Mit ASP.NET eine Verbindung zu MySQL herstellen
Eine meiner Lieblingsbeschäftigungen ist das Lesen, und wenn ich nicht gerade Lehrartikel wie diesen schreibe, suche ich mir eine ruhige Ecke, um meine Bibliografieliste zu vervollständigen. Leider bin ich kein sehr organisierter Mensch, daher kommt es oft zu Unordnung.
Was hat das also mit dem Thema zu tun, über das wir heute sprechen werden? Nun, das ist der Anfang meines ersten Beispiels, bei dem es darum geht, eine Datenbank mit Büchern wie denen in Liste A zu erstellen.
Um diese Tabelle zu erstellen, verwenden Sie die folgende SQL-Abfrage:
TABELLE „Bücher“ ERSTELLEN (
`id` int(5) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`authors` varchar(255) NOT NULL default '',
`year_of_publication` Jahr(4) NOT NULL Standard '0000',
`date_added` Datum NICHT NULL Standard '0000-00-00',
PRIMÄRSCHLÜSSEL („id“)
) TYPE=MyISAM;
Um diese Abfrage auszuführen, müssen Sie die Befehlszeilen-Client-Software „mysql.exe“ im Ordner „bin“ im MySQL-Installationsverzeichnis verwenden. Im Folgenden sind die spezifischen Befehle aufgeführt:
c:mysqlbin>mysql -u Guest -p Test
Passwort eingeben: ******
Willkommen beim MySQL-Monitor. Befehle enden mit ; oder g.
Ihre MySQL-Verbindungs-ID ist 13 zur Serverversion: 4.0.12-nt
Geben Sie „help;“ oder „h“ ein, um Hilfe zu erhalten. Geben Sie „c“ ein, um den Puffer zu löschen.
mysql> TABELLE „Bücher“ ERSTELLEN (
-> `id` int(5) NOT NULL auto_increment,
-> `title` varchar(255) NOT NULL default '',
-> `authors` varchar(255) NOT NULL default '',
-> `year_of_publication` Jahr(4) NOT NULL Standard '0000',
-> `date_added` Datum NICHT NULL Standard '0000-00-00',
-> PRIMÄRSCHLÜSSEL (`id`)
-> ) TYPE=MyISAM;
Abfrage OK, 0 Zeilen betroffen (0,02 Sek.)
Sobald die Tabelle „Bücher“ erstellt ist, können Sie mit dem Einfügen von Daten beginnen. Liste B listet einige Elemente auf. Machen Sie nun dasselbe mit ASP.NET – führen Sie die SELECT-Abfrage aus (Listing C) und zeigen Sie die Ergebnisse im Browser an. Wenn alles in Ordnung ist – der MySQL-Server läuft, der MySQL-ODBC-Treiber korrekt installiert ist und die Büchertabelle Daten enthält – sollten Sie eine Seite wie die in Abbildung A sehen.
Abbildung C zeigen Ihnen die Fehlermeldung, die angezeigt wird, wenn das Skript versucht, auf eine nicht vorhandene Datenbanktabelle zuzugreifen (beachten Sie, dass von der inneren „try-catch“-Struktur generierte Ausnahmen von der äußeren Struktur behandelt werden):
oben ist eine Einführung in die Verwendung der DataGrid-Serversteuerung von MySQL und ASP.NET. Es gibt noch viel mehr darüber zu sagen, wie Sie diese beiden Technologien nutzen können. Ich hoffe, dass dieser Artikel und die anderen oben bereitgestellten Referenzressourcen Ihnen helfen, ein Gefühl dafür zu bekommen.