----------------------------------------------------------
Microsoft(R) ActiveX(R) Data Objects version 2.1 Ūɮ
----------------------------------------------------------

(c) 1998 Microsoft Corporation. All rights reserved.

󴣨 Microsoft ADO U̷sΨ䥦TC

-----
e
-----

1. ~
   
2. s\
2.1 jMP
2.2 ƦCsPPBBz
2.3 Microsoft OLE DB Persistence Provider
2.4 Microsoft Data Shaping Service for OLE DB
2.5 Microsoft OLE DB Remoting Provider

3. ޳N`Nƶ
3.1 wʼWj
3.2 ʧ@~覡 Behavior
3.3 ۭqwʳ]w

4. wDBBѨMkHγ̷sU`Nƶ

------------
1. ~
------------

ActiveX Data Objects (ADO) OΩsƪ۰ʤƤCADO |ϥ
OLE DB ӦssxƨӷA]AzL ODBC ѪơC

] ADO ]pOڭ̬ooǤg窺GAҥH RDO P DAO 
ϥΪӫܧ֦aN| ADO {]pP캡NC

Microsoft Remote Data Service (RDS) O ADO Aѧ֮ĦĲv
ƳsʥHθƵo[cA Microsoft Explorer ε{
ΡCOHDq[cB޳N¦AiHΩ HTTPBHTTPS (HTTP
over Secure Sockets Layer)AH DCOM ε{qTwCRDS ϥ
iHƪ ActiveX A Microsoft Visual Basic (R) 
Ʀs{]pAѻݭnBjqBzƤε{ Web
oHAΩ~ (intranet) M InternetC

----------
2. s\
----------

ADO 2.1 ѬoHhӷs\C

2.1 jMM
jMkPݩʷ|sW recordset ƦCֳtBޤ
mC

2.2 ƦCsMPBBz
s "row fix-up" ҦiHϥΪ̦ۭq JOIN @~إߪ 
recoreset ƦCsMPBBzC7 ӷsʺAݩʥi 5 
Ӳ{k@~覡C

2.3 Microsoft OLE DB Persistence Provider
Microsoft OLE DB Persistence Provider X Recordset 
Save M Open kAixs recordset M^_ɮסCb
Arecordset iHxs Extensible Markup Language (XML) 榡A
oO@ةwqϥΪ̯SwаOзǤkAiHƶǰe InternetC

2.4 Microsoft Data Shaping Service for OLE DB
Microsoft Data Shaping Service for OLE DB 䴩 Data ShapingA
{biHG

2.4.1 sΦ (Re-shape) ewΦ recordsetCn䴩\A
recordsets {bsu|sb Name oݩʡC

2.4.2 ֭pbhŧΦ recordset AȥuOWhݪUh
ӤwC\|ϥΧ㪺`W١AͧƱ椧hMƦ檺|C

2.4.3 ѼƤƪ COMPUTE OiHb PARAMETER lyMѼƤ޼ƤA
Nƥتzw COMPUTE lyC

2.5 Microsoft OLE DB Remoting Provider
Microsoft OLE DB Remoting Provider ܦзǪAȴѪ̡A|nDW
sʺAݩʡAHKojƪįBϥΪ̧KBiHM ADO 2.0
^ۮeC


----------------
3. ޳N`Nƶ
----------------

3.1 wWj

]A ADO M RDS 󪺼WjwʡAҥH Internte Explorer
b "w" ҦɡA@~|QC

3.1.1. ϰ
ziHb Internet Explorer 4.0 P "ϰ" ]wPwʡA
HKۭqoǰϰ줺 ADO/RDS 󪺧@~覡CUCOb Internet
Explorer 4.0 wq 4 ӰϰG
*  Internet ϰ
*   intranet ϰ
*  xϰ
*  Hxϰ

3.1.2. wʼh
ziHbC@Ӱϰ줤]wnϥΪwʼhCUCObCӰϰҰʪ
wʼhG
*  
*  
*  C
*  ۭq

M䥦 ActiveX @ˡAF ADO/RDS iHb Internet
Explorer 4.0 @ΡAwʼh]w ""  ""C"ۭq" OΨ
]w ADO/RDS ӦbwΫDwҦU@~C

3.2 ʧ@~覡

Nw]ȦөwAInternet Explorer  ADO/RDS Dw@~A|ɭPϥ
̦bs "ݨHϰ" ɡAܨϥΪ̡CNw]ȦөwAq 
"ʯxϰ" JAN| ADO/RDS WDw@~C
UCԭz ADO/RDS boǼҦUɪ@~覡G

3.2.1 w
UCQP "w"Coܦb 3.2.3 ԭzDw@~A
|\bwҤU (ҦpAInternet Explorer w]ȡFD "ۭq" 
oӿﶵQΩbDwҦ)AOiHbDw (ҦpAVisual Basic)
UC
a. RDS.DataControl object
b. RDS.DataSpace object
c. ADO Recordset object

3.2.2 Dw
UCQP "Dw"C̦bwҤU@~ɡALkζإ
HδѵϥΪ̡C
a. RDSServer.DataFactory 
b. ADO Connection 
c. ADO Command 

3.2.3 wWDw@~
UCb "w"  -- RDS.DataControlBRDS.DataSpaceBADO Recordset
WQPDw@~Coǧ@~Q\bwҰAOiHbDw
ҰC

a. RDS.DataControl
i) Ҧb RDS.DataControl WhH DCOM CoܱzLk
s쥻ƮwAӥBpGAϥ DCOM qTwA]Lks
حƮwC
ii) zL HTTP Th@~|QUӷACo 
RDS.DataControlAll W Server ݩʥUӷDq
W (http://server)C

b. RDS.DataSpace
i) Ҧ RDS.DataSpace WhM DCOM CoܱzLkϥ
RDS.DataSpace өIs business AΪ̳zL DCOM q
TwIs bussiness C
ii) ҦzL HTTP Th|QUӷACo
DataSpace WACreateObject kĤGӰѼơAVU
P@ӦAC

c. ADO Recordset
i) bѪ̤O MS Remote aإ߳suC]surꪺ}YO
"Provider=MS Remote"Csurꪺ "Remote Server" аO]PU
ӷAW٬ۦPChM DCOM suQ\C
ii) Local Persistence @~NON recordset xsɮרt (filesystem)A
Mqɮ׶} recordsetC

3.3 ۭqw

ADO/RDS @~覡O "_l ActiveX Хܬw" ﶵ]w
ӱCziHܧSwϰ쪺wʼhCintranet ϰ쪺 "_l ActiveX
Хܬw" w]ȦpUG
wʼh = 		 = ""
wʼh = 		 = ""
wʼh = C		 = ""

pD䥦wϰ쪺w]ȡAаѾ\ Internet Explorer UC

ܧwʼhAN|ܧ_ ADO Recordset bs
@~覡CpGQҰʫDw@~AQC@~ɴNQqܡA
hTNWzﶵȳ] "Ұ"Ct~]Ъ`NG
pGb ADO Recordset WDw@~ (ҦpN Recordset
xs쥻ɮרtΪɮ)AO ADO Recordset Oq RDS DataControl o
ܡANNWzﶵȳ] "Ұ"C"" ]wȥ\M Recordset 
 (q RDS.Datacontrol o)  "" @ˡC

ziHWzﶵۭqȡAܹw]ȡCziHMwDw
@~ (pWҭz)AΪ̫wɭ԰@~ɴNĵiAΪ̱Ұ
@~ӤĵiCziH]wPwϰ쪺ۭqȡCzϥΤUCBJ
ӦۭqSwwϰ쪺wȡG

`NGаOҰ "_l ActiveX Хܬw" (UBJ 5) ɡA
Nܤ\ ActiveX  (LצwΫDw)AQϥΦb Web  
(pi|yϥΪ̾Sγ~} scripting {X)C
ĳzub "intranet"  "Hx" wϰAӤOb "Internte"
ϰo˰C

1. b Internet Explorer 4.0  [˵] \ [Internet ﶵ]A
 [Internet ﶵ] ܤC [w] ҡC
2. q [ϰ] UԲMܭnۭqϰC
3. ҿ諸ϰ [ۭq]Co˷|Ұʹܤ []w] sC
4.  []w]  [wʳ]w] ܤC
5. pGQҰ ADO/RDS WDw@~ (p 3.2.3 ҭz)A
QܥĵiAЦb [wʳ]w] ܤ [_l ActiveX 
Хܬw] ﶵ [Ұ]C [Tw]C
6. pGɭԦb ADO/RDS WDw@~ (p 3.2.3 ҭz) 
nĵiAЦb [wʳ]w] ܤ [_l ActiveX 
Хܬw] ﶵ []C [Tw]C
7. pGQ ADO/RDS WDw@~ (p 3.2.3 ҭz)A
Цb [wʳ]w] ܤ [_l ActiveX 
Хܬw] ﶵ []C [Tw]C
8. ݭnɽЭƳoǨBJA䥦wϰۭqw]wȡC
9.  [Tw]C

{b ADO/RDS |bwۭqҦ@~Coǳ]wȷ|vTUC 
ADO/RDS @~覡 (p 3.2.3 ҭz) -- }ҪhsuFb DCOM
@~BsuUlӷH~ABxsM}ҥɮת 
recordsetC

pGzNۭqﶵ] []Ahb ADO/RDS Dw@~ɡA
N|ܤUCĵiG

"eOq䥦}WƨӷsCz\o˰?" ϥΪ̥iH^
 [O]  [_]CpG^ [O]A@~|ApG^ [_]A@~
N|ѡC

------------------------------------------------
4. wDBBѨMkHγ̷sU`Nƶ
------------------------------------------------

4.1 ѩtΨtΤ䴩AҥHb RDS ظmΤݥثeQ䴩C

4.2 إ "A" ɡAݭnUCB~BJA~NA
]wiHP RDS @P@~G

A) ]wAɭԡAп [\ɦs]C
B) N msadcs.dll  vroot\msadcA䤤 vroot OADؿC


4.3 b IIS Aϥ RDS ɭԡAC@ӳBzإߪƥءAiHz
L Web Atεnӥ[HCC@ӳBzƥط|vT
yq۷jpάyqCdߤjpܤjɡApUįCϥΪ
ӸgLǫεGCSwnվ㪺ȬG

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCThreads

䤤 ADCThreads OϥΪ̷sW REG_DWORDAĭȽdO 1  50Aw]
O 6CpGtεnXwȤj 50Ah|ϥγ̤j 50CϥΪ̤إ
oӨtεnȡFNw]ȦөwAä|N[tεnC

4.4 Nw]ȦөwAADO | "w"  RDS Server DataFactory պAwˡC
RDS Server 󪺦wҦܤUCu:

	1. DataFactory ݭnBz`
	   (oѨtεnX]w)

	2. ݭnڭ̪w]Bz` - msdfmap.handler ܦbwBz`
           M椤AХܬw]Bz`C

	3. Msdfmap.ini ɮ׬Ow˦b Windows ؿCzbĤThҦϥ 
           RDS eAھڱzݭn]wɮסC

ziHp]w DataFactory wˡCDataFactory iHϥΤݭn
ۭqBz`CϥΪ̤MiHקsrӨϥΦۭqBz`ALûݭno
˰C

ڭ̤wgѨtεn handsafe.reg ӳ]wwպABz`tεnءC
nbwҦUAа handsafe.regC 

ڭ̴ѤFtεn handunsf.reg ӳ]wʲպABz`tεnءC
nbʼҦUAа handunsf.regC

pϥ RDS ۭqBz`ԲӸTAаѾ\޳N峹  "Using the 
Customization Handler Feature in RDS 2.0"A}O 
http://www.microsoft.com/data/techmat.htm

4.5 Find k|ӫwVAqثeƦC@jMŦXw 
RecordsetCYbIs Find e]wثeƦCmAN|oͿ~C

4.6 nb Visual Basic ϥ ADO FetchProgress H FetchComplete EventsA
ܤ֭nw Visual Basic version 6C


4.7
UC@~|PiH "w" Ω Data Shaping CALC B⦡G

AbsBAscBAtnBCBoolBCByteBCCurBCDateBCDblBChrBChrBBChrWBChr$B
ChrB$BCIntBCLngBCosBCSngBCStrBCvarBCVDateBCVErrBDateBDate$B
DateAddBDateDiffBDatePartBDateSerialBDateValueBDayBDDBBErrorB
Error$BExpBFixBFormatBFormat$BFVBHexBHex$BHourBIIFBInStrBIntB
IPmtBIRRBIsDateBIsEmptyBIsErrorBIsNullBIsNumericBIsObjectBLCaseB
LCase$BLeftBLeftBBLeft$BLeftB$BLenBLogBLTrimBLTrim$BMidBMid$B
MinuteBMIRRBMonthBNowBNPerBNPVBOctBOct$BPmtBPPmtBPVBQBColorB
RateBRGBBRightBRightBBRight$BRightB$BRndBRTrimBRTrim$BSecondB
SgnBSinBSLNBSpaceBSpace$BSqrBStrBStr$BStrCompBStrConvBStringB
String$BSYDBTanBTime,Time$BTimerBTimeSerialBTimeValueBTrimBTrim$B
TypeNameBUCaseBUCase$BValBVarType BWeekdayBYear

4.8 ADO 2.1 䴩 XML 榡Od~Ӧ Recordset C 

4.9  zLkNxs XMLAMs XML ɮסAǦsŪ Recordset
ơCzQs} XML  RecordsetAO XML ƤwgܧɡA
N|oͿ~C

4.10 b SQL Server 6.5 Service Pack 4 ϥ adUseClient λݥ\ɡA
bdߤϥ DISTINCT rLkbisGQBzCoO SQL Server
DA|bH᪺ service pack ѨMC


4.11 b ActiveX Data Objects Programmer's Reference @Ѥ Type Property 
DDUҦCX DataTypeEnum Ȧ@ǿ~C䤤CXUC enum ȡAO
ꤣsbBLkϥΡG

adArray, adByRef, adVector

UCȨSCM椤AOsbBiHϥΡG

adChapter     O 4 줸ժ chapter ȡAΩѤlƦCƦC 
		(DBTYPE_HCHAPTER)C

adDBFileTime  Oɮתɶ (DBTYPE_DBFILETIME)C

adFileTime    O 64 줸ժȡANq 1601 ~ 1  1 _ 
		100-nanosecond ɶjƥ (DBTYPE_FILETIME)C

adPropVariant O Automation PROPVARIANT (DBTYPE_PROP_VARIANT)C

adVarNumeric  Oƭ (ȾAΩѼƪ)C

4.12  Connection P Command  Execute k Options ѼƦĭȲM]t
@ǿ~CUC ExecuteOptionEnum ȦCX⦸OTCӥuCX@AҦpG

adCmdTable     ADO p CommandText ұoƪW١AB SQL 
dߡAǦ^ CommandText ҩRWҦƦCC

UC CommandTypeEnum ȨSCMAOTsbBiHϥΡG

adCmdFile     ܴѪ̭p CommandText ұoɮצW١C

UC ExecuteOptionEnum ȨSCMAOTsbBiHϥΡG

adAsyncFetchNonBlocking   ܷioɡADû|Q_CpG|
onDƦCAh|۰ʱNثeƦCɮתݡC

adExecuteNoRecords         CommandText OOάOǦ^ƦCws{ 
(ҦpAuJƪO)CpGƦCAN|QåB|^ǡC@w
OP adCmdText  adCmdStoredProc ftϥΡC 

4.13 Connection  OpenSchema k QueryType Enum ȲM]t@ǿ~C
UCȨSCM椤AOsbBiHϥΡG

Enum			

adSchemaDBInfoKeywords	L

adSchemaDBInfoLiterals	L

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
			TعBl (аѨUC)

`N̫C Enum  (adSchemaCubes  adSchemaMembers) ӻPh
ƨ̷ftϥΡCYݦ]A adSchemaMembers TعBlwq
ԲӸTAаѨ OLE DB for OLAP Programmer's ReferenceC

4.14 C ActiveX Data Objects Programmer's Reference @Ѥ CancelBatch 
kDD AffectEnum Ȧ@ǿ~CUCȨSCM椤AOsb
BiHϥΡG

adAffectAllChapters     Ҧ chapter mܧC


4.15 b Mode ݩʥDD adModeShareDenyNone ConnectModeEnum ȱԭz
TATԭzO:

adModeShareDenyNone	\֦vH}ҳsuC"Ū"  "gJ" v
Ҥ|QLHڵC

4.16 eYSb Recordset W]wޡA[] e|Ǧ^~TC
MDAC 2.1 Service Pack 1  ADO 2.1 |bpUǦ^ťզrAåi\
Bz@~C



