Zapraszamy do zapoznania się z Uwagami do wydania programu DB2 Everyplace
wersja 8.1.4. W katalogu
%DSYINSTDIR%\doc\język\infocenter dostępne jest nowe
Centrum informacyjne programu DB2 Everyplace wersja
8.1.4.
W niniejszych Uwagach do wydania zamieszczono informacje o nowych opcjach,
udoskonaleniach i aktualnych procedurach właściwych dla wersji
8.1.4 programu DB2 Everyplace.
Na początku tej sekcji zamieszczono listę funkcji, a następnie wymieniono
najnowsze poprawki do bazy danych DB2 Everyplace.
Nowe funkcje mechanizmu bazy danych
- Obsługa technologii ADO.Net dla platform PocketPC i Windows.
- Program DB2 Everyplace udostępnia dwie nowo zdefiniowane systemowe funkcje
skalarne, umożliwiające realizację zapytań SQL bez względu na wielkość liter w
przeszukiwanych danych. Tymi nowymi funkcjami są LCASE() oraz
UCASE().
- Obecnie można korzystać z wielu połączeń z różnymi bazami danych w ramach
jednego procesu.
- Obsługa automatycznego przyrostu (kolumn identyfikujących).
- Pobieranie dużych ilości danych w porcjach za pośrednictwem interfejsu
CLI.
- Obsługa systemu Symbian OS wersja 7.
- Zdalna obsługa procedur zapisanych w bazie w systemach Symbian OS wersja 6
i 7 oraz obsługa JDBC.
- Obsługa dodatkowych typów procesorów na platformach Neutrino i
Linux.
- Rozbudowana obsługa interfejsu JDBC, a także kompatybilność z JSR
169.
- Dodatkowa obsługa interfejsu CLI, w tym funkcji: SQLColumns,
SQLGetConnectAttr, SQLGetInfo, SQLGetStmtAttr, SQLNumParams,
SQLSetConnectAttr, SQLSetStmtAttr oraz SQLTables.
- Obsługa lokalnego szyfrowania danych na wszystkich platformach, w tym
Neutrino, Linux, Symbian OS 6 i OS 7.
Poprawki do mechanizmu bazy danych
Problemy wyeliminowane w programie DB2 Everyplace wersja 8.1, w
pakiecie poprawek 1, pakiecie poprawek 2 i w wersji 8.1.4, z
numerem APAR, jeśli ma on zastosowanie:
- (APAR IC34759) Problemy z szyfrowaniem danych:
- Jeśli aplikacja uzyskuje dostęp do więcej niż 8 tabel (z których jedna
jest tabelą szyfrowaną) podczas jednej sesji połączenia, program DB2
Everyplace powoduje błąd.
- Zapytania selekcji oparte na kursorze przewijalnym nie działają na
tabelach szyfrowanych.
- Zapytania z klauzulą GROUPBY (z kolumnami grupującymi) nie działają na
tabelach szyfrowanych.
- Zapytania aktualizujące nie działają na kolumnach tabel szyfrowanych z
indeksami.
- (APAR IC34782) Mechanizm bazy danych programu DB2 Everyplace nieprawidłowo
kończy działanie w przypadku użycia predykatu LIKE ze znacznikiem parametru,
gdy kolumna jest indeksowana (na przykład C1 LIKE ?).
Struktura indeksu może być uszkodzona na skutek użycia instrukcji
aktualizacji. Błąd występuje wtedy, gdy tabela ma więcej niż 1 indeks,
a wartość SET nie zmienia oryginalnej wartości wiersza. Jeśli wartość
kolumny zostaje zmieniona, problem ten nie występuje.
- (APAR IC35328) Tabele w mechanizmie programu DB2 Everyplace stają się
niedostępne w wypadku użycia instrukcji DELETE, gdy mają miejsce następujące
działania:
- Wykonywane jest fizyczne usuwanie.
- Odczytywane są rekordy usunięte logicznie.
- W instrukcji DELETE nie użyto klauzuli WHERE.
- (APAR IC35106) Ponowne wykonanie przygotowanej instrukcji SELECT z
zastosowaniem kursora przewijalnego nie powoduje zwrócenia żadnych
wierszy.
- (APAR IC35043) W systemie Palm OS, w którym zainstalowano bibliotekę
PVCPKCS11.prc, wielokrotne naciskanie przycisku On/Off
(Włączone/Wyłączone), powoduje, że w końcu zostaje wyświetlony alert systemowy
i konieczne jest zresetowanie urządzenia.
- (APAR IC35585) W systemie Palm OS możliwe jest uszkodzenie indeksu,
sygnalizowane komunikatem o błędzie SQLSTATE=58004, podczas operacji
aktualizacji i usuwania, gdy indeks jest tworzony dla kolumn o numerach z
jednego z następujących przedziałów: 17-32, 48-64, 80-96, 112-128,
144-160, 176-192, 208-226, 240-256.
- (ARAR IC35710) Aplikacja DB2 Everyplace utworzona w języku Visual Basic z
zastosowaniem pliku db2ecli.bas dla platformy Pocket PC
zawiesza się po uruchomieniu na emulatorze Pocket PC 2002.
- (APAR IC35966) Problem ze zdalnymi wywołaniami procedur zapisanych w bazie
w urządzeniu Palm. Błąd krytyczny w przypadku użycia wywołania
SQLBindParameter z parametrem SQL_PARAM_OUTPUT oraz podczas
pobierania tabeli wynikowej (ResultSet).
- (APAR IC36026) Wykonanie przygotowanych instrukcji zapytania SELECT z
funkcją agregującą bez klauzuli GROUPBY powoduje zwrócenie niepoprawnej
odpowiedzi.
- (APAR IC36027) Poprzedzona wyszukiwaniem instrukcja DELETE (z klauzulą
WHERE) nie jest w stanie usunąć wszystkich kwalifikowanych wierszy, gdy do
wyszukiwania kwalifikowanych wierszy używany jest indeks oparty na kolumnie
typu TIMESTAMP.
- (APAR IC36083) Instrukcje CREATE TABLE i CREATE INDEX powodują błąd, jeśli
tworzony jest indeks lub klucz podstawowy na kolumnach o numerach od 128
wzwyż.
- (APAR IC36069) W przypadku utworzenia indeksu na kolumnie, której pozycja
przekracza 256, dane mogą ulec uszkodzeniu lub zostanie zwrócony komunikat o
błędzie SQLSTATE 58004. Ta poprawka uniemożliwia również tworzenie
tabeli zawierającej więcej niż 256 kolumn.
- (APAR IC36070) Instrukcja REORG wykonywana w odniesieniu do tabeli z
rekordami o zmiennej wielkości (na przykład typu VARCHAR lub BLOB) może
prowadzić do nieprzewidywalnego uszkodzenia pliku danych lub błędu
aplikacji. Sytuacja taka może wystąpić zwłaszcza wtedy, gdy w wyniku
wykonania instrukcji UPDATE rekordy stają się większe.
- (APAR IC36256) Aplikacji przykładowych DB2 Everyplace nie udaje się
pomyślnie zbudować z zastosowaniem języka Microsoft eMbedded Visual C++
3.0.
- (APAR IC36270) W programie DB2 Everyplace nie są optymalizowane niektóre
zapytania z klauzulą ORDER BY, ponieważ program nie jest w stanie wybrać
dostępnych indeksów.
- (APAR IC37280) Mechanizm bazy danych programu DB2 Everyplace nieprawidłowo
kończy działanie, gdy aplikacja próbuje połączyć się z bazą danych zawierającą
pustą tabelę DB2eSYSUSERS. Taki sam objaw można zaobserwować, gdy
aplikacja nawiązuje połączenie z bazą danych i podaje błędne hasło
bezpośrednio po utworzeniu pierwszego identyfikatora użytkownika.
- (APAR IC36430) Program DB2 Everyplace może nieprawidłowo zakończyć
działanie podczas wykonywania zapytania z klauzulą GROUP BY, gdy liczba
elementów klauzuli SELECT przekracza liczbę elementów GROUP BY.
- (APAR IC36695) Próba nawiązania połączenia z szyfrowaną bazą danych
powoduje, że mechanizm bazy danych programu DB2 Everyplace nieprawidłowo
kończy działanie.
- (APAR IC36570) Mechanizm bazy danych programu DB2 Everyplace zwraca
komunikat SQLState 57011 lub 58004 przy próbie dostępu do bazy danych
przechowywanej na nośniku zewnętrznym (na przykład na karcie SD, karcie
CompactFlash Card lub napędzie IBM Microdrive) urządzenia PalmOS.
- (APAR IC36688) Mechanizm bazy danych programu DB2 Everyplace zwraca
komunikat SQLState 58004 podczas łączenia dwóch tabel z zastosowaniem warunku
łączenia, w którym uwzględniono kolumny typu VARCHAR zawierające łańcuchy
puste (gdy indeks jest używany do pobierania danych).
- (APAR IC36702) Program DB2 Everyplace nie stwierdza zgodności predykatu
"LIKE '%'" z łańcuchem pustym.
- (APAR IC37281) Interfejs SampleCLP programu DB2 Everyplace może zwrócić
błąd lub niepoprawne dane podczas importowania kolumny typu VARCHAR lub CHAR
zakończonej znakiem cudzysłowu.
- (APAR IC37045) Program DB2 Everyplace nie zwraca kodu SQLState 23505, gdy
aplikacja wstawia w kolumnie klucza podstawowego dwie liczby dziesiętne,
których wartości niewiele się różnią. Program DB2 Everyplace błędnie
przyjmuje, że mają tę samą wartość.
- (APAR IC37046) Program DB2 Everyplace zwraca błąd składniowy w razie
użycia operatora konkatenacji łańcuchów '¶llel.'.
- (APAR IC37048) Program DB2 Everyplace nie akceptuje znaków języka
chińskiego tradycyjnego na urządzeniach Acer S60 z systemem Palm Chinese
OS.
- (APAR IC37329) Gdy po instrukcji SQL UPDATE opartej na indeksie klucza
podstawowego następuje instrukcja SQL DELETE oparta na indeksie bitu
modyfikacji, w wyniku ich wykonania kolejne zapytania kierowane do mechanizmu
bazy danych programu DB2 Everyplace zwrócą niepoprawne wyniki.
Niniejsza sekcja zawiera listę znanych uwarunkowań i ograniczeń dotyczących
bieżącej wersji programu DB2 Everyplace:
- Użytkownicy klienckiej bazy danych DB2 Everyplace mogą spotkać się z
obniżoną wydajnością instrukcji UPDATE, INSERT lub DELETE w trybie
automatycznego zatwierdzenia. Obejście tego problemu polega na jawnym
użyciu transakcji przeprowadzanych ręcznie i grupowaniu wielu zmian w jednej
operacji zatwierdzania.
- W wypadku używania Ado.NET w mechanizmie bazy danych:
- Wielkość tabeli wynikowej pobieranej przy użyciu zdalnego wywołania
procedury zapisanej w bazie jest ograniczona. To ograniczenie zostanie
wyeliminowane w przyszłej wersji.
- Przy próbie użycia nieobsługiwanych metod lub właściwości zgłaszany jest
wyjątek "System.NotSupportedException".
- Gdy klient synchronizacji synchronizuje się z wieloma docelowymi bazami
danych, lokalne szyfrowanie bazy danych nie jest obsługiwane, jeśli więcej niż
jedna baza danych zawiera szyfrowane tabele.
- Nie wszystkie funkcje obsługiwane przez klienta DB2 Everyplace są
obsługiwane przez klienta Cloudscape. Obsługa nie obejmuje na przykład
wielu serwerów, ustalania kolejności zestawów/subskrypcji/tabel subskrypcji
ani lokalnego szyfrowania danych.
- Funkcja filtru łączenia nie obsługuje wielu jednoczesnych odwołań do
tabel. Jeśli klauzula WHERE zawiera wiele jednoczesnych odwołań do
tabel, opcja filtru łączenia jest wyłączana w odniesieniu do tej klauzuli
WHERE i protokołowane jest ostrzeżenie DSYD029W. Klauzula WHERE jest
realizowana bez opcji filtru łączenia.
- Spójność referencyjna nie jest obsługiwana w przypadku subskrypcji tabel
programu DataPropagator.
- W przypadku subskrypcji tabel programu DataPropagator replikacja zawsze
musi być przeprowadzana na serwerze lustrzanej bazy danych. Oznacza to,
że jeśli replikację trzeba przeprowadzić podczas działań administracyjnych,
Centrum administrowania urządzeniami mobilnymi musi być uruchomione na
serwerze lustrzanej bazy danych.
- Nazwy obiektów bazy danych, które muszą być ujęte w podwójne znaki
cudzysłowu, nie są obsługiwane.
- Na ogół maksymalna wielkość wiersza w tabeli jest ograniczona przez źródło
danych. Dodanie tabeli do subskrypcji JDBC powoduje nałożenie dalszego
ograniczenia maksymalnej wielkości wiersza. To dodatkowe ograniczenie
maksymalnej wielkości wiersza wynosi około 125 bajtów.
- Na ogół maksymalna wielkość wiersza w tabeli jest ograniczona przez źródło
danych. Dodanie tabeli do subskrypcji JDBC powoduje nałożenie dalszego
ograniczenia maksymalnej wielkości wiersza. To dodatkowe ograniczenie
maksymalnej wielkości wiersza wynosi około 2 KB.
Poniższe nazwy są znakami towarowymi firmy International Business Machines
Corporation w Stanach Zjednoczonych i/lub innych krajach:
AIX
DB2
DB2 Universal Database
IBM
Microsoft, Windows, Windows NT i logo Windows są zastrzeżonymi znakami
towarowymi firmy Microsoft Corporation w Stanach Zjednoczonych i/lub innych
krajach.
Inne nazwy firm, produktów i usług mogą być znakami towarowymi lub znakami
usług innych podmiotów.