Dodatek za povezljivost

Dodatni oziri pri DB2 Universal Database za AS/400 in DB2 Universal Database

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:

  1. 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).
    1. 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.
    2. 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.
    3. 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.
  2. 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.
  3. Zelo pomembno je, da DB2 Connect pravilno konfigurirate:
    1. Preverite, ali uporabljate najnovejše ravni DB2 za OS/2 in DB2 Connect. Uveljavite vse razpoložljive pakete popravkov.
    2. Sledite navodilom za namestitev in konfiguracijo v priročnikih.
  4. Č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:

    1. 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.

    2. Č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.
    3. Č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.
  5. 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.
  6. 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.
    1. 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.
    2. Postopek za povezavo pomožnih programov DB2 Connect s katerimkoli strežnikom DB2 AS/400:
      1.    CONNECT TO ime_rdb
        
      2.    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.

      3.    CONNECT RESET
        
  7. Za interaktivni SQL iz DB2 Universal Database za AS/400 v DB2 za OS/2:
    1. 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).
    2. 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.
    3. 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.
  8. 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:
    1.    GRANT ALL PRIVILEGES ON TABLE ime-tabele TO uporabnik
      
    2.    GRANT EXECUTE ON PACKAGE ime-paketa (običajno ime programa AS/400)
           TO uporabnik
      

      Za uporabnika po možnosti podajte 'PUBLIC'.

  9. 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.

  10. 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.
  11. 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.
  12. 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.
  13. 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 ]