Oracle - ¿ Cómo llamar al cmd de Windows ?

 
Vista:

¿ Cómo llamar al cmd de Windows ?

Publicado por Roberto (5 intervenciones) el 11/06/2003 19:52:48
Hola:

¿ Puede alguien darme un ejemplo de script en SQL*Plus para efectuar una llamada a Windows y copiar un archivo de una carpeta a otra ?
La base Oracle 8 tiene habilitadas las llamadas a procedimientos externos.

Desde ya Muchas Gracias.

Rob
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

RE:¿ Cómo llamar al cmd de Windows ?

Publicado por NONO (14 intervenciones) el 11/06/2003 20:52:46
En Oracle 9i funciona....

HO[ST] [command]

Un saludo.
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

RE:¿ Cómo llamar al cmd de Windows ?

Publicado por NONO (14 intervenciones) el 11/06/2003 21:03:56
En Oracle 9i funciona....

HO[ST] [command]

Un saludo.
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

RE:¿ Cómo llamar al cmd de Windows ?

Publicado por Gilberto (119 intervenciones) el 14/06/2003 05:00:09
Se me ocurre de dos maneras. Realiza el siguiente ejemplo.
La primera y mas sencilla es esta:

BEGIN
HOST('COPY C:\PRUEBA\ARCHIVO.TXT C:\PRUEBA2', NO_SCREEN);
END;

Notas: Realiza los siguientes pasos a.) Crea dos Directorios 1o. Que se llame PRUEBA y el 2o . PRUEBA2.
b.) En el directorio PRUEBA crea un archivo de nombre ARCHIVO.TXT

El NO_SCREEN es para que no te levante la ventanita de DOS.
Hice una prueba con un COPY y no me funciono pero si con un DEL(Para borrar), revisa talves coloque algo malo en el COPY.
............................................................................................
SEGUNDA MANERA.

En el la siguiente respuesta.
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

RE:¿ Cómo llamar al cmd de Windows ?

Publicado por Gilberto (119 intervenciones) el 14/06/2003 05:01:12
............................................................................................
SEGUNDA MANERA.

Realiza los dos pasos anteriores a y b.
Después crea un archivo de nombre archivo.bat en el directorio PRUEBA

Luego crea una forma nueva, crea dos items(campo1 y campo2), en el primero coloca el siguiente codigo en un trigger key-next-item:

DECLARE

documento text_io.file_type;

BEGIN
documento := text_io.fopen ('C:\PRUEBA\ARCHIVO.BAT','W');

text_io.put_line(documento, '@ECHO OFF'||CHR(10)
||'COPY C:\PRUEBA\ARCHIVO.TXT C:\PRUEBA2');
text_io.fclose(documento);
NEXT_ITEM;
end;

Luego en el segundo item crea un trigger when-validate-item con el siguiente codigo:

DECLARE

EJECUTANDO PLS_INTEGER;

BEGIN
EJECUTANDO := DDE.APP_BEGIN('C:\PRUEBA\ARCHIVO.BAT', DDE.APP_MODE_MINIMIZED );
END;

Ok, corre la forma ingresa datos en campo1 enter luego en campo2 enter y despues ve a revisar si se copio el archivo, deberia estar en el directorio PRUEBA2 y el archivo.bat deberia estar modificado.
Este segundo si me funciono tal y como te lo explique.

Notas: Asugurate de colocarle siempre las extenciones correctas al nombrar los archivos.
Puedes usar timer para que se modifique el .bat y luego lo ejecutes para que haga la copia del .txt en un mismo trigger.
Espero comentarios y espero te sirva.

Salu2

gilh
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