Informations complémentaires liées à MDAC

publicité
Microsoft – Technopoche
ADO
ActiveX Data Objects
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
2/17
SOMMAIRE
Eléments techniques ............................................................................................................................. 3
Définition .......................................................................................................................................... 3
Architecture technologique ............................................................................................................... 4
Le modèle objet ADO ....................................................................................................................... 5
Historique des versions ..................................................................................................................... 6
Exemples de Code ............................................................................................................................ 7
Mise en œuvre du modèle objet .................................................................................................... 7
Squelettes ...................................................................................................................................... 7
Chaînes de connexion.................................................................................................................. 12
Outils de debug ............................................................................................................................... 14
Informations complémentaires liées à MDAC................................................................................... 16
Installation de la couche MDAC .................................................................................................... 16
Comment déterminer quelle version de MDAC est installée? ....................................................... 16
Remarque importante sur MDAC 2.6 ............................................................................................. 16
Où trouver des informations complémentaires? ............................................................................. 16
Référence des articles cités ................................................................................................................ 17
PREFACE
Ce document a été écrit par Martine THIPHAINE, ingénieur Support Développement à Microsoft
France. Il est destiné aux développeurs désirant aborder la technologie ADO.
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
3/17
Eléments techniques
Définition
L'ADO ou ActiveX Data Objets est un modèle objet d'accès aux données qui s'appuie sur OLEDB.
Il permet d'adresser des données qui proviennent de bases de données relationnelles (SQL Server,
Oracle…), ou d'autres sources de données non relationnelles telles que des fichiers texte, des
sources de données non Microsoft…C'est un moyen d'accéder de manière unique à tout type de
données. D’une certaine manière, on peut dire que ODBC fédère l’accès aux bases de données
relationnelles, alors qu’OLEDB fédère l’accès à tous types de données, relationnelles ou non.
Ce modèle objet a été introduit comme modèle d'accès aux données pour IIS. Ses principales
caractéristiques sont les suivantes:
 Trafic minimal sur le réseau
 Thread Safe (supporte les accès concurrentiels ou multithread)
 Nombre de couches minimal entre l'application et les données
 Facile d'utilisation : modèle objet Automation
 Prise en compte des connaissances acquises par les développeurs sur les autres technologies
telles que DAO ou RDO
Ce document s'applique à ADO à partir de la version 2.1.
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
4/17
Architecture technologique
Outils,
Langages,
Applications
Modèles
objets
Visual Basic, Visual Interdev, Visual C++, Office, Internet Explorer
DAO
Data Access Objects
RDO
Remote Data Objects
ADO
ActiveX Data Objects
APIs ODBC
OLEDB
Pilotes ODBC
Fournisseurs OLEDB
ODBC Direct
APIs
API Jet &
Moteur JEt
MSDASQL
Autres
Réseau (NetLib)
Données
Base de
données
Base de
données
Source de
données
Figure 1 : Architecture technologique
Définition: OLEDB
OLEDB est une technologie qui a pour but de résoudre certaines contraintes d'ODBC. Cette
technologie autorise l'accès à tout type de données, permet de gérer l'aspect distribué des sources de
données, et prend en compte les contraintes du Web. Cette technologie a pour but à terme de
remplacer la technologie ODBC. ADO est le modèle objet qui permet de simplifier l'accès à cette
technologie.
Définition : fournisseur OLEDB (terme US:OLEDB Provider):
Un fournisseur OLEDB implémente les interfaces OLEDB. Il permet à un consommateur OLEDB
d'accéder à tout type de sources de données d'une façon uniforme, à travers cet ensemble
d'interfaces documentées. Dans un certain sens, un fournisseur OLEDB est similaire à un driver
ODBC qui fournit un mécanisme uniforme d'accès à des données relationnelles. Les fournisseurs
OLEDB fournissent non seulement un mécanisme uniforme d'accès aux données relationnelles,
mais également aux données non relationnelles. De plus, les fournisseurs OLEDB sont construits
sur la base du modèle COM (Component Objet Model) alors les drivers ODBC sont basés sur une
spécification d'APIs C.
Concrètement, les fournisseurs OLEDB (terme US:OLEDB Providers) fournis permettant d'accéder
à des bases de données relationnelles sont les suivants:
 Le Provider OLEDB pour ODBC aussi nommé KAGERA ou MSDASQL
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
5/17



Le Provider OLEDB pour SQL Server, nommé SQLOLEDB
Le Provider OLEDB pour Oracle nommé MSDAORA
Le Provider OLEDB pour Jet, nommé Jolt
Le modèle objet ADO
Le schéma suivant montre les objets et les relations existants entre les objets de ce modèle.
Figure 2: Objets et Collections du modèle objet ADO
Les objets Connection, Recordset et Command sont les objets les plus significatifs de ce modèle.
Classiquement, une application les utilise comme suit:
Objet ou Collection
Objet Connection
Objet Command
Objet Recordset
Collection Parameters
Collection Errors
Utilisation
Permet d'établir les connexions entre le client et la source de données
Permet de réaliser des commandes, telles que des requêtes SQL ou des mises à jour d'une base.
Permet de voir et de manipuler les résultats d'une requête
Est utilisée lorsque la requête de l'objet Command nécessite des paramètres.
La collection Errors et l'objet Error sont accédés au travers de l'objet Connection, lorsqu'une erreur
du fournisseur est générée. L'objet Error est différent de l'objet Err de VB, dans la mesure où il ne
contient que les erreurs remontées et définies par le provider, il permet donc d'obtenir des
informations précises sur la cause de l'erreur.
La collection Fields et l'objet Field sont accédés au travers de l'objet Recordset, une fois que celui-ci
contient des données.
Collection Fields
Tableau 1: Description des objets et collections
La collection Properties fournit des informations sur les caractéristiques des différents objets
Connection, Command, Recordset et Field. Chaque objet Property est accédé au travers de la
collection Properties de chacun de ces objets.
Figure 3 : Collection Properties
Bien que l'ADO soit un modèle de type hiérarchique, les objets de l'ADO, sauf Error, Field et
Property peuvent être créés de façon autonome, c'est-à-dire sans faire référence à l'objet parent.
Ceci est différent des objets DAO et RDO, qui nécessitent dans la plupart des cas la création d’objet
Parent (par exemple, un objet DAO.Connection nécessite un objet DAO.Workspace pour pouvoir
être créé).
ADO est un modèle objet qui propose une grande flexibilité au programmeur. Il y a donc souvent
différentes possibilités pour réaliser la même tâche. Par exemple, pour exécuter une requête, il est
possible d'utiliser la méthode Execute de l'objet Command ou bien de l'objet Connection.
En résumé, voici un diagramme qui montre les relations entre les différents objets qui constituent
l'ADO:
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
6/17
Figure 4: Relations entre les objets ADO
Remarque:
La version 2.5 d'ADO apporte deux nouveaux objets à ce modèle, l'objet Record et l'objet Stream
qui ne sont pas détaillés ici.
Historique des versions
L'ADO est fournie avec la couche MDAC qui est disponible à l'adresse http://microsoft.com/data
Les versions existantes sont les suivantes:

MDAC 1.5a

MDAC 1.5b

MDAC 1.5c

MDAC 1.5d

MDAC 2.0 ou 2.0.3002.20

MDAC 2.0 SP1 ou 2.0.3002.23

MDAC 2.0 SP2 ou 2.0.3002.28

MDAC 2.1

MDAC 2.1 SP1 ou 2.1.1.3711.11

MDAC 2.1 SP2 ou 2.1.2.4202.3

MDAC 2.5 ou 2.50.4403.12

MDAC 2.5 SP1 ou 2.51.5303.5

MDAC 2.5 SP2 ou 2.52.6019.2

MDAC 2.6 ou 2.60.6526.3

MDAC 2.6 SP1 ou 2.61.7326.6
Dans MSDN, il existe un article qui permet de différentier les versions jusqu'à la 2.0. Cet article a
pour titre:
"Redistributing Microsoft Data Access Components"
Ce document est accessible à l’adresse
http://www.msdn.microsoft.com/library/techart/msdn_redistmdac.htm
Pour plus d'informations à ce sujet, on se reportera au chapitre intitulé "Comment déterminer quelle
version de MDAC est installée?" un peu plus loin dans ce document.
Les principales fonctionnalités apportées par l'ADO 2.x par rapport à l'ADO 1.5 sont les suivantes:
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
7/17

Evénements générés sur les objets Connection et Recordset, ce qui permet de supporter les
opérations asynchrones. (connexion asynchone, exécution de commandes en mode asynchrone,
récupération de données en mode asynchrone)
 Persistance de l'objet Recordset: bien qu'il soit possible de gérer des recordsets de façon
déconnectée avec l'ADO 1.5, il n'est pas possible de les sauvegarder sous forme de fichier pour
les réutiliser lors d'un autre lancement de l'application, par exemple. ADO2.0 implémente une
propriété Persist-Format et une méthode Save sur l'objet Recordset, ce qui permet de
sauvegarder sur disque un Recordset créé avec l'option adLockBatchOptimistic. Ceci est
notamment utilisé avec RDS, dans des applications Web.
 Fonctionnalités de tri et de recherches implémentées sur l'objet Recodset
 Possiblité de créer des recordsets indépendants : Avec l’ADO 2.0, il est possible de créer un
objet Recordset, de le manipuler et de l’utiliser, indépendamment de toute source de données.
Le programmeur peut ajouter des champs à ce recordset, ajouter ou modifier des données.
Les principales nouveautés apportées par l'ADO 2.5 par rapport à l'ADO 2.1 sont les objets Stream
et Record:
 objet Record: Cet objet permet d'interagir avec des sources de données possédant une structure
hiérarchique, telles que fichiers et répertoires d'un système de fichier, ou dossiers et messages
d'un système de messagerie. Un Record peut également représenter une ligne dans un recordset,
bien que les objets Record et Recordset aient des méthodes et propriétés différentes. Ce type
d'objet n'est généralement pas supporté par les sources de données traditionnelles.
 objet Stream: Cet objet fournit un moyen de lire, d'écrire et de gérer les données binaires ou
texte. Il peut être utiliser en combinaison avec l'objet Record, et les données seront alors le
contenu d'un fichier ou d'un message, ou bien indépendamment de l'objet Record, avec des
sources de donnés traditionnelles, et les données seront alors le contenu d'un champ Text ou
image (Blobs).
Exemples de Code
Mise en œuvre du modèle objet
Pour utiliser l'ADO en early binding dans un programme VB ou VBA, on pensera à cocher la
référence:
Microsoft ActiveX Data Object x.x Library
en utilisant le menu Projet  Références de l'interface VB ou de l'éditeur VBA.
Squelettes
Dans le MSDN, il existe un article très utile pour la mise en place d'un programme de test: Il est
intitulé "What Are the Objects in the ADO Object model" et est disponible sur le Web à l'adresse
http://msdn.microsoft.com/library/techart/msdn_workshp1.htm.
Nous allons maintenant présenter des exemples pour
Ouvrir / Fermer une connexion avec une base SQL Server en utilisant le provider par défaut qui est
le provider OLEDB pour ODBC
Sub ConnectionExample1()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
' Open the connection, specifying data source name,
' userid, and password.
cn.Open "DSNPubs", "sa", ""
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
8/17
' If the connection is open, say so.
If cn.State = adStateOpen Then
Debug.Print "Connection is open."
End If
' Close the connection.
cn.Close
End Sub
Ouvrir / Fermer une connexion avec une base SQL Server en utilisant le provider OLEDB pour
SQL Server qui est le provider conseillé
Private Sub ConnectionExemple2()
Dim cn As New ADODB.Connection
cn.Provider = "SQLOLEDB"
cn.Open "Data Source=MySQLServerName;Initial Catalog=pubs;",
"sa", ""
' If the connection is open, say so.
If cn.State = adStateOpen Then
Debug.Print "Connection is open."
End If
' Close the connection.
cn.Close
Set cn = Nothing
End Sub
Ouvrir / Fermer un recordset
Sub RecordsetExample()
Dim rs As New ADODB.Recordset
' Open the recordset, specifying a SQL statement
' and a connection string.
rs.Open "Select * from titles", "DSN=pubs;UID=sa"
' Loop through the recordset and print the first field.
Do While Not rs.EOF
Debug.Print rs(0)
rs.MoveNext
Loop
' Close the recordset.
rs.Close
End Sub
Utiliser la méthode Execute de l'objet Command pour exécuter une requête de type Text
Sub CommandExample()
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
9/17
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
' Set the command's connection using a connection string.
cmd.ActiveConnection = "DSN=pubs;UID=sa"
' Set the command's text, and specify that it
' is an SQL statement.
cmd.CommandText = "Select * from titles"
cmd.CommandType = adCmdText
' Create a recordset by executing the command.
Set rs = cmd.Execute()
' Loop through the recordset and print the first field.
Do While Not rs.EOF
Debug.Print rs(0)
rs.MoveNext
Loop
' Close the recordset.
rs.Close
End Sub
Utiliser la méthode Execute de l'objet Command pour exécuter une procédure stockée avec
paramètre.
Sub ParameterExample()
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim prm As ADODB.Parameter
' Set the command's connection using a connection string.
cmd.ActiveConnection = "DSN=pubs;uid=sa"
' Set the command's text, and specify that it
' is an SQL statement.
cmd.CommandText = "byroyalty"
cmd.CommandType = adCmdStoredProc
' Set up a new parameter for the stored procedure.
Set prm = cmd.CreateParameter("Royalty", adInteger,
adParamInput, , 50)
cmd.Parameters.Append prm
' Create a recordset by executing the command.
Set rs = cmd.Execute
' Loop through the recordset and print the first field.
Do While Not rs.EOF Debug.Print rs(0)
rs.MoveNext
Loop
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
10/17
' Close the recordset.
rs.Close
End Sub
Stocker les résultats d’une requête Access dans un fichier Excel :
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\bd1.mdb"
cn.Execute "Select * into [Excel 8.0;
Database=c:\Test1.xls;Hdr=Yes].[Sheet3] From
Clients"
cn.Close
Set cn = Nothing
End Sub
Parcourir la collection Errors
Sub ErrorExample()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
On Error GoTo AdoError
' Try and open a connection using a DSN that doesn't exist.
cn.Open "MissingDSN", "sa", ""
Exit Sub
AdoError:
Dim Errs As ADODB.Errors
Dim errLoop As Error
Dim strError As String
' Loop through each Error object in the
' Errors collection and display properties.
Set Errs = cn.Errors
For Each errLoop In Errs
Debug.Print errLoop.SQLState
Debug.Print errLoop.NativeError
Debug.Print errLoop.Description
Next
End Sub
Enumérer les champs (nom, type, valeur) d'un recordset
Sub FieldExample()
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Set rs = New ADODB.Recordset
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
11/17
' Open the recordset, specifying an SQL statement
' and a connection string.
rs.Open "Select * from authors", "DSN=pubs;UID=sa"
Debug.Print "Fields in Authors Table:" & vbCr
' Loop through each Field object in the
' Fields collection of the table and display properties.
For Each fld In rs.Fields
Debug.Print "Name: " & fld.Name & vbCr & _
"Type: " & fld.Type & vbCr & _
"Value: " & fld.Value
Next fld
' Close the recordset.
rs.Close
End Sub
Afficher les valeurs de certaines propriétés d'une connexion (parcours de la collection Properties)
Sub PropertyExample()
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
' Open the connection, specifying data source name,
' userid, and password.
cn.Open "pubs", "sa"
' Set the command's connection using a connection string.
Set cmd.ActiveConnection = cn
' Set the command's text, and specify that it is a SQL
statement.
cmd.CommandText = "Select * from titles"
cmd.CommandType = adCmdText
' Create a recordset by executing the command.
Set rs = cmd.Execute()
' Show the ConnectionTimeout property of the connection.
Debug.Print cn.Properties("Connect Timeout")
' Show the CommandTimeout property of the command.
Debug.Print cmd.Properties("Command Time out")
' Show the Updatability property of the recordset.
Debug.Print rs.Properties("Updatability")
' Close the recordset.
rs.Close
End Sub
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
12/17
Obtenir la liste des tables d'une base de données: pour obtenir des informations sur la structure de la
base de données, on pourra utiliser la méthode OpenSchema de l'objet Connection (fiche Q186246
http://support.microsoft.com/support/kb/articles/Q186/2/46.asp)
Public Sub OpenSchemaX()
Dim cnn1 As ADODB.Connection
Dim rstSchema As ADODB.Recordset
Dim strCnn As String
Set cnn1 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User
Id=sa;Password=; "
cnn1.Open strCnn
Set rstSchema = cnn1.OpenSchema(adSchemaTables)
Do Until rstSchema.EOF
Debug.Print "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
rstSchema.MoveNext
Loop
rstSchema.Close
cnn1.Close
End Sub
Chaînes de connexion
Il existe un article dans le MSDN, le Q193332, intitulé "FILE:MDACCON.EXE Using Connection
Strings w/ ODBC/OLEDB/ADO/RDS" qui fournit toutes les chaînes de connexion pour les
différents providers, ou drivers ODBC avec DSN ou non. Cet article est accessible sur le Web à
l’adresse http://support.microsoft.com/support/kb/articles/Q193/3/32.asp.
Après avoir visualisé cet article, il suffit de faire un copier / coller de la chaîne de connexion
nécessaire à l'application.
Trucs et Astuces:
Si vous avez besoin d'écrire une chaîne de connexion, il est possible de la générer avec l'assistant de
création d'une connexion de données.
On peut utiliser cet outil de création de connexions de données dans VB:
 Utiliser le menu Affichage  fenêtre de données de l'interface VB
 Créer un Environnement de données en cliquant sur le 2ème bouton de la fenêtre de données
 Dans la fenêtre Environnement de données, utiliser le clique droit sur l'item Connection1 pour
saisir les caractéristiques de la connexion (Provider, DSN, propriétés spécifiques).
 Tester le connexion avant de cliquer sur le bouton OK
 Aller dans la fenêtre des propriétés et sélectionner l'objet connection1: La propriété DataSource
contient la chaîne de connexion désirée.
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
13/17
Figure 5: Propriétés des liaisons de données: écran 1
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
14/17
Figure 6: Propriétés des liaisons de données: écran 2
On peut également utiliser cet outil de création de données sur le bureau:
 Clic droit sur le bureau, sélectionner Nouveau  Microsoft Data Link
 Clic droit sur l'objet créé  Propriétés.
 Saisir les caractéristiques de la connexion, et la tester avant de la valider.
 Ouvrir Notepad, et Glisser / Déplacer l'objet Microsoft Data Link créé du bureau sur Notepad.
Notepad contient alors la chaîne de connexion désirée.
Outils de debug
Souvent, pour debugger les problèmes liés à ADO, le debug classique via VB de l'application n'est
pas suffisant. Certains outils fournis en standard permettent d'obtenir des traces de ce qu'il se passe
entre le poste client et le poste serveur.
Traces ODBC:
Si le fournisseur OLEDB pour ODBC est utilisé, il peut être utile de mettre en œuvre les traces
ODBC. Pour cela, il suffit de lancer dans le panneau de configuration le programme représenté par
l'icône "Sources de données ODBC", et dans l'onglet "Pas à Pas", appuyer sur le bouton "Démarrer
le traçage". On peut spécifier le chemin et le nom du fichier Log où seront stockées les traces. Ce
fichier généré est un fichier texte.
Figure 7: Traces ODBC
Traces OLEDB:
Nous l'avons vu, lorsque ODBC est utilisé, il est possible de mettre en place un système de traces
ODBC. Il n'existe pas d'outil équivalent pour tracer finement les actions réalisées par les
composants ADO ou OLEDB.
Ouverture / Fermeture de connexion avec un serveur SQL Server:
Il existe des outils livrés en standard avec SQL Server, qui permettent de visualiser ce qu'il se passe
exactement sur le serveur. Il s'agit de SQLTrace livré avec SQL Server 6.5, ou bien du générateur
de profils livré avec SQL Server 7 ou SQL Server 2000. Ces outils peuvent être utilisés par exemple
pour visualiser très simplement les ouvertures et fermetures de connexions générées par un
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
15/17
programme client. On se connecte au serveur, et on créé un filtre pour analyser ce qu'il se passe
entre le client et le serveur.
Analyses des trames entre le client et le serveur:
Pour visualiser finement les paquets de données qui transitent entre le client et le serveur, un outil
peut être installé et utilisé. Il s'agit du Network Monitor. Une version limitée est livrée en standard
avec NT. Il suffit de l'installer en lançant dans le panneau de configuration le programme représenté
par l'icône "Réseau" et dans l'onglet Services Cliquer sur le bouton "Ajouter" pour ajouter le
services suivant:
Agent et outils du moniteur Réseau (Network Monitor Tools and Agent)
Une version plus compète de l'outil est livrée avec SMS et est recommandée.
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
16/17
Informations complémentaires liées à MDAC
Installation de la couche MDAC
Télécharger la couche MDAC depuis l'adresse http://www.microsoft.com/data
Comment déterminer quelle version de MDAC est installée?
Plusieurs méthodes sont possibles:
 Un document concernant la description des anciennes versions (jusqu'à la version 2.0) est
disponible à l'adresse http://www.msdn.microsoft.com/library/techart/msdn_redistmdac.htm

On pourra consulter les Release Manifests, ou la fiche Q243069, disponible à l'adresse
http://support.microsoft.com/support/kb/articles/q243/0/69.asp, et en déduire la version installée
en choisissant quelques Dlls et en vérifiant leur version. Ce tableau pourra aider à trouver les
Release Manifests suivant la version de MDAC concernée:
NOM
MDAC 2.6 SP1 ou 2.61.7326.6
MDAC 2.6 ou 2.60.6526.3
MDAC 2.5 SP2 ou 2.52.6019.2
MDAC 2.5 SP1 ou 2.51.5303.5
MDAC 2.5 ou 2.50.4303.12
MDAC 2.1 SP2 ou 2.1.2.4202.3
MDAC 2.1 SP1 ou 2.1.1.3711.11
MDAC 2.1
MDAC 2.0 SP2 ou 2.0.3002.28
MDAC 2.0 SP1 ou 2.0.3002.23
MDAC 2.0 ou 2.0.3002.20
URLS
http://microsoft.com/data/mdac26info/Manifest26sp1.htm
http://microsoft.com/data/mdac26info/Manifest26RTM.htm
http://microsoft.com/data/mdac25info/MDAC25SP2Manifest.htm
http://microsoft.com/data/mdac25info/MDAC25SP1Manifest.htm
http://microsoft.com/data/mdac25info/MDAC25rtmmanifest.htm
http://microsoft.com/data/MDAC21info/MDAC21sp2manifest.htm
http://support.microsoft.com/support/kb/articles/Q238/2/39.ASP
http://microsoft.com/data/MDAC21info/MDAC21GAmanifest.htm
http://microsoft.com/data/mdac21info/21035132manifest.htm
http://support.microsoft.com/support/kb/articles/Q232/0/53.ASP
http://microsoft.com/data/download/20sp2readme.htm
http://support.microsoft.com/support/kb/articles/Q222/1/29.ASP
http://microsoft.com/data/download/20sp2readme.htm
Tableau 2 : MDAC et Release Manifests

On peut aussi télécharger un utilitaire nommé "Component Checker" depuis
http://microsoft.com/data dans la rubrique download.
Remarque importante sur MDAC 2.6
MDAC 2.6 ne livre plus les composants Jet, comme cela est précisé dans la fiche technique suivante
http://support.microsoft.com/support/kb/articles/Q271/9/08.ASP. Pour installer les composants Jet,
on se reportera à la fiche technique
http://support.microsoft.com/support/kb/articles/Q239/1/14.ASP.
Où trouver des informations complémentaires?
Fichiers Readme.txt:
Penser à toujours lire les Readme fournis avec les produits ou les version de MDAC
téléchargées. C’est une mine d'informations pas toujours disponibles dans l'aide en ligne.
Ouvrages: On pourra consulter par exemple
ADO 2.x Programmer's Reference
WROX
Hitchhiker's Guide VB and SQL Server
Microsoft Press
Programming ADO
Microsoft Press
Professional Visual Basic Databases
WROX
Professional ADO 2.5 Programming
WROX
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
17/17
Référence des articles cités
Tour d'horizon:
"The ADO Object Model" (Technical article)
Pour naviguer dans le modèle objet:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/ado270/htm/mdmscadoapireference.asp
Versions de MDAC et des fichiers livrés:
"Redistributing Microsoft Data Access Components"
http://www.msdn.microsoft.com/library/techart/msdn_redistmdac.htm
Exemples de code:
"What Are the Objects in the ADO Object model"
http://msdn.microsoft.com/library/techart/msdn_workshp1.htm
Chaînes de connexions:
Q193332 : http://support.microsoft.com/support/kb/articles/Q193/3/32.asp
Utilisation de la méthode OpenSchema en VB:
Q186246 : http://support.microsoft.com/support/kb/articles/Q186/2/46.asp
Microsoft France
Auteur
Date de révision
Version
: Martine THIPHAINE
: 26/09/01
: 2.0
Téléchargement