Appel de procédure stockée Oracle

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.
 
@

@+Thierry

Guest
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
 

Discussions similaires

Réponses
13
Affichages
352

Statistiques des forums

Discussions
314 653
Messages
2 111 577
Membres
111 205
dernier inscrit
Adrien25