Gibt die protokollierten Ausführungen einer registrierten Prozedur innerhalb eines Zeitraums aus.
Anmerkung zu den Rückgabespalten „ParameterName“ und „ParameterValue“ :
Falls die (durch „ProcedureID“ angegebene) Prozedur neben Parameter-Werten zusätzlich oder alternativ Daten über eine Tabelle übergeben bekommen kann, werden diese „manchmal“ geloggt - je nachdem, ob die „Input“-Tabelle unterstützt wird oder nicht. Derzeit werden nur Daten von Tabellen der Datenbank „tempdb“ beachtet, in einer zukünftigen Version kann dies aber durchaus auf manche Tabellen der „dstoreifin“-Datenbank erweitert werden. Wenn also solche Daten ebenfalls beim Aufruf protokolliert wurden, dann zu „dummy“- oder auch Pseudo-Parametern. Diese haben folgenden Aufbau :
„<Eine Abkürzung des Tabellen-Namens mit maximal 10 Buchstaben>_<Spalten-Name>_<Datensatznummer>„
Ein Beispiel :
In der Rückgabemenge dieser Prozedur gibt es folgenden Datensätze :
Dies bedeutet, daß beim Prozedur-Aufruf zwei Datensätze via „tempdb.dbo.OneID“ übergeben wurden, und zwar ein Datensatz mit „ID1 = 3“ und ein Datensatz mit „ID1 = 5“.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | system administration |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ProcedureID | ID einer registrierten Prozedur (mögliche Werte : siehe mi_GetRegisteredProcedures_Ad) | smallint | 4.0.8 | |
FromDate | Es werden nur Ausführungen berücksichtigt, die zu diesem oder einem späteren Zeitpunkt protokolliert wurden (Parameter muß angegeben werden !) | datetime | 4.0.8 | |
ToDate | Es werden nur Ausführungen berücksichtigt, die zu diesem oder einem früheren Zeitpunkt protokolliert wurden (Parameter muß angegeben werden !) | datetime | 4.0.8 | |
ExecutedByUserID | NULL | ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad). Falls angegeben, werden nur protokollierte Aufrufe der Prozedur beachtet, die von diesem Benutzer getätigt wurden. | smallint | 4.0.8 |
ExecutedOnNestingLevel_From | NULL | Optionaler Filter : Nur die Ausführungen auf diesem oder einem höheren „NestingLevel“ („NestingLevel = 1“ : direkter Aufruf der Prozedur, „NestingLevel = 2“ : Aufruf innerhalb einer anderen Prozedur, usw.) beachten | tinyint | 4.0.8 |
ExecutedOnNestingLevel_To | NULL | Optionaler Filter : Nur die Ausführungen auf diesem oder einem niedrigeren „NestingLevel“ („NestingLevel = 1“ : direkter Aufruf der Prozedur, „NestingLevel = 2“ : Aufruf innerhalb einer anderen Prozedur, usw.) beachten | tinyint | 4.0.8 |
HostName | NULL | Optionaler Filter : Es sollen nur protokollierte Aufrufe der Prozedur beachtet werden, die von diesem „Host“ erfolgten | varchar(50) | 4.0.8 |
ProgramName | NULL | Optionaler Filter : Es sollen nur protokollierte Aufrufe der Prozedur beachtet werden, die aus diesem Programm heraus erfolgten | varchar(50) | 4.0.8 |
ExecutionTime_ms_From | NULL | Optionaler Filter : Falls angegeben, werden nur Ausführungen berücksichtigt, die diese oder eine größere Anzahl von Millisekunden benötigten | integer | 4.0.8 |
ExecutionTime_ms_To | NULL | Optionaler Filter : Falls angegeben, werden nur Ausführungen berücksichtigt, die diese oder eine kleinere Anzahl von Millisekunden benötigten | integer | 4.0.8 |
ReturnCode_From | NULL | Optionaler Filter : Ist hier ein Wert angegeben, sind in der Ausgabe nur Aufrufe enthalten, bei denen die Prozedur diesen oder einen größeren „Return-Code“ zurückgegeben hat | integer | 4.0.8 |
ReturnCode_To | NULL | Optionaler Filter : Ist hier ein Wert angegeben, sind in der Ausgabe nur Aufrufe enthalten, bei denen die Prozedur diesen oder einen niedrigeren „Return-Code“ zurückgegeben hat | integer | 4.0.8 |
IncludeLoggedParamValues | 0 | „1“ angeben, um zusätzliche Rückgabespalten zu erhalten, denen man die einzelnen Parameter und ihre Werte beim jeweiligen Prozedur-Aufruf entnehmen kann | bit | 6.0.3 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
ExecutionDateAndTime | Zeitpunkt des Aufrufs der Prozedur | datetime | 4.0.8 |
ExecutionDateAndTime_char | „ExecutionDateAndTime“ als „string“ im Format „17.08.2001 17:45:10:510“ | varchar(23) | 4.0.8 |
UniqueValue | Ein Wert, der den protokollierten Datensatz in der Tabelle „ProcedureExecutionLog“ eindeutig macht (hat also keine weitere Bedeutung; er wird benötigt, um z.B. die Parameter zu diesem Aufruf in „ProcedureExecutionParameters“ speichern zu können) | char | 4.0.8 |
ExecutedByUserID | ID eines im „dStore“ registrierten Benutzers (aus der Tabelle „UserInfo“), der die Prozedur ausgeführt hat | smallint | 4.0.8 |
ExecutedByUserName | Name des Benutzers „ExecutedByUserID“ | varchar(50) | 4.0.8 |
ExecutedOnNestingLevel | Auf welchem „NestingLevel“ wurde die Prozedur ausgeführt („NestingLevel = 1“ : direkter Aufruf der Prozedur, „NestingLevel = 2“ : Aufruf innerhalb einer anderen Prozedur, usw.) | tinyint | 4.0.8 |
ServerProcessID | Die Server-Prozeß-ID, unter der der Aufruf ausgeführt wurde | integer | 4.0.8 |
EngineNumber | Auf welcher intern vom ASE verwalteten „Engine“ lief der Prozeß „ServerProcessID“ | integer | 4.0.8 |
HostName | Der Aufruf erfolgte von diesem „Host“ | varchar(50) | 4.0.8 |
ProgramName | Die Prozedur wurde von diesem Programm aufgerufen | varchar(50) | 4.0.8 |
ExecutionTime_ms | Ausführungsdauer des Aufrufs in Millisekunden | integer | 4.0.8 |
ReturnCode | Welchen „Return-Code“ der Aufruf lieferte (z.B. „0“ für „erfolgreich“) | integer | 4.0.8 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
ExecutionDateAndTime | Zeitpunkt des Aufrufs der Prozedur | datetime | 6.0.3 |
ExecutionDateAndTime_char | „ExecutionDateAndTime“ als „string“ im Format „17.08.2001 17:45:10:510“ | varchar(23) | 6.0.3 |
UniqueValue | Ein Wert, der den protokollierten Datensatz in der Tabelle „ProcedureExecutionLog“ eindeutig macht (hat also keine weitere Bedeutung; er wird benötigt, um z.B. die Parameter zu diesem Aufruf in „ProcedureExecutionParameters“ speichern zu können) | char | 6.0.3 |
ExecutedByUserID | ID eines im „dStore“ registrierten Benutzers (aus der Tabelle „UserInfo“), der die Prozedur ausgeführt hat | smallint | 6.0.3 |
ExecutedByUserName | Name des Benutzers „ExecutedByUserID“ | varchar(50) | 6.0.3 |
ExecutedOnNestingLevel | Auf welchem „NestingLevel“ wurde die Prozedur ausgeführt („NestingLevel = 1“ : direkter Aufruf der Prozedur, „NestingLevel = 2“ : Aufruf innerhalb einer anderen Prozedur, usw.) | tinyint | 6.0.3 |
ServerProcessID | Die Server-Prozeß-ID, unter der der Aufruf ausgeführt wurde | integer | 6.0.3 |
EngineNumber | Auf welcher intern vom ASE verwalteten „Engine“ lief der Prozeß „ServerProcessID“ | integer | 6.0.3 |
HostName | Der Aufruf erfolgte von diesem „Host“ | varchar(50) | 6.0.3 |
ProgramName | Die Prozedur wurde von diesem Programm aufgerufen | varchar(50) | 6.0.3 |
ExecutionTime_ms | Ausführungsdauer des Aufrufs in Millisekunden | integer | 6.0.3 |
ReturnCode | Welchen „Return-Code“ der Aufruf lieferte (z.B. „0“ für „erfolgreich“) | integer | 6.0.3 |
ParameterName | Parameter der durch „ProcedureID“ angegebenen Prozedur („NULL“, wenn es keine geloggten Parameter zum Prozeduraufruf gibt) oder ein Pseudo-Parameter (“<Abkürzung einer Tabelle, in der Daten übergeben werden können>_<Spalten-Name>_<Datensatznummer>“) | varchar(50) | 6.0.3 |
ParameterValue | Wert, der in „ParameterName“ zum Aufrufzeitpunkt angegeben war. Bei einem „Pseudo-Parameter“ steht hier der Wert einer Spalte eines Datensatzes der Tabelle, in der zusätzliche Daten übergeben wurden (s. Beschreibung). | varchar(1850) | 6.0.3 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-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 |
-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 |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und 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] |
6.5.3 | 2013-03-18 | Interne Anpassungen wg. UTF8-Unterstützung |
6.0.6 | 2012-03-01 | Rückgabespalte „ParameterValue“ erweitert [von „255“ auf „1850“] |
6.0.3 | 2011-09-07 | 1. Neuer Parameter „IncludeLoggedParamValues“ 2. Quellcode-Anpassungen an den aktuellen Standard |
5.1.5 | 2006-08-29 | Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren |
4.0.9 | 2004-03-03 | 1. Verwendung von „_mi_ChooseParamValueSeperator“ als Vorbereitung von „_mi_StartProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
4.0.8 | 2004-02-20 | 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 GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetProcedureExecutionLog_Ad?ProcedureID=<value>&FromDate=<value>&ToDate=<value>'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetProcedureExecutionLog_Ad?ProcedureID=<value>&FromDate=<value>&ToDate=<value>' | 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'), 'mi_GetProcedureExecutionLog_Ad', array( 'ProcedureID' => <value>, 'FromDate' => <value>, 'ToDate' => <value>, // 'ExecutedByUserID' => NULL, // 'ExecutedOnNestingLevel_From' => NULL, // 'ExecutedOnNestingLevel_To' => NULL, // 'HostName' => NULL, // 'ProgramName' => NULL, // 'ExecutionTime_ms_From' => NULL, // 'ExecutionTime_ms_To' => NULL, // 'ReturnCode_From' => NULL, // 'ReturnCode_To' => NULL, // 'IncludeLoggedParamValues' => 0 ) ); $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="mi_GetProcedureExecutionLog_Ad"> <Parameters> <Parameter Name="ProcedureID"><!-- smallint value --></Parameter> <Parameter Name="FromDate"><!-- datetime value --></Parameter> <Parameter Name="ToDate"><!-- datetime value --></Parameter> <!-- <Parameter Name="ExecutedByUserID">NULL</Parameter> --> <!-- <Parameter Name="ExecutedOnNestingLevel_From">NULL</Parameter> --> <!-- <Parameter Name="ExecutedOnNestingLevel_To">NULL</Parameter> --> <!-- <Parameter Name="HostName">NULL</Parameter> --> <!-- <Parameter Name="ProgramName">NULL</Parameter> --> <!-- <Parameter Name="ExecutionTime_ms_From">NULL</Parameter> --> <!-- <Parameter Name="ExecutionTime_ms_To">NULL</Parameter> --> <!-- <Parameter Name="ReturnCode_From">NULL</Parameter> --> <!-- <Parameter Name="ReturnCode_To">NULL</Parameter> --> <!-- <Parameter Name="IncludeLoggedParamValues">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>