Kjente problemer og løsninger

Eksportere til en IXF-fil med indekser på kolonner som inneholder tegnene - og +

Når export-kommandoen brukes sammen med et IXF-filformat og et SELECT *-ledd, blir det samlet inn indeksinformasjon der det er aktuelt.

Problem

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.

Løsning

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.

CLI0116E- eller SQL0428N-feil ved oppkalling av db2ReadLog-APIen

Problem

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:

Løsning 1

For ikke innfelte SQL-applikasjoner (non-embedded) kan du slå på autocommit-modus før du kaller opp db2ReadLog-APIen.

Løsning 2

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 -k" mislykkes på DB2 UDB Workgroup Server Edition

Problem

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.

Løsning

Kommandoen "db2gcf -k" virker bare på DB2 UDB Enterprise Server Edition og ikke på DB2 UDB Workgroup Server Edition.

SQL1224-feil fra DRDA-innpakker (AIX)

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
Merk:
Når du tilføyer poster i den forente konfigurasjonsfilen, må du stoppe og starte DB2 UDB på nytt for at endringene skal bli aktivert.

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');

Hurtigtaster fungerer ikke i Microsoft Visual Studio .NET Framework 1.1

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.

Språkmiljøet Forenklet kinesisk (AIX)

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

Språkmiljøet Forenklet kinesisk (Red Hat Linux)

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.

Inkompatibilitet for Merant Driver Manager (UNIX)

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.

Merk:
Det alternative (_36) biblioteket inneholder Unicode-funksjoner som kreves av DB2 JDBC-styreprogrammet. Hvis du bruker dette biblioteket, vil JDBC-applikasjoner, blant annet WebSphere Application Server, fungere sammen med DB2 UDB.

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.

Fremgangsmåte

AIX

Slik oppretter du det alternative biblioteket på AIX:

  1. Som forekomsteier avslutter du alle databaseforekomster ved hjelp av kommandoen db2stop force.
  2. Bruk forekomst-IDen for DB2-administrasjonstjeneren (DAS) til å avslutte DAS-forekomsten ved hjelp av kommandoen db2admin stop force.
  3. Reservekopier den originale filen db2.o i katalogen /usr/lpp/db2_81/lib.
  4. Bruk root-autorisasjon til å kjøre kommandoen slibclean.
  5. Kopier filen db2_36.o til reservekopifilen db2.o, og pass på at eierforhold og tillatelser forblir konsistente. Utfør disse kommandoene:
    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.

Solaris Operating Environment

Slik oppretter du det alternative biblioteket på Solaris:

  1. Som forekomsteier avslutter du alle databaseforekomster ved hjelp av kommandoen db2stop force.
  2. Bruk forekomst-IDen for DB2-administrasjonstjeneren (DAS) til å avslutte DAS-forekomsten ved hjelp av kommandoen db2admin stop force.
  3. Reservekopier den originale filen libdb2.so.1 i katalogen /opt/IBMdb2/V8.1/lib.
  4. Kopier filen libdb2_36.so.1 til reservekopifilen libdb2.so.1, og pass på at eierforhold og tillatelser forblir konsistente. Utfør disse kommandoene:
    cp libdb2_36.so.1 libdb2.so.1 
    -r-xr-xr-x bin:bin libdb2.so.1
  5. Kjør kommandoen db2iupdt <forekomst> for hver databaseforekomst og kommandoen dasupdt <das-forekomst> for DAS-forekomsten.

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.

HP-UX PA-RISC

Slik oppretter du det alternative biblioteket på HP-UX PA-RISC:

  1. Avslutt alle databaseforekomstene ved hjelp av kommandoen db2stop force.
  2. Avslutt DB2 Administration Server-forekomsten (DAS) ved hjelp av kommandoen db2admin stop force.
  3. Reservekopier den originale filen libdb2.sl i katalogen /opt/IBMdb2/V8.1/lib.
  4. Kopier filen libdb2_36.sl til reservekopifilen libdb2.sl, og pass på at eierforhold og tillatelser forblir konsistente. Bruk denne kommandoen for å beholde konsistensen:
    cp libdb2_36.sl libdb2.sl
    -r-xr-xr-x bin:bin for libdb2.sl
  5. Kjør kommandoen db2iupdt <forekomst> for hver databaseforekomst og kommandoen dasupdt <das-forekomst> for DAS-forekomsten.

Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen libdb2_36.sl.

HP-UX på IA64

Slik oppretter du det alternative biblioteket på HP-UX på IA64:

  1. Avslutt alle databaseforekomstene ved hjelp av kommandoen db2stop force.
  2. Avslutt DB2 Administration Server-forekomsten (DAS) ved hjelp av kommandoen db2admin stop force.
  3. Reservekopier den originale filen libdb2.so i katalogen /opt/IBMdb2/V8.1/lib.
  4. Kopier filen libdb2_36.so til reservekopifilen libdb2.so, og pass på at eierforhold og tillatelser forblir konsistente. Bruk denne kommandoen for å beholde konsistensen:
    cp libdb2_36.so libdb2.so
    -r-xr-xr-x bin:bin for libdb2.so
  5. Kjør kommandoen db2iupdt <forekomst> for hver databaseforekomst og kommandoen dasupdt <das-forekomst> for DAS-forekomsten.

Hvis du vil bytte tilbake til det opprinnelige objektet, følger du samme prosedyre og bruker reservekopifilen i stedet for filen libdb2_36.so.

Andre UNIX-operativsystemer

Kontakt IBM Kundeservice hvis du trenger hjelp til DB2 UDB og Merant Driver Manager på andre UNIX-operativsystemer.

NFS APAR IY32512 - Utilgjengelige tråder (AIX)

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.

Feil i forkompilatorvalget SQLFLAG(STD)

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.

Tilkoblingsgruppering (connection pooling) må aktiveres når Sysplex brukes i DB2 Connect

Problem

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.

Løsning

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.

Anbefaling

Sett num_poolagents til -1, som betyr halvparten av verdien som er tildelt konfigurasjonsparameteren maxagents

DB2 Connect Custom Advisor

Selv om den er dokumentert i DB2 Connect User's Guide, støttes ikke DB2 Connect Custom Advisor lenger i versjon 8.2.

Opprettelse av verktøykatalogdatabase mislykkes (HP-UX)

Problem
Når du installerer DB2 Universal Database (UDB) versjon 8.2 på HP-UX, mislykkes kommandoen CREATE TOOLS CATALOG med SQLCODE -22209 hvis den kjøres under en 32-bits forekomst og konfigurasjonsparameteren jdk_path for DB2 Administration Server peker til HP-UX SDK 1.4. Feilen oppstår fordi DB2 UDB versjon 8.2 installerer HP-UX SDK 1.4 som standard, men den 32-bits forekomsten av versjon krever HP-UX SDK 1.3 for å kjøre kommandoen CREATE TOOLS CATALOG.

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.

Løsning 1
Opprett verktøykatalogen under en 64-bits forekomst.
Løsning 2
Opprett verktøykatalogen under en 32-bits forekomst på denne måten:
  1. Last ned HP-UX SDK 1.3 fra nettstedet til HP-UX: http://www.hp.com/products1/unix/java/
  2. Installer HP-UX SDK 1.3.
  3. Oppdater konfigurasjonsparameteren jdk_path for DB2 Administration Server slik at den peker til HP-UX SDK 1.3. For eksempel:
    db2 update admin config using JDK_PATH /opt/java1.3
  4. Start DB2 Administration Server på nytt.
    db2admin stop
    db2admin start
  5. Kjør kommandoen CREATE TOOLS CATALOG på nytt under den 32-bits forekomsten.

Vise Indic-tegn i grafiske DB2-verktøy

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:

Tabell 9. Indic-fonter pakket sammen med DB2 UDB
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:

Grafiske verktøy støttes ikke for zSeries-tjenere (Linux)

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.

Bruk anførselstegn rundt søkeord i DB2 Informasjonssenter hvis de inneholder tall

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"

Loggfil i informasjonskatalogsenteret genereres ikke ved import av kodespråkfiler

Hvis det ikke genereres en loggfil for Informasjonskatalogsenter når du importerer kodespråkfiler til Informasjonskatalogsenter, gjør du slik:

Hvis du kjører db2icmimport fra en kommandolinje:
Ved import av kodespråkfiler ved hjelp av det grafiske brukergrensesnittet til Informasjonskatalogsenter:

Binde Query Patroller-pakker

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.

Utilgjengelige porter med Query Patroller (Windows)

Problem

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.

Løsning

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

Sikre miljøer (Windows)

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:

Brukeren har ikke tilstrekkelig autorisasjon til katalogen sqllib

Problem
Brukeren fikk feilmeldingen SQL1035N eller SQL1652N ved forsøk på åpne DB2 CLP eller kommandovinduet. DB2 UDB-koden (kjernefilene) er installert i en katalogstruktur med begrensede skriverettigheter, men noen DB2 UDB-verktøy må kunne skrive til og opprette filer i DB2INSTPROF-katalogen.
Løsning
Opprett en ny katalog der du kan gi brukerne minst MODIFY-tillatelse, og bruk enten db2set -g db2tempdir for å peke på den nye katalogen, eller definer variabelen db2tempdir i Windows-systemet.
Brukeren har ikke tilstrekkelig autorisasjon til å skrive til katalogen <instance_dir>, selv om brukeren tilhører SYSADM_GROUP

Problem
Brukeren fikk systemfeilen SQL5005C ved forsøk på å oppdatere databasesystemets konfigurasjonsfil (update dbm cfg). Brukeren har ikke nødvendige NTFS-tillatelser til å skrive til katalogen sqllib\instance_dir, selv om du har tilføyd brukeren til SYSADM_GROUP.
Første løsning

Gi brukerne minst MODIFY-tillatelse til katalogen instance_dir på filsystemnivå.

Andre løsning
Opprett en ny katalog der du kan gi brukeren minst MODIFY-tillatelse. Bruk kommandoen db2set db2instprof for å peke på den nye katalogen. Du må enten gjenopprette forekomsten slik at informasjonen blir lagret under den nye forekomstkatalogen som er angitt av db2instprof, eller flytte den gamle forekomstkatalogen til den nye katalogen.

XML Extender-programeksempler har fått nye navn

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.

Tabell 10. Nye programeksempler for XML Extender (Windows)
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
Tabell 11. Nye eksempelprogrammer for XML Extender (Linux og UNIX)
Gammelt program (ikke bruk) Nytt program (bruk)
insertx dxxisrt
retrieve dxxretr
retrieve2 dxxretr2
retrievec dxxretrc
shred dxxshrd
tests2x dxxgenx
tests2xb dxxgenxb
tests2xc dxxgenxc

Bruke de nye programeksemplene sammen med sqx-eksempelfilene

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.

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.

Oppløse dokumenter i XML Extender som inneholder ikke-entydige attributter og elementnavn

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
Merk:
Hvis du skal tilordne flere elementer og attributter til samme kolonne i samme tabell, definerer du et kallenavn for tabellen og bruker kallenavnet i elementet DAD <tabell> for en av tilordningene.

Forskjeller mellom SNA og TCP/IP ved bruk av DB2 Connect

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 ]