cniSqlNavigatePath

Führt den Ausdruck SQLPathExpression aus, der zuvor mit den Dienstprogrammfunktionen cniSqlCreateReadOnlyPathExpression oder cniSqlCreateModifiablePathExpression erstellt wurde, wie er im Argument sqlPathExpression definiert wurde.

Syntax

 CciElement* cniSqlNavigatePath(
	int*           returnCode,
	CciSqlPathExpression* sqlPathExpression,
	CciMessage*           inputMessageRoot,
	CciMessage*           inputLocalEnvironment,
	CciMessage*           inputExceptionList,       
	CciMessage*           outputMessageRoot
	CciMessage*           outputLocalEnvironment,
	CciMessage*           outputExceptionList);

Parameters

Rückkehrcode (Ausgabe)
Die Eingabe eines Nullzeigers bedeutet, dass der benutzerdefinierte Knoten nicht für Fehler zuständig sein möchte. Alle Ausnahmebedingungen, die bei der Ausführung dieses Aufrufs ausgegeben werden, werden beim nächsten vorgeschalteten Knoten im Nachrichtenfluss erneut ausgegeben. Wenn die Eingabe nicht NULL ist, gibt die Ausgabe den Erfolgsstatus des Aufrufs an. Wenn bei der Ausführung eine Ausnahmebedingung auftritt, wird als Wert für '*returnCode' bei der Ausgabe CCI_EXCEPTION festgelegt. Rufen Sie 'cciGetLastExceptionData' für Details der Ausnahmebedingung auf. Wenn ein ungültiger sqlPathExpression-Parameter übergeben wurde, wird der Rückkehrcode auf CCI_INV_SQL_EXPR_OBJECT gesetzt. Wenn ein ungültiger 'CciMessage*'-Wert übergeben wurde, wird der Rückkehrcode auf CCI_INV_MESSAGE_OBJECT gesetzt. Wenn nicht zu dem Element navigiert oder es nicht erstellt werden konnte, wird der Rückkehrcode auf CCI_PATH_NOT_NAVIGABLE gesetzt.
sqlPathExpression (Eingabe)
Gibt das auszuführende Objekt SQLPathExpression an, wie es entweder von der Funktion cniCreateReadOnlyPathExpression oder cniCreateModifyablePathExpression zurückgegeben wurde. Dieser Parameter darf nicht NULL sein.
inputMessageRoot (Eingabe)
Die Nachricht, die die Eingabenachricht darstellt. Dieser Parameter darf nicht NULL sein.
inputLocalEnvironment (Eingabe)
Die Nachricht, die die lokale Umgebung der Eingabe darstellt. Dieser Parameter darf nicht NULL sein.
inputExceptionList (Eingabe)
Die Nachricht, die die Ausnahmeliste der Eingabe darstellt. Dieser Parameter darf nicht NULL sein.
outputMessageRoot (Eingabe)
Die Nachricht, die die Ausgabenachricht darstellt. Dieser Parameter darf NULL sein.
outputLocalEnvironment (Eingabe)
Die Nachricht, die die lokale Umgebung der Ausgabe darstellt. Dieser Parameter darf NULL sein.
outputExceptionList (Eingabe)
Die Nachricht, die die Ausnahmeliste der Ausgabe darstellt. Dieser Parameter darf NULL sein.

In der folgenden Tabelle wird die Zuordnung zwischen den im ESQL-Pfadausdruck akzeptierten Korrelationsnamen und den Daten, auf die zugegriffen wird, dargestellt.

Korrelationsname Daten, auf die zugegriffen wird
Umgebung Die einzelne Baumstruktur der Umgebung für den Datenfluss. Diese wird vom Broker festgelegt. Es ist nicht nötig, diese über diese API anzugeben.
InputLocalEnvironment InputLocalEnvironment-Parameter für cniSqlNavigatePath
OutputLocalEnvironment outputLocalEnvironment-Parameter für cniSqlNavigatePath
InputRoot inputMessageRoot-Parameter für cniSqlNavigatePath
InputBody Untergeordnetes Element von InputRoot
InputProperties InputRoot.Properties
Anmerkung: InputRoot.Properties ist das untergeordnete Element von InputRoot, genannt "Properties"
OutputRoot outputMessageRoot-Parameter für cniSqlNavigatePath
InputExceptionList inputExceptionList-Parameter für cniSqlNavigatePath
OutputExceptionList outputExceptionList-Parameter für cniSqlNavigatePath
Datenbankausnahmen ODBC-Datenquelle, angegeben durch den 'dataSourceName'-Parameter für cniCreateReadOnlyPathExpression oder cniCreateModifyablePathExpression
InputDestinationList Synonym für InputLocalEnvironment
OutputDestinationList Synonym für OutputLocalEnvironment

Alle anderen Regeln zur tatsächlichen Navigierbarkeit und Gültigkeit von Pfaden sind in der Dokumentation zur ESQL-Feldreferenz angegeben.

Rückgabewerte

Wenn erfolgreich zum Pfad navigiert wurde, wird die Adresse des Syntaxelements zurückgegeben. Wenn ein Pfad jedoch nicht navigierbar ist, wird der Wert null (CCI_NULL_ADDR) zurückgegeben, und der Rückkehrcodeparameter zeigt die Fehlerursache an.

Beispiel

Angenommen, es wurde zuvor ein SQLPathExpression erstellt (siehe im Beispiel für cniSqlCreateReadOnlyPathExpression oder cniSqlCreateModifiablePathExpression), dann könnte mit dem folgenden Code zum Zielelement navigiert werden.

 CciElement* targetElement = cniSqlNavigatePath(
                           NULL,
                          ((NODE_CONTEXT_ST *)context)->pathExpression,
                           message,
                           destinationList, 
                           exceptionList, 
                           NULL, /*auf Ausgabebaumstrukturen wird nicht verwiesen*/
                           NULL,
                           NULL);
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as08033_