© Copyright International Business Machines Corporation 2006. Minden jog fenntartva. Az USA kormányzati felhasználóinak jogkorlátozása: A használatot, a másolást és a nyilvánosságra hozatalt az IBM® Corporation vállalattal kötött GSA ADP Schedule Contract korlátozza.
Két új adatprojekt-típus van a munkaterületen:
- Adattervezési projektek
- Adatfejlesztési projektek
Az adattervezési projektekkel adatmodelleket (például fizikai és logikai adatmodelleket) lehet létrehozni és tárolni. Az adatfejlesztési projektekkel olyan adatalkalmazás fejlesztési objektumokat lehet létrehozni és tárolni, mint például tárolt eljárások és felhasználói függvények (más néven rutinok). A rutinokat adattervezési projektből is meg lehet jeleníteni, egy fizikai adatmodell részeként.Azonban az adattervezési projektek rutinjainak fejlesztési támogatása igen korlátozott, és az adattervezési projektekben nincs SQL eszköztámogatás rutinokhoz.Ha rutinokat fejleszt, akkor ajánlott kijelölt adatfejlesztési projektet használni, ami teljesebb támogatást nyújt - varázslókat, rutinszerkesztőket, hibakeresési támogatást, valamint az SQL eszközök integrálását.
Ha elsődleges kulccsal nem rendelkező XML táblán végez XML ellenőrzést a táblaadat-szerkesztőben, akkor az XML ellenőrzés csak az első alkalommal fog működni, amikor beszúrja az XML értéket. Ezen kívül egy meglévő XML oszlop ellenőrzéssel végzett frissítése meghiúsul.
Kerülő megoldás: Hozzon létre elsődleges kulcsot az XML oszlopokat tartalmazó táblákhoz.
Amikor több gyökérelemmel dolgozik ebben a szerkesztőben, a feljegyzésekkel ellátott XSD fájl mentésekor hibába ütközhet.
Kerülő megoldás: Hozzon létre külön XML séma dokumentum készletet minden egyes gyökérelemhez.
XML adattípusok használatához és XML sémák kezeléséhez egy UTF-8 adatbázishoz kell csatlakoznia. Az XML dokumentumok adatbázisából visszajövő adatok mennyisége korlátlan. A teljesítményt befolyásolhatja a visszajövő adatmennyiség.
- Az SQL szerkesztő jelenleg nem támogatja a hosztváltozókat az SQL futtatása művelet során.
Kerülő megoldás: Az SQL-t futtathatja az SQL összeépítőből, ha az SQL egy DML utasításban van.
- Az SQL összeépítőben nem támogatott a teljes SQL szintaxis. Nem támogatottak például a felhasználói típusok (UDT) és a táblafunkciók.
- A felhasználói típusok (UDT) nem támogatottak rutinok paramétereiként.
- Olyan Java™ által tárolt eljárások Ant segítségével a fájlrendszerből telepítéséhez, melyek célja DB2™ UDB for iSeries® a jt400.jar fájlnak szerepelnie kell a rendszer osztályútvonalában. Ha egy exportált tárolt eljárást a DeployInstructions.txt fájlban szereplő utasítások alapján kísérel meg telepíteni, akkor a következő hibaüzenetet kaphatja:
...[createsp] Nem sikerült a céladatbázishoz csatlakozni.
[createsp] com.ibm.db2.jcc.DB2Driver...Kerülő megoldás: Gondoskodjon róla, hogy a db2jcc.jar fájl és a megfelelő licencfájlok a rendszer osztályútvonalában legyenek.
- Tárolt Java eljárások telepítésekor vagy futtatásakor a "nem sikerült az osztály betöltése" hibába ütközhet. Ez akkor fordulhat elő, ha eltér a RAD v7 és a DB2® kiszolgáló JDK változata, és ha a DB2 kiszolgáló alacsonyabb verziószámú JDK-t használ.
Kerülő megoldás: Adja meg a "-source 1.4" paramétert a Rutinok telepítése varázsló Fordítási beállítások mezőjében, amikor tárolt Java eljárásokat telepít 1.4-es JDK verziószámú kiszolgálókon (például DB2 Universal Database for Linux®, UNIX® és ® 8.2 kiszolgáló). Általában használja a megfelelő fordítási beállítást ("-source JDK level") , hogy egyezzen a JDK szint az adatbáziskiszolgálóéval.
- Amikor az Ant telepítési funkcióval telepít tárolt eljárást vagy UDF fájlt, és a tools.jar fájl nincs az osztályútvonalban, akkor esetleg ezt az üzenetet láthatja:
Nem található a tools.jar. Várt helye: F:\jre\1.4.2\lib\tools.jar
A tools.jar a Java futási környezet része, nem az Ant telepítési eszközé.Kerülő megoldás: A tools.jar nem szükséges az Ant parancsfájl futtatásához, így figyelmen kívül hagyhatja ezt az üzenetet.
- Amikor módosítja a Java metódus nevét a tárolt eljárás szerkesztőben, akkor nem tudja megfelelően elmenteni az eljárást, ha a jobb egérgombbal a szerkesztő Forrás oldalára kattint, majd az előugró menü Mentés gombjára.
Kerülő megoldás: Mentse el a tárolt eljárást a Fájl->Mentés menüponttal, a Ctrl+S billentyűk megnyomásával, vagy a Mentés ikonra kattintva.
- Ha eltérő kiszolgálók (például DB2 Universal Database for Linux, UNIX, és Windows kiszolgáló, valamint DB2 Universal Database for z/OS® kiszolgáló) közt húz át tárolt eljárást vagy UDF-et, akkor figyelmeztetést fog látni a fogd és vidd művelet során, a két rendszer közti bizonyos inkompatibilitásról. Ha folytatja a műveletet, és megpróbálja megnyitni a tárolt eljárást vagy UDF-et, akkor esetleg hibát lát.
- Az SQL profilozás DB2 UDB for Linux, UNIX, és Windows V8.2 kiszolgálón futtatása esetleg null mutató kivételt okoz, ha a kiszolgálóról hiányzik az előfeltétel eljárás (SYSIBM.SQLCAMESSAGECCSID), amire a JCC illesztőprogramnak van szüksége a hibaüzenet szövegének lekérdezéséhez.
Kerülő megoldás: Létrehozhat kapcsolatot a kiszolgálóval a retrieveMessagesFromServerOnGetMessage=true beállítás nélkül is.
- Az SQL eljárások végrehajtásának megfigyelése során egyes, az eljárásban kiadott DML utasításokhoz (például INSERT, SELECT, DELETE, és UPDATE) események készülnek. Azonban az események nem determinisztikusan készülnek az eljárásutasításokhoz (például változóhozzárendelésekhez) és felügyeleti szerkezetekhez (amilyen a WHILE vagy az IF). Így a profilkezelési információk nem biztos hogy előállításra kerülnek a procedurális utasításokhoz.
- Amikor UNIX DB2 kiszolgálóhoz csatlakozik, akkor töréspontok hozzáadásakor vagy hibakeresés módban futtatáskor időtúllépés kivételek történhetnek.
- A hibakereső nem fut olyan tárolt eljárásból, aminek a neve angol és kínai karaktereket is tartalmaz.
- A megfigyelt kifejezések csak dinamikus tárolt Java eljárásoknál támogatottak. Ezek nem támogatottak SQL és SQLJ tárolt eljárásoknál.
- A hibakereső nem áll le egy töréspontnál, ha az nem a végrehajtható utasítás első jelsoránál van (például egy SET utasításnál). Nem áll le ezen kívül DECLARE CONTINUE, CLOSE CURSOR, vagy ROLLBACK utasításnál sem.
- Ha tárolt Java eljárás hibakeresését végzi, és lezárás műveletet választ, akkor több perc is eltelhet a hibakeresési munkamenet teljes befejezéséig. Az eközben indított új hibakeresési munkamenetek esetleg hibásan működnek.
- Ha egy másik tárolt Java eljárást meghívó tárolt Java eljárás hibakeresését végzi, akkor a második eljárás hibakeresését nem végezheti el. Nem léphet be a beágyazott tárolt eljárásokba, és az azokban elhelyezett töréspontok figyelmen kívül maradnak. Ez a megszorítás Linux, UNIX és Windows rendszerekre vonatkozik.
- Ha "Időtúllépés a csomagra várakozás közben" üzenetet kap egy tárolt Java eljárás hibakeresése közben, akkor próbálja megnövelni a Java időkorlát beállítást.
Kerülő megoldás: A Java időkorlát beállítás növeléséhez kattintson az Ablak > Beállítások menüpontra a munkaterület menüsorában. Bontsa ki a Java csomópontot, és kattintson a Hibakeresés elemre. A Hibakeresési beállítások oldalon növelje a Hibakereső időtúllépés (ms) értéket a Kommunikációs időtúllépés részben. Ajánlott legalább megduplázni az alapértelmezett értéket.
- Tárolt Java eljárás hibakeresésekor ha az Érték módosítása művelettel változtat meg egy üres karaktersorozat értékű változót, akkor a módosítás párbeszédablakban az OK gomb esetleg nem lesz engedélyezve.
Kerülő megoldás: A gomb engedélyezéséhez jelölje be a Kiértékelés bemenet választógombot, állítsa az értékét nem üres karaktersorozatra (például "a" értékre), majd jelölje be a Literál szöveg bemenet választógombot. Ezután elérhető lesz az OK gomb.
- Ha nem lát helyi változókat egy tárolt Java eljárás hibakeresésekor, akkor lehet, hogy a tárolt eljárás a -g paraméter nélkül lett telepítve.
Kerülő megoldás: Győződjön meg róla, hogy be van állítva a -g fordítóparaméter, amikor tárolt Java eljárásokat telepít.
- Ha "érvénytelen veremkeret" üzenetet lát a Változók nézetben, akkor menjen a Hibakeresés nézetre, és kattintson a veremkeret feletti szálobjektumra, majd kattintson a veremkeretre. Ezzel frissíti a Változók nézetet, és a hiba sem jelenik meg többet.
- Amikor DB2 UDB for iSeries V5 R4 környezetben futó SQLJ tárolt eljárás hibakeresését végzi, akkor az éppen végrehajtott sor nem felel meg a Hibakeresés nézetben megjelenő SQLJ forráskódban, hacsak nem alkalmazott egy iSeries PTF javítást, ami frissíti a sorleképezést, hogy a Java forrás helyett az SQLJ forrás jelenjen meg.
- A szekciókezelő időkorlát hibakeresési beállításait (az Ablak > Beállítások menüpontra kattint, kibontja a Futtatás/hibakeresés elemet, a DB2 tárolt eljárás hibakereső elemre kattint, majd módosítja a Szekciókezelő időkorlátja percekben mezőt) a rendszer nem ismeri fel.
- A hibakereső nem tud nagy számú változóval rendelkező tárolt eljárást kezelni DB2 for Linux, UNIX, és Windows rendszeren. A változók maximális száma 200.
- Kurzormozgás hibakeresési munkamenetben: Egyes esetekben, ha több változódeklaráció van egy eljárásban, többször kell a Belépés vagy Átlépés gombra kattintani, hogy a következő sorra ugorjon. Például kétszer kell kattintania ezen a soron: DECLARE v_dept, v_actdept CHAR(3); és háromszor ezen a soron: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2); Annyiszor kell kattintania, ahány változódeklaráció van.
- Ha hibakeresés munkamenetet indít egy tárolt Java eljáráshoz, és töréspontokat ad hozzá, majd letiltja ezeket a töréspontokat, akkor azok továbbra is engedélyezettek maradnak.
Kerülő megoldás: a hibakeresés munkamenet indításakor először távolítson el minden régi töréspontot, és csak azután adjon hozzá újakat.
- Bizonyos esetekben, ha több adatfejlesztési projekten dolgozik, a következő hibát láthatja, amikor megkísérli egy tárolt eljárás hibakeresését: "Nem található a(z) ELJNEVE tárolt eljárás. Lehet, hogy az eljárás törölve van a munkaterületről" vagy "A forrás nem található".
- Egy beágyazott SQL tárol eljárás hibakeresése után az adatkimenet nézet még mindig azt jelezheti, hogy a hibakereső még fut, és ez hibákat okozhat a későbbi futtatásoknál illetve a tárolt eljárások telepítésekor.
Kerülő megoldás: A szekciókezelőt le kell futtatni azon az ügyfél számítógépen, amelyen a fejlesztőtermék telepítve van. A szekciókezelő elindításához futtassa a db2dbgm.bat fájlt a termék telepítési bin könyvtárából.
- A DB2 V8 Linux, Unix, Windows és z/OS kiszolgálókon található tárolt eljárások hibakeresése csak korlátozottan támogatott. A telepített 14-es javítócsomaggal rendelkező DB2 V8 kiszolgálókon csak az SQL eljárásokon lehet hibakeresést végezni. A hibakereső DB2 V8 kiszolgálón való működéséhez a szekciókezelőt le kell futtatni azon az ügyfél számítógépen, amelyen a fejlesztőtermék telepítve van. A szekciókezelő elindításához futtassa a db2dbgm.bat fájlt a termék telepítési bin könyvtárából.
- Az ALIAS, MQT, NICKNAME, és SYNONYM már támogatott körbejárás tervezésnél, de az EJB leképezési folyamat során még nem.
- MySQL 4.1 korlátozott támogatása: A következő tulajdonságok helytelenül jelennek meg a Tulajdonságok nézetben: egyedi index, automatikus oszlopnövelés, NULL és bináris oszlop alapértelmezett érték. Ezen kívül a C eljárások és funkciók nem támogatottak.
- A Cloudscape® v5.1 nem támogatja a triggereket, ellenőrzési megszorításokat és nézeteket: a Cloudscape v5.1 triggerek és ellenőrzési megszorítások nem jelennek meg az Adatbázisböngészőben. A Cloudscape v5.1 nézetek hiányoznak az SQL törzsből a Tulajdonságok nézetben. Nem készíthet DDL diagramot, és nem fejthet vissza Cloudscape v5.1 triggereket, ellenőrzési megszorításokat vagy nézeteket.
- Oracle használata esetén a felhasználói struktúrált adatok csak korlátozottan támogatottak. A felhasználói struktúrált adattípus neve nem lesz benne a tábla meghatározásban amikor egy DDL-t állít elő egy Oracle táblához.
- A tároló objektumok frissítése az adatbázis böngészőben meghiúsulhat és a "nem lehet módosítani az erőforráskészletet írási tranzakció nélkül" kivételt dobhatja az adatbázis böngésző tárolóban található objektumok összehasonlítására megnyitott Összehasonlító szerkesztő bezárása után. A fizikai adatmodellben található táblák összehasonlítása az eredeti forrással okozhat ilyen kivételt.
Kerülő megoldás: Ha ilyen hibába ütközik, akkor kiválaszthatja a tároló objektumot tartalmazó tárolót, és megpróbálkozhat ismét a frissítéssel. Ha például egy tábla frissítése meghiúsul, akkor próbálja meg a táblát tartalmazó sémát frissíteni. Ha az újrapróbálkozás is sikertelen, akkor meg kell szakítania a kapcsolatot az adatbázissal, majd újra kell csatlakoznia hozzá.
Ha egyetlen oszlopnyi XML adatból álló táblát határoz meg, vagy bármilyen nem egyedi sorokkal rendelkező táblát, majd a táblázatszerkesztővel töröl egy sort, akkor minden, a kijelölt sorral egyező sor is törölve lesz.
Kerülő megoldás: Ne használja a táblázatadat-szerkesztőt több sorból álló tábla sorának törléséhez.