Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : Connexion base de données Oracle

  • Initiateur de la discussion Initiateur de la discussion Michael
  • 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 !

M

Michael

Guest
Bonjour,

Je voudrais savoir si qq1 aurait un exemple pour créer une connexion à une base de données Oracle pour requété dessus à partir de VBA Excel?

Par avance merci à tous!

MichaeL
 
Salut Michael

Je pense bien que ce n'est pas de la mauvaise volonté, quand tu as demandé la même chose sur Access tu as eu des réponses, mais là Oracle apparemment on n'est pas connecté non plus...

Ptet demain en semaine... Sinon fais des recherches sur les sites plus spécialisés.

Et aussi il me vient à l'esprit qu'Oracle n'est certainement pas pour un usage domestique ni pour une petite entreprise, donc demande à ton boss de payer les formations adéquates si tu dois travailler dessus car là tu sors largement du cadre des connaissances informatiques "standards" qu'on pourrait demander à un salarié.

Bon Courage
@+Thierry
 
Salut Michael,

C'est super simple, la seule difficulté c'est de connaitre le bon driver installé sur la machine car l'ordre de connexion n'est pas le même entre celui de Oracle et celui de Microsoft

Celui de Microsoft :

'Variables

INSTANCE = "Exemple"
USER = "scott"
MDP = "tiger"
PL_SQL = "select * from all_all_tables"
DRV_ODBC = "Microsoft ODBC for Oracle"


'Connexion

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER={" & DRV_ODBC & "};UID=" & USER & ";PWD=" & MDP & ";SERVER=" & INSTANCE & ";", Destination:=ActiveCell)
.Sql = PL_SQL
.HasAutoFormat = False
.Refresh BackgroundQuery:=False
End With


A+
 
Re salut Michael,

L'exemple Microsoft est dans le post du 03-05-04 08:59

Pour un Driver Oracle 9.2 i (Il y une différence également entre les versions d'oracle) :

'Variables

INSTANCE = "Exemple"
USER = "scott"
MDP = "tiger"
PL_SQL = "select * from all_all_tables"
DRV_ODBC = "Oracle ODBC Driver"

'Connexion

With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DRIVER={" & DRV_ODBC & "};SERVER=" & INSTANCE & ";UID=" & USER & ";PWD=" & MDP & ";DBQ=" & INSTANCE & ";DBA=W;APA=T;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;FRL=F" _
), Array(";MTS=F;CSR=F;PFC=10;TLO=O;")), Destination:=ActiveCell)
.CommandText = PL_SQL
.Refresh BackgroundQuery:=False
End With

L'explication pour les paramètres de connexion est disponible dans l'aide Oracle : Oracle Objects for OLE Help

A+
 
Re : VBA : Connexion base de données Oracle

voici le code que j'utilise pour me connecter à ORACLE.
Ps: n'oublie pas d'activer les librairies adoc!!!

'----------------------------------------------------------------------------------------------------------------------------------------------

Dim source As ADODB.Connection
Dim Requete As ADODB.Recordset
Dim Fichier As String, xSQL As String
Dim i as Long

Set source = New ADODB.Connection
source.Open "Provider = MSDAORA.1;" & _
"data source=NOM_DE_LA_DB;" & _
"User Id=TON_USER_ID;" & _
"Password=TON_MOT_DE_PASS;" & _
"extended properties=""Excel 8.0;HDR=Yes"""

xSQL = "TA_REQUETE_SQL'"

Set Requete = New ADODB.Recordset
Set Requete = source.Execute(xSQL)

'ceci est une manière de récupérer le résultat de ta requête de manière complet
'Range("A1").CopyFromRecordset Requete

'cette manière parcourt tout les lignes du résultat de ta requête via une boucle qui sort une fois arriver à la fin.
'elle ecrit aussi dans le classeur actif en cellule A et la valeur de i pour la ligne
'il en va de soit aussi que tu peux via cette méthode réaliser des conditions ou bien d'autre action.
Do While Not (Requete.EOF)
range("A" & i).value = Requete("NOM_DE_LA_COLONNE_DU_RESULTAT_A_EXPLOITER")
Requete.MoveNext
i = i + 1
Loop

Requete.Close
source.Close

'---------------------------------------------------------------------------------------------------------------------------------------------


Noublie pas de fermer à chaque fois la requete et ta connexion si non tu risque d'avoir des erreurs et de chercher pendant longtemps.

J'espère avoir été le plus claire possible et que tu arrivera à réaliser se que tu souhaite.

BàT

Geoffrey Steenberghs
 
- 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
2
Affichages
140
Réponses
17
Affichages
389
  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
657
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…