Pourriez-vous me dire comment appeler un script shell à partir d'un programme PLSQL?Comment appeler un script shell à partir du programme PLSQL
Répondre
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;
/
Vous avez deux options:
- invoquons une méthode Java à partir d'un wrapper PL/SQL.
- Appelez un programme C en tant que procédure externe à partir de PL/SQL.
- Utilisez le nouveau package DBMS_SCHEDULER.
Here's un lien avec INFO sur eux.
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.
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
Invoquer un script shell de PL/SQL en utilisant DBMS_SCHEDULER: S'il vous plaît trouver le lien ci-dessous
http://www.dba-oracle.com/t_execute_shell_script_plsql_procedure.htm
Dans la seconde solution, est-il une autre manière directe. –
Je recommanderais # 3. – REW
@ChandraBhushan - que voulez-vous dire par "il n'y a pas d'autre moyen direct"? – APC