AS/400 - Cambio de librería BD de manera temporal.

 
Vista:

Cambio de librería BD de manera temporal.

Publicado por Pablo (2 intervenciones) el 19/04/2020 23:41:38
Hola a todos!

Les tengo una consulta, es posible cambiar la librería donde tengo alojados mis archivos de BD de manera temporal, durante la ejecución de un programa RPGLE??

por ejemplo el usuario tiene definida en sus librerías, la librería de datos SQLBASELA que es la que se utilizara cuando se realice la ejecución del programa, pero internamente quiero que cuando el programa se ejecute considere la librería SQLBASDAT de manera temporal para todas las consultas SQL sin afectar el listado de librerías original.

entiendo que esto lo puedo hacer con OVRDBF, por archivo, pero lo que necesito es que se cambien todos los archivos que existen en la librería original, y no uno por uno.

es posible?
Muchas gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Carlos
Val: 44
Ha mantenido su posición en AS/400 (en relación al último mes)
Gráfica de AS/400

Cambio de librería BD de manera temporal.

Publicado por Carlos (46 intervenciones) el 20/04/2020 19:05:00
Sí, claro que es posible, salvo que no te haya entendido bien.
Para hacer eso debes incluir la librería SQLBASDAT por delante de la librería SQLBASELA en la lista de librerías del trabajo del usuario.

Como breve y sencillo ejemplo, desde una línea de mandatos o en un pequeño CL puedes hacer lo siguiente:

ADDLIBLE LIB(SQLBASELA) POSITION(*FIRST)
CALL PROGRAMA
RMVLIBLE LIB(SQLBASELA)

Doy por hecho que el SQL se realiza embebido en el programa RPGLE y que las sentencias usan las tablas sin apuntar a ninguna librería concreta.

Saludos,
Carlos Bartolomé.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambio de librería BD de manera temporal.

Publicado por Pablo (2 intervenciones) el 20/04/2020 19:20:30
Carlos,

Muchas gracias por tu respuesta, me queda una duda, este cambio lo debo realizar desde un programa que se ejecuta desde la linea, si existen de manera concurrente varias ejecuciones del mirmo rpg, afectará que se esten cambiando a cada rato la posición de las librerias, o el cambio sólo es a nivel de ejecución del programa, con esto podre afectar a las demas ejecuciones de la linea de otros rpg y cl dentro de la misma maquina que se hagan en el mismo momento?

Por eso mi intención de algo parecido a ovrdbf, que mantuviera las alteraciones de sql de manera temporal dentro de la ejecución, no obstante tengo que cambiar la libreria completa y no solo un par de archivos PF, dado que el programa objetivo es solo un monitor que ejecuta varios rpg y este debe asegurar ejecutar distintas versiones de la misma linea base sql.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos
Val: 44
Ha mantenido su posición en AS/400 (en relación al último mes)
Gráfica de AS/400

Cambio de librería BD de manera temporal.

Publicado por Carlos (46 intervenciones) el 21/04/2020 10:28:03
Da nada, Pablo.

Los mandatos ADDLIBLE y RMVLIBLE alteran la lista de librerías de cada trabajo, es decir, de cada sesión iniciada. No afecta a los demás trabajos de otros usuarios.

Sólo el trabajo donde se ejecutan los mandatos es el que realizará las consultas sobre la librería que esté en primer lugar de la lista de librerías (la lista de librerías de cada trabajo la puedes ver con el mandato DSPLIBL)

Espero haberme explicado, jeje...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar