2010-11-01 10 views

Répondre

3

Et d'une manière quatrième (au-dessus de son Pablo) dbms_pipe


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

En Oracle7.0 et, nous pouvons utiliser dbms_pipes pour parler à un démon en cours d'exécution en dehors de la base de données. Voici un exemple simple qui utilise sqlplus être le démon:

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

Vous avez deux options:

  1. invoquons une méthode Java à partir d'un wrapper PL/SQL.
  2. Appelez un programme C en tant que procédure externe à partir de PL/SQL.
  3. Utilisez le nouveau package DBMS_SCHEDULER.

Here's un lien avec INFO sur eux.

+0

Dans la seconde solution, est-il une autre manière directe. –

+0

Je recommanderais # 3. – REW

+0

@ChandraBhushan - que voulez-vous dire par "il n'y a pas d'autre moyen direct"? – APC

1

Non indiqué ci-dessus, mais toujours applicable: C Code de la bibliothèque directe de PL/SQL from Ask Tom. Évidemment, ce serait une exécution d'un wrapper C pour appeler le script Shell.

+0

L'exemple de Tom est en fait juste un autre échantillon de la méthode n ° 2, c'est-à-dire une procédure externe. – APC

Questions connexes