Dodatek za povezljivost
V tem razdelku so opisani nekateri dodatni oziri, ki se
nanašajo na postopke SQL med skupnim strežnikom različice 2 DB2 Universal
Database za AS/400 in DB2, oziroma DB2 Universal Database. Preostanek
opisa je povezan z DB2 za OS/2, vendar pa se v večini primerov podobni oziri
nanašajo tudi na skupni strežnik različice 2 DB2 in DB2 Universal Database na
drugih platformah:
- V AS/400 so imena tabel določena z zbirko (ali z imenom knjižnice) in se
nahajajo v bazi podatkov DB2 Universal Database za AS/400 (ena baza podatkov
na AS/400). Na PC-ju so tabele določene z ID-jem uporabnika
(izdelovalec tabele), in se nahajajo v določeni bazi podatkov (na PC-ju z DB2
za OS/2 je lahko več baz podatkov).
- To pomeni, da bo poizvedba iz DB2 za OS/2 (prek DB2 Connect) v DB2
Universal Database za AS/400 za (privzetek) ime zbirke uporabila ID uporabnika
opravila ciljne strani (v AS/400), če ste ime tabele, v kateri se izvaja
poizvedba, podali brez imena zbirke. Bodite previdni, sicer se lahko
zgodi, da tabele ne bo mogoče najti.
- To pomeni tudi, da bo poizvedba iz DB2 Universal Database za AS/400 v DB2
za OS/2 uporabljala posredni kvalifikator tabele, če ni podan v poizvedbi (v
obliki 'kvalifikator.ime-tabele'). Kvalifikator DB2 za
OS/2 (ki ga zahtevnik aplikacij AS/400 poda kot zbirko ali knjižnico) po
privzetku uporabi ID uporabnika, ki izvaja to poizvedbo. Tudi tu
pazite, sicer se lahko zgodi, da poizvedba ne bo našla tabele.
- Baze podatkov in tabele DB2 za OS/2 lahko izdelate s skupnim ID-jem
uporabnika. V DB2 za OS/2 ni fizičnih zbirk, kot je to v DB2 Universal
Database za AS/400, pač pa obstaja samo kvalifikator tabele, ki je ID
uporabnika izdelovalca.
- DB2 Connect (ali DDCS) je potreben, če bo DB2 za OS/2 odjemalec, ki
uporablja protokol DRDA, ni pa potreben, če bo DB2 za OS/2 uporabljen zgolj
kot strežnik.
- Zelo pomembno je, da DB2 Connect pravilno konfigurirate:
- Preverite, ali uporabljate najnovejše ravni DB2 za OS/2 in DB2
Connect. Uveljavite vse razpoložljive pakete popravkov.
- Sledite navodilom za namestitev in konfiguracijo v priročnikih.
- Če uporabljate APPC, morate v primeru, ko je DB2 za OS/2 uporabljen kot
zahtevnik aplikacij ali strežnik aplikacij, še posebej pazljivo konfigurirati
komunikacije, pri čemer morate za PC izdelati napravo in krmilnik. Tudi
ne glede na komunikacijski protokol, ki ga uporabljate, mora biti v imeniku
RDB postavka za vsako bazo podatkov DB2 za OS/2, s katero bo AS/400 vzpostavil
povezavo.
Postopek za nastavitev komunikacij APPC:
- Opise naprav in krmilnikov lahko izdelate ročno. Če uporabljate
omrežje token-ring in je parameter AUTOCRTCLT opisa linije nastavljen na *YES,
jih lahko za vas izdela sistem. Opis linije lahko poiščete s pomočjo
ukaza WRKLIND, za katere podajte možnost 2, Spremeni. Pomaknite se do
možnosti 'Samodejna izdelava krmilnika' in poglejte, kako je
nastavljena vrednost AUTOCRTCLT.
Če bo sistem samodejno izdeloval krmilnike, lahko zaženete izdelavo
potrebnih opisov. V mapi CM/2 v OS/2 zaženite komunikacije in
upravljanje podsistemov. V mapi za upravljanje podsistemov poiščite
podrobne podatke o podsistemu SNA. Tu lahko najdete tudi možnost
Logične povezave. Odprite jo in aktivirajte povezavo z želenim
sistemom, da bo sistem samodejno izdelal krmilnik. Opis naprave bo
samodejno izdelan kasneje.
- Če želite, da bodo med sistemi delovale omrežne povezave, morata biti
naprava in krmilnik za PC aktivna v AS/400. Parameter SWTDSC lahko v
opisu krmilnika nastavite na *NO, da bodo aktivni krmilniki ostali še naprej
aktivni. Parameter ONLINE lahko nastavite na *YES, s čimer boste
aktivirali parameter za krmilnik IPL. (Tudi parameter ONLINE za opis
naprave lahko nastavite na *YES). Če želite spremeniti parametre za
opis krmilnika, mora biti ta v izključenem stanju, lastnik krmilnika
(parameter CTLOWN) pa mora biti nastavljen na *USER.
- Če želite dodati postavko v imenik RDB za vsako bazo podatkov DB2 za OS/2,
s katero bo AS/400 vzpostavil povezavo, uporabite ukaz ADDRDBDIRE: ime
RDB je ime baze podatkov DB2 za OS/2, ime oddaljenega položaja pa je ime
delovne postaje.
- Ustrezna vrednost CCSID (običajno 37 za stranke iz ZDA) je potrebna za
tabele (fizične datoteke) v AS/400, ki jih uporablja DB2 za OS/2.
Vrednost CCSID lahko prikažete z DSPFD, vrednost CCSID za fizične datoteke pa
spremenite s CHGPF. Za uspešno vzpostavitev povezave bo morda potrebno
spremeniti tudi nekaj izmed naslednjega: CCSID opravila, CCSID
uporabljenega profila uporabnika ali sistemsko vrednost CCSID (QCCSID), če je
nastavljena na privzetek 65535. Običajno je najbolje, da to spremembo
opravite v profilu uporabnika, s katerim se izvaja opravilo strežnika.
- Preden za delo s strežnikom AS/400 uporabite DB2 Connect, morate v AS/400
izdelati pakete SQL za uporabniške programe in pomožne programe DB2
Connect.
- Za obdelavo izvorne datoteke uporabniškega programa z vdelanim SQL lahko
uporabite ukaz DB2 PREP. Ta postopek bo izdelal spremenjeno izvorno
datoteko, ki bo vsebovala jezikovne klice za stavke SQL in bo po privzetku
izdelala paket SQL v bazi podatkov, s katero ste trenutno povezani.
- Postopek za povezavo pomožnih programov DB2 Connect s katerimkoli
strežnikom DB2 AS/400:
-
CONNECT TO ime_rdb
-
BIND pot@DDCS400.LST BLOCKING ALL SQLERROR CONTINUE
MESSAGES DDCS400.MGS GRANT PUBLIC
pot v path@DDCS400.LST nadomestite s privzeto
potjo C:\SQLLIB\BND\ ali z lokalno vrednostjo, če niste
nameščali v privzeto mesto.
Opomba: | Za OS/400 V3R1 potrebujete PTF SF23624, s pomočjo katerega se boste izognili
kodi SQL 901, ki jo baza podatkov DB2 Universal Database za AS/400 vrne za
tretjo povezovalno datoteko na seznamu.
|
-
CONNECT RESET
- Za interaktivni SQL iz DB2 Universal Database za AS/400 v DB2 za
OS/2:
- Uporabite lastnosti seje NAMING(*SQL), DATFMT(*ISO) in
TIMFMT(*ISO). Poleg *ISO delujejo tudi druge oblike, vendar ne
vse; obliko, ki jo uporabite za datum (DATFMT), morate uporabiti tudi za
čas (TIMFMT).
- Ne spreglejte povezave med COLLECTION v AS/400 in kvalifikatorjem tabel
(ID uporabnika izdelovalca) za DB2 za OS/2. Za problematiko, povezano z
operacijami SQL, preglejte prvo postavko na tem seznamu.
- Za prvo interaktivno sejo MORATE za krmiljenje potrditve podati
COMMIT(*CS), nato pa (1) RELEASE ALL, (2) COMMIT in (3) CONNECT TO ime_rdb
(pri čemer 'ime_rdb' zamenjajte z določeno bazo podatkov). Na
tej točki lahko določite tudi GRANT EXECUTE ON PACKAGE QSQL400.QSQL0200
TO PUBLIC (ali določenim uporabnikom), tako da bodo tudi drugi uporabniki
lahko uporabljali SQL PKG, izdelan na PC-ju za interaktivni SQL.
- Za vse programe, ki jih izdelate v AS/400, ki dostopajo do baze podatkov
DB2 za OS/2, ne pozabite uporabiti naslednjih ukazov DB2 za OS/2:
-
GRANT ALL PRIVILEGES ON TABLE ime-tabele TO uporabnik
-
GRANT EXECUTE ON PACKAGE ime-paketa (običajno ime programa AS/400)
TO uporabnik
Za uporabnika po možnosti podajte 'PUBLIC'.
- Pri razvijanju aplikacij AS/400, ki dostopajo do DB2 za OS/2 (različice
2.1.1 ali novejše), je bilo kot odziv na ukaz CRTSQLxxx, ki
pravi, da je bil na PC-ju izdelan paket SQL, tudi če v resnici ni bil, izdano
sporočilo (SQL5057). To je v najnovejši ravni DB2 za OS/2
popravljeno.
Poleg tega v prejšnjih različicah DB2 za OS/2 ni bilo mogoče izdelati
paketov SQL za programe OS/400, ki so imeli v besedilnem polju zapis z opisom
svojega izvornega člana.
- Shranjene procedure v jeziku C v DB2 za OS/2 kot parametrov ne morejo
uporabljati argc in argv (ne morejo biti tipa main()). Tu se
razlikujejo od shranjenih procedur AS/400, ki morajo uporabljati argc in
argv. Podrobnejše informacije o shranjenih procedurah DB2 za OS/2 lahko
najdete v zgledih, ki so v podimeniku \SQLLIB\SAMPLES. V podimeniku C
poiščite OUTSRV.SQC in OUTCLI.SQC.
- Za shranjene procedure v DB2 za OS/2, ki jih pokliče AS/400, za ime
procedure uporabite velike črke. AS/400 trenutno pretvori imena
procedur v velike črke. Vendar pa to ne pomeni, da procedura na PC-ju,
ki ima enako ime, napisano z malimi črkami, ne bo najdena. Za shranjene
procedure v AS/400 si zapomnite, da so njihova imena napisana z velikimi
črkami.
- Brez ustreznega PTF-ja za vdelani SQL bo stavek CALL iz AS/400 v DB2 za
OS/2 pravilno deloval samo, če ime procedure postavite v spremenljivko
gostitelja (CALL
:ime-procedure-gostitelja(...)). Popravek za
napako v V3R7 je SF35932. PTF za V3R2 je SF36535.
- Shranjene procedure v AS/400 ne morejo vključevati stavka COMMIT, če so
izdelane tako, da se izvajajo v enaki aktivacijski skupini kot klicni program
(to je pravilni način za njihovo izdelavo). V DB2 za OS/2 shranjena
procedura sicer lahko vključuje stavek COMMIT, vendar se mora razvijalec
aplikacije zavedati, da program DB2 Universal Database za AS/400 ne bo vedel,
da je bila izvedena odobritev.
[ Vrh Strani | Predhodna Strani | Naslednja Strani | Obsah | Seznam ]