(c) 1998 Microsoft Corporation. Alle rettigheder forbeholdes.
Dette dokument indeholder de seneste oplysninger, der supplerer dokumentationen til Microsoft ADO.
--------
INDHOLD
--------
1. PRODUKTBESKRIVELSE
2. NYE FUNKTIONER
2.1 Seek og Index
2.2 Rµkkeopdateringer og synkronisering
2.3 Microsoft OLE DB Persistence Provider
2.4 Microsoft Data Shaping Service til OLE DB
2.5 Microsoft OLE DB Remoting Provider
3. TEKNISKE BEM╞RKNINGER
3.1 Sikkerhedsforbedringer
3.2 Restriktiv virkemσde
3.3 Tilpasning af sikkerhedsindstillinger
4. KENDTE FEJL, BEGR╞NSNINGER, RETTELSER OG SENESTE DOKUMENTATIONSBEM╞RKNINGER
----------------------
1. PRODUKTBESKRIVELSE
----------------------
ActiveX Data Objects (ADO) er en automatiseringsbaseret grµnseflade til at fσ adgang til data. ADO bruger OLE DB-grµnsefladen til at fσ adgang til en lang rµkke datakilder, herunder men ikke begrµnset til data leveret via ODBC.
Brugerne af RDO og DAO b°r hurtigt g°re sig bekendt med programmering til ADO, fordi det overordnede design af ADO kommer fra vores erfaring med at udvikle disse grµnseflader.
Microsoft Remote Data Service (RDS) er en komponent i ADO, som giver hurtig og effektiv dataforbindelse og dataudgivelsesmilj°et til programmer, der er tilknyttet i Microsoft Internet Explorer. Den er baseret pσ en distribueret klient-/serverteknologi, der fungerer over HTTP-, HTTPS- (HTTP over Secure Sockets Layer) og DCOM-programprotokoller. Ved at bruge datakompatible ActiveX-objekter giver RDS adgang til dataprogrammering, der ligner Microsoft Visual Basic(R), til Web-udviklere, som har brug for at opbygge distribuerede, datakrµvende programmer, der skal bruges pσ virksomheders intranet og Internettet.
---------------
2. NYE FUNKTIONER
---------------
ADO 2.1 tilf°jer flere nye funktioner for udviklerne.
2.1 Seek og Index
Metoden Seek og egenskaben Index tilf°jer hurtig, indeksbaseret placering af rµkker i et postsµt.
2.2 Rµkkeopdateringer og synkronisering
Den nye "row fix-up"-tilstand giver mulighed for brugerdefineret kontrol over rµkkeopdateringer og synkronisering af postsµt oprettet med en JOIN-handling. Syv nye dynamiske egenskaber kontrollerer fem eksisterende metoders virkemσde.
2.3 Microsoft OLE DB Persistence Provider
Sammen med metoderne Save og Open i Recordset-objektet gemmer og gendanner Microsoft OLE DB Persistence Provider et postsµt i en fil. Med denne version kan et postsµt gemmes i XML-formatet (Extensible Markup Language), som er standardmσden at definere brugerangivne koder for data transporteret via Internettet.
2.4 Microsoft Data Shaping Service for OLE DB
Microsoft Data Shaping Service for OLE DB, som underst°tter Data Shaping, kan nu:
2.4.1 Omforme et tidligere formet postsµt. For at underst°tte denne funktion har postsµt nu en Name-egenskab, der eksisterer, sσ lµnge forbindelsen er etableret.
2.4.2 Udf°re aggregate-beregninger pσ en kolonne pσ ethvert niveau af et omformet postsµt, ikke blot det overordnede niveaus underniveau. Denne funktion bruger fulde kapitelnavne til at danne en sti til det °nskede niveau og den °nskede kolonne.
2.4.3 COMPUTE-kommandoer i parameterform kan have et vilkσrligt antal mellemliggende COMPUTE-delsµtninger mellem delsµtningen PARAMETER og parameterargumentet.
2.5 Microsoft OLE DB Remoting Provider
Microsoft OLE DB Remoting Provider bliver en standardserviceprovider og henter nye dynamiske egenskaber til forbedret ydeevne, st°rre brugerkontrol og kompatibilitet bagud med ADO 2.0.
------------------
3. TEKNISKE BEM╞RKNINGER
------------------
3.1 Sikkerhedsforbedringer
Denne version indeholder sikkerhedsforbedringer til ADO- og RDS-objekter, sσ nogle af handlingerne begrµnses, nσr Internet Explorer k°rer i en "sikker" tilstand.
3.1.1. Zoner
Du kan angive forskellige sikkerhedsindstillinger til forskellige "zoner" i Internet Explorer 4.0 for at tilpasse ADO/RDS-objekters virkemσde i disse zoner. F°lgende fire zoner er defineret i Internet Explorer 4.0:
* Internetzone
* Lokal intranetzone
* Zone med klassificerede steder
* Zone med pσlidelige steder
3.1.2. Sikkerhedsniveauer
For hver af disse zoner kan du angive det sikkerhedsniveau, der skal bruges. F°lgende sikkerhedsniveauer er tilgµngelige for hver zone:
* H°j
* Mellemste
* Lav
* Brugerdefineret
Som ved alle andre ActiveX-objekter skal sikkerhedsniveauet indstilles til "Mellemste" eller "H°j" for overhovedet at fσ ADO/RDS-objekter til at fungere i Internet Explorer 4.0. Brugerdefinerede indstillinger anvendes til at indstille ADO/RDS-objekter til at fungere i sikker eller usikker tilstand.
3.2 Restriktiv virkemσde
Som standard medf°rer usikre handlinger pσ ADO/RDS-objekter i Internet Explorer 4.0 en brugerprompt, nσr sider σbnes fra "Lokal pσlidelig zone", "Zone med pσlidelige steder" og "Internetzone". Usikre handlinger pσ ADO/RDS-objekter deaktiveres som standard for sider, der indlµses fra "Zone med klassificerede steder". I det f°lgende beskrives ADO/RDS-virkemσde ved k°rsel i disse tilstande:
3.2.1 Sikre objekter
F°lgende objekter anses for "sikre". Det betyder, at usikre handlinger (beskrevet i afsnit 3.2.3) ikke tillades i et sikkert milj° (f.eks. som standard i Internet Explorer, medmindre brugerdefinerede indstillinger benyttes til at k°re i en usikker tilstand) og tillades i et usikkert milj° (f.eks. Visual Basic).
a. RDS.DataControl-objekt
b. RDS.DataSpace-objekt
c. ADO Recordset-objekt
3.2.2 Usikre objekter
F°lgende objekter anses for "usikre". De kan ikke oprettes direkte eller indirekte (og gives til en bruger) i et sikkert milj°.
a. RDSServer.DataFactory-objekt
b. ADO Connection-objekt
c. ADO Command-objekt
3.2.3 Usikre handlinger pσ sikre objekter
F°lgende handlinger anses for usikre pσ de "sikre" objekter - RDS.DataControl, RDS.DataSpace, ADO Recordset. Disse handlinger tillades ikke i et sikkert milj°, men i et usikkert milj°.
a. RDS.DataControl
i) Alle tolags- og DCOM-scenarier pσ objektet RDS.DataControl. Det betyder, at du ikke kan σbne databaseforbindelser pσ den lokale maskine eller servere, du etablerer forbindelse til med DCOM-protokollen.
ii) Alle trelagshandlinger over HTTP er begrµnset til den server, siden er hentet fra. Det betyder, at egenskaben Server pσ objektet RDS.DataControl skal vµre lig med det vµrtsnavn (http://server), siden er hentet fra.
b. RDS.DataSpace
i) Alle tolags-og DCOM-scenarier pσ objektet RDS.DataSpace. Det betyder, at du ikke kan bruge objektet RDS.DataSpace til at aktivere firmaobjekter pσ den lokale maskine eller over DCOM-protokollen.
ii) Alle trelagsscenarier over HTTP er begrµnset til den server, siden blev hentet fra. Det betyder, at den anden parameter i metodekaldet CreateObject pσ objektet DataSpace skal pege pσ den samme server, siden er hentet fra.
c. ADO Recordset
i) Etablerer forbindelse, hvor provider ikke er MS Remote. Sσ tilslutningsstrengen skal starte med "Provider=MS Remote". Koden "Remote Server" i tilslutningsstrengen skal ogsσ vµre det samme navn som den server, siden er hentet fra. Lokale tolags- og DCOM-tilslutninger tillades ikke.
ii) Local Persistence-handlinger, som at gemme et postsµt i det lokale filsystem og σbne et postsµt fra en fil pσ den lokale maskine.
3.3 Tilpasse sikkerhedsindstillinger
ADO/RDS-virkemσde kontrolleres af indstillingen "Initialiser ActiveX-objekter, som ikke er markeret som sikre". Du kan µndre sikkerhedsindstillingerne ved at µndre sikkerhedsniveauet for en bestemt zone. Standardvµrdierne for indstillingen "Initialiser ActiveX-objekter, som ikke er markeret som sikre" for intranetzonen er som f°lger:
Sikkerhedsniveau = H°j Vµrdi = "Deaktiver"
Sikkerhedsniveau = Mellemste Vµrdi = "Deaktiver"
Sikkerhedsniveau = Lav Vµrdi = "Sp°rg"
Oplysninger om standardindstillinger i andre sikkerhedszoner finder du i dokumentationen til Internet Explorer.
Ved at µndre sikkerhedsniveauet kan du µndre virkemσden for frakoblede ADO Recordset-objekter, der k°rer i browseren. Hvis du vil aktivere usikre handlinger og ikke vil sp°rges, hver gang en sσdan handling fors°ges, skal du udtrykkeligt angive vµrdien for ovenstσende indstilling til "Aktiver". Bemµrk ogsσ, at hvis du fors°ger en usikker handling (f.eks. at gemme et postsµt i en fil i det lokale filsystem) pσ et ADO Recordset fra RDS.DataControl, skal du angive vµrdien for ovenstσende indstilling til "Aktiver". Indstillingen af "Sp°rg" virker som "Deaktiver" for sσdanne Recordset-objekter (fra RDS.Datacontrol).
Du kan tilsidesµtte standardindstillingerne ved direkte at justere de brugerdefinerede indstillinger for ovenstσende indstilling. Du kan vµlge fuldstµndig at deaktivere de usikre handlinger (beskrevet herover) eller angive, at en advarsel skal vises, nσr den pσgµldende handling fors°ges, eller aktivere en sσdan handling uden advarsel. Du kan angive forskellige brugerdefinerede indstillinger for forskellige sikkerhedszoner. F°lgende fremgangsmσde skal gennemf°res for at tilpasse sikkerhedsindstillingerne for en bestemt sikkerhedszone:
ADVARSEL! Vµr opmµrksom pσ, at du ved at aktivere "Initialiser ActiveX-objekter, som ikke er markeret som sikre" (trin 5 herunder) tillader, at ETHVERT ActiveX-objekt, sikkert eller usikkert, bruges fra Web-sider (hvilket muligvis udsµtter brugermaskiner for skadeligt indhold eller skadelig scriptingkode). Det anbefales, at du kun g°r dette i "intranetzone" eller "Pσlidelig zone" og ikke i "Internet-zone".
1. Vµlg Internet-indstillinger i menuen Vis i Internet Explorer 4.0 for at σbne dialogboksen Internet-indstillinger. Vµlg fanen Sikkerhed.
2. Vµlg den zone, du vil tilpasse indstillingerne for, pσ rullelisten Zone.
3. Vµlg Brugerdefineret for den valgte zone for at aktivere knappen Indstillinger i dialogboksen.
4. Klik pσ Indstillinger for at σbne dialogboksen Indstillinger for sikkerhed.
5. Hvis du vil aktivere usikre handlinger (beskrevet i afsnit 3.2.3) pσ ADO/RDS-objekter uden at vise en advarsel, skal du markere "Aktiver" under indstillingen "Initialiser ActiveX-objekter, der ikke er markeret som sikre" i dialogboksen Indstillinger for sikkerhed. Klik pσ OK.
6. Hvis du vil have vist en advarsel, nσr en usikker handling (beskrevet i afsnit 3.2.3) fors°ges pσ ADO/RDS-objekter, skal du markere "Sp°rg" under indstillingen "Initialiser ActiveX-objekter, der ikke er markeret som sikre" i dialogboksen Indstillinger for sikkerhed. Klik pσ OK.
7. Hvis du helt vil deaktivere usikre handlinger (beskrevet i afsnit 3.2.3) pσ ADO/RDS-objekter, skal du markere "Deaktiver" under indstillingen "Initialiser ActiveX-objekter, der ikke er markeret som sikre" i dialogboksen Indstillinger for sikkerhed. Klik pσ OK.
8. Gentag eventuelt denne fremgangsmσde for at tilpasse sikkerhedsindstillingerne for andre sikkerhedszoner.
9. Klik pσ OK.
Nu vil ADO/RDS-objekter opf°re sig pσ den angivne brugerdefinerede mσde. Disse indstillinger pσvirker ADO/RDS-objekter pσ f°lgende mσde (som beskrevet i afsnit 3.2.3) i den angivne sikkerhedszone - σbne lokale tolagsforbindelser; arbejde via DCOM; etablere forbindelse til en anden server end den, siden oprindeligt blev hentet fra; gemme og σbne et postsµt i/fra filer pσ den lokale maskine.
Hvis du markerer "Sp°rg" under de brugerdefinerede indstillinger, vises f°lgende advarsel, nσr en usikker handling fors°ges pσ ADO/RDS-objekter:
"Denne side fors°ger at fσ adgang til en datakilde i et andet domµne. Vil du tillade det?" Brugeren kan svare "Ja" eller "Nej". Hvis svaret er "Ja", udf°res handlingen. Hvis ikke, mislykkes den.
4.1 Klientreprµsentation i RDS underst°ttes p.t. ikke grundet manglende underst°ttelse fra operativsystemet.
4.2 Ved oprettelse af "Virtuelle servere" i Internet Information Server 4.0 er f°lgende to ekstra trin n°dvendige for at konfigurere serveren til at arbejde med RDS:
A) Vµlg "Tillad adgang til eksekverbare filer", nσr serveren installeres.
B) Flyt msadcs.dll til vroot\msadc, hvor vroot er den virtuelle servers hjemmemappe.
4.3 Nσr RDS bruges pσ en IIS-server, kan det antal trσde, der oprettes pr. processor, kontrolleres ved at justere registreringsdatabasen pσ Web-serveren. Antallet af trσde pr. processor kan pσvirke ydeevnen i en situation med megen trafik eller lidt trafik med store foresp°rgselsscenarier. Brugeren b°r eksperimentere for at finde frem til de bedste resultater. Den bestemte vµrdi, der skal justeres, er:
hvor ADCThreads er en brugertilf°jet REG_DWORD. Intervallet af gyldige vµrdier er 1 til 50. Standardvµrdien er 6. Hvis den vµrdi, der angives af registreringsn°glen, er st°rre end 50, benyttes den st°rste vµrdi (50). Det b°r ikke vµre n°dvendigt for brugeren at oprette denne vµrdi i registreringsdatabasen. Den er som standard ikke medtaget i registreringsdatabasen.
4.4 Som standard installeres ADO med en "sikker" RDS Server DataFactory-konfiguration. Sikker tilstand for RDS Server-komponenter betyder, at f°lgende er sandt:
1. Handler skal angives med DataFactory
(dette forlanges af en registreringsn°gleindstilling)
2. Vores standardhandler, msdfmap.handler, er registreret, til stede
pσ listen over sikre handlere og markeret som standardhandler.
3. Filen Msdfmap.ini er installeret i Windows-biblioteket. Du
skal konfigurere denne fil i henhold til dine behov, f°r du bruger
RDS i trelagstilstand.
Du kan eventuelt konfigurere en ubegrµnset DataFactory-installation. DataFactory kan bruges
direkte uden den brugerdefinerede handler. Brugerne kan stadig benytte en brugerdefineret handler ved at redigere tilslutningsstrengene, men det er ikke pσkrµvet.
Vi har medtaget registreringsdatabasefilen handsafe.reg for at indstille handlerposterne i registreringsdatabasen til en sikker konfiguration.
Hvis du vil k°re i sikker tilstand, skal du k°re handsafe.reg.
Vi har medtaget registreringsdatabasefilen handunsf.reg for at indstille handlerposterne i registreringsdatabasen til en ubegrµnset konfiguration. Hvis du vil k°re i ubegrµnset tilstand, skal du k°re handunsf.reg.
Yderligere oplysninger om brugen af funktionen Customization Handler i RDS finder du i den tekniske artikel "Using the Customization Handler Feature in RDS 2.0", der kan hentes pσ http://www.microsoft.com/data/techmat.htm
4.5 Metoden Find s°ger i et postsµt i den angivne retning fra den aktuelle rµkkeposition efter den post, der opfylder de angivne kriterier. Hvis ingen aktuel rµkkeposition er angivet, f°r Find kaldes, opstσr der en fejl.
4.6 For at bruge ADO FetchProgress og FetchComplete Events med Visual Basic krµves mindst Visual Basic version 6.
4.7 F°lgende handlinger anses for "sikre" at bruge i Data Shaping CALC-udtryk:
4.8 ADO 2.1 underst°tter ikke vedvarende hierarkiske Recordset-objekter i XML-format.
4.9 Du kan ikke opdatere data i et skrivebeskyttet postsµt ved at gemme dataene i XML og redigere XML-filen. En fejl opstσr, nσr du fors°ger at σbne postsµttet igen fra XML-filen, hvis XML-dataene er blevet µndret.
4.10 Hvis du bruger adUseClient eller etablerer fjernforbindelse til SQL Server 6.5 Service Pack 4, ignoreres brugen af n°gleordet DISTINCT i foresp°rgsler i forbindelse med resultatsµt, der kan opdateres. Dette er et problem med SQL Server og b°r l°ses i en fremtidig servicepakke.
4.11 De DataTypeEnum-vµrdier, der er angivet i emnet Type Property i ActiveX Data Objects Programmer's Reference, indeholder fejl. F°lgende enum-vµrdier er angivet, men findes ikke og kan ikke bruges:
adArray, adByRef, adVector
F°lgende vµrdier mangler pσ listen, men findes og kan bruges:
adChapter En kapitelvµrdi pσ 4 byte, der bruges til at identificere rµkker i et underordnet rµkkesµt (DBTYPE_HCHAPTER).
adDBFileTime En filtidsvµrdi (DBTYPE_DBFILETIME).
adFileTime En 64-bit vµrdi, der reprµsenterer antallet af intervaller pσ 100 nanosekunder siden 1. januar, 1601 (DBTYPE_FILETIME).
adPropVariant En automatiserings-PROPVARIANT (DBTYPE_PROP_VARIANT).
adVarNumeric En numerisk vµrdi (kun Parameter-objekt).
4.12 Listen med gyldige vµrdier for parameteren Options i metoden Execute i Connection- og Command-objekter indeholder fejl. F°lgende ExecuteOptionEnum-vµrdi er fejlagtigt angivet to gange. Den skal vµre angivet en gang:
adCmdTable Angiver, at ADO skal evaluere CommandText som et tabelnavn og generere en SQL-foresp°rgsel til at returnere alle rµkker fra den tabel, der er navngivet i CommandText.
F°lgende CommandTypeEnum-vµrdi mangler pσ listen, men findes og kan bruges:
adCmdFile Angiver, at provideren skal evaluere CommandText som et filnavn.
F°lgende ExecuteOptionEnum-vµrdier mangler pσ listen, men findes og kan bruges:
adAsyncFetchNonBlocking Angiver, at hovedtrσden aldrig blokerer under hentning. Hvis den anmodede rµkke ikke er hentet, flytter den aktuelle rµkke automatisk til slutningen af filen.
adExecuteNoRecords Angiver, at CommandText er en kommando eller gemt procedure, der ikke returnerer rµkker (f.eks. en kommando, der kun indsµtter data). Hvis der hentes rµkker, kasseres de og returneres ikke. Kombineres altid med adCmdText eller adCmdStoredProc.
4.13 Listen over QueryType Enum-vµrdier for metoden OpenSchema i et Connection-objekt indeholder fejl. F°lgende vµrdier mangler pσ listen, men findes og kan bruges:
Enum Begrµnsningskolonner
adSchemaDBInfoKeywords ingen
adSchemaDBInfoLiterals ingen
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
Trµoperator (se herunder)
Bemµrk, at de sidste syv Enum-vµrdier (adSchemaCubes til adSchemaMembers) b°r bruges med flerdimensionale dataprovidere. Yderligere oplysninger, herunder definitionen af trµoperatorbegrµnsningen for adSchemaMembers, finder du i OLE DB for OLAP Programmer's Reference.
4.14 AffectEnum-vµrdierne angivet i metodeemnet CancelBatch i ActiveX Data Objects Programmer's Reference indeholder en fejl. F°lgende vµrdier mangler pσ listen, men findes og kan bruges:
adAffectAllChapters Annullerer ventende µndringer for alle kapitler.
4.15 Vµrdien adModeShareDenyNone ConnectModeEnum er ukorrekt beskrevet i egenskabsemnet Mode. Den b°r angives som herunder:
adModeShareDenyNone Tillader andre at σbne forbindelse med alle tilladelser. Hverken lµse- eller skriveadgang kan nµgtes andre.
4.16
Egenskaben Index returnerede tidligere en fejl, hvis der ikke var indstillet et indeks pσ Recordset-objektet.
Fra ADO 2.1 i MDAC 2.1 Service Pack 1 returneres en tom streng, og egenskaben udf°res korrekt.