Accès à Oracle à partir d'une macro excel

Résolu
zieunoir Messages postés 14 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 27 avril 2007 - 13 avril 2007 à 16:11
zieunoir Messages postés 14 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 27 avril 2007 - 25 avril 2007 à 11:21
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

zieunoir Messages postés 14 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 27 avril 2007
25 avril 2007 à 11:21
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>
...
3
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
13 avril 2007 à 16:20
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
0
Rejoignez-nous