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 während der Ausführung eine Ausnahmebedingung auftritt, wird *returnCode bei der Ausgabe auf CCI_EXCEPTION gesetzt. 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 (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, das mit älteren Versionen kompatibel ist
OutputDestinationList Synonym für OutputLocalEnvironment, das mit älteren Versionen kompatibel ist

Alle anderen Regeln zur tatsächlichen Navigierbarkeit und Gültigkeit von Pfaden sind unter Korrelationsnamen definiert.

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,
                           localEnvironment,
                           exceptionList,
                           NULL, /*auf Ausgabebaumstrukturen wird nicht verwiesen*/
                           NULL,
                           NULL);
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:58

as08033_