MySQL - externe Datenbankabfrage

  • Hallo in die Runde, ich habe eine Datenbank auf Free MySQL Hosting erstellt. Der Zugriff mit Python klappt perfekt. Aber ich möchte den Abruf auch gern mit Autoit umsetzen.

    autoscript.com ist bisschen schwierig für mich. Der Connector/ODBC ist installiert. Die 'mysql.au3' befindet sich im include-Ordner.

    Der Code läuft trotzdem nicht.

    Code
    "C:\Users\Stefan\Documents\AutoIT\MySQL\MySQ_TestL.au3" (11) : ==> Only Object-type variables allowed in a "With" statement.:

    Wo liegt der Fehler?

    Danke für jede Hilfe.... :)

    Stefan

  • Danke, aber so da hat noch nix geholfen.

    Im Code eingebaut:

    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sql = ' & $sql & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console

    schreibt in die Konsole:

    @@ Debug(9) : $sql = 0

    >Error code: 2

    Ein Blick in die mysql.au3 zeigt:

    d.h. es ist kein MySQL-ODBC Treiber installiert. Der ist aber installiert und unter

    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers auch eingetragen....

  • Schleifchen

    Ich habe die Erfahrung gemacht das, ich auf Server von hostern mit mysql datenbanken nicht mit autoit drauf komme.

    weshalb das der fall ist weiß ich nicht, aber ich habe auch festgestellt, das meistens bei diesen hostern nicht alle Funktionen offen sind.

    Bei nachfrage an den Support hieß es nein es ist alles freigeschaltet und es fehlen auch keine Berechtigungen.

    (hatte mir extra die proversion abboniert um zu testen ob es am kostenlosen account liegt, das war aber nicht der fall.)

    naja wenn ich dann das über meinen Server myphpadmin aufrufe und das dann mit der Version des Hosters vergleiche, fehlt da einiges in der Hosterversion!

    um es zu testen habe ich selber einen Server auf meinem Rechner mit xaampp erstellt

    und siehe da es funktionierte sofort alles.

  • Ich hatte 3 Anbieter getestet:

    freedb.tech -> Zugriff über Python o.k. - Zugriff über Autoit: nö

    freesqldatabase.com -> Zugriff per Pyhton: o.k. - Zugriff über Autit: o.k.

    awardspace.com -> Host, Passwort, Port werden zwar angeboten, aber der Zugriff ist letztlich doch nur über phpmyAdmin möglich.

    da es eh nur Hobby ist sind die 5MB - Datenbank bei freesqldatabase völlig ausreichend.

    Danke

    Stefan

  • Hi :)
    Deine Fehlermeldung zeigt, dass die genutzte Version von MySQL zu alt ist und nicht mehr funktioniert.

    Laut https://github.com/BugFix/AutoIt_…sql_version.au3 nutzt die UDF MySQL 5.1.37

    Wenn man auf https://endoflife.date/mysql geht, kann man sehn, dass das schon länger nicht mehr unterstützt wird und nach dem was ich gelesen habe auch keine Verschlüsselung (TLS) unterstützt.

    Sprich: Jeder MITM (man in the middle) kann mitlesen, was du über die Verbindung sendest/empfängst.

    Wenn ne Webseite dir also die Verbindung damit erlaubt, würde ich mir überlegen den Anbieter zu wechseln, der scheint nämlich keinen großen Wert auf Sicherheit zu legen.

  • Danke für den Hinweis, freesqldatabase.com nutzt tatsächlich Server-Version: 5.5.62-0ubuntu0.14.04.1 - (Ubuntu) und freedb.tech

    Server-Version: 8.0.34-0ubuntu0.22.04.1 - (Ubuntu).

    Da entweder mein Rechner, oder ich, zu prasslig ist die Verbindung per MySQL-ODBC Treiber herzustellen (siehe erster Beitrag) hab ich nur noch die Alternative Python zu nutzen, oder gibt es noch eine 3. Lösung?

  • Im Wiki des engl. Forums gibt es einige MySQL UDFs. Vielleicht hilft eine davon:

    User Defined Functions - AutoIt Wiki

  • ich habe grad das gleich Problem, das die Server-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1 nicht unterstützt wird.

    Zu mindestens habe ich noch keine UDF auf anhieb gesehen die das kann.

    Ich versuche etwas im Englischen form rauszufinden, bisher ohne großen Erfolg.

    Falls etwas funktioniert werde ich es hier nochmal teilen.

  • ich habe hier : Server-Version: 10.6.12-MariaDB

    Ich würde ja einfach eine andere Version installieren aber auf dem Ubuntu 22.04 ltsc bekomme ich keine ältere Version von mariadb runtergeladen er sagt immer Fehler und bricht ab. (nur ssh Zugang)

    edit: bricht nicht ab er findet das file nicht.

    bzw, auf dem Server die Version : 10.6.12-MariaDB
    auf dem PC die Driver Version 8.2

    Einmal editiert, zuletzt von MojoeB (7. November 2023 um 13:20)

  • Also konnte es nun endlich ansatzweiße testen dank engl. forum und da die it mir endlich den Port frei gemacht hat.

    - 10.6.12-MariaDB + Ubuntu 22.04 ltsc

    Ich bekomme keine Fehlermeldung mehr, ich muss nur noch lernen damit richtig umzugehen.
    unten ist ein Beispiel das eine Tabelle ausließt und als Array anzeigt.

    Die Variablen müssen natürlich im Skript an euere Bedürfnisse angepasst werden.

    Wichtig ist das Skript mit 64x zu starten, wenn auch der Treiber 64xbit ist.
    Weil sonst seht ihr nur Fehlermeldung.

    verwendet wird momentan:
    - UDF ADO.au3 neuste Version.
    - MySQL ODBC 8.2 Unicode Driver64x