Połączenia z klientami baz danych działającymi na komputerze hosta lub AS/400 są traktowane jak wszystkie inne połączenia z serwerem DB2 Universal Database, co zapewnia spójność obliczania maksymalnej liczby połączeń jednoczesnych, sumując połączenia z klientami hosta, klientami AS/400 i klientami Universal Database.
W podręczniku Administration Guide można znaleźć zestawienie identyfikatorów CCSID, których mogą używać klienci na komputerze hosta lub AS/400 przy połączeniach z serwerem DB2 Universal Database.
W przypadku połączeń APPC klient hosta lub AS/400 łączy się z serwerem DB2 Universal Database, podając odpowiednią nazwę programu transakcyjnego (TPN) zdefiniowaną na tym serwerze. Wartość TPN może odpowiadać wartości parametru tpname umieszczonej w pliku konfiguracyjnym menedżera baz danych danej instancji. Wartością TPN używaną przez klienta bazy danych hosta lub systemu AS/400 może również być usługowy program transakcyjny x'07'6DB. W tym przypadku, jeśli na serwerze istnieje wiele instancji DB2 Universal Database, instancję, która będzie komunikować się z programem transakcyjnym x'07'6DB, określa zmienna rejestru DB2 o nazwie DB2SERVICETPINSTANCE. Jeśli klienci hosta lub AS/400 będą korzystali tylko z jednej instancji DB2, to nie należy określać wartości DB2SERVICETPINSTANCE.
Jeśli protokołem komunikacyjnym jest APPC, to podsystem komunikacyjny może ograniczyć dostępne dla menedżera baz danych opcje uwierzytelniania, które można określić na serwerze DB2 Universal Database. Nie wszystkie podsystemy komunikacyjne udostępniają hasło klienta serwerowi DB2 Universal Database, jeśli jest włączona ochrona (program ochrony). W tym przypadku opcja uwierzytelniania menedżera bazy danych nie może mieć wartości SERVER.
Jeśli protokołem komunikacyjnym jest APPC, podsystem komunikacyjny może ograniczyć dostępne dla menedżera baz danych opcje uwierzytelniania, które można określić na serwerze DB2 Universal Database. Jeśli skonfigurowano oprogramowanie SNA Syncpoint Manager, to można użyć dowolnego typu uwierzytelniania (SERVER, CLIENT, DCS).
Jeśli - ze względu na ograniczenia - opcji uwierzytelniania nie można ustawić na SERVER, to można ją ustawić na DCS. Umożliwia to realizowanie połączeń klientów hosta lub AS/400, które zostały pomyślnie uwierzytelnione przez podsystem komunikacyjny. Opcja ta powoduje jednak, że DB2 Universal Database traktuje zdalne połączenia klientów, tak jakby opcją uwierzytelniania był SERVER.
Narzędzie DB2 DRDA Trace (db2drdat) umożliwia śledzenie przepływu danych między klientem baz danych, działającym na komputerze hosta lub AS/400 i serwerem DB2 Universal Database. Więcej informacji na temat ustawień śledzenia można znaleźć w podręczniku Troubleshooting Guide.
Funkcje DRDA można podzielić na wymagane i opcjonalne. Tabela 33 zawiera funkcje realizowane przez serwer aplikacji w
ramach serwera DB2 Universal Database. Następna tabela zawiera wykaz
obsługiwanych opcji wiązania.
Tabela 33. Obsługiwane funkcje DRDA
Opis | Wymagana (W) Opcjonalna (O) | Obsługa |
Wymagana funkcja DRDA na poziomie 1 | W | Tak* |
Ponowne powiązanie | O | Tak |
Opis uprawnień użytkownika | O | Nie |
Opis tabeli bazy danych | O | Nie |
Przerwanie żądania do bazy danych | O | Nie |
Procedura zapisana w bazie zwraca wielowierszowe zestawy wyników | O | Tak |
Uwaga: | * Niektóre wymagane funkcje nie są obsługiwane. |
Tabela 34. Opcje wiązania obsługiwane przez serwer aplikacji DRDA DB2
Opcja wiązania | Wartość | Obsługa | Opcja prekompilacji DB2 for MVS/ESA (Uwaga 1) | Opcja przetwarzania wstępnego DB2/VM | Opcja prekompilacji OS/400 | Opcja przetwarzania wstępnego lub powiązania DB2 | ||
---|---|---|---|---|---|---|---|---|
Nazwa wersji pakietu | Null | Tak | VERSION |
|
| VERSION | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Sprawdzanie istnienia powiązania | Istnienie obiektu nie jest wymagane | Nie | VALIDATE (RUN)b | NOEXIST | GENLVL(10, 11-40) | VALIDATE RUN | ||
| Istnienie obiektu jest obowiązkowe | Tak | VALIDATE (BIND)b | EXIST | GENLVL(00-09) | VALIDATE BIND | ||
Opcja zastępowania pakietu | Zastępowanie dopuszczalne | Tak | ACTION (REPLACE) | REPLACE | REPLACE(*YES) | ACTION REPLACE | ||
| Zastępowanie niedopuszczalne | Nie | ACTION(ADD) | NEW | REPLACE(*NO) | ACTION ADD | ||
Opcja autoryzacji pakietu | Przechowywanie autoryzacji | Tak |
| KEEP |
| RETAIN YES | ||
| Unieważnienie autoryzacji | Nie |
| REVOKE |
| RETAIN NO | ||
Ogranicznik łańcucha instrukcji (Uwaga 2) | Apostrofy | Tak | APOSTSQL | SQLAPOST | OPTION([...] *APOSTSQL) (Uwaga 3) | STRDEL APOSTROPHE | ||
| Cudzysłowy | Nie | QUOTESQL | SQLQUOTE | OPTION([...] *QUOTESQL) (Uwaga 4) | STRDEL QUOTE | ||
Separator dziesiętny (Uwaga 5) | Kropka | Tak | PERIOD | PERIOD | OPTION([...] *PERIOD) lub OPTION([...] *SYSVAL) (Uwaga 6) | DECDEL PERIOD | ||
| Przecinek | Nie | COMMA | COMMA | OPTION([...] *COMMA) lub OPTION([...] *SYSVAL) (Uwaga 6) | DECDEL COMMA | ||
Format daty (Uwaga 7) | ISO | Tak | DATE(ISO) (Uwaga 8) | DATE(ISO) | DATFMT(*ISO) (Uwaga 8) | DATETIME ISO (Uwaga 9) | ||
| USA | Tak | DATE(USA) | DATE(USA) | DATFMT(*USA) | DATETIME USA | ||
| EUR | Tak | DATE(EUR) | DATE(EUR) | DATFMT(*EUR) | DATETIME EUR | ||
| JIS | Tak | DATE(JIS) | DATE(JIS) | DATFMT(*JIS) | DATETIME JIS | ||
Format godziny (Uwaga 7) | ISO | Tak | TIME(ISO) (Uwaga 8) | TIME(ISO) | TIMFMT(*ISO) (Uwaga 8) | DATETIME ISO (Uwaga 9) | ||
| USA | Tak | TIME(USA) | TIME(USA) | TIMFMT(*USA) | DATETIME USA | ||
| EUR | Tak | TIME(EUR) | TIME(EUR) | TIMFMT(*EUR) | DATETIME EUR | ||
| JIS | Tak | TIME(JIS) | TIME(JIS) | TIMFMT(*JIS) | DATETIME JIS | ||
Poziom wyodrębnienia pakietu (Uwaga 10) | Odczyt powtarzalny | Tak | ISOLATION(RR)b | ISOLATION(RR) |
| ISOLATION RR | ||
| Stabilność odczytu (Wszystkie) | Tak |
| ISOLATION(RS) | COMMIT(*ALL) | ISOLATION RS | ||
| Stabilność kursora | Tak | ISOLATION(CS)b | ISOLATION(CS) | COMMIT(*CS) | ISOLATION CS | ||
| Odczyt (Zmiana) niezatwierdzony | Tak |
| ISOLATION(UR) | COMMIT(*CHG) | ISOLATION UR | ||
| Bez zatwierdzania | Nie (Uwaga 11) |
|
| COMMIT(*NONE) | ISOLATION NC | ||
Sterowanie tworzeniem powiązań | Nie są dopuszczalne żadne błędy | Tak | SQLERROR (NOPACKAGE)b | NOCHECK | OPTION([...] *GEN) GENLVL(00-09, 10, 11-20) | SQLERROR NOPACKAGE | ||
| Tylko sprawdzanie | Tak |
| CHECK | OPTION([...] *NOGEN) | SQLERROR CHECK | ||
| Błędy są dopuszczalne | Nie | SQLERROR (CONTINUE)b | ERROR | OPTION([...] *GEN) GENLVL(21-40) | SQLERROR CONTINUE | ||
Opcja objaśniania powiązania | Żadna z instrukcji SQL | Tak | EXPLAIN(NO)b | EXPLAIN(NO) |
| EXPLAIN NO | ||
| Wszystkie instrukcje SQL dające się objaśnić | Nie | EXPLAIN(YES)b | EXPLAIN(YES) |
| EXPLAIN YES | ||
Identyfikator właściciela pakietu | <ID autoryzowanego użytkownika> | Tak | OWNERb | OWNER |
| OWNER | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Opcje zwalniania blokady relacyjnej bazy danych | Zwalnianie przy zatwierdzaniu | Tak | RELEASE (COMMIT)b | RELEASE (COMMIT) |
| RELEASE COMMIT | ||
| Zwalnianie przy zwalnianiu konwersacji | Nie | RELEASE (DEALLOCATE)b | RELEASE (DEALLOCATE) |
| RELEASE DEALLOCATE | ||
ID domyślnej kolekcji relacyjnej bazy danych | <ID autoryzowanego użytkownika> | Tak | QUALIFIERb | QUALIFIER | DFTRDBCOL | QUALIFIER | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Tytuł (opis pakietu) | Dowolna wartość (ignorowana przez DB2) | Tak |
| LABEL | TEXT | TEXT | ||
Sterowanie protokołem bloku zapytania | Ustalony rekord | Tak | CURRENTDATA (YES)b | SBLOCK | ALWBLK(*READ) | BLOCKING UNAMBIG | ||
| Ograniczony blok | Tak | CURRENTDATA (NO)b | BLOCK | ALWBLK (*ALLREAD) | BLOCKING ALL | ||
| Wymuszony ustalony wiersz | Tak |
| NOBLOCK | ALWBLK(*NONE) | BLOCKING NO | ||
Domyślny podtyp char. pakietu |
|
|
|
|
|
| ||
| Użycie wartości domyślnych w systemie | Tak |
|
|
| CHARSUB DEFAULT | ||
Jeśli domyślnym identyfikatorem CCSID jest SBCS | BIT | Nie |
| CHARSUB(BIT) |
| CHARSUB BIT | ||
Jeśli domyślnym identyfikatorem CCSID jest SBCS | SBCS | Tak |
| CHARSUB(SBCS) |
| CHARSUB SBCS | ||
Jeśli domyślnym identyfikatorem CCSID jest SBCS | MBCS | Nie |
| CHARSUB(MBCS) |
| CHARSUB MBCS | ||
Jeśli domyślnym identyfikatorem CCSID jest MBCS | BIT | Nie |
| CHARSUB(BIT) |
| CHARSUB BIT | ||
Jeśli domyślnym identyfikatorem CCSID jest MBCS | SBCS | Nie |
| CHARSUB(SBCS) |
| CHARSUB SBCS | ||
Jeśli domyślnym identyfikatorem CCSID jest MBCS | MBCS | Tak |
| CHARSUB(MBCS) |
| CHARSUB MBCS | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Domyślny identyfikator CCSID pakietu | Wartość podawana podczas tworzenia bazy danych DB2 | Tak |
| CCSIDSBCS() CCSIDGRAPHIC() CCSIDMIXED() |
| CCSIDS CCSIDG CCSIDM | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Dokładność dziesiętna (Uwaga 12) | 31 | Tak | DEC(31) |
|
| DEC 31 | ||
| Dowolna inna wartość | Nie | DEC(15) |
|
| DEC 15 | ||
Zastąpiona nazwa wersji pakietu | Null | Tak | REPLVERb |
|
| REPLVER | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Ogólne opcje wiązania | Null | Nie |
|
|
| GENERIC | ||
| Dowolna inna wartość | Nie |
|
|
|
| ||
Reguła autoryzacji pakietu | Requester | Tak |
|
|
| DYNAMICRULES RUN | ||
| Właściciel | Nie |
|
|
| DYNAMICRULES BIND | ||
| Twórca funkcji zdefiniowanej przez użytkownika i procedury zapisanej w bazie | Nie |
|
|
| DYNAMICRULES DEFINE | ||
| Element wywołujący funkcję zdefiniowaną przez użytkownika i procedurę zapisaną w bazie | Nie |
|
|
| DYNAMICRULES INVOKE | ||
Stopień równoległości | 1 | Nie |
|
|
| DEGREE 1 | ||
| n | Nie |
|
|
| DEGREE n | ||
| ANY | Nie |
|
|
| DEGREE ANY | ||
|
Aby poniższe narzędzia DB2 for VM działały poprawnie podczas pracy serwera DB2 Universal Database, należy wykonać dodatkowe kroki.
sqldbsu nazwa_bazy_danych.
Uwagi:
c:\SQLLIB\misc\
Jeśli DB2 zainstalowano na dysku C w katalogu domyślnym sqllib, to nie jest konieczna żadna dodatkowa konfiguracja RXSQL. Szczegółowe informacje na ten temat można znaleźć w podręczniku SQL/DS Procedures Language Interface Installation.
W przypadku komunikacji APPC ochrona w systemie DB2 Universal Database (opcja uwierzytelniania CLIENT, SERVER lub DCS) musi być używana razem z ochroną APPC typu SAME lub PROGRAM. Wówczas ID użytkownika i hasło przesyłane przez hosta lub AS/400 używane są przy połączeniu (CONNECT) z żądaną bazą danych. Poziom ochrony APPC NONE jest dopuszczalny tylko w przypadku uwierzytelniania DCE. Wówczas zaszyfrowany bilet DCE jest przesyłany jako część próby połączenia (CONNECT).
W przypadku komunikacji TCP/IP wszystkie informacje są przesyłane przy próbie połączenia (CONNECT).
Translacja ID użytkownika nie jest obsługiwana przez serwer DB2 Universal Database.
Strojenie dostępu do danych z aplikacji hosta i AS/400 jest określane na serwerze DB2 Universal Database za pomocą parametrów konfiguracyjnych menedżera baz danych DB2. Jeden z parametrów, wielkość sterty DRDA, jest charakterystyczny dla połączeń klientów hosta i AS/400. Może być konieczna zmiana ustawień niektórych parametrów ze względu na to, że potrzebne są dodatkowe zasoby dla serwera DB2 Universal Database.
Na stacjach roboczych UNIX wielkość sterty DRDA określa ilość pamięci podawaną w stronach pamięci, która jest przydzielana serwerowi DB2 Universal Database dla połączeń z hostem i AS/400.
W systemach OS/2 i Windows wielkość sterty DRDA określa ilość pamięci podawaną w segmentach, która jest przydzielana serwerowi DB2 Universal Database dla połączeń z hostem i AS/400.
Więcej informacji dotyczących konfigurowania menedżera baz danych można znaleźć w podręczniku Administration Guide.