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).
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.
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ě.
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í:
U nevložených aplikací SQL zapněte před voláním rozhraní API db2ReadLog režim automatického potvrzení.
Po volání rozhraní API db2ReadLog a před odpojením od databáze zadejte příkaz COMMIT nebo ROLLBACK.
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ří.
Příkaz "db2gcf -k" pracuje pouze v produktu DB2 UDB Enterprise Server Edition, ale ne v produktu DB2 UDB Workgroup Server Edition.
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
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');
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.
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).
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.
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.
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í).
Chcete-li vytvořit alternativní knihovnu v systému AIX, postupujte takto:
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.
Chcete-li vytvořit alternativní knihovnu v systému Solaris Operating Environment, postupujte takto:
cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1
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.
Chcete-li vytvořit alternativní knihovnu v systému HP-UX PA-RISC, postupujte takto:
cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl
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.
Chcete-li vytvořit alternativní knihovnu v systému HP-UX v systému IA64, postupujte takto:
cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so
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.
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.
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.
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).
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.
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.
Parametr num_poolagents nastavte na hodnotu -1, při které bude použita polovina hodnoty přiřazené parametru konfigurace maxagents.
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.
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.
db2 update admin config using JDK_PATH /opt/java1.3
db2admin stop db2admin start
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:
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:
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.
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"
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ů:
db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ...
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.
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.
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/.
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í:
Udělte uživatelům pro adresář adr_instance na úrovni souborového systému minimálně oprávnění MODIFY.
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.
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 |
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 |
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.
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
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 ]