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.

  VGLib.connectionService(
    idUsuario CHAR(8) in,
    contraseña CHAR(8) in,
    nombreServidor CHAR(18) in
    [, producto CHAR(8) inOut,
       release CHAR(8) inOut
    [, opciónConexión STRING in
    ]])
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. 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.
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
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:
  • 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
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.

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.sqlWarn

Ejemplo

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