Ismert problémák és ezek megoldásai

Exportálás IXF fájlba - és + karaktereket tartalmazó oszlopindexekkel

Amikor az export parancsot egy IXF fájlformátummal és egy SELECT * tagmondattal adja ki, az indexelési információk összegyűjtésére is sor kerül, ha lehetséges.

Probléma

Ha az indexben megadott oszlopnevek - vagy + karaktereket tartalmaznak, az indexelési információk összegyűjtésére nem kerül sor, és a program az SQL27984W SQL hibakódot adja. Az exportálás befejeződik és az exportált adatokra ez nincs hatással. Az indexelési információk mentésére azonban nem kerül sor az IXF fájlba.

Megoldás

Ha az import parancs és a CREATE paraméter segítségével újra létrehozza a táblát, az indexek újbóli létrehozására nem kerül sor. Az indexek külön létrehozásához használja a db2look segédprogramot.

A CLI0116E vagy SQL0428N hiba a db2ReadLog API hívásakor

Probléma

A db2ReadLog API hívása egy alkalmazásból hibát okozhat, amikor az alkalmazás megszakítja a kapcsolatát az adatbázissal, ha a kapcsolat bontása előtt nem kerül sor véglegesítésre vagy visszagörgetésre:

A probléma megkerülésének egyik módja

Nem beágyazott SQL alkalmazásoknál kapcsolja be az automatikus véglegesítési módot a db2ReadLog API hívása előtt.

A probléma megkerülésének másik módja

Adjon ki COMMIT vagy ROLLBACK utasítást a db2ReadLog API hívása és az adatbázis kapcsolatának bontása előtt.

A "db2gcf -k" parancs végrehajtása sikertelen DB2 UDB munkacsoport kiszolgálói kiadás esetén

Probléma

A db2gcf parancs valamely DB2 Universal Database (UDB) példány elindítását, leállítását vagy figyelését hajtja végre, általában egy automatizált parancsfájl részeként, például egy HA (magas rendelkezésre állású) szektorcsoporton.

A db2gcf rendszerparancs -k paraméterrel történő kiadása sikertelen DB2 UDB Workgroup Server rendszeren.

Megoldás

A "db2gcf -k" parancs kizárólag a DB2 UDB Enterprise Server kiadásán működik, DB2 UDB Workgroup Server kiadáson nem.

SQL1224 hiba DRDA csomagolótól (AIX)

Ha 32 bites DB2 Universal Database (UDB) kiszolgáló fut AIX rendszeren, és az ugyanazon rendszeren futó egyik alkalmazás egynél több helyi adatbázis-kapcsolattal rendelkezik a DRDA csomagolón keresztül, akkor az alkalmazás az alábbi hibaüzenetet kaphatja:

SQL1822N  Unexpected error code "-1224" received from 
data source "W3_SERVER2". 
Associated text and tokens are 
  func="DriverConnect" 
  msg="SQL1224N  Egy adatbázisügynök elindítása nem sikerült 
                 valamely kérelem kiszolgálásához vagy leállt 
                 az adatbázisrendszer leállása vagy force 
                 parancs miatt. "
SQLSTATE=560BD

A hiba elkerülése érdekében vegye fel a következő bejegyzést a befogadott konfigurációs fájlba (példány_könyvtár/cfg/db2dj.ini):

EXTSHM=ON
Megjegyzés:
Ha bejegyzést ír a befogadott konfigurációs fájlba, a változtatások érvénybe léptetéséhez le kell állítania, majd újra kell indítania a DB2 UDB programot.

Másik megoldás, ha TCP/IP csomóponton elhelyezkedő adatbázisként katalogizálja a helyi DB2 UDB adatbázist. Például:

CATALOG TCPIP NODE csomópont REMOTE
gazdagép SERVER 123;
CATALOG DB adatbázis AT NODE csomópont;
CREATE WRAPPER drda;
CREATE SERVER kiszolgáló TYPE DB2/UDB VERSION 8 WRAPPER drda
   AUTHORIZATION "azonosító" PASSWORD "jelszó"
   OPTIONS(ADD DBNAME 'MYDB');

Nem működnek a gyorsbillentyűk Microsoft Visual Studio .NET Framework 1.1 rendszeren

Ha nem működnek a gyorsbillenytűk a Microsoft Visual Studio .NET Framework 1.1 használatakor, letölthet egy gyorsjavítást a Microsoft webhelyéről. A gyorsjavítást megtalálja a Microsoft Tudásbázisban, a Q836745 szám alatt.

Az egyszerűsített kínai területi beállítások (AIX)

Az AIX módosította az Zh_CN egyszerűsített kínai területi beállításokhoz rendelt kódkészletet a következők esetében:

Emiatt a GBK (1386) kódlapot felváltja a GB18030 (5488 vagy 1392) kódlap. Mivel a DB2 Universal Database (UDB) for AIX natív módon támogatja a GBK kódkészletet, a GB18030 kódkészletet pedig a Unicode kódoláson keresztül, a DB2 UDB a Zh_CN területi beállítások kódkészletének alapértékeként az ISO 8859-1 (819-es kódlap) kódkészletet adja meg, bizonyos műveletek esetében pedig a területi beállítások alapértelmezett területkódja az Egyesült Államok (US) lesz.

Ezen korlátozás két módon kerülhető meg:

Ha az első módszert választja, a következő parancsokat kell kiadnia:

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

Ha a második módszer mellett dönt, módosítsa a Zh_CN területi beállítást ZH_CN vagy zh_CN beállításra. A ZH_CN területi beállítás kódkészlete Unicode (UTF-8), míg a zh_CN kódkészlete eucCN (1383-as kódlap).

Az egyszerűsített kínai területi beállítások (Red Hat Linux)

A Red Hat 8-as és újabb verzióiban (köztük a Red Hat Enterprise Linux [RHEL] 2.1-es és 3-as verziójában) megváltozott az egyszerűsített kínai nyelvhez tartozó alapértelmezett kódkészlet: GBK (1386-os kódlap) kódkészletről GB18030 (5488-as vagy 1392-es kódlap) kódkészletre.

Mivel a DB2 Universal Database (UDB) for Linux natív módon támogatja a GBK kódkészletet, a GB18030 kódkészletet pedig a Unicode kódoláson keresztül, a DB2 UDB kódkészletként alapértelmezés szerint az ISO 8859-1 (819-es kódlap) kódkészletet használja, bizonyos műveletek esetében pedig alapértelmezett területkódja szintén az Egyesült Államok (US) lesz.

Ezen korlátozás két módon kerülhető meg:

Ha az első módszert választja, a következő parancsokat kell kiadnia:

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

A második módszer választásakor a következő parancsok valamelyikét kell használnia:

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

, ahol a zh_CN kódkészlete eucCN, illetve kódlapja 1383, míg a zh_CN.utf8 kódlapja 1208.

Merant Driver Manager inkompatibilitás (UNIX)

Inkompatibilitás tapasztalható a Unicode támogatás esetében, ha a Merant Driver Manager megkísérli elérni a UNIX rendszeren futó DB2 ODBC vezérlőt. Emiatt a Merant Driver Manager akkor is Unicode kódolást használ, ha az alkalmazás nem kérte a Unicode használatát. Ez bizonyos összetevők, például az Adatraktár központ, az Információkatalógus-kezelő és az MQSI használatakor problémát okozhat, mivel ezek működéséhez a Merant Driver Manager alkalmazásnak támogatnia kell a nem IBM adatforrásokat. Átmeneti megoldásként használhat alternatív, Unicode támogatással nem rendelkező DB2 ODBC ODBC vezérlőkönyvtárat.

Az AIX, HP-UX és Solaris Operating Environment rendszerekre készült DB2 Universal Database (UDB) 8.1-es verziója tartalmaz egy másik, Unicode támogatással nem rendelkező DB2 ODBC vezérlőprogram-könyvtárat is. Az alternatív könyvtár használatához először létre kell hozni a könyvtár egy másolatát, és ezen a másolatnak az eredeti DB2 ODBC vezérlő könyvtárnevét kell adni.

Megjegyzés:
Az alternatív (_36) könyvtár tartalmazza a DB2 JDBC vezérlője számára szükséges Unicode függvényeket. Ezen könyvtár használata lehetővé teszi a JDBC alkalmazások (köztük a WebSphere Application Server termék) számára, hogy sikeresen együttműködjenek a DB2 UDB programmal.

Ha át kíván térni nem Unicode kódolású ODBC könyvtárra AIX, HP-UX vagy Solaris Operating Environment rendszeren, kövesse az alábbi utasításokat. Mivel ez egy kézi folyamat, mindig végre kell hajtania, ha frissíti a terméket, beleértve a későbbi javítócsomagok és szintmódosítások telepítését.

Eljárás

AIX

A másodlagos könyvtár AIX rendszeren történő létrehozásához tegye a következőket:

  1. Példánytulajdonosként állítsa le az összes adatbázispéldányt a db2stop force paranccsal.
  2. A DB2 Administration Server (DAS) példányazonosítóját használva nak segítségével zárja be a DAS-példányt a db2admin stop force parancs segítségével.
  3. Készítsen biztonsági mentést az /usr/lpp/db2_81/lib könyvtárban található eredeti db2.o fájlról.
  4. Root jogosultsággal rendelkező felhasználóként adja ki a slibclean parancsot.
  5. Másolja a db2_36.o fájlt az elmentett db2.o fájl helyére, ügyelve arra, hogy a tulajdonos és a jogosultságok ne változzanak. Használja a következő parancsokat:
    cp db2_36.o db2.o
    -r--r--r-- bin:bin for db2.o

Ha vissza akar váltani az eredeti objektumra, ugyanezt az eljárást kell végrehajtania, csak a biztonsági másolatot használja a db2_36.o fájl helyett.

Solaris Operating Environment

A másodlagos könyvtár létrehozása Solaris Operating Environment rendszer esetén:

  1. Példánytulajdonosként állítsa le az összes adatbázispéldányt a db2stop force paranccsal.
  2. A DB2 Administration Server (DAS) példányazonosítóját használva nak segítségével zárja be a DAS-példányt a db2admin stop force parancs segítségével.
  3. Készítsen biztonsági másolatot az /opt/IBMdb2/V8.1/lib könyvtárban található eredeti libdb2.so.1 fájlról.
  4. Másolja a libdb2_36.so.1 fájlt az elmentett libdb2.so.1 fájl helyére, ügyelve arra, hogy a tulajdonos és a jogosultságok ne változzanak. Használja a következő parancsokat:
    cp libdb2_36.so.1 libdb2.so.1 
    -r-xr-xr-x bin:bin libdb2.so.1
  5. Adja ki a db2iupdt <példány> parancsot minden egyes adatbázispéldányra, és a dasupdt <das_példány> parancsot a DAS példányára.

Ha vissza akar váltani az eredeti objektumra, ugyanezt az eljárást kell végrehajtania, csak a biztonsági másolatot használja a libdb2_36.so.1 fájl helyett.

HP-UX PA-RISC

A szükséges könyvtár létrehozása HP-UX PA-RISC rendszerben:

  1. Zárja be az összes adatbázispéldányt a db2stop force paranccsal.
  2. Zárja be a DB2 Administration Server (DAS) példányt a db2admin stop force parancs segítségével.
  3. Készítsen biztonsági másolatot az /opt/IBMdb2/V8.1/lib könyvtárban található eredeti libdb2.sl fájlról.
  4. Másolja a libdb2_36.sl fájlt az elmentett libdb2.sl fájl helyére, ügyelve arra, hogy a tulajdonos és a jogosultságok ne változzanak. A következetesség érdekében használja a következő parancsokat:
    cp libdb2_36.sl libdb2.sl
    -r-xr-xr-x bin:bin for libdb2.sl
  5. Adja ki a db2iupdt <példány> parancsot minden egyes adatbázispéldányra, és a dasupdt <das_példány> parancsot a DAS példányára.

Ha vissza akar váltani az eredeti objektumra, ugyanezt az eljárást kell végrehajtania, csak a biztonsági másolatot használja a libdb2_36.sl fájl helyett.

HP-UX on IA64

A szükséges könyvtár létrehozása HP-UX on IA64 rendszerben:

  1. Zárja be az összes adatbázispéldányt a db2stop force paranccsal.
  2. Zárja be a DB2 Administration Server (DAS) példányt a db2admin stop force parancs segítségével.
  3. Készítsen biztonsági mentést az /opt/IBMdb2/V8.1/lib könyvtárban található eredeti libdb2.so fájlról.
  4. Másolja a libdb2_36.so fájlt az elmentett libdb2.so fájl helyére, ügyelve arra, hogy a tulajdonos és a jogosultságok ne változzanak. A következetesség érdekében használja a következő parancsokat:
    cp libdb2_36.so libdb2.so
    -r-xr-xr-x bin:bin for libdb2.so
  5. Adja ki a db2iupdt <példány> parancsot minden egyes adatbázispéldányra, és a dasupdt <das_példány> parancsot a DAS példányára.

Ha vissza akar váltani az eredeti objektumra, ugyanezt az eljárást kell végrehajtania, csak a biztonsági másolatot használja a libdb2_36.so fájl helyett.

Egyéb UNIX operációs rendszerek

Lépjen kapcsolatba az IBM terméktámogatásával, ha más UNIX operációs rendszeren segítségre van szüksége a DB2 UDB és a Merant Driver Manager használatával kapcsolatban.

NFS APAR IY32512 - Nem elérhető szálak (AIX)

Az AIX 5 NFS APAR IY32512 a db2stop parancs meghiúsulását okozhatja sok partíciót tartalmazó rendszereken.

Olyan kiszolgálón, amely már zárolt fájlokra vonatkozó zárolás-blokkolás kérelmeket gyakran kap, előfordulhat, hogy a zárolási démon nem válaszol. Ez a helyzet akkor fordulhat elő, ha minden rendelkezésre álló zárolt szál ki van osztva olyan szálaknak, amelyek a zárolások felszabadulására várnak, így nincs rendelkezésre álló szál a munka folytatására a zárolásfeloldási kérelem küldésekor.

Ha ilyen eset áll elő, a leállt csomópontokat újra kell indítani. A DB2 Universal Database programban létezik módszer a probléma elkerülésére: a csomópontok egyenkénti leállítása a db2stop parancs NODENUM beállításának használatával.

Az SQLFLAG(STD) előfordító beállítás hibája

Ha az SQLFLAG(STD) előfordítási beállítás engedélyezve van, a következő hibát kapja: Abend C6 occurred while running Precompile program DSNHPC (C6 rendellenes leállás történt a DSNHPC előfordítási program futtatása során).

Távolítsa el az SQLFLAG (STD) előfordítási beállítást, ha a Development Center segítségével a DB2 Universal Database for z/OS 8-as verzióján futtatni kívánt SQL tárolt eljárásokat hoz létre.

A kapcsolattárolást engedélyezni kell, a Sysplex alkalmazásakor a DB2 Connect alkalmazásban

Probléma

A DB2 Connect(TM) nem irányítja a kapcsolatokat az elosztott adat szolgáltatás (DDF) más tagjához, ha az OS390 rendszeren lévő adatmegosztó csoport DDF kapcsolódó tagja le van állítva. Ha a Sysplex engedélyezve van, a DB2 Connect(TM) a kapcsolatokat a kiszolgáló listája alapján a DDF más tagjához irányítja.

A DB2 Connect 8-as verziójú Sysplex programjának tervezésére az ügynöktárolást szem előtt tartva került sor. A Sysplex kiszolgálólistát nem használja a program, ha nincsenek ügynökök és adatbázis-kapcsolatok. Ezért legalább egy ügynököt fent kell tartani a Sysplex kiszolgálólista karbantartásához.

Megoldás

A következő parancsok futtatásával engedélyezze a kapcsolattárolást:

db2
update dbm cfg using num_poolagents szám
db2stop
db2start

ahol szám a DB2 példányon tárolt ügynökök legnagyobb megengedett száma. A kapcsolattárolás akkor engedélyezett, ha a szám nagyobb, mint nulla.

Javaslat

Állítsa a num_poolagents paramétert -1 értékre, amely a maxagents konfigurációs paraméter értékének felét jelenti.

DB2 Connect Custom Advisor

Bár szerepel a DB2 Connect felhasználói kézikönyvben, a DB2 Connect Custom Advisor támogatása megszűnt a 8.2-es verzióban.

Meghiusul az eszközkatalógus-adatbázis létrehozása (HP-UX)

Probléma
A DB2 Universal Database (UDB) 8.2-es verziójának HP-UX rendszerre történő telepítésekor aCREATE TOOLS CATALOG parancs végrehajtása sikertelen SQLCODE -22209 hibakód mellett, ha 32 bites példányon fut és a DB2 Administration Server jdk_path konfiguráció paramétere a HP-UX SDK 1.4 termékre mutat. A hibát az okozza, hogy a 8.2-es verziójú DB2 UDB alapértelmezés szerint telepíti a HP-UX SDK 1.4 terméket, de a 8.2-es verzió 32 bites példánya esetében a HP-UX SDK 1.3 szükséges a CREATE TOOLS CATALOG parancs sikeres végrehajtásához.

Ez a hiba a DB2 UDB 8.1-es verzió 7-es FixPak javítócsomagjának telepítésekor is felléphet, ha a DB2 Administration Server jdk_path konfigurációs paraméterét úgy frissítette kézzel, hogy az a HP-UX SDK 1.4 termékre mutasson, illetve ha eldobta, majd újra létrehozta a DB2 Administration Server (DAS) terméket. Ezen hiba oka minden esetben az, hogy a jdk_path konfigurációs paraméter a HP-UX SDK 1.4 termékre mutat.

A DB2 UDB 8.2-es verziójának 32 bites példányának hibátlan futtatásához a HP-UX SDK 1.3 szükséges.

A probléma megkerülésének egyik módja
Az eszközkatalógust 64 bites példányon hozza létre.
A probléma megkerülésének másik módja
A következő lépések végrehajtásával hozza létre az eszközkatalógust 32 bites példányon:
  1. Töltse le a HP-UX SDK 1.3 terméket a HP-UX webhelyéről: http://www.hp.com/products1/unix/java/
  2. Telepítse a HP-UX SDK 1.3 terméket.
  3. Frissítse a DB2 Administration Server jdk_path konfigurációs paraméterét úgy, hogy az a HP-UX SDK 1.3 termékre mutasson. Például:
    db2 update admin config using JDK_PATH /opt/java1.3
  4. Indítsa újra a DB2 Administration Server programot.
    db2admin stop
    db2admin start
  5. Adja ki újra a CREATE TOOLS CATALOG parancsot a 32 bites példányon.

Ind karakterek megjelenítése a DB2 GUI grafikus felhasználói felületén

Ha a DB2 grafikus kezelőfelületének eszközeit használva problémái vannak az ind karakterek megjelenítésével, a szükséges betűkészletek valószínűleg nincsenek telepítve a rendszeren.

A DB2 Universal Database (UDB) az alábbi IBM TrueType és OpenType arányos ind betűtípusokat tartalmazza. Ezeket a betűkészleteket megtalálja a következő CD-lemezek font könyvtárában:

Ezek a betűkészletek csak a DB2 UDB termékhez kapcsolódóan használhatók. Nem bocsáthatja áruba, illetve egyéb módon sem terjesztheti ezeket a betűtípusokat.

9. táblázat A DB2 UDB termékcsomagban található ind betűkészletek
Betűtípus Betűstílus A betűtípust tartalmazó fájl neve
Devanagari MT for IBM Közepes devamt.ttf
Devanagari MT for IBM Félkövér devamtb.ttf
Tamil Közepes TamilMT.ttf
Tamil Félkövér TamilMTB.ttf
Telugu Közepes TeluguMT.ttf
Telugu Félkövér TeleguMTB.ttf

A betűtípusok telepítésével és a font.properties fájl módosításával kapcsolatos részletes tudnivalókat az IBM Development Kit for Java (IBM fejlesztői készlet Java nyelvhez) című dokumentáció Internationalization (Lokalizáció) című része tartalmazza.

Ezen túlmenően a Microsoft alábbi termékei is tartalmaznak ind betűkészleteket, melyek szintén használhatók a DB2 GUI eszközei esetében:

A grafikus felhasználói felület eszközök nem támogatottak zSeries kiszolgálókon (Linux)

A DB2 Telepítő varázsló kivételével a GUI eszközök nem használhatók Linux operációs rendszert futtató zSeries kiszolgálókon. A korlátozás kiterjed az általában az Installation (Telepítés) indítópultról indított elemekre, például a Gyorstanfolyamra.

Ha a GUI eszközöket ezen rendszerek valamelyikén használni kívánja, telepítse az adminisztratív eszközüket ettől eltérő rendszerbeállítással rendelkező ügyfélrendszerre, majd ezen ügyfél segítségével csatlakozzon a zSeries kiszolgálóhoz.

A DB2 Információs központ keresési kifejezéseit idézőjelek közé kell írni, ha szerepel bennük számjegy

Ahhoz, hogy a DB2 Információs központ pontos találatokat adjon kereséskor, a számokat is tartalmazó keresési kifejezéseket idézőjelek közé kell írni.

Ha például az alábbi kifejezést írja be, nem fog rá eredményt kapni:

  1.4.1

Ha azonban idézőjelek közé írja ugyanezt, megkapja a kívánt találatokat:

  "1.4.1"

Másik példa: ha a következő kifejezést írja be, túl sok (nem oda tartozó) témakört kap találatként:

  DB20000I

Ha viszont kiteszi az idézőjeleket, akkor a megfelelő találatokat kapja:

  "DB20000I"

Címkenyelv fájlok importálásakor nem jön létre az Információkatalógus-központ naplófájlja

Ha címkenyelvfájlok importálásakor nem jön létre egy Információkatalógus-központ naplófájl, hajtsa végre a következő hibaelhárítási lépéseket:

A db2icmimport parancssori futtatásakor:
Amikor a címkenyelvfájlokat az Információkatalógus-központ grafikus felhasználói felületéről importálja:

Query Patroller csomagok összerendelése

Ha a Query Patroller csomagok a javítócsomag telepítése után nincsenek összerendelve, DBADM jogosultság vagy megfelelő Query Patroller jogosultságok nélküli felhasználó a Query Patroller Center vagy a Query Patroller parancssorának használatakor a következő hibába ütközhet:

SQL0001N - Binding or precompilation
did not complete successfully (Az összerendelés vagy előfordítás nem fejeződött be).

Ha a Query Patroller Center programot használja, az SQL0001N hiba a qpdiag.log fájlban lesz naplózva. Ha a Query Patroller parancssorát használja, az SQL0001N a konzolban jelenik meg.

Az automatikus összerendelésű kód esetén az összerendelés automatikusan történik. Az automatikus összerendelés azonban meghiúsul, ha a kapcsolódó felhasználónak nincs megfelelő jogosultsága a Query Patroller csomagok minden utasításának végrehajtására. Ennek a problémának egyik jelensége, hogy a Query Patroller Centerben mappák hiányoznak.

A probléma elkerüléséhez a qpserver.lst csomagokat egy DBADM vagy szükséges jogosultsággal rendelkező felhasználónak kézzel kell összerendelnie a javítócsomag telepítése után.

Nem elérhető portok Query Patroller esetében (Windows)

Probléma

Az elküldött lekérdezések a Query Patroller termékben -29007 SQL kódot eredményezhetnek, ha már nincs szabad port a Windows XP vagy a Windows 2003 rendszeren. Ha a Query Patroller terméket egyre több ügyfél próbálja meg elérni, akkor ezen hiba valószínűsége nő.

Megoldás

Állítsa be a Windows rendszerleíró adatbázis következő változóit:

   MaxUserPort=65534
   TcpTimedWaitDelay=30 

és indítsa újra a rendszert a változtatások életbe léptetéséhez.

A Windows rendszerleíró adatbázis változóinak beállításáról további részleteket a Microsoft(R) Help and Support weboldalon talál a következő címen: http://support.microsoft.com/ .

Biztonságos környezetek (Windows)

Fájlhozzáférési problémákba ütközhet, ha a DB2 Universal Database (UDB) terméket Windows rendszeren használja és a Windows rendszeren nem rendelkezik rendszergazdai jogkörrel. Ha SQL1035N, SQL1652N vagy SQL5005C hibaüzenetet kap, a lehetséges okok és elhárítási módjaik a következők:

A felhasználónak nincs elég jogosultsága az sqllib könyvtárra vonatkozóan

Probléma
A DB2 CLP vagy parancsablak megnyitására tett kísérlet esetén a felhasználó SQL1035N vagy SQL1652N hibaüzenetet kap. A DB2 UDB kódjának (az alaprendszer fájljainak) telepítése korlátozott írási jogosultságú könyvtárszerkezetben történik, ugyanakkor bizonyos DB2 UDB eszközök működése a DB2INSTPROF alkönyvtárban található fájlok létrehozását és módosítását igényli.
Megoldás
Hozzon létre egy olyan új alkönyvtárat, ahol a felhasználók számára legalább MODIFY (módosítási) jogosultságot állíthat be, és használja vagy a db2set -g db2tempdir parancsot az új alkönyvtár megadásához, vagy adja meg a db2tempdir változó értékét a Windows rendszerkörnyezetben.
A felhasználó nem rendelkezik elég jogosultsággal az sqllib\<példány_könyvt> könyvtár írásához annak ellenére, hogy a felhasználó a SYSADM_GROUP csoportba tartozik

Probléma
Az adatbázis-kezelő konfigurációs fájljának frissítésekor (update dbm cfg) a felhasználó SQL5005C hibát kapott. A felhasználó nem rendelkezik az sqllib\példány_könyvt könyvtár írásához szükséges NTFS jogosultsággal annak ellenére, hogy a SYSADM_GROUP csoportba tartozik.
Első megoldás

Adjon a felhasználóknak legalább fájlrendszer szintű MODIFY (módosítási) jogosultságot az instance_dir alkönyvtárhoz.

Második megoldás
Hozzon létre egy új könyvtárat, ahol a felhasználókhoz legalább MODIFY (módosítási) jogosultságot rendelhet. Az új alkönyvtár helyének megadásához használja a db2set db2instprof parancsot. Ahhoz, hogy az információ a db2instprof parancs által megadott új példány-alkönyvtárba kerüljön, újból létre kell hoznia a példányt, vagy át kell helyeznie a régi példány-alkönyvtárat az új könyvtárba.

Átnevezett XML Extender mintaprogramok

Néhány XML Extender mintaprogram neve megegyezhet más telepített programéval. Az XML Extender mintaprogram nevével megegyező programok véletlen elindítása kárt okozhat az XML-fájlokban. A következő lista a régi XML Extender mintaprogramok neveit mutatja, valamint az újabb neveiket, amelyek kisebb valószínűséggel okoznak ütközést. Gondoskodjon arról, hogy az újabb mintaprogramneveket használja a régiek helyett, így elkerülheti az XML-fájlok károsodását.

10. táblázat Helyettesítő mintaprogramok XML Extender termékhez (Windows)
Régi program (ne használja) Új program (csak ezt használja)
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
11. táblázat Helyettesítő mintaprogramok XML Extender termékhez (Linux és UNIX)
Régi program (ne használja) Új program (csak ezt használja)
insertx dxxisrt
retrieve dxxretr
retrieve2 dxxretr2
retrievec dxxretrc
shred dxxshrd
tests2x dxxgenx
tests2xb dxxgenxb
tests2xc dxxgenxc

Az új mintaprogramok használata a mintaként adott sqx fájlokkal

A fent felsorolt programokhoz tartozó forráskód (.sqx fájlok) a telepítés samples\db2xml\c könyvtárában találhatók. A forrásfájlok azonban még a régi neveken szerepelnek. Ha módosítja a forráskódot, az újonnan lefordított végrehajtható programokat (a régi nevekkel) másolja az sqllib\bin könyvtárba.

Windows platformokon újabb másolatot kell készítenie, nevezze át a fentebbi új névre, majd másolja a bin könyvtárba. A két másolás lecseréli a bin könyvtárban meglévő fájlokat. Ha például a shred.exe új verzióját készítette el, két fájlt kell a bin könyvtárba másolnia: az egyik a shred.exe, a másik az átnevezett dxxshrd.exe.

Linux és UNIX platformokon a régi nevű fájlt le kell cserélnie az újonnan fordított verzióval. Ha új végrehajtható fájlokat hoz létre ezekből a mintákból, az új fájlokat az \SQLLIB\samples\db2xml\c\ könyvtárból az \SQLLIB\bin\ könyvtárba kell másolnia, majd minden fájlról másodpéldányt kell készítenie, a fenti táblázat szerinti néven.

Nem egyedi attribútum- és elemneveket tartalmazó dokumentumok lebontása az XML Extender segítségével

Ezentúl az ugyanazon vagy más táblák különböző oszlopaira leképeződő nem egyedi attribútumneveket vagy elemneveket tartalmazó dokumentumokat is szétbonthat, így nem kapja a DXXQ045E hibaüzenetet. A példaként bemutatott következő XML dokumentum nem egyedi attribútum- és elemneveket tartalmaz:

<Order ID="0001-6789">
       <!-- Megjegyzés: az attribútumnév nem egyedi -->
       <Customer ID = "1111">
                    <Name>John Smith</Name>
       </Customer>
       <!-- Megjegyzés: a Name elemnév nem egyedi -->
       <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>

Az ismétlődő elemeket és attribútumokat különböző oszlopokba leképező DAD a következő:

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

  <!--az attribútum lejjebb megismétlődik, de másik oszlopnak megfeleltetve-->
  <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">
    <!--a fenti attribútum megismétlődik, de másik oszlopnak megfeleltetve-->
    <attribute_node name="ID">
      <RDB_node>
        <table name="order_tab" />
        <column name="cust_id" type="integer"/>
      </RDB_node>
    </attribute_node>

    <!--az elemnév lejjebb megismétlődik, de másik oszlopnak megfeleltetve-->
    <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">
    <!--a fenti attribútum megismétlődik, de másik oszlopnak megfeleltetve-->
    <attribute_node name="ID">
      <RDB_node>
        <table name="order_tab" />
        <column name="salesp_id" type="integer"/>
      </RDB_node>
    </attribute_node>
          
    <!--a fenti elemnév megismétlődik, de másik oszlopnak megfeleltetve--> 
    <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>

A fenti dokumentum szétbontása után a táblák tartalma a következő lehet:

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
Megjegyzés:
Ha több elemet és attribútumot akar leképezni ugyanarra az oszlopra ugyanabban a táblában, adjon meg egy fedőnevet a tábla számára, és ezt a fedőnevet használja az egyik leképezés DAD <table> elemében.

Az SNA és a TCP/IP közötti különbségek a DB2 Connect használatakor

Ha SNA használatával kapcsolódik OS/390 rendszerhez, a gazdagép VTAM rétege új kapcsolat létrehozásakor automatikus véglegesítést végez. Az automatikus véglegesítés lehetővé teszi, hogy a gazdaoldali szál állapota inaktív legyen, és a szál azonnal inaktívvá is válik.

Ha azonban TCP/IP használtával kapcsolódik OS/390 rendszerhez, nem történik automatikus véglegesítés. Magának az alkalmazásnak kell véglegesítés parancsot kiadnia, hogy a gazdagépen a szál inaktívvá válhasson. A véglegesítés parancs kiadása nélkül túllépheti a tétlenségi időkorlátot a szál.

A javasolt megoldás az alkalmazás újraírása, hogy adjon ki véglegesítési utasítást, ha a kapcsolat a létrehozása után tétlenné válik.

[ Oldal eleje |Előző oldal | Következő oldal | Tartalom ]