Matze1708 10 Geschrieben 2. Mai 2014 Melden Teilen Geschrieben 2. Mai 2014 hallo zusammen, ich habe eigentlich eine einfacher Frage. Wie kann ich eine MS Access (datenbank .accdb) in einen Job einplanen? Schöne Grüße Matthias Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 2. Mai 2014 Melden Teilen Geschrieben 2. Mai 2014 Was für einen Job möchtest Du einplanen? Du kannst z.B. in einem Hauptformular über einen Timer einen Event feuern. Meinst Du so was? Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 2. Mai 2014 Autor Melden Teilen Geschrieben 2. Mai 2014 Hey Sunny, nene.. Das mache ich schon... Wenn die DB aufgeht läuft der Job und erstellt in ein Verzeichnis aus einer Abfrage eine txt Datei. Ich möchte in der Aufgabenplanung einfach nur diese accdb starten... Da spinnt er mir rum... Oder läuft ewig. habe im Programm... Den Pfad samt exe zur MSAccess.exe und im Argument den Speicherort zur accdb. Also Z:\Datenbank\Schnittstellen\Mail_Export.accdb Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 2. Mai 2014 Melden Teilen Geschrieben 2. Mai 2014 Probier es ohne Argument, sondern Pfad zur EXE *und* Pfad zur ACCDB in eine Zeile, getrennt durch "". So zum Beispiel: "Pfad zur MSAccess.exe" "Pfad zur ACCDB" Wie genau lautet der Aufruf? Wird nur bei einem angemeldeten Benutzer aufgerufen? Wann soll der Aufruf stattfinden? Beim Login oder vorher schon? Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 2. Mai 2014 Autor Melden Teilen Geschrieben 2. Mai 2014 Soll ohne Anmeldung Nachts um 0:00 Uhr ausgeführt werden. Kann der Admin sein. Ist nicht schlimm in dem Fall. "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "Z:\Datenbank\Schnittstellen\Mail_Export.accdb" Die Aufgabensteuerung macht von selbst aus dem obigen ein Programm Pfad und ein Argument Komisch ist auch das die Events ewig laufen. Wenn ich die manuell ausführe sind die innerhalb von 10 Sekunden beendet. Ich hatte auch schon mal die Access Instanz in eine .cmd Datei gepackt.... und dann über SysWOL64\cmd.exe und das Argument den Spaß aufgerufen. Gleiches ergebnis. Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 2. Mai 2014 Melden Teilen Geschrieben 2. Mai 2014 Soll ohne Anmeldung Nachts um 0:00 Uhr ausgeführt werden. Kann der Admin sein. Ist nicht schlimm in dem Fall. "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "Z:\Datenbank\Schnittstellen\Mail_Export.accdb" LW Z:\ ist ganz schlecht, trag den UNC-Pfad ein. Die Aufgabensteuerung macht von selbst aus dem obigen ein Programm Pfad und ein Argument Back den Aufruf in eine Batch. Ist der UNC-Pfad denn auch in den Vertrauenswürdigen Pfaden? Komisch ist auch das die Events ewig laufen. Wenn ich die manuell ausführe sind die innerhalb von 10 Sekunden beendet. Da fehlen garantiert dem 'ausführenden' Benutzer NTFS-Berechtigungen auf dem Ziel. Wie sieht die Fehlerbehandlung in den Funktionen aus? Wirfst Du mit Messageboxen die Fehler aus? Wenn ja, dann funktioniert das nicht, niemand ist angemeldet, also sieht niemand die Messageboxen, schon läuft alles ewig. Lass die Fehler in eine tblProtokoll schreiben, dann kannst Du sie später lesen und beheben. Ich hatte auch schon mal die Access Instanz in eine .cmd Datei gepackt.... und dann über SysWOL64\cmd.exe und das Argument den Spaß aufgerufen. Gleiches ergebnis. Wenn dann komplett in die Batch packen, Pfad zur Access Exe und die ACCDB, aber unbedingt ohne LW-Buchstabe. Oder du verlegst die ACCDB auf ein lokales Laufwerk. Beachte aber UAC! Ich soetwas als Dienst laufen, SRVANY.exe und INSTSRV.EXE sind hilfreich dabei. Funktioniert einwandfrei, die Events werden aus dem Timer gefeuert, täglich mehrmals bei mehreren Datenbanken. Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 12. Mai 2014 Autor Melden Teilen Geschrieben 12. Mai 2014 Hallo Sunny, wie muss ich das mit instsrv machen... Habe gelesen das es bei dem WinSrv2008R2 die SC.exe. ist. Mache ich das nur einmalig? oder muss ich den Dienst jedes mal registrieren? (Neustart etc.) Wäre das dann so: sc.exe create Servicename Mail-Export Aber wo und wie gebe ich den Pfad auf die Datei bzw. das Programm an? Oder muss das gar jedes mal über die Aufgabenplanung laufen? Gruß Matthias Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 13. Mai 2014 Melden Teilen Geschrieben 13. Mai 2014 wie muss ich das mit instsrv machen... Habe gelesen das es bei dem WinSrv2008R2 die SC.exe. ist. Die Kombination mit der MSAccess.exe und der SC.exe funktioniert nicht so wie gewollt. Du mußt mit der InstSRV.EXE und der SRVAny.exe arbeiten. Hier findest Du zwei Anleitungen zum einrichten: http://www.serverhowto.de/Applikationen-als-Dienste-einrichten.228.0.html http://support.microsoft.com/kb/137890/de Bei Application trägst Du folgendes ein: "Pfad zur MSAcess.exe" "Pfad zur ACCDB" Wenn das eingetragen ist, kopiere den vollständigen Pfad in die Zwischenablage und anschließend in die Adresszeile vom Windows Explorer. Geht die Datenbank auf? Wenn ja, ist alles in Ordnung. Beachte und bedenke unbedingt die Makrosicherheit und die Vertrauenswürdigen Pfade bei Access! Mache ich das nur einmalig? oder muss ich den Dienst jedes mal registrieren? (Neustart etc.) Einmalig, dann kannst Du den Dienst in Services.msc starten. Funktioniert es korrekt, siehst Du es daran dass im Verzeichnis der ACCDB eine LACCDB erstellt wurde. Aber wo und wie gebe ich den Pfad auf die Datei bzw. das Programm an? Oder muss das gar jedes mal über die Aufgabenplanung laufen? Für die Aufgabenplanung erstellst Du dir eine Batchdatei: @echo off net stop Name_des_Dienstes net start Name_des_Dienstes Die Batchdatei rufst Du aus dem Aufgabenplaner heraus auf. Auch hier gilt, wird die LACCDB erstellt, funktioniert es richtig.Ganz wichtig! Der ausführende Benutzer sieht keine Fehlermeldungen in Form einer Messagebox, Du mußt also sämtliche Fehlermeldungen in eine Protokolltabelle schreiben lassen und die täglich auswerten oder per Mail den täglichen Inhalt verschicken. Wenn man das einmal angelegt hat, geht das zukünftig recht schnell. Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 13. Mai 2014 Autor Melden Teilen Geschrieben 13. Mai 2014 (bearbeitet) Hallo Sunny, also ohne die Anführungszeichen "PFad" geht es ohne Probleme im Windows Explorer auf. In der cmd Datei muss ich bei Pfad zur Exe die Anführungszeichen einsetzten aber beim Pfad zur Datei will er sie nicht... Da spinnt er rum. Brauch ich unbedingt in der WInSrv2008R2 umgebung dieses Reskit für Win Srv 2003?? Wobei ich aber immer noch die verstehe das dieses einfache Skript was Manuell unter dem Administrator läuft nicht über die Aufgabenplanung vernünfitg läuft. Es sind die gleichen User mit logischer Weise gleichen Rechten. Er motzt nicht im Manuellen Modus rum.... :-( EDIT: Habe mal alles so versucht nachzustellen wie es in der Anleitung ist. DIenst mit instsrv.exe angelegt. Hatte auch alles geklappt. War dann im RegEdit zufinden. Habe dann einen Schlüßel angelegt... ( Container unter dem Dienst) Schlüßel habe ich Parameters genannt. In Paramters habe ich eine Neue Zeichenfolge mit dem Namen Application angelegt in Application habe ich den Wert "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" \\Server\Promember\Datenbank\Schnittstellen\Mail_Export.accdb eingefügt. Kann den Dienst nicht starten. Er sagt mir was von es dauert zulange bis die ANwendung startet.... :-( Ich dreh noch durch.... :-( bearbeitet 13. Mai 2014 von Matze1708 Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 13. Mai 2014 Melden Teilen Geschrieben 13. Mai 2014 also ohne die Anführungszeichen "PFad" geht es ohne Probleme im Windows Explorer auf. OK, das ist ja schon gut. ;) In der cmd Datei muss ich bei Pfad zur Exe die Anführungszeichen einsetzten aber beim Pfad zur Datei will er sie nicht... Da spinnt er rum. In der Batch reicht IMHO auch der Pfad zur ACCDB aus. BTW: In deinem Fall wird einsetzen mit nur einem t geschrieben. ;) Brauch ich unbedingt in der WInSrv2008R2 umgebung dieses Reskit für Win Srv 2003?? Nein, du brauchst nur die beiden Dateien. Wobei ich aber immer noch die verstehe das dieses einfache Skript was Manuell unter dem Administrator läuft nicht über die Aufgabenplanung vernünfitg läuft. Es sind die gleichen User mit logischer Weise gleichen Rechten. Er motzt nicht im Manuellen Modus rum.... :-( Probier doch einfach mal aus nur den Pfad zur ACCDB reinzuschreiben. DIenst mit instsrv.exe angelegt. Hatte auch alles geklappt. War dann im RegEdit zufinden. Habe dann einen Schlüßel angelegt... ( Container unter dem Dienst) Schlüßel habe ich Parameters genannt. In Paramters habe ich eine Neue Zeichenfolge mit dem Namen Application angelegt in Application habe ich den Wert "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" \\Server\Promember\Datenbank\Schnittstellen\Mail_Export.accdb eingefügt. Kann den Dienst nicht starten. Er sagt mir was von es dauert zulange bis die ANwendung startet.... :-( Ich dreh noch durch.... :-( Auszug aus einem Dienst: "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "C:\Programme\DBPfad\MeineDB.accdb" Dienst startet einwandfrei. Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 14. Mai 2014 Autor Melden Teilen Geschrieben 14. Mai 2014 Hallo, also ich habe nun mal die Datei in einen Lokalen Pfad kopiert. Wenn ich die Aufgabenplanung so einstelle das es nur bei angemeldeten User läuft.... Dann funktioniert das ganze Teil. Stelle ich unter gleichem user um das es auch bei abgemeldeten User läuft... Konto ist dann immer noch der Admin.... Geht zwar die ACCDB Datei auf laccd Datei wird angelegt läuft sich aber Tod.... Ich kann dann nach Stunden den Prozess MSAccess.ese im TaskManager abschießen und die laccdb Datei manuell löschen.... Also darauf sollte nun auch der Admin volle Rechte haben :-) Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 14. Mai 2014 Melden Teilen Geschrieben 14. Mai 2014 Wenn ich die Aufgabenplanung so einstelle das es nur bei angemeldeten User läuft.... Dann funktioniert das ganze Teil. Stelle ich unter gleichem user um das es auch bei abgemeldeten User läuft... Konto ist dann immer noch der Admin.... Geht zwar die ACCDB Datei auf laccd Datei wird angelegt läuft sich aber Tod.... Was passiert denn in der Access-DB genau? Wenn dort irgendwelche Netzlaufwerke verwendet werden die es dann nicht gibt, kann das nicht funktionieren. Hast du in den Subs/Functions die Fehlermeldungen in eine Protokolldatei umgeleitet? Weshalb hast Du denn keinen Dienst angelegt? Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 16. Mai 2014 Autor Melden Teilen Geschrieben 16. Mai 2014 Hallo Sunny, ich habe noch mal bissl rum gespielt.... Mein Gedanke war.... Aber das hattest du schon geschrieben... Ich hatte die Tabellen in der Datei auf ein netzlaufwerk ( Z:\) gebunden. Das wird ganz bestimmt nich zur Laufzeit verbunden sein. :-( habe es aber auf den UNC Pfad umgestellt. Gleiches problem... Dann habe ich datei einfach in das gleiche Laufwerk (C:\) kopiert und auch die Tabellen auf die Datei auf dem Lokalen Pfad gemappt. Es geht immer noch nicht.... Eine Fehlerasuwertung habe ich nicht.... da ist nur ein gespeicherter Export drin die 2 verlinkten Tabellen und eine Union-Abfrage. Zitieren Link zu diesem Kommentar
Sunny61 811 Geschrieben 18. Mai 2014 Melden Teilen Geschrieben 18. Mai 2014 Mein Gedanke war.... Aber das hattest du schon geschrieben... Ich hatte die Tabellen in der Datei auf ein netzlaufwerk ( Z:\) gebunden. Das wird ganz bestimmt nich zur Laufzeit verbunden sein. :-( habe es aber auf den UNC Pfad umgestellt. Gleiches problem... Dann habe ich datei einfach in das gleiche Laufwerk (C:\) kopiert und auch die Tabellen auf die Datei auf dem Lokalen Pfad gemappt. Es geht immer noch nicht.... Du machst irgendetwas grundsätzlich falsch. Kannst Du die Datenbank uploaden so dass man sich das anschauen kann? Wenn es nicht öffentlich sein soll, dann kannst Du mir den Link zum Download auch per PN schicken. Eine Fehlerasuwertung habe ich nicht.... da ist nur ein gespeicherter Export drin die 2 verlinkten Tabellen und eine Union-Abfrage. Eine Datenbank ohne Fehlerbehandlungsroutinen ist ganz schlecht. Wird denn das Formular automatisch gestartet wenn Du die DB aufrufst? Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 19. Mai 2014 Autor Melden Teilen Geschrieben 19. Mai 2014 Ich kann dir gerne die DB senden. Aber wie gesagt die ist verlinkt auf eine Datenbank bei uns im System die kann ich dir nciht schicken. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.