Connexion à une base de données distante

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 282 fois - Téléchargée 48 fois

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

Ajouter un commentaire Commentaires
ilizabetsafa Messages postés 11 Date d'inscription lundi 20 juin 2011 Statut Membre Dernière intervention 3 avril 2012
8 mars 2012 à 11:44
bonjour tout le monde,
j'ai besoin d'établir une connexion a une base de données sql server 2008 a distance
merci de m'aider
ilizabetsafa Messages postés 11 Date d'inscription lundi 20 juin 2011 Statut Membre Dernière intervention 3 avril 2012
8 mars 2012 à 11:25
salut tous le monde. moi aussi j'ai besoin d'un code qui permet de se connecter a une base de données sql serveur a distance .
merci de m'aider .
poloX5 Messages postés 2 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 24 novembre 2009
4 déc. 2009 à 11:56
BONJOUR tout le mande je chereche un coude pour connecter a une base de donnée sql,mai a partir d'un programme qui on peut exécuté et oussi ouvrir avec bloc-notes, mai bloc-notes affichier le lien suivant: [CBASE],ServeurSQL= nomserveur ,Createur= xxx ,Type=xxx , et j veus un codes qui permet d'ultiliser les ( ln(x) et col(x)) s'il vous plais j veu une solution j travail avec vb 2005
saidjer Messages postés 1 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 5 juillet 2009
5 juil. 2009 à 20:12
merçi a ces infomramtion
bsidy1 Messages postés 20 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 17 août 2012
28 août 2008 à 18:27
TRES BON CODE
Afficher les 15 commentaires

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.