Bonjour à toutes et à tous,
Je voudrais lancer une procédure d'un package plsql à partir d'un programme VB sur Excel. Je ne sais pas comment m'y prendre.
Les exemples que j'ai trouvé sur le net ne m'ont aidé.
Pouvez-vous m'aider.
Merci d'avance.
Bonjour à toutes et à tous,
Je voudrais lancer une procédure d'un package plsql à partir d'un programme VB sur Excel. Je ne sais pas comment m'y prendre.
Les exemples que j'ai trouvé sur le net ne m'ont aidé.
Pouvez-vous m'aider.
Merci d'avance.
Bonjour,
Trouvez, ci-joint, un code brouillon avec lequel j'ai réussi à lancer une procédure d'un package oracle. Je vais encore l'améliorer en fermant tous les objets créés.
Merci encore.
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
20
21 Sub executer_historisation_instances() Const CONNECT = "Provider=MSDAORA.1;Data Source=BDD_TNSNAME;User ID=UtilisateurBDD;Password=PSWUSR" Dim cn, rs, cmd, param Dim SQL Set cn = CreateObject("ADODB.Connection") cn.Open CONNECT SQL = "{call PCK_MONPACKAGE.MA_PROCEDURE}" Set cmd = CreateObject("ADODB.Command") With cmd Set .ActiveConnection = cn .CommandText = SQL .CommandType = 1 End With Set rs = CreateObject("ADODB.Recordset") Set rs = cmd.Execute End Sub
Pour ceux qui auront besoin dans l'avenir. Vous trouverez ci-dessous un code vba appelant une procédure plsql ayant des paramètres.
Merci.
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
20
21
22
23
24
25
26
27
28 Private Sub TRAITEMENT_Click() Dim cn, rs, cmd, param Dim SQL Const CONNECT = "Provider=MSDAORA.1;Data Source=BDD_TNSNAME;User ID=UtilisateurBDD;Password=PSWUSR" Set cn = CreateObject("ADODB.Connection") cn.Open CONNECT SQL = "call PCK_MONPACKAGE.MA_PROCEDURE_AVEC_2PARMS(?, ?)" Set cmd = CreateObject("ADODB.Command") With cmd Set .ActiveConnection = cn .CommandText = SQL .CommandType = xlCmdCube 'Une constante = 1 'Création du premier paramètre: par cmd.CreateParameter(NOM, type, direction (IN ou Out, etc), Taille si nécessaire, Valeur) Set param = cmd.CreateParameter("NOM_1er_Parm", adUnsignedBigInt, adParamInput, , 5) .Parameters.Append param 'Création du deuxième paramètre Set param = cmd.CreateParameter("NOM_2em_Parm", adUnsignedBigInt, adParamInput, , 10) .Parameters.Append param End With Set rs = CreateObject("ADODB.Recordset") Set rs = cmd.Execute cn.Close End Sub
Partager