Hola
Si haces STRSQL+F4 te tiene que salir esta pantalla(te muestro sólo el 
trozo que interesa), mirate la opción que te marco en rojo:
                     Arrancar sesión interact. SQL (STRSQL) 
 
 Teclee elecciones, pulse Intro. 
 
 Control de compromiso  . . . . .   *NONE         *NONE, *CHG, *CS, 
*ALL...
 Convenio de denominación . . . .   *SYS          *SYS, *SQL 
 Proceso de sentencia . . . . . .   *RUN          *RUN, *VLD, *SYN 
 Opción de biblioteca . . . . . .   *LIBL         Nombre, *LIBL, 
*USRLIBL..
 Tipo de lista  . . . . . . . . .   *ALL          *ALL, *SQL 
 Renovación de datos  . . . . . .   *ALWAYS       *ALWAYS, *FORWARD 
 Permitir copiar datos  . . . . .   *YES          *YES, *OPTIMIZE, *NO 

Salut




Íñigo Redín <[email protected]> 
Enviado por: [email protected]
08/10/2010 12:22
Por favor, responda a
"forum.help400" <[email protected]>


Para
[email protected]
cc

Asunto
Sobre STRSQL y la lista de bibliotecas






Hola. Primero me presento, que soy nuevo en este foro.
Me llamo Íñigo, y trabajo en una empresa de seguros en la que tenemos un 
ISeries instalado, corriendo La V5R4M0.
 
Mi pregunta es sobre el mandatos STRSQL. 
Bueno, en realidad, no es sólo sobre eso, pero, es un principio. 
 
He visto que, desde hace un tiempo, cuando ejecuto el mandato STRSQL, al 
hacer una simple sentencia SELECT, no me coge la lista de bibliotecas del 
sistema, sino, sólo la primera en la lista de bibliotecas (de usuario). 
Normalmente suele ser QTEMP (aunque no siempre, dependiendo del usuario 
que utilice). 
 
Pero, encima, he visto que, si arranco otra sesión con el mismo usuario, 
en este caso SÍ me coge la lista de bilbiotecas del sistema, y va buscando 
la tabla para la que hago el SELECT, en ella. 
Lo pongo más gráfico.
 
1º sesión que arranco: 
Lista bibl:  
QTEMP 
A 
B 
C 
 
 
Hago un SELECT *FROM TABLA . Y TABLA sólo existe en la biblioteca B. 
Me falla, ya que no existe en QTEMP. 
 
Abro una nueva sesión, sin cerrar la anterior. 
Hago lo mismo, y con el mismo usuario, y misma lista de bibliotecas. ¡Y 
funciona!, ya que busca la tabla en la lista de bibliotecas. 
 
 
 
He visto que, siempre me pasa con la misma sesión. O sea, que si entro con 
la S1, me va mal, y con la S2, me va bien. Así que supongo que es algo que 
STRSQL guarda, al estilo de los mandatos previos que hemos hecho 8del 
histórico).
 
 
 
Todo esto me servirá para, ir un paso adelante, ya que, tengo una serie de 
procedimientos almacenados SQL, a los que le pasa lo mismo. Siempre busca 
las tablas a las que se hace referencia en ellos en QTEMP, en lugar de 
hacerlo en la lista de bibliotecas. 
 
 
Por cierto, no puedo hacer un SET SCHEMA, o marcar un esquema por defecto, 
ya que, al tener varios entornos de trabajo, no quiero que figure en un 
programa la lista de bibliotecas del entorno, sino que ésta se coja por el 
usuario.
Y, además, quiero hacer la sentencia sin especificar biblioteca.
 

Resumiendo: ¿alguien sabe de dónde saca la lista de bibliotecas el mandato 
STRSQL? 
 
 
Muchas gracias. ____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a