MSSQL.au3 => Frage zu _MSSQL_Con

  • Hallo zusammen,

    ich habe jetzt schon ein paar Jahre nichts mehr mit Autoit gemacht und bräuchte mal eure Hilfe. Ich habe ein altes Script, welches diverse Datenbanken der Reihe nach andockt und dort eine oder mehrere Abfragen machen. Jetzt ist es aber so, das unsere Datenbank Admins ab und zu mal die Datenbanken auf andere Systeme verlagern, sodass die IP Adresse nicht mehr passt und dadurch mein Script auf die Nase fällt.

    Mit der Funktion _MSSQL_Con aus MSSQL.au3 erstelle ich ja meine Datenbankverbindung

    Code
    Func _MSSQL_Con($scIP, $scUser, $scPass, $scDB)
    	Local $sqlCon
    	$sqlCon = ObjCreate("ADODB.Connection")
    	$sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
    	Return $sqlCon
    EndFunc   ;==>_MSSQL_Con

    Wie kann ich denn jetzt prüfen, ob Return $sqlCon erfolgreich war, oder nicht.

    Wenn es nicht erfolgreich ist, fliegt mir aktuell mein Script weg. Ich würde das gerne aber so lösen, das ich zumindest an dieser Stelle das irgendwie abfangen kann und mir via Messagebox mitteilen lassen kann, das diese Verbindung fehlerhaft ist. Schön wäre es dann noch, wenn das Script dann trotzdem mit den restlichen Datenbanken weiterlaufen würde.

    Hier noch ein Beispiel von einer meiner Datenbankverbindungen

    Code
        If $SelectedDatabase = "ABC" Then
                $URL = "https://www.platzhalter.fqdn/abc/"
                $IP = $IP3
                $USER = "abcuser"
                $PASSWORD = "abcpasswort"
                $DB = "abcdb"
                $sqlCon = _MSSQL_Con($IP, $USER, $PASSWORD, $DB) ; IP, User, PW, DB
                ConsoleWrite("$sqlCon bei ABC ist: " & $sqlCon & @CRLF)
         EndIf

    Leider komme ich aktuell nicht bis zum ConsoleWrite. Wenn ich das Script mit F5 laufen lasse, fliege ich aktuell so raus

    Code
    "C:\Program Files (x86)\AutoIt3\Include\MSSQL.au3" (434) : ==> The requested action with this object has failed.:
    $sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
    $sqlCon^ ERROR
    ->10:08:36 AutoIt3.exe ended.rc:1
    +>10:08:36 AutoIt3Wrapper Finished

    Danke für eure Tipps

  • Hi Code4Fun,

    hier mal ein Beispiel aus meinem SQL Script.

    Gruß Marcel