![]() |
![]() |
|
|
| |
WebLogic JDBC T3 hCoij̎g
߂ł́Aȉ̓eׂŔɂȁE WebLogic JDBC T3 hCoɂĐ־܁E
T3 hCóAWebLogic Server o[W 6.0 ɂȁEBBEA ł́AT3 hCóE RMI hCogpӂ邱ƂԊ߂Ă܁EuWebLogic Server 4.5 5.1 AvP[Ṽo[W 6.x ւ̈ڍsvQ ہE
̃}jAɐVeׂ͒ljB ܂AWebLogic Server o[W 5.1 A灁Eȉ̕\Ɏ_ύX ܁E
gp@鋔\ |
]̋@\ |
־ |
---|---|---|
RMI hCo |
T3 hCo |
ł邩AT3 聃hCóE RMI hCogpӁERMI 遃hCȍڍׂɂẮAwWebLogic JDBC vO~O KChx́uWebLogic RMI hCo̎gv QƁB |
myDriver.connect() |
DriverManager.getConnection() |
|
Administration Console |
weblogic.properties t@C |
𐂷 Administration Console ͂gpӁE遁E Aweblogic.properties t@C͎gp ȁEBڍׂɂẮAwǗ҃KChx́uJDBC ڑ̊ǗvQ B |
weblogic.properties t@C |
JDBC ۑXg\ ́AIC wv́uJDBCڑv[vQ B |
JDBC ۊTv
JavaSoft JDBC ̎dlɁEWebLogic ̑w JDBC ŁEWebLogic JDBC gp AAvP[V WebLogic ©f烁[^x[XɃANZXŁEɂȁEBWebLogic ́AWebLogic JDBC g f[^x[X ANZXn 邳܂܂ȃT[rX wT[oiT|[gĂ܁EWebLogic JDBC g \zꂽ Java NCAgɂ́ANCAgTCh f[^x[X CuKv B
WebLogic JDBC AWebLogic Server ƃf[^x[X T[oƂ̊ԁEJDBC ŃhCoKvŁEWebLogic 2 whCoAWebLogic jDriver for Oracle gpӂł܁E܁EODBC ANZXp JDBC ̃hCoȂǁÁEJDBC ̃hCogpӂ邱ƁE܁EWebLogic Server DBMS ƂƂ̊ԂŁEWebLogic JDBC hCogpӁEA WebLogic JDBC 2 whCo 2 wŏ\ɓ삷邱ƂmFЂāE WebLogic JDBC ̃fvCT|[g B
WebLogic JDBC ̃A[LeN`
WebLogic JDBC ̃A[LeN`́AWebLogic ̑ẅꕔƂāEWebLogic ̂̃t[[NɁEutɁEĒ`苁EBWebLogic JDBC Server ́AWebLogic JDBC AvP[VƂ̃ANZX [g DBMS Ƃ̒ԂɈʒu܁EWebLogic JDBC AvP[V WebLogic Server ͂̃NCAgŁEWebLogic Server 聁EDBMS ͂̃NCAgƂȁEB̊WɁE2 ͂̑ʁE聂ǁEāEv B
WebLogic Server ƁEWebLogic JDBC ̃NCAgԂ̊WBe WebLogic JDBC NCAǵAWebLogic Ǝ̃ReLXgA܂胏[NXy[XفEĂ܁EWebLogic Server ƃNCAgƂ̊Ԃ̃vgŔAdꂽo ̔EŁET3Client WebLogic Server ƂƂ̐ڑ́ub`\PbgڑvŁA1 ETCP ̃\PbgځEѽ́E] ŁEՔIɂ́AWebLogic Server ͌I擂ȃpPbgx[X̃L[ vgRgpӂ܁ET3Client WebLogic Server ƂƂ̊W̏ڍׂɂẮAwJ҃KChxij́uWebLogic NCAg AvP[V́Ev QƂāE
WebLogic Server DBMS ƊԂ̊WBWebLogic Server ́AT3Client ɁEBāAJDBC hCoƃx_ CugpӁE1 Ă܂͕̃f[^x[XƂ̐ځEEEWebLogic Server ́AJDBC hCooRӂă[g DBMS ƁA JDBC ̃hCoɁEČ܁E遃x_ŗLCu܁EODBC ͂̂ꂩƒʐM܁EWebLogic Server DBMS ƊԂ̐ڑu2 wEڑvƂĂ܁EWebLogic Server ͕̃f[^x[XɐځE1 ăNCAg NGXgɉ邱ƁE1 B̃f[^x[Xɐڑĕ̃NCAg̃NGXgɉ邱ƁE܁E
܁EWebLogic JDBC NCAgƃNCAgANZXf郁[^x[XƁEIȊW̊ԂɁAWebLogic Server Ƃ B̊ẂAJDBC ڑIuWFNgɁEĒ`苁EBJDBC ڑ̍쐬 gp @͂EBWebLogic JDBC NCAǵAR vpeB 𐂵AKEJDBC ȃhCoەʂāAJDBC ځEفEJDBC ڑIuWFNǵAWebLogic Server T3Client ̃[NXy[XɃLbViۑjł܁EJDBC ڑ́AWebLogic Server ̋NɁA1 ܂͕̃NCAggp\Ȑڑv[ƂāEł܁E
WebLogic Server JDBC ̓AvP[VgΣ邳܂܂ȋ@\ E܁EWebLogic JDBC AvP[V̓ZbV̊Jn WebLogic Server ɂɐڑAZbV̏IɐځEKїv BWebLogic Server DBMS ƊԂ̐ڑ͓ߓIɁEB
wRtBO[Vł̃T[hp[eB JDBC 2.0 hCo̎g
: WebLogic Server o[W 6.0 ɁEJDK 1.3 ́EvŁE
WebLogic JDBC WebLogic Server Ƃł́AT[hp[eB JDBC 2.0 ̃hCogpӂ邱ƁE܁ȄꍇAWebLogic Server ܁EWebLogic JDBC ́EJava 2iJDK 1.2.xjEŁEsK镗v B݁AJDBC 2.0 hCogpӁEɂ́AJava 2 ̎gpɊւ鐧lӶK镗v B ́EɂẮAWebLogic ̃vbgtH[̃y[WŐ־Ă܁E
wRtBO[VŃT[hp[eB JDBC 2.0 ̃hCogpӁEAhCoĂяo 肷f郁[^́AWebLogic whCooRӂēߓIɓn B̂߁ÃhCoŎgp\ȂׂĂ̋@\ WebLogic ̑wRtBO[VŎgpŁEɂȁEB
JDBC 2.0 hCo𑽑wRtBO[VŎgp ́AR[h Ԃ悤ɕύX܁E
weblogic.t3.cacheRows=0
WebLogic JDBC API
API t@X
Package java.sql
Package java.math
Package weblogic.jdbc.common
WebLogic ́AR WebLogic JDBC g@\iwŁEWebLogic jDriver JDBC ̊g̈ꕔT|[gj JDBC g EE ̊g@\ɂāEAPÍiJavadocjhLgւ̃NɂẮAAPI t@XQ ہE
WebLogic JDBC IuWFNgƂ̃NX
: WebLogic Server Ӄo[W 6.0 ł́AJDBC 2.0 ܁E
JDBC ́EɂẮÅJ҃KChł͐־Ă܁EABEA ̂̑̃IC t@Xƈꏏ JavaSoft ɁEclassdocśiAPI t@X }jAj E܁EJavaSoft ̃TCg AJDBC NX API ̃}jARɃ_E[hł܁Ẽ}jAŐ־ WebLogic JDBC L̃IuWFNg NX́AWebLogic ̃t[[Ngpӂ܁E
WebLogic JDBC AvP[VɃC|[gN郃X͈ȉ̂ƁEB
̑̃NX
weblogic.common.T3Client
weblogic.common.T3User
weblogic.common.T3Exception
weblogic.common.*
pbP[Wɂ́AT3Client CX^X T3Client N郃XƁAWebLogic JDBC WebLogic ̃t[[Nŋ@\邽߂Ɏg T3 ŗL̃IuWFNg Ă܁ET3User NX±̃pbP[WɁEĂ܁ET3User IuWFNǵA[U pX[h ZLA WebLogic ServerA܁E胃NZX邽߂ɔFEvȃT[oɓn߂Ɏg ܁E
weblogic.jdbc.t3.Connection
java.util.Properties
JDK 1.3 ւ̃AbvO[h
WebLogic [X 3.0 ̏ꍇAWebLogic JDBC gpӁÉAJava Developers Kit ̃o[W 1.1 ɃAbvO[hK镗v BWebLogic ͌݁AJDK 1.0.2 T|[gĂ܁E1.0.2 JVM WebLogic Server sɂẮA݂̓T|[gĂ܁E A1.0.2 EWebLogic A郃vP[V̋N܂̓RpCɂāEL݂̓T|[gĂ܁E
JDK o[W 1.0.2 1.1 ᣈdvȕύX_́AJDBC NXijava.sql.*
j JDK 1.1 Ɋ܂܂ꂽƂŁEWebLogic ĂꎞI JDBC NX Zbgixjava.sql.*
weblogic.db.xjdbc.*
jȂƁEJDK 1.1 BgpӂŁEɂȁEB
AbvO[h@
xjava.sql.*
⨁E weblogic.db.xjdbc.*
Q Cσ|[g java.sql.*
E weblogic.db.jdbc.*
ɕύX܁EɁE܁E
import java.sql.*;
import weblogic.db.jdbc.*;
ځE: JDK 1.1 ׂgΤOɁAR[h ׂĂ̎QƁExjava.sql.*
Ejava.sql.*
ύX܂idbKona gΤꍁEAweblogic.db.xjdbc.*
ւ̎QƁEweblogic.db.jdbc.*
ύXK镗v jB C|[g̕ύX BۼExjava.sql.*
weblogic.db.xjdbc.*
NXւ̖IȎQƂ̃R[h`ÃFbNK镗v B
̐߂ɂ́E̗Ⴊ B
weblogic.jdbc.t3.Driver
XAWebLogic JDBC URLւ̎QƁEjdbc:weblogic:t3
X܁E
ځE: JDK 1.1 ׂւ̕ύXł́E̐VK̗p BV NXAweblogic.jdbc.t3.Driver
weblogic.jdbc.t3client.Driver
͂ƓŁẼNX́Axjava.sql.*
́E java.sql.*
gpӂ܁EWebLogic JDBC hCo URL ̂ւ̎QƁEjdbc:weblogic:t3 XAWebLogic JDBC hCõNX weblogic.jdbc.t3.Driver XK镗v B
WebLogic JDBC ́E
ł́AWebLogic JDBC AvP[V\zE EESR[h g āEPȃAvP[V́AWebLogic Server Oracle Ճf[^x[XɐڑāAAꘂ̃R[h̑}AXVAB EsAXgAh vV[W E gpȆ́EāABɁAXgAh vV[W ̐߂ŁASybase f[^x[XŎgR[hƓl̃R[hӁEEĐ־Ă܁E
ŁE5 ̂̎菇́AAvP[VɁEԂŐ־ A聏ɔԍt Ă܁E
WebLogic JDBC Oracle Ńf[^x[XgΤ߂̊SR[h Ã}jA̍ŁELځE܁E E־ŎgpĂR郁[h ܁E܁E
WebLogic Server DBMS ƂƂ̐ځEWebLogic jDriver 2 ɑwhCogpӂāEAgpe 2 銑whCówJ҃KChxQΏƂāE
菁E1. pbP[W̃C|[g
ȉ́E WebLogic JDBC AvP[VɃC|[g܁E
Properties IuWFNg DBMS قɃANZX邽߂̃p[^ ÉAjava.util.Properties
C|[g܁Eweblogic.common.*
pbP[Wɂ́AWebLogic t[[N @\邷ׂẴAvP[VɁEċL NX Ă܁E ̃NX̏ڍׂɂẮAWebLogic JDBC ƃNXQ ہE
\bh̍ŏɐڑIuWFNg EE try
ubN finally ƃubNŎgp B
܁E߁ET3Client ݁Estrong>gpӂȂꍇ́Atry
ubN̑O T3Client ɃIuWFNg EE[X 2.3.2 ŒljBꂽ߁ET3Client @\́Ajava.util.Properties
IuWFNgɕʂ̃vpeB E邱ƂŐݒ肳 B߁ET3Client ݂͎Iɍ\z ڑAꁑ́E߂ɖI T3Client ȃIuWFNgKvƂȁEӁEWebLogic JDBC ̃NXŎgpł܁E
菁E2. T3Client ̍쐬
I܂͖߁ET3Client ݂̎g
: ݁A[NXy[X́AWebLogic Server ̈ꕔł́EB
EɁAe WebLogic JDBC AvP[V́AT3Client IuWFNg̍쐬n玂܁Ei[X 2.3.2 ȍ~Ŏgp\Ȗ߁ET3Client @\gpӁEAT3Client Iɍ쐬 ꍁEjBT3Client ́AWebLogic Server ̃NCAgp̃NCAg ReLXgƂȁE聃NCAgƂ̃NGXg ԂɎʂ܁E܁ET3Client ́AWebLogic Server Ǝ̃[NXy[X֗LAŌpI WebLogic Server ȃZbVɍ킹 T3Client Ďg \αƂł܁EWebLogic JDBC AvP[VɑẮAT3Client JDBC ͐ڑ̃RXgN^ɓn vpeB 1 ̂ł B
T3Client NXAweblogic.common.T3Client ɂ́AWebLogic JDBC ŎgpR郃XgN^ ̃\bh܂܁E܁EVK T3Client ́EαƁEBłɍ쐬ꂽ[NXy[X \ T3client قO ߂ƁE܁ENCAg̃[NXy[Xɂ́AAꘂ̃LbV JDBC ڑ܂܁E܁E ̐ڑ́AQꌁEWebLogic JDBC ̃NCAggpŁE WebLogic Server ɂɊi[ B
ׂāET3Client ̃RXgN^ɂ́AȂƁE1 ́EWebLogic Server 䁁EURL ́EiIvVŃ|[g 80 ȊȌꍇjWebLogic Server T3Client ڑNGXgX TCP |郁[gKvŁEURL ͎̃tH[}bgŕ\ B
accessProtocol://WebLogicServerURL:port
accessProtocol ́AuT3Client AvP[V̍쐬vɋLځEv郃gR̂ꂩŁEt3i\AdMAA⻂đo ̐ڑɁEW T3Client ANZXjAt3siSSL ŔFEsΤ T3Client ANZXjAhttpigXt@CAEH[p HTTP ̃glOɁE T3Client ANZXjȂǂŁE
WebLogicServerURL ́AY}郃VœKȔCӂ̕@ ߂܁Eport ́AWebLogic Server T3Client ̃OC NGXgXāE郁[gŁE
T3Client \zE҂܁E
T3Client t3 = null;
try {
t3 = new T3Client("t3://bigbox:7001");
e T3Client ́AWebLogic Server [NXy[XفE̒ɃReLXgi[ЁE ėp܁ET3Client ̍쐬Ƀ[NXy[XɖOt邱ƁE܁EOtĂƁA[NXy[X̍ėpȒPɂȁEB܂́AT3Client ̐ځEftHg̃[NXy[X αƁE܁E[NXy[X͓rWlX AvP[V ν߂֗̕ȃfŁE[NXy[X̏ڍׂɂẮAuWebLogic Workspaces ̎gv QƂāE
WebLogic JDBC NCAgpƂāAO̕t[NXy[X́ÉAf[^x[XiconnectionIDjւ̃LbV JDBC ڑւ̃ANZXłȁEn[hA\tgA AChɁEڑؗpɐݒ肳ꂽl ܁E܁E܁ET3Client ́AString L[ŎʁECӂ̃IuWFNg[NXy[XɊi[ĂāA oƁE܁E
ėp\ȃ[NXy[X @ 1 т́A[NXy[XɖOt邱ƂŁÊ߂ɂ́AT3Client \zEɁA String ĖRXgN^ɒ܁EɁE܁E
t3 = new T3Client("t3://bigbox:7001", "mike");
ėp\ȃ[NXy[X ѕ@ AT3Client ̃ftHg̃[NXy[X String ID ́EEƂŁEėp ́Egpł܁E[NXy[X ID ̂́AT3Client WebLogic Server ɐځEgp\ɂȁEBɁE܁E
t3 = new T3Client("t3://bigbox:7001");
t3.connect();
String wsid = t3.services.workspace().getWorkspace().getID();
ȉ̂悤ɁA[NXy[X IDi܁ET3Client ̖͂OjgpӂāAV T3Client ق܁E
t3.disconnect();
t3 = null;
// uwsidvgpӂčĐځEbr> System.out.println("Reconnecting client " + wsid);
t3 = new T3Client("t3://bigbox:7001", wsid);
t3.connect();
̃[NXy[X ID ƁEvȁE WebLogic Server ݂ɂȁET3Client ꂽꍇAV[NXy[X Ƃ݂ȁEꁒEVOt B
WebLogic Server ł́EIΦ Afinally ubN disconnect()
Ń\bh ؏oāANCAg̃\[Xj K˩їv i̍ŁE菇QƁjB
T3Client IuWFNg AT3Client ΐڑ̃^CAEg 𐂂BWebLogic ́An[hڑiWebLogic Server ƃNCAgƂ̃\Pbg j \tgiT3Client disconnect()
\bh ؏oƂɁEĐڑv𗋁j̃^CAEgT|[g܁Ê悤ɁA ̃^CAEg i𐁕PʁjāAWebLogic Server ŁET3Client ̃IuWFNg̃N[Abvx ÈƂł܁E
t3.setSoftDisconnectTimeoutMins(5);
n[hڑEÃtgڑECftHgŁEWebLogic Server ́ET3Client ̃\[XN[Abv܁E ̒l T3Client.DISCONNECT_TIMEOUT_NEVER
Β肵āA^CAEgEɂ邱ƁE܁E
ڑ^CAEg 𐂷 AWebLogic Server R ̐ڑ̌AT3Client ぁ@̃\[XiBɃ[NXy[XjN[Abvijj ܂ł̎Ԃw ܁ET3Client ̃\tgڑ̃^CAEg DISCONNECT_TIMEOUT_NEVER
Β肷 A{IɁAT3Client WebLogic Server ͂삵Ă邩L藁EȁEB
WebLogic Server Z胃bVmӧAWebLogic Server 灁E DBMS Ղɐڑv郃ZXJnڂł܁Eڑp[^ 𐂷 ́AJDBC Properties IuWFNggpӂ܁E
Properties IuWFNgɂ́AJDBC ڑɕKvȂׂẮE܂܁E܁Eڑ̃Zbg T3Client ͂̃[NXy[XɃLbVł܁ET3Client ́AgetConnection()
\bh s ALbVڑ̂ꂩ connection ID gėvł܁EConnection ID ́AProperty 𐂷邾ō쐬ł܁Ew肵 connection ID Aꂪgp BłȂꍇ́AV connection ID EAꁁEꏁEJDBC ɐڑׂ̂āEProperty ́EہEBLbVځEp ٕKvȁE connection ID ͂ŁEconnection ID AProperties IuWFNǵEB
Properties ɂ́AWebLogic JDBC NCAgf[^x[X WebLogic Server ɃANZX @ɂĂ̏ڍׂ܂܁E܁EProperties IuWFNg\z ƁAvpeBƁEString ̒lƁE2 ́Ew肷邱ƂɁEāAput()
\bhŔCӂ̐̃vpeB 𐂂B́Eݒ肵Ăv郃peB́AWebLogic JDBC hCoŎgp Bgp JDBC h郃CoɕKvȂǂ̂悤ȃvpeBŁE߂邱Ƃł܁E
ł́A2 EProperties ̃IuWFNggpӂ܁E1 ځEdbprops ͂ŁAWebLogic Server DBMS ƂƂ̊Ԃ̐ڑ̃p[^ 𐂵܁E 2 wڑŁE
2 ځEProperties ̃IuWFNg t3props ͂ŁAWebLogic JDBC NCAg DBMS ƂƂ̊ԁEWebLogic Server ɁEڑ̃p[^ 𐂵܁E wڑƌĂт܁EWebLogic Server-DBMS Properties IuWFNgidbpropsj́Aꎩ́EWebLogic JDBCClient-WebLogic Server-DBMS Properties IuWFNgit3propsjɂȁEJDBC 聐ڑRXgN^́EĎgp B
WebLogic Server DBMS Ƃ̐ڑi2 wڑjA WebLogic JDBCClient DBMS Ƃ̊ԁEWebLogic Server ɁEڑiwڑĵ߂̃p[^ 𐂷 ́Ajava.util.Properties
IuWFNggpӂ܁EProperties IuWFNǵAgetConnection()
\bh́EĎgpł܁E
邽߂ɁAProperties A2 wEڑpƑwڑp 2 ̂̃XgɕāEB
2 wڑpɐݒ肷v郃peB
IvVŐ݁E 2 w鑐ڑp̃vpeB Bȉ̃vpeB́E1 ̂ŁE
ResultSet.next()
ٌĂяoƁEPsꍁEoۂ̂ł͂ȁEs̔z A Ɋi[܁E ~Anext()
؏oƁAɊi[ꂽsǂݏo B́E sȂȁEőAsȂȁEAnext()
ւ̌Ăяo̓f[^x[Xɖ߁EB
weblogic.t3.cacheRows Ƃʂ̃vpeB B AWebLogic Server ŃR[hobt@O邽߂̑wLbṼTCYÊŁE ̃vpeBɂ͊֘A AɎgp Ƃ B
wڑpɐݒ肷v郃peB
߁ET3Client ݂gpӁEÃvpeB͐ݒ肵܁E/strong>B ᤁEAvpeB weblogic.t3.serverURL 𐂵܁E Aߍ݃NCAgځEWebLogic Server w肵܁E
Class.forName().newInstance()
Ń\bh́EĎgp B́Egph郃CóAWebLogic jDriver for Oracle lCeBu JDBC hCoŁEhCõNX͑啶/ ׂĎʁEBׂẴNXƓlÃNX̓hbg\LŁE
DriverManager.getConnection()
E\bh̍ŏ́EĎgp B́ÉAWebLogic jDriver for Oracle g Oracle f[^x[XuDEMOvɃANZXĂ܁ET[o EEꍇAVXe͊ϐiOracle ̏ꍇ ORACLE_SID́jT𒂵܁EURL ͑啶/ ׂĎʂ܁EURL R B
WebLogic 2 wlCeBu hCo URL ͈̂ȉ̂ƁEB
getConnection()
\bh́E connection ID Ăw Ajava.util.Properties IuWFNgw肵̃vpeB́Aconnection ID WebLogic Server ɑ݂Ȃꍇɂgp B
NCAg ResultSet.next()
ٌĂяoƁEWebLogic ́ADBMS s獂̃ob` A 1 ՉŃNCAg JVM ɓ]܁E ~AResultSet.next()
؏oƁAWebLogic ؏oƂȁENCAg̃ɂs鍁Eo BNCAg̃ɃLbV s鍂ȂȂƁAResultSet.next()
ɑ鎟̌Ăяo WebLogic ͂ɓnAWebLogic ꁂ͍Ăэs̃ob` ڃNCAg̃LbVɁEB
vpeB weblogic.t3.cacheRows gpӁEAob`Ɏ擾s鍁E 𐂂B̃vpeB̃ftHgl͍ŁE10 sŁE[X 2.5 25 ōsɑB BTCY ́ÃvpeBw ELbVItɁÉAvpeB̒l 0 Β肵܁E0 ɐݒ肷 Anext()
܁EgetXXX()
̓\bh ؏oтɁAT3Client ƃf[^x[XƂ̊ԂŕK 1 ܁E
AvP[V DBMS Ƃ̑gݍ킹ɁEẮAWebLogic AKAR[hNCAgɒړnȁEȁEꍁE BƂAAvP[VJ[\ԗāEA擾O̍sf[^́ANCAg̃J[\ʒu DBMS ƃhCõJ[\ʒúEڌ덷܁EAvP[V̏ꍇAweblogic.t3.cacheRows vpeB[iu0vjɐݒ肷 AKvȁEł܁E
NǦʁEResultSet oOAڑIuWFNgł̃vpeBZbg邱ƂɁEāAcacheRows vpeBNĜтɒł܁Eweblogic.jdbc.t3.Connection.cacheRows() ɁEWebLogic JDBC g@\g A݂̒l AVlڐݒ肵܁Eʂ́AZbg ܂Ō݁EcacheRow ̐݁EăLbV B
WebLogic jDriver for Oracle gpӁEA2 wvpeB weblogic.oci.cacheRows ՁAOracle ̔ztFb`@\ɃANZXł܂i̋@\̏ڍׂɂẮAWebLogic jDriver for Oracle p̊J҃KChQ ۂjB̃vpeB weblogic.t3.cacheRows ͂Ɉˑ܂A҂Ԃƃf[^x[Xׂ̕E邽߂ɁAvpeB ԎgpĂ©܂܁E
ƂAڋq ɃANZX邽߂̐ڑɁE 2 ̃vpeB EÉÂ悤ɂ܁E
Properties t3props = new Properties();
t3props.put("weblogic.t3.name", "CustInfo");
t3props.put("weblogic.t3.description",
"customer info connection");
́E 𐂷 AWebLogic Console ̕\LvŎg₷ ƂȁEB
L㋈ȊOɁA¤ 1 vpeB B̃vpeB͐ڑv[ JDBC ɃANZXv郃peBȂ̂ŁÃvpeB gΗppx́EB̃vpeB 𐂵ꍇAڑ̂̑̑͐ڑv[EꂽƂɐݒ肳 ̂ŁAݒ肷K镗v B̃vpeB́AʏÃvpeBȂƂɎgp܁E
weblogic.properties
t@C̃GgɁEājڑv[E K镗v B
p[^́A2 E/strong>̐ڑɑĐݒ肷K镗v邱Ƃ𗝉ퟋтĂāE
́ÉA܁EOracle p WebLogic lCeBu JDBC hCoAWebLogic jDriver for Oracle g Af[^x[X T[oiuDEMOvj Oracle f[^x[XiumydbvjɐځE2 w鑐ڑvpeB 𐂵܁E
Properties dbprops = new Properties();
dbprops.put("user", "sa");
dbprops.put("password", "");
dbprops.put("server", "DEMO");
dbprops.put("database", "mydb");
ɁAwvpeB 𐂵܁EwvpeB́E1 ́A2 w Properties IuWFNgŁEwvoC_̈ꕔƁEconnection ID Ăw E connection ID ̂łɑ݂āEi Properties Zbgjw Ȃ̃vpeB́Aconnection ID ƂƁEi[ ŁEB
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
t3props.put("weblogic.t3.driverClassName",
"weblogic.jdbc.oci.Driver");
t3props.put("weblogic.t3.driverURL",
"jdbc:weblogic:oracle");
t3props.put("weblogic.t3.connectionID",
dbconnid);
t3props.put("weblogic.t3.cacheRows", "100");
t3props.put("weblogic.t3.name", "CustInfo");
t3props.put("weblogic.t3.description",
"customer info connection");
hCõNX URL Ƃ̃tH[}bg͈Ⴂ܁ENX̓hbgŁEAURL 聂̓RŁE B
URL gpӁEWebLogic JDBC vpeB̐݁E/p>
J芔ɁEẮAwf[^x[XɃvpeB 𐂷 Ajava.util.Properties
IuWFNg̎gp ꍁEBƂAPowersoft PowerJ ̂ł́AProperties IuWFNg DBMS [UpX[h̐݁Egpł܁EWebLogic AWebLogic JDBC ڑɕKvȂׂẮE 𒂽߁EURL ɃXL[WĂ܁EURL gpӁEWebLogic JDBC ڑvpeB̐݁EڍׂɂẮA
JDBC ڑ̃vpeB 𐂷邽߁EURL ̂̎g T3 hCo̎g QƂāE
WebLogic JDBC v胃O A̖ړIŖI T3Client ȃIuWFNgKvƂȂꍇ́A߁ET3Client ݂gpӂł܁E߁ET3Client ݂́AEAڑA ڑEɍs ܁E߁ET3Client ݂gpӂ邽߂ɕKvȁÉAjava.util.Properties
IuWFNgɁAWebLogic Server URL ́E 𒕃vpeB 𐂷邾ŁE
ȉ́A߁ET3Client ݂gpӂȒPȁEB́ÉAJDK 1.1 Ŏgp weblogic.jdbc.t3.Driver
gp܁E ́Ajava.sql
JDBC NXׂĊ܂܁E܁ÉÉAT3Client IuWFNg E͍\z܁E
@Class.forName("weblogic.jdbc.t3.Driver").newInstance();
@// DBMS ڑ邽߂̃vpeB 𐂷
@Properties dbprops = new Properties();
遁@dbprops.put("user", "scott");
@dbprops.put("password", "tiger");
@dbprops.put("server", "DEMO20");
@Properties t3props = new Properties();
@t3props.put("weblogic.t3.dbprops", dbprops);
@//WebLogic URL ́E𐂵Ė߁ET3Client ݁E
@t3props.put("weblogic.t3.serverURL","t3://localhost:7001");
́@t3props.put("weblogic.t3.driverClassName",
@ "weblogic.jdbc.oci.Driver");
@t3props.put("weblogic.t3.driverURL",
@ "jdbc:weblogic:oracle");
@t3props.put("weblogic.t3.cacheRows","10");
@Connection conn =
@ DriverManager.getConnection("jdbc:weblogic:t3", t3props);
@Statement stmt = conn.createStatement();
@stmt.execute("select * from empdemo");
@ResultSet rs = stmt.getResultSet();
@while (rs.next()) {
@ System.out.println(rs.getString("empid") + " - " +
@ rs.getString("name") + " - " +
@ rs.getString("dept"));
@}
@ResultSetMetaData rsmd = rs.getMetaData();
@stmt.close();
@conn.close();
}
܁EvpeB weblogic.t3.connectionPoolID 𐂷 A߁ET3Client ݁EWebLogic JDBC v[ JDBC gpӁEݒ肷邱Ƃł܁Eڑv[ JDBC gpӁEAweblogic.t3.serverURL vpeBƂƁEAv[ v𗋁邽߂̃vpeBKvŁEv[̏ڍׂɂẮÃ}jÁuڑv[̎gv QƂāE
T3Client WebLogic Ƃ̃ZLeBEAT3User Ƀ[UƃpX[h 𐂷K镗v ցEET3Client ݂gpӂł܁EɁE܁ÉEAweblogic.properties
t@CɁAT3UserudevelopmentvÃv[ ڑureservevE鋖ƂƁEljB v[uengvւ̃ANZX 𐂵܁E
weblogic.password.development=3Y(sf40!VmoN
weblogic.allow.reserve.weblogic.jdbc.connectionPool./
eng=development
́EA̐ڑv[ ڑ߁ET3Client ݂Ŏgp @҂Ă܁E
Properties t3props = new Properties();
t3props.put("weblogic.t3.serverURL",
"t3://localhost:7001");
t3props.put("weblogic.t3.connectionPoolID", "eng");
t3props.put("weblogic.t3.user", "development");
t3props.put("weblogic.t3.password", "3Y(sf40!VmoN");
f[^x[X T[ȍꏊȂǁAڑ̂̑̃vpeBׂ͂āANɐڑv[ weblogic.properties tσ@C̃RtBO[V GgɁEĐݒ肳 BzzLbgɕtv郃peB t@Cɂ́Aڑv[̃GgiRgAEg ܂j̗Ⴊ B
WebLogic JDBC NCAg͒ڃf[^x[XɐڑAT3Client ́E f[^x[XɃANZX WebLogic Server ڑ܁E2 wڑiWebLogic Server DBMS Ɗԁj wڑiWebLogic JDBC NCAgAWebLogic ServerA DBMS ԁj́E JDBC hCo Kv B2 wڑ̃NX URL ́Ałɐ־悤 Properties ɃIuWFNgŐݒ肵܁E
WebLogic JDBC NCAgAWebLogic ServerA DBMS Ԃ̐ڑ̏ꍇAwځE WebLogic JDBC hσCõNX URL EE
WebLogic JDBC hCõNX́AClass.forName().newInstance()
\bhNX weblogic.jdbc.t3.Driver ŌĂяo܁EClass.forName().newInstance()
vpeB ؏oƁAhCõNX[hoꓘ^ B
̃hCo URL jdbc:weblogic:t3 ́EDriverManager.getConnection()
\bh́EĒ܁E
́ÉAClass.forName().newInstance()
\bhg WebLogic JDBC hCoەʁE[h܁EɁAWebLogic JDBC hCo URL ́E Properties IuWFNg JDBC ŐځEفE
// WebLogic JDBC ̃NX
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
Connection conn =
DriverManager.getConnection("jdbc:weblogic:t3",
t3props);
ڑmӧi遂܁EJDBC 聐ڑIuWFNg\zj遂ƁAWebLogic JDBC \bh JDBC EƓ悤Ɏgpł܁E
LbVڑƐڑv[
WebLogic ́AxgΗpŁEJDBC T3Clients ܁EDBMS ɃOC ́AׂΞԂ© BĎgpŁE ADBMS ɐڑ邽߂ׂ́̕AځE 1 EE݂܁EWebLogic Server ́AxgΗpŁEɁAڑJ܂܂ɂ܁E
ĎgpŁE 2 ́E BOtLbV JDBC ڑƐڑv[ŁE
LbV JDBC ڑ͍쐬Aꁎgp A灁EgpŁE T3Client ɂ̃[NXy[XɊi[ BJDBC ڑLbVĂƁAڑퟧٓx 邽߂ׂ̕ɍς݂܁EALbVڑ́AI ̓f[^x[X \[X E邱ƂɁE BJDBC ڑLbV ȂŜ́Ei[ B
JDBC ڑ̃v[́AWebLogic Server NƂɁAJDBC ڑv Oɍ쐬 AT3Client. ɁEēIɍ쐬 Bweblogic.Admin
NX create_pool ̃R}hgpӂāAIɍ쐬邱ƁE܁E
T3Client WebLogic Server ɐځEAڑv[EŁEIɖ߂Ƃł܁Eڑv[ قƂ́AȁE[Xif[^x[XڑȂǁj̃NCAgɊ蓖āEȕ@ BׂĂ̐ڑ蓖āEꍁEAڑ̍ő吔܂Ńv[Bł܁E܁EOtv[Ƀ[U O[vЂ蓖Ă邱ƁE܁Eڑv[́E쐬 xŁEgpŁEŁAWebLogic Server DBMS ځE ΕׁE𗂦邱Ƃł܁E
ڑv[ƃLbVڑ͈Ⴂ܁ELbV JDBC ڑ͓R T3Client ɁEč쐬AJDBC ꁐڑɊցÉׂAT3Client ̂̃[NXy[XɊi[ BLbVڑL ̂́AT3Client ̗L ԂŁEWebLogic Server T3Client ̂̃\[XN[ Abv ALbVڑ͔j ܁E
Aڑv[́AǁET3Client ̂gΗpł܁Eڑ̗L Ԃ́AT3Client ̗L ԂƂ͊W BT3Client ڑv[̐ڑN[Y A̐ڑ̓v[ɖ߁EꁁET3Client ̂gpŁEԂɂȁEB܁E聐ڑ́E̓N[Y B
LbV JDBC ځEڑv[̍쐬 gp@ Ĉȉŏڂ־܁E ́ABɁuNCAgTChvځEڑv[ŁEʁEWebLogic JDBC ̊g@\Ep AHTTP T[ubgAT3Client ⁂gpӂȂ̑̃AvP[VɎgp邽߂̃T[oڑv[ ق܁ET[oTChڑv[̏ڍׂɂẮAJ҃KCh́wWebLogic HTTP T[ubg vO}[Y KChxQ ہE
OtLbV JDBC ڑ̎g
JDBC AOtāAWebLogic Server T3Client ̃[NXy[XɃLbVĂƁA JDBC ̐ڑ͍Ďgpł܁ET3Client ̃LbV JDBC ڑ́AT3Client WebLogic Server 葶܁ẼLbV JDBC ڑ̗L ԂEɁÉAT3Client ̃\tgڑ^CAEg DISCONNECT_TIMEOUT_NEVER Β肵܁ELbV JDBC ڑ̗L ԂEɁEAT3Client ́AWebLogic Server AWebLogic Server ̗L Ԃ́E葶郏[NXy[XقƂɂȁEB\tgڑ^CAEg never Β肷 AT3Client.disconnect()
\bh ؏o T3Client āEāEWebLogic Server B T3Client ͂̃\[X̕Ԋ҂v𗋁܁E
̃NXɁAĎgpŁE遖Ot JDBC ځEفEOt JDBC ڑ́Ajava.util.Property
connectionID Ŏʂł܁E
̃NXɁE2 ͂̃\bh BJDBC ځE Ύgp邽߁Estatic getConnection()
̃\bh main()
ƂŁE܁EgetConnection()
\bh̃R[hɂĐ־܁E
̃\bh JDBC ͐ڑIuWFNg EEWebLogic Server ɂłɑ݂v郃peBuconnectionIDv 𒍇AOC ANZXȂǂ̂̑̃vpeBׂ͂ĖAꁃf[^x[Xւ̐ځEgp ΕKvȂׂẮE LbV JDBC ڑgp B
@static Connection getConnection(T3Client t3, String dbconnid)
@ throws Exception
@{
@ // connectionID w AWebLogic Server EconnectionID ́Ebr>@ //݂Ȃꍇɂ̂݁A
@ //̃vpeBgp B
@ // connectionID ݁EA̒ĺE
@ Properties dbprops = new Properties();
@ // 2 wvpeB 𐂷
@ dbprops.put("user", "scott");
遁@ dbprops.put("password", "tiger");
@ dbprops.put("server", "DEMO");
@ Properties t3props = new Properties();
@ // connectionID ֑wvpeB 𐂷
@ t3props.put("weblogic.t3", t3);
遁@ t3props.put("weblogic.t3.dbprops", dbprops);
@ t3props.put("weblogic.t3.driverClassName",
@ "weblogic.jdbc.oci.Driver");
@ t3props.put("weblogic.t3.driverURL",
@ "jdbc:weblogic:oracle");
@ // dbconnid LbV A ł̃vpeB
́@ // ׂāEBڑ͂ɁE
@ t3props.put("weblogic.t3.connectionID", dbconnid);
遁@ Class.forName("weblogic.jdbc.t3.Driver").newInstance();
@ return DriverManager.getConnection("jdbc:weblogic:t3",
@ t3props);
@}
̃R[h ́Aȉ̎菇 sځE
T3Client t3 = new T3Client("t3://localhost:7001");
t3.connect();
t3.setSoftDisconnectTimeoutMins(T3Client.DISCONNECT_TIMEOUT_NEVER);
String wsid = t3.services.workspace().getWorkspace().getID();
ɁAgetConnection()
\bhumyconnvEƂOw ΌĂяoƂɁEāAOracle f[^x[Xڑ邽߂̖Ot JDBC ځEفE
System.out.println("Logging into database and " +
"saving session as myconn");
Connection conn = getConnection(t3, "myconn");
ŁAT3Client āAnull ɐݒ肵܁E\tgڑ^CAEg never Ȃ̂ŁAWebLogic Server ́ÃNCAg̃[NXy[X Ot JDBC ځEցE[X EE
t3.disconnect();
t3 = null;
ɁAŏ̃NCAg̃[NXy[X ID قV T3Client αƂɁEāAWebLogic Server ɍĐڑ܁E AT3Client كNCAgō쐬[NXy[XɍăN܁Ẽ[NXy[Xɂ́AumyconnvƂOŃLbV JDBC ڑi[ ܁E
AgetConnection()
\bhumyconnvEƂOw ΌĂяoƂɁEāAOracle f[^x[Xւ̐ځEJق܁EڑɕKvȂׂẴp[^͂łɑ݂Ă܁ECӂ̃f[^x[Xs JDBC ΐڑIuWFNg EE
t3 = new T3Client("t3://localhost:7001", wsid);
t3.connect();
for (int j = 0; j < 5; j++) {
System.out.println("Reestablishing database connection");
conn = getConnection(t3, "myconn");
System.out.println("Performing query");
QueryDataSet qds = new QueryDataSet(conn, "select * from emp");
qds.fetchRecords();
System.out.println("Record count = " + qds.size());
qds.close();
}
conn.close();
T3Client ̃\[XgpӁEIAT3Client 灂̃\tgڑ^CAEg zero ƂŁAWebLogic Server ̃\[X̕Ԋ҂v𗋁ŁEɂ邱Ƃł܁E AT3Client disconnect()
\bh ؏oƁAɃN[Abv
s BɁE܁E
t3.setSoftDisconnectTimeoutMins(0);
t3.disconnect();
ڑv[̎g
̂¤ 1 ̕@ AJDBC ڑ̃v[ ŁET3User ̓v[ v𗋁ł܁Eڑv[ ` 𒂁Aweblogic.properties
t@CŒ`苂邩AuX^[gAbvvځE؏oA܁ET3Client ̓AvP[V©A灁Es WebLogic Server ̂ɁuIɁvڑv[ فE
JDBC ڑ̃v[ قƁAT3Client ͂łɊJāEɂɃANZX邱Ƃł܁Ev[̐ڑ́AO[ṽo[ɁEċL ̂ŁAe DBMS [UVڑJέׂɍς݂܁E
X^[gAbvڑv[̍쐬
X^[gAbvڑv[́Aweblogic.properties
t@CŐ錾 BWebLogic Server ́AWebLogic ̋NɃf[^x[XɑEJDBC JΫAڑv[ɒljB܁E
X^[gAbvڑv[́Aweblogic.properties
t@C̈ȉ̃p^[́EGgŒ`苂܁EzzLbgɕt̃vpeB t@ĆuJDBC Connection Pool Management:vƂỏɁEĐ־ ܁E
weblogic.jdbc.connectionPool.VirtualName=\
url=JDBC driver URL,\
driver=full package name for JDBC driver,\
loginDelaySecs=seconds between each login attempt,\
initialCapacity=initial number of connections in the pool,\
maxCapacity=max number of connections in the pool,\
capacityIncrement=number of connections to add at a time,\
allowShrinking=true to allow shrinking,\
shrinkPeriodMins=interval before shrinking,\
testTable=name of table for connection test,\
refreshTestMinutes=interval for connection test,\
testConnsOnReserve=true to test connection at reserve,\
testConnsOnRelease=true to test connection at release,\
props=DBMS connection properties
weblogic.allow.reserve.weblogic.jdbc.connectionPool.name=\
T3Users who can use this pool
weblogic.allow.reset.weblogic.jdbc.connectionPool.name=\
T3Users who can reset this pool
weblogic.allow.shrink.weblogic.jdbc.connectionPool.name=\
T3Users who can shrink this pool
[U AEŁE܁EȗłȁE͕K{ƋL ܁EK{̒l BꍇAWebLogic Server ͋NɗOኂ𑗏o܁E
̃vpeB́EȒPȐ־ Ԏ܁E
select count(*) from
testTable eXgɎgp BtestTable ́AK
݁E̐ڑ̃f[^x[X [UANZXŁÊłȁEȁEB Ef[^x[X T[óESQL ́EKفAe[u XL ܁E AtestTable BAsEȂi܂͂܁EȂje[u̖Oɐݒ肷邱Ƃ͗LvŁE
tbVL 𗌂 ́ArefreshTestMinutes eXgEE̕ɐݒ肵܁Eŏl 1 ͂ŁE refreshTestMinutes l 𐂵ꍇAl̓ftHg 5 ŕɂȁEB f[^x[X e[ueXgɎgp ́AtestTable փf[^x[X e[u̖Oɐݒ肵܁EtbV@\L 𗌂 ́ArefreshTestMinutes testTable Ƃ́EvpeB 𐂵ȁEȁEB
́EAWebLogic zzLbgɕt weblogic.properties
̃t@C B ŁA3 ET3UseŕiGuestAJoeAJilljANZXłueng遁vƂO̐ڑv[ فÉEŁE4AŁE10 Oracle f[^x[XցEJDBC ̐ڑAEEUuSCOTTvApX[hutigervAT[ouDEMOvŊ蓖Ă܁EWebLogic Server ́AOa lbg[NŃ[hꂸADBMS 烍OC͔ہEƂȂ悤Aڑퟸڂ݂邲ƁE1 ɕbԃX[v ȁEBڑv[́Av[ ځE15 ȏg㎗p AځE4 Ζ߂܁E10 Ƃɖgp̐ڑeXgAꁌÂȁEĂ܁E ̓tbV B
weblogic.jdbc.connectionPool.eng=\
url=jdbc:weblogic:oracle,\
driver=weblogic.jdbc.oci.Driver,\
loginDelaySecs=1,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshTestMinutes=10,\
testTable=dual,\
props=user=SCOTT;password=tiger;server=DEMO
weblogic.allow.reserve.weblogic.jdbc.connectionPool.eng=\
guest,joe,jill
weblogic.allow.reset.weblogic.jdbc.connectionPool.eng=\
joe,jill
weblogic.allow.shrink.weblogic.jdbc.connectionPool.eng=\
joe,jill
[ŨpX[h null ̏ꍇAڑv[o^̃pX[hɁE ŁÂ܂܂ɂĂāÉEAWebLogic Ǘ҃KCh properties ́EB ŁE
weblogic.jdbc.connectionPool.eng=\
url=jdbc:weblogic:oracle,\
driver=weblogic.jdbc.oci.Driver,\
loginDelaySecs=1,\
initialCapacity=4,\
capacityIncrement=2,\
maxCapacity=10,\
props=user=sa;password=;server=demo
weblogic.allow.reserve.weblogic.jdbc.connectionPool.eng=guest,joe,jill
Iڑv[̍쐬
WebLogic [X 4.0 JNDI x[X API ̂ł́AT3Client AvP[V ڑv[ αƂł܁E API ̂gpӁEAłɁEs WebLogic Server ڑv[ ق܁E
Iv[͈ꎞIɁEł܁E Av[ ǂ̐ڑłfÁ[^x[X T[oƂ̒ʐMTXyh B v[L 𗌂ꍇAeڑ́Ev[EƂƓȂ̂ŁANCAg͒fꂽƂ납f烁[^x[X pł܁E
weblogic.properties
t@C̃vpeBAweblogic.allow.admin.weblogic.jdbc.connectionPoolcreate
́AIڑv[ ق郆[Uw ẼvpeBݒ肳 ȂꍇAusystemv[UIڑv[ ق܁E
ƂÃvpeB́A[Uujoev ujanevɓIڑv[̍쐬҉܁E
weblogic.allow.admin.weblogic.jdbc.connectionPoolcreate=joe,jane
Iڑv[ ACL ɁE Aweblogic.allow.reserve.
ACLname Gg weblogic.allow.admin.
ACLname Gg weblogic.properties
t@CɒljB܁EƂAȁE2 ̂̃vpeB́AudynapoolvƁEACL `EAueveryonevO[vׂ̂Ẵ[Uɐڑv[̎gp҉E[Uujoev ujanevɐڑv[̊Ǘퟭ҉܁E
weblogic.allow.admin.dynapool=joe,jane
weblogic.allow.reserve.dynapool=everyone
Iڑv[ AACL ̐ڑv[Ɋ֘At ܁EACL Ɛڑv[͓OŁE镗v͂ȁE̐ڑv[ 1 EACL ̂gpӂ邱Ƃł܁EACL w ꍇ́usystemv[Uv[̃ftHg̊Ǘ[UƂȁE聂܂ǂ̃[UvÁ[ ڑgpӂł܁E
T3 AvP[V̒œIڑv[ A܁EWebLogic JNDI voC_ւ́EJNDI R㓃eLXg Aځuweblogic.jdbc.common.JdbcServicesvbNAbv܁ÉEA̕@ ܁E
Hashtable env = new Hashtable();
env.put(java.naming.factory.initial,
"weblogic.jndi.WLInitialContextFactory");
// WebLogic Server URL
env.put(java.naming.provider.url, "t3://localhost:7001");
env.put(java.naming.security.credentials,
new T3User("joe", "joez_secret_wrdz"));
Context ctx = new InitialContext(env);
// weblogic.jdbc.JdbcServices ̂ퟌ׃bNAbv
weblogic.jdbc.common.JdbcServices jdbc =
(weblogic.jdbc.common.JdbcServices)
ctx.lookup("weblogic.jdbc.JdbcServices");
weblogic.jdbc.JdbcServices [hAweblogic.jdbc.common.JdbcServices.createPool()
灃\bhɃv[LqہEProperties I郃uWFNgɓn܁EProperties IuWFNgɂ́Aweblogic.properties
t@CŐڑv[ ν߂ɎgpvpeBƓvpeB܂܁E܁EAuaclNamevvpeB́AIڑv[ɌŗĹEŁE
ȉ́ÉAOracle f[^x[X DEMO pɁueng2vƂڑv[ ق܁E̐ڑ́AutigervƂpX[hق[UuSCOTTvƂăf[^x[XɃOC܁Ev[E ƁAf[^x[XځE1 J܁Ẽv[ɂ́AځE 10 ̬邱Ƃł܁EuaclNamevvpeBɂ́A̐ڑv[ŁEweblogic.properties
̓t@ĆudynapoolvACL gp Ƃw肳 ܁E
weblogic.jdbc.common.Pool pool = null;
try {
// ڑv[̃vpeB 𐂷B
// 遃vpeB́Aweblogic.properties t@C
// ŋNڑv[̒`苂Ɏgp ƁEbr> Properties poolProps = new Properties();
poolProps.put("poolName", "eng2");
poolProps.put("url", "jdbc:weblogic:oracle");
poolProps.put("driver", "weblogic.jdbc.oci.Driver");
poolProps.put("initialCapacity", "1");
poolProps.put("maxCapacity", "10");
poolProps.put("props", "user=SCOTT;
password=tiger;server=DEMO");
poolProps.put("aclName", "dynapool"); // gp ACL
// 铯ÓEv[݁EAE͎s
jdbc.createPool(poolProps);
}
catch (Exception e) {
system.out.Println("Error creating connection pool eng2.");
}
finally { // JNDI R郃eLXgN[Y
ctx.close();
}
v[ ڑ̎擾
ڑv[ gpӁÉAJDBC ڑJέꍁEقړŁEJDBC hCo NX weblogic.jdbc.t3Client.Driver ͂ŁAځEURL ́ujdbc:weblogic:t3vŁEgp v[w Ajava.util.Properties IuWFNg Aweblogic.t3.connectionPoolID
قvpeB v[EOɐݒ肵܁E
ڑv[ B̓NCAg AvP[VŐڑv[ gpӁÉAjava.util.Properties IuWFNg Aweblogic.t3.connectionPoolID
قvpeB WebLogic Server weblogic.properties
t@C쐬ڑv[̖Oɐݒ肵܁E
̊ȒPȁÉAT3Client AProperties IuWFNg 𐂵āE灐ڑv[uengv JΫ܁E̐ڑv[ weblogic.properties
̃t@C Gg͂łɐ־ƁEB
@T3Client t3 = new T3Client("t3://bigbox:7001");
@ t3.connect();
@ // ݒ肪KvȃvpeB
́@ // T3Client connectionPoolID ƁE2 ̂ł邱ƂɒӁEbr>@ Properties t3props = new Properties();
遁@ t3props.put("weblogic.t3", t3);
@ t3props.put("weblogic.t3.connectionPoolID", "eng");
@ Class.forName("weblogic.jdbc.t3.Driver").newInstance();
@ Connection conn =
@ DriverManager.getConnection("jdbc:weblogic:t3",
@ t3props);
@ // Cӂ̃f[^x[XsΤ
@ QueryDataSet qds = new QueryDataSet(conn, "select * from emp");
@ qds.fetchRecords();
@ System.out.println("Record count = " + qds.size());
@ qds.close();
@ // ځE
@ conn.close();
@ // NCAgځE
@ t3.disconnect();
́@}
JDBC ڑ͂̃NCAgɁEāEANCAgځEO͂Ƀv[ɖ߁EBJDBC ڑڑv[ɖ߁EƁA JDBC ̃gUNV̓[obN N[Y B
v[ڑgpŁEɂȁEőҋ@B遃v[ ׂĂ̐ڑgp ANCAǵAftHgł́Aڑgp\ɂȁEőҋ@܁ÉEAȁE2 ̂̕@ ύXł܁E
DriverManager.getConnection()
́AɗO܁E
DriverManager.getConnection()
O܁E
ҋ@E ́ADriverManager.getConnection()
ɓn Properties IuWFNg weblogic.t3.waitForConnection
̃vpeBufalsevEɐݒ肵܁E
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.connectionPoolID", "eng");
t3props.put("weblogic.t3.waitForConnection", "false");
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
Connection conn =
DriverManager.getConnection("jdbc:weblogic:t3",
t3props);
ҋ@E ADriverManager.getConnection()
̌ĂяóAgpŁEȂƂɗOኂ𑗏o܁E
gpŁE EԂw Aweblogic.t3.waitSecondsForConnection
vpeBŔCӂ̎ԁE𐂵܁ÉÉA15 b҂܁E
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.connectionPoolID", "eng");
t3props.put("weblogic.t3.waitSecondsForConnection", "15");
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
Connection conn =
DriverManager.getConnection("jdbc:weblogic:t3",
t3props);
weblogic.jdbc.common.Pool C^tF[X weblogic.jdbc.common.JdbcServices ƃC^tF[X́Aڑv[ A ΊցE 邽߂̃\bh EE\bh̖ړI͈ȉ̂ƁEB
v[ɊցE
poolExists()
\bh́Aw肳ꂽO̐ڑv[ WebLogic Server ɑ݂邩ǂׂ܁Ẽ\bhgpӁEAIڑv[łɍ쐬 邩ǂׁAE铮Iڑv[ɌŗL̖Ot邱Ƃł܁E
getProperties()
\bh́Aڑv[̃vpeB ځE
ڑv[́E/p>
ڑv[ IԁEāANCAg̃v[ hƂł܁Eڑv[L 𗌂́EŁÉAusystemv[UA܂͂̃v[Ɋ֘At āEACL āuadminvp[~bV^ [UŁE
disableFreezingUsers()
؏oƁAv[̐ڑퟳݎgBāE郃CAg͒f u Bf[^x[X T[oƒʐM悤ƁEAOኂo BANCAg͐ڑv[ ȁEāEɎ̐ڑN[Ył܁ȄꍇAڑ̓v[ɕԁEꁃv[L ȁEł͕ʂ̃NCAg\痖邱Ƃ͂ł܁E
disableDroppingUsers()
gp Aᣈv[ Ȃ邾łȁẼv[ɑE郃CAg JDBC ̐ڑj ܁E̐ڑōs g郃UNVׂ͂ă[obNAꁂ̐ڑڑv[ɕԁEBNCAg JDBC ̐ڑReLXǵEȁEB
disableFreezingUsers()
ŁEv[ ٗL ꍇAgpBeځEJDBC ̐ځE̐ڑv[ ꂽƂƓȂ̂ŁANCAg͂傤ǒfƂ납 JDBC 瑀 sł܁E
Aweblogic.Admin
NX disable_pool
̃R}h enable_pool
ƃR}hgpӂāAv[EL藁E ܁E
ڑv[̏k
ڑv[́Av[ ڑ́Eő吔 ` AEvpeBiinitialCapacity maxCapacityƁjƁAڑׂĎgp̂ƂɃv[ɒljB ڑ́E`v𒃃peBicapacityIncrementj E܁Ev[̍őe嗗ʂɒB Aő吔̐ڑJƂɂȁE聃v[k۬ȁE肻 ̐ڑ͊J܂܂ɂȁEB
ڑ̎gps[N AΑv[ 폜āAWebLogic Server DBMS ƁE\[X 賈܂܁E
v[~
̃\bh́Aڑv[j Bڑ̓N[Y v[ Aꁃv[ɎcBāEȂȁEv[͏Vł܁Eڑv[j ́Ausystemv[UA܂͂̃v[Ɋ֘At āEACL āuadminvp[~bV^ [UŁE
shutdownSoft()
́Aڑv[ɕԁÉEEāA ̐ڑN[Y܁E
shutdownHard()
\bh́AׂĂ̐ڑEɔj Bv[ ڑg E郃CAǵAshutdownHard()
Ăяoꂽ ڑgΨƁEAOኁE ɂȁEB
Aweblogic.Admin
NX destroy_pool
̃R}hg Av[j ˨αƁE܁E
v[̃Zbg
ڑv[́A IɁA邢͐ڑ\ EE ɐڑeXg ɃRtBO[V邱Ƃł܁EWebLogic Server v[ڑ́EՓIɕۂāEɂ邱ƂŁADBMS ڑɊցE 唼͖h ŁE AWebLogic ɂ́AAvP[V яoăv[ ׂĂ̐ڑA܂̓v[\痖P ڑퟌփtbVł郁\bhpӁE܁E
weblogic.jdbc.common.Pool.reset()
\bh́Aڑv[ 蓖āEāEׂăN[YāE犂܁E AƂADBMS ċNꂽƂɕKvɂȂ邱ƁEBڑv[ 1 ̐ڑsꍁEAv[ ׂĂ̐ڑsǂł邱ƂXɂāEB
1 ̐ڑퟌփtbV ́Aweblogic.jdbc.t3.Connection NX refresh()
̃\bhgpӂ܁Ẽ\bh ؏oƁAڑ́E Resultset ׂ͂āE ƁEAڑJέƂɔr䊓IׁEvP[VɁEBBāAڑsǂɂȁEĂƁE[ ÉA̐ڑퟌփtbV邱ƂԊ߂܁E
JDBC ځE(weblogic.jdbc.t3.Connection)
ΖIɃLXgK镗v B̑ɂ́AConnection NX refresh()
̃\bhA EEreset()
ă\bhgpӁEƓ悤Ɏgp @ B܁Eڑ́E 邩萬EE郃NVA gpӂāEs܁EOኁEځArefresh()
\bh ؏o܁E
ɁE܁EJDBC ցEWebLogic ̊g@\Ep邽߂ɁAŁEs JDBC ŐځEweblogic.jdbc.t3.Connection
LXgĂ܁E
@T3Client t3 = new T3Client("t3://localhost:7001");
@t3.connect();
@Properties t3props = new Properties();
@try {
@t3props.put("weblogic.t3", t3);
@t3props.put("weblogic.t3.connectionPoolID", "eng");
@Class.forName("weblogic.jdbc.t3c.Driver").newInstance();
@Connection conn =
@ DriverManager.getConnection("jdbc:weblogic:t3client",
t3props);
@ Statement stmt = conn.createStatement();
@ // SQL ́EOracle DMBS ͂ւ̓KȐڑɂāEbr>́@ // ۏE
@ ResultSet rs = stmt.executeQuery("select 1 from dual");
遁@ if (rs != null) {
@ while (rs.next()) {;}
@ }
@ rs.close();
@ stmt.close();
@ conn.close();
@}
@catch(SQLException e) {
@ // JDBC Connection weblogic.jdbc.t3.Connection
@ // LXgA
ā@ // refresh() \bh ؏o
@ ((weblogic.jdbc.t3.Connection)conn).refresh();
@}
1 ̃v[ڑ̃tbV
v[ 1 ܂́E ڑÂȁEꍇAv[ 1 ̐ڑퟌփtbV邱ƁEPڑv[ŜퟌփZbg邱ƁE܁EƂAWebLogic Server ANeBuɐڑv[T|[gāEɁADBMS _EꍁEǂŁEWebLogic Server 4.0 ڑv[tbV@\g EPځEI eXgAtbV邱Ƃł܁E
v[Zbg KȂ̂́AR ꍁEE肳 B̋@\́A[U vÕ[`ƂĎgpł܁E Aᤈڑv[̃ZbgKvɂȁÉADBMS _EāAv[ ځEss\ɂȁEꍁEEDBMS AbvĎgp\ɂȁEƂmFЂO鑂Ƀv[Zbg悤ƁEAOኂo Bv[̃ZbǵAǗLفE[U s ʂȁEB
ڑv[Zbg ́A̕@⪁EB
$
java weblogic.Admin
WebLogicURL
RESET_POOLpoolName
systempasswd
R}hC炱̕@ gƂ͂߁EɂȂµ B ANɐ־ ɃvOgpӁEI擂ȕ@⪁EBAdmin R}h̏ڍׂɂẮAWebLogic wǗ҃KChx́uWebLogic Server ̉^pƃeiXvQ ہE
reset()
郁\bhgpӂ܁E
ŁEP[X́AsׁEłѽȁEA̔ʁAŁE2 ̂̕@ _ BTv R[hgpӂāAreset()
\bh̎gp@ ־܁E
ȉ́Areset()
\bhgpӂv[̃ZbǵEB
reset()
Ń\bh ؏o܁E
̊ȒPȃR[h AOracle DBMS ցE5 ̂̐ځEv郁[ŁE遃f JDBC ڑv[uengveXg܁E
@String poolID = "eng";
@T3Client t3 = new T3Client("t3://localhost:7001");
@t3.connect();
@Properties t3props = new Properties();
@t3props.put("weblogic.t3", t3);
@t3props.put("weblogic.t3.connectionPoolID", poolID);
@Class.forName("weblogic.jdbc.t3.Driver").newInstance();
@Connection conn =
@ DriverManager.getConnection("jdbc:weblogic:t3client",
t3props);
@try {
@ // ڑgp\łȂꍇA̐ځE
E@ // 炩̏ퟸڂ݁EA SQLException
@ Statement stmt = conn.createStatement();
遁@ // SQL ́EOracle DMBS ͂ւ̓KȐڑɂāEbr>́@ // ۏE
@ ResultSet rs = stmt.executeQuery("select 1 from dual");
遁@ // Cӂ̃f[^x[XsΤ
@ if (rs != null) {
@ while (rs.next()) {;}
@ }
@ rs.close();
@ stmt.close();
@ // ځE v[᪔ԁEbr>@ conn.close();
@}
@// try ubNs ̓v[ZbgB遂̃\bh
@// EovOł͊ǗғLKvł邱ƂɒӁE
遁@// f[^x[XĂюgp\ɂȁEƂmFЁE
Ł@// v[̃Zbgڂ݂Ȃ悤ɒӁEbr>@
遁@catch(SQLException e) {
@ t3.services.jdbc().resetPool(poolID);
@}
WebLogic ̐ڑv[p ACL ̃ZbgAbv
weblogic.jdbc.connectionPool
weblogic.jdbc.connectionPool.
poolID
WebLogic ́AWebLogic ŃZbgAbvꂽ ACL EAJDBC ڑv[̂悤ȓՔ\[Xւ̃ANZX𐧌䂵܁EWebLogic ACL ̂̃GǵAweblogic.properties
t@C̃vpeBƂăXg ܁E
ڑv[ JDBC ̐ڑɁAp[~bVureservevAuresetvA ushrinkv 𐂷 ́AvpeB t@CɃvpeB E܁EACLuweblogic.jdbc.connectionPoolvɃp[~bV 𐂷 AׂĂ̐ڑv[ւ̃ANZX Buweblogic.jdbc.connectionPool.<i>poolID</i>vƁEACL ɃGg E邱ƂɁEāÃ[Ũp[~bV E܁E Aڑv[ poolID ւ̃ANZX𐧌䂵܁EUʂȃ[U system ́Ãp[~bVǂ̂悤ɐݒ肳 邩ɁEA Ae ACL ̃p[~bVureservevAuresetvA ushrinkvفEĂ܁E
:weblogic.allow.reserve.weblogic.jdbc.connectionPool.eng=margaret,
joe,maryweblogic.allow.reset.weblogic.jdbc.connectionPool./
eng=sysMonitorweblogic.allow.shrink.weblogic.jdbc./
connectionPool.eng=sysMonitor
ቺʌ݊̂߁AX^C̃vpeB\gpӂāureservevp[~bV^𗂦邱ƁE܁E ́AvpeB weblogic.jdbc.connectionPool.poolID=allow= userlist ɁE𐂵܁EWebLogic ł́AX^C̃vpeB܂ŃT|[g邩 ߁AV@\f ́AvpeB t@C AbvO[h邱ƂԊ߂܁E
f[^x[XɑăNG s AJDBC A܁EJDBC ͐ڑ̃ReLXgō쐬ꂽ JDBC ̃TuNX̂ꂩgpӂ܁ENǦʂ́AJDBC ResultSet Ɋi[ Bf[^x[X̍sɃANZX ́AResultSet NX next()
̃\bh getXXX()
\bhgpӂ܁E
́ÉA܁EEmployee e[u 10 ɂ̃R[h} 𑓂BPreparedStatement JDBC PreparedStatementu?vE\ƂƁEgp܁ER[hւ̍XV́APreparedStatement NX setInt()
烁\bh setString()
\bhgpӂ܁E
String inssql = "insert into emp (empno, empname) values (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(inssql);
for (int j = 0; j < 10; j++) {
pstmt.setInt(1, i);
pstmt.setString(2, "John Smith");
pstmt.execute();
}
pstmt.close();
l} Af[^x[X NG sAResultsSet.next()
\bhڌʂׂ邱ƂɁEāA} eׂmFЂł܁EResultSet Statement IuWFNǵA CX^XꂽƂƂ͋t̏ŃN[Y܁E
Statement stmt = conn.createStatement();
ResultSet rs = stmt.execute("select empno, empname from emp");
while (rs.next()) {
System.out.println("Value = " + rs.getString("empno"));
System.out.println("Value = " + rs.getString("empname"));
}
rs.close();
stmt.close();
ɁAʁEPreparedStatement ̂gpӂāA}⽃R[hXV̂܁E
String updsql = "update emp set empname = ? where empno = ?";
PreparedStatement pstmt1 = conn.prepareStatement(updsql);
for (int j = 0; j < 10; j++) {
pstmt1.setInt(2, j);
pstmt1.setString(1, "Person" + j);
pstmt1.executeUpdate();
}
pstmt1.close();
́ÉA}⽃R[h فEŁEPreparedStatement setInt()
\bhgpӂāA郌R[hI 𑑂B
String delsql = "delete from emp where empno = ?";
PreparedStatement pstmt2 = conn.prepareStatement(delsql);
for (int j = 0; j < 10; j++) {
pstmt2.setInt(1, j);
pstmt2.executeUpdate();
}
pstmt2.close();
e Statement PreparedStatement IuWFNǵAgI āE
XgAh vV[W ́E g
WebLogic JDBC gp AXgAh vV[W ̍쐬AgpA sΦ܁Ep[^ 𐂷 ́ACallableStatement IuWFNgiPreparedStatement ̃TuNXj JDBC PreparedStatementu?vE\gpӂ܁E
́ÉÃXgAh vV[W f[^x[X ܁ȄɁEJDBC ͕gpӁEI ܁E
Statement stmt = conn.createStatement();
try {stmt.execute("drop procedure proc_squareInt");
} catch (SQLException e) {;}
try {stmt.execute("drop procedure func_squareInt");
} catch (SQLException e) {;}
try {stmt.execute("drop procedure proc_getResults");
} catch (SQLException e) {;}
stmt.close();
XgAh vV[W܂͊ցE AJDBC Statement NXgpӁE s AJDBC CallableStatement NXgpӂ܁EXgAh vV[ẂEp[^́AJDBC IN
̃p[^Ƀ}bv AsetInt()
聂ȂǁECallableStatement.setXXX()
̃\bh JDBC PreparedStatementƁu?v\Ŏg ܁EXgAh vV[W̏o̓p[^́AJDBC OUT
̃p[^Ƀ}bv ACallableStatement.registerOutParameter()
聃\bh JDBC PreparedStatementƁu?v\Ŏg ܁EIN
OUT
Ƃ́Ep[^g AsetXXX()
registerOutParameter()
Ƃ̌Ăяo ӯp[^ԍōs ɂĂ©܂܁ESybase DBMS ᣈAJDBC L[[h CALL
ASQL Server L[[h EXECUTE
́E gp BڍׂɂẮASybase ̃}jAQ ہE
ɁAJDBC gpӂāA 2 Sybase XσgAh vV[W فEXgAh vV[W ACallableStatement ͂gpӂāEs܁Eo̓p[^ 𐂷 ́AregisterOutParameter()
\bhgpӂ܁E
Statement stmt1 = conn.createStatement();
stmt1.execute("create procedure proc_squareInt " +
"(@field1 int, @field2 int output) as " +
"begin select @field2 = @field1 * @field1 end");
stmt1.close();
CallableStatement cstmt1 =
conn.prepareCall("{call proc_squareInt(?, ?)}");
cstmt1.registerOutParameter(2, Types.INTEGER);
for (int i = 0; i < 10; i++) {
cstmt1.setInt(1, i);
cstmt1.execute();
System.out.println(i + " " + cstmt1.getInt(2));
}
cstmt1.close();
̃R[h A 2 ́EԁESybase XgAhցE @҂܁ECallableStatement ŃXgAhցEsAregisterOutParameter()
ږ߂l蒂o^E܁E
Statement stmt2 = conn.createStatement();
stmt2.execute("create procedure func_squareInt (@field2 int) as " +
"begin return @field1 * @field1 end");
stmt2.close();
CallableStatement cstmt2 =
conn.prepareCall("{? = call func_squareInt(?)}");
cstmt2.registerOutParameter(1, Types.INTEGER);
for (int i = 0; i < 10; i++) {
cstmt2.setInt(2, i);
cstmt2.execute();
System.out.println(i + " " + cstmt2.getInt(1));
}
cstmt2.close();
̃R[h ASQL NǦʁE Sybase XgAh vV[W @҂܁ECallableStatement ŃXgAh vV[W sAResultSet ڌʁEځE
Statement.execute()
Statement.getResultSet()
\bhg XgAh vV[W ꂽ ResultSet ԗāEȂƁAOUT
p[^Ɩ߂X胃e[^X͎gp\ɂȁEB
Statement stmt3 = conn.createStatement();
stmt3.executeUpdate("create procedure proc_getResults as " +
"begin select name from sysusers \n" +
"select gid from sysusers end");
stmt3.close();
CallableStatement cstmt3 =
conn.prepareCall("{call proc_getResults()}");
boolean hasResultSet = cstmt3.execute();
while (hasResultSet) {
ResultSet rs = cstmt3.getResultSet();
while (rs.next())
System.out.println("Value: " + rs.getString(1));
rs.close();
hasResultSet = cstmt3.getMoreResults();
}
cstmt3.close();
̃R[h AStatement CallableStatement IuWFNggpӁEOracle ăXgAh vV[W Aقяo@ Ă܁ẼvZX́ASybase vV[WƂقړŁE
Statement stmt1 = conn.createStatement();
stmt1.execute("CREATE OR REPLACE PROCEDURE " +
"proc_squareInt (field1 IN OUT INTEGER, " +
"field2 OUT INTEGER) IS " +
"BEGIN field2 := field1 * field1; " +
"field1 := field1 * field1; " +
"END proc_squareInt");
stmt1.close();
CallableStatement cstmt1 =
conn.prepareCall("BEGIN proc_squareInt(?, ?); END;");
cstmt1.registerOutParameter(2, Types.INTEGER);
for (int k = 0; k < 100; k++) {
cstmt1.setInt(1, k);
cstmt1.execute();
System.out.println(k + " "
+ cstmt1.getInt(1)
+ " " + cstmt1.getInt(2));
}
cstmt1.close();
ŁETv R[hł́AStatement CallableStatement IuWFNggpӁEOracle ăXgAhցEAgp @҂Ă܁E
Statement stmt2 = conn.createStatement();
stmt2.execute("CREATE OR REPLACE FUNCTION " +
"func_squareInt " +
"(field1 IN INTEGER) RETURN INTEGER IS " +
"BEGIN return field1 * field1; " +
"END func_squareInt;");
stmt2.close();
// XgAhgpӁEbr> CallableStatement cstmt2 =
conn.prepareCall("BEGIN ? := func_squareInt(?); END;");
cstmt2.registerOutParameter(1, Types.INTEGER);
for (int k = 0; k < 100; k++) {
cstmt2.setInt(2, k);
cstmt2.execute();
System.out.println(k + " "
+ cstmt2.getInt(1)
+ " " + cstmt2.getInt(2));
}
cstmt2.close();
菁E ڑ̃N[Y T3Client Ƃ̐ځE
ׂؑ̂āEJDBC ̃IuWFNgƓlɁAځEclose() ·K镗v Bf[^x[Xւ̃OCsꍁEӯŁEĂȂƁAOC̍ő吔Ă܂\ B܁EWebLogic JDBCClient WebLogic Server Edisconnect() 炷K镗v B
finally
ubŃEtry
̃ubN close()
Ń\bh disconnect()
\bh ؏oāAKȗOኁEځEfinally
ubN ̃\bh ؏oƁAC try
̃ubNOኂ𑗏oĊȂꍇŁEC\bh͊mɁEs BɁE܁E
finally {
if (conn != null)
try { conn.close(); } catch (SQLException sqe) {}
if (t3 != null)
try { t3.disconnect();} catch (Exception e) {}
}
NCAg disconnect()
\bhg ΐڑEAWebLogic Server EOF ͗OኁE_v X^bNs܁Edisconnect()
Netscape ŃT[o OɁE EOF Oኂ͖āE
package examples.jdbc;
import java.sql.*;
import weblogic.db.jdbc.*;
import weblogic.common.*;
import java.util.Properties;
public class t3client1 {
public static void main(String argv[]) {
T3Client t3 = null;
Connection conn = null;
try {
t3 = new T3Client("t3://bigbox:7001");
t3.connect();
Properties dbprops = new Properties();
dbprops.put("user", "scott");
dbprops.put("password", "tiger");
dbprops.put("server", getParameter("server"));
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
// ߃hCõNX URL Ƃ̃tH[}bg
// قȂ邱ƂɒӁE遃NX̓hbgŁEA
// URL 聂̓RŁE
t3props.put("weblogic.t3.driverClassName",
"weblogic.jdbc.oci.Driver");
t3props.put("weblogic.t3.driverURL",
"jdbc:weblogic:oracle");
t3props.put("weblogic.t3.cacheRows",
getParameter("cacheRows"));
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:weblogic:t3client",
t3props);
// ÃR[h}
String inssql = "insert into emp (empno, empname) values (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(inssql);
for (int j = 0; j < 10; j++)
pstmt.setInt(1, i);
pstmt.setString(2, "John Smith");
pstmt.execute();
}
pstmt.close();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select empno, " +
"empname from emp");
while (rs.next()) {
System.out.println("Value = " + rs.getString("empno"));
System.out.println("Value = " + rs.getString("empname"));
}
rs.close();
stmt.close();
// AR[hXV́Ebr> String updsql = "update emp set empname = ? where empno = ?";
PreparedStatement pstmt1 = conn.prepareStatement(updsql);
for (j = 0; j < 10; j++) {
pstmt1.setInt(2, j);
pstmt1.setString(1, "Person" + j);
pstmt1.executeUpdate();
}
pstmt1.close();
// ÃR[h
String delsql = "delete from emp where empno = ?";
PreparedStatement pstmt2 = conn.prepareStatement(delsql);
for (int j = 0; j < 10; j++) {
pstmt2.setInt(1, j);
pstmt2.executeUpdate();
}
pstmt2.close();
// XσgAh vV[W
Statement stmt1 = conn.createStatement();
stmt1.execute("CREATE OR REPLACE PROCEDURE " +
"proc_squareInt (field1 IN OUT INTEGER, " +
"field2 OUT INTEGER) IS " +
"BEGIN field2 := field1 * field1; " +
"field1 := field1 * field1; " +
"END proc_squareInt");
stmt1.close();
// XσgAh vV[WgpӁEbr> CallableStatement cstmt1 =
conn.prepareCall("BEGIN proc_squareInt(?, ?); END;");
cstmt1.registerOutParameter(2, Types.INTEGER);
for (int k = 0; k < 100; k++) {
cstmt1.setInt(1, k);
cstmt1.execute();
System.out.println(k + " "
+ cstmt1.getInt(1)
+ " " + cstmt1.getInt(2));
}
cstmt1.close();
// X郃gAhցE
Statement stmt2 = conn.createStatement();
stmt2.execute("CREATE OR REPLACE FUNCTION " +
"func_squareInt (field1 IN INTEGER) " +
"RETURN INTEGER IS " +
"BEGIN return field1 * field1; " +
"END func_squareInt;");
stmt2.close();
// XσgAhgpӁEbr> CallableStatement cstmt2 =
conn.prepareCall("BEGIN ? := func_squareInt(?); END;");
cstmt2.registerOutParameter(1, Types.INTEGER);
for (int k = 0; k < 100; k++) {
cstmt2.setInt(2, k);
cstmt2.execute();
System.out.println(k + " "
+ cstmt2.getInt(1)
+ " " + cstmt2.getInt(2));
}
cstmt2.close();
}
finally {
if (conn != null)
try {conn.close();} catch (SQLException sqe) {}
if (t3 != null)
try {t3.disconnect();} catch (Exception e) {}
}
}
}
WebLogic JDBC ̑̋@\
WebLogic ́AWebLogic jDriver WebLogic JDBC ɂ̋@\ A𒂼 f[^x[XRԂ܁E2 whCoɃT|[g 邷ׂĂ̋@\A wgpɌŗL̂̑̋@\́AWebLogic JDBC ̑wŎgp邱Ƃł܁E
Oracle \[X̑ҋ@
[X 2.5 AWebLogic 灂́AOracle oopt()
C ̊T|[gĂ܁E A\[Xgp\ɂȁEŃNCAgҋ@ŁEɁE鋔\ŁEOracle C ́Avꂽ\[Xgp\łȂꍇ̃IvVibN @𑂩ǂȂǁj 𐂵܁E̊ɂẮAThe OCI Functions for C ̃ZNV 4-97 ɋLځE܁E
J҂́ANCAg DBMS \[X @𑂩A܂͒ɗOኁE w ܁Eȉ́Aexamples
\jdbc
\oracle
\waiton.java
B
t3 = new T3Client("t3://bigbox:7001");
t3.connect();
java.util.Properties dbprops = new java.util.Properties();
dbprops.put("user", "scott");
dbprops.put("password", "tiger");
dbprops.put("server", "bigbox");
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
t3props.put("weblogic.t3.driverClassName",
"weblogic.jdbc.oci.Driver");
t3props.put("weblogic.t3.driverURL",
"jdbc:weblogic:oracle");
t3props.put("weblogic.t3.cacheRows",
getParameter("cacheRows"));
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
// ̊g@\Ep邽߁Ebr> // Connection ɁEweblogic.jdbc.oci.Connection LXgK镗v
Connection conn =
(weblogic.jdbc.oci.Connection)
DriverManager.getConnection("jdbc:weblogic:t3", t3props);
// I郃uWFNg̍쐬AぁEbr> // waitOnResources Ƀ\bh ؏o
conn.waitOnResources(true);
̃\bhgpӁEAfIɃbN Ք\[X EԂɁAG[ ^[ R[hԁEƁEB
̋@\Ep ́AڑIuWFNg weblogic.jdbc.oci.Connection
LXgāEwaitOnResources()
灃\bh ؏o܁E
g SQL
JavaSoft JDBC ̎dlɂ́ASQL g܁ESQL Escape Syntax ͂ƌĂE@\܂܁E܁EׂāEWebLogic jDriver JDBC ̃hCóAg SQL T|[gĂ܁EڍׂɂẮAgph郃Cop̊J҃KChQ ہEXgɂẮAWebLogic JDBC IvVQ ہE
Oracle ztFb`
WebLogic jDriver for Oracle ́A2 w JDBC Connection vpeB weblogic.oci.cacheRows
𐂷邱ƂɁEāAOracle ztFb`T|[g܁EWebLogic jDriver for Oracle gpӁEA̋@\ WebLogic JDBC ͂łTÃ|[g ܁E
WebLogic JDBC ł̋@\Ep ́A2 wvpeB weblogic.oci.cacheRows
𐂵܁E
}`oCgZbg̃T|[g
WebLogic jDriver for Oracle ́AC^[iViC[[V T|[giAL24UTFFSS/UTF-8j āEWebLogic Server 聂ŎgpāEAWebLogic JDBC Ɋgł܁E̋@\̏ڍׂɂẮAWebLogic jDriver for Oracle p̊J҃KChɋLڂĂ܁E
WebLogic JDBC Oracle NUMBER ƃJ
Oracle ɁENUMBER ͂ƁE ^Cv B̃J ^Cv́AIvVƁENUMBER(P) āE NUMBER(P,S) ̌`ŐxƃXP[w ܁EC P NUMBER Ȍ`ŁEB̃J́AȐl 傫ȕ_܂łׂ̂Ă̐l^Cvxŕێł܁E
WebLogic jDriver for Oracle AvP[VJ̒lv𗋁 AWebLogic jDriver for Oracle ́AJ lv𗋁ꂽ Java ^ɕϊ܁EgetInt()
123.456 łƂlvꂽꍇARAl͊ۂ߁E܁E
AgetObject()
\bh́ÁE NԁEWebLogic jDriver for Oracle ́ANUMBER Ĵǂ̂悤Ȓlиx XƂȁE Java IuWFNg EEE܁E܁E聒l 1 Integer
͂ƂĕԁEA123434567890.123456789 ̂悤Ȓl BigDecimal
͂ł̂ݕԁEB
J̒l̍ő吸x Oracle E郁^f[^́EBBāAWebLogic jDriver for Oracle ́Aꂼ lɁEāAǂ̂悤ȁẼIuWFNg Ԃ߁E镗v B܁E1 聂EResultSet ́ENUMBER JɑEgetObject()
Ă畡 Java ̌^ ƂŁEl̃e[uׁ͂EInteger
ĂƁEgetObject()
āE A_Pʂ̃e[úE Double
ŕԁEꁁu123.00v̂悤Ȓl Integer
͂ƂĕԁEBOracle ANUMBER ĺu1vƁu1.0000000000vەʂ邽߂́E͒E܁E
C NUMBER JA܁E聓R x`苁EJ郃ł́A M̍E܂Oracle ̃^f[^́Ẽp[^hCoɒ邽߁AWebLogic jDriver for Oracle ̓e[u̒lɁEȁE R xƃXP[ɍ킹ēKEJava ȃIuWFNg EE
whCȍꍇɂ́ÁE GɂȁEBftHgł́AWebLogic ́Aw JDBC AvP[VvO鑂ɁADBMS f[^̃RtBO[V\ȁEResultSet ̍s ځE ANCAǵE ǂ̐\́E BAWebLogic ł́ANCAgf[^ Ό`ŗv邩Oɂ킩 ̂ŁAs IEvtFb`āANCAg AvP[VɑMꂽf[^AResultSet ̂ꂩ 1 ̃JƓ^ɂȁEɂ܁EvtFb`gpӁEAnumber ^ getObject()
Ƀ\bhgpӂ邱Ƃ͂ł܁EWebLogic Server gp WebLogic jDriver for Oracle ᧈAw肳ꂽJɕʁEJava ̌^ E\邩 B̌ʁAWebLogic ́AׂāEgreater-than-integer ̐l̃f[^ String `ڮŃvtFb`āAx Ȃ悤ɂ܁E
̏́Af[^ getInt()
AgetFloat()
AgetBigDecimal()
ȂǂŗvꂽꍁEAWebLogic JDBC NCAg AvP[Vł̃f[^擾ɂ͉e܁EWebLogic JDBC AString K 𓐌^ɕϊ邩 BAgetObject()
\bh ؏oꍇAWebLogic JDBC ́AvtFb`ꂽƁE String EE
wNCAg AvP[VŁEgetObject()
̂́EA2 w WebLogic jDriver for Oracle AvP[Vł́E悤ɁÉi܁E聃vtFb`ɁAJ f[^^݁E\ ԂŁjAڑvpeB weblogic.t3.cacheRows zeroi0jEɐݒ肵āAWebLogic ł̍sLbVOItɂ܁E
WebLogic JDBC JDBC-ODBC ƃubẂE
: ӂł́A2 whCoƁEJDBC-ODBC ăubWgpӂāAWebLogic JDBC Ńx_̃f[^x[XɐځE@A p𗂢Ď܁E
: JDBC-ODBC ӃubWgpӂāAG^[vCY JavaBean فEMicrosoft Access f[^x[XɃANZX邱Ƃ̓T|[g ܁E
ߎ菇 1. pbP[W̃C|[g
WebLogic JDBC JDBC-ODBC ŃubWgpӁÉAȉ́A WebLogic JDBC ̃NXgpӁEƁEimport pbP[WKvŁE
import java.util.*;
import java.sql.*;
import weblogic.common.*;
菁E2. T3Client ̍쐬
WebLogic JDBC NCAg̃RXgN^ 1 ͂́E ܁ET3Client NGXgX|郁[g WebLogic Server ցEURL ̂ŁÉEAtry ubNł̃vÓEƂŁE
try {
t3 = new T3Client("t3://bigbox:7001");
t3.connect();
ڑsꍁEEfinally CubN t3Client ŁEdisconnect()
Ƀ\bh ؏oKv B
ڑp[^ 𐂷 ́Ajava.util.Properties IuWFNggpӂ܁EWebLogic Server DBMS ƂƂ̐ڑi2 wڑj 1 ɂEProperties ̃ZbggpӁEWebLogic JDBC NCAgAWebLogic ServerA DBMS Ԃ̐ڑiwڑjɕʁEProperties ̃Zbggpӂ܁E2 wProperties IuWFNĝ́Aw Property 1 ̂ƂĐݒ肳 Bw Properties IuWFNǵAConnection RXgN^́EĎgp iProperties ̐݁EցEׁjB
Properties dbprops = new Properties();
dbprops.put("user", "scott");
dbprops.put("password", "tiger");
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
t3props.put("weblogic.t3.driverClassName",
"sun.jdbc.odbc.JdbcOdbcDriver");
t3props.put("weblogic.t3.driverURL",
"jdbc:odbc:Oracle_on_SS2");
t3props.put("weblogic.t3.cacheRows", "10");
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:weblogic:t3client",
t3props);
checkForWarning(conn.getWarnings());
́EŁEsł́Aڑmꂽ x_ŗĽx`FbNĂ܁Eȉ́AcheckForWarning
\bh̃R[hŁẼ\bh́ASQLWarning IuWFNg ԂāEASQLStateAxbZ[WA f[^x[X x_̃G[ R[hɂẮE\܁E1 ESQLWarning ̃IuWFNgɕ̌x B
private static boolean checkForWarning (SQLWarning warn)
throws SQLException
{
boolean rc = false;
if (warn != null) {
System.out.println ("\n *** Warning ***\n");
rc = true;
while (warn != null) {
System.out.println ("SQLState: " +
warn.getSQLState ());
System.out.println ("Message: " +
warn.getMessage ());
System.out.println ("Vendor: " +
warn.getErrorCode ());
System.out.println ("");
warn = warn.getNextWarning ();
}
}
return rc;
}
f[^ւ̃ANZX
f[^x[X ^f[^ oۂɂ́AgetMetaData
\bhiConnection NXjgpӂ܁ÉÉA o^f[^ɁEf[^x[XɂĂ̏ڍׁEĂ܁E
DatabaseMetaData dma = conn.getMetaData();
System.out.println("Connected to " + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
System.out.println("Version " + dma.getDriverVersion());
System.out.println("");
Statement
IuWFNggpӂāAȒP SQL select ȃIuWFNg\zāEsAResultSet Ƀf[^ oۂ܁EStatement IuWFNg ResultSet IuWFNǵAgI N烃[Y܁E
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
dispResultSet (rs);
rs.close();
stmt.close();
NǦʂ́AResultSet ԁEprivate 郁\bhŕ\܁EdispResultSet()
\bh́AResultSetMetaData g e[ũJoo AResultSet ӃRecs Ε\܁E
private static void dispResultSet (ResultSet rs)
throws SQLException
{
int i;
ResultSetMetaData rsmd = rs.getMetaData ();
int numCols = rsmd.getColumnCount();
for (i=1; i < = numCols; i++) {
if (i > 1) System.out.print(",");
System.out.print(rsmd.getColumnLabel(i));
}
System.out.println("");
boolean more = rs.next ();
while (more) {
for (i=1; i<=numCols; i++) {
if (i > 1) System.out.print(",");
System.out.print(rs.getString(i));
}
System.out.println("");
more = rs.next ();
}
}
SQLException ́AŁE ŁEȉɁAConnection CX^XāESQLWarning `FbNƁESQL ̃G[ƁE\܁E1 ESQLException ̂ɁESQL ̃G[܂܁E邱Ƃ B
catch (SQLException ex) {
System.out.println ("\n*** SQLException caught ***\n");
ex.printStackTrace();
while (ex != null) {
System.out.println ("SQLState: " +
ex.getSQLState ());
System.out.println ("Message: " +
ex.getMessage ());
System.out.println ("Vendor: " +
ex.getErrorCode ());
ex = ex.getNextException ();
System.out.println ("");
}
}
ׂ̑̂Ă̗OኂɊւẮAPɁAfobOړIŃX^bN g[Xo ӁE
catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
ŁE菁EڑƃIuWFNg̃N[Y
KɃN[Abvڗ邽߁AKAfinally ubNŐځEEAT3Client ̐ځEՁE
finally {
if (conn != null)
try {conn.close();} catch (Exception e) {;}
if (t3 != null)
try {t3.disconnect();} catch (Exception e) {;}
}
߈ȉ́A ־R[ĥ܂Ƃ߂ŁE
package examples.jdbc.odbc;
import java.util.*;
import java.sql.*;
import weblogic.common.*;
class simpleselect {
public static void main (String args[]) {
String url = "jdbc:odbc:Oracle_on_SS2";
String query = "SELECT * FROM emp";
T3Client t3 = null;
Connection conn = null;
try {
t3 = new T3Client("t3://bigbox:7001");
t3.connect();
Properties dbprops = new Properties();
dbprops.put("user", "scott");
dbprops.put("password", "tiger");
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
t3props.put("weblogic.t3.driverClassName",
"sun.jdbc.odbc.JdbcOdbcDriver");
t3props.put("weblogic.t3.driverURL", url);
t3props.put("weblogic.t3.cacheRows", "10");
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
conn = DriverManager.getConnection
("jdbc:weblogic:t3client",t3props);
checkForWarning(conn.getWarnings());
DatabaseMetaData dma = conn.getMetaData();
System.out.println("Connected to " + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
System.out.println("Version " + dma.getDriverVersion());
System.out.println("");
// hCo SQL ɕ𑗐M邽߁Ebr> // Statement ɃIuWFNg
Statement stmt = conn.createStatement();
// NσG𑗐MāAResultSet IuWFNg
ResultSet rs = stmt.executeQuery(query);
// ؋ʃZbg炷ׂẮEs\
dispResultSet (rs);
// 錋ʃZbgƁE
rs.close();
stmt.close();
}
catch (SQLException ex) {
// SQLExceptions āA IȃG[ \
System.out.println ("\n*** SQLException caught ***\n");
ex.printStackTrace();
while (ex != null) {
System.out.println ("SQLState: " + ex.getSQLState ());
System.out.println ("Message: " + ex.getMessage ());
System.out.println ("Vendor: " + ex.getErrorCode ());
ex = ex.getNextException ();
System.out.println ("");
}
}
catch (java.lang.Exception ex) {
// 鑼̗Oኂ̏ꍇ́AP StackTrace ɂo
ex.printStackTrace();
}
finally {
if (conn != null)
try {conn.close();} catch (SQLException sqe) {}
if (t3 != null)
try {t3.disconnect();} catch (Exception e) {}
}
}
private static boolean checkForWarning (SQLWarning warn)
throws SQLException
{
boolean rc = false;
// SQLWarning IuWFNg ځA
// warning messages. Note that there could be
// ̌x ɂȁEāE邱ƂɒӁEbr>
if (warn != null) {
System.out.println ("\n *** Warning ***\n");
rc = true;
while (warn != null) {
System.out.println ("SQLState: " + warn.getSQLState ());
System.out.println ("Message: " + warn.getMessage ());
System.out.println ("Vendor: " + warn.getErrorCode ());
System.out.println ("");
warn = warn.getNextWarning ();
}
}
return rc;
}
private static void dispResultSet (ResultSet rs)
throws SQLException
{
int i;
ResultSetMetaData rsmd = rs.getMetaData();
int numCols = rsmd.getColumnCount();
for (i=1; i<=numCols; i++) {
if (i > 1) System.out.print(",");
System.out.print(rsmd.getColumnLabel(i));
}
System.out.println("");
boolean more = rs.next();
while (more) {
for (i=1; i<=numCols; i++) {
if (i > 1) System.out.print(",");
System.out.print(rs.getString(i));
}
System.out.println("");
more = rs.next();
}
}
}
JDBC ̃vpeB 𐂷邽߁EURL ̂̎g T3 hCo̎g
URL @\
URLiuniform resource locatorj́Albg[N R \[XT𒂵o߂̃c[ŁEJDBC dlł́AJDBC ̉^pɍہEURL āEέgp ܁EBEA ł́AׂĂ̐iŁEāA܂݁EURL ̃KChCiwww.w3.org Q jہEP eɏ]BĂ܁E
BāAWebLogic ił́AWebLogic JDBC ڑ̍ۂɁAURL gpӂĕKvȃp[^w ܁E
WebLogic URL ̍\
Properties IuWFNg URL ƂɁEڑ̎w
WebLogic JDBC h胃CóANCAgƑΏۃf[^x[XƂ̊ԁEJDBC ŐڑJέ߂̃vpeB java.utils.Properties
IuWFNggpӂĐݒ肵܁E܁EJDBC dlŐ־ ɁAURL gpӁEJDBC ăhCow ƁE܁EProperties IuWFNg URL Ƃ́ADriverManager.getConnection()
\bh܁EDriver.connect()
̓\bh́EȁEB
: DriverManager.getConnection()
ӂ͓\ჃbhȂ̂ŁAR ł́AAvP[VnO錴 EB̂߁Ã}jÃR[h ־悤ɁADriver.connect
\bhgpӂ邱ƂԊ߂܁E
̃f̒ʁE͈ȉ̂ƁEB
[UpX[hȂǂ́Ew ߁Ejava.util.Properties
̃IuWFNg فE
[h java.sql.Driver
ăIuWFNgɃLXg JDBC h郃CõNXw AClass.forName().newInstance()
\bh ؏o܁E
Driver.connect()
\bhgpӂĐځEفẼ\bhɂ́A JDBC ăhCo URL ̂ƃvpeB̃Zbgw E
Properties IuWFNg AClass.forName().newInstance()
̓\bh ؏oAڑIuWFNg sΤR[h Ԏ܁E
Properties dbprops = new Properties();
dbprops.put("user", "scott");
dbprops.put("password", "tiger");
dbprops.put("server", "DEMO");
2 wڑp̃[UApX[hA T[oi[ЁEProperties I郃uWFNǵAw WebLogic JDBC ڑp̃p[^ 𐂷邽߂̕ʁEProperties ̃IuWFNg̈ꕔƂȁEB
Properties t3props = new Properties();
t3props.put("weblogic.t3", t3);
t3props.put("weblogic.t3.dbprops", dbprops);
t3props.put("weblogic.t3.driverClassName", "weblogic.jdbc.oci.Driver");
t3props.put("weblogic.t3.driverURL", "jdbc:weblogic:oracle");
2 wڑƑwڑ̂ǁE ADriver.connect()
C\bh ؏o JDBC ĐڑCX^X ɃhCoɓn B̃\bhɂ́AURLij java.util.Properties
IuWFNg 2 ́Ew肵܁E
Driver myDriver = (Driver)
Class.forName("weblogic.jdbc.t3.Driver").newInstance();
Connection conn = Driver.connect("jdbc:weblogic:t3", t3props);
URL gpӁEWebLogic JDBC ڑ̎w
Java J芔̒ɂ́ASybase PowerJ ̂̂悤ɁAProperties IuWFNg[Uƃf[^x[Xw ߂Ɏgp ̂ BJɑÉADriverManager.getConnection() \bh̍ŏ́EĎgp URL T[oAweblogic.t3
vpeB ւāAWebLogic JDBC ڑsΤ߂ɕKvȃp[^ׂĎw肷K镗v B
WebLogic ł́APowerJ ̂悤ȊEEƂāARFC 1630 X^C̃NG URL \z邱ƂŁAWebLogic JDBC ڑɕKvȁEׂĎw ɂĂ܁E
WebLogic URL ̍\͈ȉ̂ƁEBŎāE̓vpeB̖OŁÃvpeBɎw肷l钂̗Ⴊ܁E
jdbc:weblogic:t3 (with JDK 1.1)
URL ̐擪ŁAWebLogic JDBC hCo URL ̂w i p ́AWebLogic JDBC hCo URL ̂́uURL ̃XL[vƌĂEjB
݁AWebLogic JDK 1.0.2 ͂T|[gĂȂƁEɒӂāE
WebLogic JDBC hCo URL ̂ɂ́A^╁E?j𑱁E vpeBƒl̃yA𑱂܁EyȀꍇ́AԂɃApThi&j i LjA 蕶̐F EĂ܂jB܂́Au?v́E A ͈قȁE锈ӂ̏Ŏw ܁E
weblogic.t3.serverURL=t3://localhost:7001
WebLogic Server URL ̂ŁE
weblogic.t3.driverURL=jdbc:weblogic:oracle:DEMO
2 wڑp JDBC hCo URL ̂ŁE̍\ɂ́AuservervvpeBƂĐݒ肷 Kᧉv BƂAjdbc:weblogic:oracle:DEMO
́AOracle f[^x[Xp WebLogic JDBC ̃hCozXguDEMOvɑ݁EƂퟺ҂܁E
weblogic.t3.driverClassName=weblogic.jdbc.oci.Driver
2 wڑp JDBC hCõNXŁENX́Ahbg\L̊SpbP[WłȁEȁEB
weblogic.t3.cacheRows=10
WebLogic Server LbVsᣈ̐ŁE
weblogic.t3.connectionPoolID=eng
ڑv[ ID ̂ŁE ID ̂́Aweblogic.properties
t@Cɓo^ȁEȁEB v[ JDBC ڑgpӁEAURL ɂ͐ڑv[ ID ̈ȊÓE͕svŁEڍׂɂẮAwWebLogic JDBC vO~O KChxŐڑv[̐־Q ہE
L㋈ȊOɁEOȗ\ȃvpeB B ̃vpeB̏ڍׂɂẮAwJ҃KChx́uڑpvpeB̐ݒv聂Q ہE
́EAuDEMOvƁEOracle f[^x[Xɐڑ邽߁EURL ̂w Eڑɂ́AzXgutoyboat.toybox.comṽ|[g 7001 gpē삷 WebLogic Server gpAcacheRows vpeB 25 ͂ɐݒ肵܁ÉÉAf[^x[Xɐڑ邽߂́uusernamev upasswordvvpeB Properties IuWFNgŐݒ肳ꂽƂO 𑒂Ă܁EԂŎu?v u&v́AURL ł͓N Ӗퟹق܁E₷邽߂ɁÁE URL ́EEsɎāEA ۂɁE1 ͍śEEEB
jdbc:weblogic:t3?
weblogic.t3.serverURL=t3://toyboat.bigbox.com:7001&
weblogic.t3.driverClassName=weblogic.jdbc.oci.Driver&
weblogic.t3.driverURL=jdbc:weblogic:oracle:DEMO&
weblogic.t3.cacheRows=25
URL ł́A镔Ɏw肳ꂽ ցȂ̕Ɏw肷ׁE𐄑邱Ƃł܁E̐𗘗p AURL ւ܁E
ƂAURL ̐擪iWebLogic JDBC hCo URĹjɃf[^x[X x_ DBMS zXg 𓂁AɎ悤ɁAweblogic.t3.driverURL
w KvȂȁEB
jdbc:weblogic:t3:oracle:DEMO
URL ́ELۂ悤Ȍ`ɂł܁E
jdbc:weblogic:t3?weblogic.t3.driverURL=jdbc:weblogic:oracle:DEMO
܁EWebLogic jDriver ̂ꂩ̃hCogpӁÉAhCõNX αƁE܁EURL ̐擪iL㋂́EQƁjA܂̓vpeB weblogic.t3.driverURL
琁E邩 Bȉ̕\́AURL Ɏw肳ꂽx_ɁAǂWebLogic jDriver ̃hCoΉ邩҂܁E
URL |
Ήh郃Co |
|
|
|
|
|
|
Ő־ƂퟥڗpāA gB URL AΉ̂悤ɂȁEB
jdbc:weblogic:t3:oracle:DEMO?
weblogic.t3.serverURL=t3://toyboat.bigbox.com:7001&
weblogic.t3.cacheRows=25
URL ɋLq ꕶ
URL Ɏw肷镶́AUS-ASCII ZbgɑO郃tBbN\\ȁEɁE B Iɂ́AA ` Z ̉pi啶ƏjA0 ` 9 ̐̑A$-_.+!*'()" Ȃǂ̓Nꕶ܂܁EBȂ́̕AKE2 ȁE16 ̐ii0123456789ABCDEFj̃R[hɒuK镗v i擪ɂ́u%vtj遁B
Nꕶ̒ɂ́AURL ŗ\ɂȁEāÊ i; / ? : @ = & ȂǁjB ̕ANgp ́A16 ĩR[hɕϊȁEȁEB
AɎ́AWebLogic URL ł͗\ƂȁEĂ܁E ̕ӯlɁAgp ́A16 ĩR[hɕϊȁEȁEB
%26 (&)
%3D (=)
%3F (?)
%2F (/)
%3A (:)
IDEiEBU[hj̎g
URL ASybase PowerJ ̂ȂǁEIDÉiJBEBU[hƂ¢jɂgΗpł܁ENX URL SȌ`Ŏw肵ȁEEȁEIDE gpӁÉAWebLogic JDBC ̃hCõNX Ԃ悤ɁE܁E
JDBC Driver:
weblogic.jdbc.t3.Driver
ԂŎu?v u&v́AURL ł͓N Ӗퟹق܁E₷邽߂ɁÁE URL ́EEsɎāEA ۂɁE1 ͍śEEEB́EAPowerJ f[^x[X EBU[h URL ŁE
Data Source URL:
jdbc:weblogic:t3?
weblogic.t3.serverURL=t3://toyboat.bigbox.com:7001&
weblogic.t3.driverClassName=weblogic.jdbc.oci.Driver&
weblogic.t3.driverURL=jdbc:weblogic:oracle:DEMO&
weblogic.t3.cacheRows=25
![]() |
![]() |