Sentencias CONNECT explícitas

La utilización de sentencias CONNECT proporciona portabilidad de aplicaciones en todos los clientes Db2 y requiere que la aplicación gestione las conexiones.

Mediante la sentencia CONNECT, un programa de aplicación se conecta explícitamente a cada servidor. Debe vincular los DBRM para las sentencias de SQL que deben ejecutarse en el servidor con paquetes que residan en dicho servidor.

La aplicación se conecta a cada servidor basándose en el nombre de ubicación de la sentencia CONNECT. Puede especificar explícitamente un nombre de ubicación o puede especificar un nombre de ubicación en una variable de lenguaje principal. La emisión de la sentencia CONNECT cambia el registro especial CURRENT SERVER para que muestre la ubicación del nuevo servidor.

Ejemplo

Iniciar la información de la interfaz de programación de uso general.

Suponga que una aplicación incluye un bucle de programa que lee un nombre de ubicación, se conecta a la ubicación y ejecuta una sentencia INSERT. La aplicación inserta un nuevo nombre de ubicación en una variable de lenguaje principal, LOCATION_NAME, y ejecuta las sentencias siguientes:

EXEC SQL
   CONNECT TO :LOCATION_NAME;
EXEC SQL
   INSERT INTO IDP101.PROJ VALUES (:PROJNO, :PROJNAME, :DEPTNO, 
   :RESPEMP, :MAJPROJ);

Las variables de lenguaje principal coinciden con la declaración para la tabla PROJ.

Finalizar la información de la interfaz de programación de uso general.

Db2 garantiza la coherencia de los datos en una transacción distribuida. Para mantener la coherencia de los datos en todas las ubicaciones, la aplicación confirma el trabajo únicamente después de ejecutarse el bucle de programa para todas las ubicaciones. Tanto si cada ubicación confirma INSERT como si una anomalía impide la inserción a cualquier ubicación, todas las demás ubicaciones retrotraen INSERT.