Známé problémy a náhradní řešení

Export do souboru IXF s indexy ve sloupcích obsahujících znaky - a +

Při zadání příkazu export s formátem souboru IXF a klauzulí SELECT * jsou shromážděny informace indexu (pokud tak lze učinit).

Problém

Pokud názvy sloupců zadané v indexu obsahují znaky - nebo +, nebudou informace indexu shromážděny, přičemž obdržíte kód SQL SQL27984W. Export bude dokončen a exportovaná data nebudou ovlivněna. Informace indexu však nebudou uloženy v souboru IXF.

Řešení

Pokud znovu vytvoříte tabulku pomocí příkazu import s parametrem CREATE, nebudou indexy znovu vytvořeny. Pomocí obslužného programu db2look vytvořte indexy samostatně.

Chyba CLI0116E nebo SQL0428N při volání rozhraní API db2ReadLog

Problém

Při volání rozhraní API db2ReadLog z aplikace může dojít k chybě, pokud se aplikace odpojí od databáze, jestliže před odpojením není provedeno potvrzení nebo odvolání:

Náhradní řešení 1

U nevložených aplikací SQL zapněte před voláním rozhraní API db2ReadLog režim automatického potvrzení.

Náhradní řešení 2

Po volání rozhraní API db2ReadLog a před odpojením od databáze zadejte příkaz COMMIT nebo ROLLBACK.

Příkaz "db2gcf -k" v produktu DB2 UDB Workgroup Server Edition selže

Problém

Příkaz db2gcf spouští, zastavuje nebo monitoruje instanci DB2 Universal Database (UDB), zpravidla z automatického skriptu, jako třeba v klastru HA (High Availability).

Použití systémového příkazu db2gcf s parametrem -k v produktu DB2 UDB Workgroup Server se nezdaří.

Řešení

Příkaz "db2gcf -k" pracuje pouze v produktu DB2 UDB Enterprise Server Edition, ale ne v produktu DB2 UDB Workgroup Server Edition.

Chyba SQL1224 z modulu wrapper DRDA (AIX)

Pokud je 32bitový server produktu DB2 Universal Database (UDB) spuštěn v systému AIX a aplikace spuštěná ve stejném systému obsahuje více než jedno lokální databázové připojení pomocí modulu wrapper DRDA, může dojít k následující chybě aplikace:

SQL1822N  Ze zdroje dat "W3_SERVER2" byl přijat 
neočekávaný kód chyby "-1224". Přiřazený text a prvky byly 
  func="DriverConnect" 
  msg="SQL1224N  Nelze spustit agenta databáze pro zpracování 
                 této žádosti, nebo byl agent ukončen po ukončení 
                 práce databázového systému či 
                 příkazem Force."
SQLSTATE=560BD

Chcete-li se této chybě vyhnout, zadejte do federovaného konfiguračního souboru následující položku (adresář_instance/cfg/db2dj.ini):

EXTSHM=ON

Poznámka:
Přidáte-li položky do federovaného konfiguračního souboru, musíte zastavit a restartovat produkt DB2 UDB, aby došlo k uplatnění změn.

Nebo můžete katalogizovat lokální databázi DB2 UDB, jako by byla na uzlu TCP/IP. Příklad:

CATALOG TCPIP NODE my_node REMOTE my_host SERVER 123;
CATALOG DB mydb AT NODE my_node;
CREATE WRAPPER drda;
CREATE SERVER my_server TYPE DB2/UDB VERSION 8 WRAPPER drda
   AUTHORIZATION "my_id" PASSWORD "my_pw"
   OPTIONS(ADD DBNAME 'MYDB');

Aktivační klávesy nejsou v produktu Microsoft Visual Studio .NET Framework 1.1 funkční

Pokud nejsou aktivační klávesy v produktu Microsoft Visual Studio .NET Framework 1.1 funkční, můžete z webové stránky společnosti Microsoft stáhnout opravu HotFix. Opravu HotFix lze najít v databázi Microsoft Knowledge Base, článek Q836745.

Zjednodušená čínština (AIX)

Systém AIX změnil kódovou sadu vázanou ke zjednodušené čínštině Zh_CN pro verze:

Kódová sada byla změněna z GBK (kódová stránka 1386) na GB18030 (kódová stránka 5488 nebo 1392). Protože produkt DB2 Universal Database (UDB) for AIX podporuje kódovou sadu GBK přirozeně a kódovou sadu GB18030 prostřednictvím znakové sady Unicode, nastaví produkt DB2 UDB výchozí kód lokality Zh_CN na ISO 8859-1 (kódová stránka 819) a v některých operacích také nastaví oblast lokality jako výchozí na hodnotu Spojené státy americké (USA).

Toto omezení lze obejít dvěma způsoby:

Rozhodnete-li se postupovat prvním způsobem, zadejte následující příkazy:

db2set DB2CODEPAGE=1386
db2set DB2TERRITORY=86
db2 terminate
db2stop
db2start 

Pokud chcete použít druhou metodu, změňte lokalitu Zh_CN buď na ZH_CN, nebo na zh_CN. Lokalita ZH_CN používá znakovou sadu Unicode (UTF-8), zatímco u lokality zh_CN je použita znaková sada eucCN (kódová stránka 1383).

Zjednodušená čínština (Red Hat Linux)

V produktu Red Hat verze 8 a pozdějších (včetně produktů Red Hat Enterprise Linux [RHEL] verze 2.1 a 3) se výchozí kódová sada pro zjednodušenou čínštinu změnila z GBK (kódová stránka 1386) na GB18030 (kódová stránka 5488 nebo 1392).

Protože produkt DB2 Universal Database (UDB) for Linux podporuje kódovou sadu GBK přirozeně a kódovou sadu GB18030 prostřednictvím znakové sady Unicode, nastaví produkt DB2 UDB výchozí kód lokality Zh_CN na ISO 8859-1 (kódová stránka 819) a v některých operacích také nastaví její oblast jako výchozí na hodnotu Spojené státy americké (USA).

Toto omezení lze obejít dvěma způsoby:

Rozhodnete-li se postupovat prvním způsobem, zadejte následující příkazy:

db2set DB2CODEPAGE=1386
db2set DB2TERRITORY=86
db2 terminate
db2stop
db2start 

Rozhodnete-li se postupovat druhým způsobem, zadejte některý z následujících příkazů:

export LANG=zh_CN.gbk
export LANG=zh_CN
export LANG=zh_CN.utf8

,kde kódová sada spojená s zh_CN je eucCN nebo kódová stránka 1383 a u zh_CN.utf8 je kódová stránka 1208.

Nekompatibilita správce Merant Driver Manager (UNIX)

V podpoře sady Unicode dochází k nekompatibilitám, jakmile správce Merant Driver Manager získá přístup k ovladači DB2 ODBC v systému UNIX. Ty jsou příčinou, že správce Merant Driver Manager použije sadu Unicode i v případě, že aplikace její použití nevyžaduje. Tato situace může způsobit problémy se součástmi, jako jsou Centrum datových skladů, Správce informačních katalogů a MQSI, které vyžadují, aby správce Merant Driver Manager podporoval i jiné datové zdroje než IBM. Dokud nebude k dispozici trvalé řešení nápravy, lze v daném případě použít alternativní knihovnu ovladačů ODBC DB2 bez podpory Unicode.

Alternativní knihovna ovladačů ODBC DB2 bez zapnuté podpory Unicode je obsažena v rámci produktu DB2 Universal Database (UDB) verze 8.1 pro systémy AIX, HP-UX a Solaris Operating Environment. Chcete-li použít tuto alternativní knihovnu, vytvořte její kopii a tuto kopii pojmenujte původním jménem knihovny ovladačů ODBC DB2.

Poznámka:
Alternativní knihovna (_36) obsahuje funkce Unicode vyžadované ovladačem DB2 JDBC. Použití této knihovny umožní aplikacím JDBC včetně produktu WebSphere Application Server úspěšně pracovat s produktem DB2 UDB.

Chcete-li přejít ke knihovně ODBC bez podpory Unicode v systému AIX, HP-UX nebo Solaris Operating Environment, postupujte podle následujících pokynů. Vzhledem k tomu, že se jedná o manuální proces, je nutné jej provést při každé aktualizaci produktu (včetně aktualizací pomocí opravných sad FixPak nebo po úpravě úrovní).

Postup

AIX

Chcete-li vytvořit alternativní knihovnu v systému AIX, postupujte takto:

  1. Jako vlastník instance ukončete činnost všech instancí databáze pomocí příkazu db2stop force.
  2. Používáte-li ID instance serveru DB2 Administration Server, ukončete instanci DAS pomocí příkazu db2admin stop force.
  3. Vytvořte zálohu původního souboru db2.o v adresáři /usr/lpp/db2_81/lib.
  4. Používáte-li kořenové oprávnění, zadejte příkaz slibclean.
  5. Zkopírujte soubor db2_36.o do souboru db2.o při zachování konzistence vlastnictví a oprávnění. Zadejte následující příkazy:
    cp db2_36.o db2.o
    -r--r--r-- bin:bin for db2.o

Chcete-li přejít zpět k původnímu objektu, proveďte stejný postup se záložním souborem namísto souboru db2_36.o.

Solaris Operating Environment

Chcete-li vytvořit alternativní knihovnu v systému Solaris Operating Environment, postupujte takto:

  1. Jako vlastník instance ukončete činnost všech instancí databáze pomocí příkazu db2stop force.
  2. Používáte-li ID instance serveru DB2 Administration Server, ukončete instanci DAS pomocí příkazu db2admin stop force.
  3. Vytvořte zálohu původního souboru libdb2.so.1 v adresáři /opt/IBMdb2/V8.1/lib.
  4. Zkopírujte soubor libdb2_36.so.1 do souboru libdb2.so.1, při zachování konzistence vlastnictví a oprávnění. Zadejte následující příkazy:
    cp libdb2_36.so.1 libdb2.so.1 
    -r-xr-xr-x bin:bin libdb2.so.1
  5. Zadejte příkaz db2iupdt <instance> pro každou instanci databáze a příkaz dasupdt <instance_das> pro instanci DAS.

Chcete-li přejít zpět k původnímu objektu, proveďte stejný postup se záložním souborem namísto souboru libdb2_36.so.1.

HP-UX PA-RISC

Chcete-li vytvořit alternativní knihovnu v systému HP-UX PA-RISC, postupujte takto:

  1. Ukončete činnost všech instancí databáze pomocí příkazu db2stop force.
  2. Pomocí příkazu db2admin stop force ukončete instanci serveru DB2 Administration Server (DAS).
  3. Vytvořte zálohu původního souboru libdb2.sl v adresáři /opt/IBMdb2/V8.1/lib.
  4. Zkopírujte soubor libdb2_36.sl do souboru libdb2.sl, při zachování konzistence vlastnictví a oprávnění. Konzistenci zajistíte pomocí následujícího příkazu:
    cp libdb2_36.sl libdb2.sl
    -r-xr-xr-x bin:bin for libdb2.sl
  5. Zadejte příkaz db2iupdt <instance> pro každou instanci databáze a příkaz dasupdt <instance_das> pro instanci DAS.

Chcete-li přejít zpět k původnímu objektu, proveďte stejný postup se záložním souborem namísto souboru libdb2_36.sl.

HP-UX pro IA64

Chcete-li vytvořit alternativní knihovnu v systému HP-UX v systému IA64, postupujte takto:

  1. Ukončete činnost všech instancí databáze pomocí příkazu db2stop force.
  2. Pomocí příkazu db2admin stop force ukončete instanci serveru DB2 Administration Server (DAS).
  3. Vytvořte zálohu původního souboru libdb2.so v adresáři /opt/IBMdb2/V8.1/lib.
  4. Zkopírujte soubor libdb2_36.so do souboru libdb2.so, při zachování konzistence vlastnictví a oprávnění. Konzistenci zajistíte pomocí následujícího příkazu:
    cp libdb2_36.so libdb2.so
    -r-xr-xr-x bin:bin for libdb2.so
  5. Zadejte příkaz db2iupdt <instance> pro každou instanci databáze a příkaz dasupdt <instance_das> pro instanci DAS.

Chcete-li přejít zpět k původnímu objektu, proveďte stejný postup se záložním souborem namísto souboru libdb2_36.so.

Jiné operační systémy UNIX

Potřebujete-li pomoc s produkty DB2 UDB nebo Merant Driver Manager v jiných operačních systémech UNIX, obraťte se na zástupce odborné pomoci společnosti IBM.

NFS APAR IY32512 - Nedostupné podprocesy (AIX)

Oprava APAR IY32512 pro systém NFS v prostředí AIX 5 může způsobit selhání příkazu db2stop u systémů s velkým počtem diskových oblastí.

Na serverech s velmi vysokým počtem požadavků na uzamčení souborů, které jsou již uzamčeny, může dojít k zablokování démona zámků. Tato situace nastane, jestliže jsou všechny dostupné podprocesy zámků přiděleny podprocesům čekajícím na uvolnění zámků, takže při přijetí žádosti o odemčení již není k dispozici žádný volný podproces, který by mohl převzít zpracování této žádosti.

V takovém případě je nutné znovu spustit uzly, u nichž k zablokování došlo. Systém DB2 Universal Database umožňuje tento problém obejít zastavováním uzlů po jednom pomocí volby NODENUM příkazu db2stop.

Chyba volby prekompilátoru SQLFLAG (STD)

Pokud je povolena volba prekompilace SQLFLAG(STD), způsobí následující chybu: Během spuštění programu prekompilace DSNHPC nastal nestandardní konec

Pokud v nástroji Vývojové centrum vytváříte uložené procedury jazyka SQL pro spuštění v produktu DB2 Universal Database for z/OS, verze 8, odeberte volbu prekompilace SQLFLAG (STD).

Při použití komplexu subsystémů v produktu DB2 Connect musí být povoleno vytváření fondu připojení

Problém

Produkt DB2 Connect(TM) nesměruje připojení na jiného člena prostředku DDF (Distributed Data Facility), pokud připojující se člen prostředku DDF ve skupině sdílení dat na systému OS390 ukončil práci systému. Při povoleném komplexu subsystémů směruje produkt DB2 Connect(TM) připojení na jiného člena prostředku DFF podle seznamu serverů.

Koncepce komplexu subsystémů DB2 Connect verze 8 předpokládá vytváření fondu agentů. Pokud neexistuje žádný agent ani připojení k databázi, je seznam serverů komplexu subsystémů uvolněn. Pro udržování seznamu serverů komplexu subsystémů proto musí být zachován alespoň jeden agent.

Řešení

Spuštěním následujících příkazů povolte vytvoření fondu připojení:

db2 update dbm cfg using num_poolagents počet
db2stop
db2start

kde počet je maximální počet agentů, kteří mohou být zařazeni do fondu v instanci produktu DB2. Vytváření fondu připojení je povoleno, pokud je hodnota číslo větší než 0.

Doporučení

Parametr num_poolagents nastavte na hodnotu -1, při které bude použita polovina hodnoty přiřazené parametru konfigurace maxagents.

DB2 Connect Custom Advisor

Přestože byl produkt DB2 Connect Custom Advisor uveden v dokumentaci DB2 Connect - Uživatelská příručka, tento produkt již není ve verzi 8.2 podporován.

Vytvoření databáze katalogu nástrojů selže (HP-UX)

Problém
Při instalaci produktu DB2 Universal Database (UDB) verze 8.2 v systému HP-UX dojde k selhání příkazu CREATE TOOLS CATALOG s kódem SQLCODE -22209, pokud je tento příkaz spuštěn v 32bitové instanci a konfigurační parametr jdk_path serveru DB2 Administration Server odkazuje na modul HP-UX SDK 1.4. Důvodem selhání je, že produkt DB2 UDB verze 8.2 instaluje podle výchozího nastavení modul HP-UX SDK 1.4, ale 32bitová instance verze 8.2 vyžaduje pro úspěšné spuštění příkazu CREATE TOOLS CATALOG modul HP-UX SDK 1.3.

K tomuto selhání může dojít také při instalaci produktu DB2 UDB verze 8.1 FixPak 7, pokud jste ručně aktualizovali konfigurační parametr jdk_path serveru DB2 Administration Server tak, aby odkazoval na modul HP-UX SDK 1.4, nebo pokud jste zrušili a znovu vytvořili server DB2 Administration Server (DAS). Příčinou selhání je v obou těchto případech to, že došlo ke změně konfiguračního parametru jdk_path tak, že odkazuje na modul HP-UX SDK 1.4.

32bitová instance produktu DB2 UDB verze 8.2 vyžaduje pro úspěšné spuštění modul HP-UX SDK 1.3.

Náhradní řešení 1
Vytvořte katalog nástrojů pod 64bitovou instancí.
Náhradní řešení 2
Vytvořte katalog nástrojů pod 32bitovou instancí následujícím postupem:
  1. Stáhněte modul HP-UX SDK 1.3 z webové stránky systému HP-UX: http://www.hp.com/products1/unix/java/.
  2. Instalujte modul HP-UX SDK 1.3.
  3. Aktualizujte konfigurační parametr jdk_path serveru DB2 Administration Server tak, aby odkazoval na modul HP-UX SDK 1.3. Příklad:
    db2 update admin config using JDK_PATH /opt/java1.3
  4. Restartujte server DB2 Administration Server.
    db2admin stop
    db2admin start
  5. Znovu spusťte příkaz CREATE TOOLS CATALOG pod 32bitovou instancí.

Zobrazení indických znaků v nástrojích rozhraní DB2 GUI

Máte-li při použití nástrojů rozhraní DB2 GUI potíže se zobrazením indických znaků, možná nemáte v systému nainstalována potřebná písma.

Společně s produktem DB2 Universal Database (UDB) jsou distribuována následující proporcionální písma pro indický jazyk ve formátu IBM TrueType a OpenType. Tato písma můžete vyhledat v adresáři font na některém z následujících disků CD:

Tato písma lze použít pouze ve spojení s produktem DB2 UDB. Nelze je uvést do běžného nebo neomezeného prodeje či distribuce:

Tabulka 9. Indická písma v balíku produktu DB2 UDB
Typ písma Váha Jméno souboru písma
Devanagari MT for IBM Střední devamt.ttf
Devanagari MT for IBM Tučné devamtb.ttf
Tamil Střední TamilMT.ttf
Tamil Tučné TamilMTB.ttf
Telugu Střední TeluguMT.ttf
Telugu Tučné TeleguMTB.ttf

Podrobné pokyny pro instalaci těchto písem a úpravu souboru font.properties najdete v oddílu Úpravy pro mezinárodní použití dokumentace IBM Development Kit for Java.

Navíc jsou indická písma, která lze použít v nástrojích DB2 rozhraní GUI, distribuována společně s následujícími produkty společnosti Microsoft:

Nástroje grafického uživatelského rozhraní nejsou podporovány na serverech zSeries (Linux)

S výjimkou Průvodce nastavením DB2 nebudou nástroje s grafickým rozhraním pracovat na serverech zSeries s operačním systémem Linux. Toto omezení zahrnuje jakékoli položky normálně spouštěné z příručního panelu Instalace, jako je aplikace Demonstrace.

Chcete-li nástroje rozhraní GUI použít v některém z těchto systémů, nainstalujte nástroje pro správu do klientského systému s rozdílnou konfigurací systému a pro spojení se serverem zSeries použijte tohoto klienta.

Uzavírejte výrazy vyhledávání Informačního centra DB2 do uvozovek, obsahují-li čísla

Chcete-li získat v Informačním centru DB2 přesné výsledky vyhledávání, musíte hledané výrazy obsahující čísla uzavírat do uvozovek.

Pokud například vyhledáváte následující výraz, neobdržíte žádné výsledky:

  1.4.1

Pokud ovšem tento výraz uzavřete do uvozovek, získáte odpovídající výsledky:

  "1.4.1"

Vyhledávání následujícího výrazu vrátí jiná témata:

  DB20000I

Ale vyhledávání následujícího výrazu bude pracovat správně:

  "DB20000I"

Při importu souborů jazyku značek není generován soubor žurnálu nástroje Centrum informačního katalogu

Pokud není při importu souborů jazyku značek do Centra informačního katalogu vygenerován soubor žurnálu Centra informačního katalogu, proveďte následující kroky vedoucí k odstranění problémů:

Při spuštění příkazu db2icmimport z příkazového řádku:
Při importu souborů jazyku značek pomocí grafického uživatelského rozhraní Centra informačního katalogu:

Vázání balíků produktu Query Patroller

Pokud nejsou po použití opravy FixPak vázány balíky Query Patroller, může uživatel bez oprávnění DBADM nebo řádných oprávnění Query Patroller zjistit následující chybu při používání Centra Query Patroller nebo příkazového řádku produktu Query Patroller:

SQL0001N - Vázání nebo prekompilace nebyly úspěšně dokončeny.

Pokud používáte Centrum Query Patroller, bude chyba SQL0001N zaznamenána do souboru qpdiag.log. Jestliže používáte příkazový řádek produktu Query Patroller, bude v konzole vrácena chyba SQL0001N.

K dispozici je kód automatického vázání k zahájení automatického vázání. Automatické vázání však selže, pokud připojující se uživatel nemá potřebná oprávnění k provádění všech příkazů v balících Query Patroller. Příčinou tohoto problému jsou chybějící složky v Centru Query Patroller.

Chcete-li se tomuto problému vyhnout, měly by být balíky qpserver.lst navázány ručně uživatelem s oprávněním DBADM nebo nezbytnými oprávněními po uplatnění opravy FixPak.

Nedostupnost portů v produktu Query Patroller (Windows)

Problém

Odeslané dotazy v produktu Query mohou obdržet kód SQL -29007, pokud nejsou v systému Windows XP nebo Windows 2003 k dispozici další porty. Pravděpodobnost této chyby roste s rostoucím počtem klientů přistupujících k produktu Query Patroller.

Řešení

Nastavte následující proměnné registru Windows:

   MaxUserPort=65534
   TcpTimedWaitDelay=30 

arestartujte systém, aby se provedené změny uplatnily.

Podrobnosti o nastavení proměnných registru Windows naleznete na stránkách nápovědy a odborné pomoci společnosti Microsoft(R) na adrese http://support.microsoft.com/.

Zabezpečená prostředí (Windows)

Pokud používáte produkt DB2 Universal Database (UDB) v systému Windows a nejste administrátorem tohoto systému, můžete se setkat s problémy s oprávněními k souborům. Pokud narazíte na chybovou zprávu SQL1035N, SQL1652N nebo SQL5005C, jsou možné příčiny a řešení následující:

Uživatel nemá dostatečná oprávnění k adresáři sqllib

Problém
Při pokusu o otevření příkazového procesoru DB2 nebo příkazového okna uživatel obdrží chybu SQL1035N nebo SQL1652N. Kód produktu DB2 UDB (soubory jádra) je instalován do adresářové struktury s omezenými oprávněními k zápisu. Některé nástroje produktu DB2 UDB však potřebují v tomto adresáři DB2INSTPROF zapisovat a vytvářet soubory.
Řešení
Vytvořte nový adresář, ke kterému můžete uživatelům udělit alespoň oprávnění MODIFY, a pomocí příkazu db2set -g db2tempdir vytvořte odkaz na nový adresář nebo nastavte proměnnou db2tempdir v prostředí systému Windows.
Přestože uživatel patří do skupiny SYSADM_GROUP, nemá dostatečná oprávnění pro zápis do adresáře sqllib\<adr_instance>

Problém
Při pokusu o aktualizaci konfiguračního souboru správce databází (update dbm cfg) uživatel obdrží systémovou chybu SQL5005C. Uživatel nemá požadovaná oprávnění NTFS pro zápis do adresáře sqllib\adr_instance, přestože jste tohoto uživatele přidali do skupiny SYSADM_GROUP.
První řešení

Udělte uživatelům pro adresář adr_instance na úrovni souborového systému minimálně oprávnění MODIFY.

Druhé řešení
Vytvořte nový adresář, ke kterému můžete uživateli udělit minimálně oprávnění MODIFY. Pomocí příkazu db2set db2instprof proveďte směrování na tento nový adresář. Buď musíte znovu vytvořit příslušnou instanci tak, aby byly informace uloženy v novém adresáři instance, který byl určen příkazem db2instprof, nebo musíte přesunout starý adresář instance do nového adresáře.

Ukázkové programy pro XML Extender byly přejmenovány

Některé ukázkové programy pro XML Extender mohou mít stejná jména jako jiné instalované programy. Náhodné vyvolání jiného programu se stejným jménem, jako má ukázkový program nástroje XML Extender, může poškodit soubory XML. Následující seznam uvádí stará jména ukázkových programů nástroje XML Extender a nová jména programů, která je nahrazují a u nichž je menší pravděpodobnost, že způsobí problémy. Používejte nová jména ukázkových programů místo starých jmen, aby nedošlo k poškození souborů XML.

Tabulka 10. Náhradní ukázkové programy nástroje XML Extender (Windows)
Původní program (nepoužívat) Nový program (použít)
insertx.exe dxxisrt.exe
retrieve.exe dxxretr.exe
retrieve2.exe dxxretr2.exe
retrievec.exe dxxretrc.exe
shred.exe dxxshrd.exe
tests2x.exe dxxgenx.exe
tests2xb.exe dxxgenxb.exe
tests2xc.exe dxxgenxc.exe
Tabulka 11. Náhradní ukázkové programy nástroje XML Extender (Linux a UNIX)
Původní program (nepoužívat) Nový program (použít)
insertx dxxisrt
retrieve dxxretr
retrieve2 dxxretr2
retrievec dxxretrc
shred dxxshrd
tests2x dxxgenx
tests2xb dxxgenxb
tests2xc dxxgenxc

Použití nových ukázkových programů pro ukázkové soubory sqx

Zdrojový kód (soubory sqx) pro výše uvedené spustitelné programy je umístěn v adresáři samples\db2xml\c dané instalace. Zdrojové soubory jsou stále označeny starými jmény. Pokud změníte zdrojový kód, zkopírujte nově kompilované spustitelné programy (se starými jmény) do adresáře sqllib\bin.

V platformách Windows je nutné vytvořit další kopii, přejmenovat ji a zkopírovat ji do binárního adresáře. Obě kopie nahrazují existující soubory v binárním adresáři. Například po kompilaci nové verze souboru shred.exe je nutné vytvořit dvě kopie a nahradit soubory v binárním adresáři: jeden označený shred.exe a druhý, který byl přejmenován na dxxshrd.exe.

V platformách Linux a UNIX je třeba přejmenovat pouze soubor se starým jménem na nově zkompilovanou verzi. Pokud na základě těchto ukázek vytvoříte nové spustitelné soubory, je nutné nové soubory zkopírovat z adresáře \SQLLIB\samples\db2xml\c\ do adresáře \SQLLIB\bin\ a poté vytvořit další kopii, přičemž je třeba obě kopie přejmenovat podle předchozí tabulky.

Rozložení dokumentů obsahujících nejedinečná jména atributů a prvků v nástroji XML Extender

Nyní je možné rozložit dokumenty, které obsahují nejedinečná jména atributů nebo prvků, které jsou mapovány do různých sloupců (ve stejných nebo různých tabulkách), aniž by došlo k chybě DXXQ045E. Následující příklad uvádí dokument XML s nejedinečnými jmény atributů a prvků:

<Order ID="0001-6789">
       <!-- Note: attribute name ID is non-unique -->
       <Customer ID = "1111">
                    <Name>John Smith</Name>
       </Customer>
       <!-- Note: element name Name is non_unique -->
       <Salesperson ID = "1234"> 
              <Name>Jane Doe</Name>
       </Salesperson>
       <OrderDetail>
              <ItemNo>xxxx-xxxx</ItemNo>
              <Quantity>2</Quantity>
              <UnitPrice>12.50</UnitPrice>
       </OrderDetail>
       <OrderDetail>
              <ItemNo>yyyy-yyyy</ItemNo>
              <Quantity>4</Quantity>
              <UnitPrice>24.99</UnitPrice>
       </OrderDetail>       
</Order>

Přiložený dokument DAD, který mapuje duplicitní prvky a atributy do různých sloupců, vypadá takto:

<element_node name="Order">
  <RDB_node>
    <table name="order_tab" key="order_id"/>
    <table name="detail_tab"/>
    <condition>
      order_tab.order_id=detail_tab.order_id
    </condition>
  </RDB_node>

  <!--attribute ID duplicated below, but mapped to a different col-->
  <attribute_node name="ID">
    <RDB_node>
      <table name="order_tab" />
      <column name="order_id" type="char(9)"/>
    </RDB_node>
  </attribute_node>
  
  <element_node name="Customer">
    <!--attribute ID duplicated above, but mapped to a different col-->
    <attribute_node name="ID">
      <RDB_node>
        <table name="order_tab" />
        <column name="cust_id" type="integer"/>
      </RDB_node>
    </attribute_node>

    <!--element name duplicated below, but mapped to a different col-->
    <element_node name="Name"> 
      <text_node>
        <RDB_node>
          <table name="order_tab" />
          <column name="cust_name" type="char(20)" />
        </RDB_node>
      </text_node>
    </element_node>
  </element_node>
    
  <element_node name="Salesperson">
    <!--attribute ID duplicated above, but mapped to a different col-->
    <attribute_node name="ID">
      <RDB_node>
        <table name="order_tab" />
        <column name="salesp_id" type="integer"/>
      </RDB_node>
    </attribute_node>
          
    <!--element name duplicated above, but mapped to a different col--> 
    <element_node name="Name"> 
      <text_node>
        <RDB_node>
          <table name="order_tab" />
          <column name="salesp_name" type="char(20)" />
        </RDB_node>
      </text_node>
    </element_node>
  </element_node>
    
  <element_node name="OrderDetail" multi_occurrence="YES">
    <element_node name="ItemNo">
      <text_node>
        <RDB_node>
          <table name="detail_tab" />
          <column name="itemno" type="char(9)"/>
        </RDB_node>
      </text_node>
    </element_node>
    <element_node name="Quantity">
      <text_node>
        <RDB_node>
          <table name="detail_tab" />
          <column name="quantity" type="integer"/>
        </RDB_node>
      </text_node>
    </element_node>
    <element_node name="UnitPrice">
      <text_node>
        <RDB_node>detail_tab" />
          <table name="detail_tab" />        
          <column name="unit_price" type="decimal(7,2)"/>
        </RDB_node>
      </text_node>
    </element_node>
  </element_node>
</element_node>

Obsah tabulek bude po rozložení předchozího dokumentu vypadat následovně:

ORDER _TAB:

ORDER_ID       CUST_ID       CUST_NAME       SALESP_ID       SALESP_NAME
0001-6789      1111          John Smith      1234            Jane Doe

DETAIL_TAB:

ORDER_ID          ITEMNO         QUANTITY          UNIT_PRICE
0001-6789         xxxx-xxxx      2                 12.50
0001-6789         yyyy-yyyy      4                 24.99

Poznámka:
Chcete-li mapovat více prvků a atributů do stejného sloupce stejné tabulky, definujte alias pro tabulku a použijte jej v prvku DAD <table> jednoho z mapování.

Rozdíly mezi architekturou SNA a protokolem TCP/IP při použití produktu DB2 Connect

Při připojení k systému OS/390 pomocí architektury SNA hostitelská vrstva VTAM automaticky spustí potvrzení při navázání nového připojení. Automatické potvrzení umožňuje neaktivní stav podprocesu na straně hostitele a podproces se stane okamžitě neaktivní.

Pokud se však k systému OS/390 připojujete pomocí protokolu TCP/IP, není k dispozici žádné automatické potvrzení. Aplikace musí sama vydat explicitní potvrzení po navázání připojení a povolit tak neaktivní podproces v hostiteli. Bez explicitního potvrzení je podproces vystaven zpoždění nečinného podprocesu.

Navrhované řešení tohoto problému je přepis aplikace tak, aby prováděla automatické potvrzení poté, co připojení přejde po navázání do nečinnosti.

[ Začátek stránky |Předchozí stránka | Další stránka | Obsah ]