MS SQL.au3

  • Hallo ihr lieben,


    Ich habe mich mal drangesetzt und eine neue MSSQL.au3 geschrieben, da mir die 3 funktionen aus der alten UDF nicht gefallen haben ;)
    Bei mir laufen sie alle, falls ihr Fehler findet, meldet euch bitte, ich versuche sie zu lösen.
    Solltet ihr weitere Funktionen benötigen, meldet euch auch, ich versuche sie einzubauen.


    Die UDF wird noch weiter aktualisert, sobald ich weitere Funktionen habe



    au3.user.calltips.api Code:


    Changelog:



    Beispiel (Example):


    MfG TheLuBu

  • Hi,
    ich benutze zwar kein MSSQL aber du solltest in _MSSQL_CreateTable noch IF NOT EXISTS einfügen.


    Habs mir grade angeschaut, ich weiß nicht was du meinst, ich glaube ich hab alles auf Existenz geprüft ^^


    -EDIT-
    Ah jetzt, ja bau ich noch ein ^^

  • Hi Sprenger,
    Ich habe ja bereits eine Funktion zu TableExist und Column exist geschrieben.
    Wenn man die query direkt mit If Not Exist absendet, erhält man keinen Rückgabewert, den man in autoit nutzen kann. (Soweit ich das sehe wohlgemerkt ^^)
    Durch meine Funktion erhält man aber einen Rückgabewert, welcher in Autoit genutzt werden kann ;D

  • - _MSSQL_ColumnExist und _MSSQL_TableExist funktionieren jetzt korrekt und liefert auch die richtigen errorcodes zurück.
    - UDF funktioniert jetzt auch mit Opt("MustDeclareVars", 1)
    - au3.user.calltips.api hinzugefügt

  • Hallo TheLuBu,


    ich habe ein Problem mit dem Aufruf von _MSSQL_Query
    Bei mir wird immer ein Fehler ausgeworfen, sobald ich einen Abruf machen möchte. (Return $iSQLCon.execute($iQuery)^ ERROR) -> Zeile 434 der MSSQL.au3.


    Der Aufruf der Funktion sieht so aus :


    $fsql = _MSSQL_Con($mssql_host,$mssql_login,$mssql_pass,$mssql_db)


    $wert = _MSSQL_Query($fsql,"SELECT Feld FROM Database LIMIT 1")


    Ich habe die MSSQL.AU3 per #include eingebunden und fertig.
    Kannst du dir einen Reim darauf machen?


    Gruß

  • Tut mir leid, das ich erst so spät antworte, aber ich w ar übers Wochenende nicht in Reichweite eines PC´s ;)


    An sich könntest du auch _MSSQL_GetRecord nutzen mit $condition = "Limit 1"


    Ansonsten ist deine SQL Syntax falsch.
    Wenn du _MSSQL_Query nutzt musst du ein abschließendes ";" setzen, da sonst die Befehlszeile nicht vollständig ist, also$wert = _MSSQL_Query($fsql,"SELECT Feld FROM Database LIMIT 1;")

  • Nach langer Zeit mal wieder ein Update:


    Die aktualisierte UDF findet ihr im ersten Beitrag


    Es sind 2 neue Funktionen hinzugekommen,
    zum einen _MSSQL_Logging und _MSSQL_Errorhandler


    _MSSQL_Logging ermöglicht es, die generierten Queries auszugeben, um evtl. Fehler in der Syntax zu finden.
    Die Idee und der Code dazu sind von peethebee
    und seiner Logging UDF


    _MSSQL_Errorhandler erstellt einen Handler für evtl. auftretende Objektfehler, damit das Script weiterlaufen kann.


    Das Logging ist derzeit nicht in allen Funktionen eingebaut, wird aber noch nachgereicht

  • Servus,


    ich bekomme iwie keine Verbindung zum DB-Server hin:



    $sqlCon = _MSSQL_Con("ServerIP\Instanz", "user", "passwort", "datenbank")


    liegt es vllt an dem, das ich hier "ServerIP\Instanz" verwende? ?(