La función de sistema SysLib.connect permite que un programa se conecte a una base de datos durante la ejecución. Esta función no devuelve ningún valor.
SysLib.connect(
baseDatos STRING in,
IDusuario STRING in,
contraseña STRING in
[, ámbitoCompromiso enumerationCommitScope in
[, opciónDesconexión enumerationDisconnectOption in
[, nivelAislamiento enumerationIsolationLevel in
[, controlCompromiso enumerationCommitControlOption in
]]]] )
- baseDatos
- Identifica una base de datos:
- Si baseDatos se establece en RESET se 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 información, consulte la sección Base de datos por omisión.
- De lo contrario, busque el nombre de la base de datos física consultando la propiedad vgj.jdbc.database.servidor, donde servidor es el nombre de la base de datos especificada en la llamada a SysLib.connect. Si esta propiedad no está definida, el nombre de la base de datos que está especificado en la llamada a SysLib.connect 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 está establecida 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 está establecida en NO.
- 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, y es válido un literal. 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, y es válido un literal. El argumento es obligatorio.
- ámbitoCompromiso
- El valor es una de las siguientes palabras, y no pueden utilizarse comillas ni una variable:
- type1 (el valor por omisión)
- Sólo se soporta un compromiso de una fase. Una nueva conexión cierra todos los cursores, libera los bloqueos y finaliza cualquier conexión existente; sin embargo, invoque SysLib.commit o SysLib.rollback antes de realizar una conexión type1.
Si utiliza type1 como valor de ámbitoCompromiso, el valor del parámetro opciónDesconexión debe ser la palabra explicit, ya que es el valor por omisión.
- type2
- Una conexión a una base de datos no cierra cursores, libera bloqueos ni finaliza una conexión existente. Aunque puede utilizar varias conexiones para leer varias bases de datos, sólo debe actualizar una base de datos en una unidad de trabajo ya que sólo está disponible un compromiso de una fase.
- twophase
- Idéntico a type2.
- opciónDesconexión
- Este parámetro sólo es significativo si se genera salida Java.
El valor es una de las siguientes palabras, y no pueden utilizarse comillas ni una variable:
- explicit (el valor por omisión)
- La conexión permanece activa después de que el programa invoca SysLib.commit o SysLib.rollback.
Para liberar los recursos de la conexión, un programa debe emitir SysLib.disconnect.
Si utiliza type1 como valor de ámbitoCompromiso, el valor del parámetro opciónDesconexión debe establecerse en (o dejar que tome por omisión) la palabra explicit.
- automatic
- Una operación de compromiso o retrotracción finaliza una conexión existente.
- conditional
- Una operación de compromiso o retrotracción finaliza automáticamente una conexión existente, a menos que esté abierto un cursor y la opción de retención (hold) esté en vigor para ese cursor. Para obtener información detallada sobre la opción hold, consulte la sección open.
- nivelAislamiento
- Este parámetro indica el nivel de independencia de una transacción de base de datos con
respecto a otra
las palabras siguientes están por orden de severidad y, al igual que antes, no puede utilizar comillas ni una variable:
- readUncommitted
- readCommitted
- repeatableRead
- serializableTransaction (el valor por omisión)
Para obtener información detallada, consulte la documentación de JDBC de Sun Microsystems, Inc.
- controlCompromiso
- Este parámetro especifica si se produce un compromiso después de cada cambio en la base de
datos.
Los valores válidos son los siguientes:
- noAutoCommit (el valor por omisión) significa que el compromiso no es
automático, lo que habitualmente implica una ejecución más rápida. Para conocer los detalles acerca
de las reglas de compromiso y retrotracción en este caso, consulte la sección Unidad de trabajo
lógica.
- autoCommit significa que las actualizaciones se producen
inmediatamente.
Puede pasar de autoCommit a noAutoCommit temporalmente. Para obtener más detalles,
consulte la sección SysLib.beginDatabaseTransaction.