![]() |
|
![]() |
|
|
Mis à jour le 16/07/2002
| Un tour rapide d'ADO | Sommaire | Objet Recordset |
Droit de diffusion:
L'ensemble ou partie de ce document ainsi que le code mis à disposition, ne
peut être diffusé sur d'autres sites Web sans l'autorisation au préalable de
son créateur.
2. Etablir une connexion avec ADO et l'objet Connection :
Pour établir une connexion à une base de données avec ADO, on utilise l'objet Connection. Vous trouverez dans ce chapitre un exemple de connexion à une base de données Access, Oracle et SQL Server.
Une connexion à une base de données se définit par :
L'ensemble de ces champs est appelé chaîne de connexion. Les champs "hôte" et "nom de la base de données" peuvent soit être définis dans le programme soit dans un DSN (Data Source Name). Un DSN se configure dans le panneau de configuration avec l'outil Source de données (ODBC).
Comment réaliser une connexion ? Tout d'abord il faut déclarer la variable associée à la connexion.
Dim cnx As New ADODB.Connection |
ou alors
Dim cnx As ADODB.Connection |
L'étape suivante consiste à écrire la chaîne de connexion. Comme il a été vu
précédemment, il existe deux possibilités soit en utilisant un DSN soit en mettant
les informations nécessaires dans la chaîne de connexion.
2.1 Connexion à une base de données Access sans DSN :
'Déclaration de la variable de connexionDim cnx As ADODB.Connection'Définition du pilote de connexion cnx.Provider = "Microsoft.Jet.Oledb.3.51"'Définition de la chaîne de connexion cnx.ConnectionString = "C:\maBase.mdb"'Ouverture de la base de données cnx.Open |
Le piote 3.51 permet d'accéder à Acces 95 et 97. Pour Access 2000,
il faut utiliser la version 4.0.
2.2 Connexion à une base de données SQL Server sans DSN:
'Déclaration de la variable de connexion
|
Comme vous avez pû le constater, il n'y a pas la ligne cnx.Provider. En effet
dans cet exemple le pilote à utiliser est décrit dans la chaîne de connexion
: DRIVER={SQL Server}.
2.3 Connexion à une base de données Oracle sans DSN:
'Déclaration de la variable de connexion |
Vous avez pû voir des chaînes de connexion avec comme DRIVER {Microsoft ODBC
for Oracle}. Ceci marche mais n'est pas très recommandé.
2.4 Connexion à une base de données avec un DSN:
'Déclaration de la variable de connexion |
Dans le cas où il y a le DSN, vous n'avez plus besoin de spécifier l'hôte sur
lequel se trouve la base de données ainsi que le nom de la base de données.
Pour finir cette partie, voici une petite fonction de connexion avec DSN.
'=================================================================== |
2.5 Quelques informations supplémentaires sur les pilotes:
Liste des pilotes ODBC sans DSN
dBase
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=chemin\nombd.dbf;
MS Access
Driver={Microsoft Access Driver (*.mdb)};Dbq=chemin\nombd.mdb;Uid=NomUtilisateur;Pwd=MotDePasse;
MS SQL Server
Driver={SQL Server};Server=NomDuServeur;Database=nombd;Uid=NomUtilisateur;Pwd=MotDePasse;
MS Text Drive
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=chemin\;Extensions=asc,csv,tab,txt;Persist Security Info=False;
MySQL
driver={mysql}; database=nombd;server=NomDuServeur;uid=NomUtilisateur;pwd=MotDePasse;option=16386;
Oracle
Driver={Microsoft ODBC for Oracle};Server=ServeurOracle.schema;Uid=NomUtilisateur;Pwd=MotDePasse;
Visual Foxpro
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=chemin\nombd.dbc;Exclusive=No;
Liste des pilotes OLEDB
MS Access
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=chemin\nombd.mdb;User Id=NomUtilisateur;Password=MotDePasse;
MS SQL Server
Provider=SQLOLEDB;Data Source=NomServeur;Initial Catalog=nombd;User ID=NomUtilisateur;Password=MotDePasse;
MS SQL Server avec une adresse IP
Provider=SQLOLEDB; Data Source=xx.xx.xx.xx,1433; Network Library=DBMSSOCN; Initial Catalog=dbname;User ID=NomUtilisateur;Password=MotDePasse;
MS Text Driver
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=chemin;Extended
Properties='text;FMT=Delimited'"
Oracle
Provider=OraOLEDB.Oracle;Data Source=nombd;User Id=NomUtilisateur;Password=MotDePasse;
| Un tour rapide d'ADO | Sommaire | Objet Recordset |