MySQL-Abfrage: Bestimmte Tabelle und Werte werden nicht erkannt

  • Hallo. Mit dem SQLPlugin.tbp kann ich ja meine MySQL-Datenbank auslesen. Dazu habe ich eine Access-MDB-Datei, in die per OLE die MySQL-Tabellen eingebunden sind.

    Seltsamerweise klappt es mit der Datenabfrage bei ein und derselben Datenbank nur gelegentlich.
    Das heißt selbst wenn ich dieselbe Tabelle abfrage, kommt bei der einen Abfrage ein Wert zurück, bei einer anderen Anfrage mit der gleichen Tabelle hingegen nicht.

    Konkret habe ich folgenden Code:

    Code
    %_ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\WEB\OFFLINE\meine.mdb'%-
    %_Query='select * from t_seiten where seiten_id=%_id'%-
    %SQLQuery(%_ConnectionString, %_Query)%-


    Wenn beispielsweise die seiten_id = 11 ist, bekomme ich eine Antwort wie erwartet. Ist die seiten_id aber beispielsweise 16, kommt nichts zurück (obwohl natürlich die entsprechenden Datensätze vorhanden sind).
    Habe die Datensätze bereits überprüft auf Unterschiede, aber keine gefunden.

    Außerdem findet das Plugin manche Tabelle nicht. Antwort von TB:

    Code
    "OleException: Das Microsoft Jet-Datenbankmodul findet die Eingangstabelle oder Abfrage 't_z_seiten' nicht. Stellen Sie sicher, dass sie existiert und der Name richtig eingegeben wurde"


    Tatsächlich ist die Tabelle aber in Access eingebunden und kann dort auch abgefragt werden.

    Daher die Frage: Gibt es besondere Bedingungen, damit das Plugin klappt? Muss ich meine Tabellen extra fomatieren, komprimieren, umschreiben, damit das Plugin 100% arbeitet?

  • Zitat


    Wenn beispielsweise die seiten_id = 11 ist, bekomme ich eine Antwort wie erwartet. Ist die seiten_id aber beispielsweise 16, kommt nichts zurück


    Stelle gerade fest, dass alle Daten kleiner gleich Seiten_id=16 nicht angezeigt werden. Habe das Gefühl dass die Aktualisierung der ODBC-Verbindung bei 15 stehen geblieben ist. In Access habe ich natürlich den Tabellenverknüpfungsmanager ausgeführt und die eingebundenen Daten aktualisiert, aber dennoch scheint irgendwo zu stehen, dass die entsprechende Tabelle nur 15 Datensätze hat.
    Wäre es denkbar, dass das Makro nur die Daten heranzieht, die bei Erstellung der Datenbank bzw. bei erstmaliger Einbindung über ODBC existierten? Dann müsste ich ja jedesmal nach einem neuen Datensatz die ODBC-Verbindung neu machen?

  • Sorry Leute für die Belästigung, aber ich habe den dummen Fehler: Der Pfad zur MDB war auf eine alte Datei gesetzt, in der die damaligen Tabellen nicht eingebunden sondern damals importiert waren und daher auch nicht aktualisiert werden konnten.

    Mein Fehler, schönes Plugin!!!

  • Zitat


    Leider in BetaPhase und nicht weiter entwickelt.


    Was fehlt Dir denn? Ich brauche zwar nur die einfache Select-Abfrage, dachte aber tendenziell jeden SQL-Befehl eingeben zu können, den ich auch in Access ausführen könnte.

  • Zitat


    Leider in BetaPhase und nicht weiter entwickelt.


    Jetzt habe ich doch noch eine Frage. Nachdem ich das Makro benutzt habe, bekomme ich in Access keinen exklusiven Zugriff mehr auf die Datenbank mit den verknüpften MySQL-Tabellen. Ich muss dann jedesmal TB erst ganz schließen.
    Daher die Frage: Kann man die Verbindung, die durch das Makro aufgebaut wird, auch wieder komfortabel schließen?