(C) Copyright International Business Machines Corporation 2000, 2006. Wszelkie prawa zastrzeżone. Ograniczone prawa na rzecz rządu Stanów Zjednoczonych - używanie produktów, tworzenie ich duplikatów oraz ujawnianie informacji o nich podlega zastrzeżeniom zawartym w umowie GSA ADP Schedule zawartej z firmą IBM(R) Corp.
W środowisku roboczym dostępne są dwa nowe typy projektów danych:
- Projekty danych
- Projekty tworzenia danych
Projekty danych są wykorzystywane do tworzenia i przechowywania modeli danych, na przykład modeli danych fizycznych i logicznych. Projekty tworzenia danych są wykorzystywane do tworzenia i przechowywania obiektów tworzenia aplikacji danych, takich jak procedury składowane i funkcje definiowane przez użytkownika (nazywane także procedurami). Procedury można przeglądać także z poziomu projektu danych jako część fizycznego modelu danych. Jednak obsługa tworzenia procedur z poziomu projektu danych jest bardzo ograniczona i na tym poziomie nie istnieją żadne narzędzia SQL dla procedur.W przypadku tworzenia procedur zalecane jest wykorzystanie przeznaczonego do tego celu projektu tworzenia danych, który zapewnia pełną obsługę łącznie z kreatorami, edytorami procedur, obsługą debugowania oraz integracją z narzędziami SQL.
Edytor danych tabeli:
. W przypadku definiowania tabeli z pojedynczą kolumną o typie danych XML lub wieloma kolumnami z wierszami o nieunikalnych wartościach, a następnie korzystania z edytora tabeli w celu usunięcia wiersza, usunięte zostaną wszystkie wiersze, które pasują do tego wybranego. Aby uniknąć tego problemu, nie należy korzystać z edytora danych tabeli do usuwania wiersza z tabeli mającej podwójne wiersze.. W edytorze danych tabeli, jeśli sprawdzanie poprawności danych XML zostanie przeprowadzone na tabeli XML, która nie ma klucza podstawowego, to sprawdzanie poprawności zadziała tylko za pierwszym razem, podczas wstawiania wartości XML. Dodatkowo aktualizacja istniejącej kolumny XML za pomocą sprawdzania poprawności danych XML nie powiedzie się. Aby obejść ten problem, dla tabel zawierających kolumny XML należy utworzyć klucz podstawowy.
Edytor odwzorowania XSD z adnotacjami:
. Praca z wieloma składnikami głównymi w tym edytorze może spowodować powstawanie błędów podczas zapisywania pliku XSD z adnotacjami. Aby obejść ten problem, dla każdego składnika głównego należy utworzyć osobny zestaw plików dokumentów schematu XML.
Dane XML:
. W celu korzystania z typu danych XML oraz pracowania ze schematami XML, należy połączyć się z bazą danych typu UTF-8.. Ilość danych zwracanych z bazy danych dla dokumentów XML jest nieograniczona. Ilość zwracanych danych może mieć wpływ na wydajność.
Narzędzia SQL:
. Edytor SQL aktualnie nie obsługuje zmiennych języka macierzystego podczas uruchamiania działania Wykonaj instrukcje SQL. Aby obejść to ograniczenie, zapytanie SQL można uruchomić z poziomu programu budującego SQL, jeśli jest to instrukcja DML.. W programie budującym SQL pełna składnia SQL nie jest obsługiwana. Na przykład nie są obsługiwane typy zdefiniowane przez użytkownika oraz funkcje tabel.
Tworzenie procedury:
. Typy zdefiniowane przez użytkownika nie są obsługiwane jako parametry procedur.. Aby za pomocą wdrażania Ant z poziomu systemu plików wdrożyć procedury składowane Java(TM), dla których docelową bazą danych jest DB2(R) UDB for iSeries(TM), należy się upewnić, że w ścieżce klasy znajduje się plik jt400.jar.
. W przypadku próby wdrożenia eksportowanej procedury składowanej za pomocą instrukcji zawartych w pliku DeployInstructions.txt może pojawić się następujący komunikat o błędzie:
...[createsp] Could not connect to the target database.
[createsp] com.ibm.db2.jcc.DB2Driver...
Aby obejść ten problem, należy się upewnić, że w systemowej ścieżce klasy znajduje się plik db2jcc.jar oraz odpowiednie pliki licencji..Podczas wdrażania lub uruchamiania procedur składowanych Java może pojawić się błąd "nie można załadować klasy". Jest to możliwe, gdy wersje pakietu JDK produktu RAD, wersja 7 i serwera DB2 nie są zgodne, jeśli serwer DB2 ma nieaktualną wersję pakietu JDK.
Aby zapobiec powstaniu tego błędu, podczas wdrażania procedur składowanych Java na serwerze korzystającym z pakietu JDK w wersji 1.4, w polu Opcje kompilacji kreatora Wdrażanie procedur należy podać opcję "-source 1.4". (Na przykład na serwerze DB2 Universal Database(TM) for Linux(R), UNIX(R), and Windows(R), wersja 8.2). Ogólnie należy korzystać z odpowiedniej opcji kompilacji "-source wersja_pakietu_JDK", aby zapewnić zgodność z wersją pakietu JDK na serwerze bazy danych.. Podczas wdrażania procedury składowanej lub funkcji zdefiniowanej przez użytkownika (UDF) za pomocą funkcji wdrażania Ant, jeśli w ścieżce klasy nie wskazano lokalizacji pliku tools.jar, może pojawić się następujący komunikat:
Unable to locate tools.jar. Expected to find it in F:\jre\1.4.2\lib\tools.jar
Plik tools.jar jest częścią środowiska JRE (Java Runtime Environment), a nie częścią narzędzia wdrażania Ant.
Plik tools.jar nie jest wymagany do uruchamiania skryptu Ant, a ten komunikat można teraz po prostu zignorować.. Podczas zmiany nazwy metody Java w edytorze procedur składowanych nie można poprawnie zapisać procedury, klikając prawym przyciskiem myszy na stronie Źródło edytora i wybierając opcję Zapisz. Aby obejść ten problem, procedurę składowaną należy zapisać, klikając kolejno opcje: Plik->Zapisz, naciskając klawisze Ctrl+S lub klikając ikonę Zapisz.
. W przypadku przeciągania i upuszczania procedury składowej lub funkcji zdefiniowanej przez użytkownika (UDF) między różnymi serwerami (na przykład z serwera DB2 UDB for Linux, UNIX, and Windows na serwerze DB2 UDB for z/OS(R)) pojawi się ostrzeżenie dotyczące braku kompatybilności między tymi dwoma serwerami. W przypadku kontynuowania operacji i późniejszej próby otwarcia procedury składowanej lub funkcji zdefiniowanej przez użytkownika (UDF) może pojawić się błąd.
Profilowanie procedury SQL:
. Uruchamianie produktu SQL Profiling na serwerze DB2 UDB for Linux, UNIX, and Windows, wersja 8.2 może spowodować wystąpienie wyjątku pustego wskaźnika, w przypadku gdy na serwerze brakuje wymaganej wstępnie procedury składowanej (SYSIBM.SQLCAMESSAGECCSID), która jest wymagana przez sterownik JCC do pobrania tekstu komunikatu o błędzie. Aby obejść ten problem, można utworzyć połączenie z serwerem bez skonfigurowanego ustawienia retrieveMessagesFromServerOnGetMessage=true.. Podczas monitorowania wykonywania procedur SQL, dla instrukcji DML takich jak INSERT, SELECT, DELETE i UPDATE, które są wywoływane w procedurze, generowane są zdarzenia. Jednak dla instrukcji proceduralnych, takich jak przypisywanie zmiennej, oraz struktur sterujących typu WHILE lub IF, zdarzenia nie są generowane w sposób deterministyczny.
Debuger procedur składowanych:
. W czasie połączenia z serwerem UNIX DB2, podczas dodawania punktów zatrzymania lub uruchamiania w trybie debugowania mogą wystąpić wyjątki przekroczenia limitu czasu.. Debuger nie jest uruchamiany dla procedur składowanych zawierających zarówno znaki w języku angielskim, jak i chińskim.
. Wyrażenia podglądu zmiennych są obsługiwane tylko dla dynamicznych procedur składowanych Java. Nie są obsługiwane dla procedur składowanych SQL i SQLJ.
. Debuger nie zatrzymuje się w punkcie zatrzymania, jeśli nie jest ustawiony na pierwszym znaczniku instrukcji wykonywalnej, takiej jak SET. Dodatkowo nie zatrzymuje się na instrukcjach DECLARE CONTINUE, CLOSE CURSOR lub ROLLBACK.
. W przypadku debugowania procedury składowanej Java oraz wybrania działania Zakończ, pełne zakończenie sesji debugowania może potrwać kilka minut. Nowe sesje debugowania uruchomione w tym czasie mogą zachowywać się dziwnie.
. W przypadku debugowania procedury składowanej Java, która wywołuje drugą procedurę składowaną Java, nie można debugować tej drugiej procedury. Nie można wejść do zagnieżdżonej procedury składowanej, a wszystkie punkty zatrzymania w takiej procedurze zostaną zignorowane. To ograniczenie dotyczy produktu DB2 UDB dla systemów Linux, UNIX i Windows.
. Jeśli podczas debugowania procedury składowanej Java pojawi się błąd 'Timeout occurred while waiting for packet' (Przekroczenie limitu czasu podczas oczekiwania na pakiet), należy spróbować zwiększyć ustawienie limitu czasu dla języka Java. Aby zwiększyć ustawienie limitu czasu dla języka Java, na pasku menu środowiska roboczego należy kliknąć opcje: Okno > Preferencje. Następnie należy rozwinąć węzeł Java i kliknąć opcję Debugowanie. Na stronie Preferencje debugowania, w sekcji Limit czasu połączenia należy zwiększyć wartość pola Limit czasu debugera (ms). Zalecane jest przynajmniej podwojenie wartości domyślnej.
. Podczas debugowania procedury składowanej Java, w przypadku korzystania z działania Zmień wartość do zmodyfikowania zmiennej, która ma pustą wartość łańcucha, przycisk OK w oknie dialogowym edytowania może być nieaktywny. Aby aktywować przycisk, należy zaznaczyć przełącznik Wprowadź wartościowanie, podać dowolny łańcuch (na przykład 'a'), a następnie wybrać przełącznik Wprowadź tekst literału. Przycisk OK stanie się dostępny.
. Jeśli podczas debugowania procedury składowanej Java nie są widoczne zmienne lokalne, oznacza to, że procedura składowana mogła być wdrożona bez opcji kompilatora -g. Należy upewnić się, czy podczas wdrażania procedur składowanych Java podawana jest opcja kompilatora -g.
. Jeśli w widoku Zmienne pojawia się komunikat 'Niepoprawna ramka stosu.', należy przejść do widoku Debugowanie i kliknąć obiekt wątku powyżej ramki stosu, a następnie kliknąć ramkę stosu. Spowoduje to odświeżenie widoku Zmienne i komunikat o błędzie nie powinien być już widoczny.
. Podczas debugowania procedury składowanej SQLJ, która jest uruchomiona na serwerze DB2 UDB for iSeries V5 R4, wykonywany bieżący wiersz nie będzie odpowiadał wskazywanemu wierszowi źródłowemu SQLJ, który jest wyświetlany w widoku Debugowanie, chyba że zastosowana została poprawka PTF iSeries, która aktualizuje odwzorowanie wierszy, aby odpowiadało źródłu SQLJ zamiast Java.
. Preferencje debugera dla limitu czasu menedżera sesji nie są rozpoznawane. Te preferencje ustawiane są w następujący sposób: należy kliknąć Okno > Preferencje, rozwinąć węzeł Wykonywanie/debugowanie i kliknąć opcję Debuger procedur składowanych DB2. Następnie należy zmodyfikować wartość w polu Limit czasu Menedżera sesji w minutach.
. Debuger nie może przetwarzać procedury składowanej, która ma dużą liczbę zmiennych w bazie danych DB2 dla systemu Linux, UNIX lub Windows. Maksymalna liczba zmiennych to 200.
. Przemieszczanie kursora w sesji debugowania: w niektórych przypadkach, gdy w procedurze znajduje się więcej niż jedna deklaracja zmiennej, aby przejść do następnego wiersza, przycisk Krokowo z zagłębianiem lub Krokowo bez zagłębiania trzeba kliknąć więcej niż jeden raz. Na przykład trzeba kliknąć dwa razy w przypadku następującego wiersza: DECLARE v_dept, v_actdept CHAR(3); i trzy razy w przypadku następującego: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2); należy klikać tyle razy, ile jest deklaracji zmiennych.
. W przypadku uruchomienia sesji debugowania dla procedury składowanej Java z dodanymi punktami zatrzymania, wyłączenie tych punktów nie spowoduje, że zostaną zdeaktywowane. Aby obejść ten problem, podczas uruchamiania nowej sesji debugowania najpierw należy usunąć wszystkie poprzednie punkty zatrzymania, a potem dodać nowe.
. W niektórych przypadkach podczas pracy z wieloma projektami tworzenia danych, podczas próby debugowania procedury składowanej może pojawić się następujący błąd: "Unable to locate stored procedure NAZWA_PROCEDURY. Procedure may have been deleted from workspace" lub "Source not found".
. W przypadku debugowania procedury składowanej SQL, zaraz po zakończeniu sesji debugowania procedury składowanej Java, debuger może wyświetlić komunikat "User defined function ... has been interrupted by the user." Aby obejść ten problem należy spróbować ponownie zdebugować procedurę składowaną SQL.
Podstawowe funkcje danych:
. Obecnie komendy ALIAS, MQT, NICKNAME i SYNONYM są obsługiwane podczas generowania i odtwarzania kodu, ale nie są obsługiwane w procesie odwzorowywania komponentów EJB.
. Ograniczona obsługa bazy danych MySQL 4.1: W widoku Właściwości nie są wyświetlane poprawnie następujące właściwości: unique index, auto increment columns, column default value for NULL i binary. Oprócz tego nie są obsługiwane procedury i funkcje języka C.. Dla bazy danych Cloudscape(TM), wersja 5.1 nie są obsługiwane wyzwalacze, ograniczenia sprawdzające oraz widoki: wyzwalacze oraz ograniczenia sprawdzające bazy danych Cloudscape, wersja 5.1 nie wyświetlane w eksploratorze bazy danych. Widoków bazy danych Cloudscape, wersja 5.1 brakuje w treści procedury SQL w widoku Właściwości. Nie można generować biblioteki DDL lub odtwarzać kodu źródłowego wyzwalaczy, ograniczeń sprawdzających lub widoków bazy danych Cloudscape, wersja 5.1.