Esegue SQLPathExpression creato in precedenza con le funzioni di utilità cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression, come definito dall'argomento sqlPathExpression.
CciElement* cniSqlNavigatePath( int* returnCode, CciSqlPathExpression* sqlPathExpression, CciMessage* inputMessageRoot, CciMessage* inputLocalEnvironment, CciMessage* inputExceptionList, CciMessage* outputMessageRoot CciMessage* outputLocalEnvironment, CciMessage* outputExceptionList);
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.
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);