Connexion à une base de données distante

0/5 (15 avis)

Snippet vu 24 568 fois - Téléchargée 46 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
-
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
-
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
-
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
-
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
-
TRES BON CODE

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.