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.
Na początku tej sekcji zamieszczono listę funkcji, a następnie wymieniono
najnowsze poprawki do Serwera synchronizacji DB2 Everyplace.
Nowe funkcje Serwera synchronizacji DB2 Everyplace
- Obsługa programu DataPropagator wersja 8
Administrowanie subskrypcjami tabel programu DataPropagator wersja 8 wymaga
praktycznej znajomości programu DataPropagator wersja 8. Serwery
przechwytywania i wprowadzania zmian programu DataPropagator oraz zestawy
subskrypcji muszą zostać utworzone i aktywowane przy użyciu Centrum replikacji
DB2 Universal Database. Następnie przy użyciu programu narzędziowego do
obsługi skryptów XML, wchodzącego w skład produktu DB2 Everyplace, można
utworzyć subskrypcję tabel programu DB2 Everyplace DataPropagator, przypisując
ją do zestawu subskrypcji DataPropagator.
- Narzędzie do obsługi skryptów XML
Istniejące obiekty można obecnie modyfikować w Centrum administrowania
urządzeniami mobilnymi przy użyciu narzędzia do obsługi skryptów XML.
- Synchronizacja z programem Cloudscape jako źródłem danych zaplecza
- Obsługa systemu operacyjnego Solaris
- Aktualizacje w Centrum administrowania urządzeniami mobilnymi:
Uwaga: Jeśli serwer synchronizacji jest zainstalowany wraz
z programem DB2 UDB wersja 8.1 i występują długie opóźnienia podczas
przeglądania subskrypcji przy użyciu centrum MDAC, należy zainstalować pakiet
poprawek 4 do programu DB2 UDB wersja 8.1.
- Okno tworzenia subskrypcji JDBC i edycji subskrypcji JDBC:
- Nowe pole wyboru Replikuj teraz (replikacja nie jest
przeprowadzana podczas operacji administracyjnych, o ile nie zaznaczono tego
pola).
- Możliwość wpływania na kolejność zestawów subskrypcji
Obecnie można określić kolejność, w jakiej zestawy subskrypcji są wysyłane
do klienta. Można określać kolejność zestawów subskrypcji dla grupy,
kolejność subskrypcji w zestawie subskrypcji oraz kolejność tabel w
subskrypcji.
- Okno zmiany użytkownika
Obecnie można określić więcej niż jednego użytkownika dla każdego
urządzenia mobilnego.
- Dodano nowe pole wyboru w oknie Dodaj tabelę. Zaznaczenie pola
wyboru Przesłoń ustawienia globalne filtru łączenia spowoduje
włączenie parametru filtrowania wierszy spoza zakresu. Ten parametr
musi być ustawiony, aby nie wystąpiły problemy z filtrowaniem wierszy spoza
zakresu.
- Zdalne uruchamianie Centrum administrowania urządzeniami mobilnymi oraz
administrowanie grupą serwerów
Umożliwia zdalne uruchamianie Centrum administrowania urządzeniami
mobilnymi z serwera lub serwerów obsługiwanych przez to centrum.
Pozwala na korzystanie z konfiguracji wieloserwerowych, umożliwiając
administrowanie wszystkimi serwerami z odległego fizycznie komputera i
miejsca.
- W przypadku źródła danych DB2 użytkownicy mogą obecnie określać domyślną
bazę danych i obszar tabel dla wewnętrznych tabel sterujących utworzonych
przez serwer synchronizacji.
- Obsługa synchronizacji dla systemu .NET z zastosowaniem dostawcy
DB2 Everyplace ISync.NET
- Ograniczenia oparte na kluczu obcym w źródłach replikacji JDBC
Obecnie można subskrybować tabele według porządku nadrzędny-podrzędny pod
warunkiem, że związek spójności referencyjnej jest zawarty w subskrypcji
JDBC.
- Migracja autonomiczna i podczas instalacji
Podczas instalowania Serwera synchronizacji wersja 8.1.4
automatycznie przeprowadzana jest migracja konfiguracji z wersji
wcześniejszych do wersji 8.1.4. Migracją objęte są tabele
sterujące. Ponadto można dokonać aktualizacji wersji próbnej do pełnej
wersji licencjonowanej bez deinstalowania wersji próbnej.
Poprawki do Serwera synchronizacji DB2 Everyplace
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 IC35310) Jeśli nazwa parametru filtrowania pionowego jest
niezdefiniowana lub błędnie zapisana w definicji grupy, serwer synchronizacji
zawiesza się podczas synchronizacji.
- (APAR IC35329) Jeśli w Centrum administrowania urządzeniami mobilnymi
zostanie zresetowana subskrypcja pliku, a następnie zostanie przeprowadzana
synchronizacja, to nowe zmiany w pliku wprowadzane na serwerze nie będą
synchronizowane z klientem.
- (APAR IC34823) Centrum administrowania urządzeniami mobilnymi nie jest
uruchamiane, jeśli używany jest program DB2 Universal Database z pakietem
poprawek 7.
- (APAR IC35308) W urządzeniu Palm automatycznie wyłącza się zasilanie, gdy
synchronizacja trwa dłużej niż określony limit czasu transmisji (wydłużony o
30 sekund).
- (APAR IC35309) Program narzędziowy do obsługi skryptów XML jest w stanie
usunąć subskrypcji, jeśli źródło jest wyłączone.
- (APAR IC35334) Pewna sekwencja kliknięć w interfejsie graficznym systemu
Palm OS powoduje błąd tego interfejsu.
- (APAR IC35335) Subskrypcje plików nie działają z urządzeniami mobilnymi z
systemem Symbian 6.
- (APAR IC36067) Identyfikator grupy serwerów ustawiony na "Installation
corrupted" (Instalacja uszkodzona).
- (APAR IC36016) Odświeżanie powoduje błąd klienta synchronizacji w systemie
WinCE, jeśli włączone jest lokalne szyfrowanie danych. Klient zgłasza
błąd typu ISCEVTTYPE_Error z kodem ISCEVT_ErrUnauthorized lub
ISCEVT_ErrConnectData.
- (APAR IC35794) W systemie Windows32 lub nieobsługującym UNICODE ustawienie
strony kodowej znajdujące się w pliku konfiguracyjnym (CONFIG-ISYN) jest
niepoprawne w przypadku niełacińskich zestawów znaków (Cp1252). Po
synchronizacji dane znakowe widoczne są jako "śmieci". Ten problem
występuje w przypadku języków: chińskiego, japońskiego, koreańskiego,
arabskiego, hebrajskiego i czeskiego.
- (APAR IC36082) Podczas próby wznowienia anulowanej synchronizacji
występuje niepowodzenie asercji zgłaszane jako "unexpected call to getUpdate"
(nieoczekiwane wywołanie getUpdate).
- (APAR IC35403) Podczas próby synchronizacji z klientami zgłaszany jest
błąd SQL1040N.
- (APAR IC35539) Operacje wstawiania i aktualizowania w tabelach źródłowych
w systemie OS/390 kończą się niepowodzeniem i zgłaszany jest błąd
DSYD028I.
- (APAR IC35535) W panelu zaawansowanej definicji subskrypcji Centrum
administrowania urządzeniami mobilnymi nie są zapisywane dokonane
wybory.
- (APAR IC35653) Replikacja kończy się niepowodzeniem (DSYS005E), gdy
urządzenie, które było ostatnio synchronizowane, zostaje zresetowane, a
replikacja jest nieodtwarzalna przy użyciu automatycznego odtwarzania.
- (APAR IC35398) Bezpośrednio po nazwie parametru w klauzuli WHERE nie może
występować nawias zamykający. Gdyby tak się stało, spowodowałoby to
błąd programu DB2: "SQL0312N Zmienna języka bazowego "{parametr}" jest
używana w dynamicznej instrukcji języka SQL, definicji widoku lub w definicji
wyzwalacza. SQLSTATE=42618".
- (APAR IC35980) Sterująca baza danych (DSYCTLDB) programu DB2 Everyplace
może ulec uszkodzeniu podczas edytowania lub usuwania subskrypcji.
- (APAR IC36017) Menedżer ReplicationDbMgr zgłasza wyjątek
NullPointerException.
- (APAR IC36165) Jeśli podczas edytowania subskrypcji plików zostanie
zmieniona nazwa subskrypcji i plik dowiązany (lub wskaźnik), nowo dowiązany
plik nie zostanie przesłany do urządzenia aż do momentu zresetowania
identyfikatora użytkownika w Centrum administrowania urządzeniami
mobilnymi.
- (APAR IC36189) Podczas tworzenia subskrypcji tabel JDBC w źródłowej bazie
danych programu DB2 for OS/400, subskrybowane tabele mogą być niedostępne do
zapisu po utworzeniu subskrypcji, dopóki nie zostanie zamknięty proces Centrum
administrowania urządzeniami mobilnymi. Komunikat o błędzie:
[SQL0913] Wiersz lub obiekt xxxx xxxx typu *FILE podczas replikacji.
Problem ten występuje także w wypadku subskrypcji JDBC i subskrypcji
wstawiania.
- (APAR IC36261) Nie działa replikacja źródłowych baz danych Domino z
lustrzaną bazą danych programu DB2 Everyplace.
- (APAR IC36262) Podczas zamykania Centrum administrowania urządzeniami
mobilnymi program java.exe wchodzi w etap zbierania danych w
nieskończonej pętli, w wyniku której ostatecznie zostaje zgłoszony komunikat o
błędzie "java.lang.OutOfMemory".
- (APAR IC36264) Podczas próby synchronizacji z urządzenia klienckiego ze
źródłem danych Domino zgłaszany jest komunikat o błędzie "DSYC401 Połączenie z
danymi docelowymi nie powiodło się".
- (APAR IC36265) Gdy tabela źródłowa jest subskrybowana z zastosowaniem
replikacji JDBC, danych znajdujących się w tabeli źródłowej nie można
odczytać, gdy replikacja jest w toku. Na większości platform nie jest
zgłaszany komunikat o błędzie, lecz program czytający czeka do czasu
zakończenia replikacji, a następnie normalnie kontynuuje działanie.
Jeśli źródłem jest program DB2 w systemie AS/400 z domyślną konfiguracją
plików AS/400, program czytający otrzymałby następujący komunikat o
błędzie: SQL0913N Niepomyślne wykonanie spowodowane przez zakleszczenie
lub przekroczenie czasu.
- (APAR IC36266 ) Obecnie można tworzyć hasła szyfrowania o długości do 256
znaków. Dotychczas obowiązywało ograniczenie do 18 znaków.
- (APAR IC36267) Użytkownicy korzystający z serwera HTTP iPlanet z Serwerem
aplikacji IBM WebSphere (w celu uruchomienia Serwera synchronizacji DB2
Everyplace) mogą podczas synchronizowania odebrać komunikaty o błędach
uwierzytelniania na urządzeniach klienckich. Komunikat o błędzie
brzmi: "DSYC304E: Błąd krytyczny: niepowodzenie
uwierzytelniania". Problem ten występuje dlatego, że serwer iPlanet
dokonuje konwersji wielkości liter znajdujących się w nagłówku komunikatu
wysyłanego przez klienta synchronizacji.
- (APAR IC36419) Jeśli w Centrum administrowania urządzeniami mobilnymi
replikacja została wyłączona w wyniku usunięcia zaznaczenia pola wyboru na
stronie Replikacja, to po restarcie serwera synchronizacji przywrócona
zostanie wartość domyślna, a replikacja będzie błędnie włączona.
- (APAR IC36409) Podczas synchronizowania subskrypcji, w której do
filtrowania wierszy przesyłanych z lustrzanej bazy danych do urządzenia
zastosowano filtr poziomy z klauzulą WHERE zdefiniowaną przez użytkownika,
serwer synchronizacji może nagle zakończyć działanie z następującym
błędem: "ava.lang.ArrayIndexOutOfBoundsException: 1
at java.util.Vector.elementAt(Vector.java(Compiled
Code)) at
om.ibm.mobileservices.adapter.rdb.LookupFiltering.genUnionPhrase(LookupFiltering.java:1534)".
Prawdopodobieństwo wystąpienia tego błędu jest na ogół małe, lecz zwiększa się
w wypadku wysokiej współbieżności.
- (APAR IC36411) Tworzenie subskrypcji JDBC, które uzyskują dostęp do źródła
danych SQL Microsoft, kończy się niepowodzeniem z następującym błędem w
protokole administrowania urządzeniami mobilnymi: DSYJ001E Wystąpił błąd
bazy danych. '[Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Incorrect syntax near the keyword 'TABLE'.
SQL state=HY000 Error code=156'.
- (APAR IC36407) Jeśli subskrypcja JDBC zawiera tabelę z kolumną o typie
danych CHAR i używany jest sterownik AS/400 Toolbox JDBC, serwer
synchronizacji odrzuca każdy wiersz wysłany od użytkownika z następującym
komunikatem o błędzie: CLI0143E Niepoprawna wartość dokładności.
SQLSTATE=HY104f
- (APAR IC36330) Ten błąd jest zgłaszany, jeśli filtr poziomy zawiera
parametr, po którym bezpośrednio nie występuje jeden z następujących
znaków:
- spacja
- znak pojedynczego cudzysłowu
- znak nowego wiersza
- przecinek
- kreska pionowa
- znak mniejszości
- znak większości
- znak równości
Serwer synchronizacji nie zastępował parametru odpowiednią wartością,
jeśli po nazwie parametru nie występował jeden z wyżej wymienionych
znaków.
Na początku poniższej sekcji zamieszczono listę funkcji, a następnie
wymieniono najnowsze poprawki do Klienta synchronizacji DB2 Everyplace.
Nowe funkcje Klienta synchronizacji DB2 Everyplace
- Nowy, bardziej przyjazny dla użytkownika interfejs GUI aplikacji IBM Sync,
w którym wprowadzono następujące nowe funkcje:
- możliwość konfigurowania katalogu docelowego na kliencie dla każdej
subskrypcji
- możliwość konfigurowania wielkości komunikatów klienta synchronizacji na
podstawie szybkości sieci
- obsługa serwera proxy
- możliwość konfigurowania ścieżki serwletu
- Synchronizowanie danych przy użyciu nowego klienta synchronizacji DB2
Everyplace Cloudscape
- Obsługa synchronizacji dla systemu .NET z zastosowaniem dostawcy
DB2 Everyplace ISync.NET
- Możliwość konfigurowania limitu czasu na wszystkich platformach klienckich
- Obsługa SSL:
- Tylko w przypadku środowiska WebSphere Everyplace Access w wersji
4.3: obsługa SSL w systemach Palm OS, Win32 i WinCE (tylko Pocket
PC 2002) i Linux.
Aby w aplikacji IBM Sync używana była warstwa SSL: W panelu
Ustawienia serwera w interfejsie graficznym IBM Sync, w adresie URL serwera,
należy określić protokół HTTPS. Jeśli skonfigurowany port SSL nie jest
portem domyślnym (443), należy także określić port SSL. Aby
skonfigurować serwer synchronizacji dla warstwy SSL, należy się zapoznać z
odpowiednią dokumentacją programu WebSphere Everyplace Access.
Opracowywanie aplikacji korzystających z warstwy SSL: Utworzono nowy
interfejs C-API serwera synchronizacji (iscServiceOpenEx) do opracowywania
aplikacji z obsługą SSL.
- Nowe obsługiwane urządzenia klienckie:
- Symbian 7 (Sony Ericsson P800)
- Linux (Sharp Zaurus SL 5500 i SL 5600)
- Palm OS wersja 5.0
- Katalog docelowy (dodatkowa pamięć masowa) jest dostępny na ogół z
aplikacji IBM Sync i można go określić z poziomu panelu Ustawienia
klienta.
- Interfejs API klienta synchronizacji dla języka Java
Twórcy aplikacji w języku Java mogą obecnie do synchronizowania danych
wykorzystywać interfejs API klienta synchronizacji dla języka Java (pakiet
isync4j). Dostępne są dwa rodzime programy zapewniające
synchronizację. W celu przeprowadzenia synchronizacji w jednym z tych
programów wywoływane są rodzime biblioteki klienta synchronizacji z
zastosowaniem interfejsu JNI. Drugi z tych programów stosowany jest
tylko w przypadku wirtualnej maszyny J9 dla systemu PalmOS. Dodatkowe
informacje można znaleźć w podręczniku DB2 Everyplace Application
Development Guide i w dokumentacji Javadoc pakietu isync4j.
- Interfejs API klienta synchronizacji dla języka C
Interfejs API klienta synchronizacji IBM został zmieniony, dzięki czemu
stał się bardziej przejrzysty, elastyczny i zyskał nową funkcjonalność.
Interfejs IBM Sync Client API v.7.2.1 jest nadal
obsługiwany z zastosowaniem opakowania API, lecz nowe opcje są dostępne
wyłącznie za pośrednictwem nowego interfejsu API.
- Synchronizacja urządzeń MIDP
Ta opcja jest obecnie dostępna wyłącznie w pakiecie DB2 Everyplace SDK
Edition. Tworzony jest nowy klient synchronizacji J2ME MIDP do obsługi
budowania aplikacji dla protokołu J2ME MIDP, który umożliwia synchronizowanie
subskrypcji kierowanych do systemu plików MIDP przeznaczonego dla
aplikacji. Zamiast programu DB2 Everyplace (który nie działa z
protokołem J2ME MIDP) wykorzystywany jest system zarządzania rekordami J2ME
MIDP.
Poprawki do Klienta synchronizacji DB2 Everyplace
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 IC35552) W systemie Palm OS, w którym używane jest szyfrowanie
lokalne z zastosowaniem interfejsu API synchronizacji w języku Java, zachodzi
następująca sytuacja:
- Wywołanie synchronizacji.
- Wprowadzenie identyfikatora użytkownika i hasła. Synchronizacja
przebiega pomyślnie.
- Próba zastosowania zapytania do tabeli skutkuje zgłoszeniem komunikatu o
błędzie SQLSTATE42501 "ID uprawionego użytkownika nie ma prawa do
przeprowadzenia określonej operacji na podanym obiekcie".
- (APAR IC35910) Interfejsu API synchronizacji w języku Java
(isync4j.jar) oraz plików agenta proxy
(dsyagent.dll) nie ma wśród plików instalacyjnych CAB
systemu WinCE.
- (APAR IC35980) Nieprawidłowe działanie klienta synchronizacji polegające
na braku faktycznej synchronizacji subskrypcji użytkownika mimo komunikatu
sygnalizującego pomyślne zakończenie synchronizacji.
- (APAR IC36166) Podczas próby synchronizacji z urządzeniem Pocket PC i
kartą Sprint Wireless PCMCIA zgłaszany jest następujący błąd klienta
synchronizacji: "dsyc699e Nieznany błąd sieciowy". Problem ten
nie występuje w przypadku kart Verizon Wireless.
- (APAR IC36206) Podczas uwierzytelniania na urządzeniach Palm występuje
pewien problem. Aplikacja IBM Sync przestaje poprawnie funkcjonować,
jeśli trzykrotnie zostanie wprowadzone niewłaściwe hasło użytkownika lub jeśli
w oknie "Uwierzytelnianie DB2e" zostanie naciśnięty przycisk
anulowania. Następujące po tym próby synchronizacji kończą się
niepowodzeniem z błędem "DSYC698I: Błąd wewnętrznego stanu SQL".
- (APAR IC36408) W przypadku użycia aplikacji IBM Sync w wersji w języku
chińskim tradycyjnym na urządzeniach z systemem WinCE w panelu szczegółowych
informacji o subskrypcji oraz w panelu do wprowadzania identyfikatora
użytkownika i hasła do tabel szyfrowanych pojawiają się nieprawidłowe
znaki. Problem ten występuje tylko w interfejsie użytkownika i nie
wpływa na synchronizację.
- (APAR IC36410) Na urządzeniach Palm, w niemieckojęzycznej wersji programu
IBM Sync, podczas synchronizacji występuje błąd krytyczny i wyświetlane jest
okno alertu z komunikatem "Fatal exception" (Wyjątek krytyczny) oraz
zaleceniem zresetowania systemu. Problem ten występuje tylko w
niemieckiej wersji językowej.
- (APAR IC36413) Po synchronizacji, jeśli subskrypcje zostają usunięte z
Centrum administrowania urządzeniami mobilnymi, klient ma problemy ze
zaktualizowaniem konfiguracji w następujących później synchronizacjach.
Ze strony klienta wciąż będą podejmowane próby zsynchronizowania tych
subskrypcji przeznaczonych do usunięcia.
- (APAR IC36412) Podczas korzystania z przykładowego programu w języku Java
(ISyncSample) na urządzeniach Palm synchronizacja tabel spowoduje wadliwe
działanie urządzenia. W emulatorze urządzenia Palm zgłoszony zostanie
wyjątek polegający na przepełnieniu stosu.
- (APAR IC36574) Jeśli podczas synchronizowania tabeli, której klucz
podstawowy składa się ze wszystkich kolumn, synchronizacja zostanie anulowana,
a następnie znów wywołana, klient synchronizacji może zgłosić kod SQLstate
23505.
- (APAR IC36685) Jeśli synchronizowanie subskrypcji plików przez klienta
synchronizacji nie powiedzie się, próba synchronizacji tej subskrypcji plików
nie zostanie na nowo podjęta podczas późniejszych synchronizacji, dopóki dana
subskrypcja plików (lub użytkownika) nie zostanie zresetowana w Centrum
administrowania urządzeniami mobilnymi.
-
- (APAR IC26366) Według bieżącej specyfikacji interfejsu API, hasło bazy
danych w programie DB2 Everyplace ma długość ograniczoną do 18 znaków.
Również klient synchronizacji przydziela aplikacji miejsce na 18 znaków w celu
przekazania tego hasła. Dlatego przepełnienie przez aplikację wstępnie
przydzielonego miejsca na skutek wprowadzenia hasła dłuższego niż 18 znaków
spowoduje wadliwe działanie klienta synchronizacji. To ograniczenie
dotyczy wszystkich platform.
- (APAR IC37573) Ten problem występuje wtedy, gdy użytkownik tworzy
aplikację klienta synchronizacji dla systemu Palm OS z zastosowaniem
interfejsu API klienta synchronizacji. Przy każdym wywołaniu funkcji
iscEngineSync albo iscEngineSyncConfig, należącej API Klienta synchronizacji
DB2 Everyplace, klient nawiązuje (lub wybiera telefonicznie) połączenie zdalne
na początku synchronizacji, a następnie zamyka połączenie, gdy synchronizacja
zostaje zakończona. Dlatego w przypadku następujących po sobie wywołań
tych dwóch funkcji API użytkownik widzi, że klient synchronizacji kilkakrotnie
nawiązuje połączenie przez serwer dostępu zdalnego.
- (APAR IC37580) Podczas synchronizacji przeprowadzanej z urządzenia
Handspring Treo za pośrednictwem telefonu bezprzewodowego klient
synchronizacji zgłasza niepowodzenie połączenia.
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.