Analysiert ein Objekt, das T-SQL enthält - derzeit nur „stored procedures“, „sql functions“ und „trigger“ - und speichert das Ergebnis in internen Tabellen. Ausserdem wird durch diesen Vorgang die „SourceCodeHistory“ gepflegt.
Anmerkung zum Parameter „ForceAnalysis“ :
Da wir in „ObjectsContainingTSQL“ festhalten, wann das entsprechende Objekt zuletzt durch diese Prozedur hier analysiert wurde,führen wir eine erneute Analyse nur durch, wenn das Erstellungs-Datum des Objekts HINTER dem Zeitpunkt der letzten Analyse liegt. Möchte man aber eine erneute Analsyse erzwingen, ist „ForceAnalysis“ auf „1“ zu setzen.
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | mi_AnalyseObjectContainingTransactSQL_Ad |
Tags | |
Engine-Kategorie | system administration |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ObjectNameContainingTSQL | Name des zu analysierenden Objektes, das TransactSQL enthält. Derzeit werden nur „stored procedures“ und „trigger“ unterstützt. „NULL“ übergeben, um alle Prozeduren und Trigger analysieren zu lassen. | varchar(50) | 6.0.1 | |
ForceAnalysis | 0 | Möchte man eine Analsyse erzwingen, ist hier „1“ anzugeben (s. Beschreibung) | bit | 6.0.1 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-577 | Der Source-Code der SQL-Funktion ist nicht verfügbar | nur indirekt |
-574 | Der Source-Code des Triggers ist nicht verfügbar | nur indirekt |
-573 | Der Source-Code der Prozedur ist nicht verfügbar | 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 |
-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 | 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] |
6.5.3 | 2013-03-18 | Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung |
6.0.4 | 2011-10-21 | Ab jetzt werden auch „SQL Funktionen“ unterstützt ⇒ Anpassung der Doku |
6.0.2 | 2011-06-08 | Wird für „ObjectNameContainingTSQL“ der Wert NULL angegeben, werden alle Prozeduren und Trigger analysiert. |
6.0.1 | 2010-07-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 POST 'http://<partner>-<project>.dstore.de/default/engine/mi_AnalyseObjectContTSQL_Ad?ObjectNameContainingTSQL=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_AnalyseObjectContTSQL_Ad?ObjectNameContainingTSQL=<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_AnalyseObjectContTSQL_Ad', array( 'ObjectNameContainingTSQL' => '<value>', // 'ForceAnalysis' => 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_AnalyseObjectContTSQL_Ad"> <Parameters> <Parameter Name="ObjectNameContainingTSQL"><!-- varchar value --></Parameter> <!-- <Parameter Name="ForceAnalysis">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>