Ejecuta el SQLPathExpression creado anteriormente con las funciones de programa de utilidad cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression, según la definición del argumento sqlPathExpression.
CciElement* cniSqlNavigatePath( int* returnCode, CciSqlPathExpression* sqlPathExpression, CciMessage* inputMessageRoot, CciMessage* inputLocalEnvironment, CciMessage* inputExceptionList, CciMessage* outputMessageRoot CciMessage* outputLocalEnvironment, CciMessage* outputExceptionList);
La tabla siguiente muestra la correlación entre los nombres de correlación aceptados en la expresión de vía de acceso ESQL y los datos accedidos.
Nombre de correlación | Datos accedidos |
---|---|
Environment | El árbol Environment exclusivo para el flujo. Esto lo determina el intermediario y no es necesario especificarlo a través de este API. |
InputLocalEnvironment | Parámetro inputLocalEnvironment de cniSqlNavigatePath |
OutputLocalEnvironment | Parámetro outputLocalEnvironment de cniSqlNavigatePath |
InputRoot | Parámetro inputMessageRoot de cniSqlNavigatePath |
InputBody | Último hijo de InputRoot |
InputProperties | InputRoot.Properties Nota: InputRoot.Properties es el
primer hijo de InputRoot, denominado "Properties"
|
OutputRoot | Parámetro outputMessageRoot de cniSqlNavigatePath |
InputExceptionList | Parámetro inputExceptionList de cniSqlNavigatePath |
OutputExceptionList | Parámetro outputExceptionList de cniSqlNavigatePath |
Database | Origen de datos ODBC identificado por el parámetro dataSourceName en cniCreateReadOnlyPathExpression o cniCreateModifyablePathExpression |
InputDestinationList | Sinónimo de InputLocalEnvironment |
OutputDestinationList | Sinónimo de OutputLocalEnvironment |
Todas las demás normas sobre la navegabilidad y validez real de las vías de acceso se basan en la documentación ESQL Field Reference.
Suponiendo que anteriormente hemos creado SQLPathExpression (vea el ejemplo para cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression), podríamos utilizar el siguiente código para navegar al elemento de destino.
CciElement* targetElement = cniSqlNavigatePath( NULL, ((NODE_CONTEXT_ST *)context)->pathExpression, message, destinationList, exceptionList, NULL, /*no se hace referencia a ningún árbol de salida*/ NULL, NULL);