Når export-kommandoen brukes sammen med et IXF-filformat og et SELECT *-ledd, blir det samlet inn indeksinformasjon der det er aktuelt.
Hvis kolonnenavnene som er oppgitt i indeksen inneholder tegnene - eller +, vil ikke indeksinformasjonen bli samlet inn, og du får SQL-kode SQL27984W. Eksporten vil bli fullført, og dataene som blir eksportert, vil ikke bli påvirket. Indeksinformasjonen vil imidlertid ikke bli lagret i IXF-filen.
Hvis du skal gjenopprette tabellen ved hjelp av import-kommandoen med CREATE-parameteren, vil ikke indeksene bli gjenopprettet. Du kan opprette indeksene separat ved hjelp av db2look-funksjonen.
Oppkalling av db2ReadLog-APIen fra en applikasjon kan føre til en feil når applikasjonen kobler seg fra databasen hvis en iverksetting eller tilbakestilling ikke er utført før frakoblingen:
For ikke innfelte SQL-applikasjoner (non-embedded) kan du slå på autocommit-modus før du kaller opp db2ReadLog-APIen.
Utfør en COMMIT- eller ROLLBACK-setning etter at du har kalt opp db2ReadLog-APIen og før du kobler deg fra databasen.
Kommandoen db2gcf starter, stopper eller overvåker en DB2 Universal Database-forekomst, vanligvis fra et automatisert skript, for eksempel i en HA-klynge (High Availability).
Bruk av db2gcf-systemkommandoen med parameteren -k på DB2 UDB Workgroup Server fungerer ikke.
Kommandoen "db2gcf -k" virker bare på DB2 UDB Enterprise Server Edition og ikke på DB2 UDB Workgroup Server Edition.
Hvis en 32-bits DB2 Universal Database-tjener (UDB) kjøres på et AIX-system, og en applikasjon som kjøres på det samme systemet har mer enn en lokal databasetilkobling gjennom DRDA-innpakkeren, kan applikasjonen få følgende feil:
SQL1822N Uforutsett feilkode "-1224" ble mottatt fra datakilden "W3_SERVER2". Tilhørende tekst og symboler er: func="DriverConnect" msg="SQL1224N En databaseagent kunne ikke startes for å behandle en forespørsel, eller den ble avsluttet som et resultat av en systemavslutning eller en FORCE-kommando. " SQLSTATE=560BD
Du kan unngå denne feilen ved å legge til denne posten i den forente konfigurasjonsfilen (forekomstkatalog/cfg/db2dj.ini):
EXTSHM=ON
Du kan også katalogisere den lokale DB2 UDB-databasen som om den er på en TCP/IP-node. For eksempel:
CATALOG TCPIP NODE min_node REMOTE min_vert SERVER 123; CATALOG DB mindb AT NODE min_node; CREATE WRAPPER drda; CREATE SERVER min_tjener TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "min_id" PASSWORD "mitt_passord" OPTIONS(ADD DBNAME 'MINDB');
Hvis hurtigtastene ikke fungerer i Microsoft Visual Studio .NET Framework 1.1, kan du laste ned en hurtigrettelse fra nettstedet til Microsoft. Du finner hurtigrettelsen i Microsoft Knowledge Base-artikkel Q836745.
AIX har endret kodesettet som er knyttet til språkmiljøet Forenklet kinesisk, Zh_CN, på:
Kodesettet er endret fra GBK (kodesett 1386) til GB18030 (kodesett 5488 eller 1392). Siden DB2 Universal Database (UDB) for AIX støtter GBK-kodesettet internt og ikke kodesettet GB18030 via Unicode, vil DB2 UDB som standard sette Zh_CN-språkmiljøets kodesett til ISO 8859-1 (kodesett 819), og i noen operasjoner vil også språkmiljøets landområde (territorium) settes til USA.
Du kan omgå denne begrensningen på to måter:
Hvis du velger det første alternativet, gir du disse kommandoene:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
Hvis du bruker det andre alternativet, endrer du språkmiljøet fra Zh_CN til enten ZH_CN eller zh_CN. Kodesettet for språkmiljøet ZH_CN er Unicode (UTF-8), mens kodesettet for språkmiljøet zh_CN er eucCN (kodesett 1383).
Red Hat versjon 8 og senere (inkludert Red Hat Enterprise Linux [RHEL] versjon 2.1 og 3) har endret standard kodesett for forenklet kinesisk fra GBK (kodesett 1386) til GB18030 (kodesett 5488 eller 1392).
Siden DB2 Universal Database (UDB) for Linux støtter GBK-kodesettet internt og ikke kodesettet GB18030 via Unicode, vil DB2 UDB som standard sette tilhørende kodesett til ISO 8859-1 (kodesett 819), og i noen operasjoner vil også tilhørende landområde (territorium) settes til USA.
Du kan omgå denne begrensningen på to måter:
Hvis du velger det første alternativet, gir du disse kommandoene:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
Hvis du velger det andre alternativet, bruker du en av disse kommandoene:
export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8
der kodesettet knyttet til zh_CN er eucCN eller kodesett 1383, og med zh_CN.utf8 kodesett 1208.
Det er inkompatibilitet med Unicode-støtte når Merant Driver Manager bruker DB2 ODBC-styreprogrammet på UNIX. Denne inkompatibiliteten gjør at Merant Driver Manager bruker Unicode selv om applikasjonen ikke bad om det. Dette kan føre til problemer med komponenter som Datavarehussenter, Information Catalog Manager og MQSI, som krever Merant Driver Manager for å støtte ikke-IBM-datakilder. Du kan bruke et alternativt bibliotek for DB2 ODBC-styreprogrammer, der Unicode-støtte ikke er aktivert, inntil det foreligger en permanent løsning.
Et alternativt bibliotek for DB2 ODBC-styreprogrammer, uten Unicode-støtte, er inkludert i DB2 Universal Database (UDB) versjon 8.1 for AIX, HP-UX og Solaris Operating Environment. For å kunne bruke dette alternative biblioteket må du opprette en kopi av det, og gi kopien samme navn som det opprinnelige biblioteket for DB2 ODBC-styreprogrammer.
Hvis du vil bytte til ODBC-biblioteket som ikke bruker Unicode, i AIX, HP-UX eller Solaris Operating Environment, kan du lese instruksjonene nedenfor. Siden dette er en manuell prosess, må du utføre den hver gang du oppdaterer produktet, også etter at du har installert flere opprettingspakker eller endringsnivåer etter hverandre.
Slik oppretter du det alternative biblioteket på AIX:
cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o
Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen db2_36.o.
Slik oppretter du det alternative biblioteket på Solaris:
cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1
Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen libdb2_36.so.1.
Slik oppretter du det alternative biblioteket på HP-UX PA-RISC:
cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl
Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen libdb2_36.sl.
Slik oppretter du det alternative biblioteket på HP-UX på IA64:
cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so
Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen libdb2_36.so.
Kontakt IBM Kundeservice hvis du trenger hjelp til DB2 UDB og Merant Driver Manager på andre UNIX-operativsystemer.
AIX 5 NFS APAR IY32512 kan gjøre at kommandoen db2stop mislykkes på systemer med et stort antall partisjoner.
Låsedemonen kan slutte å svare på en tjener som mottar et stort antall forespørsler om blokkering av låser på filer som allerede er låst. Denne situasjonen oppstår når alle tilgjengelige låste tråder er tildelt til tråder som venter på at låsene skal bli tilgjengelige, slik at det ikke er noen tilgjengelige tråder som kan ta over arbeidet når forespørselen om å låse opp blir sendt.
Når denne situasjonen oppstår, må nodene som er stoppet, startes på nytt. Det finnes en løsning for denne situasjonen i DB2 Universal Database, som er å stoppe nodene en av gangen ved hjelp av alternativet NODENUM for kommandoen db2stop.
Hvis forkompileringsvalget SQLFLAG(STD) er valgt, vil det forårsake følgende feil: Abend C6 occurred while running Precompile program DSNHPC
Fjern forkompileringsvalget SQLFLAG (STD) når du bruker utviklingssenteret til å opprette lagrede SQL-prosedyrer for kjøring på DB2 Universal Database for z/OS versjon 8.
DB2 Connect ruter ikke tilkoblinger til et annet medlem av en DDF (Distributed Data Facility) når medlemmet av DDF i datadelingsgruppen på OS390 er avsluttet. Med Sysplex aktivert ruter DB2 Connect tilkoblinger til et annet medlem i DDF i henhold til tjenerlisten.
Med DB2 Connect versjon 8 ble Sysplex utformet med bruk av agentområder i tankene. Sysplex-tjenerlisten blir frigitt hvis det ikke er noen agenter og ingen tilkoblinger til en database. Derfor må det beholdes minst en agent for å vedlikeholde Sysplex-tjenerlisten.
Aktiver tilkoblingsgruppering ved å kjøre disse kommandoene:
db2 update dbm cfg using num_poolagents antall
db2stop
db2start
der antall er det maksimale antall agenter som skal tillates for gruppering på DB2-forekomsten. Tilkoblingsgruppering blir aktivert når antall er større enn 0.
Sett num_poolagents til -1, som betyr halvparten av verdien som er tildelt konfigurasjonsparameteren maxagents
Selv om den er dokumentert i DB2 Connect User's Guide, støttes ikke DB2 Connect Custom Advisor lenger i versjon 8.2.
Denne feilen kan også oppstå når du installerer DB2 UDB versjon 8.1 opprettingspakke 7 hvis du oppdaterte konfigurasjonsparameteren jdk_path for DB2 Administration Server manuelt slik at den peker til HP-UX SDK 1.4, eller hvis du slettet og gjenopprettet DB2 Administration Server (DAS). Denne feilen oppstår i begge tilfeller fordi konfigurasjonsparameteren jdk_path er endret slik at den peker til HP-UX SDK 1.4.
En 32-bits forekomst av DB2 UDB versjon 8.2 krever HP-UX SDK 1.3.
db2 update admin config using JDK_PATH /opt/java1.3
db2admin stop db2admin start
Hvis du har problemer med å vise Indic-tegn når du bruker de grafiske DB2-verktøyene, er det mulig at du ikke har de nødvendige fontene installert på systemet.
DB2 Universal Database (UDB) har pakket disse proporsjonale IBM TrueType- og OpenType-fontene for Indic-språk. Du kan finne disse fontene i katalogen font på en av disse CDene:
Disse fontene skal kun brukes sammen med DB2 UDB. Du kan ikke selge eller distribuere disse fontene:
Skriftsnitt | Vekt | Navn på fontfil |
---|---|---|
Devanagari MT for IBM | Middels | devamt.ttf |
Devanagari MT for IBM | Fete typer | devamtb.ttf |
Tamil | Middels | TamilMT.ttf |
Tamil | Fete typer | TamilMTB.ttf |
Telugu | Middels | TeluguMT.ttf |
Telugu | Fete typer | TeleguMTB.ttf |
Du finner detaljert informasjon om hvordan du installerer fontene og endrer filen font.properties, i avsnittet om internasjonalisering i dokumentasjonen til IBM Development Kit for Java.
I tillegg leveres også disse Microsoft-produktene med Indic-fonter som kan brukes sammen med DB2s grafiske verktøy:
Med unntak av veiviseren for DB2-installering fungerer ikke de grafiske verktøyene på zSeries-tjenere som kjører operativsystemet Linux. Denne begrensningen omfatter alle elementer som vanligvis startes fra startpanelet for installering, for eksempel Rask innføring.
Hvis du ønsker å bruke de grafiske verktøyene sammen med et av disse systemene, installerer du de administrative verktøyene på et klientsystem med en annen systemkonfigurasjon, og bruker denne klienten til å koble deg til zSeries-tjeneren.
Du må bruke anførselstegn rundt søkeord som inneholder tall for å få nøyaktige søkeresultater i DB2 Informasjonssenter.
Hvis du for eksempel bruker dette søkeordet, får du ingen treff:
1.4.1
Hvis du derimot skriver anførselstegn rundt søkeordet, vil du få det forventede søkeresultatet:
"1.4.1"
Et søk etter dette ordet vil returnere flere emner:
DB20000I
Et søk etter dette ordet fungerer bedre:
"DB20000I"
Hvis det ikke genereres en loggfil for Informasjonskatalogsenter når du importerer kodespråkfiler til Informasjonskatalogsenter, gjør du slik:
db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ...
Hvis Query Patroller-pakkene ikke blir bundet etter at det er installert en opprettingspakke, kan en bruker uten DBADM-autorisasjon eller riktige Query Patroller-rettigheter få denne feilen når hun bruker Query Patroller-senteret eller Query Patroller-kommandolinjen:
SQL0001N - Bindingen eller forkompileringen ble ikke utført.
Hvis du bruker Query Patroller-senteret, blir SQL0001N-feilen loggført i filen qpdiag.log. Hvis du bruker Query Patroller-kommandolinjen, blir SQL0001N returnert til konsollen.
Det finnes kode for automatisk start av bindingen. Den automatiske bindingen mislykkes imidlertid når brukeren ikke har de nødvendige rettighetene til å utføre alle setninger i Query Patroller-pakkene. Et symptom på dette problemet er at det mangler mapper i Query Patroller-senteret.
Dette problemet kan unngås ved at qpserver.lst-pakkene blir bundet manuelt av en bruker med DBADM-autorisasjon eller de nødvendige rettighetene etter at en opprettingspakke er installert.
Sendte spørringer i Query Patroller kan motta SQL-kode -29007 når det ikke finnes flere tilgjengelige porter på Windows XP eller Windows 2003. Sannsynligheten for denne feilen øker med antall klienter som bruker Query Patroller.
Definer disse Windows-registervariablene:
MaxUserPort=65534 TcpTimedWaitDelay=30
og start systemet på nytt for å aktivere endringene.
Du finner mer informasjon om Windows-registervariabler på Microsofts nettside http://support.microsoft.com/.
Du kan få filtillatelsesproblemer hvis du bruker DB2 Universal Database (UDB) på Windows og ikke er administrator på Windows-systemet. Hvis du får feilmeldingen SQL1035N, SQL1652N eller SQL5005C, er mulige årsaker og løsninger som følger:
Gi brukerne minst MODIFY-tillatelse til katalogen instance_dir på filsystemnivå.
Noen XML Extender-eksempelprogrammer har kanskje samme navn som andre installerte programmer. Hvis du utilsiktet starter et annet program med samme navn som et XML Extender-eksempelprogram, kan XML-filene dine bli ødelagt. Listen nedenfor viser de gamle navnene på eksempelprogrammene i XML Extender, i tillegg til nye erstatningsprogrammer som ikke skal forårsake konflikter på samme måte. Pass på at du bruker de nye navnene på eksempelprogrammene i stedet for de gamle, slik at du unngår å ødelegge XML-filene dine.
Gammelt program (ikke bruk) | Nytt program (bruk) |
---|---|
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 |
Gammelt program (ikke bruk) | Nytt program (bruk) |
---|---|
insertx | dxxisrt |
retrieve | dxxretr |
retrieve2 | dxxretr2 |
retrievec | dxxretrc |
shred | dxxshrd |
tests2x | dxxgenx |
tests2xb | dxxgenxb |
tests2xc | dxxgenxc |
Kildekoden (.sqx-filer) for de utførbare filene oppført ovenfor ligger i katalogen samples\db2xml\c i installeringsstrukturen. Kildefilene har fortsatt sine gamle navn. Hvis du gjør endringer i kildekoden, kopierer du de nykompilerte utførbare filene (med gamle navn) til katalogen sqllib\bin.
På Windows-plattformer må du lage en ekstra kopi, gi den nytt navn som det nye navnet ovenfor og kopiere den til bin-katalogen. Begge kopier erstatter de eksisterende filene i bin-katalogen. For eksempel må du etter kompilering av den nye versjonen av shred.exe lage to kopier og erstatte filene i bin-katalogen: en kalt shred.exe og en annen omdøpt til dxxshrd.exe.
På Linux- og UNIX-plattformer trenger du bare å erstatte filen med det gamle navnet med den nykompilerte versjonen. Hvis du oppretter nye utførbare filer fra disse eksemplene, må du kopiere de nye filene fra katalogen \SQLLIB\samples\db2xml\c\ til katalogen \SQLLIB\bin\ og deretter lage en ekstra kopi og endre navnet på dem i henhold til tabellen ovenfor.
Du kan nå oppløse dokumenter som inneholder ikke-entydige attributter eller ikke-entydig elementnavn som tilordnes til forskjellige kolonner (i samme eller andre tabeller) uten å få feil DXXQ045E. Her er et eksempel på et XML-dokument med ikke-entydige attributter og ikke-entydig elementnavn:
<Order ID="0001-6789"> <!-- Merk: Attributtnavnet Customer ID er ikke-entydig --> <Customer ID = "1111"> <Name>John Smith</Name> </Customer> <!-- Merk: Elementnavnet Name er ikke-entydig --> <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>
Medfølgende DAD, som tilordner dupliserte elementer og attributter til andre kolonner, ser slik ut:
<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> <!--Attributtet ID duplisert nedenfor, men tilordnet annen kol--> <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"> <!--Attributtet ID duplisert ovenfor, men tilordnet annen kol --> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="cust_id" type="integer"/> </RDB_node> </attribute_node> <!--Elementnavnet duplisert nedenfor, men tilordnet annen kol --> <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"> <!--Attributtet ID duplisert ovenfor, men tilordnet annen kol --> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="salesp_id" type="integer"/> </RDB_node> </attribute_node> <!--Elementnavnet duplisert ovenfor, men tilordnet annen kol --> <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>
Innholdet i tabellene vil se slik ut etter at dokumentet ovenfor er oppløst:
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
Når du kobler deg til et OS/390-system ved hjelp av SNA, utfører VTAM-laget på vertsmaskinen automatisk en iverksetting når den nye tilkoblingen blir opprettet. Den automatiske iverksettingen gjør at trådstatusen på vertsmaskinen kan være inaktiv, og tråden blir umiddelbart inaktiv.
Når du kobler deg til et OS/390-system ved hjelp av TCP/IP, utføres det imidlertid ikke en automatisk iverksetting. Applikasjonen må selv utføre en eksplisitt iverksetting etter tilkoblingen for å gjøre det mulig for tråden å være inaktiv på vertsmaskinen. Uten den eksplisitte iverksettingen kan tråden få et tidsavbrudd på grunn av at den er uvirksom.
Anbefalt løsning er å skrive om applikasjonen slik at den utfører en eksplisitt iverksetting hvis forbindelsen blir uvirksom etter tilkoblingen.
[ Øverst på siden |Forrige side | Neste side | Innhold ]