Accès à Oracle à partir d'une macro excel [Résolu]

Signaler
Messages postés
14
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
27 avril 2007
-
Messages postés
14
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
27 avril 2007
-
J'ai fait une patite macro excel qui appelle le code suivant :

Public uid As String
Public pwd As String
Public dBase As String
Public db As New ADODB.Connection
Public Conn As String



Sub accesdirect()
Set db = New ADODB.Connection
uid = "login"
pwd = "pass"
server = "l'ip où se trouve ma base de données"
database = "nom de ma base de données"
Conn = "UID=" & uid & ";PWD=" & pwd & ";" & "DRIVER={Microsoft ODBC for Oracle};Server=" & server & "; Database=" & database & ";"
              
db.ConnectionString = Conn
db.Open
End Sub


Lorsque j'execute cette fonction j'ai le message suivant qui apparait :
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed

La base de données est une base ORACLE 9 sur un serveur distant.

Aurais-je oublié de configurer quelque chose sur mon poste ? ( windows XP )
Ou bien manque-t-il quelque chose dans le code ci-dessus ?
Dernière précision quand ça plante le curseur se place sur le db.Open.

Merci par avance.

2 réponses

Messages postés
14
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
27 avril 2007

J'ai trouvé la solution, j'ai déclaré une source de données DNS sur mon poste panneau de configuration> data sources >déclaration de ma source

J'ai remplacé dans mon code :
Conn = "UID=" & uid & ";PWD=" & pwd & ";" & "DRIVER={Microsoft ODBC for Oracle};Server=" & server & "; Database=" & database & ";"

par :
Conn = "DSN=" & NomDuDSN & ";UID=" & uid & ";PWD=" & pwd & ";"

où DSN= <nom de ma source>

ensuite
db.Open
....
<mes requetes sql>
...
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour

Je n'ai pas oracle mais je fais la même chose avec SQL Server


Sous VBA (outils / Microsoft Visual Basic Editor), tu dois , je pense , référencer une bibliothèque (peut-être une DLL) Oracle, Outils/ Reference , soit elle est dans la liste soit utiliser le bouton Parcourir