Ejecuta el SQLPathExpression creado anteriormente con las funciones 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 a los que se accede.
Nombre de correlación | Datos accedidos |
---|---|
Environment | El árbol Environment exclusivo para el flujo. Este elemento lo determina el intermediario y no es necesario especificarlo con esta 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 (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 que es compatible con versiones anteriores |
OutputDestinationList | Sinónimo de OutputLocalEnvironment que es compatible con versiones anteriores |
Todas las demás normas sobre la navegabilidad y validez real de las vías de acceso se definen en Nombres de correlaciones.
Suponiendo que anteriormente haya creado un SQLPathExpression (consulte el ejemplo para cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression), podría utilizar el código siguiente para navegar al elemento de destino.
CciElement* targetElement = cniSqlNavigatePath( NULL, ((NODE_CONTEXT_ST *)context)->pathExpression, message, localEnvironment, exceptionList, NULL, /* no hacer referencia a ningún árbol de salida*/ NULL, NULL);