Appel de procédure stockée Oracle

  • Initiateur de la discussion Initiateur de la discussion Richard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Richard

Guest
Bonjour,
Je voudrais savoir s'il est possible de faire appel à des procédures stockées sous une base de données Oracle via une macro.

Merci d'avance
R.
 
Salut Richard,

Je ne travaille pas avec Oracle mais avec un AS400 et Data Select en tant que serveur DDE...

Pour appeler des procédure Data Select je fais comme ceci :

Sub Test()
retval = Shell("g:\soft\selwin\selprof.exe", 1)
ChannelNumber = Application.DDEInitiate("Selprof", "selprof")
Application.DDEExecute ChannelNumber, "[dest(dde,excel,[ClasseurCible.xls]FeuilleCible)]" _
& "[exec(G:\Users\SHARE\Directory\MaRequete,a3)]"
Application.DDETerminate ChannelNumber
End Sub

"MaRequete" étant une requete SQL lancée par Data Select, que je veux faire tourner pour retourner des données dans le classeur "ClasseurCible.xls , FeuilleCible Range A3..."


Sinon je peux aussi écrire des macros dans Data Select et les lancer depuis Excel comme suit :
Sub Test()
retval = Shell("g:\soft\selwin\selprof.exe", 1)
ChannelNumber = Application.DDEInitiate("Selprof", "selprof")
Application.DDEExecute ChannelNumber, "[MACRO(P:\ITDev\cash\commun\demand.wfm)]"
Application.DDETerminate ChannelNumber
End Sub

Pour info voici ce que çà donne coté Macro Data Select :
ddeinitiate(excel,system,#aa)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandA,a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandB,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\demand\demandC,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandD,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandE,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandF,+a2)
DDEInitiate (EXCEL,[DEMAND.XLS]"Value",#canal)
DDEPokeValue (#canal,#ValueDate,R1C2)
DDEInitiate(Excel,System,#canal)
DDEExecute(#canal,[RUN(\"DEMAND.XLS!EndWait\")])
DDETerminate(#canal)
CLOSE ()

Ici ce sont les Macros Data Select qui vont aller écrire sur le Classeur Excel "Demand.Xls" Feuille "Collection" range a2 (le plus est pour l'insertion au fur et à mesuure de la réception des données retournées par les requêtes successives SQL "DemandA/B/C"..etc)
A noter que qu'en fin de procédure Data Select, j'arrive aussi à lancer une Macro Excel "EndWait".... pendant que Data Select se ferme... C'est assez génial...

Je suppose que tu dois avoir l'équivalent pour Oracle, qui est connu pour sa puissance.

Bonne Fin de Journée
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
183
Réponses
6
Affichages
203
  • Question Question
Microsoft 365 Formule somme
Réponses
1
Affichages
106
Réponses
6
Affichages
115
Retour