_mysql_real_connect

  • Hallo Leute
    ich stehe vor einem größerem Problem.

    Ich habe mit ein Programm programmiert das mir die Software ausliest und sie an einen mysql Datenbank senden (verwende libmysql.dll) .

    Klappt einwandfrei wenn ich es local ausführe.
    Wenn ich es auf einem Server einer anderen Geschäftsstelle probiere und das programm beim jeder anmeldung durchlaufen lasse (per batch) klappt das ganze auch einwandfrei.

    Aber wir haben eine Geschäftsstelle die eine ganz langsame Internetanbindung hat. Hier braucht man für das Programm (300kb groß) ca 1 minute um es per Batch datei vom server auszuführen und danach bekommt man immer folgende Fehlermeldung:

    [autoit]

    mysql:
    2013
    Lost connection to MySQL server at 'reading authorization packet', system error:2

    [/autoit]

    Wie gesagt das kommt bei allen Pc´s in der Geschäftsstelle mit der langsamen Inet-Anbindung. Bei allen anderen klappt es einwandfrei. und auch wenn ich es local ausführe also die datei nit per batch über den Server öffne klappt es bei der langsamen Geschäftsstelle.

    jetzt ist meine frage kann ich das local Timeout irgendwie ausstellen?
    meine _MySQL_Real_Connect schaut zurzeit so aus:

    [autoit]

    $connected = _MySQL_Real_Connect($MysqlConn, $mysqlSERVER, $mysqlUSER, $mysqlPW, $mysqlTABLE,0,'','CLIENT_INTERACTIVE')
    If $connected = 0 Then
    $errno = _MySQL_errno($MysqlConn)
    MsgBox(0,"Error: mySQL Verbindung fehlgeschlagen",$errno & @LF & _MySQL_error($MysqlConn))
    Exit
    Endif

    [/autoit]

    könnt ihr mir vl. weiterhelfen?
    vielen lieben dank

  • Du kannst vor dem Aufruf von _MySQL_Real_Connect _MySQL_Options für das Handle verwenden. Beispiel:

    [autoit]

    ...
    $MySQL = _MySQL_Init()
    _MySQL_Options($MySQL, $MYSQL_OPT_CONNECT_TIMEOUT, 20, 'uint*')
    _MySQL_Real_Connect(...

    [/autoit]


    Ansonsten kopiere das Programm doch in den Temp-Pfad und starte es von dort.

  • danke für die schnelle antwort.

    Hab das ganze jetzt getestet...
    fehler kommt trotzdem ... habt ihr noch eine andere Idee... das zu Lösen? oder wo sehe ich was die Fehlermeldung genau aussagt?#

    sie kommt immer nach ca 5sec. und nur bei der GST mit der langsamen Internet anbindung...

    Das mit dem lokal kopieren könnte ich auch noch machen... aber lieber wär mir solch eine lösung.

  • Ich habe leider keine Idee. Eventuell kannst du mal eine andere libmysql.dll testen.