cniSqlNavigatePath

Esegue SQLPathExpression creato in precedenza con le funzioni di utilità cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression, come definito dall'argomento sqlPathExpression.

Sintassi

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

Parametri

returnCode (output)
Un input del puntatore NULL indica che il nodo definito dall'utente non intende gestire gli errori. Eventuali eccezioni generate durante l'esecuzione di questa chiamata, verranno generate nuovamente nel nodo successivo a monte del flusso. Se l'input è diverso da NULL, l'output indicherà lo stato positivo della chiamata. Se durante l'esecuzione si verifica un'eccezione, *returnCode verrà impostato su CCI_EXCEPTION nell'output. Una chiamata a cciGetLastExceptionData fornirà informazioni dettagliate sull'eccezione. Se è stato passato un parametro sqlPathExpression non valido, returnCode verrà impostato su CCI_INV_SQL_EXPR_OBJECT. Se è stato passato un valore CciMessage* non valido, returnCode verrà impostato su CCI_INV_MESSAGE_OBJECT. Se non è stato possibile eseguire la navigazione o la creazione dell'elemento, returnCode è impostato su CCI_PATH_NOT_NAVIGABLE.
sqlPathExpression (input)
Specifica l'oggetto SQLPathExpression da eseguire come restituito dalla funzione cniCreateReadOnlyPathExpression o cniCreateModifyablePathExpression. Questo parametro non può essere NULL.
inputMessageRoot (input)
Il messaggio che rappresenta il messaggio di input. Questo parametro non può essere NULL.
inputLocalEnvironment (input)
Il messaggio che rappresenta l'ambiente locale di input. Questo parametro non può essere NULL.
inputExceptionList (input)
Il messaggio che rappresenta l'elenco di eccezioni di input. Questo parametro non può essere NULL.
outputMessageRoot (input)
Il messaggio che rappresenta il messaggio di output. Questo parametro può essere NULL.
outputLocalEnvironment (input)
Il messaggio che rappresenta l'ambiente locale di output. Questo parametro può essere NULL.
outputExceptionList (input)
Il messaggio che rappresenta l'elenco di eccezioni di output. Questo parametro può essere NULL.

Nella seguente tabella è riportata la mappatura tra i nomi di correlazione accettati nell'espressione di percorso ESQL e i dati a cui viene eseguito l'accesso.

Nome di correlazione Dati a cui viene eseguito l'accesso
Environment La singola struttura ad albero dell'ambiente per il flusso. E' determinata dal broker e non è necessario specificarla mediante questa API.
InputLocalEnvironment Parametro inputLocalEnvironment su cniSqlNavigatePath
OutputLocalEnvironment Parametro outputLocalEnvironment su cniSqlNavigatePath
InputRoot Parametro inputMessageRoot su cniSqlNavigatePath
InputBody Ultimo child di InputRoot
InputProperties InputRoot.Properties
Nota: InputRoot.Properties è il primo child di InputRoot, denominato "Properties"
OutputRoot Parametro outputMessageRoot su cniSqlNavigatePath
InputExceptionList Parametro inputExceptionList su cniSqlNavigatePath
OutputExceptionList Parametro outputExceptionList su cniSqlNavigatePath
Database Origine dati ODBC identificata dal parametro dataSourceName su cniCreateReadOnlyPathExpression o cniCreateModifyablePathExpression
InputDestinationList Sinonimo di InputLocalEnvironment
OutputDestinationList Sinonimo di OutputLocalEnvironment

Tutte le altre regole relative alla navigabilità e alla validità corrente dei percorsi sono ricavabili nella documentazione relativa al riferimento del campo ESQL.

Valori di restituzione

Se la navigazione nel percorso ha esito positivo, viene restituito l'indirizzo dell'elemento di sintassi . Altrimenti, se il percorso non è navigabile, viene restituito un valore zero (CCI_NULL_ADDR) e il parametro returnCode indica il motivo dell'errore.

Esempio

Assumendo che sia stato creato in precedenza SQLPathExpression ( fare riferimento all'esempio relativo a cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression), per navigare all'elemento di destinazione, è possibile utilizzare il codice riportato di seguito.

 CciElement* targetElement = cniSqlNavigatePath(
                           NULL,
                          ((NODE_CONTEXT_ST *)context)->pathExpression,
                           message,
                           destinationList,
                           exceptionList,
                           NULL, /*non si fa riferimento ad alcuna struttura ad albero di output*/
                           NULL,
                           NULL);
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as08033_