Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Ejecutar ficheros anidados por sqlplus

Estas en el tema de Ejecutar ficheros anidados por sqlplus en el foro de Oracle en Foros del Web. MUY BUENAS LAS TENGAN TODOS USTEDES. Resulta que tengo una archivo: C:/test/create_db.sql, este fichero tiene un codigo como este. @@./views/run.sql. El archivo run sql, esta ...
  #1 (permalink)  
Antiguo 26/02/2009, 15:28
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Busqueda Ejecutar ficheros anidados por sqlplus

MUY BUENAS LAS TENGAN TODOS USTEDES.

Resulta que tengo una archivo:

C:/test/create_db.sql, este fichero tiene un codigo como este.

@@./views/run.sql. El archivo run sql, esta en: c:/test/views/run.sql.
que a su ves hace tiene un codigo como este:

@@view_customer_city.plb....
el archivo plb esta en una ruta c:/test/views/view_customer_city.plb.

ahora desde sqlplus yo le digo @@c:/test/create_db.sql, y encuentra el archivo y lo lee, pero cuando encuentra la linea @@./views/run.sql, no encuentra el archivo.

pero si yo le digo directamente desde sqlplus: @@@@c:/test/views/run.sql, asi si funciona de maravilla, y ejecuta todas las vistas, dado que estan al mismo nivel del fichero run.sql. pero cuando los ficheros que se llaman estan uno o mas niveles por debajo no los encuentra.

¿COMO PUEDO HACER PARA QUE ME LOS ENCUENTRE?.

Y NO PUEDO COLOCAR LA RUTA COMPLETA EN CADA LLAMADO PORQUE ESTA ES VARIABLE.
  #2 (permalink)  
Antiguo 26/02/2009, 19:18
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Ejecutar ficheros anidados por sqlplus

"pero cuando encuentra la linea @@./views/run.sql, no encuentra el archivo."

es por que no tiene una ruta windows, parece que los sacaron de un entorno linux/unix por eso funcionaban, simplemente cambia el "./" por "c:/test/views/"

no recuerdo el uso del doble aroba, segun yo con un solo aroba funciona, igual y el doble aroba tiene una funcion un poco diferente al aroba solo, abria que investigar
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 27/02/2009, 02:11
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Ejecutar ficheros anidados por sqlplus

Si mal no recuerdo, la doble arroba es para ejecutar los ficheros que se encuentren en el mismo directorio que el fichero lanzador sin tener que poner el path, a ver si me explico.

Tenemos en C:\tablas estos ficheros

lanzar_creates.sql
crear_tablas.sql
crear_indices.sql
crear_claves.sql

Y como contenido del lanzar_creates.sql tenemos esto :


@@crear_tablas.sql
@@crear_indices.sql
@@crear_claves.sql

La doble arroba hace que al ejecutar el lanzador :

sql > @c:\tablas\lanzar_creates.sql

Te ejecute los tres ficheros sin que en el lanzador tengas que poner el path, pero si pones solo una arroba, el lanzador debería quedar así :


@c:\tablas\crear_tablas.sql
@c:\tablas\crear_indices.sql
@c:\tablas\crear_claves.sql
  #4 (permalink)  
Antiguo 27/02/2009, 13:23
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ejecutar ficheros anidados por sqlplus

El asunto esta cuando los ficheros que deseo ejecutar estan anidados un directorio mas adentro, es decir que de dentro de c:\tablas, tenemos un directorio scritps y otro scripts2. y el lanzado esta en c:\tablas.

entonces se supone que:
@@scripts/crear.sql y
@@script2/modificar.sql, deberian de ser reconocidos desde la lectura del lanzador, pero no me funciona
  #5 (permalink)  
Antiguo 03/02/2011, 21:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ejecutar ficheros anidados por sqlplus

Cita:
Iniciado por webness Ver Mensaje
El asunto esta cuando los ficheros que deseo ejecutar estan anidados un directorio mas adentro, es decir que de dentro de c:\tablas, tenemos un directorio scritps y otro scripts2. y el lanzado esta en c:\tablas.

entonces se supone que:
@@scripts/crear.sql y
@@script2/modificar.sql, deberian de ser reconocidos desde la lectura del lanzador, pero no me funciona
Hola, en ese caso deberías escribirlo así:

@@ .\scripts\crear.sql
@@ .\script2\modificar.sql

el punto indica el directorio actual (Dos puntos indican el nivel superior).

Espero te sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.