------------------------------------------------------------------
Microsoft(R) ActiveX(R) Data Objects version 2.1 Fichier Lisez-moi
------------------------------------------------------------------

(c) Microsoft Corporation 1998. Tous droits rservs.

Ce document fournit des informations de dernire minute ou autres qui compltent la documentation de Microsoft ADO.

------------------
TABLE DES MATIRES
------------------

1. DESCRIPTION DE PRODUIT

2. NOUVEAUX DISPOSITIFS
2.1 Recherche et index
2.2 Mises  jour et synchronisation en ligne
2.3 Fournisseur permanent de Microsoft OLE DB
2.4 Donnes de Microsoft formant le service OLE DB
2.5 Fournisseur  distance de Microsoft OLE DB

3. NOTES TECHNIQUES
3.1 Perfectionnements de scurit
3.2 Comportement restrictif
3.3 Configurations de scurit personnalises 

4. ERREURS CONNUES, LIMITES ET SOLUTIONS

-------------------------
1. DESCRIPTION DU PRODUIT
-------------------------

ActiveX Data Objects (ADO) est une interface d'automatisation pour des donnes d'accs.
ADO utilise l'interface OLE DB pour accder  un large ventail d'mission de donnes, comprenant mais ne se limitant pas aux donnes fournies par l'intermdiaire de ODBC.

Les utilisateurs de RDO et de DAO devraient rapidement se familiariser  la programmation de ADO car la conception intgrale de ADO provient de notre exprience de dveloppement de ces interfaces.

Microsoft Remote Data Service (RDS) est une composante de ADO qui fournit une connexion rapide et efficace des donnes ainsi qu'une dition de ces donnes pour des applications hberges par Microsoft Internet.
Il est bas sur le rapport client / serveur, une technologie distribue qui fonctionne au-del de HTTP, HTTPS (HTTP over Secure Sockets layer), ainsi que des protocoles d'application DCOM.
En utilisant les donnes scurises ActiveX controls, RDS offre une programmation d'accs aux donnes dans le style Microsoft Visual Basic(R) aux ralisateurs de sites Web qui ont besoin de mettre en place des applications de donnes intensives, distribues pour l'utilisation des corporations intranets et sur Internet.

------------------------
2.  NOUVEAUX DISPOSITIFS
------------------------

ADO 2.1 ajoute plusieurs nouveaux dispositifs pour des ralisateurs de sites Web.

2.1 Recherche et index

La mthode de recherche et la proprit d'ajout d'incrment rapide, place les donnes indexes des lignes dans un recordset.


2.2 Mises  jour et synchronisation.

Le nouveau mode de "mise  jour en ligne" permet  l'utilisateur un contrle de mise  jour et de synchronisation pour des recordsets cres par une opration JOIN.
Sept nouvelles proprits dynamiques contrlent le comportement de cinq mthodes existantes.

2.3 Fournisseur permanent pour Microsoft OLE DB.

Le fournisseur permanent pour Microsoft OLE DB, en accord avec la mthode Recordest Object's Save and Open, sauvegarde et restaure un enregistrement dans un fichier. Avec cette version, un recordset peut tre sauvegard dans le format Extensible Markup Language (XML),et les moyens standards de dfinir les tiquettes personnalises par l'utilisateur pour des donnes peuvent tre transportes  travers Internet.

2.4 Donnes de Microsoft formant le service OLE DB

Les donnes de Microsoft formant le service OLE DB, qui s'appuient sur Data Shaping, peuvent  prsent :

2.4.1 Restructurer les recordsets prcdemment forms. Pour soutenir ce dispositif, les recordsets sont maintenant propritaires d'un nom qui existe pour la dure de la connexion.
2.4.2 Excuter les calculs globaux sur une colonne  n'importe quel niveau d'un recordset form, et pas uniquement pour les sous-dossiers immdiats des dossiers parents.
2.4.3 Les commandes COMPUTE paramtres peuvent avoir un nombre arbitraire de clauses COMPUTE intermdiaires entre la clause PARAMETER et l'argument de paramtre.

2.5 Fournisseur  distance de Microsoft OLE DB

Le fournisseur  distance de Microsoft OLE DB devient un fournisseur de service standard et acquiert de nouvelles proprits dynamiques pour une prestation accrue, un plus grand contrle de l'utilisateur, et une comptabilit parfaite avec ADO 2.0.

-------------------
3. NOTES TECHNIQUES
-------------------

3.1 Perfectionnements de scurit

Cette version inclut des perfectionnements de scurit pour les objets ADO et RDS de manire  ce que certaines excutions soient restreintes lorsque Internet Explorer est excut en mode " scuris ".

3.1.1 Zones

Vous pouvez installer diffrentes configurations de scurit pour diffrentes "zones" dans Internet Explorer 4.0 afin de personnaliser le comportement des objets ADO/RDS dans ces zones. Les quatre zones suivantes sont dfinies dans Internet Explorer 4.0 :

* Zone Internet
* Zone intranet locale
* Zone de sites restreints
* Zone de sites scuriss

3.1.2 Niveaux de scurit

Pour chacune de ces zones, vous pouvez indiquer le niveau de scurit utilis. Les niveaux de scurit suivants sont disponibles pour chaque zone :

* Haut
* Moyen
* Bas 
* Personnalis

Comme toute autre commande ActiveX, afin que les objets ADO/RDS fonctionnent sur Internet Explorer 4.0, le niveau de scurit doit tre rgl sur "moyen" ou "haut". Des configurations faites sur commande sont employes pour charger les objets ADO/RDS en mode scuris ou non scuris.


3.2 Comportement restrictif.

Par dfaut, toute excution non scurise sur des objets ADO/RDS dans Internet Explorer occasionnera une suggestion  l'utilisateur lors de l'accs aux pages de  Zone scurise locale ,   Zone de sites scuriss  et  de  Zones Internet . Les oprations non scurises sur objets ADO/RDS sont mises hors service, par dfaut, pour les pages charges  partir de  zone de sites restreints . Le comportement de ADO/RDS en excutant ces modes est dcrit ci-dessous :

3.2.1 Objets scuriss.

Les objets suivant sont considrs comme  scuriss . Cela signifie que les oprations non scurises (dont le dtail est donn au paragraphe 3.2.3) sont interdites dans un environnement scuris (par exemple Internet Explorer par dfaut ; sauf si l'on utilise des configurations adaptes pour excution dans un mode non scuris) et interdites dans un environnement non scuris (par exemple Visual Basic).

a) Objet RDS.DataControl
b) Objet RDS.DataSpace
c) Objet ADO Recordset

3.2.2 Oprations non scurises sur objets scuriss.

Les oprations suivantes sont considres comme non scurises sur les objets  scuriss  -- RDS.DataControl, RDS.DataSpace, ADO Recordset.
Ces oprations sont interdites dans un environnement scuris mais autorises dans un environnement non scuris.

a. RDS.DataControl
i) Tous scnarios  deux niveaux et DCOM sur l'objet RDS.DataControl. Cela signifie que vous ne pouvez tablir de connexions de base de donnes directement sur votre ordinateur ou  partir des serveurs auxquels vous tes connect en utilisant le protocole DCOM.
ii) Toutes les oprations  trois niveaux sous HTTP sont restreintes au serveur  partir duquel la page a t tlcharge. Cela signifie que la proprit du serveur sur l'objet RDS.DataControl doit correspondre au nom de l'hte (http://serveur)  partir duquel la page a t tlcharge.

b. RDS.DataSpace
i) Tous scnarios  deux niveaux et DCOM sur l'objet RDS.DataSpace. Cela signifie que vous ne pouvez utiliser l'objet RDS.DataSpace pour appeler des objets de business directement sur votre appareil ou sous le protocole DCOM.
ii) Tous les scnarios  trois niveaux sous HTTP sont restreints au serveur  partir duquel la page a t tlcharge. Cela signifie que le second paramtre de la mthode CreateObject  appellez l'objet DataSpace  doit dsigner le mme serveur que celui  partir duquel la page a t tlcharge.

c. ADO Recordset
i) Etablit toute connexion o le fournisseur d'accs n'est pas MS Remote. Le lien de connexion doit alors dbuter par   Fournisseur d'accs=MS Remote . L'onglet  Remote Server  dans le lien de connexion doit porter le mme nom que le serveur  partir duquel la page a t tlcharge. Les connexions locales  deux niveaux et DCOM ne sont pas autorises.
ii) Les oprations locales permanentes comme la sauvegarde d'un recordset sur le systme local de fichiers et l'ouverture d'un recordset  partir d'un fichier directement sur l'ordinateur.


3.3 Personnalisation de configurations de scurit

Le comportement ADO/RDS est contrl lors de la configuration pour l'option  Initialiser et squencer les commandes ActiveX non dsignes comme scurises . Vous pouvez changer les configurations de scurit en modifiant le niveau de scurit pour une zone spcifique. Les configurations par dfaut pour l'option  Initaliser et squencer les commandes ActiveX non dsignes comme scurises  pour la zone intranet sont les suivantes : 
	Niveau de scurit = Haut		Valeur = Invalider
	Niveau de scurit = Moyen		Valeur = Invalider
	Niveau de scurit = Bas		Valeur = Suggestion

Pour les configurations par dfaut dans d'autres zones de scurit, veuillez vous reporter  la documentation relative  Internet Explorer.

Lors de la modification du niveau de scurit, vous pouvez modifier le comportement d'objets ADO Recordsets dconnects excuts dans le navigateur. Si vous souhaitez autoriser des oprations non scurises et que vous ne dsirez pas qu'une suggestion apparaisse chaque fois qu'une telle opration et effectue, vous devez expressment slectionner la valeur  Enable  dans l'option mentionne ci-dessus. Cela s'effectue en personnalisant les configurations de scurit selon la description figurant ci-dessous.
Veuillez galement noter que pour effectuer une opration non scurise (telle que la sauvegarder dans le systme local de fichiers) sur un recordset ADO  obtenu  partir du RDS DataControl, vous devez slectionner la valeur  Enable  pour l'option mentionne plus haut.  
Pour ce type d'objets Recordset (obtenus  partir du RDS DataControl), la configuration de  Suggestion  s'effectue comme  Hors service . 


Vous pouvez ignorer les configurations par dfaut en manipulant directement les configurations personnaliss pour l'option ci-dessus. Vous pouvez choisir d'invalider compltement les oprations non scurises (dcrites plus haut), ou d'indiquer qu'un avertissement soit affich  chaque fois qu'une telle opration est tente, ou encore autoriser une telle opration sans aucun avertissement. Vous pouvez installer diffrentes configurations personnalises pour diffrentes zones de scurit. Les mesures suivantes doivent prises pour personnaliser vos configurations de scurit pour une zone de scurit spcifique : 


ATTENTION : Veuillez noter qu'en autorisant  Initialiser et squencer les commandes ActiveX non dsignes comme scurises  (tape 5 ci-dessous), vous autorisez l'utilisation de TOUTE commande ActiveX, scurise ou non, au sein de pages Web (ce qui expose potentiellement le matriel d'un utilisateur  des contrles malveillants ou  un code d'criture malveillant).Il est recommand de n'effectuer ceci que dans les zones de scurit de   l'intranet  ou des  sites scuriss  et non dans la zone  Internet .


1- A partir du menu droulant d'Internet Explorer 4.0,slectionnez les options Internet pour faire apparatre la bote de dialogue des options Internet. Slectionner l'onglet de scurit.
2- A partir de la liste droulante des zones, slectionnez la zone que vous souhaitez configurer de faon personnalise. 
3- Slectionner la personnalisation de la zone choisie. Ceci permet de placer l'icne de configuration dans la bote de dialogue. 
4- Cliquer sur configurations pour faire apparatre la bote de dialogue de configuration de scurit. 
5- Si vous dsirez autoriser des oprations non scurises (dcrites au paragraphe 3.2.3) sur des objets ADO/RDS sans qu'aucun avertissement ne soit affich, slectionnez  Enable  pour l'option  Initialiser et squencer des commandes ActiveX non dsignes comme scurises  dans la bote de dialogue des configuration de scurit. Cliquez sur OK.
6- Si vous voulez qu'un avertissement s'affiche chaque fois qu'une opration non scurise (dcrite au paragraphe 3.2.3) est tente sur des objets ADO/RDS, slectionnez Suggestions  pour l'option  Initialiser et squencer des commandes ActiveX non dsignes comme scurises  dans la bote de dialogue des configurations de scurit. Cliquez sur OK.
7- Si vous dsirez compltement invalider des oprations non scurises (dcrites au paragraphe 3.2.3) sur des objets ADO/RDS, slectionnez Invalider pour l'option  Initialisez et squencez des commandes ActiveX non dsignes comme scurises dans la bote de dialogue des configurations de scurit. Cliquez sur OK.
8- Le cas chant, rptez ces tapes pour personnaliser les configurations de scurit pour d'autres zones de scurit.
9- Cliquez sur OK.


A prsent les objets ADO/RDS se comporteront selon le mode personnalis demand. Ces configurations affectent le comportement suivant des objets ADO/RDS (selon la description faite au paragraphe 3.2.3) dans la zone de scurit spcifie - tablir des connexions locales  deux niveaux ;travailler sous DCOM ; se connecter  un autre serveur que celui  partir duquel la page a t tlcharge  l'origine ; sauvegarder et ouvrir un recordset vers /  partir des dossiers directement sur l'ordinateur.

Si vous installez vos options personnalises sur  Suggestion , l'avertissement suivant s'affichera lorsqu'une opration non scurise sera tente sur des objets ADO/RDS :

 La page accde  une source de donnes dans un autre domaine. Souhaitez-vous autoriser ceci ?  l'utilisateur a le choix de rpondre  oui  ou  non . S'il rpond  oui , l'opration est termine ; sinon elle choue.

----------------------------------------
4. ERREURS CONNUES, LIMITES ET SOLUTIONS
----------------------------------------

4.1 La personnification de client dans RDS n'est pas couramment soutenue  cause de l'absence de support du systme d'exploitation.
4.2 Lors de la cration de  Virtuals Servers  dans le serveur d'information Internet 4.0, les deux tapes suivantes sont ncessaires afin de configurer le serveur pour qu'il fonctionne avec RDS :

A :  En installant le serveur, vrifiez  Allow execute Access 
B :  Dplacez msaddcs.dll vers vroot\msadc, dans lequel vroot est le HOME DIRECTORY de votre serveur virtuel.

4.3 En utilisant RDS sur un serveur IIS, le nombre d'amorages cres par processeur peut-tre contrl en manipulant l'enregistrement sur le serveur Web. Le nombre d'amorages par processeur peut affecter l'excution en cas d'un nombre trop lev de connexions, ou de faibles connexions effectuant cependant des demandes de scnarios de grande taille. L'utilisateur devra en faire l'exprience afin d'obtenir les meilleurs rsultats. La valeur spcifique  ajuster est :


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCthreads

l o ADCThreads est un REG_DWORD dans l'intrevalle 1-50. La valeur par dfaut est 6, et les valeurs incorrectes ont pour valeur par dfaut 6 ou 50. Si la valeur spcifie par la cl du registre est suprieure  50, la valeur maximale est alors utilise (c'est--dire 50). L'utilisateur ne doit normalement pas avoir besoin de crer cette valeur de registre ; par dfaut elle n'est pas incluse dans le registre.

4.4 Par dfaut, l'installation de ADO utilise une configuration de Serveur DataFactory RDS  sre  ce qui signifie que les options suivantes sont actives :

	1. Datafactory requiert un descripteur 
	   (rendu obligatoire par paramtre de cl de registre)

	2. Msdfmap.handler, descripteur par dfaut est enregistr, figure 
	   dans la liste des descripteurs srs et est marqu comme descrpteur
   par dfaut.

	3. Le fichier Msdfmap.ini figure dans le rpertoire Windows. Vous 
	   devez le configurer en fonction de vos besoins avant d'utiliser 
	   RDS en mode trois tiers. 

Vous pouvez galement choisir une installation sans restrictions. Vous
pouvez alors utiliser DataFactory directement sans les descripteurs personnaliss. Les utilisateurs peuvent toujours utiliser ces descripteurs en modifiant les paramtres de connexion mais ce n'est pas ncessaire.
 
Le fichier de registre handsafe.reg permet de configurer les entres de registres pour utiliser une configuration sre.
Pour utiliser ce mode scuris, excutez handsafe.reg. 

Le fichier de registre handunsf.reg permet de configurer les entres de registres pour utiliser une configuration sans restrictions.
Pour utiliser ce mode sans restrictions, excutez handunsf.reg. 

Pour de plus amples informations concernant l'utilisation des fonctions de personnalisation des descripteurs dans RDS, reportez-vous  l'article "Using the Customization Handler Feature in RDS 2.0," se trouvant  l'adresse suivante http://www.microsoft.com/data/techmat.htm

4.5 La mthode Find permet de rechercher un Recordset dans la direction spcifie,  partir de la ligne courante. La recherche se fait selon le critre utlise. Si aucune position de ligne n'a t spcifie avant d'utiliser la mthode Find, le systme renvoie une erreur.

4.6 Pour utiliser ADO 2.0 FetchProgress et FetchComplete Events  avec Visual Basic, il faut au minimum la version 6 de Visual Basic.

4.7 Les oprations suivantes sont considres  scurises   utiliser dans les expressions DataShaping CALC :

Abs,Asc,Atn, CBool, Cbyte, CCur, CDate, CDbl, Chr, ChrB, ChrW, Chr$, ChrB$, Cint, CLng, Cos, CSng, CStr, Cvar, CVDate, CVErr, Date, Date$,
DateAdd, DateDiff, DatePart, DateSerial, DateValue, Day, DDB, Error, Error$, Exp, Fix, Format, Format$, FV, Hex, Hex$, Hour, IIF, InStr, Int, Ipmt, IRR, IsDate, IsEmpty, IsError, IsNull, IsNumeric, IsObject, LCase, Lcase$, Left, LeftB, Left$, LeftB$,Len, Log, LTrim, LTrim$, Mid, Mid$, Minute, MIRR, Months, Now, NPer , NPV, Oct, Oct$, Pmt, PPmt, PV, QBColor, Rate, RGB, Right, RightB, Right$, RightB$, Rnd, RTrim, Second, Sgn, Sin, SLN, Space, Space$, Sqr, Str, Str$, StrComp, StrConv, String, String$, SYD, Tan, Time, Time$, Timer, TimeSerial, TimeValue, Trim, Trim$, TypeName, UCase, UCase$, Val, VarType, Weekday, Year.

4.8 ADO 2.1 ne reconnat pas les objets Recordset hirarchique persistant au format XML. 

4.9  Vous ne pouvez mettre les donnes d'un Recordset en lecture seule en enregistrant les donnes en XML et en modifiant le fichier XML. L'ouverture du Recordset depuis le fichier XML provoquera une erreur si les donnes ont t modifies.

4.10 Le mot cl DISTINCT n'est pas pris en compte dans les rsultats de requtes lorque l'on utilise adUseClient ou la prise en charge  distance avec SQL Server 6.5 Service Pack 4. Il s'agit d'une erreur de SQL Server qui devrait tre resolue dans un prochain service pack.

4.11 Les valeurs DataTypeEnum rpertories dans la rubrique Type Property du guide de rfrence ActiveX Data Objects Programmer contient des erreurs. Les valeurs d'numration suivantes sont rpertories mais n'existent pas et ne peuvent pas tre utilises :

adArray, adByRef, adVector

Les valeurs suivantes sont absentes de la liste mais elles existent et peuvent tre utilises :

adChapter     Valeur de chapitre 4 octets utilise pour identifier les lignes dans un ensemble de lignes enfant (DBTYPE_HCHAPTER).

adDBFileTime  Valeur de fichier temps (DBTYPE_DBFILETIME).

adFileTime    Valeur 64 bits reprsentant le nombre d'intervalles de 100 nanosecondes depuis janvier 1, 1601 (DBTYPE_FILETIME).

adPropVariant Automation PROPVARIANT (DBTYPE_PROP_VARIANT).

adVarNumeric  Valeur numrique (objet Parameter uniquement).

4.12 La liste des valeurs valides pour le paramtre Options de la mthode Execute pour les objets Connection et Command contient des erreurs. La valeur following ExecuteOptionEnum est rpertorie de manire incorrecte par deux fois. Elle devrait apparatre une seule fois comme indiqu ci-aprs :

adCmdTable    Indique qu'ADO devrait valuer CommandText comme un nom de table et gnrer une requte SQL pour renvoyer toutes les lignes de la table nomme dans CommandText.

La valeur CommandTypeEnum suivante est absente de la liste mais existe bien et peut tre utilise :

adCmdFile     Indique que le fournisseur devrait valuer CommandText comme un nom de fichier.

Les valeurs ExecuteOptionEnum suivantes sont absentes de la liste mais existent bien et peuvent tre utilises :

adAsyncFetchNonBlocking   Indique que le thread principal ne bloque jamais au cours de l'extraction. Si la ligne demande n'a pas t extraite, la ligne en cours se dplace automatiquement vers la fin du fichier.

adExecuteNoRecords        Indique que CommandText est une commande ou procdure stocke qui ne renvoit pas de lignes (par exemple, une commande qui insre uniquement des donnes). Si une ligne est extraite, elle est ignore et renvoye. Toujours associ  adCmdText et adCmdStoredProc. 

4.13 La liste des valeurs QueryType Enum pour la mthode OpenSchema d'un objet Connection contient des erreurs. Les valeurs suivantes sont absentes de la liste mais existent bien et peuvent tre utilises :

Enum			Restriction Columns

adSchemaDBInfoKeywords	aucun

adSchemaDBInfoLiterals	aucun

adSchemaCubes		CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME

adSchemaDimensions	CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			DIMENSION_NAME
			DIMENSION_UNIQUE_NAME

adSchemaHierarchies	CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			DIMENSION_UNIQUE_NAME
			HIERARCHY_NAME
			HIERARCHY_UNIQUE_NAME

adSchemaLevels		CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			DIMENSION_UNIQUE_NAME
			HIERARCHY_UNIQUE_NAME
			LEVEL_NAME
			LEVEL_UNIQUE_NAME

adSchemaMeasures	CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			MEASURE_NAME
			MEASURE_UNIQUE_NAME

adSchemaProperties	CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			DIMENSION_UNIQUE_NAME
			HIERARCHY_UNIQUE_NAME
			LEVEL_UNIQUE_NAME
			MEMBER_UNIQUE_NAME
			PROPERTY_TYPE
			PROPERTY_NAME

adSchemaMembers		CATALOG_NAME
			SCHEMA_NAME
			CUBE_NAME
			DIMENSION_UNIQUE_NAME
			HIERARCHY_UNIQUE_NAME
			LEVEL_UNIQUE_NAME
			LEVEL_NUMBER
			MEMBER_NAME
			MEMBER_UNIQUE_NAME
			MEMBER_CAPTION
			MEMBER_TYPE
			Oprateur d'arborescence (voir ci-dessous)

Sachez que les sept dernires valeurs Enum (de adSchemaCubes  adSchemaMembers) devraient tre utilises avec des fournisseurs de donnes multidimensionnelles. Pour plus d'informations, notamment sur la dfinition de la limite de l'oprateur d'arborescence pour adSchemaMembers, reportez-vous au guide de rfrence OLE DB for OLAP Programmer.

4.14 Les valeurs AffectEnum rpertories dans la rubrique relative  la mthode CancelBatch dans le guide de rfrence ActiveX Data Objects Programmer comportent une erreur. Les valeurs suivantes sont absentes de la liste mais existent bien et peuvent tre utilises :

adAffectAllChapters     Annule les changements en attente pour tous les chapitres.


4.15 La valeur adModeShareDenyNone ConnectModeEnum n'est pas correctement dcrite dans la rubrique portant sur la proprit Mode. La description correcte est la suivante :

adModeShareDenyNone	Permet  d'autres utilisateurs d'ouvrir une connexion avec tout type d'autorisation. Il est impossible de refuser un accs en lecture ou en criture  d'autres utilisateurs.

4.16 Dans les versions prcdentes, la proprit Index renvoyait une erreur lorsqu'aucun index n'tait dfini pour l'objet Recordset. A partir d'ADO 2.1 dans MDAC 2.1 Service Pack 1, elle renvoie une chane vide et nchoue plus.







 








