Verbindung zu einer MySQL-Datenbank aus einer ASPX-Seite
Wenn Sie aus einer ASPX-Seite eine Verbindung zu einer MySQL-Datenbank herstellen möchten, hilft Ihnen die folgende Anleitung vielleicht: Stellen Sie zuerst eine einfache Testverbindung her und beginnen Sie erst danach mit Ihrem eigenen Projekt.
In diesem Beispiel ist der .NET Connector 6.0 installiert. Legen Sie in Ihrem Root-Verzeichnis (httpdocs/bin) die Datei Mysql.Data.dll ab. Andernfalls erhalten Sie beim Testen diese Meldung: Compiler Error Message: BC30002: Type 'MySqlConnection' is not defined.
Achten Sie darauf, dass in Ihrer web.config auf jeden Fall diese Einstellungen stehen, sonst werden keine Fehlermeldungen angezeigt:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Die Datei Mysql.Data.dll können Sie über den Link unten herunterladen. Wählen Sie den Download „Windows Binaries, no installer (ZIP)“, kopieren Sie die Datei manuell heraus und legen Sie sie in das oben genannte bin-Verzeichnis:
http://dev.mysql.com/downloads/connector/net
Legen Sie anschließend in httpdocs die Datei test_mysql.aspx mit folgendem Inhalt an (ersetzen Sie test64user durch Ihren eigenen Datenbankbenutzer und ändern Sie auch das Passwort und die Datenbank im String in Ihre eigenen Werte):
<%@ Page Language="VB" debug="true" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "MySql.Data.MySqlClient" %>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim myConnection As MySqlConnection
Dim myDataAdapter As MySqlDataAdapter
Dim myDataSet As DataSet
Dim strSQL As String
Dim iRecordCount As Integer
myConnection = New MySqlConnection("server=localhost; user id=test64user; password=testing; database=webawere_test64db; pooling=false;")
strSQL = "SELECT * FROM testtabel;"
myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)
myDataSet = New Dataset()
myDataAdapter.Fill(myDataSet, "testtabel")
MySQLDataGrid.DataSource = myDataSet
MySQLDataGrid.DataBind()
End Sub
</script>
<html>
<head>
<title>Eenvoudige MySQL Database Query</title>
</head>
<body>
<form runat="server">
<asp:DataGrid id="MySQLDataGrid" runat="server" />
</form>
</body>
</html>
Zum Testen haben wir eine kleine MySQL-Datenbank mit 2 Datensätzen angelegt:
CREATE TABLE `webawere_test64db`.`testtabel` (
`id` SMALLINT NOT NULL AUTO_INCREMENT ,
`veld1` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB
INSERT INTO `webawere_test64db`.`testtabel` (
`id` ,
`veld1`
)
VALUES (
NULL , 'Waarde1'
), (
NULL , 'Waarde2'
);
