Bonjour tout le monde,
j'aurais aimer savoir comment on fait pour exécuter une commande système à partir de sqlplus ?
On m'a dit de faire çà pour pouvoir envoyer des mails mais je ne sais pas du tout comment faire...
Bonjour tout le monde,
j'aurais aimer savoir comment on fait pour exécuter une commande système à partir de sqlplus ?
On m'a dit de faire çà pour pouvoir envoyer des mails mais je ne sais pas du tout comment faire...
Merci d'indiquer la version d'oracle
En précédant ta commande systéme par host
c'est la version 8i...
en quoi consiste une commade système ?
et comment la présenter ?
La commande host t'aidera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 test@BROCANTE> select sysdate from dual; SYSDATE -------- 07/11/05 test@BROCANTE> host date /t lun. 07/11/2005 test@BROCANTE> host Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\Program Files\Java>date /t lun. 07/11/2005 C:\Program Files\Java>exit test@BROCANTE>
J'ai un peu de mal à comprendre...
J'ai mon message X , mon expéditeur Y et mon destinataire Z, et moi je dois gérer l'envoi de mails via les proc stock dans une commande systeme, j'ai bien compris qu'il faut présenter de la sorte :
host - commande système -
mais je ne sais comment présenter les données dans la commande système...
J'ai l'impression que tu mélanges un peu tout.
Host est une commande SQL*Plus et ne peut pas être exécutée dans une procédure stockée. Si tu veux gérer des commandes systèmes dans des procédures stockées fais une recherche sur le forum avec les mots clés "exécutable" ou "host", tu trouveras plein d'exemples.![]()
Bonjour, j'aurai aimé savoir comment taper ma commande système.
- J'ai rempli mon fichier que je dois mailer.
- j'ai un exe Blat.exe qui permet d'envoyer des mails
est ce que je peux mettre une commande système dans ma proc pour donner les infos à l'exe.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 ---Envoi Du MAIL au CHEF DE TRAVAUX du lycée concerné --Remplissage du fichier pièce jointe send_mail('Une action préventive doit être entreprise pour le matériel identifié comme suit:'||chr(13)|| 'Filière: '||FiliesLibl||' '||chr(13)|| 'Atelier : '||AtelrLibl||' '||chr(13)|| 'Nom matériel: '||NomMateriel||' '||chr(13)|| 'Code matériel: '||TmateCode||TmateInd||MateNumSeq||' '||chr(13)|| 'N° de série: '||MateNumSerie); --envoi du mail via une commande système à destination de BLAT.EXE ho "blat.exe" 'Mail.txt' -t fctn_GetMailRecipient(LyceeNum) -f cmoi@domaine.fr -s < "Le sujet\" "); c'est la derniere ligne qui ne tourne pas et je ne sais pas si ceci est possible, si oui je ne sais pas comment la présenter Quelqu'un aurait il une idée ?
est ce quelqu'un aurait deja utiliser blat.exe ??
merci
Sous SQL*Plus cela donnerait quelque chose comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part host ("c:\chemin_de_blat\blat - -f expediteur -t destinataire -s sujet -body texte_du message");
y'aurait pas un "-" en trop ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 host ("c:\chemin_de_blat\blat[b] -[/b] -f slota@regionpaca.fr -t fctn_GetMailRecipient(LyceeNum) -s action préventive -body texte_du message");
est ce que je peux mettre cette commande dans ma procédure stockée?
si je peux pas, ou dois je la lancer ?
Non, cela fonctionne comme cela, enfin avec la version de blat que j'utilise (1.9.4)
Non tu ne peux pas mettre cela dans une procédure stockée, host est une commande de SQL*Plus. Par contre ce qui est compris entre les guillemets est correct, à condition que tu aies paramétré correctement ta base de registre. Sinon il faut que tu fasses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part host ("c:\chemin_de_blat\blat - -f expediteur -t destinataire -server ipserversmtp -port 25 -try 1 -s sujet -body texte_du message");
ou est ce que je dois mettre cette commande ?
Je ne comprends pas ta question... Quelle commande ?
cette comamnde :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 host ("c:\chemin_de_blat\blat - -f expediteur -t destinataire -server ipserversmtp -port 25 -try 1 -s sujet -body texte_du message");
Pour la n ième fois, tu ne peux l'utiliser QUE sous SQL*Plus !
tape là sous SQL*Plus
et pas dans du PL/SQL... c'est saoulant ce dialogue de sourd![]()
en admettant que je mette ma commande système dans ma proc. stock. sous forme de chaine de caractère X, est ce que je peux appeler X à partir de sql*plus ?
Procédure Stockée = PL/SQL
Procédure Stockée implique PAS DE COMMANDE HOST, même avec du sql dynamique ou quoi que ce soit d'autre.
Si tu utilises la commande host, c'est UNIQUEMENT sous sql*plus (l'exécutable sqlplus.exe...). Là, tu peux appeler ta commande HOST.
En résumé :
- Script SQL = Commande host possible
- Procédure (ou fonction, on ne sait jamais...) stockée = Commande Host IMPOSSIBLE
Si tu veux exécuter une commande système dans une procédure stockée (comme tu n'as pas la JVM d'installer) tu dois faire comme cela :
http://www.developpez.net/forums/vie...highlight=host
Partager