2010-11-01 49 views

Respuesta

3

Y una manera adelante (en la parte superior de Pablo de) dbms_pipe


http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:16212348050

En Oracle7.0 y arriba, podemos utilizar dbms_pipes hablar con un demonio que se ejecuta fuera de la base de datos. Aquí está un ejemplo simple que utiliza sqlplus ser el demonio:

create or replace procedure host(cmd in varchar2) 
as 
    status number; 
begin 
    dbms_pipe.pack_message(cmd); 
    status := dbms_pipe.send_message('HOST_PIPE'); 
    if (status <> 0) then raise_application_error(-20001, 'Pipe error'); 
    end if; 
end; 
/
7

usted tiene un par de opciones disponibles:

  1. invocar un método Java desde dentro de un envoltorio de PL/SQL.
  2. Llamar a un programa C como un procedimiento externo desde PL/SQL.
  3. Utilice el nuevo paquete DBMS_SCHEDULER.

Here's un enlace con INFO sobre ellos.

+0

En la segunda solución, ¿hay alguna otra manera directa. –

+0

Recomendaría # 3. – REW

+0

@ChandraBhushan - ¿qué quiere decir con "hay alguna otra manera directa"? – APC

1

no mencionados anteriormente, pero sigue siendo aplicable: Biblioteca directa C Código de PL/SQL from Ask Tom. Obviamente, sería una ejecución de C Wrapper para llamar al script de Shell.

+0

El ejemplo de Tom es en realidad solo otra muestra del método n. ° 2, es decir, un procedimiento externo. – APC

Cuestiones relacionadas