Utilice esta función para ejecutar el objeto SQLPathExpression que ha creado llamando a las funciones de utilidad cniSqlCreateReadOnlyPathExpression o cniSqlCreateModifiablePathExpression, tal como se define en el 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 correlación.
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);