VGLib.connectionService

La función de sistema VGLib.connectionService proporciona dos ventajas:

Si utiliza VGLib.connectionService para crear una conexión nueva desde un programa Java, especifique el nivel de aislamiento estableciendo la variable de sistema VGVar.sqlIsolationLevel.

VGLib.connectionService sólo puede utilizarse en programas migrados desde VisualAge Generator y EGL 5.0. La función está soportada (durante el desarrollo) si la preferencia EGL Compatibilidad de VisualAge Generator está seleccionada o (durante la generación) si la opción del descriptor de construcción VAGCompatibility está establecida en yes.

Para programas nuevos, utilice las siguientes funciones de sistema:

VGLib.connectionService no devuelve ningún valor.


Diagrama de sintaxis de VGLib.connectionService
idUsuario
ID de usuario que se utiliza para acceder a la base de datos. El argumento debe ser un elemento de tipo CHAR y longitud 8; un literal no es válido. El argumento es obligatorio, pero no se tiene en cuenta para la generación COBOL. Para obtener información general, consulte la sección Autorización de base de datos y nombres de tabla.
contraseña
Contraseña que se utiliza para acceder a la base de datos. El argumento debe ser un elemento de tipo CHAR y longitud 8; un literal no es válido. El argumento es obligatorio, pero no se tiene en cuenta para la generación COBOL.
nombreServidor
Especifica una conexión y utiliza dicha conexión para asignar valores a los argumentos producto y release, si estos argumentos están incluidos en la invocación de VGLib.connectionService.
El argumento nombreServidor es obligatorio y debe ser un elemento de tipo CHAR y longitud 18. Son válidos los siguientes valores:
blanks (sin contenido)
Si una conexión está activa, VGLib.connectionService mantiene dicha conexión. Si una conexión no está activa, el resultado (que no sea asignar valores) es volver al estado de conexión que está en vigor al principio de una unidad de ejecución, como se describe en la sección Base de datos por omisión.
RESET
En relación con COBOL, RESET compromete los cambios, cierra los cursores, libera los bloqueos, se desconecta de la base de datos actual y vuelve al estado de conexión que está en vigor al principio de una unidad de ejecución, como se describe en la sección Base de datos por omisión. Sin embargo, si tiene la intención de especificar RESET en este caso, invoque sysLib.commit o sysLib.rollback antes de invocar VGLib.connectionService.

En relación con un programa Java, RESET vuelve a conectar a la base de datos por omisión; pero si la base de datos por omisión no está disponible, el estado de conexión sigue igual.

Para obtener más detalles, consulte la sección Base de datos por omisión.

RESET
RESET vuelve a conectar a la base de datos por omisión; pero si la base de datos por omisión no está disponible, el estado de conexión sigue igual.

Para obtener más detalles, consulte la sección Base de datos por omisión.

nombreServidor
Identifica una base de datos.Identifica una base de datos:
Si el código se ejecuta como un programa COBOL, se aplica lo siguiente:
  • El valor de nombreServidor debe ser un valor de la columna de ubicación de la tabla SYSIBM.LOCATIONS, que se encuentra en el subsistema DB2 UDB conectado a la región CICS.
  • Especificar una base de datos cierra todos los cursores, libera los bloqueos y finaliza cualquier conexión existente, y se establece una conexión con la base de datos; sin embargo, si tiene la intención de especificar un valor para serverName, invoque sysLib.commit o sysLib.rollback antes de invocar VGLib.connectionService
Si el código se ejecuta como un programa COBOL, se aplica lo siguiente:
  • El valor de nombreServidor debe ser un valor de la columna de ubicación de la tabla SYSIBM.LOCATIONS, que se encuentra en el subsistema DB2 UDB.
  • Especificar una base de datos cierra todos los cursores, libera los bloqueos y finaliza cualquier conexión existente, y se establece una conexión con la base de datos; sin embargo, si tiene la intención de especificar un valor para serverName, invoque sysLib.commit o sysLib.rollback antes de invocar VGLib.connectionService
Si el código se ejecuta como un programa Java, se aplica lo siguiente:
  • Busque el nombre de la base de datos física consultando la propiedad vgj.jdbc.database.servidor, donde servidor es el nombre del servidor especificado en la llamada a VGLib.connectionService. Si esta propiedad no está definida, el nombre de servidor que está especificado en la llamada a VGLib.connectionService se utiliza tal cual.
  • El formato del nombre de base de datos es distinto para las conexiones J2EE que para las conexiones no J2EE:
    • Si ha generado el programa para un entorno J2EE, utilice el nombre al que está enlazado el origen de datos en el registro JNDI; por ejemplo, jdbc/MyDB. Esta situación se produce si la opción del descriptor de construcción J2EE se ha establecido en YES.
    • Si ha generado el programa para un entorno JDBC no J2EE, utilice un URL de conexión; por ejemplo, jdbc:db2:MyDB. Esta situación se produce si la opción J2EE se ha establecido en NO.
producto
Recibe el nombre de producto de la base de datos. El argumento, si existe, debe ser un elemento de tipo CHAR y longitud 8.

Para determinar la serie que se recibirá cuando el código se conecte a una determinada base de datos, revise la documentación del producto para la base de datos o el controlador; o bien ejecute el código en un entorno de prueba y escriba el valor recibido en un archivo.

release
Recibe el nivel de release de la base de datos. El argumento, si existe, debe ser un elemento de tipo CHAR y longitud 8.

Para determinar la serie que se recibirá cuando el código se conecte a una determinada base de datos, revise la documentación del producto para la base de datos o el controlador; o bien ejecute el código en un entorno de prueba y escriba el valor recibido en un archivo.

opciónConexión
Este parámetro se pasa por alto si genera un programa para CICS para z/OS. Los valores válidos son los siguientes:
D1E
D1E es el valor por omisión. El 1 en el nombre de la opción indica que sólo se soporta un compromiso de una fase y la E indica que cualquier desconexión debe tener el valor explicit. En este caso, un compromiso o una retrotracción no tiene ningún efecto sobre una conexión existente.

Si genera un programa que no es CICS COBOL, sólo puede acceder a una base de datos a la vez y debe solicitar explícitamente una desconexión para liberar los recursos de una conexión anterior (si existe) o conectarse a una base de datos distinta.

Si genera un programa Java, se aplica lo siguiente:
  • Una conexión a una base de datos no cierra cursores, libera bloqueos ni finaliza una conexión existente. Sin embargo, si la unidad de ejecución ya está conectada a la misma base de datos, el efecto es equivalente a especificar DISC y luego D1E.
  • Puede utilizar varias conexiones para leer varias bases de datos, pero sólo debe actualizar una base de datos en una unidad de trabajo ya que sólo está disponible un compromiso de una fase.

Una conexión a una base de datos no cierra cursores, libera bloqueos ni finaliza una conexión existente. Sin embargo, si la unidad de ejecución ya está conectada a la misma base de datos, el efecto es equivalente a especificar DISC y luego D1E.

Puede utilizar varias conexiones para leer varias bases de datos, pero sólo debe actualizar una base de datos en una unidad de trabajo ya que sólo está disponible un compromiso de una fase.

D1A
El 1 en el nombre de opción indica que sólo se soporta un compromiso de una fase y la A indica que cualquier desconexión tiene el valor automatic. Las características de esta opción son las siguientes:
  • Sólo puede conectarse a una base de datos a la vez
  • Un compromiso, retrotracción o conexión a una base de datos finaliza una conexión existente
DISC
Se desconecta de la base de datos especificada. La desconexión de una base de datos produce una retrotracción y libera los bloqueos, pero sólo para dicha base de datos.
DCURRENT
Se desconecta de la base de datos conectada actualmente. La desconexión de una base de datos produce una retrotracción y libera los bloqueos, pero sólo para dicha base de datos.
DALL
Se desconecta de todas las bases de datos conectadas. La desconexión de todas las bases de datos provoca una retrotracción de dichas bases de datos, pero no de otros recursos recuperables.
SET
Establece una conexión como actual. (Por omisión, la conexión realizada más recientemente en la unidad de ejecución es la actual).

Los siguientes valores están soportados para la compatibilidad con VisualAge Generator, pero son equivalentes a D1E: R, D1C, D2A, D2C, D2E.

Consideraciones acerca de la definición

VGLib.connectionService establece las siguientes variables de sistema:
  • VGVar.sqlerrd
  • sysVar.sqlca
  • sysVar.sqlcode
  • VGVar.sqlerrmc (disponible sólo en código COBOL)
  • VGVar.sqlWarn

Ejemplo

  VGLib.connectionService(myUserid, myPassword, 
    myServerName, myProduct, myRelease, "D1E");
Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.