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.
|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.
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 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:
|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.
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 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.
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.
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
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');
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 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).
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.
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.
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.
A másodlagos könyvtár AIX rendszeren történő létrehozásához tegye a következőket:
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.
A másodlagos könyvtár létrehozása Solaris Operating Environment rendszer esetén:
cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1
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.
A szükséges könyvtár létrehozása HP-UX PA-RISC rendszerben:
cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl
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.
A szükséges könyvtár létrehozása HP-UX on IA64 rendszerben:
cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so
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.
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.
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.
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 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 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.
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.
|Állítsa a num_poolagents paramétert -1 értékre, amely a |maxagents konfigurációs paraméter értékének felét jelenti.
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.
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.
db2 update admin config using JDK_PATH /opt/java1.3
db2admin stop db2admin start
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.
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 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.
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"
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:
db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ...
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.
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ő.
Á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/ .
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:
Adjon a felhasználóknak legalább fájlrendszer szintű MODIFY (módosítási) jogosultságot az instance_dir alkönyvtárhoz.
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.
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 |
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 |
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.
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
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 ]