Connexion à une base de données distante

Contenu du snippet

Ce code permet de se connecter à une base de données distante (Windows, UNIX...). L'exemple est pour une connexion sur une base Oracle mais il suffit d'adapter le pilote en fonction de la base.
Le code déclare la source ODBC, il n'y donc pas de manipulation à faire sur le poste client.
Il faut charger la référence DAO 3.51.

Source / Exemple :


Dim dbs As Database
Dim enreg As Variant
Dim cmd As Variant
Dim strAttributs As String
Dim nomBase, nomServeur, nomUt, mdp As String

nomBase = "x"	'Nom de la base (Data source name de la source ODBC)
nomServeur = "y"	'Nom du serveur (Service name de la source ODBC)
nomUt = "z"		'Nom d'utilisateur de connexion à la base
mdp = "t"		'Mot de passe de l'utilisateur pour la connexion

'Déclaration de la source ODBC
Debug.Print vbCr + "-----------------------------------"
Debug.Print "Déclaration source ODBC : " + CStr(Now)
strAttributs = "Database=" + nomBase + _
  vbCr + "Description=" + nomBase + _
  vbCr + "OemToAnsi=No" + _
  vbCr + "Server=" + nomServeur + _
  vbCr + "User=" + nomUt
DBEngine.RegisterDatabase nomBase, "Oracle ODBC Driver", True, strAttributs

'Connexion à la base de données
Debug.Print "Début connexion base : " + CStr(Now)
Set dbs = OpenDatabase( _
  nomBase, dbDriverCompleteRequired, True, _
  "ODBC;DATABASE=" + nomBase + ";DSN=" + nomBase + ";pwd=" + mdp _
)
Debug.Print "Fin connexion base : " + CStr(Now)

'Exécution de la requête
Debug.Print "Début requête : " + CStr(Now) + vbCr
cmd = "SELECT * FROM Table1;"
Set enreg = dbs.OpenRecordset(cmd)
With enreg
  While .EOF <> True
    Debug.Print CStr(.Fields("Champ1").Value) + CStr(.Fields("Champ2").Value) + _
      CStr(.Fields("Champ3").Value)
    .MoveNext
  Wend
End With
Debug.Print "Fin requête : " + CStr(Now)
dbs.Close
Unload Me
Set Form1 = Nothing
MsgBox "Traitement terminé"

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.