PK 0Coa,mimetypeapplication/epub+zipPK0CiTunesMetadata.plistz artistName Oracle Corporation book-info cover-image-hash 10487210 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 310557484 publisher-unique-id E38358-02 unique-id 88932177 genre Oracle Documentation itemName Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide for Windows, 12c Release 1 (12.1) releaseDate 2013-07-31T15:27:54Z year 2013 PKXEPK0CMETA-INF/container.xml PKYuPK0COEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPK0C OEBPS/toc.ncx0 Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide for Windows, 12c Release 1 (12.1) Cover Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide Copyright PKU*iHPK0COEBPS/content.opf  Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide for Windows, 12c Release 1 (12.1) en-US E38358-02 Oracle Corporation Oracle Corporation Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide for Windows, 12c Release 1 (12.1) 2013-07-31T15:27:54Z Enables ADO.NET data access from .NET client applications to TimesTen databases. This document covers features specific to ODP.NET support of and use with TimesTen. PKH&s PK0COEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_ğ<+F; sU%ԑ >,BH(uSU ^.w$y-9lpoc'sp*Gvt ZEz֋qo5¨ 0 1_*~J+͡[|_i&y7&yXکقś?x[n]n2#RGݜǼq_6˛9~%xy#Dэ*_k-=roN>\} d`H x>U.(RÌ\.vO:v>$HTȪ# 9>WA~#BÞYfyah#A|HB. B<GA-c|Zƃ#\,7ٛ{Ae,TQ^gj0RҼk[~kXaJC?DN,4]k񽯅SyKjB0ht3rrBz%Sյ(tmTY +y.$X,U$ z7";R]C|Bw}1\}/:Ωo1n>!H" 0IBs:!u(uTY x#Y 0ßlw"TIF2}Լg!?G9Qk$hڱ@D($P1׃ƚ^MsW]wu _koVK{mi苽wt#WG䜚J+^ҵCpYvM:7}BqͻR1^j7>6,5%- 2>aEW#8O4h=b 'I~}>./̛c O&v<$?lxoƟ2Y3=/dF_;S#l6rV?$:Dt|Ro4'YE2nڥ,<(7%5bK&+"!%NA,MkpjN˪oEw-~T98 ặXTeu# 8 sTt=/N-l LH"Ԧ(s09ݜ9'93g84 Zr4׼Un$i+5I1U~pNL SՃnI#eI `p(c@%>K(#Vy/Sm,2T$sFJ`dֺ x,#;[ud9OzO'UZME _Nɏ~o㧿Z +Y}icמ o-{cŵ%'s s e^xMxM l#'06Ttu+!wsjF#y\"JOd^xNqNMo,`6nTFP18=Bo◃|9OEYn 9T A):Ѵ zAT,H e @z`~Wn ?JwTx;KYY\-%'Aӣ8Q^G|F kͤ:֗{).lIn'oymcqO3K.}il&-G1-!;N;`l EPEPEPEPEPEPEPEPEPZg8KgjմA`[m<~'R>ZE}&Bmm=nʫ_I>z%~-е?:o4"\xOYV" c*x %k_E|O[;H-'ͽv+\ʌ cgbX0Q@goxSĺ͂xZ;/TeMJ8QLW'aH gki4o|DV\kص9.VlLX*5h^$XΡwOvVpʟz`=\j>#qi:M/|n21O& (?Q?/?zFsc޻ (~xƞX5-ōޙ3*-ձ}#rN8^Ğ7OlѠRH.)v-"mI$^#: D<⇆QuSzdw=ƍ~LBY728z4斲Ncj2r!(O>Q@gx3_Cچ$px6HZϵQ%p #!?\gw~Ҵ;X_G2Ey+~t24}vgday7? 2qzeWk#x^@]-O-J@)m<9w?gP%=GO±Ej7[[~wBp;aExx[|'ڌIkZ cNx; )Knݍq"Zke}΃qQ~g?5PxWڷ?_wy ^(q9G-QÍ[Im}?ŽSvّ,@y5Q@aPq%k[Ȁ2[L)"Fs[P|PK𦛨^*nG4;Cdn @Tt%6i;]ܐHԐ1PpIA (o ^7.c't8l,NF==K"4y#E}‰,LsH\y &mOXOh 縗Sm "*SȮŠ;zoek!Fc[ɨMkwx# ǀ2 WQ@&Ѭm"xI#R# <銧O兜~e֟q ) ѰQ#lQ@<^GZ̛zW/g/E?w>t}~=}װQ@-QÍ[Im}?ŽSvّ,@y4|R58մ&>\[7m']~;-ޫ[znqknmtR$hٔq 1㑒`[OԿ#O{~. 2D%I8u""x6si׿ 47ԥC\%' ,jG2\x>ͧh6Wr^OooR\ɝ2I9$g([j>q:ȷ3I{_j^ - MiY. p'R49<sUW(+<3k?*zn{qV20$Y28څ9ôuOZ&?'ˋz#X8k ( ( ( ( ( ( ( ( (<nO#kƵkx"QJ䱑Pꄍ~@8܀dSnY3w%t]4?m=2CθG>r'%Ujm<Ӿ}ax&o*dF+`8&5O 3>5_iSV'c;o଍|*_iU "&pnp$Ndm{ly}|[/JM$Y>[9P [cGOW5k:S CTaVdV,F7↸e#HS|D_>-Liqg7_9JH?Aa% ՊkhȠBI |Oi?ľ$^iZ.O)Hcxc8B*P .KAۅ W $Z FTnH#3 w ~74[VѾ}?KvٝG  <)w}PMwIiWo"-D2|WO/o/sƓȾ33P]-/6Ӯ4:Qj3gR`e%Nd@Ɠj?~{&6گang'dω#gMwDf% w7*h9ц2gA t>bxl-PySY-ޑgvt/R}FhmR2xDoh>#Liog7!GCoL:-ïZIn6^i#YX $U*W)~ӝ5;./ _+I}e8b| sO@x[)Hb}7S^\2ʆ*NNݴ+iӤPӬdmԯ,r$Ԗu$s_d^{vÚƹ}P70wP""eR7g8 5xVӣg20KK )YwJԠwYjr4Ȁ!g$+/G#]s@|&0wvs~,tA;clt׶{bfWj@2Neiv4Ϩ , ($,@> rH؈G*1]1^JeFE\2}[+I!Zam.&ʵ 1sp^OŸ ,Am}ey_70۹YH?gx[oK`yv3l6vՏm?Q0u/ odIVP3FFO ؿ04N?goqwV<[;◇#R|D|hұ8 /ˑ;|BDͿ-t+=||q'S\|Wh|i/quxv?ſWOIֻ [ӼGi7hw.MX#G"+}k~_h/roၿzL (۠(և|oqk^4)n#r("dy#,0 P_|k|Ld/'C4)!(!u`U>$ fѼMuh[XYRMtI# rp%,-V#hީA ~[w Y^$q(YE$pGk(y= O_YIJߟv(A=:g 5 SGNMm5ՊpːJA^g߇,mcV|3DFӄнA2++~RHݘEu -_Upni^.'ypp\yQEQEQEQEQEQEQEQEQEQEQEQ\^W%o xQ"\jʙUU^ e¾ #<}67>(v*Esg-vml@29d˸QYzޝciMK$[Z~@9[Ӭu;I}ydc3]<Er;Z&==k,3N} cj9&.w ')"ɹcF$HxuWV&kKb*',zI |SNO4rCU2*bHŽOvQ^/?xNƺΕ[H2ۛ$2,ڣvNt]գt/b7H88kB>>"9tn&`#PK2#5+X]iHP*^3 S\0,i|#:Nu}}PWib`CV%o5 9xm j) ~Luώ<5E5}^ +7& 7D )e8QX~ yu( (Hʰ`|E&kp[_&﻽*Fs@E/զmUp/Fʢ!@$lx?k֚I)5dad+ #ȠŠӿ!GL#c߳vmc9+C{iڇhɑvlp p @^Y7Z"19cmId x/Bգ$f7 $g(#S8b .&r f[$Qg Tn*6z>C.RN+?{g5Zgt [j'Q\}?5޿W!LrG8i''0kcXVijZlRdv|~\ +׏/-Z;@Fcxi8Fq}QcZ @$b9PYEgk^ɭ_ }PiR39ssX^=[{W߂~Up `)'nqQEy!/g,a/A}mC$Bt QEQEQEQEQEQEQEQEQEQEQEQEQEwѮCI/}6bF "ǁ!$99`_=.mm<] xR-Hn[*$`܀zzf3YaA{j;&L$OUl#<o 5Ӵ0QIA F`a  ſ/<ą hQTsܱG'3=Yc3j.Z )#{>k%JU#GBk/IuO4H-3#>s8$ xq|ai>vc1jǃ>A?|os6qDӬuGV}y_k{3]8?/x]r_i74n`; =s=y<)=?wO3s|خ^ e]ZIqV<2I*(Iz#F6V1i J%I <o~wmdg8l۟qq@y|Egzghu//+rcyk8'3ހ<w'>9oڳ;9_+ng쿌ȹF'w٤{o1L/|/.5&;B$xi9(q!m,cI6lm609g$sh/ōÐ|3$sϫ3lu^Lӭ,mbHaME(֬P O?m)3?=Ǩ䬻7LGCƿ!'5]:{/H?Waeѭ2-웶aʐG  g -Q2<tb_0c$rMpz_m#/i,"o,g#^晠m x@w 98+=W9xKm7Zи}JaЫ)OQG\Oqi1:C#Av$ 1  ͜7pIuk[WrW#b? CΪ]jy4CcO@5/m=:?2'dF`C FA=(Sn m~\E n%n(ӫ;N$rнr5~״.SҼ]./&>*Iʰ'^@=ዋpA,^Mxt`տCIBzGw4'KoOS;s] մnTϷr<3x$r+Sľ#yRx'ym"h%BG"WR0A4ab@ `yA5^LR\G9V` 1 `xv}ό?ۿ>|gns89tWo躥aƗvϾ'y+v;]88#+4cQխ_j^WjpNgxØ\jW owrtX7s 㓒y&<^%jVV6:,΍k|3&ԍe  R χjp).#0FY0]n;EzDNs.}>]<"xU 6 q\.oXh1ݳyd ݎb2: +)̕c]^\=jz]]JLknv$| zPqEco7t,4;?Z)y2N\G[QEQEQEQEQEQEQEQEQEQEQEQE[m sH%v+yV <0*ÓpkC~)n&ypR]#r/68'Tۺ uސ)60 'w2Q9ac _w%‚q(Ua_ ?J/fӮ t[xEz휑ybSWx/m.y4lnU$!\p 9=F ܿNwQ #\U7''k~gV{9'ےNI(7\|Cþ#ҭ#J:1Z3$@c>`JV.u};ur}l97'CciS|fTۺ P:5n,F+` 5r ?J (((((((((((((((((((((((((((((((gj7džG[Fm|ydw`+Qx M_kW*wcszdAEpegIl"Iysnw/ell6I4H$r|f(ãh:]HY[oHAbA8gU((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKFkkPK0COEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPK0COEBPS/dcommon/darbbook.cssPKPK0C!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PK0COEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PK0COEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PK0COEBPS/dcommon/cpyr.htm Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2013, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKSPK0COEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PK0COEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPK0COEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PK0COEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PK0COEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PK0COEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPK0COEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK0COEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PK0COEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPK0COEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PK0COEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PK0COEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PK0COEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPK0COEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PK0COEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PK0C OEBPS/toc.htm Oracle® Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide

Oracle® Data Provider for .NET

Oracle TimesTen In-Memory Database Support User's Guide

12c Release 1 (12.1) for Windows

E38358-02

August 2013

Oracle Data Provider for .NET (ODP.NET) is an implementation of the Microsoft ADO.NET interface. ODP.NET support for Oracle TimesTen In-Memory Database (TimesTen) provides fast and efficient ADO.NET data access from .NET client applications to TimesTen databases.

This document covers only those aspects of ODP.NET that are specific to its use in a TimesTen environment and uses the term ODP.NET for TimesTen to refer to ODP.NET support for TimesTen.

For general ODP.NET and related API information, refer to Oracle Data Provider for .NET Developer's Guide.

You can use ODP.NET with any of the following TimesTen installations:

  • TimesTen Data Manager only (for direct connections)

  • TimesTen Client only (for client/server connections, assuming a TimesTen Data Manager instance and TimesTen Server instance are accessible elsewhere)

  • TimesTen Data Manager with TimesTen Server and TimesTen Client (for either direct connections or client/server connections)

This document covers the following topics:

There is also a Documentation Accessibility section at the end of this document.

Initial considerations for ODP.NET in a TimesTen environment

This section discusses points you should be aware of before starting to use ODP.NET with TimesTen, covering the following topics:

Environments and TimesTen releases supported by ODP.NET

This revision of the document is for TimesTen support of the ODP.NET 12.1 release.

Note the following:

  • You must have a TimesTen 11.2.2 release to use ODP.NET 12.1 with TimesTen. See "ODP.NET namespace and class support with TimesTen" for details of supported namespaces and APIs. ODP.NET 12.1 is available in corresponding Oracle Database or Oracle Data Access Components (ODAC) releases.


    Note:

    TimesTen release 11.2.2.4.0 or higher is recommended.

  • As of this release, ODP.NET for TimesTen can be used in the following environments:

    • ODP.NET for .NET Framework 2.0 with Microsoft .NET Framework 3.5 SP 1 or higher

    • ODP.NET for .NET Framework 4 with Microsoft .NET Framework 4 or 4.5

  • ODP.NET for TimesTen can be used on all Microsoft Windows 32-bit and 64-bit platforms that support TimesTen. The 32-bit version of ODP.NET must be used with a 32-bit instance of the TimesTen database or TimesTen client. Likewise, the 64-bit version of ODP.NET must be used with a 64-bit instance of the TimesTen database or TimesTen client.

Support for .NET-related features

ODP.NET for TimesTen supports a subset of features currently available in ODP.NET for Oracle Database. In particular, as of this release, it supports the following features:

  • ODP.NET connection pooling

  • ODP.NET tracing

ODP.NET for TimesTen does not currently support these features:

  • ADO.NET Entity Framework object relational mapper

  • LINQ (Language-Integrated Query)

ODP.NET for TimesTen does not currently support interoperability with the following Oracle Database client components:

  • Oracle Developer Tools for Visual Studio

  • Oracle Database Extensions for .NET

  • Oracle Providers for ASP.NET

Requirements and prerequisites for using ODP.NET with TimesTen

Note the following requirements to use ODP.NET for TimesTen:

  • You must install TimesTen Data Manager or TimesTen Client or both on your system. TimesTen is not provided with ODP.NET or OCI.

  • PL/SQL must be installed and enabled. It is installed by default during TimesTen installation. It is also enabled by default, or can be enabled through the first connection attribute setting PLSQL=1 or the ODBC Data Source Administrator.

  • ODP.NET 12.1 for TimesTen depends on Oracle Call Interface (OCI) support for TimesTen and requires the version of OCI that is provided with ODP.NET 12.1 releases, not the version provided with TimesTen.

    Also see "Post-installation path considerations".


    Notes:

    • For reference, the OCI version provided with TimesTen is under the tt_install_dir\ttoracle_home directory, where tt_install_dir is the TimesTen installation root directory. Do not use this version for ODP.NET applications.

    • Of course there is no issue in using the TimesTen version of OCI for OCI or Pro*C/C++ programs that do not use ODP.NET.


  • Requirements for the execution environment to use ODP.NET with Oracle Database apply to using ODP.NET with TimesTen as well. Refer to Oracle Data Provider for .NET Developer's Guide for information.

Related documents

Some of the preceding discussion refers to documents in the Oracle TimesTen In-Memory Database and Oracle Database documentation libraries.

TimesTen documentation is available on the product distribution media, and on the Oracle Technology Network at the following location.

http://www.oracle.com/technetwork/products/timesten/documentation/

Oracle documentation is also available on the Oracle Technology network, at the following location.

http://www.oracle.com/pls/db121/homepage

What's new

With this release, ODP.NET for TimesTen now supports the following features:

  • Access to TimesTen CLOB, NCLOB and BLOB SQL column types: These SQL types can be accessed using the GetOracleClob and GetOracleBlob methods of OracleDataReader objects. For important additional information, refer to "Support for LOBs".

  • Associative arrays (formerly known as index-by tables or PL/SQL tables): These are supported as IN, OUT, or IN OUT bind parameters in TimesTen PL/SQL and can be used from an ODP.NET application in a TimesTen environment (as previously supported from OCI, Pro*C/C++, and JDBC applications in TimesTen). This enables arrays of data to be passed efficiently between an application and the database.

  • .NET Framework 4.5 environment: Also refer to the "Environments and TimesTen releases supported by ODP.NET".


Note:

New features listed in the "What's New" section of Oracle Data Provider for .NET Developer's Guide apply to Oracle Database, not to TimesTen. (Regarding ODP.NET 12.1 new features for character data type support, however, refer to "Support for VARCHAR2, NVARCHAR2 and VARBINARY data types".)

Getting started with ODP.NET

This section discusses the following topics to help you start using ODP.NET. Note that installation steps are not TimesTen-specific.

Installing ODP.NET

This section covers the following installation:

The installation process for ODP.NET is independent of the TimesTen environment. Nothing is installed into the TimesTen installation directories.

Refer to Oracle Data Provider for .NET Developer's Guide for additional information about ODP.NET installation, including associated Windows registry entries.


Important:

  • To use ODP.NET for TimesTen, ODP.NET should be installed on the same system as TimesTen Data Manager or TimesTen Client. See "TimesTen Installation" in Oracle TimesTen In-Memory Database Installation Guide for installation information. In addition, a TimesTen DSN must be configured. Refer to "Specifying Data Source Names to identify TimesTen databases" in Oracle TimesTen In-Memory Database Operations Guide for information about setting up a DSN.

  • It is recommended, but not required (unless otherwise noted), to remove any previous versions of ODP.NET before installing a new version.

  • After you have completed the installation steps, the location of ODP.NET binaries varies depending on your type of Oracle product installation and version of .NET. Consult Oracle Data Provider for .NET Developer's Guide and the ODP.NET README file for information.


Install ODP.NET as part of Oracle Database 12.1

Use these instructions to install ODP.NET as part of an Oracle Database 12.1 installation.

This installation uses the Oracle Universal Installer (OUI), as would be the case in any Oracle Database environment. Run it by executing its setup.exe file (in the Disk1 location), then complete the following steps:

  1. In the Select Installation Type dialog, typically choose the "Runtime" option, then choose Next.

    (There are four installation options: Instant Client, Runtime, Custom, and Administrator. The Runtime option provides the Oracle Client and ODP.NET. The Instant Client option does not provide ODP.NET. If you have reason to use a Custom installation, there is a check box for ODP.NET.)

  2. In the resulting Download Software Updates dialog, you may choose the "Skip software updates" option at your discretion, as appropriate for your situation. Choose Next when you have finished.

  3. In the resulting Select Product Languages dialog, use the default English language setting (or choose a desired language), then choose Next.

  4. In the resulting Specify Oracle Home User dialog, choose from among "Use Existing User", "Create New User", or "Use Built-in Account" according to what best fits your needs.

  5. In the resulting Specify Installation Location dialog, you can typically use the default values for the Oracle base path and software location. Alternatively:

    1. Enter the path (or browse) to your Oracle home location for the Oracle base path.

    2. Enter the path (or browse) to a desired directory location under the Oracle home location where the software files will be installed.


      Important:

      Paths cannot have spaces.

  6. The installer performs prerequisite checks and display a Summary dialog. Choose Install.

Install ODP.NET as part of ODAC 12.1 for Windows, OUI version

Use these instructions to install ODP.NET as part of the Oracle Universal Installer (OUI) version of Oracle Data Access Components (ODAC) 12.1 releases.

Run OUI by executing its setup.exe file, which you can access in the staging directory into which you unzip the ODAC ZIP file for OUI installation, then complete the following steps:

  1. In the OUI welcome page, choose Next.

  2. In the page to select a product to install, choose "Oracle Data Access Components for Oracle Client 12.1.x.x.x" (the appropriate point release number is indicated). Then choose Next.

  3. In the page for the installation location, you can either use the default value or specify a desired alternative location. Then choose Next.

  4. In the page to choose available product components, "Oracle Data Access Components for Oracle Client 12.1.0.1.0" is selected by default and cannot be deselected (given the selection of that product in step 2). Underneath that, confirm that Oracle Data Provider for .NET is selected (default). Also confirm that Oracle Instant Client, required for ODP.NET, is selected (default). All other components are optional for ODP.NET. Then choose Next.


    Note:

    Oracle Providers for ASP.NET is not relevant to TimesTen. You can deselect it unless you need it for other purposes. Note that if it is selected, you will see a page (not covered in these instructions) for running a set of SQL scripts.

  5. In the page for database connection configuration, you are prompted to specify a database connection entry (alias) that will be entered in the tnsnames.ora file, and the location of that file is indicated. Leave this page as is and choose Next. (Define a database connection later, as discussed in "Configuring TimesTen connections for an ODP.NET application".)

  6. Check the summary page, then choose Install. The installation page will indicate progress.

  7. After installation, there is an end page. You can choose Exit.

Install ODP.NET as part of ODAC 12.1 for Windows, XCopy version

Use these instructions to install ODP.NET as part of the Oracle XCopy version of Oracle Data Access Components (ODAC) 12.1 releases. The installation process is the same for the 64-bit version as for the 32-bit version.

XCopy provides system administrators with an ODP.NET client that is smaller than the standard ODP.NET client and can be configured more easily, with finer-grained control than OUI offers. This makes it more convenient for production deployments to large numbers of computers, and simplifies the embedding of ODP.NET in customized deployment packages.

This installation does not use the Oracle Universal Installer. Instead, run the installation by executing the install.bat batch file, which you can access in the installation directory into which you unzip the ODAC ZIP file for XCopy installation.

This is a summary of the installation instructions. For further details, refer to readme.htm, which is also located in the installation directory.


Important:

The readme.htm file emphasizes the following points.
  • Do not install XCopy over an existing OUI-based Oracle home installation.

  • If you do multiple ODAC product installations to the same directory, specify the same Oracle home name each time.

  • By default, ODAC products and dependencies are installed without a check to see if there are newer product versions already installed.


Execute install.bat to specify the desired ODAC products to install. For example, assuming C:\oracle\odac is your installation directory and odachome is your Oracle home name for ODAC, use the following command to install the client with only ODP.NET for .NET 2.0 libraries:

install.bat odp.net2 C:\oracle\odac odachome

Or use this command to install the client with only ODP.NET for .NET 4 libraries:

install.bat odp.net4 C:\oracle\odac odachome

Alternatively, use the following command to install the client with all ODAC products:

install.bat all C:\oracle\odac odachome

Post-installation path considerations

In a TimesTen environment, ODP.NET finds and uses the appropriate version of OCI; namely, the Oracle Client version and not the TimesTen Instant Client version. In addition, check the following for your path:

  1. Confirm that the PATH setting has the location of the TimesTen shared libraries at tt_install_dir\bin, where tt_install_dir is the TimesTen installation root directory. This should follow any other Oracle directories in the path.

  2. For an XCopy installation, add your ODAC installation directory and ODAC installation bin directory to the PATH setting, preceding any other Oracle directories, including TimesTen directories. For example, if C:\oracle\odac is the installation directory:

    set PATH=C:\oracle\odac;C:\oracle\odac\bin;%PATH%
    

Note:

Refer to the ODP.NET README file for any further information about setting up ODP.NET.

Uninstalling ODP.NET

For information about uninstalling Oracle Database products, including ODP.NET, refer to "Removing Oracle Database Software" in Oracle Database Installation Guide for Microsoft Windows.

To uninstall an OUI installation, run setup.exe again (refer to "Install ODP.NET as part of ODAC 12.1 for Windows, OUI version"). In the OUI welcome page, choose Deinstall Products. In the resulting Inventory dialog, select the product or products to uninstall, then choose Remove. Then choose Yes in the Confirmation and Warning dialogs. Close the Inventory dialog once the products have been uninstalled.

To uninstall an XCopy installation, execute the uninstall.bat batch file from your ODP.NET installation directory (refer to "Install ODP.NET as part of ODAC 12.1 for Windows, XCopy version"), specifying the product to uninstall (or all products) and the Oracle home name for ODAC products. For example, to uninstall a client with ODP.NET for .NET 2.0 libraries, assuming the Oracle home name is odachome:

uninstall.bat odp.net2 odachome

Or to uninstall all ODAC products:

uninstall.bat all odachome

Building an application for ODP.NET

You can use the Visual Studio IDE to build your application, or you can use the csc.exe command-line compiler executed from the Visual Studio command prompt. The following example uses csc.exe (where the input is all one command line):

C:\Temp> csc /out:myapp.exe /reference:C:\app\mydir\path\
Oracle.DataAccess.dll myapp.cs

Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.3053
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.

The location of the Oracle.DataAccess.dll assembly and dependent libraries is according to your type of Oracle product installation and version of .NET. Refer to Oracle Data Provider for .NET Developer's Guide and the ODP.NET README file for information.


Note:

Visual Studio is not a runtime requirement of ODP.NET for TimesTen, but you would need a .NET compiler, such as the C# compiler that comes with Visual Studio, to develop applications.

Configuring TimesTen connections for an ODP.NET application

ODP.NET for TimesTen supports multiple simultaneous connections to TimesTen and Oracle databases. Existing applications written for the ODP.NET interface can access TimesTen with a minimal set of changes to their application code.

In a TimesTen environment, ODP.NET uses OCI to interact with the TimesTen database. Therefore, an ODP.NET application can connect to TimesTen using either the tnsnames or the easy connect naming method, as with Oracle Database. See "Configuring Naming Methods" in Oracle Database Net Services Administrator's Guide for information about the tnsnames and easy connect naming methods beyond what is provided below.

This section covers the following topics:


Notes:

  • TimesTen does not support distributed transactions through OCI. Therefore, an ODP.NET application cannot use distributed transactions in a TimesTen connection.

  • ODP.NET for TimesTen does not support global runtime load balancing (a feature for Oracle RAC databases) and therefore does not support the connection string attribute setting "Load Balancing=true".

  • Error messages associated with connections to TimesTen from an ODP.NET application are based on TimesTen OCI error message mapping. TimesTen OCI errors are propagated to the ODP.NET application as OracleException objects. (Also see "OCI error reporting" in Oracle TimesTen In-Memory Database C Developer's Guide.)


Using the tnsnames naming method to connect

TimesTen supports tnsnames syntax. You can use a TimesTen tnsnames.ora entry in the same way you would use an Oracle tnsnames.ora entry.

The syntax of a TimesTen entry in the tnsnames.ora file is as follows:

tns_entry = (DESCRIPTION =
               (CONNECT_DATA =
                  (SERVICE_NAME = dsn)
                  (SERVER = timesten_direct | timesten_client)))

Where tns_entry is an arbitrary TNS name you assign to the entry. Note the following:

  • DESCRIPTION and CONNECT_DATA are required as shown.

  • For SERVICE_NAME, dsn must be a TimesTen data source name (DSN) that is defined in the ODBC Data Source Administrator and is visible to the user running the ODP.NET application.

  • For SERVER, timesten_direct specifies a direct connection to a TimesTen database, while timesten_client specifies a client/server connection. If you specify timesten_direct, then dsn must be a TimesTen Data Manager DSN. If you specify timesten_client, then dsn must be a TimesTen Client DSN.

The following is a sample tnsnames.ora entry for a direct connection to the TimesTen database referenced by the DSN my_dsn:

my_tnsname = (DESCRIPTION =
                (CONNECT_DATA =
                   (SERVICE_NAME = my_dsn)
                   (SERVER = timesten_direct)))

To connect as user scott with password tiger to the my_dsn TimesTen database that is referenced by the my_tnsname entry in the tnsnames.ora file, specify the following connection string in your ODP.NET application:

"User Id=scott;Password=tiger;Data Source=my_tnsname"

To connect as the current operating system user to my_dsn that is referenced by the my_tnsname entry in the tnsnames.ora file, specify the following connection string in your ODP.NET application. The current operating system user must be either the TimesTen instance administrator or a defined TimesTen external user.

"User Id=/;Data Source=my_tnsname"

Using the easy connect naming method to connect

TimesTen supports easy connect syntax, which allows connections to be made without configuring a tnsnames.ora entry. The syntax of a TimesTen easy connect string is as follows:

host/service_name:server

Note the following:

  • A host name must be specified to satisfy easy connect syntax, but is otherwise ignored by TimesTen. The name localhost is typically used by convention.

  • For service_name, specify a TimesTen DSN that is defined in the ODBC Data Source Administrator and is visible to the user running the ODP.NET application.

  • For server, timesten_direct specifies a direct connection to a TimesTen database, while timesten_client specifies a client/server connection. If you specify timesten_direct, then service_name must be a TimesTen Data Manager DSN. If you specify timesten_client, then service_name must be a TimesTen Client DSN.

To establish a direct connection as user scott with password tiger to the TimesTen database referenced by the my_dsn DSN, specify the following connection string in your ODP.NET application:

"User Id=scott;Password=tiger;Data Source=localhost/my_dsn:timesten_direct"

To establish a direct connection as the current operating system user to the TimesTen database referenced by my_dsn, specify the following connection string in your ODP.NET application. The current operating system user must be either the TimesTen instance administrator or a defined TimesTen external user.

"User Id=/;Data Source=localhost/my_dsn:timesten_direct"

Configuring whether to use tnsnames or easy connect naming method

If a sqlnet.ora file is present, it specifies the naming methods to be tried and the order in which to try them. ODP.NET looks for a sqlnet.ora file with the following precedence:

  1. If the TNS_ADMIN environment variable has been set, ODP.NET looks in that specified location.

  2. If TNS_ADMIN has not been set, ODP.NET looks in the Oracle Database default location, as noted in "Parameters for the sqlnet.ora File" in Oracle Database Net Services Reference.

If sqlnet.ora is found, you can use only naming methods that are indicated there. If sqlnet.ora is not found, you can use either the tnsnames or easy connect naming method.

In TimesTen, sample copies of the tnsnames.ora and sqlnet.ora files are in the tt_install_dir\network\admin\samples directory, where tt_install_dir is the TimesTen installation root directory. The following is the sqlnet.ora file that TimesTen provides, which supports both the tnsnames naming method and the easy connect naming method.

# To use ezconnect syntax or tnsnames, the following entries must be
# included in the sqlnet.ora configuration.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

With this setting, ODP.NET first looks for tnsnames syntax in your connection strings. If it cannot find tnsnames syntax, it looks for easy connect strings.


Important:

Oracle Database network libraries are provided with ODP.NET. In a TimesTen environment, ODP.NET does not use the copy of the Oracle Database network libraries provided with the Instant Client shipped with TimesTen. (That location, for reference, is tt_install_dir\ttoracle_home\instantclient_11_2 for the Oracle Database 11.2 Instant Client shipped with TimesTen 11.2.2 releases.)

Setting TimesTen connection attributes in ODP.NET connection strings

You can set TimesTen connection attributes within the Password setting of your ODP.NET connection string, with syntax as follows:

  • Components of the Password setting, including the password setting itself and any TimesTen connection attribute settings, are delimited by semi-colons.

  • Whenever the Password setting has semi-colons, the entire setting must be quoted.

  • Because the ODP.NET connection string as a whole is quoted, the begin quotation mark and end quotation mark of the Password setting must each be preceded by the "\" escape character.

The following example specifies lion as the password for user scott in TimesTen. It also sets the TimesTen OraclePWD connection attribute, which specifies the password tiger for user scott in Oracle Database, for use of Oracle In-Memory Database Cache (IMDB Cache).

"Data Source=mysource;User Id=scott;Password=\"lion;OraclePwd=tiger\"";

The next example again specifies lion as the password for scott in TimesTen. This time, it sets the TimesTen OracleNetServiceName connection attribute as well as the OraclePWD connection attribute. OracleNetServiceName specifies the Oracle ID in Oracle Database, with the OraclePWD setting specifying the corresponding password tiger. Finally, this example sets the TimesTen passthrough level to 1.

"Data Source=mysource;User ID=scott;Password=\"lion;OraclePwd=tiger;
OracleNetServiceName=mytest-pc.example.com;passthrough=1\"";

(For general information about TimesTen connection attributes, refer to "Connection Attributes" in Oracle TimesTen In-Memory Database Reference. For information about IMDB Cache and passthrough levels, refer to Oracle In-Memory Database Cache User's Guide.)


Note:

As always, you can also set TimesTen connection attributes in your TimesTen DSN definition in ODBC Data Source Administrator, as shown in "Managing TimesTen Databases" in Oracle TimesTen In-Memory Database Operations Guide. This is not secure, however, so is not advisable for password settings such as the OraclePWD attribute.

Testing your ODP.NET installation with TimesTen

Perform the following steps to test ODP.NET with TimesTen in a .NET environment.

You must have a TimesTen installation, including the Quick Start sample programs, to perform these tests. These instructions also assume you have Visual Studio.

  1. Where tt_install_dir is the TimesTen installation root directory, execute the build_sampledb.bat script from the tt_install_dir\quickstart\sample_scripts\createdb\ directory. This creates a TimesTen database, sampledb_1122, with users and objects.

  2. Copy the ODP.NET sample program DemoODP.cs to your system. It is located in the following TimesTen Quick Start directory:

    tt_install_dir\quickstart\sample_code\odp.net\
    
  3. Create a tnsnames.ora file that contains the following:

    SAMPLEDB_1122 =(DESCRIPTION=(CONNECT_DATA = 
       (SERVICE_NAME = SAMPLEDB_1122)(SERVER = timesten_direct)))
    
  4. Open Visual Studio Command Prompt and set the environment variable TNS_ADMIN to specify the location of the tnsnames.ora file you created. For example:

    >set TNS_ADMIN=c:\mytnsdir\sqlnet
    
  5. Navigate to the directory where DemoODP.cs was placed and compile the DemoODP program. For example:

    csc /out:DemoODP.exe /reference:C:\path\Oracle.DataAccess.dll DemoODP.cs
    

    Notes:

    • The location of the Oracle.DataAccess.dll assembly and dependent libraries is according to your type of Oracle product installation and version of .NET. Refer to Oracle Data Provider for .NET Developer's Guide and the ODP.NET README file for information.

    • The name of the TimesTen sample database in TimesTen 11.2.2 releases is sampledb_1122.


  6. Execute DemoODP as follows. (The database name, user name, and password are determined automatically during execution of build_sampledb.bat.)

    DemoODP -db sampledb_1122 -user appuser -passwd welcome1
    

This should produce the following output:

   Start Test
   The employee who got the 10% pay raise was CLARK
   
   Employees in department #50:
   7944, ITMGR, MANAGER, 7839, 10/08/2010 10:34:20 AM, 2500, <NULL>, 50
   7945, DVLPR1, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7946, DVLPR2, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7947, DVLPR3, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7948, DVLPR4, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7949, DVLPR5, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7950, DVLPR6, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7951, DVLPR7, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7952, DVLPR8, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7953, DVLPR9, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   7954, DVLPR10, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
   Test finished

Development considerations for ODP.NET with TimesTen

This section discusses points to be aware of when developing applications to use ODP.NET in a TimesTen environment, covering the following topics:

Effects of transaction commits on result sets and REF CURSORs

When processing result sets generated from executing statements and creating REF CURSORs, the behavior when transactions in TimesTen connections are committed differs from that when transactions in Oracle Database connections are committed. When a transaction is committed in TimesTen while a result set of an OracleDataReader object is open, the result set is closed automatically, unlike in an Oracle database. This applies to explicit commits, autocommit, and implicit commits.

In TimesTen, an implicit commit occurs after a DDL statement. In ODP.NET, an implicit commit also occurs when an OracleCommand object is executed without there first being an OracleTransaction object instantiated from the command connection. An explicit commit occurs when the Commit method is called on an OracleTransaction object. In either case, if a commit occurs in a TimesTen connection before a result set that is open in the transaction is completely processed, the "Function sequence error" exception may be thrown.

This difference in behavior is likely to occur when the execution of an OracleCommand object is interleaved with the processing of a result set associated with another OracleCommand object. To avoid the "Function sequence error" exception, the execution and processing of a result set should be contained exclusively within the context of an OracleTransaction object. This prevents a commit from occurring before all rows of the result set are retrieved.

The occurrence of a "Function sequence error" exception may depend on the value of the FetchSize property of an OracleCommand, OracleRefCursor or OracleDataReader object. If the FetchSize property is not explicitly set or if it is set to a large value, then many rows may be fetched by the application before the "Function sequence error" exception is thrown.

Support for TimesTen built-in procedures

You can call TimesTen built-in procedures directly from TimesTen OCI only for built-ins that do not return a result set. Therefore, this restriction also applies to ODP.NET for TimesTen.

Use an OracleCommand instance to call a built-in, as in the following example. This assumes an OracleConnection instance conn with a connection to TimesTen has been established. Call the Dispose method to free resources when you have finished using the OracleCommand instance.

// switching to passthrough 1 mode using ttOptSetFlag built-in function
string switchModeStmt = "call ttOptSetFlag('passthrough', 1)";
OracleCommand switchCmd = new OracleCommand(switchModeStmt, conn);
switchCmd.CommandType = CommandType.Text;
switchCmd.ExecuteNonQuery();
switchCmd.Dispose();

For built-in procedures that do return a result set, the result set would not be accessible directly through ODP.NET. However, you could access it as an OUT parameter if you call the built-in from PL/SQL. Here is an example:

int passThruValue = -1;
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "declare v_name varchar2(255); begin execute immediate 
                  'call ttOptGetFlag(''passthrough'')' into v_name, :rc1; end;";
cmd.Parameters.Add("rc1", OracleDbType.Int32, -1, ParameterDirection.Output);
cmd.ExecuteNonQuery();
passThruValue = Convert.ToInt32(cmd.Parameters[0].Value.ToString());
cmd.Parameters.Clear();
cmd.Dispose();

Support for VARCHAR2, NVARCHAR2 and VARBINARY data types

TimesTen VARCHAR2, NVARCHAR2 and VARBINARY types support a maximum of 4 MB of data. ODP.NET for TimesTen supports the transfer of the maximum amount of data for these types (and all other TimesTen SQL types).


Note:

ODP.NET 12.1, when used outside of a TimesTen environment, has a 32 KB size limit for character data, increased from a 4 KB limit in previous releases.

Support for LOBs

TimesTen LOB support is limited to the LOB access methods associated with the default 0 (zero) setting of the InitialLobFetchSize property of the OracleDataReader object. If this property is changed to another value then TimesTen ignores such changes, assuming it retains the 0 setting.

Also refer to "OracleDataReader class support".

Known issues and limitations

This section discusses limitations that are known as of release time.

  • The self-tuning statement cache disables itself if it detects that not enough memory is available for its operations. Note that when an application uses a direct (as opposed to client/server) connection to TimesTen, the entire database is loaded into memory, thereby reducing memory available for the statement cache and making this behavior more likely.

  • Binding variables using NCHAR or NVARCHAR PL/SQL associative array types in an application using ODP.NET with TimesTen currently fails. For example, consider the following type declaration:

    TYPE MYTYPE IS TABLE OF NCHAR(20) INDEX BY BINARY_INTEGER;
    

    Attempting to use this type as follows will result in the error "PLS-00418: array bind type must match PL/SQL table row type":

    OracleParameter Param1 = cmd.Parameters.Add("1", OracleDbType.NChar);
    Param1.Direction = ParameterDirection.Output;
    Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    

    The workaround is to use equivalent PL/SQL associative array types such as CHAR or VARCHAR2.

Troubleshooting

This section discusses solutions for various exceptions you may encounter.

  • Exception "ORA-44818: PL/SQL feature not installed in this TimesTen database"

    If PL/SQL is disabled for the TimesTen database (it is enabled by default), enable it by setting the PLSQL connection attribute to 1 in the ODBC Data Source Administrator. ODP.NET applications cannot connect to TimesTen databases that are not PL/SQL-enabled.

  • Exception "TimesTen database version is less than the minimum required version of 11.2.2.0.0"

    Change the service name in the tnsname.ora entry or easy connect string to reference a TimesTen 11.2.2 database. ODP.NET 12.1 applications cannot connect to TimesTen database versions prior to 11.2.2.

  • Exception "ORA-12154: TNS: Could not resolve the connect identifier specified" or "ORA-12541: TNS: No listener"

    To connect to a TimesTen database from an ODP.NET application, the Data Source attribute in the ODP.NET connection string must be set either to the TNS name of a TimesTen entry in the tnsnames.ora file or to a TimesTen easy connect string.

    If the tnsnames naming method is used to connect, verify that an entry in the tnsnames.ora file is associated with a TimesTen DSN. Also verify that the TNS_ADMIN environment variable is set to the directory where the tnsnames.ora file is located.

    If the easy connect naming method is used to connect, verify that service_name is set to a TimesTen DSN and that server is set to either timesten_direct or timesten_client, depending on whether the DSN configures a direct connection or a client/server connection.

  • Exception "ORA-29158: Unable to open library"

    If you are connecting to a TimesTen database, verify either that the entry in the tnsnames.ora file is associated with a TimesTen DSN or that service_name in the easy connect string is set to a TimesTen DSN.

    This error may also occur due to a path issue, if ODP.NET cannot find the TimesTen ODBC driver, which is located in the TimesTen tt_install_dir\bin directory. (Also see the next troubleshooting item.)

  • Exception "ORA-29159: Unable to read library"

    In addition to the steps for ORA-29158 above, verify that the server setting in the tnsnames.ora file entry or easy connect string is timesten_direct or timesten_client, as appropriate for the type of TimesTen DSN.

    See "Connecting to a TimesTen database from OCI" in Oracle TimesTen In-Memory Database C Developer's Guide for information about tnsnames.ora and easy connect.

  • Exception "The application has failed to start because ttcommonxxxx.dll was not found. Re-installing the application may fix the problem"

    This indicates that the location of the TimesTen shared libraries at tt_install_dir\bin is not in the PATH environment variable setting.


    Note:

    Instead of "xxxx", the TimesTen release number is indicated. In TimesTen 11.2.2 releases the file name is ttcommon1122.dll.

The ttSrcScan utility

If you have an existing ODP.NET application and want to see whether it uses ODP.NET features that TimesTen does not support, you can use the ttSrcScan command line utility to scan your program for unsupported functions, types, type codes, attributes, modes, and constants. This is a standalone utility that can be run without TimesTen or Oracle Database being installed and runs on any platform supported by TimesTen. It reads source code files as input and creates HTML and text files as output. If the utility finds unsupported items, then they are logged and alternatives are suggested. You can find the ttSrcScan executable in the quickstart/sample_util directory in your TimesTen installation.

Specify an input file or directory for the program to be scanned and an output directory for the ttSrcScan reports. Other options are available as well. See the README file in the sample_util directory for information.

ODP.NET namespace and class support with TimesTen

This reference section documents support for ODP.NET namespaces and classes in a TimesTen environment.

ODP.NET implements the classes, enumerations, interfaces, delegates, and structures of the Oracle.DataAccess.Client and Oracle.DataAccess.Types namespaces. The Oracle.DataAccess.Client namespace contains implementations of core ADO.NET classes, enumerations for ODP.NET, and ODP.NET-specific classes. The Oracle.DataAccess.Types namespace provides classes, structures, and exceptions for Oracle Database native types that can be used with ODP.NET. See Oracle Data Provider for .NET Developer's Guide for information about these namespaces beyond what is provided below. You must have access to them in your program as follows:

using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;

The following sections list TimesTen support for the ODP.NET classes, enumerations and types of the Oracle.DataAccess.Client and Oracle.DataAccess.Types namespaces that are documented for ODP.NET 12.1 releases:


Note:

When connecting to a TimesTen database from an ODP.NET application, your application can use only ODP.NET features that correspond to features that TimesTen supports. This is reflected in what is supported for the namespaces discussed here.

For example, you cannot use Oracle Streams Advanced Queueing because TimesTen does not support this feature. OracleException objects are thrown when you attempt to use ODP.NET features that are not supported by TimesTen. These exceptions are based on corresponding TimesTen OCI error messages.


Oracle.DataAccess.Client namespace support

The following tables list support for delegates, classes, and enumerations of the Oracle.DataAccess.Client namespace.

Table 1 Oracle.DataAccess.Client namespace delegate support

Delegate NameSupported?

OnChangeEventHandler

No

OracleAQMessageAvailableEventHandler

No

OracleFailoverEventHandler

No

OracleHAEventHandler

No

OracleInfoMessageEventHandler

Yes

OracleRowsCopiedEventHandler

No

OracleRowUpdatedEventHandler

Yes

OracleRowUpdatingEventHandler

Yes


Table 2 Oracle.DataAccess.Client namespace class support

Class NameSupported?Notes

OracleAQAgent

No


OracleAQDequeueOptions

No


OracleAQEnqueueOptions

No


OracleAQMessage

No


OracleAQMessageAvailableEventArgs

No


OracleAQQueue

No


OracleBulkCopy

No


OracleBulkCopyColumnMapping

No


OracleBulkCopyColumnMappingCollection

No


OracleClientFactory

Yes


OracleCommand

Yes

See "OracleCommand class support" for information about TimesTen support for properties and public methods of this class.

OracleCommandBuilder

Yes


OracleConnection

Yes

See "OracleConnection class support" for information about TimesTen support for properties and public methods of this class.

OracleConnectionStringBuilder

Yes


OracleDataAdapter

Yes

The IdentityInsert and IdentityUpdate properties are not supported.

OracleDatabase

No


OracleDataReader

Yes

See "OracleDataReader class support" for information about TimesTen support for properties and public methods of this class.

OracleDataSourceEnumerator

Yes


OracleDependency

No


OracleError

Yes


OracleErrorCollection

Yes


OracleException

Yes


OracleFailoverEventArgs

No


OracleGlobalization

No


OracleHAEventArgs

No


OracleInfoMessageEventArgs

Yes


OracleLogicalTransactionStatus

No


OracleNotificationEventArgs

No


OracleNotificationRequest

No


OracleParameter

Yes


OracleParameterCollection

Yes


OraclePermission

Yes


OraclePermissionAttribute

Yes


OracleRowsCopiedEventArgs

No


OracleRowUpdatedEventArgs

Yes


OracleRowUpdatingEventArgs

Yes


OracleTransaction

Yes

See "OracleTransaction class support" for information about TimesTen support for properties and public methods of this class.

OracleXmlQueryProperties

No


OracleXmlSaveProperties

No



Table 3 Oracle.DataAccess.Client namespace enumeration support

Enumeration NameSupported?

FailoverEvent

No

FailoverReturnCode

No

FailoverType

No

OracleAQDequeueMode

No

OracleAQMessageDeliveryMode

No

OracleAQMessageState

No

OracleAQMessageType

No

OracleAQNavigationMode

No

OracleAQNotificationGroupingType

No

OracleAQNotificationType

No

OracleAQVisibilityMode

No

OracleBulkCopyOptions

No

OracleCollectionType

No

OracleDBShutdownMode

No

OracleDBStartupMode

No

OracleDbType

Yes

OracleHAEventSource

No

OracleHAEventStatus

No

OracleIdentityType

No

OracleNotificationInfo

No

OracleNotificationSource

No

OracleNotificationType

No

OracleParameterStatus

Yes

OracleRowidInfo

No

OracleXmlCommandType

No


The rest of this section presents the following:

OracleCommand class support

The following tables list support for properties and methods of the OracleCommand class.

Table 4 OracleCommand class property support

Property NameSupported?

AddRowid

No

AddToStatementCache

Yes

ArrayBindCount

Yes

ArrayBindRowsAffected

No

BindByName

No

CommandText

Yes

CommandTimeout

No

CommandType

Yes

Connection

Yes

DesignTimeVisible

No

FetchSize

Yes

ImpliedRefCursors

Yes (see note)

InitialLOBFetchSize

No (see note)

InitialLONGFetchSize

No

Notification

No

NotificationAutoEnlist

No

Parameters

Yes

RowSize

Yes

Transaction

Yes

UpdatedRowSource

Yes

XmlCommandType

No

XmlQueryProperties

No

XmlSaveProperties

No



Notes:

  • While TimesTen supports the ImpliedRefCursors property, its use is complementary to the ADO.NET Entity Framework, which TimesTen does not support.

  • ODP.NET for TimesTen does not support use of the InitialLOBFetchSize property. Changing its value has no effect. It is always effectively set to the default value of 0 (zero).


Table 5 OracleCommand class method support

Method NameSupported?

Cancel

No

Clone

Yes

CreateParameter

Yes

ExecuteNonQuery

Yes

ExecuteReader

Yes

ExecuteScalar

Yes

ExecuteStream

No

ExecuteToStream

No

ExecuteXmlReader

No


OracleConnection class support

The following tables list support for properties and methods of the OracleConnection class.

Table 6 OracleConnection class property support

Property NameSupported?

ActionName

No

ClientId

No

ClientInfo

No

ConnectionString

Yes

ConnectionTimeout

Yes

Database

No

DatabaseDomainName

No

DatabaseName

No

DataSource

Yes

HostName

No

InstanceName

No

IsAvailable (static property)

No

LogicalTransactionID

No

ModuleName

No

ServerVersion

Yes

ServiceName

No

State

Yes

StatementCacheSize

Yes


Table 7 OracleConnection class event support

Method NameSupported?

Failover

No

HAEvent

No

InfoMessage

No

StateChange

Yes


Table 8 OracleConnection class method support

Method NameSupported?Notes

BeginTransaction

Yes


ChangeDatabase

No


ClearAllPools (static method)

Yes


ClearPool (static method)

Yes


Clone

Yes


Close

Yes


CreateCommand

Yes


EnlistDistributedTransaction

No

TimesTen does not support distributed transactions through OCI. Therefore, an ODP.NET application cannot use distributed transactions in a TimesTen connection.

EnlistTransaction

No

See EnlistDistributedTransaction.

FlushCache

No


GetLogicalTransactionStatus

No


GetSchema

Yes

Returns metadata collections of tables, columns, users, and other objects that allow application developers to discover and enumerate database information. This information is specific to TimesTen and may differ from corresponding metadata collections returned from Oracle Database. For example, TimesTen does not support the JavaClasses and XMLSchemas metadata collections because these object types are not supported by TimesTen.

GetSessionInfo

Yes


Open

Yes


OpenWithNewPassword

No


PurgeStatementCache

Yes


SetSessionInfo

No



OracleConnectionType, an enumeration and public OracleConnection class property, allows an ODP.NET application to determine whether a particular connection object is associated with a TimesTen connection, an Oracle Database connection, or no physical connection at all. The property has the following signature:

public OracleConnectionType ConnectionType

It returns one of the following values from the OracleConnectionType enumeration:

OracleConnectionType.Undefined: No connection is associated with the OracleConnection object

OracleConnectionType.Oracle: The OracleConnection object is associated with an Oracle database

OracleConnectionType.TimesTen: The OracleConnection object is associated with a TimesTen database

OracleDataReader class support

The following tables list support for properties and methods of the OracleDataReader class.

Table 9 OracleDataReader class property support

Property NameSupported?

Depth

Yes

FetchSize

Yes

FieldCount

Yes

HasRows

Yes

HiddenFieldCount

Yes

IsClosed

Yes

Item

Yes

InitialLOBFetchSize

No

InitialLONGFetchSize

No

RecordsAffected

No

RowSize

Yes

VisibleFieldCount

Yes



Note:

ODP.NET for TimesTen does not support use of the InitialLOBFetchSize property. Changing its value has no effect. It is always effectively set to the default value of 0 (zero).

Table 10 OracleDataReader class method support

Method NameSupported?

Close

Yes

Dispose

Yes

GetBoolean

No

GetByte

Yes

GetBytes

Yes

GetChar

Yes

GetChars

Yes

GetData

No

GetDataTypeName

Yes

GetDateTime

Yes

GetDecimal

Yes

GetDouble

Yes

GetEnumerator

No

GetFieldType

Yes

GetFloat

Yes

GetGuid

No

GetInt16

Yes

GetInt32

Yes

GetInt64

Yes

GetName

Yes

GetOracleBFile

No

GetOracleBinary

Yes

GetOracleBlob

Yes

GetOracleBlobForUpdate

Yes

GetOracleClob

Yes

GetOracleClobForUpdate

Yes

GetOracleDate

Yes

GetOracleDecimal

Yes

GetOracleIntervalDS

No

GetOracleIntervalYM

No

GetOracleRef

No

GetOracleString

Yes

GetOracleTimeStamp

Yes

GetOracleTimeStampLTZ

No

GetOracleTimeStampTZ

No

GetOracleXmlType

No

GetOracleValue

Yes

GetOracleValues

Yes

GetOrdinal

Yes

GetProviderSpecificFieldType

Yes

GetProviderSpecificValue

Yes

GetProviderSpecificValues

Yes

GetSchemaTable

Yes

GetString

Yes

GetTimeSpan

No

GetValue

Yes

GetValues

Yes

GetXmlReader

No

IsDBNull

Yes

NextResult

No

Read

Yes


OracleTransaction class support

The following tables list support for properties and methods of the OracleTransaction class.

Table 11 OracleTransaction class property support

Property NameSupported?

IsolationLevel

Yes

Connection

Yes


Table 12 OracleTransaction class method support

Class NameSupported?Notes

Commit

Yes


Dispose

Yes


Rollback

Yes


Rollback (string)

No

TimesTen does not support transaction savepoints.

Save

No

TimesTen does not support transaction savepoints.


Oracle.DataAccess.Types namespace support

The following tables list support for structures, exceptions, classes, interfaces, and enumerations of the Oracle.DataAccess.Types namespace.

Table 13 Oracle.DataAccess.Types namespace structure support

Structure NameSupported?

OracleBinary

Yes

OracleBoolean

No

OracleDate

Yes

OracleDecimal

Yes

OracleIntervalDS

No

OracleIntervalYM

No

OracleString

Yes

OracleTimeStamp

Yes

OracleTimeStampLTZ

No

OracleTimeStampTZ

No


Table 14 Oracle.DataAccess.Types namespace exception support

Class NameSupported?

OracleTypeException

Yes

OracleNullValueException

Yes

OracleTruncateException

Yes


Table 15 Oracle.DataAccess.Types namespace class support

Class NameSupported?

OracleArrayMappingAttribute

No

OracleBFile

No

OracleBlob

Yes

OracleClob

Yes

OracleCustomTypeMappingAttribute

No

OracleObjectMappingAttribute

No

OracleRef

No

OracleRefCursor

Yes

OracleUdt

No

OracleXmlStream

No

OracleXmlType

No


Table 16 Oracle.DataAccess.Types namespace interface support

Interface NameSupported?

IOracleArrayTypeFactory

No

IOracleCustomType

No

IOracleCustomTypeFactory

No

INullable

Yes


Table 17 Oracle.DataAccess.Types namespace enumeration support

Enumeration NameSupported?

OracleUdtFetchOption

No

OracleUdtStatus

No


Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


Oracle Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide, 12c Release 1 (12.1) for Windows

E38358-02

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PKX.uBBPK 0Coa,mimetypePK0CXE:iTunesMetadata.plistPK0CYuMETA-INF/container.xmlPK0C[pTO1OEBPS/cover.htmPK0CU*iH OEBPS/toc.ncxPK0CH&s  OEBPS/content.opfPK0C_ ! OEBPS/dcommon/prodbig.gifPK0CY@ v&OEBPS/dcommon/doclib.gifPK0CFkk'OEBPS/dcommon/oracle-logo.jpgPK0C“OEBPS/dcommon/contbig.gifPK0COEBPS/dcommon/darbbook.cssPK0CMά""!OEBPS/dcommon/O_signature_clr.JPGPK0CPz %OEBPS/dcommon/feedbck2.gifPK0C-}OEBPS/dcommon/feedback.gifPK0Cː5OEBPS/dcommon/booklist.gifPK0CSOEBPS/dcommon/cpyr.htmPK0C!:3.=OEBPS/dcommon/masterix.gifPK0CeӺ1,OEBPS/dcommon/doccd.cssPK0C7 .OEBPS/dcommon/larrow.gifPK0C#UOEBPS/dcommon/indxicon.gifPK0CS'"OEBPS/dcommon/leftnav.gifPK0Chu,.OEBPS/dcommon/uarrow.gifPK0Cl-OJIOEBPS/dcommon/oracle.gifPK0C(OEBPS/dcommon/index.gifPK0CGC $OEBPS/dcommon/bookbig.gifPK0CJV^DOEBPS/dcommon/rarrow.gifPK0C枰pk_OEBPS/dcommon/mix.gifPK0Co"nR M OEBPS/dcommon/doccd_epub.jsPK0Cv I  OEBPS/dcommon/toc.gifPK0C r~$ OEBPS/dcommon/topnav.gifPK0C1FAd OEBPS/dcommon/prodicon.gifPK0C3( # OEBPS/dcommon/bp_layout.cssPK0Cx[?:cOEBPS/dcommon/bookicon.gifPK0Cp*c^"OEBPS/dcommon/conticon.gifPK0Cʍ&OEBPS/dcommon/blafdoc.cssPK0C+&=OEBPS/dcommon/rightnav.gifPK0Cje88?OEBPS/dcommon/oracle-small.JPGPK0Cއ{&!HxOEBPS/dcommon/help.gifPK0CX.uBB yOEBPS/toc.htmPK'' ݼ