Hallo Leute
Ich habe mir für die Firma selber ein kleines Backuptool für den SQL Server geschrieben, welches ganz einfach in die Aufgabenplanung eingetragen wird damit alles automatisch abläuft.
Gerade vor ca 2 Wochen lief noch alles ganz normal, nun musste ich aber Autoit kurzzeitig deinstallieren und wieder installieren.
Wenn ich nun das Script wieder Compile bekomme ich immer eine Fehlermeldung mit "The requested action with this object has failed." nur dass es mir Lustigerweise jedes mal eine andere Zeile anzeigt wie wenn es selber nicht wüsste wo der Fehler ist...
Ich vermute dass ich nun eine andere Autoitversion habe und es deshalb nicht mehr funktioniert...
Bin nun schon seit einiger Zeit am suchen aber ich finde meinen Fehler einfach nicht,... kann mir da mal bitte jemand darüber schauen ?
Script kann auch gerne von euch verwendet werden wenn es jemand gerne haben möchte.
Hier das Script:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=Beta
#AutoIt3Wrapper_Icon=Icon\Sicherung.ico
#AutoIt3Wrapper_Res_Language=3079
#AutoIt3Wrapper_Run_Tidy=y
#Tidy_Parameters=/rel /reel /sf /tc n
#AutoIt3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/so /mi
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Global $adCN
$date = @MDAY & "." & @MON & "." & @YEAR
$sDriver = "{SQL Server}" ; <== Auswahl des Treibers
$adCN = ObjCreate("ADODB.Connection") ; <== SQL Verbindung erstellen
;###################################;
;Inidatei Überprüfen und Daten sichern;
;##################################;
If Not FileExists(@WorkingDir & "\Settings.ini") Then
MsgBox(1, "First Start", "This is your first start of the SQL Backuptool." & @CRLF & @CRLF & "Please enter the following Data")
$FC_sql_server = InputBox("Insert Server Name", "Please Enter the SQL Servername/IPAdress") ; <== SQL Server Name
$FC_sql_db = InputBox("Insert Database Name", "Please Enter the SQL Database Name") ; <== SQL Datenbank Name
$FC_sql_user = InputBox("Insert SQL User", "Please Enter the SQL User") ; <== SQL Benutzer
$FC_sql_pass = InputBox("Insert SQL-User Password", "Please Enter the SQL-User Password") ; <== SQL Benutzer Passwort
$FC_savedir = InputBox("Insert Savedir", "Please Enter the Path where the Database should be saved to.") ; <== Speicher Ort der .bak Datei
IniWrite(@WorkingDir & "\Settings.ini", "Connectiondata", "Servername", $FC_sql_server)
IniWrite(@WorkingDir & "\Settings.ini", "Connectiondata", "SQL Database", $FC_sql_db)
IniWrite(@WorkingDir & "\Settings.ini", "Connectiondata", "User", $FC_sql_user)
IniWrite(@WorkingDir & "\Settings.ini", "Connectiondata", "User PW", $FC_sql_pass)
IniWrite(@WorkingDir & "\Settings.ini", "Connectiondata", "SaveDir", $FC_savedir)
$eBackup = MsgBox(4, "Backup?", "Soll sofort ein erstes Backup erstellt werden?")
If $eBackup = 6 Then
_Sichern()
Else
Exit
EndIf
Else
_Sichern()
EndIf
Func _Sichern()
;###################################;
;Sicherungsordner erstellen;
;##################################;
$BAKDir = IniRead(@WorkingDir & "\Settings.ini", "Connectiondata", "Savedir", "Default")
If Not FileExists($BAKDir & "\Sicherung") Then
DirCreate($BAKDir & "\Sicherung")
EndIf
If Not FileExists($BAKDir & "\Sicherung\Reporting") Then
DirCreate($BAKDir & "\Sicherung\Reporting")
EndIf
;###################################;
;Serververbindungsdaten Festlegen;
;##################################;
$sql_server = IniRead(@WorkingDir & "\Settings.ini", "Connectiondata", "Servername", "Default")
$sql_db = IniRead(@WorkingDir & "\Settings.ini", "Connectiondata", "SQL Database", "Default")
$sql_user = IniRead(@WorkingDir & "\Settings.ini", "Connectiondata", "User", "Default")
$sql_pass = IniRead(@WorkingDir & "\Settings.ini", "Connectiondata", "User PW", "Default")
;###################################;
;Verbindung herstellen und sichern;
;##################################;
$DSN = ("DRIVER=" & $sDriver & ";SERVER=" & $sql_server & ";DATABASE=" & $sql_db & ";uid=" & $sql_user & ";pwd=" & $sql_pass & ";") ; <== DSN Definieren
$adCN.open($DSN) ; <== Mit Daten eine Verbindung öffnen
If @error Then
MsgBox(0, "ERROR", "Failed to connect to the database")
Exit
Else
$RecSet = ObjCreate("ADODB.RecordSet") ; <== Record erzeugen
TrayTip("Info", "Backup in process.", 10)
$RecSet.open("BACKUP DATABASE [" & $sql_db & "] TO DISK = N'" & $BAKDir & "\Sicherung\Kplus_Daten-Sicherung_" & $date & ".bak' WITH NOFORMAT, NOINIT, NAME = N'Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 ", $adCN)
$RecSet.close
$adCN.close
TrayTip("Info", "Backup completed.", 10)
Sleep(5000)
EndIf
EndFunc ;==>_Sichern
Alles anzeigen
Vielen dank im Vorraus
Lg MagicDave