(remote) Login zu MySQL

  • hallo,

    ich hab sehr wenig ahnung davon, aber wollte für nen kumpel was porgrammieren.
    ein kleines autoit-tool, womit man sich (remote) bei MySQL-DB anmelden kann.

    Also via IP&Port und User&PW.

    Wie stell ich dass denn an, dass auch, wenn ein falscher User (bzw. temp. gesperrt) eine Fehlermeldung erhält.

    Hab folgende beiden Methoden probiert, aber iwie klappt des net:

    [autoit]

    $connect = _MySQLConnect($User, $PW, "", $IP, Default, $Port)
    $connect = _MySQL_Real_Connect($MysqlConn, $IP, $User, $PW, "", $Port)

    [/autoit]
  • Die Verbindung schlägt ja fehl, wenn Benutzer und/oder Passwort nicht stimmen. Da kannst du den Fehler mit _MySQL_Errno und _MySQL_Error abfragen. (wenn du die libmysql-Funktionen verwendest)
    Du kannst dich aber nicht bei jeder DB remote anmelden. Viele Hoster, vor allem die Gratishoster erlauben den Datenbankzugriff nur von ihren eigenen Servern aus, mit AutoIt hast du also keinen Zugriff.

  • sag mal, ist MSSQL und MySQL das gleiche, bzw gibt es da (große) Unterschiede (beim Login?

    Ok, wie ich den falschen User abfange, klappt soweit, Problem ist, dass er mir immer sagt, dass der User falsch ist, obwohl er definitiv korrekt ist. Hab also IP, Port, User und PW ...

    PS: also ich bin jetzt nen ticken weiter gekommen. es gibt in php die funktion mssql_pconnect mit server, user + pw ... ich denke das ist es, was ich brauche ... nur find ich leider den quellcode dazu nicht, um das evtl in autoit umzusetzen. jmd ne idee oder das als autoit-funktion?

    PPS: man kann ja auch mal direkt nach autoit suchen *g* bin auch fündig geworden, folgendes scheint zu funktionieren, jedoch nur wenn user und pw korrekt sind, anderenfalls beendet sich das script direkt mit einem fehler. kann man das vllt noch abfangen?

    [autoit]

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "DRIVER={SQL Server};SERVER=$IP;DATABASE=$DB;UID=$User;PWD=$PW;"
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )
    $rs.Open( "SELECT @@VERSION AS myVersion", $conn )
    MsgBox(0, "AutoIT-SQL Result", "Value = " & $rs.Fields( "myVersion" ).Value )
    $conn.close

    [/autoit]

    PPPS: ok, habs geschaft, den error abzufangen. die hilfe hat mir dabei geholfen. nice, jetzt klappt alles hrhr