Kopiert die angefallenen Statistikdaten aus der Online-Tabelle („OLTP_StatisticData“) in die „DSS“-Tabelle „DSS_StatisticData“ zur weiteren Verarbeitung. (Dabei wird die referentielle Integrität der „HTreeNodeID“s und der „VisitorOrPersonID“s natürlich überprüft.)
Wichtiger Hinweis :
Aus Performance-Gründen wird wie folgt vorgegangen : Die Daten werden erst in eine temporäre Tabelle umkopiert, um die Tabelle nicht zu lange zu sperren und um nicht mit neu eintreffenden Datensätzen in Konflikt zu geraten. Alle Datensätze, die in „OLTP_StatisticData“ vorgefunden werden, müssen unbedingt am Ende gelöscht werden. Deshalb merkt sich die Prozedur die Anzahl Datensätze, die in die temporäre Tabelle kopiert wurden, um einfach via…
…genau diese aus der „OLTP“-Tabelle löschen zu können.
⇒ Vorausgesetzt werden muß daher unbedingt, daß kein geclusterter Index auf „OLTP_StatisticData“ existiert (es sich also um eine „heap“-Tabelle handelt) !
Anmerkungen :
1. Es werden garantiert die zum Aufruf existierenden Datensätze (die also in die oben erwähnte temporäre Tabelle umkopiert wurden) aus „OLTP_StatisticData“ gelöscht, es sei denn, es passiert ein unvorhergesehener Fehler (z.B. daß das Einfügen in die temporäre Tabelle fehlschlägt, o.ä.). Bei einem Fehler wird in jedem Fall eine Fehlermeldung in „Actions“ eingetragen, um z.B. eine Warnung per EMail an den Administrator zu verschicken. Folgende Parameter werden zur „Action“ gespeichert :
2. Damit die Prozedur immer wieder gestartet werden kann, wird entgegen des üblichen Verfahrens der Status in „BatchJobs“ immer (also auch nach einem Fehler) wieder auf „0“ gesetzt.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | system administration |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Die Prozedur hat keine Parameter.
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 1) |
---|---|---|
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-565 | Die „Objekt-ID“ der Prozedur konnte nicht ermittelt werden | nur indirekt |
-564 | Der Status in BatchJobs konnte nicht gesetzt werden | nur indirekt |
-562 | Die Prozedur ist nicht in BatchJobs registriert | nur indirekt |
-560 | Prozedur konnte nicht gestartet werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
4.0.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
4.0.7 | 2004-01-16 | Verwendung der neuen Prozedur „_mi_TryToFinishBatchJob“ zum Setzen des Status am Schluß |
4.0.0 | 2003-04-03 | Am 05.03.2003 versehentlich gelöscht |
3.5.10 | 2001-07-14 | |
3.5.9 | 2001-06-16 | |
3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/st_CopyFromOLTPtoDSS_Ad'
Mit xmllint 2) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/st_CopyFromOLTPtoDSS_Ad' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'st_CopyFromOLTPtoDSS_Ad' ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="st_CopyFromOLTPtoDSS_Ad"> <Parameters/> </Procedure> </Batch> </ListOfBatches>