MySQl Connector Probleme bei DB Zugriff

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Lightsource.

    MySQl Connector Probleme bei DB Zugriff

    Hallo Zusammen,


    ich habe bereits ein paar Anwendungen in VB geschrieben. Unter anderem auch mit Zugriffen auf MS SQL und ACCESS. Nun muss ich ein Programm schreiben, welche sich mit einer MySQL DB verbinden kann.

    Bei der Suche nach einer geeigneten Lösung bin ich eigentlich nur auf den Connector gestoßen.

    Nun meine erste Frage, ist die Verbindung über diesen Connector performant? Ivh muss relativ große Datenmengen verarbeiten. Wenn die Verbindung über diesen Connectot nicht "gut" und schnell ist, gibt es noch andere sinnvolle Möglichkeiten?

    Ich habe gelesen, dies würde evtl. mit oleDb und ODBC gehen? Habt ihr damit Erfahrungen?

    In der Zwischenzeit habe ich versucht den Connector zu installieren. Beim schreiben in die maschine.?? bricht der Wizard immer ab. Er gibt nur aus, dass ein Fehler aufgetreten sei, sagt aber nicht welcher. Kommt euch das bekannt vor? Gibt es Abhängigkeiten zwischen Connector und MySQL-Version?

    Werd ihr so freundlich mir eine Codeausschnit zu posten, in dem der Verbindungsaufbau (ink. imports, etc.) dargestellt ist.

    Das wäre super.

    Danke und Gruß
    Wenn du schon Datenbanken per Code angesprochen hast,
    dann ist eine MySQL auch nicht viel anders. Das ist ja grade der
    Vorteil von ADO.Net, dass man mit den (fast) gleichen Befehlen
    auf die Daten zugreifen kann.

    Zeig doch mal den Code, den du damals verwendet hattest.
    Hy,

    ja ich denke auch, dass das eigentlich fast gleich sein müsste aber dann habe ich gelesen, dass ich unbedingt diesen tollen connector brauche.

    VB.NET-Quellcode

    1. Imports System.Data.SqlClient
    2. ------------------------------------------------------
    3. Dim dbconnect As String
    4. dbconnect = "Data Source=" & dbsrv & sdatasource & "; Initial Catalog=" & sdbname & "; User=" & sdbuser & ";Password=" & sdbpw & ";"
    5. Dim con As New SqlConnection
    6. Dim cmd As New SqlCommand
    7. con.ConnectionString = dbconnect
    8. cmd.Connection = con
    9. con.Open()
    10. cmd.CommandText = "SQL"
    11. cmd.ExecuteNonQuery()
    12. con.Close()


    Im oberen Bespeil habe ich mich mit einem MS SQL Server verbunden. Da ich mich aber nun mit einem MySQL-Server verbdingen will, kann ich den sqlclient nicht verwenden, da dieser speziell für MS SQL zugriffe verwendet wird.

    Auf der Suche nach dem richtigen Verbindungsstring und dem richtigen Provider habe ich mich verzettelt und bin mir nicht mehr sicher, wie es weitergehen soll. Besonders das Problem mit dem Connector und mit der Auswahl des richtigen Imports bin ich gerade überfragt.

    Gruß
    Vor allem musst du dir

    MySql.Data.dll
    MySql.Data.Entity.dll

    besorgen und bei den Verweisen einbinden . Allerdings weiß ich selbst grade nicht ,welche von beiden die Ausschlaggebende ist.

    Dann im Code

    Imports MySql.Data.MySqlClient

    Und dort

    connectionstrings.com/mysql

    holst du dir den ConnectionString
    Das musst du auf der MySQL Seite mal nachlesen, dort wo du auch die
    Installationsprograme für die dlls her bekommst.

    Habe grade geschaut, ob ich den Namen der Downloads noch irgendwo habe.
    Anscheinend heißen die Installationsprogramme "mysql-connector.....msi"
    Möglicherweise hast du ja schon die richtigen Dateien auf deinem Rechner.
    Hallo,

    ich habe einfach mal einen Connector mit anderem Versionsstand runtergeladen. Dann konnte ich Ihn installieren.

    Schin mal vielen Dank.

    Ich wollte nun den Import: Imports MySql.Data.MySqlClient setzen. Leider wird mir hier eine fehlermeldung angezeigt, dass dies kein gültziger Namensraum ist.
    ICh habe einfach die mysq.data eingebunden.

    und danach deinen import gesetzt. Sorry aber eine frage habe ich noch:

    VB.NET-Quellcode

    1. Dim conn As New MySql.Data.MySqlClient.MySqlConnection
    2. Dim myConnectionString As String
    3. myConnectionString = "server=127.0.0.1;" _
    4. & "uid=root;" _
    5. & "pwd=12345;" _
    6. & "database=test;" _
    7. & "port=3306;"
    8. conn.ConnectionString = myConnectionString
    9. conn.Open()
    10. conn.Close()


    Normalerweise hätte ich jetzt:
    'cmd.CommandText = "select count(*) from tablle"
    'cmd.ExecuteNonQuery()

    geschrieben, um den sql abzusetzten. was muss ich den jetzt dafür eingeben?
    War schon nicht so falsch.

    Also ich habe es dann so ähnlich gemacht:

    VB.NET-Quellcode

    1. Dim con As New MySqlConnection("blabla")
    2. Dim CMD As New MySqlCommand
    3. Dim news As New List(Of String)
    4. Dim reader As MySqlDataReader
    5. con.Open()
    6. CMD.CommandText = "SELECT ...
    7. reader = CMD.ExecuteReader
    8. etc.



    Halt je nach dem, was du überhaupt abrufen willst.
    Ich habe bis jetzt nur mit Oracle und Access-Datenbanken programmiert.
    Aber ich denke mal, dass es mit MySql auch nicht viel anders ist.