You are on page 1of 752

DB2 wersja 9.

5
dla systemów Linux, UNIX i Windows 򔻐򗗠򙳰
Wersja 9 Wydanie 5

Komunikaty, tom 2

GI11-8369-00
DB2 wersja 9.5
dla systemów Linux, UNIX i Windows 򔻐򗗠򙳰
Wersja 9 Wydanie 5

Komunikaty, tom 2

GI11-8369-00
Uwaga
Przed skorzystaniem z tych informacji i opisywanych przez nie produktów należy przeczytać informacje ogólne, które zawiera rozdział
Dodatek B, “Uwagi”, na stronie 739.

Uwaga
Niniejszy dokument zawiera informacje dotyczące produktów firmy IBM. Są one prezentowane zgodnie z warunkami umowy
licencyjnej i są chronione prawem. Informacje zawarte w tej publikacji nie zawierają żadnych gwarancji dotyczących opisywanych
produktów i żadnych zapisanych w niej stwierdzeń nie należy interpretować jako takich gwarancji.
Publikacje firmy IBM można zamówić poprzez stronę WWW lub u lokalnego przedstawiciela firmy IBM.
v Aby zamówić książki poprzez stronę WWW, należy skorzystać ze strony IBM Publications Center pod adresem
www.ibm.com/shop/publications/order
v Aby znaleźć najbliższego lokalnego przedstawiciela firmy IBM, należy skorzystać z informacji umieszczonych na stronie IBM
Directory of Worldwide Contacts pod adresem www.ibm.com/planetwide
Aby zamówić książki DB2 w firmie IBM w Stanach Zjednoczonych lub Kanadzie, należy zadzwonić do działu DB2 Marketing
and Sales pod numer 1-800-IBM-4YOU (426-4968).
Wysłanie informacji do firmy IBM daje jej prawo do ich używania i dystrybucji w dowolny sposób, jaki uzna za właściwy, bez
żadnych zobowiązań wobec ich nadawcy.
© Copyright International Business Machines Corporation 1993, 2007. Wszelkie prawa zastrzeżone.
Spis treści
Rozdział 1. Wprowadzenie do Wyświetlanie pomocy dotyczącej stanu SQL przy użyciu
komunikatów . . . . . . . . . . . . 1 procesora wiersza komend . . . . . . . . . . 733
Uzyskiwanie dostępu do różnych wersji Centrum
informacyjnego DB2 . . . . . . . . . . . 733
Rozdział 2. Komunikaty SQL . . . . . . 5 Wyświetlanie tematów w Centrum informacyjnym DB2
w preferowanym języku użytkownika . . . . . . 733
Rozdział 3. Komunikaty SQLSTATE 679 Aktualizowanie Centrum informacyjnego DB2
zainstalowanego na komputerze lokalnym lub serwerze
Rozdział 4. Błędy komunikacji intranetowym . . . . . . . . . . . . . . 734
(komunikat SQL30081N) . . . . . . . 719 Kursy DB2 . . . . . . . . . . . . . . 736
Informacje dotyczące rozwiązywania problemów z
programem DB2 . . . . . . . . . . . . . 736
Dodatek A. Przegląd informacji Warunki . . . . . . . . . . . . . . . 736
technicznych o programie DB2 . . . . 729
Biblioteka techniczna produktu DB2 w formacie PDF lub Dodatek B. Uwagi . . . . . . . . . 739
w postaci drukowanej . . . . . . . . . . . 730
Zamawianie drukowanych podręczników z biblioteki
DB2 . . . . . . . . . . . . . . . . 732 Indeks . . . . . . . . . . . . . . 743

© Copyright IBM Corp. 1993, 2007 iii


iv Komunikaty, tom 2
Rozdział 1. Wprowadzenie do komunikatów
Zakłada się, że użytkownik zna funkcje systemu operacyjnego, w którym zainstalowany jest
program DB2. Informacje zawarte w kolejnych rozdziałach pozwolą zidentyfikować błędy
lub problemy oraz wyeliminować je przez podjęcie odpowiednich działań z zakresu
odtwarzania. Informacje te pomogą także zlokalizować komponent, w którym komunikat
został wygenerowany i zaprotokołowany.

Struktura komunikatu

Pomoc dotycząca komunikatów opisuje przyczyny występowania komunikatów i działania,


które trzeba podjąć w odpowiedzi na te komunikaty.

Identyfikatory komunikatów składają się z trzyznakowego przedrostka komunikatu, cztero-


lub pięciocyfrowego numeru komunikatu oraz jednoliterowego przyrostka. Na przykład:
SQL1042C. Listę przedrostków komunikatów zawierają sekcje “Wywoływanie pomocy
dotyczącej komunikatów” na stronie 2 i “Inne komunikaty programu DB2” na stronie 3.
Jednoliterowy przyrostek określa poziom istotności komunikatu o błędzie.

Ogólnie, identyfikator komunikatu zakończony literą C oznacza ważny komunikat;


zakończony literą E oznacza pilny komunikat; zakończony literą N oznacza komunikat o
błędzie; zakończony literą W oznacza ostrzeżenie; a zakończony literą I oznacza komunikat
informacyjny.

Dla komunikatów ADM, identyfikator komunikatu zakończony literą C oznacza ważny


komunikat; zakończony literą E oznacza pilny komunikat; zakończony literą W oznacza
ważne ostrzeżenie; a zakończony literą I oznacza komunikat informacyjny.

Dla komunikatów SQL, identyfikator komunikatu zakończony literą C oznacza krytyczny


błąd systemowy; zakończony literą N oznacza komunikat o błędzie; a zakończony literą W
oznacza ostrzeżenie lub komunikat informacyjny.

Niektóre komunikaty zawierają tokeny, czasami nazywane również zmiennymi komunikatu.


Gdy program DB2 generuje komunikat zawierający token, każdy token zamieniany jest na
wartość właściwą dla napotkanego błędu, aby pomóc użytkownikowi w zdiagnozowaniu
przyczyny wystąpienia komunikatu o błędzie. Na przykład, komunikat DB2 SQL0107N
wygląda następująco:
v wygenerowany przez procesor wiersza komend:
SQL0107N Nazwa ″<nazwa>″ jest za długa. Maksymalna długość wynosi ″<długość>″.
v wyświetlony w Centrum informacyjnym DB2:
SQL0107N Nazwa nazwa jest za długa. Maksymalna długość wynosi długość.

Ten komunikat zawiera dwa tokeny: ″<nazwa>″ i ″<długość>″. Podczas generowania tego
komunikatu w programie DB2, tokeny są zastępowane odpowiednio przez właściwą nazwę
obiektu, który spowodował wystąpienie błędu, oraz przez maksymalną dozwoloną długość
dla tego typu obiektów.

W niektórych przypadkach token nie ma zastosowania dla konkretnej instancji błędu, wtedy
zwracana jest wartość *N, na przykład:

© IBM Corporation 1993, 2007 1


SQL20416N Podanej wartości ("*N") nie można przekształcić w etykietę
bezpieczeństwa. Etykiety dla strategii bezpieczeństwa o identyfikatorze
strategii "1" powinny się składać z "8" znaków. Wartość ma długość "0"
znaków. SQLSTATE=23523

Wywoływanie pomocy dotyczącej komunikatów

Następujące komunikaty DB2 są dostępne w procesorze wiersza komend:


Przedrostek
Opis
ADM Komunikaty generowane przez wiele komponentów programu DB2. Komunikaty te
są zapisywane w pliku protokołu powiadomień administracyjnych i mają za zadanie
dostarczać dodatkowych informacji administratorom systemu.
AMI komunikaty generowane przez MQ Application Messaging Interface
ASN komunikaty generowane przez moduł replikacji DB2
CCA komunikaty generowane przez Asystę podczas konfigurowania
CLI komunikaty generowane przez interfejs poziomu wywołania (CLI)
DBA komunikaty generowane przez narzędzia do administrowania bazą danych
DBI komunikaty generowane podczas instalowania i konfigurowania
DBT komunikaty generowane przez narzędzia bazy danych
DB2 komunikaty generowane przez procesor wiersza komend
DQP komunikaty generowane przez Query Patroller
EAS komunikaty generowane przez Embedded Application Server
EXP komunikaty generowane przez narzędzie Explain
GSE komunikaty generowane przez program DB2 Spatial Extender
LIC komunikaty generowane przez menedżera licencji DB2
MQL komunikaty generowane przez MQ Listener
SAT komunikaty generowane w środowisku satelitarnym
SPM komunikaty generowane przez menedżera punktów synchronizacji
SQL komunikaty generowane przez menedżera bazy danych w razie wykrycia stanu
ostrzegawczego lub błędu
XMR komunikaty generowane przez XML Metadata Repository.

Aby wywołać pomoc dotyczącą komunikatów, otwórz procesor wiersza komend i wprowadź
następującą komendę:
? XXXnnnnn

gdzie XXX to poprawny przedrostek komunikatu, a nnnnn to poprawny numer komunikatu.

Tekst komunikatu skojarzony z daną wartością stanu SQLSTATE można pobrać za pomocą
następującej komendy:
? nnnnn

lub

? nn

2 Komunikaty, tom 2
gdzie nnnnn to pięcioznakowa wartość stanu SQLSTATE (alfanumeryczna), a nn to
dwuznakowy kod klasy SQLSTATE (dwie pierwsze cyfry wartości stanu SQLSTATE).

Uwaga: W identyfikatorze komunikatu przekazywanym jako parametr komendy db2 nie jest
rozróżniana wielkość liter. Również litera będąca przyrostkiem jest opcjonalna i jest
ignorowana.

Dlatego następujące komendy dadzą identyczne wyniki:


v ? SQL0000N
v ? sql0000
v ? SQL0000w

Aby wywołać pomoc dotyczącą komunikatów w wierszu komend w systemach UNIX,


wprowadź następującą komendę:
db2 “? XXXnnnnn”

gdzie XXX to poprawny przedrostek komunikatu,


a nnnnn to poprawny numer komunikatu.

Jeśli tekst komunikatu nie zmieści się w całości na ekranie, należy użyć następującej
komendy (w systemach z rodziny Unix i innych obsługujących program ’more’):
db2 “? XXXnnnnn” | more

Inne komunikaty programu DB2

Niektóre komponenty programu DB2 generują komunikaty, które nie są dostępne


bezpośrednio lub nie zostały opisane w niniejszym podręczniku. Niektóre z przedrostków
komunikatów to:
AUD Komunikaty generowane przez program DB2 Audit.
DIA Komunikaty diagnostyczne generowane przez wiele komponentów programu DB2.
Komunikaty te są zapisywane w pliku protokołu diagnostycznego db2diag.log i mają
za zadanie dostarczyć dodatkowych informacji użytkownikom programu DB2 oraz
pracownikom serwisu IBM podczas analizowania błędów.
GOV Komunikaty generowane przez program zarządzający DB2.

W większości przypadków komunikaty te zawierają informacje wystarczające do określenia


przyczyny ostrzeżenia lub błędu. Więcej informacji na temat komendy lub programu
narzędziowego, których działania spowodowały wygenerowanie komunikatu, można znaleźć
w odpowiedniej dokumentacji, w której opisano daną komendę lub program narzędziowy.

Ważne aktualizacje komunikatów

Może się zdarzyć, że ważne zmiany lub uzupełnienia komunikatów zostaną wprowadzone
zbyt późno, aby mogły znaleźć się w dokumentacji. W takim przypadku, aktualizacje zostaną
umieszczone w nocie technicznej wsparcia DB2 pod adresem: http://www-1.ibm.com/
support/docview.wss?rs=71&context=SSEPGG&dc=D600&uid=swg21238566&loc=en_US
&cs=UTF-8&lang=enclass=

Inne źródła komunikatów

Podczas korzystania z innych programów w systemie mogą być generowane komunikaty z


innymi przedrostkami niż wymienione wcześniej w tym wykazie.

Rozdział 1. Wprowadzenie do komunikatów 3


Informacji dotyczących tych komunikatów należy szukać w publikacjach dostępnych dla tych
programów.

4 Komunikaty, tom 2
Rozdział 2. Komunikaty SQL
Nie utworzono pakietu.
SQL0000W Przetwarzanie instrukcji zakończyło się
pomyślnie. Działanie użytkownika:
Zajrzyj do komunikatów w pliku komunikatów. Wprowadź
Objaśnienie:
ponownie komendę.
Instrukcja SQL została wykonana pomyślnie, jeśli nie
wystąpiła sytuacja ostrzeżenia.
SQL0004N Hasło jest nieprawidłowe.
Działanie użytkownika:
Sprawdź SQLWARN0, aby upewnić się, że jest pusta. Jeśli jest Objaśnienie:
pusta, instrukcja została wykonana pomyślnie. Jeśli nie, Hasło zawiera nieprawidłowe znaki lub jest zbyt długie.
zaistniałą sytuacja ostrzeżenia. Sprawdź inne wskaźniki
ostrzeżenia, aby określić konkretną sytuację ostrzeżenia. Na Nie utworzono pakietu.
przykład jeśli SQLWARN1 nie jest pusta, łańcuch został
obcięty. Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawne hasło.
kod_sql: -20304
SQL0005N Nazwa pliku komunikatów jest
stan_sql: 00000, 01003, 01004, 01503, 01504, 01506, 01509, nieprawidłowa.
01517
Objaśnienie:
Z przyczyn podanych w poprzednich komunikatach nie można
SQL0001N Wiązanie lub prekompilacja zakończyła się użyć podanej nazwy pliku komunikatów.
niepomyślnie.
Objaśnienie: Nie utworzono pakietu.
Z przyczyn podanych w poprzednich komunikatach żądanie Działanie użytkownika:
wiązania lub prekompilacji nie powiodło się. Zajrzyj do komunikatów w pliku komunikatów. Sprawdź
nazwę pliku komunikatów. Sprawdź atrybuty pliku
Nie utworzono pakietu. komunikatów, jeśli ten plik istnieje. Wprowadź ponownie
komendę.
Działanie użytkownika:
Zajrzyj do komunikatów w pliku komunikatów. Wprowadź
ponownie komendę. SQL0006N Parametr formatu data-godzina jest
nieprawidłowy.
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
Objaśnienie:
powtórnie zainstaluj przykładową bazę danych.
Wartość parametru formatu data-godzina jest spoza
poprawnego zakresu od 0 do 3.
SQL0002N Nazwa pliku wiązania jest nieprawidłowa.
Nie utworzono pakietu.
Objaśnienie:
Z przyczyn podanych w poprzednich komunikatach nie można Działanie użytkownika:
użyć podanej nazwy pliku wiązania. Wprowadź ponownie komendę z prawidłowym parametrem
formatu.
Nie utworzono pakietu.
Działanie użytkownika: SQL0007N Znak znak po tekście tekst nie jest poprawny.
Zajrzyj do komunikatów w pliku komunikatów. Wprowadź
Objaśnienie:
ponownie komendę.
Podany znak nie jest prawidłowym znakiem w instrukcjach
SQL. Pole tekst zawiera 20 znaków instrukcji SQL
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
poprzedzających niepoprawny znak.
powtórnie zainstaluj przykładową bazę danych.
Użytkownicy systemów stowarzyszonych: Niektóre źródła
SQL0003N Nazwa bazy danych jest nieprawidłowa. danych nie dostarczają poprawnych wartości elementów
komunikatu znak i tekst. W takiej sytuacji znak i tekst będą
Objaśnienie:
miały następujący format: “<źródło danych>:UNKNOWN”,
Z przyczyn podanych w poprzednich komunikatach nie można
co oznacza, że nie są znane rzeczywiste wartości dla podanego
użyć podanej nazwy bazy danych.
źródła danych.

© Copyright IBM Corp. 1993, 2007 5


SQL0008N • SQL0015N

Nie można wykonać instrukcji. Przejrzyj instrukcję i znajdź we wskazanym komentarzu


brakujący lub nadmiarowy ogranicznik.
Działanie użytkownika:
Usuń nieprawidłowy znak lub zastąp go innym.
SQL0012W W kolumnie kolumna wystąpiła korelacja
kod_sql: -7 bez kwalifikacji.
Objaśnienie:
stan_sql: 42601 Wymieniona kolumna występuje w instrukcji SELECT, nie
jest jawnie zakwalifikowana i występuje w tabeli podanej w
SQL0008N Token token w deklaracji zmiennej języka klauzuli FROM zewnętrznego wyboru. W efekcie odwołanie
macierzystego jest niepoprawny. do tej kolumny w instrukcji SELECT zostało potraktowane
jako odwołanie zewnętrzne i wystąpi korelacja.
Objaśnienie:
Deklaracja zmiennej języka macierzystego ma nieprawidłową Instrukcja została przetworzona przy założeniu, że korelacja
składnię. Prekompilator nie może zidentyfikować zmiennej była zamierzona.
języka macierzystego.
Działanie użytkownika:
Nie można wykonać instrukcji. Żadna ze zmiennych języka Sprawdź, czy korelacja była zamierzona. Dobrą praktyką jest
macierzystego występujących w instrukcji (do znaku jawne kwalifikowanie zamierzonych odwołań zewnętrznych.
dwukropka) nie została zaakceptowana.
kod_sql: +12
Działanie użytkownika:
Sprawdź składnię deklaracji zmiennej języka macierzystego.
stan_sql: 01545

SQL0009W Próba przesłonięcia opcji prekompilatora


SQL0013N Nieprawidłowy pusty identyfikator
została zignorowana.
zakończony ogranicznikiem.
Objaśnienie:
Objaśnienie:
Próbowano przesłonić opcję prekompilatora.
Podczas prekompilacji znaleziono nazwę kursora, nazwę
instrukcji, nazwę bazy danych lub ID autoryzowanego
Opcja została zignorowana. użytkownika podany jako pusty łańcuch. Jest to
Działanie użytkownika: nieprawidłowe. Nie można wykonać instrukcji.
Sprawdź, czy opcje prekompilatora podane są prawidłowo. Działanie użytkownika:
Podaj prawidłową nazwę kursora, nazwę instrukcji, nazwę
SQL0010N Stała łańcuchowa rozpoczynająca się od bazy danych lub ID autoryzowanego użytkownika.
łańcuch nie ma ogranicznika końca
łańcucha. SQL0014N Nazwa pliku źródłowego jest
Objaśnienie: nieprawidłowa.
Instrukcja zawiera stałą łańcuchową, rozpoczynającą się od Objaśnienie:
łańcuch, która nie jest poprawnie zakończona. Nazwa pliku źródłowego podana w wywołaniu prekompilatora
zawiera niepoprawne znaki lub wskaźnik na nazwę pliku
Nie można wykonać instrukcji. źródłowego jest niepoprawny.
Działanie użytkownika:
Sprawdź, czy w instrukcji, we wskazanej stałej łańcuchowej, Nie utworzono pakietu.
nie brakuje apostrofów. Działanie użytkownika:
Sprawdź, czy nazwa pliku źródłowego jest poprawna.
kod_sql: -10

stan_sql: 42603 SQL0015N Typ danych zmiennej języka macierzystego


token-1 nie jest poprawny. Zamiast tego użyj
token-2.
SQL0011N Brak zakończenia komentarza.
Objaśnienie:
Objaśnienie: Jeśli obowiązuje opcja prekompilacji WCHARTYPE
Komentarz nie został poprawnie zakończony. CONVERT, wówczas graficzna zmienna języka macierzystego
musi być zadeklarowana z typem danych ’wchar_t’, a nie
Nie można wykonać instrukcji. ’sqldbchar’.
Działanie użytkownika:
Jeśli obowiązuje opcja prekompilacji WCHARTYPE
NOCONVERT (wartość domyślna) oraz ’wchar_t’ jest

6 Komunikaty, tom 2
SQL0017N • SQL0026N

zdefiniowany na tej platformie jako 4-bajtowa liczba


SQL0022W Powtórzona opcja prekompilatora opcja
całkowita, wówczas graficzna zmienna języka macierzystego
została zignorowana.
musi być zadeklarowana z typem danych ’sqldbchar’, a nie
’wchar_t’. Objaśnienie:
Opcja prekompilatora opcja powtórzyła się.
Działanie użytkownika:
Zastąp bieżący typ danych zmiennej języka macierzystego
Opcja została zignorowana.
typem danych podanym w komunikacie.
Działanie użytkownika:
Sprawdź, czy wszystkie opcje prekompilatora podane są tylko
SQL0017N W funkcji lub metodzie SQL należy
raz.
umieścić i wykonać instrukcję RETURN.
Objaśnienie:
SQL0023N Nazwa bazy danych jest nieprawidłowa.
Metoda lub funkcja SQL nie zawiera instrukcji RETURN albo
nie kończy się wykonaniem instrukcji RETURN. Objaśnienie:
Podana nazwa bazy danych nie jest poprawną nazwą.
Działanie użytkownika:
Zakończ funkcję lub metodę instrukcją RETURN.
Prekompilacja została przerwana.
kod_sql: -17 Działanie użytkownika:
Upewnij się, że nazwa bazy danych była podana bez błędu i
stan_sql: 42632 spełniała reguły obowiązujące dla krótkich identyfikatorów.

SQL0020W Opcje wiązania lub prekompilacji SQL0024N Nie podano nazwy bazy danych.
nazwy-opcji (nazwa lub wartość) nie są
Objaśnienie:
obsługiwane przez docelową bazę danych i
Nie podano nazwy bazy danych niezbędnej do kontynuowania
zostaną zignorowane.
prekompilacji.
Objaśnienie:
To ostrzeżenie pojawia się w następujących sytuacjach: Prekompilacja została przerwana.
v Opcja (opcje) podana podczas prekompilacji/wiązania nie Działanie użytkownika:
jest obsługiwana przez docelowy system zarządzania bazą Podaj nazwę bazy danych.
danych (DBMS).
v Wartość (wartości) opcji podana podczas
prekompilacji/wiązania nie jest obsługiwana przez SQL0025W Wiązanie lub prekompilacja zakończona z
docelowy system zarządzania bazą danych (DBMS). ostrzeżeniami.
Objaśnienie:
Nieobsługiwane opcje/wartości zostaną zignorowane. Wiązanie lub prekompilacja udała się, ale wystąpiły
ostrzeżenia. Pakiet oraz/lub plik powiązań został utworzony
Uwaga: nazwy opcji w komunikacie odpowiadają terminom tak, jak żądano w komendzie.
używanym w DB2 UWO.
Działanie użytkownika:
Zajrzyj do komunikatów w pliku komunikatów. Jeśli to
Wprowadź ″db2 ? bind″ lub ″db2 ? prep″, aby uzyskać listę
konieczne, rozwiąż występujące problemy i wprowadź
opcji obsługiwanych przez DB2 UWO.
ponownie komendę.
Działanie użytkownika:
Sprawdź, czy użycie danych opcji wiązania lub prekompilacji
SQL0026N Hasło jest nieprawidłowe.
nazwy-opcji lub skojarzonych z nimi wartości podczas
połączenia z danym systemem DBMS było zamierzone. Objaśnienie:
Podane hasło nie jest prawidłowym hasłem.
SQL0021W Niepoprawna opcja prekompilatora opcja
Prekompilacja została przerwana.
została zignorowana.
Działanie użytkownika:
Objaśnienie:
Podaj hasło zgodne z regułami określającymi prawidłowe
Opcja podana w komunikacie nie jest prawidłową opcją
hasła.
prekompilatora.

Opcja została zignorowana.


Działanie użytkownika:
Sprawdź, czy opcje prekompilatora podane są prawidłowo.

Rozdział 2. Komunikaty SQL 7


SQL0028C • SQL0036N

SQL0028C Numer wersji pliku wiązania jest SQL0032C Nie można użyć pliku nazwa.
niepoprawny.
Objaśnienie:
Objaśnienie: Podczas odczytu lub zapisu pliku nazwa wystąpił błąd.
Numer wersji pliku powiązań jest niezgodny z numerem wersji
zainstalowanego menedżera baz danych. Prekompilacja została przerwana.
Działanie użytkownika:
Plik powiązań nie może zostać użyty przez bieżącą wersję
Powtórz prekompilację.
menedżera baz danych. Nie można wykonać komendy.
Działanie użytkownika:
SQL0033N Plik nazwa jest niepoprawnym plikiem
Jeśli to możliwe, powtórz proces prekompilacji z bieżącym
wiązania.
menedżerem baz danych. Jeśli nie, używaj tylko plików
powiązań utworzonych ze zgodnym poziomem wydania Objaśnienie:
menedżera baz danych. Podany plik nazwa nie jest plikiem wiązania.

SQL0029N Wymagana jest klauzula INTO. Wiązanie zostaje przerwane.

Objaśnienie: Działanie użytkownika:


Instrukcje SELECT lub VALUES niedotyczące kursora, Sprawdź, czy podano poprawną nazwę pliku.
wbudowane w aplikację muszą posiadać klauzulę INTO, która
określi, gdzie mają zostać umieszczone wyniki instrukcji. SQL0034N Nie podano nazwy pliku powiązań.
Dynamiczne instrukcje SELECT nie zezwalają na klauzulę
INTO. Objaśnienie:
Nie podano nazwy pliku powiązań niezbędnej do
Działanie użytkownika: kontynuowania wiązania.
Dodaj klauzulę INTO do instrukcji SELECT lub VALUES i
powtórz prekompilację aplikacji. Wiązanie zostaje przerwane.

kod_sql: -29 Działanie użytkownika:


Podaj nazwę pliku powiązań.
stan_sql: 42601
SQL0035N Plik nazwa nie może zostać otwarty.
SQL0030N Nie podano nazwy pliku źródłowego. Objaśnienie:
Objaśnienie: Plik komunikatów nazwa nie może zostać otwarty.
Nie podano nazwy pliku źródłowego niezbędnego do
kontynuowania prekompilacji. Wiązanie lub prekompilacja została przerwana.
Działanie użytkownika:
Prekompilacja została przerwana. Sprawdź, czy system ma dostęp do pliku.
Działanie użytkownika:
Podaj nazwę pliku źródłowego. SQL0036N Składnia nazwy pliku nazwa jest
niepoprawna.
SQL0031C Nie można otworzyć pliku nazwa. Objaśnienie:
Objaśnienie: Jeśli plik jest plikiem wejściowym prekompilatora, musi mieć
Plik nazwa jest konieczny, ale nie można go otworzyć. rozszerzenie odpowiednie dla używanego języka. Jeśli plik jest
plikiem wejściowym dla programu wiążącego, musi mieć
rozszerzenie .bnd. Błąd ten może wystąpić również w
Prekompilacja została przerwana.
przypadku poprawnie zbudowanej nazwy pliku, której długość
Działanie użytkownika: przekracza długość maksymalną dla tej platformy.
Sprawdź, czy podana nazwa pliku jest poprawna i istnieje w
systemie plików, oraz że uprawnienia do pliku są poprawne. Prekompilacja lub wiązanie zostaje przerwane.
Działanie użytkownika:
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
Sprawdź, czy podana nazwa pliku jest poprawna.
powtórnie zainstaluj przykładową bazę danych. Jeśli błąd
powtórzy się, powtórnie zainstaluj menedżera baz danych, po
czym zainstaluj przykładową bazę danych.

8 Komunikaty, tom 2
SQL0037W • SQL0051N

SQL0037W Składnia nazwy pliku komunikatów nazwa SQL0040N Wystąpił błąd dla jednego lub większej
jest niepoprawna. liczby plików powiązań na liście nazwa. Nie
zostały powiązane następujące pliki: lista.
Objaśnienie:
Nazwa pliku komunikatów nazwa nie jest poprawna Objaśnienie:
składniowo w przypadku tej funkcji. Z przyczyn podanych w poprzednich komunikatach w pliku
komunikatów, jeden lub więcej plików wiązania nie zostało
System skieruje wyniki do standardowego urządzenia dowiązanych. Lista plików, które nie zostały dowiązane,
wyjściowego. składa się z cyfr, poczynając od 1, które wskazują względną
pozycję niepowiązanych plików w pliku listy. nazwa nie
Działanie użytkownika: zawiera specyfikacji ścieżki do pliku listy.
Sprawdź, czy podana nazwa pliku jest poprawna.
Tylko pierwsze 20 błędnych plików wiązania zostało
SQL0038W Opcja wiązania SQLERROR CONTINUE wymienionych w komunikacie. Jeśli było więcej niż 20
została aktywowana, ponieważ jest błędnych plików wiązania, po ostatniej nazwie pliku wiązania
wymagana podczas wiązania tego, na liście zostanie wstawiony wielokropek (...).
dostarczonego przez DB2, pliku listy do
DB2/MVS, SQL/DS lub OS/400. Nie utworzono jednego lub więcej pakietów.
Objaśnienie: Działanie użytkownika:
Opcja wiązania SQLERROR CONTINUE jest wymagana Zajrzyj do komunikatów w pliku komunikatów. Sprawdź plik
podczas wiązania następujących, dostarczonych przez DB2 listy, aby upewnić się, że zawiera prawidłowe nazwy.
plików list: Wprowadź ponownie komendę.
v ddcsmvs.lst
v ddcsvm.lst SQL0041N Nie podjęto próby powiązania plików
v ddcsvse.lst następujących po pliku o numerze numer na
liście nazwa, ponieważ wystąpił błąd
v ddcs400.lst
krytyczny, który zakończył przetwarzanie.
Ta opcja instruuje serwer DRDA, aby utworzył pakiet, nawet Objaśnienie:
jeśli w pliku wiązania znajdują się instrukcje, które serwer Niektóre błędy występujące w procesie wiązania uważane są
uznał za nieprawidłowe. Ponieważ nie wszystkie serwery za krytyczne (np. błędy systemowe, błędy pamięci). Jeśli jeden
DRDA obsługują wszystkie instrukcje SQL, zawarte w plikach z tych błędów wystąpi podczas przetwarzania pliku z pliku
powiązań dostarczonych przez DB2, musi zostać użyta opcja listy, przetwarzanie zostanie przerwane. Nie próbuje się
wiązania SQLERROR CONTINUE, aby zagwarantować, że wiązać pozostałych plików z pliku listy.
dla wszystkich plików wiązania z listy zostaną utworzone
pakiety. Taki właśnie błąd wystąpił podczas wiązania podanego pliku
wiązania z listy. Cyfra użyta w celu identyfikacji pliku
Działanie użytkownika:
wiązania oznacza względną pozycję pliku w pliku listy.
Nie jest wymagane żadne działanie. Wymagana opcja
wiązania SQLERROR CONTINUE, została podana za Działanie użytkownika:
użytkownika. Aby to ostrzeżenie nie pojawiało się w Zajrzyj do innych towarzyszących komunikatów, aby usunąć
przyszłości, w opcji wiązania podaj SQLERROR CONTINUE. występujące błędy. Wprowadź ponownie komendę.

SQL0039N Program wiążący nie zakończył SQL0051N Wielkość obszaru wymaganego do


przetwarzania, ponieważ plik powiązań jest przechowywania wszystkich instrukcji SQL
nieprawidłowy. dla jednego programu przekroczyła
dozwolone maksimum.
Objaśnienie:
Program wiążący nie mógł przetworzyć pliku wiązania. Plik Objaśnienie:
powiązań może być nieprawidłowy z powodu przypadkowej Obszar wymagany przez wszystkie instrukcje SQL w
zmiany zawartości. programie nie mieści się w kolumnie SECT_INFO tabeli
SYSIBM.SYSPLAN.
Plik powiązań nie zostaje przetworzony.
Prekompilacja została przerwana.
Działanie użytkownika:
Jeśli to możliwe, powtórz proces prekompilacji, aby utworzyć Działanie użytkownika:
nowy plik powiązań. Jeśli nie, zdobądź nową kopię pliku Uprość program albo podziel go na mniejsze, oddzielne
wiązania. program lub zrób jedno i drugie.

Rozdział 2. Komunikaty SQL 9


SQL0053W • SQL0063W

SQL0053W W programie nie znaleziono żadnych SQL0058N Typem danych wartości instrukcji
instrukcji SQL. RETURN w procedurze SQL musi być
INTEGER.
Objaśnienie:
Podany plik źródłowy nie zawiera instrukcji SQL. Objaśnienie:
Instrukcja RETURN jest określona w procedurze SQL przy
Podczas wiązania zostanie utworzony pusty pakiet. użyciu wartości lub wyrażenia, którego typem danych nie jest
INTEGER.
Działanie użytkownika:
Sprawdź, czy prekompilujesz lub dowiązujesz poprawny
Nie można wykonać instrukcji.
program.
Działanie użytkownika:
Określ w instrukcji RETURN wartość o typie danych
SQL0055N Źródłowy plik wejściowy jest pusty.
INTEGER.
Objaśnienie:
Plik wejściowy źródła programu nie zawierał żadnych danych. kod_sql: -58

Prekompilacja została przerwana. stan_sql: 428F2


Działanie użytkownika:
Sprawdź, czy podano poprawny plik wejściowy. SQL0060W Prekompilator nazwa działa.
Objaśnienie:
SQL0056N Deklaracja zmiennej SQLSTATE lub Ten komunikat jest wyświetlany na standardowym urządzeniu
SQLCODE występuje w zagnieżdżonej wyjściowym, gdy prekompilator rozpocznie przetwarzanie.
instrukcji złożonej. Element nazwa odwołuje się do prekompilatora języka, który
został wywołany.
Objaśnienie:
Deklaracja zmiennej SQLSTATE lub SQLCODE występuje w
Przetwarzanie będzie kontynuowane.
zagnieżdżonej instrukcji złożonej, zamiast w najbardziej
zewnętrznej instrukcji złożonej w procedurze SQL. Działanie użytkownika:
Nie jest wymagane żadne działanie.
Nie można wykonać instrukcji.
Działanie użytkownika: SQL0061W Program wiążący działa.
Zadeklaruj zmienne SQLSTATE lub SQLCODE tylko w
Objaśnienie:
najbardziej zewnętrznej instrukcji złożonej w procedurze SQL.
Ten komunikat wysyłany jest na standardowe urządzenie
wyjściowe, gdy program wiążący rozpocznie przetwarzanie.
kod_sql: -56
Przetwarzanie będzie kontynuowane.
stan_sql: 42630
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL0057N Instrukcja RETURN w funkcji lub metodzie
SQL musi zawierać wartość zwracaną.
SQL0062W Trwa uruchamianie instrukcji INCLUDE
Objaśnienie:
pliku nazwa.
Instrukcja RETURN jest określona w funkcji lub metodzie
SQL bez określenia wartości, która ma być zwracana. Objaśnienie:
Napotkano instrukcję INCLUDE. Prekompilator przetwarza
Nie można wykonać instrukcji. plik włączany instrukcją INCLUDE.
Działanie użytkownika: Działanie użytkownika:
Określ wartość w instrukcji RETURN. Nie jest wymagane żadne działanie.

kod_sql: -57 SQL0063W Zakończono instrukcję INCLUDE pliku


nazwa.
stan_sql: 42631
Objaśnienie:
Prekompilator zakończył przetwarzanie pliku włączanego
instrukcją INCLUDE. Podejmie przetwarzanie pliku
zawierającego instrukcję INCLUDE.
Działanie użytkownika:
Nie jest wymagane żadne działanie.

10 Komunikaty, tom 2
SQL0064N • SQL0084N

Działanie użytkownika:
SQL0064N Plik nazwa bezpośrednio lub pośrednio
Zmień instrukcję na jeden z następujących sposobów:
obejmuje instrukcją INCLUDE sam siebie.
v Zmień nazwę schematu na SESSION.
Objaśnienie:
v Usuń nazwę schematu i pozwól programowi DB2 użyć
Wykryto cykliczną instrukcję INCLUDE. Zbiór wejściowy
wartości domyślnej, SESSION.
prekompilatora nie może włączać sam siebie ani być
włączanym przez plik, który włącza instrukcją INCLUDE.
kod_sql: -79
Podany plik nie zostaje włączony (INCLUDE).
stan_sql: 428EK
Działanie użytkownika:
Sprawdź zagnieżdżenia plików włączalnych (INCLUDE) i
usuń wszelkie zapętlenia. SQL0081N Podczas prekompilacji/wiązania zwrócono
SQLCODE kod_sql.

SQL0065N W deklaracji zmiennej języka Objaśnienie:


macierzystego napotkano nieoczekiwany Podczas prekompilacji lub wiązania programu menedżer baz
znak końca wiersza. danych zwrócił nieoczekiwaną wartość SQLCODE kod_sql.

Objaśnienie: Nie można wykonać instrukcji.


Deklaracja zmiennej języka macierzystego ma nieprawidłową
składnię. Napotkano znak końca wiersza przed zakończeniem Działanie użytkownika:
deklaracji. Zbadaj kod SQLCODE, aby określić problem i podejmij
stosowne działania.
Nie można wykonać instrukcji.
Działanie użytkownika: SQL0082C Wystąpił błąd, który spowodował
Sprawdź składnię deklaracji zmiennej języka macierzystego. przerwanie przetwarzania.
Objaśnienie:
SQL0078N Dla procedury nazwa-procedury muszą być Poprzedni błąd (niebędący błędem SQL) spowodował
określone nazwy parametrów. przerwanie przetwarzania.

Objaśnienie: Prekompilacja/wiązanie/ponowne wiązanie zostaje przerwane.


W procedurze nazwa-procedury nie ma podanych nazw Nie utworzono pakietu.
parametrów dla wszystkich parametrów. Gdy procedura jest
definiowana przy użyciu opcji LANGUAGE SQL lub Działanie użytkownika:
SQLMACRO, nazwa parametru jest wymagana dla każdego Usuń przyczynę poprzedniego błędu i powtórz operację.
definiowanego parametru.
SQL0083C Wystąpił błąd przydziału pamięci.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika: Podczas przetwarzania zabrakło pamięci, aby kontynuować
Upewnij się, że dla każdego definiowanego parametru jest przetwarzanie.
określona nazwa parametru.
Działanie użytkownika:
kod_sql: -78 Możliwe są następujące rozwiązania:
v Sprawdź, czy w systemie jest dostatecznie dużo pamięci
stan_sql: 42629 rzeczywistej i wirtualnej.
v Usuń procesy uruchomione w tle.
SQL0079N Nazwą schematu zadeklarowanej globalnej
tabeli tymczasowej lub indeksu nazwa musi Jeśli mimo zastosowania zalecanych rozwiązań komunikat ten
być SESSION, a nie nazwa_schematu. będzie nadal zgłaszany, skontaktuj się z działem wsparcia
IBM.
Objaśnienie:
Nazwą schematu nazwa deklarowanej tabeli tymczasowej lub
indeksu dla deklarowanej globalnej tabeli tymczasowej musi SQL0084N Instrukcja EXECUTE IMMEDIATE
być SESSION. Instrukcja określa jawnie nazwę schematu zawiera instrukcję SELECT lub VALUES.
nazwa-schematu dla deklarowanej globalnej tabeli Objaśnienie:
tymczasowej lub indeksu dla deklarowanej globalnej tabeli Instrukcja SELECT lub VALUES została użyta w instrukcji
tymczasowej. Jest to niedozwolone. EXECUTE IMMEDIATE.

Nie można wykonać instrukcji. Nie można wykonać instrukcji.

Rozdział 2. Komunikaty SQL 11


SQL0085N • SQL0094N

Działanie użytkownika: Podaj bardziej szczegółową kwalifikację zmiennej języka


Niejawna funkcja nie jest obsługiwana. Przygotuj instrukcję macierzystego lub zmień jej nazwę, jeśli podano już pełną
SELECT lub VALUES. Następnie użyj OPEN, FETCH oraz kwalifikację.
CLOSE.
SQL0089N Przetwarzanie zostało zakończone po
kod_sql: -84
znalezieniu 100 błędów.
stan_sql: 42612 Objaśnienie:
Prekompilator lub program wiążący kończy przetwarzanie po
wykryciu 100 błędów.
SQL0085N Nazwa instrukcji nazwa została już
zdefiniowana. Działanie użytkownika:
Popraw błędy wskazane w dzienniku komunikatów i
Objaśnienie: wprowadź ponownie komendę.
Poprzednia instrukcja DECLARE już użyła nazwy instrukcji
podanej w bieżącej instrukcji DECLARE.
SQL0091W Prekompilacja lub wiązanie zakończyło się
Bieżąca instrukcja DECLARE nie zostaje przetworzona. błędami w liczbie liczba-1 i ostrzeżeniami w
Poprzednia instrukcja DECLARE w dalszym ciągu używa tej liczbie liczba-2.
nazwy instrukcji. Objaśnienie:
Działanie użytkownika: Prekompilacja lub wiązanie zakończyło się podaną liczbą
Użyj innej nazwy dla instrukcji. ostrzeżeń i błędów.

Prekompilacja lub wiązanie zostaje przerwane.


SQL0086C Wystąpił błąd przydziału pamięci.
Działanie użytkownika:
Objaśnienie: Jeśli wystąpiły ostrzeżenia lub błędy, popraw program, o ile
Podczas przetwarzania zabrakło pamięci, aby kontynuować jest to potrzebne i powtórz próbę prekompilacji lub wiązania.
przetwarzanie.
Działanie użytkownika: SQL0092N Nie utworzono pakietu z powodu
Możliwe są następujące rozwiązania: poprzednich błędów.
v Sprawdź, czy w systemie jest wystarczająca ilość pamięci.
Objaśnienie:
v Usuń procesy uruchomione w tle. Z powodu poprzednich błędów nie utworzono pakietu.
Działanie użytkownika:
SQL0087N Jako zmienna języka macierzystego nazwa Popraw błędy i powtórz próbę prekompilacji lub wiązania.
używana jest struktura, podczas gdy
odwołania do struktur nie są dozwolone.
SQL0093N Koniec danych wejściowych wystąpił przed
Objaśnienie: zakończeniem instrukcji SQL EXEC.
Gdy w instrukcji SQL zostanie użyte odwołanie do struktury,
jest ono traktowane tak, jakby zamiast niego wystąpiła lista pól Objaśnienie:
składowych struktury oddzielonych przecinkami. Ponieważ Podczas przetwarzania instrukcji SQL przed jej zakończeniem
lista zmiennych języka macierzystego nie jest dozwolona w napotkano na koniec źródła.
instrukcjach SQL, takich jak PREPARE, nie jest również
dozwolone odwołanie do struktury z wieloma polami. Prekompilacja została przerwana.
Działanie użytkownika: Działanie użytkownika:
Zastąp odwołanie do struktury atomową zmienną języka Sprawdź, czy instrukcja SQL jest poprawnie zakończona.
macierzystego lub kwalifikowaną nazwą pola struktury.
SQL0094N Wiązanie zostało wstrzymane z powodu
SQL0088N Zmienna języka macierzystego nazwa jest żądania przerwania przez użytkownika.
niejednoznacznie określona.
Objaśnienie:
Objaśnienie: Wiązanie zostało przerwane, być może dlatego, że użytkownik
Zmienna języka macierzystego nazwa nie może zostać nacisnął kombinację klawiszy przerwania.
jednoznacznie zidentyfikowana. Istnieje więcej niż jedna
zmienna języka macierzystego o tym samym kwalifikatorze. Przetwarzanie zostaje przerwane. Nie utworzono pakietu.
Działanie użytkownika:
Nie można wykonać instrukcji.
Powtórz wiązanie, jeśli jest to potrzebne.
Działanie użytkownika:

12 Komunikaty, tom 2
SQL0095N • SQL0102N

Jeśli instalujesz przykładową bazę danych, przerwij instalację i


SQL0101N Instrukcja jest zbyt długa lub zbyt złożona.
powtórnie zainstaluj przykładową bazę danych.
Objaśnienie:
Instrukcja nie mogła zostać przetworzona, ponieważ
SQL0095N Nie utworzono pliku wiązania z powodu
przekracza systemowy limit długości lub złożoności albo
poprzednich błędów.
zawiera zbyt wiele ograniczeń lub wyzwalaczy.
Objaśnienie:
Z powodu poprzednich błędów nie utworzono pliku wiązania. Jeśli jest to instrukcja tworząca lub modyfikująca spakowany
opis, nowy spakowany opis może być zbyt duży dla
Plik powiązań nie został utworzony. odpowiadającej mu kolumny w katalogach systemowych.
Działanie użytkownika:
Użytkownicy systemów stowarzyszonych powinni również
Popraw błędy i powtórz próbę prekompilacji.
sprawdzić, czy instrukcja:
v przekracza ograniczenie systemu serwera stowarzyszonego
SQL0097N Zmienne lub parametry typów danych lub systemu źródła danych odnoszące się do długości lub
LONG VARCHAR i LONG VARGRAPHIC złożoności,
nie są obsługiwane w procedurach SQL.
v narusza inne limity charakterystyczne dla źródła danych.
Objaśnienie:
Procedury SQL (procedury, funkcje i metody) nie obsługują Nie można wykonać instrukcji.
zmiennych ani parametrów o typach danych LONG
VARCHAR i LONG VARGRAPHIC. Uwaga: Tam, gdzie dla aplikacji i baz danych uruchamianych
z różnymi stronami kodowymi wykonywane są konwersje
Działanie użytkownika:
danych tekstowych, rezultat konwersji przekracza limit
Nie używaj zmiennych ani parametrów o typach danych
długości.
LONG VARCHAR i LONG VARGRAPHIC w procedurach
SQL. Dla typu danych LONG VARCHAR, użyj wartości Działanie użytkownika:
VARCHAR z jawną długością. Dla typu danych LONG Albo:
VARGRAPHIC użyj wartości VARGRAPHIC z jawną v Podziel instrukcję na krótsze lub mniej złożone instrukcje
długością. SQL.
v Zwiększ wielkość sterty instrukcji (stmtheap) w pliku
kod_sql: -97
konfiguracyjnym bazy danych.
stan_sql: 42601 v Zmniejsz liczbę ograniczeń sprawdzających lub
referencyjnych dotyczących instrukcji lub zmniejsz liczbę
indeksów na kluczach obcych.
SQL0100W Nie znaleziono wiersza dla FETCH,
v Zmniejsz podaną w instrukcji liczbę wyzwalaczy.
UPDATE lub DELETE albo rezultatem
zapytania jest pusta tabela. v Użytkownicy systemów stowarzyszonych: Określ źródło
danych, które nie może zrealizować instrukcji (procedury, z
Objaśnienie: których należy korzystać przy identyfikowaniu
Występuje jedna z podanych poniżej sytuacji: niesprawnego źródła danych, można znaleźć w podręczniku
v Nie znaleziono wiersza spełniającego warunki Troubleshooting Guide), i sprawdź przyczynę odrzucenia
wyszukiwania podane w instrukcji UPDATE lub DELETE. instrukcji. Jeśli instrukcja została odrzucona przez serwer
v Rezultatem instrukcji SELECT była pusta tabela. stowarzyszony, zwiększ wielkość sterty instrukcji
(stmtheap) w pliku konfiguracyjnym bazy danych.
v Instrukcja FETCH została wykonana, gdy kursor był
ustawiony za ostatnim wierszem tabeli wynikowej.
kod_sql: -101
v Rezultatem instrukcji SELECT użytej w instrukcji INSERT
jest zbiór pusty. stan_sql: 54001

Żadne dane nie zostały pobrane, zaktualizowane ani usunięte.


SQL0102N Stała łańcuchowa rozpoczynająca się od
Działanie użytkownika: łańcuch jest zbyt długa.
Nie jest wymagane żadne działanie. Przetwarzanie może być
kontynuowane. Objaśnienie:
Wystąpiła jedna z następujących sytuacji:
kod_sql: +100 v Komentarz w instrukcji COMMENT ON przekracza 254
bajty.
stan_sql: 02000 v Nazwa serwera aplikacji podana w instrukcji SQL
CONNECT jest dłuższa niż 18 bajtów.

Rozdział 2. Komunikaty SQL 13


SQL0103N • SQL0105N

v Długość stałej łańcuchowej rozpoczynającej się od łańcuch


SQL0103N Niepoprawny literał numeryczny literał.
przekracza 32672 bajty. Łańcuchy znakowe o długości
przekraczającej 32672 bajty i łańcuchy graficzne dłuższe Objaśnienie:
niż 16336 znaków można określać tylko przez przypisanie Dany literał rozpoczyna się od cyfry, ale jest niepoprawnym
ze zmiennej języka macierzystego. Zwróć uwagę, że inne literałem całkowitym, dziesiętnym ani zmiennopozycyjnym.
serwery z rodziny produktów DB2 mogą mieć inne
ograniczenia dla łańcuchów znakowych. Szczegółowe Użytkownicy systemów stowarzyszonych: W sesji tranzytowej
informacje na ten temat można znaleźć w dokumentacji wystąpił błąd w reprezentacji literału charakterystyczny dla
odpowiednich produktów DB2. źródła danych.
v W wyrażeniu XQuery długość stałej łańcuchowej
rozpoczynającej się od łańcuch przekracza 32 672 bajty. Nie można wykonać instrukcji.
Ograniczenie dotyczy długości literału łańcucha
Działanie użytkownika:
zakodowanego w kodzie UTF-8. Łańcuch o długości
Popraw nieprawidłowy literał numeryczny. Użytkownicy
większej niż 32 762 bajty można określić w wyrażeniu
systemów stowarzyszonych: Jeśli błąd wystąpił w sesji
XQuery tylko za pomocą wartości XML z bazy danych przy
tranzytowej, określ, które źródło danych spowodowało
użyciu funkcji XQuery zapewniających dostęp do danych
wystąpienie błędu (informacje na ten temat zawiera
lub zmiennej XQuery z wartością przypisaną za pomocą
podręcznik Troubleshooting Guide). Sprawdź, które reguły
funkcji SQL/XML, takich jak XMLQUERY, XMLEXISTS
reprezentacji literałów w dialekcie SQL właściwym dla źródła
lub XMLTABLE.
danych zostały naruszone i odpowiednio popraw instrukcję.
v Użytkownicy systemów stowarzyszonych: Ograniczenia
dotyczące źródła danych nie mogą zostać przekroczone w kod_sql: -103
sesji tranzytowej. Ten błąd może być na przykład wynikiem
umieszczenia literału znakowego dłuższego niż 254 bajty w stan_sql: 42604
instrukcji wysłanej w sesji tranzytowej do produktu DB2 for
OS/390.
SQL0104N Znaleziono nieoczekiwany element element
Być może występuje konwersja danych i łańcuch wynikowy po tekście tekst. Do oczekiwanych elementów
jest zbyt długi. Aby umożliwić połączenie między aplikacjami należą: lista-elementów.
i bazami danych używającymi różnych stron kodowych, stałe Objaśnienie:
znakowe są przekształcane ze strony kodowej aplikacji do Wykryto błąd składni w instrukcji SQL lub w wejściowym
strony kodowej bazy danych. W pewnych sytuacjach graficzne łańcuchu komendy dla procedury SYSPROC.ADMIN_CMD
stałe łańcuchowe mogą być dalej poddawane konwersji ze we wskazanym elemencie następującym po tekście tekst. Pole
strony kodowej bazy danych do strony kodowej UCS-2 tekst wskazuje 20 znaków instrukcji SQL lub wejściowego
(UNICODE), na przykład gdy baza danych została utworzona łańcucha komendy dla procedury SYSPROC.ADMIN_CMD,
za pomocą strony kodowej EUC. Oznacza to, że łańcuch poprzedzających niepoprawny element.
wynikowy może być dłuższy niż łańcuch wejściowy.
Dla ułatwienia w polu SQLERRM obszaru komunikacyjnego
Nie można wykonać instrukcji. SQL jako lista-elementów podano listę niektórych poprawnych
Działanie użytkownika: elementów. Założono, że do tego miejsca instrukcja jest
Zmniejsz wielkość komentarza dla tabeli lub dla kolumny. Dla poprawna.
instrukcji SQL CONNECT zmniejsz długość nazwy serwera
aplikacji. Dla innych stałych łańcuchowych żądana funkcja Nie można wykonać instrukcji.
jest nie dostępna w trybie interaktywnym. Jeśli błąd pojawi się
Działanie użytkownika:
w kontekście instrukcji SQL wbudowanej w aplikację, innej
Sprawdź i popraw instrukcję w obszarze podanego elementu.
niż CONNECT, przypisz długi łańcuch do zmiennej języka
macierzystego i zastąp tą zmienną literał znakowy w instrukcji
kod_sql: -104
SQL.
stan_sql: 42601
Użytkownicy systemów stowarzyszonych: Dla sesji
tranzytowej określ, które źródło danych powoduje wystąpienie
błędu (informacje na ten temat zawiera podręcznik SQL0105N Stała łańcuchowa rozpoczynająca się od
Troubleshooting Guide). Sprawdź dialekt SQL tego źródła łańcuch jest niepoprawna.
danych, aby ustalić, który limit został przekroczony, i
odpowiednio poprawić instrukcję kończącą się Objaśnienie:
niepowodzeniem. Instrukcja zawiera stałą łańcuchową rozpoczynającą się od
łańcucha łańcuch, który jest niepoprawny.
kod_sql: -102
Nie można wykonać instrukcji.
stan_sql: 54002 Działanie użytkownika:

14 Komunikaty, tom 2
SQL0106N • SQL0109N

Podaj poprawny format stałej łańcuchowej. Sprawdź, czy Więcej informacji na temat limitów długości zawiera temat
łańcuch graficzny jest poprawny, czy ograniczniki występują ″Limity instrukcji SQL i XQuery″ w Centrum informacyjnym
parami i czy łańcuch składa się z parzystej liczby bajtów. DB2.

Użytkownicy systemów stowarzyszonych: Informacje Nie można wykonać instrukcji.


pomocne przy określaniu, które źródło danych jest przyczyną
błędu, zawiera podręcznik Troubleshooting Guide. Uwaga: Ten błąd może być zwracany w sytuacji
wykonywania konwersji danych znakowych dla aplikacji i baz
kod_sql: -105 danych działających w innych stronach kodowych ze względu
na przekroczenie limitu długości w wyniku konwersji.
stan_sql: 42604
Działanie użytkownika:
Wybierz krótszą nazwę lub popraw pisownię nazwy obiektu.
SQL0106N Instrukcja SQL rozpoczęta poprawnie, lecz
niepełna. Użytkownicy systemów stowarzyszonych: Dla sesji
tranzytowej określ, które źródło danych powoduje wystąpienie
Objaśnienie:
błędu (informacje na ten temat zawiera podręcznik
Instrukcja SQL jest poprawna, ale nie została zakończona.
Troubleshooting Guide). Sprawdź dialekt SQL tego źródła
Może to wynikać z niewłaściwego zakończenia literału.
danych, aby ustalić, który limit został przekroczony, i
Literały łańcuchowe muszą kończyć się znakiem cudzysłowu.
odpowiednio poprawić instrukcję kończącą się
niepowodzeniem.
Przetwarzanie instrukcji SQL zostało zakończone.
Działanie użytkownika: kod_sql: -107
Sprawdź, czy instrukcja zawiera wszystkie części konieczne
do wykonania danej funkcji i czy wszystkie klauzule są stan_sql: 42622
kompletne.
SQL0108N Nazwa nazwa ma złą liczbę kwalifikatorów.
PL/I: Sprawdź, czy instrukcja SQL jest kompletna i kończy się
średnikiem. Asembler: Sprawdź, czy zachowane są reguły Objaśnienie:
przeniesienia. (W kolumnie 72 musi się znajdować niepusty Nazwa nazwa jest niepoprawnie kwalifikowana.
znak, a kolejne wiersze muszą zaczynać się w kolumnie 16 lub
dalszych). Obiekt o podanej nazwie nazwa może mieć tylko jeden
kwalifikator.
COBOL: Sprawdź, czy instrukcja SQL jest kompletna i
kończy się słowem END-EXEC. Nazwa kolumny jest kwalifikowana nazwą tabeli, która jest
kwalifikowana bądź niekwalifikowana, albo nazwą korelacji.
kod_sql: -106 W niektórych kontekstach nazwa kolumny wymaga
kwalifikatora nazwy tabeli.
stan_sql: 42601, 42603
Nie można wykonać instrukcji.
SQL0107N Nazwa nazwa jest za długa. Maksymalna Działanie użytkownika:
długość wynosi długość. Sprawdź, czy nazwa obiektu jest poprawnie kwalifikowana.
Objaśnienie:
kod_sql: -108
Nazwa zwrócona jako nazwa jest za długa. Maksymalna
długość w bajtach dozwolona dla nazw tego typu jest równa
długość. stan_sql: 42601

Nazwy indeksów, reguł ograniczających, kolumn, punktów SQL0109N Klauzula klauzula jest niedozwolona.
zapisu, tabel, widoków, obciążeń, ról, aliasów, zmiennych
SQL, warunków, odrębnych typów, wyzwalaczy, grup partycji Objaśnienie:
bazy danych, monitora zdarzeń, etykiet w procedurach SQL i Wskazana klauzula jest niedozwolona w kontekście, w którym
schematów (kwalifikatorów obiektów) mogą mieć pojawia się w instrukcji SQL lub komendzie.
maksymalną długość 128 bajtów. Nie obejmuje to żadnych v Podzapytanie, instrukcja INSERT ani instrukcja CREATE
znaków zmiany znaczenia, jeśli są obecne. Użytkownicy VIEW nie może mieć klauzuli INTO, ORDER BY ani FOR
systemów stowarzyszonych: W sesji tranzytowej mógł zostać UPDATE.
przekroczony limit związany ze źródłem danych. v Wbudowana instrukcja SELECT nie może zawierać
klauzuli ORDER BY ani FOR UPDATE.
v Wbudowana instrukcja SELECT nie może zawierać
operatora mnogościowego, chyba że w podzapytaniu.

Rozdział 2. Komunikaty SQL 15


SQL0110N • SQL0112N

v Instrukcje SELECT lub VALUES użyte w deklaracjach stan_sql: 42601


kursora nie mogą zawierać klauzuli INTO.
v Funkcja RAISE_ERROR może zostać użyta jako element SQL0110N Stała szesnastkowa łańcuch jest
listy selekcji tylko wówczas, jeśli jest ona rzutowana na niepoprawną.
pewien typ danych za pomocą specyfikacji CAST.
Objaśnienie:
v Nie można użyć klauzuli USE AND KEEP w zapytaniu,
Stała szesnastkowa łańcuch jest niepoprawna. Wystąpił jeden
które:
z następujących problemów:
– wywołuje funkcję lub metodę SQL, która nie została
v Podano nieprawidłową cyfrę szesnastkową. Dopuszczalne
utworzona z klauzulą INHERIT ISOLATION LEVEL
są tylko znaki ’0 - 9’, ’A - F’ oraz ’a - f’.
WITH LOCK REQUEST;
v Podano nieparzystą liczbę cyfr szesnastkowych.
– może wywoływać wyzwalacz;
v Podano ponad 8000 cyfr szesnastkowych.
– modyfikuje tabelę nadrzędną lub potomną, co wymaga
sprawdzania spójności referencyjnej; Działanie użytkownika:
– wymaga przyrostowej konserwacji zmaterializowanej Popraw stałą i wprowadź ponownie instrukcję.
tabeli zapytania.
v Klauzula INITIALSIZE nie jest poprawna w odniesieniu do kod_sql: -110
obszarów tabel zarządzanych przez system (SMS) lub
zarządzanych przez bazę danych (DMS). stan_sql: 42606
v Klauzule AUTORESIZE, INCREASESIZE i MAXSIZE nie
są poprawne w odniesieniu do obszarów tabel zarządzanych SQL0111N Funkcja kolumnowa nazwa nie zawiera
przez system (SMS) lub zarządzanych przez bazę danych nazwy kolumny.
(DMS), których definicja przewiduje korzystanie z
Objaśnienie:
kontenerów urządzeń surowych.
Specyfikacja funkcji kolumnowej nazwa (AVG, MIN, MAX,
v Klauzule AUTORESIZE, INITIALSIZE, INCREASESIZE SUM lub COUNT(DISTINCT)) nie została podana poprawnie,
i MAXSIZE nie są poprawne w odniesieniu do ponieważ jednym z operandów tych funkcji musi być nazwa
tymczasowych obszarów tabel, utworzonych przy użyciu kolumny.
automatycznej pamięci masowej.
v Klauzule INCREASESIZE i MAXSIZE nie są poprawne w Nie można wykonać instrukcji.
odniesieniu do obszarów tabel nie mających włączonego
mechanizmu automatycznej zmiany wielkości. Działanie użytkownika:
Podaj nazwę kolumny w wyrażeniu będącym operandem
v Klauzule ADD, ADD TO STRIPE SET i BEGIN NEW funkcji kolumnowej.
STRIPE SET nie mogą być używane w celu dodawania
kontenerów urządzeń surowych do obszarów tabel, które
UWAGA: Ten błąd dotyczy tylko wersji produktu DB2
mają włączony mechanizm automatycznej zmiany
wcześniejszych niż wersja 2.
wielkości.
v Użytkownicy systemów stowarzyszonych: Mogły zostać kod_sql: -111
naruszone ograniczenia związane ze źródłem danych w sesji
tranzytowej. stan_sql: 42901
v Podczas tworzenia indeksu dla tabeli niepartycjonowanej
instrukcja CREATE INDEX nie może zawierać klauzuli
PARTITIONED ani NOT PARTITIONED. SQL0112N Operand funkcji kolumnowej nazwa
zawiera funkcję kolumnową, selekcję
skalarną albo podzapytanie.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
Operand funkcji kolumnowej nie może zawierać:
Popraw instrukcję SQL lub komendę, usuwając niepoprawną
klauzulę. v funkcji kolumnowej,
v selekcji skalarnej,
Użytkownicy systemów stowarzyszonych: Dla sesji v podzapytania,
tranzytowej określ, które źródło danych powoduje wystąpienie
v wyrażenia XMLQUERY lub XMLEXISTS, chyba że jest
błędu (informacje na ten temat zawiera podręcznik
ono używane jako operand funkcji kolumnowej XMLAGG.
Troubleshooting Guide). Sprawdź dialekt SQL tego źródła
danych, aby ustalić, które ograniczenie zostało naruszone, i
odpowiednio poprawić instrukcję kończącą się Na liście SELECT operand operatora arytmetycznego nie
niepowodzeniem. może być funkcją kolumnową, która zawiera parametr
DISTINCT.
kod_sql: -109
Nie można wykonać instrukcji.

16 Komunikaty, tom 2
SQL0113N • SQL0119N

Działanie użytkownika:
SQL0118N Docelowa tabela lub widok instrukcji
Popraw użycie funkcji kolumnowej, tak aby usunąć
INSERT, DELETE lub UPDATE została
nieprawidłowe wyrażenie i powtórz operację.
podana również w klauzuli FROM.

kod_sql: -112 Objaśnienie:


Tabela lub widok podane jako docelowe dla instrukcji
stan_sql: 42607 INSERT, DELETE lub UPDATE występują również w
klauzuli FROM podzapytania znajdującego się wewnątrz
instrukcji.
SQL0113N Identyfikator identyfikator zawiera
niedozwolony znak lub nie zawiera żadnych Nie można jednocześnie używać tabeli lub widoku
znaków. docelowego instrukcji INSERT, UPDATE lub DELETE do
Objaśnienie: podawania wartości do wstawienia, lub do określania wierszy,
Nazwa zmiennej SQL, nazwa parametru, element komponentu które mają zostać wstawione, zaktualizowane lub usunięte.
etykiety bezpieczeństwa lub nazwa warunku identyfikator
zawiera niepoprawny znak. Nie można wykonać instrukcji.

W przypadku nazwy zmiennej SQL, nazwy parametru i nazwy Ten komunikat dotyczy tylko serwerów w wersji 1.2 i
warunku dozwolone są tylko znaki, które są poprawne dla wcześniejszych oraz hostów, z którymi połączenie jest
zwykłego identyfikatora SQL. Należy zauważyć, że zawijanie nawiązywane za pomocą produktu DB2 Connect.
nie jest przeprowadzane i rozróżniana jest wielkość liter,
Działanie użytkownika:
ponieważ identyfikator jest ograniczony.
Niejawna funkcja nie jest obsługiwana. Aby spróbować
uzyskać żądany wynik, utwórz tymczasową kopię obiektu
W przypadku elementu komponentu etykiety bezpieczeństwa tabeli lub widoku i odnieś podselekcję do tej kopii.
dozwolone są tylko znaki, które są poprawne dla wartości
elementu.
kod_sql: -118
Działanie użytkownika:
Popraw identyfikator i wprowadź ponownie instrukcję. stan_sql: 42902

kod_sql: -113
SQL0119N Wyrażenie rozpoczynające się od
początek-wyrażenia, podane w klauzulach
stan_sql: 42601 SELECT, HAVING lub ORDER BY nie
zostało podane w klauzuli GROUP BY lub
SQL0117N Liczba przypisanych wartości nie jest równa występuje w klauzulach SELECT, HAVING
liczbie podanych lub domniemanych lub ORDER BY razem z funkcją
kolumn lub zmiennych. kolumnową i nie została podana klauzula
GROUP BY.
Objaśnienie:
Objaśnienie:
v Liczba wartości do wstawienia na liście wartości instrukcji
W instrukcji SELECT występuje jeden z następujących
INSERT jest różna od liczby podanych lub domniemanych
błędów:
kolumn. Jeśli nie została podana lista kolumn, przyjmowana
jest lista zawierająca wszystkie kolumny danej tabeli lub v W klauzulach SELECT, HAVING lub ORDER BY
widoku. występuje podane wyrażenie oraz funkcja kolumnowa, ale
brakuje klauzuli GROUP BY.
v Liczba wartości znajdujących się po prawej stronie
przypisania w instrukcji SET lub klauzuli SET wyrażenia v Podane wyrażenie jest zawarte w klauzulach SELECT,
UPDATE nie odpowiada liczbie kolumn lub zmiennych HAVING lub ORDER BY, ale nie występuje w klauzuli
znajdującej się po lewej stronie. GROUP BY.

Nie można wykonać instrukcji. Podane wyrażenie zaczyna się od początek-wyrażenia.


Wyrażenie może być pojedynczą nazwą kolumny.
Działanie użytkownika:
Popraw instrukcję, podając jedną wartość dla każdej podanej Jeśli w klauzuli HAVING zostały podane funkcje
lub domniemanej kolumny lub zmiennej. NODENUMBER lub PARTITION, wtedy przyjmuje się, że
klauzula ta odnosi się do wszystkich kolumn klucza
kod_sql: -117 partycjonowania tabeli.

stan_sql: 42802 Nie można wykonać instrukcji.


Działanie użytkownika:

Rozdział 2. Komunikaty SQL 17


SQL0120N • SQL0123N

Popraw instrukcję przez umieszczenie wyrażenia w klauzuli Popraw składnię instrukcji, tak aby każda nazwa kolumny
GROUP BY znajdującej się w klauzulach SELECT, HAVING występowała tylko raz.
lub ORDER BY lub przez usunięcie funkcji kolumnowej z
wyrażenia SELECT. kod_sql: -121

kod_sql: -119 stan_sql: 42701

stan_sql: 42803
SQL0122N Instrukcja SELECT bez klauzuli GROUP
BY zawiera nazwę kolumny lub wyrażenie
SQL0120N Niepoprawne użycie funkcji agregującej lub oraz funkcję kolumnową w klauzuli
funkcji OLAP. SELECT albo w klauzuli SELECT jest
zawarta nazwa kolumny lub wyrażenia, ale
Objaśnienie:
nie zawiera jej klauzula GROUP BY.
Funkcji agregującej lub funkcji OLAP można używać tylko na
liście instrukcji select pełnej selekcji, w klauzuli having lub (z Objaśnienie:
ograniczeniami) w klauzulach WHERE i GROUP BY. W instrukcji SELECT występuje jeden z następujących
błędów:
Klauzula WHERE może zawierać funkcję agregującą lub v Klauzula SELECT zawiera nazwę kolumny lub wyrażenia i
funkcję OLAP tylko wtedy, gdy klauzula ta występuje w funkcję kolumnową, ale nie zawiera klauzuli GROUP BY.
podzapytaniu klauzuli HAVING i argument funkcji jest
v Klauzula SELECT zawiera nazwę kolumny lub wyrażenia,
referencją skorelowaną z grupą.
ale nie ma jej w klauzuli GROUP BY.
Klauzula GROUP BY może zawierać funkcję agregującą lub
Kolumna lub wyrażenie może być zawarte w funkcji skalarnej.
funkcję OLAP tylko wtedy, gdy argument funkcji jest
skorelowaną referencją do kolumny w podselekcji innej niż ta,
Jeśli w klauzuli SELECT zostały podane funkcje
która zawiera klauzulę GROUP BY.
DATAPARTITIONNUM, DBPARTITIONNUM,
NODENUMBER, HASHEDVALUE lub PARTITION, wtedy
Nie można użyć funkcji OLAP na liście argumentów
przyjmuje się, że klauzula ta odnosi się do wszystkich kolumn
wyrażenia XMLQUERY lub XMLEXISTS.
bazy danych lub kolumn klucza partycjonowania tabeli
bazowej.
Nie można wykonać instrukcji.
Działanie użytkownika: Nie można wykonać instrukcji.
Zmień instrukcję tak, aby nie występowała w niej funkcja
Działanie użytkownika:
agregująca ani funkcja OLAP, lub aby funkcja ta była używana
Popraw instrukcję, umieszczając w klauzuli GROUP BY
tylko tam, gdzie jest obsługiwana.
kolumny lub wyrażenia z klauzuli SELECT lub usuwając
kolumny lub wyrażenia z klauzuli SELECT.
kod_sql: -120
kod_sql: -122
stan_sql: 42903
stan_sql: 42803
SQL0121N Nazwa docelowa nazwa została użyta w
przypisaniach w jednej instrukcji SQL
SQL0123N Parametr na pozycji n w funkcji nazwa musi
więcej niż raz.
być stałą lub słowem kluczowym.
Objaśnienie:
Objaśnienie:
Ta sama nazwa docelowa nazwa została użyta więcej niż jeden
Parametr na pozycji n w funkcji nazwa nie jest stałą, podczas
raz w argumencie OUT lub INOUT instrukcji CALL albo na
gdy wymagana jest stała, lub nie jest parametrem, podczas gdy
liście kolumn instrukcji INSERT jako lewostronny argument
wymagany jest parametr.
przypisania w klauzuli SET instrukcji UPDATE albo
lewostronny argument instrukcji przypisania. Nazwa docelowa Działanie użytkownika:
określa kolumnę, parametr SQL lub zmienną. Sprawdź, czy każdy argument danej funkcji jest zgodny z
definicją odpowiedniego parametru.
Błąd mógł wystąpić w trakcie aktualizacji lub wstawiania do
widoku, w którym więcej niż jedna kolumna jest oparta o tę kod_sql: -123
samą kolumnę tabeli podstawowej.
stan_sql: 42601
Nie można wykonać instrukcji.
Działanie użytkownika:

18 Komunikaty, tom 2
SQL0125N • SQL0132N

SQL0125N Liczba kolumn podana w klauzuli ORDER SQL0130N Klauzula ESCAPE nie jest pojedynczym
BY jest mniejsza lub większa od liczby znakiem lub łańcuch wzorca zawiera błędne
kolumn w tabeli wynikowej. wystąpienie znaku ESC.
Objaśnienie: Objaśnienie:
Klauzula ORDER BY występująca w instrukcji zawiera liczbę Znak ESC musi być pojedynczym znakiem nie dłuższym niż
kolumn, która jest mniejsza od 1 lub większa od liczby kolumn dwa bajty. Może on wystąpić w łańcuchu wzorca tylko wtedy,
w tabeli wynikowej (liczby elementów klauzuli SELECT). gdy jest poprzedzony takim samym znakiem, znakiem
procentu lub podkreślenia. Więcej informacji na temat klauzuli
Nie można wykonać instrukcji. ESCAPE w predykacie LIKE zawiera podręcznik SQL
Reference.
Działanie użytkownika:
Popraw składnię klauzuli ORDER BY, tak aby każda kolumna Działanie użytkownika:
poprawnie identyfikowała odpowiednią kolumnę tabeli Popraw łańcuch wzorca lub znak ESC.
wynikowej.
kod_sql: -130
kod_sql: -125
stan_sql: 22019, 22025
stan_sql: 42805
SQL0131N Operandy predykatu LIKE mają
SQL0127N Słowo DISTINCT zostało podane więcej niż niekompatybilne typy danych.
raz.
Objaśnienie:
Objaśnienie: Jeśli wyrażenie znajdujące się po lewej stronie predykatu
Nie można używać kwalifikatora DISTINCT: LIKE lub NOT LIKE jest określonego typu, wyrażenie
v jednocześnie w klauzuli SELECT i w funkcji kolumnowej, znajdujące się po prawej stronie musi być tego samego typu.
v w dwóch lub więcej funkcjach kolumnowych w tej samej
Jeśli wyrażenie znajdujące się po lewej stronie jest typu
instrukcji SELECT.
graphic, wyrażenie znajdujące się po prawej stronie musi być
również typu graphic.
Nie można wykonać instrukcji.
Działanie użytkownika: Jeśli wyrażenie znajdujące się po lewej stronie jest typu
Błąd ten dotyczy tylko wersji produktu DB2 wcześniejszych BLOB, wyrażenie znajdujące się po prawej stronie musi być
niż wersja 2 oraz hostów, do których dostęp odbywa się przez również typu BLOB.
program DB2 Connect.
Nie można wykonać instrukcji.
kod_sql: -127
Działanie użytkownika:
Popraw wyrażenie podane w predykacie LIKE, tak aby
stan_sql: 42905 zawierało takie same typy danych.

SQL0129N Instrukcja zawiera zbyt wiele nazw tabel. kod_sql: -131


Objaśnienie:
stan_sql: 42818
Instrukcja SQL zawiera zbyt wiele nazw tabel. Pojedyncza
instrukcja SQL może zawierać odwołania do maksymalnie 255
tabel. Do limitu tego są zaliczane wszystkie tabele w każdym SQL0132N Predykat LIKE lub funkcja skalarna
widoku, do którego zostały podane odwołania. POSSTR są niepoprawne, ponieważ
pierwszy operand nie jest wyrażeniem
Nie można wykonać instrukcji. łańcuchowym lub drugi operand nie jest
łańcuchem. Funkcja skalarna LOCATE lub
Działanie użytkownika: POSITION jest niepoprawna, ponieważ
Podziel instrukcję SQL na dwie lub więcej prostszych pierwszy operand nie jest łańcuchem lub
instrukcji, z których każda będzie zawierać odwołania do nie drugi operand nie jest wyrażeniem
więcej niż 255 tabel. łańcuchowym.

Ten komunikat odnosi się do hostów, do których dostęp Objaśnienie:


realizowany jest przez produkt DB2 Connect. Predykat LIKE lub funkcja skalarna POSSTR pojawiające się
w instrukcji są niepoprawne, ponieważ pierwszy z operandów
kod_sql: -129 nie jest wyrażeniem łańcuchowym lub drugi nie jest
łańcuchem. Funkcja skalarna LOCATE lub POSITION jest
stan_sql: 54004

Rozdział 2. Komunikaty SQL 19


SQL0134N • SQL0137N

niepoprawna, ponieważ pierwszy operand nie jest łańcuchem Użytkownicy systemów stowarzyszonych: W sesji tranzytowej
albo drugi operand nie jest wyrażeniem łańcuchowym. ten błąd mógł być spowodowany przez ograniczenia związane
ze źródłem danych. Przejrzyj dokumentację SQL Reference
Operand znajdujący się po lewej stronie predykatu LIKE albo dla źródła danych, które spowodowało błąd.
NOT LIKE - drugi operand funkcji LOCATE, drugi operand
funkcji POSITION lub pierwszy operand funkcji POSSTR - Nie można wykonać instrukcji.
musi być wyrażeniem łańcuchowym. Wartość występująca po
Działanie użytkownika:
prawej stronie predykatu - pierwszy operand funkcji LOCATE,
Żądana operacja na łańcuchu nie jest obsługiwana.
pierwszy operand funkcji POSITION lub drugi operand
funkcji POSSTR - może być jednym z następujących
elementów: kod_sql: -134

v stałą,
stan_sql: 42907
v rejestrem specjalnym,
v zmienną języka macierzystego,
SQL0135N Wartością kolumny długiego łańcucha w
v odwołaniem do kolumny (tylko dla funkcji LOCATE i instrukcji INSERT lub UPDATE musi być
POSITION), zmienna języka macierzystego lub parametr
v funkcją skalarną, której operandem jest jeden z powyższych NULL.
elementów,
Objaśnienie:
v wyrażeniem łączącym jeden z powyższych operandów; W instrukcji UPDATE lub INSERT na pozycji, na której
powinna wystąpić wartość NULL lub zmienna języka
z następującymi ograniczeniami: macierzystego znajduje się stała, nazwa kolumny lub
v żaden z elementów w instrukcji nie może być typu LONG podzapytanie.
VARCHAR, CLOB, LONG VARGRAPHIC lub DBCLOB,
ani nie może być zmienną referencyjną pliku BLOB, Kolumna zawierająca długie łańcuchy może być typu LONG
v bieżąca długość wyrażenia nie może być dłuższa niż 4000 VARCHAR, LONG VARGRAPHIC, VARCHAR(n), gdzie n
bajtów. jest większe od 254 i mniejsze lub równe 32767, lub typu
VARGRAPHIC(n), gdzie n jest większe od 127 i mniejsze lub
równe 16383.
Nie można użyć predykatu LIKE, funkcji skalarnej LOCATE,
funkcji skalarnej POSITION ani funkcji skalarnej POSSTR z Działanie użytkownika:
typem danych DATE, TIME lub TIMESTAMP. Informacje na temat wykorzystania długich łańcuchów zawiera
podręcznik DB2 for VM Application Programming. Popraw
Nie można wykonać instrukcji. instrukcję. Ponów próbę.
Działanie użytkownika:
kod_sql: -135
Sprawdź i popraw składnię predykatu LIKE, funkcji
LOCATE, POSITION lub POSSTR.
stan_sql: 56033
kod_sql: -132
SQL0137N Długość uzyskana w wyniku operacji
stan_sql: 42824 operacja jest większa niż
wartość-maksymalna.
SQL0134N Niewłaściwe użycie łańcucha kolumny, Objaśnienie:
zmiennej języka macierzystego, stałej lub Wynik konkatenacji podanych operandów przekracza
funkcji nazwa. maksymalną długość obsługiwaną przez typ wyniku.
Objaśnienie:
Łańcuchy znakowe mają ograniczenie do 32,700 bajtów za
Użycie łańcucha nazwa jest niedozwolone.
wyjątkiem sytuacji, gdy jeden z operandów jest typu CLOB;
wtedy limit wynosi 2 gigabajty.
W poniższych konstrukcjach nie można użyć wyrażenia,
którego wynik jest typu CLOB, DBCLOB, BLOB, LONG
Łańcuchy wynikowe typu graphic mają ograniczenie do
VARCHAR lub LONG VARGRAPHIC:
16.350 znaków za wyjątkiem sytuacji, gdy jeden z operandów
v instrukcji SELECT DISTINCT, jest typu DBCLOB i jego ograniczeniem jest 1.073.741.823 (1
v klauzuli GROUP BY, gigabajt minus 1) znaków typu double byte.
v klauzuli ORDER BY,
Binarne łańcuchy wynikowe (operandy typu BLOB) mają
v funkcja kolumnowa zawierająca DISTINCT,
ograniczenie do 2 gigabajtów.
v instrukcjach SELECT lub VALUES operatora
mnogościowego innego niż UNION. Działanie użytkownika:

20 Komunikaty, tom 2
SQL0138N • SQL0143W

Sprawdź, czy suma długości operandów nie przekracza kod_sql: -138


obsługiwanego maksimum i powtórz operację.
stan_sql: 22011
kod_sql: -137
SQL0139W W specyfikacji kolumny kolumna występuje
stan_sql: 54006
nadmiarowa klauzula.
Objaśnienie:
SQL0138N Argument liczbowy wbudowanej funkcji
Klauzula występująca w specyfikacji kolumny jest
łańcucha jest poza zakresem.
nadmiarowa.
Objaśnienie:
Dla funkcji SUBSTR zaistniał jeden z poniższych warunków: Instrukcja została pomyślnie wykonana, ale nadmiarowa
v Wartość drugiego argumentu funkcji SUBSTR jest klauzula została zignorowana.
wyrażeniem, którego wartość jest mniejsza niż 1 lub Działanie użytkownika:
większa niż M. Popraw specyfikację kolumny.
v Wartość trzeciego argumentu funkcji SUBSTR jest
wyrażeniem, którego wartość jest mniejsza niż 0 lub kod_sql: +139
większa niż M-N+1.
stan_sql: 01589
W przypadku funkcji SUBSTRING zaistniały poniższe
warunki:
SQL0142N Instrukcja SQL nie jest obsługiwana.
v Wartość drugiego argumentu funkcji SUBSTRING jest
wyrażeniem, którego wartość jest mniejsza niż 1 lub Objaśnienie:
większa niż M. Instrukcja wbudowanego języka SQL, która może być
poprawna dla innych relacyjnych baz danych firmy IBM, nie
W przypadku funkcji LEFT lub RIGHT zaistniał poniższy jest obsługiwana przez menedżera baz danych.
warunek:
v Wartość drugiego argumentu funkcji LEFT lub RIGHT jest Użytkownicy systemów stowarzyszonych: Sprawdź, czy
wyrażeniem, którego wartość jest mniejsza niż 0 lub instrukcja SQL nie została skierowana do źródła danych, które
większa niż atrybut długości pierwszego argumentu. nie obsługuje instrukcji SQL.

Dla funkcji INSERT zaistniał jeden z poniższych warunków: Nie można wykonać instrukcji.
v Wartość drugiego argumentu funkcji INSERT jest Działanie użytkownika:
wyrażeniem, którego wartość jest mniejsza niż 1 lub Zmień składnię instrukcji SQL lub usuń ją z programu.
większa niż M + 1.
v Wartość trzeciego argumentu funkcji INSERT jest Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie
wyrażeniem, którego wartość jest mniejsza niż 0 lub jest znana, należy zlokalizować problem do źródła danych
większa niż M-N+1. odrzucającego żądanie (procedury, z których należy korzystać
przy identyfikowaniu niesprawnego źródła danych, można
Dla funkcji OVERLAY zaistniał jeden z poniższych znaleźć w podręczniku Troubleshooting Guide) i sprawdzić
warunków: dialekt SQL właściwy dla tego źródła danych.
v Wartość trzeciego argumentu funkcji OVERLAY jest
wyrażeniem, którego wartość jest mniejsza niż 1 lub SQL0143W Instrukcja SQL nie jest obsługiwana;
większa niż M + 1. nieprawidłowa składnia zostanie
v Wartość czwartego argumentu funkcji OVERLAY jest zignorowana.
wyrażeniem, którego wartość jest mniejsza niż 0 lub Objaśnienie:
większa niż M-N+1. Instrukcja wbudowanego języka SQL, która może być
poprawna dla innych relacyjnych baz danych firmy IBM jest
M jest długością pierwszego argumentu, jeśli ma on stałą rozumiana, ale nie jest obsługiwana przez menedżera baz
długość, lub maksymalną długością pierwszego argumentu, danych.
jeśli jego długość jest zmienna. N jest wartością drugiego
argumentu. Instrukcja może zwrócić niespójne lub niepożądane rezultaty.

Nie można wykonać instrukcji. Działanie użytkownika:


Zmień składnię instrukcji SQL lub usuń ją z programu.
Działanie użytkownika:
Sprawdź, czy wszystkie argumenty liczbowe wbudowanej
funkcji łańcucha mają dozwolone wartości, zgodne z
powyższymi regułami.

Rozdział 2. Komunikaty SQL 21


SQL0150N • SQL0152N

Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie


SQL0150N Żądana operacja pełnej selekcji, tworzenia
jest znana, należy zlokalizować problem do źródła danych
widoku, tabeli o typie strukturalnym,
odrzucającego żądanie (procedury, z których należy korzystać
zmaterializowanej tabeli zapytania lub
przy identyfikowaniu niesprawnego źródła danych, można
tabeli pomostowej w instrukcji INSERT,
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić
DELETE, UPDATE lub MERGE jest dla
definicję obiektu oraz ograniczenia dotyczące aktualizacji
danego obiektu docelowego niedozwolona.
właściwe dla tego źródła danych.
Objaśnienie:
Pełna selekcja, widok, tabela o typie strukturalnym, kod_sql: -150
zmaterializowana tabela zapytania lub tabela pomostowa
występująca w instrukcji INSERT, DELETE, UPDATE lub stan_sql: 42807
MERGE jest zdefiniowana w taki sposób, że nie można
wykonać żądanej operacji wstawiania, aktualizowania lub
usuwania. SQL0151N Nie można zaktualizować kolumny nazwa.
Objaśnienie:
Widok lub pełna selekcja jest przeznaczona tylko do odczytu, Podana kolumna nie może zostać zaktualizowana, ponieważ
gdy instrukcja SELECT tego widoku lub pełnej selekcji wystąpiła jedna z następujących sytuacji:
zawiera co najmniej jeden z następujących elementów:
v obiekt tabelowy jest widokiem, a podana kolumna jest
v parametr DISTINCT, pochodną funkcji skalarnej, wyrażenia, parametru, stałej lub
v funkcję kolumnową na liście SELECT, kolumny widoku, w której kolumna ta nie może zostać
v klauzulę GROUP BY lub HAVING, zaktualizowana,
v klauzulę FROM, która określa jeden z następujących v podana kolumna jest kolumną katalogu systemowego, której
obiektów: nie można aktualizować, lub kolumną jawnie oznaczoną
jako tylko do odczytu (READ ONLY).
– więcej niż jedną tabelę lub widok,
– widok tylko do odczytu (kolumna READONLY widoku Użytkownicy systemów stowarzyszonych: Należy sprawdzić,
SYSCAT.VIEWS jest ustawiona na ’Y’), czy inne ograniczenia właściwe dla źródła danych nie
v operator mnogościowy (inny niż UNION ALL), uniemożliwiają aktualizacji kolumny.
v Użytkownicy systemów stowarzyszonych: Ograniczenie
związane ze źródłem danych powodujące, że widok nie Nie można wykonać instrukcji.
może zostać zaktualizowany. Działanie użytkownika:
Jeśli podana kolumna jest pochodną funkcji skalarnej,
Należy zwrócić uwagę, że warunki te nie dotyczą podzapytań wyrażenia, parametru lub kolumny nieaktualizowalnej, pomiń
instrukcji SELECT lub pełnej selekcji. tę kolumnę w klauzuli set operacji aktualizacji lub w kolumnie
operacji wstawienia. Listę aktualizowalnych katalogów (oraz
Widok pośrednio lub bezpośrednio zawierający klauzulę kolumn) można znaleźć w podręczniku SQL Reference.
WHERE, która odwołuje się do podzapytania lub procedury
mającej w definicji atrybut NOT DETERMISTIC lub Użytkownicy systemu stowarzyszonego: Jeśli przyczyna jest
EXTERNAL ACTION nie może być celem instrukcji nieznana, należy zlokalizować problem do źródła danych,
MERGE. które nie może zrealizować żądania (patrz podręcznik
Troubleshooting Guide), i zbadać definicję obiektu oraz
Widok zdefiniowany z klauzulą WITH ROW MOVEMENT ograniczenia aktualizacji w przypadku tego źródła danych.
nie może być użyty jako obiekt docelowy instrukcji MERGE
obejmującej operację aktualizacji. kod_sql: -151

Nie można wstawić wierszy bezpośrednio do tabeli o typie stan_sql: 42808


strukturalnym zdefiniowanej w oparciu o typ strukturalny,
który nie pozwala na tworzenie wystąpień. Podtabele tabeli
mogą zezwalać na wstawianie. SQL0152N Ograniczenie nazwa-ograniczenia jest
ograniczeniem typu faktyczny-typ-
Na ogół w wypadku zmaterializowanych tabel zapytania ograniczenia, a nie ograniczeniem typu
obsługiwanych przez system oraz tabel pomostowych nie są oczekiwany-typ-ograniczenia.
dozwolone operacje wstawiania, aktualizacji i usuwania. Objaśnienie:
Podjęto próbę zmiany lub usunięcia ograniczenia
Nie można wykonać instrukcji. nazwa-ograniczenia, ale jest ono zdefiniowane jako
ograniczenie typu oczekiwany-typ-ograniczenia, a nie jako
Działanie użytkownika:
ograniczenie określonego typu faktyczny-typ-ograniczenia.
Nie można wykonać żądanej funkcji w odniesieniu do pełnej
selekcji, widoku, obsługiwanej przez system dla Działanie użytkownika:
zmaterializowanej tabeli zapytania ani tabeli pomostowej.

22 Komunikaty, tom 2
SQL0153N • SQL0158N

Zweryfikuj nazwę i typ ograniczenia, które ma zostać tabel, a nie do widoków. Program narzędziowy RUNSTATS
zmienione lub usunięte. oraz moduł ładujący LOAD również mogą być stosowane
tylko do tabel.
kod_sql: -152
Użytkownicy systemów stowarzyszonych: Niektóre narzędzia
stan_sql: 42809 i instrukcje nie są obsługiwane w środowisku
stowarzyszonym. Więcej informacji zawiera podręcznik
Administration Guide.
SQL0153N Instrukcja nie zawiera wymaganej listy
kolumn.
Instrukcja lub moduł ładujący nie mogą zostać przetworzone.
Objaśnienie:
Działanie użytkownika:
Lista kolumn musi być podana w instrukcji CREATE VIEW,
Sprawdź, czy w instrukcji została podana poprawna nazwa
we wspólnym wyrażeniu tabelowym lub w instrukcji CREATE
tabeli. Jeśli został podany alias, sprawdź, czy odnosi się on do
TABLE zawierającej klauzulę podzapytania AS, gdy:
tabeli.
v dowolny element listy SELECT w pełnej selekcji jest inny
niż nazwa kolumny i nie został nazwany przy użyciu Użytkownicy systemów stowarzyszonych: Sprawdź, czy
klauzuli AS, obiekt nie jest pseudonimem.
v dowolne dwa elementy są nazwą tej samej kolumny, której
nazwa nie została zmieniona przy użyciu klauzuli AS. kod_sql: -156

Nie można wykonać instrukcji. stan_sql: 42809


Działanie użytkownika:
Podaj listę nazw kolumn w instrukcji CREATE VIEW, we SQL0157N Obiekt nazwa nie jest dozwolony w klauzuli
wspólnym wyrażeniu tabelowym lub w instrukcji CREATE FOREIGN KEY, ponieważ nie identyfikuje
TABLE albo nazwij kolumny na liście SELECT instrukcji tabeli podstawowej.
pełnej selekcji, przy użyciu klauzuli AS.
Objaśnienie:
Obiekt nazwa został zidentyfikowany w klauzuli FOREIGN
kod_sql: -153
KEY instrukcji CREATE lub ALTER TABLE. Klauzula
FOREIGN KEY musi identyfikować tabelę podstawową.
stan_sql: 42908
Nie można wykonać instrukcji. Podana tabela nie została
SQL0155N Tabela przejściowa wyzwalaczy nie może utworzona ani zmieniona.
zostać zmodyfikowana.
Działanie użytkownika:
Objaśnienie: Popraw instrukcję, tak aby określała nazwę tabeli podstawowej
Wyzwalacz zawiera klauzulę REFERENCING z w klauzuli FOREIGN KEY.
OLD_TABLE lub NEW_TABLE. Wyzwalana instrukcja SQL
DELETE, INSERT lub UPDATE używała nazwy podanej jako Jeśli podana została nazwa aliasu, upewnij się, że alias jest
OLD_TABLE lub NEW_TABLE jako tabeli do tłumaczony na nazwę tabeli podstawowej.
zmodyfikowania.
Działanie użytkownika: kod_sql: -157
Usuń wyzwalaną instrukcję SQL DELETE, INSERT lub
UPDATE z wyzwalanego działania lub zmień nazwę tabeli stan_sql: 42810
przejściowej, tak aby nie było konfliktu z tabelą, którą
próbujesz zmodyfikować. SQL0158N Liczba kolumn podana dla tabeli nazwa
różni się od liczby kolumn w tabeli
kod_sql: -155 wynikowej.

stan_sql: 42807 Objaśnienie:


Identyfikator nazwa może określać:
v widok określony w instrukcji CREATE VIEW,
SQL0156N Nazwa użyta w tej operacji nie jest nazwą
tabeli. v nazwę tabeli wspólnego wyrażenia tabelowego,
v nazwę korelacji zagnieżdżonego wyrażenia tabelowego,
Objaśnienie:
Instrukcje SQL: ALTER TABLE, DROP TABLE, SET v zmaterializowaną tabelę zapytania wymienioną w instrukcji
INTEGRITY, CREATE TRIGGER, CREATE INDEX, LOCK CREATE TABLE lub ALTER TABLE,
TABLE oraz RENAME TABLE mogą być stosowane tylko do v funkcję określoną w instrukcji CREATE FUNCTION,
v metodę określoną w instrukcji CREATE METHOD,

Rozdział 2. Komunikaty SQL 23


SQL0159N • SQL0161N

v nazwę tabeli pomostowej w instrukcji CREATE STAGING – funkcję kolumnową na liście SELECT,
TABLE. – klauzulę GROUP BY lub HAVING,
– klauzulę FROM, która identyfikuje:
Liczba podanych nazw kolumn musi być równa liczbie
kolumn w tabeli wynikowej powiązanej pełnej selekcji. Jeśli - więcej niż jedną tabelę lub widok,
nazwa jest tabelą pomostową, a skojarzona z nią - widok tylko do odczytu,
zmaterializowana tabela zapytania ma klauzulę GROUP BY, – operator mnogościowy (inny niż UNION ALL).
liczba określonych nazw kolumn musi być o 2 większa niż
v Instrukcja SELECT w instrukcji CREATE VIEW zawiera
liczba kolumn w zmaterializowanej tabeli zapytania, dla której
podzapytanie (za wyjątkiem określonych statystycznych
jest definiowana tabela pomostowa. Jeśli skojarzona tabela ze
kolumn niektórych tabel katalogów).
zmaterializowanego zapytania nie ma klauzuli GROUP BY,
liczba określonych nazw kolumn musi być o 3 większa niż v Dla widoku, od którego zależna jest definicja wskazanego
liczba kolumn w zmaterializowanej tabeli zapytania. widoku, jest zdefiniowany wyzwalacz INSTEAD OF.
v Widok, od którego podana definicja widoku jest zależna,
Nie można wykonać instrukcji. zawiera funkcję wyszukiwania tekstu.
Działanie użytkownika:
Użytkownicy systemów stowarzyszonych: Opcja WITH
Popraw składnię tak, aby na liście nazw kolumn
CHECK nie jest obsługiwana dla widoków zawierających
zdefiniowanych dla tabeli nazwa określona była nazwa każdej
odwołania do pseudonimów, które można aktualizować.
kolumny tabeli wynikowej.
Nie można wykonać instrukcji. Podany widok nie został
kod_sql: -158
utworzony.
stan_sql: 42811 Działanie użytkownika:
Usuń klauzulę WITH CHECK OPTION lub tak zmień
definicję widoku, aby odpowiadała powyższym regułom.
SQL0159N Instrukcja odwołuje się do obiektu obiekt,
który jest typu typ-obiektu, a nie typu
kod_sql: -160
oczekiwany-typ-obiektu.
Objaśnienie: stan_sql: 42813
Obiekt obiekt podany jako część instrukcji lub komendy
odwołuje się do obiektu typu typ-obiektu zamiast
oczekiwanego typu oczekiwany-typ-obiektu. SQL0161N Wiersz wynikowy operacji wstawiania lub
aktualizacji nie jest zgodny z definicją
widoku.
Typ obiektu podany w instrukcji lub komendzie musi być
zgodny z typem oczekiwany-typ-obiektu. Na przykład jeśli Objaśnienie:
instrukcją jest DROP ALIAS PBIRD.T1, to PBIRD.T1 musi W definicji widoku będącego obiektem operacji wstawiania
być nazwą aliasu. Jeśli typ-obiektu to TABLE, istnieje lub aktualizacji określono klauzulę WITH CHECK OPTION
możliwość, że ten typ tabeli jest niepoprawny w kontekście albo w klauzuli FROM określono operację wstawiania lub
użytej komendy. aktualizacji z widokiem jako obiektem docelowym. W
konsekwencji wszystkie próby wstawienia lub aktualizacji
Działanie użytkownika:
wierszy w tym widoku są sprawdzane pod kątem ich
Popraw instrukcję lub komendę, tak aby zawierała właściwy
zgodności z definicją widoku.
typ obiektu identyfikowany oczekiwany-typ-obiektu.
Jeśli operacja wstawiania lub aktualizacji dotycząca widoku
kod_sql: -159
znajduje się w klauzuli FROM, operacja taka jest zawsze
przetwarzana tak, jakby widok był zdefiniowany z klauzulą
stan_sql: 42809
WITH CHECK OPTION.

SQL0160N Klauzula WITH CHECK OPTION jest Nie można wykonać instrukcji. Aktualizacje ani wstawienia
niepoprawna dla podanego widoku. nie zostaną wykonane, a zawartość widoku oraz odpowiedniej
tabeli podstawowej pozostanie niezmieniona.
Objaśnienie:
Nie można używać klauzuli WITH CHECK OPTION w Działanie użytkownika:
definicji widoku, jeśli: Sprawdź definicję widoku, aby określić, dlaczego żądana
v Widok jest zdefiniowany jako tylko do odczytu. Widok jest operacja wstawiania lub aktualizacji została odrzucona. Weź
tylko do odczytu, jeśli instrukcja SELECT zawiera dowolną pod uwagę, że ta sytuacja może zależeć od danych.
z następujących wartości (Te warunki nie dotyczą
podzapytań instrukcji SELECT.): Żądana operacja wstawiania lub aktualizacji może próbować
umieścić w kolumnach docelowych wartości spoza zakresu.
– parametr DISTINCT,
Podręcznik SQL Reference zawiera informacje pomocne przy

24 Komunikaty, tom 2
SQL0170N • SQL0180N

aktualizacji katalogów systemowych dotyczące poprawnych


SQL0176N Drugi, trzeci lub czwarty argument funkcji
zakresów wartości dla kolumn katalogów, które można
skalarnej TRANSLATE jest błędny.
aktualizować.
Objaśnienie:
Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie Instrukcja jest niepoprawna z jednej lub kilku następujących
jest znana, należy zlokalizować problem do źródła danych, przyczyn:
które nie może zrealizować żądania (patrz podręcznik v Funkcja skalarna translate nie zezwala na zamianę znaku na
Troubleshooting Guide), i zbadać definicję obiektu oraz inny znak, który jest kodowany przy użyciu innej liczby
definicję widoku dla tego źródła danych. bajtów. Na przykład nie można zamienić znaku
jednobajtowego na znak dwubajtowy, ani zamienić znaku
kod_sql: -161 dwubajtowego na znak jednobajtowy.
v Drugi i trzeci argument funkcji skalarnej translate muszą
stan_sql: 44000 kończyć się poprawnymi znakami.
v Jeśli pierwszy argument jest typu CHAR lub VARCHAR,
SQL0170N Liczba argumentów funkcji skalarnej nazwa czwarty argument tej funkcji musi być poprawnym znakiem
jest błędna. jednobajtowym.
Objaśnienie: v Jeśli pierwszy argument jest typu GRAPHIC lub
Podana funkcja skalarna nazwa ma za mało lub za dużo VARGRAPHIC, czwarty argument tej funkcji musi być
argumentów. poprawnym znakiem dwubajtowym.

Nie można wykonać instrukcji. Nie można wykonać instrukcji.

Działanie użytkownika: Działanie użytkownika:


Sprawdź, czy dla danej funkcji skalarnej została podana Sprawdź, czy drugi, trzeci oraz czwarty argument funkcji
poprawna liczba argumentów. skalarnej translate mają poprawne wartości.

kod_sql: -170 kod_sql: -176

stan_sql: 42605 stan_sql: 42815

SQL0171N Typ danych, długość lub wartość argumentu SQL0180N Składnia łańcucha reprezentującego
n procedury nazwa jest niepoprawna. wartość data-godzina jest niepoprawna.

Objaśnienie: Objaśnienie:
Typ danych, długość lub wartość argumentu n procedury Łańcuch reprezentujący datę, godzinę lub wartość datownika
nazwa jest niepoprawna. nie jest zgodny ze składnią dla podanego lub przyjętego typu
danych.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Upewnij się, że argumenty procedury są zgodne z zasadami Działanie użytkownika:
dla procedury. Sprawdź, czy składnia dla daty, godziny lub wartości
datownika jest zgodna ze składnią dla odpowiedniego typu
kod_sql: -171 danych. Jeśli przeznaczeniem łańcucha nie jest wartość daty,
godziny ani datownika, sprawdź, czy sposób jego
wykorzystania nie narzuca przyjęcia takiego typu danych.
stan_sql: 42815
Użytkownicy systemów stowarzyszonych: Problem może
SQL0172N nazwa nie jest poprawną nazwą funkcji. dotyczyć reprezentacji daty/godziny w źródle danych. Jeśli
przyczyna nie jest znana, zlokalizuj problem do źródła danych,
Objaśnienie:
które nie może zrealizować żądania (patrz podręcznik
Instrukcja SQL zawiera nieznaną funkcję skalarną.
Troubleshooting Guide) i sprawdź ograniczenia dotyczące
reprezentacji daty/godziny dla tego źródła danych.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: -180
Sprawdź, czy nazwa funkcji jest poprawna.
stan_sql: 22007
kod_sql: -172

stan_sql: 42601

Rozdział 2. Komunikaty SQL 25


SQL0181N • SQL0190N

SQL0181N Wartość łańcucha reprezentującego wartość SQL0182N Wyrażenie zawierające wartość


data-godzina jest spoza zakresu. data-godzina lub mianowany czas trwania
jest niepoprawne.
Objaśnienie:
Łańcuch reprezentujący datę, godzinę lub wartość datownika Objaśnienie:
zawiera wartość spoza dopuszczalnego zakresu. Podane wyrażenie zawiera niewłaściwie użytą datę, godzinę,
wartość datownika lub mianowany czas trwania.
Ten błąd mógł zostać spowodowany dostępem do wartości
data-godzina z aplikacji, w której używany jest kod terytorium Nie można wykonać instrukcji.
w formacie data-godzina innym niż używany w aplikacji, która
Działanie użytkownika:
go utworzyła. Na przykład, łańcuch typu data-godzina
Prześledź składnię instrukcji SQL, aby określić przyczynę
zapisany w formacie dd/mm/rrrr nie będzie poprawny, jeśli
problemu i popraw wyrażenie.
zostanie odczytany przez aplikację używającą formatu
mm/dd/rrrr.
kod_sql: -182
Poprawne zakresy wartości dla daty, godziny oraz datownika
są następujące: stan_sql: 42816
v od 0001 do 9999 dla lat,
v od 1 do 12 dla miesięcy, SQL0183N Operacja arytmetyczna lub funkcja
skalarna wykonana na wartościach
v od 1 do 31 dla dni w miesiącach o numerach 1, 3, 5, 7, 8, 10 daty/godziny zwróciła rezultat, który nie
oraz 12, mieści się w dopuszczalnym zakresie dat.
v od 1 do 30 dla dni w miesiącach o numerach 4, 6, 9, 11,
Objaśnienie:
v od 1 do 28 dla dni w miesiącu nr 2 w roku zwykłym, Rezultatem operacji arytmetycznej jest data lub przedział
v od 1 do 29 dla dni w miesiącu nr 2 w roku przestępnym, datownika spoza zakresu od 0001-01-01 do 9999-12-31.
v od 0 do 24 dla godzin; jeśli godzina ma wartość 24, inne
elementy czasu przyjmują wartość 0; jeśli używany jest Nie można wykonać instrukcji.
amerykański format czasu, godzina nie może być większa
Działanie użytkownika:
od 12,
Przeanalizuj instrukcję SQL, aby określić przyczynę błędu.
v od 0 do 59 dla minut, Jeśli problem jest zależny od danych, konieczne jest
v od 0 do 59 dla sekund, prześledzenie przetwarzania danych w momencie wystąpienia
v od 0 do 999999 dla mikrosekund, błędu.
v od 001 do 365 dla dnia w dacie kalendarza juliańskiego,
kod_sql: -183
jeśli rok nie jest rokiem przestępnym,
v od 001 do 366 dla dnia w dacie kalendarza juliańskiego, stan_sql: 22008
jeśli rok jest rokiem przestępnym.

Użytkownicy systemów stowarzyszonych: Problem może SQL0187N Błędne odwołanie do rejestru specjalnego
dotyczyć reprezentacji daty/godziny w źródle danych. bieżącej daty/godziny.
Zapoznaj się z dokumentacją źródła danych i sprawdź Objaśnienie:
dopuszczalne zakresy wartości dla daty i godziny. Jeśli Podczas pobierania informacji o dacie i godzinie system
przyczyna nie jest znana, zlokalizuj problem do źródła danych, operacyjny wysłał komunikat o błędzie.
które nie może zrealizować żądania (patrz podręcznik
Troubleshooting Guide) i sprawdź ograniczenia dotyczące Działanie użytkownika:
reprezentacji daty/godziny dla tego źródła danych. Sprawdź, czy systemowy zegar TOD oraz ustawienia strefy
czasowej są poprawne.
Nie można wykonać instrukcji.
kod_sql: -187
Działanie użytkownika:
Sprawdź, czy wartość mieści się w podanym zakresie i czy stan_sql: 22506
format wartości data-godzina obsługiwany przez aplikację jest
taki sam, jak format łańcucha.
SQL0190N W instrukcji ALTER TABLE nazwa-tabeli
kod_sql: -181 określono atrybuty kolumny nazwa-kolumny,
które nie są zgodne z istniejącą kolumną.
stan_sql: 22007 Objaśnienie:
Atrybuty określone w klauzuli ALTER COLUMN dla
kolumny nazwa-kolumny tabeli nazwa-tabeli w instrukcji

26 Komunikaty, tom 2
SQL0191N • SQL0193N

ALTER TABLE nie są zgodne z atrybutami istniejącej


SQL0191N Wystąpił błąd spowodowany fragmentacją
kolumny. Możliwe przyczyny zwrócenia błędu:
znaku typu MBCS.
v Jeśli dla istniejącej kolumny jest określona klauzula SET
DATA TYPE: Objaśnienie:
Możliwe przyczyny:
– nie można zmienić żadnego typu danych,
1. Dane użytkownika zawierają błędnie utworzony znak
– długość kolumny jest większa niż długość określona w
wielobajtowy. Na przykład, został znaleziony pierwszy
klauzuli,
bajt znaku DBCS, ale nie znaleziono drugiego znaku.
– typu danych nie można zmienić na nowy typ danych,
2. Funkcja skalarna, taka jak SUBSTR czy POSSTR,
– bieżącym typem danych jest niepoprawnie obcięła łańcuch znaków wielobajtowych. W
SYSPROC.DB2SECURITYLABEL i nie można go przypadku tych funkcji początek i długość muszą być
zmienić, poprawnie określone w bajtach, w zależności od
– typu danych nie można zmienić na konkretnej strony kodowej bazy danych. Dla baz danych
SYSPROC.DB2SECURITYLABEL. obsługujących stronę kodową Unicode częstą przyczyną
v Jeśli określono klauzulę SET EXPRESSION, istniejąca błędu jest niepoprawny początek lub długość łańcucha
kolumna UTF-8.
– nie jest zdefiniowana jako generowana przy użyciu 3. Funkcja skalarna, taka jak TRANSLATE, mogła zmienić
wyrażenia, łańcuch znaków wielobajtowych.

– jest częścią klucza partycjonowania.


Użytkownicy systemu stowarzyszonego: Ta sytuacja może
v Jeśli podano opcję DROP COLUMN SECURITY, kolumna również zostać wykryta przez źródło danych.
nie jest chroniona przez etykietę bezpieczeństwa.
Działanie użytkownika:
v Jeśli określono instrukcję DROP DEFAULT, kolumna nie
jest definiowana z atrybutami domyślnymi. 1. Popraw dane wejściowe i powtórz operację.
v Jeśli określono instrukcję DROP IDENTITY, kolumna nie 2. Zmień początek i długość łańcucha, tak aby po wykonaniu
jest definiowana jako kolumna tożsamości. konwersji do strony kodowej bazy danych znaki
wielobajtowe nie zostały obcięte w niewłaściwy sposób.
v Jeśli określono instrukcję DROP EXPRESSION, kolumna
nie jest definiowana z wyrażeniem generacji. 3. Popraw błędną funkcję TRANSLATE.
v Jeśli określono instrukcję SET DEFAULT, kolumna jest już
Użytkownicy systemów stowarzyszonych: Jeśli dane są
zdefiniowana z inną formą generowania (tożsamość lub
poprawne, zlokalizuj problem do źródła danych, które nie
wyrażenie) i nie ma odpowiadającej jej instrukcji DROP w
może zrealizować żądania (patrz podręcznik Troubleshooting
ramach tej samej instrukcji.
Guide), i sprawdź ograniczenia DBCS właściwe dla tego
v Jeśli określono instrukcję SET GENERATED ALWAYS AS źródła danych. Jeśli dane wydają się być poprawne, skontaktuj
(wyrażenie), kolumna jest już zdefiniowana z pewną formą się z serwisem firmy IBM, aby uzyskać pomoc.
generowania (domyślna, tożsamość lub wyrażenie) i nie ma
odpowiadającej jej instrukcji DROP w ramach tej samej kod_sql: -191
instrukcji.
v Jeśli określono instrukcje SET GENERATED ALWAYS AS stan_sql: 22504
IDENTITY lub SET GENERATED BY DEFAULT AS
IDENTITY, kolumna jest już zdefiniowana z pewną formą
generowania (domyślna, tożsamość lub wyrażenie) i nie ma SQL0193N W instrukcji ALTER TABLE kolumna
odpowiadającej jej instrukcji DROP w ramach tej samej nazwa-kolumny została podana jako NOT
instrukcji. NULL i albo nie została podana klauzula
DEFAULT, albo podano ją jako DEFAULT
v Jeśli określono instrukcję SET GENERATED ALWAYS lub
NULL.
SET GENERATED BY DEFAULT, kolumna nie jest
kolumną tożsamości lub kolumną datownika zmiany Objaśnienie:
wiersza. Podczas dodawania nowych kolumn do istniejącej tabeli,
nowej kolumnie należy przypisać wartość dla wszystkich
Nie można wykonać instrukcji. istniejących wierszy. Domyślnie przypisywana jest im wartość
pusta. Jednak ponieważ kolumna została zdefiniowana jako
Działanie użytkownika: NOT NULL, należy zdefiniować wartość domyślną inną niż
Popraw określone atrybuty, tak aby były zgodne z istniejącą wartość pusta.
kolumną, usuń specyfikację atrybutów lub określ inną nazwę
kolumny. Działanie użytkownika:
Usuń z kolumny ograniczenie NOT NULL lub podaj dla tej
kod_sql: -190 kolumny wartość domyślną inną niż wartość pusta.

stan_sql: 42837 kod_sql: -193

Rozdział 2. Komunikaty SQL 27


SQL0195N • SQL0199N

stan_sql: 42601 Działanie użytkownika:


Sprawdź, czy wszystkie nazwy kolumn w klauzuli ORDER
BY są niekwalifikowane.
SQL0195N Nie można usunąć ostatniej kolumny tabeli
nazwa-tabeli.
kod_sql: -197
Objaśnienie:
Próbowano usunąć co najmniej jedną kolumnę w ramach stan_sql: 42877
instrukcji ALTER TABLE. Nie można usunąć kolumn z tabeli
nazwa-tabeli, ponieważ co najmniej jedna z istniejących
kolumn musi zostać zachowana podczas modyfikowania SQL0198N Łańcuch instrukcji w instrukcji PREPARE
tabeli. lub EXECUTE IMMEDIATE jest
niewypełniony lub pusty.
Działanie użytkownika:
Sprawdź, czy tabela nazwa-tabeli będzie miała co najmniej Objaśnienie:
jedną kolumnę po wykonaniu instrukcji ALTER TABLE. Zmienna języka macierzystego, która była obiektem instrukcji
Usuń instrukcję DROP dla jednej z kolumn i spróbuj ponowić PREPARE lub EXECUTE IMMEDIATE zawiera same puste
żądanie lub, jeśli wszystkie kolumny mają zostać usunięte, znaki lub jest pustym łańcuchem.
usuń tabelę i utwórz ją ponownie.
Instrukcje PREPARE lub EXECUTE IMMEDIATE nie mogły
kod_sql: -195 zostać wykonane.
Działanie użytkownika:
stan_sql: 42814 Popraw oprogramowanie, tak aby operandem instrukcji
PREPARE lub EXECUTE IMMEDIATE przed ich
wykonaniem była poprawna instrukcja SQL.
SQL0196N Nie można usunąć kolumny nazwa-kolumny
w tabeli nazwa-tabeli. Kod przyczyny =
kod-przyczyny. kod_sql: -198

Objaśnienie: stan_sql: 42617


Próbowano usunąć kolumnę nazwa-kolumny. Przyczynę, dla
której nie można usunąć kolumny, zawiera kod przyczyny.
SQL0199N Użycie słowa zastrzeżonego słowo-kluczowe
1 Nie można usunąć kolumny, ponieważ jest ona po tekście tekst nie jest poprawne. Do
częścią wielowęzłowego klucza rozdzielania, klucza oczekiwanych elementów należą:
partycjonowania tabeli lub wymiaru organizacyjnego lista-elementów.
MDC.
Objaśnienie:
2 Nie można usunąć kolumny, ponieważ zależy od niej Wykryto błąd składni w instrukcji SQL w punkcie, w którym
kolumna generowana przez system. parametr zastrzeżony parametr pojawia się po elemencie tekst.
3 Nie można usunąć kolumny typu Pole tekst zawiera 20 znaków instrukcji SQL poprzedzających
SYSPROC.DB2SECURITYLABEL. parametr zastrzeżony. Klauzule występujące w instrukcji mogą
być podane w błędnej kolejności.
Działanie użytkownika:
1 Nie można usunąć kolumny, dopóki klucz lub Aby pomóc programiście, w polu SQLERRM obszaru
wymiary tabeli nie zostaną zmienione. komunikacyjnego SQL jako lista-elementów podano listę
niektórych poprawnych elementów. Założono, że do tego
2 Zmień wyrażenie generujące kolumnę zależną. miejsca instrukcja jest poprawna.
3 Usuń i ponowne utwórz tabelę bez kolumny typu
SYSPROC.DB2SECURITYLABEL. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -196 Sprawdź obszar parametru instrukcji. Dodaj brakujące
przecinki lub ograniczniki SQL. Sprawdź, czy klauzule
stan_sql: 42817 występują w prawidłowej kolejności. Jeśli podane w
komunikacie słowo zastrzeżone występuje na liście słów
zastrzeżonych, zapisz je jako identyfikator z ogranicznikami.
SQL0197N W klauzuli ORDER BY nie jest
dopuszczalna kwalifikowana nazwa
UWAGA: Ten błąd dotyczy tylko wersji produktu DB2
kolumny.
wcześniejszych niż wersja 2.
Objaśnienie:
Klauzula ORDER BY dla pełnej selekcji, która zawiera kod_sql: -199
operator mnogościowy (UNION, EXCEPT, INTERSECT) nie
może mieć kwalifikowanych nazw kolumn. stan_sql: 42601

28 Komunikaty, tom 2
SQL0203N • SQL0204N

Jeśli nazwa jest kwalifikowana, to funkcja nie istnieje.


SQL0203N Odwołanie do kolumny nazwa jest
Jeśli nazwa nie jest kwalifikowana, to w żadnym
niejednoznaczne.
schemacie bieżącej ścieżki nie istnieje funkcja o tej
Objaśnienie: nazwie.
Kolumna nazwa jest używana w instrukcji i istnieje więcej niż Należy zauważyć, że funkcja nie może być funkcją
jedna kolumna, do której może się ona odwoływać. Może to potomną następujących funkcji wbudowanych:
być wynikiem: COALESCE, DBPARTITIONNUM, GREATEST,
v podania w klauzuli FROM dwóch tabel mających kolumny HASHEDVALUE, LEAST, MAX (skalarna), MIN
o tej samej nazwie, (skalarna), NULLIF, RID, NVL, RAISE_ERROR,
v odwołania w klauzuli ORDER BY do nazwy, która TYPE_ID, TYPE_NAME, TYPE_SCHEMA lub
wskazuje na więcej niż jedną kolumnę na liście selekcji, VALUE.
v odwołania do kolumny z tabel tematów w instrukcji v Element o nazwie nazwa jest używany po prawej stronie
CREATE TRIGGER, nieużywającego nazwy korelacji do klauzuli UNDER w instrukcji CREATE SECURITY
wskazania, czy odwołuje się ono do starej czy nowej LABEL COMPONENT, ale jeszcze nie został zdefiniowany
zmiennej przejściowej. jako ROOT lub UNDER w ramach innego elementu.
v Element komponentu etykiety bezpieczeństwa o nazwie
Dla nazwy kolumny należy podać dalsze informacje służące nazwa nie został jeszcze zdefiniowany.
określeniu, o którą kolumnę tabeli chodzi. v W jednej z następujących funkcji skalarnych podano
strategię bezpieczeństwa, identyfikowaną przez nazwę
Nie można wykonać instrukcji. nazwa, która nie została zdefiniowana w bazie danych.
Działanie użytkownika: – SECLABEL
Dodaj do nazwy kolumny kwalifikator. Kwalifikator jest – SECLABEL_TO_CHAR
nazwą tabeli lub nazwą korelacji. Na liście instrukcji SELECT – SECLABEL_BY_NAME
może być niezbędna zmiana nazwy kolumny.
Kod powrotu mógł zostać wygenerowany dla obiektu bazy
kod_sql: -203 danych dowolnego typu.

stan_sql: 42702 Użytkownicy systemów stowarzyszonych: Obiekt


identyfikowany jako nazwa nie jest zdefiniowany w bazie
SQL0204N nazwa jest nazwą niezdefiniowaną. danych albo nazwa nie jest pseudonimem w instrukcji DROP
NICKNAME.
Objaśnienie:
Możliwe przyczyny błędu: Niektóre źródła danych nie dostarczają poprawnych wartości
v Obiekt identyfikowany przez nazwa nie jest zdefiniowany w parametru nazwa. W takich przypadkach znacznik komunikatu
bazie danych. ma następujący format: “OBJECT:<źródło danych>
v Partycja danych identyfikowana przez nazwa nie jest TABLE/VIEW”, oznaczający, że rzeczywista wartość
zdefiniowana w tabeli. podanego źródła danych nie jest znana.
v Typ danych jest w użyciu. Ten błąd może wystąpić w
następujących sytuacjach: Nie można wykonać instrukcji.
– Jeśli nazwa jest kwalifikowana, to typ danych o tej Działanie użytkownika:
nazwie nie istnieje w bazie danych. Sprawdź, czy nazwa obiektu (zawierająca wszystkie
– Jeśli nazwa nie jest kwalifikowana, to ścieżka wymagane kwalifikatory) istnieje w instrukcji SQL i czy
użytkownika nie zawiera schematu, do którego należy została poprawnie podana. Jeśli nazwa odwołuje się do
żądany typ danych. partycji danych, wyślij zapytanie do tabeli katalogu
SYSCAT.DATAPARTITIONS, aby znaleźć nazwy wszystkich
– W bazie danych nie ma typu danych z datownikiem partycji danych dla tabeli. Jeśli w klauzuli SOURCE brakuje
utworzenia wcześniejszym niż data wiązania pakietu typu danych albo funkcji, dany obiekt może nie istnieć LUB
(dotyczy instrukcji statycznych). może istnieć w pewnym schemacie, który nie występuje w
– Jeśli typ danych występuje w klauzuli UNDER instrukcji ścieżce.
CREATE TYPE, to nazwa typu mogła być taka sama,
jak definiowanego typu, co nie jest dopuszczalne. W przypadku instrukcji CREATE lub ALTER SECURITY
v Odwołanie do funkcji wystąpiło w: LABEL COMPONENT należy się upewnić, czy każdy
– instrukcji DROP FUNCTION, element określony jako wartość elementu odniesienia dla
pozycjonowania położenia nowej wartości elementu, już
– instrukcji COMMENT ON FUNCTION, istnieje w komponencie etykiety bezpieczeństwa.
– klauzuli SOURCE instrukcji CREATE FUNCTION.
W przypadku instrukcji CREATE SECURITY LABEL
COMPONENT należy się upewnić, że każdy element

Rozdział 2. Komunikaty SQL 29


SQL0205N • SQL0206N

używany jako element nadrzędny w klauzuli UNDER został v Dla instrukcji SELECT lub DELETE podana kolumna nie
wcześniej zdefiniowany albo jako ROOT, albo jako element jest kolumną żadnej z tabel ani widoków podanych w
potomny w klauzuli UNDER. klauzuli FROM w tej instrukcji.
v W instrukcji przypisania nie można przetłumaczyć nazwy
W przypadku funkcji skalarnych SECLABEL, odwołania na nazwę kolumny lub zmiennej.
SECLABEL_TO_CHAR lub SECLABEL_BY_NAME należy
v Dla klauzuli ORDER BY podana kolumna jest referencją
się upewnić, że dla argumentu nazwa-strategii-bezpieczeństwa
skorelowaną do kolumny w podselekcji, co nie jest
została określona poprawna strategia bezpieczeństwa.
dopuszczalne.
Użytkownicy systemów stowarzyszonych: Jeśli instrukcją jest v Dla instrukcji CREATE TRIGGER, CREATE METHOD
DROP NICKNAME, sprawdź, czy nazwa obiektu to lub CREATE FUNCTION:
rzeczywiście pseudonim. Obiekt może nie istnieć w – Odwołanie nazwa nie stanowi jednoznacznej nazwy
stowarzyszonej bazie danych lub w źródle danych. Sprawdź, kolumny, zmiennej lokalnej lub zmiennej przejściowej.
czy istnieją obiekty w stowarzyszonej bazie danych oraz w – Nazwa warunku nazwa podana w instrukcji SIGNAL nie
źródle danych. została zadeklarowana.
v Dla instrukcji CREATE TRIGGER:
kod_sql: -0204
– Przy użyciu nazwy korelacji OLD lub NEW tworzone
jest odwołanie do kolumny tabeli tematów.
stan_sql: 42704
– Lewa strona przypisania zmiennej przejściowej
instrukcji SET w wyzwalanym działaniu określa starą
SQL0205N Kolumna lub atrybut nazwa nie zostały zmienną przejściową, podczas gdy obsługiwana jest
zdefiniowane w obiekcie nazwa-obiektu. tylko nowa zmienna przejściowa.
Objaśnienie: v Dla instrukcji CREATE FUNCTION z klauzulą
Jeśli obiekt nazwa-obiektu jest tabelą lub widokiem, to nazwa PREDICATES:
jest kolumną, która nie została zdefiniowana w obiekcie – Instrukcja RETURN funkcji SQL odwołuje się do
nazwa-obiektu. Jeśli nazwa-obiektu jest typu strukturalnego, to zmiennej, która nie jest parametrem ani inną zmienną
nazwa jest atrybutem, który nie został zdefiniowany w należącą do zakresu instrukcji RETURN.
nazwa-obiektu.
– Klauzula FILTER USING odwołuje się do zmiennej,
która nie jest nazwą parametru ani nazwą wyrażenia w
Użytkownicy systemów stowarzyszonych: nazwa-obiektu
klauzuli WHEN.
może odwoływać się do pseudonimu.
– Cel wyszukiwania w zasadzie wykorzystywania indeksu
Nie można wykonać instrukcji. nie odpowiada jednej z nazw parametru tworzonej
funkcji.
Działanie użytkownika: – Argument wyszukiwania w zasadzie wykorzystywania
Jeśli nazwa-obiektu jest tabelą lub widokiem, sprawdź, czy indeksu nie odpowiada albo nazwie wyrażenia w
nazwy kolumny i tabeli lub widoku (zawierające wymagane klauzuli EXPRESSION AS, albo nazwie parametru
kwalifikatory) zostały poprawnie podane w instrukcji SQL. tworzonej funkcji.
Jeśli obiekt nazwa-obiektu jest typu strukturalnego, sprawdź,
czy nazwy atrybutu i typu (zawierające wymagane v Dla instrukcji CREATE INDEX EXTENSION klauzula
kwalifikatory) zostały podane poprawnie w instrukcji SQL. RANGE THROUGH lub FILTER USING odwołuje się do
zmiennej, która nie jest nazwą parametru i której można
użyć w danej klauzuli.
Ponadto jeśli błąd ten pojawi się w trakcie wykonywania
instrukcji REORG lub IMPORT, nazwy kolumn w indeksie
mogą naruszać reguły nazewnictwa menedżera bazy danych Nie można wykonać instrukcji.
zdefiniowane w podręczniku Administration Guide. Działanie użytkownika:
Sprawdź, czy nazwy w instrukcji SQL są poprawnie określone.
kod_sql: -205 Dla instrukcji SELECT sprawdź, czy wszystkie wymagane
tabele występują w klauzuli FROM. Dla podselekcji w
stan_sql: 42703 klauzuli ORDER BY sprawdź, czy nie ma referencji
skorelowanych kolumn. Jeśli dla tabeli jest używana nazwa
korelacji, sprawdź, czy następne odwołania używają nazwy
SQL0206N Obiekt nazwa jest niepoprawny w
korelacji, a nie nazwy tabeli.
kontekście, w którym jest używany.
Objaśnienie: Dla instrukcji CREATE TRIGGER sprawdź, czy po lewej
Ten błąd może wystąpić w następujących sytuacjach: stronie przypisań zmiennej przejściowej w instrukcji SET
v Dla instrukcji INSERT lub UPDATE podana kolumna nie podane są tylko nowe zmienne przejściowe oraz czy dla
jest kolumną tabeli ani widokiem, który został podany jako każdego odwołania do kolumn w tabeli tematów została
obiekt do wstawienia lub aktualizacji. podana nazwa korelacji.

30 Komunikaty, tom 2
SQL0207N • SQL0214N

kod_sql: -206 Jeśli instrukcją jest CREATE TRIGGER, klauzula


REFERENCING może mieć podaną taką samą nazwę jako
stan_sql: 42703 tabelę tematów lub może mieć taką samą nazwę dla więcej niż
jednej nazwy korelacji OLD lub NEW albo identyfikatora
NEW_TABLE lub OLD_TABLE.
SQL0207N Nazwa kolumny nie jest dopuszczalna w
klauzuli ORDER BY instrukcji SELECT
Nie można wykonać instrukcji.
używanej razem z operatorem
mnogościowym. Działanie użytkownika:
Przepisz klauzulę FROM instrukcji SELECT. Podaj taką
Objaśnienie:
tabelę, widok, alias lub nazwę korelacji, aby nie były one
Instrukcja SELECT z operatorem mnogościowym zawiera
identyczne z inną tabelą, widokiem, aliasem lub nazwą
klauzulę ORDER BY, która określa nazwy kolumn. W tym
korelacji występującą w klauzuli FROM.
przypadku lista kolumn w klauzuli ORDER BY musi zawierać
tylko liczby całkowite.
Dla instrukcji CREATE TRIGGER zmień nazwy w klauzuli
REFERENCING, tak aby nie było wśród nich duplikatów.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: -212
Na liście kolumn w klauzuli ORDER BY podaj tylko wartości
całkowite. stan_sql: 42712

UWAGA: Błąd ten dotyczy tylko wersji produktu DB2


SQL0213N Parametr nazwa-parametru nie istnieje w
wcześniejszych niż wersja 2 oraz hostów, do których dostęp
procedurze nazwa-procedury.
odbywa się przez program DB2 Connect.
Objaśnienie:
kod_sql: -207 Parametr o nazwie nazwa-parametru nie istnieje w procedurze
nazwa-procedury.
stan_sql: 42706
Działanie użytkownika:
Podaj nazwę istniejącego parametru procedury i wprowadź
SQL0208N Klauzula ORDER BY jest niepoprawna, ponownie instrukcję.
ponieważ kolumna nazwa nie jest częścią
tabeli wynikowej. kod_sql: -213
Objaśnienie:
stan_sql: 42703
Instrukcja jest niepoprawna, ponieważ kolumna nazwa podana
na liście klauzuli ORDER BY nie została podana na liście
klauzuli SELECT i nie występuje w tabeli wynikowej. Jeśli SQL0214N Wyrażenie w klauzuli ORDER BY na
pełna selekcja instrukcji SELECT nie jest podselekcją, do następującej pozycji lub zaczynające się od
uporządkowania tego wyniku mogą być używane tylko początek-wyrażenia-lub-pozycja w klauzuli
kolumny znajdujące się w tabeli wynikowej. typ-klauzuli nie jest poprawne. Kod
przyczyny = kod-przyczyny.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika: Wyrażenie identyfikowane przez pierwszą część wyrażenia
Aby poprawić składnię instrukcji, dodaj podaną kolumnę do początek-wyrażenia-lub-pozycji w klauzuli typu typ-klauzuli
tabeli wynikowej lub usuń ją z klauzuli ORDER BY. nie jest poprawne z uwagi na przyczynę określoną kodem
kod-przyczyny z następujących powodów:
kod_sql: -208
1 Pełna selekcja instrukcji selekcji nie jest
podselekcją. Dla tego typu instrukcji selekcji w
stan_sql: 42707 klauzuli ORDER BY nie są dopuszczalne wyrażenia.
Ten kod przyczyny pojawia się tylko wtedy, gdy
SQL0212N nazwa jest powielonym specyfikatorem typ-klauzuli to ORDER BY.
tabeli lub jest podana więcej niż jeden raz w 2 W klauzuli selekcji podano DISTINCT, a wyrażenia
klauzuli REFERENCING definicji nie można dopasować do wyrażenia z listy selekcji.
wyzwalacza. Ten kod przyczyny pojawia się tylko wtedy, gdy
Objaśnienie: typ-klauzuli to ORDER BY.
Podana tabela, widok, alias lub nazwa korelacji określona 3 Grupowanie jest spowodowane obecnością funkcji
przez nazwa jest identyczna z inną tabelą, widokiem, aliasem kolumnowej w klauzuli ORDER BY. Ten kod
lub nazwą korelacji występującą w tej samej klauzuli FROM. przyczyny pojawia się tylko wtedy, gdy typ-klauzuli
to ORDER BY.

Rozdział 2. Komunikaty SQL 31


SQL0216N • SQL0219N

4 Wyrażenie w klauzuli GROUP BY nie zawierać kod_sql: -214


selekcji skalarnej. Ten kod przyczyny pojawia się
tylko wtedy, gdy typ-klauzuli to GROUP BY. stan_sql: 42822
5 Lewostronny operator wyłuskiwania w klauzuli
GROUP BY nie może być funkcją wariantową. Ten SQL0216N Liczba elementów po obu stronach
kod przyczyny pojawia się tylko wtedy, gdy operatora predykatu jest różna.
typ-klauzuli to GROUP BY. Operatorem predykatu jest
operator-predykatu.
6 Klauzula ORDER BY nie może zawierać wyrażenia
XMLQUERY ani XMLEXISTS. Ten kod przyczyny Objaśnienie:
pojawia się tylko wtedy, gdy typ-klauzuli to ORDER Predykat zawiera listę elementów po lewej albo prawej stronie
BY. (lub po obu stronach) operatora predykatu. Liczba elementów
po obu stronach musi być taka sama. Elementy te mogą
7 Klauzula GROUP BY nie może zawierać wyrażenia
występować na liście wyrażeń ujętej w nawiasy lub jako
XMLQUERY ani XMLEXISTS. Ten kod przyczyny
elementy listy selekcji w pełnej selekcji.
pojawia się tylko wtedy, gdy typ-klauzuli to GROUP
BY.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji. Działanie użytkownika:
Popraw predykat zawierający błędną liczbę elementów po obu
Działanie użytkownika:
stronach operatora predykatu.
Zmodyfikuj instrukcję selekcji, uwzględniając przyczynę
określoną przez kod-przyczyny w następujący sposób:
kod_sql: -216
1 Usuń wyrażenie z klauzuli ORDER BY. Jeśli
próbujesz wskazać kolumnę wynikową, zmień klucz stan_sql: 428C4
sortowania do postaci prosty_integer lub
prosta_nazwa_kolumny.
SQL0217W Instrukcja nie została wykonana, ponieważ
2 Usuń wyrażenie DISTINCT z klauzuli selekcji lub są przetwarzane tylko żądania informacji
zmień klucz sortowania do postaci prosty_integer dotyczące wyjaśnień.
lub prosta_nazwa_kolumny.
Objaśnienie:
3 Dodaj klauzulę GROUP BY lub usuń funkcję Bieżąca wartość jednego z rejestrów specjalnych wyjaśnień
kolumnową z klauzuli ORDER BY. (Explain) została ustawiona na EXPLAIN. Wartość ta
4 Usuń wszystkie selekcje skalarne z klauzuli GROUP umożliwia przygotowanie i wyjaśnienie dynamicznych
BY. Jeśli grupowanie ma się opierać na kolumnie instrukcji SQL, ale zapobiega wykonaniu instrukcji
wyników utworzonej w selekcji skalarnej, użyj dynamicznych.
zagnieżdżonego wyrażenia tabelowego lub Działanie użytkownika:
wspólnego wyrażenia tabelowego, aby najpierw Zmień wartość odpowiedniego rejestru wyjaśnień na inną niż
utworzyć tabelę wynikową z wyrażeniem EXPLAIN, wydając odpowiednią instrukcję SET z interfejsu
umieszczonym w jej kolumnie. aplikacji, która napotkała ten warunek.
5 Usuń wszystkie funkcje wariantowe z lewej strony
operatorów wyłuskiwania w klauzuli GROUP BY. kod_sql: +217

6 Usuń wyrażenie XMLQUERY lub XMLEXISTS z stan_sql: 01604


klauzuli ORDER BY. Jeśli potrzebne jest
porządkowanie według kolumny z wynikami
wyrażenia XMLQUERY lub XMLEXISTS, użyj SQL0219N Żądana tabela wyjaśniania nazwa nie
zagnieżdżonego wyrażenia tabelowego lub istnieje.
wspólnego wyrażenia tabelowego, aby najpierw Objaśnienie:
utworzyć tabelę wynikową z wyrażeniem jako Funkcja wyjaśniania została wywołana, ale nie odnalazła
kolumną wyników. wymaganej tabeli wyjaśniania o nazwie nazwa. Przed
7 Usuń wyrażenie XMLQUERY lub XMLEXISTS z wywołaniem funkcji wyjaśniania muszą zostać utworzone
klauzuli GROUP BY. Jeśli potrzebne jest tabele wyjaśniania.
grupowanie według kolumny z wynikami wyrażenia Działanie użytkownika:
XMLQUERY lub XMLEXISTS, użyj Utwórz wymagane tabele wyjaśniania. Instrukcje języka SQL
zagnieżdżonego wyrażenia tabelowego lub DDL (Data Definition Language), niezbędne do utworzenia
wspólnego wyrażenia tabelowego, aby najpierw tabel wyjaśniania, są dostępne w pliku o nazwie
utworzyć tabelę wynikową z wyrażeniem jako EXPLAIN.DDL w katalogu misc znajdującym się w sqllib.
kolumną wyników.
kod_sql: -219

32 Komunikaty, tom 2
SQL0220N • SQL0225N

stan_sql: 42704 Działanie użytkownika:


Należy wydać instrukcję FETCH, aby ustalić pozycję kursora
na wierszu, który nie jest dziurą.
SQL0220N Kolumna nazwa2 w tabeli wyjaśniania
nazwa nie jest poprawnie zdefiniowana lub
kod_sql: -222
nie istnieje.
Objaśnienie: stan_sql: 02502, 24510
Funkcja wyjaśniania została wywołana, ale tabela wyjaśniania
o nazwie nazwa nie ma oczekiwanej definicji. Definicja może
być błędna wskutek: SQL0224N Tabela wynikowa kursora nazwa-kursora nie
zgadza się z tabelą bazową.
v zdefiniowania błędnej liczby kolumn (jeśli nazwa2 jest
liczbą), Objaśnienie:
v przypisania do kolumn błędnego typu danych (jeśli nazwa2 Podjęto próbę wykonania pozycyjnej operacji UPDATE lub
jest nazwą kolumny). DELETE przy użyciu kursora nazwa-kursora, zdefiniowanego
jako SENSITIVE STATIC wobec wiersza, w którym wartości
v Niepoprawny identyfikator CCSID tabeli. kolumn w tabeli wynikowej nie pasują do bieżących wartości
Działanie użytkownika: w wierszu tabeli bazowej. Niedopasowanie wierszy wynika z
Popraw definicje podanej tabeli wyjaśniania. Instrukcje języka faktu, że wiersz tabeli bazowej został zmodyfikowany w
SQL DDL (Data Definition Language), niezbędne do czasie między jego pobraniem do tabeli wynikowej a
utworzenia tabel wyjaśniania, są dostępne w pliku o nazwie momentem przetwarzania pozycyjnej operacji UPDATE lub
EXPLAIN.DDL w katalogu misc znajdującym się w sqllib. DELETE.

kod_sql: -220 Nie można wykonać instrukcji. Pozycja kursora pozostaje bez
zmiany.
stan_sql: 55002 Działanie użytkownika:
Zmień poziomy izolacji w taki sposób, aby uniemożliwić
SQL0222N Podjęto próbę wykonania operacji na aktualizację wiersza tabeli bazowej w trakcie operacji
dziurze przy użyciu kursora nazwa-kursora. wykonywanych na kursorze lub zmodyfikuj aplikację,
wprowadzając do niej instrukcję FETCH INSENSITIVE i
Objaśnienie: spróbuj ponownie wykonać pozycyjną operację UPDATE lub
Jeśli zmienna SQLSTATE ma wartość 24510, oznacza to DELETE.
wystąpienie błędu. Podjęto próbę pozycyjnej aktualizacji lub
pozycyjnego usunięcia za pomocą kursora nazwa kursora, kod_sql: -224
który został zdefiniowany jako SENSITIVE STATIC, a
bieżący wiersz został zidentyfikowany jako dziura po stan_sql: 24512
usunięciu lub dziura po aktualizacji. Przy próbie aktualizacji
lub usunięcia wiersza w bazie danych, który odpowiada
bieżącemu wierszowi tabeli wynikowej dla kursora SQL0225N Instrukcja FETCH dla kursora
nazwa-kursora wykryto dziurę, co oznacza, że odpowiedni nazwa-kursora nie jest poprawna, ponieważ
wiersz tabeli bazowej już nie istnieje. kursor nie jest zdefiniowany z atrybutem
SCROLL.
Jeśli zmienna SQLSTATE ma wartość 02502, oznacza to Objaśnienie:
ostrzeżenie. Wykryto dziurę po usunięciu lub dziurę po Instrukcja FETCH dla kursora nieprzewijalnego
aktualizacji podczas operacji pobierania dla kursora nazwa-kursora zawiera jeden z następujących parametrów,
nazwa-kursora. Przy próbie ponownego pobrania wiersza z używanych tylko w odniesieniu do kursorów przewijalnych:
bazy danych, który odpowiada bieżącemu wierszowi tabeli PRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT,
wynikowej dla kursora nazwa-kursora wykryto dziurę, co ABSOLUTE lub RELATIVE. Kursor nieprzewijalny pozwala
oznacza, że odpowiedni wiersz tabeli bazowej już nie istnieje. na użycie wyłącznie słowa kluczowego NEXT. Nie pobrano
Brak danych wynikowych. żadnych danych.

Dziura po usunięciu jest wynikiem usunięcia odpowiedniego Nie można wykonać instrukcji. Pozycja kursora pozostaje bez
wiersza w tabeli bazowej. zmiany.

Dziura po aktualizacji jest wynikiem zmodyfikowania Działanie użytkownika:


odpowiedniego wiersza w tabeli bazowej w taki sposób, że Zmień instrukcję FETCH, usuwając z niej parametr
zmodyfikowany wiersz nie spełnia już warunków określający kierunek pobierania, jak PRIOR lub FIRST, i
wyszukiwania określonych w instrukcji SELECT kursora. zastępując je słowem NEXT. Można też zmienić definicję
kursora, nadając mu atrybut przewijalności.
Nie można wykonać instrukcji. Kursor wskazuje na dziurę.
kod_sql: -225

Rozdział 2. Komunikaty SQL 33


SQL0227N • SQL0237W

stan_sql: 42872
SQL0231W Bieżąca pozycja kursora nazwa-kursora nie
jest poprawna dla operacji FETCH
SQL0227N Instrukcja FETCH NEXT, PRIOR, odnoszącej się do bieżącego wiersza.
CURRENT lub RELATIVE nie jest
Objaśnienie:
dozwolona, ponieważ pozycja kursora
Wydano instrukcję FETCH CURRENT lub FETCH
nazwa-kursora nie jest znana (kod_sql,
RELATIVE 0 w odniesieniu do przewijalnego kursora
stan_sql).
nazwa-kursora. Operacja nie jest poprawna, ponieważ kursor
Objaśnienie: nie znajduje się w pozycji odpowiadającej wierszowi tabeli
Nie jest znana pozycja kursora nazwa-kursora. Poprzednia wynikowej. Wykonanie operacji pobrania bieżącego wiersza
wielowierszowa operacja FETCH dla kursora nazwa-kursora nie jest dozwolone po wykonaniu instrukcji FETCH BEFORE
przerwana została błędem (SQLCODE kod_sql, SQLSTATE lub FETCH AFTER, a także po wykonaniu instrukcji FETCH,
stan_sql) w trakcie przetwarzania pobranych wierszy. Po w wyniku której został zwrócony kod SQLCODE równy +100.
wystąpieniu błędu przynajmniej jeden z wierszy wynikowych
nie mógł zostać przekazany do aplikacji, przez co pozycja Nie można wykonać instrukcji. Pozycja kursora pozostaje bez
kursora pozostaje nieznana. zmiany.
Działanie użytkownika:
Gdyby przy poprzedniej wielowierszowej operacji FETCH
Przed próbą pobrania bieżącego wiersza sprawdź, czy kursor
została podana struktura indykatorów, zwrócony zostałby
znajduje się na pozycji odpowiadającej wierszowi tabeli
dodatni kod SQLCODE i wszystkie pobrane wiersze mogłyby
wynikowej.
zostać zwrócone do aplikacji.
kod_sql: +231
Nie można wykonać instrukcji. Pozycja kursora pozostaje bez
zmiany.
stan_sql: 02000
Działanie użytkownika:
Zamknij i ponownie otwórz kursor, aby zresetować jego
SQL0236W Obszar deskryptorów SQL zawiera jedynie
pozycję. W wypadku kursorów przewijalnych można zmienić
liczba-całkowita1 pozycji SQLVAR. Dla
instrukcję FETCH, podając inne słowo kluczowe określające
kolumn w liczbie liczba-całkowita3
kierunek, na przykład FIRST, LAST, BEFORE, AFTER lub
wymagane są wpisy SQLVAR w liczbie
ABSOLUTE, aby ustalić poprawną pozycję kursora i pobrać
liczba-całkowita2. Nie skonfigurowano
wiersz danych.
pozycji SQLVAR.
kod_sql: -227 Objaśnienie:
Wartość pola SQLN należącego do obszaru deskryptorów
stan_sql: 24513 SQL, powinna być co najmniej równa liczbie kolumn tabeli
wynikowej.
SQL0228N W klauzuli FOR UPDATE podano kursor
Menedżer baz danych nie skonfigurował żadnych pozycji
przeznaczony tylko do odczytu
SQLVAR (a flaga SQLDOUBLED została ustawiona w
nazwa-kursora.
pozycji ″wyłączony″, tzn. ma wpisany znak odstępu).
Objaśnienie:
Działanie użytkownika:
Kursor nazwa-kursora został zdefiniowany z atrybutami
Zwiększ wartość pola SQLN należącego do obszaru
INSENSITIVE SCROLL, podczas gdy odpowiednia instrukcja
deskryptorów SQL do wartości podanej w komunikacie (pod
SELECT zawiera klauzulę FOR UPDATE.
warunkiem, że obszar deskryptorów SQL jest wystarczająco
duży) i wprowadź ponownie instrukcję.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: +236
Aby zdefiniować kursor przeznaczony tylko do odczytu, w
deklaracji kursora należy podać atrybut INSENSITIVE, lecz stan_sql: 01005
nie należy umieszczać klauzuli FOR UPDATE w instrukcji
SELECT kursora.
SQL0237W Obszar deskryptorów SQL zawiera jedynie
liczba-całkowita1 pozycji SQLVAR.
kod_sql: -228
Ponieważ co najmniej jedna z kolumn
została opisana jako typ odrębny, należy
stan_sql: 42620 podać liczba_2 pozycji SQLVAR. Nie
skonfigurowano żadnych pozycji Secondary
SQLVAR.
Objaśnienie:

34 Komunikaty, tom 2
SQL0238W • SQL0243N

Ponieważ co najmniej jedna z kolumn w tabeli wynikowej jest Objaśnienie:


typu odrębnego, należy zapewnić miejsce dla dwa razy Jeśli jakakolwiek z kolumn w tabeli wynikowej jest typu
większej liczby pozycji SQLVAR niż liczba kolumn tabeli odrębnego lub typu referencyjnego, trzeba wstawić spacje dla
wynikowej. Menedżer baz danych skonfigurował tylko dwa razy tylu pozycji SQLVAR, ile wynosi liczba kolumn w
pozycje Base SQLVAR (a flaga SQLDOUBLED została tabeli wynikowej.
ustawiona w pozycji ″wyłączony″ (tzn. ma wpisany znak
odstępu). Menedżer bazy danych nie skonfigurował żadnych pozycji
SQLVAR (a flaga SQLDOUBLED została ustawiona w
Działanie użytkownika:
pozycji ″wyłączony″, tzn. ma wpisany znak odstępu).
Jeśli nie są potrzebne dodatkowe informacje dotyczące typów
odrębnych tabeli wynikowej, nie jest wymagane żadne Działanie użytkownika:
działanie. Jeśli wymagane są dodatkowe informacje o typie Jeśli wymagane są informacje o typie odrębnym lub typie
odrębnym, wartość pola SQLN w obszarze deskryptorów SQL referencyjnym, wartość pola SQLN w obszarze deskryptorów
powinna być zwiększona do wartości podanej w komunikacie SQL powinna zostać zwiększona do wartości wskazanej w
(po upewnieniu się, że obszar deskryptorów SQL jest komunikacie (po upewnieniu się, że obszar deskryptorów SQL
wystarczająco duży, aby obsłużyć tę liczbę) i instrukcja jest wystarczająco duży), a instrukcja powinna zostać
powinna być ponownie wprowadzona. wprowadzona ponownie. Jeśli dodatkowe informacje o typie
odrębnym lub typie referencyjnym w tabeli wynikowej nie są
kod_sql: +237 potrzebne, można ponownie wprowadzić instrukcję, podając
wystarczająco dużo pozycji SQLVAR, aby uwzględnić liczbę
stan_sql: 01594 kolumn w tabeli wynikowej.

kod_sql: +239
SQL0238W Obszar deskryptorów SQL zawiera jedynie
liczba-całkowita1 pozycji SQLVAR.
stan_sql: 01005
Ponieważ co najmniej jedna z opisywanych
kolumn jest typu LOB lub typu
strukturalnego, dla kolumn w liczbie SQL0242N Obiekt o nazwie nazwa-obiektu typu
liczba-całkowita3 wymagane są pozycje typ-obiektu został podany na liście obiektów
SQLVAR w liczbie liczba-całkowita2. Nie więcej niż jeden raz.
skonfigurowano pozycji SQLVAR.
Objaśnienie:
Objaśnienie: Na liście zawierającej nazwy obiektów typu typ-obiektu obiekt
Ponieważ co najmniej jedna z kolumn w tabeli wynikowej jest o nazwie nazwa-obiektu został podany więcej niż raz.
obiektem LOB lub typem strukturalnym, trzeba wstawić spacje Instrukcja jednak nie może zostać wykonana na obiekcie
dla dwa razy tylu pozycji SQLVAR, ile wynosi liczba kolumn więcej niż jeden raz.
w tabeli wynikowej. Należy również wziąć pod uwagę, że
jedna lub więcej kolumn w tabeli wynikowej może być typu Działanie użytkownika:
odrębnego. Usuń powtarzający się obiekt z listy nazw obiektów.

Menedżer bazy danych nie skonfigurował żadnych pozycji kod_sql: -242


SQLVAR (a flaga SQLDOUBLED została ustawiona w
pozycji ″wyłączony″, tzn. ma wpisany znak odstępu). stan_sql: 42713

Działanie użytkownika:
Zwiększ wartość pola SQLN należącego do obszaru SQL0243N Dla podanej instrukcji SELECT nie jest
deskryptorów SQL do wartości podanej w komunikacie (pod możliwe zdefiniowanie kursora
warunkiem, że obszar deskryptorów SQL jest wystarczająco nazwa-kursora z atrybutem SENSITIVE.
duży) i wprowadź ponownie instrukcję. Objaśnienie:
Kursor nazwa-kursora jest zdefiniowany jako SENSITIVE,
kod_sql: +238 lecz treść instrukcji SELECT wymaga utworzenia przez
program DB2 dla tego kursora tymczasowej tabeli wynikowej,
stan_sql: 01005 przy czym nie jest możliwe zagwarantowanie, że widoczne w
niej będą zmiany wprowadzone poza tym kursorem. Sytuacja
ta jest efektem zapytania, które powoduje utworzenie tabeli
SQL0239W Obszar deskryptorów SQL zawiera jedynie
wynikowej przeznaczonej tylko do odczytu. Tabela wynikowa
liczba-całkowita1 pozycji SQLVAR.
jest przeznaczona tylko do odczytu na przykład wtedy, gdy
Ponieważ co najmniej jedna z opisywanych
zapytanie zawiera łączenie. W takich przypadkach kursor musi
kolumn jest typu odrębnego lub typu
być zdefiniowany jako INSENSITIVE lub ASENSITIVE.
referencyjnego, dla kolumn w liczbie
liczba-całkowita3 wymagane są pozycje
SQLVAR w liczbie liczba-całkowita2. Nie Nie można wykonać instrukcji.
skonfigurowano pozycji SQLVAR. Działanie użytkownika:

Rozdział 2. Komunikaty SQL 35


SQL0244N • SQL0259N

Zmień treść zapytania w taki sposób, aby tabela wynikowa nie kod_sql: -257
była przeznaczona tylko do odczytu, albo zmień typ kursora na
INSENSITIVE lub ASENSITIVE. stan_sql: 42994

kod_sql: -243
SQL0258N Operacje w kontenerze nie mogą być
wykonywane w czasie oczekiwania na
stan_sql: 36001
przeprowadzenie równoważenia obszaru
tabel lub w trakcie trwania tej operacji.
SQL0244N Opcja SENSITIVITY poziom rozpoznania
Objaśnienie:
określona dla instrukcji FETCH nie jest
Występuje jedna z podanych poniżej sytuacji:
poprawna dla kursora nazwa-kursora.
1. Instrukcja ALTER TABLESPACE obejmująca operacje na
Objaśnienie: kontenerze została wcześniej wydana przez tę lub inną
Opcja poziomu rozpoznania poziom rozpoznania, określona aplikację i nie została jeszcze zatwierdzona.
dla instrukcji FETCH, jest sprzeczna z opcją poziomu
2. Instrukcja ALTER TABLESPACE obejmująca operacje na
rozpoznania obowiązującą dla kursora nazwa-kursora. Poniżej
kontenerze została wydana i zatwierdzona, a obszar tabel
zestawiono opcje czułości, dostępne dla instrukcji FETCH:
jest obecnie równoważony.

DECLARE CURSOR Działanie użytkownika:


Instrukcja FETCH 1. Jeśli to możliwe, wycofaj niezatwierdzoną jednostkę pracy
INSENSITIVE INSENSITIVE i wydaj jedną instrukcję ALTER TABLESPACE, aby
SENSITIVE STATIC SENSITIVE przeprowadzić wszystkie operacje na kontenerze. W
lub INSENSITIVE
innym wypadku poczekaj, aż zostanie zakończone
SENSITIVE DYNAMIC SENSITIVE
SENSITIVE SENSITIVE przeprowadzanie równoważenia i powtórz operację.
ASENSITIVE INSENSITIVE Uwaga: nie można jednocześnie dodawać i usuwać stron z
lub SENSITIVE obszaru tabel w ramach tej samej instrukcji ALTER
(zależnie od TABLESPACE.
faktycznego 2. Poczekaj, aż zostanie zakończone przeprowadzanie
poziomu rozpoznania równoważenie i powtórz operację.
kursora)
kod_sql: -258
W wypadku kursora nieprzewijalnego określanie opcji
poziomu rozpoznania nie jest możliwe.
stan_sql: 55041
Nie można wykonać instrukcji.
SQL0259N Mapa kontenera dla obszaru tabel jest zbyt
Działanie użytkownika:
skomplikowana.
Zmień lub usuń opcję poziomu rozpoznania podaną w
instrukcji FETCH. Objaśnienie:
Mapa struktury przechowuje informacje o sposobie
kod_sql: -244 odwzorowania przestrzeni adresowej obszaru tabel na różne
kontenery. Jeśli staje się ona zbyt skomplikowana, nie mieści
stan_sql: 428F4 się w pliku obszaru tabel.
Działanie użytkownika:
SQL0257N Kontenery urządzeń surowych nie są Może zajść konieczność wykonania równoważenia obszaru
obsługiwane. tabel, aby bardziej równomiernie rozłożyć dane pomiędzy
kontenerami. Może to uprościć odwzorowanie.
Objaśnienie:
Podjęto próbę użycia kontenerów urządzeń (DEVICE), jednak Jeśli ta metoda zawiedzie, spróbuj utworzyć tak wiele, jak to
w sytuacji, gdy spełniony jest jeden z poniższych warunków: jest możliwe, kontenerów o tej samej wielkości. Wielkość
v Urządzenia surowe nie są aktualnie obsługiwane na tej istniejących kontenerów można zmienić za pomocą narzędzi
platformie. do administrowania bazą danych, jeśli wcześniej utworzy się
v W komendzie SET TABLESPACE CONTAINERS nie kopię zapasową obszaru tabel. Odtwórz obszar tabel dla
można wskazywać kontenerów urządzeń surowych na nowych kontenerów.
potrzeby obszarów tabel z automatyczną zmianą wielkości.
kod_sql: -259
Działanie użytkownika:
Podczas tworzenia obszaru tabel używaj kontenerów typu
stan_sql: 54037
FILE lub obszarów tabel zarządzanych przez system. W
przypadku komendy SET TABLESPACE CONTAINERS
należy użyć kontenerów typu FILE.

36 Komunikaty, tom 2
SQL0260N • SQL0265N

stan_sql: 428A2
SQL0260N Kolumna nazwa-kolumny nie może należeć
do klucza rozdzielania ani do klucza
partycjonowania tabeli, ponieważ jest to SQL0263N Zakres węzłów od numer-węzła1 do
kolumna typu LONG, DATALINK, XML numer-węzła2 nie jest poprawny. Numer
lub kolumna typu strukturalnego. drugiego węzła musi być większy niż numer
pierwszego węzła.
Objaśnienie:
Klucz rozdzielania ani klucz partycjonowania tabeli nie mogą Objaśnienie:
zawierać kolumny typu LONG, DATALINK, XML ani Podany zakres węzłów jest niepoprawny.
kolumny typu strukturalnego.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika: Popraw zakres węzłów i podaj instrukcję ponownie.
Nie używaj kolumn typu LONG, DATALINK, XML ani
kolumn typu strukturalnego dla klucza rozdzielania ani dla kod_sql: -263
klucza partycjonowania tabeli.
stan_sql: 428A9
Jeśli tabela jest rozdzielona i zawiera wyłącznie kolumny typu
LONG, DATALINK, XML lub typu strukturalnego, albo
dodaj do tabeli nową kolumnę, która będzie się nadawała na SQL0264N Klucz partycjonowania nie może zostać
klucz rozdzielania, albo zdefiniuj tabelę bez klucza dodany ani usunięty, ponieważ tabela
rozdzielania w jednej grupie partycji bazy danych. Jeśli tabela znajduje się w obszarze tabel
jest partycjonowana i zawiera wyłącznie kolumny typu LONG, zdefiniowanym w grupie wielu węzłów
DATALINK lub typu strukturalnego, albo dodaj do tabeli nazwa.
kolumnę, która będzie się nadawała na klucz partycjonowania Objaśnienie:
tabeli, albo zdefiniuj tabelę niepartycjonowaną. Dodanie lub usunięcie klucza partycjonowania może dotyczyć
wyłącznie tabeli w jednej grupie partycji bazy danych.
kod_sql: -260
Nie można wykonać instrukcji.
stan_sql: 42962
Działanie użytkownika:
Wykonaj jedną z następujących operacji i powtórz żądanie:
SQL0262N Tabeli nazwa-tabeli nie można utworzyć w
v Zdefiniuj identyczną tabelę z kluczem partycjonowania.
grupie partycji bazy danych nazwa-grupy,
ponieważ nie istnieje kolumna, której v Należy przeprowadzić redystrybucję grupy partycji bazy
można byłoby użyć jako klucza danych do pojedynczej grupy partycji bazy danych.
partycjonowania.
kod_sql: -264
Objaśnienie:
Tabeli nazwa-tabeli nie można utworzyć w grupie partycji stan_sql: 55037
bazy danych. Tabela musi zawierać co najmniej jedną
kolumnę, której można byłoby użyć jako klucza
partycjonowania. W kluczu partycjonowania nie można SQL0265N Węzeł numer-węzła jest powtórzony.
używać kolumn następujących typów danych:
Objaśnienie:
v LONG VARCHAR, LONG VARGRAPHIC, BLOB, Dla instrukcji CREATE NODEGROUP węzeł może pojawić
CLOB, DBCLOB, się tylko raz, w klauzuli ON NODES.
v DATALINK,
v typu strukturalnego, Dla instrukcji CREATE TABLESPACE oraz ALTER
TABLESPACE węzeł może wystąpić tylko raz i tylko w jednej
v typu danych zdefiniowanego przez użytkownika,
klauzuli ON NODES.
utworzonego na podstawie dowolnego spośród wyżej
wymienionych typów danych.
Dla instrukcji ALTER NODEGROUP lub dla komendy
REDISTRIBUTE NODEGROUP wystąpiła jedna z
Nie można wykonać instrukcji.
następujących sytuacji:
Działanie użytkownika: v w klauzulach ADD NODES lub DROP NODES węzeł
Utwórz tabelę z jedną lub więcej niż jedną kolumną, której pojawił się więcej niż jeden raz,
można użyć w kluczu partycjonowania, albo utwórz tabelę w
v węzeł pojawił się w obu klauzulach ADD NODES oraz
jednej grupie partycji bazy danych.
DROP NODES,
kod_sql: -262 v Węzeł wybrany do dodania już należy do grupy partycji
bazy danych.

Rozdział 2. Komunikaty SQL 37


SQL0266N • SQL0270N

Nie można wykonać instrukcji. v Nie można utworzyć nowych obiektów, ponieważ
wykonanie operacji REDISTRIBUTE powoduje usunięcie
Działanie użytkownika:
wszystkich starych partycji bazy danych w grupie partycji
Należy zapewnić unikalność nazw lub numerów partycji bazy
bazy danych.
danych w klauzuli ON NODES, ADD NODES lub DROP
NODES. Dla instrukcji CREATE TABLESPACE oraz ALTER v Nie można dodać nowych kolumn za pomocą instrukcji
TABLESPACE sprawdź, czy węzeł występuje tylko raz i tylko ALTER TABLE, ponieważ wykonanie operacji
w jednej klauzuli ON NODES. REDISTRIBUTE powoduje usunięcie wszystkich starych
partycji bazy danych w grupie partycji bazy danych.
Dodatkowo dla instrukcji ALTER NODEGROUP lub
komendy REDISTRIBUTE NODEGROUP: Nie można wykonać instrukcji.
v nie podawaj węzła jednocześnie w klauzulach ADD Działanie użytkownika:
NODES oraz DROP NODES, Poczekaj na zakończenie redystrybucji, a następnie powtórz
v Jeśli węzeł jest już zdefiniowany w grupie partycji bazy żądanie.
danych, należy go usunąć z klauzuli ADD NODES.
kod_sql: -268
kod_sql: -265
stan_sql: 55038
stan_sql: 42728
SQL0269N Baza danych zawiera maksymalną liczbę
SQL0266N Węzeł numer-węzła nie jest zdefiniowany. map partycjonowania.

Objaśnienie: Objaśnienie:
Węzeł numer-węzła jest niepoprawny ze względu na jedną z Ponieważ baza danych zawiera maksymalną liczbę map
następujących przyczyn: partycjonowania (32768), nie można już utworzyć kolejnej
grupy partycji bazy danych, ani dokonać modyfikacji lub
v numer węzła jest spoza dopuszczalnego zakresu od 0 do
redystrybucji grupy istniejącej.
999,
v węzeł nie znajduje się w pliku konfiguracyjnym węzłów, Nie można wykonać instrukcji.
v węzeł nie wchodzi w skład grupy partycji bazy danych, co
Działanie użytkownika:
uniemożliwia wykonanie tej operacji.
Należy usunąć przynajmniej jedną grupę partycji w tej bazie
danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Uwaga: usunięcie grupy partycji bazy danych jest
Zależnie od warunku: równoznaczne z usunięciem wszystkich obiektów
v wprowadź instrukcję, komendę lub funkcję API z rezydujących w tej grupie partycji, takich jak obszary tabel,
poprawnym zakresem liczby węzłów, tabele i widoki.
v postępuj zgodnie z procedurą, aby dodać węzeł do systemu,
kod_sql: -269
v usuń węzeł z węzłów określonych w instrukcji, komendzie
lub funkcji API. stan_sql: 54033

kod_sql: -266
SQL0270N Funkcja nie jest obsługiwana (kod
stan_sql: 42729 przyczyny = kod-przyczyny).
Objaśnienie:
SQL0268N Nie można wykonać operacji operacja Instrukcja nie może być wykonana, ponieważ narusza
podczas redystrybucji grupy partycji bazy ograniczenia, w sposób opisany następującym kodem
danych. przyczyny:

Objaśnienie: 1
Tej sytuacji może dotyczyć jedna z poniższych przyczyn, Klucz główny, każde ograniczenie przez unikalność i
zależnie od rodzaju operacji operacja: każdy indeks unikalny muszą zawierać wszystkie
v Grupa partycji bazy danych jest w trakcie redystrybucji i nie kolumny rozdzielania tabeli (kolumny mogą
można jej zmienić, usunąć ani wykonać redystrybucji, występować w dowolnej kolejności).
dopóki nie zakończy się bieżąca operacja.
2
v Klucz partycjonowania tabeli nie może zostać usunięty
podczas redystrybucji grupy partycji bazy danych. Aktualizacja kolumny klucza rozdzielania nie jest
obsługiwana.

38 Komunikaty, tom 2
SQL0270N

3 Typ parametru klucza źródłowego musi być typem


strukturalnym zdefiniowanym przez użytkownika
Jeśli klucz obcy został zdefiniowany z klauzulą ON
lub typem odrębnym, który nie pochodzi od typu
DELETE SET NULL, nie może zawierać kolumn
LOB, DATALINK, XML, LONG VARCHAR lub
klucza rozdzielania dopuszczających wartości puste.
LONG VARGRAPHIC.
Jest to specjalny przypadek kodu przyczyny 2,
ponieważ definiowanie takiego ograniczenia może 13
prowadzić do próby aktualizowania kolumny klucza
Dla tabeli o typie strukturalnym nie można
rozdzielania.
zdefiniować ograniczenia sprawdzającego albo dla
5 podanego widoku nie można podać klauzuli WITH
CHECK OPTION.
Widok utworzony przy użyciu klauzuli WITH
CHECK OPTION nie powinien używać funkcji (lub 14
odwoływać się do widoków używających funkcji),
Dla tabeli o typie strukturalnym ani dla tabeli
które:
nadrzędnej nie można zdefiniować ograniczeń
v są niedeterministyczne, referencyjnych.
v mają efekty uboczne,
15
v są związane z rozmieszczeniem danych (na
przykład numerem węzła lub funkcjami Dla kolumn typu referencyjnego nie można
partycjonowania). zdefiniować wartości domyślnej.
16
Funkcje te nie mogą być także obecne wewnątrz
widoków pokrewnych, jeśli nowy widok został Typ danych odwołania i strukturalny typ danych nie
utworzony z operacją sprawdzania CASCADED. może być używany jako typ danych parametru ani
zwracany typ danych funkcji zdefiniowanej przez
6 użytkownika przed wersją 7.1 programu DB2. W
Dla typu odrębnego zdefiniowanego przez nowszych wersjach typ danych odwołania o
użytkownika nie można zdefiniować transformacji. określonym zakresie lub typ danych tablicowych nie
może być używany jako typ danych parametru ani
7 zwracany typ danych procedury. Typ strukturalny
Długie pola można definiować tylko przy użyciu lub typ tablicowy nie może być używany jako
obszaru tabel o wielkości strony równej 4 kB. Do kolumna zwracana funkcji tabelowej ani funkcji
utworzenia obszaru tabel typu LARGE wierszowej.
TABLESPACE można używać wyłącznie stron o 17
wielkości 4 kB.
Nie można użyć instrukcji SET INTEGRITY w
8 odniesieniu do tabeli o typie strukturalnym.
Typy strukturalne nie są obsługiwane jako kolumny 18
tabeli ani typy danych atrybutów typu strukturalnego
przed wersją 7.1 programu DB2. Dla tabeli lub widoku o typie strukturalnym nie
można przydzielić uprawnień UPDATE ani
9 REFERENCE na poziomie kolumny.
Wyzwalacze nie są obsługiwane w tabelach o typie 19
strukturalnym.
Przy definiowaniu wartości domyślnych dla
10 kolumny tabeli o typie strukturalnym należy podać
Nie można zaznaczyć pojedynczego domyślnego określoną wartość domyślną.
obszaru tabel, ponieważ tabela zawiera jedną lub 20
więcej kolumn LOB, które muszą być umieszczone
w obszarze tabel o wielkości strony 4 kB, a rozmiar Instrukcja ALTER TABLE nie jest obsługiwana w
wiersza albo liczba kolumn wymagają obszaru tabel odniesieniu do zmaterializowanych tabel zapytania.
o wielkości strony równej 8 kB. 21
11 Nie można usunąć kolumny z tabeli, która jest tabelą
Nie można utworzyć tabeli lub widoku o typie podstawową dla zmaterializowanej tabeli zapytania,
strukturalnym przy użyciu typu strukturalnego, który ani też zmienić długości tej kolumny, typu danych,
nie ma atrybutów. zabezpieczeń i właściwości dopuszczania wartości
pustych.
12
22

Rozdział 2. Komunikaty SQL 39


SQL0270N

Zmaterializowanych tabel zapytania nie można referencyjnego z efektem kaskadowym (tj. z opcją
definiować w instrukcji CREATE SCHEMA. ON DELETE CASCADE lub ON DELETE SET
NULL).
23
34
Opcję REPLICATED można określić tylko dla
zmaterializowanej tabeli zapytania zdefiniowanej z W wydaniu bieżącym ta opcja obiektowo-relacyjna
opcją REFRESH DEFERRED. nie jest obsługiwana.
24 35
Wyzwalane działanie w wyzwalaczu BEFORE nie W bazie danych wersji 7 w środowisku
może się odwoływać do zmaterializowanej tabeli wielowęzłowym nie jest możliwe tworzenie
zapytania zdefiniowanej z opcją REFRESH sekwencji ani kolumny tożsamości.
IMMEDIATE.
36
25
Aktywacja wielowęzłowej bazy danych nie jest
W instrukcji SET INTEGRITY można określić tylko dozwolona, jeśli w bazie danych wersji 7 istnieją
jedną zmaterializowaną tabelę zapytania. sekwencje lub kolumny tożsamości.
26 38
Grupa węzłów podlegająca redystrybucji zawiera co Indeks korzystający z rozszerzenia indeksu nie jest
najmniej jedną replikowaną zmaterializowaną tabelę obsługiwany w grupie węzłów wielu partycji dla
zapytania. wersji programu DB2 wcześniejszych niż wersja 8.1
z pakietem poprawek 6.
27
39
Replikowanych zmaterializowanych tabel zapytania
nie można definiować na podstawie tabel nie Do pseudonimów i funkcji tabelowych OLE DB nie
mających unikalnego indeksu dla co najmniej jednej można odwoływać się bezpośrednio ani pośrednio w
z kolumn składających się na replikowaną treści funkcji SQL lub metody SQL.
zmaterializowaną tabelę zapytania.
40
28
Funkcji IDENTITY_VAL_LOCAL nie można użyć
Nie można zmienić nazwy tabeli o typie w wyzwalaczu ani w funkcji SQL.
strukturalnym ani zmaterializowanej tabeli
41
zapytania.
Instrukcja zmiennej SQL wykonuje jednocześnie
29
przypisanie dla zmiennej lokalnej i zmiennej
W instrukcji SET INTEGRITY nie można określić przejściowej. Taka operacja nie jest dopuszczalna.
klauzuli FOR EXCEPTION ze zmaterializowaną
42
tabelą zapytania.
Nie jest dozwolone wykonanie wyzwalacza, metody
30
lub funkcji z użyciem instrukcji sterujących SQL
W instrukcji CREATE SCHEMA nie można oraz wykonanie dynamicznej instrukcji złożonej
definiować tabel i widoków o typie strukturalnym. wielowęzłowej w bazie danych.
31 43
Nie można definiować klucza rozdzielania mającego Jedna lub więcej niż jedna żądana opcja nie jest
więcej niż 500 kolumn. obecnie obsługiwana.
32 44
Tabela zdefiniowana przy użyciu grupy węzłów Następujące tryby wyjaśniania (EXPLAIN MODES)
partycjonowania wielokrotnego lub grupy węzłów nie są obsługiwane systemach MPP, SMP i Data
partycjonowania pojedynczego w partycji innej niż Joiner:
partycja katalogu nie obsługuje kolumn DATALINK v COUNT CARDINALITIES
zdefiniowanych za pomocą FILE LINK CONTROL.
v COMPARE CARDINALITIES
33 v ESTIMATE CARDINALITIES
Tabela bazowa zmaterializowanej tabeli zapytania 45
zdefiniowanej z opcją REFRESH IMMEDIATE nie
może być tabelą potomną względem ograniczenia

40 Komunikaty, tom 2
SQL0270N

Tryb dopisywania (APPEND) nie jest obsługiwany Reorganizacja indeksu w trybie z połączeniem nie
w wypadku tabel wielowymiarowo klastrowych jest obsługiwana w wypadku indeksów
(MDC). przestrzennych w trybie dozwolonego zapisu
(ALLOW WRITE).
46
57
Reorganizacja tabeli INPLACE nie jest obsługiwana
w wypadku tabel wielowymiarowo klastrowych Reorganizacja indeksu w trybie online jest
(MDC). obsługiwana dla tabel w klastrach
wielowymiarowych (MDC) w trybie dozwolonego
47
zapisu (ALLOW WRITE) tylko wtedy, gdy podano
Rozszerzenia indeksu nie są obsługiwane w opcję CLEANUP ONLY.
wypadku tabel wielowymiarowo klastrowych
58
(MDC).
Dla bazy danych w wersji 8: Typ danych XML może
48
być używany tylko jako typ danych przejściowych;
Zmiany w specyfikacji wymiarów tabeli danych tego typu nie można zapisywać w bazie
wielowymiarowo klastrowej (MDC) nie są danych ani zwracać do aplikacji.
obsługiwane.
59
49
Funkcji lub metody zawierającej instrukcje SQL nie
Indeksy klastrowe nie są obsługiwane w wypadku można użyć w środowisku przetwarzania
tabel wielowymiarowo klastrowych (MDC). równoległego.

50 60
Tymczasowa tabela zdefiniowana przez Instrukcja ALTER TABLE ALTER COLUMN SET
użytkownika nie może być tabelą wielowymiarowo INLINE LENGTH nie jest dozwolona, ponieważ
klastrową (MDC). istnieje obiekt typu VIEW, określonego typu lub
beztypowy, który jest zależny od tabeli o typie
51 strukturalnym.
Instrukcja CREATE PROCEDURE z klauzulą 61
LANGUAGE SQL z niekatalogowej partycji bazy
danych nie jest obsługiwana. Funkcji wyszukiwania tekstu nie można używać w
wyrażeniu ograniczenia sprawdzającego ani w
52 kolumnach generowanych.
Wyrażenie oparte na generowanej kolumnie nie 62
może być modyfikowane ani dodane do kolumny,
która nie została wygenerowana przy użyciu Klauzula WITH CHECK OPTION nie może być
wyrażenia, jeśli ta kolumna jest kolumną klucza używana w wypadku widoków, które bezpośrednio
rozdzielania albo była używana w klauzuli odwołują się do funkcji wyszukiwania tekstu lub są
ORGANIZE BY, PARTITION BY lub zależne od innych widoków odwołujących się do
DISTRIBUTE BY. funkcji wyszukiwania tekstu.
53 63

W liście selekcji kursora przewijalnego nie można Na liście selekcji niewrażliwego kursora
określić kolumny typu LONG VARCHAR, LONG przewijalnego nie można określić kolumny z typem
VARGRAPHIC, DATALINK, LOB, XML, typu LOB, typem odrębnym typu LOB, kolumny typu
odrębnego pochodnego od dowolnego z tych typów LONG VARCHAR, LONG VARGRAPHIC,
ani typu strukturalnego. DATALINK, LOB, XML, typu odrębnego żadnego
z tych typów ani typu strukturalnego.
54
64
Reorganizacja tabeli INPLACE nie jest obsługiwana
w wypadku określonej tabeli katalogu systemowego. Na tej platformie przetwarzanie stowarzyszone nie
jest obsługiwane.
55
65
Obsługa stowarzyszonego systemu baz danych oraz
opcja koncentratora nie mogą być aktywne Zmiana typu lokalnego pseudonimu z typu
jednocześnie. bieżącego na określony nie jest dozwolona.
56 66

Rozdział 2. Komunikaty SQL 41


SQL0270N

Wbudowana grupa transformacji SYSSTRUCT nie Partycjonowane bazy danych nie mogą mieć
jest obsługiwana. włączonego mechanizmu automatycznej pamięci
masowej.
67
85
Celem instrukcji MERGE nie może być pseudonim
ani widok pseudonimów. Nie można dodawać dalszych partycji do baz danych
o jednej partycji z włączonym mechanizmem
68
automatycznej pamięci masowej.
W partycjonowanej bazie danych maksymalna liczba
87
odrębnych wyrażeń NEXT VALUE w instrukcji
SQL nie może przekraczać 55. Następujące typy tabel nie mogą być definiowane
jako tabele partycjonowane: tabele o typie
69
strukturalnym, tabele pomostowe, tabele
Usunięcie z widoku spowodowałoby, że tabela tymczasowe użytkownika ani tabele grupowane
podrzędna zostałaby powiązana w zakresie operacji zakresowo.
usuwania za pośrednictwem wielu ścieżek z co
88
najmniej dwoma tabelami, które występują w
definicji widoku. Ograniczenie sprawdzające lub Komenda REORG INDEXES lub REORG TABLE
wyzwalacz zdefiniowany dla tabeli podrzędnej nie jest obsługiwana dla tabeli partycjonowanej w
muszą być uruchamiane zgodnie z ostatecznym trybach ALLOW WRITE lub ALLOW READ
wynikiem, co nie jest gwarantowane. (chyba że w komendzie REORG INDEXES
określono opcję CLEANUP ONLY).
70
89
Nie można zmieniać długości kolumny w tabeli,
która jest tabelą podstawową dla widoku z włączoną Instrukcja REORG INDEX nie jest obsługiwana dla
optymalizacją zapytań. tabeli niepartycjonowanej.
71 90
W środowisku równoległym nie można użyć Nie można podać klauzuli PARTITIONED dla
instrukcji CALL w wyzwalaczu, funkcji SQL, instrukcji CREATE INDEX, ponieważ indeksy
metodzie SQL lub w złożonej instrukcji partycjonowane nie są obsługiwane.
dynamicznej.
91
72
Nie można przetworzyć instrukcji, ponieważ opcja
Kolumny z dopuszczalnymi wartościami pustymi nie DATA CAPTURE CHANGES nie jest obsługiwana
można zmienić w kolumnę tożsamości. dla tabeli, która ma słownik kompresji.
73 92
Obrazy kopii zapasowych w środowisku Odłączenie od tabeli, która jest tabelą nadrzędną
partycjonowanej bazy danych nie mogą zawierać wymuszonego ograniczenia spójności referencyjnej,
dzienników. jest niedozwolone.
74 93
Aktualizowanie pola statusu w pliku historii Odłączenie partycji jest niedozwolone w przypadku
odtwarzania przy użyciu datownika jest partycji zawierających dane dopisane przy użyciu
niedozwolone. komendy LOAD INSERT i mających zależne
zmaterializowane tabele zapytania lub tabele
75
pomostowe, które nie były przyrostowo odświeżane
Automatyczne profilowanie danych statystycznych w celu uwzględnienia dopisanych danych.
nie jest obsługiwane w systemach partycjonowanych
95
baz danych, w systemach z włączonym
mechanizmem SMP oraz w systemach Tabeli z dołączoną partycją, której integralność nie
stowarzyszonych. została jeszcze zweryfikowana, nie można zmienić
w zmaterializowaną tabelę zapytania.
83
97
Nie można przetworzyć instrukcji, ponieważ opcje
DATA CAPTURE CHANGES i COMPRESS YES Zmiana tego typu danych jest nieobsługiwana dla
nie są zgodne. elementu wielowęzłowego klucza rozdzielania,
klucza rozdzielania danych lub wymiaru
84
organizacyjnego MDC.

42 Komunikaty, tom 2
SQL0270N

98 W przypadku funkcji SECLABEL,


SECLABEL_BY_NAME i SECLABEL_TO_CHAR
Zmiana typu kolumny tożsamości jest
parametr nazwy strategii bezpieczeństwa musi być
nieobsługiwana.
stałą łańcuchową.
99
111
Instrukcja ALTER TABLE SET DATA TYPE
Nie można powiązać strategii kontroli z tabelą o
zmieniła zewnętrzną funkcję UDF używaną przez
typie strukturalnym.
ograniczenie sprawdzające.
112
100
Monitor poprawności nie obsługuje konfiguracji
Z tabeli z włączonym przechwytywaniem danych nie
działań i powiadomień dla instalacji wykonywanych
można usunąć kolumny. Dla takiej tabeli nie można
przez użytkowników nie będących administratorami.
także zmienić właściwości dopuszczania wartości
pustych w kolumnie. Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące:
101
1
Instrukcja LOAD nie jest obsługiwana dla tabeli z
indeksem typu 1 w dużym obszarze tabel. Popraw instrukcje CREATE TABLE, ALTER
TABLE lub CREATE UNIQUE INDEX.
102
2
Strategii bezpieczeństwa nie można dodać do tabeli
o typie strukturalnym. Nie próbuj aktualizować kolumn klucza rozdzielania
w tabeli na wielu partycjach lub rozważ usunięcie, a
103
następnie wprowadzenie wiersza z nowymi
Reorganizacja indeksu z połączeniem w trybie wartościami w kolumnach rozdzielania.
ALLOW WRITE nie jest obsługiwana dla tabel z
3
kolumnami typu XML.
Zmień właściwości kolumny klucza rozdzielania, tak
104
aby nie dopuszczała braku wartości, podaj inne
Reorganizacja tabeli w miejscu nie jest dozwolona, działanie ON DELETE lub zmień klucz rozdzielania
jeśli dla danej tabeli zdefiniowano indeks dla tabeli, tak aby klucz obcy nie zawierał kolumn
kolumny typu XML. klucza rozdzielania.
105 4
Instrukcja REORG INDEX jest obsługiwana tylko Podaj klauzulę DATA CAPTURE NONE lub określ
dla indeksów blokowych w trybie CLEANUP ustawienia, tak aby tabela znajdowała się w obszarze
ONLY. tabel w grupie węzłów pojedynczego
partycjonowania określającej partycję katalogu.
106
5
Przyłączanie partycji do zmaterializowanej tabeli
zapytania nie jest obsługiwane. Nie używaj klauzuli WITH CHECK OPTION lub
usuń funkcję lub widok z definicji widoku.
107
6
Nie można otworzyć zduplikowanego kursora. Od
chwili otwarcia pierwszej instancji na tym poziomie Dla typów odrębnych zdefiniowanych przez
zagnieżdżenia otwarto ponad 65 533 instancje tego użytkownika transformacje są automatyczne.
kursora. Instrukcji CREATE TRANSFORM użyj tylko dla
typów strukturalnych zdefiniowanych przez
109 użytkownika.
Funkcje wyszukiwania tekstu nie mogą być 7
stosowane do indeksu tekstowego tabeli
partycjonowanej, jeśli funkcja wyszukiwania tekstu Używaj obszaru tabel o wielkości strony 4 kB dla
nie odwołuje się bezpośrednio do tabeli wszystkich tabel zawierających długie pola. Jeśli
partycjonowanej lub jest elementem instrukcji używasz obszarów tabel DMS, długie pola mogą
podselekcji zawierającej klauzulę OUTER JOIN. zostać umieszczone w obszarze tabel o wielkości
strony 4 kB z innymi danymi tabelowymi lub
110 indeksowymi w obszarach tabel o innych rozmiarach
stron. Definiując obszar tabel typu LARGE
TABLESPACE, używaj wielkości stron PAGESIZE
4 kB.

Rozdział 2. Komunikaty SQL 43


SQL0270N

8 17
W przypadku serwerów dla programu DB2 w wersji Nie używaj tabeli o typie strukturalnym w instrukcji
starszej niż 7.1 upewnij się, że żadne typy danych SET INTEGRITY.
kolumn nie są typami strukturalnymi w instrukcji
18
CREATE TABLE lub ALTER TYPE ADD
COLUMN. Sprawdź, czy w instrukcji CREATE Podczas nadawania uprawnień REFERENCES lub
TYPE lub ALTER TYPE ADD ATTRIBUTE nie UPDATE dla tabeli lub widoku o typie
podano typów strukturalnych dla danych atrybutów. strukturalnym nie dodawaj nazw określonych
kolumn.
9
19
Nie definiuj wyzwalaczy w tabelach o typach
strukturalnych. Podczas określania klauzuli DEFAULT dla kolumny
tabeli o typie strukturalnym dodaj określoną wartość.
10
20
Zmniejsz wielkość wiersza lub liczbę kolumn tabel
albo podaj dwa obszary tabel, tak aby długie dane Usuń zmaterializowaną tabelę zapytania i utwórz ją
znajdowały się w obszarze tabel o wielkości strony 4 ponownie z odpowiednimi atrybutami.
kB, a dane podstawowe w obszarze tabel o wielkości
strony 8 kB. 21

11 Aby usunąć lub zmienić kolumnę w tabeli, która jest


podstawową tabelą dla zmaterializowanej tabeli
Podczas tworzenia tabel lub widoku o typie zapytania, wykonaj poniższe czynności:
strukturalnym podaj typ strukturalny, dla którego jest 1. Usuń zależną zmaterializowaną tabelę - lub
zdefiniowany co najmniej jeden atrybut. tabele - zapytania.
12 2. Usuń kolumnę tabeli podstawowej lub zmień
długość, typ danych oraz właściwość
Dla parametru klucza źródłowego możesz użyć tylko
dopuszczania wartości NULL tej kolumny.
typu strukturalnego zdefiniowanego przez
użytkownika lub typu odrębnego, który nie pochodzi 3. Utwórz ponownie zmaterializowaną tabelę - lub
od typu LOB, DATALINK, XML, LONG tabele - zapytania.
VARCHAR ani LONG VARGRAPHIC. 22
13 Podaj instrukcję CREATE SUMMARY TABLE
Dla tabel o typie strukturalnym w instrukcjach poza instrukcją CREATE SCHEMA.
CREATE TABLE lub ALTER TABLE nie określaj 23
ograniczenia sprawdzającego. W instrukcji CREATE
VIEW dla widoku o typie strukturalnym nie podawaj Usuń opcję REPLICATED albo określ opcję
klauzuli WITH CHECK OPTION. REFRESH DEFERRED w definicji
zmaterializowanej tabeli zapytania.
14
24
Dla tabeli o typie strukturalnym w instrukcjach
CREATE TABLE lub ALTER TABLE nie określaj Z wyzwalanego działania w wyzwalaczu BEFORE
ograniczenia referencyjnego. usuń odwołanie do zmaterializowanej tabeli
zapytania.
15
25
Dla tabeli o typie referencyjnym w instrukcjach
CREATE TABLE lub ALTER TABLE nie określaj Użyj osobnych instrukcji SET INTEGRITY
klauzuli DEFAULT. IMMEDIATE CHECKED dla każdej
zmaterializowanej tabeli zapytania.
16
26
W przypadku serwerów dla programu DB2 w wersji
starszej niż 7.1 nie określaj typu strukturalnego dla Z grupy węzłów usuń wszystkie replikowane
parametru ani typu zwracanego podczas tworzenia zmaterializowane tabele zapytania, a następnie
funkcji zdefiniowanej przez użytkownika. Dla ponownie wydaj komendę REDISTRIBUTE
nowszych wersji nie określaj typu referencyjnego o NODEGROUP. Ponownie utwórz replikowane
określonym zakresie jako parametru ani typu zmaterializowane tabele zapytania.
zwracanego. Nie określaj typu strukturalnego jako
27
kolumny zwracanej dla funkcji tabelowej lub funkcji
wierszowej.

44 Komunikaty, tom 2
SQL0270N

Podzbiór kolumn zdefiniowanych dla więcej węzłów, przed ich dodaniem należy usunąć
zmaterializowanej tabeli zapytania musi być również sekwencje lub tablice z kolumnami tożsamości.
zbiorem kolumn składających się na indeks unikalny
38
dla tabeli podstawowej.
Indeks korzystający z rozszerzenia indeksu nie może
28
zostać utworzony dla tabeli w grupie węzłów wielu
Nazwę tabeli o typie strukturalnym lub nazwę partycji. Grupa węzłów nie może stać się grupą
zmaterializowanej tabeli zapytania można zmienić węzłów wielu partycji, gdy istnieje indeks
tylko przez usunięcie tabeli, a następnie ponowne jej korzystający z rozszerzenia indeksu dla jakiejś tabeli
utworzenie pod nową nazwą. Usunięcie tabeli może w tej grupie węzłów. Usuń wszelkie takie indeksy i
mieć wpływ na inne uzależnione od niej obiekty i dodaj partycję do grupy węzłów (w tym przypadku
spowoduje utratę uprawnień tabeli. indeksy nie mogą zostać utworzone ponownie) albo
pozostaw grupę węzłów niezmienioną.
29
39
Usuń klauzulę FOR EXCEPTION z instrukcji SET
INTEGRITY. Usuń odwołanie do pseudonimu lub funkcji
tabelowej OLE DB albo usuń odwołanie do obiektu,
30
który pośrednio odwołuje się do jednego z tych
Podaj instrukcję CREATE dla widoku lub tabeli o obiektów.
typie strukturalnym poza instrukcją CREATE
40
SCHEMA.
Usuń wywołanie funkcji IDENTITY_VAL_LOCAL
31
z definicji wyzwalacza lub z definicji funkcji SQL.
Zmniejsz liczbę kolumn w kluczu rozdzielania.
41
32
Rozbij przypisanie na dwie odrębne instrukcje. W
Podaj klauzulę NO LINK CONTROL dla kolumny jednej instrukcji wartości będą przypisywane tylko
DATALINK lub umieść tabelę w obszarze tabel w do zmiennych SQL, a w drugiej instrukcji tylko do
grupie węzłów pojedynczego partycjonowania zmiennych przejściowych.
określającej partycję katalogu. Jeśli przeprowadzasz
42
redystrybucję do grupy węzłów wielokrotnego
partycjonowania, aby ją kontynuować, musisz Usuń nowy węzeł (lub węzły), aby powrócić do
usunąć tabelę. konfiguracji z jednym węzłem. Jeśli dodatkowe
węzły są potrzebne, to konieczne jest usunięcie
33
wyzwalaczy, funkcji lub metod zawierających
v Nie definiuj ograniczenia referencyjnego z instrukcje sterujące.
efektem kaskadowym (tj. z opcją ON DELETE
CASCADE lub ON DELETE SET NULL), gdy 43
tabela bazowa zmaterializowanej tabeli zapytania Wydaj ponownie komendę runstats i wyłącz
jest zdefiniowana z opcją REFRESH nieobsługiwaną opcję.
IMMEDIATE jako potomek; lub
44
v nie definiuj zmaterializowanej tabeli zapytania z
opcją REFRESH IMMEDIATE, gdy jej tabela Tych trybów wyjaśniania (EXPLAIN) nie można
bazowa jest potomna względem ograniczenia używać w systemach SMP, MPP i programie Data
referencyjnego z efektem kaskadowym (tj. z opcją Joiner. Jeśli to możliwe, spróbuj uruchomić
ON DELETE CASCADE lub ON DELETE SET zapytanie w trybie szeregowym. W przeciwnym
NULL). wypadku ustawienie dla trybu EXPLAIN wartości
YES lub EXPLAIN spowoduje dostarczenie tych
34
samych informacji z wyjątkiem rzeczywistych
Błąd można poprawić usuwając odwołania do liczności.
nieobsługiwanych opcji obiektowo-relacyjnych.
45
35
Nie określaj klauzuli APPEND w instrukcji ALTER
Nie twórz ani nie usuwaj atrybutu “GENERATED TABLE w wypadku tabel wielowymiarowo
[ALWAYS | BY DEFAULT] AS IDENTITY ...”. klastrowych (MDC).
36 46
Usuń nowy węzeł (węzły), aby powrócić do Ponownie wydaj komendę REORG, nie określając
konfiguracji z pojedynczym węzłem. Jeśli potrzeba opcji INPLACE.
47

Rozdział 2. Komunikaty SQL 45


SQL0270N

Nie określaj klauzuli EXTENSION w instrukcji Dla bazy danych w wersji 8: Wprowadź dane XML
CREATE INDEX w wypadku tabel do jednej z funkcji akceptujących dane wejściowe
wielowymiarowo klastrowych (MDC). XML (np. XMLSERIALIZE), a wyniki tej funkcji
zapisz w bazie danych lub zwróć do aplikacji.
48
59
Usuń tabelę wielowymiarowo klastrową (MDC) i
utwórz ją ponownie ze zmodyfikowaną specyfikacją W środowisku przetwarzania równoległego używaj
wymiaru. tylko funkcji i metod zdefiniowanych z opcją NO
SQL.
49
60
Nie określaj klauzuli CLUSTER w instrukcji
CREATE INDEX w wypadku tabel Usuń widoki zależne od tabeli o typie strukturalnym.
wielowymiarowo klastrowych (MDC). Wydaj ponownie komendę ALTER TABLE ALTER
COLUMN SET INLINE LENGTH względem tabeli
50
o typie strukturalnym i ponownie utwórz widoki,
Nie określaj klauzuli ORGANIZE BY w instrukcji które zostały usunięte.
CREATE TABLE w wypadku tabel tymczasowych
61
zadeklarowanych jako globalne.
Nie używaj funkcji wyszukiwania tekstu w
51
wyrażeniach ograniczeń sprawdzających ani w
Wydaj instrukcję CREATE PROCEDURE z opcją kolumnach generowanych. W miarę możliwości
LANGUAGE SQL z katalogowej partycji bazy używaj funkcji LIKE zamiast funkcji CONTAINS.
danych.
62
52
Nie używaj klauzuli WITH CHECK OPTION
Nie modyfikuj ani nie dodawaj wyrażenia do względem tego widoku.
istniejącej kolumny. Aby zmienić postać klauzuli
63
PARTITIONING KEY, ORGANIZE BY,
PARTITION BY, DISTRIBUTE BY lub wyrażenia Zmodyfikuj listę selekcji kursora przewijalnego, tak
generującego któregokolwiek z jej elementów aby nie zawierała kolumn należących do tych typów.
składowych będących kolumnami generowanymi,
64
tabelę należy usunąć i ponownie utworzyć, a
następnie ponownie zapełnić. Na tej platformie nie należy próbować przetwarzania
stowarzyszonego.
53
65
Zmodyfikuj listę selekcji kursora przewijalnego, tak
aby nie zawierała kolumn należących do tych typów. Nie należy zmieniać lokalnego typu pseudonimu z
typu bieżącego na określony.
54
66
Ponownie wydaj komendę REORG, nie określając
opcji INPLACE. Nie wskazuj SYSSTRUCT jako grupy transformacji.
55 67
Wyłącz koncentrator lub obsługę stowarzyszonego Nie wskazuj pseudonimu ani widoku pseudonimów
systemu baz danych. Aby wyłączyć koncentrator, jako obiektu docelowego w instrukcji MERGE.
nadaj parametrowi MAX_CONNECTIONS
menedżera bazy danych wartość mniejszą lub równą 68
MAX_COORDAGENTS. Aby wyłączyć obsługę Zmniejsz liczbę odrębnych wyrażeń NEXT VALUE
stowarzyszonego systemu baz danych, w w instrukcji lub zmień bazę danych na
konfiguracji menedżera bazy danych ustaw parametr niepartycjonowaną.
FEDERATED na NO.
69
56
Nie usuwaj z widoku.
Ponownie wydaj komendę REORG INDEXES i
określ opcję ALLOW NONE lub ALLOW READ. 70

57 Wyłącz widoki umożliwiające optymalizację


zapytań, zmień długość kolumny w tabeli
Ponownie wydaj komendę REORG INDEXES i podstawowej, a następnie włącz widoki
określ opcję ALLOW NONE lub ALLOW READ. umożliwiające optymalizację zapytań.
58

46 Komunikaty, tom 2
SQL0270N

71 89
W środowisku równoległym nie używaj instrukcji Wszystkie indeksy dla niepartycjonowanej tabeli
CALL w wyzwalaczu, funkcji SQL, metodzie SQL można zreorganizować, używając komendy REORG
ani w złożonej instrukcji dynamicznej. INDEXES ALL.
72 90
Kolumna, dla której dopuszczalne są wartości puste, Utwórz indeks niepartycjonowany, używając
nie może być zmieniona w kolumnę tożsamości. wartości domyślnej lub jawnie określając klauzulę
Aby wprowadzić tę zmianę, należy usunąć tabelę, NOT PARTITIONED w instrukcji CREATE
utworzyć ją ponownie z kolumną, dla której wartości INDEX.
puste nie są dozwolone, a następnie ponownie ją
91
zapełnić. Można także dodać nową kolumnę jako
kolumnę tożsamości. Nie określaj opcji DATA CAPTURE CHANGES dla
tej tabeli.
73
92
Użyj komendy BACKUP bez określania opcji
INCLUDE LOGS. Usuń ograniczenie referencyjne przy użyciu
instrukcji:
74
ALTER TABLE ’tabela-potomna’
Pole statusu w pliku historii odtwarzania można DROP CONSTRAINT ...
aktualizować tylko przy użyciu identyfikatora EID.
75 Można także zmienić tabelę potomną w relacji
klucza obcego, aby ograniczenie klucza obcego nie
Wyłącz automatyczne profilowanie statystyki dla tej było wymuszane:
bazy danych, nadając parametrom konfiguracyjnym
ALTER TABLE ’tabela-potomna’
bazy danych AUTO_STATS_PROF i ALTER FOREIGN KEY ...
AUTO_PROF_UPD wartość OFF. NOT ENFORCED
Możesz także zmienić system na taki, w którym nie
ma podziału na partycje, mechanizm SMP nie jest Uwaga: Z tabeli nadrzędnej w ograniczeniu klucza
włączony i bazy danych nie są stowarzyszone. obcego wykonano instrukcję odłączania, która się
nie powiodła, natomiast wykonano wymuszenie
83 ograniczenia na tabeli potomnej. Te dwie tabele są
Jeśli obie opcje, DATA CAPTURE CHANGES i różne, o ile ograniczenie klucza obcego nie odwołuje
COMPRESS YES, zostały podane, musisz usunąć się samo do siebie. Następnie wprowadź ponownie
jedną z nich. Jeśli określono tylko jedną z opcji, instrukcję ALTER TABLE ... DETACH
musisz z niej zrezygnować, ponieważ druga z nich PARTITION. Teraz możesz zmienić tabelę potomną,
już obowiązuje dla tabeli. aby wymusić ograniczenie klucza obcego:
ALTER TABLE ’tabela-potomna’
84 ALTER FOREIGN KEY ...
Zmień komendę CREATE DATABASE w taki ENFORCED
sposób, aby mechanizm automatycznej pamięci
masowej nie był stosowany. Spowoduje to ponowne sprawdzenie, czy w dalszym
ciągu zachowana jest relacja klucza obcego dla tabel.
85
93
Nie próbuj dodawać partycji do bazy danych mającej
tylko jedną partycję, w której jest włączony Użyj instrukcji SET INTEGRITY z opcją
mechanizm automatycznej pamięci masowej. IMMEDIATE CHECKED, aby odświeżyć zależne
zmaterializowane tabele zapytania lub zależne tabele
87 pomostowe o dane dopisane przy użyciu komendy
Utwórz tabelę niepartycjonowaną. LOAD INSERT.

88 95

Ponownie uruchom komendę REORG INDEXES Użyj dla tabeli instrukcji SET INTEGRITY z opcją
lub REORG TABLE, używając trybu domyślnego IMMEDIATE CHECKED, aby sprawdzić
lub trybu ALLOW NO ACCESS, albo - w integralność dołączonej partycji.
przypadku podania komendy REORG INDEXES - 97
uruchom komendę REORG INDEX w celu
reorganizacji z połączeniem poszczególnych Nie można zmienić typu danych kolumny.
indeksów tabeli partycjonowanej. 98

Rozdział 2. Komunikaty SQL 47


SQL0271N • SQL0279N

Usuń atrybut tożsamości, zmień typ, a następnie 112


ponownie włącz atrybut tożsamości.
Nie konfiguruj działań i powiadomień monitora
99 poprawności dla instalacji wykonywanych przez
użytkowników nie będących administratorami.
Usuń ograniczenie sprawdzające, a następnie
ponownie wykonaj instrukcję zmiany.
kod_sql: -0270
100
stan_sql: 42997
Aby zmienić właściwość dopuszczania wartości
pustych, musisz wyłączyć przechwytywanie danych.
SQL0271N Plik indeksu tabeli z identyfikatorem pliku
101
identyfikator-pliku nie istnieje albo nie jest
Użyj komendy REORG INDEXES z opcją poprawny.
CONVERT, aby przekształcić indeksy tabeli w
Objaśnienie:
indeksy typu 2 przed użyciem komendy LOAD.
W trakcie przetwarzania wymagany jest plik indeksu dla tabeli
102 o identyfikatorze pliku id-pliku. Plik ten jest niepoprawny lub
brakuje go.
Strategii bezpieczeństwa nie należy dodawać do
tabeli o typie strukturalnym.
Instrukcja nie może zostać przetworzona, a aplikacja jest nadal
103 podłączona do bazy danych. Ta sytuacja nie ma wpływu na
działanie innych instrukcji, które nie używają indeksu tej
Ponownie uruchom komendę REORG INDEXES i
tabeli.
podaj opcję ALLOW READ ACCESS lub ALLOW
NO ACCESS. Działanie użytkownika:
Sprawdź, czy wszyscy użytkownicy wypisali się z bazy
104
danych, a następnie dla wszystkich węzłów wprowadź
Usuń opcję INPLACE i ponownie uruchom komendę RESTART DATABASE. Następnie ponów żądanie.
komendę REORG TABLE.
W trakcie wykonywania restartu bazy danych indeks lub
105
indeksy zostają ponownie utworzone.
Ponownie uruchom komendę REORG INDEX,
podając opcję CLEANUP ONLY, lub uruchom kod_sql: -271
komendę REORG INDEXES ALL, aby
zreorganizować wszystkie indeksy (w tym indeksy stan_sql: 58004
blokowe) dla tabeli.
106 SQL0276N Nie można nawiązać połączenia z bazą
danych nazwa, ponieważ jest ona w stanie
Przed próbą przyłączenia partycji do tabeli
odtwarzania w toku.
wprowadź instrukcję ALTER TABLE w celu
usunięcia z tabeli zmaterializowanego atrybutu Objaśnienie:
zapytania. Przed nawiązaniem połączenia konieczne jest zakończenie
odtwarzania bazy danych.
107
Zamknij wszystkie instancje tego kursora na tym Nie utworzono żadnego połączenia.
poziomie zagnieżdżenia.
Działanie użytkownika:
109 Odtwórz bazę danych, a następnie ponownie wydaj instrukcję
CONNECT.
Zmodyfikuj zapytanie, aby funkcja wyszukiwania
tekstu znalazła się w instrukcji podselekcji, która
bezpośrednio odwołuje się do tabeli partycjonowanej kod_sql: -276
zawierającej indeks tekstowy i pozbawionej klauzuli
OUTER JOIN. stan_sql: 08004

110
SQL0279N Połączenie z bazą danych zostało przerwane
Podaj stałą łańcuchową jako parametr nazwy podczas przetwarzania instrukcji COMMIT
strategii bezpieczeństwa. lub ROLLBACK. Transakcja może być w
111 stanie nierozstrzygniętym. Kod przyczyny =
kod-przyczyny.
Nie twórz powiązania strategii kontroli z tabelą o
typie strukturalnym. Objaśnienie:

48 Komunikaty, tom 2
SQL0280W • SQL0283N

W trakcie procesu zatwierdzania wystąpił błąd. Transakcja komendy ALTER TABLESPACE. Na ogół, aby do obszaru
została wprowadzona w stan zatwierdzania, ale przetwarzanie tabel można było dodać dodatkowe kontenery, musi być on
zatwierdzania mogło nie zostać zakończone. Połączenie z bazą zarządzany przez bazę danych.
danych aplikacji zostało przerwane.
Nie można wykonać instrukcji.
Przyczynę błędu określa kod kod-przyczyny:
Działanie użytkownika:
1 Połączenie z węzłem lub źródłem danych objętych Aby dodać więcej kontenerów do obszaru tabel zarządzanego
transakcją nie powiodło się. przez system (SMS), należy usunąć i ponownie utworzyć
obszar tabel z większą liczbą kontenerów, pamiętając, że
2 W jednym z węzłów odrzucono zatwierdzenie.
kontenery powinny być tej samej wielkości lub mniejsze niż
Szczegółowe informacje można znaleźć w dzienniku
maksymalna wielkość kontenera albo zmienić obszar tabel na
powiadomień administracyjnych.
obszar tabel DMS.
Działanie użytkownika:
Określ przyczynę błędu. Może zajść konieczność zgłoszenia kod_sql: -281
problemu administratorowi systemu, ponieważ najczęstszą
przyczyną błędu jest uszkodzenie węzła lub uszkodzenie stan_sql: 42921
połączenia. Komenda RESTART DATABASE spowoduje
zakończenie procesu zatwierdzania tej transakcji.
SQL0282N Nie można usunąć obszaru tabel
nazwa-obszaru-tabel, ponieważ co najmniej
kod_sql: -279
jedna z jego tabel, nazwa-tabeli, ma co
najmniej jedną ze swoich części w innym
stan_sql: 08007
obszarze tabel.
Objaśnienie:
SQL0280W Widokiem, wyzwalaczem lub
Tabela należąca do podanego obszaru tabel nie zawiera w tym
zmaterializowaną tabelą zapytania nazwa
obszarze wszystkich swoich części. Jeśli podano więcej niż
zastąpiono istniejący nieoperatywny widok,
jeden obszar tabel, to jedna ze znajdujących się w nich tabel
wyzwalacz lub zmaterializowaną tabelę
nie zawiera wszystkich swoich części. Tabela podstawowa,
zapytania.
indeksy lub dane typu long mogą znajdować się w innym
Objaśnienie: obszarze tabel, więc usunięcie obszaru tabel nie spowoduje
Istniejący nieoperatywny widok, wyzwalacz lub całkowitego usunięcia tabeli. Tabela znalazłaby się w stanie
zmaterializowaną tabelę zapytania nazwa zastąpiono przez: niespójnym, dlatego obszaru tabel nie można usunąć.
v nową definicję widoku będącą wynikiem instrukcji Działanie użytkownika:
CREATE VIEW, Przed przystąpieniem do usuwania obszaru tabel upewnij się,
v nową definicję wyzwalacza będącą wynikiem instrukcji że wszystkie części wszystkich obiektów znajdujących się w
CREATE TRIGGER, obszarze tabel nazwa-obszaru-tabel były całkowicie w nim
v nową definicję dla zmaterializowanej tabeli zapytania zawarte, lub umieść obszary tabel zawierające te części na
będącą wynikiem instrukcji CREATE SUMMARY TABLE. liście obszarów do usunięcia.

Działanie użytkownika: Może się to wiązać z koniecznością usunięcia tabeli


Nie jest wymagane żadne działanie. nazwa-tabeli przed usunięciem obszaru tabel.

kod_sql: +280 kod_sql: -282

stan_sql: 01595 stan_sql: 55024

SQL0281N Obszaru tabel nazwa-obszaru-tabel nie SQL0283N Nie można usunąć obszaru tabel
można zmienić, używając dodatkowych tymczasowych danych systemowych
kontenerów, ponieważ jest to obszar tabel nazwa-obszaru-tabel, ponieważ jest on
zarządzany przez system. jedynym w bazie danych obszarem tabel
Objaśnienie: tymczasowych danych systemowych o
Dodatkowych kontenerów nie można dodać do obszaru tabel wielkości strony wielkość-strony.
zarządzanego przez system. Wyjątkiem od tej reguły jest Objaśnienie:
sytuacja, w której grupę partycji bazy danych zmodyfikowano Baza danych musi zawierać co najmniej jeden systemowy,
w celu dodania węzła bez obszarów tabel. Wtedy na nowym tymczasowy obszar tabel z takim samym rozmiarem strony,
węźle można jednokrotnie dodać kontenery za pomocą jak rozmiar strony katalogowego obszaru tabel. Usunięcie
obszaru tabel nazwa-obszaru-tabel spowodowałoby usunięcie

Rozdział 2. Komunikaty SQL 49


SQL0284N • SQL0288N

z bazy danych ostatniego systemowego, tymczasowego Podaj jako podstawowy obszar tabel obszar zarządzany przez
obszaru tabel z rozmiarem strony rozmiar-strony. bazę danych lub nie przypisuj części tabeli do innych
obszarów tabel.
Działanie użytkownika:
Przed próbą usunięcia tego obszaru tabel, upewnij się, że w
kod_sql: -285
bazie danych będzie istniał inny systemowy, tymczasowy
obszar tabel z rozmiarem strony rozmiar-strony.
stan_sql: 42839
kod_sql: -283
SQL0286N Nie można znaleźć domyślnego obszaru
stan_sql: 55026 tabel o wielkości strony wynoszącej co
najmniej wielkość-strony, do użytkowania
którego autoryzację ma ID autoryzowanego
SQL0284N Tabela nie została utworzona, ponieważ
użytkownika nazwa-użytkownika.
obszar tabel nazwa-obszaru-tabel
wymieniony po klauzuli klauzula jest typu Objaśnienie:
typ-obszaru-tabel. Instrukcja CREATE TABLE lub DECLARE GLOBAL
TEMPORARY TABLE nie określiła obszaru tabel oraz nie
Objaśnienie:
można odnaleźć obszaru tabel odpowiedniego typu (USER
Instrukcja CREATE TABLE lub DECLARE GLOBAL
TEMPORARY dla zadeklarowanej tabeli tymczasowej) z
TEMPORARY TABLE określiła po klauzuli klauzula obszar
wystarczającym rozmiarem strony (co najmniej
tabel o nazwie nazwa-obszaru-tabel, który jest niepoprawnym
rozmiar_strony), dla którego ID autoryzowanego użytkownika
typem obszaru tabel dla tej klauzuli.
nazwa-użytkownika ma uprawnienie USE.

Może się to zdarzyć w następujących sytuacjach:


Wystarczająca wielkość strony dla tabeli jest określana przez
v Dla tabel zwykłych w klauzuli IN podano nazwę liczbę bajtów w wierszu albo liczbę kolumn.
nazwa-obszaru-tabel, ale dany obszar tabel nie jest
obszarem tabel typu REGULAR ani LARGE. Działanie użytkownika:
Sprawdź, czy istnieje obszar tabel odpowiedniego typu
v Dla zadeklarowanych tabel tymczasowych podano nazwę
(REGULAR lub USER TEMPORARY) z rozmiarem strony
nazwa-obszaru-tabel w klauzuli IN, ale dany obszar tabel
przynajmniej rozmiar-strony i czy ID autoryzowanego
nie jest typu USER TEMPORARY.
użytkownika nazwa-użytkownika ma uprawnienie USE dla
v Obszar tabel nazwa-obszaru-tabel został określony w tego obszaru tabel.
klauzuli LONG IN, ale nie jest on obszarem tabel typu
LARGE, zarządzanym przez bazę danych. kod_sql: -286
v Obszar tabel nazwa-obszaru-tabel został określony w
klauzuli INDEX IN, ale nie jest on obszarem tabel typu stan_sql: 42727
REGULAR ani LARGE, zarządzanym przez bazę danych.
Działanie użytkownika: SQL0287N Nie można używać nazwy SYSCATSPACE
Popraw instrukcję CREATE TABLE, tak aby określić obszar dla obiektów użytkownika.
tabel, który jest poprawny dla klauzuli klauzula.
Objaśnienie:
Instrukcja CREATE TABLE lub GRANT USE OF
kod_sql: -284
TABLESPACE określiła obszar tabel o nazwie
SYSCATSPACE, który jest zarezerwowany dla tabel katalogu.
stan_sql: 42838
Działanie użytkownika:
Podaj inną nazwę obszaru tabel.
SQL0285N Indeksów i/lub kolumn danych długich dla
tabeli nazwa-tabeli nie można przypisać do
kod_sql: -287
osobnych obszarów tabel, ponieważ
podstawowy obszar tabel
nazwa-obszaru-tabel jest obszarem tabel stan_sql: 42838
zarządzanym przez system.
Objaśnienie: SQL0288N Obszar tabel typu LARGE nie może być
Jeśli podstawowy obszar tabel jest obszarem zarządzanym definiowany z opcją MANAGED BY
przez system, do obszaru tego muszą należeć wszystkie części SYSTEM.
tabeli. Tabela może posiadać części należące do osobnych Objaśnienie:
obszarów tabel tylko wtedy, gdy podstawowy obszar tabel, Definiowany obszar tabel jest przeznaczony do wykorzystania
obszar tabel indeksów oraz duży obszar tabel są obszarami przez duże obiekty i długie łańcuchy. Mogą one być
zarządzanymi przez bazę danych. przechowywane tylko w obszarach tabel zdefiniowanych w
Działanie użytkownika: obszarze zarządzanym przez bazę danych. Dlatego obszarów

50 Komunikaty, tom 2
SQL0289N

tabel typu LARGE nie można definiować jako korzystających plików, w których znajdują się kontenery, został
z obszaru zarządzanego przez system. zapełniony i kontener nie może już być dalej
powiększany.
Działanie użytkownika:
Usuń parametr LARGE lub dotychczasową opcję zmień na 11 Obszar tabel DMS z włączonym mechanizmem
MANAGED BY DATABASE w instrukcji CREATE automatycznej zmiany wielkości nie osiągnął jeszcze
TABLESPACE. wielkości maksymalnej, a systemy plików, w
których obszar tabel się znajduje, nie są jeszcze
kod_sql: -288 pełne. Jednak operacja na kontenerze (albo
następujące po niej równoważenie kontenerów) jest
stan_sql: 42613 właśnie w trakcie wykonywania, a funkcja
automatycznej zmiany wielkości została zawieszona
do czasu jej zakończenia.
SQL0289N Nie można przydzielić nowych stron w
obszarze tabel nazwa-obszaru-tabel. 12 Obszar tabel z włączoną opcją automatycznej
zmiany wielkości, który jest zarządzany przez bazę
Objaśnienie: danych lub automatyczne zarządzanie pamięcią, nie
Jeden z poniższych warunków jest prawdziwy w odniesieniu może zwiększyć wielkości, ponieważ obszar tabel
do przynajmniej jednej partycji bazy danych: jest w stanie WRITE SUSPEND.
1 Jeden z kontenerów przypisanych do tego obszaru Działanie użytkownika:
tabel SMS osiągnął maksymalną wielkość. Jest to Wykonaj działanie odpowiadające przyczynie błędu:
prawdopodobna przyczyna błędu.
1 Przełącz się na obszar tabel DMS albo ponownie
2 Wszystkie kontenery przypisane do obszaru tabel utwórz obszar tabel SMS z większą liczbą katalogów
DMS są zapełnione. Jest to prawdopodobna (ścieżek określonych parametrem PATH), tak aby
przyczyna błędu. spełniony był warunek: (liczba katalogów) >=
3 Trwa ponowne przeprowadzanie równoważenia, ale (maksymalna wielkość obszaru tabel / maksymalna
proces ten nie jest jeszcze wystarczająco wielkość pliku). Zauważ, że maksymalna wielkość
zaawansowany, aby można było wykorzystać nowo pliku jest zależna od systemu operacyjnego.
dodany obszar. 2 Dodaj nowy kontener(y) do obszaru tabel DMS i
4 Próbowano wykonać odtwarzanie do zbyt małych powtórz operację po udostępnieniu nowych stron
kontenerów. przez proces równoważący.

5 Wykonywane jest odtwarzanie zmian następujące po 3 Zaczekaj, aż proces równoważący zakończy


zdalnym odtwarzaniu, a wszystkie kontenery działanie.
przypisane do obszaru tabel są zapełnione. 4 Wykonaj ponownie przekierowane odtwarzanie do
6 Wykonywane jest odtwarzanie zmian z pominięciem większych kontenerów.
dodanych kontenerów, a wszystkie kontenery 5 Wykonaj ponownie przekierowane odtwarzanie do
przypisane do obszaru tabel są zapełnione. większych kontenerów.
7 Podjęto próbę utworzenia przydziału tabel z mniej 6 Wykonaj ponownie odtwarzanie zmian dopuszczając
niż pięcioma przydziałami dostępnymi do użytku. możliwość dodawania kontenerów lub wykonaj
8 Obszar tabel z automatyczną zmianą wielkości zdalne odtwarzanie do większych kontenerów.
osiągnął już maksymalną wielkość, a wszystkie 7 Wprowadź ponownie instrukcję CREATE
kontenery są zapełnione. Może się także zdarzyć, że TABLESPACE, pamiętając, aby obszar tabel miał co
bieżąca wielkość jest zbyt bliska wielkości najmniej 5 przydziałów dostępnych do użytku.
maksymalnej i nie można rozszerzyć ani dodać
kontenerów, dlatego nie można automatycznie 8 Zwiększ maksymalną wielkość obszaru tabel.
powiększyć obszaru tabel. 9 Zmniejsz wielkość początkową lub zwiększ
9 Tworzony jest obszar tabel z mechanizmem wielkość maksymalną obszaru tabel.
automatycznej pamięci masowej, którego wielkość 10 Dodaj do obszaru tabel nowy zestaw rozsiania
początkowa nie umożliwia równego podziału kontenerów. Istniejące kontenery nie będą już
przydzielonego miejsca między kontenerami. powiększane. Podczas automatycznej zmiany
Została użyta większa wartość, która jednak wielkości poszerzane będą tylko nowe kontenery w
przekracza określoną wielkość maksymalną. ostatnim zakresie obszaru tabel.
10 Obszar tabel DMS z włączonym mechanizmem 11 Zaczekaj do zakończenia operacji i następującego po
automatycznej zmiany wielkości nie osiągnął jeszcze niej równoważenia.
wielkości maksymalnej, jednak jeden z systemów
12 Przed przydzieleniem nowych stron obszar tabel
musi zmienić stan WRITE SUSPEND.

Rozdział 2. Komunikaty SQL 51


SQL0290N • SQL0293N

kod_sql: -289
SQL0292N Wewnętrzny plik bazy danych nie mógł
zostać utworzony.
stan_sql: 57011
Objaśnienie:
Wewnętrzny plik bazy danych nie mógł zostać utworzony.
SQL0290N Brak dostępu do obszaru tabel.
Działanie użytkownika:
Objaśnienie: Należy sprawdzić, czy katalog zawierający plik jest dostępny
Proces próbował uzyskać dostęp do obszaru tabel (na przykład podłączony) i czy właściciel instancji bazy
znajdującego się w nieprawidłowym stanie, dla którego to danych ma w nim prawo do zapisu.
żądanie dostępu nie jest dopuszczalne.
v Jeśli obszar tabel jest w stanie wyciszonym (″Wyciszony: kod_sql: -292
SHARE″, ″Wyciszony: UPDATE″ lub ″Wyciszony:
EXCLUSIVE″), tylko procesy, które także utrzymują obszar stan_sql: 57047
tabel w stanie wyciszenia, mają dostęp do tego obszaru
tabel.
SQL0293N Wystąpił błąd dostępu do kontenera
v Jeśli obszar tabel jest w dowolnym innym stanie, tylko
obszaru tabel.
proces wykonujący działanie, które wywołało aktualny stan
obszaru tabel, ma dostęp do tego obszaru tabel. Objaśnienie:
v Nie można usunąć tymczasowego obszaru tabel systemu lub Możliwe przyczyny błędu:
użytkownika, który zawiera aktywne, systemowe lub v kontener (katalog, plik lub urządzenie pierwotne) nie został
zadeklarowane tabele tymczasowe. odnaleziony,
v Funkcja interfejsu API SET CONTAINER nie może być v kontener nie został zaznaczony jako należący do
użyta do ustawienia listy kontenerów, jeśli obszar tabel nie odpowiedniego obszaru tabel,
jest w stanie oczekiwania na odtworzenie. v znacznik kontenera jest uszkodzony.
Działanie użytkownika:
Możliwe działania: Błąd ten może wystąpić podczas uruchamiania obszaru tabel
v Jeśli obszar tabel jest w stanie wygaszenia, spróbuj osiągnąć lub podczas przetwarzania instrukcji ALTER TABLESPACE
dla tego obszaru stan wygaszonego współużytkowania lub SQL.
wygaszonej aktualizacji. Możesz również spróbować Działanie użytkownika:
przywrócić obszar tabel do stanu początkowego. Spróbuj wykonać następujące działania:
v Jeśli obszar tabel jest w dowolnym innym stanie, przed 1. Sprawdź, czy istnieje odpowiedni katalog, plik lub
próbą dostępu do obszaru tabel poczekaj, aż obszar ten urządzenie pierwotne i czy ich system plików jest
powróci do stanu normalnego. podłączony (jeśli znajdują się one w oddzielnym systemie
plików). Kontenery muszą być dostępne do zapisu i do
Dalsze informacje dotyczące stanów obszaru tabel można odczytu przez właściciela instancji bazy danych.
znaleźć w podręczniku Administration Guide. 2. Jeśli masz ostatnią kopię zapasową, spróbuj odtworzyć
obszar tabel lub bazę danych. Jeśli to działanie się nie
kod_sql: -290 powiedzie wskutek uszkodzenia kontenera i kontener nie
jest typu DEVICE, spróbuj najpierw ręcznie usunąć
stan_sql: 55039 kontener.

SQL0291N W obszarze tabel nie są dozwolone zmiany Jeśli błąd wystąpił podczas przetwarzania instrukcji ALTER
stanów. TABLESPACE SQL z opcją SWITCH ONLINE, ponownie
uruchom instrukcję po usunięciu problemu w powyżej opisany
Objaśnienie: sposób.
Próbowano zmienić stan obszaru tabel. Nowy stan nie jest
zgodny ze stanem bieżącym lub próbowano wyłączyć Jeśli błąd występuje nadal, skontaktuj się z przedstawicielem
określony stan, a obszar tabel nie znajdował się w tym stanie. serwisu IBM.
Działanie użytkownika:
Stany obszaru tabel ulegają zmianie podczas tworzenia kopii kod_sql: -293
zapasowej, po zakończeniu ładowania, zakończeniu
odtwarzania zmian itp., w zależności od bieżącego stanu stan_sql: 57048
obszaru tabel. Podręcznik administratora systemu zawiera
dalsze informacje dotyczące stanów obszaru tabel.

kod_sql: -291

stan_sql: 55039

52 Komunikaty, tom 2
SQL0294N

v Dla instrukcji CREATE lub ALTER TABLESPACE podaj


SQL0294N Kontener jest już w użyciu.
inny kontener dla obszaru tabel.
Objaśnienie: v Dla instrukcji CREATE lub ALTER TABLESPACE z
Kontenery obszaru tabel nie mogą być współużytkowane. Oto kontenerem z usuniętego obszaru tabel, ponownie wywołaj
możliwe przyczyny błędu: instrukcję po zatwierdzeniu instrukcji usuwania lub podaj
v W instrukcji CREATE TABLESPACE lub ALTER inny kontener.
TABLESPACE występuje kontener, który jest już używany v Wprowadź ponownie instrukcję ALTER DATABASE
przez inny obszar tabel. PARTITION, używając dla niej klauzuli WITHOUT
v W instrukcji CREATE TABLESPACE lub ALTER TABLESPACES, a następnie użyj instrukcji ALTER
TABLESPACE występuje kontener z innego obszaru tabel, TABLESPACE, aby utworzyć unikalne kontenery dla
który został usunięty, ale instrukcja usuwania nie została nowej partycji bazy danych.
zatwierdzona. v W przypadku instrukcji CREATE lub ALTER
v W instrukcji ALTER DATABASE PARTITION TABLESPACE w środowiskach, w których występuje
zastosowanej do dodania partycji bazy danych użyto więcej niż jedna logiczna partycja bazy danych w fizycznej
kontenerów partycji bazy danych LIKE znajdującej się w tej partycji bazy danych, sprawdź, czy dla takich logicznych
samej fizycznej partycji bazy danych. W związku z tym partycji bazy danych nie zostały określone te same
kontenery te były już używane. kontenery.
v Instrukcja CREATE TABLESPACE lub ALTER v W przypadku komendy ADD DATABASE PARTITION
TABLESPACE próbuje użyć tego samego kontenera dla lub funkcji API wprowadź ponownie instrukcję, używając
wielu logicznych partycji bazy danych w pojedynczej klauzuli WITHOUT TABLESPACES, a następnie użyj
fizycznej partycji bazy danych. Tych samych kontenerów instrukcji ALTER TABLESPACE, aby w nowej partycji
nie można używać dla więcej niż jednej partycji bazy bazy danych utworzyć unikalne kontenery dla
danych w pojedynczej fizycznej partycji bazy danych. tymczasowych systemowych obszarów tabel.
v W komendzie ADD DATABASE PARTITION lub funkcji v Próbując użyć kontenera DMS należącego do bazy danych,
API użyto kontenerów z tymczasowych systemowych która już nie istnieje, ale która nie została poprawnie
obszarów tabel partycji bazy danych LIKE, która znajduje usunięta, można użyć programu narzędziowego db2untag,
się w tej samej fizycznej partycji bazy danych. W związku z aby usunąć z tego kontenera znacznik kontenera programu
tym kontenery te były już używane. DB2. Gdy znacznik ten zostanie usunięty, produkt DB2
v W instrukcji CREATE TABLESPACE, ALTER traktuje kontener jako wolny, przez co może on zostać użyty
TABLESPACE lub komendzie CREATE DATABASE w instrukcji CREATE TABLESPACE, ALTER
użyto kontenera DMS z innej bazy danych, która już nie TABLESPACE lub komendzie CREATE DATABASE.
istnieje, ale nie została poprawnie usunięta. Kontener ten UWAGA: Używając programu narzędziowego db2untag,
nie jest w rzeczywistości używany, ale jest oznaczony jako należy zachować dużą ostrożność. Jeśli wprowadzi się
używany. Dlatego program DB2 nie pozwoli na jego użycie, komendę db2untag dla kontenera, który w dalszym ciągu
dopóki oznaczenie to nie zostanie usunięte. Jest jednak jest używany przez jakąś bazę danych, zarówno baza
bardzo ważne, aby podczas usuwania tego oznaczenia danych, która pierwotnie używała tego kontenera, jak i baza
sprawdzić, czy kontener ten nie jest używany przez tę samą danych, która używa go obecnie, zostaną uszkodzone.
lub inną bazę danych. Jeśli kontener ten będzie używany v W przypadku komendy REORG wprowadź ją ponownie,
podczas usuwania tego oznaczenia, taka baza danych gdy zakończy swoje działanie początkowa komenda
ulegnie uszkodzeniu. REORG korzystająca z wymaganego obszaru tabel lub
v Komenda REORG próbowała automatycznie wybrać udostępnij inny tymczasowy obszar tabel o poprawnej
tymczasowy obszar tabel DMS do użycia i chociaż istnieje wielkości strony.
obszar tabel o odpowiedniej wielkości strony, aktualnie jest v W przypadku komendy REDISTRIBUTE, zamiast
on wykorzystywany przez inną komendę REORG. korzystać z opcji ADD DBPARTITIONNUM, przed
v Opcja ADD DBPARTITIONNUM komendy wywołaniem komendy REDISTRIBUTE wywołaj
REDISTRIBUTE, która została użyta do dodania partycji instrukcję ALTER DATABASE PARTITION GROUP
bazy danych, tworzy nazwy kontenerów obszaru tabel dla korzystając z klauzuli WITHOUT TABLESPACES, a
nowo dodawanej partycji bazy danych na podstawie nazw następnie użyj instrukcji ALTER TABLESPACE, aby
kontenerów obszaru tabel partycji bazy danych o utworzyć unikalne kontenery dla nowej partycji bazy
najniższym numerze. Jeśli te nazwy kontenerów określają danych.
ścieżki bezwzględne i jeśli nowa partycja bazy danych
znajduje się na tym samym urządzeniu fizycznym, co kod_sql: -294
partycja bazy danych korzystająca z tych samych nazw
kontenerów, wtedy kontenery nowej partycji powinny być stan_sql: 42730
gotowe.
Działanie użytkownika:
Sprawdź, czy kontenery są unikalne.

Rozdział 2. Komunikaty SQL 53


SQL0295N • SQL0298N

SQL0295N Sumaryczna długość wszystkich nazw SQL0298N Błędna ścieżka do kontenera.


kontenerów dla obszaru tabel jest za duża.
Objaśnienie:
Objaśnienie: Podana ścieżka do kontenera narusza jedną z następujących
Całkowity obszar wymagany do przechowania listy zasad:
kontenerów przekracza obszar przydzielony dla tego obszaru v Ścieżka do kontenera musi być poprawną, w pełni
tabel w pliku obszaru tabel. kwalifikowaną ścieżką absolutną lub ścieżką względną. Ta
Działanie użytkownika: druga ścieżka jest odnoszona do katalogu bazy danych.
Wykonaj jedną lub większą liczbę następujących czynności: v W wypadku operacji EXTEND, REDUCE, RESIZE i
v Użyj dowiązań symbolicznych, podłączonych systemów DROP określona ścieżka kontenera musi istnieć.
plików itp., aby skrócić nazwy nowych kontenerów. v ID instancji musi posiadać prawo do zapisu i odczytu w tej
v Wykonaj kopię zapasową obszaru tabel, a następnie użyj ścieżce (w systemach UNIX sprawdź prawa dostępu).
narzędzia administracyjnego bazy danych do zmniejszenia v Kontenery muszą być tego typu, który został podany w
liczby i/lub długości nazw kontenerów. Odtwórz obszar komendzie (katalog, plik lub urządzenie).
tabel dla nowych kontenerów. v Kontenery (katalogi) w obszarach tabel zarządzanych przez
system muszą być puste w momencie wyznaczania ich jako
kod_sql: -295 kontenery i nie mogą być zagnieżdżone wewnątrz innych
katalogów.
stan_sql: 54034 v Kontenery jednej bazy danych nie mogą znajdować się w
katalogu innej bazy danych i nie mogą znajdować się w
SQL0296N Przekroczono limit obszarów tabel. żadnym katalogu, który może być przeznaczony dla innej
bazy danych. Eliminuje to wszystkie katalogi o postaci
Objaśnienie: SQLnnnnn, gdzie ’n’ jest dowolną cyfrą.
Baza danych zawiera maksymalną liczbę obszarów tabel. Nie
v Kontener nie może przekroczyć maksymalnej wielkości
można utworzyć więcej obszarów.
pliku dla systemu operacyjnego.
Działanie użytkownika: v Kontenery (pliki) dla usuniętych obszarów tabel
Usuń obszary tabel, które nie będą już używane. Połącz małe zarządzanych przez bazę danych mogą być ponownie
obszary tabel, przenosząc wszystkie dane do jednego z nich i używane tylko jako kontenery (katalogi) dla obszarów tabel
usuwając pozostałe. zarządzanych przez system po zakończeniu działania
wszystkich agentów i odwrotnie.
kod_sql: -296
v Podczas przekierowanego odtwarzania podano kontener
SMS dla obszaru tabel DMS lub podano kontener DMS dla
stan_sql: 54035 obszaru tabel SMS.
v Typ kontenera określony w operacji EXTEND, REDUCE,
SQL0297N Ścieżka do kontenera lub pamięci masowej RESIZE lub DROP nie jest zgodny z typem kontenera
jest zbyt długa. (FILE lub DEVICE) określonym przy tworzeniu tego
kontenera.
Objaśnienie:
Występuje jedna z podanych poniżej sytuacji:
Ten komunikat również zostanie zwrócony, jeśli wystąpi inny
v Pełna ścieżka określająca nazwę kontenera przekracza nieoczekiwany błąd uniemożliwiający bazie DB2 uzyskanie
maksymalną dopuszczalną długość (254 znaki). Jeśli dostępu do kontenera.
kontener został określony przy użyciu ścieżki względnej w
stosunku do katalogu bazy danych, suma długości tej
W przypadku używania menedżera klastra ten błąd może
ścieżki oraz ścieżki do katalogu nie może przekroczyć
zostać zwrócony, jeśli menedżer bazy danych DB2 nie może
maksymalnej długości. Szczegółowe informacje można
dodać ścieżki kontenera bazy danych do konfiguracji
znaleźć w dzienniku powiadomień administracyjnych.
menedżera klastra. Jeśli menedżer klastra nie może uzyskać
v Ścieżka pamięci masowej przekracza maksymalną dostępu do tej ścieżki, nie będzie mógł pomyślnie zarządzać
dopuszczalną długość (175 znaków). przełączaniem awaryjnym związanym z tą ścieżką.
Działanie użytkownika: Komunikaty o błędach z menedżera klastra są rejestrowane w
Zmniejsz długość ścieżki. pliku db2diag.log.
Działanie użytkownika:
kod_sql: -297 Podaj inne położenie kontenera lub zmień kontener, tak aby
był akceptowany przez bazę DB2 (na przykład zmień prawa
stan_sql: 54036 dostępu) i powtórz próbę.

Jeśli używany jest menedżer klastra, należy usunąć problem i


wprowadzić ponownie komendę:

54 Komunikaty, tom 2
SQL0299N • SQL0303N

1. Sprawdź plik db2diag.log w poszukiwaniu komunikatów o


SQL0302N Wartość zmiennej języka macierzystego
błędach menedżera klastra.
podana w instrukcji EXECUTE lub OPEN
2. Odpowiedz na komunikaty o błędach menedżera klastra z jest zbyt duża w stosunku do jej
pliku db2diag.log, aby usunąć problem, który uniemożliwił przeznaczenia.
menedżerowi bazy danych DB2 dodanie ścieżki do
konfiguracji menedżera klastra. Objaśnienie:
Wartość wejściowej zmiennej języka macierzystego została
3. Wprowadź ponownie komendę.
uznana za zbyt dużą w stosunku do możliwości jej
wykorzystania w instrukcjach SELECT, VALUES lub w
kod_sql: -298 przygotowanej instrukcji. Wystąpiła jedna z następujących
sytuacji:
stan_sql: 428B2
v Odpowiednia zmienna języka macierzystego lub znacznik
parametru używane w instrukcji SQL są zdefiniowane jako
SQL0299N Kontener jest już przypisany do obszaru łańcuchy, ale wejściowa zmienna języka macierzystego
tabel. zawiera zbyt długi łańcuch.
Objaśnienie: v Odpowiednia zmienna języka macierzystego lub znacznik
Kontener, który próbujesz dodać, jest już przypisany do parametru używane w instrukcji SQL są zdefiniowane jako
obszaru tabel. wartości liczbowe, ale wejściowa zmienna języka
macierzystego zawiera wartość liczbową, która jest spoza
Działanie użytkownika: zakresu.
Wybierz inny kontener i powtórz próbę.
v W zmiennej tekstowej języka C, będącego językiem
macierzystym, brakuje kończącego łańcuch znaku NULL.
kod_sql: -299
v Użytkownicy systemów stowarzyszonych: Mogły zostać
naruszone ograniczenia związane ze źródłem danych w sesji
stan_sql: 42731
tranzytowej.

SQL0301N Wartości wejściowej zmiennej języka Ten błąd występuje po podaniu nieprawidłowej zmiennej
macierzystego lub parametru o numerze języka macierzystego lub wartości SQLLEN w obszarze
numer nie można użyć z uwagi na jej/jego deskryptorów SQL w instrukcji EXECUTE lub OPEN.
typ danych.
Objaśnienie: Nie można wykonać instrukcji.
Zmienna lub parametr języka macierzystego na pozycji numer Działanie użytkownika:
nie mogą zostać użyte w sposób podany w instrukcji, Sprawdź, czy wejściowa zmienna języka macierzystego jest
ponieważ ich typ danych nie jest zgodny z założonym odpowiedniego typu i długości. Jeśli wejściowe zmienne
przeznaczeniem. języka macierzystego podają wartości znaczników
parametrów, dopasuj wartości do przyjętego typu danych i
Ten błąd może wystąpić jako rezultat podania błędnej długości znacznika parametru.
zmiennej języka macierzystego lub błędnej wartości
SQLTYPE w obszarze deskryptorów SQL instrukcji Użytkownicy systemów stowarzyszonych: Dla sesji
EXECUTE albo OPEN. W przypadku typu strukturalnego tranzytowej określ, które źródło danych powoduje wystąpienie
zdefiniowanego przez użytkownika, skojarzony z nim błędu (procedury, z których należy korzystać przy
wbudowany typ zmiennej języka macierzystego lub identyfikowaniu niesprawnego źródła danych, można znaleźć
SQLTYPE może nie być zgodny z parametrem funkcji w podręczniku Troubleshooting Guide). Sprawdź dialekt SQL
transformacji TO SQL, zdefiniowanej w grupie transformacji tego źródła danych, aby ustalić, które ograniczenie zostało
dla tej instrukcji. W wypadku jawnego lub niejawnego naruszone, i odpowiednio poprawić instrukcję kończącą się
rzutowania między typem znakowym i graficznym błąd ten niepowodzeniem.
wskazuje, że podjęto próbę takiego rzutowania z łańcuchem
graficznym lub łańcuchem znaków z zestawu innego niż kod_sql: -302
Unicode.
stan_sql: 22001, 22003
Nie można wykonać instrukcji.
Działanie użytkownika: SQL0303N Nie można przypisać wartości do zmiennej
Sprawdź, czy typy danych wszystkich zmiennych języka języka macierzystego w instrukcji SELECT,
macierzystego są zgodne z ich przeznaczeniem. VALUES, FETCH lub przypisania,
ponieważ typy danych nie są zgodne.
kod_sql: -301
Objaśnienie:
stan_sql: 07006 Osadzone instrukcje SELECT, VALUES, FETCH lub
przypisanie wykonują przypisanie do zmiennej języka

Rozdział 2. Komunikaty SQL 55


SQL0304N • SQL0308N

macierzystego, ale typ danych zmiennej nie jest zgodny z wartości NULL, która miała zostać wstawiona do zmiennej
typem danych odpowiadającej mu listy w instrukcji SELECT, języka macierzystego, dla której nie podano zmiennej
VALUES lub po prawej stronie instrukcji przypisania. Oba indykacyjnej. Jeśli kolumna może zwrócić wartość NULL,
typy danych muszą być zgodne (liczbowe, znakowe lub należy podać zmienną indykacyjną.
graficzne). W przypadku typu danych zdefiniowanego przez
użytkownika, zmienna języka macierzystego może być Nie można wykonać instrukcji. Nie pobrano żadnych danych.
zdefiniowana ze skojarzonym wbudowanym typem danych,
który nie jest zgodny z typem wyników funkcji transformacji Działanie użytkownika:
FROM SQL, zdefiniowanej w grupie transformacji dla tej Sprawdź definicję tabeli obiektów FETCH lub SELECT,
instrukcji. Na przykład, jeśli typem danych kolumny jest data elementy listy VALUES lub prawą stronę instrukcji
lub godzina, typem danych dla zmiennej musi być ciąg przypisania. Popraw program, tak aby zapewnić zmienne
znaków o odpowiedniej długości minimalnej. indykacyjne dla wszystkich zmiennych języka macierzystego,
dla których mogą zostać pobrane z kolumn wartości NULL.
Nie można wykonać instrukcji.
kod_sql: -305
Działanie użytkownika:
Sprawdź, czy definicje tabeli są aktualne i czy zmienna języka stan_sql: 22002
macierzystego jest właściwego typu. W przypadku typu
danych zdefiniowanego przez użytkownika, sprawdź, czy
skojarzony wbudowany typ zmiennej języka macierzystego SQL0306N Zmienna języka macierzystego nazwa nie
jest zgodny z typem wyników funkcji transformacji FROM została zdefiniowana.
SQL, zdefiniowanej w grupie transformacji dla tej instrukcji. Objaśnienie:
Zmienna języka macierzystego nazwa nie została
kod_sql: -303 zadeklarowana w żadnej sekcji DECLARE SECTION.

stan_sql: 42806 Nie można wykonać instrukcji.


Działanie użytkownika:
SQL0304N Nie można przypisać wartości do zmiennej Sprawdź, czy zmienna języka macierzystego została
języka macierzystego, ponieważ wykracza zadeklarowana i czy jej nazwa została prawidłowo wpisana.
ona poza zakres dopuszczalny dla typu
danych tej zmiennej.
SQL0307N Zmienna języka macierzystego nazwa jest
Objaśnienie: już zdefiniowana.
Instrukcje FETCH, VALUES, SELECT lub przypisanie dla
listy zmiennych języka macierzystego nie powiodły się, Objaśnienie:
ponieważ zmienna języka macierzystego była zbyt mała, aby Zmienna języka macierzystego nazwa została już
przechować pobraną wartość. zadeklarowana w sekcji DECLARE SECTION.

Nie można wykonać instrukcji. Nie pobrano żadnych danych. Definicja zostanie zignorowana. Zostanie użyta poprzednia
definicja.
Działanie użytkownika:
Upewnij się że, definicje tabel są aktualne, a zmienna języka Działanie użytkownika:
macierzystego jest właściwego typu. Informacje o zakresach Sprawdź, czy zmienna języka macierzystego została
typów danych SQL można znaleźć w podręczniku SQL poprawnie wpisana i czy jej nazwa jest zdefiniowana dla
Reference. każdego programu tylko raz.

Użytkownicy systemów stowarzyszonych: Zakresy typów SQL0308N Osiągnięto limit liczby zmiennych języka
danych, które są zwracane przez źródło danych, zawiera macierzystego.
dokumentacja określonego źródła danych.
Objaśnienie:
kod_sql: -304 Ograniczenie liczby zmiennych języka macierzystego jest
uzależnione od rozmiarów kolumny HOST_VARS w
SYSPLAN. Limit ten został osiągnięty.
stan_sql: 22001, 22003
Pozostałe deklaracje zmiennych zostaną zignorowane.
SQL0305N Nie można przypisać wartości NULL do
zmiennej języka macierzystego, ponieważ Działanie użytkownika:
nie została podana zmienna indykacyjna. Możesz uprościć program, podzielić go na mniejsze części lub
wykonać oba te działania.
Objaśnienie:
Wykonanie operacji FETCH, przypisania lub osadzonej
operacji SELECT lub VALUES spowodowało pobranie

56 Komunikaty, tom 2
SQL0309N • SQL0315N

W instrukcji języka SQL pojawiła się zmienna języka


SQL0309N Wartością zmiennej języka macierzystego w
macierzystego nazwa-zmiennej, a zmienne języka
instrukcji OPEN jest NULL, ale taka
macierzystego są niedozwolone w dynamicznych instrukcjach
wartość nie może być dalej używana.
SQL, w instrukcjach SELECT definiujących widoki lub w
Objaśnienie: działaniach wyzwalanych w definicjach wyzwalaczy.
Wartość wejściowej zmiennej języka macierzystego jest równa
NULL, ale dla korzystających z tej wartości instrukcji Nie można wykonać instrukcji.
SELECT, VALUES lub przygotowanej instrukcji nie została
podana zmienna indykacyjna. Działanie użytkownika:
Zamiast zmiennych języka macierzystego w dynamicznych
instrukcjach SQL użyj znaczników parametrów (?). Nie
Nie można wykonać instrukcji.
używaj zmiennych języka macierzystego ani znaczników
Działanie użytkownika: parametrów w definicjach widoków i wyzwalaczy.
Sprawdź, czy będzie potrzebna klauzula USING. W innym
wypadku sprawdź, czy zmienna indykacyjna jest podana tylko kod_sql: -312
wtedy, gdy jest wymagana.
stan_sql: 42618
kod_sql: -309
SQL0313N Liczba zmiennych języka macierzystego w
stan_sql: 07002
instrukcji EXECUTE lub OPEN nie jest
równa wymaganej liczbie wartości.
SQL0310N Instrukcja języka SQL zawiera zbyt wiele
Objaśnienie:
zmiennych języka macierzystego.
Liczba zmiennych języka macierzystego określona w
Objaśnienie: instrukcji EXECUTE lub OPEN nie jest równa liczbie
W instrukcji została przekroczona maksymalna liczba zmiennych języka macierzystego wymaganej dla znaczników
zmiennych języka macierzystego. parametrów (?) występujących w instrukcji SQL.
Działanie użytkownika:
Nie można wykonać instrukcji.
Zmodyfikuj aplikację, tak aby liczba zmiennych języka
Działanie użytkownika: macierzystego określona w instrukcji EXECUTE lub OPEN
Zmniejsz liczbę zmiennych języka macierzystego w wyrażeniu była odpowiadała znacznikom parametrów w instrukcji SQL.
lub zmniejsz jego złożoność.
kod_sql: -313
SQL0311N Długość łańcuchowej zmiennej języka
stan_sql: 07001, 07004
macierzystego o numerze numer-zmiennej
jest ujemna lub większa od maksymalnej.
SQL0314N Zmienna języka macierzystego nazwa jest
Objaśnienie:
błędnie zadeklarowana.
Podczas przetwarzania długość zmiennej języka
macierzystego, której pozycję w obszarze deskryptorów SQL Objaśnienie:
określa <numer-zmiennej> (rozpoczynający się od 1), była Zmienna języka macierzystego nazwa została błędnie
ujemna albo większa od wartości maksymalnej określonej dla zadeklarowana z jednej z następujących przyczyn:
tej zmiennej języka macierzystego. v podany typ nie jest obsługiwany,
v podana długość jest ujemna, wynosi 0 lub jest zbyt duża,
Nie można wykonać instrukcji.
v został użyty inicjator,
Działanie użytkownika:
v wystąpił błąd składni.
Popraw program, aby się upewnić, że długości wszystkich
zmiennych języka macierzystego nie są ujemne ani nie
przekraczają maksymalnej dopuszczalnej długości. Zmienna pozostaje niezdefiniowana.
Działanie użytkownika:
kod_sql: -311 Sprawdź, czy zostały poprawnie podane deklaracje
obsługiwane przez menedżera baz danych.
stan_sql: 22501
SQL0315N Zmienna języka macierzystego jest błędnie
SQL0312N Zmienna języka macierzystego zadeklarowana.
nazwa-zmiennej jest używana w dynamicznej
Objaśnienie:
instrukcji języka SQL, definicji widoku lub
Zmienna języka macierzystego została błędnie zadeklarowana
w definicji wyzwalacza.
z jednej z następujących przyczyn:
Objaśnienie:

Rozdział 2. Komunikaty SQL 57


SQL0317N • SQL0330N

v podany typ nie jest obsługiwany, najmniej jeden wiersz w tabeli z wartością klucza
v podana długość jest ujemna, wynosi 0 lub jest zbyt duża, partycjonowania tabeli, która jest spoza zakresu wartości dla
zdefiniowanej partycji danych.
v wystąpił błąd składni.
Nie można wykonać instrukcji.
Zmienna pozostaje niezdefiniowana.
Działanie użytkownika:
Działanie użytkownika:
W przypadku operacji wstawiania lub aktualizacji sprawdź,
Sprawdź, czy zostały poprawnie podane deklaracje
czy kolumny klucza partycjonowania tabeli leżą w zakresach
obsługiwane przez menedżera baz danych.
określonych dla partycji danych tabeli. Konieczne może być
dodanie kolejnej partycji danych do tabeli. W przypadku
SQL0317N Po instrukcji BEGIN DECLARE SECTION zmiany tabeli na tabelę partycjonowaną zakresowo sprawdź,
nie napotkano instrukcji END DECLARE czy określono zakresy, które zapewniają, że wszystkie dane z
SECTION. tabeli należą do zakresu partycji danych.
Objaśnienie:
kod_sql: -327
Podczas przetwarzania DECLARE SECTION dane wejściowe
skończyły się.
stan_sql: 22525
Prekompilacja została przerwana.
SQL0329N Lista nazwy ścieżki stała-łańcuchowa-lub-
Działanie użytkownika:
zmienna-języka-macierzystego jest
Dodaj instrukcję END DECLARE SECTION, aby zakończyć
niepoprawna.
DECLARE SECTION.
Objaśnienie:
Stała łańcuchowa lub wejściowa zmienna języka
SQL0318N Napotkano instrukcję END DECLARE
macierzystego stała-łańcuchowa-lub-zmienna-języka-
SECTION bez wcześniejszej instrukcji
macierzystego zawiera listę nazwy ścieżki, która jest
BEGIN DECLARE SECTION.
niepoprawna. Została przekroczona maksymalna liczba nazw
Objaśnienie: schematów dla ścieżki SQL (opcja wiązania FUNCPATH lub
Napotkano instrukcję END DECLARE SECTION, ale rejestr specjalny CURRENT PATH) lub ścieżki pakietu
wcześniej nie było instrukcji BEGIN DECLARE SECTION. (rejestr specjalny CURRENT PACKAGE PATH).
Szczegółowe informacje dotyczące tego limitu zawiera
Nie można wykonać instrukcji. dodatek Limits w podręczniku SQL Reference.

Działanie użytkownika: Nie można wykonać tej instrukcji lub komendy.


Wprowadź instrukcję BEGIN DECLARE SECTION przed
instrukcją END DECLARE SECTION. Działanie użytkownika:
Podaj mniejszą liczbę nazw schematów tak, aby nie
przekroczyć limitu. Rozważ skonsolidowanie zdefiniowanych
SQL0324N Zmienna składnia o nazwie nazwa jest przez użytkownika funkcji, procedur, metod, typów odrębnych
niewłaściwego typu. lub pakietów do mniejszej liczby schematów.
Objaśnienie:
Zmienna INDICATOR nazwa nie jest typu small integer lub kod_sql: -329
zmienna STATEMENT nazwa nie jest typu znakowego.
stan_sql: 0E000
Nie można wykonać instrukcji.
Działanie użytkownika: SQL0330N Nie można użyć łańcucha, ponieważ nie
Sprawdź, czy zmienna jest właściwego typu i czy została można go przetworzyć. Kod przyczyny =
poprawnie wprowadzona. kod-przyczyny. Punkt kodowy=punkt-kodowy.
Pozycja zmiennej języka macierzystego =
pozycja-zmiennej-języka-macierzystego.
SQL0327N Nie można wstawić wiersza do tabeli
nazwa-tabeli, ponieważ leży on poza Objaśnienie:
zdefiniowanymi zakresami partycji danych. Nie można przetworzyć łańcucha, ponieważ podczas
konwersji na inny zestaw znaków kodowanych wystąpił błąd.
Objaśnienie: Typ błędu jest określony przez kod-przyczyny:
W przypadku operacji wstawiania lub aktualizacji, wartość
klucza partycjonowania tabeli jest poza zakresem wartości 8 Wyjątek długości (na przykład rozszerzenie
zdefiniowanej partycji danych. W przypadku operacji zmiany wymagane dla danych typu PC MIXED) przekracza
tabeli na tabelę partycjonowaną zakresowo, istnieje co maksymalną długość łańcucha.

58 Komunikaty, tom 2
SQL0332N

12 Niepoprawny punkt kodowy (na przykład użycie 2. Określona konwersja stron kodowych nie jest
opcji ERRORBYTE instrukcji SYSSTRINGS). obsługiwana.
16 Wyjątek formularza (na przykład niepoprawne dane
Niektóre operacje, które mogą powodować ten błąd:
typu MIXED).
v Nawiązywanie połączenia między klientem a bazą danych,
20 Błąd procedury konwersji (na przykład wyjście gdy strona kodowa klienta różni się od strony kodowej bazy
serwera z/OS nadaje polu sterowania długością danych.
niepoprawną wartość).
v Wykonywanie instrukcji SQL, gdy strona kodowa klienta
24 Znaleziono znak jednobajtowy w łańcuchu różni się od strony kodowej bazy danych.
zawartym w zmiennej języka macierzystego v Importowanie lub eksportowanie pliku WSF albo IXF, gdy
wchar_t. strona kodowa pliku różni się od strony kodowej bazy
danych.
Jeśli kod-przyczyny to 12, punkt-kodowy jest niepoprawny. W
v Użytkownicy systemów stowarzyszonych: W źródle danych
przeciwnym razie punkt-kodowy jest pusty lub wyjście zwraca
nie jest obsługiwana określona konwersja stron kodowych.
dodatkowy kod przyczyny. Jeśli łańcuch jest wartością
wejściowej zmiennej języka macierzystego, numer-pozycji jest Działanie użytkownika:
liczbą porządkową zmiennej w obszarze deskryptorów SQL. 1. Zapewnij wzajemną zgodność źródłowej i docelowej
Jeśli łańcuch nie jest wartością zmiennej języka strony kodowej. W Centrum informacyjnym DB2
macierzystego, numer-pozycji jest pusty. (http://publib.boulder.ibm.com/infocenter/db2luw/v9)
wyszukaj frazę ″kod terytorium zestawu kodowego″, aby
Nie można wykonać instrukcji. znaleźć informacje o zgodności obsługiwanych stron
Działanie użytkownika: kodowych produktu DB2. Aby ustawić stronę kodową
Wykonaj jedno z następujących działań na podstawie kodu klienta na zgodną ze stroną kodową bazy danych:
przyczyny: v Na platformach Unix ustaw zmienną środowiskową
LANG, LC_CTYPE lub LC_ALL na ustawienia
8 Zwiększ maksymalną długość zmiennej języka narodowe, których strona kodowa jest zgodna ze stroną
macierzystego, aby umożliwić rozszerzenie, które kodową bazy danych. Poprawne nazwy ustawień
odbywa się podczas konwersji łańcucha. narodowych i informacje o związanych z nimi stronach
12 Zmień tabelę konwersji, aby akceptowała punkt kodowych można znaleźć w dokumentacji używanej
kodowy, albo wyeliminuj punkt kodowy z danych. platformy.
v Na platformach Windows ustaw zmienną rejestru
16 Jeśli łańcuch jest opisany jako dane typu MIXED,
DB2CODEPAGE tak, aby przesłonić stronę kodową
zmień opis danych albo zmień łańcuch w taki
klienta przy użyciu wartości zgodnej ze stroną kodową
sposób, aby był zgodny z regułami obowiązującymi
bazy danych.
dla dobrze zbudowanych danych mieszanych.
2. Aby uzyskać informacje o obsłudze stron kodowych w
20 Popraw procedurę konwersji. menedżerze bazy danych, wyszukaj w Centrum
24 Usuń znak jednobajtowy z łańcucha graficznego. informacyjnym DB2 (http://publib.boulder.ibm.com/
infocenter/db2luw/v9) frazę ″kod terytorium zestawu
kod_sql: -330 kodowego″. Użytkownicy systemów stowarzyszonych
powinni poszukać informacji o stronie kodowej źródła
danych w Podręczniku systemów stowarzyszonych. Jeśli
stan_sql: 22021
źródłowa i docelowa strona kodowa są zgodne, oznacza to,
że produkt DB2 nie obsługuje obecnie określonej
SQL0332N Konwersja znaków ze źródłowej strony konwersji stron kodowych. Aby ustalić, czy istnieje
kodowej źródłowa-strona-kodowa na możliwość dodania obsługi takiej konwersji, skontaktuj się
docelową stronę kodową z inżynierem serwisu technicznego.
docelowa-strona-kodowa nie jest
obsługiwana. Użytkownicy programu DB2 UDB for iSeries powinni mieć
świadomość, że kolumny dla danych znakowych lub
Objaśnienie:
graficznych o identyfikatorze CCSID 65535 nie są
Określona operacja nie powiodła się, ponieważ nie istnieje
obsługiwane. Kolumny dla danych znakowych lub graficznych
konwersja między stroną kodową źródłowa-strona-kodowa a
o identyfikatorze CCSID 65535 muszą zostać przekształcone
stroną kodową docelowa-strona-kodowa. Mogła to
na kolumny z obsługiwanym identyfikatorem CCSID (za
powodować jedna z następujących przyczyn:
pomocą instrukcji CAST), aby można było uzyskać do nich
1. Zestawy znaków w źródłowej i docelowej stronie kodowej dostęp przy użyciu programu DB2 Connect.
są niezgodne i dlatego podczas wykonywania konwersji ze
źródłowej strony kodowej na docelową stronę kodową kod_sql: -332
może nastąpić utrata znaków i uszkodzenie danych.
stan_sql: 57017

Rozdział 2. Komunikaty SQL 59


SQL0334N • SQL0340N

SQL0334N Podczas przeprowadzania konwersji ze SQL0338N Klauzula ON skojarzona z operatorem


strony kodowej źródło na stronę kodową cel JOIN lub z instrukcją MERGE nie jest
wystąpiło przepełnienie. Maksymalna poprawna.
wielkość obszaru docelowego wynosiła
Objaśnienie:
maksymalna-długość. Długość łańcucha
Klauzula ON skojarzona z operatorem JOIN lub z instrukcją
źródłowego wynosiła długość-źródła; jej
MERGE nie jest poprawna z jednej z następujących przyczyn:
reprezentacją szesnastkową jest łańcuch.
v Klauzula ON nie może zawierać żadnych podzapytań.
Objaśnienie:
v Odwołania do kolumn w klauzuli ON mogą dotyczyć
Podczas wykonywania instrukcji SQL konwersja strony
jedynie kolumn tabel będących w zasięgu klauzuli ON.
kodowej spowodowała utworzenie łańcucha, który jest dłuższy
niż maksymalna wielkość obiektu docelowego. v w wyrażeniach klauzuli ON nie można używać pełnych
selekcji skalarnych,
Działanie użytkownika:
v funkcja, do której odwołanie znajduje się w klauzuli ON
Zmodyfikuj dane, tak aby uniknąć sytuacji powodujących
pełnego łączenia zewnętrznego, musi być deterministyczna i
przepełnienie, występujących w różnych okolicznościach,
nie może zawierać żadnych działań zewnętrznych,
przez:
v nie można zastosować operatora wyłuskiwania (->).
v zmniejszenie długości łańcucha źródłowego lub
zwiększenie wielkości obszaru docelowego (przeczytaj v Nie można używać funkcji SQL ani metody SQL.
zamieszczoną poniżej uwagę), v Klauzula ON nie może zawierać wyrażenia XMLQUERY
v zmodyfikowanie operacji, ani XMLEXISTS.
v rzutowanie danych zaszyfrowanych na łańcuch typu
VARCHAR o większej długości przed użyciem ich jako Nie można wykonać instrukcji.
parametru funkcji deszyfrującej lub Działanie użytkownika:
v sprawdzenie, czy strony kodowe używane przez bazę Popraw klauzulę ON, tak aby odwoływała się do właściwych
danych i aplikację są takie same. Dla większości połączeń kolumn, lub usuń niektóre podzapytania lub pełne selekcje
eliminuje to potrzebę konwersji pomiędzy stronami skalarne. Usuń z klauzuli ON operacje wyłuskiwania, funkcje
kodowymi. SQL lub metody SQL.

Uwaga: Podczas konwersji znaków nie nastąpi automatyczne Jeśli używasz pełnego łączenia zewnętrznego, sprawdź, czy
promowanie znaków lub łańcuchów graficznych. Jeśli wszystkie funkcje w klauzuli ON są deterministyczne i nie
wynikowy łańcuch przekroczy maksymalną długość zawierają działań zewnętrznych.
dopuszczalną dla danego typu danych, wystąpi przepełnienie.
Aby usunąć błąd, zmień typ danych łańcucha źródłowego lub kod_sql: -338
wykonaj rzutowanie danych, aby umożliwić zwiększenie
długości łańcucha podczas konwersji. stan_sql: 42972
kod_sql: -334
SQL0340N Wspólne wyrażenie tabelowe nazwa ma taki
stan_sql: 22524
sam identyfikator, co inne wystąpienie
definicji wspólnego wyrażenia tabelowego w
SQL0336N Skalą liczby dziesiętnej musi być zero. obrębie tej samej instrukcji.
Objaśnienie: Objaśnienie:
Liczby dziesiętnej użyto w kontekście, który wymaga skali Wspólne wyrażenie tabelowe o nazwie nazwa jest użyte w
zerowej. Sytuacja taka może wystąpić po użyciu liczby definicji więcej niż jednego wspólnego wyrażenia tabelowego
dziesiętnej w instrukcji CREATE lub ALTER SEQUENCE w instrukcji. Nazwa używana do opisu wspólnego wyrażenia
jako wartości parametru START WITH, INCREMENT, tabelowego musi być unikalna w obrębie tej samej instrukcji.
MINVALUE, MAXVALUE lub RESTART WITH.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika: Zmień nazwę jednego ze wspólnych wyrażeń tabelowych.
Zmień liczbę dziesiętną, usuwając wszystkie niezerowe cyfry
po prawej stronie separatora dziesiętnego. kod_sql: -340

kod_sql: -336 stan_sql: 42726

stan_sql: 428FA

60 Komunikaty, tom 2
SQL0341N • SQL0345N

kod_sql: -343
SQL0341N Między wspólnymi wyrażeniami tabelowymi
nazwa1 i nazwa2 istnieje odwołanie
cykliczne. stan_sql: 42908

Objaśnienie:
Wspólne wyrażenie tabelowe nazwa1 odwołuje się do nazwa2 SQL0344N Rekurencyjne wspólne wyrażenie tabelowe
w klauzuli FROM pełnej selekcji, a nazwa2 odwołuje się do nazwa ma niezgodne typy danych, długości
nazwa1 w klauzuli FROM swojej pełnej selekcji. Tego rodzaju lub strony kodowe dla kolumny
cykliczne odwołania nie są dopuszczalne. nazwa-kolumny.
Objaśnienie:
Nie można wykonać instrukcji. Rekurencyjne wyrażenie tabelowe nazwa zawiera kolumnę
nazwa-kolumny, do której istnieje odwołanie z iteracyjnej
Działanie użytkownika:
pełnej selekcji wspólnego wyrażenia tabelowego. Typ danych,
Usuń ze wspólnego wyrażenia tabelowego cykliczne
długość oraz strona kodowa są oparte o początkowej pełnej
odwołanie.
selekcji dla tej kolumny. Wynik wyrażenia dla kolumny
nazwa-kolumny w iteracyjnej pełnej selekcji ma inny typ
kod_sql: -341
danych, długość lub stronę kodową, co może spowodować
błąd podczas przypisywania wartości w tej kolumnie.
stan_sql: 42835
Nie można wykonać instrukcji.
SQL0342N Wspólne wyrażenie tabelowe nazwa nie
Działanie użytkownika:
może używać instrukcji SELECT
Popraw kolumnę używaną w pełnych selekcjach
DISTINCT i musi używać UNION ALL,
rekurencyjnego wyrażenia tabelowego, tak aby kolumna
ponieważ jest rekurencyjne.
inicjująca odpowiadała kolumnom iteracyjnym.
Objaśnienie:
Istnieją dwa możliwe wyjaśnienia: kod_sql: -344
v Pełna selekcja wewnątrz wspólnego wyrażenia tabelowego
nazwa nie może być utworzona przez SELECT DISTINCT, stan_sql: 42825
ponieważ wspólne wyrażenie tabelowe jest rekurencyjne.
v W pełnej selekcji wewnątrz wspólnego wyrażenia SQL0345N Pełna selekcja rekurencyjnego wspólnego
tabelowego nazwa podano parametr UNION zamiast wyrażenia tabelowego nazwa musi być unią
wymaganego dla rekurencyjnych wspólnych wyrażeń (UNION) dwóch lub kilku pełnych selekcji i
tabelowych UNION ALL. nie może zawierać funkcji kolumnowych,
klauzuli GROUP BY, klauzuli HAVING,
Nie można wykonać instrukcji. klauzuli ORDER BY ani jawnego
połączenia zawierającego klauzulę ON.
Działanie użytkownika:
Usuń ze wspólnego wyrażenia tabelowego parametr Objaśnienie:
DISTINCT, dodaj po parametrze UNION parametr ALL lub Wspólne wyrażenie tabelowe nazwa zawiera odwołanie do
usuń ze wspólnego wyrażenia tabelowego odwołanie samego siebie i dlatego:
rekurencyjne. v musi być unią dwóch lub więcej pełnych selekcji,
v nie może zawierać klauzuli GROUP BY,
kod_sql: -342
v nie może zawierać funkcji kolumnowych,
stan_sql: 42925 v nie może zawierać klauzuli HAVING,
v nie może zawierać klauzuli ORDER BY w odniesieniu do
SQL0343N W rekurencyjnym wyrażeniu tabelowym iteracyjnej pełnej selekcji,
nazwa wymagane jest podanie nazw kolumn. v nie może zawierać jawnych łączeń w klauzuli ON.
Objaśnienie:
Nie można wykonać instrukcji.
Rekurencyjne wyrażenie tabelowe nazwa musi zawierać
specyfikację nazw kolumn, następującą po identyfikatorze Działanie użytkownika:
wspólnego wyrażenia tabelowego. Zmień wspólne wyrażenie tabelowe:
v zamieniając go na unię dwóch lub więcej pełnych selekcji,
Nie można wykonać instrukcji.
v usuwając wszelkie funkcje kolumnowe, klauzule GROUP
Działanie użytkownika: BY, klauzule HAVING, klauzule ORDER BY oraz jawne
Dodaj po identyfikatorze wspólnego wyrażenia tabelowego połączenia (JOIN) zawierające klauzulę ON,
nazwy kolumn. v usuwając odwołania rekurencyjne.

Rozdział 2. Komunikaty SQL 61


SQL0346N • SQL0348N

kod_sql: -345 inne charakterystyki rekurencyjnego wyrażenia tabelowego


mogą pomimo to pozwolić na poprawne zakończenie
stan_sql: 42836 instrukcji.
Działanie użytkownika:
SQL0346N W pierwszej pełnej selekcji wystąpiło błędne Aby zapobiec powstaniu pętli nieskończonej, użyj podanej
odwołanie do wspólnego wyrażenia składni.
tabelowego nazwa w postaci drugiego
wystąpienia w tej samej klauzuli FROM lub kod_sql: +347
w klauzuli FROM podzapytania.
stan_sql: 01605
Objaśnienie:
Wspólne wyrażenie tabelowe nazwa zawiera błędne odwołanie
do samego siebie wskutek wystąpienia jednej z następujących SQL0348N wyrażenie-sekwencji nie może wystąpić w
sytuacji: tym kontekście.
v Odwołanie rekurencyjne w pierwszej pełnej selekcji przed Objaśnienie:
operatorem mnogościowym UNION ALL. Pierwsza pełna Instrukcja zawiera wyrażenie NEXT VALUE lub PREVIOUS
selekcja musi być selekcją inicjującą i nie może zawierać VALUE w nieprawidłowym kontekście. Wyrażenia NEXT
odwołań rekurencyjnych. VALUE i PREVIOUS VALUE nie mogą wystąpić w
v W tej samej klauzuli FROM istnieje więcej niż jedno poniższych kontekstach:
odwołanie do tego samego wspólnego wyrażenia v warunek w pełnym łączeniu zewnętrznym,
tabelowego. Tego rodzaju odwołania w rekurencyjnym
wyrażeniu tabelowym nie są dozwolone. v wartość DEFAULT dla kolumny w instrukcji CREATE
TABLE lub ALTER TABLE,
v Rekurencyjne odwołanie w klauzuli FROM z podzapytania.
Nie można zdefiniować cyklu rekurencji przy użyciu v definicja kolumny generowanej w instrukcji CREATE
podzapytania. TABLE lub ALTER TABLE,
v warunek ograniczenia sprawdzającego,
Nie można wykonać instrukcji. v instrukcja CREATE TRIGGER (można podać wyrażenie
NEXT VALUE, ale wyrażenie PREVIOUS VALUE nie
Działanie użytkownika:
może być określone),
Zmień jedno z następujących:
v instrukcja CREATE VIEW, instrukcja CREATE METHOD
v pełną selekcję występującą przed operatorem UNION, tak
lub instrukcja CREATE FUNCTION,
aby nie zawierała odwołania rekurencyjnego,
v klauzulę FROM zawierającą więcej niż jedno odwołanie do Wyrażenia NEXT VALUE nie mogą wystąpić w poniższych
tego samego wspólnego wyrażenia tabelowego, kontekstach:
v klauzulę FROM z podzapytania, tak aby nie zawierała v wyrażenie CASE,
odwołań do wspólnego wyrażenia tabelowego.
v lista argumentów funkcji agregującej,
kod_sql: -346 v podzapytanie z wyjątkiem pełnej selekcji instrukcji
INSERT, UPDATE lub VALUES INTO,
stan_sql: 42836 v instrukcja SELECT, dla której zewnętrzna instrukcja
SELECT zawiera operator DISTINCT,
SQL0347W Rekurencyjne wyrażenie tabelowe nazwa v instrukcja SELECT, dla której zewnętrzna instrukcja
może zawierać pętlę nieskończoną. SELECT zawiera klauzulę GROUP BY,
v warunek w łączeniu,
Objaśnienie:
Rekurencyjne wyrażenie tabelowe o nazwie nazwa mogło nie v instrukcja SELECT, dla której zewnętrzna instrukcja
zostać zakończone. To ostrzeżenie zostało spowodowane SELECT jest połączona z inną instrukcją SELECT za
nieodnalezieniem składni charakterystycznej dla części pomocą operatora mnogościowego UNION, INTERSECT
iteracyjnej rekurencyjnego wyrażenia tabelowego. Do lub EXCEPT,
oczekiwanych wyrażeń należą: v zagnieżdżone wyrażenie tabelowe,
v zwiększenie kolumny typu INTEGER iteracyjnej listy v lista argumentów funkcji tabelowej,
selekcji o 1 v lista argumentów wyrażenia XMLTABLE, XMLQUERY
v predykat w klauzuli WHERE części iteracyjnej postaci lub XMLEXISTS,
″licznik_kol < stała″ lub ″licznik_kol < v klauzula WHERE skrajnie zewnętrznej instrukcji SELECT,
:zmienna_języka_bazowego″. DELETE lub UPDATE,
v klauzula ORDER BY skrajnie zewnętrznej instrukcji
Brak takiej składni w rekurencyjnym wyrażeniu tabelowym
SELECT,
może spowodować wystąpienie pętli nieskończonej. Dane lub

62 Komunikaty, tom 2
SQL0349N • SQL0351N

v klauzula select pełnej selekcji wyrażenia w klauzuli SET


SQL0350N Nie można użyć kolumny nazwa-kolumny
instrukcji UPDATE,
typu LOB, LONG VARCHAR,
v instrukcje IF, WHILE, DO...UNTIL lub CASE w DATALINK, XML lub strukturalnego typu
procedurze SQL, danych w indeksie, kluczu, ograniczeniu
v lista argumentów operatora CONNECT_BY_ROOT oraz przez unikalność, zależności funkcjonalnej,
funkcji SYS_CONNECT_BY_PATH, kolumnie generowanej lub zadeklarowanej
v klauzule START WITH i CONNECT BY. tabeli tymczasowej.
Objaśnienie:
Nie można wykonać instrukcji. W kluczu, ograniczeniu przez unikalność, kolumnie
generowanej lub zadeklarowanej globalnej tabeli tymczasowej
Działanie użytkownika:
nie można używać kolumn typu LOB, LONG VARCHAR,
Usuń odwołanie do wyrażenia sekwencji i ponownie
DATALINK, XML ani kolumn typu strukturalnego. Nie
wprowadź instrukcję.
można używać kolumn typu LOB lub DATALINK w definicji
indeksu. Kolumny typu XML można użyć w definicji indeksu
kod_sql: -348
tylko wtedy, gdy jest to jedyna kolumna i określono klauzulę
XMLPATTERN. Kolumny typu strukturalnego można użyć w
stan_sql: 428F9 definicji indeksu tylko wtedy, gdy jest to jedyna kolumna i
określono dla niej powiązane rozszerzenie indeksu.
SQL0349N Specyfikacja wyrażenia NEXT VALUE dla
kolumny na pozycji pozycja-kolumny musi Nie można wykonać instrukcji.
pasować do specyfikacji wszystkich innych
Działanie użytkownika:
wyrażeń dla tej samej kolumny i wszystkich
Usuń kolumnę typu LOB, LONG VARCHAR, DATALINK,
wierszy.
XML lub kolumnę typu strukturalnego ze specyfikacji
Objaśnienie: indeksu, klucza, ograniczenia przez unikalność, zależności
Wyrażenie określone dla kolumny na pozycji pozycja-kolumny funkcjonalnej, kolumny generowanej lub deklarowanej tabeli
w klauzuli VALUES wielowierszowej instrukcji INSERT lub tymczasowej. W razie indeksowania kolumny typu XML lub
w wyrażeniu VALUES zawierało wyrażenie NEXT VALUE. kolumny typu strukturalnego sprawdź, czy jest to jedyna
Jeśli wyrażenie zawierające wyrażenie NEXT VALUE służy kolumna i czy definicja indeksu zawiera odpowiednie
do określenia wartości kolumny w jednym z poniższych klauzule.
kontekstów, wówczas to samo wyrażenie musi być użyte dla
tej kolumny we wszystkich wierszach. Na przykład, poniższa kod_sql: -350
instrukcja INSERT jest prawidłowa:
INSERT INTO T1 stan_sql: 42962
VALUES(
NEXT VALUE FOR sequence1 + 5, ’a’
), SQL0351N Wystąpił nieobsługiwany typ SQLTYPE na
( pozycji numer-pozycji w wyjściowym
NEXT VALUE FOR sequence1 + 5, ’b’ obszarze deskryptorów SQL (lista wyboru).
),
Objaśnienie:
(
NEXT VALUE FOR sequence1 + 5, ’c’ Element w obszarze deskryptorów SQL na pozycji
) numer-pozycji ma taki typ danych, którego nie obsługuje
requester aplikacji lub serwer aplikacji. Jeśli aplikacja nie
Natomiast poniższa instrukcja INSERT jest nieprawidłowa: korzysta z obszaru deskryptorów w sposób bezpośredni,
numer-pozycji może określać pozycję elementu na liście
INSERT INTO T1 klauzuli SELECT lub parametr instrukcji CALL.
VALUES(
NEXT VALUE FOR sequence1 + 5, ’a’
), Nie można wykonać instrukcji.
( Działanie użytkownika:
NEXT VALUE FOR sequence1 + 5, ’b’
Usuń z instrukcji nieobsługiwany typ danych. W przypadku
),
( instrukcji SELECT usuń nazwy kolumn z listy SELECT,
NEXT VALUE FOR sequence1 + 4, ’c’ mające nieobsługiwany typ lub użyj rzutowania, aby
) przekształcić typ danych w kolumnie w jeden z obsługiwanych
typów.
Działanie użytkownika:
Popraw składnię i wprowadź ponownie instrukcję. kod_sql: -351

kod_sql: -349 stan_sql: 56084

stan_sql: 560B7

Rozdział 2. Komunikaty SQL 63


SQL0352N • SQL0357N

obecnie niedozwolony albo program DB2 nie jest w


SQL0352N Wystąpił nieobsługiwany typ SQLTYPE na
stanie się połączyć z menedżerem DB2 Data Links
pozycji numer-pozycji w wejściowym
Manager.
obszarze deskryptorów SQL (lista wyboru).
04 Program DB2 Data Links Manager działa na
Objaśnienie:
nieznanym serwerze.
Element w obszarze deskryptorów SQL na pozycji
numer-pozycji ma taki typ danych, którego nie obsługuje 05 Wystąpił błąd podczas komunikacji z programem
requester aplikacji lub serwer aplikacji. Jeśli aplikacja nie DB2 Data Links Manager.
korzysta z obszaru deskryptorów w sposób bezpośredni,
numer-pozycji może określać pozycję zmiennej języka 06 Typ instalacji menedżera DB2 Data Links Manager
macierzystego, znacznika parametru lub parametru instrukcji nie jest zgodny z typem zarejestrowanym w bazie
CALL. danych.

Nie można wykonać instrukcji. Nie można wykonać instrukcji.

Działanie użytkownika: Działanie użytkownika:


Usuń z instrukcji nieobsługiwany typ danych. Działanie zależy od kodu przyczyny:
01 Może nie działać program DB2 Data Links Manager
kod_sql: -352 lub łącze komunikacyjne. Zaczekaj chwilę i spróbuj
ponowić działanie lub poproś o pomoc
stan_sql: 56084 administratora DB2 Data Links Manager. Jeśli
problem się powtarza, odłącz aplikację od bazy
danych i spróbuj jeszcze raz po ponownym jej
SQL0355N Kolumna nazwa-kolumny w zdefiniowanej
podłączeniu.
postaci jest zbyt duża, aby można ją było
zarejestrować. 02 Zarejestruj serwer bazy danych, instancję lub bazę
danych w programie DB2 Data Links Manager.
Objaśnienie:
Dane typu duży obiekt (BLOB, CLOB oraz DBCLOB) mogą 03 Dostęp do menedżera DB2 Data Links Manager
mieć wielkość do 2 gigabajtów (2147483647 bajtów). będzie niedozwolony, dopóki program DB2 nie
Rejestrowanie wartości danych jest dopuszczalne tylko w będzie mógł zapewnić, że jest on w stanie spójnym.
przypadku obiektów o wielkości mniejszej od 1 gigabajta Poczekaj, aż program DB2 zrobi to asynchronicznie.
(1073741823 bajtów). Stąd duże obiekty większe od 1 Możliwe, że program DB2 nie jest w stanie tego
gigabajta nie mogą być rejestrowane. zrobić z powodu warunków w innych kodach
przyczyny. Jeśli zatem problem powtarza się, zajrzyj
Działanie użytkownika:
do pliku db2diag.log instancji, aby znaleźć i
Możesz bezpośrednio wskazać, że rejestrowanie danych nie
poprawić taki warunek. Więcej informacji można
jest wymagane, używając podczas tworzenia kolumny
znaleźć w podręczniku Administration Guide w
wyrażenia NOT LOGGED lub zredukować maksymalną
opisie problemu odtwarzania po awarii dla
wielkość kolumny do 1 gigabajta lub mniejszej.
menedżera DB2 Data Links Manager. Ponadto
sprawdź wszystkie ustawienia hosta dla połączeń z
kod_sql: -355 tym menedżerem DB2 Data Links Manager.

stan_sql: 42993 04 Sprawdź, czy program DB2 Data Links Manager jest
dostępny w sieci.

SQL0357N Program DB2 Data Links Manager nazwa 05 Sprawdź, czy działa program DB2 Data Links
nie jest w tej chwili dostępny. Kod Manager i łącze komunikacyjne. Jeśli problem się
przyczyny = kod-przyczyny. powtarza, odłącz aplikację od bazy danych i spróbuj
jeszcze raz po ponownym jej podłączeniu.
Objaśnienie:
Instrukcja wymaga przetwarzania przez program DB2 Data 06 Jeśli menedżer DB2 Data Links Manager został
Links Manager nazwa. Program ten nie jest w tej chwili zainstalowany dla DFS, musi zostać dodany do bazy
dostępny z przyczyny, którą określa kod przyczyny. danych jako CELL. Jeśli został zainstalowany dla
rodzimych systemów plików, musi zostać dodany
01 Program DB2 Data Links Manager nie jest dostępny. jako NODE. Szczegóły dotyczące komendy ADD
02 Serwer bazy danych, instancja lub baza danych, z DATALINKS MANAGER można znaleźć w
której próbowano wykonać operację, nie została publikacji Command Reference.
zarejestrowana z właściwym programem DB2 Data
Links Manager. kod_sql: -357

03 Dostęp do menedżera DB2 Data Links Manager jest stan_sql: 57050

64 Komunikaty, tom 2
SQL0358N

36 Znacznik zapisu zawarty w położeniu danych


SQL0358N Nie można uzyskać dostępu do plików przez
wartości DATALINK nie jest zgodny ze
wartość DATALINK. Kod przyczyny =
znacznikiem użytym przy otwieraniu pliku, do
kod-przyczyny.
którego odwołuje się wartość DATALINK.
Objaśnienie:
37 Plik odwołania wartości DATALINK znajduje się w
Wartość DATALINK nie może zostać przypisana. Możliwe
stanie aktualizowania w toku.
kody przyczyny:
38 Wartości DATALINK ze schematem DFS nie można
21 Format lokalizacji danych wartości DATALINK jest
przypisać do kolumny typu DATALINK
niepoprawny.
zdefiniowanej z opcją WRITE PERMISSION
22 Program DB2 Data Links Manager nie został ADMIN.
zarejestrowany w bazie danych lub parametr
39 Wartości DATALINK skonstruowanej przez funkcję
konfiguracyjny DATALINKS menedżera bazy
skalarną DLNEWCOPY nie można przypisać do
danych ma ustawienie inne niż YES.
kolumny typu DATALINK zdefiniowanej z opcją
23 Wartość typu łącza DATALINK jest niepoprawna. WRITE PERMISSION BLOCKED.
24 Program DB2 Data Links Manager nie może znaleźć 40 Nie można odnaleźć poprzedniej kopii archiwalnej
pliku, do którego odwołuje się wartość DATALINK. pliku odwołania DATALINK, korzystając z serwera
archiwum.
25 Plik, do którego odwołuje się wartość DATALINK
jest już dowiązany do bazy danych. 41 Tej samej wartości DATALINK skonstruowanej
przez funkcję skalarną DLNEWCOPY lub
26 Pliku, do którego odwołuje się wartość DATALINK,
DLPREVIOUSCOPY nie można przypisać
nie można używać w celu łączenia. Może to być
wielokrotnie w ramach tej samej transakcji; ponadto
katalog, dowiązanie symboliczne lub plik z
nie można usunąć dowiązania wartości DATALINK,
ustawionym bitem uprawnień do określania
gdy przypisanie tej samej wartości DATALINK
identyfikatora użytkownika (SUID) lub grupy
skonstruowanej przez DLNEWCOPY lub
(SGID), albo plik znajdujący się w systemie plików
DLPREVIOUSCOPY nie zostało jeszcze
niezdefiniowanym jako DLFS (Data Links File
zatwierdzone.
System).
42 Wartość typu DATALINK skonstruowaną przez
27 Położenie danych lub komentarz dla wartości
funkcję skalarną DLREPLACECONTENT można
DATALINK są za długie.
przypisać do kolumny typu DATALINK
28 Rejestr istniejący w programie DB2 Data Links zdefiniowanej z opcją NO LINK CONTROL tylko
Manager nie pozwala na dowiązywanie tego pliku wtedy, gdy drugim argumentem (położenie pliku
(brak pasującego przedrostka w DLFM). zastępującego) jest łańcuch o zerowej długości lub
wartość pusta.
29 Program DB2 Data Links Manager nie nadał
użytkownikowi DB2 uprawnień do dowiązywania 43 Operacja usuwania dowiązania pliku zastępującego
tego pliku. określonego w funkcji skalarnej
DLREPLACECONTENT nie została zatwierdzona.
30 Dowiązywanie tego pliku jest już wykonywane
przez inną aplikację. 44 Plik zastępujący określony w funkcji skalarnej
DLREPLACECONTENT jest już używany w innym
31 Kopiowanie pliku, do którego dowiązanie ma zostać procesie zastępowania.
usunięte nie zostało zakończone przez DB2 Data
Links Manager. Nie można wykonać instrukcji. 45 Plik, do którego odwołuje się wartość DATALINK
jest już określony jako plik zastępujący w innej
32 Wartość DATALINK nie zawiera poprawnego operacji.
znacznika zapisu.
46 Format pliku zastępującego określonego w funkcji
33 Wartość DATALINK skonstruowana przez funkcję skalarnej DLREPLACECONTENT nie jest
skalarną DLPREVIOUSCOPY może być przypisana poprawny.
tylko do kolumny typu DATALINK zdefiniowanej z
opcjami WRITE PERMISSION ADMIN i 47 Formatem pliku zastępującego określonego w
RECOVERY YES. funkcji skalarnej DLREPLACECONTENT nie może
być katalog ani dowiązanie symboliczne.
34 Wartość DATALINK skonstruowana przez funkcję
skalarną DLNEWCOPY lub DLPREVIOUSCOPY 48 Plik zastępujący określony w funkcji skalarnej
nie jest zgodna z wartością już obecną w kolumnie. DLREPLACECONTENT jest już dowiązany do
bazy danych.
35 Wartości DATALINK skonstruowanej przez funkcję
skalarną DLNEWCOPY lub DLPREVIOUSCOPY 49 Program Data Links File Manager nie może
nie można użyć w instrukcji INSERT w celu odnaleźć pliku zastępującego określonego w funkcji
przypisania nowej wartości. skalarnej DLREPLACECONTENT.

Rozdział 2. Komunikaty SQL 65


SQL0359N

50 Wartości DATALINK mające znacznik zapisu w znacznika zapisu, gdyby został on utracony.
położeniu danych, skonstruowane przez funkcję Szczegółowe informacje na temat komend DLM
skalarną DLNEWCOPY, mogą być przypisywane znajdują się w podręczniku Data Links Manager
tylko do kolumn typu DATALINK zdefiniowanych z Administration Guide and Reference.
opcją WRITE PERMISSION ADMIN.
37 Plik, do którego odwołuje się wartość DATALINK,
Działanie użytkownika: jest obecnie aktualizowany. Najpierw wydaj
Działanie zależy od kodu przyczyny. komendę SQL UPDATE z funkcją skalarną
DLNEWCOPY lub DLPREVIOUSCOPY względem
21 Popraw format lokalizacji danych.
kolumny DATALINK, aby zatwierdzić lub wycofać
22 Sprawdź, czy podano poprawny program DB2 Data zmiany w pliku. Następnie ponownie wydaj tę samą
Links Manager i czy jest on zarejestrowany dla bazy instrukcję.
danych. Jeśli parametr konfiguracyjny Datalinks
38 Istnieje ograniczenie, które powoduje, że wartości
menedżera baz danych nie ma wartości YES (TAK),
DATALINK ze schematem DFS nie można
zarejestrowane programy DB2 Data Links Manager
przypisać do kolumny typu DATALINK
są ignorowane.
zdefiniowanej z opcją WRITE PERMISSION
23 Popraw wartość typu połączenia. ADMIN. Przenieś plik do systemu plików innego
typu i przypisz wartość DATALINK z innym
24 Sprawdź, czy podano poprawny plik i czy ten plik schematem.
istnieje.
39 Zamiast tego użyj funkcji skalarnej DLVALUE.
25 Odłącz istniejące odwołanie do pliku lub nie
podawaj pliku w tej instrukcji. 40 Sprawdź, czy serwer archiwum działa. Następnie
ponów próbę.
26 Łączenie katalogów nie jest dozwolone. Użyj
rzeczywistej nazwy pliku, a nie dowiązania 41 Ponownie spróbuj wykonać operację UPDATE w
symbolicznego. Jeśli identyfikator SUID lub SGID osobnej transakcji.
jest ustawiony lub jeśli plik znajduje się w systemie
42 Jako położenia pliku zastępującego użyj łańcucha o
plików innym niż DLFS, pliku tego nie można
zerowej długości lub wartości pustej.
dowiązać przy użyciu typu DATALINK.
43 Zatwierdź bieżącą transakcję. Następnie ponów
27 Zredukuj długość komentarza lub wartości
próbę.
określającej położenie danych.
44 Użyj innej nazwy pliku zastępującego lub spróbuj
28 Poproś administratora programu DB2 Data Links
ponownie później.
Manger o dodanie danych rejestracyjnych
wymaganych do dowiązania tego pliku. 45 Nie dowiązuj tego pliku lub ponów próbę później.
29 Poproś administratora programu DB2 Data Links 46 Popraw format łańcucha położenia pliku
Manger o nadanie niezbędnych uprawnień. zastępującego.
30 Nie dowiązuj tego pliku albo powtórz próbę później. 47 Określ plik. Użyj rzeczywistej nazwy pliku
zastępującego, a nie jego dowiązania
31 Poczekaj na zakończenie operacji kopiowania i
symbolicznego.
powtórz próbę.
48 Usuń dowiązanie pliku.
32 Wartość położenia danych musi zawierać poprawny
znacznik zapisu. Znacznik zapisu jest generowany 49 Sprawdź, czy podano poprawny plik i czy ten plik
jako część wartości zwracanej przez funkcję skalarną istnieje.
DLURLCOMPLETEWRITE bądź
50 Usuń znacznik z wartości położenia danych.
DLURLPATHWRITE w instrukcji SELECT
wykonywanej na kolumnie DATALINK
zdefiniowanej z opcją WRITE PERMISSION kod_sql: -358
ADMIN.
stan_sql: 428D1
33 Zamiast tego użyj funkcji skalarnej DLVALUE.
34 Skoryguj położenie danych, tak aby było zgodne z SQL0359N Wyczerpany został zakres wartości dla
istniejącym w wierszu. kolumny tożsamości lub dla sekwencji.
35 W razie przypisywania nowej wartości DATALINK Objaśnienie:
użyj funkcji skalarnej DLVALUE. W programie DB2 podjęto próbę wygenerowania wartości dla
36 Podaj położenie danych ze znacznikiem zapisu kolumny tożsamości lub dla sekwencji w sytuacji, gdy
używanym do otwierania i modyfikowania pliku. wszystkie wartości z dopuszczalnego zakresu zostały już
Dostępny jest zestaw komend programu Data Links przypisane.
File Manager (DLFM) umożliwiających pobranie

66 Komunikaty, tom 2
SQL0360W • SQL0364W

Nie można wykonać instrukcji. Podczas wykonywania operacji typ-operacji na polu, którego
typ to DECFLOAT, wystąpił wyjątek typ-wyjątku. Wyjątek
Działanie użytkownika:
wystąpił podczas przetwarzania wyrażenia arytmetycznego.
W wypadku kolumny tożsamości należy zmienić definicję
tabeli, poszerzając dopuszczalny zakres wartości, Jeśli
Możliwe wartości wyjątku typ-wyjątku to:
określono parametr MAXVALUE lub MINVALUE, który
dopuszcza zakres wartości węższy niż dozwolony typem v UNDERFLOW w przypadku wyjątku niedomiaru
danych kolumny, definicję kolumny można zmienić przez v OVERFLOW w przypadku wyjątku przepełnienia
poszerzenie zakresu wartości. W przeciwnym razie kolumnę v INEXACT w przypadku wyjątku niedokładności
tożsamości należy utworzyć ponownie, co wiąże się z
koniecznością ponownego utworzenia tabeli. Najpierw należy v INVALID OPERATION w przypadku wyjątku
usunąć istniejącą tabelę, a następnie ją odtworzyć, wybierając niepoprawnej operacji
inny typ danych kolumny tożsamości, charakteryzujący się v DIVISION BY ZERO w przypadku wyjątku dzielenia przez
szerszym zakresem dopuszczalnych wartości niż poprzednio. zero

W wypadku obiektu sekwencji należy ponownie zdefiniować Możliwe wartości typ-operacji to:
sekwencję, określając szerszy zakres wartości. Jeśli klauzula v ADDITION w przypadku operacji dodawania
MAXVALUE lub MINVALUE ogranicza zakres wartości
v SUBTRACTION w przypadku operacji odejmowania
poniżej zakresu dopuszczalnego typem danych sekwencji,
wystarczy zmodyfikować definicję sekwencji, poszerzając v MULTIPLICATION w przypadku operacji mnożenia
zakres dozwolonych wartości. W przeciwnym razie należy v DIVISION w przypadku operacji dzielenia
usunąć sekwencję i wprowadzić ponownie instrukcję v NEGATION w przypadku operacji negacji
CREATE SEQUENCE, podając tym razem typ danych
v BUILT-IN FUNCTION w przypadku operacji będącej
dopuszczający szerszy zakres wartości.
funkcją wbudowaną
kod_sql: -359
Wyjątek DECFLOAT może wystąpić z powodu konwersji
tymczasowej kopii wewnętrznej danych do typu DECFLOAT
stan_sql: 23522
dla danej operacji.

SQL0360W Wartości DATALINK mogą być Każdy z wyjątków może wystąpić podczas przetwarzania
niepoprawne, gdyż tabela nazwa-tabeli jest funkcji wbudowanej. Jeśli operacja typ-operacji to
w stanie oczekiwania na uzgodnienie FUNCTION, wtedy wyjątek wystąpił podczas przetwarzania
DATALINK (DRP) lub w stanie, w którym wartości wejściowej, pośredniej lub końcowej. Przyczyną
uzgodnienie DATALINK nie jest możliwe może być to, że wartość parametru jest spoza zakresu.
(DRNP).
Przetwarzanie instrukcji jest kontynuowane.
Objaśnienie:
Wartości DATALINK w tabeli nazwa-tabeli mogą być Działanie użytkownika:
niepoprawne, gdyż tabela znajduje się w stanie oczekiwania na Aby to ostrzeżenie nie pojawiło się więcej, sprawdź
uzgodnienie DATALINK (DRP) lub w stanie, w którym wyrażenie, dla którego wystąpiło to ostrzeżenie, w celu
uzgodnienie DATALINK nie jest możliwe (DRNP). W obu stwierdzenia, czy można określić przyczynę lub
stanach sterowanie plikami w programie DB2 Data Links prawdopodobną przyczynę tego wyjątku. Wyjątek może być
Manager nie jest zagwarantowane. zależny od danych, a w takim przypadku konieczne będzie
sprawdzenie danych, które były przetwarzane w momencie
Przetwarzanie instrukcji jest kontynuowane. wystąpienia wyjątku. Informacje o obsługiwanych zakresach
wartości typu DECFLOAT zawiera podręcznik SQL
Działanie użytkownika:
Reference.
Informacje dotyczące stanów DRP (Oczekiwanie na
uzgodnienie Datalink) i DRNP (Uzgodnienie Datalink nie jest
kod_sql: +364
możliwe) zawiera podręcznik Administration Guide.
stan_sql: 0168C
kod_sql: +360
stan_sql: 0168D
stan_sql: 01627
stan_sql: 0168E
SQL0364W Podczas operacji operacja wystąpił wyjątek
DECFLOAT typ-wyjątku. stan_sql: 0168F
Objaśnienie:

Rozdział 2. Komunikaty SQL 67


SQL0368N • SQL0374N

v utworzenia tabeli z więcej niż jedną kolumną ROWID,


SQL0368N Program DB2 Data Links Manager
nazwa-dlm nie jest zarejestrowany w bazie v dodania kolumny ROWID do tabeli, która ma już tę
danych. kolumnę,
v utworzenia tabeli z więcej niż jedną kolumną etykiet
Objaśnienie:
bezpieczeństwa,
Program DB2 Data Links Manager nazwa-dlm nie jest
zarejestrowany w bazie danych. Jeśli parametr konfiguracyjny v dodania kolumny etykiet bezpieczeństwa do tabeli, która już
DATALINKS menedżera bazy danych ma wartość NO (NIE), ma jedną taką kolumnę,
zarejestrowane programy DB2 Data Links Manager są v utworzenia tabeli z więcej niż jedną kolumną datownika
ignorowane. Być może program DB2 Data Links Manager zmiany wiersza,
został usunięty za pomocą komendy DROP DATALINKS v dodania kolumny datownika zmiany wiersza do tabeli, która
MANAGER. Aktualnie może być zarejestrowana nowa już ma jedną taką kolumnę.
instancja menedżera DB2 Data Links o takiej samej nazwie. W
takim wypadku błąd dotyczy jednej lub kilku z uprzednio
Typ danych ROWID jest obsługiwany w produktach DB2 for
usuniętych instancji tego menedżera.
z/OS i DB2 for iSeries.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika:
Sprawdź, czy parametr konfiguracyjny menedżera bazy
W instrukcji CREATE TABLE określ tylko raz dla tabeli typ
danych DATALINKS jest ustawiony na YES. Wartości
danych ROWID, atrybut IDENTITY, typ danych
DATALINK będące łączami do uprzednio usuniętych
DB2SECURITYLABEL lub atrybut ROW CHANGE
menedżerów DB2 Data Links powinny zostać usunięte przy
TIMESTAMP. W przypadku instrukcji ALTER TABLE
użyciu odpowiedniego programu narzędziowego. Informacje
kolumna już istnieje w tabeli, która ma jeden z następujących
dodatkowe można znaleźć w uwagach dotyczących
elementów: typ danych ROWID, atrybut IDENTITY, typ
korzystania z komendy DROP DATALINKS MANAGER w
danych DB2SECURITYLABEL lub atrybut ROW CHANGE
podręczniku Command Reference.
TIMESTAMP.
kod_sql: -368
kod_sql: -372
stan_sql: 55022
stan_sql: 428C1

SQL0370N Parametr na pozycji n musi być wymieniony


SQL0373N Klauzuli DEFAULT nie można określić dla
w instrukcji CREATE FUNCTION funkcji
kolumny GENERATED nazwa-kolumny.
LANGUAGE SQL o nazwie nazwa.
Objaśnienie:
Objaśnienie:
Klauzula DEFAULT nie może zostać określona dla kolumny,
Wszystkie parametry funkcji zdefiniowanych w funkcji
która została zidentyfikowana jako kolumna GENERATED.
LANGUAGE SQL muszą mieć nazwę nazwa-parametru.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika:
Usuń klauzulę DEFAULT i wprowadź ponownie instrukcję.
Wprowadź nazwę dla każdego parametru funkcji.
kod_sql: -373
kod_sql: -370
stan_sql: 42623
stan_sql: 42601

SQL0374N Klauzula klauzula nie została podana w


SQL0372N Kolumna z typem danych lub atrybutem
instrukcji CREATE FUNCTION funkcji
ROWID, IDENTITY, etykietą
LANGUAGE SQL nazwa-funkcji, a z treści
bezpieczeństwa lub datownikiem zmiany
funkcji wynika, że powinna być podana.
wiersza może być określona dla tabeli tylko
raz. Objaśnienie:
Oto możliwe przyczyny błędu.
Objaśnienie:
Podjęto próbę wykonania jednej z następujących czynności:
Gdy definicja funkcji zdefiniowanej z parametrem
v utworzenia tabeli z więcej niż jedną kolumną IDENTITY, LANGUAGE SQL umożliwia modyfikowanie danych SQL
v dodania kolumny IDENTITY do tabeli, która ma już tę lub wywoływanie funkcji lub procedury, która może
kolumnę, modyfikować dane SQL, konieczne jest określenie parametru
MODIFIES SQL DATA.

68 Komunikaty, tom 2
SQL0385W • SQL0390N

Należy podać READS SQL DATA, jeśli ciało funkcji SQL


SQL0389N Określona instancja funkcji
zawiera podwybór lub jeśli wywołuje ono funkcję, która może
nazwa-specyficzna wymieniona w instrukcji
czytać dane SQL.
CREATE CAST ma więcej niż jeden
parametr albo ma parametr, który nie jest
Nie można wykonać instrukcji. zgodny ze źródłowym typem danych, albo
Działanie użytkownika: zwraca typ danych, który nie jest zgodny z
Podaj klauzulę lub zmień ciało funkcji. celem.
Objaśnienie:
kod_sql: -374 Funkcja rzutowania musi:
v mieć dokładnie jeden parametr,
stan_sql: 428C2
v typ danych parametru musi być ten sam, co źródłowy typ
danych,
SQL0385W Przypisanie zmiennej SQLSTATE lub
v typ danych wynikowych musi być ten sam, co docelowy typ
SQLCODE w procedurze SQL mogło zostać
danych.
zastąpione i nie aktywuje żadnej procedury
obsługi.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
Procedura SQL zawiera co najmniej jedną instrukcję, która
Wybierz inną instancję funkcji, zmień źródłowy typ danych
przypisuje wartość zmiennej specjalnej SQLSTATE lub
lub zmień docelowy typ danych.
SQLCODE. Wartości są przypisywane tym zmiennym przez
przetwarzanie instrukcji SQL w procedurze SQL. Dlatego
przypisanie zmiennej może zostać zastąpione w wyniku kod_sql: -389
przetworzenia instrukcji SQL. Ponadto przypisanie wartości
zmiennej specjalnej SQLSTATE nie aktywuje żadnych stan_sql: 428DG
procedur obsługi.
SQL0390N Funkcja nazwa-funkcji została
Definicja procedury została pomyślnie przetworzona. przetłumaczona na określoną funkcję
Działanie użytkownika: nazwa-specyficzna, która jest niepoprawna w
Nie jest wymagane żadne działanie. Aby zapobiec kontekście, w którym została użyta.
wyświetlaniu tego ostrzeżenia, usuń wszelkie przypisania Objaśnienie:
wartości zmiennej specjalnej SQLSTATE lub SQLCODE. Funkcja została przekształcona do określonej funkcji, która
jest niepoprawna w kontekście, w którym została użyta. Jeśli
kod_sql: +385 nazwa-specyficzna jest łańcuchem pustym, to funkcja zostanie
przekształcona do funkcji wbudowanej identyfikowanej przez
stan_sql: 01643 nazwa-funkcji. Poniżej przedstawiono niektóre z możliwych
sytuacji:
SQL0388N W instrukcji CREATE CAST funkcji v określona funkcja jest funkcją tabelową, w której
nazwa-funkcji, zarówno źródło oczekiwana jest tylko funkcja skalarna, funkcja kolumnowa
nazwa-źródłowego-typu-danych, jak i cel lub funkcja wierszowa (na przykład przy tworzeniu
nazwa-docelowego-typu-danych są typami źródłowej funkcji skalarnej),
wbudowanymi lub są takie same. v określona funkcja jest funkcją skalarną, funkcją kolumnową
lub funkcją wierszową, w której oczekiwana jest tylko
Objaśnienie:
funkcja tabelowa (na przykład w klauzuli FROM
Jeden z typów danych musi być zdefiniowany przez
zapytania),
użytkownika. Typ źródłowy i docelowy nie może być taki
sam. v określona funkcja jest funkcją wierszową, w której
oczekiwana jest tylko funkcja skalarna lub kolumnowa.
Nie można wykonać instrukcji. v określona funkcja jest dozwolona tylko w ograniczonych
kontekstach, ale odwołanie do niej występuje w kontekście
Działanie użytkownika: niedozwolonym dla tej funkcji. W opisie funkcji określono
Zmień źródłowy lub docelowy typ danych. konteksty, w których ta funkcja jest dozwolona.

kod_sql: -388 Nie można wykonać instrukcji.

stan_sql: 428DF Działanie użytkownika:


Sprawdź, czy podano poprawną nazwę funkcji i argumenty,
oraz czy w bieżącej ścieżce znajduje się schemat, w którym
jest zdefiniowana poprawna funkcja. Może zaistnieć
konieczność zmiany nazwy funkcji, bieżącej ścieżki (przy

Rozdział 2. Komunikaty SQL 69


SQL0391N • SQL0401N

użyciu instrukcji SET CURRENT FUNCTION PATH lub kod_sql: -392


opcji wiązania FUNCPATH) albo zmiany kontekstu, w którym
funkcja jest używana. stan_sql: 42855

kod_sql: -390
SQL0396N Obiekt typ-obiektu o nazwie nazwa-obiektu
(nazwa specyficzna nazwa-specyficzna)
stan_sql: 42887
próbował wykonać instrukcję SQL podczas
przetwarzania wywołania końcowego.
SQL0391N Niepoprawne użycie funkcji opartej na
Objaśnienie:
wierszu nazwa-funkcji.
Procedura nazwa-obiektu (nazwa-specyficzna
Objaśnienie: nazwa-specyficzna) próbowała wykonać instrukcję SQL (inną
W instrukcji zastosowano funkcję wierszową nazwa_funkcji, niż zamknięcie kursora) podczas przetwarzania FINAL CALL
której nie można użyć z jednego z następujących powodów: (typ wywołania = 255). Jest to niedozwolone.
v Funkcja jest używana w klauzuli GROUP BY albo Działanie użytkownika:
HAVING, ale nie występuje jednocześnie na liście selekcji. Zmień procedurę, tak aby nie wydawała instrukcji SQL
v W tym kontekście nie można użyć funkcji, ponieważ podczas przetwarzania FINAL CALL (typ wywołania = 255).
instrukcja jest rekurencyjna.
v Nie można użyć funkcji w ograniczeniu sprawdzenia. kod_sql: -396
v Funkcji nie można użyć w kolumnie generowanej.
stan_sql: 38505
v Nie można użyć funkcji w definicji widoku, w której
podano klauzulę WITH CHECK OPTION, ani w żadnej
innej definicji zależnej od widoku, dla którego podano SQL0401N Typy danych dla operandów operacji
klauzulę WITH CHECK OPTION. operacja nie są zgodne.
v Funkcja zawiera argument, który nie odnosi się do wiersza Objaśnienie:
tabeli podstawowej. Dotyczy to także kolumny wynikowej Nie można przetworzyć operacji z użyciem operatora
łączenia zewnętrznego, gdzie możliwe jest tworzenie operator. Możliwe przyczyny:
wierszy typu NULL. v Typy danych operandów muszą być zgodne, ale co najmniej
v Funkcji nie można użyć względem wierszy replikowanej jedna para typów nie jest zgodna.
zmaterializowanej tabeli zapytania. v Operand typu XML nie może występować w wyrażeniu
porównania (z typem XML ani z żadnym innym typem).
Nie można wykonać instrukcji.
v Operand typu DATALINK nie może występować w
Działanie użytkownika: wyrażeniu porównania (z typem DATALINK ani z żadnym
Usuń funkcję nazwa-funkcji z kontekstu, w którym nie jest innym typem).
dozwolona. v Operand typu strukturalnego nie może występować w
wyrażeniu porównania (z typem strukturalnym ani z
kod_sql: -391 żadnym innym typem).

stan_sql: 42881 Użytkownicy systemów stowarzyszonych: Przekroczenie


zakresu może mieć miejsce w źródle danych lub na serwerze
SQL0392N Obszar SQLDA dostarczony dla kursora stowarzyszonym.
kursor został zmieniony od poprzedniego
pobrania. Niektóre źródła danych nie dostarczają poprawnych wartości
parametru operator. W takim przypadku element komunikatu
Objaśnienie: ma format : “<źródło danych>:UNKNOWN”, co oznacza, że
Aplikacja działająca zgodnie z regułami DB2 zażądała, aby właściwa wartość dla określonego źródła danych nie jest
duży obiekt (LOB) został zwrócony jako duży obiekt (LOB) w znana.
jednej instrukcji FETCH i jako wskaźnik w innej instrukcji
FETCH. Jest to niedozwolone. Nie można wykonać instrukcji.
Działanie użytkownika: Działanie użytkownika:
Nie można wykonać instrukcji. Sprawdź typy danych wszystkich operandów, aby upewnić się,
że są one porównywalne i zgodne ze sposobem wykorzystania
Nie korzystaj z reguł DB2 lub wprowadź zmiany w aplikacji, w instrukcji.
tak aby między kolejnymi pobraniami nie zmieniała kodu typu
danych z dużego obiektu (LOB) na wskaźnik (lub odwrotnie) Jeśli wszystkie operandy w instrukcji SQL są poprawne i
w obszarze deskryptorów SQL. instrukcja dotyczy widoku, sprawdź typy danych wszystkich
operandów widoku.

70 Komunikaty, tom 2
SQL0402N • SQL0405N

Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie kod_sql: +403


jest znana, należy zlokalizować problem do źródła danych
odrzucającego żądanie (procedury, z których należy korzystać stan_sql: 01522
przy identyfikowaniu niesprawnego źródła danych, można
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić
ograniczenia typu danych dla tego źródła danych. SQL0404N Łańcuch w instrukcji UPDATE lub
INSERT jest zbyt długi dla kolumny nazwa.
kod_sql: -401 Objaśnienie:
Instrukcja INSERT lub UPDATE podała wartość, która jest
stan_sql: 42818 dłuższa niż maksymalna długość łańcucha, który może być
przechowany w podanej kolumnie.
SQL0402N Typ danych operandu dla funkcji
Nie można wykonać instrukcji.
arytmetycznej lub operacji operator nie jest
liczbowy.
Uwaga: nazwa może być lub może nie być zwrócona w
Objaśnienie: obszarze komunikacyjnym SQL, w zależności od składni
Dla funkcji arytmetycznej albo operacji operator został instrukcji INSERT lub UPDATE.
podany operand, który nie jest liczbowy.
Działanie użytkownika:
Sprawdź długość obiektu kolumny i popraw program lub
Nie można wykonać instrukcji.
instrukcję SQL, tak aby wstawiany bądź aktualizowany
Działanie użytkownika: łańcuch nie przekraczał maksymalnej długości.
Popraw składnię instrukcji SQL, tak aby wszystkie podane
funkcje lub operandy były typu numerycznego. kod_sql: -404

Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie stan_sql: 22001


jest znana, należy zlokalizować problem do źródła danych
odrzucającego żądanie (procedury, z których należy korzystać
przy identyfikowaniu niesprawnego źródła danych, można SQL0405N Literał numeryczny literał jest niepoprawny,
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić ponieważ jego wartość jest spoza
operatory zastosowane do tego źródła danych. dopuszczalnego zakresu.
Objaśnienie:
kod_sql: -402 Podany literał numeryczny nie mieści się w dopuszczalnym
zakresie.
stan_sql: 42819
Poniżej podane zostały poprawne zakresy wartości języka
SQL:
SQL0403W Nowo zdefiniowany alias nazwa został
przetłumaczony na obiekt nazwa2, który v dla wartości typu FLOAT :
obecnie jest niezdefiniowany. – 0
Objaśnienie: – w zakresie liczb dodatnich od +2.225E-307 do
Alias ″<nazwa>″ został zdefiniowany dla: +1.79769E+308
v tabeli lub widoku, który nie jest aktualnie zdefiniowany w – w zakresie liczb ujemnych od -1.79769E+308 do
bazie danych, -2.225E-307
v innego aliasu wskazującego tabelę lub widok, który nie jest v od -9999999999999999999999999999999. do
zdefiniowany w bazie danych. 9999999999999999999999999999999. dla wartości typu
DECIMAL
Obiekt <nazwa2> jest niezdefiniowanym obiektem. Obiekt ten v od -2147483647 do 2147483647 dla wartości typu
musi istnieć, zanim dowolna instrukcja SQL (inna niż INTEGER
CREATE ALIAS) będzie mogła poprawnie korzystać z nowo v od -32768 do +32767 dla wartości typu small integer
utworzonego aliasu. Zostanie utworzony podany alias (SMALLINT).
<nazwa>.
W określonych kontekstach literały mogą mieć dodatkowe
Podczas tworzenia aliasu widok nieoperatywny jest uważany ograniczenia, których efektem może być wystąpienie
za niezdefiniowany. niniejszego błędu. Więcej informacji na ten temat zawierają
Działanie użytkownika: opisy instrukcji i klauzul w podręczniku SQL Reference.
Sprawdź, czy niezdefiniowany obiekt <nazwa2> został
zdefiniowany przed użyciem nowo utworzonego aliasu w Użytkownicy systemów stowarzyszonych: Przekroczenie
instrukcji SQL (innej niż CREATE ALIAS). zakresu może mieć miejsce w źródle danych lub na serwerze
stowarzyszonym. Odpowiednie zakresy wartości SQL

Rozdział 2. Komunikaty SQL 71


SQL0406N • SQL0407N

umieszczonych w tabelach źródła danych zależą od – w zakresie liczb dodatnich od


określonego źródła danych. Poprawne zakresy można znaleźć 1,000000000000000000000000000000000E-6143 do
w dokumentacji źródła danych. Niektóre źródła danych nie 9,999999999999999999999999999999999E+6144
dostarczają poprawnych wartości parametru literał. W takim – w zakresie liczb ujemnych od
przypadku element komunikatu ma format : “<źródło -9,999999999999999999999999999999999E+6144 do
danych>:UNKNOWN”, co oznacza, że właściwa wartość dla -1,000000000000000000000000000000000E-6143
określonego źródła danych nie jest znana.
Są to ograniczenia dla zwykłych liczb dziesiętnych
Tabele grupowane zakresowo: wartość końcowa w definicji zmiennopozycyjnych. Do poprawnych wartości dziesiętnych
zakresu jest mniejsza niż wartość początkowa. zmiennopozycyjnych należą również wartości specjalne
INFINITY, -INFINITY, NAN, -NAN, SNAN i -SNAN. Te
Nie można wykonać instrukcji. wartości specjalne są niedozwolone dla pozostałych typów
Działanie użytkownika: liczbowych DB2.
Zmniejsz wartość literału do dopuszczalnej wartości.
UWAGA: Przy aktualizacjach katalogu systemowego zapoznaj
Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie się z podręcznikiem SQL Reference, który zawiera informacje
jest znana, należy zlokalizować problem do źródła danych o dopuszczalnych zakresach kolumn możliwych do
odrzucającego żądanie (procedury, z których należy korzystać aktualizowania.
przy identyfikowaniu niesprawnego źródła danych, można
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić kod_sql: -406
ograniczenia zakresu danych dla tego źródła danych.
stan_sql: 22003
Tabele grupowane zakresowo: w definicji zakresu ustaw
wartość końcową większą niż wartość początkowa. SQL0407N Przypisanie wartości NULL do kolumny
NOT NULL nazwa jest niedopuszczalne.
kod_sql: -405
Objaśnienie:
stan_sql: 42820 Wystąpiła jedna z następujących sytuacji:
v Została wstawiona lub zaktualizowana wartość NULL, ale
obiekt kolumny w definicji tabeli został zadeklarowany jako
SQL0406N Wartość liczbowa w instrukcji UPDATE lub NOT NULL. W związku z tym:
INSERT jest spoza zakresu kolumny
docelowej. – do tej kolumny nie można wstawiać wartości NULL,
– w trakcie aktualizacji nie można ustawić wartości tej
Objaśnienie: kolumny na NULL,
Wartość zmiennej języka macierzystego lub wartość liczbowa
obliczona podczas przetwarzania instrukcji SQL UPDATE lub – zmienna przejściowa instrukcji SET w wyzwalaczu nie
INSERT nie mieści się w zakresie kolumny docelowej. Ten może ustawiać wartości w tej kolumnie na NULL.
problem może być spowodowany przez wartości znajdujące v Została wstawiona lub zaktualizowana wartość typu
się w obiekcie kolumny, wykonywane z ich udziałem DEFAULT, ale obiekt kolumny w definicji tabeli został
instrukcje SQL lub oba te przypadki. zadeklarowany jako NOT NULL i nie ma atrybutu WITH
DEFAULT. W związku z tym:
Nie można wykonać instrukcji. – do tej kolumny nie można domyślnie wstawiać wartości
NULL,
Działanie użytkownika:
Zapoznaj się z opisem komunikatu SQL0405 zawierającym – w trakcie aktualizacji nie można ustawić domyślnej
dopuszczalne zakresy liczbowych typów danych, z wyjątkiem wartości tej kolumny na NULL,
dziesiętnego zmiennopozycyjnego. – zmienna przejściowa instrukcji SET w wyzwalaczu nie
v Dla wartości typu DECFLOAT(16): może ustawiać domyślnej wartości w tej kolumnie na
NULL.
– 0
v Lista nazw kolumn dla instrukcji INSERT pomija kolumny
– w zakresie liczb dodatnich od 1,000000000000000E-383
zadeklarowane w definicji tabeli jako NOT NULL i bez
do 9,999999999999999E+384
atrybutu WITH DEFAULT.
– w zakresie liczb ujemnych od
v Widok dla instrukcji INSERT pomija kolumny
-9,999999999999999E+384 do -1,000000000000000E-
zadeklarowane w definicji tabeli podstawowej jako NOT
383
NULL i bez atrybutu WITH DEFAULT.
v Dla wartości typu DECFLOAT(34):
v Przy użyciu instrukcji ALTER TABLE próbowano zmienić
– 0 kolumnę z opcją SET NOT NULL, ale dane istniejące w
tabeli zawierały wiersz z wartością NULL.

72 Komunikaty, tom 2
SQL0408N • SQL0409N

Jeśli wartość nazwa ma postać “TBSPACEID=n1,


SQL0408N Wartość nie jest zgodna z typem danych
TABLEID=n2, COLNO=n3” oznacza to, że nazwa kolumny z
przypisanego celu. Nazwą celu jest nazwa.
instrukcji SQL nie była dostępna w czasie powstania błędu.
Udostępniona wartość identyfikuje obszar tabel, tabelę oraz Objaśnienie:
numer kolumny tabeli podstawowej, która nie dopuszcza Typ danych wartości, która ma być przeniesiona za pomocą
wartości NULL. instrukcji SQL do kolumny, parametru, zmiennej SQL lub
zmiennej przejściowej jest niezgodna z zadeklarowanym
Użytkownicy systemu stowarzyszonego: Ta sytuacja może typem danych przypisanego celu. Oba typy muszą być:
zostać wykryta przez serwer stowarzyszony lub źródło danych. v liczbowe,
Niektóre źródła danych nie dostarczają poprawnych wartości
v znakowe,
parametru nazwa. W takim przypadku element komunikatu ma
format : “<źródło danych>:UNKNOWN”, co oznacza, że v graficzne,
właściwa wartość dla określonego źródła danych nie jest v datą lub znakowe,
znana. v godziną lub znakowe,
v datownikiem lub znakowe,
Nie można wykonać instrukcji.
v odsyłaczami,
Uwaga: W niektórych okolicznościach element nazwa może v jednakowymi typami odrębnymi,
nie zostać wypełniony (niewypełnione pole sqlerrmc obszaru v typami referencyjnymi, gdzie typ docelowy wartości jest
komunikacyjnego SQL). podtypem typu docelowego kolumny,
Działanie użytkownika: v tymi samymi typami strukturalnymi, zdefiniowanymi przez
Popraw instrukcję języka SQL po sprawdzeniu definicji tabeli użytkownika lub statyczny typ wartości musi być podtypem
obiektów, aby określić, które kolumny tabeli mają atrybut typu statycznego (typem zadeklarowanym) celu. W
NOT NULL i nie mają atrybutu WITH DEFAULT. przypadku zmiennej języka macierzystego, skojarzony
wbudowany typ zmiennej języka macierzystego musi być
Jeśli wartość nazwa ma postać “TBSPACEID=n1, zgodny z parametrem funkcji transformacji TO SQL,
TABLEID=n2, COLNO=n3”, można określić nazwę tabeli i zdefiniowanej w grupie transformacji dla tej instrukcji.
nazwę kolumny, korzystając z następującego zapytania:
SELECT C.TABSCHEMA, C.TABNAME, Nie można wykonać instrukcji.
C.COLNAME Działanie użytkownika:
FROM SYSCAT.TABLES AS T, Sprawdź instrukcję i dodatkowo tabelę docelową lub widok,
SYSCAT.COLUMNS AS C
aby określić typ danych docelowych. Upewnij się, że
WHERE T.TBSPACEID = n1
AND T.TABLEID = n2 przypisana wartość zmiennej, wyrażenia lub literału miała typ
AND C.COLNO = n3 danych właściwy dla docelowego przypisania. W przypadku
AND C.TABSCHEMA = T.TABSCHEMA typu strukturalnego zdefiniowanego przez użytkownika,
AND C.TABNAME = T.TABNAME należy też wziąć pod uwagę jako przypisanie docelowe
parametr funkcji transformacji TO SQL, zdefiniowanej w
Tabela i kolumna, określona przez to zapytanie, może być grupie transformacji dla tej instrukcji.
tabelą podstawową widoku, dla którego instrukcja SQL
zakończyła się niepowodzeniem. kod_sql: -408

Jeśli w ramach instrukcji ALTER TABLE z opcją SET NOT stan_sql: 42821
NULL dla kolumny zostanie zwrócony błąd, zmodyfikuj
wiersz danych z wartością NULL dla tej kolumny i ponów
SQL0409N Operand funkcji COUNT jest niepoprawny.
instrukcję.
Objaśnienie:
Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie Operand funkcji COUNT podany w instrukcji SQL nie jest
jest znana, należy zlokalizować problem do źródła danych zgodny z regułami składni języka SQL. Dozwolone są tylko
odrzucającego żądanie (procedury, z których należy korzystać funkcje COUNT(*) i COUNT(DISTINCT kolumna).
przy identyfikowaniu niesprawnego źródła danych, można
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić Nie można wykonać instrukcji.
definicję obiektu dla tego źródła danych. Pamiętaj, że wartości
Działanie użytkownika:
domyślne (NULL i NOT NULL) nie muszą być takie same w
Podaj funkcję COUNT(*) lub COUNT(DISTINCT kolumna).
różnych źródłach danych.
UWAGA: Komunikat ten dotyczy tylko wersji produktu DB2
kod_sql: -407
wcześniejszych niż wersja 2.
stan_sql: 23502
kod_sql: -409

Rozdział 2. Komunikaty SQL 73


SQL0410N • SQL0415N

stan_sql: 42607 przy identyfikowaniu niesprawnego źródła danych, można


znaleźć w podręczniku Troubleshooting Guide) i sprawdzić
ograniczenia zakresu danych dla tego źródła danych.
SQL0410N Wartość liczbowa wartość jest zbyt długa.
Objaśnienie: kod_sql: -413
Podana wartość jest zbyt długa. Łańcuch zmiennopozycyjny
może mieć maksymalnie 30 znaków. Dziesiętny łańcuch stan_sql: 22003
zmiennopozycyjny może mieć maksymalnie 42 znaki.
SQL0415N Typy danych odpowiadających sobie
Nie można wykonać instrukcji.
kolumn w pełnej selekcji zawierającej
Działanie użytkownika: operator mnogościowy w klauzuli VALUES
Skróć podany literał. w instrukcji INSERT lub w pełnej selekcji
nie są zgodne.
kod_sql: -410
Objaśnienie:
Istnieje wiele instrukcji, w których może wystąpić ten błąd.
stan_sql: 42820
v Błąd może wystąpić w instrukcji SELECT lub VALUES
zawierającej operacje zbiorowe (UNION, INTERSECT
SQL0412N Z podzapytania dopuszczającego tylko albo EXCEPT). Odpowiednie kolumny pełnej lub
jedną kolumnę zwracanych jest wiele częściowej selekcji z instrukcji SELECT lub VALUES nie
kolumn. są zgodne.
Objaśnienie: v Błąd może wystąpić w obrębie instrukcji INSERT
W kontekście instrukcji SQL określona została pełna selekcja, wstawiającej szereg wierszy. W takim przypadku nie są
która w wyniku może mieć tylko jedną kolumnę. zgodne odpowiednie kolumny wierszy podanych w klauzuli
VALUES.
Nie można wykonać instrukcji. v Błąd może wystąpić w instrukcji SELECT lub VALUES,
jeśli klauzula VALUES jest używana z wieloma wierszami.
Działanie użytkownika:
W takim przypadku nie są zgodne odpowiednie kolumny
Gdy dozwolona jest tylko selekcja skalarna, określ tylko jedną
wierszy podanych w klauzuli VALUES.
kolumnę.
Kolumny nie są zgodne z jednej z następujących przyczyn:
kod_sql: -412
v obie kolumny nie są znakami,
stan_sql: 42823 v obie kolumny nie są liczbami,
v obie kolumny nie są datami,
SQL0413N Podczas konwersji numerycznych typów v obie kolumny nie są czasami,
danych nastąpiło przepełnienie. v obie kolumny nie są datownikami,
Objaśnienie: v obie kolumny nie są grafiką,
Podczas przetwarzania instrukcji języka SQL w trakcie v obie kolumny nie są tego samego typu zdefiniowanego
konwersji z jednego typu liczbowego na inny wystąpiło przez użytkownika.
przepełnienie. Konwersja liczbowa jest wykonywana zgodnie
ze standardowymi regułami języka SQL. Jeśli typ danych kolumny jest znakiem, datą, czasem lub
datownikiem, odpowiadająca mu kolumna może być stałym
Użytkownicy systemów stowarzyszonych: Konwersja łańcuchem znaków.
liczbowa może być wykonywana na serwerze
stowarzyszonym, w źródle danych lub w obu tych miejscach. Nie można wykonać instrukcji.

Nie można wykonać instrukcji. Żadne dane nie zostały Działanie użytkownika:
pobrane, zaktualizowane ani usunięte. Popraw nazwy kolumn używane w instrukcjach SELECT lub
wyrażenia w klauzuli VALUES, tak aby wszystkie
Działanie użytkownika: odpowiadające sobie kolumny były zgodnych typów.
Prześledź składnię instrukcji SQL, aby określić przyczynę
problemu. Jeśli problem wynika z danych, może być kod_sql: -415
niezbędne sprawdzenie danych przetwarzanych w momencie
wystąpienia błędu. stan_sql: 42825

Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie


jest znana, należy zlokalizować problem do źródła danych
odrzucającego żądanie (procedury, z których należy korzystać

74 Komunikaty, tom 2
SQL0416N • SQL0419N

v jako argument wyrażenia XMLQUERY, XMLEXISTS lub


SQL0416N W instrukcjach SELECT lub VALUES
XMLTABLE.
połączonych operatorem mnogościowym
innym niż UNION ALL nie można podać v jako argument funkcji UNNEST, CARDINALITY,
kolumny wynikowej o długości elementów MAX_CARDINALITY lub TRIM_ARRAY albo w
przekraczającej 254 bajty. specyfikacji elementu tablicy,
v po lewej stronie instrukcji przypisania, gdy nie można
Objaśnienie:
określić typu danych po prawej stronie.
Jedna z instrukcji SELECT lub VALUES połączona
operatorem mnogościowym podała kolumnę wynikową o
długości elementów przekraczającej 254 bajty. Kolumny Znaczników parametrów nie można nigdy używać:
wynikowe VARCHAR lub VARGRAPHIC dłuższe od 254 v w instrukcji niebędącej instrukcją przygotowaną,
bajtów mogą być używane tylko z operatorem mnogościowym v w pełnej selekcji instrukcji CREATE VIEW,
UNION ALL.
v w wyzwalanym działaniu instrukcji CREATE TRIGGER,
Nie można wykonać instrukcji.
Odwołania do funkcji PARAMETER w pierwszym
Działanie użytkownika: argumencie funkcji XQuery db2-fn:sqlquery, także są
Użyj operatora UNION ALL zamiast UNION lub usuń traktowane jako znaczniki parametru.
kolumny wynikowe dłuższe od 254 bajtów z instrukcji
SELECT albo VALUES. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -416
Popraw składnię instrukcji. Jeśli nie są dopuszczalne znaczniki
parametrów o nieokreślonym typie, użyj specyfikacji CAST,
stan_sql: 42907 aby określić typ danych dla znacznika parametru.

SQL0417N Łańcuch instrukcji, który ma zostać kod_sql: -418


przygotowany, zawiera znaczniki
parametrów jako operandy tego samego stan_sql: 42610
operatora.
Objaśnienie: SQL0419N Operacja dzielenia dziesiętnego jest
Łańcuch instrukcji podany jako obiekt instrukcji PREPARE nieprawidłowa, ponieważ jej wynik miałby
lub EXECUTE IMMEDIATE zawiera predykat lub wyrażenie, ujemną skalę.
w którym znaczniki parametrów zostały użyte jako operandy
Objaśnienie:
tego samego operatora bez użycia specyfikacji CAST. Na
Podana operacja dzielenia dziesiętnego jest nieprawidłowa,
przykład:
ponieważ jej wynik miałby ujemną skalę.
? > ?
Wewnętrzny wzór, używany do obliczania skali wyników
Nie można wykonać instrukcji. dzielenia dziesiętnego ma postać:
Działanie użytkownika: Zakres wyniku = 31 - dl + sl - sm
Taka składnia nie jest obsługiwana. Użyj specyfikacji CAST,
aby nadać co najmniej jednemu ze znaczników parametrów gdzie dl jest dokładnością licznika, sl jest skalą licznika, a sm
typ danych. jest skalą mianownika.

kod_sql: -417 Użytkownicy systemów stowarzyszonych: Dzielenie


dziesiętne może być wykonywane na serwerze
stan_sql: 42609 stowarzyszonym, w źródłach danych lub w obu tych
miejscach. Wynik podanej operacji dzielenia dziesiętnego nie
mieści się w skali dopuszczalnej dla źródła danych.
SQL0418N Instrukcja zawiera niepoprawny znacznik
parametru.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
Znaczniki parametrów o nieokreślonym typie nie mogą być
Sprawdź i przetestuj dokładność i skalę dla wszystkich
używane:
kolumn, które mogą brać udział w dzieleniu dziesiętnym. W
v na liście instrukcji SELECT, przypadku tej operacji wartości typu integer lub small integer
v jako jedyne argumenty operacji arytmetycznej data-godzina, można poddać konwersji do postaci dziesiętnej.
v w niektórych wypadkach, jako jedyne argumenty funkcji
skalarnej. Użytkownicy systemów stowarzyszonych: Jeśli przyczyna nie
jest znana, należy zlokalizować problem do źródła danych
v jako klucze sortowania w klauzuli ORDER BY,

Rozdział 2. Komunikaty SQL 75


SQL0420N • SQL0423N

odrzucającego żądanie (procedury, z których należy korzystać


SQL0423N Ze zmienną wskaźnikową pozycja-zmiennej
przy identyfikowaniu niesprawnego źródła danych, można
nie jest aktualnie związana żadna wartość.
znaleźć w podręczniku Troubleshooting Guide) i sprawdzić
ograniczenia zakresu danych dla tego źródła danych. Objaśnienie:
Zmienna wskaźnikowa jest błędna. Nie przypisano do niej
kod_sql: -419 poprawnej wartości zmiennej wskaźnika tabeli wynikowej lub
wskaźnika LOB, wskaźnik skojarzony ze zmienną został
stan_sql: 42911 zwolniony albo kursor tabeli wynikowej został zamknięty.

Jeśli została podana pozycja-zmiennej, określa ona pozycję


SQL0420N W łańcuchu znaków stanowiącym argument błędnej zmiennej w podanym zbiorze zmiennych. Menedżer
funkcji nazwa-funkcji znaleziono bazy danych może lub nie może określić, jaka jest
nieprawidłowy znak. pozycja-zmiennej, w zależności od tego, kiedy błąd zostanie
Objaśnienie: wykryty.
Funkcja nazwa-funkcji ma argument będący łańcuchem
znaków, który zawiera znak niewłaściwy w stałej liczbowej Zamiast pozycji określonej liczbą porządkową, pozycja
języka SQL. Funkcja ta mogła zostać wywołana w wyniku pozycja-zmiennej może mieć wartość ″nazwa-funkcji
użycia specyfikacji CAST z nazwa-funkcji jako docelowym RETURNS″, co oznacza, że wartość wskaźnika zwrócona z
typem danych. Funkcja lub typ danych używany w instrukcji funkcji zdefiniowanej przez użytkownika o nazwie
SQL może być synonimem dla nazwa-funkcji. nazwa-funkcji jest błędna.
Działanie użytkownika:
Jeśli w funkcji DECIMAL został podany separator dziesiętny, Popraw program lub procedurę tak, aby przed wykonaniem
jest to znak, który musi zostać użyty zamiast domyślnego instrukcji SQL użyte w niej zmienne wskaźnikowe miały
separatora dziesiętnego. poprawne wartości.
Działanie użytkownika:
Sprawdź, czy łańcuchy znaków, które są przekształcane do Wartość LOB może zostać przypisana do zmiennej
postaci liczbowej zawierają tylko takie znaki, które są wskaźnikowej za pomocą instrukcji SELECT INTO, VALUES
dopuszczalne w zmiennych liczbowych języka SQL oraz INTO albo FETCH.
separator dziesiętny, jeśli został podany.
Wartości wskaźnika tabeli wynikowej są zwracane przez
kod_sql: -420 instrukcje ASSOCIATE LOCATORS. Wartości wskaźnika
tabeli wynikowej są ważne tylko wtedy, gdy jest otwarty
stan_sql: 22018 bazowy kursor SQL. Jeśli operacja zatwierdzania lub
wycofywania zmian jest uruchomiona, skojarzony z kursorem
wskaźnik tabeli wynikowej traci ważność. Jeśli jest to kursor
SQL0421N Operandy operatorów mnogościowych lub WITH RETURN, otwórz kursor przed próbą jego
klauzuli VALUES nie mają takiej samej przydzielenia.
liczby kolumn.
Objaśnienie: Jeśli kod aplikacji spełnia następujące warunki:
Operandy operatorów mnogościowych takich jak UNION, v aplikacja obejmuje kursor zadeklarowany dla zapytania,
EXCEPT lub INTERSECT muszą mieć taką samą liczbę który definiuje tabelę wynikową zawierającą kolumny LOB,
kolumn. Wiersze w klauzuli VALUES muszą mieć taką samą v deklaracja kursora zawiera klauzulę WITH HOLD,
liczbę kolumn.
v wskaźniki LOB są wykorzystywane do odwołania do
wartości LOB w tabeli wynikowej kursora,
Nie można wykonać instrukcji.
v przed zamknięciem kursora jednostka pracy jest
Działanie użytkownika: zatwierdzana.
Zmień instrukcję SQL, tak aby każdy operand lub każdy
wiersz klauzuli VALUES miał dokładnie taką samą liczbę Wykonaj jedną z poniższych czynności, aby usunąć czynnik
kolumn. powodujący powstanie tego ostrzeżenia i pomyślnie
przeprowadzić migrację aplikacji:
kod_sql: -421 v Wykonaj ponownie prekompilację aplikacji, korzystając z
komendy PREP i upewniając się, że dołączona została opcja
stan_sql: 42826 SQLRULES STD.
v Jeśli to możliwe, zmień aplikację tak, aby kolumny LOB
były pobierane jako wartości, a nie wskaźniki.
v Jeśli to możliwe, zmień aplikację tak, aby kursor nie był
deklarowany z opcją WITH HOLD oraz usuń funkcję
zatwierdzania przed zamknięciem kursora.

76 Komunikaty, tom 2
SQL0426N • SQL0430N

kod_sql: -423 kod_sql: -427

stan_sql: 0F001 stan_sql: 2D529

SQL0426N Dynamiczne zatwierdzanie jest SQL0428N Instrukcja SQL jest dopuszczalna tylko
niepoprawne w środowisku, w którym jako pierwsza instrukcja w jednostce pracy.
aplikacja jest wykonywana.
Objaśnienie:
Objaśnienie: Wydana instrukcja SQL musi być wykonana przed wszystkimi
Aplikacja działająca w środowisku CONNECT TYPE 2 lub innymi instrukcjami SQL, które inicjują jednostkę pracy.
DTP (Distributed Transaction Processing - DTP), takim jak Poniżej przedstawiono możliwe sytuacje:
CICS, próbowała wykonać dynamiczną instrukcję COMMIT v instrukcja SQL musi być pierwszą instrukcją w jednostce
języka SQL. Dynamiczna instrukcja COMMIT języka SQL nie pracy i SQL został wydany dla połączenia wewnątrz
może zostać wykonana w tym środowisku. jednostki pracy,
v instrukcja SQL musi być pierwszą instrukcją w jednostce
Użytkownicy systemów stowarzyszonych: Dynamiczne
pracy, natomiast dla połączenia otwarty jest w danym
instrukcje COMMIT języka SQL nie mogą być wykonywane
momencie kursor WITH HOLD.
podczas sesji tranzytowych.
Działanie użytkownika: Należy zauważyć, że gdy instrukcją jest DISCONNECT ALL,
v Do wykonania zatwierdzenia użyj instrukcji zatwierdzania powoduje ona wysłanie instrukcji DISCONNECT do
dostarczanej przez środowisko DTP. Na przykład w wszystkich połączeń, w związku z czym żądanie nie powiedzie
środowisku CICS będzie to komenda CICS SYNCPOINT. się, jeśli któreś z połączeń narusza powyższe ograniczenia.
v Jeśli ta instrukcja została wykonana z wewnątrz procedury Działanie użytkownika:
składowanej, usuń całkowicie tę procedurę. Przed przetworzeniem instrukcji SQL wydaj instrukcję
COMMIT lub ROLLBACK. Jeśli są jakieś kursory WITH
Użytkownicy systemów stowarzyszonych: Umieść instrukcję HOLD, muszą zostać zamknięte. Jeśli instrukcją jest SET
COMMIT w komentarzu albo zakoduj ją jako instrukcję INTEGRITY, usuń klauzulę COMMIT THRESHOLD.
statyczną. Następnie wprowadź ponownie program.
kod_sql: -428
kod_sql: -426
stan_sql: 25001
stan_sql: 2D528
SQL0429N Przekroczono maksymalną liczbę
SQL0427N Dynamiczne wycofanie zmian jest równoczesnych wskaźników obiektów LOB.
niepoprawne w środowisku wykonawczym
Objaśnienie:
aplikacji.
Produkt DB2 obsługuje maksymalnie 4 000 000
Objaśnienie: współbieżnych wskaźników LOB.
Aplikacja działająca w środowisku CONNECT TYPE 2 lub w
Działanie użytkownika:
środowisku rozproszonym (Distributed Transaction Processing
Zmodyfikuj program, tak aby wymagał mniejszej liczby
- DTP), takim jak CICS, próbowała wykonać dynamiczną
współbieżnych wskaźników LOB i uruchom program
instrukcję ROLLBACK języka SQL. Dynamiczna instrukcja
ponownie.
ROLLBACK języka SQL nie może zostać wykonana w tym
środowisku.
kod_sql: -429
Użytkownicy systemów stowarzyszonych: Dynamiczne
stan_sql: 54028
instrukcje ROLLBACK języka SQL nie mogą być
wykonywane podczas sesji tranzytowych.
SQL0430N Funkcja zdefiniowana przez użytkownika
Działanie użytkownika:
nazwa-funkcji (nazwa specyficzna
v Do wycofania zmian użyj instrukcji wycofania dostarczanej nazwa-specyficzna) została zakończona
przez środowisko DTP. Na przykład w środowisku CICS nieprawidłowo.
będzie to komenda CICS SYNCPOINT ROLLBACK.
Objaśnienie:
v Jeśli ta instrukcja została wykonana z wewnątrz procedury
W trakcie wykonywania podanej funkcji UDF wystąpiło
składowanej, usuń całkowicie tę procedurę.
nieprawidłowe zakończenie.
Użytkownicy systemów stowarzyszonych: Umieść instrukcję Działanie użytkownika:
ROLLBACK w komentarzu albo zakoduj ją jako instrukcję
statyczną. Następnie wprowadź ponownie program.

Rozdział 2. Komunikaty SQL 77


SQL0431N • SQL0435N

Należy poprawić tę funkcję. Skontaktuj się z jej autorem oraz


SQL0433N Wartość wartość jest za długa.
z administratorem bazy danych. Do momentu wprowadzenia
poprawek nie należy korzystać z tej funkcji. Objaśnienie:
Wartość wartość wymagała obcięcia przez rzutowanie
kod_sql: -430 systemowe (wbudowane) lub funkcję dopasowania, która
została wywołana do konwersji wartości. Obcięcie nie jest
stan_sql: 38503 dopuszczalne dla tej wartości.

Wartości poddawane konwersji:


SQL0431N Funkcja zdefiniowana przez użytkownika
nazwa-funkcji (nazwa specyficzna v argument funkcji zdefiniowanej przez użytkownika,
nazwa-specyficzna) została przerwana przez v dane wejściowe dla klauzuli SET instrukcji UPDATE,
użytkownika. v wartość wstawiana do tabeli przy pomocy instrukcji
Objaśnienie: INSERT,
Wystąpiło przerwanie użytkownika/klienta podczas sterowania v dane wejściowe dla funkcji rzutowania lub dopasowania w
nazwaną funkcją zdefiniowaną przez użytkownika. innej sytuacji,
Działanie użytkownika: v kolumna z odwołaniem rekurencyjnym, której typ i długość
Może to spowodować problem w funkcji zdefiniowanej przez danych są określone przez część początkową rekurencji i
użytkownika, taki jak nieskończona pętla lub oczekiwanie. która może rosnąć w iteracyjnej części rekurencji,
Jeśli problem występuje nadal (tzn. przerwanie powoduje v wartość danych XML przekształcana do postaci szeregowej
zawsze ten sam błąd), skontaktuj się z autorem funkcji przez funkcję XMLSERIALIZE.
zdefiniowanej przez użytkownika lub z administratorem bazy
danych. Nie można używać funkcji zdefiniowanej przez Nie można wykonać instrukcji.
użytkownika aż do rozwiązania problemu.
Działanie użytkownika:
Jeśli wartość jest ciągiem znaków w instrukcji SQL, jest on za
kod_sql: -431
długi w danej sytuacji.
stan_sql: 38504
Jeśli wartość nie jest ciągiem znaków, prześledź instrukcję
SQL, aby określić miejsce transformacji. Dane wejściowe do
SQL0432N Znacznik parametru nie może mieć nazwy transformacji są za długie lub łańcuch docelowy jest za krótki.
typu zdefiniowanego przez użytkownika lub
docelowego typu referencyjnego nazwa-udt. Popraw problem i ponownie uruchom instrukcję.
Objaśnienie:
kod_sql: -433
Znacznik parametru w instrukcji w kontekście, w którym go
użyto, został określony jako znacznik typu zdefiniowanego
przez użytkownika nazwa-udt lub typu referencyjnego dla typu stan_sql: 22001
nazwa-udt. Typem danych znacznika parametru nie może być
typ zdefiniowany przez użytkownika lub typ referencyjny, jeśli SQL0434W Nieobsługiwana wartość klauzuli klauzula
znacznik ten nie jest częścią przypisania (klauzula VALUES w została zastąpiona wartością wartość.
instrukcji INSERT lub klauzula SET w instrukcji UPDATE)
lub nie jest jawnie rzutowany za pomocą instrukcji CAST na Objaśnienie:
odrębny typ danych zdefiniowany przez użytkownika lub typ Wartość podana dla klauzuli klauzula nie jest obsługiwana i
referencyjny. została zastąpiona przez zidentyfikowaną obsługiwaną wartość
wartość.
Nie można wykonać instrukcji. Działanie użytkownika:
Działanie użytkownika: Jeśli wybrana wartość jest akceptowalna, nie są wymagane
Użyj jawnego rzutowania znacznika parametru na odrębny typ żadne zmiany. W przeciwnym wypadku podaj wartość, która
zdefiniowany przez użytkownika lub typ referencyjny. Inną jest poprawna dla klauzula.
możliwością jest rzutowanie kolumn zawierających dane typu
źródłowego zdefiniowanego przez użytkownika na dane kod_sql: +434
odpowiadającego mu typu źródłowego lub rzutowanie kolumn
zawierających dane typu referencyjnego na dane stan_sql: 01608
odpowiadającego mu typu reprezentacji.
SQL0435N Określono niepoprawny kod SQLSTATE
kod_sql: -432 stan_sql definiowany przez aplikację.

stan_sql: 42841 Objaśnienie:

78 Komunikaty, tom 2
SQL0436N • SQL0437W

Wartość kodu SQLSTATE określona przez funkcję


SQL0437W Wydajność złożonego zapytania może być
RAISE_ERROR lub w instrukcji SIGNAL lub RESIGNAL
mniejsza niż optymalna. Kod przyczyny:
jest niezgodna z regułami obowiązującymi dla kodu
kod-przyczyny.
SQLSTATE definiowanego przez aplikacje.
Objaśnienie:
Działanie użytkownika:
Instrukcja może osiągnąć wydajność mniejszą niż optymalna,
Popraw podaną wartość kodu SQLSTATE. Wartość kodu
jeśli złożoność zapytania wymaga zasobów, które nie są
SQLSTATE musi być łańcuchem zawierającym dokładnie 5
dostępne lub napotkano graniczne warunki optymalizacji.
znaków. Musi on zostać zdefiniowany jako typ CHAR o
Lista kodów przyczyny:
długości 5 lub jako typ VARCHAR o długości 5 lub większej.
Wartość kodu SQLSTATE musi być zgodna z regułami dla 1 w związku z ograniczeniem pamięci zmieniono
kodów SQLSTATE definiowanych przez aplikacje. metodę numeracji łączenia,
2 w związku ze złożonością zapytania zmieniono
Poniżej przedstawiono reguły dla wartości kodów SQLSTATE
metodę numeracji łączenia,
określanych w instrukcjach SIGNAL lub RESIGNAL.
v Znaki muszą być cyframi (’0’ do ’9’) lub wielkimi literami 3 niedomiar kosztów optymalizatora,
bez akcentów (’A’ do ’Z’). 4 przekroczenie kosztów optymalizatora,
v Klasa SQLSTATE (pierwsze dwa znaki) musi być różna od
5 klasa optymalizacji zapytania jest za niska,
’00’.
6 optymalizator zignorował niepoprawną statystykę.
Poniżej przedstawiono reguły dla wartości kodów SQLSTATE
13 Być może nie zastosowano wytycznej optymalizacji.
określanych przez funkcję RAISE ERROR.
v znaki muszą być cyframi (’0’ do ’9’) lub wielkimi literami 15 Wybrany plan materializuje pośrednią tabelę
bez akcentów (’A’ do ’Z’), wynikową, której wielkość może przekraczać limit
określony przez zmienną rejestru
v klasa SQLSTATE (pierwsze dwa znaki) musi być różna od
DB2_OPT_MAX_TEMP_SIZE
’00’, ’01’ lub ’02’, ponieważ wartości te nie oznaczają klas
błędów,
Instrukcja będzie przetwarzana.
v jeśli klasa SQLSTATE (pierwsze dwa znaki) rozpoczyna się
cyfrą ’0’ do ’6’ lub literą ’A’ do ’H’, wtedy podklasa Działanie użytkownika:
(ostatnie trzy znaki) musi rozpoczynać się literą z zakresu Wykonaj jedną lub więcej z następujących czynności:
od ’I’ do ’Z’, v Zwiększ wielkość sterty instrukcji (stmtheap) w pliku
v jeśli klasa SQLSTATE (pierwsze dwa znaki) rozpoczyna się konfiguracyjnym bazy danych. (kod przyczyny 1),
cyfrą ’7’, ’8’, ’9’ lub literą ’I’ do ’Z’, podklasa (ostatnie trzy v rozbij instrukcję SQL na kilka mniej złożonych instrukcji;
znaki) może zawierać dowolne cyfry ’0’ do ’9’ lub litery (kody przyczyny 1,2,3,4),
’A’ do ’Z’.
v sprawdź, czy predykaty nie nadpisują zestawu odpowiedzi;
(kod przyczyny 3),
kod_sql: -435
v zmień bieżącą klasę optymalizacji zapytania na klasę o
niższej wartości; (kod przyczyny 1,2,4),
stan_sql: 428B3
v ustaw Runstats dla tabel związanych z zapytaniem; (kod
przyczyny 3,4),
SQL0436N W zmiennej języka macierzystego będącej
v zmień bieżącą klasę optymalizacji zapytania na klasę o
łańcuchem znakowym zakończonym
wyższej wartości; (kod przyczyny 5),
znakiem NULL, używanej w języku C,
brakuje kończącego znaku NULL. v Należy ponownie uruchomić komendę RUNSTATS dla obu
tabel ujętych w zapytaniu oraz odpowiadających im
Objaśnienie: indeksów. Wiąże się to z użyciem klauzuli AND INDEXES
Wartość zmiennej wejściowej języka macierzystego w języku ALL, co zapewni spójność statystyk tabel i indeksów (kod
programowania C wymaga znaku NULL jako znaku końca przyczyny 6).
łańcucha.
v Użyj narzędzia diagnostycznego Explain, aby uzyskać
dodatkowe informacje na temat przyczyn, dla których
Nie można wykonać instrukcji.
wytyczna optymalizacji nie została zastosowana (kod
Działanie użytkownika: przyczyny 13).
Wartość zmiennej wejściowej języka macierzystego powinna v Jeśli materializacja jest spowodowana przez zapisywanie
zostać zakończona znakiem NULL. nadmiarowych danych podczas sortowania, należy
spróbować utworzyć indeks, który pozwoli uniknąć
kod_sql: -436 sortowania. Aby wyłączyć ostrzeżenie, należy zwiększyć
wartość zmiennej rejestru DB2_OPT_MAX_TEMP_SIZE
stan_sql: 22024 lub wyłączyć tę zmienną. (Kod przyczyny 15)

Rozdział 2. Komunikaty SQL 79


SQL0438N • SQL0441N

v Ustaw opcje serwera CPU_RATIO, IO_RATIO,


SQL0440N Nie znaleziono autoryzowanej procedury o
COMM_RATE lub opcje odwzorowania funkcji
nazwie nazwa-procedury i typie typ-procedury
IOS_PER_INVOC, INSTS_PER_INVOC,
oraz ze zgodnymi argumentami.
IOS_PER_ARGBYTE, INSTS_PER_ARGBYTE,
PERCENT_ARGBYTES, INITIAL_IOS, INITIAL_INSTS, Objaśnienie:
podając wartość, która nie jest zbyt wysoka ani zbyt niska Zachodzi to w odwołaniu do procedury nazwa-procedury, gdy
(kody przyczyny 3, 4). menedżer bazy danych nie może znaleźć procedury, której
mógłby użyć do zaimplementowania odwołania. Możliwe
kod_sql: +437 przyczyny występowania tego problemu:
v nazwa-procedury została niepoprawnie podana lub nie
stan_sql: 01602 istnieje w bazie danych,
v utworzono kwalifikowane odwołanie i podano niepoprawny
SQL0438N Aplikacja przekazała błąd z tekstem kwalifikator,
diagnostycznym: tekst. v ścieżka SQL użytkownika nie zawiera schematu, do którego
należy żądana funkcja lub metoda, i dlatego zostało użyte
Objaśnienie:
odwołanie niekwalifikowane,
Ten błąd lub ostrzeżenie jest wynikiem wykonania funkcji
RAISE_ERROR lub instrukcji SIGNAL SQLSTATE w v podano złą liczbę argumentów,
wyzwalaczu. Wartość SQLSTATE rozpoczynająca się cyframi v w odwołaniu do funkcji lub metody podano właściwą liczbę
’01’ lub ’02’ oznacza ostrzeżenie. argumentów, lecz typ danych co najmniej jednego
argumentu jest niepoprawny,
Działanie użytkownika:
Przejrzyj dokumentację dotyczącą aplikacji. v w bazie danych nie ma procedury o tym samym
identyfikatorze funkcji, który został użyty podczas wiązania
kod_sql: -438, +438 pakietu (dotyczy instrukcji statycznych).
v nie można znaleźć metody mutator, odpowiadającej
stan_sql: zdefiniowany w aplikacji przypisaniu atrybutu, użytemu w instrukcji UPDATE; typ
danych nowej wartości atrybutu jest inny niż typ danych
atrybutu i nie daje się zamienić na typ danych atrybutu.
SQL0439N Funkcja zdefiniowana przez użytkownika
nazwa-funkcji jest pośrednio v Użytkownik wywołujący procedurę nie jest autoryzowany
zaimplementowana przez funkcję do jej wykonania.
funkcja-źródłowa, co spowodowało błąd Działanie użytkownika:
kod_sql. Rozwiąż problem i powtórz działanie. Działania mogą
Objaśnienie: obejmować dostęp do katalogu, zmianę instrukcji, nadanie
Odwołanie do funkcji nazwa-funkcji nastąpiło w instrukcji uprawnień do wykonywania użytkownikowi wywołującemu
użytkownika. Ponieważ jednak klauzula SOURCE została procedurę, dodanie nowych funkcji i/lub zmianę ścieżki SQL.
użyta w definicji tej funkcji, okazało się, że funkcja
funkcja-źródłowa już zaimplementowała tę funkcję. (Może to kod_sql: -440
być bezpośrednia lub pośrednia ścieżka z nazwa-funkcji do
funkcja-źródłowa). Podczas kompilacji program zamykający stan_sql: 42884
(kod DB2 działający zamiast funkcji) dla funkcji-źródłowej
zwrócił błąd identyfikowany przez kod_sql. SQL0441N Niepoprawne użycie parametru DISTINCT
Działanie użytkownika: lub ALL z funkcją nazwa-funkcji.
Przed podjęciem działań naprawczych należy przeprowadzić Objaśnienie:
dokładniejsze rozpoznanie sytuacji. Przejrzyj wyjaśnienie dla Może być kilka przyczyn tego błędu.
kod_sql. Jeśli funkcja-źródłowa jest funkcją wbudowaną,
kod_sql powinien wskazywać problem, jak w przypadku, gdy v W nawiasie w odwołaniu do funkcji nazwa-funkcji został
w instrukcji użytkownika jest bezpośrednie odwołanie do wykryty parametr DISTINCT lub ALL i funkcja została
wbudowanej funkcji. Jeśli funkcja-źródłowa jest funkcją przekształcona w funkcję skalarną. Użycie parametru
zdefiniowaną przez użytkownika, komunikat DISTINCT lub ALL z funkcją skalarną jest niepoprawne.
najprawdopodobniej wskazuje na problem dotyczący jednego v Parametru DISTINCT użyto w funkcji kolumnowej, w
z argumentów lub wyniku otrzymanego z funkcji. której parametr ten nie jest dopuszczalny. Do tych funkcji
należą: COVARIANCE, CORRELATION i funkcje regresji
Usuń problem i spróbuj ponownie. liniowej (zaczynające się od REGR).
v Oczekiwano, że funkcja jest funkcją kolumnową
kod_sql: -439 obsługującą parametr ALL lub DISTINCT, ale po
przekształceniu okazało się, że nie jest ona funkcją
stan_sql: 428A0 kolumnową.
Działanie użytkownika:

80 Komunikaty, tom 2
SQL0442N • SQL0444N

v Jeśli używana jest funkcja skalarna, należy usunąć parametr 05 niepoprawny format godziny,
DISTINCT lub ALL. Jest ono niepoprawne dla funkcji
06 niepoprawny format datownika,
skalarnej.
v Jeśli funkcja jest funkcją kolumnową nie obsługującą 07 niepoprawna reprezentacja znakowa przedziału
parametrów DISTINCT i ALL, należy je usunąć. datownika,
v Jeśli używana jest funkcja kolumnowa, problem dotyczy 08 niepoprawny typ przerwania (dopuszczalne to: 1, 2,
tłumaczenia funkcji. Sprawdź ścieżkę, aby upewnić się, że 4, 8, 16, 32, 64, 128, 256),
wymagana funkcja jest w jednym ze schematów, sprawdź
także w katalogu SYSFUNCTIONS pisownię nazwy 09 zbyt długi łańcuch,
funkcji oraz liczbę i typ jej parametrów. 10 długość lub pozycja funkcji łańcucha spoza zakresu,

Napraw błąd i spróbuj ponownie. 11 niepoprawna reprezentacja znakowa liczby


zmiennopozycyjnej.
kod_sql: -441 12 brak pamięci
13 nieoczekiwany błąd
stan_sql: 42601
Błędy wykrywane przez procedury dostarczone przez firmę
SQL0442N Błąd w odwołaniu do procedury IBM w schematach SYSIBM, SYSPROC i SYSFUN
nazwa-procedury. Osiągnięto maksymalną powodują zwrócenie kodu SQLSTATE 38553. Tekstowa część
liczbę dopuszczalnych argumentów (90). komunikatu zawiera numer, który może być kodem
SQLCODE, (na przykład SQL0572N, komunikatem o błędzie
Objaśnienie:
DBA (na przykład DBA4747) lub inną wskazówkę na temat
W odwołaniu do procedury nazwa-procedury określono zbyt
natury napotkanego przez procedurę błędu. Należy zauważyć,
wiele argumentów. Dozwolonych jest maksymalnie 90.
że jeśli komunikat odpowiadający numerowi zawiera elementy
Działanie użytkownika: zmienne, to wartości tych elementów są dostępne tylko w
Popraw instrukcję, zapewniając użycie poprawnej liczby pliku db2diag.log.
argumentów i powtórz działanie.
kod_sql: -443
kod_sql: -442
stan_sql: (stan SQLSTATE zwrócony przez procedurę).
stan_sql: 54023
SQL0444N Procedura nazwa-procedury (nazwa
SQL0443N Procedura nazwa-procedury (nazwa specyficzna nazwa-specyficzna) jest
specyficzna nazwa-specyficzna) zwróciła błąd zaimplementowana z kodem znajdującym
SQLSTATE z tekstem diagnostycznym tekst. się w bibliotece lub ścieżce
biblioteka-lub-ścieżka (funkcja
Objaśnienie:
id-kodu-funkcji) do którego nie ma dostępu.
Procedura DB2 nazwa-procedury (nazwa specyficzna
Kod przyczyny: kod.
nazwa-specyficzna) zwróciła kod SQLSTATE z tekstem
komunikatu tekst. Procedurą może być funkcja zdefiniowana Objaśnienie:
przez użytkownika lub metoda zdefiniowana przez Menedżer DBMS usiłował uzyskać dostęp do treści kodu,
użytkownika. służącego do implementacji procedury nazwa-procedury
(nazwa specyficzna nazwa-specyficzna) i nie mógł tego
Działanie użytkownika:
dostępu uzyskać. Przyczyna niepowodzenia określona jest
Użytkownik powinien rozumieć znaczenie błędu. Skontaktuj
kodem przyczyny kod (kody wymienione są na następującej
się z administratorem bazy danych lub z autorem procedury.
liście). Plik implementujący procedurę określony jest przez
biblioteka-lub-ścieżka, natomiast funkcja przez kod-funkcji.
Wszystkie błędy wykryte przez funkcje IBM w schemacie
SYSFUN zwróciły dla zmiennej SQLSTATE wartość 38552.
Ostatnie dwa elementy mogą zostać obcięte z powodu
Część tekstu komunikatu ma formę:
ograniczenia maksymalnej długości elementu. Do uzyskania z
SYSFUN:nn widoków katalogu DB2 pełnej ścieżki do biblioteki i pełnych
nazw funkcji można użyć następującego zapytania:
gdzie nn określa znaczenie kodu przyczyny: SELECT implementation
FROM syscat.routines
01 wartość numeryczna spoza zakresu,
WHERE specificname = ’nazwa-specyficzna’
02 dzielenie przez zero,
1 Długość nazwy ścieżki biblioteka-lub-ścieżka
03 arytmetyczny niedomiar lub przekroczenie zakresu, przekracza wartość maksymalną (255 bajtów).
04 niepoprawny format daty,

Rozdział 2. Komunikaty SQL 81


SQL0444N

2 Nie można pobrać z programu DB2 nazwy ścieżki 8 Wykonanie funkcji systemowej ″load″ nie powiodło
do instancji DB2. się z powodu innego niż wyżej opisane. Plik
wynikowy mógł nie zostać poprawnie
3 Nie można znaleźć ścieżki biblioteka-lub-ścieżka.
skonsolidowany lub nie został wcale
4 skonsolidowany.
Nie można znaleźć pliku w ścieżce 9 Za mało pamięci, aby dokonać transakcji nazwy
biblioteka-lub-ścieżka z jednego z następujących funkcji id-kodu-funkcji w bibliotece wymienionej w
powodów: biblioteka-lub-ścieżka.
1. Powiązana z daną procedurą biblioteka procedur 10 Nie powiodło się wykonanie wywołania
jest niedostępna w położeniu określonym przy systemowego ″loadquery″. Może się to zdarzyć tylko
użyciu klauzuli EXTERNAL w definicji w systemach Unix i oznacza, że menedżer bazy
instrukcji CREATE tej procedury. danych nie został poprawnie zainstalowany.
2. Biblioteka procedur jest zależna od
11 Procedura agenta (agent process) poszukuje
współużytkowanej biblioteki, której nie można
konkretnej funkcji menedżera baz danych, która
znaleźć (w ścieżce określonej przez
powinna być w bibliotece libdb2.a i nie może jej
konkatenację nazw katalogów ze zmiennej
znaleźć. Może się to zdarzyć tylko w systemach
środowiskowej LIBPATH w systemach UNIX
Unix i oznacza, że menedżer bazy danych nie jest
lub ze zmiennej środowiskowej PATH w
poprawnie zainstalowany.
systemach Windows). Pomiędzy bibliotekami
mogą występować wielopoziomowe powiązania. 15 Nastąpiła odmowa dostępu do systemu lub sieci.
Na przykład można znaleźć treść procedury X Taka sytuacja może wystąpić w środowiskach
wymagającej współużytkowanej biblioteki Y, Windows NT, jeśli specyfikacja EXTERNAL
którą także można znaleźć. Dla biblioteki Y jest NAME w instrukcji definicji procedury nie określa
jednak wymagana inna współużytkowana pełnej ścieżki lub jeśli funkcja nie istnieje w
biblioteka Z, której nie można znaleźć. katalogu <ścieżka instalacyjna db2>\function, co
3. To jest partycjonowana baza danych i określona wymusza wyszukiwanie za pośrednictwem zmiennej
biblioteka nie znajduje się w żadnej z partycji, środowiskowej PATH. Jeśli na przykład zmienna
dla której uruchomiona została funkcja środowiskowa PATH przed katalogiem
zdefiniowana przez użytkownika. zawierającym funkcję zawiera napęd z sieci LAN, a
ponadto instancja DB2 uruchomiona została na
5 koncie SYSTEM, to w wyniku tego może wystąpić
Brak pamięci do załadowania biblioteki zawierającej kod przyczyny.
funkcję albo nie można przetłumaczyć jednego lub inne Wystąpiło niezidentyfikowane uszkodzenie systemu.
większej liczby symboli. Ten kod przyczyny
wskazuje jedną z następujących sytuacji: Dotyczy użytkowników systemów stowarzyszonych: Jeśli
1. Prawdopodobnie nie można przetłumaczyć określona funkcja zdefiniowana przez użytkownika jest
jednego lub większej liczby symboli. Określona szablonem funkcji (a więc nie jest wymagany kod rezydujący
biblioteka procedur może być zależna od na serwerze stowarzyszonym), należy rozważyć
współużytkowanej biblioteki, której nie można zmodyfikowanie instrukcji SQL lub statystyki tak, aby
znaleźć (w ścieżce określonej przez umożliwić wykonanie wartościowania tej funkcji w zdalnym
konkatenację nazw katalogów ze zmiennej źródle danych.
środowiskowej LIBPATH w systemach UNIX
Działanie użytkownika:
lub ze zmiennej środowiskowej PATH w
W zależności od podanego kodu przyczyny:
systemach INTEL).
2. Z określoną procedurą związana jest 64-bitowa 1 Należy w taki sposób zmienić definicję procedury,
biblioteka, która nie jest obsługiwana w aby określić krótszą ścieżkę albo nazwa instancji
32-bitowej instancji DB2, lub z tą procedurą jest DB2 jest zbyt długa. Przeanalizuj definicję
związana 32-bitowa biblioteka albo plik DLL procedury w widokach katalogu DB2, aby określić
występujący w 64-bitowej instancji DB2, która przyczynę wystąpienia tej sytuacji. Być może trzeba
jest niezgodna z definicją procedury. będzie przesunąć ciało funkcji do katalogu z krótszą
nazwą ścieżki.
3. Brak pamięci do załadowania biblioteki, w której
znajduje się określona funkcja. 2, 10 i 11
6 Nie można znaleźć funkcji identyfikator-kodu- Skontaktuj się z administratorem systemu i dostarcz
funkcji w bibliotece o podanej nazwie. mu pełną treść komunikatu dla odpowiedniego kodu
przyczyny.
7 Symbol podany jako nazwa funkcji (id-kodu-funkcji)
nie jest poprawną nazwą funkcji w wymienionej 3, 6 i 7
bibliotece.

82 Komunikaty, tom 2
SQL0444N

Skontaktuj się z autorem procedury lub z współużytkowanej biblioteki Y, którą także


administratorem bazy danych. Dostarcz mu pełną można znaleźć, jednakże dla biblioteki Y
treść komunikatu dla odpowiedniego kodu wymagana jest inna biblioteka Z, której nie
przyczyny. Definicja procedury lub położenie można znaleźć. Biblioteka procedur powinna
biblioteki procedur może wymagać poprawki. zostać ponownie skonsolidowana lub
użytkownik powinien sprawdzić, czy w ścieżce
4
określonej w zmiennej LIBPATH (Unix) lub
Możliwe rozwiązania zostały zgrupowane według PATH (INTEL) dostępne są wszystkie biblioteki
przyczyn podanych w komunikacie z opisem zależne. Aby zaktualizować wartość zmiennej
problemu: LIBPATH w celu dodania ścieżki, w której
1. znajduje się biblioteka, należy użyć komendy
db2set. Na przykład: db2set
v Popraw wartość klauzuli EXTERNAL w db2libpath=/db2test/db2inst1/sqll
definicji procedury albo sprawdź, czy
określona biblioteka procedur jest dostępna w 2. Użyj obsługiwanej biblioteki.
miejscu określonym w klauzuli EXTERNAL. 3. Może zajść konieczność zmiany konfiguracji
v Jeśli została ostatnio wykonana migracja systemu, tak aby udostępnić więcej pamięci
używanej bazy danych do nowej wersji lub DB2.
pakietu poprawek, a określona procedura to 8 Upewnij się, że moduł został poprawnie
procedura zdefiniowana w systemie, wykonaj skonsolidowany.
następujące czynności: W przypadku migracji
wykonywanej po wydaniu nowej wersji 9 Skontaktuj się z autorem procedury lub z
uruchom komendę db2iupt <instancja> i administratorem bazy danych, aby upewnić się, że
zrestartuj określoną instancję; w przypadku biblioteka zawierająca funkcję, została poprawnie
migracji wykonywanej po zainstalowaniu skonsolidowana. Może zajść konieczność zmiany
pakietu poprawek uruchom komendę konfiguracji systemu, tak aby udostępnić więcej
db2updv8 -d <alias-bazy-danych> i zrestartuj pamięci DB2.
określoną instancję. 15
v Sprawdź, czy biblioteka procedur jest
Sprawdź, czy w klauzuli EXTERNAL NAME w
dostępna dla produktu DB2. W przypadku
instrukcji definicji procedury znajduje się pełna
procedur chronionych sprawdź, czy właściciel
ścieżka oraz czy określona funkcja znajduje się w
chronionego procesu ma uprawnienia do
katalogu <ścieżka instalacyjna db2>\function.
wykonywania dla biblioteki lub pliku DLL. W
przypadku procedur niechronionych sprawdź, Jeśli obie te potencjalne przyczyny są wykluczone, a
czy właściciel instancji ma uprawnienia do błąd jest spowodowany uruchomieniem instancji
odczytu dla biblioteki lub pliku DLL. DB2 przy użyciu konta pozbawionego prawa
2. Procedura powinna zostać ponownie dostępu do dysku sieciowego, na którym znajduje się
skonsolidowana lub użytkownik powinien katalog zawierający funkcję określony w zmiennej
sprawdzić, czy w ścieżce określonej w zmiennej środowiskowej PATH, należy zmienić konfigurację
LIBPATH (Unix) lub PATH (INTEL) dostępne usługi DB2, tak aby uruchamiana była z użyciem
są biblioteki zależne. Aby zaktualizować wartość konta zapewniającego dostęp do wszystkich ścieżek
zmiennej LIBPATH w celu dodania ścieżki, w sieciowych wymienionych w zmiennej
której znajduje się biblioteka lub plik DLL, środowiskowej PATH.
należy użyć komendy db2set. Na przykład: Przypisując konto użytkownika usłudze DB2, należy
db2set db2libpath=/db2test/db2inst1/sqll zadbać o to, by miało ono przyznane wszystkie
3. W partycjonowanej bazie danych biblioteka niezbędne zaawansowane uprawnienia, wymienione
powiązana z funkcją zdefiniowaną przez w podręczniku Krótkie wprowadzenie.
użytkownika musi być dostępna jako
biblioteka-lub-ścieżka we wszystkich partycjach inne Zapisz kod i skontaktuj się z administratorem
bazy danych. Sprawdź, czy biblioteka procedur systemu.
została wdrożona w katalogu funkcji we
wszystkich partycjach bazy danych. Dotyczy użytkowników systemów stowarzyszonych: Jeśli
określona funkcja zdefiniowana przez użytkownika jest
5 szablonem funkcji (a więc nie jest wymagany kod rezydujący
Możliwe rozwiązania zostały uporządkowane na serwerze stowarzyszonym), można rozważyć
względem przyczyn podanych w komunikacie z zmodyfikowanie instrukcji SQL lub statystyki tak, aby
opisem problemu: umożliwić wykonanie wartościowania tej funkcji w zdalnym
źródle danych.
1. Pomiędzy bibliotekami mogą występować
wielopoziomowe powiązania. Na przykład
kod_sql: -444
można znaleźć treść procedury X wymagającej

Rozdział 2. Komunikaty SQL 83


SQL0445W • SQL0449N

stan_sql: 42724 Podczas definiowania procedury nazwa-procedury, podano


zbyt wiele parametrów. Instrukcją definiującą procedurę może
być: CREATE FUNCTION, CREATE PROCEDURE,
SQL0445W Wartość wartość została obcięta.
CREATE TYPE (definicja metody) lub ALTER TYPE
Objaśnienie: (definicja metody).
Wartość wartość została obcięta podczas transformacji
Działanie użytkownika:
wykonanej przez systemową (wbudowaną) funkcję
Zmień instrukcję, tak aby zawierała mniej parametrów.
rzutowania, dopasowania lub konwersji strony kodowej. Jest
to ostrzeżenie.
kod_sql: -448
Poddawana transformacji może być jedna z następujących
stan_sql: 54023
wartości:
v Dane wyjściowe procedury (funkcji zdefiniowanej przez
użytkownika lub metody), które są transformowane, SQL0449N Instrukcja definiująca procedurę
ponieważ w definicji procedury znajduje się specyfikacja nazwa-procedury zawiera w klauzuli
CAST FROM. EXTERNAL NAME niepoprawnie
sformatowaną identyfikację biblioteki lub
v Dane wyjściowe procedury (funkcji zdefiniowanej przez
funkcji.
użytkownika lub metody) pochodzące z innej funkcji, której
wynik musi zostać poddany transformacji. Objaśnienie:
v Dane wyjściowe wbudowanej procedury przetwarzania Znaleziono błąd w klauzuli EXTERNAL NAME instrukcji
łańcuchów, w której podczas przetwarzania konieczne jest CREATE dla funkcji zdefiniowanej przez użytkownika (UDF),
wykonanie konwersji strony kodowej (na przykład z metody zdefiniowanej przez użytkownika lub procedury
powodu określonej specyfikacji dotyczącej jednostki nazwa-procedury. Podczas identyfikacji bibliotek/funkcji
długości łańcucha). obowiązują następujące zasady:

Działanie użytkownika: Dla opcji LANGUAGE C nazwa ma postać ’<a> lub


Sprawdź, czy wynik jest taki, jakiego oczekiwano i czy ’<a>!<b>’, gdzie:
pominięcie ostrzeżenia nie spowodowało nieoczekiwanych
konsekwencji. v <a> jest nazwą pliku zawierającego wywoływaną procedurę
(funkcję),
kod_sql: +445 v <b> to punkt wejścia (funkcja) w pliku <a>, który zostanie
wywołany jako treść procedury; Jeśli człon <b> zostanie
stan_sql: 01004 pominięty, zostanie użyty domyślny punkt wejścia pliku
<a>.

SQL0447W Instrukcja zawiera nadmiarowe Dla opcji LANGUAGE OLE nazwa ma postać ’<a>!<b>’,
specyfikacje wywołujące klauzulę klauzula. gdzie:
Objaśnienie: v <a> jest identyfikatorem programowym lub identyfikatorem
Parametr klauzula występuje w instrukcji więcej niż raz. Jest klasy obiektu OLE,
to ostrzeżenie. v <b> jest metodą obiektu, która ma być wywołana.
Działanie użytkownika:
Jeśli nadmiarowość jest zamierzona lub jeśli nie powoduje Dla opcji LANGUAGE JAVA i LANGUAGE CLR nazwa ma
żadnych uszkodzeń, wtedy nie jest wymagane żadne działanie. postać ’<a>:<b>!<c>’, gdzie:
Dopuszczalnym typem ″uszkodzenia″ może być, na przykład v <a> jest identyfikatorem pliku jar (LANGUAGE JAVA) lub
pominięcie innego wymaganego parametru. pliku zespołu (LANGUAGE CLR), w którym znajduje się
klasa. Człon ’<a>:’ jest opcjonalny dla opcji LANGUAGE
kod_sql: +447 JAVA i jeśli zostanie pominięty, odpowiednia klasa musi
znajdować się w katalogu funkcji lub w ścieżce
stan_sql: 01589 CLASSPATH;
v <b> jest klasą, w której znajduje się wywoływana metoda;
SQL0448N Błąd w definiowaniu procedury v <c> jest metodą, która ma być wywołana; dla opcji
nazwa-procedury. Przekroczono LANGUAGE JAVA można użyć zapisu ’.<c>’ zamiast
maksymalną liczbę dozwolonych zapisu ’!<c>’.
parametrów (90 dla funkcji i metod
zdefiniowanych przez użytkownika, 32767 Dla wszystkich języków programowania między apostrofami,
dla procedur składowanych). identyfikatorami obiektów lub znakami separatorów nie mogą
występować spacje na początku ani na końcu (na przykład
Objaśnienie:

84 Komunikaty, tom 2
SQL0450N • SQL0452N

zapis ’ <a> ! <b> ’ jest niepoprawny). Znaki odstępu mogą v zawartość notatnika (długość zadeklarowana w instrukcji
natomiast występować w nazwach plików i ścieżek, o ile CREATE FUNCTION).
pozwala na to platforma.
Jest to niedozwolone.
Dopuszczalne jest stosowanie skróconych nazw plików (na
przykład w systemie UNIX math.a lub w systemie Windows Błąd ten może być również zwrócony, jeśli długość pola
math.dll) lub pełnych nazw ścieżek (na przykład w systemie notatnika jest zmieniana przez procedurę.
UNIX /u/slick/udfs/math.a, lub w systemie Windows
d:\udfs\math.dll). Jeśli używana jest skrócona formy nazwy Działanie użytkownika:
pliku, plik ten musi znajdować się w następującym położeniu: Skontaktuj się z administratorem bazy danych lub z autorem
procedury.
v na platformie UNIX lub dla procedury typu LANGUAGE
CLR: w katalogu funkcji;
kod_sql: -450
v w przeciwnym razie, dla platformy Windows: w katalogu
określonym zmienną PATH. stan_sql: 39501
Rozszerzenia nazw plików (na przykład w systemie UNIX .a
lub w systemie Windows .dll) powinny być zawsze dołączane SQL0451N Definicja element-danych w instrukcji
do nazw plików. definiującej procedurę nazwa-procedury
Działanie użytkownika: zawiera typ danych typ nieodpowiedni dla
Usuń problem i spróbuj ponownie. Prawdopodobną przyczyną procedury innej niż potomna napisanej w
jest dodanie spacji lub znaku ’!’ albo ’:’ na początku lub na danym języku.
końcu nazwy. Objaśnienie:
W elemencie-danych, który jest częścią instrukcji definiującej
kod_sql: -449 procedurę nazwa-procedury został zrobiony błąd. Instrukcja
użytkownika zawiera niepoprawny typ typ lub typ definiowany
stan_sql: 42878 przez użytkownika (typ UDT) oparty na niepoprawnym typie
typ. Definicją procedury może być: CREATE FUNCTION,
CREATE PROCEDURE, CREATE TYPE (definicja metody)
SQL0450N Procedura nazwa-procedury (nazwa
lub ALTER TYPE (definicja metody).
specyficzna nazwa-specyficzna)
wygenerowała zbyt długą wartość
wynikową, wartość SQLSTATE, tekst element-danych jest elementem, który identyfikuje obszar
komunikatu lub notatnik. błędu w instrukcji. Na przykład ″PARAMETER 2″,
″RETURNS″ lub ″CAST FROM″.
Objaśnienie:
Po powrocie z procedury nazwa-procedury (nazwa Działanie użytkownika:
specyficzna nazwa-specyficzna) DB2 wykrył, że zwrócono Określ, która sytuacja wystąpiła i podejmij działania
więcej bajtów niż było przydzielonych dla jednej z naprawcze. Możliwe działania naprawcze to:
następujących pozycji: v Zmiana definicji procedury na obsługiwany typ; na przykład
v wartości wynikowej (na podstawie definicji procedury). z DECIMAL na FLOAT. Może to dotyczyć zmian samej
Istnieje kilka możliwych przyczyn: treści procedury lub użycia funkcji rzutowania tam, gdzie
procedura jest wykorzystywana.
– do buforu z wynikiem zostało przesłanych zbyt wiele
bajtów, v Utworzenie nowego (w oparciu o istniejący) typu danych
zdefiniowanego przez użytkownika (UDF) lub zmiana
– typ danych należy do typów, dla których wartość musi istniejącej definicji typu UDF.
być ograniczona przez wartość pustą, np. VARCHAR(n),
a ogranicznik wartości pustej przekroczył zakres
kod_sql: -451
definiowanego rozmiaru.
– DB2 oczekuje dwu- lub czterobajtowych wartości stan_sql: 42815
poprzedzających tę wartość i długość ta jest większa od
zdefiniowanego rozmiaru wyniku,
SQL0452N Brak dostępu do pliku, do którego odwołuje
– wskaźnik LOB został zwrócony przez procedurę i
się zmienna języka macierzystego
długość wartości LOB, stowarzyszonej z tym
pozycja-zmiennej. Kod przyczyny:
wskaźnikiem, przekracza zdefiniowany rozmiar wyniku.
kod-przyczyny.
Definicja argumentu wynikowego w procedurze musi Objaśnienie:
spełniać wymagania nałożone na typ danych. Błąd podczas próby dostępu lub w trakcie uzyskiwania
v wartość zmiennej SQLSTATE (6 bajtów ze znakiem o dostępu do pliku, do którego odwołuje się ″n-ta″ zmienna
wartości pustej), języka macierzystego, gdzie n = pozycja-zmiennej, z
przyczyny określonej kodem kod-przyczyny. Jeśli nie można
v tekst komunikatu (71 bajtów ze znakiem o wartości pustej),

Rozdział 2. Komunikaty SQL 85


SQL0453N • SQL0454N

określić pozycji zmiennej języka macierzystego, miejsca. Upewnij się także, że nie osiągnięto limitów
<pozycja-zmiennej> jest ustawiana na 0. Możliwe kody wielkości dla systemu operacyjnego lub pliku użytkownika.
przyczyny: Jeśli strona kodowa aplikacji używa wielobajtowego schematu
v 01 - długość nazwy pliku jest niepoprawna lub nazwa i/lub kodowania, możliwe jest, że zostanie zapisana tylko część
ścieżka do pliku ma niepoprawny format, ostatnich znaków, sprawdź, czy plik zawiera tylko znaki w
pełni sformatowane.
v 02 - opcja podana dla pliku jest niepoprawna; musi ona
przyjąć jedną z następujących wartości:
Dla kodu przyczyny 08 jeśli plik ma być używany jako plik
SQL_FILE_READ wejściowy, sprawdź, czy plik nie został zmodyfikowany przed
-odczytaj z istniejącego pliku, odczytaniem całego pliku.
SQL_FILE_CREATE
-utwórz nowy plik do zapisu,
SQL_FILE_OVERWRITE Dla kodu przyczyny 09 popraw wszystkie błędy na nośniku, na
-zastąp istniejący plik. którym znajduje się plik.
jeśli plik nie istnieje,
utwórz go, Dla kodu przyczyny 10 sprawdź, czy plik zawiera poprawne
SQL_FILE_APPEND znaki wielobajtowe w stronie kodowej aplikacji lub wpisz do
-dopisz do istniejącego pliku. kolejki żądanie w trakcie pracy z tą samą stroną kodową, jaką
jeśli plik nie istnieje, ma zawartość pliku.
utwórz go,
v 03 - nie można znaleźć pliku, Dla kodu przyczyny 11 sprawdź, czy zainstalowano obsługę
v 04 - podano opcję SQL_FILE_CREATE dla pliku z tą samą konwersji znaków pomiędzy stroną kodową pliku, na przykład
nazwą, co istniejący, Japanese EUC i graficzną stroną kodową aplikacji, na przykład
v 05 - zakaz dostępu do pliku; użytkownik nie ma uprawnień UCS-2.
do otwarcia pliku,
kod_sql: -452
v 06 - zakaz dostępu do pliku; plik jest używany w
nieodpowiednim trybie; pliki, do których ma nastąpić zapis,
zostały otwarte w trybie wyłączności, stan_sql: 428A1
v 07 - w trakcie zapisywania do pliku dysk został zapełniony,
v 08 - podczas odczytywania z pliku napotkano SQL0453N Problem zidentyfikowano w klauzuli
nieoczekiwany koniec pliku, RETURNS, w instrukcji, która definiuje
procedurę nazwa-procedury.
v 09 - podczas używania pliku wystąpił błąd nośnika,
v 10 - niekompletny lub niepoprawny wielobajtowy znak Objaśnienie:
podczas odczytywania z pliku, Został zidentyfikowany problem z rzutowaniem wyniku
procedury nazwa-procedury. Typu danych CAST FROM nie
v 11 - błąd podczas konwersji danych ze strony kodowej pliku można rzutować na typ danych RETURNS, a jest to
do graficznej strony kodowej aplikacji. wymagane. Szczegóły dotyczące rzutowania typów danych
Działanie użytkownika: zawiera podręcznik SQL Reference.
Działanie użytkownika:
Dla kodu przyczyny 01 popraw długość nazwy pliku, nazwę Zmień klauzulę RETURNS lub CAST FROM, tak aby typ
i/lub ścieżkę do pliku. danych CAST FROM można było rzutować na typ danych
RETURNS.
Dla kodu przyczyny 02 podaj poprawną opcję pliku.
kod_sql: -453
Dla kodu przyczyny 03 przed próbą dostępu do podanego
pliku sprawdź, czy on istnieje. stan_sql: 42880

Dla kodu przyczyny 04 albo usuń plik, jeśli nie jest


wymagany, albo podaj nieistniejącą obecnie nazwę pliku. SQL0454N Podpis dostarczony w definicji procedury
nazwa-procedury jest zgodny z podpisem
Dla kodu przyczyny 05 zapewnij użytkownikowi dostęp do innej procedury, istniejącej już w schemacie
pliku (zmień uprawnienia). lub dla typów.
Objaśnienie:
Dla kodu przyczyny 06 użyj innego pliku lub, jeśli plik musi Podpis funkcji składa się z nazwy funkcji, liczby parametrów
być używany, zmodyfikuj aplikację, aby zapewnić, że plik nie zdefiniowanych dla tej funkcji oraz uporządkowanej listy
jest używany współbieżnie. typów tych parametrów (bez uwzględniania żadnych
parametrów tych typów).
Dla kodu przyczyny 07 usuń niepotrzebne pliki, aby zwolnić
miejsce na dysku lub podaj plik, który jest umieszczony na Podpis metody składa się z nazwy metody, typu podmiotu
innym dysku/systemie plików z wystarczającą ilością wolnego metody, liczby parametrów zdefiniowanych dla tej metody

86 Komunikaty, tom 2
SQL0455N • SQL0458N

oraz uporządkowanej listy typów parametrów (bez Wybierz nową nazwę SPECIFIC i spróbuj ponownie.
uwzględniania żadnych parametrów tych typów).
kod_sql: -456
Sygnatura procedury składa się z nazwy procedury i liczby
parametrów zdefiniowanych dla procedury (typy danych nie są stan_sql: 42710
uwzględniane).
SQL0457N Atrybut funkcji, metody, typu danych
W takim przypadku albo:
strukturalnych lub typu danych
v w schemacie istnieje już funkcja lub procedura zdefiniowanego przez użytkownika nie może
(nazwa-procedury), która ma taki sam podpis jak tworzona być wywołany nazwa, ponieważ jest
właśnie funkcja lub procedura, zarezerwowany do użytku przez system.
v dla typu podmiotu istnieje metoda (nazwa-procedury), która
Objaśnienie:
ma taki sam podpis jak dodawana specyfikacja metody lub
Nie można utworzyć funkcji zdefiniowanej przez
tworzona treść metody.
użytkownika, metody, typu danych zdefiniowanego przez
użytkownika lub typu danych strukturalnych, ponieważ dana
Nie można wykonać instrukcji.
nazwa jest zastrzeżona do wykorzystania przez system. Jako
Działanie użytkownika: nazw funkcji, typów odrębnych, typów strukturalnych nie
Ustalić, czy istniejąca procedura ma już żądaną można używać następujących nazw:
funkcjonalność. Jeśli takiej funkcjonalności nie ma, to podpis "=","<",">",">=","<=",
procedury należy zmienić, zmieniając na przykład nazwę "&=","&>",,"&<",
procedury. "!=","!>","!<","<>",
SOME, ANY, ALL, NOT, AND, OR,
kod_sql: -454 BETWEEN, NULL, LIKE, EXISTS, IN,
UNIQUE, OVERLAPS, SIMILAR i MATCH.
stan_sql: 42723 Działanie użytkownika:
Wybierz nazwę dla funkcji, metody, typu danych
zdefiniowanego przez użytkownika lub atrybutu typu danych
SQL0455N W procedurze nazwa-procedury nazwa
strukturalnych, która nie jest zastrzeżona do wykorzystania
schematu nazwa-schematu1 podana jako
przez system.
nazwa specyficzna (SPECIFIC) nie jest
zgodna z nazwą schematu nazwa-schematu2
procedury. kod_sql: -457

Objaśnienie: stan_sql: 42939


Jeśli nazwa SPECYFICZNA określona jest w postaci dwóch
części, to fragment nazwa-schematu1 musi być taki sam jak
fragment nazwa-schematu2 z nazwa-procedury. Zauważ, że SQL0458N W odwołaniu do procedury nazwa-procedury
fragment nazwa-schematu2 z nazwa-procedury może być wyszukując według podpisu, nie można
określony bezpośrednio, może mieć także wartość domyślną znaleźć procedury zgodnej.
ID autoryzowanego użytkownika dla tej instrukcji. Jeśli Objaśnienie:
procedura jest metodą, to nazwa-schematu odwołuje się do W odwołaniu według podpisu do funkcji, metody lub
nazwy schematu typu podmiotu tej metody. procedury składowanej nazwa-procedury nie można znaleźć
Działanie użytkownika: funkcji, metody lub procedury zapisanej w bazie.
Popraw instrukcję i powtórz działanie.
Jeśli używany jest typ danych, który może akceptować
kod_sql: -455 parametr, wtedy parametr dla tego typu jest opcjonalny. Na
przykład dla CHAR(12) można określić parametr (CHAR(12))
stan_sql: 42882 lub go pominąć (CHAR()). Jeśli podano parametr, wtedy
system DBMS zaakceptuje tylko dokładną zgodność typu
danych oraz parametru typu danych. Jeśli pominięto parametr,
SQL0456N W definicji procedury nazwa-procedury DBMS zaakceptuje tylko zgodność typu danych. Składnia
nazwa specyficzna (SPECIFIC) CHAR() jest sposobem na poinformowanie systemu DBMS,
nazwa-specyficzna już istnieje w schemacie. aby zignorował parametry określające typ danych, jeśli
znajdzie zgodną funkcję.
Objaśnienie:
Użytkownik dostarczył bezpośrednią nazwę SPECYFICZNĄ
nazwa-specyficzna w definicji procedury nazwa-procedury, Należy także zwrócić uwagę, że w instrukcjach DROP
lecz taka sama nazwa istnieje już w schemacie jako nazwa FUNCTION/PROCEDURE, COMMENT ON
SPECYFICZNA dla funkcji, metody lub procedury. FUNCTION/PROCEDURE i TRANSFER OWNERSHIP
FUNCTION/PROCEDURE/METHOD niekwalifikowane
Działanie użytkownika: odwołanie jest kwalifikowane ID autoryzowanego

Rozdział 2. Komunikaty SQL 87


SQL0461N • SQL0464W

użytkownika instrukcji i jest to schemat, w którym mógł Użytkownik powinien rozumieć znaczenie ostrzeżenia.
wystąpić błąd. W klauzuli SOURCE instrukcji CREATE Skontaktuj się z administratorem bazy danych lub z autorem
FUNCTION kwalifikacja pochodzi z bieżącej ścieżki. W procedury.
takim przypadku w całej ścieżce brak odpowiedniej funkcji.
kod_sql: +462
Funkcja nie może być funkcją potomną następujących funkcji
wbudowanych: COALESCE, DBPARTITIONNUM, stan_sql: 01Hxx
GREATEST, HASHEDVALUE, LEAST, MAX (scalar), MIN
(scalar), NULLIF, NVL, RID, RAISE_ERROR, TYPE_ID,
TYPE_NAME, TYPE_SCHEMA lub VALUE. SQL0463N Procedura nazwa-procedury (nazwa
specyficzna nazwa specyficzna) zwróciła
niepoprawną wartość SQLSTATE stan wraz
Nie można wykonać instrukcji.
z tekstem diagnostycznym tekst.
Działanie użytkownika:
Objaśnienie:
Możliwe rozwiązania:
Poprawna wartość SQLSTATE, którą procedura może zwrócić
v zmień ścieżkę, tak aby zawierała poprawny schemat, to: 38xxx (błąd), 38502 (błąd) lub 01Hxx (ostrzeżenie). Ta
v usuń parametry ze specyfikacji typów danych, procedura nazwa-procedury (nazwa specyficzna nazwa
v użyj nazwy SPECIFIC zamiast sygnatury, w celu odwołania specyficzna) zwróciła niepoprawną wartość SQLSTATE stan
się do funkcji. wraz z tekstem diagnostycznym tekst. Procedura jest w stanie
błędu.
kod_sql: -0458 Działanie użytkownika:
Procedura musi być poprawiona. Skontaktuj się z
stan_sql: 42883 administratorem bazy danych lub z autorem procedury. O
znaczeniu, jakie dla aplikacji ma zła wartość SQLSTATE,
można dowiedzieć się także od autora procedury.
SQL0461N Wartość o typie danych źródłowy-typ-danych
nie może być rzutowana (CAST) na typ
docelowy-typ-danych. kod_sql: -463

Objaśnienie: stan_sql: 39001


Instrukcja zawiera wyrażenie CAST, w którym pierwszym
operandem jest typ danych źródłowy-typ-danych, który ma
zostać zrzutowany na typ danych docelowy-typ-danych. SQL0464W Procedura nazwa-procedury zwróciła
Rzutowanie to nie jest obsługiwane. liczba-wygenerowanych-wyników tabel
wynikowych zapytania, przekraczając
Działanie użytkownika: zdefiniowany limit maksymalna-liczba-
Zmień źródłowy lub docelowy typ danych, tak aby można było wyników.
wykonać rzutowanie. Dla predefiniowanych typów, informacje
można znaleźć w podręczniku SQL Reference. Dla typu Objaśnienie:
odrębnego zdefiniowanego przez użytkownika rzutowanie Procedura składowana nazwa-procedury została zakończona w
można wykonać pomiędzy podstawowym typem danych i prawidłowy sposób. Przekroczyła jednak zdefiniowany limit
typem odrębnym zdefiniowanym przez użytkownika lub z liczby tabel wynikowych, które może zwrócić procedura.
zalecanego typu danych do podstawowego typu danych, do liczba-wygenerowanych-wyników
typu odrębnego zdefiniowanego przez użytkownika. określa liczbę tabel wynikowych zwróconych przez
procedurę składowaną
kod_sql: -461
maksymalna-liczba-wyników
stan_sql: 42846 określa zdefiniowany limit liczby tabel wynikowych,
które może zwrócić procedura składowana.

SQL0462W Procedura nazwa-procedury (nazwa Do programu SQL, który wydał instrukcję CALL języka SQL
specyficzna nazwa-specyficzna) zwróciła zwracana jest tylko pierwsza część tabel wynikowych
ostrzegawczy stan SQLSTATE z tekstem zapytania w liczbie maksymalna-liczba-wyników.
diagnostycznym tekst.
Objaśnienie: Możliwe przyczyny:
Do DB2 został zwrócony przez procedurę nazwa-procedury v Procedura składowana nie może zwrócić tabel wynikowych
(nazwa specyficzna nazwa-specyficzna) błąd SQLSTATE w wygenerowane-wyniki ze względu na ograniczenia w
formie 01Hxx wraz z tekstem komunikatu tekst. obszarze DRDA narzucone przez klienta. Klient DRDA
ustala limit tabel wynikowych w punkcie kodowym
Działanie użytkownika:
MAXRSLCNT DDM.

88 Komunikaty, tom 2
SQL0465N • SQL0467W

v Procedura została wywołana z aplikacji napisanej w języku 42: błąd tworzenia REPLY QUEUE,
C. Przetwarzanie tabel wynikowych dla języka C nie jest
43: błąd odczytu z REPLY QUEUE,
obsługiwane, dlatego tabela wynikowa jest po prostu
zamykana przed zwróceniem jej do aplikacji w języku C. 44: błąd tworzenia REQUEST QUEUE,
Działanie użytkownika: 45: błąd zapisu do REQUEST QUEUE,
Instrukcja SQL została wykonana pomyślnie. Pole
SQLWARN9 ma wartość ’Z’. 47: nie powiodło się nadanie procesowi procedury
uprawnienia dostępu do zbioru pamięci
współużytkowanej UDFP,
kod_sql: +464
48: nie powiodło się nadanie procesowi procedury
stan_sql: 0100E uprawnienia dostępu do REPLY QUEUE,
49: błąd przydzielania pamięci do sterowania blokami
SQL0465N Nie można uruchomić, zainicjować lub użytymi w module ładowania/usuwania z pamięci,
komunikować się z procesem w trybie
50: proces agenta zniknął podczas uruchomienia kodu
chronionym. Kod przyczyny kod.
procedury lub kodu agenta,
Objaśnienie:
51: proces agenta przechwycił USER INTERRUPT
Jest to problem związany z systemem i dotyczy działania
podczas uruchomienia kodu procedury bez ochrony,
procedury w trybie chronionym (dla funkcji lub metody
zdefiniowanej przez użytkownika). Właściwa natura problemu 60: w procesie procedury wystąpił błąd wewnętrzny.
została wskazana przez kod. NIE jest to problem użytkownika.
Możliwe kody przyczyny: Działanie użytkownika:
Skontaktuj się z administratorem bazy danych lub
administratorem systemu.
Błędy przetwarzania procedury:
21: błąd inicjowania danych wewnętrznych lub danych kod_sql: -465
aplikacji,
22: błąd rejestrowania pojedynczych uchwytów, stan_sql: 58032

23: błąd nadawania procesowi agenta uprawnień dostępu


do REQUEST QUEUE, SQL0466W Procedura nazwa-procedury zwraca z
procedury składowanej tabele wynikowe w
24: niepowodzenie przy próbie połączenia z pamięcią liczbie liczba-wyników.
współużytkowaną procesu procedury,
Objaśnienie:
25: błąd otwarcia REPLY QUEUE, Komunikat ten jest wynikiem wywołania instrukcji SQL
CALL. Oznacza to, że procedura składowana
26: błąd zapisu do REPLY QUEUE,
nazwa-procedury ma stowarzyszoną tabelę wynikową
27: błąd tworzenia REQUEST QUEUE, liczba-wynik.
28: błąd odczytu z REQUEST QUEUE,
Instrukcja została zakończona pomyślnie.
29: proces procedury zaniknął,
Działanie użytkownika:
30: proces procedury przechwycił sygnał USER Nie jest wymagane żadne działanie.
INTERRUPT,
kod_sql: +466
31: nie powiodło się usunięcie z pamięci modułu
procedury,
stan_sql: 0100C
32: błąd przydzielania pamięci do sterowania blokami
użytymi w module ładowania/usuwania z pamięci,
SQL0467W Procedura nazwa-procedury zawiera jeszcze
33: nie powiodło się wysłanie SIGINT z procesu agenta jedną tabelę wynikową. Ogólna liczba tabel
do procesu procedury, wynikowych wynosi maksymalna-liczba-
wyników.
34: błąd inicjalizacji biblioteki OLE,
Objaśnienie:
35: błąd inicjalizacji komponentu OLE DB Initialization
Komunikat ten jest zwracany podczas zamykania kursora.
Service Component,
Oznacza to, że dla procedury składowanej nazwa-procedury
40: w procesie procedury wystąpił błąd wewnętrzny. istnieje jeszcze jedna tabela wynikowa i kursor został
ponownie otwarty na następnej tabeli wynikowej. Procedura
Błędy przetwarzania agenta: składowana zwróciła ogółem tabele wynikowe w liczbie
maksymalna-liczba-wyników.
41: nie powiodło się utworzenie procesu procedury,

Rozdział 2. Komunikaty SQL 89


SQL0469N • SQL0473N

Instrukcja została zakończona pomyślnie. Wywołanie procedury nazwa nie powiodło się. Użyj kodu
przyczyny kod-przyczyny, aby znaleźć bardziej szczegółowe
Działanie użytkownika:
informacje na temat niepowodzenia.
Nie jest wymagane żadne działanie. Pobranie można
kontynuować dla następnej tabeli wynikowej. Działanie użytkownika:
Jeśli kod przyczyny rozpoczyna się od przedrostka ″DSNX9″:
kod_sql: +467 v Procedura została wywołana na serwerze DB2 Universal
Database for z/OS. Komunikat DSNX9xx opisujący błąd
stan_sql: 0100D może zostać wyświetlony na konsoli systemowej serwera.
Należy zapoznać się z dokumentacją serwera DB2 UDB
Database for z/OS i poprawić warunek opisany kodem
SQL0469N Niepoprawny tryb parametru (IN, OUT lub
przyczyny.
INOUT) w procedurze nazwa-procedury o
nazwie specyficznej nazwa-specyficzna
(numer parametru numer, nazwa W przeciwnym razie poniżej przedstawiono listę działań, które
nazwa-parametru). należy wykonać dla danego kodu przyczyny:

Objaśnienie: 1 Wywołanie nie powiodło się, ponieważ procedura


Wystąpił jeden z następujących błędów: SQL została utworzona w poprzedniej wersji
produktu, a system DBMS nie mógł przeprowadzić
v w procedurze SQL parametr został zadeklarowany jako jej migracji do bieżącej wersji. Aby procedura
OUT, natomiast w treści procedury jest wykorzystywany działała, należy ją usunąć i utworzyć ponownie.
jako parametr wejściowy,
v w procedurze SQL parametr został zadeklarowany jako IN, kod_sql: -471
natomiast w treści procedury jest on modyfikowany.
Działanie użytkownika: stan_sql: 55023
Zmień atrybut parametru na INOUT lub zmień sposób użycia
parametru wewnątrz procedury. SQL0472N Funkcja lub metoda nazwa-procedury
(nazwa specyficzna nazwa-specyficzna)
kod_sql: -469 pozostawiła otwarty co najmniej jeden
kursor.
stan_sql: 42886
Objaśnienie:
Funkcja lub metoda nazwa-procedury (nazwa specyficzna
SQL0470N Procedura zdefiniowana przez użytkownika nazwa-specyficzna) nie zamknęła wszystkich otwartych przez
nazwa-procedury (nazwa specyficzna siebie kursorów, zanim instrukcja wywołująca zakończyła
nazwa-specyficzna) ma w argumencie działanie. Funkcje i metody muszą zamykać wszystkie kursory
argument wartość pustą i nie można go przed zakończeniem instrukcji wywołującej.
przekazać.
Działanie użytkownika:
Objaśnienie: Skontaktuj się z autorem danej funkcji lub metody. Funkcję
Do procedury przekazano argument wejściowy z wartością lub metodę należy zmodyfikować, tak aby wszystkie kursory
pustą, tymczasem jej definicja zawiera styl parametru, który były zamykane zanim instrukcja wywołująca zakończy
nie przepuszcza wskaźników wartości pustych lub też typ działanie.
danych tego parametru nie zezwala na stosowanie wartości
pustych. kod_sql: -472
Działanie użytkownika:
Jeśli metoda ma być wywołana z wartością pustą, sprawdź, stan_sql: 24517
czy styl parametrów i typy wejściowe dopuszczają wartości
puste. W przypadku funkcji wystarczy, że utworzono je z SQL0473N Typ danych zdefiniowany przez
opcją ″RETURNS NULL ON NULL INPUT″. użytkownika nie może mieć takiej samej
nazwy, jak predefiniowany typ systemowy.
kod_sql: -470
Objaśnienie:
stan_sql: 39004 Nazwa typu danych do utworzenia lub już istniejącego w
przypadku migracji bazy danych ma niekwalifikowaną nazwę
taką samą, jak predefiniowany systemowy typ danych
SQL0471N Wywołanie procedury nazwa nie powiodło ARRAY, BINARY, DECFLOAT, VARBINARY lub XML.
się; przyczyna: kod-przyczyny. Jest to niedozwolone. Dodanie ograniczników nie sprawi, że
nazwa będzie poprawna.
Objaśnienie:
Nie można wykonać instrukcji.

90 Komunikaty, tom 2
SQL0475N • SQL0480N

Działanie użytkownika: błąd ten oznacza, że próbowano utworzyć odwzorowanie z


Popraw instrukcję, aby używała innego identyfikatora. jednej funkcji zdalnej na więcej niż jedną funkcję lokalną.
Działanie użytkownika:
Podczas migracji bazy danych należy sprawdzić, czy typ
Popraw odwołanie, wykonując jedno z następujących działań:
danych oraz obiekty bazy danych, które odwołują się do tego
typu danych, zostały usunięte i ponownie utworzone przy v uzupełnij sygnaturę,
użyciu niezarezerwowanej nazwy typu danych. Poprawkę tę v używając nazwy specyficznej żądanej procedury,
należy wprowadzić w poprzedniej wersji menedżera baz v zmieniając ścieżkę SQL,
danych. Ponownie wprowadź komendę migracji bazy danych
w bieżącej wersji. i powtórz działanie.

kod_sql: -473 kod_sql: -476

stan_sql: 42918 stan_sql: 42725

SQL0475N Typ wynikowy (typ-1) funkcji SOURCE nie SQL0478N Nie można przetworzyć operacji DROP,
może być rzutowany na typ RETURNS ALTER, TRANSFER OWNERSHIP lub
(typ-2) funkcji zdefiniowanej przez REVOKE na obiekcie typu typ-obiektu1,
użytkownika nazwa-funkcji. ponieważ istnieje zależny od niego obiekt
Objaśnienie: nazwa-obiektu typu typ-obiektu2.
Aby instrukcja CREATE funkcji zdefiniowanej przez Objaśnienie:
użytkownika była poprawna, typ wyniku (typ-1) funkcji Nie można przetworzyć żądanej instrukcji DROP, ALTER,
źródłowej musi dać się zrzutować do typu RETURNS (typ-2) TRANSFER OWNERSHIP lub REVOKE z powodu
tworzonej funkcji. Rzutowanie pomiędzy tymi typami nie jest zależności dotyczącej tego typu obiektu typ-obiektu1.
obsługiwane. Szczegóły dotyczące rzutowania typów danych Zdefiniowano zależność ograniczającą dla obiektów typu
zawiera podręcznik SQL Reference. typ-obiektu2 (przykładem tych obiektów jest obiekt
Działanie użytkownika: nazwa-obiektu).
Zmień typ danych RETURNS lub identyfikację funkcji
SOURCE, tak aby typ wyniku funkcji SOURCE można było Zależność ta może być pośrednia. Oznacza to, że nazwany
rzutować do typu danych RETURNS. obiekt jest zależny od innego obiektu, który z kolei jest
zależny od obiektu usuwanego lub poddanego działaniu
kod_sql: -475 instrukcji REVOKE.

stan_sql: 42866 Na przykład:


v funkcja F1 ma źródło w funkcji F2,
SQL0476N Odwołanie do procedury nazwa-funkcji v widok V1 został zdefiniowany za pomocą funkcji F1,
zostało utworzone bez podpisu, lecz v próba usunięcia F2 nie powiodła się na skutek
procedura nie jest unikalna w schemacie. bezpośredniej zależności F1 od F2 i pośredniej zależności
V1 od F2.
Objaśnienie:
Odwołania do funkcji lub procedury składowanej bez Działanie użytkownika:
sygnatury jest dozwolone, jednak podana funkcja lub Usuń zależności dla tego obiektu, a następnie ponownie wyślij
procedura nazwa-funkcji musi być unikalna w schemacie, a nie żądanie.
jest. Jeśli procedura jest metodą, odwołanie bez podpisu jest
dozwolone, jednak nazwana metoda musi być unikalna dla kod_sql: -478
typu danych.
stan_sql: 42893
Zauważ, że w instrukcjach DROP FUNCTION/PROCEDURE
i COMMENT ON FUNCTION/PROCEDURE
niekwalifikowane odwołanie jest kwalifikowane ID SQL0480N Procedura nazwa-procedury nie była jeszcze
autoryzowanego użytkownika instrukcji i jest to schemat, w wywoływana.
którym mógł wystąpić błąd. W klauzuli SOURCE instrukcji Objaśnienie:
CREATE FUNCTION kwalifikacja pochodzi z bieżącej Procedura zidentyfikowana w instrukcji ASSOCIATE
ścieżki. W takim przypadku, pierwszy schemat w ścieżce LOCATORS nie była jeszcze wywoływana z procesu aplikacji
zawierający funkcję o tej nazwie zawiera inne funkcje o tej albo procedura była wywoływana, lecz przed instrukcją
samej nazwie. wystąpiło jawne lub niejawne zatwierdzenie.

Użytkownicy systemów stowarzyszonych: W przypadku sesji Działanie użytkownika:


tranzytowej i instrukcji CREATE FUNCTION MAPPING

Rozdział 2. Komunikaty SQL 91


SQL0481N • SQL0487N

Popraw instrukcje, tak aby dokładna składnia użyta do v klauzula SOURCE używa nazwy funkcji (lista parametrów
określenia nazwy procedury w instrukcji CALL, była taka wewnętrznych) do zidentyfikowania funkcji źródłowej i
sama, jak w instrukcji ASSOCIATE LOCATORS. Jeśli do liczba typów na liście różni się od liczby parametrów
WYWOŁANIA procedury użyta została niekwalifikowana tworzonej funkcji,
nazwa, to w innych instrukcjach także musi być użyta nazwa v klauzula SOURCE używa różnej składni do
jednoczęściowa. Wprowadź ponownie instrukcje. zidentyfikowania funkcji źródłowej, a liczba typów tej
funkcji (typów danych w tej funkcji) różni się od liczby
kod_sql: -0480 parametrów tworzonej funkcji.

stan_sql: 51030 Działanie użytkownika:


Liczba parametrów dla funkcji SOURCE i dla tworzonej
funkcji musi być taka sama. Należy zmienić identyfikację
SQL0481N Klauzula GROUP BY zawiera element funkcji SOURCE, aby:
element-1 zagnieżdżony w elemencie v poprawić listę parametrów wewnętrznych,
element-2.
v poprawić nazwę funkcji lub specyficzną nazwę funkcji, w
Objaśnienie: celu zidentyfikowania odpowiedniej funkcji.
Wewnątrz klauzuli GROUP BY są niedozwolone następujące
typy zagnieżdżeń: Możliwe, że aby można było znaleźć właściwą funkcję, należy
v CUBE wewnątrz CUBE, ROLLUP lub GEL, poprawić ścieżkę.
v ROLLUP wewnątrz CUBE, ROLLUP lub GEL,
kod_sql: -483
v () wewnątrz CUBE, ROLLUP lub GEL,
v GROUPING SETS wewnątrz GROUPING SETS, CUBE, stan_sql: 42885
ROLLUP lub GEL,
v CUBE, ROLLUP, (), GROUPING SETS wewnątrz
SQL0486N Typy danych BOOLEAN, BINARY i
dowolnej funkcji, wyrażenia CASE lub specyfikacji CAST,
VARBINARY są obecnie obsługiwane tylko
gdzie GEL reprezentuje element pokazany jako lista
wewnętrznie.
wyrażeń grupujących na diagramie składniowym klauzuli
GROUP BY. Objaśnienie:
W instrukcji użyto co najmniej jednego z typów danych:
gdzie GEL reprezentuje element pokazany jako lista wyrażeń BOOLEAN, BINARY lub VARBINARY. Nie można ich
grupujących w diagramie składniowym klauzuli GROUP BY. obsługiwać w bieżącej wersji DB2.
Działanie użytkownika:
W niektórych przypadkach jako element-2 zostanie pokazana
Zmień typ(y) danych, a następnie wprowadź ponownie
wartość ″---″. W takiej sytuacji ″---″ reprezentuje CUBE,
instrukcję.
ROLLUP, GROUPING SETS albo GEL.
kod_sql: -486
Nie można wykonać instrukcji.
Działanie użytkownika: stan_sql: 42991
Zmodyfikuj klauzulę GROUP BY, usuwając zagnieżdżenia.
SQL0487N Procedura nazwa-procedury (nazwa
kod_sql: -481
specyficzna nazwa-specyficzna) próbowała
wykonać instrukcję SQL.
stan_sql: 428B0
Objaśnienie:
Program użyty do zaimplementowania treści procedury nie
SQL0483N W instrukcji CREATE w funkcji może wykonywać instrukcji SQL. Ta procedura
zdefiniowanej przez użytkownika nazwa-procedury (nazwa specyficzna nazwa-specyficzna)
nazwa-funkcji liczba parametrów nie jest zawiera instrukcje SQL lub procedura ta wywołuje inną
zgodna z liczbą parametrów funkcji procedurę, która używa instrukcji SQL, na przykład procedurę
SOURCE. SYSPROC.ADMIN_CMD.
Objaśnienie: Działanie użytkownika:
Próbowano wykonać instrukcję CREATE dla funkcji Usuń wszystkie funkcje SQL, następnie ponownie skompiluj
zdefiniowanej przez użytkownika nazwa-funkcji, która jest program. Sprawdź dozwolony poziom SQL, który określono w
źródłowa w innej funkcji. Wykryto jedną z następujących instrukcji definiującej procedurę.
sytuacji:
kod_sql: -487

stan_sql: 38001

92 Komunikaty, tom 2
SQL0489N • SQL0493N

Działanie użytkownika:
SQL0489N Funkcja nazwa-funkcji w elemencie listy
Dodaj brakującą klauzulę i powtórz operację.
SELECT lub VALUES dała wynik typu
BOOLEAN.
kod_sql: -491
Objaśnienie:
Funkcja nazwa-funkcji została zdefiniowana jako predykat stan_sql: 42601
zwracający wynik typu boolowskiego. Wynik taki jest
niepoprawny na liście wyboru.
SQL0492N Występuje problem w instrukcji CREATE
Nie można wykonać instrukcji. dla funkcji zdefiniowanej przez
użytkownika nazwa-funkcji dotyczący
Działanie użytkownika: parametru o numerze numer. Może to
Popraw nazwę funkcji lub usuń funkcję. spowodować niezgodność w funkcji
SOURCE.
kod_sql: -489
Objaśnienie:
Parametr na pozycji numer funkcji nazwa-funkcji jest błędny i
stan_sql: 42844
nie można wykonać instrukcji CREATE. Nie można
zrzutować parametru na pozycji numer funkcji źródłowej do
SQL0490N Liczba liczba określona wprost w instrukcji odpowiedniego parametru tworzonej funkcji.
SQL lub komendzie wykracza poza zakres
Działanie użytkownika:
wartości dozwolonych w tym kontekście
Możliwe rozwiązania:
(wart-min,wart-maks).
v określenie innej funkcji źródłowej,
Objaśnienie:
v zmiana typu danych parametru tworzonej funkcji, tak aby
Podano liczbę (liczba), która nie jest poprawna w kontekście,
typ danych funkcji źródłowej mógł zostać zrzutowany do
w którym została podana. Minimalną dopuszczalną w tym
tego typu danych.
kontekście wartością jest wartość-minimalna. Maksymalną
dopuszczalną wartością w tym kontekście jest
kod_sql: -492
wartość-maksymalna. n musi się zawierać w zakresie
wyznaczonym przez wartość-minimalna i
wartość-maksymalna (wartość-minimalna =< n => stan_sql: 42879
wartość-maksymalna).
SQL0493N Procedura nazwa-procedury (nazwa
Podczas tworzenia lub modyfikowania obszaru tabel wartości specyficzna nazwa-specyficzna) zwróciła
maksymalna i minimalna mogą zależeć od wielkości strony w wartość daty, godziny lub datownika
obszarze tabel. Więcej informacji na temat limitów niepoprawną pod względem składniowym
dotyczących obszarów tabel zawiera podręcznik SQL lub liczbowym.
Reference.
Objaśnienie:
Działanie użytkownika: Treść funkcji zdefiniowanej przez użytkownika (UDF) lub
Należy zmienić wartość n w instrukcji lub komendzie na metody nazwa-procedury (nazwa specyficzna
poprawną. nazwa-specyficzna) zwróciła niepoprawną wartość daty,
godziny lub datownika.
kod_sql: -490
Przykładem daty niepoprawnej składniowo jest ’1994-12*25’:
stan_sql: 428B7 zamiast ’*’ powinno być ’-’. Przykładem numerycznie
niepoprawnej wartości godziny jest ’11.71.22’:, ponieważ
godzina ma mniej niż 71 minut.
SQL0491N Definicja procedury nazwa-procedury musi
zawierać klauzulę RETURNS oraz jeden z Działanie użytkownika:
następujących elementów: klauzulę Procedura wymaga poprawienia. Skontaktuj się z
EXTERNAL (wraz z innymi wymaganymi administratorem bazy danych lub autorem procedury.
parametrami), instrukcję RETURN lub
klauzulę SOURCE. kod_sql: -493
Objaśnienie:
W definicji procedury nazwa-procedury brak wymaganej stan_sql: 22007
klauzuli. Jeśli określono klauzulę EXTERNAL, określona
musi być również jedna z następujących klauzul:
LANGUAGE, PARAMETER STYLE, DETERMINISTIC lub
NOT DETERMINISTIC oraz EXTERNAL ACTION lub NO
EXTERNAL ACTION.

Rozdział 2. Komunikaty SQL 93


SQL0494W • SQL0501N

Jeśli ten kod SQLCODE został zwrócony, ponieważ kategoria


SQL0494W Liczba tabel wynikowych jest większa niż
kosztów ma wartość ″B″, może to wynikać z tego, że
liczba wskaźników.
instrukcja używa znaczników parametrów, lub że nie są
Objaśnienie: dostępne niektóre statystyki dla odnośnych tabel i kolumn.
Liczba wskaźników tabel wynikowych podana w instrukcji Upewnij się, że administrator uruchomił program narzędziowy
ASSOCIATE LOCATORS jest mniejsza niż liczba tabel RUNSTATS względem tabel odnośnych. Może to również
wynikowych zwróconych przez procedurę składowaną. oznaczać, że funkcje UDF zostaną wywołane przy wykonaniu
Zostanie zwróconych pierwszych “n” wartości wskaźników instrukcji lub że wyzwalające instrukcje INSERT, UPDATE
tabel wynikowych, gdzie “n” jest liczbą zmiennych lub DELETE są zdefiniowane dla zmienionej tabeli. Aby
wskaźnikowych podaną w instrukcji SQL. stwierdzić, dlaczego instrukcja SQL została umieszczona w
kategorii kosztów ″B″, sprawdź parametr
Instrukcja SQL została wykonana pomyślnie. Pole DSN_STATEMNT_TABLE lub rekord IFCID 22 dla tej
SQLWARN3 ma wartość ’Z’. instrukcji. Jeśli nie można zmienić programu lub jeśli nie
można otrzymać statystyk, poproś administratora o ustalenie w
Działanie użytkownika: kolumnie RLF_CATEGORY_B tabeli RLST wartości ″Y″,
Zwiększ liczbę zmiennych wskaźnikowych dla tabel która umożliwi wykonanie instrukcji lub wartości ″W″, która
wynikowych podaną w instrukcji SQL. zwróci ostrzeżenie zamiast błędu.

kod_sql: +494 Jeśli wystąpienie ostrzeżenia zostało spowodowane przez


instrukcję SQL wykorzystującą zbyt wiele zasobów procesora,
stan_sql: 01614 spróbuj ponownie napisać instrukcję, tak aby działała
wydajniej. Inna możliwość to zwiększenie przez
SQL0495N Szacunkowy koszt pracy procesora administratora wartości progowej błędu w tabeli RLST.
szacowana-wartość1 sekund pracy procesora
(szacowana-wartość2 jednostek obsługi) w kod_sql: -495
kategorii kosztów kategoria-kosztów
przekracza próg błędu limitu zasobów stan_sql: 57051
wynoszący wartość-limitu jednostek obsługi.
Objaśnienie: SQL0499N Kursor nazwa-kursora został już przypisany
do tej lub innej tabeli wynikowej z
Podczas przygotowania dynamicznej instrukcji SQL: INSERT, procedury nazwa-procedury.
UPDATE, DELETE lub SELECT szacowany koszt Objaśnienie:
wykorzystania procesora przekroczył progową wartość błędu Podjęto próbę przypisania kursora do tabeli wynikowej, ale dla
określoną w tabeli specyfikacji limitu zasobów (RLST). procedury nazwa-procedury przydzielono wiele kursorów.

Błąd ten pojawia się również wtedy, gdy wartością kategorii Działanie użytkownika:
kosztów DB2 jest ″B″, a działaniem domyślnym określonym Sprawdź, czy tabela wynikowa była poprzednio przypisana dla
w kolumnie RLF_CATEGORY_B w tabeli RLST jest kursora. Jeśli w procedurze nazwa-procedury przydzielono
wywołanie błędu. wiele kursorów, sprawdź, czy do przetwarzania tabel
wynikowych procedury składowanej jest używany tylko jeden
szacowana-wartość1 kursor.
Szacunkowy koszt (w sekundach pracy procesora),
jeśli przygotowana instrukcja INSERT, UPDATE, kod_sql: -499
DELETE lub SELECT miałaby zostać wykonana.
szacowana-wartość2 stan_sql: 24516
Szacunkowy koszt (w jednostkach obsługi), jeśli
przygotowana instrukcja INSERT, UPDATE,
SQL0501N Kursor określony w instrukcji FETCH lub
DELETE lub SELECT miałaby zostać wykonana.
CLOSE nie jest otwarty.
kategoria-kosztów
Objaśnienie:
Kategoria kosztów DB2 dla tej instrukcji SQL.
Program próbował: (1) wykonać instrukcję FETCH przy
Możliwe wartości to A lub B.
użyciu kursora lub (2) wykonać instrukcję CLOSE w
wielkość-limitu stosunku do kursora, gdy podany kursor nie był otwarty.
Próg błędu (w jednostkach usług) określony w
kolumnie RLFASUERR w tabeli RLST. Nie można wykonać instrukcji.
Działanie użytkownika:
Przygotowanie instrukcji INSERT, UPDATE, DELETE lub
Sprawdź poprzedni komunikat (SQLCODE), który mógł
SELECT nie zostało zakończone pomyślnie.
zamknąć kursor. Zauważ, że gdy kursor jest zamknięty,
Działanie użytkownika:

94 Komunikaty, tom 2
SQL0502N • SQL0508N

wszystkie instrukcje pobierające lub zamykające kursor nadają Działanie użytkownika:


zmiennej SQLCODE wartość równą -501. Sprawdź kompletność programu użytkowego i popraw błędy
ortograficzne w nazwach kursorów.
Jeśli nie zanotowano poprzednich wartości zmiennej
SQLCODE, popraw aplikację, aby w trakcie wykonywania kod_sql: -504
instrukcji FETCH lub CLOSE kursor był otwarty.
stan_sql: 34000
kod_sql: -501
SQL0505N Kursor nazwa został już zdefiniowany.
stan_sql: 24501
Objaśnienie:
W instrukcji DECLARE zadeklarowano już kursor o danej
SQL0502N Kursor podany w instrukcji OPEN jest już
nazwie.
otwarty.
Objaśnienie: Nie można wykonać instrukcji.
Program próbował wykonać instrukcję OPEN z otwartym
Działanie użytkownika:
kursorem.
Sprawdź, czy nazwa została napisana poprawnie.
Nie można wykonać instrukcji. Kursor pozostał niezmieniony.
SQL0507N Kursor określony w instrukcji UPDATE lub
Działanie użytkownika:
DELETE nie jest otwarty.
Popraw program, tak aby nie próbował wykonywać instrukcji
OPEN z otwartym kursorem. Objaśnienie:
Program próbował wykonać instrukcję UPDATE lub DELETE
kod_sql: -502 WHERE CURRENT OF z kursorem, który nie był otwarty.

stan_sql: 24502 Nie można wykonać instrukcji. Nie zaktualizowano ani nie
usunięto żadnych danych.
SQL0503N Kolumna nie może być aktualizowana, Działanie użytkownika:
ponieważ nie została zidentyfikowana w Sprawdź poprzedni komunikat (SQLCODE), który mógł
klauzuli FOR UPDATE instrukcji SELECT zamknąć kursor. Zauważ, że gdy kursor jest zamknięty,
z kursorem. wszystkie instrukcje pobierające lub zamykające kursor nadają
zmiennej SQLCODE wartość -501, a wszystkie instrukcje
Objaśnienie: aktualizujące lub usuwające nadają zmiennej wartość
Używając kursora program próbował aktualizować wartości w SQLCODE -507. Popraw program użytkowy, tak aby podczas
kolumnie tabeli, która nie została zidentyfikowana w warunku wykonywania instrukcji UPDATE lub DELETE podany
FOR UPDATE w deklaracji kursora lub w przygotowanej kursor był otwarty.
instrukcji SELECT.
kod_sql: -507
Aby kolumna mogła zostać aktualizowana, musi zostać
zidentyfikowana w klauzuli FOR UPDATE deklaracji kursora.
stan_sql: 24501
Nie można wykonać instrukcji.
SQL0508N Kursor określony w instrukcji UPDATE lub
Działanie użytkownika: DELETE nie jest ustawiony na żadnym
Popraw program. Jeśli kolumna wymaga aktualizacji, dodaj jej wierszu.
nazwę do klauzuli FOR UPDATE deklaracji kursora.
Objaśnienie:
kod_sql: -503 Program próbował wykonać instrukcję UPDATE lub DELETE
WHERE CURRENT OF z kursorem, który nie był ustawiony
stan_sql: 42912 na żadnym wierszu tabeli obiektów. Kursor musi być
ustawiony na wierszu, który ma być zaktualizowany lub
usunięty.
SQL0504N Kursor nazwa nie jest zdefiniowany.
Objaśnienie: Kursor nie jest ustawiony na wierszu, jeśli wiersz został
Podano instrukcję UPDATE lub DELETE WHERE usunięty. Dotyczy to każdego użycia kursora wewnątrz punktu
CURRENT OF nazwa, lecz kursor nazwa nie został zachowania, gdy wykonywana jest instrukcja ROLLBACK
zadeklarowany w aplikacji. TO SAVEPOINT.

Nie można wykonać instrukcji.

Rozdział 2. Komunikaty SQL 95


SQL0509N • SQL0510N

Użytkownicy systemów stowarzyszonych: Rekord w zdalnym – widok tylko do odczytu (kolumna READONLY widoku
źródle danych został zaktualizowany i/lub usunięty przez inną SYSCAT.SYSVIEWS jest ustawiona na ’Y’),
aplikację (lub inny kursor w tej samej aplikacji) i rekord ten v operator mnogościowy (inny niż UNION ALL).
już nie istnieje.
Należy zauważyć, że warunki nie odnoszą się do podzapytań
Nie można wykonać instrukcji. Nie zaktualizowano ani nie instrukcji SELECT.
usunięto żadnych danych.
Działanie użytkownika: Kursor został zadeklarowany z klauzulą FOR FETCH ONLY.
Popraw program użytkowy, tak aby podczas wykonywania
instrukcji UPDATE lub DELETE kursor był poprawnie Kursor jest niejasny i została podana operacja wiązania
ustawiony na określonym wierszu tabeli obiektów. Zauważ, że BLOCKING ALL.
kursor nie jest ustawiony na żadnym wierszu, jeśli instrukcja
FETCH zwróciła komunikat SQL0100W (SQLCODE = 100). Kursor odwołuje się do widoku mającego wyzwalacz
INSTEAD OF UPDATE (lub DELETE).
kod_sql: -508
Kursor bezpośrednio lub pośrednio odwołuje się do widoku
stan_sql: 24504 zdefiniowanego z klauzulą WITH ROW MOVEMENT i
próbowano wykonać instrukcję UPDATE WHERE
CURRENT OF CURSOR.
SQL0509N Tabela określona w instrukcji UPDATE lub
DELETE nie jest tabelą określoną w
Nie można wykonać instrukcji.
instrukcji SELECT dla kursora.
Działanie użytkownika:
Objaśnienie:
Jeśli menedżer baz danych nie wykonuje poprawnie instrukcji
Program próbował wykonać instrukcję UPDATE lub DELETE
i kursor jest oparty na instrukcji SELECT lub instrukcji
WHERE CURRENT OF z kursorem, w którym nazwa tabeli
VALUES tylko do odczytu, nie podawaj razem z nimi żadnych
nie jest zgodna z nazwą tabeli określoną w instrukcji SELECT,
instrukcji dotyczących aktualizacji lub usuwania.
w której został zadeklarowany kursor.
Jeśli menedżer bazy danych nie wykonuje poprawnie
Nie można wykonać instrukcji.
instrukcji, a kursor nie jest oparty na instrukcji SELECT lub
Działanie użytkownika: instrukcji VALUES tylko do odczytu i jest zdefiniowany
Popraw program użytkowy, tak aby tabela identyfikowana w razem z klauzulą FOR FETCH ONLY, usuń tę klauzulę z
instrukcji UPDATE lub DELETE była tabelą identyfikowaną definicji kursora albo nie podawaj żadnych instrukcji
w deklaracji kursora. dotyczących aktualizacji lub usuwania.

kod_sql: -509 Jeśli menedżer baz danych nie wykonuje poprawnie instrukcji
i na podstawie definicji lub kontekstu nie można określić, czy
stan_sql: 42827 kursor jest tylko do odczytu, czy można go modyfikować,
powiąż program ponownie z opcją wiązania BLOCKING NO
lub BLOCKING UNAMBIG.
SQL0510N Instrukcja UPDATE lub DELETE nie jest
dozwolona z podanym kursorem. Jeśli menedżer bazy danych nie wykonuje instrukcji
Objaśnienie: poprawnie, a kursor jest utworzony na podstawie widoku z
Program próbował wykonać instrukcję UPDATE lub DELETE wyzwalaczem INSTEAD OF UPDATE (lub DELETE), użyj
WHERE CURRENT OF z kursorem dla definicji widoku lub wyszukanej instrukcji UPDATE (lub DELETE).
tabeli, które nie zezwalały na daną operację aktualizacji lub
usuwania. Błąd ten może wystąpić, na przykład podczas Jeśli wykonanie instrukcji przez menedżera bazy danych nie
usuwania z widoku tylko do odczytu lub w przypadku powiodło się i kursor bezpośrednio lub pośrednio odwołuje się
aktualizacji, gdy kursor nie został zdefiniowany z klauzulą do widoku zdefiniowanego z klauzulą WITH ROW
FOR UPDATE. MOVEMENT, nie wykonuj żadnej instrukcji aktualizacji w
odniesieniu do tego kursora.
W menedżerze baz danych widok jest tylko do odczytu, jeśli
instrukcja SELECT zawiera: Użytkownicy systemów stowarzyszonych: Należy
v parametr DISTINCT, zlokalizować problem do źródła danych, które nie może
zrealizować żądania (procedury, z których należy korzystać
v funkcję kolumnową na liście SELECT, przy identyfikowaniu niesprawnego źródła danych, można
v klauzulę GROUP BY lub HAVING, znaleźć w podręczniku Troubleshooting Guide). Jeśli źródło
v klauzulę FROM, która określa jeden z następujących danych nie odpowiada na żądanie, sprawdź ograniczenia dla
obiektów: tego źródła danych, aby określić przyczynę występowania
problemu i sposób jego rozwiązania. Jeśli dla źródła danych
– więcej niż jedną tabelę lub widok,

96 Komunikaty, tom 2
SQL0511N • SQL0516N

istnieją ograniczenia, zapoznaj się z podręcznikiem SQL kod_sql: -511


Reference dla tego źródła danych, aby sprawdzić, dlaczego
obiektu nie można zaktualizować. stan_sql: 42829

kod_sql: -510
SQL0513W Instrukcja SQL zmodyfikuje całą tabelę lub
widok.
stan_sql: 42828
Objaśnienie:
Instrukcja UPDATE lub DELETE nie zawiera klauzuli
SQL0511N Klauzula FOR UPDATE nie jest
WHERE, dlatego więc w trakcie wykonywania instrukcji
dopuszczalna, ponieważ nie można
wszystkie wiersze tabeli lub widoku są modyfikowane.
modyfikować tabeli określonej przez kursor.
Objaśnienie: Instrukcja została zaakceptowana.
Tabela wynikowa instrukcji SELECT lub VALUES nie może
zostać zaktualizowana. Użytkownicy systemów stowarzyszonych: Nie wszystkie
źródła danych zgłaszają ten warunek ostrzeżenia. Serwer
W menedżerze baz danych tabela wyników jest tylko do stowarzyszony próbuje zgłosić to ostrzeżenie za każdym
odczytu, jeśli kursor jest oparty na instrukcji VALUES lub razem, gdy zajdzie odpowiedni warunek, ale nie ma gwarancji,
instrukcja SELECT zawiera jedną z następujących pozycji: że serwer stowarzyszony będzie zawsze w stanie go wykryć.
v parametr DISTINCT, Dlatego ostrzeżenia nie mogą być jedynym narzędziem
używanym, aby zapobiec niepożądanemu modyfikowaniu
v funkcję kolumnową na liście SELECT,
przez operacje UPDATE/DELETE całej tabeli albo widoku.
v klauzulę GROUP BY lub HAVING,
Działanie użytkownika:
v klauzulę FROM, która określa jeden z następujących
Sprawdź, czy na pewno chcesz modyfikować całą tabelę lub
obiektów:
widok.
– więcej niż jedną tabelę lub widok,
– widok tylko do odczytu,
SQL0514N Kursor nazwa nie jest w stanie
– klauzulę OUTER z tabelą o typie strukturalnym lub przygotowania.
widokiem określonego typu
Objaśnienie:
v operator mnogościowy (inny niż UNION ALL).
Program użytkowy próbował użyć kursora nazwa, który nie
v klauzulę FROM, która określa jeden z następujących był w stanie przygotowanym. Kursor jest związany z
obiektów: instrukcją, która albo (1) nie została przygotowana, albo
– więcej niż jedną tabelę lub widok, (2) jest niepoprawna z powodu użycia ROLLBACK, lub
– widok tylko do odczytu, (3) jest niepoprawna z powodu jawnego lub niejawnego
ponownego wiązania pakietu.
– klauzulę OUTER z tabelą o typie strukturalnym lub
widokiem określonego typu
Nie można wykonać instrukcji.
– instrukcję zmiany danych
Działanie użytkownika:
Należy zauważyć, że warunki nie odnoszą się do podzapytań W przypadku (1) przed próbą otwarcia kursora przygotuj
instrukcji SELECT. instrukcję nazwaną w instrukcji DECLARE CURSOR dla
nazwa. W przypadku (2) nie wywołuj instrukcji ROLLBACK
dopóki kursor jest używany. W przypadku (3) przygotowanie
Nie można wykonać instrukcji.
kursora należy wykonać ponownie.
Działanie użytkownika:
Nie wykonuj aktualizacji tabeli wynikowej. kod_sql: -514

Użytkownicy systemów stowarzyszonych: Należy stan_sql: 26501


zlokalizować problem do źródła danych, które nie może
zrealizować żądania (procedury, z których należy korzystać
przy identyfikowaniu niesprawnego źródła danych, można SQL0516N Instrukcja DESCRIBE nie określa
znaleźć w podręczniku Troubleshooting Guide). Jeśli źródło przygotowanej instrukcji.
danych nie odpowiada na żądanie, sprawdź ograniczenia dla Objaśnienie:
tego źródła danych, aby określić przyczynę występowania Nazwa instrukcji w instrukcji DESCRIBE musi określać
problemu i sposób jego rozwiązania. Jeśli dla źródła danych instrukcję przygotowaną w tej samej transakcji baz danych.
istnieją ograniczenia, zapoznaj się z podręcznikiem SQL
Reference dla tego źródła danych, aby sprawdzić, dlaczego Nie można wykonać instrukcji.
obiektu nie można zaktualizować.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 97


SQL0517N • SQL0525N

Sprawdź, czy podana została nazwa instrukcji, która została


SQL0519N Instrukcja PREPARE identyfikuje
przygotowana.
instrukcję SELECT lub VALUES z
otwartym kursorem nazwa.
kod_sql: -516
Objaśnienie:
stan_sql: 26501 Program użytkowy próbował przygotować instrukcję SELECT
lub VALUES dla otwartego kursora.

SQL0517N Kursor nazwa wykrył, że przygotowana Nie można przygotować instrukcji. Kursor nie został
instrukcja jest inna niż SELECT lub zmieniony.
VALUES.
Działanie użytkownika:
Objaśnienie: Popraw program użytkowy, tak aby nie próbował
Kursora nazwa nie można używać w podany sposób, ponieważ przygotowywać instrukcji SELECT lub VALUES dla
przygotowana instrukcja nazwana w deklaracji kursora nie jest otwartego kursora.
instrukcją SELECT lub VALUES.
kod_sql: -519
Nie można wykonać instrukcji.
Działanie użytkownika: stan_sql: 24506
Sprawdź, czy nazwa instrukcji została podana poprawnie w
instrukcjach PREPARE oraz DECLARE CURSOR dla kursora
SQL0525N Nie można wykonać instrukcji SQL z
nazwa. Możesz również poprawić program, aby tylko
powodu błędu w czasie wiązania, sekcja =
instrukcje SELECT lub VALUES były używane z
numer-sekcji, pakiet = schemat-
deklaracjami kursora.
pakietu.nazwa-pakietu, znacznik spójności =
Xznacznik-spójności.
kod_sql: -517
Objaśnienie:
stan_sql: 07005 Poniżej przedstawiono możliwe przyczyny:
v Gdy pakiet był powiązany, w instrukcji wystąpił błąd, został
on jednak zignorowany, ponieważ użyto opcji SQLERROR
SQL0518N Instrukcja podana w instrukcji EXECUTE
(CONTINUE). Jeśli instrukcja zawiera błąd, nie może
nie jest w stanie przygotowania lub jest
zostać wykonana.
instrukcją SELECT lub VALUES.
v Instrukcja może nie być instrukcją wykonywalną w tym
Objaśnienie: położeniu lub może być wykonywana wyłącznie przez
Program użytkowy próbuje wykonać EXECUTE dla requester aplikacji DB2.
instrukcji, która (1) nie została przygotowana, (2) jest
niepoprawna z powodu użycia ROLLBACK, (3) jest Uwaga: znacznik-spójności jest podany w zapisie
instrukcją SELECT lub VALUES, (4) jest niepoprawna z szesnastkowym.
powodu jawnego lub niejawnego ponownego wiązania
pakietu.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji. Działanie użytkownika:
Jeśli instrukcja SQL nie zostanie wykonana we wskazanym
Działanie użytkownika: położeniu, popraw program, aby instrukcja z błędem nie była
W przypadku (1) przygotuj instrukcję przed próbą wykonania wykonywana w tym położeniu. Wykonaj prekompilację,
EXECUTE. W przypadku (2) nie wywołuj instrukcji kompilację oraz wiązanie, które wymieni pakiet. Jeśli
ROLLBACK dopóki nie zakończysz używać przygotowanej instrukcja SQL ma być wykonywana we wskazanym
instrukcji lub ponownie przygotuj instrukcję po wykonaniu położeniu, rozwiąż napotkany problem i ponownie wydaj
ROLLBACK. W przypadku (3) upewnij się, że instrukcja nie komendę PREP lub BIND z opcją ACTION(REPLACE). Jeśli
była instrukcją SELECT lub VALUES. W przypadku (4) powiązano wiele wersji pakietu, wydaj następującą instrukcję
przygotowanie kursora musi zostać wykonane ponownie. SELECT, aby dowiedzieć się, w której wersji występuje błąd:
SELECT PKGVERSION FROM SYSCAT.PACKAGES
kod_sql: -518 where PKGSCHEMA=’schemat-pakietu’ AND PKGNAME =
’nazwa-pakietu’ and HEX(UNIQUE_ID) =
stan_sql: 07003 ’znacznik-spójności’

kod_sql: -525

stan_sql: 51015

98 Komunikaty, tom 2
SQL0526N • SQL0531N

Podobnie, gdy aktualizowana jest wartość klucza obcego,


SQL0526N Żądana funkcja nie ma zastosowania do
wartość, którą jest on aktualizowany, musi być równa wartości
zadeklarowanych tabel tymczasowych.
klucza nadrzędnego w tabeli nadrzędnej powiązanych związku
Objaśnienie: w momencie zakończenia instrukcji.
Wykonywana instrukcja SQL odwołuje się do zadeklarowanej
tabeli tymczasowej. Zadeklarowana tabela tymczasowa nie Użytkownicy systemów stowarzyszonych: Ograniczenie może
może być użyta w danym kontekście. istnieć w źródle danych (jeśli w źródle danych istnieją tabele
nadrzędna i potomna).
Nie można wykonać instrukcji.
Niektóre źródła danych nie dostarczają poprawnych wartości
Działanie użytkownika:
parametru nazwa-ograniczenia. W takim przypadku element
Zmodyfikuj instrukcję SQL, aby zapewnić, że odwołania do
komunikatu ma format : “<źródło danych>:UNKNOWN”, co
obiektu nie są do zadeklarowanych tabel tymczasowych.
oznacza, że właściwa wartość dla określonego źródła danych
nie jest znana.
kod_sql: -526
Nie można wykonać instrukcji. Zawartość tabeli obiektów nie
stan_sql: 42995
ulega zmianie.
Działanie użytkownika:
SQL0528N Tabela lub pseudonim
Najpierw prześledź wstawianą lub aktualizowaną wartość
nazwa-tabeli-lub-pseudonimu ma już
klucza obcego, a następnie porównaj ją z każdą wartością
ograniczenie przez unikalność, które jest
klucza nadrzędnego tabeli nadrzędnej, aby określić i usunąć
duplikatem ograniczenia nazwa.
problem.
Objaśnienie:
Klauzula UNIQUE używa tej samej listy kolumn, co klauzula kod_sql: -530
PRIMARY KEY, inna klauzula UNIQUE albo ograniczenie
PRIMARY KEY lub UNIQUE, które już istnieje dla tabeli stan_sql: 23503
nazwa-tabeli. Nie można powielać ograniczenia przez
unikalność.
SQL0531N Nie można aktualizować klucza
nadrzędnego w wierszu nadrzędnym
nazwa jest nazwą ograniczenia, jeśli ograniczenie zostało
związku nazwa-ograniczenia.
podane lub istnieje. Jeśli nie została podana nazwa
ograniczenia, nazwa jest pierwszą nazwą kolumny podaną na Objaśnienie:
liście kolumn klauzuli UNIQUE z trzema kropkami. Próbowano aktualizować klucz nadrzędny w wierszu tabeli
nadrzędnej, ale klucz nadrzędny w podanym wierszu ma
Nie można wykonać instrukcji. wiersze zależne w tabeli zależnej związanej z ograniczeniem
nazwa-ograniczenia.
Działanie użytkownika:
Usuń powieloną klauzulę UNIQUE lub zmień listę kolumn,
Gdy po zakończeniu instrukcji regułą aktualizacji ograniczenia
tak aby wybrać kolumny, które nie są częścią ograniczenia
nazwa-ograniczenia jest NO ACTION, nie można
przez unikalność.
aktualizować wartości klucza nadrzędnego w wierszu
nadrzędnym, jeśli wiersz ten ma jakieś wiersze zależne na
kod_sql: -528
końcu instrukcji.

stan_sql: 42891
Jeśli regułą modyfikacji dla ograniczenia nazwa-ograniczenia
jest RESTRICT, wartość klucza nadrzędnego w nadrzędnym
SQL0530N Wartość wstawiania lub aktualizacji wierszu nie może zostać zaktualizowana, jeśli nadrzędny
ograniczenia FOREIGN KEY wiersz ma jakiekolwiek wiersze zależne w chwili
nazwa-ograniczenia nie jest równa żadnej aktualizowania klucza nadrzędnego.
wartości klucza nadrzędnego tabeli
nadrzędnej. Użytkownicy systemów stowarzyszonych: Ograniczenie może
istnieć w źródle danych (jeśli w źródle danych istnieją tabele
Objaśnienie:
nadrzędna i potomna).
Wartość klucza obcego tabeli obiektów jest ustawiana, ale nie
jest równa żadnej wartości klucza nadrzędnego tabeli
Niektóre źródła danych nie dostarczają poprawnych wartości
nadrzędnej.
parametru nazwa-ograniczenia. W takim przypadku element
komunikatu ma format : “<źródło danych>:UNKNOWN”, co
Podczas wstawiania wiersza do tabeli zależnej, wstawiana
oznacza, że właściwa wartość dla określonego źródła danych
wartość klucza obcego musi być równa wartości klucza
nie jest znana.
nadrzędnego dowolnego wiersza tabeli nadrzędnej
odpowiedniego związku.

Rozdział 2. Komunikaty SQL 99


SQL0532N • SQL0535N

Nie można wykonać instrukcji. Zawartość tabeli zależnej


SQL0533N Instrukcja INSERT jest niepoprawna,
pozostanie niezmieniona.
ponieważ związek ogranicza wynik pełnej
Działanie użytkownika: selekcji do jednego wiersza.
Sprawdź klucz nadrzędny tabeli obiektów i klucz obcy tabeli
Objaśnienie:
zależnej, aby określić, czy wartość podanego wiersza klucza
Podczas operacji INSERT z pełną selekcją próbowano
nadrzędnego powinna zostać zmieniona. Jeśli problem nie
wstawić wiele wierszy do tabeli, która jest nadrzędna i zależna
zostanie w ten sposób zidentyfikowany, przejrzyj zawartość
w niektórych związkach ograniczenia referencyjnego.
tabeli obiektów oraz tabeli zależnej, aby określić i rozwiązać
problem.
Pełna selekcja operacji INSERT powinna zwrócić nie więcej
niż jeden wiersz danych.
kod_sql: -531
Nie można wykonać instrukcji INSERT. Zawartość tabeli
stan_sql: 23001, 23504
obiektów nie ulega zmianie.

SQL0532N Nie można usunąć wiersza nadrzędnego, Użytkownicy systemów stowarzyszonych: Ograniczenie może
ponieważ związek nazwa-ograniczenia istnieć w źródle danych (jeśli w źródle danych istnieją tabele
ogranicza usuwanie. nadrzędna i potomna).
Objaśnienie: Działanie użytkownika:
Podczas operacji próbowano usunąć podany wiersz tabeli Prześledź warunek wyszukiwania pełnej selekcji, aby
nadrzędnej, ale klucz nadrzędny w podanym wierszu ma zapewnić wybór nie więcej niż jednego wiersza danych.
zależne wiersze w ograniczeniu referencyjnym
nazwa-ograniczenia i dla związku została podana reguła kod_sql: -533
usuwania NO ACTION lub RESTRICT.
stan_sql: 21501
Gdy, po zakończeniu instrukcji, regułą usuwania ograniczenia
nazwa-ograniczenia jest NO ACTION, nie można usunąć
wiersza tabeli nadrzędnej, jeśli wiersze zależne są ciągle SQL0534N Niepoprawna aktualizacja wielu wierszy.
zależne od klucza nadrzędnego. Objaśnienie:
Podczas operacji UPDATE próbowano wykonać aktualizację
Gdy regułą usuwania ograniczenia nazwa-ograniczenia jest wielu wierszy kolumny włączonej do klucza głównego lub
RESTRICT, nie można usunąć wiersza tabeli nadrzędnej, jeśli indeksu unikalnego.
wiersz nadrzędny ma podczas usuwania wiersze zależne.
Aktualizacja wielu wierszy kolumn klucza głównego lub
Zauważ, że usuwanie może kaskadowo usunąć inne wiersze w indeksu unikalnego nie jest obsługiwana.
tabelach zależnych z regułą usuwania NO ACTION lub
RESTRICT. Stąd ograniczenie nazwa-ograniczenia może Nie można wykonać instrukcji UPDATE. Zawartość tabeli nie
dotyczyć innej tabeli niż początkowa operacja usuwania. ulega zmianie.

Użytkownicy systemów stowarzyszonych: Ograniczenie może Użytkownicy systemów stowarzyszonych: Ograniczenie może
istnieć w źródle danych (jeśli w źródle danych istnieją tabele istnieć na serwerze stowarzyszonym (jeśli tabele nadrzędna i
nadrzędna i potomna). potomna istnieją na serwerze stowarzyszonym jako tabele) lub
w źródle danych (jeśli tabele nadrzędna i potomna istnieją w
Niektóre źródła danych nie dostarczają poprawnych wartości źródle danych).
parametru nazwa-ograniczenia. W takich przypadkach
odpowiednie pola zawierają wartości (takie jak “nieznany”) Działanie użytkownika:
wskazujące, że dana wartość nie jest znana. Upewnij się, że warunek wyszukiwania instrukcji UPDATE
wybierze tylko jeden wiersz tabeli obiektów do aktualizacji.
Nie można wykonać instrukcji. Zawartość tabeli nie ulega
zmianie. kod_sql: -534

Działanie użytkownika: stan_sql: 21502


Prześledź regułę usuwania dla wszystkich tabel podrzędnych,
aby określić i poprawić problem. Konkretne powiązanie z
tabelami można określić przy pomocy związku SQL0535N Instrukcja DELETE jest niepoprawna,
nazwa-ograniczenia. ponieważ związek odwołujący się do siebie
ogranicza usuwanie do jednego wiersza.
kod_sql: -532 Objaśnienie:
Operacja DELETE z warunkiem WHERE próbowała usunąć
stan_sql: 23001, 23504 wiele wierszy z tabeli, która była nadrzędną i zależną w tym

100 Komunikaty, tom 2


SQL0536N • SQL0538N

samym związku ograniczenia referencyjnego z regułą stan_sql: 42914


usuwania RESTRICT lub SET NULL.
SQL0537N Kolumna nazwa-kolumny występuje więcej
Klauzula WHERE operacji DELETE powinna wybierać nie
niż jeden raz na liście kolumn klucza.
więcej niż jeden wiersz danych.
Objaśnienie:
Nie można wykonać instrukcji DELETE. Zawartość tabeli Kolumna nazwa-kolumny występuje więcej niż jeden raz na
obiektów nie ulega zmianie. liście kolumn klucza. Lista kolumn klucza może występować
w klauzulach PRIMARY KEY, FOREIGN KEY, UNIQUE,
Użytkownicy systemów stowarzyszonych: Ograniczenie może DISTRIBUTE BY, ORGANIZE BY, PARTITION BY lub
istnieć w źródle danych (jeśli w źródle danych istnieją tabele jako zależność funkcjonalna w instrukcji CREATE lub
nadrzędna i potomna). ALTER.

Działanie użytkownika: Użytkownicy systemów stowarzyszonych: Ograniczenie może


Prześledź warunek wyszukiwania klauzuli WHERE, aby istnieć w źródle danych (jeśli w źródle danych istnieją tabele
zapewnić wybór nie więcej niż jednego wiersza danych. nadrzędna i potomna).

UWAGA: Ograniczenie to dotyczy jedynie produktu DB2 w Niektóre źródła danych nie dostarczają poprawnych wartości
wersjach wcześniejszych niż 2. parametru nazwa-kolumny. W takich przypadkach
odpowiednie pola zawierają wartości (takie jak “nieznany”)
kod_sql: -535 wskazujące, że dana wartość nie jest znana.

stan_sql: 21504 Nie można wykonać instrukcji.


Działanie użytkownika:
SQL0536N Instrukcja DELETE jest niepoprawna, Należy usunąć powielone nazwy kolumn.
ponieważ jej wykonanie może wpłynąć na
tabelę nazwa. kod_sql: -537
Objaśnienie:
Próbowano wykonać operację DELETE z odwołaniem do stan_sql: 42709
wskazanej tabeli w podzapytaniu.
SQL0538N Klauzula FOREIGN KEY nazwa jest
Instrukcja DELETE z odwołaniem do wskazanej tabeli w niezgodna z opisem klucza nadrzędnego
podzapytaniu może na nią wpływać, ponieważ jest ona: tabeli lub pseudonimu
v zależna od tabeli obiektów DELETE w związku z regułą nazwa-tabeli-lub-pseudonimu.
usuwania CASCADE lub SET NULL,
Objaśnienie:
v zależna od innej tabeli w związku z regułą usuwania Definicja wskazanego klucza obcego nie zgadza się z opisem
CASCADE lub SET NULL i usunięcia z tabeli obiektów klucza nadrzędnego tabeli lub pseudonimu
DELETE mogą wpływać kaskadowo na tę tabelę. nazwa-tabeli-lub-pseudonimu.

Użytkownicy systemów stowarzyszonych: Ograniczenie może Oto możliwe błędy:


istnieć w źródle danych (jeśli w źródle danych istnieją tabele
nadrzędna i potomna). v liczba kolumn na liście kolumn klucza obcego nie jest
zgodna z liczbą kolumn na liście kolumn klucza
nadrzędnego,
Niektóre źródła danych nie dostarczają poprawnych wartości
parametru nazwa. W takich przypadkach odpowiednie pola v liczba kolumn na liście kolumn klucza obcego nie jest
zawierają wartości (takie jak “nieznany”) wskazujące, że dana zgodna z liczbą kolumn klucza głównego tabeli nadrzędnej
wartość nie jest znana. lub pseudonimu nadrzędnego (nie została podana lista
kolumn klucza nadrzędnego),
Nie można wykonać instrukcji. v opisy odpowiadających sobie kolumn nie są zgodne; opisy
kolumn są zgodne, jeśli odpowiadające sobie kolumny mają
Działanie użytkownika:
zgodne typy danych (obydwie kolumny zawierają dane
Nie odwołuj się do tabeli w podzapytaniu instrukcji DELETE,
liczbowe, są łańcuchami znakowymi, grafiką, zawierają
gdy instrukcja DELETE może wpływać na tę tabelę.
datę/godzinę lub mają ten sam typ odrębny).
UWAGA: Błąd ten dotyczy tylko wersji produktu DB2
Nazwa jest nazwą ograniczenia, jeśli zostało ono podane w
wcześniejszych niż wersja 2 oraz hostów, do których dostęp
klauzuli FOREIGN KEY. Jeśli nazwa ograniczenia nie została
odbywa się przez program DB2 Connect.
podana, nazwa jest nazwą pierwszej kolumny podaną w
klauzuli i poprzedzoną trzema kropkami.
kod_sql: -536

Rozdział 2. Komunikaty SQL 101


SQL0539N • SQL0541W

Użytkownicy systemów stowarzyszonych: Niektóre źródła


SQL0540N Definicja tabeli nazwa-tabeli jest
danych nie dostarczają odpowiednich wartości parametru
niekompletna, ponieważ brakuje jej indeksu
nazwa i nazwa-tabeli-lub-pseudonimu. W takich przypadkach
podstawowego lub wymaganego indeksu
odpowiednie pola zawierają wartości (takie jak “nieznany”)
unikalnego.
wskazujące, że dana wartość nie jest znana.
Objaśnienie:
Ograniczenie może istnieć w źródle danych (jeśli w źródle Nazwa tabeli została zdefiniowana w klauzuli PRIMARY
danych istnieją tabele nadrzędna i potomna). KEY lub klauzuli UNIQUE. Jej definicja jest niepełna,
ponieważ nie może zostać użyta, dopóki nie zostanie
Nie można wykonać instrukcji. zdefiniowany indeks unikalny dla klucza głównego (indeks
główny) i dla każdego zestawu kolumn w klauzuli UNIQUE
Działanie użytkownika: (wymagane indeksy unikalne). Próbowano użyć tabeli w
Popraw instrukcję, tak aby opis klucza obcego był zgodny z klauzuli FOREIGN KEY lub w instrukcji SQL, którą można
opisem klucza nadrzędnego. zmienić.

kod_sql: -538 Nie można wykonać instrukcji.

stan_sql: 42830 Działanie użytkownika:


Zdefiniuj indeks główny lub wymagany indeks unikalny w
tabeli przed wykonaniem odwołania.
SQL0539N Tabela lub pseudonim nazwa nie ma klucza
typu typ-klucza. kod_sql: -540
Objaśnienie:
Wystąpiła jedna z następujących sytuacji: stan_sql: 57001
v Tabela lub pseudonim nazwa zostały określone w klauzuli
FOREIGN KEY jako nadrzędne, ale nie zostały SQL0541W Ograniczenie referencyjne, klucz główny
zdefiniowane jako nadrzędne, ponieważ nie mają klucza lub ograniczenie przez unikalność nazwa
głównego. jest ignorowane, ponieważ jest
v Instrukcja ALTER TABLE próbowała utworzyć klauzulę ograniczeniem powielonym.
FOREIGN KEY dla tabeli nazwa, ale ta tabela lub Objaśnienie:
pseudonim nie ma klucza głównego. Jeśli nazwa odwołuje się do ograniczenia referencyjnego,
v instrukcja ALTER TABLE próbowała usunąć klucz główny klauzula FOREIGN KEY używa tego samego klucza obcego i
dla tabeli nazwa, ale tabela ta nie ma klucza głównego, tabeli nadrzędnej albo tego samego klucza obcego i
v instrukcja ALTER TABLE próbowała usunąć klucz pseudonimu nadrzędnego, co inna klauzula FOREIGN KEY.
partycjonowania tabeli nazwa, ale tabela nie ma klucza
partycjonowania. Jeśli nazwa odwołuje się do klucza głównego lub ograniczenia
przez unikalność, oznacza to, że zaistniała jedna z
Użytkownicy systemów stowarzyszonych: Ograniczenie może następujących sytuacji:
istnieć w źródle danych (jeśli w źródle danych istnieją tabele v klauzula PRIMARY KEY używa tego samego zestawu
nadrzędna i potomna). kolumn, co klauzula UNIQUE,
v klauzula UNIQUE używa tego samego zestawu kolumn, co
Niektóre źródła danych nie dostarczają poprawnych wartości klauzula PRIMARY KEY lub inna klauzula UNIQUE,
parametru nazwa i typ-klucza. W takich przypadkach
v ograniczenie PRIMARY KEY lub UNIQUE dla tego
odpowiednie pola zawierają wartości (takie jak “nieznany”)
samego zestawu kolumn dla tabeli nazwa-tabeli już istnieje.
wskazujące, że dana wartość nie jest znana.
Jeśli podano ograniczenie, nazwa jest jego nazwą. Jeśli nazwa
Nie można wykonać instrukcji. Katalog systemowy nie może
ograniczenia nie została podana, nazwa jest nazwą pierwszej
zostać zdefiniowany jako główny w ograniczeniu
kolumny podaną w klauzuli FOREIGN KEY albo UNIQUE i
referencyjnym.
poprzedzoną trzema kropkami.
Działanie użytkownika:
Tworząc ograniczenie referencyjne, przed określeniem Użytkownicy systemów stowarzyszonych: Ograniczenie może
(ograniczeń) dla kluczy obcych, podaj klucz główny. istnieć w źródle danych (jeśli w źródle danych istnieją tabele
nadrzędna i potomna).
kod_sql: -539
Niektóre źródła danych nie dostarczają poprawnych wartości
stan_sql: 42888 parametru nazwa. W takich przypadkach odpowiednie pola
zawierają wartości (takie jak “nieznany”) wskazujące, że dana
wartość nie jest znana.

102 Komunikaty, tom 2


SQL0542N • SQL0546N

Wskazane ograniczenie referencyjne lub ograniczenie przez kod_sql: -543


unikalność nie zostało utworzone. Instrukcja została wykonana
pomyślnie. stan_sql: 23511
Działanie użytkownika:
Nie jest wymagane żadne działanie. Przetwarzanie może być SQL0544N Nie można dodać ograniczenia sprawdzenia
kontynuowane. nazwa-ograniczenia, ponieważ tabela
zawiera wiersz, który narusza ograniczenie.
kod_sql: +541
Objaśnienie:
Co najmniej jeden istniejący w tabeli wiersz narusza
stan_sql: 01543
ograniczenie sprawdzenia, które zostało dodane w instrukcji
ALTER TABLE.
SQL0542N nazwa nie może być kolumną klucza
głównego lub unikalnego, ponieważ może Nie można wykonać instrukcji.
zawierać wartości puste.
Działanie użytkownika:
Objaśnienie: Przejrzyj definicję ograniczenia sprawdzenia podaną w
Definicja kolumny nazwa określonej w klauzuli PRIMARY instrukcji ALTER TABLE i dane w tabeli, aby określić,
KEY lub w klauzuli UNIQUE zezwala na wartości puste lub dlaczego nastąpiło naruszenie ograniczenia. Zmień
próbowano zmienić definicję kolumny, która jest częścią ograniczenie sprawdzenia lub dane, tak aby ograniczenie nie
ograniczenia PRIMARY KEY lub UNIQUE, aby zezwalała na było naruszane.
wartości puste.
kod_sql: -544
Użytkownicy systemów stowarzyszonych: Niektóre źródła
danych nie dostarczają poprawnych wartości parametru nazwa. stan_sql: 23512
W takich przypadkach odpowiednie pola zawierają wartości
(takie jak “nieznany”) wskazujące, że dana wartość nie jest
znana. SQL0545N Żądana operacja nie jest dopuszczalna,
ponieważ wiersz nie spełnia ograniczenia
sprawdzenia nazwa-ograniczenia.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
W przypadku operacji INSERT lub UPDATE może wystąpić
Popraw definicję kolumny, klucza głównego lub klucza
naruszenie ograniczenia sprawdzenia. Wiersz wynikowy
unikalnego. Jeśli ten błąd został zwrócony w wyniku instrukcji
naruszył definicję ograniczenia sprawdzenia w tabeli.
ALTER TABLE, musisz usunąć ograniczenie PRIMARY
KEY lub UNIQUE, aby można było zmienić kolumnę i
zezwolić na wartości puste. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -542 Przejrzyj dane i sprawdź definicję ograniczenia w widoku
katalogu SYSCAT.CHECKS, aby sprawdzić niezrealizowane
stan_sql: 42831 instrukcje INSERT lub UPDATE. Zmień dane, tak aby
ograniczenie nie było naruszone.
SQL0543N Nie można usunąć wiersza z tabeli
kod_sql: -545
nadrzędnej, ponieważ ograniczenie
sprawdzenia nazwa-ograniczenia ogranicza
usuwanie. stan_sql: 23513

Objaśnienie:
Nie można usunąć wiersza z tabeli nadrzędnej, ponieważ SQL0546N Ograniczenie sprawdzające
tabela docelowa jest tabelą nadrzędną połączoną nazwa-ograniczenia jest niepoprawne.
ograniczeniem referencyjnym z tabelą zależną z regułą Objaśnienie:
usuwania SET NULL. Ograniczenie sprawdzenia Ograniczenie sprawdzające w instrukcji CREATE TABLE,
zdefiniowane w tabeli zależnej ogranicza tabelę w taki sposób, CREATE NICKNAME, ALTER TABLE lub ALTER
że nie może ona zawierać żadnych wartości pustych. NICKNAME jest niepoprawne z następujących przyczyn:
v definicja ograniczenia zawiera podzapytanie,
Nie można wykonać instrukcji.
v definicja ograniczenia zawiera funkcję kolumnową,
Działanie użytkownika: v definicja ograniczenia zawiera zmienną języka
Przeanalizuj klucz obcy i związaną z nim regułę usuwania z macierzystego,
tabeli zależnej i wykluczające ją ograniczenie sprawdzenia.
Zmień albo regułę usuwania, albo ograniczenie sprawdzenia, v definicja ograniczenia zawiera znacznik parametru,
tak aby nie wykluczały się nawzajem. v definicja ograniczenia zawiera rejestr specjalny,

Rozdział 2. Komunikaty SQL 103


SQL0548N • SQL0549N

v definicja ograniczenia zawiera zmienną globalną, v definicja ograniczenia zawiera zmienną języka
v definicja ograniczenia zawiera funkcję wariantową macierzystego,
zdefiniowaną przez użytkownika, v definicja ograniczenia zawiera znacznik parametru,
v definicja ograniczenia zawiera funkcję o działaniu v definicja ograniczenia zawiera rejestr specjalny,
zewnętrznym, zdefiniowaną przez użytkownika, v definicja ograniczenia zawiera zmienną globalną,
v definicja ograniczenia zawiera funkcję z opcją pamięci v definicja ograniczenia zawiera funkcję, która nie jest
notatnikowej, zdefiniowaną przez użytkownika, deterministyczna,
v ograniczenie sprawdzenia jest częścią definicji kolumny, a v definicja ograniczenia zawiera funkcję o działaniu
warunek sprawdzenia zawiera odwołanie do nazwy zewnętrznym, zdefiniowaną przez użytkownika,
kolumny innej niż definiowana,
v definicja ograniczenia zawiera funkcję z opcją pamięci
v definicja ograniczenia zawiera operację wyłuskiwania lub notatnikowej, zdefiniowaną przez użytkownika,
funkcję DEREF, gdzie argument odwołania o ograniczonym
v definicja zawiera funkcję zdefiniowaną przez użytkownika
zasięgu różni się od kolumny identyfikatora obiektu (OID),
z opcją CONTAINS SQL lub READS SQL DATA,
v definicja ograniczenia używa predykatu TYPE,
v definicja zawiera odwołanie do generowanej kolumny, która
v definicja ograniczenia zawiera specyfikację CAST z oparta jest na wyrażeniu,
klauzulą SCOPE,
v ograniczenie sprawdzenia jest częścią definicji kolumny, a
v w definicji zależności funkcjonalnej występuje atrybut warunek sprawdzenia zawiera odwołanie do nazwy
ENFORCED, kolumny innej niż definiowana,
v w pochodnym zestawie kolumn zależności funkcjonalnej v definicja generowanej kolumny zawiera odwołanie do
zawarto kolumnę dopuszczającą wartości puste. samej siebie,
v definicja ograniczenia zawiera funkcję wyszukiwania v definicja ograniczenia zawiera operację wyłuskiwania lub
tekstu, funkcję DEREF, gdzie argument odwołania o ograniczonym
v definicja ograniczenia zawiera kolumnę XML, zasięgu różni się od kolumny identyfikatora obiektu (OID),
v definicja ograniczenia zawiera wyrażenie XMLQUERY lub v definicja ograniczenia używa predykatu TYPE,
XMLEXISTS. v definicja ograniczenia zawiera specyfikację CAST z
klauzulą SCOPE,
Nie można wykonać instrukcji.
v definicja ograniczenia lub kolumny generowanej zawiera
Działanie użytkownika: funkcję wyszukiwania tekstu,
Działanie użytkownika w zależności od przyczyny błędu: v definicja ograniczenia zawiera kolumnę XML,
v zmień ograniczenia sprawdzenia, tak aby nie zawierało v definicja ograniczenia zawiera wyrażenie XMLQUERY lub
wymienionych pozycji, XMLEXISTS.
v przesuń definicję ograniczenia sprawdzenia na zewnątrz
definicji kolumny, tak aby stała się definicją ograniczenia z Element z tekstu komunikatu o błędzie określa niepoprawną
poziomu tabeli. pozycję.
v zmodyfikuj zależność funkcjonalną tak, aby nie występował
w niej atrybut ENFORCED. Nie można wykonać instrukcji.
v w zestawie kolumn pochodnych zależności funkcjonalnej Działanie użytkownika:
zmień kolumnę dopuszczającą wartości puste na kolumnę Działanie użytkownika w zależności od przyczyny błędu:
niedopuszczającą takich wartości. v zmień ograniczenia sprawdzenia lub generowaną kolumnę,
tak aby nie zawierały wymienionej pozycji,
kod_sql: -546
v przesuń definicję ograniczenia sprawdzenia na zewnątrz
definicji kolumny, tak aby stała się definicją ograniczenia z
stan_sql: 42621
poziomu tabeli.

SQL0548N Ograniczenie sprawdzające lub kolumna kod_sql: -548


generowana zdefiniowana z elementem
element-warunku-sprawdzania jest stan_sql: 42621.
niepoprawna.
Objaśnienie: SQL0549N Instrukcja instrukcja nie jest dozwolona w
Ograniczenie sprawdzające w instrukcji CREATE TABLE, odniesieniu do obiektu typu typ-obiektu1 o
CREATE NICKNAME, ALTER TABLE lub ALTER nazwie nazwa-obiektu1, ponieważ opcja
NICKNAME jest niepoprawne z następujących powodów: wiązania DYNAMICRULES RUN nie
v definicja ograniczenia zawiera podzapytanie, obowiązuje w przypadku obiektów typu
typ-obiektu2.
v definicja ograniczenia zawiera funkcję kolumnową,

104 Komunikaty, tom 2


SQL0551N

Objaśnienie:
SQL0551N ID-autoryzowanego-użytkownika nie ma
Program próbował wykonać wskazaną instrukcję SQL,
uprawnień do wykonywania operacji
należącą do grupy kilku instrukcji SQL, które mogą być
operacja na obiekcie nazwa-obiektu.
przygotowywane dynamicznie tylko w pakiecie z możliwością
uruchamiania. Do takich instrukcji SQL należą: Objaśnienie:
v dynamiczna instrukcja GRANT, ID autoryzowanego użytkownika ID-autoryzowanego-
użytkownika próbował wykonać podaną operację operacja na
v dynamiczna instrukcja REVOKE,
obiekcie nazwa-obiektu bez odpowiednich uprawnień.
v dynamiczna instrukcja ALTER,
1. Podczas tworzenia lub zmieniania tabeli z ograniczeniami
v dynamiczna instrukcja CREATE, referencyjnymi ten komunikat może oznaczać, że
v dynamiczna instrukcja DROP, użytkownik nie ma autoryzacji REFERENCES do
v dynamiczna instrukcja COMMENT ON, tworzenia lub usuwania klucza FOREIGN KEY. W takim
przypadku operacja to ″REFERENCES″, a nazwa-obiektu
v dynamiczna instrukcja RENAME, jest obiektem z odwołaniami do ograniczenia.
v dynamiczna instrukcja SET INTEGRITY, 2. Podczas próby uruchomienia programu narzędziowego
v dynamiczna instrukcja SET EVENT MONITOR STATE. DB2 lub aplikacji CLI może być konieczne ponowne
v dynamiczna instrukcja TRANSFER OWNERSHIP. powiązanie programów narzędziowych DB2 lub pakietów
CLI z bazą danych, ponieważ nie istnieje już identyfikator
instrukcja użytkownika, przy użyciu którego utworzona została baza
Błędna instrukcja SQL. danych lub użytkownik ten nie ma już wymaganych
typ-obiektu uprawnień. Prawdopodobnie konieczne jest nadanie
PACKAGE lub DBRM. Wartość DBRM jest uprawnień do wykonywania.
poprawna tylko w przypadku połączeń DRDA. 3. Jeśli ten błąd wystąpił podczas wywoływania lub
tworzenia procedury:
nazwa-obiektu
Jeśli typem-obiektu1 jest PACKAGE, v Jeśli ten błąd wystąpił podczas wywoływania, z ID
nazwa-obiektu1 jest nazwą pakietu w formacie autoryzowanego użytkownika ID-autoryzowanego-
’id-położenia.id-kolekcji.id-pakietu’. Jeśli użytkownika nie są związane uprawnienia EXECUTE
typem-obiektu1 jest DBRM, nazwa-obiektu1 jest do żadnej z procedur proponowanych w ścieżce SQL.
nazwą DBRM w formacie ’nazwa-planu Nazwa nazwa-obiektu jest nazwą procedury
nazwa-DBRM’. proponowanej w ścieżce SQL.
v Jeśli ten błąd wystąpił podczas tworzenia procedury,
typ-obiektu2
prawdopodobnie z ID autoryzowanego użytkownika
PACKAGE lub PLAN. PLAN jest wartością
ID-autoryzowanego-użytkownika użytym do powiązania
poprawną dla połączeń DRDA. Jeśli typem-obiektu1
procedury nie są związane uprawnienia wymagane do
jest PACKAGE, typem-obiektu2 może być albo
wykonania wszystkich instrukcji w tej procedurze.
PACKAGE, albo PLAN (taki, który jest powiązany
Operacja wiązania nie powiodła się, ponieważ
z DYNAMICRULES(BIND)). Jeśli typem-obiektu1
występujące w określonej procedurze instrukcje mogą
jest DBRM, typ-obiektu2 jest PLAN.
odwoływać się do jednego lub większej liczby
obiektów, do których identyfikator
Instrukcja SQL nie może zostać wykonana. ID-autoryzowanego-użytkownika nie ma odpowiednich
Działanie użytkownika: uprawnień. Na przykład jeśli w procedurze znajduje się
Aby poprawić błąd, wykonaj jedną z czynności: instrukcja aktualizująca tabelę A, a z identyfikatorem
ID-autoryzowanego-użytkownika nie są związane
v Jeśli instrukcja jest instrukcją wbudowanego SQL, usuń ją,
uprawnienia do aktualizowania tabeli A, wówczas
ponownie wykonaj prekompilację, kompilację programu, a
operacja wiązania nie powiedzie się. Należy zauważyć,
następnie wprowadź komendę BIND.
że uprawnienia grupowe nie są używane podczas
v Jeśli sytuacja tego wymaga, użyj instrukcji SQL wraz z wiązania statycznych instrukcji SQL.
pakietem lub planem, który jest powiązany z
DYNAMICRULES(RUN). Aby uzyskać więcej informacji o tworzeniu i używaniu
v Wprowadź komendę REBIND z opcją procedur, a także wykonywaniu powiązań, wyszukaj w
DYNAMICRULES(RUN) dla planu lub pakietu, z którym Centrum informacyjnym DB2 (http://
jest powiązana instrukcja SQL. publib.boulder.ibm.com/infocenter/db2luw/v9) frazy, takie
jak ″procedury″ i ″wiązanie″.
kod_sql: -549 4. Jeśli ten błąd wystąpi podczas wykonywania programu
narzędziowego LOAD/IMPORT z użyciem trybu
stan_sql: 42509 REPLACE dla tabel chronionych, ID autoryzowanego
użytkownika ID-autoryzowanego-użytkownika wymaga
jednego z następujących uprawnień lub uprawnień
grupowych.

Rozdział 2. Komunikaty SQL 105


SQL0551N

v SYSADM lub DBADM :TABLE/VIEW″. Wskazuje to, że rzeczywiste wartości


v CONTROL dla docelowej tabeli lub widoku identyfikatora autoryzowanego użytkownika, operacji i nazwy
w podanym źródle danych są nieznane.
5. Jeśli operacja to ″SET ROLE″, wtedy
ID-autoryzowanego-użytkownika nie jest członkiem roli
Nie można wykonać instrukcji.
nazwa-obiektu.
6. Jeśli operacja to ″REVOKE ROLE″, a identyfikatorowi Działanie użytkownika:
autoryzowanego użytkownika z uprawnieniem WITH 1. Nadaj uprawnienie REFERENCES przy użyciu instrukcji
ADMIN OPTION odbierana jest rola nazwa-obiektu, GRANT REFERENCES ON nazwa-obiektu TO
ID-autoryzowanego-użytkownika nie ma uprawnień ID-autoryzowanego-użytkownika.
SECADM. 2. Aby wykonać ponowne wiązanie programów
7. Jeśli następuje próba zaktualizowania lub usunięcia narzędziowych DB2 z bazą danych, administrator bazy
zaplanowanego zadania, użytkownik musi być autorem danych może w trakcie łączenia się z bazą danych wydać
tego zadania lub mieć uprawnienia DBADM albo jedną z następujących komend uruchamianych z wiersza
SYSADM. W tym przypadku wykonywana operacja to komend z podkatalogu bnd instancji:
″UPDATE″ lub ″REMOVE″ a nazwa to nazwa zadania. v ″DB2 bind @db2ubind.lst blocking all grant public″ dla
narzędzi DB2,
Użytkownicy systemów stowarzyszonych: Powyższy
v ″DB2 bind @db2cli.lst blocking all grant public″ dla
komunikat jest zwracany w następujących sytuacjach:
CLI.
v Opcję odwzorowania użytkownika REMOTE_PASSWORD
próbuje zmienić użytkownik, który nie ma wymaganych Aby nadać uprawnienie EXECUTE dla pakietu, należy
uprawnień. Aby zmienić opcję REMOTE_PASSWORD, użyć instrukcji GRANT, na przykład: GRANT EXECUTE
użytkownik musi mieć uprawnienia SYSADM lub DBADM ON PACKAGE NULLID.SYSH200 TO PUBLIC.
lub identyfikator autoryzowanego użytkownika (wartość w
rejestrze specjalnym USER) zgodny z wartością kolumny 3.
authid, której wiersze są zmieniane. Nadaj uprawnienie EXECUTE do procedury dla
v Odwzorowanie użytkownika próbuje zmienić użytkownik, identyfikatora ID-autoryzowanego-użytkownika, używając
który ma zaufane odwzorowanie użytkownika (opcja komendy GRANT EXECUTE ON nazwa-obiektu TO
USE_TRUSTED_CONTEXT ma wartość ’Y’). Użycie ID-autoryzowanego-użytkownika.
zaufanego odwzorowania użytkownika powoduje, że Nadaj jawne uprawnienia dla identyfikatora
użytkownik może modyfikować tylko opcję ID-autoryzowanego-użytkownika do obiektów, do których
REMOTE_PASSWORD. Aby zmienić pozostałe opcje uzyskiwany jest dostęp przy użyciu instrukcji
zaufanego odwzorowania użytkownika, użytkownik musi występujących wewnątrz procedury.
mieć uprawnienia DBADM lub SYSADM. 4. Nadaj uprawnienie SYSADM, DBADM lub CONTROL
v Użytkownik próbuje zmienić opcję odwzorowania do docelowej tabeli lub widoku dla identyfikatora
użytkownika FED_PROXY_USER lub ID-autoryzowanego-użytkownika.
USE_TRUSTED_CONTEXT. Aby zmienić te opcje, 5. Nadaj rolę nazwa-obiektu dla identyfikatora
użytkownik musi mieć uprawnienia SECADM. ID-autoryzowanego-użytkownika.
v Użytkownik próbuje utworzyć lub usunąć odwzorowanie 6. Odbierz rolę, korzystając z identyfikatora autoryzowanego
użytkownika z opcją FED_PROXY_USER lub użytkownika z uprawnieniami SECADM.
USE_TRUSTED_CONTEXT. Aby utworzyć lub usunąć
odwzorowanie użytkownika z tymi opcjami, użytkownik Użytkownicy systemów stowarzyszonych: Autoryzacja może
musi mieć uprawnienia SECADM. mieć miejsce na serwerze stowarzyszonym, w źródle danych
v Użytkownik próbuje zmienić opcję serwera lub w obu tych miejscach.
FED_PROXY_USER. Aby zmienić tę opcję, użytkownik
musi mieć uprawnienia SECADM. Więcej informacji o uprawnieniach w produkcie DB2 można
v Użytkownik próbuje utworzyć lub usunąć serwer, który ma znaleźć w Centrum informacyjnym DB2
opcję FED_PROXY_USER. Aby utworzyć lub usunąć (http://publib.boulder.ibm.com/infocenter/db2luw/v9),
serwer, które ma tę opcję, użytkownik musi mieć wyszukując frazy ″uprawnienia″ i ″nadawanie uprawnień″.
uprawnienia SECADM.
v Należy się upewnić, czy użytkownik jest tym samym kod_sql: -551
użytkownikiem, który zaplanował zadanie, lub czy ma
uprawnienia DBADM albo SYSADM. stan_sql: 42501

Niektóre źródła danych nie dostarczają poprawnych wartości


dla ID-autoryzowanego-użytkownika, operacja i
nazwa-obiektu. W takich przypadkach elementy komunikatu
mają następujący format: ″<źródło danych>
AUTHID:UNKNOWN″, ″UNKNOWN″ i ″<źródło danych>

106 Komunikaty, tom 2


SQL0552N • SQL0556N

SQL0552N ID-autoryzowanego-użytkownika nie ma SQL0554N ID autoryzowanego użytkownika nie może


uprawnienia do wykonania operacji nadać uprawnienia sobie samemu.
operacja.
Objaśnienie:
Objaśnienie: Korzystając z ID autoryzowanego użytkownika usiłowano
Użytkownik o identyfikatorze id-autoryzowanego-użytkownika wykonać instrukcję, która nadaje uprawnienia temu samemu
próbował wykonać podaną operację bez odpowiednich ID autoryzowanego użytkownika. Jeśli jest to instrukcja
uprawnień. GRANT, ID autoryzowanego użytkownika występuje jako
jedna z pozycji listy ID autoryzowanych użytkowników,
Użytkownicy systemów stowarzyszonych: Niektóre źródła którym są nadawane uprawnienia, etykiety bezpieczeństwa lub
danych nie dostarczają odpowiednich wartości dla wyłączenia z reguły. Jeśli jest to instrukcja CREATE
ID-autoryzowanego-użytkownika i <operacja>. W takich TRUSTED CONTEXT lub ALTER TRUSTED CONTEXT,
przypadkach znaczniki komunikatu będą miały następujący ID autoryzowanego użytkownika pojawia się jako wartość
format: “<źródło danych> AUTHID:UNKNOWN” i atrybutu SYSTEM AUTHID lub jedna z nazw autoryzacji
“UNKNOWN”. Wskazuje to, że rzeczywiste wartości określona w klauzuli WITH USE FOR.
identyfikatora autoryzowanego użytkownika i operacji w
podanym źródle danych są nieznane. Nie można wykonać instrukcji.
Działanie użytkownika:
Nie można wykonać instrukcji.
Usuń lub zmień ID autoryzowanego użytkownika w instrukcji.
Działanie użytkownika:
Sprawdź, czy ID-autoryzowanego-użytkownika ma kod_sql: -554
wystarczające uprawnienia do wykonania tej operacji.
stan_sql: 42502
Użytkownicy systemów stowarzyszonych: Autoryzacja może
mieć miejsce na serwerze stowarzyszonym, w źródle danych
SQL0555N ID autoryzowanego użytkownika nie może
lub w obu tych miejscach.
odebrać uprawnienia sobie samemu.
kod_sql: -552 Objaśnienie:
ID autoryzowanego użytkownika próbował wykonać
stan_sql: 42502 instrukcję REVOKE, w której jego ID autoryzowanego
użytkownika występował jako jedna z pozycji listy
identyfikatorów, którym są odbierane uprawnienia.
SQL0553N Nie można utworzyć obiektu z nazwą
schematu nazwa-schematu.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
Przyczyna, dla której nazwa schematu nazwa-schematu jest
Usuń z listy własny ID autoryzowanego użytkownika.
niepoprawna, zależy od typu tworzonego obiektu.
v Obiekty takie jak tabela, widok, indeks i pakiet nie mogą kod_sql: -555
być tworzone z nazwą schematu SYSCAT, SYSFUN,
SYSSTAT ani SYSIBM. Zdecydowanie zaleca się, aby stan_sql: 42502
nazwy schematów nie zaczynały się literami SYS, ponieważ
dodatkowe schematy zaczynające się tymi literami mogą
zostać w przyszłości zarezerwowane do wyłącznego użytku SQL0556N Próba odebrania uprawnienia, etykiety
przez produkt DB2. bezpieczeństwa, wyłączenia z reguły lub roli
v Wszystkie pozostałe typy obiektów (na przykład funkcje użytkownikowi ID-autoryzowanego-
zdefiniowane przez użytkownika, typy odrębne, użytkownika nie udała się, ponieważ
wyzwalacze, dane schematu, aliasy) nie mogą być tworzone ID-autoryzowanego-użytkownika nie ma tego
z żadną nazwą schematu rozpoczynającą się literami SYS. uprawnienia, etykiety bezpieczeństwa,
wyłączenia z reguły lub roli.
Nie można wykonać instrukcji. Objaśnienie:
Uprawnienie, etykieta bezpieczeństwa, wyłączenie z reguły
Działanie użytkownika:
lub rola nie może być odebrana, ponieważ użytkownik
Użyj poprawnej nazwy schematu lub usuń jawną nazwę
ID-autoryzowanego-użytkownika nie ma tego uprawnienia,
schematu i ponownie wykonaj instrukcję.
etykiety bezpieczeństwa, wyłączenia z reguły lub roli.
kod_sql: -553
Nie można wykonać instrukcji.
stan_sql: 42939 Działanie użytkownika:
Zmień instrukcję REVOKE, tak aby była zgodna z
obowiązującymi regułami i ponownie ją wywołaj. W

Rozdział 2. Komunikaty SQL 107


SQL0557N • SQL0569N

przypadku instrukcji REVOKE z listą uprawnień, etykiet stan_sql: 42504


bezpieczeństwa, wyłączeń z reguły lub ról do odebrania oraz
listą identyfikatorów autoryzowanych użytkowników sprawdź,
SQL0562N Określone uprawnienia do bazy danych nie
czy każdy z tych identyfikatorów ma co najmniej jedno z
mogą zostać nadane bezpośrednio lub
określonych uprawnień, etykiet bezpieczeństwa, wyłączeń z
pośrednio za pomocą roli grupie PUBLIC
reguły lub ról.
(publicznej).
kod_sql: -556 Objaśnienie:
Instrukcja GRANT próbowała nadać uprawnienie do bazy
stan_sql: 42504 danych zastrzeżonemu ID autoryzowanego użytkownika
PUBLIC bezpośrednio lub pośrednio za pomocą roli. Nie
można nadać uprawnienia DBADM użytkownikowi PUBLIC.
SQL0557N Nie można nadać lub odebrać podanej
kombinacji uprawnień.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
Wystąpiła jedna z następujących sytuacji:
Niejawna funkcja nie jest obsługiwana.
v Instrukcja GRANT lub REVOKE zawiera kombinację
uprawnień o różnych klasach. Wszystkie uprawnienia kod_sql: -562
muszą być tej samej klasy. Na przykład DATABASE,
PLAN lub TABLE. stan_sql: 42508
v Przy użyciu instrukcji GRANT próbowano nadać
uprawnienie dla widoku, co jest niedozwolone. Nie można
wprowadzić ALTER, INDEX i REFERENCES dla widoku. SQL0567N ID-autoryzowanego-użytkownika nie jest
poprawnym ID autoryzowanego
użytkownika.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika:
ID autoryzowanego użytkownika podany w
Popraw i ponownie wywołaj instrukcję.
ID-autoryzowanego-użytkownika jest niepoprawny z jednej z
następujących przyczyn:
kod_sql: -557
v zaczyna się od ″SYS″, ″sys″, ″IBM″, ″ibm″, ″SQL″ lub
stan_sql: 42852 ″sql″,
v zawiera znaki inne niż od a do z i od A do Z, od 0 do 9 i
trzy znaki specjalne (#,@,$),
SQL0558N Odmówiono odebrania identyfikatorowi
ID-autoryzowanego-użytkownika uprawnień, v jest ujęty w ograniczniki i zawiera małe litery,
ponieważ ID-autoryzowanego-użytkownika v jest nim nazwa GUESTS, ADMINS, USERS lub LOCAL,
nadal zachowałby uprawnienie v jest nim nazwa PUBLIC poprzedzona przez parametr
uprawnienie-do-kontroli. USER, ROLE lub GROUP w instrukcji GRANT lub
Objaśnienie: REVOKE.
ID-autoryzowanego-użytkownika ma uprawnienie-do-kontroli.
Uprawnienie, które miało zostać odebrane, zawiera się w Nie można wykonać instrukcji.
sposób niejawny w uprawnieniu-do-kontroli, nie może więc Działanie użytkownika:
zostać odebrane dopóki uprawnienie-do-kontroli również nie Popraw niepoprawne identyfikatory autoryzowanych
zostanie odebrane. użytkowników.

Parametr uprawnienie-do-kontroli przyjmuje następujące kod_sql: -567


wartości:
v DBADM stan_sql: 42602
v CONTROL
v CREATE NOT FENCED ROUTINE SQL0569N ID autoryzowanego użytkownika
nazwa-autoryzacji nie identyfikuje w sposób
Nie można wykonać instrukcji. Nie zostaną odebrane żadne jednoznaczny użytkownika, grupy lub roli w
uprawnienia. systemie.
Działanie użytkownika: Objaśnienie:
Jeśli jest to konieczne, odbierz uprawnienie do kontroli. Podany w instrukcji GRANT lub REVOKE ID
autoryzowanego użytkownika nie identyfikuje w sposób
kod_sql: -558 jednoznaczny użytkownika, roli lub grupy w przestrzeni nazw
zabezpieczeń. Odwołanie do nazwy nazwa-autoryzacji jest

108 Komunikaty, tom 2


SQL0570W • SQL0574N

niejednoznaczne. Należy zauważyć, że przy korzystaniu z Jeśli podano ograniczenie, nazwa jest jego nazwą. Jeśli nazwa
zabezpieczeń DCE zawsze wymagany jest parametr USER, ograniczenia nie została określona, nazwa jest nazwą pierwszej
GROUP lub ROLE. kolumny na liście kolumn klauzuli FOREIGN KEY z trzema
kropkami na końcu.
Działanie użytkownika:
Zmień instrukcję, tak aby w sposób jawny podawała parametr
Nie można wykonać instrukcji.
USER, GROUP lub ROLE jednoznacznie identyfikujący ID
autoryzowanego użytkownika. Działanie użytkownika:
Popraw listę kolumn w klauzuli referencyjnej lub dodaj do
kod_sql: -569 tabeli albo pseudonimu ograniczenie przez unikalność.

stan_sql: 56092 kod_sql: -573

stan_sql: 42890
SQL0570W Nie wszystkie zażądane uprawnienia do
obiektu nazwa-obiektu typu typ-obiektu
zostały nadane. SQL0574N Niepoprawna wartość DEFAULT lub
wartość atrybutu IDENTITY dla kolumny
Objaśnienie:
nazwa-kolumny w tabeli nazwa-tabeli. Kod
Próbowano wykonać operację GRANT na obiekcie
przyczyny: kod-przyczyny.
nazwa-obiektu typu typ-obiektu, lecz część lub wszystkie
uprawnienia nie zostały nadane. ID autoryzowanego Objaśnienie:
użytkownika, który wywołał instrukcję, nie ma wszystkich Wartość DEFAULT lub wartość atrybutu IDENTITY dla
uprawnień potrzebnych do nadawania uprawnień w opcji kolumny nazwa-kolumny w tabeli nazwa-tabeli nie jest
nadawania lub nie ma uprawnienia DBADM. poprawna. Możliwe kody przyczyny:
1 Wartości nie można przypisać do kolumny,
Wszystkie właściwe uprawnienia zostały przyznane.
ponieważ stała nie jest zgodna z formatem stałych
Działanie użytkownika: dla tego typu danych, wartość ma niepoprawną
Uzyskaj wymagane uprawnienia i powtórz działanie. długość lub dokładność, lub funkcja zwraca
niepoprawny typ danych.
kod_sql: +570
2 Podano stałą zmiennopozycyjną, a kolumna nie
może zawierać danych zmiennopozycyjnych.
stan_sql: 01007
3 Podano stałą dziesiętną i podczas przypisywania do
kolumny zostały obcięte cyfry różne od zera.
SQL0572N Pakiet nazwa-pakietu jest nieoperatywny.
4 Wartość ma więcej niż 254 bajty, włączając w to
Objaśnienie: cudzysłów dla łańcuchów, znaczniki, takie jak X dla
Pakiet nazwa-pakietu jest oznaczony jako nieoperatywny i stałej szesnastkowej, pełne nazwy funkcji i nawiasy
musi być jawnie ponownie powiązany (bez opcji RESOLVE okrągłe. Nieznaczące wartości puste są ignorowane.
CONSERVATIVE), aby mógł zostać użyty. Pakiet ten nie W środowisku nierównych stron kodowych (unequal
może być używany, ponieważ zostanie usunięta jedna lub kilka code page environment) wartość może być większa
funkcji zależnych zdefiniowanych przez użytkownika. niż 254 bajty w związku z rozszerzeniem łańcucha
Działanie użytkownika: na stronie kodowej bazy danych.
Ponownie jawnie powiąż wymieniony wyżej pakiet, używając 5 Został podany rejestr specjalny USER i długość
komendy REBIND (bez opcji RESOLVE CONSERVATIVE) danych typu łańcuch znakowy jest mniejsza niż 8.
albo BIND.
6 Został podany rejestr specjalny data-godzina
kod_sql: -572 (datetime) (CURRENT DATE, CURRENT TIME
lub CURRENT TIMESTAMP) i nie jest on zgodny z
stan_sql: 51028 typem danych w kolumnie.
7 Została podana nieobsługiwana funkcja. Podana
SQL0573N Lista kolumn podana w klauzuli funkcja musi być funkcją rzutowania wygenerowaną
referencyjnej ograniczenia nazwa nie przez system lub wbudowaną funkcją typu BLOB,
określa ograniczenia przez unikalność tabeli DATE, TIME lub TIMESTAMP.
nadrzędnej lub pseudonimu nazwa-tabeli. 8 Argument funkcji daty-godziny nie był stałą
Objaśnienie: łańcuchową ani odpowiednim rejestrem specjalnym
Lista nazw kolumn została podana w klauzuli odwołania dla daty-godziny.
ograniczenia identyfikowanego przez nazwę, która nie
odpowiada nazwom kolumn klucza podstawowego lub
dowolnego klucza unikalnego odnośnej tabeli nazwa-tabeli.

Rozdział 2. Komunikaty SQL 109


SQL0575N • SQL0579N

9 Została podana funkcja rzutowania wygenerowana


SQL0576N Nie można utworzyć aliasu nazwa dla nazwy
przez system z odrębnym typem zdefiniowanym
nazwa2, ponieważ spowodowałoby to
przez użytkownika.
powstanie cyklicznego łańcucha aliasów.
10 Dla opcji START WITH lub INCREMENT BY
Objaśnienie:
kolumny tożsamości określono wartość o niezerowej
Definicja aliasu nazwa dla nazwa2 mogłaby spowodować
skali.
powtarzający się łańcuch aliasów, który nie mógłby zostać
11 Rejestr specjalny został określony jako wartość przekształcony. Na przykład ″alias A ma odwołanie do aliasu
DEFAULT, a atrybut długości typu danych łańcucha B, który ma odwołanie do aliasu A″ jest powtarzającym się
znaków jest mniejszy niż 128. łańcuchem aliasów, którego nie można przerwać.
12 Podano dziesiętną stałą zmiennopozycyjną, a
Nie można wykonać instrukcji.
kolumna nie może zawierać dziesiętnych danych
zmiennopozycyjnych. Działanie użytkownika:
Zmień definicję aliasu dla nazwy lub popraw jedną z
<0 Każdy kod przyczyny mniejszy niż zero jest
pozostałych definicji aliasów w łańcuchu aliasów, aby uniknąć
umieszczany w zmiennej SQLCODE. Błąd związany
wystąpienia powtarzającego się łańcucha aliasów.
ze specyfikacją wartości DEFAULT może zostać
określony przez sprawdzenie komunikatu o błędzie
kod_sql: -576
odpowiadającemu wartości SQLCODE.

stan_sql: 42916
Nie można wykonać instrukcji.
Działanie użytkownika:
SQL0577N Procedura zdefiniowana przez użytkownika
Popraw wartość DEFAULT lub wartość atrybutu IDENTITY
nazwa-procedury (nazwa specyficzna
na podstawie zwróconego kodu przyczyny.
nazwa-specyficzna) próbowała
zmodyfikować dane, ale nie została
kod_sql: -574
zdefiniowana jako MODIFIES SQL DATA.
stan_sql: 42894 Objaśnienie:
Program występujący w treści procedury nie może
modyfikować danych SQL.
SQL0575N Nie można użyć widoku lub
zmaterializowanej tabeli zapytania nazwa, Działanie użytkownika:
ponieważ został oznaczony jako Usuń wszystkie instrukcje SQL modyfikujące dane, a
nieoperatywny. następnie dokonaj rekompilacji programu. Dowiedz się, jaki
poziom języka SQL został dozwolony przy definiowaniu
Objaśnienie: procedury.
Widok lub zmaterializowana tabela zapytania nazwa została
oznaczona jako nieoperatywna, ponieważ została usunięta
kod_sql: -577
tabela, widok, alias lub uprawnienie, od których był zależny.
Żadna inna instrukcja SQL poza następującymi nie może
stan_sql: 38002
używać widoku:
v COMMENT ON stan_sql: 42985
v DROP VIEW lub DROP TABLE
v CREATE ALIAS SQL0579N Procedura nazwa-procedury (nazwa
v CREATE VIEW lub CREATE TABLE. specyficzna nazwa-specyficzna) próbowała
odczytać dane, ale nie została zdefiniowana
Nie można wykonać instrukcji. jako READS SQL DATA ani MODIFIES
SQL DATA.
Działanie użytkownika:
Jeśli nazwa jest widokiem, utwórz ponownie widok, Objaśnienie:
wprowadzając instrukcję CREATE VIEW przy pomocy takiej Program użyty do zaimplementowania treści procedury nie ma
samej definicji widoku co widok nieoperatywny. Jeśli nazwa uprawnienia do odczytywania danych SQL.
jest zmaterializowaną tabelą zapytania, utwórz tę tabelę
Działanie użytkownika:
ponownie, wydając instrukcję CREATE TABLE z
Usuń wszystkie instrukcje SQL odczytujące dane, a następnie
zastosowaniem tej samej definicji zmaterializowanej tabeli
dokonaj rekompilacji programu. Dowiedz się, jaki poziom
zapytania, co w tabeli nieoperatywnej.
języka SQL został dozwolony przy definiowaniu procedury.
kod_sql: -575
kod_sql: -579
stan_sql: 51024
stan_sql: 38004

110 Komunikaty, tom 2


SQL0580N • SQL0583N

stan_sql: 42985 Warunkiem wyszukiwania wyrażenia CASE jest:


v predykat kwantyfikowany (używający wyrażenia SOME,
SQL0580N Wszystkie wyrażenia wynikowe CASE nie ANY lub ALL),
mogą być równe NULL. v predykat IN używający pełnej selekcji,
Objaśnienie: v predykat EXISTS,
W instrukcji występuje wyrażenie CASE, w którym wszystkie
wyrażenia wynikowe (wyrażenia po parametrach THEN i a wyrażenie CASE jest częścią:
ELSE) są równe NULL. v klauzuli VALUES,
v predykatu IN,
Nie można wykonać instrukcji.
v klauzuli GROUP BY,
Działanie użytkownika: v klauzuli ORDER BY.
Zmień wyrażenie CASE, tak aby zawierało co najmniej jeden
wynik inny niż parametr NULL. Takie wyrażenia CASE nie są obsługiwane. Wyrażenie CASE
może być częścią funkcji napisanej w języku SQL.
kod_sql: -580
Nie można wykonać instrukcji.
stan_sql: 42625
Działanie użytkownika:
Nie używaj w wyrażeniu CASE predykatu kwantyfikowanego,
SQL0581N Typy danych wyrażeń wynikowych CASE predykatu IN ani predykatu EXISTS. Jeśli wyrażenie CASE
lub funkcji DECODE nie są zgodne. jest częścią funkcji, może zaistnieć konieczność
Objaśnienie: sformułowania zapytania bez funkcji, która jest przyczyną
W instrukcji występuje wyrażenie CASE lub funkcja błędu.
DECODE, w którym wyrażenia wynikowe (wyrażenia po
parametrach THEN i ELSE lub wyrażenia CASE) nie są kod_sql: -582
zgodne.
stan_sql: 42625
Typ danych wyrażenia CASE lub wynik funkcji DECODE jest
określany przy użyciu zasad dotyczących typów danych SQL0583N Użycie procedury lub wyrażenia nazwa jest
wynikowych (Rules for Result Data Types) w wyrażeniach niepoprawne, ponieważ nie jest ono
wynikowych. Typ danych może być niezgodny z jednej z deterministyczne lub ma działanie
następujących przyczyn: zewnętrzne.
v nie wszystkie dane są typu znakowego,
Objaśnienie:
v nie wszystkie dane są typu numerycznego, Procedura (funkcja lub metoda) lub wyrażenie jest
v nie wszystkie dane są typu data, zdefiniowane jako niedeterministyczne lub jako mające
v nie wszystkie dane są typu godzina, działanie zewnętrzne. Nie jest to obsługiwane w kontekście, w
którym zostało użyte. Funkcja nie jest poprawna, gdy
v nie wszystkie dane są typu datownik,
występuje:
v nie wszystkie dane są tego samego typu odrębnego,
v jako pierwszy operand predykatu BETWEEN,
zdefiniowanego przez użytkownika.
v w wyrażeniu znajdującym się przed pierwszym parametrem
Nie można wykonać instrukcji. WHEN w prostym wyrażeniu wyboru,
v jako pierwszy argument funkcji DECODE,
Działanie użytkownika:
Popraw wyrażenia wynikowe, tak aby były zgodne. v w wyrażeniu klauzuli GROUP BY,
v w wyrażeniu klauzuli ORDER BY (tylko zewnętrzne
kod_sql: -581 działanie),
v w klauzuli FILTER specyfikacji predykatu zdefiniowanego
stan_sql: 42804 przez użytkownika lub w definicji rozszerzenia indeksu.
v w domyślnym wyrażeniu dla definicji zmiennej globalnej.
SQL0582N Wyrażenie CASE w klauzuli VALUES,
predykacie IN, klauzuli GROUP BY albo Nie można wykonać instrukcji.
ORDER BY nie może zawierać predykatu
Działanie użytkownika:
kwantyfikowanego, predykatu IN
Jeśli użycie procedury albo wyrażenia niedeterministycznego
używającego pełnej selekcji ani predykatu
lub z działaniem zewnętrznym nie było zamierzone, zastąp je
EXISTS.
procedurą bez takiej charakterystyki. Jeśli zachowanie
Objaśnienie: związane z procedurą lub wyrażeniem niedeterministycznym

Rozdział 2. Komunikaty SQL 111


SQL0584N • SQL0586N

albo z działaniem zewnętrznym było zamierzone, użyj innej SQL lub parametrowi SQL w procedurze SQL, zmiennej
formy instrukcji, w której zamiar ten będzie jawny. języka macierzystego ani znacznikowi parametru.
v Zamiast predykatu BETWEEN użyj odpowiedniej
instrukcji, korzystając z właściwej kombinacji predykatów kod_sql: -584
porównania (a>=b i a<=c zamiast a pomiędzy b i c).
v Zamiast prostej klauzuli WHEN użyj odpowiedniej klauzuli stan_sql: 42608
SEARCH-WHEN, w której procedura może być określona
w każdym warunku SEARCH. SQL0585N Nazwa schematu nazwa-schematu występuje
v Z klauzuli GROUP BY usuń wszystkie procedury lub więcej niż jeden raz w instrukcji ustawiania
wyrażenia niedeterministyczne albo z działaniem rejestru rejestr-specjalny.
zewnętrznym. Jeśli pożądane jest grupowanie według
Objaśnienie:
kolumny wynikowej opartej na procedurze lub wyrażeniu
Instrukcja SET dla rejestru specjalnego rejestr-specjalny
niedeterministycznym albo z działaniem zewnętrznym, użyj
zawiera więcej niż jedno odwołanie do schematu
zagnieżdżonego wyrażenia tabelowego lub wspólnego
nazwa-schematu.
wyrażenia tabelowego, aby udostępnić najpierw tabelę
wynikową z wyrażeniem jako kolumną wyników.
Nie można wykonać instrukcji.
v Z klauzuli ORDER BY usuń procedurę z działaniem
zewnętrznym. Jeśli kolumna jest częścią tabeli wynikowej Działanie użytkownika:
zapytania, zmień wyrażenie w klauzuli ORDER BY na Należy zweryfikować poprawność listy w instrukcji SET, która
klucz ″prosta wartość integer″ lub ″prosta nazwa kolumny″. zawiera powielone odwołanie. Jeśli błąd polega tylko na
nieprawidłowym wprowadzeniu nazwy schematu, wystarczy
v Z klauzuli FILTER usuń wszystkie procedury lub wyrażenia
skorygować nazwę i ponowić instrukcję. Jeśli odwołanie jest
niedeterministyczne albo z działaniem zewnętrznym.
faktycznie powielone, nie jest wymagana interwencja.
v Z klauzuli default definicji zmiennej globalnej usuń
wszystkie procedury lub wyrażenia niedeterministyczne kod_sql: -585
albo z działaniem zewnętrznym.
stan_sql: 42732
kod_sql: -583

stan_sql: 42845 SQL0586N Całkowita długość rejestru specjalnego


rejestr-specjalny nie może przekroczyć
długość.
SQL0584N Niepoprawne użycie NULL lub DEFAULT.
Objaśnienie:
Objaśnienie: Rejestr rejestr-specjalny, zgodnie ze swoją definicją, musi być
Opcja DEFAULT może być używana w klauzuli VALUES, krótszy niż wartość użyta w instrukcji SET. Łańcuch zawiera
tylko jeśli jest częścią instrukcji INSERT lub MERGE. wszystkie nazwy schematów w cudzysłowie, oddzielone od
siebie przecinkami. Całkowita długość łańcucha wszystkich
Klauzula VALUES, która nie jest częścią instrukcji INSERT, nazw schematów w rejestrze specjalnym nie może przekroczyć
musi mieć wartość różną od NULL co najmniej w jednym maksymalnej długości rejestru specjalnego. Komunikat ten
wierszu każdej kolumny. może wynikać z użycia instrukcji SET PATH lub SET
CURRENT PACKAGE PATH.
Jeśli jako nazwę kolumny w klauzuli WHERE lub HAVING
podano DEFAULT, musi zostać podana wielkimi literami w Nie można wykonać tej instrukcji lub komendy.
podwójnym cudzysłowie.
Działanie użytkownika:
Opcja DEFAULT nie może być wykorzystywana w instrukcji Należy usunąć niektóre nazwy schematów, aby skrócić
przypisania, która przypisuje wartość zmiennej SQL lub łańcuch do poziomu akceptowanego przez dany rejestr
parametrowi SQL w procedurze SQL, zmiennej języka specjalny. Jeśli problem wywołała instrukcja SET PATH i jeśli
macierzystego lub znacznikowi parametru. wszystkie nazwy schematów są potrzebne, może być
wymagane skonsolidowanie pewnych zdefiniowanych przez
użytkownika funkcji, procedur, metod i typów odrębnych, tak
Użytkownicy systemów stowarzyszonych: Opcji DEFAULT
aby w ustawieniu zmiennej SQL PATH można było podać
nie można używać w klauzuli VALUES instrukcji INSERT,
mniejszą liczbę schematów.
jeśli obiektem jest pseudonim.
Działanie użytkownika: kod_sql: -586
Wstaw w klauzuli VALUES wartość inną niż NULL lub
DEFAULT. Jeśli wartość DEFAULT jest używana jako nazwa stan_sql: 42907
kolumny, wpisz ją w podwójnym cudzysłowie wielkimi
literami. Opcji DEFAULT nie należy przypisywać zmiennej

112 Komunikaty, tom 2


SQL0590N • SQL0598W

odseparowania: odczyt powtarzalny (Repeatable Read, RR),


SQL0590N Nazwa nazwa podana w kontekście
stabilność odczytu (Read Stability, RS), stabilność kursora
znacznik-kontekstu nie jest unikalna.
(Cursor Stability, CS) i niezatwierdzony odczyt (Uncommitted
Objaśnienie: Read, UR).
Nazwa nazwa została podana jako parametr, zmienna SQL,
kursor, etykieta lub warunek w kontekście definiowanym kod_sql: +595
przez znacznik-kontekstu. Nazwa nie jest unikalna.
stan_sql: 01526
Jeśli znacznik-kontekstu to “BEGIN...END”, to znaczy, że
kontekstem błędu jest dynamiczna instrukcja złożona SQL. W
przeciwnym razie kontekstem błędu jest wyzwalacz lub SQL0597N Nie można pobrać wartości DATALINK.
procedura, a znacznik-kontekstu jest nazwą wyzwalacza lub Kod przyczyny = kod-przyczyny.
procedury zawierającej instrukcję złożoną. Objaśnienie:
v Jeśli nazwa jest nazwą parametru, to nazwa ta musi być Nie można pobrać wartości DATALINK. Możliwe kody
unikalna w obrębie listy parametrów oraz w klauzuli przyczyny:
EXPRESSION AS procedury.
01 Program DB2 Data Links Manager nie zezwala
v Jeśli nazwa jest nazwą zmiennej SQL, nazwą kursora lub użytkownikowi programu DB2 na pobieranie
warunkiem, to nazwa ta musi być unikalna w obrębie wartości DATALINK z wbudowanym znacznikiem
instrukcji złożonej. zapisu w celu modyfikowania pliku, do którego
v Etykieta musi być unikalna w obrębie instrukcji złożonej i odwołuje się wartość DATALINK.
musi się różnić od etykiet w instrukcjach, w których jest
Działanie użytkownika:
zagnieżdżona.
Działanie zależy od kodu przyczyny.
Działanie użytkownika:
01 Skontaktuj się z administratorem programu DB2
Zmień nazwę tak, by była unikalna.
Data Links Manager, aby uzyskać uprawnienia do
zapisywania w tym pliku.
kod_sql: -590
kod_sql: -0597
stan_sql: 42734
stan_sql: 42511
SQL0593N Dla kolumny ROW CHANGE
TIMESTAMP nazwa-kolumny należy
SQL0598W Istniejący indeks nazwa jest używany jako
określić klauzulę NOT NULL.
indeks dla klucza podstawowego lub klucza
Objaśnienie: unikalnego.
Kolumny datownika zmiany wiersza nie obsługują wartości
Objaśnienie:
pustych. Gdy kolumna datownika zmiany wiersza jest
Dla operacji ALTER TABLE, która zdefiniowała klucz
definiowana w instrukcji CREATE TABLE lub ALTER
podstawowy lub klucz unikalny, wymagany był indeks i
TABLE, należy dla niej określić klauzulę NOT NULL.
wskazany indeks odpowiada wymaganemu.
Nie można wykonać instrukcji.
Podczas tworzenia indeksu na podstawie klucza
Działanie użytkownika: podstawowego lub unikalnego opis indeksu jest odpowiedni,
Zmień instrukcję, aby określała klauzulę NOT NULL dla gdy identyfikuje ten sam zbiór kolumn (w dowolnym
kolumny nazwa-kolumny. porządku) co klucz podstawowy lub unikalny bez względu na
to, czy podany jest porządek wzrastający, czy malejący i gdy
kod_sql: -593 jest unikalny.

stan_sql: 42831 Instrukcja została wykonana poprawnie.


Działanie użytkownika:
SQL0595W Poziom odseparowania żądany-poziom został Nie jest wymagane żadne działanie.
zmieniony na wyższy poziom-eskalacji.
kod_sql: +598
Objaśnienie:
Podany poziom odseparowania nie jest obsługiwany przez
stan_sql: 01550
DB2. Został on rozszerzony do następnego wyższego poziomu
odseparowania obsługiwanego przez DB2.
Działanie użytkownika:
Aby uniknąć tego ostrzeżenia, podaj poziom odseparowania
obsługiwany przez DB2. DB2 obsługuje następujące poziomy

Rozdział 2. Komunikaty SQL 113


SQL0599W • SQL0602N

Jeśli typ to DATA PARTITION, nazwa jest nazwą partycji


SQL0599W Nie utworzono funkcji porównania dla
danych określonej w instrukcji ALTER TABLE lub CREATE
odrębnego typu w oparciu o typ długi
TABLE.
łańcuch.
Objaśnienie: Ten błąd może także wystąpić podczas rejestrowania obiektu
Nie utworzono funkcji porównania dla odrębnego typu w repozytorium schematów XML przy użyciu komendy
oparciu o typ długi łańcuch (BLOB, CLOB, DBCLOB, LONG REGISTER lub jednej z procedur XSR_REGISTER,
VARCHAR lub LONG VARGRAPHIC), ponieważ XSR_DTD albo XSR_EXTENTITY. Błąd ten występuje, gdy
odpowiednie funkcje są niedostępne dla tych wbudowanych istnieje już nazwa dla obiektu XSROBJECT.
typów danych.
Użytkownicy systemów stowarzyszonych: Niektóre źródła
Jest to ostrzeżenie. Instrukcja została wykonana poprawnie. danych nie dostarczają odpowiednich wartości dla elementów
komunikatów nazwa i typ. W takich przypadkach nazwa oraz
Działanie użytkownika:
typ mają następujący format: “OBJECT:<źródło_danych>
Nie jest wymagane żadne działanie.
TABLE/VIEW” i “UNKNOWN” oznaczający, że wartości
rzeczywiste w podanym źródle danych są nieznane.
kod_sql: +599
Nie można wykonać instrukcji. Został utworzony nowy obiekt,
stan_sql: 01596
a istniejący obiekt nie został zmieniony ani zmodyfikowany.
Działanie użytkownika:
SQL0600N Nie można wygenerować procedury
Usuń istniejący obiekt lub wybierz inną nazwę dla nowego
nazwa-procedury z powodu zduplikowanego
obiektu.
podpisu lub dlatego, że procedura ta
nadpisałaby istniejącą procedurę.
Użytkownicy systemów stowarzyszonych: Jeśli instrukcją jest
Objaśnienie: CREATE FUNCTION MAPPING lub CREATE TYPE
Podczas operacji CREATE lub ALTER nie można utworzyć MAPPING, użytkownik może nie wprowadzać nazwy
funkcji rzutowania generowanej przez system, metody odwzorowania typu. System automatycznie wygeneruje
obserwatora, metody mutator lub funkcji konstruktora, unikalną nazwę dla tego odwzorowania.
ponieważ w schemacie istnieje już inna funkcja lub metoda o
takiej samej nazwie i podpisie albo dlatego, że metoda lub kod_sql: -601
funkcja nadpisałaby istniejącą metodę.
Działanie użytkownika: stan_sql: 42710
Dla typu zdefiniowanego przez użytkownika, dla atrybutu lub
dla funkcji rzutowania, które spowodowały konflikt wybierz SQL0602N W instrukcji CREATE INDEX lub
inną nazwę lub usuń funkcję lub metodę o takiej samej nazwie CREATE INDEX EXTENSION określono
jako funkcję lub metodę, której nie można wygenerować. zbyt wiele kolumn (maksymalna liczba
kolumn to 64).
kod_sql: -600
Objaśnienie:
Liczba kolumn dla indeksu wygenerowanego przez instrukcję
stan_sql: 42710
CREATE INDEX przekroczyłaby maksymalną liczbę 64
kolumn dla menedżera bazy danych. Jeśli indeks został
SQL0601N Nazwa obiektu, który ma zostać utworzony, zdefiniowany w tabeli o typie strukturalnym, istnieją czynniki,
jest taka sama jak istniejąca nazwa nazwa które zredukują maksymalną liczbę podanych kolumn do 63.
typu typ.
Dla instrukcji CREATE INDEX EXTENSION funkcja
Objaśnienie:
GENERATE KEY zwraca liczbę kolumn, o którą została
Instrukcja CREATE lub ALTER próbowała utworzyć lub
przekroczona maksymalna dopuszczalna liczba kolumn w
dodać obiekt nazwa, podczas gdy obiekt typu typ już istnieje
indeksie, równa 64.
na serwerze aplikacji lub w tej samej instrukcji.

Użytkownicy systemów stowarzyszonych: Ograniczenia dla


Jeśli typ to FOREIGN KEY, PRIMARY KEY, UNIQUE lub
innych źródeł danych są różne. Ten limit mógł zostać
CHECK CONSTRAINT, nazwa jest nazwą ograniczenia
przekroczony. Ten problem może zostać wykryty na serwerze
określoną w instrukcji ALTER NICKNAME, ALTER TABLE,
stowarzyszonym albo w źródle danych.
CREATE NICKNAME lub CREATE TABLE albo
wygenerowaną przez system.
Nie można wykonać instrukcji.
Jeśli typ to ROLE, nazwa jest nazwą roli określoną w Działanie użytkownika:
instrukcji CREATE lub ALTER ROLE. Zmień definicję indeksu, aby spełniała warunek ograniczenia
liczby kolumn do 64. Dla instrukcji CREATE INDEX

114 Komunikaty, tom 2


SQL0603N • SQL0604N

EXTENSION określ inną funkcję GENERATE KEY lub v w wypadku instrukcji CREATE FUNCTION
przedefiniuj funkcję, tak aby zwracała mniejszą liczbę kolumn. element-danych jest elementem identyfikującym w
instrukcji obszar, którego dotyczy problem; Na przykład
Użytkownicy systemów stowarzyszonych: Zmień definicję ″PARAMETER 2″, ″RETURNS″ lub ″CAST FROM″. W
indeksu, aby była zgodna z ograniczeniem kolumny dla źródła niektórych przypadkach błąd może również zawierać typ
danych. danych.
v dla instrukcji CREATE DISTINCT TYPE pozycja-danych
kod_sql: -602 podaje nazwę definiowanego typu lub źródłowy typ danych
zawierający błąd.
stan_sql: 54008 v dla instrukcji CREATE TYPE(array) element-danych
podaje typ danych zawierający błąd. Wartość całkowita
SQL0603N Nie można utworzyć indeksu unikalnego, podana w nawiasach kwadratowych musi być liczbą
ponieważ w tabeli znajdują się dane, przy całkowitą większą lub równą 1 i nie większą niż 2 147 483
użyciu których wygenerowane zostałyby 647.
duplikaty pozycji indeksu. v dla instrukcji CREATE lub ALTER TYPE element-danych
podaje nazwę atrybutu zawierającego błąd lub nazwę typu
Objaśnienie:
strukturalnego, który ma niepoprawną wartość długości
Indeks zdefiniowany w instrukcji CREATE INDEX nie mógł
danych wstawianych. Długość danych wstawianych nie
zostać utworzony jako unikalny, ponieważ podana tabela
może być mniejsza niż suma liczby 292 i rozmiaru
zawiera już wiersze, które powielają wartości w podanych
zwracanego przez funkcję konstruktora dla typu
kolumnach. Jeśli indeks definiowany jest dla kolumny XML, z
strukturalnego.
pojedynczego dokumentu XML mogą zostać wygenerowane
zduplikowane wartości indeksu. v dla instrukcji CREATE VARIABLE element-danych podaje
nazwę zmiennej, która ma niepoprawny typ danych. Typem
Użytkownicy systemu stowarzyszonego: Ta sytuacja może danych zmiennej globalnej może być dowolny wbudowany
również zostać wykryta przez źródło danych. typ danych z wyjątkiem typów LONG, LOB, XML,
ARRAY i typów strukturalnych. Typy odrębne i
referencyjne są obsługiwane.
Nie można wykonać instrukcji. Podany indeks nie został
utworzony. v W wypadku instrukcji CAST( wyrażenie AS typ-danych )
element-danych ma wartość ″CAST″ lub określa typ
Działanie użytkownika: danych, w którym występuje błąd.
Prześledź dane, aby określić, czy powielone dane są
v W przypadku instrukcji XMLCAST( wyrażenie AS
dopuszczalne. Możesz także rozważyć utworzenie indeksu
typ-danych ) element-danych ma wartość ″XMLCAST″ lub
innego niż UNIQUE.
określa typ danych, w którym występuje błąd.
kod_sql: -603 v W przypadku odwrotnego odwzorowania typów nie można
stosować wyrażenia [p..p] dla zdalnego typu danych. Na
stan_sql: 23515 przykład poniższa instrukcja (odwrotne odwzorowanie
typów) jest niepoprawna.
CREATE TYPE MAPPING tm1
SQL0604N Niepoprawna długość, dokładność lub FROM SERVER drdasvr
atrybut skali dla kolumny, typu odrębnego, TYPE CHAR([1..255])
typu strukturalnego, typu tablicowego, TO SYSIBM.VARCHAR
atrybutu typu strukturalnego, procedury,
typu celu rzutowania, odwzorowania typu Natomiast poniższa instrukcja (proste odwzorowanie
lub zmiennej globalnej element-danych. typów) jest prawidłowa.
Objaśnienie: CREATE TYPE MAPPING tm1
Wystąpił błąd w specyfikacji typu danych w instrukcji TO SERVER drdasvr
CREATE lub ALTER lub w specyfikacji CAST. Został podany TYPE CHAR([1..255])
błędny atrybut długości, dokładności lub skali, lub sam typ FROM SYSIBM.VARCHAR
danych jest niepoprawny lub niedozwolony w danej sytuacji.
Wartość funkcji pozycja-danych opisuje błąd w następujący Użytkownicy systemów stowarzyszonych: Jeśli instrukcją jest
sposób: CREATE TYPE MAPPING, próbowano utworzyć
odwzorowanie typu, w którym atrybut typu dla lokalnego typu
v dla instrukcji CREATE lub ALTER TABLE
danych lub zdalnego typu danych jest niepoprawny. Możliwe
pozycja-danych podaje nazwę kolumny zawierającej błąd
są następujące przyczyny:
lub typ danych zawierający błąd. Jeśli typ danych kolumny
jest typem strukturalnym lub typem XML, jawna lub v długość/dokładność lokalna jest ustawiona na 0 lub jest
niejawna wartość INLINE LENGTH nie może być mniejsza ujemna,
niż 292 i nie może przekraczać 32672.

Rozdział 2. Komunikaty SQL 115


SQL0605W • SQL0607N

v atrybut długości/dokładności został podany dla typów


SQL0606N Nie powiodło się wykonanie instrukcji
danych, takich jak data/czas/datownik
COMMENT ON lub LABEL ON, ponieważ
(data/time/timestamp), zmiennopozycyjny (float), całkowity
właścicielem określonej tabeli lub kolumny
(integer),
nie jest właściciel.
v atrybut skali został podany dla typów danych, takich jak
znakowy (character), data/czas/datownik Objaśnienie:
(data/time/timestamp), zmiennopozycyjny (float), całkowity Próbowano wykonać instrukcje COMMENT ON lub LABEL
(integer), ON dla tabeli lub kolumny, która nie istnieje lub której
właścicielem nie jest właściciel podany w tekście komunikatu.
v podano klauzulę FOR BIT DATA dla typu innego niż
znakowy (character),
Przetwarzanie instrukcji SQL zostało zakończone.
v zdalna dokładność została ustawiona na 0 dla typów
zdalnych innych niż datownik (datetime) Informix, Działanie użytkownika:
Popraw instrukcję. Ponów próbę.
v w odwzorowaniu typu dla typu datownika (datetime)
Informix użyto niepoprawnego kwalifikatora pola,
kod_sql: -606
v w zakresie dokładności/skali wartość końcowa jest mniejsza
niż wartość początkowa.
stan_sql: 42505
Nie można wykonać instrukcji.
SQL0607N Nie zdefiniowano operacji operacja dla
Działanie użytkownika: obiektów systemowych.
Popraw błąd i spróbuj ponownie.
Objaśnienie:
kod_sql: -604 Dla obiektów systemowych nie można wykonać operacji
operacja podanej w instrukcji SQL. Próbowano wykonać
stan_sql: 42611 jedno z następujących działań:
v Instrukcję ALTER, DROP lub TRANSFER OWNERSHIP
dla obiektu, którego właścicielem jest system, takiego jak
SQL0605W Nie można utworzyć określonego indeksu,
tabela katalogów systemowych, wbudowana funkcja lub
ponieważ istnieje już indeks nazwa o
wbudowany typ danych.
podanej definicji.
v COMMENT ON dla wbudowanej funkcji systemowej.
Objaśnienie:
v Instrukcję INSERT lub DELETE na systemowej tabeli
Podczas wykonywania instrukcji CREATE INDEX nastąpiła
katalogów.
próba utworzenia nowego indeksu na podstawie definicji,
która jest zgodna z definicją istniejącego już indeksu. v Instrukcję UPDATE na systemowej tabeli katalogów.
Niektóre kolumny podzestawu systemowych tabel
Dwie definicje indeksów są zgodne, jeśli identyfikują te same katalogów są aktualizowalne. Dla operacji UPDATE z tymi
kolumny w tym samym porządku, o takiej samej specyfikacji tabelami katalogów należy użyć widoków
kolejności rosnącej lub malejącej i jeśli w obu definicjach modyfikowalnych w schemacie SYSSTAT. Opis
określono unikalność indeksu lub tylko dla nowego indeksu aktualizowalnych widoków katalogu (widoki SYSSTAT)
nie została określona unikalność. można znaleźć w podręczniku SQL Reference.
v Instrukcję CREATE lub DROP dla indeksu na tabeli
Ponadto dwie definicje indeksów są zgodne, jeśli identyfikują systemowej.
te same kolumny w tym samym porządku, w tej samej albo v Instrukcję CREATE z wyzwalaczem na tabeli systemowej.
odwrotnej kolejności rosnącej lub malejącej i jeśli co najmniej v Zidentyfikowano nieaktualizowalną tabelę systemową w
jeden ze zdefiniowanych indeksów obsługuje skanowanie do klauzuli FROM instrukcji SELECT zawierającej klauzulę
przodu i do tyłu. FOR UPDATE; Listę aktualizowalnych katalogów
systemowych można znaleźć w podręczniku SQL
Nie utworzono nowego indeksu. Reference.
Działanie użytkownika: v Instrukcję DROP lub ALTER dla systemowego obszaru
Nie jest wymagane żadne działanie, chyba że istniejący indeks tabel.
nazwa nie jest odpowiedni. Na przykład istniejący indeks v Instrukcję DROP lub ALTER systemowej grupy partycji
nazwa jest nieprawidłowy, jeśli nie umożliwia odwrotnego bazy danych.
przeszukania, a indeks wymagany umożliwia (lub odwrotnie).
v Instrukcję DROP dla domyślnego obciążenia systemowego.
W tym przypadku indeks nazwa musi być usunięty przed
utworzeniem wymaganego indeksu. v Instrukcję ALTER dla parametru
SYSDEFAULTUSERWORKLOAD z podaną opcją
sqlcode: +605 ENABLE, DISABLE, POSITION, ADD lub DROP.

stan_sql: 01550

116 Komunikaty, tom 2


SQL0612N • SQL0613N

v Instrukcję ALTER dla parametru v W instrukcji CREATE TABLE OF nie można podać takiej
SYSDEFAULTADMWORKLOAD z określoną opcją inną samej nazwy zdefiniowanej dla kolumny REF IS i
niż COLLECT. wszystkich atrybutów typu strukturalnego.
v Instrukcję ALTER dla obciążenia z parametrem v Instrukcje CREATE TYPE nie dopuszczają takiej samej
SYSDEFAULTADMWORKLOAD lub nazwy dla dwóch zdefiniowanych kolumn. Nazwy
SYSDEFAULTUSERWORKLOAD określonym jako atrybutów muszą być unikalne dla danego typu i wszystkich
wartość opcji POSITION BEFORE lub AFTER. jego podtypów.
v Instrukcję REDISTRIBUTE grupy partycji bazy danych v Instrukcje ALTER TYPE nie mogą dodawać atrybutu do
IBMCATGROUP lub IBMTEMPGROUP. typu strukturalnego, używając nazwy atrybutu, który już
v Instrukcję przekazania prawa własności do schematu, istnieje w typie lub w dowolnym podtypie lub który jest taki
którego nazwa rozpoczyna się od łańcucha ’SYS’. sam, jak nowy dodawany atrybut. Również nazwa atrybutu
może nie być taka sama, jak nazwa kolumny REF IS w
Nie można wykonać instrukcji. dowolnej tabeli utworzonej z typu strukturalnego. Ponadto
do nazwy atrybutu mogą występować odwołania jedynie w
Działanie użytkownika: jednej klauzuli ADD lub DROP ATTRIBUTE w
Nie próbuj modyfikować żadnych obiektów systemowych za pojedynczej instrukcji ALTER TYPE.
wyjątkiem tych kolumn systemowych tabel katalogów, które v Instrukcje CREATE INDEX EXTENSION nie mogą mieć
są aktualizowalne przez aktualizowalne widoki SYSSTAT. dla dwóch parametrów, zdefiniowanej tej samej nazwy.
Więcej informacji można znaleźć w podręczniku SQL
Reference. v Do nazwy kolumny można się odwoływać tylko z
pojedynczej instrukcji ALTER NICKNAME w jednej
klauzuli ALTER COLUMN.
kod_sql: -607
v Na liście argumentów instrukcji XMLQUERY,
stan_sql: 42832 XMLEXISTS lub XMLTABLE występują dwa argumenty o
tej samej nazwie.
v Na liście kolumn tabeli XMLTABLE występują dwie
SQL0612N nazwa jest nazwą zduplikowaną.
kolumny o tej samej nazwie.
Objaśnienie:
W sytuacji, gdy nie są dozwolone duplikaty, została wydana Nie można wykonać instrukcji.
instrukcja zawierająca tę samą nazwę więcej niż raz. Miejsce,
Działanie użytkownika:
w którym te nazwy wystąpią, zależy od typu instrukcji.
Określ unikalne nazwy, odpowiednie dla tego typu instrukcji.
v Instrukcje CREATE TABLE nie dopuszczają takiej samej
nazwy dla dwóch definiowanych kolumn. kod_sql: -612
v Instrukcje CREATE TABLE określające partycjonowanie
tabeli nie mogą definiować identycznej nazwy partycji stan_sql: 42711
danych dla dwóch partycji.
v Za pomocą instrukcji ALTER TABLE nie można dodać lub
SQL0613N Klucz podstawowy, klucz unikalny lub klucz
przyłączyć partycji danych do tabeli, określając nazwę
partycjonowania tabeli identyfikowany
partycji identyczną z nazwą istniejącej partycji danych w
przez nazwa jest za długi lub ma za dużo
tabeli.
kolumn.
v Instrukcje CREATE VIEW lub definicje wspólnych
wyrażeń tabelowych mają tę samą nazwę kolumny na liście Objaśnienie:
nazw kolumn. Jeśli nie podano żadnej listy nazw kolumn, Możliwe przyczyny błędu:
nazwy kolumn na wybranej liście widoku muszą być v Suma wewnętrznych długości kolumn w klauzuli
unikalne. PRIMARY KEY lub klauzuli UNIQUE, identyfikowanej
v Instrukcja ALTER TABLE nie może dodać do tabeli przez nazwę nazwa, przekracza ograniczenie długości
kolumny o takiej samej nazwie, jak istniejąca lub inna klucza indeksu lub liczba kolumn przekroczyła maksimum
dodawana kolumna. Ponadto odwołanie do nazwy kolumny równe 64. Klucz podstawowy lub klucz unikalny nie może
może występować tylko w jednej klauzuli ADD, DROP zostać zdefiniowany przy użyciu kolumny typu LONG
COLUMN lub ALTER COLUMN w pojedynczej instrukcji VARCHAR. Jeśli dla tabeli o typie strukturalnym został
ALTER TABLE. zdefiniowany klucz podstawowy lub ograniczenie przez
unikalność, to został utworzony także dodatkowy nagłówek
v W instrukcji CREATE INDEX nie można podać więcej niż
indeksu i to spowodowało ograniczenie maksymalnej liczby
raz nazwy kolumny wchodzącej w skład klucza
kolumn do 63 i ograniczenie długości jednej kolumny do 4
indeksowania lub kolumn INCLUDE indeksu.
bajtów.
v W instrukcji CREATE TRIGGER nie można podać nazwy
v Liczba kolumn w klauzuli PARTITION BY przekracza
kolumny wchodzącej w skład listy kolumn aktywizujących
wartość maksymalną (16).
aktualizowany wyzwalacz więcej niż raz.

Rozdział 2. Komunikaty SQL 117


SQL0614N • SQL0620N

Jeśli zostało podane ograniczenie, nazwa jest nazwą Maks. dł. klucza Wielkość strony
ograniczenia klucza podstawowego lub ograniczenia przez ---------------- ---------
unikalność. Jeśli nie podano nazwy ograniczenia, nazwa jest 1 kB 4 kB
nazwą pierwszej kolumny podanej w klauzuli klucza 2 kB 8 kB
podstawowego lub ograniczenia przez unikalność z trzema 4 kB 16 kB
8 kB 32 kB
kropkami na końcu.
Nie można wykonać instrukcji. Określony indeks lub
Ograniczenie długości klucza indeksowania jest określone na
rozszerzenie indeksu nie zostało utworzone albo nie można
podstawie wielkości strony obszaru tabel używanego przez
było zmienić tabeli lub pseudonimu.
indeks:
Maks. dł. klucza Wielkość strony Działanie użytkownika:
---------------- --------- Aby zmodyfikować definicję indeksu lub zmienić kolumnę,
1 kB 4 kB usuń jedną lub kilka kolumn wchodzących w skład indeksu,
2 kB 8 kB tak aby długość indeksu nie przekroczyła dopuszczalnej
4 kB 16 kB wartości. W definicji rozszerzenia indeksu określ inną funkcję
8 kB 32 kB GENERATE KEY lub przedefiniuj ją, tak aby zwracała wiersz
o mniejszej długości.
W przypadku klucza partycjonowania tabeli nazwa to nazwa
kolumny, która przekracza limit. kod_sql: -614

Nie można wykonać instrukcji. stan_sql: 54008


Działanie użytkownika:
Zmodyfikuj definicję klucza podstawowego, klucza SQL0615N Nie można usunąć obiektu nazwa-obiektu
unikalnego lub klucza partycjonowania tabeli, eliminując typu typ-obiektu, ponieważ jest obecnie
jedną lub więcej kolumn klucza, aby nie przekraczać używany.
maksymalnej liczby kolumn (64) i limitu długości klucza.
Objaśnienie:
kod_sql: -613 Nie można wydać instrukcji DROP dla obiektu, który jest w
danym momencie używany.
stan_sql: 54008
Nie można wykonać instrukcji. Obiekt nie został usunięty.

SQL0614N Nie można utworzyć lub zmienić indeksu Działanie użytkownika:


lub rozszerzenia indeksu nazwa-indeksu, Zamknij wszystkie kursory, które zależą w sposób pośredni
ponieważ łączna długość podanych kolumn lub bezpośredni od obiektu nazwa-obiektu i wprowadź
jest za duża. instrukcję ponownie.

Objaśnienie: Dla tymczasowych obszarów tabel wprowadź instrukcję


Nie można utworzyć lub zmodyfikować indeksu, ponieważ ponownie, gdy obszar tabel nie jest używany.
suma długości kolumn wewnętrznych klucza przekroczyłaby
ograniczenie długości klucza indeksu. Nie można także kod_sql: -615
utworzyć indeksu przy użyciu kolumn typu LONG
VARCHAR, LONG VARGRAPHIC lub LOB. Jeśli indeks
stan_sql: 55006
został zdefiniowany w tabeli o typie strukturalnym, został
utworzony także dodatkowy nagłówek indeksu, który
zmniejsza maksymalną długość o 4 bajty. Indeks można SQL0620N Wykonanie instrukcji CREATE TABLE nie
zmodyfikować przy użyciu instrukcji ALTER TABLE lub powiodło się, gdyż id-użytkownika nie ma
ALTER NICKNAME, umożliwiającej zmianę typu danych w prywatnych, odtwarzalnych obszarów tabel,
jednej lub kilku kolumnach. które zawierają mniej niż 255 tabel.
Objaśnienie:
Nie można utworzyć rozszerzenia indeksu, ponieważ suma
W instrukcji CREATE TABLE nie podano nazwy dbspace, tak
długości kolumn zwracanych przez funkcję GENERATE KEY
więc menedżer baz danych próbował odnaleźć prywatny
przekroczyłaby ograniczenie długości klucza indeksu.
obszar dbspace, którego właścicielem jest id-użytkownika. Ten
komunikat pojawia się w następujących sytuacjach:
Ograniczenie długości klucza indeksowania jest określone na
podstawie wielkości strony obszaru tabel używanego przez 1. W bazie danych DB2 for VM nie znaleziono prywatnych
indeks: obszarów dbspace dla id-użytkownika.
2. Znaleziono jeden lub więcej prywatnych obszarów
dbspace dla id-użytkownika, ale każdy zawiera 255 tabel.
3. Prywatne obszary dbspace znajdują się w
nieodzyskiwalnych pulach pamięci. Dostępne są tylko

118 Komunikaty, tom 2


SQL0622N • SQL0628N

prywatne obszary dbspace istniejące w odzyskiwalnych Nie można wykonać instrukcji.


pulach pamięci, gdy w instrukcji CREATE TABLE nie
Działanie użytkownika:
podano nazwy obszaru dbspace.
Zmień lub usuń klauzulę i ponownie wydaj instrukcję SQL.
Przetwarzanie instrukcji SQL zostało zakończone.
Aby obiekty Unicode były dozwolone w bazach danych
Działanie użytkownika: innych niż Unicode, należy zaktualizować konfigurację bazy
Sugerowane działania dla wymienionych przypadków: danych, określając alternatywną kolejność zestawiania
1. Uzyskaj prywatny obszar dbspace w odzyskiwalnej puli (ALT_COLLATE).
pamięci. Poproś o pomoc administratora baz danych.
kod_sql: -622
2. Usuń tabelę w prywatnym obszarze dbspace znajdującą się
w odzyskiwalnej puli pamięci, aby zwolnić pozycję lub
wykonaj działania opisane w punkcie (1). stan_sql: 56031
3. Jeśli zamierzasz utworzyć tabelę w obszarze dbspace
istniejącym w nieodzyskiwalnej puli pamięci, podaj nazwę SQL0623N Indeks klastrowy dla tabeli nazwa już
obszaru dbspace w komendzie CREATE TABLE. W istnieje.
przeciwnym przypadku wykonaj działania opisane w
Objaśnienie:
punkcie (1).
Instrukcja CREATE INDEX utworzy drugi indeks klastrowy
dla podanej tabeli. Dla podanej tabeli może istnieć tylko jeden
Następnie ponownie uruchom instrukcję CREATE TABLE. indeks klastrowy.

Jeśli zachodzi taka potrzeba, uzyskaj dla użytkownika Nie można wykonać instrukcji.
prywatny obszar dbspace.
Działanie użytkownika:
kod_sql: -620 Sprawdź, czy indeks klastrowy dla tabeli nazwa istnieje i jest
poprawny. Rozważ utworzenie indeksu bez atrybutu
stan_sql: 57022 CLUSTER.

kod_sql: -623
SQL0622N Klauzula klauzula jest niepoprawna w
odniesieniu do tej bazy danych. stan_sql: 55012
Objaśnienie:
Wskazana klauzula jest niepoprawna, ponieważ jest niezgodna SQL0624N Tabela nazwa już ma klucz typu typ-klucza.
z charakterystyką zdefiniowaną dla tej bazy danych.
Objaśnienie:
Możliwe przyczyny: Klucz podstawowy lub klucz partycjonowania nie może zostać
zdefiniowany w instrukcji ALTER TABLE, ponieważ
v Podczas łączenia się z bazą danych utworzoną przy użyciu
wskazana tabela ma już klucz danego typu.
strony kodowej Unicode nie można określić klauzuli
CCSID ASCII ani PARAMETER CCSID ASCII.
Nie można wykonać instrukcji.
v Podczas istnienia połączenia z bazą danych utworzoną przy
użyciu strony kodowej innej niż Unicode nie można Działanie użytkownika:
określić klauzuli CCSID UNICODE ani PARAMETER Tabela nie może mieć więcej niż jednego klucza
CCSID UNICODE przed określeniem alternatywnej podstawowego lub klucza partycjonowania.
kolejności zestawiania w konfiguracji bazy danych.
v Podczas istnienia połączenia z bazą danych utworzoną przy kod_sql: -624
użyciu strony kodowej innej niż Unicode nie można
określić w tej instrukcji klauzuli CCSID UNICODE ani stan_sql: 42889
PARAMETER CCSID UNICODE.
v FOR SBCS DATA można określić tylko wtedy, gdy SQL0628N Wystąpiły powielone lub sprzeczne
połączenie obejmuje bazę danych utworzoną przy użyciu parametry wywołujące klauzulę typ-klauzuli.
strony kodowej znaków jednobajtowych.
Objaśnienie:
v FOR MIXED DATA można określić tylko wtedy, gdy Istnieje kilka możliwych przyczyn występowania tego
połączenie obejmuje bazę danych utworzoną przy użyciu komunikatu lub instrukcji. Występujący warunek wskazuje
strony kodowej znaków dwubajtowych lub Unicode. wartość typ-klauzuli. Oto możliwe przyczyny:
v Klauzula IN nazwa-bazy-danych.nazwa-obszaru-tabel lub v Parametr mógł zostać podany w tej samej instrukcji, co inny
IN DATABASE nazwa-bazy-danych została użyta z nazwą parametr.
innej bazy danych niż ta, z którą aplikacja jest obecnie
połączona. v Parametr może być częścią sekwencji parametrów, w której
kolejność ich występowania nie jest ściśle określona.

Rozdział 2. Komunikaty SQL 119


SQL0629N • SQL0632N

Parametr w takiej sekwencji może być również podane


SQL0631N Klucz FOREIGN KEY nazwa jest za długi
razem ze sprzecznymi parametrami.
lub ma za dużo kolumn.
v Parametr może się pojawiać wielokrotnie z przypisanymi
różnymi wartościami. Objaśnienie:
Suma wewnętrznych długości kolumn w klauzuli FOREIGN
v Parametr może wymagać podania w tej samej instrukcji
KEY instrukcji CREATE TABLE przekroczyła ograniczenie
innych określonych parametrów, które nie zostały podane.
długości klucza indeksu lub liczba zidentyfikowanych kolumn
v Przy zmienianiu (ALTER) obiektu określono parametr przekroczyła 64. Klucza obcego nie można zdefiniować przy
kolidujący z istniejącą właściwością obiektu. pomocy kolumny typu LONG VARCHAR.
v W instrukcji ALTER dotyczącej tabeli partycjonowanej
klauzule ADD, ATTACH i DETACH nie mogą występować nazwa, o ile jest określona, jest nazwą ograniczenia w klauzuli
z żadnymi innymi klauzulami. FOREIGN KEY. Jeśli nazwa ograniczenia nie została
określona, nazwa jest nazwą pierwszej kolumny na liście
Działanie użytkownika:
kolumn klauzuli FOREIGN KEY z trzema kropkami na końcu.
Sprawdź składnię instrukcji oraz jej zgodność ze
zdefiniowanymi regułami. Popraw niewłaściwe występowanie
Ograniczenie długości klucza indeksowania jest określone na
powielonych lub sprzecznych parametrów.
podstawie wielkości strony obszaru tabel używanego przez
indeks:
kod_sql: -628
Maks. dł. klucza Wielkość strony
stan_sql: 42613
--------------------------------------
1 kB 4 kB
SQL0629N Nie można podać instrukcji SET NULL, 2 kB 8 kB
ponieważ w nazwie kolumny lub nazwie 4 kB 16 kB
klucza obcego nazwa nie mogą występować 8 kB 32 kB
wartości NULL.
Nie można wykonać instrukcji.
Objaśnienie:
Opcja SET NULL w danej instrukcji ALTER TABLE lub Działanie użytkownika:
wskazana klauzula FOREIGN KEY jest niepoprawna. W Aby zmodyfikować definicję klucza obcego, usuń jedną lub
przypadku instrukcji ALTER TABLE nie można zmienić więcej kolumn klucza, aby liczba kolumn nie przekroczyła 64,
kolumny nazwa tak, aby nie były dozwolone w niej wartości a suma ich wewnętrznych długości nie przekroczyła limitu
NULL, ponieważ jest to ostatnia kolumna, w której nie są długości klucza.
dozwolone wartości puste w ograniczeniu klucza obcego z
działaniem typu ’on delete set NULL’. kod_sql: -631

W przypadku klauzuli FOREIGN KEY w żadnej kolumnie stan_sql: 54008


klucza nie są dozwolone wartości puste. Jeśli podano
ograniczenie, nazwa jest jego nazwą. Jeśli nazwa ograniczenia
nie została określona, nazwa jest nazwą pierwszej kolumny na SQL0632N Klucz obcy (FOREIGN KEY) nazwa nie jest
liście kolumn klauzuli FOREIGN KEY z trzema kropkami na poprawny, ponieważ tabela nie może zostać
końcu. zdefiniowana jako zależna od tabeli
nazwa-tabeli ze względu na ograniczenia
reguły usuwania (kod przyczyny =
Nie można wykonać instrukcji.
kod-przyczyny).
Działanie użytkownika:
Objaśnienie:
W instrukcji ALTER TABLE usuń ograniczenie klucza obcego
Nie można zdefiniować ograniczenia referencyjnego,
lub zmień co najmniej jedną z pozostałych kolumn w tym
ponieważ nie można zdefiniować tabeli obiektów instrukcji
ograniczeniu tak, aby dozwolone były w niej wartości puste.
CREATE TABLE lub ALTER TABLE jako zależnej od tabeli
W klauzuli FOREIGN KEY zmień kolumnę klucza, aby
nazwa-tabeli. Przyczynę określa jeden z następujących kodów:
umożliwić przypisywanie wartości pustych, lub zmień regułę
usuwania. v (01) Związek odwołuje się sam do siebie (self-referencing) i
taki związek istnieje już z regułą usuwania SET NULL.
kod_sql: -629 v (02) Związek tworzy pętlę z dwiema lub większą liczbą
tabel, co powoduje, że tabela, która ma zostać usunięta, jest
stan_sql: 42834 podłączona do samej siebie (wszystkie inne reguły
usuwania w cyklu powinny być typu CASCADE).
v (03) Związek powoduje, że tabela, która ma zostać usunięta,
jest podłączona do tej samej tabeli przez wiele związków, a
regułą usuwania istniejącego związku jest SET NULL.

120 Komunikaty, tom 2


SQL0633N • SQL0636N

Reguła usuwania istniejącego związku powoduje błąd. Nie Reguła usuwania CASCADE podana w klauzuli FOREIGN
podano reguły usuwania w klauzuli FOREIGN KEY instrukcji KEY instrukcji CREATE TABLE lub ALTER TABLE jest
CREATE TABLE lub ALTER TABLE. niepoprawna. Przyczynę określa jeden z następujących kodów:
v (01) Istnieje ograniczenie odwołujące się do siebie z regułą
nazwa, o ile jest określona, jest nazwą ograniczenia w klauzuli usuwania SET NULL, NO ACTION lub RESTRICT.
FOREIGN KEY. Jeśli nazwa ograniczenia nie została
v (02) Związek spowodowałby powstanie pętli, w której
określona, nazwa jest nazwą pierwszej kolumny na liście
tabela, aby mogła być usunięta, musiałaby zostać
kolumn klauzuli FOREIGN KEY z trzema kropkami na końcu.
podłączona do samej siebie. Jedną z istniejących reguł
usuwania w cyklu nie jest CASCADE, więc taki związek
Nie można wykonać instrukcji. może być definiowalny, jeśli regułą usuwania nie jest
Działanie użytkownika: CASCADE.
Jeśli jest to możliwe, usuń konkretną klauzulę FOREIGN KEY v (03) Związek spowodowałby, że inna tabela, aby mogła być
z instrukcji CREATE TABLE lub ALTER TABLE. usunięta, musiałaby zostać podłączona do tej samej tabeli
przez wiele ścieżek o różnych regułach usuwania lub z
kod_sql: -632 regułą usuwania SET NULL.
nazwa, o ile jest określona, jest nazwą ograniczenia w
stan_sql: 42915 klauzuli FOREIGN KEY. Jeśli nazwa ograniczenia nie
została określona, nazwa jest nazwą pierwszej kolumny na
SQL0633N Regułą usuwania klucza obcego (FOREIGN liście kolumn klauzuli FOREIGN KEY z trzema kropkami
KEY) nazwa musi być reguła-usuwania (kod na końcu.
przyczyny = kod-przyczyny).
Nie można wykonać instrukcji.
Objaśnienie:
Reguła usuwania podana w klauzuli FOREIGN KEY Działanie użytkownika:
instrukcji CREATE TABLE lub ALTER TABLE jest Jeśli jest to możliwe, zmień regułę usuwania.
niepoprawna. Dla jednego z następujących kodów przyczyny
wymagana jest wskazana reguła usuwania: kod_sql: -634
v (01) Ograniczenie referencyjne odwołuje się samo do
siebie, a istniejące, odwołujące się do siebie, ograniczenie stan_sql: 42915
ma wskazaną regułę usuwania (NO ACTION, RESTRICT
lub CASCADE). SQL0636N Zakres określony dla partycji danych
v (02) W związku z regułą usuwania CASCADE ograniczenie nazwa-partycji jest niepoprawny. Kod
referencyjne odwołuje się do siebie i tabela jest zależna. przyczyny = kod-przyczyny.
v (03) Związek spowodowałby, że tabela, która ma zostać Objaśnienie:
usunięta, jest podłączona do tej samej tabeli przez wiele Podany zakres klucza partycjonowania jest niepoprawny ze
związków i te związki muszą mieć tę samą regułę usuwania względu na co najmniej jeden z następujących kodów
(NO ACTION, RESTRICT lub CASCADE). przyczyny:

nazwa, o ile jest określona, jest nazwą ograniczenia w klauzuli 1 Wartość STARTING dla partycji jest większa niż
FOREIGN KEY. Jeśli nazwa ograniczenia nie została wartość ENDING. Zwykle wartość STARTING dla
określona, nazwa jest nazwą pierwszej kolumny na liście partycji musi być mniejsza niż wartość ENDING.
kolumn klauzuli FOREIGN KEY z trzema kropkami na końcu. Jednak wartość początkowa może być równa
(EQUAL) wartości końcowej, jeśli obydwa końce
zakresu są włączone do zakresu (BOTH). Koniec
Nie można wykonać instrukcji.
zakresu, który zawiera wartość MINVALUE lub
Działanie użytkownika: MAXVALUE jest wyłączony z zakresu. Na przykład
Jeśli jest to możliwe, zmień regułę usuwania. partycja zdefiniowana jako STARTING (1,
MINVALUE) ENDING (1, MINVALUE) jest
kod_sql: -633 niedozwolona (kod przyczyny 1), ponieważ obydwa
końce zakresów są równe i obydwa są wyłączone z
stan_sql: 42915 zakresu. Nawet jeśli tylko jeden koniec (np.
STARTING) zostanie określony jawnie, naruszenie
tej reguły przez wynikowe końce zakresu (po
SQL0634N Regułą usuwania klucza obcego (FOREIGN wygenerowaniu brakujących końców) spowoduje
KEY) nazwa nie może być CASCADE (kod zwrócenie tego kodu przyczyny.
przyczyny = kod-przyczyny).
3 Nie określono wartości STARTING dla partycji z
Objaśnienie: najmniejszą wartością klucza.

Rozdział 2. Komunikaty SQL 121


SQL0637N • SQL0644N

4 Nie określono wartości ENDING dla partycji z Nie można wykonać instrukcji.
największą wartością klucza.
Działanie użytkownika:
5 Nie określono wartości STARTING i nie określono Popraw niepoprawne zakresy dla partycji danych.
poprzedniej wartości ENDING.
kod_sql: -636
7 Dotyczy tylko produktu DB2 UDB for iSeries:
Partycje danych nie zostały określone w kolejności
rosnącej. stan_sql: 56016

9 Wartość STARTING lub ENDING dla partycji jest


za długa. Całkowita długość wartości SQL0637N Parametr parametr w tej postaci nie jest
ograniczających klucz partycjonowania tabeli musi poprawne.
być mniejsza niż 512 bajtów. Objaśnienie:
10 Zakres pokrywa się z inną partycją. Każda partycja Instrukcja SQL zawiera powieloną lub stwarzającą konflikt
danych musi mieć dobrze określone granice specyfikację klauzuli ze wskazanym parametrem. Na przykład:
początkowe i końcowe, a każda wartość danych v słowa kluczowe DEFAULT, UNIQUE i PRIMARY w
musi należeć do jednej i tylko jednej partycji. definicji kolumny mogą być użyte tylko jeden raz,
Ponadto jeśli ta sama wartość (oprócz MINVALUE v słowa kluczowe UNIQUE i PRIMARY nie mogą wystąpić
lub MAXVALUE) jest używana jako koniec zakresu jednocześnie w tej samej definicji kolumny,
jednej partycji i początek zakresu następnej, co
v słowo kluczowe PRIMARY w instrukcji CREATE TABLE
najmniej jeden z tych końców musi być
może być użyte tylko jeden raz,
zdefiniowany jako wyłączony z zakresu
(EXCLUSIVE). Aby dla istniejącej tabeli określić, v łańcuch atrybutu w instrukcji PREPARE określa tę samą
czy końce zakresu partycji są włączone do zakresu opcję więcej niż jeden raz lub występują w nim opcje
(INCLUSIVE) czy wyłączone z zakresu kolidujące ze sobą
(EXCLUSIVE), należy wysłać poniższe zapytanie
do tabeli katalogu SYSCAT.DATAPARTITIONS Nie można wykonać instrukcji.
(zamiast nazw zastępczych ’schemat-tabeli’ i Działanie użytkownika:
’nazwa-tabeli’ należy podstawić odpowiednie Popraw instrukcję, usuwając powielone lub kolidujące ze sobą.
wartości):
SELECT kod_sql: -637
DATAPARTITIONID, DATAPARTITIONNAME,
LOWINCLUSIVE, LOWVALUE,
stan_sql: 42614
HIGHINCLUSIVE, HIGHVALUE
FROM SYSCAT.DATAPARTITIONS
WHERE TABSCHEMA=’schemat-tabeli’ SQL0638N Nie można utworzyć tabeli nazwa, ponieważ
AND TABNAME=’nazwa-tabeli’ nie podano definicji kolumn.
ORDER BY SEQNO
Objaśnienie:
11 Nie można określić parametru MINVALUE ani
Instrukcja CREATE TABLE nie zawiera żadnej definicji
MAXVALUE, jeśli określono klauzulę EVERY.
kolumny.
12 Wartość określona dla klauzuli EVERY musi być
większa od zera i na tyle duża, aby zdefiniować Nie można wykonać instrukcji.
unikalne partycje.
Działanie użytkownika:
13 Po parametrze MINVALUE lub MAXVALUE w Dodaj jedną lub kilka definicji kolumn do instrukcji.
wartości STARTING lub ENDING dla partycji nie
można określić stałej. Gdy zostaną użyte parametry kod_sql: -638
MINVALUE lub MAXVALUE, wszystkie kolejne
(mniej znaczące) kolumny muszą odpowiednio stan_sql: 42601
używać parametrów MINVALUE lub MAXVALUE.
14 Jeśli użyto klauzuli EVERY, jako początek zakresu, SQL0644N Podano niepoprawną wartość dla
koniec zakresu lub przyrost nie można określać parametru parametr w instrukcji
specjalnych wartości dziesiętnych typ-instrukcji.
zmiennopozycyjnych.
Objaśnienie:
Jeśli nazwa-partycji ma postać ″PARTITION=wartość″, Po parametrze parametr podano niepoprawną wartość, inną
oznacza to, że nazwa partycji była niedostępna, gdy wystąpił niż dopuszczalna w opisie typ-instrukcji. Dla wartości
błąd. Podana wartość identyfikuje wartość początkową i numerycznych wartość może być spoza zdefiniowanego
końcową zakresu partycji naruszającej reguły w klauzuli zakresu. Dla innych typów wartość nie należy do
PARTITION LIST. zdefiniowanego zbioru poprawnych wartości.

122 Komunikaty, tom 2


SQL0647N • SQL0658N

Działanie użytkownika:
SQL0658N Obiektu nazwa nie można jawnie usunąć ani
Określ, na podstawie opisu w dokumentacji dla typu
zmienić.
typ-instrukcji, jakie wartości są poprawne, i wprowadź
odpowiednią zmianę. Objaśnienie:
Identyfikator nazwa określa jedną z następujących pozycji:
kod_sql: -644 v funkcję rzutowania lub funkcję porównania, która nie może
być usunięta za pomocą instrukcji DROP, ponieważ była
stan_sql: 42615 utworzona przez system w celu użycia z typem odrębnym,
v funkcję, która nie może być zmieniona, ponieważ jest to
SQL0647N Obszar buforów nazwa-obszaru-buforów jest funkcja potomna,
nieaktywny. v metodę, która nie może być usunięta za pomocą instrukcji
ALTER TYPE, ponieważ była utworzona przez system w
Objaśnienie:
celu użycia z typem strukturalnym,
Obszar buforów nazwa-obszaru-buforów jest nieaktywny w
bieżącym środowisku baz danych. Podjęto próbę znalezienia v pakiet, którego nie można usunąć instrukcją DROP,
innego obszaru buforów z taką samą wielkością strony, ale w ponieważ został utworzony przez system w celu użycia go z
bieżącym środowisku baz danych nie ma aktywnych obszarów procedurą SQL. Znacznik spójności (czyli unique_id) jest
buforów tego typu. Obszar buforów nazwa-obszaru-buforów podany w notacji szesnastkowej i jest zawarty w nazwie
jest już zdefiniowany, ale nie został jeszcze aktywowany. pakietu, mającej postać “schemat-pakietu.nazwa-pakietu
0Xznacznik-spójności”,
Nie można wykonać instrukcji. v próg zdefiniowany w kontekście zestawu działania pracy,
Działanie użytkownika: v procedurę, której nie można zmienić, ponieważ jest
Aby aktywować żądany obszar buforów, zatrzymaj, a zdefiniowana z opcją LANGUAGE SQL,
następnie ponownie uruchom bazę danych. v Pseudonim, którego nie można zmienić w celu
uniemożliwienia buforowania, ponieważ w definicji pełnej
kod_sql: -647 selekcji zmaterializowanej tabeli zapytania występuje
odwołanie do tego pseudonimu.
stan_sql: 57003
Nie można wykonać instrukcji.
SQL0648N Nie można zdefiniować klucza obcego, Działanie użytkownika:
ponieważ spowodowałoby to zależność tabeli v Jedyny sposób usunięcia funkcji nazwa polega na usunięciu
właściciel1.nazwa-tabeli1 od tabeli typu odrębnego lub typu strukturalnego, na podstawie
właściciel2.nazwa-tabeli2 wzdłuż kilku którego funkcja została zdefiniowana. Nazwa typu
ścieżek podczas usuwania. Kod przyczyny = odrębnego odpowiada nazwie funkcji lub typowi
kod-przyczyny. parametrów przekazywanych do funkcji.
Objaśnienie: v Funkcję nazwa można zmienić jedynie, usuwając ją i
Klucz obcy nie może zostać zdefiniowany z powodu jednego z tworząc ponownie.
następujących kodów przyczyny = kod-przyczyny: v Metoda nazwa może być usunięta tylko przez usunięcie
01 Związek spowoduje wielokrotną (wzdłuż kilku typu strukturalnego, który spowodował zdefiniowanie
ścieżek) zależność tabeli właściciel1.nazwa-tabeli1 metody. Nazwa metody odpowiada nazwie atrybutu dla
od tabeli właściciel2.nazwa-tabeli2 podczas typu strukturalnego.
usuwania przy użyciu tej samej reguły usuwania v Paczka nazwa może być usunięta tylko przez usunięcie
SET NULL. procedury SQL, która spowodowała zdefiniowanie pakietu.
Nazwę specyficzną procedury SQL można odczytać,
02 Związek spowoduje wielokrotną (wzdłuż kilku pobierając wartości DSCHEMA i DNAME z tabeli katalogu
ścieżek) zależność tabeli właściciel1.nazwa-tabeli1 SYSIBM.SYSDEPENDENCIES z klauzulą WHERE, w
od tabeli właściciel2.nazwa-tabeli2 podczas której BSCHEMA, BNAME i BUNIQUE_ID muszą
usuwania przy użyciu różnych reguł usuwania. odpowiadać poszczególnym częściom nazwy, BTYPE ma
wartość ’K’, a DTYPE - wartość ’L’. Znacznik spójności
Przetwarzanie instrukcji SQL zostało zakończone. (czyli unique_id) pozwala rozróżniać wersje pakietów
Działanie użytkownika: mające ten sam schemat i nazwę.
Popraw instrukcję. Ponów próbę. v Zmień lub usuń próg, korzystając z instrukcji ALTER
WORK ACTION SET lub DROP WORK ACTION SET.
kod_sql: -648 v Jedyny sposób wprowadzenia zmian do procedury nazwa
polega na usunięciu jej, a następnie ponownym jej
stan_sql: 42915 zdefiniowaniu.
v Pseudonim nazwa można zmienić w celu uniemożliwienia
buforowania tylko przez usunięcie wszystkich odwołań do

Rozdział 2. Komunikaty SQL 123


SQL0659N • SQL0668N

tego pseudonimu ze wszystkich definicji Zmień liczbę wartości określonych w klauzuli STARTING lub
zmaterializowanych tabel zapytań. ENDING na zgodną z liczbą kolumn w kluczu
partycjonowania tabeli. Możesz również zmienić liczbę
kod_sql: -658 kolumn w kluczu partycjonowania tabeli.

stan_sql: 42917 kod_sql: -663

stan_sql: 53038
SQL0659N Przekroczono maksymalną wielkość obiektu
tabelowego.
SQL0667N Nie można utworzyć FOREIGN KEY
Objaśnienie:
nazwa, ponieważ tabela zawiera wiersze z
Jeden lub więcej obiektów tworzących tabelę osiągnęło
wartościami kluczy obcych, których nie
maksymalną wielkość. Oto obiekty pamięci tworzące tabelę:
można znaleźć w kluczu nadrzędnym tabeli
v dane: miejsce przechowywania danych z kolumny nadrzędnej.
podstawowej,
Objaśnienie:
v indeks: miejsce przechowywania w tabeli wszystkich
Definicja wskazanego klucza obcego nie powiodła się,
indeksów,
ponieważ zmieniana tabela zawiera co najmniej jeden wiersz z
v długie dane: miejsce przechowywania danych z kolumn kluczem obcym niezgodnym z wartością klucza nadrzędnego
typu LONG VARCHAR i LONG VARGRAPHIC, w tabeli nadrzędnej.
v przypisanie LOB/LOB: miejsce przechowywania danych z
kolumn i informacji sterujących typu BLOB, CLOB oraz Jeśli podano ograniczenie, nazwa jest jego nazwą. Jeśli nazwa
DBCLOB. ograniczenia nie została określona, nazwa jest nazwą pierwszej
v XML: miejsce przechowywania danych XML. kolumny na liście kolumn klauzuli FOREIGN KEY z trzema
kropkami na końcu.
Gdy przechowywany obiekt osiągnie maksymalną wielkość,
nie można go dalej rozszerzać. Nie można wykonać instrukcji. Podana tabela nie została
zmieniona.
Działanie użytkownika:
Aby istniejący obszar wewnątrz obiektu mógł przechowywać Działanie użytkownika:
nowe dane, należy podjąć następujące działania: Usuń z tabeli błędne wiersze i zdefiniuj klucz obcy.
v przeorganizować tabelę,
kod_sql: -667
v usunąć z tabeli niepotrzebne wiersze,
v usunąć z tabeli indeksy, stan_sql: 23520
v zaktualizować wiersze, aby zredukować wielkość danych
(może trzeba będzie po tym wykonać reorganizację, aby SQL0668N Operacja nie jest dozwolona ze względu na
odzyskać niewykorzystywaną pamięć), kod przyczyny kod-przyczyny dotyczący
v usunąć niepotrzebne dokumenty XML. tabeli nazwa-tabeli.
Objaśnienie:
kod_sql: -659
Dostęp do tabeli nazwa-tabeli jest ograniczony. Przyczynę
można określić na podstawie następujących kodów przyczyny
stan_sql: 54032
kod przyczyny:
1 Tabela jest w stanie ustawiania integralności i bez
SQL0663N Liczba wartości partycjonowania dla
dostępu. Integralność tabeli nie jest wymuszana, a jej
partycji danych nazwa-partycji jest
zawartość może być niepoprawna. W przypadku
niepoprawna.
operacji na tabeli nadrzędnej lub tabeli bazowej,
Objaśnienie: która nie jest w stanie ustawiania integralności i bez
W klauzuli STARTING lub ENDING dla partycji danych dostępu, błąd ten może wystąpić także wówczas, gdy
określono niepoprawną liczbę wartości ograniczających klucz. istnieje tabela zależna będąca w tym stanie.
Jeśli specyfikacja partycji danych zawiera klauzulę EVERY,
2 Tabela jest w stanie bez przenoszenia danych. W
może być tylko jedna kolumna klucza partycjonowania tabeli z
tym stanie operacje powodujące przenoszenie
danymi typu liczbowego lub data/godzina. Jeśli nazwa-partycji
danych są niedozwolone. Do operacji przenoszenia
ma postać ″PARTITION=wartość″, oznacza to, że nazwa
danych należą REDISTRIBUTE, aktualizacja klucza
partycji była niedostępna, gdy wystąpił błąd. Podana wartość
partycjonowania bazy danych, aktualizacja klucza
identyfikuje wartość początkową i końcową zakresu partycji
grupowania wielowymiarowego, aktualizacja klucza
naruszającej reguły w klauzuli PARTITION LIST.
klastrowania zakresu, aktualizacja klucza
Działanie użytkownika: partycjonowania danych oraz REORG TABLE.

124 Komunikaty, tom 2


SQL0669N

3 Tabela jest w stanie ładowania w toku. Poprzednia 4 Wydaj komendę LOAD QUERY, aby sprawdzić, czy
próba wykonania operacji LOAD na tej tabeli nie tabela jest obecnie ładowana. Jeśli jest, poczekaj, aż
powiodła się. Dostęp do tabeli będzie zabroniony, moduł ładujący LOAD zakończy działanie, a jeśli to
dopóki operacja LOAD nie zostanie zrestartowana konieczne, zrestartuj lub zakończ poprzednią
lub zakończona. nieudaną operację LOAD. Jeśli operacja LOAD nie
jest obecnie wykonywana, wydaj instrukcję SET
4 Tabela jest w stanie prawa do odczytu. Ten stan
INTEGRITY z opcją IMMEDIATE CHECKED, aby
może występować podczas przetwarzania online
sprawdzić ograniczenia w nowo załadowanej części
instrukcji LOAD (LOAD INSERT z opcją READ
tabeli.
ACCESS) lub po operacji LOAD online, lecz zanim
zostaną sprawdzone wszystkie ograniczenia w 5 Poczekaj, aż bieżąca operacja LOAD zostanie
dodanej części tabeli z zastosowaniem instrukcji zakończona. Korzystając z komendy LOAD
SET INTEGRITY. Na tej tabeli nie są dozwolone QUERY, można monitorować postęp ładowania.
działania aktualizacyjne.
6 Zdefiniuj zmaterializowaną tabelę zapytania przy
5 Tabela jest w stanie ładowania w toku. Moduł użyciu opcji MAINTAIN BY USER. Następnie
ładujący LOAD operuje obecnie na tej tabeli i zapełnij tę tabelę, używając instrukcji INSERT z
dopóki nie zakończy działania dostęp do niej jest podzapytaniem.
zabroniony.
7 Wykonaj reorganizację tabeli przy użyciu komendy
6 Zmaterializowane tabele zapytań będące REORG TABLE (zwróć uwagę, że nie jest
odwołaniami do pseudonimu nie mogą być dozwolone użycie instrukcji INPLACE REORG
odświeżane w ESE. TABLE dla tabeli, która jest w stanie reorganizacji w
toku).
7 Tabela jest w stanie reorganizacji w toku. Może tak
być po instrukcji ALTER TABLE zawierającej 8 Zakończ jednostkę pracy i wydaj ponownie tę
zalecaną operację REORG. komendę.
8 Tabela jest w stanie zmieniania w toku. Może tak 9 Jeśli program narzędziowy REDISTRIBUTE działa
być, jeśli tabela jest używana w tej samej jednostce w tej chwili, poczekaj aż zakończy pracę na bieżącej
pracy, co instrukcja ALTER TABLE zawierająca tabeli. Korzystając z komendy LIST UTILITIES,
zalecaną operację REORG. można monitorować postęp działania programu
narzędziowego REDISTRIBUTE. Jeśli działanie
9 Tabela jest w stanie oczekiwania na redystrybucję.
poprzedniej operacji REDISTRIBUTE nie powiodło
Dostęp do niej jest zabroniony, dopóki program
się i spowodowało pozostawienie tabeli w tym
narzędziowy REDISTRIBUTE nie zakończy
stanie, wywołaj program narzędziowy
działania.
REDISTRIBUTE ponownie, podając opcję
Działanie użytkownika: CONTINUE lub ABORT i pozwól mu dokończyć
działanie na tej tabeli.
1 Wykonaj instrukcję SET INTEGRITY z opcją
IMMEDIATE CHECKED na tabeli nazwa-tabeli,
kod_sql: -668
aby wyprowadzić tabelę ze stanu ustawiania
integralności bez dostępu. W przypadku
stan_sql: 57007
obsługiwanej przez użytkownika zmaterializowanej
tabeli zapytania wykonaj instrukcję z opcją
IMMEDIATE UNCHECKED, a nie z opcją SQL0669N Nie można bezpośrednio usunąć indeksu
IMMEDIATE CHECKED. wymaganego przez system.
2 Wykonaj instrukcję REFRESH TABLE na Objaśnienie:
zależnych natychmiastowych zmaterializowanych Instrukcja DROP INDEX próbowała usunąć indeks wymagany
tabelach zapytań i tabelach pomostowych tabeli dla:
nazwa-tabeli. Zawartość zależnych v wymuszenia ograniczenia klucza podstawowego tabeli,
natychmiastowych zmaterializowanych tabel
zapytania i tabel pomostowych może być v wymuszenia ograniczenia przez unikalność na tabeli,
przyrostowo aktualizowana na podstawie dopisanych v wymuszenia unikalności kolumny identyfikatora obiektu
danych tabeli nazwa-tabeli z wcześniejszych (OID) dla hierarchii tabel o typie strukturalnym,
operacji LOAD INSERT i z dołączonych danych v konserwacji replikowanej zmaterializowanej tabeli
tabeli nazwa_tabeli z wcześniejszych operacji zapytania,
ALTER TABLE wykonanych z użyciem klauzuli
v konserwacji kolumny XML w tabeli.
ATTACH.
3 Zrestartuj lub zakończ nieudaną operację LOAD na Nie można jawnie usunąć indeksu wymaganego przez system,
tej tabeli, wydając komendę LOAD odpowiednio z podając instrukcję DROP INDEX.
opcją RESTART lub TERMINATE.

Rozdział 2. Komunikaty SQL 125


SQL0670N • SQL0672N

Nie można wykonać instrukcji. Podany indeks nie został v Długość wiersza tabeli zdefiniowana w instrukcji
usunięty. DECLARE GLOBAL TEMPORARY TABLE przekracza
limit wielkości strony obszaru tabel. Nazwa tymczasowego
Działanie użytkownika:
obszaru tabel użytkownika nazwa-obszaru-tabel
Jeśli nie chcesz zachować ograniczenia głównego lub
identyfikuje obszar tabel, w którym do określania limitu
ograniczenia przez unikalność, użyj klauzuli DROP
długości wiersza była używana wielkość strony.
PRIMARY KEY lub klauzuli DROP CONSTRAINT
instrukcji ALTER TABLE, aby usunąć klucz podstawowy lub
Nie można wykonać instrukcji.
ograniczenie przez unikalność. Jeśli indeks został utworzony w
celu wymuszenia klucza podstawowego lub klucza Działanie użytkownika:
unikalnego, indeks zostanie usunięty. Jeśli nie, instrukcja W zależności od przyczyny wykonaj jedną z następujących
DROP INDEX zostanie wykonana. czynności.
v W przypadku instrukcji CREATE TABLE, ALTER TABLE
Indeks dla kolumny OID można usunąć tylko usuwając tabelę. lub DECLARE GLOBAL TEMPORARY TABLE, określ
obszar tabel o większej wielkości strony, jeśli jest to
Indeks wymagany do obsługi replikowanej zmaterializowanej możliwe.
tabeli zapytania można usunąć pod warunkiem, że najpierw
v Jeśli nie, zmniejsz długość wiersza, eliminując jedną lub
zostanie usunięta ta tabela.
kilka kolumn albo zmniejszając długość jednej lub kilku
kolumn.
Nie można jawnie usunąć wymaganych przez system
indeksów związanych z jedną lub wieloma kolumnami XML
kod_sql: -670
w tabeli. Konserwacją takich indeksów zajmuje się menedżer
baz danych w celu obsłużenia kolumn XML w tabeli. Nie
stan_sql: 54010
można usunąć indeksu określonego w instrukcji DROP
INDEX, nie usuwając tabeli.
SQL0672N Operacja DROP nie jest dozwolona dla
kod_sql: -669 tabeli nazwa-tabeli.
Objaśnienie:
stan_sql: 42917
Operacja DROP nie powiodła się ze względu na jedną z
następujących przyczyn:
SQL0670N Długość wiersza tabeli przekracza limit v Usuwana tabela ma atrybut RESTRICT ON DROP.
długość bajtów. (Obszar tabel
v Usuwany obszar tabel lub grupa partycji bazy danych
nazwa-obszaru-tabel).
zawiera wskazaną tabelę, która ma atrybut RESTRICT ON
Objaśnienie: DROP.
Długość wiersza tabeli menedżera baz danych nie może
przekroczyć: Nie można wykonać instrukcji DROP.
v 4005 bajtów w obszarze tabel o wielkości strony równej 4 Działanie użytkownika:
kB, Jeśli problem wystąpił podczas instrukcji DROP TABLE,
v 8101 bajtów w obszarze tabel o wielkości strony równej 8 wydaj instrukcję ALTER TABLE, korzystając z klauzuli
kB, DROP RESTRICT ON DROP. Następnie ponownie wydaj
v 16293 bajtów w obszarze tabel o wielkości strony równej 16 instrukcję DROP TABLE.
kB,
Jeśli problem wystąpił podczas przetwarzania instrukcji DROP
v 32677 bajtów w obszarze tabel o wielkości strony równej 32
TABLESPACE lub DROP NODEGROUP, należy zadbać o to,
kB.
by w obszarze tabel lub grupie partycji bazy danych nie było
innych tabel z atrybutem RESTRICT ON DROP. Poniższa
Długość tę liczy się dodając wewnętrzne długości kolumn.
instrukcja SELECT może pomóc w zidentyfikowaniu takich
Szczegóły dotyczące wewnętrznych długości kolumn znajdują
tabel:
się pod hasłem CREATE TABLE w podręczniku SQL
Reference. SELECT TB.TABNAME, TB.TABSCHEMA,
TS.TBSPACE, TS.NGNAME
FROM SYSCAT.TABLES TB,
Mógł wystąpić jeden z następujących warunków: SYSCAT.TABLESPACES TS
v Długość wiersza tabeli zdefiniowana w instrukcji CREATE WHERE TYPE = ’T’
TABLE lub ALTER TABLE przekracza limit wielkości AND DROPRULE = ’R’
strony obszaru tabel. Zwykły obszar tabel AND TB.TBSPACEID = TS.TBSPACEID
nazwa-obszaru-tabel identyfikuje obszar tabel, którego ORDER BY TS.NGNAME, TS.TBSPACE,
wielkość strony posłużyła do określenia limitu długości TB.TABSCHEMA, TB.TABNAME;
wiersza.
Po zidentyfikowaniu tabel z atrybutem RESTRICT ON DROP
wydaj instrukcję ALTER TABLE, stosując klauzulę DROP

126 Komunikaty, tom 2


SQL0673N • SQL0683N

RESTRICT ON DROP dla każdej tabeli z atrybutem


SQL0680N Dla tabeli, widoku albo funkcji tabelowej
RESTRICT ON DROP. Następnie ponownie wydaj instrukcję
podano zbyt wiele kolumn.
DROP TABLESPACE lub DROP NODEGROUP.
Objaśnienie:
kod_sql: -672 Maksymalna liczba kolumn dopuszczalna dla każdej tabeli jest
powiązana z wielkością strony obszaru tabel i typami danych
stan_sql: 55035 kolumn. Ograniczenia dla tabel są następujące:
v strona 4 kB dopuszcza 500 kolumn
SQL0673N Nie można utworzyć indeksu klucza v strona 8 kB, 16 kB i 32 kB dopuszcza 1012 kolumn.
podstawowego lub unikalnego, ponieważ
tabela zawiera wiersze z powtarzającymi się Rzeczywista liczba kolumn dla tabeli jest określana przez
wartościami w kolumnach wchodzących w następującą formułę: Liczba wszystkich kolumn * 8 + Liczba
skład klucza podstawowego lub unikalnego kolumn typu LOB * 12 + Liczba kolumn odnośników * 28 <=
dla ograniczenia nazwa. ograniczenia wielkości wiersza dla wielkości strony.
Objaśnienie:
Maksymalna liczba kolumn dopuszczalna dla każdego widoku
Definicja klucza podstawowego lub unikalnego dla
wynosi 5000.
ograniczenia identyfikowanego przez nazwa nie powiodła się,
ponieważ zmieniana tabela zawiera już wiersze z powielonymi
Maksymalna liczba kolumn dopuszczalna dla funkcji
wartościami kolumn podanych w klauzuli PRIMARY KEY
tabelowej wynosi 255.
lub UNIQUE.
Maksymalna dozwolona liczba kolumn w pseudonimie wynosi
Jeśli podano ograniczenie, nazwa jest jego nazwą. Jeśli nie
5000.
podano nazwy ograniczenia, nazwa jest nazwą pierwszej
kolumny podanej w klauzuli klucza podstawowego lub
ograniczenia przez unikalność z trzema kropkami na końcu. Użytkownicy systemów stowarzyszonych: Inne źródła danych
mogą mieć inne ograniczenia dotyczące maksymalnej liczby
kolumn. Ograniczenie zostało przekroczone.
Nie można wykonać instrukcji. Podana tabela nie została
zmieniona.
Nie można wykonać instrukcji.
Działanie użytkownika:
Przed próbą zdefiniowania klucza podstawowego lub Działanie użytkownika:
unikalnego usuń z tabeli błędne wiersze. Sprawdź, czy liczba kolumn w tabeli lub widoku nie
przekracza limitu. Jeśli utworzenie tabeli o większym
rozmiarze strony pozwoliłoby na wykorzystanie żądanej liczby
kod_sql: -673
kolumn, podaj obszar tabel o większym rozmiarze strony.
Utwórz osobne tabele lub widoki, jeśli jest to wymagane, aby
stan_sql: 23515
przechowywać dodatkowe informacje przekraczające limit.

SQL0678N Literał literał musi być zgodny z typem Użytkownicy systemów stowarzyszonych: Ogranicz liczbę
danych typ-danych kolumny nazwa-kolumny. kolumn tabeli do maksimum obsługiwanego przez źródło
danych. Utwórz osobne tabele lub widoki, jeśli wymagane jest
Objaśnienie:
przechowanie informacji przekraczających maksymalną liczbę
Literał literał określony dla klauzuli STARTING, ENDING
kolumn obsługiwaną przez źródło danych.
lub EVERY jest niezgodny z typem danych kolumny
nazwa-kolumny. Typ danych kolumny to typ-danych. Wartość
kod_sql: -680
literału użytego w klauzuli EVERY nie może być zerem ani
liczbą ujemną. Jeśli klauzula PARTITION BY określa dane
typu data/godzina, klauzula EVERY musi określać czas stan_sql: 54011
trwania.
Działanie użytkownika: SQL0683N Specyfikacja kolumny, atrybutu, typu
Określ poprawny literał w klauzuli STARTING, ENDING lub zdefiniowanego przez użytkownika lub
EVERY. funkcji zdefiniowanej przez użytkownika
pozycja-danych zawiera niezgodne klauzule.
kod_sql: -678 Objaśnienie:
Wystąpił błąd w specyfikacji elementu danych w instrukcji
stan_sql: 53045 CREATE, ALTER lub w wyrażeniu XMLTABLE. Wystąpiły
niezgodne specyfikacje, na przykład: ″INTEGER and FOR
BIT DATA″. Jeśli kolumna jest typu DB2SECURITYLABEL,

Rozdział 2. Komunikaty SQL 127


SQL0695N • SQL0697N

niezgodną specyfikacją jest na przykład NOT NULL WITH Aby uzyskać nazwę strategii bezpieczeństwa dla podanego
DEFAULT. Wartość funkcji pozycja-danych opisuje błąd w identyfikatora strategii, należy użyć tego zapytania SQL.
następujący sposób: Należy zastąpić identyfikator-strategii numerem identyfikatora
v w przypadku instrukcji CREATE TABLE, ALTER TABLE strategii podanym w komunikacie o błędzie.
lub wyrażenia XMLTABLE element danych SELECT SECPOLICYNAME
element-danych jest nazwą kolumny, w której wystąpił błąd, FROM SYSCAT.SECURITYPOLICIES
WHERE SECPOLICYID = id-strategii
v w wypadku instrukcji CREATE FUNCTION
element-danych jest elementem identyfikującym w
instrukcji obszar, którego dotyczy problem; na przykład kod_sql: -695
″PARAMETER 3″, ″RETURNS″ lub ″CAST FROM″,
stan_sql: 23523
v dla instrukcji CREATE DISTINCT TYPE pozycja-danych
podaje nazwę definiowanego typu,
v dla instrukcji CREATE lub ALTER TYPE pozycja-danych SQL0696N W definicji wyzwalacza nazwa-wyzwalacza
podaje nazwę atrybutu zawierającego błąd. niepoprawnie użyto nazwy korelacji lub
nazwy tabeli przejściowej nazwa. Kod
Nie można wykonać instrukcji. przyczyny = kod-przyczyny.

Działanie użytkownika: Objaśnienie:


Usuń niezgodności i spróbuj ponownie wykonać instrukcję. W definicja wyzwalacza użyto niepoprawnej nazwy nazwa.
Wartość kod-przyczyny wskazuje na jedną z następujących
przyczyn błędu:
kod_sql: -683
1 nazwa korelacji NEW i nazwa NEW_TABLE są
stan_sql: 42842 niedozwolone w wyzwalaczu DELETE,
2 nazwa korelacji OLD i nazwa OLD_TABLE są
SQL0695N Podanej wartości (etykieta-bezpieczeństwa) niedozwolone w wyzwalaczu INSERT,
nie można przekształcić w etykietę
3 nazwa OLD_TABLE i nazwa NEW_TABLE są
bezpieczeństwa. W strategii bezpieczeństwa
niedozwolone w wyzwalaczu BEFORE.
o identyfikatorze strategii id-strategii
wartość elementu wartość-elementu nie
odpowiada żadnemu elementowi w Nie można wykonać instrukcji.
komponencie na pozycji porządkowej Działanie użytkownika:
numer. Usuń niepoprawną nazwę korelacji lub nazwę tabeli
Objaśnienie: przejściowej wraz z poprzedzającym ją parametrem.
W instrukcji INSERT lub UPDATE określono wartość dla
kolumny typu DB2SECURITYLABEL. Tej wartości nie kod_sql: -696
można przekształcić w poprawną etykietę bezpieczeństwa w
ramach strategii bezpieczeństwa ochraniającej tabelę. Jeśli stan_sql: 42898
wartość etykieta-bezpieczeństwa jest równa *N, rzeczywista
wartość zostanie zapisana w pliku db2diag.log. SQL0697N Nazwy korelacji OLD lub NEW są
niedozwolone w wyzwalaczu zdefiniowanym
Wystąpił problem związany z wartością w komponencie z klauzulą FOR EACH STATEMENT.
wskazywanym przez numer komponentu. Pozycja porządkowa
odwołuje się do pozycji komponentu w klauzuli Objaśnienie:
COMPONENTS instrukcji CREATE SECURITY POLICY Definicja wyzwalacza zawiera klauzulę REFERENCING z
używanej do tworzenia strategii. Wartość wskazanego podaną nazwą korelacji OLD lub NEW (lub obydwoma) i
elementu nie odpowiada poprawnemu elementowi w tym klauzulę FOR EACH STATEMENT. Nie mogą one
komponencie. występować jednocześnie.

Działanie użytkownika: Nie można wykonać instrukcji.


Sprawdź instrukcję INSERT lub UPDATE i upewnij się, że
wartość ustawiana w kolumnie etykiet bezpieczeństwa jest Działanie użytkownika:
poprawna dla strategii bezpieczeństwa używanej do ochrony Usuń nazwy korelacji OLD lub NEW z klauzuli
tabeli. Czasami niepoprawna wartość może zostać REFERENCING lub zastąp klauzulę FOR EACH
wygenerowana w wyniku użycia instrukcji SELECT STATEMENT klauzulą FOR EACH ROW.
wykonanej z poziomu tabeli niechronionej przy użyciu tej
samej strategii bezpieczeństwa, która używana jest względem kod_sql: -697
tabeli docelowej. Etykiety bezpieczeństwa można kopiować
tylko między tabelami chronionymi przez tę samą strategię stan_sql: 42899
bezpieczeństwa.

128 Komunikaty, tom 2


SQL0707N • SQL0720N

nazwa-pakietu
SQL0707N Nazwa nazwa nie może zostać użyta,
Nazwa pakietu w postaci ’schemat-pakietu.nazwa-
ponieważ podany identyfikator jest
pakietu.wersja-pakietu’. Jeśli wersja pakietu jest
zarezerwowany dla systemu.
łańcuchem pustym, człon ’.wersja-pakietu’ w nazwie
Objaśnienie: zostanie pominięty.
Lista zarezerwowanych nazw:
v nazwa obszaru tabel nie może zaczynać się literami ’SYS’, Pakiet nie został utworzony.
v nazwa grupy partycji bazy danych nie może się zaczynać od Działanie użytkownika:
’SYS’ ani ’IBM’, Oto możliwe sposoby uniknięcia prób dodawania powielonych
v nazwa punktu zapisu nie może się zaczynać od ’SYS’, pozycji:
v nazwa roli nie może zaczynać się od tekstu ’SYS’ i nie v W widoku katalogu SYSCAT.PACKAGES odszukaj nazwy
może to być ’DBADM’, ’NONE’, ’NULL, ’PUBLIC’ ani istniejących pakietów aplikacji. Ponownie wywołaj
’SECADM’, instrukcję PRECOMPILE lub BIND, lecz tym razem z
nazwą ’schemat-pakietu.nazwa-pakietu.wersja-pakietu’,
v nazwa obciążenia nie może zaczynać się od łańcucha
która nie jest używana.
’SYS’.
v Ponownie wydaj instrukcję PREP lub BIND bez opcji
Działanie użytkownika: ACTION ADD. Spowoduje to zastąpienie istniejącego
Wybierz nazwę, która nie jest zarezerwowana. pakietu.

kod_sql: -707 kod_sql: -719

stan_sql: 42939 stan_sql: 42710

SQL0713N Wartość zastępująca dla rejestr-specjalny SQL0720N Podejmowana jest próba zastąpienia
jest niepoprawna. pakietu schemat-pakietu.nazwa-pakietu
Objaśnienie: wersją wersja-pakietu, ale wersja ta już
Wartość podana w instrukcji SET rejestr-specjalny nie jest istnieje.
poprawną wartością danego rejestru specjalnego, podana Objaśnienie:
wartość jest poprawna dla rejestru specjalnego, ale nie może Podejmowana jest próba utworzenia istniejącej już wersji
być użyta na bieżącym serwerze lub podano zmienną pakietu z zastosowaniem opcji ACTION REPLACE
indykacyjną do wskazania wartości pustej. REPLVER. Wersja określona w parametrze REPLVER różni
się od wersji określonej w opcji prekompilacji VERSION.
Nie można wykonać instrukcji. Wersja określona w opcji prekompilacji VERSION już istnieje
Działanie użytkownika: w katalogu. Kombinacja ’schemat-pakietu.nazwa-
Popraw wartość zastępującą i/lub zmienne indykacyjne. pakietu.wersja’ musi być unikalna w widoku katalogu
Należy zajrzeć do podręcznika SQL Reference w celu SYSCAT.PACKAGES.
uzyskania wyjaśnień dotyczących poprawnych wartości dla
każdego rejestru specjalnego. Często użytkownicy mylnie sądzą, że tworzona wersja to ta,
która jest określona w parametrze REPLVER. Tak jednak nie
kod_sql: -713 jest. Wersja określona w parametrze REPLVER to nazwa
wersji, która jest zastępowana. Wersja, która zostanie
utworzona, jest przekazywana do programu w opcji
stan_sql: 42815
VERSION.

SQL0719N Błąd wiązania dotyczący użytkownika Nie utworzono pakietu.


id-autoryzowanego-użytkownika. Pakiet
nazwa-pakietu już istnieje. Działanie użytkownika:
Upewnij się, że tworzona wersja jeszcze nie istnieje.
Objaśnienie:
Podejmowana jest próba dodania pakietu, który już istnieje; Problem można próbować rozwiązać na dwa sposoby:
używana jest w tym celu instrukcja PRECOMPILE lub BIND
v Ponownie przeprowadź prekompilację programu, tym razem
z opcją ACTION ADD. Kombinacja ’schemat-pakietu.nazwa-
z nową nazwą wersji, i ponownie wydaj tę samą komendę
pakietu.wersja-pakietu’ musi być unikalna w widoku katalogu
PREP lub BIND.
SYSCAT.PACKAGES.
v Drugi sposób polega na ponownym wydaniu komendy
id-autoryzowanego-użytkownika PREP lub BIND z klauzulą ACTION REPLACE bez
ID autoryzowanego użytkownika wywołującego specyfikacji REPLVER. Wówczas w wyniku operacji
komendę BIND lub PREP. REPLACE zostanie zastąpiona wersja zgodna z wersją
określoną w opcji VERSION.

Rozdział 2. Komunikaty SQL 129


SQL0721N • SQL0724N

kod_sql: -720 pakietu.wersja-pakietu’. Jeśli wersja pakietu jest


łańcuchem pustym, człon ’.wersja-pakietu’ w nazwie
stan_sql: 42710 zostanie pominięty.

Pakiet nie został powiązany ani ponownie powiązany.


SQL0721N Nie można utworzyć pakietu
schemat-pakietu.nazwa-pakietu ze Objaśnienie:
znacznikiem spójności = W widoku katalogu SYSCAT.PACKAGES odszukaj
0Xznacznik-spójności, ponieważ nie jest on poprawną specyfikację ’schemat-pakietu.nazwa-
unikalny. pakietu.wersja-pakietu’, aby określić ją w opcji REPLVER.
Objaśnienie:
kod_sql: -722
Podejmowana jest próba dodania lub usunięcia pakietu ze
znacznikiem spójności, który nie jest unikalny dla tego
pakietu. Kombinacja ’schemat-pakietu.nazwa- stan_sql: 42704
pakietu.znacznik-spójności’ już istnieje. Najprawdopodobniej
przyczyną jest określenie znacznika spójności za pomocą opcji SQL0723N W wyzwalanej instrukcji SQL w
LEVEL w instrukcji PRECOMPILE. wyzwalaczu nazwa-wyzwalacza wystąpił
błąd. Zwrócone informacje dotyczące błędu
Pakiet nie został utworzony. obejmują kod SQLCODE kod_sql, stan
SQLSTATE stan_sql oraz elementy
Działanie użytkownika:
komunikatu lista-elementów.
W tabeli katalogu SYSCAT.PACKAGES odszukaj nazwy
istniejących pakietów aplikacji ze wskazanym w komunikacie Objaśnienie:
znacznikiem spójności. Ponownie wydaj komendę PREP lub Instrukcja SQL w wyzwalaczu nazwa-wyzwalacza zawiodła w
BIND ze specyfikacją ’schemat-pakietu.nazwa- trakcie pracy wyzwalacza. Podawane są: kod sql, stan sql i
pakietu.znacznik-spójności’, która jest unikalna w katalogu. lista elementów komunikatów (elementy są oddzielane
Do przeszukania katalogu można użyć następującej instrukcji pionową kreską). Znaczniki komunikatów mogą zostać
SQL: obcięte. Aby otrzymać dodatkowe wyjaśnienia błędu, zapoznaj
SELECT PKGSCHEMA,PKGNAME się z odpowiednim komunikatem dla kodu kod_sql.
FROM SYSCAT.PACKAGES
WHERE HEX(UNIQUE_ID) = ’znacznik-spójności’; Wyzwalacz oraz pierwotna instrukcja SQL, która
spowodowała działanie wyzwalacza, nie mogą być
Gdyby przy prekompilacji użyto opcji LEVEL, ponowne wykonywane.
wydanie komendy prekompilacji i określenie innej wartości
Działanie użytkownika:
LEVEL zmieniłoby znacznik spójności. Zaleca się rezygnację
Sprawdź komunikat związany z kodem SQLCODE instrukcji
z użycia opcji LEVEL; nieokreślenie opcji LEVEL przy
SQL, która się nie powiodła. Wykonaj działanie proponowane
prekompilacji spowoduje, że znacznik spójności będzie równy
w komunikacie.
bieżącej wartości datownika.

kod_sql: -723
SQL0722N Błąd podczas wykonywania komendy
komenda-wiązania dla użytkownika stan_sql: 09000
id-autoryzowanego-użytkownika. Pakiet
nazwa-pakietu nie istnieje.
SQL0724N Aktywacja obiektu nazwa-obiektu typu
Objaśnienie: typ-obiektu spowodowałaby przekroczenie
Wydano komendę wiązania lub ponownego wiązania maksymalnego poziomu kaskadowania
nieistniejącego pakietu. Błąd mógł wystąpić, jeśli określono pośredniego kodu SQL.
opcję ACTION REPLACE, a w opcji REPLVER określono
wersję, która nie istnieje. Objaśnienie:
Kaskadowanie pośredniego kodu SQL występuje wtedy, gdy
komenda-wiązania wyzwalacz aktywuje inny wyzwalacz (na przykład w wyniku
Typ komendy wiązania (BIND | REBIND). Uwaga: reguł usuwania w ograniczeniu referencyjnym) lub procedura
wartość ’BIND’ zostanie również użyta do zawierająca kod SQL wywołuje inną procedurę.
prekompilacji. Kaskadowanie może obejmować maksymalnie 16 poziomów
id-autoryzowanego-użytkownika w przypadku wyzwalaczy i 64 poziomy w przypadku
ID autoryzowanego użytkownika, który wydał procedur.
komendę wiązania lub ponownego wiązania.
Uwaga: Układ rekurencyjny, czyli taki, w którym wyzwalacz
nazwa-pakietu zawiera wyzwalaną instrukcję SQL powodującą, bezpośrednio
Nazwa pakietu w postaci ’schemat-pakietu.nazwa- lub pośrednio, że aktywowany jest ten sam wyzwalacz, lub
taki, w którym procedura bezpośrednio lub pośrednio

130 Komunikaty, tom 2


SQL0727N • SQL0740N

wywołuje samą siebie, stanowi formę kaskadowania, która z Podawane są: kod sql, stan sql i lista elementów komunikatów
dużym prawdopodobieństwem jest przyczyną tego błędu, o ile (elementy są oddzielane pionową kreską). Znaczniki
nie narzucono warunków zapobiegających przekroczeniu komunikatów mogą zostać obcięte. Aby otrzymać dodatkowe
limitu kaskadowania. wyjaśnienia błędu, zapoznaj się z odpowiednim komunikatem
dla kodu kod_sql.
Typ typ-obiektu to TRIGGER, FUNCTION, METHOD albo
PROCEDURE. Oryginalna instrukcja języka SQL albo komenda, w której
wyniku wykonano typ-działania nie mogła zostać
Określony obiekt nazwa-obiektu jest jednym z obiektów, które przetworzona i niejawne działanie systemu zakończyło się
zostałyby aktywowane na siedemnastym poziomie niepowodzeniem.
kaskadowania.
Użytkownicy systemów stowarzyszonych: Komunikat ten
Działanie użytkownika:
mógł się pojawić, ponieważ instrukcja SQL została
Zacznij od obiektów aktywowanych lub wywołanych przez
przygotowana dynamicznie w sesji tranzytowej, a następnie
instrukcję, która spowodowała ten błąd. Jeśli którykolwiek z
próbowano wykonać tę instrukcję po zamknięciu sesji.
tych obiektów jest rekurencyjny, wprowadź warunek
uniemożliwiający aktywowanie lub wywołanie obiektu więcej Działanie użytkownika:
razy, niż pozwala na to limit. Jeśli nie to jest przyczyną Sprawdź komunikat związany z kodem SQLCODE instrukcji
problemu, prześledź ciąg aktywowanych lub wywołanych SQL, która się nie powiodła. Wykonaj działanie proponowane
obiektów, aby rozpoznać ciąg, który przekracza limit w komunikacie.
kaskadowania.
Dla niepoprawnego pakietu można użyć instrukcji REBIND,
kod_sql: -724 aby odtworzyć błąd albo jawnie sprawdzić poprawność
pakietu po odnalezieniu przyczyny błędu.
stan_sql: 54038
W razie niepowodzenia przy ponownym generowaniu widoku
nazwa odpowiedniego widoku jest rejestrowana w dzienniku
SQL0727N Podczas wykonywania niejawnego działania
powiadomień administracyjnych. Można usunąć błędny widok
typu typ-działania wystąpił błąd. Zwrócone
lub zmienić instrukcję albo komendę, która spowodowała
informacje dotyczące błędu obejmują kod
ponowne generowanie widoku.
SQLCODE kod_sql, stan SQLSTATE
stan_sql oraz elementy komunikatu
Użytkownicy systemów stowarzyszonych: Jeśli instrukcja,
lista-elementów.
która się nie powiodła, była przygotowana dynamicznie w
Objaśnienie: czasie sesji tranzytowej, otwórz inną sesję tranzytową,
Przetwarzanie instrukcji albo komendy zmusiło Menedżera ponownie napisz i przygotuj instrukcję, a następnie wykonaj
baz danych do niejawnego wykonania dodatkowego ją, dopóki sesja jest otwarta.
przetwarzania. Podczas tego przetwarzania wystąpił błąd.
Próbowano wykonać następujące działanie typ-działania: kod_sql: -727
1 niejawne ponowne wiązanie pakietu,
stan_sql: 56098
2 niejawne przygotowanie buforowanej dynamicznej
instrukcji SQL,
SQL0740N Procedura nazwa-procedury (nazwa
3 niejawne ponowne generowanie widoku, specyficzna nazwa-specyficzna) jest
zdefiniowana z opcją MODIFIES SQL
4 ten kod powrotu jest zarezerwowany do użytku DB2,
DATA, która nie jest poprawna w
5 przyrostowe wiązanie statycznej instrukcji SQL, kontekście, w którym procedura ta została
niezwiązanej w czasie wiązania pakietu. wywołana.
6 niejawne przygotowanie instrukcji nadającej się do Objaśnienie:
ponownej optymalizacji i zawierającej zmienne Procedura nazwa-procedury (nazwa specyficzna
języka macierzystego, rejestry specjalne lub nazwa-specyficzna) jest zdefiniowana z opcją MODIFIES SQL
znaczniki parametrów. DATA i dlatego nie jest dozwolone jej użycie:
7 niejawne ponowne generowanie wyzwalacza. v w wyzwalaczu BEFORE,
v w skorelowanym podzapytaniu,
8 niejawne ponowne generowanie funkcji.
v w warunku wyszukiwania (takim jak klauzula WHERE lub
9 niejawne ponowne generowanie ograniczenia ograniczenie sprawdzające).
sprawdzającego.
Działanie użytkownika:
10 niejawne tworzenie instancji zmiennej globalnej.

Rozdział 2. Komunikaty SQL 131


SQL0746N • SQL0751N

Upewnij się, że wynikiem translacji jest właściwa procedura. v Odwołanie do tej tabeli następuje w jednym lub kilku
Usuń procedurę z wadliwej instrukcji lub przedefiniuj istniejących widokach.
procedurę, stosując indykator dostępu SQL inny niż v Do tabeli istnieje odwołanie w co najmniej jednej istniejącej
MODIFIES SQL DATA. zmaterializowanej tabeli zapytania.
v Odwołanie do tej tabeli następuje w jednym lub kilku
kod_sql: -740
istniejących wyzwalaczach. Dotyczy to również
wyzwalaczy znajdujących się w tabeli albo odwołań z
stan_sql: 51034 wyzwalanych instrukcji SQL.
v Odwołanie do tej tabeli następuje w jednej lub kilku
SQL0746N Procedura nazwa-procedury (nazwa istniejących funkcjach lub metodach SQL.
specyficzna nazwa-specyficzna) naruszyła v Tabela ma zdefiniowane ograniczenie sprawdzania.
reguły dotyczące zagnieżdżonych instrukcji Dotyczy to także ograniczenia sprawdzającego
SQL przy próbie wykonania operacji spowodowanego przez wygenerowane kolumny.
operacja na tabeli nazwa-tabeli.
v Tabela jest powiązana z jednym lub kilkoma
Objaśnienie: ograniczeniami referencyjnymi i występuje jako tabela
Procedura nazwa-procedury (nazwa specyficzna nadrzędna lub zależna.
nazwa-specyficzna) próbowała wykonać operację operacja na v Określona tabela to tabela docelowa dla operacji
tabeli nazwa-tabeli. Ta operacja koliduje z innymi dekompozycji jednego lub wielu obiektów w repozytorium
przypadkami użycia tabeli przez aplikację albo procedurę schematów XML.
bezpośrednio lub pośrednio wywołaną z tej aplikacji.
Nie można wykonać instrukcji.
Jeśli operacją tą jest “READ”, to aplikacja albo inna procedura
obecnie dokonuje zapisu w tabeli nazwa-tabeli. Działanie użytkownika:
Przed wydaniem instrukcji RENAME Usuń widoki,
Jeśli operacją tą jest “MODIFY”, to aplikacja albo inna zmaterializowane tabele zapytania, wyzwalacze, funkcje SQL,
procedura już odczytuje tabelę nazwa-tabeli lub dokonuje w metody SQL, ograniczenia sprawdzające, ograniczenia
niej zapisu. referencyjne lub obiekty XSR zawierające odwołania do danej
tabeli. Aby odszukać widoki lub zmaterializowane tabele
Jeśli tabela nazwa-tabeli zawiera odwołanie do tabeli zapytania zależne od danej tabeli, skieruj zapytanie do
wyjaśniania, a instrukcją, która spowodowała wystąpienie tego SYSCAT.VIEWDEP, wyszukując tabelę, na podstawie kolumn
komunikatu o błędzie, jest PREPARE albo EXECUTE BSCHEMA i BNAME. Aby odszukać wyzwalacze zależne od
IMMEDIATE, to konflikt wystąpił przy wstawianiu informacji danej tabeli, skieruj zapytanie do SYSCAT.TRIGDEP,
dotyczących wyjaśniania do tabeli wyjaśniania. wyszukując tabelę na podstawie kolumn BSCHEMA i
BNAME. Aby odszukać funkcje SQL lub metody SQL, skieruj
Działanie użytkownika: zapytanie do SYSCAT.FUNCDEP, wyszukując tabelę na
Operacja może zakończyć się powodzeniem, jeśli zostanie podstawie kolumn BSCHEMA i BNAME. Aby odszukać
ponowiona. Zmodyfikuj aplikację albo procedurę, aby uniknąć ograniczenia sprawdzające nałożone na daną tabelę, skieruj
konfliktu. zapytanie do SYSCAT.CHECKS, wyszukując tabelę na
podstawie kolumn TABSCHEMA i TABBNAME. Aby
Jeśli konflikt wystąpił przy wstawianiu informacji dotyczących odszukać ograniczenia referencyjne zależne od danej tabeli,
wyjaśniania instrukcji dynamicznej, wyłącz wyjaśnianie skieruj zapytanie do SYSCAT.REFERENCES, wyszukując
instrukcji dynamicznych i ponownie wywołaj instrukcję tabelę na podstawie kolumn TABSCHEMA i TABNAME lub
PREPARE lub instrukcję EXECUTE IMMEDIATE. kolumn REFTABSCHEMA i REFTABNAME. W przypadku
obiektów XSR, dla których włączona jest funkcja
kod_sql: -746 dekompozycji z daną tabelą jako celem, skieruj zapytanie do
SYSCAT.XSROBJECTDEP, w którym tabela jest zgodna z
stan_sql: 57053 BSCHEMA i BNAME.

kod_sql: -750
SQL0750N Nie można zmienić nazwy tabeli źródłowej,
ponieważ w widoku, zmaterializowanej
stan_sql: 42986
tabeli zapytania, wyzwalaczu, funkcji SQL,
metodzie SQL, ograniczeniu
sprawdzającym, ograniczeniu SQL0751N Procedura nazwa-procedury (nazwa
referencyjnym lub obiekcie XSR występuje specyficzna nazwa-specyficzna) próbowała
odwołanie do danej tabeli. wykonać niedozwoloną instrukcję.
Objaśnienie: Objaśnienie:
Nie można zmienić nazwy tabeli źródłowej przy pomocy Program użyty do zaimplementowania treści procedury nie jest
instrukcji RENAME z jednej z następujących przyczyn: uprawniony do wydawania jakichkolwiek instrukcji
połączenia. Jeśli procedurą jest funkcja lub metoda, instrukcje

132 Komunikaty, tom 2


SQL0752N • SQL0778N

COMMIT i ROLLBACK (bez opcji SAVEPOINT) również są Usuń instrukcję COMMIT lub ROLLBACK albo zmień
niedozwolone. Jeśli procedura jest wywoływana z kontekst, tak aby nie była to niepodzielna (ATOMIC)
wyzwalacza, funkcji, metody lub złożonej instrukcji instrukcja złożona.
dynamicznej, w procedurze tej nie mogą występować
instrukcje COMMIT lub ROLLBACK. kod_sql: -774
Działanie użytkownika:
Usuń niedozwoloną instrukcję, następnie dokonaj rekompilacji stan_sql: 2D522
programu.
SQL0776N Użycie kursora nazwa-kursora jest
kod_sql: -751 niepoprawne.
Objaśnienie:
stan_sql: 38003, 42985
Kursor nazwa-kursora jest określony jako nazwa kursora w
instrukcji FOR w procedurze SQL. Kursor nie może zostać
SQL0752N Nie można łączyć się z bazą danych w określony w instrukcjach CLOSE, FETCH lub OPEN,
ramach logicznej jednostki pracy, gdy znajdujących się wewnątrz instrukcji FOR.
używane jest ustawienie CONNECT typu 1.
Działanie użytkownika:
Objaśnienie: Usuń instrukcję CLOSE, FETCH lub OPEN.
Przed wywołaniem instrukcji COMMIT lub ROLLBACK
próbowano połączyć się z tą samą lub z inną bazą danych. kod_sql: -776
Żądania nie można zrealizować w ramach połączenia
CONNECT typu 1. stan_sql: 428D4
Działanie użytkownika:
v Wykonaj instrukcję COMMIT lub ROLLBACK przed SQL0777N Zagnieżdżone instrukcje złożone są
żądaniem połączenia z inną bazą danych. niedozwolone.
v Jeśli w ramach jednej jednostki pracy należy zaktualizować Objaśnienie:
wiele baz danych, zmień ustawienia połączenia na W treści procedury SQL nie można zagnieżdżać
SYNCPOINT TWOPHASE i CONNECT 2 przez ponowną niepodzielnych instrukcji składowych.
prekompilację lub wywołanie funkcji API SET CLIENT z
programu użytkowego. Działanie użytkownika:
Upewnij się, że procedura SQL nie zawiera zagnieżdżonych,
kod_sql: -752 niepodzielnych instrukcji składowych.

stan_sql: 0A001 kod_sql: -777

stan_sql: 42919
SQL0773N Nie znaleziono opcji dla instrukcji CASE.
Objaśnienie: SQL0778N Etykieta końcowa etykieta różni się od
W treści procedury SQL znaleziono instrukcję CASE bez etykiety początkowej.
klauzuli ELSE. Nie został spełniony żaden z warunków
określonych w instrukcji CASE. Objaśnienie:
Etykieta etykieta, podana przy zamknięciu instrukcji FOR, IF,
Działanie użytkownika: LOOP, REPEAT, WHILE lub instrukcji złożonej, nie jest
Zmień instrukcję CASE, tak aby obsługiwała wszystkie zgodna z etykietą podaną przy otwarciu tej instrukcji. Nie
warunki, które mogą wystąpić. można określić etykiety końcowej, jeśli nie została określona
etykieta początkowa.
kod_sql: -773
Działanie użytkownika:
Upewnij się, że dla instrukcji FOR, IF, LOOP, REPEAT,
stan_sql: 20000
WHILE i instrukcji składowych, etykietka końcowa była taka
sama jak etykietka początkowa.
SQL0774N Instrukcji nie można wykonać wewnątrz
złożonej niepodzielnej (ATOMIC) instrukcji kod_sql: -778
SQL.
Objaśnienie: stan_sql: 428D5
Instrukcja COMMIT lub ROLLBACK wystąpiła w ramach
kontekstu złożonej niepodzielnej (ATOMIC) instrukcji SQL.
Instrukcje te są niedozwolone w tym kontekście.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 133


SQL0779N • SQL0783N

SQL0779N Etykieta etykieta określona w instrukcji SQL0781N Nie został zdefiniowany warunek warunek
GOTO, ITERATE, lub LEAVE jest określony w procedurze obsługi.
nieprawidłowa.
Objaśnienie:
Objaśnienie: Nie został zdefiniowany warunek warunek określony w
W instrukcji GOTO, ITERATE lub LEAVE została określona procedurze obsługi w procedurze SQL.
etykieta etykieta. Etykieta nie jest zdefiniowana lub nie jest
Działanie użytkownika:
prawidłowa dla instrukcji.
Zdefiniuj warunek za pomocą instrukcji DECLARE
CONDITION lub usuń warunek z procedury obsługi.
Etykieta dla instrukcji ITERATE musi być etykietą instrukcji
FOR, LOOP, REPEAT lub WHILE.
kod_sql: -781
Etykieta dla instrukcji LEAVE musi być etykietą instrukcji
stan_sql: 42737
FOR, LOOP, REPEAT, WHILE lub instrukcji złożonej.

Etykieta dla instrukcji GOTO musi być zdefiniowana z SQL0782N Warunek lub wartość SQLSTATE,
zasięgiem dostępnym dla tej instrukcji. określone w procedurze obsługi, są
v Jeśli instrukcja GOTO jest zdefiniowana w instrukcji FOR, niepoprawne.
etykieta musi być zdefiniowana wewnątrz tej samej Objaśnienie:
instrukcji FOR, z wyłączeniem zagnieżdżonej instrukcji Warunek lub wartość SQLSTATE, podane w procedurze
FOR lub zagnieżdżonej instrukcji złożonej. obsługi w instrukcji SQL, są niepoprawne z jednej z
v Jeśli instrukcja GOTO jest zdefiniowana w instrukcji następujących przyczyn:
złożonej, etykieta musi być zdefiniowana wewnątrz tej v warunek lub wartość SQLSTATE zostały wcześniej
samej instrukcji złożonej, z wyłączeniem zagnieżdżonej określone przez inną procedurę obsługi w tym samym
instrukcji FOR lub zagnieżdżonej instrukcji złożonej. zasięgu,
v Jeśli instrukcja GOTO jest zdefiniowana w uchwycie, v warunek lub wartość SQLSTATE zostały określone w tej
etykieta musi być zdefiniowana w tym samym uchwycie, za samej procedurze obsługi jako SQLEXCEPTION,
innymi zasadami zasięgu. SQLWARNING lub NOT FOUND.
v Jeśli instrukcja GOTO jest zdefiniowana poza uchwytem, v Warunek, wartość SQLSTATE lub wartość SQLCODE
etykieta nie może być zdefiniowana wewnątrz uchwytu. określona w klauzuli ciągłej procedury obsługi odpornego
Działanie użytkownika: na błędy zagnieżdżonego wyrażenia tabelowego jest
Określ prawidłową etykietą dla instrukcji GOTO, ITERATE niepoprawna.
lub LEAVE. Działanie użytkownika:
Usuń z procedury obsługi warunek, wartość SQLSTATE lub
kod_sql: -779 wartość SQLCODE.

stan_sql: 42736 kod_sql: -782

SQL0780N UNDO jest określone dla procedury obsługi, stan_sql: 428D7


jeśli dla instrukcji składowej nie zostało
określone ATOMIC. SQL0783N W instrukcji DECLARE CURSOR
Objaśnienie: instrukcji FOR podano zduplikowaną
UNDO jest określone dla procedury obsługi w instrukcji nazwę kolumny lub kolumnę bez nazwy.
składowej w procedurze SQL. Nie można określić UNDO, Objaśnienie:
dopóki instrukcja składowa jest ATOMIC. Lista wyboru znajdująca się w instrukcji FOR musi zawierać
Działanie użytkownika: unikalne nazwy kolumn. Określona lista wyboru zawiera albo
Określ instrukcję składową jako ATOMIC albo w procedurze zduplikowane nazwy kolumn, albo wyrażenia bez nazwy.
obsługi określ EXIT lub CONTINUE. Działanie użytkownika:
Na liście wyboru z instrukcji FOR określ unikalne nazwy
kod_sql: -780 kolumn.

stan_sql: 428D6 kod_sql: -783

stan_sql: 42738

134 Komunikaty, tom 2


SQL0785N • SQL0797N

kod_sql: -788
SQL0785N Deklaracja lub użycie zmiennej SQLSTATE
lub SQLCODE jest niepoprawne.
stan_sql: 21506
Objaśnienie:
W treści procedury SQL użyto SQLSTATE lub SQLCODE
jako zmiennej, lecz jest to nieprawidłowe z jednego z SQL0789N Typ danych dla parametru lub zmiennej
następujących powodów: nazwa nie jest obsługiwany w procedurze
SQL.
v SQLSTATE nie została zadeklarowana jako CHAR(5),
v SQLCODE nie została zadeklarowana jako INTEGER Objaśnienie:
Procedura SQL (funkcja, metoda lub procedura) nie obsługują
v zmiennej przypisano wartość NULL. zmiennych ani parametrów typu DATALINK, REFERENCE,
LONG VARCHAR, LONG VARGRAPHIC ani strukturalnych
Nie można wykonać instrukcji. typów danych. Funkcja lub metoda SQL także nie obsługuje
Działanie użytkownika: zmiennych ani parametrów typu XML.
Zadeklaruj zmienną SQLSTATE jako CHAR(5), a zmienną Działanie użytkownika:
SQLCODE jako INTEGER. Nadaj zmiennej poprawną W definicji procedury SQL nie używaj parametrów ani
wartość. zmiennych SQL typu DATALINK, REFERENCE, LONG
VARCHAR, LONG VARGRAPHIC lub typu strukturalnego.
kod_sql: -785 W funkcji lub metodzie SQL nie należy używać zmiennych
SQL o typie danych XML. Dla parametru lub zmiennej nazwa
stan_sql: 428D8 określ inny typ danych.

SQL0787N Instrukcja RESIGNAL nie występuje w kod_sql: -789


obrębie procedury obsługi.
stan_sql: 429BB
Objaśnienie:
Instrukcja RESIGNAL może być użyta tylko wewnątrz
procedur obsługi warunków. SQL0796N Nadanie roli nazwa-roli1 dla roli nazwa-roli2
jest niepoprawne, ponieważ spowodowałoby
Działanie użytkownika: utworzenie cyklu.
Usuń instrukcję RESIGNAL lub użyj zamiast niej instrukcji
SIGNAL. Objaśnienie:
Nie można nadać roli, ponieważ spowodowałoby to
kod_sql: -787 utworzenie cyklu. Rola nazwa-roli1 zawiera rolę nazwa-roli2
prawdopodobnie poprzez inną rolę i dlatego nie może być
nadana roli nazwa-roli2.
stan_sql: 0K000
Działanie użytkownika:
Jeśli zachodzi taka potrzeba, aby zapobiec powstaniu
SQL0788N Ten sam wiersz tabeli docelowej
potencjalnego cyklu, odbierz rolę nazwa-roli2 z roli
nazwa-tabeli został zidentyfikowany więcej
nazwa-roli1 lub którejkolwiek roli zawartej w roli
niż raz w ramach operacji aktualizacji,
nazwa-roli1, która zawiera rolę nazwa-roli2, a następnie
usuwania lub wstawiania instrukcji
ponownie wprowadź instrukcję.
MERGE.
Objaśnienie: kod_sql: -796
Klauzula ON warunek-wyszukiwania instrukcji MERGE
dopasowała jeden wiersz z tabeli docelowej do wielu wierszy stan_sql: 428GF
źródłowej tabeli odwołania. Skutkiem tego może być
wystąpienie wiersza docelowego w więcej niż jednej operacji
aktualizacji lub usuwania, co nie jest dozwolone. SQL0797N Wyzwalacz nazwa-wyzwalacza został
zdefiniowany przy pomocy nieobsługiwanej
Nie można wykonać instrukcji. wyzwalanej instrukcji SQL.

Działanie użytkownika: Objaśnienie:


Popraw warunek wyszukiwania tak, aby każdy wiersz tabeli Wyzwalacz musi być zdefiniowany przy pomocy wyzwalanej
docelowej odpowiadał tylko jednemu wierszowi tabeli instrukcji SQL, która może obejmować tylko instrukcje z
źródłowej. poniższej listy.
v Wyzwalacz może zawierać następujące instrukcje sterujące:
Ewentualnie zagreguj wiersze tabeli źródłowej, które – dynamiczną instrukcję złożoną,
odpowiadają wierszowi tabeli docelowej, używając funkcji – instrukcję FOR,
GROUP, albo oczyść dane przy użyciu wyrażenia OLAP
ROW_NUMBER(). – instrukcję GET DIAGNOSTICS,

Rozdział 2. Komunikaty SQL 135


SQL0798N • SQL0801N

– instrukcję IF,
SQL0798N Dla kolumny nazwa-kolumny, która została
– instrukcję ITERATE, zdefiniowana jako GENERATED ALWAYS,
– instrukcję LEAVE, nie można określić wartości.
– instrukcję SIGNAL, Objaśnienie:
– instrukcję WHILE. Podczas wstawiania lub aktualizacji wiersza w tabeli została
v Wyzwalacz BEFORE może ponadto obejmować określona wartość dla kolumny GENERATED ALWAYS
następujące wyzwalane instrukcje SQL: nazwa-kolumny. Kolumny GENERATED ALWAYS nie
powinny być określone na liście kolumn dla klauzuli INSERT
– instrukcję CALL wywołującą procedurę, która nie lub SET do aktualizacji, dopóki określony jest parametr
modyfikuje danych SQL, DEFAULT.
– pełną selekcję,
– instrukcję przypisania. Instrukcja INSERT lub UPDATE nie jest wykonywana.
Działanie użytkownika:
Jednak wyzwalane instrukcje SQL w wyzwalaczu BEFORE Z listy kolumn usuń kolumnę GENERATED ALWAYS lub
nie mogą zawierać: klauzulę SET, lub określ DEFAULT jako wartość kolumny.
– funkcji tabelowej modyfikującej dane SQL,
– zagnieżdżonych instrukcji DELETE, INSERT, MERGE kod_sql: -798
ani UPDATE.
v Wyzwalacz AFTER może ponadto obejmować następujące stan_sql: 428C9
wyzwalane instrukcje SQL:
– instrukcję INSERT, SQL0799W Instrukcja SET odwołuje się do rejestru
– wyszukującą instrukcję UPDATE, specjalnego, którego nie ma w ośrodku
serwera.
– instrukcję DELETE poprzedzoną wyszukiwaniem,
– instrukcję MERGE, Objaśnienie:
Serwer DB2 otrzymał niezrozumiałą dla niego instrukcję SET.
– instrukcję CALL,
– pełną selekcję, Żądanie SET SPECIAL REGISTER zostało zignorowane.
– instrukcję przypisania (z wyjątkiem przypisania
Działanie użytkownika:
zmiennych przejściowych).
Ten kod SQLCODE może zostać zwrócony do aplikacji w
v Wyzwalacz INSTEAD OF może ponadto obejmować przypadku każdej instrukcji SQL. Ten kod SQLCODE może
następujące wyzwalane instrukcje SQL: być maskowany przez inne ujemne kody SQLCODE odebrane
– instrukcję INSERT, przez instrukcję SQL. Przetwarzanie jest kontynuowane na
– wyszukującą instrukcję UPDATE, serwerze.
– instrukcję DELETE poprzedzoną wyszukiwaniem,
kod_sql: 799
– instrukcję MERGE,
– instrukcję CALL, stan_sql: 01527
– pełną selekcję,
– instrukcję przypisania (z wyjątkiem przypisania SQL0801N Próbowano wykonać dzielenie przez zero.
zmiennych przejściowych).
Objaśnienie:
Przetwarzanie funkcji kolumnowej lub wyrażenia
W niektórych przypadkach nie można użyć w komunikacie
arytmetycznego doprowadziło do dzielenia przez zero.
nazwy nazwa-wyzwalacza.
Działanie użytkownika: Nie można wykonać instrukcji. Dla instrukcji INSERT,
Sprawdź, które instrukcje SQL wyzwalane w wyzwalaczu nie UPDATE lub DELETE nie zostaną wykonane wstawienia ani
są zgodne z powyższą listą i usuń je. aktualizacje.
Działanie użytkownika:
kod_sql: -797
Przeanalizuj instrukcję SQL, aby określić przyczynę błędu.
Jeśli błąd jest zależny od danych, po wystąpieniu błędu
stan_sql: 42987
konieczne jest przeanalizowanie przetworzonych danych.
Poprawne zakresy dla typów danych można znaleźć w
podręczniku SQL Reference.

Użytkownicy systemów stowarzyszonych: Przeanalizuj


instrukcję SQL, aby określić przyczynę błędu. Jeśli problem

136 Komunikaty, tom 2


SQL0802N • SQL0803N

jest zależny od danych, sprawdź dane przetwarzane w źródle Alternatywnie, instrukcja DELETE dla tabeli nadrzędnej
danych w momencie wystąpienia błędu. spowodowała aktualizację klucza obcego w tabeli zależnej
nazwa-tabeli, która podlega ograniczeniom przez przynajmniej
kod_sql: -801 jeden indeks typu UNIQUE. Indeksy unikalne mogą
obsługiwać klucze podstawowe lub ograniczenia przez
stan_sql: 22012 unikalność zdefiniowane dla tabeli. Instrukcja nie może być
zrealizowana, ponieważ wykonanie odpowiedniej instrukcji
INSERT, UPDATE lub DELETE doprowadziłoby do
SQL0802N Wystąpiło przepełnienie lub inny błąd powielenia wartości w kolumnie. Jeśli indeks jest oparty na
arytmetyczny. kolumnie XML, w pojedynczym dokumencie XML może
Objaśnienie: nastąpić wygenerowanie zduplikowanych wartości dla klucza
Przetwarzanie funkcji kolumnowej lub wyrażenie indeksu.
arytmetyczne zakończyło się przepełnieniem arytmetycznym.
Alternatywnie, jeśli widok jest celem instrukcji INSERT lub
Nie można wykonać instrukcji. Dla instrukcji INSERT, UPDATE, ograniczenia dotyczą tabeli nazwa-tabeli, na której
UPDATE lub DELETE nie zostaną wykonane wstawienia ani widok jest zdefiniowany.
aktualizacje.
Jeśli id-indeksu jest liczbą całkowitą, nazwę indeksu można
Działanie użytkownika: odczytać z tabeli SYSCAT.INDEXES za pomocą
Przeanalizuj instrukcję SQL, aby określić przyczynę błędu. następującego zapytania:
Jeśli błąd jest zależny od danych, po wystąpieniu błędu
SELECT INDNAME, INDSCHEMA
konieczne jest przeanalizowanie przetworzonych danych.
FROM SYSCAT.INDEXES
Poprawne zakresy dla typów danych można znaleźć w WHERE IID = <id-indeksu>
podręczniku SQL Reference. AND TABSCHEMA = ’schemat’
AND TABNAME = ’tabela’
Ten błąd może być zwrócony także wtedy, gdy funkcje
kolumn nie mogą obsłużyć wartości zwracanej przez gdzie schemat odpowiada nazwie tabeli nazwa-tabeli w części
instrukcję SQL. Na przykład wydanie instrukcji SELECT zawierającej schematu, a tabela odpowiada nazwie tabeli
COUNT dla tabeli, która ma więcej kolumn niż definiuje to nazwa-tabeli w jej części zawierającej tabelę.
limit MAX_LONGINT_INT SQL, może spowodować błąd
nadmiaru arytmetycznego. Rozważ możliwość użycia funkcji Nie można wykonać instrukcji. Tabela pozostanie
kolumnowej COUNT_BIG dla tabel, które mają więcej niż 2 niezmieniona.
147 483 647 wierszy.
Działanie użytkownika:
Użytkownicy systemów stowarzyszonych: Przeanalizuj Sprawdź dokładnie definicję indeksu identyfikowanego przez
instrukcję SQL, aby określić przyczynę błędu. Jeśli problem id-indeksu.
jest zależny od danych, sprawdź dane przetwarzane w źródle
danych w momencie wystąpienia błędu. Zapoznaj się z W wypadku instrukcji UPDATE sprawdź, czy wskazana
odpowiednim dla tego źródła podręcznikiem SQL Reference, operacja sama nie jest sprzeczna z wymogiem unikalności.
aby określić poprawne zakresy dla typów danych. Jeśli nie spowoduje to wystąpienia błędu, prześledź zawartość
tabeli obiektów, aby określić przyczynę problemu.
kod_sql: -802
Dla instrukcji INSERT prześledź zawartość tabeli obiektów,
stan_sql: 22003 aby określić, które wartości z podanej listy wartości naruszają
ograniczenie przez unikalność. Alternatywnie, jeśli instrukcja
INSERT zawiera podzapytanie, to aby określić przyczynę
SQL0803N Co najmniej jedna wartość w instrukcji problemu, zawartość tabeli obiektów zaadresowana przez
INSERT, instrukcji UPDATE lub podzapytanie musi być porównana z zawartością tabeli
aktualizacji klucza obcego spowodowanej obiektów. Należy zauważyć, że jeśli tabela jest chroniona przy
przez instrukcję DELETE nie jest użyciu strategii bezpieczeństwa, referencje LBAC mogą nie
poprawna, ponieważ klucz podstawowy, umożliwić przeglądania wierszy powodujących błąd.
ograniczenie przez unikalność lub indeks
unikalny identyfikowany przez Jeśli indeks jest oparty na kolumnie XML i ma zostać użyta
identyfikator-indeksu nie dopuszcza instrukcja INSERT lub UPDATE, należy rozważyć, czy dla
zduplikowanych wartości dla klucza danego dokumentu XML mogłyby zostać wygenerowane
indeksu w tabeli nazwa-tabeli. zduplikowane wartości z pojedynczego dokumentu XML.
Objaśnienie:
Tabela wynikowa instrukcji INSERT lub UPDATE W wypadku instrukcji DELETE sprawdź wskazaną tabelę
nazwa-tabeli podlega ograniczeniu przez przynajmniej jeden zależną pod kątem ograniczeń przez unikalność dla klucza
indeks typu UNIQUE, wymuszający istnienie unikalnych obcego, zdefiniowanych regułą ON DELETE SET NULL. Dla
wartości w pewnych kolumnach lub grupach kolumn. tej tabeli wskazany indeks unikalny obejmuje kolumnę z

Rozdział 2. Komunikaty SQL 137


SQL0804N

kluczem obcym, w której nie można wprowadzić wartości nieparzystą, wyrażoną zawsze w bajtach, nawet w
pustej, ponieważ kolumna w tej tabeli zawiera już wartość przypadku obiektów DBCLOB.
pustą.
106 Wskaźnik SQLDATA jest niepoprawny lub
wskazuje na niewystarczający obszar pamięci.
Użytkownicy systemów stowarzyszonych: Należy
zlokalizować problem do źródła danych, które nie może 107 Wskaźnik SQLIND jest niepoprawny lub wskazuje
zrealizować żądania (posługując się podręcznikiem na niewystarczający obszar pamięci.
Troubleshooting Guide, ustalić, które źródło danych nie jest w
108 Wskaźnik SQLDATALEN jest niepoprawny lub
stanie przetworzyć instrukcji SQL) i sprawdzić definicje
wskazuje na niewystarczający obszar pamięci.
indeksu oraz dane dla poprzednio wymienionych warunków.
109 W bieżącej instrukcji SQL jest oczekiwana
kod_sql: -803 konkretna liczba zmiennych języka macierzystego
lub zmiennych SQLVAR.
stan_sql: 23505
110 Wskaźnik dużego obiektu (LOB) nie jest powiązany
z dużym obiektem (LOB) zgodnego typu.
SQL0804N Parametry aplikacji w bieżącym żądaniu nie
111 Wartość SQLTYPE dla zmiennej SQLVAR wskazuje
są poprawne. Kod przyczyny: kod-przyczyny.
duży obiekt (LOB), ale druga zmienna SQLVAR ma
Jeśli zmienna języka macierzystego lub
wartość pustą.
SQLVAR w obszarze SQLDA jest
niepoprawna, to: numer zmiennej języka 112 Pole SQLDATATYPE NAME jest niepoprawne. Nie
macierzystego lub numer zmiennej jest dostosowane do formatu przeznaczonego do
SQLVAR = numer-zmiennej, SQLTYPE = identyfikowania typów zdefiniowanych przez
typ_sql, SQLLEN = dł_sql, typ zmiennej użytkownika, istniejących w bazie danych. Format
języka macierzystego lub typ SQLVAR = przeznaczony do identyfikowania istniejących typów
wejściowa-lub-wyjściowa. zdefiniowanych przez użytkownika ma następującą
postać: 8 bajtów, po nich kropka, a po nich następne
Objaśnienie:
18 bajtów.
W trakcie przetwarzania bieżącego żądania wystąpił błąd.
v Lista parametrów wywołania tworzona przez prekompilator 113 Pole SQLFLAG4 jest niepoprawne. Jeśli określony
może być niepoprawna, jeśli programista aplikacji jest typ strukturalny, to wartość musi być równa
zmodyfikował efekty działania prekompilatora albo w inny X’12’. Jeśli określony jest typ referencyjny, to
sposób nadpisał listę parametrów wywołania. wartość musi być równa X’01’. W pozostałych
przypadkach wartość musi być równa X’00’.
v Obszar deskryptorów SQL albo zmienna(e) języka
macierzystego w instrukcji SQL są błędne. 114 Zmienna rejestru DB2_TRUSTED_BINDIN jest
v Tworzone żądanie nie jest obsługiwane albo jest poza włączona, a w procesie wiązania używany jest
kontekstem. nieobsługiwany typ danych zmiennej języka
macierzystego. Należy albo zmienić ustawienie
Kod przyczyny jest interpretowany w następujący sposób: zmiennej rejestru DB2_TRUSTED_BINDIN, albo
zmienić typ danych zmiennej języka macierzystego.
100 Tworzone żądanie nie jest obsługiwane albo jest
poza kontekstem. 115 Indykator podtypu XML jest ustawiony w polu
SQLVAR.SQLNAME na typ SQLVAR.SQLTYPE,
101 Wartość SQLDA.SQLN jest mniejsza niż wartość który nie może zawierać danych XML.
SQLDA.SQLD.
102 Wartość SQLVAR.SQLTYPE jest niepoprawna. Aby w instrukcji SQL ze zmiennymi języka macierzystego
znaleźć niepoprawną zmienną, określ ją, licząc od początku
Użytkownicy systemów stowarzyszonych: instrukcji (lub podinstrukcji w przypadku złożonej instrukcji
Określony typ danych nie jest obsługiwany przez SQL) do pozycji wyznaczonej numerem zmiennej języka
serwer stowarzyszony lub przez źródło danych, do macierzystego. W przypadku instrukcji, w których użyto
którego chcesz uzyskać dostęp. obszaru SQLDA, numer SQLVAR służy do znalezienia
niepoprawnej zmiennej SQLVAR. Dla danych wejściowych
103 Długość podana w SQLVAR.SQLLEN lub w
obszaru deskryptorów należy liczyć tylko wejściowe zmienne
SQLVAR2.SQLLONGLEN jest niepoprawna dla
języka macierzystego lub SQLVAR; podobnie dla obszaru
typu SQL podanego w SQLVAR.SQLTYPE.
wyjściowego. Liczenie należy rozpocząć od 1.
104 Oczekiwane jest podwojenie zmiennych SQLVAR,
lecz pole SQLDOUBLED z SQLDA.SQLDAID nie Nie można wykonać instrukcji.
jest ustawione na ’2’. Może to być wymagane z
powodu dużego obiektu lub typu strukturalnego. Działanie użytkownika:
Sprawdź aplikację pod kątem wykrytych błędów. Programista
105 Dla obiektów typu LOB ze znakami dwubajtowymi nie powinien próbować modyfikować wyniku działania
wskaźnik SQLVAR2.SQLDATALEN ma wartość prekompilatora.

138 Komunikaty, tom 2


SQL0805N

Użytkownicy systemu stowarzyszonego: Jeśli zwrócony v Nowa aplikacja została związana pod nazwą (i wersją) już
zostanie kod przyczyny 102, określ obsługiwany typ danych i istniejącego pakietu, przez co zastąpiła ten pakiet.
wprowadź ponownie program. Uruchomienie aplikacji powiązanej z zastąpionym pakietem
spowoduje wystąpienie tego błędu.
kod_sql: -804
We wszystkich wymienionych wyżej sytuacjach znacznik
spójności w żądaniu nie zgadza się ze znacznikiem spójności
stan_sql: 07002 istniejącej wersji, przez co pakiet uznawany jest za
niemożliwy do odnalezienia.
SQL0805N Nie znaleziono pakietu nazwa-pakietu.
Nie można wykonać instrukcji.
Objaśnienie:
Instrukcja nie może zostać zrealizowana, ponieważ nie Działanie użytkownika:
znaleziono w katalogu niezbędnego pakietu. Podaj poprawną nazwę pakietu lub wykonaj wiązania
programu. Jeśli wykonywany program użytkowy nie został
Nazwa nazwa-pakietu ma jedną z postaci: powiązany z bazą danych, skontaktuj się z administratorem
bazy danych, aby wykonać potrzebne wiązania. Wykonywana
v ’schemat-pakietu.nazwa-pakietu 0Xznacznik-spójności’,
aplikacja lub moduł wynikowy musi być skompilowanym i
przy czym znacznik spójności jest podany w notacji
skonsolidowanym, zmodyfikowanym kodem źródłowym
szesnastkowej.
skojarzonym z prekompilacją i wiązaniem, w wyniku których
v ’schemat-pakietu.nazwa-pakietu.wersja-pakietu’, jeśli wygenerowany został pakiet.
wersja pakietu jest łańcuchem pustym, człon
’.wersja-pakietu’ w nazwie można pominąć. Jeśli parametr CURRENT PACKAGE PATH jest ustawiony,
v ’%.nazwa-pakietu’, jeśli ustawiony jest parametr należy zadbać o to, by schemat zawierający pakiet był
CURRENT PACKAGE PATH. Zestaw nazw schematu w uwzględniony w ustawieniu CURRENT PACKAGE PATH.
parametrze CURRENT PACKAGE PATH jest
reprezentowany przez znak procentu (’%’). Aby sprawdzić, czy w katalogu istnieją różne wersje danego
pakietu, można użyć poniższych instrukcji SQL:
Oto możliwe przyczyny wystąpienia tego komunikatu SELECT PKGSCHEMA, PKGNAME,
(SQLCODE): PKGVERSION, UNIQUE_ID
v pakiet nie był związany lub został usunięty. FROM SYSCAT.PACKAGES
WHERE PKGSCHEMA = ’schemat-pakietu’
v podczas uruchamiania narzędzia DB2 lub aplikacji CLI
and PKGNAME=’nazwa-pakietu’.
może się zdarzyć, że trzeba będzie wykonać ponowne
wiązanie narzędzi DB2 z bazą danych.
Uwaga: Kolumna UNIQUE_ID odpowiada znacznikowi
v ’%.nazwa-pakietu’, jeśli parametr CURRENT PACKAGE spójności.
PATH jest ustawiony, lecz nie odnaleziono żadnych
pakietów o nazwie ’nazwa-pakietu’ w żadnym ze Aby wykonać ponowne wiązanie programów narzędziowych
schematów określanych ustawieniem CURRENT DB2 z bazą danych, administrator bazy danych może w trakcie
PACKAGE PATH. łączenia się z bazą danych wydać jedną z następujących
komend uruchamianych z wiersza komend z podkatalogu bnd
Uwaga: Kiedy z daną nazwą schemat-pakietu.nazwa-pakietu instancji:
są używane identyfikatory wersji, to mimo istnienia pakietów
v ″DB2 bind @db2ubind.lst blocking all grant public″ dla
zdefiniowanych z tym samym schematem i o tej samej nazwie,
narzędzi DB2,
odnalezienie poprawnego pakietu może być niemożliwe z
uwagi na niezgodność wersji lub znacznika spójności. v ″DB2 bind @db2cli.lst blocking all grant public″ dla CLI.
Wymagana jest zgodność wszystkich trzech części nazwy
pakietu. Kiedy używanych jest wiele wersji, ten komunikat Użytkownicy systemów stowarzyszonych: Sprawdź, czy
może również wystąpić z następujących powodów: pakiety wymagane dla serwera stowarzyszonego są powiązane
v Wersja aplikacji, która jest obecnie wykonywana, została w odpowiednich źródłach danych. Zapoznaj się z
poddana prekompilacji, kompilacji i konsolidacji, ale nie Podręcznikiem systemów stowarzyszonych, aby uzyskać
została poddana wiązaniu, albo została związana, ale dana więcej informacji na temat wiązania pakietów ze źródłami
wersja pakietu została później usunięta. danych.
v Aplikacja została poddana prekompilacji i wiązaniu, ale nie
kod_sql: -805
została skompilowana i/lub skonsolidowana, więc
wykonywana aplikacja nie jest aktualna.
stan_sql: 51002
v Pakiet został poddany wiązaniu na podstawie pliku wiązania
wygenerowanego w ramach innej prekompilacji pliku
źródłowego niż ta, w ramach której powstał
zmodyfikowany plik źródłowy, który został skompilowany i
skonsolidowany do postaci wykonywalnego pliku aplikacji.

Rozdział 2. Komunikaty SQL 139


SQL0808N • SQL0818N

SQL0808N Semantyka instrukcji CONNECT nie jest SQL0817N Nie można wykonać instrukcji języka SQL,
zgodna z semantyką innych istniejących ponieważ jej wynikiem byłaby zabroniona
połączeń. operacja aktualizacji.
Objaśnienie: Objaśnienie:
Instrukcja CONNECT pochodzi z pliku wyjściowego Aplikacja próbowała wykonać instrukcję języka SQL, której
prekompilowanego z opcjami połączenia (SQLRULES, wynikiem byłaby aktualizacja danych użytkownika albo
CONNECT, SYNCPOINT lub RELEASE) innymi niż opcje katalogu podsystemu. Jest to zabronione z jednego z podanych
pliku źródłowego, dla którego istnieje połączenie. poniżej powodów:
Działanie użytkownika: v aplikacja działa jako transakcja IMS wykonująca tylko
Sprawdź, czy wszystkie pliki zostały prekompilowane przy zapytanie,
użyciu tych samych opcji instrukcji CONNECT lub, jeśli nie v aplikacja jest aplikacją IMS lub CICS usiłującą
jest to możliwe, przed wywołaniem pierwszej instrukcji zaktualizować dane w zdalnym systemie DBMS, który nie
CONNECT wywołaj funkcję API SET CLIENT, aby przed obsługuje transakcji dwufazowych,
wywołaniem ustawić żądane opcje dla przetwarzania aplikacji. v aplikacja usiłuje zaktualizować dane w wielu systemach, a
jeden spośród nich nie obsługuje transakcji dwufazowych.
kod_sql: -808
Do takich instrukcji języka SQL należą INSERT, UPDATE,
stan_sql: 08001 DELETE, CREATE, ALTER, DROP, GRANT i REVOKE.

SQL0811N Wynik selekcji skalarnej, instrukcja Nie można wykonać instrukcji.


SELECT INTO lub instrukcja VALUES Działanie użytkownika:
INTO występuje w więcej niż jednym Jeśli aplikacja działa jako transakcja IMS wykonująca tylko
wierszu. zapytanie, poproś programistę systemu IMS o zmianę statusu
Objaśnienie: (inquiry-only) transakcji, dla której działa aplikacja.
Błąd powstał w jednej z następujących sytuacji:
Jeśli aplikacja IMS lub CICS próbuje wykonać zdalną
v wykonanie wbudowanej instrukcji SELECT INTO lub
aktualizację, to albo należy zmienić aplikację, tak aby
VALUES INTO spowodowało powstanie tabeli wynikowej
pracowała na serwerze DBMS jako aplikacja lokalna, albo
składającej się z więcej niż jednego wiersza,
należy zaktualizować serwer DBMS, tak aby obsługiwał
v wykonanie selekcji skalarnej spowodowało powstanie tabeli transakcje dwufazowe.
wynikowej składającej się z więcej niż jednego wiersza.
Jeśli aplikacja usiłuje zaktualizować dane na wielu serwerach,
Użytkownicy systemu stowarzyszonego: Ta sytuacja może to albo należy zmienić aplikację, albo zaktualizować wszystkie
zostać wykryta przez serwer stowarzyszony lub źródło danych. wymagane serwery DBMS, tak aby obsługiwały transakcje
dwufazowe.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: -817
Sprawdź, czy instrukcja zawiera poprawnie zapisany warunek.
Jeśli tak, problem może dotyczyć danych i może powodować stan_sql: 25000
zwrócenie więcej niż jednego wiersza danych, gdy wymagany
jest tylko jeden wiersz. SQL0818N Wystąpił konflikt datownika.

Użytkownicy systemów stowarzyszonych: Należy Objaśnienie:


zlokalizować problem do źródła danych, które nie może Datownik wygenerowany przez prekompilator podczas
zrealizować żądania (posługując się podręcznikiem prekompilacji nie jest taki sam, jak datownik zapamiętany z
Troubleshooting Guide, ustalić, które źródło danych nie jest w pakietem podczas wiązania.
stanie przetworzyć instrukcji SQL) i sprawdzić kryterium
wyboru oraz dane dla tego obiektu. Problem ten może zostać spowodowany przez:
v Aplikacja została poddana prekompilacji, kompilacji i
kod_sql: -811 konsolidacji, ale nie została związana.
v Aplikacja została poddana prekompilacji i wiązaniu, ale nie
stan_sql: 21000 została skompilowana i/lub skonsolidowana, więc
wykonywana aplikacja nie jest aktualna.
v Pakiet został poddany wiązaniu na podstawie pliku wiązania
wygenerowanego w ramach innej prekompilacji pliku
źródłowego niż ta, w ramach której powstał

140 Komunikaty, tom 2


SQL0822N • SQL0843N

zmodyfikowany plik źródłowy, który został skompilowany i tabelowych) wynosi 1012. Maksymalna wartość dla list
skonsolidowany do postaci wykonywalnego pliku aplikacji. SELECT we wspólnym wyrażeniu tabelowym wynosi 5000.
v Nowa aplikacja została związana pod nazwą już
istniejącego pakietu, przez co zastąpiła ten pakiet. Nie można wykonać instrukcji.
Uruchomienie aplikacji powiązanej z zastąpionym pakietem Działanie użytkownika:
spowoduje wystąpienie tego błędu. Sprawdź, czy wszystkie informacje są rzeczywiście potrzebne.
(Zauważ, że liczba pozycji zwróconych przez listę SELECT *
Użytkownicy systemów stowarzyszonych: Poza w instrukcji SQL SELECT * dla A, B, C jest sumą liczb
wymienionymi powyżej przyczynami problem może również kolumn we wszystkich trzech tabelach.) Jeśli jest to możliwe,
wynikać z braku powiązania wymaganych pakietów ze to popraw instrukcję SQL, tak aby zwracane były tylko
wszystkimi potrzebnymi źródłami danych. potrzebne pozycje. Jeśli potrzebne są wszystkie informacje,
podziel instrukcję SQL na dwie lub więcej instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: -840
Wykonaj ponowne wiązanie programu użytkowego, używając
dla programu pliku wiązania, który jest zgodny z modułem stan_sql: 54004
obiektu. Możesz także wywołać program zgodny z pakietem
przechowywanym w bazie danych. SQL0842N Połączenie z serwerem nazwa-serwera już
istnieje.
Podczas instalowania przykładowej bazy danych zapisz numer
oraz tekst tego komunikatu i skontaktuj się z przedstawicielem Objaśnienie:
serwisu technicznego. Uruchomiono SQLRULES(STD) i instrukcja CONNECT
identyfikuje istniejące połączenie SQL.
Użytkownicy systemów stowarzyszonych: Oprócz wykonania Działanie użytkownika:
wymienionych wyżej działań sprawdź, czy pakiety wymagane Zalecane działanie zależy od rodzaju błędu:
dla serwera stowarzyszonego są powiązane w odpowiednich
v Jeśli nazwa serwera jest inna niż zamierzona, popraw ją.
źródłach danych. Zapoznaj się z Podręcznikiem systemów
stowarzyszonych, aby uzyskać więcej informacji na temat v Jeśli jest wykonywana SQLRULES(STD) i instrukcja
wiązania pakietów ze źródłami danych. CONNECT identyfikuje istniejące połączenie SQL, zamiast
CONNECT użyj SET CONNECTION lub zmień opcję na
kod_sql: -818 SQLRULES(DB2).

stan_sql: 51003 Popraw błąd w aplikacji i powtórz działanie.

kod_sql: -842
SQL0822N Obszar deskryptorów SQL zawiera
niepoprawny adres danej lub zmiennej stan_sql: 08002
indykacyjnej.
Objaśnienie: SQL0843N Nazwa serwera nie określa istniejącego
Aplikacja umieściła w obszarze deskryptorów SQL połączenia.
niepoprawny adres.
Objaśnienie:
Nie można wykonać instrukcji. W instrukcji, komendzie lub funkcji API podano nazwę
serwera, która nie określa istniejącego połączenia SQL dla
Działanie użytkownika: aplikacji.
Popraw aplikację, tak aby w obszarze deskryptorów SQL
został umieszczony poprawny adres. Błąd ten może wystąpić dla:
v instrukcji SET CONNECTION,
kod_sql: -822
v instrukcji RELEASE,
stan_sql: 51004 v instrukcji DISCONNECT,
v instrukcji SET lub QUERY CLIENT INFORMATION.
SQL0840N Na liście instrukcji SELECT zostało Działanie użytkownika:
zwróconych zbyt wiele pozycji. Zalecane działanie zależy od rodzaju błędu:
Objaśnienie: v Jeśli nazwa serwera jest inna niż zamierzona, popraw ją.
Liczba pozycji zwróconych na liście SELECT przekroczyła v Przed żądaniem dla połączenia sprawdź, czy zostało ono
dopuszczalne maksimum. Maksymalna wartość dla list ustalone i jest w stanie aktywnym lub uśpienia.
SELECT (inaczej niż w przypadku wspólnych wyrażeń

Rozdział 2. Komunikaty SQL 141


SQL0845N • SQL0859N

Popraw błąd w aplikacji i powtórz działanie.


SQL0857N Opcje konfliktu zostały określone (opcja1,
opcja2).
kod_sql: -843
Objaśnienie:
stan_sql: 08003 Określono opcje, dla których występuje konflikt. Opcje opcja
1 i opcja2 muszą być określone razem lub obie opcje nie mogą
być określone razem.
SQL0845N Nie można użyć wyrażenia PREVIOUS
VALUE, dopóki wyrażenie NEXT VALUE Jeśli podczas definiowania kolumny określona została opcja
nie wygeneruje w bieżącej sesji wartości dla IMPLICITLY HIDDEN, kolumna musi być także
sekwencji nazwa-sekwencji. zdefiniowana jako kolumna ROW CHANGE TIMESTAMP.
Objaśnienie:
W wyrażeniu PREVIOUS VALUE występuje sekwencja Nie można wykonać instrukcji.
nazwa-sekwencji, dla której jeszcze nie została wygenerowana
Działanie użytkownika:
wartość. W ramach bieżącej sesji musi wystąpić wyrażenie
W zależności od opcji, określ je razem lub nie określaj ich
NEXT VALUE, które wygeneruje wartość dla tej sekwencji.
razem.
Dopiero wtedy sekwencji można użyć w wyrażeniu
PREVIOUS VALUE.
kod_sql: -857
Działanie użytkownika:
Przed użyciem wyrażenia PREVIOUS VALUE dla sekwencji stan_sql: 42867
użyj dla tej samej sekwencji w sesji przynajmniej jednego
wyrażenia NEXT VALUE.
SQL0859N Dostęp do bazy danych menedżera
transakcji nie powiódł się; kod SQLCODE:
kod_sql: -845
SQLCODE.
stan_sql: 51035 Objaśnienie:
Aplikacja została prekompilowana z opcją
SYNCPOINT(TWOPHASE) i wymaga koordynacji
SQL0846N Niepoprawna specyfikacja kolumny
zatwierdzania dwufazowego przez bazę danych menedżera
tożsamości lub obiektu sekwencji typ-obiektu
transakcji. Baza danych menedżera transakcji jest niedostępna
nazwa-obiektu. Kod przyczyny =
z jednej z następujących przyczyn:
kod-przyczyny.
v nie została utworzona,
Objaśnienie:
v nowa nazwa bazy danych nie została wprowadzona do pola
W wypadku kolumny tożsamości lub obiektu sekwencji
tm_database pliku konfiguracyjnego menedżera baz
specyfikacja atrybutu w instrukcji CREATE lub ALTER może
danych,
być niepoprawna z jednego spośród następujących powodów:
v baza danych istnieje, ale zawiodła komunikacja z bazą
1. Nie jest obsługiwany bazowy typ danych kolumny
danych.
tożsamości lub obiektu sekwencji. Kolumny tożsamości i
obiekty sekwencji mogą mieć następujące typy danych: Działanie użytkownika:
SMALLINT, INTEGER, BIGINT oraz DECIMAL (lub Możliwe działania:
NUMERIC) ze skalą wynoszącą zero. v Sprawdź SQLCODE, który został zwrócony z tym
2. Wartość parametru START WITH, INCREMENT BY, komunikatem i wykonaj odpowiednie działanie.
MINVALUE lub MAXVALUE wykracza poza zakres typu v Sprawdź, czy istnieje baza_danych_menedżera_transakcji;
danych kolumny tożsamości lub obiektu sekwencji. jeśli nie, utwórz nową bazę danych lub wybierz bazę
3. Wartość MINVALUE musi być mniejsza lub równa danych, która istnieje, aby jej użyć jako bazy danych TM
wartości MAXVALUE. (TM database). Zaleca się utworzenie oddzielnej bazy
4. Podano nieprawidłową wartość dla parametru CACHE. danych, jeśli nie ma poważnych ograniczeń dotyczących
Wartość musi być liczbą typu INTEGER i musi wynosić pamięci dyskowej.
minimum 2. v Zaktualizuj konfigurację menedżera baz danych dla bazy
danych TM, używając pola tm_database, jeśli nie zrobiono
Działanie użytkownika:
tego wcześniej.
Popraw składnię i wprowadź ponownie instrukcję.
v Sprawdź, czy można wykonać połączenie z bazą danych
kod_sql: -846 baza_danych_menedżera_transakcji. Na przykład spróbuj
połączyć się za pomocą procesora wiersza komend
(Command Line Processor).
stan_sql: 42815
v Sprawdź, czy wybrana baza danych
baza_danych_menedżera_transakcji nie jest bazą danych,
do której dostęp następuje przez program DB2 Connect.

142 Komunikaty, tom 2


SQL0863W • SQL0866N

kod_sql: -859 kod_sql: -0864

stan_sql: 08502 stan_sql: 560C6

SQL0863W Połączenie zakończyło się pomyślnie, ale SQL0865N Niepoprawna wartość tm_database.
można używać tylko znaków
Objaśnienie:
jednobajtowych.
Baza danych podana w konfiguracji menedżera baz danych
Objaśnienie: jako tm_database jest niepoprawna. Baza danych musi być w
Baza danych serwera i aplikacja typu klient używają stron wersji DB2 2.1 lub nowszej i nie może być bazą danych, do
kodowych dla różnych typów języków i nie można której dostęp następuje przy użyciu protokołu DRDA (np.
zagwarantować poprawnej obsługi wszystkich znaków ASCII przez produkt DB2 Connect).
spoza zakresu 7-bitowego (tylko znaki ASCII z 7-bitowego
zakresu istnieją we wszystkich stronach kodowych). Na Nie można wykonać instrukcji.
przykład mogło zostać nawiązane połączenie między stroną
kodową japońską a Latin-1, ale żaden z japońskich znaków nie Działanie użytkownika:
jest dostępny w stronie kodowej Latin-1, więc powinno się 1. Zaktualizuj konfigurację menedżera baz danych, podając
unikać tych znaków (ale znaki języka angielskiego będą poprawną bazę danych dla parametru tm_database.
poprawnie obsługiwane). 2. Wywołaj db2stop i db2start, aby się upewnić, że dokonano
odpowiednich zmian.
Użytkownicy systemów stowarzyszonych: Możliwe przyczyny
to: kod_sql: -865
v Stowarzyszona baza danych obsługuje znaki jedno- i
dwubajtowe, ale system klienta bazy danych obsługuje stan_sql: 08001
tylko znaki jednobajtowe.
v Źródło danych obsługuje znaki jedno- i dwubajtowe, ale SQL0866N Przekierowanie połączenia nie powiodło się.
system stowarzyszony obsługuje tylko znaki jednobajtowe. Kod przyczyny: kod-przyczyny.
Działanie użytkownika: Objaśnienie:
Nie wysyłaj instrukcji SQL lub komend, które używają Umieszczenie bazy danych w katalogu spowodowało
znaków innych niż powszechnie wykorzystywane w przekierowanie połączenia w sposób, który nie jest
aplikacjach i stronach kodowych bazy danych. obsługiwany.

Użytkownicy systemów stowarzyszonych: Nie wysyłaj Możliwe kody przyczyny to:


instrukcji SQL lub komend, które używają znaków innych niż
wspólne dla systemu klienta, systemu stowarzyszonego oraz 01 Połączenie bazy danych spowodowało więcej niż
źródła danych. jedno przekierowanie z serwera do innego serwera;
obsługiwane jest tylko jedno przekierowanie
kod_sql: +863 połączenia.
02 Próbowano nawiązać połączenie między bieżącą
stan_sql: 01539 wersją klienta IBM Data Server Client lub serwera
DB2 i wersją 1 klienta lub serwera. Próba ta nie
SQL0864N Ograniczenie referencyjne powiodła się, ponieważ przekierowanie nie jest
nazwa-ograniczenia próbowało obsługiwane z wersją 1 klienta lub serwera.
zmodyfikować wiersz w tabeli nazwa-tabeli, Działanie użytkownika:
który był modyfikowany przez instrukcję Działania, jakie należy podjąć dla danego kodu przyczyny:
SQL zmiany danych w pełnej selekcji.
01 Ponownie wpisz bazę danych do katalogu, tak aby
Objaśnienie: nie było więcej niż jednego serwera
W klauzuli FROM określono instrukcję SQL zmiany danych, przekierowującego połączenie do innego serwera w
ale podstawowa tabela źródłowa tej instrukcji ma ograniczenie ścieżce połączenia.
referencyjne, które modyfikuje tę samą tabelę. Jest to
niedozwolone. 02 Ponownie wpisz bazę danych do katalogu, tak aby
nie było pośredniego serwera przekierowującego
Nie można wykonać instrukcji. połączenie.

Działanie użytkownika: kod_sql: -866


Unikaj stosowania instrukcji zmiany danych SQL w klauzuli
FROM lub zmień ograniczenie referencyjne tak, aby nie stan_sql: 08001
modyfikowało tabeli, która jest obiektem docelowym
instrukcji zmiany danych SQL.

Rozdział 2. Komunikaty SQL 143


SQL0868N • SQL0881N

Wszystkie parametry procedury muszą używać tego samego


SQL0868N Próbowano wykonać instrukcję CONNECT
schematu kodowania co procedura. Jeśli jako parametr
z klauzulą USER/USING z serwerem, z
zostanie określony identyfikator CCSID, musi być on zgodny
którym połączenie już istnieje.
z jawnie lub niejawnie określoną opcją PARAMETER CCSID
Objaśnienie: procedury.
Istnieje już połączenie bieżące lub unieruchomione i próba
Działanie użytkownika:
wykonania instrukcji CONNECT z danym serwerem z
Usuń opcję CCSID z parametru lub zmień instrukcję tak, aby
klauzulą USER/USING jest niepoprawna.
wszędzie była określona ta sama wartość identyfikatora
Działanie użytkownika: CCSID.
Możliwe działania:
v użyj instrukcji CONNECTION, aby nawiązać połączenie kod_sql: -874
przy użyciu bieżącego połączenia DORMANT,
v użyj instrukcji CONNECT bez USER/USING, jeśli stan_sql: 53091
aplikacja używała SQLRULES(DB2),
v zakończ istniejącą jednostkę pracy, rozłącz się i ponownie SQL0880N SAVEPOINT nazwa-punktu-zapisu nie
połącz przy użyciu USER/USING. istnieje lub jest w tym kontekście
niepoprawny.
kod_sql: -868 Objaśnienie:
Wystąpił błąd podczas próby wykonania instrukcji
stan_sql: 51022 ROLLBACK TO SAVEPOINT nazwa-punktu-zapisu. Nie
istnieje punkt zapisu o tej nazwie albo został ustanowiony na
SQL0873N Nie można w tej samej instrukcji SQL zewnątrz bieżącego kontekstu niepodzielnego wykonania.
odwoływać się do obiektów zakodowanych
przy użyciu różnych schematów. Nie można wykonać instrukcji.

Objaśnienie: Działanie użytkownika:


Nie wszystkie tabele, funkcje SQL i metody SQL, do których Popraw nazwę punktu zapisu w instrukcji i ponownie wydaj
odwołuje się instrukcja SQL, są zdefiniowane przy użyciu tego instrukcję.
samego schematu kodowania.
kod_sql: -880
Ta sytuacja może nastąpić, gdy:
v do tabeli utworzonej przy użyciu schematu kodowania stan_sql: 3B001
ASCII lub Unicode odwołuje się instrukcja dotycząca
tabeli, która nie została utworzona przy użyciu tego samego SQL0881N SAVEPOINT o nazwie nazwa-punktu-zapisu
schematu kodowania już istnieje, lecz ta nazwa punktu zapisu nie
v do funkcji lub metody SQL utworzonej przy użyciu może być ponownie użyta.
schematu kodowania ASCII lub Unicode odwołuje się
Objaśnienie:
instrukcja dotycząca tabeli, która nie została utworzona przy
Nazwa nazwa-punktu-zapisu była już użyta w instrukcji
użyciu tego samego schematu kodowania
SAVEPOINT. Nazwa punktu zapisu nie może być użyta
v funkcja potomna została utworzona przy użyciu innego ponownie, ponieważ co najmniej jedna z instrukcji
schematu kodowania niż funkcja źródłowa SAVEPOINT, która korzysta z tej nazwy, ma także podany
v tabela wyjątków została utworzona przy użyciu innego parametr UNIQUE, co oznacza, że nazwa musi być unikalna.
schematu kodowania niż tabela podstawowa operacji
Nie można wykonać instrukcji. Nowy punkt zapisu nie został
Działanie użytkownika:
ustawiony. Stary punkt zapisu o tej samej nazwie nadal
Popraw instrukcję SQL tak, aby odwoływała się tylko do
istnieje.
obiektów o tym samym schemacie kodowania.
Działanie użytkownika:
kod_sql: -873 Wybierz inną nazwę dla tego punktu zapisu i ponownie
wykonaj instrukcję SAVEPOINT. Jeśli ten istniejący punkt
stan_sql: 53090 zapisu musi być ponownie użyty, to wykonaj instrukcję
RELEASE SAVEPOINT, aby zwolnić istniejący punkt zapisu.
Musisz jednak mieć świadomość tego, że instrukcja
SQL0874N Identyfikatory CCSID wszystkich RELEASE SAVEPOINT zwalnia także wszystkie inne punkty
parametrów muszą być zgodne z zapisu, zostały ustanowione w transakcji od momentu, w
identyfikatorem CCSID elementu którym został wyspecyfikowany zwalniany punkt zapisu.
PARAMETER procedury. Więcej informacji na ten temat znajdziesz w podręczniku SQL
Objaśnienie: Reference.

144 Komunikaty, tom 2


SQL0882N • SQL0902C

kod_sql: -881 Zapisz numer komunikatu (SQLCODE) i przyczynę


przyczyna.
stan_sql: 3B501
Jeśli śledzenie było aktywne, wywołaj program Independent
Trace Facility z wiersza komend systemu operacyjnego.
SQL0882N Punkt zapisu nie istnieje.
Następnie skontaktuj się z przedstawicielem serwisu
Objaśnienie: technicznego i przekaż mu następujące informacje:
Wystąpił błąd podczas próby wykonania instrukcji v Opis problemu
ROLLBACK TO SAVEPOINT. Użycie komendy
v Kod SQLCODE
ROLLBACK TO SAVEPOINT bez określenia nazwy punktu
zapisu nie jest dopuszczalne, jeśli nie istnieją żadne punkty v Przyczyna przyczyna
zapisu. v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe)
Nie można wykonać instrukcji. v Plik śledzenia (jeśli jest to możliwe).
Działanie użytkownika:
Spróbuj wykonać inną instrukcję lub za pomocą instrukcji Użytkownicy systemów stowarzyszonych: Należy
ROLLBACK spróbuj wycofać zmiany dla całej transakcji. zlokalizować problem do źródła danych, które nie może
zrealizować żądania (posługując się podręcznikiem
kod_sql: -882 Troubleshooting Guide, ustalić, które źródło danych nie jest w
stanie przetworzyć instrukcji SQL) i wykonać odpowiednie
czynności diagnostyczne dla źródła danych. Procedury
stan_sql: 3B502
wykrywania problemów mogą być różne dla różnych źródeł
danych; zapoznaj się z odpowiednią dokumentacją.
SQL0900N Aplikacja jest w stanie błędu. Połączenie z
bazą danych nie istnieje. kod_sql: -901
Objaśnienie:
Połączenie z bazą danych nie istnieje. Mogła to powodować stan_sql: 58004
jedna z następujących przyczyn:
v poważny błąd związany ze stanem programu użytkowego SQL0902C Wystąpił błąd systemowy (kod przyczyny =
spowodował utratę połączenia z bazą danych, kod-przyczyny). Nie można przetwarzać
v program użytkowy mógł się rozłączyć z bazą danych i przed kolejnych instrukcji SQL.
wykonaniem kolejnej instrukcji SQL nie nawiązał nowego Objaśnienie:
połączenia. Wystąpił błąd systemowy.
v Żądanie przełączenia użytkownika w zaufanym połączeniu
Działanie użytkownika:
nie powiodło się.
Zapisz numer komunikatu (SQLCODE) i kod przyczyny w
Działanie użytkownika: komunikacie.
Ponownie nawiąż bieżące połączenie, przełączając się do
istniejącego połączenia uśpionego (przy użyciu komendy Jeśli śledzenie było aktywne, wywołaj program Independent
CONNECT TO lub SET CONNECTION), nawiązując nowe Trace Facility z wiersza komend systemu operacyjnego.
połączenie (przy użyciu komendy CONNECT) lub dokonując Następnie skontaktuj się z przedstawicielem serwisu
pomyślnego przełączenia na innego użytkownika w zaufanym technicznego i przekaż mu następujące informacje:
połączeniu. v Opis problemu
v Kod SQLCODE i podany kod przyczyny
kod_sql: -900
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
stan_sql: 08003 możliwe)
v Plik śledzenia (jeśli jest to możliwe).
SQL0901N Instrukcja SQL nie została wykonana z
Użytkownicy systemów stowarzyszonych: Należy
powodu niegroźnego błędu systemowego.
zlokalizować problem do źródła danych, które nie może
Można wykonywać kolejne instrukcje SQL.
zrealizować żądania (posługując się podręcznikiem
(Przyczyna przyczyna).
Troubleshooting Guide, ustalić, które źródło danych nie jest w
Objaśnienie: stanie przetworzyć instrukcji SQL) i wykonać odpowiednie
Wystąpił błąd, który został spowodowany błędem czynności diagnostyczne dla źródła danych. Procedury
systemowym. Wykonywanie instrukcji SQL zakończyło się z wykrywania problemów mogą być różne dla różnych źródeł
powodu przyczyna (występuje tylko po angielsku i jest danych; zapoznaj się z odpowiednią dokumentacją.
użyteczny tylko dla przedstawiciela serwisu IBM).
kod_sql: -902
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 145


SQL0903N • SQL0905N

stan_sql: 58005
SQL0904N Wykonanie nie powiodło się z powodu
niedostępności zasobów. Kod przyczyny:
SQL0903N Instrukcja COMMIT nie powiodła się, kod-przyczyny, typ zasobu: typ-zasobu, nazwa
transakcja została wycofana. Kod zasobu: nazwa-zasobu.
przyczyny: kod-przyczyny.
Objaśnienie:
Objaśnienie: Instrukcja SQL nie mogła zostać wykonana, ponieważ zasób
Jeden lub kilka serwerów biorących udział w bieżącej nazwa-zasobu typu typ-zasobu nie był dostępny w danym
jednostce pracy nie mogło przygotować bazy danych do czasie z przyczyn określonych przez kod kod-przyczyny.
zatwierdzenia. Instrukcja COMMIT nie powiodła się i Zapoznaj się z dokumentacją Problem Determination dla bazy
wycofano zmiany z transakcji. Jeśli w bieżącej jednostce pracy danych DB2 dla systemu MVS, aby otrzymać wyjaśnienie
uczestniczy tylko jeden serwer, transakcja mogła już zostać dotyczące kodów typów zasobów.
zatwierdzona.
Działanie użytkownika:
Sprawdź identyfikator zasobu, który nie był dostępny. Aby
Możliwe kody przyczyny to: określić, dlaczego zasób ten nie był dostępny, sprawdź podany
01 Połączenie z jedną z baz danych biorących udział w kod-przyczyny.
jednostce pracy zostało utracone.
kod_sql: -904
02 Jedna z baz danych albo węzłów biorących udział w
jednostce pracy została udostępniona, ale nie mogła
stan_sql: 57011
zostać przygotowana do zatwierdzenia.
Użytkownicy systemów stowarzyszonych: Jeśli
SQL0905N Wykonanie nie powiodło się z powodu
połączenie nawiązane jest z bazą danych serwera
przekroczenia limitu zasobu. Nazwa zasobu
stowarzyszonego, w której używane są pseudonimy,
= nazwa-zasobu, limit = wielkość-limitu1
jedno ze źródeł danych wymagane dla pseudonimu
sekund procesora (wielkość-limitu2
nie może zostać przygotowane do zatwierdzenia.
jednostek obsługi) określony na podstawie
03 DB2 Data Links Manager biorący udział w jednostce źródło-limitu.
pracy nie mógł zostać przygotowany do
Objaśnienie:
zatwierdzania.
Wykonanie instrukcji SQL zostało przerwane z powodu
04 Co najmniej jedna zadeklarowana tabela przekroczenia limitu zasobu.
tymczasowa jest w stanie niespójnym.
Nazwa zasobu, którego limit został przekroczony, to
05 Wystąpił nieoczekiwany błąd. Szczegółowe
nazwa-zasobu. Jest to również nazwa kolumny w tabeli
informacje można znaleźć w dzienniku
specyfikacji limitów zasobów, z której limit został pobrany.
powiadomień administracyjnych.
Przekroczony limit liczony w sekundach czasu pracy
Użytkownicy systemów stowarzyszonych: Jeśli procesora wynosi wielkość-limitu1, a w jednostkach
połączenie nawiązane jest z bazą danych serwera serwisowych wynosi wielkość-limitu2. Nazwą nazwa-zasobu
stowarzyszonego, w której używane są pseudonimy, może być ASUTIME, co jest liczbą sekund czasu pracy
to zostało utracone połączenie z jednym ze źródeł procesora dozwolonych dla każdej instrukcji SQL.
danych wymaganym dla pseudonimu. Maksymalna liczba sekund czasu pracy procesora wynosi
wielkość-limitu1. Maksymalna liczba w jednostkach
06 Nie można wysłać informacji o ponownej serwisowych wynosi wielkość-limitu2.
synchronizacji do jednego z uczestników. Uczestnik
obsługuje tylko protokół IPv4. Włącz tryb
Źródłem danych używanym do określania wielkości limitu jest
podwójnego stosu (dual-stack) dla tego uczestnika.
źródło-limitu będące nazwą tabeli specyfikacji ograniczeń
Działanie użytkownika: zasobów lub ’parametrem systemowym’. Jeśli źródło jest
Jeśli połączenie z bazą danych zostało utracone, nawiąż je parametrem systemowym, tabela specyfikacji limitów
ponownie. Jeśli błąd nie był związany z połączeniem, przejrzyj zasobów może nie zawierać odnośnej pozycji lub wystąpił
diagnostyczne dzienniki błędów w systemie zdalnym, aby błąd w trakcie dostępu do tej tabeli. W obu przypadkach limit
określić przyczynę wystąpienia błędu i wymagane działanie. jest określany na podstawie parametru instalacyjnego
Uruchom ponownie aplikację. (systemowego).
Działanie użytkownika:
kod_sql: -903 Sprawdź, dlaczego wykonanie instrukcji SQL zajmuje tyle
czasu i podejmij odpowiednie działanie. Rozważ uproszczenie
stan_sql: 40504 instrukcji SQL, zmianę struktury tabel i indeksów lub
skontaktowanie się z grupą instalacyjną odpowiedzialną za
zarządzanie tabelami specyfikacji limitów zasobów.

146 Komunikaty, tom 2


SQL0906N • SQL0909N

Aplikacja, która otrzyma ten kod powrotu, może wykonać stan_sql: 27000
dodatkowe instrukcje języka SQL.
SQL0908N Błąd wiązania typu typ-wiązania przy
kod_sql: -905
korzystaniu z uprawnień
id-autoryzowanego-użytkownika; operacja
stan_sql: 57014 BIND, REBIND lub AUTO_REBIND jest
niedozwolona.
SQL0906N Instrukcja SQL nie może być wykonana, Objaśnienie:
ponieważ funkcja ta została wyłączona W wypadku instrukcji BIND oraz REBIND wskazany ID
wskutek wcześniejszego wystąpienia błędu. autoryzowanego użytkownika nie ma prawa do wykonywania
Objaśnienie: wskazanego typ-wiązania w odniesieniu do planu lub pakietu.
Nie powiodło się wykonanie instrukcji SQL z powodu Istnieje pozycja w tabeli specyfikacji limitów zasobów
wyłączenia żądanej funkcji w efekcie wcześniejszego (RLST), która zabrania temu ID autoryzowanego
wystąpienia błędu. Sytuacja taka może wystąpić wtedy, gdy użytkownika, albo wszystkim identyfikatorom, wykonywania
aplikacja została awaryjnie zakończona (np. przy wiązania albo ponownego wiązania. Dla instrukcji
wykorzystaniu warunku ON ERROR w programie PL/I), ale AUTO-REBIND parametr systemowy kontrolujący operacje
kontynuowała przetwarzanie instrukcji SQL. Może ona AUTO-REBIND jest ustawiony, tak aby operacje te były
również wystąpić, jeśli w transakcji DB2 CICS wystąpił błąd wyłączone.
podczas tworzenia wątku, ale kontynuowała ona typ-wiązania
wprowadzanie żądań SQL bez uprzedniego wysłania instrukcji Typ operacji wiązania (BIND, REBIND albo
SYNCPOINT ROLLBACK. AUTO-REBIND).
Działanie użytkownika: id-autoryzowanego-użytkownika
W ogólnym przypadku aplikacja powinna zakończyć działanie ID autoryzowanego użytkownika wywołującego
po otrzymaniu tego kodu powrotu. Wszystkie następne podkomendę BIND lub podstawowy ID
podejmowane przez aplikację próby wykonania innych autoryzowanego użytkownika wywołującego plan
instrukcji SQL również zakończą się niepowodzeniem i dla operacji AUTO-REBIND.
spowodują zwrócenie tego samego kodu powrotu. W
przypadku transakcji DB2 CICS, jeśli pole SQLERRP Działanie użytkownika:
znajdujące się w obszarze komunikacyjnym SQL zawiera Jeśli podany ID autoryzowanego użytkownika powinien mieć
nazwę modułu DSNCEXT1, transakcja może wydać prawo do wykonywania operacji wiązania, zmień pozycję w
wprowadzić SYNCPOINT ROLLBACK i kontynuować aktywnej tabeli. Jeśli operacje AUTO-REBIND są wyłączone,
przetwarzanie. Jeśli transakcja wybierze wycofanie zmian powiąż ponownie pakiet przed jego ponownym
(ROLLBACK) i kontynuację przetwarzania, musi być w stanie uruchomieniem.
skorygować sytuację, w wyniku której wystąpił początkowy
błąd utworzenia wątku. kod_sql: -908

kod_sql: -906 stan_sql: 23510

stan_sql: 24514, 51005, 58023


SQL0909N Obiekt został usunięty.
Objaśnienie:
SQL0907N Podjęto próbę modyfikacji tabeli docelowej
Aplikacja: (1) usunęła tabelę, a następnie próbowała uzyskać
nazwa-tabeli instrukcji MERGE przez
do niej dostęp lub (2) usunęła indeks, a następnie próbowała
ograniczenie lub wyzwalacz nazwa.
uzyskać dostęp do tabeli obiektów przy użyciu tego indeksu.
Objaśnienie:
Działanie użytkownika:
Instrukcja MERGE spowodowała aktywowanie ograniczenia
Kod aplikacji musi zostać zmodyfikowany, tak aby nie
lub wyzwalacza nazwa, który próbował zaktualizować,
próbowała ona uzyskiwać dostępu lub używać obiektu po jego
wstawić lub usunąć dane w tabeli nazwa-tabeli, która jest
usunięciu.
zarazem tabelą docelową instrukcji MERGE lub należy do tej
samej hierarchii tabel. Jest to niedozwolone.
Szczególnie niebezpieczne jest usuwanie indeksów z poziomu
Działanie użytkownika: aplikacji, ponieważ nie ma możliwości sprawdzenia, czy plan,
Usuń z instrukcji MERGE operację, która powoduje który został wygenerowany dla aplikacji (komendami BIND
aktywowanie ograniczenia lub wyzwalacza, albo zastosuj lub REBIND), nie używa w danej chwili tego indeksu w celu
ograniczenia lub wyzwalacz do innej tabeli, usuwając uzyskania dostępu do tabeli obiektów.
odwołanie do tabeli docelowej.
kod_sql: -909
kod_sql: -907
stan_sql: 57007

Rozdział 2. Komunikaty SQL 147


SQL0910N

v DROP na jednym z następujących obiektów: HISTOGRAM


SQL0910N Instrukcja SQL nie może uzyskać dostępu
TEMPLATE, THRESHOLD, SERVICE CLASS, WORK
do obiektu oczekującego na modyfikację.
ACTION, WORK CLASS, WORKLOAD
Objaśnienie: v GRANT (uprawnienia obciążenia)
Aplikacja próbowała uzyskać dostęp do obiektu wewnątrz tej
v REVOKE (uprawnienia obciążenia)
samej jednostki pracy, gdzie wystąpiła jedna z następujących
sytuacji:
Użytkownicy systemów stowarzyszonych: Oprócz podanych
v aplikacja wywołała instrukcję DROP względem samego powyżej powodów mogą istnieć inne ograniczenia związane
obiektu lub obiektu pokrewnego (na przykład indeksu danej ze źródłem danych, które uniemożliwiają dostęp do obiektu.
tabeli),
v aplikacja wywołała instrukcję dla obiektu, dla którego Nie można wykonać instrukcji SQL.
dodano lub usunięto ograniczenie,
Działanie użytkownika:
v aplikacja wywołała instrukcję DROP TRIGGER lub
Zmodyfikuj aplikację, aby nie próbowała uzyskać dostępu do
CREATE TRIGGER, która pośrednio lub bezpośrednio
obiektu wewnątrz tej samej jednostki pracy, gdzie wykonano
wpłynęła na obiekt,
modyfikację. Ogólnie lepiej jest odizolować instrukcje języka
v aplikacja wykonała instrukcję ROLLBACK TO definicji danych (DDL) w innej jednostce pracy od instrukcji
SAVEPOINT, która umieściła obiekt w stanie oczekiwania języka manipulacji danymi (DML), które używają tych
na modyfikację, samych obiektów.
v aplikacja wykonała instrukcję, która spowodowała, że
wszystkie wiersze tabeli tymczasowej, zadeklarowanej jako Przed poprawnym wykonaniem instrukcji, która się nie
NOT LOGGED będą usunięte. powiodła, należy zatwierdzić jednostkę pracy lub wycofać
v Aplikacja uruchomiła instrukcję ALTER TABLE ... ADD zmiany. Jeśli zatwierdzenie modyfikacji spowodowało
PARTITION, ALTER TABLE ... ATTACH PARTITION usunięcie obiektu, może zajść konieczność odtworzenia tego
lub ALTER TABLE ... DETACH PARTITION w obiektu w celu poprawnego przetworzenia instrukcji SQL.
odniesieniu do obiektu (w tym przypadku tabeli). Jeśli
jednostka pracy zawiera instrukcję ALTER TABLE ... Jeśli obiekt jest modyfikowany wewnątrz SAVEPOINT,
ATTACH PARTITION, wówczas w tej samej jednostce zmodyfikuj aplikację, tak aby nie próbowała uzyskać dostępu
pracy nie będzie można wykonać instrukcji ALTER TABLE do obiektu po wykonaniu przez aplikację instrukcji
... DETACH PARTITION dotyczącej tej samej tabeli. ROLLBACK TO SAVEPOINT. Nie będzie dostępny żaden
kursor, który ma dostęp do modyfikowanego obiektu i jest
v Aplikacja użyła instrukcji DETACH do utworzenia tego
otwarty podczas wykonywania instrukcji ROLLBACK TO
obiektu z partycji danych w partycjonowanej tabeli MDC.
SAVEPOINT. Zmodyfikuj aplikację, tak aby zamykała kursor.
v Aplikacja wywołała instrukcję SQL, która usiłowała
uzyskać dostęp do obiektu zaufanego kontekstu, który Jeśli nie powiedzie się instrukcja wstawiania, usuwania lub
oczekuje na modyfikację. Może chodzić o jedną z aktualizacji, dotycząca tymczasowej tabeli zadeklarowanej
poniższych instrukcji SQL: jako NOT LOGGED, wtedy zostaną usunięte wszystkie
– ALTER TRUSTED CONTEXT wiersze z tej tabeli. Nie będzie dostępny żaden kursor, który w
– CREATE TRUSTED CONTEXT czasie niepowodzenia operacji jest otwarty dla takiej
zadeklarowanej tabeli tymczasowej. Kursor ten powinien
– DROP TRUSTED CONTEXT
zostać przez aplikację zamknięty.
lub aplikacja wywołała instrukcję SQL, która usiłowała
Gdy instrukcja ALTER TABLE ... DETACH PARTITION nie
uzyskać dostęp do obiektu WLM, który oczekuje na
powiedzie się z powodu oczekującej instrukcji ALTER
modyfikację. Może chodzić o jedną z poniższych instrukcji
TABLE ... ATTACH PARTITION, do wykonania tych dwu
SQL:
operacji należy użyć dwu osobnych jednostek pracy.
v ALTER HISTOGRAM TEMPLATE
v ALTER THRESHOLD Jeśli instrukcja SQL usiłowała uzyskać dostęp do obiektu
v ALTER SERVICE CLASS zaufanego kontekstu, ponownie wywołaj tę instrukcję później.
v ALTER WORK ACTION
Jeśli instrukcja SQL usiłowała uzyskać dostęp do obiektu
v ALTER WORK CLASS WLM, ponownie wywołaj tę instrukcję później.
v ALTER WORKLOAD
v CREATE HISTOGRAM TEMPLATE Użytkownicy systemów stowarzyszonych: Jeśli poprzednie
v CREATE THRESHOLD działanie nie pozwoliło rozwiązać problemu, zlokalizuj
żądanie (posługując się podręcznikiem Troubleshooting Guide,
v CREATE SERVICE CLASS ustal, które źródło danych nie jest w stanie przetworzyć
v CREATE WORK ACTION instrukcji SQL) i sprawdź, jakie dodatkowe ograniczenia
v CREATE WORK CLASS niepozwalające na dostęp do obiektu istnieją w źródle danych.
Sprawdź, czy aplikacja nie narusza żadnego z tych ograniczeń.
v CREATE WORKLOAD

148 Komunikaty, tom 2


SQL0911N • SQL0913N

kod_sql: -910
SQL0912N Osiągnięto maksymalną liczbę żądań blokad
dla bazy danych.
stan_sql: 57007
Objaśnienie:
Osiągnięto maksymalną liczbę żądań blokad dla bazy danych,
SQL0911N Wycofano bieżącą transakcję z powodu ponieważ przydzielono niewystarczającą ilość pamięci dla
zakleszczenia lub przekroczenia czasu. Kod listy blokad.
przyczyny: kod-przyczyny.
Objaśnienie: Nie można wykonać instrukcji.
Bieżąca jednostka pracy nie mogła użyć obiektu i należało ją
Działanie użytkownika:
wycofać.
Program użytkowy powinien zatwierdzić instrukcję COMMIT
lub ROLLBACK zanim zatwierdzi inne instrukcje SQL.
Kody przyczyny są następujące: Rozważ zwiększenie parametru konfiguracyjnego bazy danych
2 wycofano transakcję z powodu zakleszczenia ( locklist), aby udostępnić więcej pamięci dla listy blokad.

68 wycofano transakcję z powodu przekroczenia czasu kod_sql: -912


blokady (lock timeout)
72 wycofano transakcję z powodu wystąpienia błędu stan_sql: 57011
dotyczącego programu DB2 Data Links Manager
związanego z transakcją.
SQL0913N Niepomyślne wykonanie spowodowane
przez zakleszczenie lub przekroczenie czasu.
Uwaga: Należy ponownie wprowadzić zmiany związane z Kod przyczyny: kod-przyczyny.
jednostką pracy.
Aplikacja została wycofana do stanu, w jakim była po Objaśnienie:
wykonaniu ostatniej instrukcji COMMIT. Wywołane żądanie doprowadziło do konfliktu w związku z
użyciem obiektu i działanie nie powiodło się.
Działanie użytkownika:
Aby uniknąć zakleszczenia lub przekroczenia czasu
Kody przyczyny są następujące:
oczekiwania, jeśli jest to możliwe, wywołuj często operacje
COMMIT wewnątrz długo wykonywanych aplikacji lub 2 część transakcji nie powiodła się z powodu
aplikacji, które mogą łatwo spowodować zakleszczenie. zakleszczenia,
68 część transakcji nie powiodła się z powodu
Użytkownicy systemów stowarzyszonych: Zakleszczenie
przekroczenia czasu blokady,
może wystąpić na serwerze stowarzyszonym lub w źródle
danych. Nie istnieje mechanizm wykrywania zakleszczeń 72 wycofano transakcję z powodu wystąpienia błędu
obejmujących źródła danych oraz potencjalnie także system dotyczącego programu DB2 Data Links Manager
zintegrowany. Istnieje możliwość zidentyfikowania źródła związanego z transakcją.
danych nie odpowiadającego na żądanie (zapoznaj się z
80 instrukcja nie powiodła się z powodu przekroczenia
podręcznikiem dotyczącym określania problemów, aby
czasu.
określić, które źródło danych nie przetworzyło instrukcji
SQL). Działanie użytkownika:
v Dla kodu przyczyny 80 można ponowić niewykonaną
Podczas przetwarzania określonych instrukcji SQL instrukcję bez zakończenia pracy aplikacji. Jeśli aplikacja
zakleszczenia są często występującym zjawiskiem, które używa wielu zdalnych baz danych, może lepiej będzie
należy brać pod uwagę. Zalecane jest takie projektowanie wycofać transakcję, aby uniknąć możliwości globalnego
aplikacji, aby minimalizować ryzyko powstawania zakleszczenia.
zakleszczeń.
v Dla innych kodów przyczyny wydaj żądanie wycofania
transakcji. Nie można zatwierdzić transakcji z powodu
Aby uzyskać więcej szczegółowych informacji o zapobieganiu
błędu w bieżącym rozgałęzieniu transakcji.
zakleszczeniom lub przekroczeniom limitu czasu blokady,
należy w Centrum informacyjnym DB2 v Aby uniknąć zakleszczenia lub przekroczenia czasu
(http://publib.boulder.ibm.com/infocenter/db2luw/v9) blokady, jeśli jest to możliwe, wywołuj często operacje
wyszukać frazy, takie jak ″zapobieganie zakleszczeniom″, COMMIT wewnątrz długo wykonywanych aplikacji lub
″zakleszczenia″ i ″limity czasu blokady″. aplikacji wymagających równoczesnego dostępu do danych.

kod_sql: -911 kod_sql: -913

stan_sql: 40001 stan_sql: 57033

Rozdział 2. Komunikaty SQL 149


SQL0917N • SQL0926N

stan_sql: 57019
SQL0917N Wiązanie pakietu nie powiodło się.
Objaśnienie:
SQL0925N Instrukcja SQL COMMIT jest
Wystąpił błąd uniemożliwiający utworzenie pakietu.
niepoprawna dla środowiska przetwarzania
aplikacji.
Ten kod SQLCODE może być generowany podczas
przetwarzania instrukcji wiązania albo zatwierdzania. Jeśli kod Objaśnienie:
ten został wygenerowany podczas przetwarzania instrukcji Instrukcja COMMIT nie jest dozwolona w następujących
zatwierdzania, wszystkie zmiany w bazie danych zostaną przypadkach:
wycofane. Jeśli kod ten został wygenerowany podczas v W środowisku rozproszonym (Distributed Transaction
przetwarzania instrukcji wiązania, utworzenie pakietu Processing), takim jak CICS, próbowano wykonać
zakończy się niepowodzeniem, ale pozostałe zmiany dokonane instrukcję COMMIT statycznego SQL, ale wymagana jest
w logicznej jednostce pracy nadal mogą zostać zatwierdzone. instrukcja zatwierdzająca zmiany specyficzne dla danego
Działanie użytkownika: środowiska. Na przykład w środowisku CICS będzie to
Problem ten zwykle jest spowodowany przez jedną lub więcej komenda CICS SYNCPOINT.
instrukcji SQL, które nie zostały powiązane z powodu v Aplikacja DB2 prekompilowana lub ustawiona do używania
wystąpienia błędu. CONNECT 2 w środowisku innym niż Monitor TP
wywołała instrukcję COMMIT dynamicznego SQL,
Określ instrukcje, które stanowią przyczynę tego błędu, i podczas gdy dopuszczalne są tylko instrukcje COMMIT
popraw je. Wydaj ponownie komendę, aby utworzyć pakiet. statycznego SQL.
v Nie można wywoływać instrukcji SQL COMMIT z
kod_sql: -917 procedury składowanej, jeśli program wywołujący jest
uruchamiany w rozproszonej jednostce pracy lub w
stan_sql: 42969 środowisku rozproszonym (Distributed Transaction
Processing).
SQL0918N Aplikacja musi wykonać wycofanie zmian. Działanie użytkownika:
Rozwiąż problem, wykonując jedno z następujących działań:
Objaśnienie:
Dla danej jednostki pracy wycofano zmiany z bazy danych, ale v usuń instrukcję wywołującą COMMIT i zastąp ją instrukcją,
mogło się zdarzyć, że dla innych menedżerów zasobów która jest jej poprawnym odpowiednikiem dla tego
związanych z tą jednostką nie wycofano zmian. Aby zapewnić środowiska,
integralność aplikacji, wszystkie żądania SQL będą odrzucane v w przypadku połączenia typu 2 w środowisku innym niż
aż do wycofania zmian przez aplikację. Monitor TP używaj tylko statycznej instrukcji COMMIT
(instrukcji COMMIT statycznego SQL),
Działanie użytkownika:
Żądania SQL będą odrzucane aż do wycofania zmian przez v w przypadku procedury składowanej usuń COMMIT.
aplikację. Na przykład w środowisku CICS należy to zrobić
przy użyciu komendy CICS SYNCPOINT ROLLBACK. kod_sql: -925

kod_sql: -918 stan_sql: 2D521

stan_sql: 51021 SQL0926N Instrukcja SQL ROLLBACK jest


niepoprawna dla środowiska przetwarzania
SQL0920N Dane z systemu klienta bazy danych nie aplikacji.
mogą być używane przez inne systemy Objaśnienie:
klientów baz danych. Instalacja ROLLBACK nie jest dozwolona w następujących
Objaśnienie: przypadkach:
Stacja robocza została skonfigurowana jako klient lub jako 1. W środowisku rozproszonym (Distributed Transaction
serwer z lokalnymi klientami. Bazy danych utworzone w tym Processing), takim jak CICS, próbowano wykonać
systemie nie mogą być współużytkowane przez inne stacje instrukcję ROLLBACK statycznego SQL, ale wymagana
robocze. jest instrukcja wycofująca zmiany specyficzna dla danego
środowiska. Na przykład w środowisku CICS będzie to
Nie można wykonać tej funkcji. komenda CICS SYNCPOINT ROLLBACK.
Działanie użytkownika: 2. Aplikacja DB2 prekompilowana lub ustawiona do
Pobieraj dane tylko ze stacji roboczych serwera. używania CONNECT 2 wywołała instrukcję ROLLBACK
dynamicznego SQL, podczas gdy dopuszczalne są tylko
instrukcje ROLLBACK statycznego SQL.
kod_sql: -920
3. Wywołanie instrukcji SQL ROLLBACK z procedury
składowanej jest ograniczone również wtedy, gdy program

150 Komunikaty, tom 2


SQL0930N • SQL0951N

wywołujący jest uruchamiany w rozproszonej jednostce Działanie użytkownika:


pracy (CONNECT typ 2) lub w środowisku rozproszonym Zakończ działanie wszystkich aplikacji korzystających z bazy
(Distributed Transaction Processing). danych. Uruchom ponownie bazę danych.
Działanie użytkownika:
Aby zapobiec ponownemu pojawieniu się problemu:
1. Usuń instrukcję ROLLBACK i zastąp ją instrukcją, która
v zmniejsz parametr konfiguracyjny bazy danych
jest jej poprawnym odpowiednikiem dla tego środowiska.
MAXFILOP (zmniejszy to wykorzystanie systemowej
2. W przypadku połączenia typu 2 używaj tylko statycznej tabeli plików przez DB2), i/lub
instrukcji ROLLBACK (tzn. statycznego SQL).
v w przypadku działania innych aplikacji korzystających z
3. W przypadku procedury składowanej usuń ją w całości. plików, zakończ ich działanie, i/lub
v znajdź w dokumentacji systemu operacyjnego opis
kod_sql: -926
zwiększania limitu dla systemowej tabeli plików. W
większości środowisk UNIX można to zrobić przez
stan_sql: 2D521 aktualizację konfiguracji jądra polegającą na wprowadzeniu
większej wartości. (W AIX można to zrobić jedynie przez
SQL0930N Brak dostępnej pamięci potrzebnej do zwiększenie wielkości pamięci w komputerze).
wykonania instrukcji.
kod_sql: -931
Objaśnienie:
Baza danych otrzymała żądanie wymagające innej strony
stan_sql: 58005
pamięci, ale menedżer baz danych nie ma dostępu do innych
stron pamięci.
SQL0950N Nie można usunąć tabeli lub indeksu,
Nie można wykonać instrukcji. ponieważ jest obecnie używany.
Działanie użytkownika: Objaśnienie:
Możliwe są następujące rozwiązania: Nie można wywołać instrukcji DROP TABLE lub DROP
v Sprawdź, czy system ma wystarczającą ilość pamięci INDEX w momencie, gdy otwarty kursor używa tabeli lub
rzeczywistej i wirtualnej. indeksu.
v Usuń procesy uruchomione w tle.
Nie można wykonać instrukcji. Nie usunięto tabeli lub
v Jeśli błąd występuje podczas resynchronizacji DUOW, indeksu.
zmniejsz wartość parametru konfiguracyjnego menedżera
bazy danych resync_interval. Działanie użytkownika:
Zamknij wymagane kursory i ponownie wywołaj instrukcję.
v Jeśli błąd występuje w instrukcji, która odwołuje się do
procedury (funkcji zdefiniowanej przez użytkownika,
kod_sql: -950
procedury składowanej lub metody), przypuszczalnie
pamięć potrzebna na argumenty i zwracane wartości była
większa niż pamięć dostępna w systemie. Może się tak stan_sql: 55006
zdarzyć, jeśli procedura ma zdefiniowane parametry BLOB,
CLOB, DBCLOB lub zwraca wartości o dużej objętości (na SQL0951N Nie można zmienić obiektu nazwa-obiektu
przykład 2 GB). typu typ-obiektu, ponieważ obecnie jest
używany przez proces tej samej aplikacji.
Jeśli wyżej wymienione środki zaradcze nie rozwiążą
problemu, konieczna może się okazać zmiana definicji Objaśnienie:
procedury. Nie można wykonać instrukcji ALTER ani SET INTEGRITY
dla obiektu, jeśli obiekt ten jest zablokowany lub używany.
kod_sql: -930
Nie można wykonać instrukcji. Obiekt nie został
zmodyfikowany.
stan_sql: 57011
Działanie użytkownika:
Zamknij wszystkie kursory, które zależą w sposób pośredni
SQL0931C W systemowej tabeli plików wystąpiło
lub bezpośredni od obiektu nazwa-obiektu i wprowadź
przepełnienie. Nie można przetwarzać
instrukcję ponownie.
kolejnych instrukcji SQL.
Objaśnienie: kod_sql: -951
Osiągnięto granicę systemu operacyjnego. Program użytkowy
nie może wywoływać kolejnych instrukcji SQL. Bazę danych stan_sql: 55007
zaznaczono jako do odtwarzania i nie można uzyskać dostępu
do niej z żadnego programu użytkowego.

Rozdział 2. Komunikaty SQL 151


SQL0952N • SQL0956C

SQL0952N Przetwarzanie zostało zatrzymane z powodu SQL0955C Nie można przydzielić pamięci sortowania
wystąpienia przerwania. do wykonania instrukcji. Kod przyczyny =
kod-przyczyny.
Objaśnienie:
Użytkownik mógł nacisnąć kombinację klawiszy służącą do Objaśnienie:
przerwania programu. Kod przyczyny wskazuje na to, że agent bazy danych nie ma
dostępu do wystarczającej ilości pamięci wirtualnej, aby
Przetwarzanie instrukcji zostało przerwane. Do bazy danych wykonać proces sortowania:
mogły zostać wprowadzone pewne zmiany, ale nie zostały one
1 niewystarczająca ilość pamięci dla procesu
zatwierdzone przed zatrzymaniem przetwarzania.
prywatnego,
Użytkownicy systemu stowarzyszonego: Ta sytuacja może 2 niewystarczająca ilość pamięci współużytkowanej w
również zostać wykryta przez źródło danych. obszarze współużytkowanej pamięci dla całej bazy
danych, określonej dla przeprowadzenia procesu
Działanie użytkownika: sortowania.
Kontynuuj wykonywanie aplikacji.
Nie można wykonać tej instrukcji, można jednak wykonywać
Jeśli instalujesz przykładową bazę danych, przerwij instalację i inne instrukcje SQL.
powtórnie zainstaluj przykładową bazę danych.
Działanie użytkownika:
kod_sql: -952 Wykonaj jedną lub więcej z następujących czynności:
v Zmniejsz wartość parametru sterty sortowania (
stan_sql: 57014 sterta-sortowania) w odpowiednim pliku konfiguracyjnym
bazy danych.
SQL0954C Na stercie aplikacji brak wystarczającej v Gdy kod przyczyny jest równy 1, zwiększ prywatną pamięć
ilości pamięci do wykonywania instrukcji. wirtualną, jeśli jest to możliwe. Na przykład w systemach
UNIX, aby zwiększyć obszar danych dla procesu, można
Objaśnienie: użyć komendy ulimit.
Brak dostępnej pamięci dla aplikacji.
v Gdy kod przyczyny jest równy 2, zwiększ obszar pamięci
współużytkowanej w ramach bazy danych, przeznaczony do
Nie można wykonać instrukcji. przetwarzania sortowania. Aby powiększyć ten obszar, nie
Działanie użytkownika: zmieniając przy tym progu sterty sortowania dla sortowań
W odpowiedzi na ten komunikat zakończ działanie aplikacji. prywatnych, zwiększ wartość parametru konfiguracyjnego
Jeśli parametr konfiguracyjny bazy danych applheapsz jest SHEAPTHRES_SHR bazy danych.
ustawiony na AUTOMATIC, należy zwiększyć ustawienie Aby powiększyć zarówno obszar pamięci
konfiguracyjne bazy danych APPL_MEMORY lub ustawienie współużytkowanej w ramach bazy danych, przeznaczony do
konfiguracyjne menedżera bazy danych przetwarzania sortowania, jak i próg sterty sortowania dla
INSTANCE_MEMORY. W przeciwnym przypadku zwiększ sortowań prywatnych, zwiększ wartość parametru
parametr konfiguracyjny bazy danych applheapsz, aby konfiguracyjnego SHEAPTHRES menedżera bazy danych,
umożliwić utworzenie większej sterty aplikacji. a parametr SHEAPTHRES_SHR ustaw na 0.

Podczas aktualizowania parametrów konfiguracyjnych kod_sql: -955


zalecane jest, aby zmieniać je o 10% bieżącej wielkości, aż do
naprawienia błędu. Aby zmienić parametr applheapsz, stan_sql: 57011
wprowadź komendę podobną do poniższej, która powoduje
ustawienie parametru applheapsz na wartość 4000 dla bazy
danych sample: SQL0956C Na stercie bazy danych nie ma
wystarczającej ilości pamięci do
db2 UPDATE DB CFG FOR sample USING APPLHEAPSZ 4000
wykonywania instrukcji.
Jeśli wszystkie powiązane parametry konfiguracyjne mają Objaśnienie:
wartość AUTOMATIC lub COMPUTED, wtedy wymagania Brak dostępnej pamięci dla bazy danych.
dotyczące pamięci instancji przekraczają ilość pamięci
skonfigurowaną w komputerze. Możliwe są następujące Nie można wykonać instrukcji.
rozwiązania: zmniejszenie obciążenia bazy danych, włączenie
Działanie użytkownika:
opcji koncentratora połączenia lub dodanie dodatkowej
W odpowiedzi na ten komunikat zakończ działanie aplikacji.
pamięci do komputera.

Zwiększ parametr konfiguracyjny bazy danych dbheap, aby


kod_sql: -954
umożliwić utworzenie większej sterty bazy danych. Jeśli liczba
stan_sql: 57011

152 Komunikaty, tom 2


SQL0958C • SQL0964C

serwerów we/wy jest bliska maksymalnej dopuszczalnej


SQL0959C Na stercie komunikacji serwera nie ma
wartości, zalecane jest zmniejszenie tej liczby.
wystarczającej ilości pamięci do wykonania
instrukcji.
Jeśli parametr konfiguracyjny bazy danych dbheap jest
ustawiony na AUTOMATIC, należy zwiększyć ustawienie Objaśnienie:
konfiguracyjne bazy danych DATABASE_MEMORY lub Brak dostępnej pamięci na stercie komunikacji serwera.
ustawienie konfiguracyjne menedżera bazy danych
INSTANCE_MEMORY. Komenda lub instrukcja nie może zostać wykonana.
Działanie użytkownika:
Podczas aktualizowania parametrów konfiguracyjnych
W odpowiedzi na ten komunikat zakończ działanie aplikacji.
zalecane jest, aby zmieniać je o 10% bieżącej wielkości, aż do
Zwiększ wielkość parametru sterty komunikacji ( comheapsz)
naprawienia błędu. Aby zmienić parametr dbheap, wprowadź
w pliku konfiguracyjnym menedżera baz danych stacji
komendę podobną do poniższej, która powoduje ustawienie
roboczej serwera.
parametru dbheap na wartość 2400 dla bazy danych sample:
db2 UPDATE DB CFG FOR sample UWAGA: Komunikat ten dotyczy tylko wersji produktu DB2
USING DBHEAP 2400 wcześniejszych niż wersja 2.

Aby zmienić wielkość sterty bazy danych, wprowadź komendę kod_sql: -959
podobną do następującej:
db2 CONNECT RESET; stan_sql: 57011
db2 UPDATE DB CFG FOR sample
USING DBHEAP 2400
SQL0960C W obszarze tabel nazwa-obszaru-tabel
Jeśli wszystkie powiązane parametry konfiguracyjne mają została utworzona maksymalna liczba
wartość AUTOMATIC lub COMPUTED, wtedy wymagania obiektów.
dotyczące pamięci instancji przekraczają ilość pamięci Objaśnienie:
skonfigurowaną w komputerze. Możliwe są następujące W obszarze tabel nie można utworzyć nowego obiektu,
rozwiązania: zmniejszenie obciążenia bazy danych, włączenie ponieważ dla tego obszaru tabel została osiągnięta
opcji koncentratora połączenia lub dodanie dodatkowej maksymalna liczba obiektów.
pamięci do komputera.
Działanie użytkownika:
kod_sql: -956 Podaj inny obszar tabel, w którym ma zostać utworzony obiekt
lub tabela. Jeśli obszarem tabel jest obszar tabel SYSTEM
stan_sql: 57011 TEMPORARY, używanych jest za dużo tabel tymczasowych
jednocześnie.

SQL0958C Osiągnięto maksymalną liczbę otwartych kod_sql: -960


plików.
Objaśnienie: stan_sql: 57011
Osiągnięto maksymalną liczbę uchwytów plików
umożliwiających dostęp do bazy danych. SQL0964C Dziennik transakcji dla bazy danych jest
pełny.
Nie można wykonać instrukcji.
Objaśnienie:
Działanie użytkownika: Brak wolnej pamięci w dzienniku transakcji.
Zwiększ parametr określający maksymalną liczbę otwartych
plików umożliwiających dostęp do tej lokalizacji bazy danych. Jeśli używane są pliki dziennika przewijanego z plikami
W tym celu zwiększ parametr konfiguracyjny ( maxfilop), aby dziennika dodatkowego, oznacza to, że były próby przydziału i
umożliwić obsługę uchwytów plików dla instancji i używania ich. Jeśli w systemie plików brak pamięci, nie
przerywanie innych sesji w celu zmniejszenia liczby można używać dzienników dodatkowych.
używanych uchwytów plików.
Jeśli używany jest dziennik archiwalny, w systemie plików
kod_sql: -958 brak pamięci dla nowego pliku dziennika.

stan_sql: 57009 Nie można wykonać instrukcji.


Działanie użytkownika:
W odpowiedzi na ten komunikat (SQLCODE) wywołaj
instrukcje COMMIT lub ROLLBACK lub powtórz operację.

Rozdział 2. Komunikaty SQL 153


SQL0965W • SQL0968C

Jeśli aplikacje równoległe aktualizują bazę danych, powtórz Działanie użytkownika:


operację. Gdy inna aplikacja zakończy transakcję, obszar Zwolnij plik z aplikacji, z której został otwarty, albo ponownie
przeznaczony na dziennik może zostać zwolniony. zainstaluj lub odtwórz plik pierwotny.

Częściej wywołuj operacje zatwierdzania. Pamięć dla kod_sql: -966


dziennika może zostać zwolniona po zatwierdzeniu transakcji.
Podczas pisania aplikacji rozważ, kiedy zatwierdzić stan_sql: 57013
zaktualizowane transakcje, aby zapobiec pełnemu
rejestrowaniu.
SQL0967N Niepoprawny format pliku odwzorowania
błędów nazwa podany w katalogu Database
W przypadku zakleszczeń częściej sprawdzaj protokoły.
Connection Services.
Można to zrobić, zmniejszając parametr konfiguracyjny bazy
danych DLCHKTIME. Spowoduje to szybsze wykrywanie i Objaśnienie:
usuwanie zakleszczeń (przez ROLLBACK) i zwolnienie Podczas odczytu pliku odwzorowania błędów wystąpił błąd.
pamięci.
Nie można pobrać danych odwzorowania błędów.
Jeśli opisywana sytuacja występuje często, zwiększ parametr
konfiguracyjny baz danych, aby umożliwić tworzenie Działanie użytkownika:
większych plików dziennika. Większy plik dziennika wymaga Popraw składnię pliku odwzorowania błędów.
więcej pamięci, ale programy rzadziej będą ponawiały
operacje. Parametry konfiguracyjne transakcji, które mogą kod_sql: -967
wymagać dopasowania, to LOGFILSIZ, LOGPRIMARY i
LOGSECOND. W celu uzyskania dodatkowych informacji na stan_sql: 55031
temat dziennika transakcji, należy w Centrum informacyjnym
DB2 wyszukać frazy, takie jak ″transaction log″. SQL0968C System plików jest pełny.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i Objaśnienie:


powtórnie zainstaluj przykładową bazę danych. Jeden z systemów plików zawierających bazę danych jest
pełny. Ten system plików może zawierać katalog bazy danych,
kod_sql: -964 dzienniki baz danych lub kontener obszaru tabel.

stan_sql: 57011 Nie można wykonać instrukcji.


Działanie użytkownika:
SQL0965W W pliku komunikatów na tej stacji roboczej Zwolnij pamięć systemu, usuwając niepotrzebne pliki. Nie
nie ma tekstu komunikatu odpowiadającego usuwaj plików bazy danych. Jeśli wymagana jest dodatkowa
ostrzeżeniu SQL SQLCODE. Z modułu pamięć, może być konieczne usunięcie tabel i indeksów
nazwa zwrócono ostrzeżenie z pierwotnymi zidentyfikowanych jako niewymagane.
elementami lista-elementów.
W systemach UNIX komunikat o zapełnieniu dysku może być
Objaśnienie: spowodowany przekroczeniem maksymalnej wielkości pliku
Serwer bazy danych zwrócił aplikacji kod SQLCODE. Kod dozwolonego dla bieżącego identyfikatora użytkownika. Użyj
ostrzeżenia nie odpowiada komunikatowi w pliku komendy chuser w celu aktualizacji parametru fsize. Może być
komunikatów DB2 na tej stacji roboczej. konieczne ponowne uruchomienie systemu.
Działanie użytkownika:
Więcej informacji na temat podanego kodu SQLCODE Ten przypadek pełnego dysku może być spowodowany
zawiera dokumentacja dotycząca serwera bazy danych. kontenerami o różnych rozmiarach. Jeśli jest wystarczająca
ilość miejsca w systemie plików, usuń obszar tabel i utwórz go
ponownie, używając kontenerów o równych rozmiarach.
SQL0966N Nie można znaleźć lub otworzyć pliku
odwzorowania błędów nazwa podanego w Jeśli instrukcja, która nie została przetworzona, odnosiła się do
katalogu Database Connection Services. typu danych LOB:
Objaśnienie: v Upewnij się, czy wszystkie kursory używane w aplikacji są
Występuje jedna z podanych poniżej sytuacji: zamykane natychmiast po ich użyciu.
v plik odwzorowania błędów nie istnieje, v Upewnij się, czy w aplikacji okresowo wykonywane są
v inna aplikacja już otworzyła plik odwzorowania błędów, instrukcje COMMIT.
v pliku odwzorowania błędów nie ma w oczekiwanej ścieżce, v Do systemowego tymczasowego obszaru tabel dodaj
dodatkowe kontenery, aby podczas wykonywania tej
v plik odwzorowania błędów został uszkodzony.
instrukcji przechowywały tymczasowe dane LOB.
Nie można pobrać danych odwzorowania błędów.

154 Komunikaty, tom 2


SQL0969N • SQL0973N

kod_sql: -968 Włóż wymaganą dyskietkę do napędu. Nie wyjmuj dyskietki,


jeśli działa aplikacja używająca bazy danych znajdującej się na
stan_sql: 57011 dyskietce.

kod_sql: -972
SQL0969N W pliku komunikatu na tej stacji roboczej
nie ma tekstu komunikatu odpowiadającego
stan_sql: 57019
błędowi SQL błąd. Z modułu nazwa
zwrócono błąd z pierwotnymi elementami
lista-elementów. SQL0973N Na stercie nazwa-sterty jest za mało
dostępnego obszaru, aby przetworzyć
Objaśnienie:
instrukcję.
Serwer baz danych zwrócił SQLCODE błąd do aplikacji. Kod
błędu nie odpowiada komunikatowi w pliku komunikatów Objaśnienie:
DB2 na stacji roboczej. Brak dostępnej pamięci dla tej sterty.
Działanie użytkownika:
Więcej informacji na temat podanego kodu SQLCODE Nie można wykonać instrukcji.
zawiera dokumentacja dotycząca serwera bazy danych. Aby Działanie użytkownika:
rozwiązać problem wykonaj działania podane w dokumentacji W odpowiedzi na ten komunikat (SQLCODE) przerwij
serwera bazy danych. aplikację. Zmodyfikuj parametr konfiguracyjny nazwa-sterty,
aby zwiększyć wielkość sterty lub stosu.
Użytkownicy systemu stowarzyszonego: Należy zlokalizować
problem do źródła danych, które nie może zrealizować żądania Jeśli parametr konfiguracyjny nazwa-sterty jest ustawiony na
(posługując się podręcznikiem Troubleshooting Guide, ustalić, AUTOMATIC, należy zwiększyć ustawienie parametru
które źródło danych nie jest w stanie przetworzyć instrukcji konfiguracyjnego bazy danych APPL_MEMORY, ustawienia
SQL). Odszukaj błąd w odpowiedniej dokumentacji dla źródła konfiguracyjne bazy danych DATABASE_MEMORY lub
danych. Jeśli problem występuje przy określonych danych, ustawienie konfiguracyjne menedżera bazy danych
zalecane jest zbadanie postaci przetwarzanych danych w INSTANCE_MEMORY. W przeciwnym razie zmodyfikuj
źródle w czasie wystąpienia błędu. wartość parametru konfiguracyjnego nazwa-sterty, aby
zwiększyć wielkość sterty.
SQL0970N System próbował wykonać zapis do pliku,
który jest tylko do odczytu. Podczas modyfikowania parametru konfiguracyjnego bazy
danych DATABASE_MEMORY:
Objaśnienie:
v Ustawienie parametru na AUTOMATIC poinformuje
Plik używany przez bazę danych jest znacznik tylko do
menedżera bazy danych, aby automatycznie zarządzał
odczytu lub nie istnieje. Baza danych wymaga do tego pliku
pamięcią bazy danych.
dostępu typu zapis.
v Jeśli parametr jest aktualnie ustawiony na wartość liczbową
Nie można wykonać instrukcji. zdefiniowaną przez użytkownika, zwiększenie wartości o
256 stron powinno rozwiązać problem.
Działanie użytkownika:
W odpowiedzi na ten komunikat (SQLCODE) przerwij W przypadku wielkości sterty współużytkowanej przez
aplikację. Sprawdź, czy wszystkie pliki bazy danych są aplikację należy zwiększyć ustawienie konfiguracyjne bazy
zarówno do odczytu, jak i do zapisu. Sprawdź, czy w danych APPL_MEMORY lub ustawienie konfiguracyjne
określonej nazwie pliku nie ma wewnątrz niepotrzebnych menedżera bazy danych INSTANCE_MEMORY.
odstępów.
Podczas aktualizowania parametrów konfiguracyjnych
kod_sql: -970 zalecane jest, aby zmieniać je o 10% bieżącej wielkości, aż do
naprawienia błędu.
stan_sql: 55009
Na przykład jeśli nazwa-sterty to UTIL_HEAP_SZ, a nazwa
SQL0972N W napędzie nie ma właściwej dyskietki z bazy danych to TORDB1, aby zaktualizować parametr
bazą danych. konfiguracyjny bazy danych do 10000, wywołaj następującą
komendę:
Objaśnienie: db2 update db cfg
Dyskietka w napędzie nie jest dyskietką z bazą danych. for TORDB1
using UTIL_HEAP_SZ 10000
Nie można wykonać instrukcji.
Działanie użytkownika: Aby wyświetlić listę parametrów konfiguracyjnych bazy
danych, użyj komendy GET DATABASE
CONFIGURATION.

Rozdział 2. Komunikaty SQL 155


SQL0974N • SQL0978N

Aby zaktualizować parametr konfiguracyjny menedżera bazy kod_sql: -975


danych, na przykład MON_HEAP_SZ, do nowej wielkości
100, wywołaj następującą komendę: stan_sql: 57046
db2 update dbm cfg
using MON_HEAP_SZ 100
SQL0976N Napęd dyskietek jest otwarty.
Aby wyświetlić listę parametrów konfiguracyjnych menedżera Objaśnienie:
bazy danych, użyj komendy GET DATABASE MANAGER Napęd dyskietek z dyskietką z bazą danych jest otwarty.
CONFIGURATION.
Nie można wykonać instrukcji.
Jeśli wszystkie powiązane parametry konfiguracyjne mają
Działanie użytkownika:
wartość AUTOMATIC lub COMPUTED, wtedy wymagania
Zamknij napęd i powtórz operację.
dotyczące pamięci instancji przekraczają ilość pamięci
skonfigurowaną w komputerze. Możliwe są następujące
kod_sql: -976
rozwiązania: zmniejszenie obciążenia bazy danych, włączenie
opcji koncentratora połączenia lub dodanie dodatkowej
pamięci do komputera. stan_sql: 57021

kod_sql: -973 SQL0977N Nieznany stan instrukcji COMMIT.


Objaśnienie:
stan_sql: 57011
W trakcie wykonywania instrukcji COMMIT
baza_danych_menedżera_transakcji stała się niedostępna;
SQL0974N Dysk zawierający bazę danych jest spowodowało to, że wyniki COMMIT będą nieznane. Gdy
zablokowany. baza danych baza_danych_menedżera_transakcji stanie się
dostępna, zostanie wykonana jej resynchronizacja. Zauważ, że
Objaśnienie:
podczas resynchronizacji transakcja może zostać wycofana.
System zgłosił, że dysk zawierający bazę danych jest
Dalsze przetwarzanie instrukcji SQL może być bezpieczne, ale
zablokowany.
blokady mogą zostać utrzymane aż do zakończenia procesu
resynchronizacji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika: Sprawdź, czy może zostać wykonane połączenie z bazą
Sprawdź, czy w systemie nie działają inne procedury (na baza_danych_menedżera_transakcji, na przykład przy użyciu
przykład CHKDSK), które mogą zablokować napęd. Powtórz procesora wiersza komend. Jeśli nie, wykonaj konieczne
operację. działania wskazane przez wartość zmiennej SQLCODE, aby
się upewnić, że połączenie może zostać ustalone.
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
powtórnie zainstaluj przykładową bazę danych. kod_sql: -977

kod_sql: -974 stan_sql: 40003

stan_sql: 57020
SQL0978N Dyskietka jest chroniona przed zapisem.

SQL0975N Nie można rozpocząć nowej transakcji, Objaśnienie:


ponieważ baza danych lub instancja nazwa Próbowano wykonać operację zapisu do bazy danych
została wygaszona przez użytkownika znajdującej się na dyskietce chronionej przed zapisem.
nazwa-użytkownika. Typ wygaszenia: typ.
Nie można wykonać instrukcji.
Objaśnienie:
Inny użytkownik wygasił instancję lub bazę danych, której Działanie użytkownika:
próbowano używać. Jeśli instancja lub baza danych jest w Sprawdź, czy używasz właściwej dyskietki. Jeśli trzeba, usuń
stanie wygaszenia, nie można używać nowych transakcji. zabezpieczenie na dyskietce.

Typ wygaszenia typ odwołuje się do wygaszonej już instancji kod_sql: -978
lub bazy danych i ma wartość ’1’ dla instancji, a wartość ’2’
dla bazy danych. stan_sql: 55009
Działanie użytkownika:
Skontaktuj się z użytkownikiem, który obecnie ma wygaszoną
instancję lub bazę danych, aby dowiedzieć się, kiedy program
DB2 przestanie być wygaszony, i ponów próbę w tym czasie.

156 Komunikaty, tom 2


SQL0979N • SQL0984C

kod_sql: -980
SQL0979N Komenda COMMIT nie powiodła się w
wypadku baz danych w liczbie liczba ze
względu na proces aplikacji działający z stan_sql: 58005
parametrem SYNCPOINT określonym jako
NONE. Niepowodzenia obejmują SQL0982N Wystąpił błąd dysku. Jednak kolejne
następujące pary aliasu bazy danych i stanu instrukcje SQL mogą być wykonywane.
SQLSTATE (maksymalnie mogą zostać
zwrócone cztery): alias/SQLSTATE1, Objaśnienie:
alias/SQLSTATE2, alias/SQLSTATE3, Podczas przetwarzania tymczasowego systemu plików
alias/SQLSTATE4. wystąpił błąd dysku, który uniemożliwił pomyślne wykonanie
bieżącej instrukcji SQL. Jednak kolejne instrukcje SQL mogą
Objaśnienie: być wykonywane.
Aplikacja została połączona z wieloma bazami danych i
została wydana instrukcja COMMIT, która nie powiodła się Nie można wykonać instrukcji.
dla jednego lub kilku połączeń.
Działanie użytkownika:
Użytkownicy systemów stowarzyszonych: Jeśli jedno z W odpowiedzi na ten komunikat (SQLCODE) przerwij
nieudanych połączeń dotyczy bazy danych serwera aplikację.
stowarzyszonego, w której używane są pseudonimy, oznacza
to, że nie powiodło się zatwierdzenie dla jednego ze źródeł kod_sql: -982
danych wymaganych przez pseudonim.
stan_sql: 58004
Działanie użytkownika:
W zależności od aplikacji i aktualizowanych danych
użytkownik może sobie zażyczyć przerwania wykonywanej SQL0983N Dziennik transakcji nie należy do bieżącej
procedury, zarejestrowania błędów i wywołania odpowiedniej bazy danych.
komendy SQL, aby się upewnić, że zmiany z aplikacji miały
Objaśnienie:
odpowiedni wpływ na wszystkie związane z nią bazy danych.
Przechowywana w pliku dziennika sygnatura nie jest zgodna z
sygnaturą zależną od bazy danych. Błąd występuje zazwyczaj,
Jeśli nie można otrzymać pełnej listy błędów COMMIT, które gdy użytkownik poda, że plik dziennika jest przechowywany
miały wpływ na bazę danych, przejrzyj pełną listę w dzienniku w katalogu innym niż baza danych. Może to spowodować
diagnostycznym. przekierowanie pliku.

kod_sql: -979 Nie można wykonać instrukcji.

stan_sql: 40003 Działanie użytkownika:


Wprowadź ponownie komendę z podaniem odpowiedniej
lokalizacji pliku dziennika.
SQL0980C Wystąpił błąd dysku. Nie można
przetwarzać kolejnych instrukcji SQL. kod_sql: -983
Objaśnienie:
Wystąpił błąd dysku, który uniemożliwił pomyślne wykonanie stan_sql: 57036
bieżącej i kolejnych instrukcji SQL. Program użytkowy nie
może wywoływać kolejnych instrukcji SQL. Na przykład
SQL0984C Wykonanie komendy COMMIT lub
podprogram odtwarzania z programu użytkowego nie może
ROLLBACK nie powiodło się. Nie można
wywołać dodatkowych instrukcji SQL. Bazę danych
przetwarzać kolejnych instrukcji SQL.
zaznaczono jako do odtwarzania i nie można uzyskać dostępu
do niej z żadnego programu użytkowego. Objaśnienie:
Z powodu błędu systemowego nie można wykonać poprawnie
Nie można wykonać instrukcji. zatwierdzenia lub wycofania zmian. Program użytkowy nie
może wywoływać kolejnych instrukcji SQL. Na przykład
Działanie użytkownika: podprogram odtwarzania z programu użytkowego nie może
Jeśli jest to możliwe, należy zapisać wszystkie informacje wywołać dodatkowych instrukcji SQL. Bazę danych
dotyczące błędu z obszaru komunikacyjnego SQL. Zakończ zaznaczono jako do odtwarzania i nie można uzyskać dostępu
wszystkie aplikacje korzystające z bazy danych. Ustal, czy do niej z żadnego programu użytkowego.
błąd jest związany ze sprzętem. Uruchom ponownie bazę
danych. Jeśli odtworzenie danych jest niemożliwe, odtwórz
Nie można wykonać instrukcji.
bazę danych z kopii zapasowej.
Działanie użytkownika:
Jeśli instalujesz przykładową bazę danych, przerwij instalację i Jeśli jest to możliwe, zapisz numer komunikatu (SQLCODE) i
powtórnie zainstaluj przykładową bazę danych. wszystkie informacje dotyczące błędu z obszaru

Rozdział 2. Komunikaty SQL 157


SQL0985C • SQL0987C

komunikacyjnego SQL. Zakończ wszystkie aplikacje


SQL0986N W trakcie przetwarzania tabeli
korzystające z bazy danych. Uruchom ponownie bazę danych.
użytkownika wystąpił błąd. Tabela jest nie
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
do użycia.
powtórnie zainstaluj przykładową bazę danych.
Objaśnienie:
Jeśli odtworzenie danych jest niemożliwe, odtwórz bazę Dane w tabeli nie są już poprawne.
danych z kopii zapasowej.
System nie może wykonywać instrukcji korzystających z
Jeśli śledzenie było aktywne, wywołaj program Independent tabeli.
Trace Facility z wiersza komend systemu operacyjnego.
Działanie użytkownika:
Skontaktuj się z przedstawicielem działu technicznego i
Odtwórz bazę danych z kopii zapasowej (backup), jeśli baza
przekaż mu następujące informacje:
danych jest niespójna.
Wymagane informacje:
Jeśli instalujesz przykładową bazę danych, przerwij instalację i
v Opis problemu powtórnie zainstaluj przykładową bazę danych.
v Kod SQLCODE
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to kod_sql: -986
możliwe)
stan_sql: 58004
v Plik śledzenia (jeśli jest to możliwe).

Użytkownicy systemów stowarzyszonych: Należy SQL0987C Nie można przydzielić pamięci


zlokalizować problem do źródła danych, które nie może współużytkowanej do sterowania aplikacją.
zrealizować żądania (posługując się podręcznikiem
Objaśnienie:
Troubleshooting Guide, ustalić, które źródło danych nie jest w
Nie można przydzielić pamięci współużytkowanej do
stanie przetworzyć instrukcji SQL) i wykonać odpowiednie
sterowania aplikacją. Błąd ten jest powodowany przez brak
czynności diagnostyczne oraz procedury odtwarzania bazy
zasobów dla menedżera baz danych lub środowiska, w którym
danych dla źródła danych. Procedury rozwiązywania
próbuje się wykonywać operacje. Zasoby pamięci, które mogą
problemów oraz odtwarzania bazy danych mogą być różne dla
powodować ten błąd:
różnych źródeł danych, zapoznaj się więc z odpowiednią
dokumentacją. v liczba przydzielonych w systemie identyfikatorów pamięci
współużytkowanej,
kod_sql: -984 v wielkość dostępnej w systemie pamięci przeznaczona dla
stronicowania lub wymiany,
stan_sql: 58005 v wielkość dostępnej w systemie pamięci fizycznej.
Działanie użytkownika:
SQL0985C W trakcie przetwarzania katalogów baz Wykonaj jedną lub więcej z następujących czynności:
danych wystąpił błąd. Baza danych jest nie
v Sprawdź, czy są dostępne odpowiednie zasoby pamięci,
do użycia.
spełniające wymagania menedżera baz danych i innych
Objaśnienie: programów, które są wykonywane w systemie.
System nie może wykonać odtwarzania po błędzie we/wy w v Zmniejsz wymaganie dotyczące pamięci menedżera baz
pliku katalogu. danych dla tego zestawu pamięci przez zmniejszenie
parametru konfiguracyjnego baz danych, app_ctl_heap_sz,
System nie może wykonywać instrukcji korzystających z tej który ma na to wpływ.
bazy danych. v Zmniejsz wartość jednego lub kilku z następujących
Działanie użytkownika: parametrów konfiguracyjnych bazy danych: dbheap,
Odtwórz bazę danych z kopii zapasowej. util_heap_sz i buffpage. Informacje dotyczące parametrów
wpływających na ilość globalnej pamięci przydzielonej
Jeśli instalujesz przykładową bazę danych, przerwij instalację i bazie danych można znaleźć w podręczniku Administration
powtórnie zainstaluj przykładową bazę danych. Guide.
v Jeśli parametr intra_parallel ma wartość yes (tak), należy
kod_sql: -985 zmniejszyć wartość parametru konfiguracyjnego menedżera
bazy danych sheapthres lub nadać parametrowi
stan_sql: 58005 intra_parallel wartość no (nie).
v Jeśli trzeba, zatrzymaj inne programy korzystające z
systemu.

kod_sql: -987

158 Komunikaty, tom 2


SQL0989N • SQL0995W

stan_sql: 57011 Używaj tylko programów prekompilowanych w zgodnej wersji


menedżera baz danych.
SQL0989N Wyzwalacz AFTER nazwa-wyzwalacza
kod_sql: -992
próbował zmodyfikować wiersz w tabeli
nazwa-tabeli, który był modyfikowany przez
instrukcję zmiany danych SQL w klauzuli stan_sql: 51008
FROM.
Objaśnienie: SQL0993W Nowa ścieżka do dziennika (newlogpath) w
W klauzuli FROM określono instrukcję zmiany danych SQL, pliku konfiguracyjnym bazy danych jest
ale podstawowa tabela źródłowa tej instrukcji ma niepoprawna.
zdefiniowany wyzwalacz AFTER, który modyfikuje tę samą Objaśnienie:
tabelę. Jest to niedozwolone. Ścieżka do pliku dziennika jest niepoprawna z jednego z
następujących powodów:
Nie można wykonać instrukcji. v Ścieżka nie istnieje.
Działanie użytkownika: v plik o poprawnej nazwie został znaleziony w podanej
Unikaj stosowania instrukcji zmiany danych SQL w klauzuli ścieżce, ale nie jest to plik dziennika dla tej bazy danych,
FROM lub zmień wyzwalacz tak, aby nie modyfikował tabeli, v identyfikator instancji menedżera baz danych nie ma
która jest obiektem docelowym instrukcji zmiany danych SQL. uprawnienia do używania ścieżki lub pliku dziennika.

kod_sql: -0989 Żądana zmiana nie została wykonana.

stan_sql: 560C3 Działanie użytkownika:


Aby zmienić ścieżkę do pliku dziennika, wprowadź komendę
konfigurowania bazy danych z poprawną wartością.
SQL0990C Wystąpił błąd indeksu. Ponownie
zorganizuj tabelę. kod_sql: +993
Objaśnienie:
Indeks był intensywnie używany i zostało wykorzystane całe stan_sql: 01562
wolne miejsce przeznaczone dla indeksów.
SQL0994N Niepoprawne użycie punktu zapisu
Użytkownicy systemu stowarzyszonego: Ta sytuacja może aplikacji.
również zostać wykryta przez źródło danych.
Objaśnienie:
Nie można wykonać instrukcji. W sposób nieprawidłowy użyto funkcji punktu zapisu
aplikacji. Program próbował wykonać jedno z następujących
Działanie użytkownika: działań:
Zatwierdź swoją pracę i wprowadź ponownie komendę. Jeśli
v zażądał więcej niż jednego aktywnego punktu zapisu,
błąd występuje nadal, wycofaj zmiany. Jeśli błędy będą się
nadal pojawiać, w miarę możliwości przeorganizuj tabelę. v wywołał końcowy punkt zapisu bez aktywnego punktu
zapisu,
Użytkownicy systemów stowarzyszonych: Należy v wywołał punkt zapisu wycofujący zmiany bez aktywnego
zlokalizować problem do źródła danych, które nie może punktu zapisu.
zrealizować żądania (posługując się podręcznikiem
Troubleshooting Guide, ustalić, które źródło danych nie jest w Nie można wykonać tej funkcji.
stanie przetworzyć instrukcji SQL), i postępować zgodnie z
procedurami odtwarzania indeksu dla źródła danych. Działanie użytkownika:
Popraw w programie użycie punktu zapisu.

SQL0992C Numer wydania prekompilowanego


programu jest nieprawidłowy. SQL0995W Bieżąca ścieżka do pliku dziennika (logpath)
jest niepoprawna. Ścieżkę do pliku
Objaśnienie: dziennika ustawiono ponownie na
Numer wydania prekompilowanego programu (pakietu) jest domyślną.
niezgodny z numerem wydania zainstalowanej wersji
menedżera baz danych. Objaśnienie:
Ścieżka do pliku dziennika jest niepoprawna z jednego z
następujących powodów:
Nie można używać tego prekompilowanego programu
(pakietu) z bieżącą wersją menedżera baz danych. Nie można v Ścieżka nie istnieje.
wykonać komendy. v plik o poprawnej nazwie został znaleziony w podanej
ścieżce, ale nie jest to plik dziennika dla tej bazy danych,
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 159


SQL0996N • SQL0998N

v identyfikator instancji menedżera baz danych nie ma v Przetwarzanie w środowisku rozproszonym Distributed
uprawnienia do używania ścieżki lub pliku dziennika. Transaction Processing (takim jak CICS albo inny menedżer
transakcji).
Dla dziennika przewijanego plik dziennika jest tworzony w v Wykonywanie operacji heurystycznej.
domyślnej ścieżce dziennika. Dla dziennika archiwalnego
v Aktualizacja wielu pseudonimów przy użyciu
następny plik dziennika jest tworzony w domyślnej ścieżce
stowarzyszonej bazy danych, gdzie każdy pseudonim
dziennika. Żądana zmiana nie została wykonana.
reprezentuje inne źródło danych. W takim wypadku jedno z
Działanie użytkownika: tych źródeł uległo uszkodzeniu podczas przetwarzania
Aby zmienić ścieżkę do pliku dziennika, wprowadź komendę transakcji. Zwrócony kod przyczyny odnosi się wówczas do
konfigurowania z poprawną wartością. uszkodzenia źródła danych, a nie stowarzyszonej bazy
danych.
kod_sql: +995
Możliwymi kodami przyczyny są: (odpowiadające im kody
stan_sql: 01563 przyczyny X/Open XA zostały podane w nawiasach)
v 01 - (XAER_ASYNC) zaległa operacja asynchroniczna,
SQL0996N Nie można zwolnić stron dla obiektu w v 02 - (XAER_RMERR) w gałęzi transakcji wystąpił błąd
obszarze tabel. menedżera zasobów,
v 03 - (XAER_NOTA) identyfikator XID jest niepoprawny,
Objaśnienie:
Uszkodzone są wewnętrzne strony bazy danych lub wystąpiły v 04 - (XAER_INVAL) podano błędne argumenty; możliwe
wewnętrzne błędy logiczne w obszarze tabel. kody podrzędne to:
– 01 - błędny wskaźnik xa_info, np. łańcuch XAOpen ma
Działanie użytkownika:
wartość pustą.
Nie używaj uszkodzonego obiektu lub obszaru tabel.
Skontaktuj się z serwisem IBM w celu zbadania obiektu lub – 02 - nazwa bazy danych przekroczyła maksymalną
obszaru tabel. długość,
– 03 - nazwa użytkownika przekroczyła maksymalną
kod_sql: -996 długość,
– 04 - hasło przekroczyło maksymalną długość,
stan_sql: 58035
– 05 - podano nazwę użytkownika, ale nie podano hasła,
– 06 - podano hasło, ale nie podano nazwy użytkownika,
SQL0997W Ogólny komunikat opisowy dla
– 07 - za dużo parametrów w łańcuchu xa_info,
przetwarzania transakcji. Kod przyczyny =
kod-przyczyny-XA. – 08 - wielokrotne wywołania xa_opens wygenerowały
różne identyfikatory RM dla tej samej nazwy bazy
Objaśnienie: danych,
SQLCODE 997 jest przekazywany tylko między składnikami
– 09 - nie podano nazwy bazy danych,
menedżera baz danych i nie zostanie zwrócony do aplikacji.
Jeśli nie ma błędu, jest używany kod powrotu XA. Możliwe – 10 - niepoprawny łańcuch exe_type,
wartości kodów przyczyn: – 11 - w pliku xa_config brakuje nazwy Sybase LRM lub
v XA_RDONLY (3) - część transakcji jest tylko do odczytu i plik xa_config nie istnieje.
została zatwierdzona. v 05 - (XAER_PROTO) procedura została wywołana w
v 64 - baza danych TM wskazuje transakcję, która ma zostać niewłaściwym kontekście,
zatwierdzona podczas resynchronizacji rozproszonej v 06 - (XAER_RMFAIL) niedostępny menedżer zasobów,
jednostki pracy. v 07 - (XAER_DUPID) identyfikator XID już istnieje,
v 65 - baza danych TM wskazuje transakcję, która ma zostać v 08 - (XAER_OUTSIDE) RM pracuje na zewnątrz globalnej
wycofana podczas resynchronizacji rozproszonej jednostki transakcji,
pracy.
v 09 - nie powiodła się rejestracja (ax_reg) przy użyciu
Działanie użytkownika: menedżera transakcji; możliwe kody podrzędne to:
Nie jest wymagane żadne działanie. – 01 - nie znaleziono łączenia identyfikatora XID,
– 02 - nie można załadować biblioteki dynamicznej
SQL0998N Podczas transakcji albo przetwarzania podanej w parametrze konfiguracyjnym tp_mon_name,
heurystycznego wystąpił błąd. Kod v 10 - podczas zawieszenia próbowano uruchomić inną
przyczyny = kod-przyczyny. Kod podrzędny transakcję,
= kod-podrzędny.
v 12 - nie powiodło się wyrejestrowanie (ax_unreg) przy
Objaśnienie: użyciu menedżera transakcji,
W trakcie przetwarzania rozproszonej transakcji wykryto błąd. v 13 - błąd interfejsu ax: nie znaleziono ax_reg() i ax_unreg(),
Transakcją jest:

160 Komunikaty, tom 2


SQL0998N

v 14 - wpisanie na listę dla DB2 przy użyciu programu v 224 - obsługa DB2 Connect XA jest dostępna tylko dla
Microsoft Distributed Transaction Coordinator nie powiodło klientów o numerze wersji nie wcześniejszym niż 7.1,
się; usługa MSDTC może być wyłączona; należy przerwać v 225 - niepoprawna operacja w luźno powiązanej transakcji
bieżącą transakcję XA, możliwe kody podrzędne to:
v 15 - transakcja nie istnieje, – 01 - niedozwolone są instrukcje DDL,
v 16 - wystąpiła awaria w programie Microsoft Distributed – 02 - niedozwolone są aktualizacje i usunięcia z określoną
Transaction Coordinator (MSDTC); możliwe kody klauzulą WHERE CURRENT OF,
podrzędne to:
– 03 - niedozwolone są buforowane operacje wstawiania,
– 01 - Program DB2 nie może komunikować się z usługą
– 04 - dla tej transakcji dopuszczalne jest tylko wycofanie
MSDTC.
zmian,
– 02 - Usługa MSDTC nie może zarejestrować połączenia
– 05 - operacje niejawnego ponownego wiązania nie są
z programem DB2. Kod podrzędny odpowiada kodowi
dozwolone.
błędu firmy Microsoft.
v 226 - transakcja już została wycofana,
– 03 - Usługa MSDTC nie może zarejestrować połączenia
z programem DB2 w rozproszonej transakcji. Kod v 227 - żądanie heurystyczne należy uruchamiać w węźle
podrzędny odpowiada kodowi błędu firmy Microsoft. koordynującym,
– 04 - Nie można zarejestrować połączenia z programem v 228 - występują otwarte kursory,
DB2, ponieważ istnieje aktywna transakcja. v 229 - poprzednia transakcja nie jest jeszcze ukończona,
– 05 - Nie istnieje żadna transakcja. Połączenie nie zostało v 230 - transakcja została już zatwierdzona.
zarejestrowane.
Działanie użytkownika:
v 35 - operacje heurystyczne są błędne dla bazy danych innej Dla kodów przyczyny od 1 do 8 zostanie utworzona pozycja w
niż XA, dzienniku systemowym, ponieważ czasami obszar
v 36 - identyfikator XID nie jest znany menedżerowi baz komunikacyjny SQL nie może zostać zwrócony do
danych, wywołującego.
v 37 - transakcja została heurystycznie zatwierdzona,
v 38 - transakcja została heurystycznie wycofana, Jeśli błąd jest związany z uszkodzeniem źródła danych
związanego z pseudonimem, położenie uszkodzonego źródła
v 39 - transakcja nie jest transakcją wątpliwą, danych będzie zawsze pojawiało się w dzienniku systemowym
v 40 - dla tej transakcji dopuszczalne jest tylko wycofanie serwera stowarzyszonego.
zmian,
v 41 - na pewnych węzłach podrzędnych MPP transakcja nie Dla kodu przyczyny 4 sprawdź zawartość otwartego łańcucha
została heurystycznie zatwierdzona z powodu uszkodzenia xa i wprowadź konieczne poprawki.
węzła,
v 42 - obsługa XA w programie DB2 Connect jest dostępna Dla kodu przyczyny 4, kodu podrzędnego 11, sprawdź, czy w
tylko w wypadku połączeń wychodzących, nawiązanych z katalogu $SYBASE/$SYBASE_OCS istnieje plik xa_config i
użyciem protokołu TCP/IP, czy w tym pliku występuje nazwa LRM, którą określono jako
opcję NODE serwera.
v 43 - nie można nawiązać połączenia, ponieważ serwer nie
obsługuje rodzimego mechanizmu XA,
Dla kodu przyczyny 9, kodu podrzędnego 02 sprawdź, czy
v 69 - podczas powtórnej synchronizacji DUOW wystąpiła parametr konfiguracyjny tp_mon_name zawiera nazwę
niezgodność ID dziennika bazy danych, biblioteki dynamicznej produktu zewnętrznego, która zawiera
v 85 - w rezultacie przetwarzania heurystycznego transakcja funkcję ax_reg() do dynamicznej rejestracji transakcji.
została częściowo zatwierdzona oraz wycofana,
v 210 - tę transakcję można zatwierdzić tylko heurystycznie; Dla kodu przyczyny 14 sprawdź, czy usługa MSDTC jest
niektóre węzły są już w stanie zatwierdzonym, aktywna.
v 221 - wersja DBMS znajdująca się na hoście wymaga, aby
wszystkie aplikacje, które biorą udział w tej samej Dla kodu przyczyny 15 ten błąd może wystąpić, gdy limit
transakcji XA, używały do połączeń z bazą danych tego czasu transakcji MSDTC jest zbyt mały. Zwiększ limit czasu i
samego identyfikatora użytkownika, sprawdź, czy błąd się powtórzy.
v 222 - wersja DBMS znajdująca się na hoście wymaga, aby
Dla kodu przyczyny 16:
wszystkie aplikacje, które biorą udział w tej samej
transakcji XA, miały ten sam identyfikator CCSID, v Kod podrzędny 01, sprawdź czy usługa MSDTC jest
aktywna.
v 223 - obsługa DB2 Connect XA jest dostępna tylko dla
klientów lokalnych lub dla klientów zdalnych, którzy do v Kod podrzędny 02, usługa MSDTC nie mogła zarejestrować
ustanowienia połączenia przychodzącego używają połączenia. Aby uzyskać więcej informacji na ten temat,
protokołu TCP/IP,

Rozdział 2. Komunikaty SQL 161


SQL0998N

poszukaj wpisu MicrosoftXARMCreate w pliku katalogu bazę danych za pomocą programu DB2 Connect, a
db2diag.log lub w Przeglądarce zdarzeń w systemie następnie uruchom menedżera punktów synchronizacji.
Windows.
v Kod podrzędny 03, usługa MSDTC nie mogła zarejestrować Dla kodu przyczyny 69 baza danych menedżera transakcji
połączenia w transakcji. Aby uzyskać więcej informacji na (TM) lub baza danych menedżera zasobów (RM), albo obie
ten temat, poszukaj wpisu MicrosoftEnlishWithRM w pliku jednocześnie, są różne od tych, dla których transakcja została
db2diag.log lub w Przeglądarce zdarzeń w systemie wygenerowana. Innymi słowy, nazwy bazy danych TM lub
Windows. Najczęstszym błędem jest jawne lub niejawne bazy danych RM mogą odwoływać się do różnych instancji
wycofanie bieżącej transakcji. Może się to zdarzyć, gdy bazy danych. Niezgodność ID dziennika mogła spowodować
limit czasu transakcji w usłudze MSDTC jest zbyt niski. jedna z następujących przyczyn:
Zwiększ limit czasu i sprawdź, czy błąd się powtórzy. v Katalog bazy danych dla bazy danych TM w instancji RM
v Kod podrzędny 04, miała miejsce próba zarejestrowania jest niepoprawny.
aktywnego połączenia DB2 w innej transakcji rozproszonej. v Po wygenerowaniu wątpliwej transakcji konfiguracja mogła
v Kod podrzędny 05, zarejestruj połączenie przed próbą ulec zmianie.
uruchomienia instrukcji SQL. v Baza danych mogła zostać usunięta i ponownie utworzona.
W takim przypadku wątpliwą transakcję można zatwierdzić
Dla kodu przyczyny 35 próbowano wykonać operację lub wycofać, używając tylko metod heurystycznych.
heurystyczną na bazie danych uczestniczącej w transakcji
globalnej jako menedżer zasobów tylko do odczytu. Dla kodu przyczyny 85 aktualizowanych jest wiele źródeł
Przykładami są dowolne bazy danych DRDA, takie jak DB2 danych, a niektóre spośród nich zostały heurystycznie
na MVS. Ten typ bazy danych innej niż XA nie może mieć wycofane lub zatwierdzone, w efekcie czego cała transakcja
żadnych transakcji wątpliwych XA. została częściowo zatwierdzona i częściowo wycofana. Dla
tego kodu przyczyny dane znajdują się obecnie w stanie
Dla kodu przyczyny 36, 37 i 38 próbowano wykonać błędną niespójności, aby je poprawić należy ręcznie sprawdzić każde
operację heurystyczną na transakcji wątpliwej. Podano błędny źródło danych aktualizowane przez transakcję.
identyfikator XID albo operacja heurystyczna lub operacja
resync wystąpiła przed zarejestrowaniem identyfikatora XID. Dla kodu przyczyny 210, niektóre transakcje są już w stanie
Uruchom zapytanie heurystyczne (Heuristic Query), aby zatwierdzonym. Wątpliwą transakcję można zatwierdzić tylko
otrzymać bieżącą listę transakcji wątpliwych w celu heurystycznie.
sprawdzenia, czy nadal należy wykonywać operację
heurystyczną. Dla kodu przyczyny 221 należy zapewnić, aby wszystkie
aplikacje, które biorą udział w tej samej transakcji XA,
Dla kodu przyczyny 39 podano identyfikator XID transakcji, używały do połączeń z bazą danych tego samego
która została zakończona i oczekuje na rozpoczęcie procesu identyfikatora użytkownika.
zatwierdzania dwufazowego. Operacje heurystyczne można
wykonywać tylko na transakcjach, dla których rozpoczęto Dla kodu przyczyny 222 należy zapewnić, aby wszystkie
proces zatwierdzania dwufazowego i które stały się aplikacje, które biorą udział w tej samej transakcji XA, miały
transakcjami wątpliwymi. ten sam identyfikator CCSID.

Dla kodu przyczyny 40 próbowano wykonać instrukcję SQL z Dla kodu przyczyny 224 należy zmodyfikować konfigurację
transakcją, która się nie powiodła. Przykładem może być aplikacji i klienta tak, by używały klientów lokalnych, a w
wykonanie instrukcji języka SQL w wątku transakcji, który przypadku klientów zdalnych, aby używali oni do połączeń z
został pomyślnie zarejestrowany po tym, jak ściśle powiązany gatewayem, protokołu komunikacyjnego TCP/IP.
z nim wątek biorący udział w tej samej transakcji zakończył
pracę nieprawidłowo. Dla kodu przyczyny równego 224 zaktualizuj klienta do wersji
7.1 lub późniejszej.
W wypadku wystąpienia kodu przyczyny 41 dodatkowe
informacje o problemie można znaleźć w dzienniku Gdy kod przyczyny jest równy 225, sprawdź, czy aplikacja nie
powiadomień administracyjnych. Może być niezbędne zawiera żadnych niepoprawnych operacji w luźno powiązanej
ponowne uruchomienie programu DB2 dla węzłów, w których transakcji XA. Popularne środowiska serwerów aplikacji, w
wystąpił problem. Może być konieczne skorzystanie z pomocy których można korzystać z luźno powiązanych transakcją XA,
administratora systemu. to IBM Encina Transaction Server, IBM WebSphere
Application Server, Microsoft Transaction Server oraz BEA
W wypadku wystąpienia kodu przyczyny 42 połączenie Tuxedo. W wypadku napotkania tego kod przyczyny, należy
wychodzące można nawiązać, modyfikując katalogi gatewaya, dokonać przeglądu aplikacji i sprawdzić, czy nie są
tak aby używany był protokół TCP/IP. wykonywane któreś z wyżej wymienionych działań.

W przypadku kodu przyczyny 43 podczas łączenia się z Dla kodu przyczyny 226 transakcja osiągnęła stan wycofania i
programem DB2 na serwerze zSeries lub iSeries wpisz do jest właśnie wycofywana na tym węźle.

162 Komunikaty, tom 2


SQL1000N • SQL1004C

W wypadku wystąpienia kodu przyczyny 227 należy Wprowadź ponownie komendę, podając prawidłowy alias.
uruchomić żądanie heurystyczne w węźle koordynującym.
Numer węzła koordynującego zawiera plik db2diag.log.
SQL1001N nazwa jest niepoprawną nazwą bazy danych.
W wypadku wystąpienia kodu przyczyny 228 należy zamknąć Objaśnienie:
kursory przed wysłaniem żądania. Składnia podanej w komendzie nazwy bazy danych jest
niepoprawna. Nazwa bazy danych musi składać się z 1 do 8
W wypadku wystąpienia kodu przyczyny 229 należy znaków, a wszystkie te znaki muszą znajdować się w
dopilnować, aby poprzednia transakcja została ukończona podstawowym zestawie znaków menedżera baz danych.
przed wysłaniem żądania.
Nie można wykonać komendy.
Kod przyczyny 230 oznacza, że transakcja została już
Działanie użytkownika:
zatwierdzona.
Wprowadź ponownie komendę, podając poprawną nazwę bazy
danych.
Ogólna procedura dotycząca zbierania informacji:
kod_sql: -1001
Jeśli nie możesz rozwiązać problemu określonego kodem
przyczyny, zapisz numer komunikatu (SQLCODE), kod
stan_sql: 2E000
przyczyny oraz opcjonalny kod podrzędny występujący w
komunikacie albo obszar komunikacyjny SQL w dzienniku
systemowym. SQL1002N Identyfikator napędu napęd jest
niepoprawny.
Jeśli uszkodzenie wystąpiło w stowarzyszonej bazie danych,
Objaśnienie:
należy również zapisać położenie uszkodzonego źródła
Identyfikator napędu podany w komendzie jest niepoprawny.
danych, zarejestrowane w dzienniku systemowym serwera
Identyfikator napędu jest pojedynczym znakiem (od A do Z)
stowarzyszonego.
wskazującym napęd dyskietek lub partycję dysku stałego, na
której znajduje się baza danych lub katalog bazy danych.
Jeśli śledzenie było aktywne, wywołaj program Independent
Trace Facility z wiersza komend systemu operacyjnego.
Nie można wykonać komendy.
Następnie skontaktuj się z przedstawicielem serwisu
technicznego i podaj następujące informacje: Działanie użytkownika:
v Opis problemu Wprowadź ponownie komendę, podając poprawny napęd.
v SQLCODE, kod przyczyny oraz kod podrzędny
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to SQL1003N Hasło jest niepoprawne, ponieważ zawiera
możliwe) błąd składni lub nie jest zgodne z hasłem
podanej bazy danych.
v Plik śledzenia (jeśli jest to możliwe)
v Położenie uszkodzonego źródła danych jeśli awaria miała Objaśnienie:
miejsce na serwerze stowarzyszonym. Długość hasła nie powinna przekroczyć 18 znaków. Jednak
jeśli hasło ma zostać przystosowane do komunikacji APPC,
Dodatkowe informacje mogą wystąpić na konsoli lub w musi mieć nie więcej niż 8 znaków.
dziennikach komunikatów menedżera transakcji lub Działanie użytkownika:
menedżera baz danych. Sprawdź, czy hasło nie przekracza dozwolonej długości.

kod_sql: -998 kod_sql: -1003

stan_sql: 58005 stan_sql: 28000

SQL1000N alias jest niepoprawnym aliasem bazy SQL1004C W podanym systemie plików nie ma
danych. wystarczająco dużo pamięci, aby
Objaśnienie: przetworzyć komendę.
Alias podany w komendzie lub w funkcji API jest Objaśnienie:
niepoprawny. Alias musi zawierać od 1 do 8 znaków (bajtów W podanym systemie plików nie ma wystarczająco dużo
w krajach MBCS) i wszystkie znaki muszą należeć do pamięci, aby przetworzyć komendę.
podstawowego zestawu znaków menedżera baz danych.
Aby komenda CREATE DATABASE w środowisku
Nie można wykonać komendy. partycjonowanej bazy danych w systemie Windows mogła
Działanie użytkownika: zostać prawidłowo wykonana, wszystkie węzły w grupie

Rozdział 2. Komunikaty SQL 163


SQL1005N • SQL1008N

muszą mieć dostęp do zdatnego do użytku (z wystarczającą W przypadku komendy tworzącej bazę danych, wykonaj
ilością miejsca) napędu fizycznego o tej samej literze napędu. następujące operacje, uwzględniając trzy powyżej opisane
Litera napędu fizycznego jest określona w konfiguracji sytuacje:
menedżera baz danych. Jeśli parametr DFTDBPATH v Usuń bazę danych, posługując się aliasem. Wprowadź
pozostanie pusty, domyślnym ustawieniem jest dysk twardy, ponownie niezmienioną komendę.
na którym zainstalowany jest program DB2 na komputerze
v Usuń alias z katalogu. Wprowadź ponownie niezmienioną
będącym właścicielem instancji (ścieżka instalacyjna db2).
komendę.
Nie można wykonać komendy. v Wpisz alias do systemowego katalogu baz danych. Usuń
bazę danych, posługując się tym samym aliasem.
Działanie użytkownika: Wprowadź ponownie niezmienioną komendę.
Aby udostępnić więcej pamięci dla funkcji menedżera baz
danych, wybierz inny system plików lub usuń z podanego
systemu plików kilka plików, które nie są bazami danych. SQL1006N Strona kodowa strona-kodowa aplikacji nie
jest zgodna ze stroną kodową strona-kodowa
W środowisku partycjonowanej bazy danych w systemach bazy danych.
Windows wykonaj następujące kroki: Objaśnienie:
v Określ wymaganą specyfikację (literę) dysku twardego. Aplikacja nie może połączyć się z bazą danych, ponieważ
Litera dysku jest podana w komunikacie o błędzie. bieżąca aktywna strona kodowa jest inna niż strona kodowa
v Określ, którego spośród węzłów należących do partycji aktywna podczas tworzenia bazy danych.
bazy danych dotyczy ten problem. Informacje te można
zwykle znaleźć w pliku db2diag.log węzła będącego Nie można wykonać komendy.
właścicielem instancji. Działanie użytkownika:
v Usuń problem dotyczący dysku na każdym węźle, na Zakończ bieżącą aplikację i wróć do systemu operacyjnego.
którym ten problem występuje albo zmień specyfikację Zmień stronę kodową procesu i uruchom ponownie aplikację.
dysku w konfiguracji menedżera baz danych, tak aby na
każdym węźle partycjonowanej grupy bazy danych był
SQL1007N Błąd wyszukiwania stron dla obiektu
dostępny ten sam dysk (i zawierał odpowiednią ilość
znajdującego się w obszarze tabel.
wolnego miejsca).
v Wprowadź ponownie komendę. Objaśnienie:
Uszkodzone są wewnętrzne strony bazy danych lub wystąpił
wewnętrzny błąd logiczny obszaru tabel.
SQL1005N Alias bazy danych nazwa już istnieje w
lokalnym katalogu bazy danych albo w Działanie użytkownika:
systemowym katalogu bazy danych. Nie używaj uszkodzonego obiektu lub obszaru tabel.
Skontaktuj się z serwisem IBM w celu zbadania obiektu lub
Objaśnienie: obszaru tabel.
Podany alias jest już w użyciu. Jeśli w komendzie wpisującej
bazę danych do katalogu nie podano aliasu, jako alias zostanie kod_sql: -1007
użyta nazwa bazy danych. W momencie tworzenia bazy
danych alias jest taki sam, jak nazwa bazy danych.
stan_sql: 58034
Ten błąd mógł wystąpić podczas wykonywania komendy
wpisującej bazę danych do katalogu, gdy podany alias istniał SQL1008N Niepoprawny identyfikator obszaru tabel.
już w systemowym katalogu baz danych.
Objaśnienie:
Podany identyfikator obszaru tabel nie istnieje. Jest albo
W przypadku komendy tworzącej bazę danych błąd ten mógł większy od bieżącego maksymalnego identyfikatora obszaru
wystąpić w jednej z następujących sytuacji: tabel, albo obszar tabelowy został usunięty.
v Alias istnieje w systemowym katalogu baz danych i w
lokalnym katalogu baz danych. Działanie użytkownika:
Nie używaj tej bazy danych. Zapisz informacje diagnostyczne
v Alias istnieje w systemowym katalogu baz danych, ale nie w dzienniku błędów i skontaktuj się z serwisem IBM.
istnieje w lokalnym katalogu baz danych.
v Alias istnieje w lokalnym katalogu baz danych, ale nie kod_sql: -1008
istnieje w systemowym katalogu baz danych.
Działanie użytkownika: stan_sql: 58036
W przypadku komendy wpisującej bazę danych do katalogu
usuń alias z systemowego katalogu baz danych i wprowadź
ponownie niezmienioną komendę albo wpisz bazę danych do
katalogu, podając inny alias.

164 Komunikaty, tom 2


SQL1009N • SQL1015N

Wprowadź ponownie komendę, podając parametr nazwa-węzła


SQL1009N Komenda jest niepoprawna.
lub inny typ.
Objaśnienie:
Komenda nie jest obsługiwana, gdy została wydana na stacji
SQL1013N Nie można znaleźć nazwy aliasu bazy
roboczej przeznaczonej tylko dla klienta lub gdy dotyczy
danych lub nazwy bazy danych nazwa.
zdalnej bazy danych. Przykładem takiej komendy jest
umieszczanie w lokalnym katalogu baz danych. Objaśnienie:
Podana w komendzie nazwa bazy danych lub alias nie jest
Nie można wykonać komendy. nazwą istniejącej bazy danych albo nie można znaleźć bazy
danych w katalogach baz danych (klienta lub serwera).
Działanie użytkownika:
Możliwe są następujące rozwiązania: Działanie użytkownika:
v Wprowadź komendę ze stacji roboczej nieprzeznaczonej Sprawdź, czy baza danych o podanej nazwie istnieje w
tylko dla klienta lub ze stacji roboczej, na której systemowym katalogu bazy danych. Jeśli nazwa bazy danych
przechowywana jest konkretna baza danych. nie istnieje w systemowym katalogu baz danych, oznacza to,
że baza danych nie istnieje lub nie została wpisana do
v Sprawdź, czy baza danych została poprawnie wpisana do
katalogu.
katalogu.
v Wprowadź inną komendę. Jeśli nazwa bazy danych znajduje się w systemowym katalogu
baz danych, a typem pozycji jest INDIRECT, sprawdź, czy
SQL1010N typ jest niepoprawnym typem parametru. baza danych istnieje w podanym lokalnym katalogu baz
danych. Jeśli typem pozycji jest REMOTE, sprawdź, czy baza
Objaśnienie: danych istnieje i jest wpisana do katalogu baz danych węzła
Typ podany w komendzie środowiska bazy danych jest serwera.
niepoprawny. Dla pośredniej bazy danych musi mieć wartość
’0’, a dla zdalnej bazy danych wartość ’1’. Dla instrukcji CREATE DATABASE z klauzulą AT NODE
sprawdź, czy nazwa bazy danych występuje w systemowym
Ponadto w środowiskach Unix dla bazy danych, która ma katalogu baz danych z typem pozycji INDIRECT i z numerem
globalną nazwę DCE, typ może mieć wartość ’3’. katalogowym, który nie jest równy -1.

Nie można wykonać komendy. Użytkownicy systemów stowarzyszonych: Dodatkowo należy


Działanie użytkownika: sprawdzić, czy wszystkie nazwy baz danych, podane we
Wprowadź ponownie komendę, podając prawidłowy typ. wpisach SYSCAT.SERVERS, są poprawne. Popraw wszystkie
pozycje SYSCAT.SERVERS, zawierające nieistniejącą bazę
danych.
SQL1011N W komendzie CATALOG DATABASE nie
podano napędu dla pozycji pośredniej. kod_sql: -1013
Objaśnienie:
Wprowadzono komendę CATALOG DATABASE dla pozycji stan_sql: 42705
pośredniej, nie podano jednak ścieżki. W przypadku pozycji
pośrednich należy podać ścieżkę, w której jest przechowywana SQL1014W Nie ma więcej pozycji w przeglądanym
baza danych. katalogu, pliku lub na liście.

Nie można wykonać komendy. Objaśnienie:


Przeglądanie katalogu, pliku lub listy zostało zakończone.
Działanie użytkownika:
Wprowadź ponownie komendę, podając wymaganą ścieżkę Działanie użytkownika:
lub zmień typ. Nie jest wymagane żadne działanie.

SQL1012N W komendzie CATALOG DATABASE nie SQL1015N Baza danych jest niespójna.
podano nazwy węzła dla pozycji zdalnej. Objaśnienie:
Objaśnienie: Możliwe przyczyny stanu niespójności:
W komendzie CATALOG DATABASE nie podano parametru 1 Baza danych nie jest połączona w wyniku
nazwa-węzła dla pozycji zdalnej. W przypadku pozycji nieprawidłowego zakończenia poprzedniej sesji (na
zdalnych należy podać nazwę węzła bazy danych. przykład w wyniku awarii zasilania).

Nie można wykonać komendy. 2 Jeśli podczas pracy narzędzia przedmigracyjnego


db2ckmig wystąpił błąd:
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 165


SQL1016N • SQL1020C

- Baza danych jest połączona i została wydana Działanie użytkownika:


komenda SQL, która zmodyfikowała dane w bazie Sprawdź, czy nazwa jest dozwoloną nazwą trybu. Sprawdź
danych. znaki użyte w nazwie. Wprowadź ponownie komendę, podając
prawidłowy tryb.
- Baza danych jest połączona i zostało włączone
HADR.
SQL1018N Nazwa węzła nazwa podana w komendzie
Działanie użytkownika:
CATALOG NODE już istnieje.
W zależności od przyczyny mają zastosowanie następujące
instrukcje: Objaśnienie:
Nazwa podana w parametrze nazwa_węzła komendy
1 Zrestartuj bazę danych za pomocą komendy
CATALOG NODE została już wpisana do katalogu węzłów
RESTART DATABASE. W środowisku serwera
tego systemu plików.
partycjonowanej bazy danych komenda musi być
wydana we wszystkich węzłach. Można ostrzec
Nie można wykonać komendy.
użytkowników, że przed udostępnieniem bazy
danych musi zostać zakończone jej odtwarzanie. Działanie użytkownika:
Jeśli parametr nazwa_węzła zostanie wpisany prawidłowo,
2 Wykonaj czyste zamknięcie bazy danych. Po
kontynuuj przetwarzanie.
zamknięciu, jeśli w bazie danych był włączony
mechanizm HADR, wydaj komendę STOP HADR
dla bazy danych. Ponownie uruchom narzędzie Jeśli informacje o węźle znajdujące się w katalogu węzłów są
db2ckmig. niepoprawne, usuń węzeł z katalogu węzłów i wprowadź
ponownie komendę. Jeśli informacje o węźle znajdujące się w
katalogu są poprawne, zdefiniuj nową nazwę węzła i
kod_sql: -1015
wprowadź ponownie komendę, używając nowej nazwy węzła.
stan_sql: 55025
SQL1019N Nazwa węzła nazwa podana w komendzie
jest niepoprawna.
SQL1016N Alias lokalnej_jednostki_logicznej nazwa
podany w komendzie CATALOG NODE nie Objaśnienie:
jest poprawny. Nazwa węzła podana w komendzie jest niepoprawna. Nazwa
węzła musi składać się z 1 do 8 znaków, a wszystkie te znaki
Objaśnienie:
muszą znajdować się w podstawowym zbiorze znaków
Alias lokalnej jednostki logicznej
menedżera baz danych. Określona nazwa węzła nie może być
(lokalna_jednostka_logiczna) podany w komendzie
taka sama, jak nazwa instancji lokalnej.
CATALOG NODE nie jest dozwolony. Alias lokalnej
jednostki logicznej jest aliasem lokalnej jednostki logicznej
Nie można wykonać komendy.
SNA, musi składać się z 1 do 8 znaków oraz nie może
zawierać znaków odstępu. Działanie użytkownika:
Sprawdź, czy nazwa węzła różni się od nazwy instancji
Nie można wykonać komendy. lokalnej, wyświetlając wartość zmiennej środowiskowej
DB2INSTANCE. W celu wyświetlenia zmiennej
Działanie użytkownika:
środowiskowej DB2INSTANCE w systemie UNIX należy
Sprawdź, czy alias jest dozwoloną nazwą jednostki logicznej.
wprowadzić poniższą komendę:
Sprawdź znaki użyte w nazwie. Wprowadź ponownie
komendę, podając prawidłową nazwę jednostki logicznej. echo $DB2INSTANCE

W systemach Windows wyświetlenie zmiennej


SQL1017N Niepoprawny parametr trybu tryb w DB2INSTANCE następuje po wprowadzeniu poniższej
komendzie CATALOG NODE. komendy:
Objaśnienie: echo %DB2INSTANCE%
Tryb podany w komendzie CATALOG NODE jest
niedozwolony. Wprowadź ponownie komendę, podając poprawną nazwę
węzła.
Parametr tryb określa profil komunikacyjny, jakiego używa
menedżer komunikacyjny (Communications Manager), aby
SQL1020C Katalog węzłów jest pełny.
skonfigurować instancję. Tryb musi składać się z 1 do 8
znaków. Poprawne znaki są wielkimi lub małymi literami Objaśnienie:
alfabetu łacińskiego, cyframi od 0 do 9 albo znakami #, @ lub Katalog węzłów nie może przechować więcej pozycji.
$. Pierwszy znak musi być literą. System zamienia litery małe
na wielkie. Nie można wykonać komendy.

Nie można wykonać komendy. Działanie użytkownika:

166 Komunikaty, tom 2


SQL1021N • SQL1025N

Usuń niepotrzebne pozycje z katalogu węzłów.


SQL1023C Błąd komunikacji podczas konwersacji.
Objaśnienie:
SQL1021N Nie znaleziono nazwy węzła nazwa podanej
W komunikacji podczas konwersacji wystąpił błąd.
w komendzie UNCATALOG NODE.
Objaśnienie: Nie można wykonać komendy.
W katalogu węzłów nie można znaleźć nazwy nazwa węzła
Działanie użytkownika:
podanej w komendzie.
Wprowadź niezmienioną komendę. Jeśli błąd wystąpi
ponownie, skontaktuj się z administratorem usług
Nie można wykonać komendy.
komunikacyjnych.
Działanie użytkownika:
Jeśli parametr nazwa węzła jest poprawny, węzeł mógł zostać Użytkownicy systemu stowarzyszonego: Ta sytuacja może
usunięty z katalogu; przetwarzanie może być kontynuowane. również zostać wykryta przez źródło danych.
W przeciwnym wypadku wprowadź ponownie komendę,
podając poprawną nazwę węzła. kod_sql: -1023

SQL1022C Brak pamięci potrzebnej do wykonania stan_sql: 08001


komendy.
Objaśnienie: SQL1024N Połączenie z bazą danych nie istnieje.
Brak wystarczającej ilości pamięci o dostępie bezpośrednim Objaśnienie:
(RAM) potrzebnej do wykonania komendy. Brak połączenia z bazą danych. Przed wykonaniem instrukcji
SQL CONNECT nie mogą być wykonywane inne instrukcje
Jeśli wywołano procedurę zdalną, może ona używać lokalnej języka SQL.
przestrzeni zmiennych większej od największej dopuszczalnej,
wynoszącej (4 kB). Nie można wykonać komendy.

Jeśli w instrukcji znajduje się funkcja zdefiniowana przez Działanie użytkownika:


użytkownika (UDF), zbiór pamięci sterowany parametrem Jeśli błąd wystąpił podczas odłączania bazy danych, kontynuuj
konfiguracyjnym menedżera bazy danych ASLHEAPSZ może przetwarzanie. Jeśli wystąpił przy innej instrukcji SQL,
być większy niż dostępna ilość pamięci. wprowadź komendę SQL CONNECT i wprowadź ponownie
komendę lub instrukcję.
Nie można wykonać komendy.
kod_sql: -1024
Działanie użytkownika:
Należy zatrzymać aplikację. Możliwe są następujące stan_sql: 08003
rozwiązania:
v Zmień opcję MEMMAN NO SWAP, NO MOVE w pliku
SQL1025N Działanie menedżera baz danych nie zostało
CONFIG.SYS na SWAP, MOVE.
zatrzymane, ponieważ bazy danych są wciąż
v Usuń procesy uruchomione w tle. aktywne.
v Zmniejsz wartości parametrów konfiguracyjnych
Objaśnienie:
definiujących przydziały pamięci, włączając w to parametr
Nie można wykonać komendy zatrzymania menedżera bazy
ASLHEAPSZ, jeśli w problematycznej instrukcji występują
danych, jeśli istnieją nadal aplikacje przyłączone do bazy
funkcje zdefiniowane przez użytkownika.
danych, nad którą sprawuje on kontrolę, jeśli dowolne z baz
v Zainstaluj dodatkową pamięć (RAM). danych zostały aktywowane lub jeśli pod kontrolą tego
v Jeśli została wywoływana procedura zdalna, sprawdź, czy menedżera znajduje się podstawowa lub rezerwowa baza
używa ona lokalnej przestrzeni zmiennych nie większej od danych HADR.
4 kB.
v Jeśli używasz programu Remote Data Services, zwiększ Nie jest podejmowane żadne działanie.
wielkość sterty Remote Data Services (rsheapsz) w Działanie użytkownika:
konfiguracji serwera i klienta, ponieważ na aplikację musi Zwykle nie jest wymagane żadne działanie. Aby zatrzymać
przypadać co najmniej jeden blok. działanie menedżera baz danych, wszystkie aktywne aplikacje
muszą zostać odłączone od wszystkich używanych przez nie
kod_sql: -1022 baz danych. Użytkownik może też użyć komendy FORCE, aby
wymusić rozłączenie się aplikacji, oraz komendy
stan_sql: 57011 DEACTIVATE, aby zdezaktywować bazę danych, także
podstawową lub rezerwową bazę danych HADR.

Rozdział 2. Komunikaty SQL 167


SQL1026N • SQL1033N

SQL1026N Menedżer baz danych jest już aktywny. SQL1031N We wskazanym systemie plików nie można
znaleźć katalogu bazy danych.
Objaśnienie:
Komenda uruchamiająca menedżera baz danych została już Objaśnienie:
wykonana. Nie można znaleźć systemowego katalogu bazy danych lub
lokalnego katalogu bazy danych. Baza danych nie została
Nie można wykonać komendy. utworzona lub nie została poprawnie wpisana do katalogu.
Działanie użytkownika:
Nie można wykonać komendy.
Ponieważ komenda została już uruchomiona, aplikacja może
kontynuować przetwarzanie. Działanie użytkownika:
Sprawdź, czy podczas tworzenia bazy danych podano
prawidłową ścieżkę. Komenda Catalog Database ma parametr
SQL1027N Nie można odnaleźć katalogu węzłów.
określający katalog, w której przechowywana jest baza
Objaśnienie: danych.
Komenda wyświetlająca zawartość katalogu węzłów nie może
zostać wykonana, ponieważ nie można znaleźć katalogu kod_sql: -1031
węzłów.
stan_sql: 58031
Nie można wykonać komendy.
Działanie użytkownika: SQL1032N Nie wydano komendy uruchamiającej
Wprowadź komendę CATALOG NODE z odpowiednimi menedżera baz danych.
parametrami i wprowadź ponownie bieżącą komendę.
Objaśnienie:
Nie wykonano komendy uruchamiającej menedżera baz
SQL1029N Alias partnerskiej_jednostki_logicznej danych. Musi ona zostać wykonana przed komendą
nazwa podany w komendzie CATALOG zatrzymującą działanie menedżera baz danych, przed dowolną
NODE nie jest poprawny. instrukcją SQL lub uruchomieniem dowolnego programu
narzędziowego.
Objaśnienie:
Alias partnerskiej_jednostki_logicznej, podany w komendzie
Nie można wykonać komendy.
CATALOG NODE, nie jest zdefiniowany lub zawiera
niepoprawne znaki. Alias partnerskiej_jednostki_logicznej jest Działanie użytkownika:
aliasem partnerskiej jednostki logicznej SNA, musi składać się Wprowadź komendę uruchamiającą menedżera baz danych i
z 1 do 8 znaków i nie może zawierać znaków odstępu. wprowadź ponownie bieżącą komendę.

Nie można wykonać komendy. Jeśli używanych jest wiele węzłów logicznych, sprawdź, czy
zmienna środowiskowa DB2NODE jest ustawiona
Działanie użytkownika:
prawidłowo. Zmienna środowiskowa DB2NODE wskazuje
Sprawdź, czy alias partnerskiej_jednostki_logicznej nie
węzeł, z którym będzie się łączyć aplikacja. DB2NODE musi
zawiera błędu. Sprawdź, czy alias jest dozwoloną nazwą
zawierać numer jednego z węzłów zdefiniowanych na tym
jednostki logicznej. Sprawdź znaki użyte w aliasie. Wprowadź
samym hoście, co aplikacja.
ponownie komendę, podając prawidłową
partnerską_jednostkę_logiczną.
kod_sql: -1032

SQL1030C Katalog bazy danych jest pełny. stan_sql: 57019


Objaśnienie:
Systemowy katalog baz danych lub lokalny katalog bazy SQL1033N Katalog bazy danych jest niedostępna,
danych nie może przechować więcej pozycji. ponieważ jest właśnie używana.

Nie można wykonać komendy. Objaśnienie:


Katalog bazy danych jest niedostępny, jeśli jest właśnie
Działanie użytkownika: aktualizowany. Katalog jest również niedostępny dla procesu
Usuń niepotrzebne pozycje z katalogu. Jeśli lokalny katalog aktualizacji, jeśli jest właśnie używany w innym celu. Sytuacja
bazy danych jest pełny, utwórz nową bazę danych w innym ta dotyczy systemowego katalogu baz danych oraz lokalnego
systemie plików. katalogu baz danych.

Nie można wykonać komendy.


Działanie użytkownika:
Poczekaj, aż operacja blokująca dostęp zakończy się, a
następnie wprowadź ponownie komendę.

168 Komunikaty, tom 2


SQL1034C • SQL1035N

kod_sql: -1033 v Zażądano wyłącznego dostępu do bazy danych, jednak


jest ona właśnie używana jako współużytkowana baza
stan_sql: 57019 danych przez innego użytkownika (w tym samym
procesie).
SQL1034C Baza danych jest uszkodzona. Wszystkie v Zażądano wyłącznego dostępu do bazy danych, jednak
aplikacje wykonujące działania na bazie jest ona już używana jako baza danych o wyłącznym
danych zostały zatrzymane. dostępie (dwa różne procesy usiłują uzyskać dostęp do
tej samej bazy danych).
Objaśnienie: v Osiągnięto maksymalną liczbę połączeń z bazą danych.
Baza danych została uszkodzona. Nie może być używana,
dopóki nie zostanie odtworzona. Wszystkie aplikacje v Baza danych jest wykorzystywana przez innego
połączone z bazą danych zostały odłączone, a wszystkie użytkownika lub inny system.
procesy uruchamiające aplikacje, korzystające z bazy danych, 2. Baza danych została jawnie aktywowana, co uniemożliwia
zostały zatrzymane. pomyślne zakończenie operacji.
3. Baza danych jest aktywna, ponieważ jest w stanie WRITE
Nie można wykonać komendy. SUSPEND.
Działanie użytkownika:
Aby odtworzyć bazę danych, wprowadź komendę RESTART Nie można wykonać komendy.
DATABASE. Jeśli komenda RESTART nie zakończy się Działanie użytkownika:
poprawnie, musisz odtworzyć bazę danych z kopii zapasowej.
1. Poprawnymi opcjami są:
W środowisku serwera partycjonowanej bazy danych przed
odtworzeniem bazy danych z kopii zapasowej (backup) v Wprowadź komendę później, gdy baza danych nie
przejrzyj plik syslog, aby dowiedzieć się, że komenda będzie używana.
RESTART nie powiodła się z powodu awarii węzła lub v Zmień uprawnienia, tak aby były odpowiednie dla
komunikacji. Jeśli tak, sprawdź, czy działa menedżer baz aktualnego użytkownika albo poczekaj, aż baza danych
danych i komunikacja między wszystkimi węzłami; następnie przestanie być używana.
wprowadź ponownie komendę. v Poczekaj, aż baza danych nie będzie używana w sposób
wyłączny.
Jeśli napotkasz ten błąd podczas odtwarzania zmian, musisz
v Poczekaj, aż inni użytkownicy lub inny system odłączy
odtworzyć bazę danych z kopii zapasowej (backup) i ponowić
się od bazy danych.
odtwarzanie zmian.
v Wydaj komendę QUIESCE DATABASE DEFER
Zauważ, że w środowisku partycjonowanej bazy danych WITH TIMEOUT <minut> i komendę CONNECT
komenda RESTART DATABASE jest uruchamiana dla RESET, aby zwolnić połączenia z bazą danych i
każdego węzła z osobna. Aby ponownie uruchomić bazę uniemożliwić użytkownikom aplikacji ponowne
danych we wszystkich węzłach, użyj komendy: połączenie. Opcja DEFER umożliwi odczekanie, aż
aplikacje zatwierdzą bieżącą jednostkę pracy zamiast
db2_all db2 restart database wycofania wszystkich działających transakcji.
<nazwa_bazy_danych>
v Wydaj komendę LIST APPLICATIONS, aby
Może być konieczne wielokrotne wykonanie tej komendy, aby wyświetlić listę połączeń z bazą danych. Wydaj
zapewnić rozstrzygnięcie wszystkich wątpliwych transakcji. komendę FORCE APPLICATION ALL, aby zwolnić
połączenia z bazą danych. Uwaga: Komenda FORCE
APPLICATION ALL jest komendą asynchroniczną,
Jeśli właśnie instalujesz przykładową bazę danych, usuń ją i
która może zostać zwrócona jako pomyślnie
ponownie zainstaluj.
zakończona nawet wtedy, gdy czyszczenie połączeń jest
nadal kontynuowane. Czas wymagany do zakończenia
kod_sql: -1034
komendy nie jest stały.
stan_sql: 58031 2. Dezaktywuj bazę danych za pomocą komendy
DEACTIVATE DATABASE <DBALIAS>.
3. Wydaj komendę SET WRITE RESUME FOR
SQL1035N Baza danych jest aktualnie używana. DATABASE, aby wznowić operacje zapisu dla bazy
Objaśnienie: danych.
Wystąpiła jedna z następujących sytuacji:
1. Istnieją otwarte połączenia z bazą danych Wprowadź ponownie komendę.
uniemożliwiające pomyślne wykonanie zamierzonej
operacji. Może się to zdarzyć w następujących sytuacjach: Aby uzyskać więcej informacji o składni komend i tematach
pokrewnych, przeszukaj Centrum informacyjne
(http://publib.boulder.ibm.com/infocenter/db2luw/v9) przy

Rozdział 2. Komunikaty SQL 169


SQL1036C • SQL1039C

użyciu takich fraz, jak ″wymuszanie aplikacji″, uprawnień, problemy dotyczące punktu podłączenia,
″dezaktywowanie bazy danych″ i ″wyciszanie bazy danych″. problemy związane z uszkodzeniem.
v Zwiększ wielkość systemu plików.
kod_sql: -1035
Uwaga: Jeśli błąd wystąpił podczas wykonywania komendy
stan_sql: 57019 CREATE DATABASE lub DROP DATABASE, przy
wykonywaniu następnej komendy CREATE DATABASE lub
SQL1036C Podczas korzystania z bazy danych wystąpił DROP DATABASE następuje próba usunięcia plików i
błąd we/wy. katalogów pozostawionych przez niepoprawnie wykonaną
poprzednią komendę CREATE DATABASE lub DROP
Objaśnienie: DATABASE.
Problem wystąpił prawdopodobnie w jednej z następujących
sytuacji: kod_sql: -1036
v System nie jest w stanie otworzyć, odczytywać lub
zapisywać danych do pliku bazy danych. stan_sql: 58030
v System nie jest w stanie utworzyć bazy danych, ponieważ
podczas tworzenia pliku bazy danych lub katalogu dla bazy SQL1037W Katalog węzłów jest pusty.
danych wystąpił błąd.
Objaśnienie:
v System nie jest w stanie usunąć bazy danych, ponieważ
Próbowano odczytać zawartość katalogu węzłów, który nie
podczas usuwania pliku bazy danych lub katalogu dla bazy
zawiera żadnych pozycji.
danych wystąpił błąd.
v System nie jest w stanie utworzyć bazy danych, ponieważ Działanie użytkownika:
podczas tworzenia lub usuwania pliku bazy danych lub Nie jest wymagane żadne działanie.
katalogu dla bazy danych wystąpiło przerwanie.
v Podczas połączenia system nie jest w stanie odnaleźć kod_sql: +1037
podkatalogu bazy danych lub pliku konfiguracyjnego bazy
danych. stan_sql: 01606

Przyczyny problemu uporządkowano według częstotliwości SQL1038C Podczas dostępu do katalogu węzłów
ich występowania: wystąpił błąd we/wy.
v Nie można znaleźć pliku dziennika w katalogu określonym
Objaśnienie:
jako ścieżka do aktywnego dziennika.
Nie ma dostępu do katalogu węzłów, ponieważ wystąpił błąd
v Może występować problem związany z katalogiem bazy we/wy.
danych, na którym próbowano wykonać operację.
v Na dysku może brakować miejsca do zakończenia operacji. Nie można wykonać komendy.
Działanie użytkownika:
Baza danych nie może być używana.
Wprowadź ponownie komendę. Jeśli błąd się powtórzy, usuń
Działanie użytkownika: katalog węzłów (sqlnodir w katalogu sqllib) i wpisz ponownie
Działania odpowiadające poszczególnym opisanym wyżej nazwy węzłów do katalogu.
przyczynom wystąpienia problemu:
v Aby sprawdzić, czy brakuje pliku dziennika, należy kod_sql: -1038
zobaczyć, czy w pliku db2diag.log jest zapisany komunikat
o błędzie rejestrowania (w kodzie powrotu tego błędu stan_sql: 58031
występuje wartość SQLO_FNEX). Jeśli jest zapisany ten
komunikat, zawiera on nazwę brakującego pliku dziennika. SQL1039C Podczas uzyskiwania dostępu do katalogu
Upewnij się, że dany plik znajduje się w katalogu bazy danych wystąpił błąd we/wy.
określonym jako ścieżka do aktywnego dziennika. Jeśli nie
można znaleźć tego pliku, odtwórz bazę danych i wykonaj Objaśnienie:
dla niej odtwarzanie zmian do momentu, do którego Brak dostępu do systemowego katalogu baz danych lub do
odwołuje się ostatni wpis w pliku dziennika utworzony lokalnego katalogu bazy danych. Błąd ten może wystąpić nie
przed brakującym plikiem dziennika (należy wyszukać tylko podczas wpisywania lub usuwania przez system bazy
datownik określający datę i godzinę wcześniejszą niż data i danych z katalogu, ale także gdy system próbuje zwrócić się
godzina dla brakującego pliku). do bazy danych wpisanej do katalogu.
v Możliwe, że wystąpił problem dotyczący katalogu bazy
danych. Sprawdź integralność tego katalogu. Przykładowe Nie można wykonać komendy.
potencjalne problemy to problemy związane z brakiem Działanie użytkownika:
Możliwe są następujące rozwiązania:

170 Komunikaty, tom 2


SQL1040N • SQL1042C

v Jeśli błąd wystąpił podczas korzystania z dyskietki, v Menedżer bazy danych jest niepoprawnie zainstalowany lub
sprawdź, czy w napędzie znajduje się właściwa dyskietka, a niepoprawnie skonfigurowane jest środowisko.
napęd i dyskietka są gotowe do użycia. Sprawdź, czy v W systemach UNIX może być konieczne uruchomienie
dyskietka nie jest chroniona przed zapisem. komendy db2iupdt w celu zaktualizowania instancji DB2 i
v Jeśli katalog bazy danych jest uszkodzony, odtwórz wpisane umożliwienia dostępu do nowej konfiguracji systemu lub
tam bazy danych z wersji zapasowej i wpisz je do katalogu. dostępu do funkcji związanej z instalacją albo usunięciem
określonych opcji produktu, pakietów poprawek lub
Jeśli instalujesz przykładową bazę danych, przerwij instalację i poziomów modyfikacji.
powtórnie zainstaluj przykładową bazę danych.
Nie można wykonać komendy.
kod_sql: -1039
Działanie użytkownika:
stan_sql: 58031 v Aby zaktualizować instancję w celu uzyskania dostępu do
konfiguracji lub określonej funkcji, należy wprowadzić
komendę DB2IUPDT <NazwaInstancji>.
SQL1040N Z bazą danych jest już połączona v Jeśli błąd wystąpił w trakcie próby połączenia z bazą
maksymalna liczba aplikacji. danych, zanotuj okoliczności (instrukcje poniżej) i
Objaśnienie: skontaktuj się z IBM.
Liczba aplikacji połączonych z bazą danych jest równa
maksymalnej wartości podanej w pliku konfiguracyjnym bazy Jeśli powyższe wskazówki nie dadzą się zastosować, sprawdź,
danych. czy systemowa godzina i data są ustawione prawidłowo i czy
system dysponuje wystarczającą pamięcią i przestrzenią
Nie można wykonać komendy. wymiany/stronicowania.

Działanie użytkownika: Wprowadź ponownie bieżącą komendę.


Poczekaj, aż inne aplikacje odłączą się od bazy danych. Jeśli
istnieje potrzeba równoległego uruchamiania większej liczby
Jeśli błąd powtórzy się, zatrzymaj menedżera baz danych i
aplikacji, zwiększ wartość maxappls. Nowa wartość będzie
uruchom go ponownie.
uwzględniona po odłączeniu wszystkich aplikacji od bazy
danych i po ponownym uruchomieniu bazy danych.
Jeśli mimo tego działania błąd powtarza się, ponownie
zainstaluj menedżera baz danych.
kod_sql: -1040
Jeśli śledzenie było aktywne, wywołaj program Independent
stan_sql: 57030
Trace Facility z wiersza komend systemu operacyjnego.
Skontaktuj się z przedstawicielem działu technicznego i
SQL1041N Uruchomiono maksymalną liczbę przekaż mu następujące informacje:
równoległych baz danych.
Wymagane informacje:
Objaśnienie:
Aplikacja próbowała uruchomić nieaktywną bazę danych, v Opis problemu
jednak liczba aktywnych baz danych jest już równa v Kod SQLCODE lub numer komunikatu
maksymalnej wartości podanej w pliku konfiguracyjnym. v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe)
Nie można wykonać komendy.
v Plik śledzenia (jeśli jest to możliwe).
Działanie użytkownika:
Poczekaj, aż jedna z baz danych przestanie być aktywna. Jeśli Użytkownicy systemów stowarzyszonych: W razie potrzeby
jednocześnie musi być aktywnych więcej baz danych, zwiększ należy zlokalizować problem do źródła danych odrzucającego
wartość numdb. Nowa wartość zostanie uwzględniona po żądanie (procedury, z których należy korzystać przy
następnym pomyślnym uruchomieniu menedżera baz danych. identyfikowaniu niesprawnego źródła danych, można znaleźć
w podręczniku Troubleshooting Guide). Jeśli występuje
kod_sql: -1041 problem ze źródłem danych, postępuj zgodnie z procedurami
określania problemów dla źródła danych.
stan_sql: 57032
kod_sql: -1042

SQL1042C Wystąpił nieoczekiwany błąd systemowy.


stan_sql: 58004
Objaśnienie:
Wystąpił błąd systemowy. Poniżej przedstawiono niektóre
prawdopodobne przyczyny wystąpienia tego błędu:

Rozdział 2. Komunikaty SQL 171


SQL1043C • SQL1047N

Sprawdź pozycje we wszystkich pokrewnych katalogach bazy


SQL1043C Usługi baz danych nie mogą zainicjować
danych, używając komend służących do przeglądania
katalogów systemowych. Zwrócono błąd
katalogów.
błąd.
Objaśnienie: kod_sql: -1045
Podczas inicjowania katalogów systemowych komenda
CREATE DATABASE nie została wykonana. stan_sql: 58031
Działanie użytkownika:
Zapisz numer komunikatu (SQLCODE) i opis błędu w tym SQL1046N Nieprawidłowy identyfikator
komunikacie. autoryzowanego użytkownika.

Jeśli śledzenie było aktywne, wywołaj program Independent Objaśnienie:


Trace Facility z wiersza komend systemu operacyjnego. Uprawnienie podane podczas logowania jest niepoprawne dla
Następnie skontaktuj się z przedstawicielem serwisu źródła danych lub menedżera bazy danych. Wystąpiła jedna z
technicznego i przekaż mu następujące informacje: następujących sytuacji:
v Środowisko: aplikacja v Autoryzacja zawiera dla platformy Windows więcej niż 30
znaków, natomiast dla innych platform 8 znaków.
v Wymagane informacje:
v Uprawnienie zawiera znaki niepoprawne dla uprawnienia.
– Opis problemu Poprawne znaki są wielkimi lub małymi literami alfabetu
– Kod SQLCODE lub numer komunikatu i identyfikator łacińskiego, cyframi od 0 do 9 albo znakami #, @ lub $.
błędu v Uprawnienie ma wartość PUBLIC lub public.
– Zawartość obszaru komunikacyjnego SQL (jeśli jest to v Uprawnienie rozpoczyna się od SYS, sys, IBM, ibm, SQL
możliwe) lub sql.
– Plik śledzenia (jeśli jest to możliwe). v Uprawnienie narusza niektóre konwencje nazewnictwa
przyjęte dla źródła danych.
SQL1044N Przetwarzanie zostało zatrzymane z powodu
wystąpienia przerwania. Nie można wykonać komendy.
Objaśnienie: Działanie użytkownika:
Użytkownik mógł nacisnąć kombinację klawiszy służącą do Zaloguj się, używając poprawnego ID autoryzowanego
przerwania programu. użytkownika.

Przetwarzanie zostało zatrzymane. Użytkownicy systemów stowarzyszonych: W razie potrzeby


należy zlokalizować problem do źródła danych odrzucającego
Użytkownicy systemu stowarzyszonego: Ta sytuacja może żądanie (procedury, z których należy korzystać przy
również zostać wykryta przez źródło danych. identyfikowaniu niesprawnego źródła danych, można znaleźć
w podręczniku Troubleshooting Guide) i użyć ID
Działanie użytkownika: autoryzowanego użytkownika właściwego dla tego źródła
Kontynuuj przetwarzanie, aby obsłużyć przerwanie. danych.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i kod_sql: -1046


powtórnie zainstaluj przykładową bazę danych.
stan_sql: 28000
Jeśli uruchamiasz menedżera baz danych, przed podaniem
dowolnej komendy DB2 wprowadź komendę db2stop.
SQL1047N Aplikacja jest już połączona z inną bazą
kod_sql: -1044 danych.
Objaśnienie:
stan_sql: 57014 Aplikacja nie może utworzyć bazy danych, jeśli jest połączona
z inną bazą danych.
SQL1045N Nie znaleziono bazy danych, ponieważ
została niepoprawnie wpisana do katalogu. Dowiązanie pliku wiązania z bazą danych, w czasie gdy jest
on połączony z inną bazą danych, jest niedozwolone.
Objaśnienie:
Pośrednia pozycja katalogu bazy danych wskazuje na pozycję Nie można wykonać komendy.
inną niż osobista (non-HOME).
Działanie użytkownika:
Nie można wykonać komendy. Odłącz się od bazy danych i wprowadź ponownie komendę.

Działanie użytkownika:

172 Komunikaty, tom 2


SQL1048N • SQL1051N

v Podjęto próbę aktywowania lub nawiązania połączenia z


SQL1048N Parametr use parametr komendy START
bazą danych, jednak ścieżka do pamięci masowej nie
USING DATABASE lub CONNECT TO
została odnaleziona lub jest niedostępna.
jest nieprawidłowy. Musi on mieć wartość S
dla współużytkowania, X dla dostępu v Podjęto próbę odtworzenia bazy danych z automatyczną
wyłącznego, N dla dostępu wyłącznego w pamięcią masową, zachowując przy tym ścieżki do pamięci
pojedynczym węźle. Dla połączeń DB2 masowej zdefiniowane w kopii zapasowej. Jednak ścieżka
Connect obsługiwana jest tylko wartość S. N do pamięci masowej nie została odnaleziona lub jest
jest wartością obsługiwaną tylko w niedostępna.
konfiguracjach MPP. v W ramach odtwarzania zmian podjęto próbę odtworzenia
zapisów w dzienniku dotyczących dodawania ścieżek do
Objaśnienie:
pamięci masowej, jednak ścieżki nie odnaleziono albo jest
Parametr use komendy START USING DATABASE lub
niedostępna.
CONNECT TO musi mieć albo wartość S dla baz
współużytkowanych, albo X dla baz używanych na
wyłączność. W przypadku łączenia się z bazą danych przy W przypadku używania menedżera klastra ten komunikat
użyciu programu DB2 Connect dozwolony jest tylko dostęp może zostać zwrócony, jeśli menedżer bazy danych DB2 nie
współużytkowany. Mnemoniki dla tych wartości znajdują się będzie mógł dodać danej ścieżki pamięci do konfiguracji
w pliku SQLENV.H. menedżera klastra. Komunikaty o błędach z menedżera klastra
są rejestrowane w pliku db2diag.log.
Nie można wykonać komendy.
Nie można wykonać tej instrukcji lub komendy.
Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawny parametr Działanie użytkownika:
use (wybrany spośród odpowiednich mnemoników). Zależnie od warunku:
v Utwórz ścieżkę, jeśli nie istnieje, albo zmień uprawnienia
dostępu do ścieżki, jeśli jest niedostępna. Wprowadź
SQL1049C Aplikacja jest w stanie błędu. Utracono ponownie komendę lub instrukcję.
połączenie z bazą danych.
v Definiując ścieżki do pamięci masowej należy zawsze
Objaśnienie: używać notacji bezwzględnej. Wprowadź ponownie
Utracono połączenie z bazą danych. komendę lub instrukcję.
v Rozwiąż problem dotyczący ścieżki do pamięci masowej i
Nie można wykonać komendy. uruchom ponownie komendę. Jeśli ścieżka nie jest już
Działanie użytkownika: dostępna, należy odtworzyć bazę danych z kopii zapasowej.
Podaj instrukcję CONNECT RESET. v Utwórz ścieżkę do pamięci masowej, jeśli nie istnieje, albo
zmień uprawnienia dostępu do ścieżki, jeśli jest
niedostępna. Można również zmienić definicję ścieżki do
SQL1050N Baza danych nie może zostać usunięta z
pamięci masowej, korzystając z parametru ON komendy
katalogu, ponieważ jest osobistą bazą
RESTORE DATABASE.
danych.
v Utwórz ścieżkę do pamięci masowej, jeśli nie istnieje, albo
Objaśnienie: zmień uprawnienia dostępu do ścieżki, jeśli jest
Baza podana w komendzie UNCATALOG DATABASE jest niedostępna. Można również odtworzyć bazę danych
osobistą bazą danych. Osobiste bazy danych nie mogą być ponownie i zmienić skojarzoną z nią ścieżkę do pamięci
usuwane z katalogów, ponieważ związane z nimi pozycje masowej. Jeśli ścieżka do pamięci masowej zostanie
katalogów są usuwane wtedy, gdy jest usuwana sama baza zmodyfikowana w trakcie odtwarzania, wszystkie kolejne
danych. zapisy w dzienniku dotyczące dodawania ścieżek do
pamięci masowej będą ignorowane.
Nie można wykonać komendy.
Działanie użytkownika: Jeśli używany jest menedżer klastra, należy usunąć problem i
Jeśli nazwa bazy danych była podana poprawnie, kontynuuj wprowadzić ponownie komendę:
przetwarzanie. v Sprawdź plik db2diag.log w poszukiwaniu komunikatów o
błędach menedżera klastra.
SQL1051N Ścieżka ścieżka nie istnieje. v Odpowiedz na komunikaty o błędach menedżera klastra z
pliku db2diag.log, aby usunąć problem, który uniemożliwił
Objaśnienie: menedżerowi bazy danych DB2 dodanie ścieżki do
Występuje jedna z podanych poniżej sytuacji: konfiguracji menedżera klastra.
v Wskazany katalog lub ścieżka do pamięci masowej bazy v Wprowadź ponownie komendę.
danych nie istnieją lub są niedostępne.
v Ścieżka do pamięci masowej nie może być ścieżką kod_sql: -1051
względną.

Rozdział 2. Komunikaty SQL 173


SQL1052N • SQL1057W

stan_sql: 57019 Poczekaj, aż zakończy się przetwarzanie aktualnego


przerwania i wprowadź ponownie komendę.
SQL1052N Ścieżka bazy danych ścieżka nie istnieje.
SQL1054N W tej chwili jest wykonywana instrukcja
Objaśnienie:
COMMIT, która nie może zostać
Ścieżka podana w parametrze ścieżka bieżącej komendy jest
przerwana.
niepoprawna. Albo nie ma ścieżki o takiej nazwie, albo
ścieżka została określona, podczas gdy zmienna rejestrowa Objaśnienie:
DB2_CREATE_DB_ON_PATHS jest wyłączona (tylko w Obecnie system przetwarza instrukcję COMMIT. Użytkownik
systemie Windows). nacisnął sekwencję klawiszy generującą przerwanie.

Aby komenda CREATE DATABASE mogła zostać Żądanie przerwania zostało zignorowane.
prawidłowo wykonana w środowisku partycjonowanej bazy
danych w systemie Windows lub UNIX, wszystkie węzły w Użytkownicy systemu stowarzyszonego: Ta sytuacja może
grupie partycjonowanej bazy danych muszą mieć tę samą również zostać wykryta przez źródło danych.
specyfikację dysku twardego (ścieżkę) z odpowiednim
obszarem możliwym do użycia. Ścieżka napędu dysku Działanie użytkownika:
twardego jest określona w konfiguracji menedżera bazy Poczekaj, aż zakończy się przetwarzanie instrukcji COMMIT i
danych. Jeśli parametr DFTDBPATH pozostanie pusty, wprowadź ponownie komendę.
domyślnym ustawieniem jest ścieżka dysku twardego, na
którym zainstalowany jest program DB2 na komputerze SQL1055N W tej chwili jest wykonywana komenda
będącym właścicielem instancji (ścieżka instalacyjna db2). ROLLBACK, która nie może zostać
przerwana.
Nie można wykonać komendy.
Objaśnienie:
Działanie użytkownika: Obecnie system przetwarza komendę ROLLBACK.
Wprowadź ponownie komendę, podając poprawną ścieżkę do Użytkownik nacisnął sekwencję klawiszy generującą
bazy danych. przerwanie.

W środowisku partycjonowanej bazy danych w systemach Żądanie przerwania zostało zignorowane.


Windows lub UNIX wykonaj następujące kroki:
v Określ wymaganą specyfikację (ścieżkę) dysku twardego. Użytkownicy systemu stowarzyszonego: Ta sytuacja może
Ścieżka jest podana w komunikacie o błędzie. również zostać wykryta przez źródło danych.
v Określ, którego spośród węzłów należących do partycji Działanie użytkownika:
bazy danych dotyczy ten problem. Informacje te można Poczekaj, aż zakończy się wykonywanie komendy
zwykle znaleźć w pliku db2diag.log węzła będącego ROLLBACK i wprowadź ponownie komendę.
właścicielem instancji.
v Usuń problem dotyczący dysku na węźle, na którym ten
SQL1056N Otwartych jest już osiem przeszukiwań
problem występuje, albo zmień specyfikację dysku w
katalogu bazy danych.
konfiguracji menedżera bazy danych, tak aby na każdym
węźle partycjonowanej grupy bazy danych był dostępny ten Objaśnienie:
sam dysk i zawierał odpowiednią ilość wolnego miejsca. W tym procesie otwartych jest już osiem przeszukiwań
v Wprowadź ponownie komendę. katalogu bazy danych. Nie można otworzyć więcej niż ośmiu
przeszukań.
v W systemie Windows, jeśli wszystkie aplikacje, które będą
się łączyły z bazą danych, są zbudowane przy użyciu
Nie można wykonać komendy.
interfejsu API co najmniej w wersji 9, wtedy można
włączyć zmienną środowiskową Działanie użytkownika:
DB2_CREATE_DB_ON_PATHS, aby obsługiwała tę Wprowadź jedną lub kilka komend CLOSE DIRECTORY
ścieżkę jako ścieżkę bazy danych. SCAN i wprowadź ponownie komendę.

SQL1053N W tej chwili jest już przetwarzane inne kod_sql: -1056


przerwanie.
stan_sql: 54029
Objaśnienie:
Obecnie system przetwarza przerwanie, dlatego inne
przerwania nie są uwzględniane. SQL1057W Systemowy katalog baz danych jest pusty.
Objaśnienie:
Żądanie przerwania zostało zignorowane. Próbowano odczytać zawartość systemowego katalogu baz
Działanie użytkownika: danych, jednak katalog nie zawiera żadnych pozycji.

174 Komunikaty, tom 2


SQL1058N • SQL1061W

Działanie użytkownika: Jeśli ten błąd jest zwracany jako wynik żądania przełączenia
Nie jest wymagane żadne działanie. użytkownika, wówczas jeśli podczas wykonywania żądania
przełączenia użytkownika z użyciem poprawnego ID
kod_sql: +1057 użytkownika (ID użytkownika, który ustanowił zaufane
połączenie, lub ID użytkownika, który ma uprawnienia do
stan_sql: 01606 zaufanego połączenia) wywoływana jest jakakolwiek
instrukcja SQL, zwracany jest błąd (SQLSTATE 08003).
Połączenie pozostaje zaufane, gdy jest wycofywane ze stanu
SQL1058N Parametr uchwytu komendy Directory Scan rozłączenia.
jest nieprawidłowy.
Objaśnienie: Użytkownicy systemów stowarzyszonych: W razie potrzeby
Parametr uchwyt, podany w komendzie Directory Scan, jest należy zlokalizować problem do źródła danych odrzucającego
nieprawidłowy. Parametr uchwyt musi być zwrócony przez żądanie (procedury, z których należy korzystać przy
komendę OPEN DIRECTORY SCAN lub OPEN NODE identyfikowaniu niesprawnego źródła danych, można znaleźć
DIRECTORY SCAN. w podręczniku Troubleshooting Guide) i upewnić się, czy
nadane zostały odpowiednie uprawnienia do tego źródła
Nie można wykonać komendy. danych. W wypadku niektórych źródeł danych dla uprawnienia
wymaganego do nawiązania połączenia z bazą danych może
Działanie użytkownika: być używana nazwa inna niż nazwa uprawnienia CONNECT.
Wprowadź ponownie komendę, podając poprawny parametr
uchwyt. kod_sql: -1060

SQL1059N Komenda Get Next nie może zostać stan_sql: 08004


wykonana, ponieważ nie wydano wcześniej
komendy Open Scan. SQL1061W Komenda RESTART została wykonana
Objaśnienie: poprawnie, jednak istnieją transakcje
Komenda Directory Scan została wprowadzona zanim otwarto wątpliwe, dotyczące bazy danych.
przeszukiwanie. Objaśnienie:
Komenda RESTART została wykonana poprawnie, nie licząc
Nie można wykonać komendy. wątpliwych transakcji. Można korzystać z bazy danych, jeśli
Działanie użytkownika: jednak transakcje wątpliwe nie zostaną rozwiązane przed
Wprowadź komendę OPEN DIRECTORY SCAN lub OPEN usunięciem ostatniego połączenia z bazą danych, przed
NODE DIRECTORY SCAN i wprowadź ponownie kolejnym użyciem bazy danych trzeba będzie znów wykonać
poprzednią komendę. komendę RESTART.
Działanie użytkownika:
SQL1060N Użytkownik ID-autoryzowanego-użytkownika Rozstrzygnij transakcje wątpliwe lub bądź przygotowany na
nie ma uprawnienia CONNECT. wykonywanie komendy RESTART za każdym razem podczas
korzystania z bazy danych. Jeśli dostępny jest menedżer
Objaśnienie: transakcji (TM), który używał bazy danych (w środowisku
Z podanym ID autoryzowanego użytkownika nie jest XA/DTP), administrator powinien polecić mu rozwiązywanie
powiązane uprawnienie CONNECT do korzystania z bazy transakcji wątpliwych. Ewentualnie jeśli jest to niezbędne,
danych. Zanim użytkownik będzie mógł podłączyć się do bazy administrator może użyć procesora wiersza komend, aby
danych, musi otrzymać uprawnienie CONNECT. Ten błąd jest zakończyć transakcje heurystycznie (ręcznie).
zwracany także wtedy, gdy żądanie przełączenia użytkownika
jest dokonywane za pomocą ID użytkownika, który ma W środowisku serwera partycjonowanej bazy danych komenda
uprawnienia do zaufanego połączenia, ale nie ma uprawnienia RESTART DATABASE jest uruchamiana dla każdego węzła
CONNECT do bazy danych. Połączenie przechodzi w stan osobno. Aby ponownie uruchomić bazę danych we wszystkich
rozłączenia. węzłach, użyj następującej komendy:
db2_all db2 restart database
Użytkownicy systemu stowarzyszonego: Ta sytuacja może <nazwa_bazy_danych>
również zostać wykryta przez źródło danych.
Powyższa komenda rozstrzygnie wszystkie wątpliwe
Nie można wykonać komendy. transakcje pod warunkiem, że wszystkie węzły są aktywne.
Działanie użytkownika:
Skontaktuj się z administratorem systemu lub administratorem Może być konieczne wielokrotne wykonanie tej komendy, aby
bazy danych i poproś o przyznanie odpowiedniego zapewnić rozstrzygnięcie wszystkich wątpliwych transakcji.
uprawnienia (GRANT CONNECT) dla swojego ID
autoryzowanego użytkownika. Wprowadź ponownie komendę.

Rozdział 2. Komunikaty SQL 175


SQL1062N • SQL1066N

SQL1062N Nie odnaleziono ścieżki ścieżka bazy danych. SQL1065W Baza danych została utworzona, wystąpił
jednak błąd w plikach wiązania
Objaśnienie:
znajdujących się na liście nazwa-listy. Pliki
Podany w komendzie parametr ścieżka bazy danych nie
na następujących pozycjach w pliku listy
istnieje. Jeśli ścieżka nie była podana, została użyta ścieżka
powiązań nie zostały powiązane: lista.
domyślna, podana w systemowym pliku konfiguracyjnym,
która również nie istnieje. Objaśnienie:
Niektóre narzędzia nie zostały powiązane z bazą danych.
Aby komenda CREATE DATABASE w środowisku Parametr nazwa-listy zawiera listę plików wiązania. Liczby
partycjonowanej bazy danych w systemie Windows mogła znajdujące się na liście lista określają względne pozycje
zostać prawidłowo wykonana, wszystkie węzły w grupie plików niepowiązanych na liście plików.
muszą mieć dostęp do zdatnego do użytku (z wystarczającą
ilością miejsca) napędu fizycznego o tej samej literze napędu. Wymienione pliki wiązania narzędzi nie są powiązane z nowo
Litera napędu fizycznego jest określona w konfiguracji utworzoną bazą danych.
menedżera baz danych. Jeśli parametr DFTDB pozostanie
Działanie użytkownika:
pusty, domyślnym ustawieniem jest dysk twardy, na którym
Użytkownik może powiązać wskazane narzędzia z bazą
zainstalowany jest program DB2 na komputerze będącym
danych. Przy wywołaniu programu wiążącego nie można użyć
właścicielem instancji (ścieżka instalacyjna db2).
opcji formatowania.
Nie można wykonać komendy.
Jeśli zdalny serwer występuje w wersji 8.1, a wersja kodu to
Działanie użytkownika: pakiet poprawek 0, 1 lub 2, to można skopiować plik
Sprawdź, czy w systemie istnieje podana ścieżka lub ścieżka bnd/db2schema.bnd ze ścieżki instalacyjnej na zdalnym
domyślna. Wprowadź ponownie komendę. serwerze do ścieżki instalacyjnej na kliencie lokalnym i
powiązać narzędzia ręcznie albo ponownie wydać komendę
W środowisku partycjonowanej bazy danych w systemach CREATE DATABASE lub MIGRATE DATABASE.
Windows wykonaj następujące kroki:
v Określ wymaganą specyfikację (literę) dysku twardego. SQL1066N Komenda DB2START została wykonana
Litera dysku jest podana w komunikacie o błędzie. poprawnie. Obsługa protokołu IPX/SPX nie
v Określ, którego spośród węzłów należących do partycji została uruchomiona poprawnie.
bazy danych dotyczy ten problem. Informacje te można
Objaśnienie:
zwykle znaleźć w pliku db2diag.log węzła będącego
Obsługa protokołu IPX/SPX nie została uruchomiona
właścicielem instancji.
poprawnie. Zdalne klienty nie mogą używać protokołu
v Usuń problem dotyczący dysku na każdym węźle, na IPX/SPX, aby połączyć się z serwerem. Możliwe przyczyny
którym ten problem występuje albo zmień specyfikację to:
dysku w konfiguracji menedżera baz danych, tak aby na
v stacja robocza nie jest zalogowana na serwerze plików
każdym węźle partycjonowanej grupy bazy danych był
NetWare,
dostępny ten sam dysk (i zawierał odpowiednią ilość
wolnego miejsca). v stacja robocza nie ma uprawnień do tworzenia obiektu w
systemie uprawnień serwera plików NetWare,
v Wprowadź ponownie komendę.
v inny menedżer baz danych w sieci używa nazwy podanej w
pliku konfiguracyjnym menedżera baz danych.
SQL1063N Komenda DB2START została wykonana
poprawnie. Działanie użytkownika:
Upewnij się, że stacja robocza była zalogowana na serwerze
Objaśnienie: plików NetWare i aby miała uprawnienia pozwalające na
Komenda uruchamiająca menedżera baz danych została tworzenie obiektu w systemie uprawnień serwera plików.
wykonana poprawnie. Użytkownik musi być zalogowany do systemu jako
SUPERVISOR lub mieć równoważne uprawnienia. Zapewnij
SQL1064N Działanie menedżera baz danych zakończyło również, aby nazwa obiektu, podana w pliku konfiguracyjnym
się poprawnie. menedżera baz danych, była unikalna dla wszystkich
menedżerów baz danych w sieci. Wprowadź potrzebne
Objaśnienie: poprawki, uruchom DB2STOP, a następnie uruchom ponownie
Komenda zatrzymująca działanie menedżera baz danych DB2START.
została wykonana poprawnie.
Jeśli problem nie zniknie, wpisz DB2TRC ON -L 0X100000 z
poziomu wiersza komend systemu operacyjnego. Uruchom
ponownie DB2START, następnie z poziomu wiersza komend
wpisz DB2TRC DUMP nazwa_pliku, aby zapisać informacje

176 Komunikaty, tom 2


SQL1067N • SQL1072C

dotyczące śledzenia. Aby wyłączyć śledzenie, wpisz DB2TRC danych, znajdującym się w tym samym węźle. Zdalna baza
OFF. Dysponując informacjami śledzenia, skontaktuj się z danych nie może zostać usunięta.
przedstawicielem serwisu.
Nie można wykonać komendy.
SQL1067N Komenda DB2STOP została wykonana Działanie użytkownika:
niepoprawnie. Obsługa protokołu IPX/SPX Jeśli podana nazwa bazy danych była niepoprawna, wprowadź
nie została pomyślnie zatrzymana. komendę ponownie, podając poprawną nazwę bazy danych.
Jeśli podana nazwa bazy danych była poprawna i chcesz
Objaśnienie:
usunąć bazę danych z katalogu bazy danych, użyj komendy
Obsługa protokołu IPX/SPX nie została zatrzymana
UNCATALOG DATABASE.
poprawnie. Możliwe przyczyny to:
v stacja robocza nie jest zalogowana na serwerze plików
NetWare, SQL1070N Adres parametru zawierającego nazwę bazy
danych jest nieprawidłowy.
v stacja robocza nie ma uprawnień do usuwania obiektu w
systemie uprawnień serwera plików NetWare, Objaśnienie:
Aplikacja użyła adresu, który jest niepoprawny dla parametru
Działanie użytkownika:
zawierającego nazwę bazy danych. Adres wskazuje
Upewnij się, że stacja robocza była zalogowana do serwera
nieprzydzielony bufor albo łańcuch znaków w buforze nie jest
plików NetWare i aby miała uprawnienia pozwalające na
zakończony znakiem o wartości pustej.
usuwanie obiektu z systemu uprawnień serwera plików.
Użytkownik musi być zalogowany do systemu jako
SUPERVISOR lub mieć równoważne uprawnienia. Wprowadź Nie można wykonać komendy.
potrzebne poprawki i uruchom ponownie DB2STOP. Działanie użytkownika:
Popraw program, tak aby był używany prawidłowy adres i aby
Jeśli problem nie zniknie, wpisz DB2TRC ON -L 0X100000 z łańcuch wejściowy był zakończony znakiem o wartości pustej.
poziomu wiersza komend systemu operacyjnego. Uruchom
ponownie DB2STOP, następnie z poziomu wiersza komend
wpisz DB2TRC DUMP nazwa_pliku, aby zapisać informacje SQL1071N Adres parametru zawierającego alias bazy
śledzenia. Aby wyłączyć śledzenie, wpisz DB2TRC OFF. danych jest nieprawidłowy.
Dysponując informacjami śledzenia, skontaktuj się z Objaśnienie:
przedstawicielem serwisu. Aplikacja użyła adresu, który jest nieprawidłowy dla tego
parametru. Adres wskazuje nieprzydzielony bufor albo
SQL1068N Domena, która ma dla instrukcji łańcuch znaków w buforze nie jest zakończony znakiem o
CONNECT lub ATTACH identyfikator wartości pustej.
użytkownika id-użytkownika nie została
zdefiniowana w zmiennej środowiskowej Nie można wykonać komendy.
DB2DOMAINLIST. Działanie użytkownika:
Objaśnienie: Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
Identyfikator użytkownika w instrukcji CONNECT TO lub wejściowy jest zakończony znakiem o wartości pustej.
ATTACH TO nie należy do domeny zdefiniowanej w
zmiennej środowiskowej DB2DOMAINLIST. SQL1072C Zasoby menedżera baz danych są niespójne.
Działanie użytkownika: Menedżer baz danych mógł zakończyć się
W zmiennej środowiskowej DB2DOMAINLIST określ nazwę nieprawidłowo albo inna aplikacja używa
domeny, która ma identyfikator użytkownika, używając do zasobów systemu, tak że koliduje to ze
tego komendy DB2SET. sposobem, w jaki to robi menedżer bazy
danych. Może być potrzebne
kod_sql: -1068 uporządkowanie zasobów systemu.
Objaśnienie:
stan_sql: 08004 Żądanie nie powiodło się, ponieważ zasoby menedżera baz
danych są niespójne. Może się to zdarzyć, gdy:
SQL1069N Baza danych nazwa nie jest osobistą bazą v program DB2 został nieprawidłowo zakończony (na
danych. przykład systemach operacyjnych UNIX, błąd mógł
wystąpić, gdy proces został zakończony przez komendę
Objaśnienie: ″kill″, a nie przez komendę ″stop database manager″),
Baza danych nie jest lokalną bazą danych. Lokalna baza
v inna aplikacja albo użytkownik mógł usunąć zasoby
danych została wpisana do systemowego katalogu baz danych
menedżera baz danych (na przykład w systemach UNIX
jako pośrednia baza danych i dotycząca jej pozycja jest
użytkownik dysponujący wystarczającymi uprawnieniami
powiązana z osobistą pozycją w katalogu lokalnej bazy

Rozdział 2. Komunikaty SQL 177


SQL1073N • SQL1077N

mógł pomyłkowo usunąć zasób Interprocess


SQL1073N Numer wydania katalogu węzłów jest
Communication (IPC), należący do menedżera baz danych,
niepoprawny.
używając komendy ″ipcrm″),
v korzystanie z zasobów systemowych przez inne aplikacje Objaśnienie:
koliduje z korzystaniem z zasobów systemowych przez Numer wydania katalogu węzłów jest niezgodny z
menedżera baz danych (na przykład systemach UNIX inna oczekiwanym numerem wydania produktu. Katalog węzłów
aplikacja może używać tych samych kluczy, które menedżer może pochodzić z poprzedniego wydania.
baz danych wykorzystuje do tworzenia zasobów IPC), Działanie użytkownika:
v inna instancja menedżera baz danych może korzystać z tych Wpisz ponownie do katalogu wszystkie pozycje węzłów i
samych zasobów. Na przykład w systemach UNIX jeśli wprowadź ponownie komendę.
dwie instancje należą do różnych systemów plików i
przypadkowo katalogi sqllib używają tego samego węzła
SQL1074N Adres parametru zawierającego hasło jest
i-node (węzły i-node służą do tworzenia kluczy IPC).
niepoprawny.
Działanie użytkownika:
Objaśnienie:
Może być potrzebne uporządkowanie zasobów:
Aplikacja użyła adresu, który jest nieprawidłowy dla tego
v Usuń wszystkie procesy menedżera bazy danych parametru. Adres wskazuje nieprzydzielony bufor albo
uruchomione z danym identyfikatorem instancji (w łańcuch znaków w buforze nie jest zakończony znakiem o
systemach UNIX można użyć komendy db2_ps, aby wartości pustej.
wyświetlić listę wszystkich procesów menedżera bazy
danych uruchomionych z danym identyfikatorem instancji, Nie można wykonać komendy.
oraz komendy ″kill -9 <identyfikator_procesu>″, aby je
usunąć). Działanie użytkownika:
v Sprawdź, czy żadna aplikacja nie jest uruchomiona przez Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
instancję o danym identyfikatorze, a następnie usuń wejściowy jest zakończony znakiem o wartości pustej.
wszystkie zasoby należące do instancji o tym
identyfikatorze (w systemach UNIX można użyć komendy SQL1075N Adres parametru zawierającego komentarz
″ipcs | grep <id instancji>″, aby otrzymać listę wszystkich dla bazy danych jest niepoprawny.
zasobów IPC, należących do instancji o tym identyfikatorze,
oraz komendy ″ipcrm -[q|m|s] <id>″, aby je usunąć). Objaśnienie:
Aplikacja użyła adresu, który jest nieprawidłowy dla tego
v Jeśli działa obecnie inna instancja menedżera bazy danych,
parametru. Adres wskazuje nieprzydzielony bufor albo
może wystąpić konflikt i-węzła. Może to wystąpić, jeśli
łańcuch znaków w buforze nie jest zakończony znakiem o
okazało się, że dwie instancje nie mogą być aktywne
wartości pustej.
jednocześnie, ale oddzielnie można je uruchomić. Należy
zmienić i-węzeł używany do generowania kluczy IPC dla
Nie można wykonać komendy.
jednej z tych instancji.
Dla instancji jednowęzłowych jako właściciel instancji Działanie użytkownika:
wykonaj następujące czynności w katalogu sqllib: Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
wejściowy jest zakończony znakiem o wartości pustej.
– usuń plik .ftok
rm .ftok
SQL1076N Adres parametru zawierającego liczbę
– utwórz nowy plik .ftok
elementów jest niepoprawny.
touch .ftok
Objaśnienie:
Dla instancji wielowęzłowych jako właściciel instancji Aplikacja użyła adresu, który jest nieprawidłowy dla
wykonaj następujące czynności: parametru liczba parametrów.
– utwórz nowy katalog na tym samym poziomie co sqllib,
Nie można wykonać komendy.
– przekopiuj wszystko, co znajduje się w sqllib do nowego
katalogu, Działanie użytkownika:
Upewnij się, że program używał poprawnego adresu.
– usuń sqllib,
– zmień nazwę nowego katalogu na sqllib.
SQL1077N Adres parametru zawierającego uchwyt jest
v W przypadku instancji z pojedynczym węzłem uruchom
niepoprawny.
komendę db2ftok jako właściciel instancji, aby przywrócić
zasoby systemowe używane przez menedżera bazy danych Objaśnienie:
do stanu spójnego. Aplikacja użyła adresu, który jest nieprawidłowy dla
v Uruchom ponownie instancję menedżera baz danych. parametru uchwyt.

Nie można wykonać komendy.

178 Komunikaty, tom 2


SQL1078N • SQL1084C

Działanie użytkownika:
SQL1082N Adres parametru zawierającego tryb jest
Upewnij się, że program używał poprawnego adresu.
niepoprawny.
Objaśnienie:
SQL1078N Adres parametru zawierającego bufor jest
Aplikacja użyła adresu, który jest nie jest prawidłowy dla
niepoprawny.
parametru tryb. Adres wskazuje nieprzydzielony bufor albo
Objaśnienie: łańcuch znaków w buforze nie jest zakończony znakiem o
Aplikacja użyła adresu, który nie jest prawidłowy dla wartości pustej.
parametru bufor.
Nie można wykonać komendy.
Nie można wykonać komendy.
Działanie użytkownika:
Działanie użytkownika: Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
Upewnij się, że program używał poprawnego adresu. wejściowy jest zakończony znakiem o wartości pustej.

SQL1079N Adres parametru zawierającego nazwę SQL1083N Nie można utworzyć bazy danych, ponieważ
węzła jest niepoprawny. blok opisu bazy danych nie może być
przetworzony; kod przyczyny
Objaśnienie: =kod-przyczyny.
Aplikacja użyła nieprawidłowego adresu parametru
nazwa-węzła. Adres wskazuje nieprzydzielony bufor albo Objaśnienie:
łańcuch znaków w buforze nie jest zakończony znakiem o Aplikacja wydała komendę CREATE DATABASE, ale blok
wartości pustej. opisu bazy danych (DBDB) nie może zostać przetworzony z
jednej z przyczyn, opisanych następującymi kodami:
Nie można wykonać komendy. 1 Adres bloku DBDB jest niepoprawny.
Działanie użytkownika: 2 Wartość pola SQLDBDID w bloku DBDB jest
Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch niepoprawna. W tym polu powinna znajdować się
wejściowy jest zakończony znakiem o wartości pustej. wartość SQLDBDB1.
4 Wartość pola SQLDBCSS w bloku DBDB jest
SQL1080N Adres parametru nazwy local_lu jest niepoprawna. Jeśli jest używana komenda CLP
niepoprawny. CREATE DATABASE, wartość określona w opcji
Objaśnienie: COLLATE USING jest niepoprawna.
Aplikacja użyła adresu, który jest nieprawidłowy dla 5 Wartość uporządkowania określona w polu
parametru zawierającego nazwę lokalnej_jednostki_logicznej. SQLDBUDC jest niepoprawna dla typu
Adres wskazuje nieprzydzielony bufor albo łańcuch znaków w uporządkowania SQL_CS_UNICODE. Jeśli jest
buforze nie jest zakończony znakiem o wartości pustej. używana komenda CLP CREATE DATABASE,
wartość określona w opcji COLLATE USING jest
Nie można wykonać komendy. niepoprawna dla zestawu kodowego UTF-8.
Działanie użytkownika: 6 Nie można utworzyć bazy danych z jawnym typem
Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch uporządkowania i niejawnym zestawem kodowym.
wejściowy jest zakończony znakiem o wartości pustej. Należy określić żądany zestaw kodowy albo
pozostawić uporządkowanie jako
SQL1081N Adres parametru nazwy partner_lu jest SQL_CS_SYSTEM. Jeśli jest używana komenda
niepoprawny. CLP CREATE DATABASE, należy określić zestaw
kodowy wymagany z jawnym typem zestawiania lub
Objaśnienie: użyć zestawiania niejawnego bez opcji COLLATE
Aplikacja użyła adresu, który jest nieprawidłowy dla USING.
parametru partnerska_jednostka_logiczna. Adres wskazuje
nieprzydzielony bufor albo łańcuch znaków w buforze nie jest Nie można wykonać komendy.
zakończony znakiem o wartości pustej.
Działanie użytkownika:
Nie można wykonać komendy. Popraw błąd i wprowadź ponownie komendę.

Działanie użytkownika:
Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch SQL1084C Nie można przydzielić pamięci segmentom
wejściowy jest zakończony znakiem o wartości pustej. współużytkowanym.
Objaśnienie:
Menedżer bazy danych nie był w stanie przydzielić pamięci
współużytkowanej podczas aktywowania bazy danych.

Rozdział 2. Komunikaty SQL 179


SQL1085N • SQL1088W

Działanie użytkownika:
SQL1086C Wystąpił błąd systemu operacyjnego błąd.
Przyczyną błędu mogą być niewystarczające zasoby pamięci
dla menedżera bazy danych. Sprawdź, czy są dostępne Objaśnienie:
odpowiednie zasoby instance_memory, które spełniają Komenda otrzymała od systemu operacyjnego informację o
wymagania menedżera bazy danych, oraz czy są dostępne błędzie, który uniemożliwia jej dalsze przetwarzanie.
wystarczające zasoby pamięci systemu operacyjnego.
Konieczne może być zwiększenie wartości ustawienia Nie można wykonać komendy.
konfiguracyjnego menedżera bazy danych instance_memory
lub zmniejszenie ustawienia konfiguracyjnego bazy danych Działanie użytkownika:
database_memory. Może być także konieczne zwiększenie Sięgnij do przeznaczonych dla użytkownika publikacji
ustawień jądra systemu operacyjnego ograniczających dotyczących systemu operacyjnego, aby poznać przyczynę
wielkość pamięci, którą może przydzielić menedżer bazy błędu.
danych.
SQL1087W Baza danych została utworzona, jednak
Zwiększanie lub zmniejszanie ustawień należy przeprowadzać podczas otwierania pliku z listą nazwa
małymi krokami (od 5 do 10 procent na raz), aż operacja się wystąpił błąd. Narzędzia nie są powiązane z
powiedzie. bazą danych.
Objaśnienie:
Jeśli dostępne są wystarczające zasoby pamięci, a problem
Komenda CREATE DATABASE nie jest w stanie otworzyć
nadal istnieje, skontaktuj się z przedstawicielem serwisu
pliku z listą plików wiązania narzędzi. Plik z listą powinien
technicznego i przekaż mu następujące informacje:
znajdować się w podkatalogu bnd podkatalogu sqllib.
v Opis problemu
v Kod SQLCODE lub numer komunikatu Pliki wiązania narzędzi nie są powiązane z nowo utworzoną
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to bazą danych.
możliwe) Działanie użytkownika:
v Ustawienia konfiguracyjne menedżera bazy danych Powiąż narzędzia z bazą danych. Przy wywoływaniu
v Ustawienia konfiguracyjne bazy danych konsolidatora nie używaj opcji format.

kod_sql: -1084 Jeśli zdalny serwer występuje w wersji 8.1, a wersja kodu to
pakiet poprawek 0, 1 lub 2, to można skopiować plik
stan_sql: 57019 bnd/db2schema.bnd ze ścieżki instalacyjnej na zdalnym
serwerze do ścieżki instalacyjnej na kliencie lokalnym i
powiązać narzędzia ręcznie albo ponownie wydać komendę
SQL1085N Nie można przydzielić pamięci stercie CREATE DATABASE lub MIGRATE DATABASE.
aplikacji.
Objaśnienie: SQL1088W Baza danych została utworzona, jednak
Aplikacja nie mogła połączyć się z bazą danych, ponieważ podczas wiązania z narzędziami wystąpił
menedżer baz danych nie był w stanie przydzielić pamięci błąd. Narzędzia nie są powiązane z bazą
stercie aplikacji, która miała się składać z podanej w pliku danych.
konfiguracyjnym liczby stron o wielkości 4 kB. W systemie
nie można przydzielić żądanej liczby stron o wielkości 4 kB. Objaśnienie:
Nie można wykonać komendy. Komenda CREATE DATABASE lub MIGRATE
DATABASE nie była w stanie połączyć plików wiązania
Działanie użytkownika: narzędzi z bazą danych.
Możliwe rozwiązania:
v Zmniejsz wielkość sterty aplikacji (applheapsz) w pliku Pliki wiązania narzędzi nie są powiązane z nowo utworzoną
konfiguracyjnym bazy danych lub zmigrowaną bazą danych.
v Zmniejsz maksymalną liczbę aplikacji w pliku Działanie użytkownika:
konfiguracyjnym bazy danych Powiąż narzędzia z bazą danych. Przy wywoływaniu
v Usuń procesy uruchomione w tle. konsolidatora nie używaj opcji format.
v Zainstaluj większą ilość pamięci.
Jeśli zdalny serwer występuje w wersji 8.1, a wersja kodu to
kod_sql: -1085 pakiet poprawek 0, 1 lub 2, to można skopiować plik
bnd/db2schema.bnd ze ścieżki instalacyjnej na zdalnym
stan_sql: 57019 serwerze do ścieżki instalacyjnej na kliencie lokalnym i
powiązać narzędzia ręcznie albo ponownie wydać komendę
CREATE DATABASE lub MIGRATE DATABASE.

180 Komunikaty, tom 2


SQL1089W • SQL1092N

Używaj tylko baz danych utworzonych przy użyciu menedżera


SQL1089W Baza danych została utworzona, jednak
baz danych o wersji zgodnej z aktualnie używaną. Jeśli ten
wiązanie z narzędziami zostało przerwane.
błąd wystąpił podczas migrowania lub odtwarzania, musisz
Narzędzia nie są powiązane z bazą danych.
najpierw wykonać migrację bazy danych do wersji, która może
Objaśnienie: zostać odczytana przez obecną wersję menedżera baz danych.
Komenda CREATE DATABASE została przerwana podczas Jeśli błąd wystąpił przy pierwszym połączeniu po usunięciu
wiązania narzędzi z bazą danych. Mogła zostać naciśnięta pakietu poprawek, oznacza to, że baza danych powinna zostać
sekwencja klawiszy generująca przerwanie. odtworzona z kopii zapasowej wykonanego przed użyciem
narzędzia do aktualizacji bazy danych do wersji pakietu
Pliki wiązania narzędzi nie są powiązane z nowo utworzoną poprawek.
bazą danych.
kod_sql: -1091
Działanie użytkownika:
Powiąż narzędzia z bazą danych. Przy wywoływaniu
stan_sql: 08004
konsolidatora nie używaj opcji format.

SQL1092N ID-autoryzowanego-użytkownika nie ma


SQL1090C Numer wersji prekompilowanej aplikacji
uprawnienia do wykonywania żądanej
lub narzędzia jest nieprawidłowy.
komendy.
Objaśnienie:
Objaśnienie:
Numer wersji prekompilowanej aplikacji lub narzędzia jest
Możliwe przyczyny to:
niezgodny z numerem wersji zainstalowanego menedżera baz
danych. 1. Użytkownik próbował wykonać komendę lub operację, ale
nie ma do tego odpowiednich uprawnień.
Błąd wystąpi również w sytuacji, gdy podczas korzystania z 2. Używane jest uwierzytelnianie Kerberos w środowisku
zainstalowanej wersji pliku konfiguracyjnego menedżera baz Windows i nastąpiła próba zalogowania na komputerze
danych aplikacja używa bibliotek lub plików DLL menedżera przy użyciu konta, które nie jest kontem domeny. Z
baz danych niższego poziomu. uwierzytelniania Kerberos w środowisku Windows 2000
mogą korzystać tylko użytkownicy domeny.
Nie można wykonać komendy. 3. Jeśli używana jest obsługa protokołu LDAP, możliwe, że
Działanie użytkownika: użytkownik lub gateway DB2 Connect nie ma uprawnień
Sprawdź, czy nie masz starszej wersji bibliotek lub plików do wykonywania komend CATALOG DATABASE,
DLL menedżera baz danych, które są wykorzystywane NODE i DCS DATABASE.
podczas przetwarzania aplikacji. 4. Jeśli praca odbywa się w środowisku Windows, możliwe,
że niepoprawnie skonfigurowany jest identyfikator
Jeśli problem występuje nadal, powtórz proces prekompilacji logowania użytkownika serwera DB2, ustawienie
przy użyciu bieżącego menedżera baz danych. Używaj tylko DB2_GRP_LOOKUP lub pozostałe ustawienia wyliczenia
programów prekompilowanych w kompatybilnej wersji grup, co jest przyczyną braku dostępu z użyciem
menedżera baz danych. identyfikatora ID-autoryzowanego-użytkownika. Poniżej
przedstawiono typowy przykładowy scenariusz:
v Użytkownik próbuje nawiązać połączenie z serwerem
SQL1091C Numer wersji bazy danych jest
DB2 przy użyciu identyfikatora użytkownika domeny.
niepoprawny.
v Identyfikator logowania użytkownika dla instancji
Objaśnienie: serwera DB2 określa konto systemu lokalnego lub
Numer wydania bazy danych jest niezgodny z numerem konto lokalne.
zainstalowanej wersji menedżera baz danych. Numerem
v Grupy (SYSCTRL, SYSADM, SYSMAINT)
wydania może być numerem bazy danych, gdy została ona
zdefiniowane są jako grupy domeny.
utworzona, wykonano ostatnią migrację bazy danych lub
najwyższą wersja, wydaniem, modyfikacją i poziomem v Nie jest ustawiony parametr DB2_GRP_LOOKUP. W
pakietu poprawek zdefiniowanym w katalogu. efekcie wykonywana jest próba wyliczenia grup w
położeniu, w którym zdefiniowany jest identyfikator
Nie można wykonać komendy. Jeśli ten błąd wystąpił podczas ID-autoryzowanego-użytkownika. Próba ta kończy się
migrowania lub odtwarzania, oznacza to, że usiłowano niepowodzeniem, ponieważ instancja serwera DB2
przenieść lub odtworzyć bazę danych utworzoną przy użyciu działa w kontekście systemu lokalnego lub konta
oprogramowania, którego wersja jest niezgodna z aktualną. lokalnego, przez co nie może uzyskać dostępu do
Jeśli błąd wystąpił przy pierwszym połączeniu po usunięciu zasobów sieciowych potrzebnych do wykonania tej
pakietu poprawek, oznacza to, że usiłowano połączyć się z operacji.
bazą danych, którą zdefiniowano do używania kodu wyższego v Aby rozwiązać ten problem, należy zmienić
poziomu menedżera baz danych. identyfikator logowania użytkownika dla instancji
serwera DB2 na konto domeny i dodać to konto domeny
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 181


SQL1093N • SQL1095N

do lokalnej grupy administratorów. Jeśli włączona jest Użytkownicy systemu stowarzyszonego: W razie potrzeby
funkcja DB2 Extended Security, wówczas konto należy zlokalizować problem do źródła danych odrzucającego
domeny należy dodać także do grupy DB2ADMNS lub żądanie (procedury, z których należy korzystać przy
odpowiadającej jej grupy. identyfikowaniu niesprawnego źródła danych, można znaleźć
5. Podczas pracy w środowisku Windows z włączoną funkcją w podręczniku Troubleshooting Guide) i upewnić się, czy
DB2 Extended Security, identyfikator użytkownika podany ID autoryzowanego użytkownika ma odpowiednie
ID-autoryzowanego-użytkownika może podejmować próby uprawnienia do tego źródła danych.
użycia lub zmodyfikowania zasobu bazy danych, nie będąc
członkiem lokalnej grupy DB2USERS lub DB2ADMNS. Administrator systemu pomoże Ci ustalić żądane uprawnienia.
Jest to niedozwolone. Nie można wykonać komendy. Nie próbuj wykonać komendy, jeśli nie masz odpowiednich
uprawnień.
6. W systemie Windows Vista lub nowszym ta komenda
może być uruchamiana z wiersza komend przez
użytkownika ze zredukowanym zestawem uprawnień. W SQL1093N Użytkownik nie jest zalogowany do systemu.
tym przypadku komenda nie może być uruchomiona z
powodu niewystarczających uprawnień administracyjnych. Objaśnienie:
Użytkownik musi być zalogowany do systemu zanim zostanie
wykonana jakakolwiek komenda wymagająca sprawdzenia
Nie można wykonać komendy.
uprawnień. Oto możliwe przyczyny tego błędu:
Użytkownicy systemu stowarzyszonego: Ta sytuacja może v nie można pobrać identyfikatora użytkownika,
również zostać wykryta przez źródło danych. v podczas próby zalogowania się do systemu wystąpił
nieoczekiwany błąd systemu operacyjnego,
Działanie użytkownika:
Rozwiązania problemów, których przyczyny opisano powyżej: v aplikacja jest wykonywana w tle,
1. Zaloguj się do systemu z właściwym identyfikatorem i v użytkownik zrezygnował z zalogowania się do systemu.
wprowadź ponownie niewykonaną komendę lub operację.
Może być potrzebne uprawnienie SYSADM, SYSCTRL, Nie można wykonać komendy.
SYSMAINT i DBADM. Uprawnienie DBADM dotyczy Działanie użytkownika:
baz danych, a wszystkie inne uprawnienia wynikają z Zaloguj się do systemu z poprawnym identyfikatorem
przynależności do grup zdefiniowanych w konfiguracji użytkownika i wprowadź ponownie komendę. Jeśli kilka
menedżera baz danych (np. jeśli grupa sysctrl_group jest równoległych procesów usiłuje zalogować się do systemu,
zdefiniowana w pliku konfiguracyjnym menedżera baz poczekaj kilka sekund i spróbuj powtórzyć procedurę
danych jako ’beatles’, to aby mieć uprawnienie logowania.
SYSCTRL, musisz należeć do grupy ’beatles’). Listę
wymaganych uprawnień dla komendy lub operacji, którą
kod_sql: -1093
próbowano wykonać, można znaleźć w podręczniku
Command Reference lub SQL Reference.
stan_sql: 51017
2. Zaloguj się na komputerze przy użyciu konta domeny.
3. Wywołaj komendę ″UPDATE DBM CFG USING
SQL1094N Katalog węzłów jest niedostępny, ponieważ
CATALOG_NOAUTH YES″ na kliencie lub gatewayu,
jest właśnie aktualizowany.
aby rozwiązać problem.
4. Zmodyfikuj odpowiednio ustawienia konfiguracyjne. W Objaśnienie:
celu uzyskania dodatkowych informacji na temat Katalog węzłów nie może być przeglądany lub używany w
bezpieczeństwa i grup systemu operacyjnego Windows trakcie aktualizacji. Katalog jest również niedostępny dla
przeszukaj Centrum informacyjne DB2 procesu aktualizacji, jeśli jest właśnie używany w innym celu.
(http://publib.boulder.ibm.com/infocenter/db2luw/v9),
używając takich fraz, jak ″db2_grp_lookup″ i Nie można wykonać komendy.
″uwierzytelnianie systemu Windows″.
Działanie użytkownika:
5. Dodaj identyfikator użytkownika ID-autoryzowanego- Po zakończeniu aktualizacji wprowadź ponownie komendę.
użytkownika do lokalnych grup bezpieczeństwa
DB2USERS lub DB2ADMNS systemu Windows, kod_sql: -1094
korzystając z narzędzia do zarządzania komputerem z
systemem Windows (Windows Computer Management). stan_sql: 57009
Można także zastosować obejście polegające na
wyłączeniu funkcji Extended Security, przy czym nie jest
to zalecane. SQL1095N Otwarto już osiem przeszukiwań katalogu
6. Uruchom skrót ″Okno komend - Administrator″ i węzłów.
ponownie wykonaj tę komendę. Objaśnienie:
W tym procesie otwartych jest już osiem przeszukiwań
katalogu węzłów i nie można ich otworzyć więcej.

182 Komunikaty, tom 2


SQL1096N • SQL1101N

Nie można wykonać komendy.


SQL1098N Aplikacja jest już połączona z tą bazą
Działanie użytkownika: danych.
Wprowadź jedną lub kilka komend CLOSE NODE
Objaśnienie:
DIRECTORY SCAN. Wprowadź ponownie komendę.
Zażądano połączenia z bazą danych, ale aplikacja jest już
połączona z podaną bazą danych.
kod_sql: -1095
Nie można wykonać komendy.
stan_sql: 54029
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL1096N Komenda jest niepoprawna dla tego typu
węzła.
kod_sql: -1098
Objaśnienie:
Komendę wydano w węźle, który nie obsługuje tej komendy, stan_sql: 53056
lub środowisko systemu jest skonfigurowane niepoprawnie dla
tego typu węzła. Na przykład baza danych została wpisana do
SQL1099N Dyskietka jest chroniona przed zapisem.
katalogu jako LOCAL w węźle typu klient.
Objaśnienie:
Nie można wykonać komendy. Próbowano wykonać operację zapisu do bazy danych
znajdującej się na dyskietce chronionej przed zapisem.
Działanie użytkownika:
Sprawdź, czy komenda i parametry są prawidłowe dla typu
Nie można wykonać instrukcji.
węzła. Sprawdź również, czy prawidłowe jest środowisko, w
którym ma być wykonana komenda. Wprowadź ponownie Działanie użytkownika:
komendę. Sprawdź, czy używasz właściwej dyskietki. Jeśli trzeba, usuń
zabezpieczenie na dyskietce.
SQL1097N W katalogu węzłów nie znaleziono podanej
nazwy węzła. SQL1100W Nazwa węzła nazwa podana w komendzie
Catalog Database nie została wpisana do
Objaśnienie:
katalogu węzłów.
Nazwa węzła podanego w katalogu bazy danych dla zdalnej
bazy danych, albo nazwa węzła podana w komendzie attach Objaśnienie:
nie została wpisana do katalogu węzłów. W komendzie Catalog Database podano nazwę węzła nazwa,
która nie została wpisana do katalogu węzłów. Nazwa węzła
Nie można wykonać komendy. musi zostać wpisana do katalogu, zanim zostanie użyta zdalna
baza danych.
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
również zostać wykryta przez źródło danych. Komenda CATALOG DATABASE została wykonana
prawidłowo.
Działanie użytkownika:
Sprawdź, czy nazwa węzła podanego dla bazy danych lub jako Działanie użytkownika:
obiekt komendy attach znajduje się w katalogu węzłów. Jeśli Wprowadź komendę CATALOG NODE.
węzeł nie jest wyświetlany w katalogu węzłów, wprowadź
komendę CATALOG NODE.
SQL1101N Przy użyciu podanego ID autoryzowanego
użytkownika i hasła nie można uzyskać
Użytkownicy systemu stowarzyszonego: Oprócz
dostępu do zdalnej bazy danych nazwa w
wymienionych powyżej czynności należy również sprawdzić,
węźle nazwa-węzła.
czy nazwy węzłów wymienione we wszystkich wpisach
SYSCAT.SERVERS są poprawne. Jeśli węzeł nie jest Objaśnienie:
wyświetlany w katalogu węzłów, a serwer należy do rodziny Zażądano nawiązania połączenia ze zdalną bazą danych nazwa
DB2, wprowadź dla tego węzła komendę CATALOG NODE. w węźle nazwa-węzła, ale zdalny węzeł nie akceptuje podanej
kombinacji ID autoryzowanego użytkownika i hasła (w
kod_sql: -1097 zdalnych tabelach autoryzacji albo w trakcie wykonywania).

stan_sql: 42720 Użytkownicy systemu stowarzyszonego: Ten błąd może


również wystąpić, gdy nie ma odwzorowania użytkownika i
zdalny ID autoryzowanego użytkownika lub zdalne hasło nie
są zgodne z ID autoryzowanego użytkownika i hasłem
podanymi podczas łączenia się ze stowarzyszoną bazą danych
DB2.

Rozdział 2. Komunikaty SQL 183


SQL1102N • SQL1108N

Żądanie nie może być wykonane. stan_sql: 38003


Działanie użytkownika:
Wprowadź ponownie żądanie, podając ID autoryzowanego SQL1106N Podany moduł biblioteki DLL nazwa został
użytkownika i hasło poprawne dla zdalnego systemu. załadowany, ale nie można wykonać funkcji
funkcja.
kod_sql: -1101
Objaśnienie:
Nie można znaleźć funkcji w bibliotece DLL (dynamic link
stan_sql: 08004 library).

SQL1102N Nie podano nazwy bazy danych. Nie można wykonać komendy.
Objaśnienie: Działanie użytkownika:
Nie podano nazwy bazy danych potrzebnej do wykonania Sprawdź, czy moduł DLL jest poprawnie zbudowany. Odwołaj
migracji. się do tego modułu w pliku definicji.

Nie można wykonać instrukcji. kod_sql: -1106


Działanie użytkownika:
stan_sql: 42724
Podaj nazwę bazy danych dla migracji.

SQL1107N Podczas ładowania podanej biblioteki DLL


SQL1103W Komenda Migrate Database została
nazwa wystąpiło przerwanie.
wykonana poprawnie.
Objaśnienie:
Objaśnienie:
Wykonywanie komendy zostało przerwane podczas ładowania
Komenda Migrate została wykonana poprawnie.
modułu DLL (dynamic link library), być może przez
naciśnięcie Ctrl+Break.
Ten komunikat pojawi się również wtedy, gdy wersja bazy
danych była właściwa i nie trzeba było wykonywać migracji.
Przetwarzanie zostało zatrzymane.
Przetwarzanie będzie kontynuowane. Działanie użytkownika:
Wprowadź ponownie komendę.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
kod_sql: -1107

SQL1104N Adres parametru zawierającego nazwę stan_sql: 42724


programu jest niepoprawny.
Objaśnienie: SQL1108N Podczas ładowania podanej biblioteki DLL
Aplikacja użyła adresu nazwy programu, który jest nazwa wystąpił nieoczekiwany błąd we/wy
nieprawidłowy. lub błąd systemu operacyjnego.
Objaśnienie:
Nie można wykonać komendy.
Podczas próby ładowania biblioteki DLL (dynamic link
Działanie użytkownika: library), podanej w polu nazwy programu, wystąpił
Użyj w programie poprawnego adresu. nieoczekiwany błąd.

Nie można wykonać komendy.


SQL1105N Instrukcja SQL CONNECT RESET jest
niedozwolona w procedurze zdalnego Działanie użytkownika:
interfejsu aplikacji. Wprowadź ponownie bieżącą komendę. Jeśli błąd nadal
występuje, dokonaj reinstalacji menedżera bazy danych.
Objaśnienie:
Zdalna procedura zawiera instrukcję języka SQL CONNECT
Jeśli reinstalacja nie powoduje usunięcia błędu, zanotuj numer
RESET.
komunikatu (SQLCODE) oraz wszystkie możliwe informacje
zawarte w obszarze SQLCA.
Nie można kontynuować wykonywania zdalnej procedury.
Działanie użytkownika: Jeśli śledzenie było aktywne, wywołaj program Independent
Usuń instrukcję SQL CONNECT RESET i ponownie wywołaj Trace Facility z wiersza komend systemu operacyjnego.
zdalną procedurę. Następnie skontaktuj się z przedstawicielem serwisu
technicznego.
kod_sql: -1105

184 Komunikaty, tom 2


SQL1109N • SQL1115N

kod_sql: -1108 Należy zatrzymać aplikację. Możliwe rozwiązania:


v Zmień opcję MEMMAN NO SWAP, NO MOVE w pliku
stan_sql: 42724 CONFIG.SYS na SWAP, MOVE.
v Usuń procesy uruchomione w tle.
SQL1109N Nie można załadować podanej biblioteki v Zmniejsz wartości parametrów konfiguracyjnych, które
DLL nazwa. definiują przydzielanie pamięci.
Objaśnienie: v Zainstaluj dodatkową pamięć (RAM).
Nie można odnaleźć podanego modułu biblioteki DLL
(dynamic link library). kod_sql: -1112

Nie można wykonać komendy. stan_sql: 42724


Działanie użytkownika:
Sprawdź, czy podany plik znajduje się w katalogu podanym w SQL1113N Typ danych zmiennej sqlvar n w
zmiennej systemowej LIBPATH. wyjściowym obszarze deskryptorów SQL
został zmieniony z typ-1 na typ-2.
kod_sql: -1109
Objaśnienie:
Zdalna procedura składowana zmieniła typ danych n-tej
stan_sql: 42724 zmiennej SQL w wyjściowym obszarze deskryptorów SQL; n
jest numerem porządkowym pierwszej błędnej zmiennej SQL.
SQL1110N Dostarczony obszar danych był
nieprawidłowy i nie mógł zostać użyty. Procedura składowana nie zwraca żadnych danych.
Objaśnienie: Działanie użytkownika:
Obszar danych nie został poprawnie zainicjowany. Popraw zdalne procedury składowane, tak aby informacja o
typie danych w wyjściowym obszarze deskryptorów SQL nie
Nie można wykonać komendy. była zmieniana.

Działanie użytkownika: kod_sql: -1113


Upewnij się, że dostarczony przez użytkownika wejściowy
obszar deskryptorów SQL lub wyjściowy obszar deskryptorów
stan_sql: 39502
SQL został poprawnie zainicjowany.

SQL1114N Długość danych zmiennej sqlvar n w


SQL1111N Podana nazwa programu nazwa jest
wyjściowym obszarze deskryptorów SQL
niepoprawna.
została zmieniona z długość-1 na długość-2.
Objaśnienie:
Objaśnienie:
Składnia nazwy modułu DLL (dynamic link library) lub nazwy
Zdalna procedura składowana zmieniła długość danych n-tej
programu jest nieprawidłowa.
zmiennej SQL w wyjściowym obszarze deskryptorów SQL; n
jest numerem porządkowym pierwszej błędnej zmiennej SQL.
Nie można wykonać komendy.
Działanie użytkownika: Procedura składowana nie zwraca żadnych danych.
Upewnij się, że nazwa biblioteki DLL lub nazwa programu
Działanie użytkownika:
została podana poprawnie.
Popraw zdalne procedury składowane, tak aby informacja o
długości danych w wyjściowym obszarze deskryptorów SQL
kod_sql: -1111 nie była zmieniana.

stan_sql: 42724 kod_sql: -1114

SQL1112N Brak wystarczających zasobów stan_sql: 39502


systemowych potrzebnych do załadowania
podanej biblioteki DLL nazwa.
SQL1115N Liczba zmiennych sqlvars w wyjściowym
Objaśnienie: obszarze SQLDA została zmieniona z
Brak wystarczającej ilości pamięci (RAM), aby załadować liczba-1 na liczba-2.
podany moduł biblioteki DLL (dynamic link library).
Objaśnienie:
Zdalna procedura zmieniła pole sqld w wyjściowym obszarze
Nie można wykonać komendy. deskryptorów SQL; sqld jest liczbą zmiennych SQL użytych w
Działanie użytkownika: obszarze deskryptorów SQL.

Rozdział 2. Komunikaty SQL 185


SQL1116N • SQL1119N

Procedura składowana nie zwraca żadnych danych. kod_sql: -1117


Działanie użytkownika:
stan_sql: 57019
Popraw zdalne procedury składowane, tak aby pole sqld w
wyjściowym obszarze deskryptorów SQL nie było zmieniane.
SQL1118N Nie można nawiązać połączenia z bazą
kod_sql: -1115 danych nazwa ani dokonać jej aktywacji,
ponieważ poprzednie tworzenie kopii
stan_sql: 39502 zapasowej nie zostało ukończone.
Objaśnienie:
SQL1116N Nie można nawiązać połączenia z bazą Baza danych jest niespójna, ponieważ podczas tworzenia kopii
danych nazwa ani dokonać jej aktywacji w zapasowej wystąpił błąd.
związku z instrukcją BACKUP PENDING.
Nie utworzono żadnego połączenia.
Objaśnienie:
Podana baza danych wymaga utworzenia kopii zapasowej w
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
celu przygotowania punktu startowego dla procesu
również zostać wykryta przez źródło danych.
odtwarzania zmian.
Działanie użytkownika:
Nie utworzono żadnego połączenia. Wprowadź komendę BACKUP, a następnie wprowadź
ponownie komendę.
Działanie użytkownika:
Utwórz kopię zapasową bazy danych przy użyciu procedury
Użytkownicy systemu stowarzyszonego: W razie potrzeby
BACKUP lub, jeśli odtwarzanie zmian nie jest potrzebne,
należy zlokalizować problem do źródła danych odrzucającego
nadaj parametrom konfiguracyjnym LOGARCHMETH1 i
żądanie (procedury, z których należy korzystać przy
LOGARCHMETH2 wartość OFF.
identyfikowaniu niesprawnego źródła danych, można znaleźć
w podręczniku Troubleshooting Guide) i wprowadzić
kod_sql: -1116
komendę BACKUP dla źródła danych przed ponowieniem
próby wykonania komendy.
stan_sql: 57019
kod_sql: -1118
SQL1117N Nie można nawiązać połączenia z bazą
danych nazwa ani dokonać jej aktywacji w stan_sql: 57019
związku z instrukcją ROLL-FORWARD
PENDING.
SQL1119N Nie można nawiązać połączenia z bazą
Objaśnienie: danych nazwa ani dokonać jej aktywacji,
Dla podanej bazy danych można wykonywać odtwarzanie ponieważ poprzednie odtwarzanie nie
zmian. Baza danych została odtworzona, ale nie wykonano zostało ukończone lub nadal jest
procesu odtwarzania zmian. wykonywane.
Objaśnienie:
Nie utworzono żadnego połączenia.
Baza danych jest niespójna, ponieważ podczas odtwarzania
wystąpił błąd systemowy lub odtwarzanie nadal jest
Użytkownicy systemu stowarzyszonego: Ta sytuacja może wykonywane.
również zostać wykryta przez źródło danych.
Działanie użytkownika: Nie utworzono żadnego połączenia.
Odtwórz zmiany w bazie danych lub użyj komendy
ROLLFORWARD, aby wskazać, że nie chcesz wykonać Użytkownicy systemu stowarzyszonego: Ta sytuacja może
odtwarzania zmian. Jeśli nie odtworzysz zmian w bazie zostać wykryta przez źródło danych.
danych, rekordy zapisane od momentu wykonania ostatniej
Działanie użytkownika:
kopii zapasowej nie zostaną umieszczone w bazie.
Przed próbą ponownego wywołania bieżącej komendy należy
się upewnić, czy baza danych została odtworzona pomyślnie.
Użytkownicy systemu stowarzyszonego: W razie potrzeby
należy zlokalizować problem do źródła danych odrzucającego
Użytkownicy systemu stowarzyszonego: W razie potrzeby
żądanie (procedury, z których należy korzystać przy
należy zlokalizować problem do źródła danych odrzucającego
identyfikowaniu niesprawnego źródła danych, można znaleźć
żądanie (procedury, z których należy korzystać przy
w podręczniku Troubleshooting Guide) i wykonać
identyfikowaniu niesprawnego źródła danych, można znaleźć
odpowiednią dla tego źródła danych czynność odtwarzania w
w podręczniku Troubleshooting Guide) i wprowadzić
celu przywrócenia źródła danych do momentu spójności.
komendę RESTORE dla źródła danych przed ponowieniem
próby wykonania komendy.

186 Komunikaty, tom 2


SQL1120N • SQL1126N

kod_sql: -1119 Działanie użytkownika:


Sprawdź, czy program przydziela wymagany obszar buforu,
stan_sql: 57019 zgodny z polem protokołu struktury węzła i wprowadź
ponownie komendę.
SQL1120N Nie można nawiązać połączenia z bazą
danych nazwa ani dokonać jej aktywacji, SQL1123N Nieprawidłowy typ protokołu typ.
ponieważ poprzednie tworzenie kopii
Objaśnienie:
zapasowej lub odtwarzanie nie zostało
Typ protokołu dla komendy Catalog, podany w strukturze
ukończone.
węzła, nie odpowiada rozpoznanej wartości. Prawidłowe typy
Objaśnienie: protokołów podane są w plikach nagłówkowych sqlenv.
Baza danych jest niespójna, ponieważ podczas tworzenia kopii
zapasowej lub odtwarzania wystąpił błąd systemowy. Nie Nie można wykonać komendy.
można stwierdzić, który z procesów, tworzenie kopii
Działanie użytkownika:
zapasowej czy odtwarzanie, był wykonywany.
Popraw typ protokołu podany w strukturze węzła i wprowadź
ponownie komendę.
Nie utworzono żadnego połączenia.

Użytkownicy systemu stowarzyszonego: Ta sytuacja może SQL1124N Nazwa zdalnej stacji roboczej nazwa jest
również zostać wykryta przez źródło danych. niepoprawna.
Działanie użytkownika: Objaśnienie:
Wprowadź komendę BACKUP albo RESTORE, a następnie Nazwa zdalnej stacji roboczej, określonej w strukturze
wprowadź ponownie komendę. protokołu NETBIOS dla komendy Catalog, nie została podana
albo zawiera niepoprawne znaki. Nazwa stacji roboczej musi
Użytkownicy systemu stowarzyszonego: W razie potrzeby się składać z 1 do 8 znaków. Poprawnymi znakami są wielkie
należy zlokalizować problem do źródła danych odrzucającego lub małe litery alfabetu łacińskiego, cyfry od 0 do 9 oraz znaki
żądanie (procedury, z których należy korzystać przy #, @ i $. Pierwszym znakiem musi być litera lub znak
identyfikowaniu niesprawnego źródła danych, można znaleźć specjalny: #, @ lub $. Małe litery są zamieniane przez system
w podręczniku Troubleshooting Guide) i wprowadzić na wielkie litery.
komendę BACKUP lub RESTORE dla źródła danych przed
ponowieniem próby wykonania komendy. Nie można wykonać komendy.
Działanie użytkownika:
kod_sql: -1120 Sprawdź poprawność znaków podanych w nazwie stacji
roboczej. Wprowadź ponownie komendę, podając prawidłową
stan_sql: 57019 nazwę stacji roboczej.

SQL1121N Adres parametru struktury węzła jest SQL1125N Numer adaptera numer jest niepoprawny.
niepoprawny.
Objaśnienie:
Objaśnienie: Numer adaptera określony w strukturze protokołu NETBIOS
Aplikacja użyła niepoprawnego adresu parametru struktury dla komendy Catalog jest niepoprawny.
węzła. Adres wskazuje na nieprzydzielony bufor albo bufor
nie jest wystarczająco duży, aby zmieścić wymagane dane Nie można wykonać komendy.
wejściowe.
Działanie użytkownika:
Nie można wykonać komendy. Sprawdź, czy numer adaptera jest poprawny i wprowadź
ponownie komendę.
Działanie użytkownika:
Sprawdź, czy program przydziela wymagany obszar buforu i
wprowadź ponownie komendę. SQL1126N Identyfikator sieciowy ID jest niepoprawny.
Objaśnienie:
SQL1122N Adres parametru struktury protokołu jest Identyfikator sieciowy określony w strukturze protokołu
niepoprawny. APPN dla komendy Catalog jest niepoprawny. Identyfikator
sieciowy określa sieć SNA, w której znajduje się zdalna
Objaśnienie: jednostka logiczna. Identyfikator sieciowy musi się składać z 1
Aplikacja użyła niepoprawnego adresu parametru struktury do 8 znaków. Poprawnymi znakami są wielkie lub małe litery
protokołu. Adres wskazuje na nieprzydzielony bufor albo na alfabetu łacińskiego, cyfry od 0 do 9 oraz znaki #, @ i $.
bufor, który nie jest właściwy dla protokołu. Pierwszym znakiem musi być litera lub znak specjalny: #, @
lub $. Małe litery są zamieniane przez system na wielkie litery.
Nie można wykonać komendy.

Rozdział 2. Komunikaty SQL 187


SQL1127N • SQL1132N

Nie można wykonać komendy. stan_sql: 42724


Działanie użytkownika:
Sprawdź poprawność znaków podanych w identyfikatorze SQL1130N Nie można uruchomić nowego procesu
sieciowym. Wprowadź ponownie komendę, podając DARI (procedury składowanej), ponieważ
prawidłowy identyfikator sieciowy. osiągnięto maksymalną liczbę procesów
DARI, które mogą występować na serwerze.
SQL1127N Nazwa zdalnej jednostki logicznej nazwa Objaśnienie:
jest niepoprawna. Nie można uruchomić nowego procesu DARI, ponieważ
osiągnięto maksymalną liczbę procesów DARI, które mogą
Objaśnienie:
być równocześnie wykonywane na serwerze.
Nazwa zdalnej jednostki logicznej podana w strukturze
dziennika APPN dla komendy Catalog jest niepoprawna. Działanie użytkownika:
Nazwa zdalnej jednostki logicznej SNA musi się składać z 1 Zwiększ parametr konfiguracyjny maxdari, zawierający
do 8 znaków. Poprawnymi znakami są wielkie lub małe litery maksymalną liczbę procesów DARI. Aby poznać więcej
alfabetu łacińskiego, cyfry od 0 do 9 oraz znaki #, @ i $. szczegółów, skorzystaj z informacji na temat parametru
Pierwszym znakiem musi być litera lub znak specjalny: #, @ konfiguracyjnego maxdari.
lub $. Małe litery są zamieniane przez system na wielkie litery.
kod_sql: -1130
Nie można wykonać komendy.
stan_sql: 42724
Działanie użytkownika:
Sprawdź poprawność znaków podanych w nazwie zdalnej
jednostki logicznej. Wprowadź ponownie komendę, podając SQL1131N Proces DARI został nieprawidłowo
prawidłową nazwę zdalnej jednostki logicznej. zakończony.
Objaśnienie:
SQL1128W Opcja SAVECOUNT jest ignorowana. Kod Możliwe przyczyny błędu:
przyczyny = kod-przyczyny. v W procedurze DARI wystąpił błąd w konstrukcji kodu (na
Objaśnienie: przykład naruszenie segmentacji).
Możliwe kody przyczyny są następujące: v Proces DARI został zakończony przez inny proces, przez
sygnał zakończenia.
1 Punkty spójności nie są obsługiwane przy ładowaniu
do tabel MDC. Działanie użytkownika:
Ponownie zainicjuj DARI, wykonując przedtem następujące
2 Wskazany typ pliku nie dopuszcza stosowania
czynności:
punktów spójności.
v sprawdź, czy proces DARI nie zawiera błędów,
3 Punkty spójności nie są obsługiwane podczas
v sprawdź, czy żaden z użytkowników nie wysyła sygnału
ładowania do tabel partycjonowanych.
zakończenia procesu DARI.
4 Punkty spójności nie są obsługiwane przy ładowaniu
do tabel zawierających kolumny XML. kod_sql: -1131
Działanie użytkownika:
Nie jest wymagane żadne działanie. stan_sql: 38503

SQL1129N Nie można uruchomić nowego procesu SQL1132N Nie można uruchomić tej komendy w
DARI (procedura składowana), ponieważ ramach procedury DARI.
jest zbyt mało zasobów do utworzenia Objaśnienie:
nowego procesu. W ramach procedury DARI (procedury składowanej) użyto
Objaśnienie: niedozwolonej komendy.
Nie można uruchomić nowego procesu DARI (procedura
składowana), ponieważ jest zbyt mało zasobów do utworzenia Nie można kontynuować procedury DARI.
nowego procesu. Działanie użytkownika:
Działanie użytkownika: Usuń niedozwoloną komendę z procedury DARI i spróbuj
Wykonaj jedną z następujących czynności: ponownie.
v zmniejsz liczbę użytkowników korzystających z DB2,
kod_sql: -1132
v zwiększ limit uruchamianych procesów.
stan_sql: 38003
kod_sql: -1129

188 Komunikaty, tom 2


SQL1133N • SQL1138W

Popraw rozmiar przydziału tabel i spróbuj ponownie.


SQL1133N W ramach funkcji DARI został zmieniony
adres wskaźnika w zmiennej SQL (indeks =
n) wyjściowego obszaru deskryptorów SQL. SQL1137W Menedżer bazy danych nie może usunąć
ścieżki bazy danych lub niektórych
Objaśnienie:
kontenerów podczas usuwania bazy danych
W ramach funkcji DARI przygotowanej przez użytkownika
alias-bazy-danych. Należy uporządkować
zmieniono wskaźnik “sqlind” lub “sqldata”, w zmiennej SQL
bazy.
wyjściowego obszaru deskryptorów SQL.
Objaśnienie:
Procedura składowana nie zwraca żadnych danych. Lista kontenerów była niedostępna lub podczas próby
usuwania kontenerów albo katalogu bazy danych wystąpił
Działanie użytkownika:
błąd.
Popraw sposób użycia wskazanej wartości zmiennej SQL, w
wyjściowym obszarze deskryptorów SQL, tak aby adresy
W przypadku używania menedżera klastra ten błąd może
wskaźników nie zmieniały się wewnątrz procedury DARI.
zostać zwrócony, jeśli menedżer bazy danych DB2 nie może
usunąć ścieżek kontenera dla danego aliasu bazy danych z
kod_sql: -1133
konfiguracji menedżera klastra. Komunikaty o błędach z
menedżera klastra są rejestrowane w pliku db2diag.log.
stan_sql: 39502
Działanie użytkownika:
Kontenery zarządzane przez system (katalogi) i kontenery
SQL1134N Dla typu uwierzytelniania bazy danych plików zarządzane przez bazę danych mogą być usunięte
CLIENT nie można użyć tej komendy ręcznie, przy użyciu komend systemu operacyjnego. Aby
wewnątrz procedury DARI. otrzymać pomoc przy zwalnianiu kontenerów urządzeń,
Objaśnienie: skontaktuj się z przedstawicielem serwisu IBM.
Jeśli typem uwierzytelniania bazy danych jest CLIENT, nie
można użyć żadnej komendy SYSADM wewnątrz procesu Jeśli katalog dziennika był zmieniany przy użyciu parametru
DARI (procedury składowanej). konfiguracyjnego New Log Path, odłącz ręcznie system
plików katalogu dziennika i usuń katalog dziennika i katalog
Procedura składowana nie zwraca żadnych danych. bazy danych.

Nie można kontynuować procedury DARI. Jeśli używany jest menedżer klastra, należy usunąć problem i
usunąć ścieżkę z konfiguracji menedżera klastra:
Działanie użytkownika:
v Sprawdź plik db2diag.log w poszukiwaniu komunikatów o
Usuń niedozwoloną komendę z procedury DARI i spróbuj
błędach menedżera klastra.
ponownie.
v Odpowiedz na komunikaty o błędach menedżera klastra z
kod_sql: -1134 pliku db2diag.log, aby usunąć problem, który uniemożliwił
menedżerowi klastra usunięcie ścieżki ze swojej
stan_sql: 38003 konfiguracji.
v Usuń ścieżki kontenera tej bazy danych z konfiguracji
menedżera klastra, korzystając z narzędzi i programów
SQL1135N Podczas tworzenia bazy danych podano narzędziowych menedżera klastra.
niepoprawną liczbę segmentów.
Objaśnienie: SQL1138W Indeks unikalny nazwa poddany został
Liczba segmentów była spoza dozwolonego zakresu. migracji w celu obsługi odroczonego
Dozwolony zakres obejmuje liczby od 1 do 256. sprawdzania unikalności. Nowy indeks nie
Działanie użytkownika: został utworzony.
Podaj ponownie liczbę segmentów i spróbuj ponownie Objaśnienie:
utworzyć bazę danych. Usiłowano wykonać operację CREATE INDEX na
istniejącym indeksie. Ponieważ nie wykonano wcześniej
SQL1136N Podczas tworzenia bazy danych podano migracji indeksu, w celu obsługi odroczonego sprawdzania
niepoprawny domyślny rozmiar przydziału unikalności, migracja ta została właśnie wykonana.
tabel (dft_extentsize).
Poddany migracji format indeksu unikalnego zezwala na
Objaśnienie: aktualizację wielu wierszy, umożliwiając sprawdzenie
Podana domyślna wielkość przydziału tabel (dft_extentsize) unikalności kolumn indeksu na końcu wykonywania instrukcji
wykracza poza dozwolony zakres. Dozwolony zakres aktualizacji, a nie po zaktualizowaniu każdego wiersza.
obejmuje liczby od 2 do 256.
Działanie użytkownika:
Działanie użytkownika: Nie jest wymagane żadne działanie.

Rozdział 2. Komunikaty SQL 189


SQL1139N • SQL1142N

kod_sql: +1138 mógł się pojawić, jeśli wykonanie przygotowanej instrukcji


przekroczyło wartość ASUTIME podaną w tabeli RLST.
stan_sql: 01550
Działanie użytkownika:
Sprawdź, czy aplikacja obsługuje ostrzeżenie, co umożliwia
SQL1139N Całkowita wielkość obszaru tabel jest zbyt wykonanie lub zatrzymanie wykonywania instrukcji. Jeśli ten
duża. kod SQLCODE został zwrócony, ponieważ kategoria kosztów
ma wartość ″B″, może to wynikać z tego, że instrukcja używa
Objaśnienie: znaczników parametrów, lub że nie są dostępne niektóre
Bieżący obszar tabel jest zbyt duży. Wielkość obszaru tabel statystyki dla odnośnych tabel i kolumn. Upewnij się, że
typu REGULAR jest ograniczona do 0x0100 0000 (16777216) administrator uruchomił program narzędziowy RUNSTATS
stron, a wielkość obszaru tabel typu LARGE i TEMPORARY względem tabel odnośnych. Może to również oznaczać, że
jest ograniczona do 0x2000 0000 (536870912) stron. funkcje UDF zostaną wywołane przy wykonaniu instrukcji lub
Działanie użytkownika: że wyzwalające instrukcje INSERT, UPDATE lub DELETE są
Szczegółowe informacje można znaleźć w dzienniku zdefiniowane dla zmienionej tabeli. Aby stwierdzić, dlaczego
powiadomień administracyjnych. Zmniejsz obszar tabel i instrukcja SQL została umieszczona w kategorii kosztów ″B″,
popraw instrukcję SQL. sprawdź parametr DSN_STATEMNT_TABLE lub rekord
IFCID 22 dla tej instrukcji.
kod_sql: -1139
Jeśli wystąpienie ostrzeżenia zostało spowodowane przez
stan_sql: 54047 instrukcję SQL wykorzystującą zbyt wiele zasobów procesora,
spróbuj ponownie napisać instrukcję, tak aby działała
wydajniej. Innym rozwiązaniem jest poproszenie
SQL1140W Szacunkowy koszt procesora administratora o zwiększenie wartości progowej ostrzeżenia w
szacowana-wartość1 sekund pracy procesora tabeli RLST.
(szacowana-wartość2 jednostek obsługi) w
kategorii kosztów kategoria-kosztów kod_sql: +1140
przekracza próg ostrzegawczy ograniczenia
zasobów równy wartość-ograniczenia stan_sql: 01616
jednostek obsługi.
Objaśnienie: SQL1141N Operacja zakończyła się błędami lub
W wyniku przygotowania dynamicznej instrukcji SQL ostrzeżeniami. Szczegółowe informacje
INSERT, UPDATE, DELETE lub SELECT otrzymano zawarte są w pliku wynikowym nazwa-pliku,
oszacowanie kosztu przekraczające wartość progową który wymaga przeprowadzenia
ostrzeżenia podaną w tabeli specyfikacji limitów zasobów formatowania przy użyciu programu
(RLST). narzędziowego db2inspf.

To ostrzeżenie pojawia się również wtedy, gdy wartość Objaśnienie:


kategorii kosztów DB2 wynosiła ″B″, a domyślne działanie W środowisku partycjonowanej bazy danych rozszerzenie
podane w kolumnie RLF_CATEGORY_B w tabeli RLST to pliku odpowiada numerowi węzła partycji bazy danych. Pliki
wygenerowanie ostrzeżenia. znajdują się w katalogu określonym parametrem
konfiguracyjnym DIAGPATH menedżera bazy danych.
szacowana-wartość1
Szacunkowy koszt (w sekundach pracy procesora), Działanie użytkownika:
jeśli przygotowana instrukcja INSERT, UPDATE, W celu sformatowania pliku wynikowego danych inspekcji
DELETE lub SELECT miałaby zostać wykonana. nazwa-pliku użyj programu narzędziowego db2inspf.

szacowana-wartość2
Szacunkowy koszt (w jednostkach obsługi), jeśli SQL1142N Operacji nie można zakończyć, ponieważ
przygotowana instrukcja INSERT, UPDATE, plik nazwa-pliku jest już używany.
DELETE lub SELECT miałaby zostać wykonana. Objaśnienie:
kategoria-kosztów Istnieje plik używający nazwy pliku określonej w komendzie
Kategoria kosztów DB2 dla tej instrukcji SQL. INSPECT.
Możliwe wartości to A lub B.
Nie można wykonać komendy.
wielkość-limitu
Próg ostrzeżenia (w jednostkach usług) podany w Działanie użytkownika:
kolumnie RLFASUWARN tabeli RLST. Wprowadź komendę ponownie, używając innej nazwy pliku,
która nie jest jeszcze używana. Ewentualnie usuń istniejący
Przygotowanie dynamicznej instrukcji INSERT, UPDATE, plik nazwa-pliku, po czym wprowadź komendę ponownie.
DELETE lub SELECT powiodło się. Kod SQLCODE -905

190 Komunikaty, tom 2


SQL1143N • SQL1148N

W środowisku partycjonowanej bazy danych rozszerzenie kod_sql: -1144


pliku odpowiada numerowi węzła partycji bazy danych. Pliki
znajdują się w katalogu określonym parametrem stan_sql: 40507
konfiguracyjnym DIAGPATH menedżera bazy danych.
SQL1145N Instrukcja PREPARE nie jest obsługiwana,
SQL1143N Operacji nie można zakończyć, ponieważ jeśli używany jest koncentrator gatewaya.
wystąpił błąd dla pliku nazwa-pliku. Kod przyczyny: kod-przyczyny.
Objaśnienie: Objaśnienie:
Dostęp do pliku nie jest możliwy, ponieważ wystąpił błąd Instrukcja nie powiodła się z jednej z następujących przyczyn,
we/wy. System nie może otworzyć pliku, odczytać go ani określonych przez kod-przyczyny.
zapisać w nim danych. Możliwe, że plik jest niekompletny lub
dysk jest pełny. 1 Jeśli opcja koncentratora gatewaya ustawiona jest na
ON, nie są obsługiwane instrukcje przygotowywane
dynamicznie, pochodzące z wbudowanego SQL. W
Program narzędziowy zatrzymuje przetwarzanie.
tej konfiguracji instrukcje przygotowywane
Działanie użytkownika: dynamicznie obsługiwane są tylko wtedy, gdy klient
Jeśli jest to możliwe, zanotuj wszystkie informacje o błędach jest aplikacją CLI.
uzyskane z obszaru SQLCA. Poszukaj dodatkowych
2 Jeśli opcja koncentratora gatewaya ustawiona jest na
informacji w pliku diagnostycznym dziennika.
ON, nie są obsługiwane przygotowywane instrukcje
SET.
W partycjonowanym środowisku bazy danych rozszerzenie
pliku odpowiada numerowi węzła partycji bazy danych. Pliki Działanie użytkownika:
znajdują się w katalogu określonym parametrem W zależności od kodu przyczyny wykonaj następujące
konfiguracyjnym DIAGPATH menedżera bazy danych. działania:
1 Zmień aplikację, tak aby dla dynamicznych
SQL1144N Bieżąca transakcja została wycofana z instrukcji SQL używała interfejsu CLI, lub zmień
powodu błędu przy tworzeniu indeksu, aplikację, tak aby używała statycznego języka SQL.
kod_sql =kod_sql.
2 Dla instrukcji SET użyj EXECUTE IMMEDIATE.
Objaśnienie:
W tej samej transakcji usunięty został ostatni pozostały indeks kod_sql: -1145
tabeli, a następnie dla tej samej tabeli został utworzony nowy
indeks. Tworzenie indeksu nie powiodło się i zakończyło stan_sql: 560AF
błędem, kod_sql, albo transakcja została wycofana przez
instrukcję ROLLBACK TO SAVEPOINT (kod_sql=0).
Wycofanie tworzenia indeksu nie może zakończyć się SQL1146N Nie ma indeksów dla tabeli nazwa-tabeli.
pomyślnie, gdy nie zostało jeszcze zatwierdzone usuwanie Objaśnienie:
ostatniego pozostałego indeksu tabeli. Cała transakcja jest Tabela nazwa-tabeli podana do reorganizacji indeksu nie ma
wycofywana z jednego z tych powodów. Należy zauważyć, że indeksów.
indeksy tworzy się lub usuwa także przez dodawanie lub
usuwanie ograniczeń w postaci ograniczenia unikalnego lub Działanie użytkownika:
klucza podstawowego w instrukcji ALTER TABLE. Ponownie wprowadź komendę, podając poprawną nazwę
tabeli.
Działanie użytkownika:
Tam, gdzie jest to możliwe, zatwierdź usunięcie indeksu przed
utworzeniem nowego indeksu tej samej tabeli, aby uniknąć SQL1147W Modyfikator TOTALFREESPACE jest
wycofania całej transakcji. Jeśli wartość kod_sql jest różna od ignorowany w wypadku tabel MDC.
0, sprawdź, jaki jest komunikat odpowiadający danej wartości Objaśnienie:
kod_sql, aby dowiedzieć się, jakie działanie naprawcze należy Ponieważ w wypadku tabel MDC wolny obszar w tabelach jest
podjąć. Wszystkie instrukcje w wycofywanej transakcji dobrze zarządzany, modyfikator typu pliku
wymagają ponownego wydania. Jeśli wartość kod_sql wynosi TOTALFREESPACE jest zbędny i będzie ignorowany.
zero, a indeks jest usuwany w zakresie punktu zapisania,
instrukcje mogą wymagać ponownego wydania w celu Działanie użytkownika:
utworzenia nowego indeksu przed usunięciem starego indeksu Nie jest wymagane żadne działanie.
tej samej tabeli. Jeśli jedna instrukcja ALTER TABLE
obejmuje jednocześnie usuwanie i dodawanie ograniczeń w
SQL1148N Indeks wymaga odświeżenia. Znajduje się
postaci ograniczenia klucza unikalnego lub podstawowego, to
on jednak w obszarze tabel, który aktualnie
może zaistnieć konieczność umieszczenia tych operacji w
oczekuje na wykonanie kopii zapasowej i nie
dwóch osobnych instrukcjach - dodawanie (ADD) w pierwszej
może być odświeżony.
z nich, a usuwanie w drugiej.
Objaśnienie:

Rozdział 2. Komunikaty SQL 191


SQL1149N • SQL1153N

Wymagane jest odświeżenie indeksu, jednak indeks znajduje 5 Podano zarówno pole nazwa-tabeli-źródłowej, jak i
się w obszarze tabel, który aktualnie oczekuje na wykonanie pole instrukcja-źródłowa.
kopii zapasowej i nie może być odświeżony.
6 Nie podano ani pola nazwa-tabeli źródłowej, ani
Działanie użytkownika: pola instrukcja-źródłowa.
Dokończ tworzenie kopii zapasowej bazy danych lub obszaru
7 Podany poziom-odseparowania jest niepoprawny.
tabel i ponownie wydaj zapytanie lub komendę.
8 Jeden z podanych argumentów przekracza
maksymalną mającą zastosowanie wielkość dla tego
SQL1149N Zwrócono błąd CLP identyfikator-
argumentu.
komunikatu-clp ze skróconym tekstem
skrócony-tekst-komunikatu-clp. Szczegółowe 9 Struktura API SQLU_REMOTEFETCH_ENTRY
informacje można znaleźć w dokumentacji nie została poprawnie skonfigurowana.
komunikatów CLP.
Działanie użytkownika:
Objaśnienie: Odpowiedzi odpowiadające kolejnym kodom przyczyny:
Wystąpił błąd procesora CLP. Korzystając z identyfikatora
identyfikator-komunikatu-clp wyszukaj odpowiednie 1 Sprawdź, czy serwer jest w wersji 9 lub wyższej.
szczegółowe informacje o wskazanym komunikacie CLP. 2 Sprawdź, czy została podana nazwa źródłowej bazy
Działanie użytkownika: danych. Jest to pole obowiązkowe.
Szczegółowe informacje o działaniach, które należy wykonać, 3 Nie można podać pola hasła, jeśli wcześniej nie
można znaleźć w komunikacie CLP. podano pola identyfikator-użytkownika.

kod_sql: -1149 4 W przypadku podania nazwy tabeli źródłowej


zamiast zapytania źródłowego sprawdź, czy została
podana zarówno nazwa tabeli źródłowej, jak i
stan_sql: 5U007
schemat.
5 Podaj albo nazwę tabeli źródłowej i schemat, albo
SQL1150N Adres parametru identyfikatora
instrukcję źródłową, nigdy obie jednocześnie.
użytkownika jest niepoprawny.
6 Podaj nazwę tabeli źródłowej i schemat lub
Objaśnienie:
instrukcję źródłową.
Aplikacja użyła adresu, który jest nieprawidłowy dla tego
parametru. Adres wskazuje nieprzydzielony bufor albo 7 Sprawdź, czy podany poziom odseparowania jest
łańcuch znaków w buforze nie jest zakończony znakiem o poprawny.
wartości pustej.
8 Sprawdź, czy wszystkie podane argumenty i ich
znaczniki długości (API) są poprawne.
Nie można wykonać komendy.
9 Sprawdź, czy struktura API
Działanie użytkownika:
SQLU_REMOTEFETCH_ENTRY została
Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
poprawnie skonfigurowana i zainicjowana.
wejściowy jest zakończony znakiem o wartości pustej.
Nieużywane pola powinny mieć wartość NULL.
Należy ustawić wartości długości.
SQL1151N Opcje nośnika REMOTEFETCH dla
modułu ładującego są niepoprawne. Kod
SQL1152N Niepoprawny priorytet programu
przyczyny: kod-przyczyny.
narzędziowego.
Objaśnienie:
Objaśnienie:
Moduł ładujący został wywołany przy użyciu typu nośnika
Podana wartość priorytetu wykracza poza dozwolony zakres 0
REMOTEFETCH, ale jeden lub więcej podanych argumentów
- 100.
jest niezgodnych lub niepoprawnych. Dzieje się tak z jednej z
następujących przyczyn: Działanie użytkownika:
Wydaj komendę ponownie, określając prawidłowy priorytet.
1 Serwer nie obsługuje typu nośnika
REMOTEFETCH.
SQL1153N Identyfikator programu narzędziowego
2 Nie podano nazwy źródłowej bazy danych.
ID-programu-narzędziowego nie istnieje.
3 Podano pole hasła, ale nie podano pola
Objaśnienie:
identyfikator-użytkownika.
Nie znaleziono wskazanego identyfikatora programu
4 Podano jedno z pól: nazwa-tabeli-źródłowej lub narzędziowego. Podany został niepoprawny identyfikator lub
schemat, ale nie podano drugiego. program narzędziowy już zakończył działanie.
Działanie użytkownika:

192 Komunikaty, tom 2


SQL1154N • SQL1159N

Sprawdź, czy program narzędziowy istnieje, i wydaj komendę SYSPROC.ADMIN_CMD zwraca instrukcje SQL w
ponownie. Aby sprawdzić, czy program narzędziowy nie kolumnach MSG_RETRIEVAL i MSG_REMOVAL pierwszej
skończył jeszcze działania, przejrzyj dane obrazu stanu tabeli wynikowej. W kolumnach tych znajdują się
menedżera bazy danych. identyfikatory operacji odpowiadające uruchamianym
programom narzędziowym. Te instrukcje SQL umożliwiają
pobranie lub usunięcie komunikatów.
SQL1154N Nie można ustawić priorytetu dla programu
narzędziowego, który nie obsługuje
kod_sql: -1156
przytłumiania.
Objaśnienie: stan_sql: 5U008
Podjęta została próba przytłumienia programu, który nie
obsługuje przytłumiania.
SQL1157N Nie można wywołać procedury
Działanie użytkownika: nazwa-procedury w wyzwalaczu.
Program będzie nadal działał bez tłumienia.
Objaśnienie:
Wywołanie procedury nazwa-procedury w wyzwalaczu jest
SQL1155W Wartość liczbowa spoza zakresu niedozwolone. W wypadku wyzwalaczy nie jest obsługiwane
określonego typu danych została zastąpiona wykonywanie interfejsu API, wykonywanie instrukcji
odpowiednio wartością minimalną lub COMMIT i zwracanie tabel wynikowych.
maksymalną.
Działanie użytkownika:
Objaśnienie: Usuń odwołanie do procedury z definicji wyzwalacza.
Wartość, która ma zostać przypisana do kolumny tabeli
wynikowej procedury ADMIN_CMD, jest większa niż kod_sql: -1157
maksymalna wartość typu danych tej kolumny lub mniejsza
niż minimalna wartość tego typu danych. Jeśli określona stan_sql: 42987
wartość jest większa niż wartość maksymalna, przypisana
zostanie maksymalna wartość tego typu danych. Jeśli
określona wartość jest mniejsza niż wartość minimalna, SQL1158N Ograniczono dostęp do katalogu
przypisana zostanie minimalna wartość tego typu danych. W nazwa-katalogu.
wypadku typu danych SMALLINT wartość maksymalna to Objaśnienie:
32767, a wartość minimalna to -32768. W wypadku typu W katalogu nazwa-katalogu mogą znajdować się poufne
danych INTEGER wartość maksymalna to 2147483647, a informacje bazy danych i dlatego ograniczono dostęp do tego
wartość minimalna to -2147483648. W wypadku typu danych katalogu. Aby zapewnić zachowanie integralności bazy
BIGINT wartość maksymalna to 9223372036854775807, a danych, aplikacje nie mogą tworzyć nowych plików,
wartość minimalna to -9223372036854775808. odczytywać danych z plików, zapisywać danych w plikach ani
Działanie użytkownika: usuwać plików w tym katalogu.
Rzeczywiste wartości zwrócone przez procedurę Działanie użytkownika:
ADMIN_CMD można znaleźć w dzienniku db2diag.log. Podaj inną nazwę katalogu.

kod_sql: +1155 kod_sql: -1158

stan_sql: 01608 stan_sql: 42832

SQL1156N Niepoprawny identyfikator operacji SQL1159N Błąd inicjowania programu IBM Data
programu narzędziowego. Server Provider for .NET. Kod przyczyny:
Objaśnienie: kod-przyczyny.
Podano nieprawidłowy identyfikator operacji programu Objaśnienie:
narzędziowego. Podana wartość musi być różna od NULL i Kody przyczyny dla tego komunikatu:
musi być równa wartości zwróconej uprzednio przez
procedurę SYSPROC.ADMIN_CMD dla uruchomionego w 1 - zbyt krótka ścieżka pochodzenia kodu
niej programu narzędziowego. Jednak po usunięciu
2 - plik nie istnieje
komunikatu z serwera przez procedurę
SYSPROC.ADM_REMOVE_MSGS określony identyfikator 3 - nie można załadować biblioteki dll
operacji programu narzędziowego nie może być używany jako
4 - niepoprawny kod powrotu dla zapytania o
odwołanie do komunikatów na serwerze.
możliwości
Działanie użytkownika:
5 - niepoprawna długość wyniku możliwości
Określone komunikaty nie zostały pobrane ani usunięte z
serwera. Sprawdź, czy podano właściwą wartość. Procedura

Rozdział 2. Komunikaty SQL 193


SQL1160N • SQL1164N

6 - biblioteka db2app.dll nie była sterownikiem


SQL1162W Przetwarzanie rozliczeniowe nie powiodło
interfejsu CLI
się. Programy DB2 DataLinks Manager
7 - błąd klucza rejestracyjnego stały się niedostępne podczas procesu
przetwarzania wyjątków.
8 - niezgodność wielkości struktury dla kodu własnego
i zarządzanego Objaśnienie:
Co najmniej jeden program DB2 DataLinks Manager, do
9 - naruszenie bezpieczeństwa podczas inicjowania którego odwołują się dane tabeli, stał się niedostępny podczas
zdalnego debugowania. Napotkano niepoprawny przetwarzania rozliczeniowego wyjątku. Przetwarzanie
deskryptor zabezpieczeń, wcześniej istniejący obiekt rozliczeniowe nie powiodło się. Tabela znajduje się w stanie
jądra lub niepoprawne dane w pamięci oczekiwania na uzgodnienie DataLink (DRP).
współużytkowanej.
Działanie użytkownika:
Działanie użytkownika: Ponownie uruchom rozliczanie.
Wystąpił problem z instalacją programu DB2. Jeśli jest to
pierwsza instalacja programu DB2 na tym komputerze,
przejrzyj dzienniki instalacji pod kątem wszelkich SQL1163N Nie można włączyć tabeli dla
ewentualnych błędów i uruchom naprawę programu DB2 z przechwytywania danych, ponieważ nazwa
apletu Dodaj/usuń programy panelu sterowania. Domyślną identyfikatora nazwa-identyfikatora typu
lokalizacją dzienników instalacji jest folder Moje typ-identyfikatora jest zbyt długa.
dokumenty/DB2LOG użytkownika, który przeprowadzał
Objaśnienie:
instalację. Jeśli nie rozwiąże to problemu, skontaktuj się z
Przechwytywanie danych nie jest obsługiwane w przypadku
działem wsparcia IBM i podaj kod przyczyny związany z tym
niektórych typów identyfikatorów przekraczających konkretne
komunikatem oraz wszystkie dzienniki instalacji.
długości. Podczas przetwarzania zmiany, którą usiłowano
wprowadzić okazało się, że ten identyfikator
SQL1160N Program TSR protokołu protokół-sieciowy nazwa-identyfikatora typu typ-identyfikatora jest zbyt długi.
systemu DOS nie został załadowany. Poniżej podano dopuszczalne typy identyfikatorów i
maksymalne długości dla przechwytywania danych:
Objaśnienie:
Sterownik sieciowy TSR (Terminate and Stay Resident) dla 1. Kolumna. Nazwy kolumn nie mogą być dłuższe niż 128
podanego protokołu komunikacyjnego nie został załadowany. bajtów, aby można było włączyć przechwytywanie
TSR musi zostać załadowany przed próbą skorzystania z danych.
komunikacji sieciowej. 2. Tabela. Nazwy tabel nie mogą być dłuższe niż 128 bajtów,
aby można było włączyć przechwytywanie danych.
Działanie użytkownika:
Upewnij się, że sterownik TSR dla podanego protokołu 3. Schemat. Nazwy schematów nie mogą być dłuższe niż 128
komunikacyjnego został poprawnie załadowany a następnie bajtów, aby można było włączyć przechwytywanie
uruchom aplikację ponownie. danych.
Działanie użytkownika:
SQL1161W Przetwarzanie rozliczeniowe nie powiodło Jeśli przechwytywanie danych ma być udostępnione dla tej
się. Być może nie zdefiniowano kolumn tabeli, upewnij się, że identyfikatory nie przekraczają
DataLink dla programów DB2 DataLinks podanych maksymalnych wielkości. W przeciwnym razie
Manager. Szczegółowe informacje można wyłącz przechwytywanie danych dla tabeli, aby móc używać
znaleźć w dzienniku powiadomień dłuższych nazw identyfikatorów.
administracyjnych.
kod_sql: -1163
Objaśnienie:
Brak metadanych o co najmniej jednej kolumnie DataLink stan_sql: 42997
tabeli programów DB2 DataLinks Managers. Przetwarzanie
rozliczeniowe nie powiodło się. Tabela jest w stanie DRNP
(Uzgodnienie DATALINK nie jest możliwe). SQL1164N Obszar SQLDA lub zmienne języka
macierzystego typu typ użyte w instrukcji
Działanie użytkownika: SQL nie są poprawne. Kod przyczyny
Aby wyprowadzić tabelę ze stanu DNRP (Uzgodnienie kod-przyczyny, zmienna języka
DATALINK nie jest możliwe), wykonaj procedurę macierzystego/numer SQLVAR
wymienioną w sekcji “Removing a table from the DataLink numer-zmiennej.
Reconcile Not Possible state” w podręczniku Administration
Guide. Objaśnienie:
Błąd podczas przetwarzania obszaru deskryptorów SQL albo
zmiennych języka macierzystego w instrukcji SQL.

Lista parametrów wywołania tworzona przez prekompilator


może nie być poprawna, jeśli programista aplikacji

194 Komunikaty, tom 2


SQL1165W • SQL1166W

zmodyfikował efekty działania prekompilatora, użył w 8 Wskaźnik SQLDATA jest niepoprawny lub
aplikacji nazwy zmiennej zaczynającej się od SQL albo w inny wskazuje na niewystarczający obszar pamięci.
sposób nadpisał listę parametrów wywołania.
9 Wskaźnik SQLIND jest niepoprawny lub wskazuje
na niewystarczający obszar pamięci.
Podobnie, jeśli obszar deskryptorów SQL został przesłany
bezpośrednio przez aplikację, może zostać niepoprawnie 10 Wskaźnik SQLDATALEN jest niepoprawny lub
zainicjowany. wskazuje na niewystarczający obszar pamięci.
11 Dla bieżącej instrukcji SQL oczekiwane jest podanie
Typy zmiennych języka macierzystego/SQLDA:
określonej liczby zmiennych języka
1 wejściowe zmienne języka macierzystego oraz macierzystego/zmiennych SQLVAR.
obszaru deskryptorów SQL,
Nie można wykonać instrukcji.
2 wyjściowe zmienne języka macierzystego oraz
obszaru deskryptorów SQL. Działanie użytkownika:
Sprawdź aplikację pod kątem wykrytych błędów. Programista
Aby w instrukcji SQL ze zmiennymi języka macierzystego nie powinien próbować modyfikować wyniku działania
znaleźć niepoprawną zmienną, określ ją, licząc od początku prekompilatora.
instrukcji (lub podinstrukcji w przypadku złożonej instrukcji
SQL) do pozycji wyznaczonej numerem zmiennej języka kod_sql: -1164
macierzystego. W przypadku instrukcji, w których użyto
obszaru SQLDA, numer SQLVAR służy do znalezienia stan_sql: 07002
niepoprawnej zmiennej SQLVAR. Dla danych wejściowych
obszaru deskryptorów należy liczyć tylko wejściowe zmienne
języka macierzystego lub SQLVAR; podobnie dla obszaru SQL1165W Nie można przypisać wartości do zmiennej
wyjściowego. Pierwszą wartością licznika jest 1 i może on nie języka macierzystego, ponieważ wykracza
nadawać się do stosowania we wszystkich kodach przyczyny. ona poza zakres dopuszczalny dla typu
Kod przyczyny jest interpretowany w następujący sposób: danych tej zmiennej.

1 Wartość SQLDA.SQLN jest mniejsza niż wartość Objaśnienie:


SQLDA.SQLD. Instrukcje FETCH, VALUES lub SELECT dla listy zmiennych
języka macierzystego nie powiodły się, ponieważ zmienna
2 Wartość SQLVAR.SQLTYPE jest niepoprawna. języka macierzystego była zbyt mała, aby przechować pobraną
wartość.
3 Długość podana w SQLVAR.SQLLEN lub w
SQLVAR2.SQLLONGLEN jest niepoprawna dla
typu SQL podanego w SQLVAR.SQLTYPE. Instrukcja wciąż zwracała wskaźnik wartości pustej równy -2.

4 Występuje duży obiekt SQLVAR, ale pole Działanie użytkownika:


SQLDOUBLED w obszarze SQLDA.SQLDAID nie Upewnij się że, definicje tabel są aktualne, a zmienna języka
jest ustawione na ’2’. macierzystego jest właściwego typu. Informacje o zakresach
typów danych SQL można znaleźć w podręczniku SQL
5 Podano zmienną wejściową, której bieżąca długość Reference.
(pobrana z jej pola długości) przekracza maksymalną
długość. Maksymalna długość jest podana w kod_sql: +1165
deklaracji (w przypadku zmiennej języka
macierzystego) lub określa ją wartość stan_sql: 01515
SQLVAR.SQLLEN (dla obszaru deskryptorów SQL
zdefiniowanego przez użytkownika).
SQL1166W Próbowano wykonać dzielenie przez zero.
6 Przesłano wejściowy duży obiekt (LOB), którego
bieżąca wielkość (podana w polu długości samego Objaśnienie:
obiektu albo określona przez wskaźnik W rezultacie przetwarzania wyrażenia arytmetycznego podjęto
SQLVAR2.SQLDATALEN) przekracza próbę dzielenia przez zero. Ostrzeżenie to może zostać
maksymalną długość. Maksymalna długość jest zwrócone z wierszem innym niż wiersz, który spowodował
określona w deklaracji (w przypadku zmiennej ostrzeżenie. Sytuacja taka występuje, na przykład dla wyrażeń
języka macierzystego) albo przez wartość arytmetycznych w predykatach lub wtedy, gdy zapytania
SQLVAR2.SQLLONGLEN (dla obszaru przetwarzane są przy użyciu tymczasowych tabel
deskryptorów SQL zdefiniowanego przez systemowych. Ostrzeżenie to może pojawić się ponownie,
użytkownika). ponieważ pojawia się zawsze, gdy zmienna indykacyjna
wartości pustej ma wartość -2.
7 Dla obiektów typu LOB ze znakami dwubajtowymi
wskaźnik SQLVAR2.SQLDATALEN ma wartość Przetwarzanie instrukcji jest kontynuowane przy użyciu
nieparzystą, wyrażoną zawsze w bajtach, nawet w wartości pustej jako wyniku dzielenia, zwracając
przypadku obiektów DBCLOB. prawdopodobnie wskaźnik wartości pustej -2.

Rozdział 2. Komunikaty SQL 195


SQL1167W • SQL1169N

Działanie użytkownika: 5 Wystąpił błąd podczas pobierania rekordów z tabeli


Przeanalizuj instrukcję SQL, aby określić przyczynę błędu. źródłowej lub zapytania.
Jeśli błąd jest zależny od danych, po wystąpieniu błędu
Działanie użytkownika:
konieczne jest przeanalizowanie przetworzonych danych.
Odpowiedzi odpowiadające kolejnym kodom przyczyny:
kod_sql: +1166 1 Sprawdź, czy wszystkie argumenty:
nazwa-bazy-danych, identyfikator użytkownika i
stan_sql: 01564 hasło są poprawne.
2 Sprawdź, czy nazwa tabeli jest poprawna.
SQL1167W Wystąpiło przepełnienie lub inny błąd
3 Sprawdź, czy zapytanie jest poprawne.
arytmetyczny.
4 Sprawdź, czy źródłowa tabela/zapytanie i tabela
Objaśnienie:
docelowa mają zgodne definicje kolumn.
W rezultacie przetwarzania wyrażenia arytmetycznego
nastąpiło przepełnienie arytmetyczne, niedomiar lub wystąpił 5 Przejrzyj plik db2diag.log w celu określenia źródła
inny arytmetyczny wyjątek. Ostrzeżenie to może zostać błędu.
zwrócone z wierszem innym niż wiersz, który spowodował
ostrzeżenie. Sytuacja taka występuje, na przykład dla wyrażeń
SQL1169N Wystąpił błąd podczas wyjaśniania
arytmetycznych w predykatach lub wtedy, gdy zapytania
instrukcji. Kod przyczyny = kod-przyczyny.
przetwarzane są przy użyciu tymczasowych tabel
systemowych. Ostrzeżenie to może pojawić się ponownie, Objaśnienie:
ponieważ pojawia się zawsze, gdy zmienna indykacyjna Wywołano narzędzie Explain w celu wyjaśnienia instrukcji
wartości pustej ma wartość -2. skompilowanej wcześniej z opcją REOPT ONCE, ale wystąpił
błąd opisany jednym z poniższych kodów przyczyny:
Przetwarzanie instrukcji jest kontynuowane przy użyciu 1. W pamięci podręcznej pakietu nie można znaleźć podanej
wartości pustej jako wynika działania arytmetycznego, instrukcji.
zwracając prawdopodobnie wskaźnik wartości pustej -2.
2. Buforowana instrukcja nie została skompilowana z opcją
Działanie użytkownika: REOPT ONCE.
Przeanalizuj instrukcję SQL, aby określić przyczynę błędu. 3. Buforowana instrukcja została skompilowana w wielu
Jeśli błąd jest zależny od danych, po wystąpieniu błędu środowiskach z opcją REOPT ONCE i nie można jej
konieczne jest przeanalizowanie przetworzonych danych. jednoznacznie zidentyfikować.
Poprawne zakresy dla typów danych można znaleźć w
4. Nie można znaleźć żadnych wartości dla
podręczniku SQL Reference.
zoptymalizowanej ponownie instrukcji buforowanej.
kod_sql: +1167 5. Kolumna w tabeli wyjaśniania jest za mała. Parametr
informacje dodatkowe określa nazwę schematu, nazwę
stan_sql: 01519 tabeli i nazwę kolumny oraz wielkość kolumny wymaganą
w celu umieszczenia danych wygenerowanych przez
narzędzie wyjaśniania, korzystając z formatu
SQL1168N Błąd nośnika REMOTEFETCH modułu nazwa-schematu.nazwa-tabeli.nazwa kolumny
ładującego. Kod przyczyny: kod-przyczyny. (zalecana-wielkość).
Objaśnienie: Parametr informacje dodatkowe może zostać obcięty, jeśli
Do modułu ładującego został zgłoszony błąd związany z nazwy są bardzo długie. Plik db2diag.log będzie zawierał
nośnikiem REMOTEFETCH. Dzieje się tak z jednej z więcej szczegółów.
następujących przyczyn: Działanie użytkownika:
1 Nie można nawiązać połączenia z nazwą bazy Działanie użytkownika odpowiadające temu kodowi
danych podaną w argumentach nośnika przyczyny:
REMOTEFETCH. 1. Sprawdź, czy podany tekst instrukcji odpowiada tekstowi
instrukcji znajdującej się w buforze pakietu.
2 Tabela źródłowa, której nazwa została podana w
argumentach nośnika REMOTEFETCH, nie istnieje 2. Ponownie skompiluj instrukcję z opcją REOPT ONCE.
lub tabela źródłowa jest niedostępna. Szczegółowe informacje na ten temat można znaleźć w
podręczniku Command Reference.
3 Nie można przygotować (parametr PREPARED)
3. Sprawdź, czy instrukcja ma unikalne środowisko z
zapytania źródłowego określonego w argumentach
ustawieniem REOPT ONCE.
nośnika REMOTEFETCH.
4. Sprawdź, czy można wyjaśnić instrukcję na partycji bazy
4 Tabela wynikowa z tabeli źródłowej lub zapytania danych, na której została ona pierwotnie ponownie
nie jest zgodna z definicją tabeli docelowej. zoptymalizowana.

196 Komunikaty, tom 2


SQL1170N • SQL1174N

5. Zdecyduj, czy kolumna o wymaganej wielkości zmieści


SQL1172N W operacji odtwarzania wykonywanej na
się w tabeli i bazie danych. Jeśli tak, zwiększ wielkość
niekatalogowej partycji bazy danych nie
kolumny za pomocą instrukcji ALTER TABLE.
można określić automatycznych ścieżek
pamięci masowej.
kod_sql: -1169
Objaśnienie:
stan_sql: 560C9 W operacji odtwarzania określono listę ścieżek pamięci
masowej podczas odtwarzania niekatalogowej partycji w
partycjonowanej bazie danych. Taka operacja nie jest
SQL1170N Operacja nie może być kontynuowana, dopuszczalna.
ponieważ partycja bazy danych
partycja_bazy_danych jest niedostępna. Działanie użytkownika:
Wykonaj ponownie operację odtwarzania, nie określając listy
Objaśnienie: ścieżek pamięci masowej, lub najpierw odtwórz katalogową
Partycja bazy danych partycja_bazy_danych jest niedostępna. partycję, używając nowej listy ścieżek pamięci masowej.
Ten błąd może występować wówczas, gdy w komendzie
RESTORE używane są nowe ścieżki pamięci masowej lub gdy kod_sql: -1172
uruchamiana jest komenda BACKUP z klauzulą ON
DBPARTITIONNUM.
stan_sql: 5U010
Działanie użytkownika:
Wprowadź ponownie komendę BACKUP lub RESTORE, gdy
SQL1173N W operacji odtwarzania muszą być
ta partycja bazy danych będzie dostępna. Jeśli nie można
określone automatyczne ścieżki pamięci
udostępnić tej niedostępnej partycji bazy danych, wprowadź
masowej.
ponownie komendę RESTORE bez określania nowych ścieżek
pamięci masowej lub wyklucz partycję bazy danych z Objaśnienie:
komendy BACKUP. Wystąpiła próba odtworzenia partycji katalogowej przy użyciu
określonej listy automatycznych ścieżek pamięci masowej w
kod_sql: -1170 partycjonowanej bazie danych, lecz próba ta nie powiodła się.
Dla wszystkich następnych operacji odtwarzania partycji
stan_sql: 5U013 katalogowej musi być także określona lista automatycznych
ścieżek pamięci masowej. To ograniczenie bazy danych
zostanie usunięte po przywróceniu normalnego stanu bazy
SQL1171N Osiągnięto maksymalną liczbę ścieżek danych za pomocą operacji odtwarzania zmian.
pamięci masowej.
Działanie użytkownika:
Objaśnienie: Wykonaj ponownie operację odtwarzania, określając listę
Osiągnięto maksymalną liczbę ścieżek pamięci masowej dla automatycznych ścieżek pamięci masowej.
bazy danych (128). Prawdopodobnie w wydanej komendzie
CREATE DATABASE lub ALTER DATABASE występuje za kod_sql: -1173
dużo ścieżek, albo w bazie danych używana jest już
maksymalna dozwolona liczba ścieżek.
stan_sql: 5U011
Działanie użytkownika:
Jeśli błąd ten jest związany z komendą CREATE
SQL1174N Niepoprawne lub niewłaściwe użycie
DATABASE, oznacza to, że określono za dużo ścieżek
wyrażenia dotyczącego partycji bazy
pamięci masowej. Zmniejsz liczbę ścieżek pamięci masowej i
danych w ścieżce ścieżka. Kod przyczyny =
wydaj ponownie tę komendę.
kod-przyczyny.
Jeśli błąd ten jest związany z komendą ALTER DATABASE, Objaśnienie:
oznacza to, że liczba określonych ścieżek przekroczyła W podanej ścieżce ścieżka znaleziono wyrażenie partycji bazy
dozwolone maksimum lub suma liczby podanych ścieżek i danych używające notacji $N, ale nie jest ono dozwolone albo
liczby ścieżek używanych już w określonej bazie danych jest nie zostało określone poprawnie. Kody przyczyny są
większa niż maksymalna liczba ścieżek. Zmniejsz liczbę następujące:
ścieżek pamięci masowej określonych w instrukcji ALTER i
1 W niedozwolony sposób użyto wyrażenia
wydaj ponownie tę instrukcję.
dotyczącego partycji bazy danych jako części ścieżki
bazy danych, która została określona niejawnie -
kod_sql: -1171 jako pierwsza ścieżka przechowywania - lub jawnie,
za pomocą opcji DBPATH ON.
stan_sql: 5U009
2 W określonej ścieżce znaleziono wyrażenie
dotyczące partycji bazy danych, którego nie można
obliczyć z powodu błędu składni.

Rozdział 2. Komunikaty SQL 197


SQL1175I • SQL1179W

Działanie użytkownika:
SQL1178N Stowarzyszony obiekt typ-obiektu o nazwie
Usuń ze ścieżki bazy danych to wyrażenie dotyczące partycji
nazwa-obiektu nie odwołuje się do obiektu
bazy danych. Jeśli określona ścieżka bazy danych jest
stowarzyszonej bazy danych.
wyprowadzona z pierwszej ścieżki przechowywania na liście,
podaj jawnie ścieżkę bazy danych za pomocą opcji DBPATH Objaśnienie:
ON bez określania w tej ścieżce wyrażenia dotyczącego Obiekt typu typ-obiektu identyfikowany przez nazwę
partycji bazy danych. Popraw wyrażenie dotyczące partycji nazwa-obiektu jest zdefiniowany za pomocą parametru
bazy danych. Wprowadź ponownie komendę. FEDERATED, ale pełna selekcja w instrukcji nie odwołuje się
do obiektu stowarzyszonej bazy danych.
kod_sql: -1174
Nie można wykonać instrukcji.
stan_sql: 5U012
Działanie użytkownika:
Usuń z instrukcji parametr FEDERATED.
SQL1175I Liczba agentów partycjonujących
ładowania została zredukowana w celu kod_sql: -1178
optymalizacji wykonania polecenia
REMOTEFETCH. stan_sql: 429BA
Objaśnienie:
Moduł ładujący automatycznie zmniejszył liczbę agentów SQL1179W Obiekt typ-obiektu o nazwie nazwa-obiektu
partycjonujących w celu zoptymalizowania paralelizmu może wymagać, aby użytkownik
instrukcji REMOTEFETCH. wywołujący miał niezbędne uprawnienia do
obiektów źródła danych.
SQL1176N Wartości przypisane do parametru Objaśnienie:
parametr-1 i parametru parametr-2 są Obiekt identyfikowany przez nazwę nazwa-obiektu zawiera
niezgodne. odwołanie do obiektu stowarzyszonego (na przykład do
funkcji tabelowej OLE DB, procedury stowarzyszonej, widoku
Objaśnienie:
stowarzyszonego lub pseudonimu), w którym znajdują się
W komendzie lub funkcji API podano niezgodne wartości.
faktyczne dane w źródle danych. Podczas dostępu do źródła
Działanie użytkownika: danych odwzorowanie użytkownika oraz sprawdzanie
Zmień jeden z parametrów i wydaj ponownie komendę. autoryzacji dotyczy użytkownika, który zainicjował operację.
Więcej informacji na temat poprawnych wartości można
znaleźć w podręcznikach Command Reference lub API Jeśli typ-obiektu jest tabelą podsumowań (SUMMARY
Reference. TABLE), to w ramach operacji odświeżane są dane
zmaterializowanej tabeli zapytania. Może się zdarzyć, że
użytkownik, który wywołał instrukcję REFRESH TABLE lub
SQL1177N Wykonanie procedury nazwa-procedury
SET INTEGRITY powodującą odświeżenie, będzie musiał
(nazwa specyficzna nazwa-specyficzna) nie
mieć wymagane uprawnienia do dostępu do bazowego obiektu
powiodło się w bieżącym środowisku
źródła danych w źródle danych.
serwera bazy danych DB2.
Objaśnienie: Jeśli obiekt typ-obiektu jest widokiem (VIEW), może zdarzyć
Procedury OLE, OLEDB i CLR mogą być tworzone i się, że każdy użytkownik, który chce skorzystać z widoku
uruchamiane na serwerach baz danych DB2 tylko w będzie musiał mieć wymagane uprawnienia do dostępu do
środowiskach systemu operacyjnego Windows. Bieżący podległego obiektu źródła danych w źródle danych.
serwer bazy danych DB2 nie działa w środowisku systemu
operacyjnego Windows. Procedury nie można wywołać z tego Jeśli typ-obiektu jest procedurą (PROCEDURE), funkcją
serwera. (FUNCTION) lub metodą (METHOD), to od użytkownika
Działanie użytkownika: wywołującego tę procedurę mogą być wymagane niezbędne
Utwórz procedurę OLE, OLEDB lub CLR na serwerze bazy uprawnienia dostępu do bazowego obiektu źródła danych w
danych DB2 w środowisku systemu operacyjnego Windows i źródle danych we wszystkich instrukcjach SQL w procedurze.
spróbuj ponownie wywołać procedurę z serwera bazy danych
DB2. W każdej z tych sytuacji przy próbie dostępu do obiektu źródła
danych może wystąpić błąd autoryzacji.
kod_sql: -1177 Działanie użytkownika:
Samo nadanie uprawnień do obiektu może nie wystarczyć do
stan_sql: 42997 korzystania z operacji wymagających dostępu do danych ze
źródła danych. Potrzebne może być prawo dostępu
użytkownika do bazowych obiektów źródła danych w źródle
danych.

198 Komunikaty, tom 2


SQL1180N • SQL1183N

kod_sql: +1179
SQL1181N Procedura nazwa-procedury (nazwa
specyficzna nazwa-specyficzna) zgłosiła
stan_sql: 01639 wyjątek z opisem tekst-komunikatu.
Objaśnienie:
SQL1180N Procedura nazwa-procedury (nazwa Funkcja zdefiniowana przez użytkownika (UDF) lub
specyficzna nazwa-specyficzna) spowodowała procedura składowana nazwa-procedury (nazwa specyficzna
błąd OLE. HRESULT=hresult. Tekst nazwa-specyficzna) spowodowała wystąpienie wyjątku. Tekst
diagnostyczny: tekst-komunikatu. komunikatu zawiera opis wyjątku zwróconego przez
Objaśnienie: procedurę.
Program DB2 otrzymał kod błędu OLE podczas próby Działanie użytkownika:
nawiązania komunikacji z serwerem automatyzacji OLE Użytkownik powinien zrozumieć znaczenie wyjątku.
funkcji zdefiniowanej przez użytkownika (UDF) lub procedury Skontaktuj się z autorem procedury.
składowanej nazwa-procedury (nazwa specyficzna
nazwa-specyficzna). Zwrócony kod błędu OLE: HRESULT
kod_sql: -1181
hresult; odebrany komunikat o błędzie: tekst-komunikatu.
stan_sql: 38501
Poniżej przedstawiono częściową listę komunikatów o
błędach, wartości HRESULT i możliwe przyczyny błędów.
Tekst komunikatu o błędzie może zostać zmieniony, a nowe SQL1182N Funkcja zdefiniowana przez użytkownika
kody błędów mogą zostać dodane przez OLE. nazwa-funkcji nie mogła zainicjować obiektu
źródła danych określonego dostawcy OLE
Nieznany interfejs (0x80020001):
DB. HRESULT=hresult. Tekst
Podany obiekt OLE nie obsługuje interfejsu
diagnostyczny: tekst-komunikatu.
IDispatch.
Objaśnienie:
Niezgodność typów (0x80020005):
Obiekt źródła danych OLE DB określonego dostawcy OLE
Typy danych SQL nie są zgodne z typami danych
DB nie mógł zostać zainicjowany lub nie mogła zostać
argumentów metody.
utworzona jego instancja. hresult jest zwróconym kodem błędu
Nieznana nazwa (0x80020006): OLE DB, a tekst-komunikatu jest odebranym komunikatem o
Nie znaleziono nazwy metody dla podanego obiektu błędzie.
OLE.
Poniżej przedstawiono częściową listę HRESULT i możliwe
Nieprawidłowa liczba parametrów (0x8002000E):
przyczyny błędu.
Liczba argumentów przesłanych do metody jest inna
niż liczba argumentów akceptowanych przez 0x80040154
metodę. Nie zarejestrowano klasy (dostawca OLE DB).
Nieprawidłowy łańcuch klasy (0x800401F3): 0x80040E73
Podano niepoprawny ProgID lub CLSID. Określony łańcuch inicjujący nie jest zgodny ze
specyfikacją.
Klasa nie jest zarejestrowana (0x80040154):
CLSID nie jest odpowiednio zarejestrowany. 0x80004005
Nieokreślony błąd (podczas inicjowania).
Nie znaleziono aplikacji (0x800401F5):
Nie znaleziono EXE na lokalnym serwerze. Działanie użytkownika:
Sprawdź, czy poprawnie zarejestrowano dostawcę OLE DB,
Nie znaleziono DLL dla klasy (0x800401F8):
oraz czy poprawnie zainicjowano parametry w łańcuchu
Nie znaleziono DLL podczas przetwarzania.
połączenia. Pełną dokumentację kodów HRESULT i składni
Uruchomienie serwera nie powiodło się (0x80080005): łańcuchów połączenia Data Link API w OLE DB Core
Utworzenie obiektu OLE nie powiodło się. Components zawiera podręcznik Microsoft OLE DB
Programmer’s Reference oraz Data Access SDK.
Działanie użytkownika:
Pełną dokumentację, w tym objaśnienia terminologii, można
kod_sql: -1182
znaleźć w podręczniku OLE Programmer’s Reference Guide.
stan_sql: 38506
kod_sql: -1180

stan_sql: 42724 SQL1183N Funkcja zdefiniowana przez użytkownika


nazwa-funkcji odebrała błąd OLE DB od
określonego dostawcy OLE DB.
HRESULT=hresult. Tekst diagnostyczny:
tekst-komunikatu.

Rozdział 2. Komunikaty SQL 199


SQL1184N • SQL1186N

Objaśnienie: lub procedury OLE DB. W takim przypadku w celu


Podany dostawca OLE DB zwrócił kod błędu OLE DB. powiązania paczki należy określić FEDERATED NO.
hresult jest zwróconym kodem błędu OLE DB, a
tekst-komunikatu jest odebranym komunikatem o błędzie. Pakiet nie został utworzony.
Działanie użytkownika:
Poniżej przedstawiono częściową listę HRESULT i możliwe
Określ poprawną opcję FEDERATED.
przyczyny błędu.
0x80040E14
SQL1186N Obiekt typ-obiektu o nazwie nazwa-obiektu
Komenda zawierała przynajmniej jeden błąd, na
jest zmieniany w celu przekształcenia w
przykład błąd składniowy w tekście komendy
obiekt stowarzyszony albo jest tworzony
tranzytowej.
jako obiekt stowarzyszony bez określenia
0x80040E21 klauzuli FEDERATED.
Wystąpiły błędy, na przykład podany identyfikator
Objaśnienie:
kolumny był niepoprawny
Obiekt identyfikowany przez nazwę nazwa-obiektu zawiera
(DB_INVALIDCOLUMN).
odwołanie do obiektu stowarzyszonego (na przykład do
0x80040E37 funkcji tabelowej OLE DB, procedury stowarzyszonej, widoku
Podana tabela nie istnieje. stowarzyszonego lub pseudonimu), w którym znajdują się
faktyczne dane w źródle danych.
Działanie użytkownika:
Pełną dokumentację kodów HRESULT zawiera podręcznik
Jeśli zmieniany jest widok niestowarzyszony, a pełna selekcja
Microsoft OLE DB Programmer’s Reference oraz Data Access
odwołuje się obecnie pośrednio lub bezpośrednio do obiektu
SDK.
stowarzyszonej bazy danych, to musi być określona klauzula
FEDERATED.
kod_sql: -1183
Jeśli jest zmieniany widok stowarzyszony, a pełna selekcja
stan_sql: 38506
nadal odwołuje się pośrednio lub bezpośrednio do obiektu
stowarzyszonej bazy danych, to nie może być określona
SQL1184N Jedna lub więcej tabel EXPLAIN nie zostały klauzula NOT FEDERATED.
stworzone za pomocą bieżącej wersji DB2.
Jeśli tworzona jest zmaterializowana tabela zapytania, a pełna
Objaśnienie:
selekcja odwołuje się pośrednio lub bezpośrednio do obiektu
EXPLAIN będzie mógł wstawić danych do tych tabel tylko,
stowarzyszonej bazy danych, to nie może być określona
gdy zostanie na nich dokonana migracja, za pomocą narzędzia
klauzula NOT FEDERATED.
DB2EXMIG, lub zostaną usunięte i utworzone za pomocą
skryptu EXPLAIN.DDL procesora wiersza komend z bieżącej
Jeśli tworzona jest procedura SQL, która odwołuje się
wersji DB2.
pośrednio lub bezpośrednio do obiektu stowarzyszonej bazy
Działanie użytkownika: danych, to nie może być określona klauzula NOT
Należy przeprowadzić migrację tabel za pomocą DB2EXMIG FEDERATED.
lub należy je usunąć i ponownie utworzyć za pomocą skryptu
Działanie użytkownika:
EXPLAIN.DDL procesora wiersza komend z bieżącej wersji
Aby widok niestowarzyszony zmienić w widok
DB2. Wprowadź ponownie komendę.
stowarzyszony, należy określić klauzulę FEDERATED.
kod_sql: -1184
Aby zmienić widok stowarzyszony, który pozostaje widokiem
stowarzyszonym, nie należy podawać klauzuli NOT
stan_sql: 55002
FEDERATED.

SQL1185N Wartość FEDERATED wartość została Aby utworzyć zmaterializowaną tabelę zapytania, w której
niepoprawnie użyta w wiązaniu pakietu. pełna selekcja odwołuje się pośrednio lub bezpośrednio do
obiektu stowarzyszonej bazy danych, nie należy określać
Objaśnienie:
klauzuli FEDERATED.
Jeśli wartość jest ustawiona na NO, to co najmniej jedna
instrukcja statycznego języka SQL, znajdująca się w pakiecie,
Aby utworzyć procedurę SQL, która odwołuje się
zawiera odwołania do pseudonimu, funkcji tabelowej OLE DB
bezpośrednio lub pośrednio do obiektu stowarzyszonej bazy
lub procedury OLE DB. W takim przypadku w celu
danych, nie należy określać klauzuli NOT FEDERATED.
powiązania paczki należy określić FEDERATED YES.
kod_sql: -1186
Jeśli wartość jest ustawiona na YES, żadna instrukcja
statycznego języka SQL, znajdująca się w pakiecie, nie
zawiera odwołania do pseudonimu, funkcji tabelowej OLE DB stan_sql: 429BA

200 Komunikaty, tom 2


SQL1187W • SQL1195N

SQL1187W Baza danych została pomyślnie utworzona SQL1191N Kolumna określona-kolumna, określona w
lub poddana migracji, ale wystąpił błąd parametrze METHOD, nie istnieje.
podczas tworzenia monitora zdarzeń
Objaśnienie:
szczegółów zakleszczeń
Kolumny określona-kolumna nie ma w wynikach zapytania.
nazwa-monitora-zdarzeń. Monitor zdarzeń
szczegółów zakleszczeń nie został Działanie użytkownika:
utworzony. Popraw błędną specyfikację kolumny i ponów komendę.
Objaśnienie:
Instrukcja CREATE DATABASE lub MIGRATE SQL1192W Dla bieżącego typu pliku określono zbyt
DATABASE nie mogła utworzyć monitora zdarzeń wiele źródeł wejściowych. Maksymalna
szczegółów zakleszczeń dla nowo tworzonej bazy danych. dozwolona liczba to maksimum-źródeł-
wejściowych.
Działanie użytkownika:
W razie potrzeby utwórz monitor zdarzeń szczegółów Objaśnienie:
zakleszczeń. Określony typ pliku nie zezwala na określenie dla jednego
ładowania większej liczby źródeł wejściowych niż
maksimum-źródeł-wejściowych.
SQL1188N Kolumna numer-kolumny-źródłowej
instrukcji SELECT lub VALUES jest Działanie użytkownika:
niezgodna z kolumną tabeli Ponów komendę, tym razem z liczbą źródeł wejściowych nie
numer-kolumny-docelowej. Kolumna przekraczającą maksimum-źródeł-wejściowych.
źródłowa ma typ SQL źródłowy-typ-sql, a
kolumna docelowa ma typ SQL
docelowy-typ-sql. SQL1193I Program narzędziowy rozpoczyna
ładowanie danych z instrukcji SQL
Objaśnienie: instrukcja.
Kolumny źródłowa i docelowa nie są ze sobą zgodne.
Powodem może być niepoprawna kolejność kolumn w Objaśnienie:
instrukcji SELECT lub VALUES lub niepoprawna kolejność w Jest to komunikat informujący o rozpoczęciu ładowania z
specyfikacji METHOD P lub METHOD N. instrukcji SQL.

Działanie użytkownika: Działanie użytkownika:


Popraw komendę, tak aby kolumny źródłowe i docelowe były Nie jest wymagane żadne działanie.
zgodne, a następnie ponów komendę.
SQL1194W Wartość w wierszu numer-wiersza
SQL1189N Określona opcja LOAD METHOD jest odpowiadająca kolumnie docelowej o
niepoprawna dla danego typu pliku. numerze numer-kolumny jest niepoprawna.
Wiersz został odrzucony.
Objaśnienie:
Określono niepoprawną metodę (METHOD) dla określonego Objaśnienie:
typu pliku. Wiersz o numerze nr-wiersza został odrzucony, ponieważ
wartość odpowiadająca kolumnie docelowej nr-kolumny nie
Działanie użytkownika: jest poprawna dla tej kolumny.
Ponów komendę z inną metodą.
Możliwe przyczyny:
SQL1190N Narzędzie ładujące napotkało kod v Wartość liczbowa wykracza poza minimalną lub
SQLCODE kod_sql, stan SQLSTATE maksymalną wartość jej kolumny docelowej.
stan_sql i elementy komunikatu v Wartość znakowa nie mieści się w kolumnie docelowej.
lista-elementów.
Działanie użytkownika:
Objaśnienie: Sprawdź wartość wejściową. W razie potrzeby zdefiniuj nową
Do modułu ładującego LOAD został zgłoszony błąd o kodzie tabelę zastępującą kolumnę docelową nr-kolumny prawidłowo
SQLCODE kod_sql i program ten zaprzestał przetwarzania. zdefiniowaną kolumną, po czym powtórz proces.
Działanie użytkownika:
Odszukaj kod SQLCODE kod_sql w podręczniku SQL1195N Utworzenie lub zainicjowanie bazy danych
Komunikaty. Podejmij odpowiednie działania naprawcze, a katalogu narzędzi nazwa-bazy-danych na
następnie ponów komendę. serwerze nazwa-serwera nie powiodło się.
SQLCODE = SQLCODE.
Objaśnienie:

Rozdział 2. Komunikaty SQL 201


SQL1196W • SQL1198N

Utworzenie lub zainicjowanie bazy danych katalogu narzędzi dowolnym serwerem DB2 i klientem w wersji
nazwa-bazy-danych na serwerze nazwa-serwera nie powiodło wcześniejszej niż 8 nie jest możliwe stosowanie
się. SQLCODE = SQLCODE. komend programów narzędziowych.
Działanie użytkownika: 3 Nie jest obsługiwany dostęp do serwera w wersji
Zapoznaj się z informacjami na temat reakcji użytkownika na wcześniejszej niż 8 za pośrednictwem gatewaya w
kod SQLCODE zwrócony przez tę operację. wersji 8 lub nowszej.
4 Nie są obsługiwane komendy programów
SQL1196W Tworzenie kopii zapasowej zakończyło się narzędziowych wysyłane z klienta w wersji 8 lub
pomyślnie. Nie można jednak nawiązać nowszej do serwera w wersji wcześniejszej niż 8.
kontaktu z co najmniej jednym
5 Klienty w wersjach wcześniejszych niż 8 mogą
menedżerem Data Links File Manager.
uzyskiwać dostęp tylko do tabel, funkcji tabelowych
Datownik obrazu tej kopii zapasowej to
i procedur, które zostały utworzone przy użyciu
datownik-obrazu-kopii-zapasowej.
wartości identyfikatora CCSID odpowiadającej
Objaśnienie: stronie kodowej bazy danych.
Tworzenie kopii zapasowej zakończyło się pomyślnie. Co
6 Komendy odtwarzania zmian w obszarze tabel dla
najmniej jeden menedżer Data Links File Manager nie był
danego momentu z klienta w wersji wcześniejszej
dostępny podczas tworzenia kopii zapasowej. Potrzebna jest
niż 9 do serwera w wersji 9 lub nowszej nie są
dodatkowa weryfikacja ze strony menedżerów Data Links File
obsługiwane, ponieważ część funkcji tych komend
Managers, gdy staną się dostępne.
działa po stronie klienta. Klient w wersji
Działanie użytkownika: wcześniejszej niż 9 NIE może wykonywać tych
Wywołaj menedżerów Data Links File Manager, którzy byli operacji, gdy jest połączony z serwerem w wersji 9
niedostępni podczas tworzenia kopii zapasowej. Kiedy tylko lub nowszej.
kontakt z tymi menedżerami zostanie nawiązany, program
98 Operacja nie jest obsługiwana w przypadku klienta
DB2 automatycznie przeprowadzi ostateczną weryfikację tego
w wersji 8 lub nowszej i serwera w wersji
obrazu kopii zapasowej.
wcześniejszej niż 8.
99 Operacja nie jest obsługiwana w przypadku serwera
SQL1197N Dla parametru parametr w komendzie
w wersji 8 lub nowszej i klienta w wersji
komenda podano niepoprawną wartość.
wcześniejszej niż 8.
Objaśnienie:
Działanie użytkownika:
Wartość parametru parametr określona w komendzie komenda
Działanie zależy od kodu przyczyny:
jest niepoprawna. Dla wartości numerycznych wartość może
być spoza zdefiniowanego zakresu. W wypadku innych typów 1 Gateway nie pozwala na korzystanie z kursorów
określona wartość nie należy do zdefiniowanego zbioru przewijalnych przez klientów w wersjach
poprawnych wartości. wcześniejszych. Użyj bezpośredniego połączenia
klient-serwer lub zaktualizuj klienta do wersji
Działanie użytkownika:
kompatybilnej z serwerem.
Aby dowiedzieć się, jakie wartości są poprawne, i wprowadzić
odpowiednie zmiany, należy sięgnąć z literatury w części 2 Nie przesyłaj przez gatewaya komend programów
dotyczącej komendy komenda. Jeśli ten błąd został zwrócony narzędziowych z klienta w wersji wcześniejszej.
przez interfejs API, to aby dowiedzieć się, jakie wartości są Użyj bezpośredniego połączenia klient-serwer lub
poprawne dla odpowiedniej opcji API, i wprowadzić zaktualizuj klienta do wersji kompatybilnej z
odpowiednie zmiany, należy skorzystać z literatury w części serwerem.
dotyczącej komendy komenda interfejsu API.
3 Użyj gatewaya w kompatybilnej wersji lub
skonfiguruj bezpośrednie połączenie z serwerem
SQL1198N Ta komenda nie jest obsługiwana w bieżącej (bez pośrednictwa gatewaya).
konfiguracji serwera z klientem w starszej
wersji. Kod przyczyny = kod-przyczyny. 4 Wysyłaj komendy programów narzędziowych w
wersji 8 za pomocą klienta w kompatybilnej wersji.
Objaśnienie:
Wprowadzona komenda nie jest obsługiwana w bieżącej 5 Do uzyskiwania dostępu do tabel, funkcji
konfiguracji, w której występuje serwer lub klient w wersji tabelowych i procedur, które zostały utworzone przy
wcześniejszej niż 8. Możliwe kody przyczyny: użyciu takiej wartości identyfikatora CCSID, która
nie odpowiada stronie kodowej bazy danych, używaj
1 W konfiguracji z gatewayem w wersji 8 lub nowszej, klienta w wersji 8 lub nowszej.
serwerem DB2 i klientem w wersji wcześniejszej niż
8 nie jest możliwe stosowanie kursorów 6 Wprowadź ponownie komendę odtwarzania zmian
przewijalnych. dla danego momentu za pomocą klienta w wersji 9.1.
Można również odtworzyć zmiany do końca
2 W konfiguracji z gatewayem w wersji 8 lub nowszą, dziennika (zamiast do konkretnego momentu).

202 Komunikaty, tom 2


SQL1200N • SQL1204N

98 Wydaj tę komendę za pomocą klienta w


SQL1202N Dane statusu nie były gromadzone.
kompatybilnej wersji lub rozważ aktualizację
serwera do nowszej wersji. Objaśnienie:
Wartość parametru uchwyt podana w wywołaniu funkcji GET
99 Wydaj tę komendę za pomocą serwera w
NEXT DATABASE STATUS BLOCK lub FREE
kompatybilnej wersji lub rozważ uaktualnienie
DATABASE STATUS RESOURCES nie jest poprawna.
klienta do nowszej wersji.
Uchwyt musi być dodatnią wartością zwróconą przez funkcję
COLLECT DATABASE STATUS.
kod_sql: -1198
Jest to drugie wywołanie funkcji COLLECT DATABASE
stan_sql: 42997 STATUS w tym procesie. Pierwsze wywołanie funkcji
COLLECT DATABASE STATUS kończy swoje działanie i
SQL1200N Parametr obiektu jest niepoprawny. jego uchwyt nie może być już używany.

Objaśnienie: Nie można wykonać komendy.


Wartość parametru obiektu w wywołaniu funkcji COLLECT
DATABASE STATUS jest niepoprawna. Poprawne wartości Działanie użytkownika:
to: Popraw parametr uchwyt i wprowadź ponownie wywołanie
funkcji COLLECT DATABASE STATUS.
SQLE_DATABASE
Dane statusu mają być gromadzone dla jednej bazy
danych. SQL1203N Z bazą danych nie jest połączony żaden
użytkownik.
SQLE_DRIVE
Dane statusu mają być gromadzone dla baz danych Objaśnienie:
typu LOCAL znajdujących się w jednej ścieżce. Zażądano statusu użytkowników bazy danych, jednak żaden
użytkownik nie jest połączony z tą bazą danych.
SQLE_LOCAL
Dane statusu mają być gromadzone dla wszystkich
Nie można wykonać komendy.
baz danych typu LOCAL.
Działanie użytkownika:
Nie można wykonać komendy. Sprawdź poprawność nazwy bazy danych i status połączenia.
Wprowadź ponownie komendę, podając nazwę aktualnie
Działanie użytkownika: używanej bazy danych.
Popraw parametr obiektu i wprowadź ponownie wywołanie
COLLECT DATABASE STATUS.
SQL1204N Strona kodowa strona-kodowa i/lub kod
terytorium kod-terytorium nie są
SQL1201N Parametr statusu jest niepoprawny. obsługiwane przez zainstalowaną wersję
Objaśnienie: menedżera bazy danych.
Wartość parametru statusu w wywołaniu funkcji COLLECT Objaśnienie:
DATABASE STATUS jest niepoprawna. Poprawne wartości Menedżer bazy danych w tej wersji nie obsługuje aktywnej
to: strony kodowej albo kodu terytorium, albo ani tej strony, ani
SQLE_SYSTEM tego kodu.
Mają być gromadzone dane dotyczące statusu
systemu. Nie można wykonać komendy.
SQLE_DATABASE
Wybierz aktywną stronę kodową i kod terytorium obsługiwane
Mają być gromadzone dane dotyczące statusu
przez tę wersję menedżera bazy danych.
systemu oraz dotyczące statusu bazy danych.
SQLE_ALL Użytkownicy systemu stowarzyszonego: W razie potrzeby
Mają być gromadzone dane dotyczące statusu należy zlokalizować problem do źródła danych odrzucającego
systemu, statusu bazy danych i statusu użytkownika. żądanie (procedury, z których należy korzystać przy
identyfikowaniu niesprawnego źródła danych, można znaleźć
Nie można wykonać komendy. w podręczniku Troubleshooting Guide) oraz wybrać aktywną
stronę kodową i kod terytorium obsługiwane zarówno przez
Działanie użytkownika: serwer stowarzyszony, jak i źródło danych.
Popraw parametr statusu i wprowadź ponownie wywołanie
funkcji COLLECT DATABASE STATUS. Działanie użytkownika:
Zakończ bieżący program i powróć do systemu operacyjnego.

kod_sql: -1204

Rozdział 2. Komunikaty SQL 203


SQL1205N • SQL1212N

stan_sql: 22522 Działanie użytkownika:


W razie potrzeby zwiększ limity pamięci dla przyszłych
wywołań modułu ładującego.
SQL1205N Podana strona kodowa strona-kodowa i/lub
kod terytorium terytorium są niepoprawne.
SQL1209W Nazwa partnerskiej jednostki logicznej
Objaśnienie:
nazwa podana w funkcji CATALOG NODE
Program DB2 w tej wersji nie obsługuje aktywnej strony
nie istnieje. Została właśnie utworzona.
kodowej i/lub kodu terytorium określonego w komendzie
Create Database. Objaśnienie:
Nazwa partnerskiej jednostki logicznej podanej w funkcji
Nie można wykonać komendy. CATALOG NODE nie istniała w pliku konfiguracyjnym
programu Communications Manager znajdującym się w
Działanie użytkownika: katalogu CMLIB na dysku domyślnym.
Szczegółowe informacje o poprawnych parach strona kodowa
- kod terytorium obsługiwanych przez produkt DB2/2 można
Utworzono profil jednostki logicznej o podanej nazwie.
znaleźć w podręczniku Command Reference.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL1206N Komenda PRUNE LOGFILE nie jest
obsługiwana w tej konfiguracji bazy
danych. SQL1210W Dla jednego lub więcej parametrów pliku
konfiguracyjnego zostały zwrócone wartości
Objaśnienie:
domyślne.
Komenda PRUNE LOGFILE nie jest obsługiwana, jeśli:
1. Baza danych nie jest w trybie odtwarzalnym. Baza danych Objaśnienie:
jest w trybie odtwarzalnym, gdy parametr Zwrócono jedną lub kilka wartości domyślnych dla
LOGARCHMETH1 ma wartość DISK, TSM, VENDOR, konfiguracji Requestera DOS/Requestera WINDOWS.
USEREXIT lub LOGRETAIN albo gdy parametr Parametr mógł nie zostać zdefiniowany w pliku
LOGARCHMETH2 ma wartość DISK, TSM lub konfiguracyjnym Requestera DOS/Requestera WINDOWS,
VENDOR. plik konfiguracyjny mógł nie zostać otwarty lub podczas
odczytu pliku wystąpił błąd.
2. Ścieżka do aktywnego pliku dziennika jest ustawiona na
urządzenie surowe. Działanie użytkownika:
Sprawdź, czy w odpowiedniej ścieżce istnieje plik
Działanie użytkownika:
konfiguracyjny Requestera DOS/Requestera WINDOWS i czy
Nie używaj komendy PRUNE LOGFILE dla tej bazy danych.
jego parametry są zdefiniowane jawnie.

SQL1207N Plik konfiguracyjny nazwa programu


SQL1211N Nazwa komputera nazwa nie jest poprawna.
Communication Manager nie został
odnaleziony. Objaśnienie:
Nazwa komputera podana w strukturze protokołu NPIPE dla
Objaśnienie:
komendy Catalog jest nieprawidłowa. Nazwa komputera
Plik konfiguracyjny programu Communication Manager,
powinna mieć długość maksymalnie 15 znaków.
podany w komendzie CATALOG NODE nie został
odnaleziony w podanej ścieżce ani w katalogu CMLIB na
Nie można wykonać komendy.
dysku domyślnym.
Działanie użytkownika:
Nie można wykonać komendy. Sprawdź poprawność nazwy komputera i wprowadź ponownie
komendę.
Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawną nazwę
pliku konfiguracyjnego i poprawną ścieżkę. SQL1212N Nazwa instancji nazwa nie jest poprawna.
Objaśnienie:
SQL1208W Wydajność modułu ładującego może być Nazwa instancji podana dla komendy Catalog jest
ograniczona przez dostępną pamięć. nieprawidłowa. Nazwa instancji może mieć długość
maksymalnie 8 znaków.
Objaśnienie:
Moduł ładujący nie może przydzielić całej żądanej pamięci.
Nie można wykonać komendy.
Nie ma to wpływu na powodzenie operacji, ale wydajność
może odbiegać od optymalnej. Ilość pamięci dostępnej dla Działanie użytkownika:
modułu ładującego jest określana albo przez wartość opcji Sprawdź poprawność nazwy instancji i wprowadź ponownie
DATA BUFFER modułu ładującego, albo przez wartość komendę.
parametru konfiguracyjnego util_heap_sz bazy danych.

204 Komunikaty, tom 2


SQL1213N • SQL1218N

Wprowadź ponownie komendę z poprawnym adresem


SQL1213N Nazwa jednostki logicznej zmiany hasła
adaptera sieci LAN.
nazwa jest niepoprawna.
Objaśnienie:
SQL1216N Dane i funkcje graficzne nie są obsługiwane
Nazwa jednostki logicznej zmiany hasła podana w strukturze
przez tę bazę danych.
dziennika APPN dla komendy CATALOG jest niepoprawna.
Objaśnienie:
Nazwa jednostki logicznej zmiany hasła jest nazwą jednostki Strona kodowa bazy danych nie obsługuje danych graficznych.
logicznej zdalnego SNA i musi mieć długość od 1 do 8 Typy danych GRAPHIC, VARGRAPHIC, LONG
znaków. Poprawnymi znakami są wielkie lub małe litery VARGRAPHIC i DBCLOB są niepoprawne dla tej bazy
alfabetu łacińskiego, cyfry od 0 do 9 oraz znaki #, @ i $. danych. Literał GRAPHIC i funkcje skalarne VARGRAPHIC
Pierwszym znakiem musi być litera lub znak specjalny: #, @ są niepoprawne dla tej bazy danych.
lub $. Małe litery są zamieniane przez system na wielkie litery.
Nie można wykonać instrukcji.
Nie można wykonać komendy.
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
Działanie użytkownika:
również zostać wykryta przez źródło danych.
Sprawdź poprawność znaków podanych w nazwie jednostki
logicznej zmiany hasła. Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawne typy
Wprowadź ponownie komendę, podając poprawną nazwę danych.
jednostki logicznej zmiany hasła.
kod_sql: -1216
SQL1214N Nazwa programu transakcyjnego nazwa jest
niepoprawna. stan_sql: 56031

Objaśnienie:
Nazwa programu transakcyjnego podana w strukturze SQL1217N Typ danych REAL nie jest obsługiwany
protokołu APPN dla komendy CATALOG jest niepoprawna. przez docelową bazę danych.
Objaśnienie:
Nazwa programu transakcyjnego jest nazwą zdalnego Operacja SQL używa danych typu REAL (liczba
programu transakcyjnego aplikacji SNA i musi mieć długość zmiennopozycyjna o pojedynczej precyzji) dla zmiennych
od 1 do 64 znaków. Poprawnymi znakami są wielkie lub małe wejściowych i wyjściowych. Dla tego żądania typ danych
litery alfabetu łacińskiego, cyfry od 0 do 9 oraz znaki #, @ i $. REAL nie jest obsługiwany przez docelową bazę danych.
Pierwszym znakiem musi być litera lub znak specjalny: #, @
lub $. Instrukcja nie jest wykonywana.

Nie można wykonać komendy. Działanie użytkownika:


Zastąp występujące w aplikacji deklaracje wszystkich
Działanie użytkownika: zmiennych języka macierzystego odpowiadających typowi
Sprawdź poprawność znaków podanych w nazwie programu danych SQL REAL deklaracjami odpowiadającymi typowi
transakcyjnego. danych SQL DOUBLE.

Wprowadź ponownie komendę, podając poprawną nazwę kod_sql: -1217


programu transakcyjnego.
stan_sql: 56099
SQL1215N Adres adaptera sieci LAN adres jest
niepoprawny. SQL1218N Obecnie nie ma stron dostępnych w puli
Objaśnienie: buforów num-puli-buforów.
Adres adaptera sieci LAN podany w strukturze protokołu Objaśnienie:
APPN dla komendy CATALOG jest niepoprawny. Wszystkie strony w obszarze buforów są obecnie używane.
Żądanie użycia innej strony nie powiodło się.
Adres adaptera sieci LAN jest adresem zdalnego adaptera sieci
LAN SNA i musi być 12-cyfrową liczbą szesnastkową. Nie można wykonać instrukcji.

Nie można wykonać komendy. Działanie użytkownika:


Obszar buforów nie jest wystarczająco duży, aby zapewnić w
Działanie użytkownika: danym czasie strony dla wszystkich procedur lub wątków baz
Sprawdź poprawność adresu adaptera sieci LAN. danych. Obszar buforów jest za mały albo jest za dużo
aktywnych procedur lub wątków.

Rozdział 2. Komunikaty SQL 205


SQL1219N • SQL1222N

Instrukcja ta może zostać pomyślnie wykonana następnym v Sprawdź, czy są dostępne odpowiednie zasoby pamięci
razem. Jeśli błąd ten występuje często, można mu zapobiec, spełniające wymagania menedżera bazy danych i innych
wykonując niektóre lub wszystkie z następujących działań: programów działających w systemie.
1. zwiększenie wielkości puli buforów; v W 32-bitowym systemie Linux zwiększ parametr jądra
2. zmniejszenie maksymalnej liczby agentów i/lub połączeń shmmax do 256 MB. W 64-bitowym systemie Linux
bazy danych; zwiększ parametr jądra shmmax do 1 GB.
3. zmniejszenie maksymalnego poziomu paralelizmu; v Zmniejsz wymagania menedżera baz danych dotyczące tego
obszaru pamięci przez zmniejszenie wartości parametrów
4. zmniejszenie wielkości preselekcji dla obszarów tabel
konfiguracyjnych menedżera baz danych, które mają na to
znajdujących się w tym obszarze buforów;
wpływ. Są to: fenced_pool i numdb.
5. przeniesienie niektórych obszarów tabel do innych
v Jeśli trzeba, zatrzymaj inne programy korzystające z
obszarów buforów.
systemu.
kod_sql: -1218
SQL1221N Nie można przydzielić sterty warstwy
stan_sql: 57011 obsługi aplikacji.
Objaśnienie:
SQL1219N Żądanie nie powiodło się, ponieważ nie Nie można przydzielić sterty warstwy obsługi aplikacji.
można było przydzielić prywatnej pamięci Przyczyną błędu mogą być niewystarczające zasoby pamięci
wirtualnej. dla menedżera baz danych albo dla środowiska, w którym ma
działać menedżer baz danych. Zasoby pamięci, które mogą
Objaśnienie: powodować ten błąd:
Instancja nie była w stanie przydzielić wystarczającej ilości
v liczba identyfikatorów pamięci współużytkowanej
prywatnej pamięci wirtualnej, umożliwiającej realizację
przydzielonej w systemie,
żądania. Może to być wynikiem przydzielenia
współużytkowanej pamięci dla innych (niezwiązanych z daną v wielkość obszaru stronicowania lub wymiany dostępnego w
instancją) procesów. systemie,
v wielkość pamięci fizycznej dostępnej w systemie.
Działanie użytkownika:
Problem ten można rozwiązać następująco: Działanie użytkownika:
v Zatrzymaj inne aplikacje działające na komputerze, Wykonaj jedną lub więcej z następujących czynności:
szczególnie te, które używają dużo pamięci v Sprawdź, czy są dostępne odpowiednie zasoby pamięci
współużytkowanej. spełniające wymagania menedżera bazy danych i innych
programów działających w systemie.
kod_sql: -1219 v Zmniejsz parametr konfiguracyjny aslheapsz.
v Jeśli trzeba, zatrzymaj inne programy korzystające z
stan_sql: 57011
systemu.

SQL1220N Nie można przydzielić współużytkowanej kod_sql: -1221


pamięci menedżera baz danych.
stan_sql: 57011
Objaśnienie:
Menedżer baz danych nie był w stanie przydzielić
współużytkowanej pamięci. Przyczyną błędu mogą być SQL1222N Na stercie warstwy obsługi aplikacji nie ma
niewystarczające zasoby pamięci przeznaczone dla menedżera wystarczającej ilości pamięci potrzebnej do
baz danych albo dla środowiska, w którym ma działać zrealizowania żądania.
menedżer baz danych. Zasoby pamięci, które mogą
powodować ten błąd: Objaśnienie:
Cała pamięć dostępna na stercie warstwy obsługi aplikacji jest
v liczba identyfikatorów pamięci współużytkowanej już zajęta.
przydzielonej w systemie,
v wielkość segmentu pamięci współużytkowanej, Działanie użytkownika:
Zwiększ parametr konfiguracyjny aslheapsz.
v wielkość obszaru stronicowania lub wymiany dostępnego w
systemie,
kod_sql: -1222
v wielkość pamięci fizycznej dostępnej w systemie.
Działanie użytkownika: stan_sql: 57011
Wykonaj jedną lub więcej z następujących czynności:

206 Komunikaty, tom 2


SQL1224N

zakończenie wykonywania instrukcji SQL zanim


SQL1224N Menedżer bazy danych nie może
nastąpi próba anulowania tej operacji.
akceptować nowych żądań, zakończył
wszystkie trwające żądania, zakończył 7 W produkcie DB2 nastąpiło wymuszenie zamknięcia
konkretne żądanie użytkownika z powodu aplikacji po oczekiwaniu na blokadę utrzymywaną
błędu albo wymusił przerwanie. przez aplikację, w której używane są kursory ze
wstrzymaniem, i aplikacja ta została umieszczona w
Objaśnienie:
kolejce do wykonania w trybie koncentratora.
Komunikat może dotyczyć następujących przypadków:
Przyczyny zgrupowano według typu reakcji wymaganej od 8 Połączenie z bazą danych zostało zamknięte,
użytkownika. ponieważ łączny czas pozostawania w stanie
bezczynności przekroczył wartość dopuszczaną
1
przez zdefiniowany próg
v Menedżer baz danych nie został uruchomiony na CONNECTIONIDLETIME.
serwerze baz danych.
v Menedżer baz danych został zatrzymany. Dodatkowe przypadki dla serwera stowarzyszonego to:
v Zatrzymanie działania agenta bazy danych zostało v Przekroczono maksymalną dopuszczalną przez system
wymuszone przez administratora systemu. operacyjny liczbę procesów na użytkownika (wartość
v Agent bazy danych zakończył swoje działanie w maxuproc w systemie AIX).
wyniku nieprawidłowego zakończenia v W środowisku klient/serwer używającym protokołu TCP/IP
kluczowego procesu menedżera baz danych. numer portu przypisanego do nazwy usługi TCP/IP na
kliencie jest inny niż numer portu na serwerze.
2 Użytkownik z uprawnieniem SYSADM wydał
komendę FORCE QUIESCE, podczas gdy
podłączony był bieżący użytkownik. Ponieważ Ta sytuacja może zostać wykryta przez serwer stowarzyszony
identyfikator tego użytkownika nie ma uprawnienia lub źródło danych.
CONNECT QUIESCE do bazy danych/instancji lub Działanie użytkownika:
nie należy do grupy mającej uprawnienie Opatrzone numerami odpowiedzi użytkownika odpowiadają
CONNECT QUIESCE, został on odłączony od bazy przyczynom problemów, które opisano powyżej:
danych/instancji.
1 Powtórz żądanie dotyczące bazy danych. Jeśli nie
3 Aplikacja została przymusowo odłączona przez bazę można nawiązać połączenia, należy się upewnić, czy
danych DB2 ze względu na korzystanie z większego menedżer bazy danych został pomyślnie
obszaru dziennika transakcji niż dozwolony uruchomiony.
parametrami konfiguracyjnymi bazy danych
MAX_LOG lub NUM_LOG_SPAN. 2 Administrator bazy danych powinien anulować
wygaszenie bazy danych/instancji lub dodać
4 Aplikacja używa wielu kontekstów z lokalnym użytkownika do grupy wygaszonej. Wygaszenie
protokołem. W takim przypadku liczba połączeń jest można wykonać na poziomie instancji, obszaru tabel
ograniczona przez liczbę współużytkowanych i bazy danych.
segmentów pamięci, do których może zostać
przyłączony pojedynczy proces. Na przykład w 3 Zmodyfikuj aplikację tak, aby częściej wywoływane
systemie AIX ograniczenie wynosi dziesięć były operacje zatwierdzania. Parametr MAX_LOG
współużytkowanych segmentów pamięci dla jednego zapobiega zajmowaniu zbyt dużego obszaru
procesu. dziennika przez poszczególne transakcje. Parametr
NUM_LOG_SPAN zapobiega blokowaniu
5 Produkt DB2 jest używany na komputerze z możliwości ponownego wykorzystania obszaru
systemem operacyjnym Windows z włączoną dziennika transakcji przez poszczególne transakcje.
funkcją DB2 Extended Security i do bazy danych Podczas projektowania aplikacji należy dobrze
wysłane zostało żądanie przy użyciu identyfikatora określić moment zatwierdzania transakcji, aby
użytkownika, który nie jest członkiem grupy zapobiec wykorzystaniu zbyt dużej części obszaru
DB2USERS ani DBADMINS. Funkcja DB2 dziennika. Należy także rozważyć modyfikację
Extended Security uniemożliwia dostęp bez parametrów dziennika transakcji, która powinna
uprawnień do produktu DB2, blokując pliki zostać wykonana przez administratora.
systemowe DB2. Funkcja ta jest domyślnie
włączona. 4 Wpisz bazę danych do katalogu jako źródło danych
pętli zwrotnej z użyciem protokołu TCP/IP lub
6 Następuje przekroczenie limitu czasu podczas ustaw parametr EXTSHM, o ile jest on obsługiwany
wykonywania zapytania, ponieważ dla parametru w używanej aplikacji i dostępne są wystarczające
SQL_ATTR_QUERY_TIMEOUT ustawiono zbyt zasoby pamięci do użycia tego parametru.
małą wartość, a zapytanie to NIE powinno
przekraczać limitu czasu. Wartość 5 Dodaj odpowiedni identyfikator użytkownika do
SQL_ATTR_QUERY_TIMEOUT wskazuje lokalnych grup bezpieczeństwa DB2USERS lub
określony w sekundach czas oczekiwania na DB2ADMNS systemu Windows, korzystając z

Rozdział 2. Komunikaty SQL 207


SQL1225N

narzędzia do zarządzania komputerem z systemem maxuproc ogranicza liczbę procesów, które mogą działać w
Windows (Windows Computer Management). ramach danego serwera stowarzyszonego. Ustawieniem
Można także zastosować obejście polegające na domyślnym jest 40.
wyłączeniu funkcji Extended Security, przy czym Bieżącą wartość parametru maxuproc można sprawdzić
nie jest to zalecane. komendą:
6 .
lsattr -E -l sys0
Zmodyfikuj ustawienie parametru
SQL_ATTR_QUERY_TIMEOUT w aplikacji. Do
Aby sprawdzić liczbę procesów aktualnie działających w
ustawienia atrybutu instrukcji aplikacja może użyć
ramach danego serwera stowarzyszonego, użyj komendy:
funkcji SQLSetStmtAttr(). Jeśli nie można
zmodyfikować aplikacji (dotyczy to aplikacji ODBC ps -ef | grep instdj1 | wc -l
innej firmy), można ustawić parametr
QueryTimeoutInterval na wartość 0. Wówczas w gdzie “instdj1” jest nazwą instancji serwera
sterowniku CLI ignorowana będzie wartość stowarzyszonego.
parametru SQL_ATTR_QUERY_TIMEOUT, dzięki
czemu przed powrotem do aplikacji nastąpi Aby zmienić wartość parametru maxuproc, użyj komendy:
oczekiwanie na zakończenie wykonywania instrukcji chdev -l sys0 -a maxuproc=’nn’
SQL.
Wartość QueryTimeoutInterval określa czas gdzie nn jest nową wartością dziesiętną parametru
oczekiwania przez wątek obsługi przekroczenia maxuproc.
limitu czasu dla zapytania między kolejnymi
próbami wykrycia zapytań, które utraciły ważność. Jeśli aplikacja używa wielu kontekstów z protokołem
Uwaga: Jeśli parametr QueryTimeoutInterval jest lokalnym, zmniejsz liczbę połączeń dozwolonych dla danej
ustawiony na wartość 0, każda wykonana w aplikacji aplikacji lub wybierz inny protokół (np. TCP/IP). W
próba ustawienia wartości przypadku użytkowników AIX w wersji 4.2.1 lub nowszej
SQL_ATTR_QUERY_TIMEOUT spowoduje zmienna środowiskowa EXTSHM może zostać ustawiona na
wystąpienie stanu SQLSTATE 01S02. ON, aby zwiększyć liczbę współużytkowanych segmentów
pamięci, do których może zostać przyłączony pojedynczy
7 Zwiększ wartość max_coordagents odpowiednio do proces.
wartości max_connections. Aplikacje utrzymujące
blokady w kursorach ze wstrzymaniem i kod_sql: -1224
umieszczone w kolejce do wykonania w trybie
koncentratora mogą powodować wstrzymanie
stan_sql: 55032
działania aktywnych agentów na czas oczekiwania
na te blokady. Taka sytuacja w połączeniu z
osiągnięciem wartości max_coordagents spowoduje, SQL1225N Żądanie nie zostało zrealizowane, ponieważ
że system nie będzie mógł obsłużyć skolejkowanej osiągnięto limit związany z procesem
aplikacji, aby mogła ona zwolnić utrzymywane systemu operacyjnego, wątkiem lub
przez nią blokady w celu rozstrzygnięcia tej sytuacji. obszarem wymiany.
Aby zminimalizować prawdopodobieństwo
Objaśnienie:
wystąpienia takiego scenariusza, należy
Osiągnięty został limit związany z procesem systemu
skonfigurować w systemie więcej agentów
operacyjnego, wątkiem lub obszarem wymiany. Dodatkowe
koordynujących lub ograniczyć użycie kursorów ze
informacje na temat problemu można znaleźć w dzienniku
wstrzymaniem.
powiadomień administracyjnych. W systemach AIX: wartość
8 Zmień próg CONNECTIONIDLETIME i zwiększ maxuproc może być za mała.
maksymalny czas bezczynności połączenia.
Działanie użytkownika:
Zapoznaj się z zawartością dziennika powiadomień
Użytkownicy systemu stowarzyszonego powinni również:
administracyjnych w celu ustalenia, który limit został
v Zlokalizować problem do źródła danych odrzucającego przekroczony, po czym zwiększ ten limit.
żądanie (procedury, z których należy korzystać przy
identyfikowaniu niesprawnego źródła danych, można kod_sql: -1225
znaleźć w podręczniku Troubleshooting Guide) i upewnić
się, że podsystem komunikacyjny jest aktywny oraz że na stan_sql: 57049
serwerze bazy danych został uruchomiony menedżer bazy
danych i wymagane procesy serwera protokołu
komunikacyjnego.
v Dla systemów operacyjnych AIX sprawdzić ustawienie
wartości maxuproc i zmienić ją w razie potrzeby. Parametr

208 Komunikaty, tom 2


SQL1226N • SQL1227N

v Jedna statystyka PAGE_FETCH_PAIR musi


SQL1226N Uruchomiono już maksymalną liczbę
zawierać dokładnie 11 par.
połączeń klienckich.
v Jeśli CLUSTERFACTOR jest > 0, wartość
Objaśnienie: PAGE_FETCH_PAIRS musi być poprawna.
Liczba połączeń klienckich jest obecnie równa maksymalnej
v Poszczególne wartości statystyki
wartości zdefiniowanej w pliku konfiguracyjnym systemu.
PAGE_FETCH_PAIRS nie mogą zawierać więcej
niż 19 cyfr i muszą być mniejsze od największej
Przetworzenie operacji nie jest możliwe.
wartości przewidzianej dla typu integer
Działanie użytkownika: (MAXINT = 9223372036854775807).
Poczekaj, aż inne aplikacje odłączą się od bazy danych. Jeśli v Pozycje PAGE_FETCH_PAIRS zawierające
istnieje potrzeba równoległego uruchamiania jednej lub więcej wielkość buforu powinny być uporządkowane
aplikacji, zwiększ wartość max_connections. Można również rosnąco. Ponadto żadna z wartości określających
rozważyć ustawienie wartości max_connections na wielkość buforu w pozycji
AUTOMATIC w celu dopuszczenia dowolnej liczby połączeń, PAGE_FETCH_PAIRS nie może przekroczyć
o ile tylko będzie wystarczająca ilość pamięci do ich obsługi. wartości MIN(NPAGES, 1048576) w przypadku
Jeśli wartość max_connections jest większa niż wartość platform 32-bitowych i MIN(NPAGES,
max_coordagents, zostanie włączona funkcja koncentratora. 2147483647) w przypadku platform 64-bitowych,
gdzie NPAGES jest liczbą stron odpowiedniej
kod_sql: -1226 tabeli.
v Pozycje ″pobrania″ PAGE_FETCH_PAIRS
stan_sql: 57030 muszą mieć malejące wartości i żadna pozycja
pobrania nie może być mniejsza niż NPAGES.
SQL1227N Statystyka katalogu wartość dla kolumny Żadna wielkość ″pobrania″ znajdująca się w
kolumna jest poza zakresem dla swojej pozycji PAGE_FETCH_PAIRS, nie może być
kolumny docelowej, ma niepoprawny większa od statystyki CARD (liczność)
format lub jest niespójna w relacji z odpowiedniej tabeli.
pewnymi innymi danymi statystycznymi. v Jeśli wielkość buforu jest taka sama w dwóch
Kod przyczyny = kod. kolejnych parach, wartości pobrania muszą być w
obu parach również takie same.
Objaśnienie:
Wartość lub format statystyki katalogu, który może być 5 Zasady dotyczące CLUSTERRATIO i
zaktualizowany, jest niepoprawna, wykracza poza CLUSTERFACTOR :
dopuszczalny zakres lub jest niespójna. Najczęściej spotykane v Poprawną wartością dla CLUSTERRATIO jest -1
sprawdzanie wartości, zakresu i formatu i odpowiadające im lub wartości od 0 do 100.
kody kod)to:
v Poprawną wartością dla CLUSTERFACTOR jest
1 Statystyka liczbowa musi mieć wartość -1 lub >= 0. -1 lub wartości od 0 do 1.
2 Statystyka liczbowa wyrażająca procent (np. v CLUSTERRATIO albo CLUSTERFACTOR
CLUSTERRATIO) musi przyjmować wartość od 0 musi mieć zawsze wartość -1.
do 100. v Jeśli CLUSTERFACTOR ma dodatnią wartość,
musi jej towarzyszyć prawidłowa wartość
3 Zasady dotyczące HIGH2KEY i LOW2KEY:
statystyki PAGE_FETCH_PAIR.
v Typ danych każdej wartości HIGH2KEY,
LOW2KEY musi być taki sam, jak typ danych 6 Liczność kolumny (statystyka COLCARD w
odpowiedniej kolumny użytkownika. SYSCOLUMNS) lub grupy kolumn
(COLGROUPCARD w SYSCOLGROUPS) nie
v Wartość HIGH2KEY, LOW2KEY musi mieć
może być większa niż liczność odpowiadającej jej
długość nie większą niż maksymalna długość typu
tabeli (statystyka CARD w SYSTABLES).
danych kolumny docelowej i zarazem nie większą
niż 33. 7 Dla kolumn o następujących typach danych: LONG
v Wartość HIGH2KEY musi być > LOW2KEY, VARCHAR, LONG VARGRAPHIC, BLOB,
zawsze gdy w odpowiedniej kolumnie jest 3 lub CLOB, DBCLOB oraz o typach strukturalnych
więcej różnych wartości. W przypadku, gdy w zdefiniowanych przez użytkownika nie są
kolumnie są mniej niż 3 różne wartości, wartość obsługiwane statystyki.
HIGH2KEY może być równa LOW2KEY. 8 Statystyka jest niespójna z innymi pokrewnymi
4 Zasady dotyczące PAGE_FETCH_PAIRS : statystykami dla tej jednostki lub jest niepoprawna w
tym kontekście.
v Poszczególne wartości statystyki
PAGE_FETCH_PAIRS muszą być oddzielone 9 W przypadku tabel niepartycjonowanych nie można
pustymi separatorami. aktualizować następujących danych statystycznych,
dotyczących partycjonowania tabel, w tabeli

Rozdział 2. Komunikaty SQL 209


SQL1228W • SQL1229N

SYSSTAT.INDEXES: v AVGPARTITION_CLUSTERRATIO albo


AVGPARTITION_CLUSTERRATIO, AVGPARTITION_CLUSTERFACTOR musi
AVGPARTITION_CLUSTERFACTOR, mieć zawsze wartość -1.
AVGPARTITION_PAGE_FETCH_PAIRS i v Jeśli AVGPARTITION_CLUSTERFACTOR ma
DATAPARTITION_CLUSTERFACTOR. dodatnią wartość, musi jej towarzyszyć
10 Zasady dotyczące prawidłowa wartość statystyki
AVGPARTITION_PAGE_FETCH_PAIRS: AVGPARTITION_PAGE_FETCH_PAIR.
v Poszczególne wartości statystyki 12 Zasady dotyczące parametru
AVGPARTITION_PAGE_FETCH_PAIRS muszą DATAPARTITION_CLUSTERFACTOR:
być oddzielone pustymi separatorami. v Poprawnymi wartościami parametru
v Jedna statystyka DATAPARTITION_CLUSTERFACTOR są
AVGPARTITION_PAGE_FETCH_PAIR musi liczby z przedziału od 0 do 1 oraz liczba -1.
zawierać dokładnie 11 par.
Działanie użytkownika:
v Jeśli AVGPARTITION_CLUSTERFACTOR jest Sprawdź, czy nowa statystyka katalogu spełnia podane
> 0, wartość wymagania, dotyczące zakresu, długości i formatu.
AVGPARTITION_PAGE_FETCH_PAIRS musi
być poprawna. Sprawdź, czy aktualizacje statystyk są spójne dla wzajemnych
v Poszczególne wartości statystyki związków (np. liczność).
AVGPARTITION_PAGE_FETCH_PAIRS nie
mogą zawierać więcej niż 19 cyfr i muszą być W przypadku tabel niepartycjonowanych nie należy próbować
mniejsze od największej wartości przewidzianej aktualizować kolumn statystyk specyficznych dla tabel
dla typu integer (MAXINT = partycjonowanych.
9223372036854775807).
v Pozycje kod_sql: -1227
AVGPARTITION_PAGE_FETCH_PAIRS
zawierające wielkość buforu powinny być stan_sql: 23521
uporządkowane rosnąco. Ponadto żadna z
wartości określających wielkość buforu w pozycji
AVGPARTITION_PAGE_FETCH_PAIRS nie SQL1228W Instrukcja DROP DATABASE została
może przekroczyć wartości MIN(NPAGES, zakończona, ale nie można znaleźć aliasu
1048576) w przypadku platform 32-bitowych i bazy danych lub nazwy bazy danych nazwa
MIN(NPAGES, 2147483647) w przypadku w liczba węzłach.
platform 64-bitowych, gdzie NPAGES jest liczbą Objaśnienie:
stron odpowiedniej tabeli. Komenda usuwająca bazę danych została wykonana
v Pozycje ″pobrania″ z pozycji poprawnie, istnieją jednak węzły, w których nie odnaleziono
AVGPARTITION_PAGE_FETCH_PAIRS muszą aliasu lub nazwy bazy danych. Możliwe, że dla tych węzłów
mieć wartości malejące i żadna indywidualna wykonano wcześniej komendę DROP DATABASE AT
pozycja pobrania nie może być mniejsza niż NODE.
NPAGES. Ponadto żadna wielkość ″pobrania″
Działanie użytkownika:
znajdująca się w pozycji
Komunikat ten jest tylko ostrzeżeniem. Nie jest wymagane
AVGPARTITION_PAGE_FETCH_PAIRS nie
żadne działanie.
może być większa od statystyki CARD (liczność)
odpowiedniej tabeli.
v Jeśli wielkość buforu jest taka sama w dwóch SQL1229N Transakcja została wycofana z powodu
kolejnych parach, wartości pobrania muszą być w błędu systemu.
obu parach również takie same. Objaśnienie:
11 Zasady dotyczące Wystąpiła jedna z następujących sytuacji:
AVGPARTITION_CLUSTERRATIO i 1. Wystąpił błąd systemu, taki jak błąd w węźle lub błąd
AVGPARTITION_CLUSTERFACTOR : połączenia. Aplikacja została wycofana do stanu, w jakim
v Poprawną wartością dla była po wykonaniu ostatniej instrukcji COMMIT.
AVGPARTITION_CLUSTERRATIO jest -1 lub Poniżej opisano działania wykonywane dla różnych
wartości od 0 do 100. funkcji narzędziowych DB2:
v Poprawną wartością dla Import Aplikacja zostaje wycofana. Jeśli użyto
AVGPARTITION_CLUSTERFACTOR jest -1 parametru COMMITCOUNT, następuje
lub wartości od 0 do 1. cofnięcie do poprzedniego momentu
zatwierdzania.

210 Komunikaty, tom 2


SQL1230W • SQL1233N

Reorg Operacja zostaje przerwana i musi być v Został podany nieistniejący lub nieprawidłowy identyfikator
wprowadzona ponownie. agenta.
Przeprowadź redystrybucję v Agent odłączył się od menedżera baz danych między
Operacja zostaje przerwana, jednak w niektórych zgromadzeniem identyfikatorów agentów a wykonaniem
przypadkach może się zakończyć prawidłowo. komendy Force.
Ponowne wprowadzenie żądania z opcją v Określony identyfikator dotyczył agenta równoległego,
″continue″ uruchomi operację ponownie, który nie podlega wymuszeniu.
poczynając od miejsca, w którym wystąpił błąd.
Działanie użytkownika:
Odtwarzanie zmian Jeśli został podany nieistniejący lub nieprawidłowy
Operacja zostaje przerwana, a baza danych identyfikator agenta, wprowadź ponownie komendę, podając
pozostaje w stanie odtwarzania zmian. Komenda prawidłowy identyfikator agenta.
musi zostać wprowadzona ponownie.
Backup/Restore SQL1231N Podano niepoprawną wartość parametru
Operacja zostaje przerwana i musi być liczba dla komendy Force.
wprowadzona ponownie.
Objaśnienie:
2. Numery portu usługi przypisane do komunikacji FCM Wartość parametru liczba komendy Force jest niepoprawna.
(Fast Communication Manager) nie są takie same dla Podany parametr musi być dodatnią liczbą całkowitą albo musi
wszystkich węzłów w instancji DB2. Sprawdź plik mieć wartość SQL_ALL_USERS. Wartość 0 spowoduje błąd.
Services używany we wszystkich węzłach, aby się
upewnić, że dla wszystkich węzłów podano takie same Działanie użytkownika:
porty. Porty definiuje się przy użyciu formatu: Popraw parametr liczba i wprowadź ponownie komendę.
DB2_<instancja> xxxx/tcp
DB2_<instancja>_END xxxx/tcp SQL1232N Podano niepoprawny tryb dla komendy
Force.
gdzie <instancja> jest nazwą instancji DB2, a xxxx
numerem portu. Sprawdź, czy te numery portów nie są Objaśnienie:
używane do obsługi zdalnego klienta DB2. Parametr komendy Force zawierający tryb jest niepoprawny.
Dla komendy Force obsługiwany jest tylko tryb
Działanie użytkownika: asynchroniczny. Parametr musi mieć wartość SQL_ASYNCH.
1. Powtórz żądanie. Jeśli błąd będzie występował nadal, Działanie użytkownika:
dodatkowych informacji należy szukać w dzienniku Ustaw tryb na SQL_ASYNCH i wprowadź ponownie
powiadomień administracyjnych. Może być konieczne komendę.
skorzystanie z pomocy administratora systemu, ponieważ
najczęstszą przyczyną opisywanego błędu jest uszkodzenie
węzła. SQL1233N Użycie tej klauzuli lub funkcji skalarnej jest
Zauważ, że w środowisku SP, gdzie używany jest obsługiwane tylko w przypadku danych
przełącznik o dużej prędkości, błąd ten może być objawem graficznych bazy danych w kodzie Unicode.
jego uszkodzenia. Objaśnienie:
2. Zaktualizuj porty usług, aby były takie same we Wyrażenie łańcucha graficznego UCS-2 z bazy danych w
wszystkich węzłach i spróbuj ponowić żądanie. kodzie Unicode jest wymagane dla:
v pierwszego argumentu funkcji skalarnej typu VARCHAR;
Szóste pole obszaru komunikacyjnego SQL o nazwie sqlerrd v pierwszego argumentu funkcji skalarnej typu
wskazuje numer węzła, w którym wykryto uszkodzenie. W VARGRAPHIC, gdy określony jest drugi argument;
węźle, który wykrył uszkodzenie, zostanie umieszczony
komunikat w pliku db2diag. v podania stałej szesnastkowej UCS-2, jeśli jest używany
format UX’hex-digits’.
kod_sql: -1229
Nie można wykonać instrukcji.
stan_sql: 40504 Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawne typy
danych.
SQL1230W Nie można wymusić co najmniej jednego z
podanych identyfikatorów agentów.
kod_sql: -1233
Objaśnienie:
Co najmniej jeden identyfikator agenta podany w komendzie stan_sql: 560AA
Force nie mógł zostać wymuszony. Przyczyny tego ostrzeżenia
mogą być następujące:

Rozdział 2. Komunikaty SQL 211


SQL1234N • SQL1237W

kod_sql: -1235
SQL1234N Nie można przekształcić obszaru tabel
nazwa-obszaru-tabel w obszar tabel typu
LARGE. stan_sql: 560CF

Objaśnienie:
Tylko obszary tabel typu REGULAR DMS można SQL1236N Dla tabeli nazwa-tabeli nie można
przekształcić w obszar tabel typu LARGE DMS. Nie można przydzielić nowej strony, ponieważ indeks o
przekształcić obszaru tabel katalogu systemowego, obszarów identyfikatorze identyfikator-indeksu nie
tabel SMS i tymczasowego obszaru tabel w obszar tabel typu obsługuje jeszcze identyfikatorów RID typu
LARGE. LARGE.

Działanie użytkownika: Objaśnienie:


Sprawdź atrybuty obszaru tabel, wydając komendę SELECT Obszar tabel, w którym znajduje się dana tabela, został
TBSPACE, TBSPACETYPE, DATATYPE FROM przekształcony w obszar tabel typu LARGE za pomocą
SYSCAT.TABLESPACES WHERE TBSPACE = klauzuli CONVERT TO LARGE instrukcji ALTER
’nazwa-obszaru-tabel’. Określony obszar tabel nie może być TABLESPACE. Sama tabela nie może obsługiwać
obszarem tabel katalogu systemowego (obszar tabel identyfikatorów RID typu LARGE, dopóki wszystkie
TBSPACE nie może być obszarem tabel typu istniejące uprzednio indeksy dla danej tabeli nie zostaną
’SYSCATSPACE’), lecz musi być obszarem tabel DMS zreorganizowane lub odbudowane, tak aby obsługiwały
(parametr TBSPACETYPE musi mieć wartość ’D’), a także identyfikatory RID typu LARGE. Należy zreorganizować lub
obszarem tabel typu REGULAR (parametr DATATYPE musi odbudować indeksy, aby zapewnić obsługę tej tabeli w
mieć wartość ’A’). przyszłości, gdy ulegnie ona powiększeniu.
Działanie użytkownika:
kod_sql: -1234 Indeksy można reorganizować przy użyciu instrukcji REORG
INDEXES ALL FOR TABLE nazwa-tabeli, ale bez klauzuli
stan_sql: 560CF CLEANUP ONLY. W przypadku tabel partycjonowanych
należy określić opcję ALLOW NO ACCESS. Można również
zreorganizować tabelę za pomocą instrukcji REORG TABLE
SQL1235N Obszaru tabel nazwa-obszaru-tabel nie
bez klauzuli INPLACE, co spowoduje nie tylko odbudowanie
można przekształcić w obszar tabel typu
wszystkich indeksów, lecz także włączenie dla tej tabeli
LARGE w związku z ograniczeniem
obsługi większej liczby wierszy na stronie niż 255.
nakładanym przez tabelę nazwa-tabeli.
Objaśnienie: kod_sql: -1236
Partycje danych partycjonowanej tabeli występują w wielu
obszarach tabel DMS typu REGULAR. W obszarze tabel stan_sql: 55066
muszą znajdować się wszystkie partycje danych
partycjonowanej tabeli, aby można było przekształcić go w
obszar tabel typu LARGE. SQL1237W Trwa przekształcanie obszaru tabel
nazwa-obszaru-tabel typu REGULAR w
Działanie użytkownika: obszar tabel typu LARGE. Aby zapewnić
Aby pomyślnie przekształcić obszary tabel partycjonowanej obsługę identyfikatorów RID typu LARGE,
tabeli: należy zreorganizować lub odbudować
1. Dla każdego obszaru tabel, w którym znajdują się partycje indeksy dla tabel w tym obszarze tabel.
danych partycjonowanej tabeli (za wyjątkiem jednego z Objaśnienie:
obszarów tabel), odłącz od partycjonowanej tabeli partycje Po wykonaniu instrukcji COMMIT w przekształcanym
danych znajdujące się w tych obszarach tabel. Zatwierdź te obszarze tabel wielkość obsługiwanej pamięci masowej może
działania odłączenia. być większa niż w obszarze tabel typu REGULAR.
2. Przekształć każdy z tych obszarów tabel za pomocą opcji Maksymalna liczba stron dla stron danych w obszarze tabel
COVERT TO LARGE instrukcji ALTER TABLESPACE. typu REGULAR to 0x00FFFFFF. Aby w tabeli możliwe było
Zatwierdź każdą instrukcję. obsłużenie liczby stron większej niż 0x00FFFFFF, należy
3. Przekształć obszar tabel, w którym znajdują się pozostałe zreorganizować lub odbudować indeksy dla tej tabeli.
partycje danych partycjonowanej tabeli. Zatwierdź Działanie użytkownika:
działanie. W dokumentacji dotyczącej instrukcji ALTER TABLESPACE
4. Odbuduj indeksy dla partycjonowanej tabeli za pomocą dostępnej w podręczniku SQL Reference zaleca się użycie
instrukcji REORG INDEXES ALL FOR TABLE opcji CONVERT TO LARGE. Należy postępować zgodnie z
nazwa-tabeli ALLOW NO ACCESS, lub reorganizując tymi zaleceniami, aby aktywnie reorganizować lub
partycjonowaną tabelę. odbudowywać wszystkie indeksy dla wszystkich tabel w
5. Zreorganizuj każdą nową tabelę, która powstanie w danym obszarze tabel w celu uniknięcia potencjalnych błędów
wyniku operacji odłączenia partycji danych. w przyszłości związanych z przydzieleniem do tabeli strony o
numerze większym niż 0x00FFFFFF.
6. Podłącz ponownie każdą tabelę do partycjonowanej tabeli.

212 Komunikaty, tom 2


SQL1238N • SQL1242N

kod_sql: +1237 funkcji ze składnicy danych pureXML, wyklucza przyszłe


wykorzystanie opcji partycjonowania tej bazy danych.
stan_sql: 01686
Działanie użytkownika:
W przypadku bazy danych z wieloma partycjami bazy danych,
SQL1238N Zestaw wynikowy określony do zwrócenia do funkcji akceptujących wejściowe dane XML można
klientowi jest niepoprawny. Kod przyczyny wprowadzić takie dane, a następnie przechowywać dane
= kod-przyczyny. wyjściowe funkcji w bazie danych lub zwrócić je do aplikacji.
W tym przypadku, aby użyć opcji składnicy pureXML, w
Objaśnienie: osobnej instancji należy utworzyć nową bazę danych, dla
Zestaw wynikowy podany w klauzuli WITH RETURN TO której nie została użyta funkcja partycjonowania bazy danych.
CLIENT w instrukcji CREATE PROCEDURE (potomna) jest Podobnie, aby użyć opcji partycjonowania bazy danych,
niepoprawny. Możliwe kody przyczyny to: należy użyć bazy danych, na której nie były wykorzystywane
1 Jeśli źródłem danych jest program Microsoft SQL funkcje składnicy pureXML, lub należy utworzyć nową bazę
Server, Sybase lub Informix, zestaw wynikowy danych w osobnym środowisku partycjonowanej bazy danych.
określony przez numer pozycji w zwracanym
zbiorze zestawów wynikowych w klauzuli WITH kod_sql: -1239
RETURN TO CLIENT w instrukcji CREATE
PROCEDURE (potomna) nie jest równy 1. stan_sql: 42997
2 Jeśli źródłem danych jest program Oracle,
największy numer pozycji w zwracanym zbiorze SQL1240N Osiągnięto maksymalną liczbę wygaszaczy.
zestawów wynikowych w klauzuli WITH RETURN
Objaśnienie:
TO CLIENT w instrukcji CREATE PROCEDURE
Usiłowano osiągnąć stan wygaszenia w obszarze tabel
(potomna) jest większy niż maksymalna liczba REF
wygaszonym już przez 5 procesów.
CURSORS w źródle danych.
Działanie użytkownika:
Działanie użytkownika:
Poczekaj, aż jakiś proces zwolni swój stan wygaszenia, a
Zalecane działania w zależności od kodu przyczyny:
następnie powtórz próbę.
1 Usuń odwołania do wszystkich numerów pozycji
innych niż 1 w zwracanym zbiorze zestawów
SQL1241N Podczas tworzenia bazy danych podano
wynikowych.
niepoprawną wartość dla definicji obszaru
2 Usuń odwołania do wszystkich numerów pozycji w tabel nazwa-obszaru-tabel. Atrybutem jest
zwracanym zbiorze zestawów wynikowych, które są łańcuch.
większe niż maksymalna liczba REF CURSORS w
Objaśnienie:
źródle danych.
Wartość dla obszaru tabel przekroczyła dopuszczalny zakres.
Informacje o formacie struktury sqletsdesc używanej do
kod_sql: -1238
tworzenia interfejsu API bazy danych można znaleźć w
Centrum informacyjnym DB2 (http://publib.boulder.ibm.com/
stan_sql: 560CI infocenter/db2luw/v9). Zidentyfikowany atrybut jest nazwą
pola tej struktury.
SQL1239N Opcje składnicy danych pureXML mogą Działanie użytkownika:
być używane tylko dla bazy danych z Popraw żądanie tworzenia bazy danych.
pojedynczą partycją.
Objaśnienie: SQL1242N Opcja XML nie jest obsługiwana w
Użycie opcji składnicy danych XML jest ograniczone do baz kontekście, w którym została użyta. Kod
danych, które mają tylko jedną partycję. Opcje, takie jak przyczyny = kod-przyczyny.
definiowanie kolumn dla typu danych XML, rejestrowanie
obiektów repozytorium schematów XML i wyrażenia XQuery, Objaśnienie:
nie są dostępne w środowisku partycjonowanej bazy danych. Instrukcji nie można przetworzyć, ponieważ opcja XML
została użyta w kontekście, w którym nie jest obsługiwana.
W środowisku partycjonowanej bazy danych typ danych XML Wartość kodu-przyczyny wskazuje kontekst.
może być używany tylko jako typ danych przejściowych, a 1 Kolumny typu danych XML nie są obsługiwane w
dostępne funkcje XML są ograniczone do podzbioru zgodnego tabeli zorganizowanej według wymiarów.
z obsługą w wersji 8. Funkcjonalność składnicy pureXML
wprowadzona w wersji 9 (taka jak funkcje XMLCOMMENT i 2 Kolumny typu danych XML nie są obsługiwane w
XMLPI), a także możliwości dodane w wersji 9 do już tabeli podzielonej na partycje według zakresu.
istniejących funkcji XML, nie mogą być wykorzystywane
3 Kolumn danych typu XML nie można dodawać do
równocześnie z opcją partycjonowanej bazy danych dostępnej
tabeli z istniejącymi indeksami typu 1.
w produkcie DB2 Enterprise Server Edition. Użycie dowolnej

Rozdział 2. Komunikaty SQL 213


SQL1243W • SQL1245N

4 Nie można definiować klucza rozdzielania dla tabeli


SQL1243W Usunięcie tabeli operacji db2look o nazwie
z kolumną XML.
SYSTOOLS.DB2LOOK_INFO w bazie
5 Kolumny typu danych XML nie są obsługiwane w danych DB2, wersja 8, nie powiodło się.
widoku, który jest obiektem docelowym wyzwalacza
Objaśnienie:
INSTEAD OF.
Komenda MIGRATE DATABASE sprawdza, czy w bazie
6 Odwołania do zmiennych przejściowych danych danych produktu DB2 w wersji 8 istnieje tabela operacji
typu XML w definicji wyzwalacza nie są db2look o nazwie SYSTOOLS.DB2LOOK_INFO i usuwa ją,
obsługiwane. jeśli istnieje. Komenda usunięcia tabeli nie powiedzie się, jeśli
w bazie danych jest tabela o takiej samej nazwie, ale z innymi
7 Dla tabel zawierających dane typu XML nie można definicjami kolumn.
określić operacji zalecanej reorganizacji (REORG) w
instrukcji ALTER TABLE. Działanie użytkownika:
Sprawdź definicję tabeli SYSTOOLS.DB2LOOK_INFO po
8 Kolumna danych typu XML jest obsługiwana przez zakończeniu migracji bazy danych. Jeśli jest to tabela
opakowanie powiązane z definicją pseudonimu tylko utworzona przez system, należy usunąć ją ręcznie. Jeśli jest to
wtedy, gdy definicja kolumny nie ma opcji. Taka tabela tworzona przez użytkownika, należy zmienić jej nazwę.
kolumna odpowiada treści dokumentu XML W przeciwnym razie wykonanie instrukcji ALTER TABLE i
zwracanej ze źródła danych. COPY SCHEMA w produkcie DB2 w wersji 9 nie powiedzie
Działanie użytkownika: się.
Działanie zależy od kodu przyczyny.
kod_sql: +1243
1 Nie używaj typu danych XML dla żadnej kolumny
zdefiniowanej w tabeli zorganizowanej według
wymiarów. SQL1244W Rozłączenie dla bazy danych menedżera
transakcji nazwa-serwera nastąpi podczas
2 Nie używaj typu danych XML dla żadnej kolumny następnej instrukcji COMMIT.
zdefiniowanej w tabeli podzielonej na partycje
według zakresu. Objaśnienie:
Wprowadzono komendę rozłączenia dla bazy danych, która
3 Użyj komendy REORG INDEXES z opcją funkcjonuje jako baza danych TM. Rozłączenie nie może
CONVERT, aby przekształcić indeksy tabeli w zostać wykonane przed następną instrukcją COMMIT.
indeksy typu 2 przed użyciem instrukcji ALTER
TABLE w celu dodania kolumny typu XML. Działanie użytkownika:
Jeśli jest konieczne natychmiastowe rozłączenie bazy danych
4 Zmień definicję tabeli, aby uniknąć posiadania funkcjonującej jako baza danych TM, należy najpierw
zarówno klucza rozdzielania, jak i kolumny XML. wykonać instrukcję COMMIT.
W instrukcji CREATE TABLE można to zrobić,
usuwając klauzulę DISTRIBUTE BY (lub klauzulę
kod_sql: +1244
PARTITIONING KEY) lub usuwając wszystkie
kolumny z danymi typu XML. W instrukcji ALTER
stan_sql: 01002
TABLE należy albo usunąć klucz rozdzielania przed
dodaniem kolumny typu danych XML, albo usunąć
wszystkie kolumny XML przed dodaniem klucza SQL1245N Osiągnięto limit połączeń. Dla tego klienta
rozdzielania. nie można uruchomić więcej połączeń.
5 Nie należy określać widoku z kolumnami danych Objaśnienie:
typu XML jako obiektu docelowego wyzwalacza Osiągnięto maksymalną liczbę współbieżnych połączeń z bazą
INSTEAD OF. danych w środowisku, w którym liczba połączeń jest
ograniczona lub musi być predefiniowana wstępnie.
6 Nie używaj zmiennych przejściowych o typie
Opisywany błąd pojawia się najczęściej przy korzystaniu z
danych XML w definicji wyzwalacza.
protokołu NETBIOS.
7 Wszelkie zalecane operacje REORG muszą zostać
Działanie użytkownika:
usunięte z instrukcji ALTER TABLE.
Możliwe działania:
8 Znajdź kolumny typu XML w definicji pseudonimu, v Skorzystaj z komendy SET CLIENT lub z funkcji API, aby
które mają opcje kolumn. Dla każdej niepoprawnej ustawić maksymalną liczbę współbieżnych połączeń w polu
definicji kolumny należy zmienić typ danych na inny MAX NETBIOS CONNECTIONS. Trzeba to zrobić przed
albo usunąć wszystkie opcje kolumn. uruchomieniem wszystkich połączeń.

kod_sql: -1242 kod_sql: -1245

stan_sql: 42997 stan_sql: 08001

214 Komunikaty, tom 2


SQL1246N • SQL1250N

Działanie użytkownika:
SQL1246N Nie można zmienić ustawień dla aktywnego
Zdefiniuj bazę danych w menedżerze transakcji środowiska
połączenia.
rozproszonego (Distributed Transaction Processing)
Objaśnienie: działającego jako menedżer zasobów. Na przykład w
Wystąpiła jedna z następujących sytuacji: środowisku CICS wymagane jest dodanie bazy danych do
v Próbowano zmienić ustawienia połączenia dla aplikacji, pliku XAD, a w łańcuchu XAOpen pozycji XAD jest
korzystając z funkcji API SET CLIENT. Komenda została dostarczany alias bazy danych.
odrzucona, ponieważ istniało co najmniej jedno połączenie.
kod_sql: -1248
v Aplikacja zawiera wywołania funkcji API Call Level
Interface dla DB2 i wywołania funkcji zawierających
wbudowany SQL i nie odwołano się do zarządzania stan_sql: 42705
połączeniem przy użyciu funkcji API CLI.
Działanie użytkownika: SQL1249N Typ danych DATALINK nie jest
Możliwe działania: obsługiwany. Należy usunąć lub zmienić
obiekt obiekt-bazy-danych, aby uniknąć
v Sprawdź, czy przed próbą użycia funkcji API SET CLIENT używania typu danych DATALINK.
(sqlesetc lub sqlgsetc) lub komendy CLP aplikacja odłącza
się od wszystkich serwerów. Objaśnienie:
v Jeśli aplikacja używa interfejsu CLI, upewnij się, że Podczas działania narzędzia db2ckmig zostało wystąpienie
wszystkie żądania związane z zarządzaniem połączeniami typu danych DATALINK, co spowodowało niepowodzenie
są realizowane przez funkcje API Call Level Interface dla migracji.
DB2.
Do obiektów bazy danych używających typu danych
DATALINK należą tabele, widoki, funkcje, metody, typy
SQL1247N Aplikacje działające w środowisku odrębne i typy danych o określonej strukturze.
przetwarzania transakcji XA muszą
korzystać z ustawienia połączenia Działanie użytkownika:
SYNCPOINT TWOPHASE. Usuń lub zaktualizuj obiekt bazy danych identyfikowanej
przez obiekt-bazy-danych odwołujący się do typu danych
Objaśnienie: DATALINK przed próbą migracji bazy danych.
Aplikacja została prekompilowana z opcją SYNCPOINT
ONEPHASE lub SYNCPOINT NONE, albo ustawienia
SYNCPOINT zostały zmienione na jedną z tych wartości przy SQL1250N Partycja bazy danych nie została dodana,
użyciu funkcji API SET CLIENT. Ustawienia te są ponieważ opcje XML zostały użyte w
niepoprawne dla aplikacji, które prowadzą do uruchomienia instancji.
komend synchronizujących przetwarzanie transakcji (na Objaśnienie:
przykład CICS SYNCPOINT). Zauważ, że SYNCPOINT Instancja menedżera bazy danych utworzyła już przynajmniej
ONEPHASE jest domyślną opcją prekompilatora. jedną bazę danych, w której został utworzony obiekt XML, na
Działanie użytkownika: przykład tabela z kolumną typu danych XML lub obiekt
Możliwe działania: repozytorium schematów XML. Nawet jeśli obiekt XML już
nie istnieje, instancja menedżera bazy danych jest nadal
v Ponownie prekompiluj aplikację, używając opcji
uważana za korzystającą z XML. Jeśli instancja menedżera
SYNCPOINT TWOPHASE.
bazy danych jest znana jako używająca XML w ten sposób,
v Zmodyfikuj program, tak aby funkcja API SET CLIENT nie może ona już mieć więcej niż jednej partycji bazy danych.
nadająca opcji połączenia wartość SYNCPOINT Każda próba dodania partycji bazy danych spowoduje
TWOPHASE była wywoływana na początku. zwrócenie tego błędu.

kod_sql: -1247 Działanie użytkownika:


Jeśli dowolna z baz danych stanowiących część instancji
używa kolumn typu danych XML lub obiektów repozytorium
stan_sql: 51025
schematów XML, do utworzenia instancji z wieloma
partycjami bazy danych będzie potrzebna inna instancja.
SQL1248N Baza danych alias-bazy-danych
niezdefiniowana za pomocą menedżera Jeśli bazy danych w instancji w rzeczywistości nie służą do
transakcji. przechowywania danych XML, z instancji muszą zostać
usunięte wszelkie odwołania do danych XML. Indykatory
Objaśnienie:
będą nadal istniały w instancji i w bazach danych, nawet jeśli
Usiłowano skorzystać z bazy danych, która nie została otwarta
nie są one już kolumnami typu danych XML lub obiektami
przez menedżera transakcji. Aby baza danych mogła
repozytorium schematów XML. Istnieją dwa podejścia do
uczestniczyć w procesie zatwierdzania dwufazowego, musi
kasowania indykatora XML instancji i indykatorów XML na
być zdefiniowana w menedżerze transakcji.
poziomie bazy danych.

Rozdział 2. Komunikaty SQL 215


SQL1251W • SQL1254N

1. Wyeksportuj dane inne niż XML z istniejących baz danych kod_sql: -1252
w instancji. Utwórz nową instancję z nowymi bazami
danych. Zaimportuj dane do bazy danych w nowej stan_sql: 42725
instancji.
2. Użyj chronionej hasłem opcji db2pdcfg, aby zmienić SQL1253N W źródle danych nie znaleziono procedury
indykatory XML w konfiguracji bazy danych dla każdej źródłowej o nazwie nazwa-procedury-
bazy danych w instancji i dla konfiguracji menedżera bazy źródłowej. Kod przyczyny = kod-przyczyny.
danych instancji. Przed wykonaniem tej czynności bardzo
ważne jest, aby żadna baza danych w instancji nie Objaśnienie:
zawierała kolumn typu XML oraz aby repozytorium Procedura źródłowa określona w instrukcji CREATE
schematów XML każdej bazy danych było puste. Aby PROCEDURE (potomnej) nie została odnaleziona w źródle
użyć tej opcji, skontaktuj się z serwisem IBM. danych. Możliwe kody przyczyny to:
1 Nazwa obiektu źródłowego wraz z wartością
SQL1251W Nie zwrócono danych dla zapytania NUMBER OF PARAMETERS nie identyfikuje
heurystycznego. procedury w źródle danych.
Objaśnienie: 2 Nazwa obiektu źródłowego wraz z wartością
W bazie danych nie ma wątpliwych transakcji i żadna NUMBER OF PARAMETERS i identyfikatorem
zakończona transakcja nie czeka na synchronizację. UNIQUE ID nie identyfikuje procedury w źródle
danych.
Działanie użytkownika:
Nie jest wymagane żadne działanie. 3 Nazwa pakietu źródłowego określona w instrukcji
CREATE PROCEDURE (potomnej) nie została
odnaleziona w źródle danych.
SQL1252N W źródle danych została zidentyfikowana
więcej niż jedna procedura dla procedury 4 Nazwa pakietu źródłowego określona w instrukcji
źródłowej nazwa-procedury-źródłowej CREATE PROCEDURE (potomnej) jest oznaczona
określonej w instrukcji CREATE w źródle danych jako niepoprawna.
PROCEDURE (potomnej). Kod przyczyny
5 Nazwa obiektu źródłowego nie identyfikuje
= kod-przyczyny.
procedury w źródle danych.
Objaśnienie:
6 Nazwa obiektu źródłowego określa identyfikator
W źródle danych została zidentyfikowana więcej niż jedna
UNIQUE ID, ale identyfikator UNIQUE ID nie jest
procedura dla procedury źródłowej nazwa-procedury
obsługiwany w źródle danych.
określonej w instrukcji CREATE PROCEDURE (potomnej).
Możliwe kody przyczyny to: Działanie użytkownika:
Zalecane działania w zależności od kodu przyczyny:
1 W źródle danych istnieje wiele procedur źródłowych
z identyczną nazwą procedury źródłowej i nazwą 1 Sprawdź, czy podana wartość NUMBER OF
schematu źródłowego. PARAMETERS jest poprawna.
2 W źródle danych istnieje wiele procedur źródłowych 2 Sprawdź, czy podany identyfikator UNIQUE ID jest
z identyczną nazwą procedury źródłowej, nazwą poprawny dla źródła danych oraz identyfikuje
schematu źródłowego i liczbą parametrów. procedurę w źródle danych.
3 W źródle danych istnieje wiele procedur źródłowych 3 Sprawdź, czy podana nazwa pakietu źródłowego jest
z identyczną nazwą procedury źródłowej. poprawna.
Działanie użytkownika: 4 Popraw definicję pakietu w źródle danych.
Zalecane działania w zależności od kodu przyczyny:
5 Sprawdź, czy podana nazwa obiektu źródłowego jest
1 Określ parametr NUMBER OF PARAMETERS w poprawna.
instrukcji CREATE PROCEDURE (potomnej), aby
6 Usuń klauzulę UNIQUE ID.
jednoznacznie zidentyfikować procedurę w źródle
danych.
kod_sql: -1253
2 Określ parametr UNIQUE ID w instrukcji CREATE
PROCEDURE (potomnej), aby jednoznacznie stan_sql: 42883
zidentyfikować procedurę w źródle danych.
3 Podaj nazwę-schematu-źródłowego w instrukcji SQL1254N Typ danych typ-danych nie jest obsługiwany
CREATE PROCEDURE (potomnej), aby przez serwer stowarzyszony lub źródło
jednoznacznie zidentyfikować procedurę w źródle danych nazwa-serwera. Został on użyty dla
danych. parametru nazwa-parametru w procedurze
nazwa-procedury.

216 Komunikaty, tom 2


SQL1255N • SQL1260N

Objaśnienie: Jeśli wymagana kolumna nie jest używana w predykacie w


Typ danych parametru określonego dla procedury nie jest zapytaniu, dodaj predykat odpowiednio używający kolumny.
obsługiwany albo przez serwer stowarzyszony, albo przez Jeśli wymagana kolumna jest w predykacie w zapytaniu,
źródło danych, do którego uzyskano dostęp. zmień strukturę zapytania tak, aby predykat był poprawny.
Poprawne predykaty są przedstawione w dokumentacji źródła
Działanie użytkownika:
danych.
Podaj obsługiwany typ danych i wprowadź ponownie program.
kod_sql: -1257
kod_sql: -1254
stan_sql: 429C0
stan_sql: 428C5

SQL1258N Obszary tabel SYSTOOLSPACE i


SQL1255N Wartość opcji wartość określona dla
SYSTOOLSTMPSPACE muszą zostać
procedury nazwa-procedury nie jest zgodna z
utworzone w grupie partycji bazy danych
odpowiednią opcją procedury źródłowej.
IBMCATGROUP.
Objaśnienie:
Objaśnienie:
Wartość dla dostępu do danych SQL (NO SQL, CONTAINS
Aby można było utworzyć obszary tabel SYSTOOLSPACE i
SQL, READS SQL DATA lub MODIFIES SQL DATA),
SYSTOOLSTMPSPACE, muszą one zostać zdefiniowane w
determinizmu (DETERMINISTIC lub NOT
grupie partycji bazy danych IBMCATGROUP.
DETERMINISTIC) lub akcji zewnętrznej (EXTERNAL
ACTION lub NO EXTERNAL ACTION) określona w Działanie użytkownika:
instrukcji CREATE PROCEDURE (potomnej) nie jest zgodna Ponownie wprowadź komendę CREATE TABLESPACE i
z odpowiednią opcją procedury źródłowej. określ klauzulę IN IBMCATGROUP.
Działanie użytkownika:
kod_sql: -1258
Skoryguj wartość opcji tak, aby była zgodna z odpowiednią
opcją procedury źródłowej.
stan_sql: 560CJ
kod_sql: -1255
SQL1259N Komenda ARCHIVE LOG zakończyła się
stan_sql: 428GS niepowodzeniem dla bazy danych
nazwa-bazy-danych na partycji bazy danych
lista-partycji ze względu na kod SQLCODE
SQL1256W Treść pakietu procedury źródłowej
SQLCODE.
nazwa-procedury-źródłowej w źródle danych
nie została odnaleziona lub jest Objaśnienie:
niepoprawna. Wystąpił błąd SQL podczas próby wykonania komendy
ARCHIVE LOG dla bazy danych nazwa-bazy-danych na
Objaśnienie:
partycji lista-partycji.
Procedura stowarzyszona została pomyślnie utworzona, ale
treść pakietu dla procedury źródłowej nazwa-procedury w Działanie użytkownika:
źródle danych nie została odnaleziona lub jest niepoprawna. Odszukaj dany kod SQLCODE w podręczniku Komunikaty,
aby zapoznać się z zalecanym sposobem postępowania i
Działanie użytkownika:
ponów komendę ARCHIVE LOG.
Przed wywołaniem procedury stowarzyszonej sprawdź, czy
treść pakietu procedury źródłowej jest poprawna.
SQL1260N Baza danych nazwa nie jest skonfigurowana
kod_sql: 1256 do odtwarzania zmian dla węzłów
lista-węzłów.
stan_sql: 0168A Objaśnienie:
Określona baza danych nie jest skonfigurowana do
SQL1257N Zapytanie musi zawierać predykat odtwarzania zmian w określonym węźle (węzłach). Jeśli na
używający kolumny nazwa-kolumny w końcu listy węzłów znajduje się symbol ″,...″, pełną listę
pseudonimie pseudonim. węzłów można znaleźć w dzienniku powiadomień
administracyjnych.
Objaśnienie:
Źródło danych wymaga predykatu używającego wskazanej W podanych węzłach baza danych nie jest odtwarzana.
kolumny. Albo predykatu nie ma w zapytaniu, albo predykat
jest w zapytaniu, ale nie został udostępniony dla opakowania
źródła danych podczas kompilacji zapytania.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 217


SQL1261N • SQL1265N

(Uwaga: W przypadku serwera partycjonowanych baz danych


SQL1263N Plik archiwum nazwa nie jest poprawnym
numery węzłów wskazują, na których węzłach wystąpiły
plikiem dziennika dla bazy danych nazwa w
błędy. W innych przypadkach numery węzłów nie są istotne i
węźle numer-węzła.
powinny zostać zignorowane).
Objaśnienie:
Działanie użytkownika:
Podany archiwalny plik dziennika bazy danych istnieje w
Upewnij się, że odtwarzanie jest wymagane na podanych
katalogu dzienników baz danych.
węzłach, a następnie odtwórz ostatnią wersję kopii zapasowej
bazy danych na tych węzłach.
Odtwarzanie zmian zostało zatrzymane.

SQL1261N Baza danych nazwa nie znajduje się w stanie (Uwaga: W przypadku serwera partycjonowanych baz danych
oczekiwania na odtworzenie zmian w numer węzła określa węzeł, na którym wystąpił błąd. W
węzłach lista-węzłów, więc w tych węzłach innych przypadkach numery węzłów nie są istotne i powinny
nie muszą zostać odtworzone zmiany tej zostać zignorowane).
bazy danych.
Działanie użytkownika:
Objaśnienie: Aby określić poprawny plik dziennika archiwalnego, wydaj
Podana baza danych nie znajduje się w stanie oczekiwania na komendę ROLLFORWARD DATABASE z opcją QUERY
odtwarzanie zmian w podanych węzłach. Może to być STATUS. Przenieś właściwy archiwalny plik dziennika do
spowodowane tym, że baza danych nie została odtworzona, katalogu dzienników baz danych lub, jeśli baza danych jest
została odtworzona z opcją WITHOUT ROLLING spójna, zmień ścieżkę do dziennika, tak aby wskazywała
FORWARD lub odtwarzanie zmian na tych węzłach zostało właściwy plik archiwalny i wprowadź ponownie komendę
zakończone. ROLLFORWARD DATABASE. Możesz również wprowadzić
ponownie komendę ze ścieżką do dziennika przepełnienia,
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną wskazującą właściwy plik archiwum.
listę węzłów można znaleźć w dzienniku powiadomień
administracyjnych.
SQL1264N Plik archiwum nazwa nie należy do bazy
danych nazwa-bazy-danych w węźle
W bazie danych nie odtworzono zmian.
numer-węzła.
(Uwaga: W przypadku serwera partycjonowanych baz danych Objaśnienie:
numery węzłów wskazują, na których węzłach wystąpiły Plik dziennika archiwalnego został odnaleziony w katalogu
błędy. W innych przypadkach numery węzłów nie są istotne i dzienników lub w katalogu dzienników przepełnienia, ale plik
powinny zostać zignorowane). ten nie należy do podanej bazy danych.

Działanie użytkownika:
Odtwarzanie zmian zostało zatrzymane.
Wykonaj następujące czynności:
1. Upewnij się, że na podanych węzłach odtwarzanie jest (Uwaga: W przypadku serwera partycjonowanych baz danych
wymagane. numer węzła określa węzeł, na którym wystąpił błąd. W
2. Odtwórz bazę danych z kopii zapasowej w tych węzłach. innych przypadkach numery węzłów nie są istotne i powinny
3. Wprowadź komendę ROLLFORWARD DATABASE. zostać zignorowane).
Działanie użytkownika:
SQL1262N Podany termin odtwarzania zmian w bazie Aby określić poprawny plik dziennika archiwalnego, wydaj
danych nazwa jest niepoprawny. komendę ROLLFORWARD DATABASE z opcją QUERY
STATUS. Przenieś właściwy plik dziennika archiwalnego do
Objaśnienie: katalogu dzienników baz danych lub, jeśli baza danych jest
Termin określony przez parametr datownika jest niepoprawny. spójna, zmień ścieżkę do dziennika, tak aby wskazywała
Datownik musi mieć format ISO (RRRR-MM-DD- właściwy plik archiwalny i wprowadź ponownie komendę
gg.mm.ss.<ssssss>, gdzie RRRR oznacza rok, MM oznacza ROLLFORWARD DATABASE. Możesz również wprowadzić
miesiąc, DD oznacza dzień, gg oznacza godzinę, mm oznacza ponownie komendę ze ścieżką do dziennika przepełnienia,
minuty, ss oznacza sekundy, a ssssss oznacza ewentualnie wskazującą właściwy plik archiwum.
mikrosekundy).

W bazie danych nie odtworzono zmian. SQL1265N Archiwalny plik dziennika nazwa nie jest
powiązany z bieżącą sekwencją dziennika
Działanie użytkownika: dla bazy danych nazwa w węźle numer-węzła.
Sprawdź, czy datownik ma właściwy format.
Objaśnienie:
W wypadku odtwarzania zmian pliki dzienników należy
Jeśli wprowadzasz komendę ROLLFORWARD DATABASE,
przetworzyć w poprawnej kolejności. Kolejność plików
sprawdź, czy podany rok nie jest większy od 2105.
dzienników jest określona przez odtworzoną bazę danych lub

218 Komunikaty, tom 2


SQL1266N • SQL1270C

przetworzone pliki dzienników. Ponadto w przypadku


SQL1268N Odtwarzanie zmian zostało zatrzymane z
odtwarzania zmian dotyczących poziomu obszaru tabel pliki
powodu błędu błąd podczas pobierania
dziennika muszą zostać przetworzone w kolejności, w której
pliku dziennika plik-dziennika dla bazy
otrzymano bieżący stan bazy danych. Podany plik dziennika
danych nazwa w węźle numer-węzła.
archiwalnego został odnaleziony w katalogu dzienników, ale
plik dziennika jest w poprawnej kolejności. Objaśnienie:
Proces odtwarzania zmian nie może pobrać pliku dziennika.
Odtwarzanie zmian zostało zatrzymane.
Odtwarzanie zmian zostało zatrzymane. Baza danych lub
(Uwaga: W przypadku serwera partycjonowanych baz danych obszar tabel znajduje się nadal w stanie odtwarzania zmian w
numer węzła określa węzeł, na którym wystąpił błąd. W toku.
innych przypadkach numery węzłów nie są istotne i powinny
zostać zignorowane). (Uwaga: W przypadku serwera partycjonowanych baz danych
numer węzła określa węzeł, na którym wystąpił błąd. W
Działanie użytkownika:
innych przypadkach numery węzłów nie są istotne i powinny
Aby określić poprawny plik dziennika archiwalnego, wydaj
zostać zignorowane).
komendę ROLLFORWARD DATABASE z opcją QUERY
STATUS. Przenieś właściwy plik dziennika archiwalnego do Działanie użytkownika:
katalogu dzienników baz danych lub, jeśli baza danych jest Przeglądając komunikaty w dzienniku powiadomień
spójna, zmień ścieżkę do dziennika, tak aby wskazywała administratora, sprawdź, czy archiwizacja dziennika odbywa
właściwy plik archiwalny i wprowadź ponownie komendę się prawidłowo, a następnie wznów lub przerwij odtwarzanie
ROLLFORWARD DATABASE. Możesz również wprowadzić zmian.
ponownie komendę ze ścieżką do dziennika przepełnienia,
wskazującą właściwy plik archiwum. Jeśli określona baza danych jest skonfigurowana do użycia
funkcji archiwizowania dziennika programu obsługi wyjścia
użytkownika, sprawdź dzienniki diagnostyczne tego programu,
SQL1266N Odtwarzanie zmian w bazie danych nazwa
aby określić, czy wystąpił błąd podczas wykonywania tego
zostało wykonane do datownik, który jest za
programu obsługi wyjścia użytkownika.
określonym momentem.
Objaśnienie:
SQL1269N Odtwarzanie zmian na poziomie obszaru
Zażądano, aby odtwarzanie zmian zatrzymało się w terminie
tabel już trwa.
wcześniejszym od bieżącego terminu w podanym pliku
dziennika bazy danych. Mogło się to zdarzyć podczas Objaśnienie:
odtwarzania zmian bazy danych lub podzbioru obszaru tabel Usiłowano wykonać odtwarzanie zmian na poziomie obszaru
do określonego terminu. tabel, jednak proces ten już trwa. W danym czasie tylko jeden
agent może uruchomić odtwarzanie zmian.
Odtwarzanie zmian bazy danych zostało zatrzymane.
Działanie użytkownika:
Działanie użytkownika: Poczekaj, aż odtwarzanie zmian na poziomie obszaru tabel
Podaj prawidłowy termin lub odtwórz bazę danych lub zostanie zakończone. Jeśli trzeba odtworzyć więcej obszarów
podzbiór obszaru tabel z kopii zapasowej i wprowadź tabel, uruchom ponownie odtwarzanie zmian na poziomie
ponownie komendę ROLLFORWARD. obszaru tabel.

SQL1267N System nie może znaleźć programu db2uexit SQL1270C Zmiennej środowiskowej LANG nadano
w bieżącej ścieżce. wartość łańcuch. Ten język nie jest
obsługiwany.
Objaśnienie:
Plik db2uexit dostarczony przez użytkownika nie może zostać Objaśnienie:
zmieniony, ponieważ nie ma odpowiedniej ścieżki w bieżącej Zmienna środowiskowa LANG została ustawiona na język,
zmiennej środowiskowej PATH lub dlatego, że plik nie który nie jest obsługiwany przez menedżera baz danych.
istnieje. Przetwarzanie nie może być kontynuowane.
Działanie użytkownika:
Nie można wykonać komendy.
Ustaw zmienną środowiskową LANG na język, który jest
Działanie użytkownika: obsługiwany. Więcej informacji można znaleźć w dodatku
Zaktualizuj bieżącą zmienną środowiskową PATH, włączając “National Language Support” w podręczniku Administration
ścieżkę do db2uexit lub utwórz plik db2uexit i, jeśli trzeba, Guide.
zaktualizuj bieżącą zmienną środowiskową PATH.
Użytkownicy systemów stowarzyszonych powinni szukać
informacji o obsłudze języków narodowych w Podręczniku
systemów stowarzyszonych.

Rozdział 2. Komunikaty SQL 219


SQL1271W • SQL1273N

v Tabela transakcji jest pełna.


SQL1271W Baza danych nazwa została odtworzona, ale
jeden lub więcej obszarów tabel jest w v Dla wszystkich odtwarzanych obszarów tabel otrzymano
trybie bez połączenia w węzłach błędy we/wy.
lista-węzłów. v Odtwarzanie zmian na poziomie obszaru tabel w podanym
terminie napotkało błąd we/wy na jednym z odtwarzanych
Objaśnienie:
obszarów tabel.
Komunikat ten może się pojawić po odtwarzaniu po awarii,
odtwarzaniu zmian na poziomie bazy danych lub odtwarzaniu v Podczas odtwarzania zmian na poziomie obszaru tabel w
zmian na poziomie obszaru tabel. Jeśli podano opcję STOP, terminie aktywna transakcja zmieniła jeden z odtwarzanych
baza danych jest dostępna dla odtwarzania zmian na żądanym obszarów tabel. Transakcja ta może być transakcją
poziomie. Jeden lub kilka obszarów w podanym węźle(łach) wątpliwą.
jest niedostępnych. Może to wystąpić w następujących v Odtwarzanie zmian na poziomie obszaru tabel zostało
sytuacjach: przerwane i przed jego wznowieniem ponownie odtworzono
v Podczas odtwarzania wystąpiły błędy wejścia/wyjścia wszystkie obszary tabel, których dotyczyło wcześniejsze
przynajmniej dla jednego obszaru tabel. odtwarzanie zmian.
v Przynajmniej jeden obszar tabel może wymagać
zdefiniowania pamięci masowej po odtwarzaniu. Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną
listę węzłów można znaleźć w dzienniku powiadomień
v Przynajmniej jeden obszar tabel nie nadaje się do użycia i administracyjnych.
należy go usunąć.
v Przynajmniej jeden z obszarów tabel nie jest dostępny do (Uwaga: W przypadku serwera partycjonowanych baz danych
połączenia. numery węzłów wskazują, na których węzłach wystąpiły
v Podczas odtwarzania zmian na poziomie obszaru tabel błędy. W innych przypadkach numery węzłów nie są istotne i
zostaną odtworzone dodatkowe obszary tabel. powinny zostać zignorowane).
v Odtwarzane są zmiany w bazie danych po poprzednim Działanie użytkownika:
odtwarzaniu zmian w obszarze tabel do datownika, co Informacji na temat przyczyn należy szukać w dzienniku
powoduje, że wszystkie obszary tabel znajdują się w stanie powiadomień administracyjnych. W zależności od przyczyny
odtwarzania w toku. wykonaj jedną z następujących czynności:
v Aby stwierdzić, czy dla obszarów tabel otrzymano
Nie działające obszary tabel mogą zostać zidentyfikowane w komunikaty o błędach we/wy, użyj komendy LIST
podanych węzłach dzięki użyciu komendy LIST TABLESPACES. Jeśli tak, popraw je.
TABLESPACES lub narzędzia db2dart. Dziennik
powiadomień administracyjnych zawiera dodatkowe v Jeśli tabela transakcji jest pełna, zwiększ wartość parametru
informacje na temat konkretnych obszarów tabel. konfiguracyjnego bazy danych MAXAPPLS lub spróbuj
uruchomić odtwarzanie zmian na poziomie obszaru tabel w
trybie bez połączenia.
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną
listę węzłów można znaleźć w dzienniku powiadomień v Jeśli przyczyną jest aktywna lub wątpliwa transakcja,
administracyjnych. zakończ transakcję.
v Jeśli obszary tabel zostały odtworzone po przerwaniu
(Uwaga: W przypadku serwera partycjonowanych baz danych odtwarzania zmian na poziomie poprzedniego obszaru tabel,
numery węzłów wskazują, na których węzłach wystąpiły odtwarzanie zmian na poziomie poprzedniego obszaru tabel
błędy. W innych przypadkach numery węzłów nie są istotne i jest teraz anulowane. Komenda odtwarzania zmian na
powinny zostać zignorowane). poziomie następnego obszaru tabel sprawdzi obszary tabel
będące w stanie oczekiwania na odtwarzanie zmian.
Działanie użytkownika:
Jeśli to konieczne, napraw lub odtwórz obszary tabel i
Uruchom ponownie odtwarzanie zmian na poziomie obszaru
uruchom odtwarzanie zmian. Jeśli wystąpi ten sam komunikat,
tabel.
spróbuj uruchomić odtwarzanie zmian na poziomie obszaru
tabel w trybie bez połączenia.
SQL1273N Odtwarzanie zmian dla bazy danych nazwa
nie może osiągnąć określonego punktu
SQL1272N Odtwarzanie zmian na poziomie obszaru
zatrzymania (końca dziennika lub
tabel dla bazy danych nazwa zostało
momentu) z powodu brakującego pliku
zatrzymane przed zakończeniem w węzłach
dziennika nazwa w węźle numer-węzła.
lista-węzłów.
Objaśnienie:
Objaśnienie:
Program narzędziowy do odtwarzania zmian bazy danych nie
Odtwarzanie zmian na poziomie obszaru tabel zostało
może odnaleźć podanego pliku dziennika archiwalnego w
zatrzymane w podanych węzłach, zanim odtworzono zmiany
katalogu dzienników baz danych ani w katalogu dzienników
we wszystkich wymaganych obszarach tabel. Może to być
przepełnienia w podanym węźle.
spowodowane przez jedną z następujących sytuacji:

220 Komunikaty, tom 2


SQL1274N • SQL1276N

Odtwarzanie zmian zostało zatrzymane.


SQL1275N Czas zatrzymania przekazany do
odtwarzania zmian musi być większy lub
(Uwaga: W przypadku serwera partycjonowanych baz danych równy datownik, ponieważ baza danych
numer węzła określa węzeł, na którym wystąpił błąd. W nazwa w węzłach lista-węzłów zawiera
innych przypadkach numery węzłów nie są istotne i powinny informacje późniejsze niż określony czas.
zostać zignorowane).
Objaśnienie:
Działanie użytkownika: W celu odtworzenia zmian została utworzona kopia zapasowa
Wykonaj jedną z następujących czynności: otwartej bazy danych lub co najmniej jeden z otwartych
v Przenieś podany plik dziennika archiwalnego do katalogu obszarów tabel. W kopii zapasowej bazy danych lub obszaru
dzienników baz danych lub, jeśli baza danych jest spójna, tabel znajduje się zaawansowany datownik wirtualny. Termin
zmień ścieżkę do dziennika, tak aby wskazywała właściwy zatrzymania przekazany do procesu odtwarzania zmian nie
plik archiwalny i wprowadź ponownie komendę może być wcześniejszy od terminu zakończenia tworzenia
ROLLFORWARD DATABASE. Możesz również kopii zapasowej otwartej bazy danych w podanym węźle.
wprowadzić ponownie komendę ze ścieżką do dziennika
przepełnienia, wskazującą właściwy plik archiwum. Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną
v Jeśli nie możesz znaleźć brakujących plików dzienników, listę węzłów można znaleźć w dzienniku powiadomień
odtwórz obszar bazy danych/tabel we wszystkich węzłach, administracyjnych.
następnie wykonaj odtwarzanie zmian używając datownika
wcześniejszego od datownika brakującego pliku dziennika. (Uwaga: W przypadku serwera partycjonowanych baz danych
numery węzłów wskazują, na których węzłach wystąpiły
błędy. W innych przypadkach numery węzłów nie są istotne i
SQL1274N Baza danych nazwa wymaga wykonania
powinny zostać zignorowane).
odtwarzania zmian na poziomie obszaru
tabel i podany termin musi obejmować Działanie użytkownika:
wszystkie dzienniki. Wykonaj jedną z następujących czynności:
Objaśnienie: v Wprowadź ponownie komendę podając termin zatrzymania
Baza danych wymaga wykonania odtwarzania. W wypadku taki sam lub późniejszy niż datownik. Czas musi zostać
odtwarzania zmian na poziomie bazy danych momentem podany w formacie CUT (Coordinated Universal Time).
końcowym musi być koniec dzienników, ponieważ trwa już v Odtwórz w węzłach wcześniejszą kopię, a następnie
odtwarzanie do końca dzienników Aby kontynuować wprowadź ponownie komendę ROLLFORWARD
odtwarzanie zmian, należy podać ten sam czas zatrzymania. DATABASE.

W przypadku odtwarzania zmian na poziomie obszaru tabel


SQL1276N Bazy danych nazwa nie można wyprowadzić
podany termin musi być późniejszy niż terminy ostatnich
ze stanu oczekiwania na odtwarzanie zmian
pozycji w przetwarzanych dziennikach z jednego z
do chwili, gdy odtwarzanie zmian nie
następujących powodów:
przekaże momentu większego lub równego
v Katalogi systemowe wymagają wykonania odtwarzania datownik, ponieważ węzeł numer-węzła
zmian. Zmiany dotyczące katalogów systemowych należy zawiera informacje późniejsze niż określony
zawsze odtworzyć do końca dzienników, aby zapewnić czas.
zgodność ze wszystkimi innymi obszarami tabel.
Objaśnienie:
v Trwa odtwarzanie zmian na poziomie obszaru tabel do
Wprowadzono żądanie zmiany stanu bazy danych lub
końca dzienników. Aby kontynuować odtwarzanie zmian,
podzbioru obszarów tabel oczekującego na odtwarzanie zmian
należy podać ten sam czas zatrzymania.
przez określenie działania programu wywołującego
v Moment określony dla odtwarzania zmian na poziomie SQLUM_ROLLFWD_STOP, SQLUM_STOP,
obszaru tabel jest późniejszy niż koniec dzienników bazy SQLUM_ROLLFWD_COMPLETE lub
danych. Prawdopodobnie ten czas jest błędny. Jeśli jest to SQLUM_COMPLETE. Kopia zapasowa baza danych lub co
celowo określony czas zatrzymania odtwarzania, wydaj najmniej jeden z obszarów tabel, w którym mają być
komendę ponownie, używając opcji END OF LOGS. odtworzone zmiany, została utworzony podczas pracy (gdy był
otwarty). Żądanie nie może zostać zrealizowane, dopóki
W bazie danych nie odtworzono zmian. zmiany w bazie danych lub we wszystkich obszarach tabel nie
zostaną odtworzone w podanym węźle do punktu końcowego
Działanie użytkownika:
kopii zapasowej otwartej bazy danych wyznaczonego przez
Wprowadź komendę ROLLFORWARD podając
datownik dla określonego węzła.
ROLLFORWARD TO END OF LOGS.
Ten błąd mógł również wystąpić, jeśli dla wykonania
żądanego odtwarzania nie zostały dostarczone wszystkie pliki
dzienników.

Rozdział 2. Komunikaty SQL 221


SQL1277W • SQL1280N

(Uwaga: W przypadku serwera partycjonowanych baz danych Aby określić listę kontenerów dla każdego odtwarzanego
numer węzła określa węzeł, na którym wystąpił błąd. W obszaru tabel, użyj funkcji API o nazwie TABLESPACE
innych przypadkach numery węzłów nie są istotne i powinny CONTAINER QUERY lub komendy LIST TABLESPACE
zostać zignorowane). CONTAINERS. Aby określić aktualną listę dla każdego
obszaru tabel, użyj komendy lub funkcji API o nazwie SET
Działanie użytkownika:
TABLESPACE CONTAINERS. Ta funkcja API lub komenda
Jeśli czas zatrzymania komendy ROLLFORWARD jest
umożliwia określenie, czy jest to początkowa lista kontenerów
wcześniejszy niż datownik, komendę wprowadź ponownie,
(podczas następnego procesu odtwarzania zmian zostaną
lecz z terminem zatrzymania późniejszym lub równym
powtórzone operacje dodania kontenera ″add container″
datownik.
opisane w dzienniku bazy danych) czy też ostateczna lista
(podczas odtwarzania zmian operacje dodania kontenera ″add
Sprawdź, czy dostarczono wszystkie pliki dzienników. container″ nie będą powtarzane).
Komenda ROLLFORWARD QUERY STATUS pokazuje,
który plik dziennika ma być przetworzony jako następny. Oto
Kontenery mogą być przeznaczone tylko do odczytu. W takim
niektóre przyczyny braku plików dzienników:
przypadku jedynym działaniem wymaganym przed
v Zmiana ścieżki do dzienników. Pliki znajdują się w starej kontynuowaniem odtwarzania jest udostępnienie kontenera do
ścieżce dzienników. odczytu i do zapisu.
v Program DB2 nie może znaleźć pliku dziennika z archiwum
określonego przez bieżące wartości parametrów Po zakończeniu wszystkich przygotowań do kontynuowania
konfiguracyjnych bazy danych LOGARCHMETH1 lub operacji odtwarzania należy wprowadzić komendę RESTORE
LOGARCHMET2. ze słowem kluczowym CONTINUE, aby wykonać rzeczywiste
odtworzenie danych.
Jeśli odszukasz brakujący plik dziennika, skopiuj go do
właściwej ścieżki i powtórz wykonanie komendy.
SQL1279W Niektóre indeksy mogły nie zostać ponownie
utworzone.
SQL1277W Wykonywana jest przekierowana operacja
Objaśnienie:
odtwarzania. Można teraz wyświetlić
Podczas ponownego uruchamiania bazy danych lub podczas
informacje o konfiguracji obszaru tabel i
reorganizacji tabeli wystąpił błąd przy powtórnym tworzeniu
przekonfigurować kontenery obszarów
indeksów, który uniemożliwił pomyślne utworzenie niektórych
tabel, dla których nie jest używana
indeksów. Szczegółowe informacje można znaleźć w
automatyczna konfiguracja pamięci
dzienniku powiadomień administracyjnych.
masowej.
Objaśnienie: Ponowne uruchomienie bazy danych lub reorganizacja tabeli
Program narzędziowy do odtwarzania sprawdza, czy kontenery została poprawnie wykonana.
potrzebne dla każdego odtwarzanego obszaru tabel są obecnie
Działanie użytkownika:
dostępne w systemie. Jeśli to tylko możliwe, program
Przeanalizuj zawartość dziennika powiadomień
narzędziowy do odtwarzania utworzy kontenery, które nie
administracyjnych, aby ustalić, dlaczego odtworzenie
istnieją. Jeśli jednak kontenery nie mogą zostać utworzone, są
indeksów nie było możliwe, i wyeliminuj problem.
aktualnie używane przez inny obszar tabel albo są niedostępne
Niepoprawne indeksy tabeli zostaną ponownie utworzone,
z jakiejkolwiek innej przyczyny, wtedy należy poprawić listę
kiedy tabela zostanie użyta po raz pierwszy.
wymaganych kontenerów, aby możliwe było kontynuowanie
operacji odtwarzania.
SQL1280N Czas zatrzymania przekazany do
Przy odtwarzaniu z przekierowaniem stan każdego kontenera odtwarzania zmian musi być mniejszy lub
odtwarzanego obszaru tabel bez automatycznej konfiguracji równy datownik dla bazy danych nazwa,
pamięci masowej jest ustawiany na wartość ″pamięć musi ponieważ przynajmniej jeden z obszarów
zostać zdefiniowana″ (″storage must be defined″). Umożliwia tabel został już odtworzony do tego
to korzystanie z komendy lub funkcji API o nazwie SET momentu.
TABLESPACE CONTAINERS w celu zmiany definicji
Objaśnienie:
pamięci masowej kontenerów.
W co najmniej jednym z obszarów tabel, podanym do
odtwarzania zmian, zmiany zostały już odtworzone we
W przypadku obszarów tabel, w których używana jest
wcześniejszym terminie. Nie można w nim dalej odtwarzać
automatyczna konfiguracja pamięci masowej, jedyna metoda
zmian.
zmodyfikowania definicji ścieżek do kontenerów to użycie
słowa kluczowego ON w komendzie RESTORE. Komendy Działanie użytkownika:
lub funkcji API o nazwie SET TABLESPACE CONTAINERS Wykonaj jedną z następujących czynności:
nie można użyć względem obszarów tabel z automatyczną v Wprowadź ponownie komendę z terminem zatrzymania
konfiguracją pamięci masowej. datownik.
Działanie użytkownika:

222 Komunikaty, tom 2


SQL1281N • SQL1286N

v Odtwórz ponownie wszystkie obszary tabel i wprowadź


SQL1283N Próba połączenia z bazą danych
ponownie komendę z terminem zatrzymania wcześniejszym
alias-bazy-danych nie powiodła się, ponieważ
niż datownik.
potok nazwa-potoku jest używany przez inny
v Odtwórz obszar tabel z kopii zapasowych z odtwarzaniem proces.
zmian w obszarze tabel wcześniejszym niż dany datownik i
wprowadź ponownie komendę z tym samym czasem Objaśnienie:
zatrzymania. Podana nazwa nazwanego potoku jest już używana przez inny
proces. Obsługa nazwanego potoku nie została uruchomiona.
Czas musi zostać podany w formacie CUT (Coordinated Działanie użytkownika:
Universal Time). Wybierz inną nazwę ustawiając zmienną środowiskową
DB2PIPENAME lub spraw, aby inne programy, korzystające z
SQL1281N Połączenie z bazą danych alias-bazy-danych nazwanego potoku, używały innej nazwy potoku.
zostało naruszone, ponieważ potok
nazwa-potoku został zerwany. SQL1284N Próba połączenia z bazą danych
Objaśnienie: alias-bazy-danych nie powiodła się, ponieważ
Połączenie zostało przerwane, ponieważ serwer DB2 przerwał nie można znaleźć potoku nazwa-potoku.
potok. Bieżąca transakcja została wycofana. Objaśnienie:
Działanie użytkownika: Serwer nie uruchomił obsługi nazwanego potoku lub używa
Wprowadź ponownie bieżącą komendę. Jeśli błąd występuje jego innej nazwy.
nadal, skontaktuj się z przedstawicielem serwisu technicznego. Działanie użytkownika:
Uruchom menedżera baz danych i sprawdź, czy została
Jeśli śledzenie było aktywne, wywołaj program Independent uruchomiona obsługa nazwanego potoku. Jeśli obsługa
Trace Facility z wiersza komend systemu operacyjnego. nazwanego potoku została uruchomiona, sprawdź, czy nazwa
Skontaktuj się z przedstawicielem działu technicznego i potoku klienta i serwera była taka sama, podając taką samą
przekaż mu następujące informacje: wartość w zmiennej środowiskowej DB2PIPENAME.

Wymagane informacje: kod_sql: -1284


v Opis problemu
v Kod SQLCODE lub numer komunikatu stan_sql: 08001
v Jeśli to możliwe, zawartość obszaru komunikacyjnego SQL
v Jeśli to możliwe, plik śledzenia. SQL1285N Próba połączenia z bazą danych
alias-bazy-danych nie powiodła się, ponieważ
potok nazwa-potoku jest niepoprawny.
kod_sql: -1281
Objaśnienie:
stan_sql: 40504 Alternatywna nazwa potoku ustawiona w zmiennej
środowiskowej DB2PIPENAME jest nieprawidłowa.
SQL1282N Próba połączenia z bazą danych Działanie użytkownika:
alias-bazy-danych nie powiodła się, ponieważ Zmienna środowiskowa PIPENAME musi być prawidłową
wszystkie instancje potoku nazwa-potoku są nazwą potoku. Nazwa nie może być dłuższa niż osiem znaków
zajęte. i musi mieć taką samą składnię, jak normalna nazwa pliku.
Objaśnienie:
kod_sql: -1285
Próby połączenia się z nazwanym potokiem nie powiodły się,
ponieważ połączenie zostało odrzucone przez DB2. Istnieje
ograniczenie liczby połączeń dozwolonych dla nazwanego stan_sql: 08001
potoku.
Działanie użytkownika: SQL1286N Połączenie z bazą danych alias-bazy-danych
Zwiększ ograniczenie połączeń dla serwera DB2 lub zakończ zostało naruszone, ponieważ w systemie
działanie niektórych aplikacji, używając nazwanego potoku, operacyjnym skończyły się zasoby dla
aby zwolnić część zasobów połączenia. potoku nazwa-potoku.
Objaśnienie:
kod_sql: -1282 Nazwany potok przestał funkcjonować, ponieważ system
operacyjny wyczerpał zasoby (obszar wymiany stron, obszar
stan_sql: 08001 dyskowy, uchwyty plików). Bieżąca transakcja została
wycofana.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 223


SQL1287N • SQL1291N

Zwolnij zasoby systemu i wprowadź ponownie komendę.


SQL1290N Nazwa parametru konfiguracyjnego
menedżera baz danych
kod_sql: -1286 DFT_CLIENT_COMM lub zmienna
środowiskowa DB2CLIENTCOMM jest
stan_sql: 40504 niepoprawna.
Objaśnienie:
SQL1287N Instrukcja ATTACH dla instancji instancja Podano niepoprawną wartość albo podane protokoły nie są
nie powiodła się, ponieważ nie można obsługiwane przez docelową bazę danych. Akceptowalne
znaleźć potoku nazwanego potok. wartości:
Objaśnienie: v Platformy Unix: TCPIP i APPC
Serwer nie uruchomił obsługi nazwanego potoku lub nazwa v Windows: TCPIP, APPC (tylko 32-bitowe wersje systemu
instancji jest niepoprawna. Windows), NETBIOS i NPIPE
Działanie użytkownika:
Sprawdź, czy menedżer baz danych jest uruchomiony na Jeśli jest podanych kilka wartości, muszą być oddzielone
serwerze i czy jest uruchomiona obsługa nazwanego potoku. przecinkami.
Sprawdź, czy nazwa instancji jest poprawna.
Ten komunikat może pochodzić z węzła pośredniego
włączonego do połączenia. Na przykład podczas próby
SQL1288N Zdalny serwer nie pozwala na korzystanie z połączenia się z serwerem DRDA poprzez gateway DB2
tej operacji. Connect, gdy kliencka stacja robocza nie korzysta z
Objaśnienie: globalnych usług katalogowych, komunikat może pochodzić z
Zdalny serwer działa na platformie 64-bitowej, nie gatewaya DB2 Connect.
pozwalającej na obsługę żądań innych niż SQL zgłoszonych Działanie użytkownika:
przez klientów 32-bitowych w wersji 7 (lub wcześniejszej). Popraw niepoprawną wartość i wprowadź ponownie komendę.
Działanie użytkownika:
Operację tę przeprowadź z obsługiwanego klienta. kod_sql: -1290

stan_sql: 08001
SQL1289W Podczas konwersji argumentu dla funkcji
nazwa-funkcji ze strony kodowej
źródłowa-strona-kodowa na stronę kodową SQL1291N Wykryto błąd usług katalogowych. Usługa:
docelowa-strona-kodowa jeden lub więcej typ-usług-katalogowych, interfejs API:
niepoprawnych znaków zostało interfejs-API, funkcja: funkcja, kod błędu:
zastąpionych przez znak zastępczy lub w kod-powrotu.
wyniku została pominięta końcowa część
Objaśnienie:
znaku wielobajtowego.
Podsystem usług katalogowych wykrył błąd. Szczegółowe
Objaśnienie: informacje można uzyskać w oparciu o wartości znaczników.
Dane wejściowe dla funkcji nazwa-funkcji przekazane do Oto wyjaśnienie znaczenia wartości znaczników:
funkcji konwersji strony kodowej zawierają sekwencję bajtów,
typ-usług-katalogowych
która nie jest poprawnym znakiem w wejściowej stronie
Typ używanych usług katalogowych. Oto poprawne
kodowej źródłowa-strona-kodowa. Podczas konwersji na
symbole:
stronę docelowa-strona-kodowa każda niepoprawna sekwencja
bajtów została zastąpiona znakiem zastępczym. Wstawiony v DCE
znak zastępczy może, ale nie musi, zostać uwzględniony w API Interfejs API umożliwiający korzystanie z
końcowym wyniku. Jeśli niepoprawna sekwencja bajtów powyższych usług katalogowych. Oto poprawne
występuje na końcu danych wejściowych, jest ona pomijana w symbole:
wyniku, a nie zastępowana przez znak zastępczy.
v XDS/XOM
Działanie użytkownika:
Sprawdź, czy konwertowane dane nie zawierają funkcja Nazwa funkcji podsystemu usług katalogowych,
niepoprawnych sekwencji bajtów. która zwróciła kod błędu.
kod-powrotu
kod_sql: +1289 Kod błędu zwrócony przez wymienioną wyżej
funkcję. Znaczenie tej wartości zależy od użytego
stan_sql: 01517 interfejsu API.
Dla funkcji XDS, takich jak ds_read, wartości
zwracanych kodów można znaleźć w pliku
nagłówkowym DCE o nazwie xds.h.

224 Komunikaty, tom 2


SQL1292N • SQL1293N

Dla funkcji XOM, takich jak om_get, wartości 10 Pozycja nie jest obiektem bazy danych
zwracanych kodów można znaleźć w pliku
11 Rodzima nazwa obiektu bazy danych nie została
nagłówkowym DCE o nazwie xom.h.
odnaleziona, albo jest za długa
Ten komunikat może pochodzić z węzła pośredniego 12 Protokół bazy danych w obiekcie bazy danych nie
włączonego do połączenia. Na przykład podczas próby został odnaleziony lub jest za długi
połączenia się z serwerem DRDA poprzez gateway DB2
13 W obiekcie bazy danych znaleziono niepoprawną
Connect, gdy kliencka stacja robocza nie korzysta z
wartość uwierzytelniającą
globalnych usług katalogowych, komunikat może pochodzić z
gatewaya DB2 Connect. 14 W obiekcie bazy danych znajduje się
niewystarczająca lub niepoprawna informacja
Działanie użytkownika:
dotycząca protokołu komunikacyjnego
Sprawdź, czy:
v produkt dostarczający usług katalogowych jest poprawnie 15 Nie znaleziono nazwy obiektu ze wskaźnikiem bazy
zainstalowany i czy działa danych
v jesteś zalogowany z uprawnieniami umożliwiającymi 16 Nazwa obiektu ze wskaźnikiem bazy danych jest
dostęp do programu usług katalogowych (jeśli dostawca nieprawidłowa
usług katalogowych, np. DCE, wymaga logowania się).

Jeśli problem nadal istnieje, poproś o pomoc administratora 20 Pozycja nie jest obiektem ze wskaźnikiem bazy
systemu i/lub administratora bazy danych, aby wykryć danych
przyczynę błędu, korzystając ze zbioru znaczników.
22 W obiekcie ze wskaźnikiem bazy danych znajduje
się niewystarczająca lub niepoprawna informacja
kod_sql: -1291
dotycząca protokołu komunikacyjnego
stan_sql: 08001
30 Pozycja nie jest obiektem z informacją o routingu
SQL1292N Globalna nazwa bazy danych lub instancji
31 W obiekcie z informacją o routingu nie znaleziono
menedżera baz danych jest niepoprawna.
informacji na temat docelowej bazy danych
Objaśnienie:
32 W obiekcie z informacją o routingu brak jest
Globalna nazwa bazy danych lub instancji menedżera baz
wystarczających informacji dla docelowej bazy
danych nie może mieć wartości NULL i nie może mieć więcej
danych.
niż 255 znaków. Musi rozpoczynać się od ciągu ″/.../″ albo od
″/.:/″. 33 W obiekcie z informacją o routingu brak jest
odpowiedniego gatewaya.
Ten komunikat może pochodzić z węzła pośredniego
34 Niepoprawna flaga dla uwierzytelniania w gatewayu
włączonego do połączenia. Na przykład podczas próby
połączenia się z serwerem DRDA poprzez gateway DB2 35 Niepoprawna nazwa obiektu ze wskaźnikiem bazy
Connect, gdy kliencka stacja robocza nie korzysta z danych dla gatewaya
globalnych usług katalogowych, komunikat może pochodzić z
gatewaya DB2 Connect. 36 Nazwa bazy danych w atrybucie zawierającym
informację o docelowej bazie danych, w obiekcie z
Działanie użytkownika: informacjami o routingu, nie została znaleziona lub
Popraw nazwę globalną i powtórz próbę. jest zbyt długa
37 Protokół bazy danych w atrybucie zawierającym
SQL1293N W pozycji katalogu globalnego znaleziono informacje o docelowej bazie danych, obiektu z
błąd. Kod błędu: kod-błędu. informacjami o routingu, nie został znaleziony lub
jest za długi
Objaśnienie:
Wykryto błąd w jednej z pozycji katalogu globalnego baz
danych. Więcej szczegółów na ten temat zawiera opis kodów Należy zauważyć, że komunikaty te można przeczytać, nawet
błędów: jeśli podsystem DCE nie działa lub nie ma wystarczających
uprawnień, aby odczytywać pozycje katalogu DCE.
1 Obiekt bazy danych nie zawiera informacji
uwierzytelniających Ten komunikat może pochodzić z węzła pośredniego
2 Zarówno obiekt bazy danych, jak i obiekt ze włączonego do połączenia. Na przykład podczas próby
wskaźnikiem bazy danych, nie zawierają informacji połączenia się z serwerem DRDA poprzez gateway DB2
dotyczących protokołu komunikacyjnego Connect, gdy kliencka stacja robocza nie korzysta z
globalnych usług katalogowych, komunikat może pochodzić z
gatewaya DB2 Connect.

Rozdział 2. Komunikaty SQL 225


SQL1294N • SQL1300N

Działanie użytkownika: Spytaj administratora bazy danych o poprawną nazwę obiektu,


Sprawdź, czy system DCE działa i że masz odpowiednie wpisz ją i spróbuj ponownie.
uprawnienia, aby odczytywać pozycje katalogu. Jeśli problem
się powtarza, zawiadom administratora bazy danych, aby kod_sql: -1295
poprawić błąd dotyczący pozycji katalogu. Informacje na
temat formatu tych obiektów katalogu można znaleźć w stan_sql: 08001
podręczniku Administration Guide.

kod_sql: -1293 SQL1296N Jeśli parametr DIR_TYPE ma wartość inną


niż NONE, parametry konfiguracyjne
menedżera baz danych DIR_PATH_NAME
stan_sql: 08001
i DIR_OBJ_NAME muszą mieć prawidłowe
wartości.
SQL1294N Nazwa ścieżki, używanej przy dostępie do
Objaśnienie:
katalogu globalnego, nie została podana lub
Te trzy parametry są ze sobą powiązane. Jeśli DIR_TYPE ma
jest nieprawidłowa.
wartość NONE, dwa pozostałe są ignorowane. Jeśli
Objaśnienie: DIR_TYPE ma wartość różną od NONE, dwa pozostałe muszą
Aby można było korzystać z usług katalogu globalnego, nazwa zawierać prawidłowe wartości. Jeśli parametr DIR_TYPE ma
ścieżki do katalogu musi być podana w parametrze wartość różną od NONE, należy przestrzegać następujących
konfiguracyjnym menedżera baz danych dir_path_name lub w zasad:
zmiennej środowiskowej DB2DIRPATHNAME. Nie podano 1. Parametry DIR_PATH_NAME i DIR_OBJ_NAME nie
tej nazwy albo podana nazwa jest niepoprawna. mogą mieć wartości NULL.
2. Jeśli DIR_TYPE ma wartość DCE, DIR_PATH_NAME
Ten komunikat może pochodzić z węzła pośredniego
musi zaczynać się od jednego z łańcuchów DCE: ″/.../″ lub
włączonego do połączenia. Na przykład podczas próby
″/.:/″.
połączenia się z serwerem DRDA poprzez gateway DB2
Connect, gdy kliencka stacja robocza nie korzysta z Działanie użytkownika:
globalnych usług katalogowych, komunikat może pochodzić z Jeśli chcesz zmienić wartość DIR_TYPE, sprawdź, czy
gatewaya DB2 Connect. parametry DIR_PATH_NAME i DIR_OBJ_NAME zawierają
poprawne wartości. Jeśli chcesz umieścić wartości puste w
Działanie użytkownika:
parametrze DIR_PATH_NAME lub DIR_OBJ_NAME,
Spytaj administratora bazy danych o poprawną nazwę, wpisz
sprawdź, czy DIR_TYPE ma wartość NONE.
ją i wprowadź ponownie komendę.

kod_sql: -1294 SQL1297N Ta komenda nie jest obecnie obsługiwana w


tym środowisku.
stan_sql: 08001 Objaśnienie:
Funkcja wywołana przy użyciu tej komendy nie jest
SQL1295N Nazwa obiektu z informacjami o routingu, obsługiwana w tym środowisku.
używana przy dostępie do katalogu Działanie użytkownika:
globalnego, nie została podana lub jest Nie używaj tej komendy.
nieprawidłowa.
Objaśnienie: SQL1300N Błędna nazwa środowiska DCE w instrukcji
Aby można było korzystać z ogólnych usług katalogowych, w dotyczącej katalogu.
celu użycia zdalnej bazy danych z protokołem baz danych,
który nie jest rodzimym protokołem danego klienta, nazwa Objaśnienie:
obiektu z informacjami o routingu musi być podana w Podano błędną nazwę środowiska DCE w operacji na katalogu
parametrze konfiguracyjnym menedżera baz danych bazy danych. Nazwy środowiska DCE muszą spełniać podane
route_obj_name lub w zmiennej środowiskowej DB2ROUTE. poniżej warunki:
Nie podano tej nazwy albo podana nazwa jest niepoprawna. v Jeśli wartość AUTHENTICATION została podana jako
DCE, nazwa musi znajdować się w instrukcji dotyczącej
Ten komunikat może pochodzić z węzła pośredniego katalogu.
włączonego do połączenia. Na przykład podczas próby v Jeśli wartość AUTHENTICATION nie została podana jako
połączenia się z serwerem DRDA poprzez gateway DB2 DCE, nazwa nie może znajdować się w instrukcji
Connect, gdy kliencka stacja robocza nie korzysta z dotyczącej katalogu.
globalnych usług katalogowych, komunikat może pochodzić z
gatewaya DB2 Connect. v Maksymalna długość nazwy wynosi 1024 bajty.

Działanie użytkownika: Działanie użytkownika:


Sprawdź, czy nazwa jednostki głównej odpowiada powyższym
warunkom, a następnie powtórz instrukcję dotyczącą katalogu.

226 Komunikaty, tom 2


SQL1301N • SQL1306N

SQL1301N Błąd przy próbie dostępu do umieszczonego SQL1304N Typ zabezpieczenia TCP/IP SOCKS jest
na serwerze pliku keytab dla DCE. niepoprawny.
Objaśnienie: Objaśnienie:
Błąd przy próbie dostępu do umieszczonego na serwerze pliku Typ zabezpieczenia SOCKS dla TCP/IP w strukturze
keytab dla DCE. Poprawny plik keytab musi spełniać protokołu TCP/IP komendy Catalog Node jest niepoprawny
następujące warunki: dla uwierzytelniania typu DCE.
v Plik keytab musi istnieć na serwerze, musi nosić nazwę Działanie użytkownika:
keytab.db2 i znajdować się w katalogu sqllib/security. Sprawdź, czy nie korzystasz z kombinacji typu zabezpieczenia
v W pliku tym może znajdować się tylko jedna pozycja. SOCKS dla protokołu TCP/IP oraz uwierzytelniania typu
DCE.
Działanie użytkownika:
Sprawdź, czy środowisko DCE jest uruchomione. Następnie
kod_sql: -1304
sprawdź (przy użyciu rgy_edit), czy plik keytab istnieje i czy
zawiera jedną pozycję. Powtórz operację.
stan_sql: 08001

SQL1302N Błąd odwzorowania pomiędzy nazwą DCE a


ID autoryzowanego użytkownika bazy DB2. SQL1305N Wystąpił błąd wewnętrzny środowiska
Kod przyczyny: kod-przyczyny. DCE.

Objaśnienie: Objaśnienie:
Podczas odwzorowania nazwy DCE na ID autoryzowanego Wystąpił błąd przetwarzania bazy DB2 spowodowany
użytkownika programu DB2 wystąpił błąd. Zapoznaj się z wewnętrznym błędem DCE.
podanymi poniżej kodami przyczyny. Działanie użytkownika:
v Utracone lub niepoprawne odwzorowanie użytkownika Sprawdź, czy środowisko DCE jest uruchomione. Jeśli
DCE na ID autoryzowanego użytkownika programu DB2. problem będzie nadal występować, skontaktuj się z serwisem.
v Utracone lub niepoprawne odwzorowanie grupy DCE na
ID autoryzowanego użytkownika programu DB2. kod_sql: -1305

Działanie użytkownika: stan_sql: 58004


Nazwa DCE musi mieć odwzorowane ERA na ID
autoryzowanego użytkownika DB2. Dodaj brakującą pozycję
do rejestracji DCE i powtórz operację. SQL1306N W trakcie wywołania funkcji kontroli
zabezpieczeń podano błędny parametr. Kod
kod_sql: -1302 przyczyny: kod-przyczyny.
Objaśnienie:
stan_sql: 08001 Jeden z parametrów funkcji API kontroli zabezpieczeń jest
błędny. Przyczyny:
SQL1303N Demon zabezpieczeń nie mógł zostać 1 Błędna opcja kontroli.
ponownie uruchomiony.
2 Nieprawidłowy wskaźnik do struktury
Objaśnienie: Configure/Describe sqleaucfg.
Próba ponownego uruchomienia demona zabezpieczeń nie
powiodła się po nawiązaniu komunikacji między agentami. 3 Nieprawidłowy element parametru
Demon zabezpieczeń został poważnie uszkodzony lub Configure/Describe.
nieoczekiwanie przerwał działanie. Nie można nawiązać 4 Nieprawidłowa wartość parametru
nowych połączeń z menedżerem baz danych, ponieważ nie jest Configure/Describe. Wartość jest błędna lub
możliwe uwierzytelnianie. znajduje się poza dopuszczalnym zakresem.
Działanie użytkownika: 5 Nieprawidłowa specyfikacja liczby dla parametru
Zatrzymaj menedżera baz danych i uruchom go ponownie. Configure/Describe.
Jeśli komenda db2start nie powiedzie się, postępuj zgodnie z
procedurą użytkownika odpowiadającą podanemu kodowi sql. 6 Dla parametru Configure/Describe przydzielono
błędną długość.
kod_sql: -1303 7 Nieprawidłowy wskaźnik do struktury Extract
sqleauextract.
stan_sql: 58004
8 Nieprawidłowy element parametru Extract.
9 Nieprawidłowa wartość parametru Extract. Wartość
jest błędna lub znajduje się poza dopuszczalnym
zakresem.

Rozdział 2. Komunikaty SQL 227


SQL1307N

10 Nieprawidłowa specyfikacja liczby dla parametru


SQL1307N W trakcie wywołania funkcji kontroli
Extract.
zabezpieczeń wystąpił błąd. Kod przyczyny:
11 Nieprawidłowa długość parametru Extract. kod-przyczyny.

12 Niepoprawna wartość parametru Archive. Wartość Objaśnienie:


jest błędna lub znajduje się poza dopuszczalnym Wywołanie funkcji API do kontroli zabezpieczeń
zakresem. spowodowało wystąpienie błędu. Przyczyny:
13 Niepoprawna ścieżka. Długość ścieżki jest spoza 1. Kontrola jest już uruchomiona.
poprawnego zakresu. 2. Kontrola jest już zatrzymana.
14 Użycie ścieżki względnej nie jest obsługiwane. 3. Plik konfiguracyjny kontroli ma błędną sumę kontrolną.
4. Domyślna lub podana przez użytkownika ścieżka
Działanie użytkownika: kontroli jest zbyt długa.
Administrator systemu powinien podjąć działanie odpowiednie
dla każdej z wymienionych powyżej przyczyn. 5. Nie można zaktualizować pliku konfiguracyjnego
kontroli. W systemie plików może brakować wolnego
1 Podać poprawną wartość opcji podczas wywołania miejsca lub nie ma uprawnień do zapisu.
funkcji API audit, sprawdzając zawartość pliku 6. Plik konfiguracyjny nie został odnaleziony. Nie istnieje
nagłówkowego sqlutil.h. podany plik lub katalog.
2 Sprawdzić, czy dla struktury Configure/Describe 7. Plik extract nie został znaleziony.
został podany poprawny wskaźnik. 8. Podczas wyodrębniania wykryto błędny format rekordów
3 Podać poprawny parametr zgodny z opisem w kontroli. Plik został uszkodzony.
podanym w części zawierającej wykaz komend 9. plik nie istnieje.
kontroli dla elementów parametru sqleaucfg. 10. Odmowa dostępu do pliku z powodu uprawnień do pliku.
4 Poprawić wartość parametru zgodnie z informacjami 11. Aktywny dziennik kontroli już został zarchiwizowany i
podanymi w wykazie komend funkcji audit. nie można w nim rejestrować nowych zdarzeń.
5 Podać poprawną liczbę i przydzielić/zainicjować 12. Brak miejsca na dysku (dysk jest pełny).
właściwą długość dla parametrów o zmiennej 13. Błąd we/wy pliku podczas wykonywania operacji Extract
długości. lub Archive.
6 Poprawić długość przydzieloną dla parametru 14. Nie można wykonać operacji Extract na aktywnym pliku
Configure/Describe zgodnie ze znacznikiem błędu dziennika kontroli.
zwróconym w obszarze komunikacyjnym SQL. Działanie użytkownika:
7 Sprawdzić, czy dla struktury Extract został podany Administrator systemu powinien podjąć działanie odpowiednie
poprawny wskaźnik. dla każdej z wymienionych powyżej przyczyn.
1. Nie jest wymagane żadne działanie.
8 Podać poprawny parametr zgodny z opisem
podanym w części zawierającej wykaz komend 2. Nie jest wymagane żadne działanie.
kontroli dla elementów parametru sqleauextract. 3. Odtworzyć plik konfiguracyjny z kopii zapasowej albo
wprowadzić komendę ’audit reset’.
9 Poprawić wartość parametru zgodnie z informacjami
podanymi w wykazie komend funkcji audit. 4. Wybrać inną ścieżkę kontroli, spełniającą ograniczenia
dotyczące limitu długości nazwy pliku.
10 Podać poprawną liczbę i przydzielić/zainicjować
5. Jeśli prawa dostępu do pliku są niepoprawne, ustawić je,
właściwą długość dla parametrów o zmiennej
tak aby dopuszczały zapis do pliku przez właściciela.
długości.
Jeśli system plików jest zapełniony, przed
11 Poprawić długość przydzieloną dla parametru kontynuowaniem zwolnić odpowiednią ilość miejsca.
Extract zgodnie z elementem błędu zwróconym w 6. Jeśli brakuje pliku konfiguracyjnego kontroli, odtworzyć
obszarze komunikacyjnym SQL. go z kopii zapasowej albo wprowadzić komendę ’reset’,
12 Poprawić wartość lub długość parametru zgodnie z aby zainicjować ten plik wartościami domyślnymi. Jeśli
informacjami podanymi w wykazie komend funkcji katalog nie istnieje, odtworzyć go z kopii zapasowej albo
audit. odtworzyć instancję menedżera baz danych.
7. Sprawdzić, czy plik istnieje w podanej ścieżce. Jeśli pliku
13 Podać ścieżkę o długości z obsługiwanego zakresu.
nie ma, w miarę możliwości odtworzyć go z kopii
14 Określić ścieżkę bezwzględną. zapasowej.
8. Plik dziennika kontroli jest prawdopodobnie uszkodzony.
Jeśli sytuacja ta dotyczy również innych plików
dzienników kontroli, zawiadomić obsługę bazy DB2.

228 Komunikaty, tom 2


SQL1308W • SQL1314N

9. Sprawdzić, czy w podanej ścieżce istnieją aktywne pliki v Jeśli dodajesz pozycję do katalogu DCS, sprawdź, czy jest
dziennika do zarchiwizowania lub zarchiwizowane pliki wystarczająco dużo miejsca na zwiększony plik katalogu.
do wyodrębnienia. v Sprawdź, czy żaden inny program nie próbuje równocześnie
10. Poprawić uprawnienia do pliku w systemie plików. używać tego pliku.
11. Nazwa zarchiwizowanego pliku dziennika kontroli v Sprawdź, czy plik katalogu nie został uszkodzony. Jeśli stał
została zmieniona na nazwę aktywnego pliku dziennika się niedostępny, musisz go usunąć i utworzyć ponownie lub
kontroli. Nazwa aktywnego pliku dziennika kontroli musi odtworzyć z kopii zapasowej.
zostać zmieniona z powrotem na nazwę
zarchiwizowanego pliku dziennika kontroli.
SQL1311N Nie można znaleźć katalogu DCS (Database
12. Sprawdzić, czy na dysku jest dostępne miejsce. Connection Services).
13. Szczegóły można znaleźć w pliku db2diag.log.
Objaśnienie:
14. Wyodrębnianie musi zostać uruchomione na Nie można znaleźć katalogu. Katalog mogła zostać usunięta.
zarchiwizowanym pliku dziennika kontroli.
Zarchiwizować plik dziennika kontroli przed Nie można wykonać tej funkcji.
wyodrębnianiem z niego.
Działanie użytkownika:
Użyj komendy CATALOG DCS DATABASE, aby dodać
SQL1308W Funkcja wyodrębniania kontroli zakończyła pozycję do katalogu DCS, albo odtwórz katalog z kopii
przetwarzanie. Wyodrębniono rekordy w zapasowej.
liczbie liczba-rekordów.
Objaśnienie: SQL1312W Katalog DCS (Database Connection
Funkcja wyodrębniania kontroli zabezpieczeń zakończyła Services) jest pusty.
pomyślnie przetwarzanie i wyodrębniła podaną liczbę
rekordów. Objaśnienie:
Próbowano odczytać zawartość katalogu DCS, katalog jest
Działanie użytkownika: jednak pusty.
Jeśli wyodrębniono zero rekordów, użytkownik powinien
sprawdzić, czy w ścieżce dla wyodrębniania znajdują się
Przetwarzanie jest kontynuowane, jednak dalsze komendy
odpowiednie pliki i czy podano poprawne parametry.
korzystające z pozycji katalogu nie mogą zostać wykonane.
Działanie użytkownika:
SQL1309N Błędna nazwa serwera.
Skorzystaj z komendy Catalog DCS Database, aby dodać
Objaśnienie: pozycje do katalogu, lub odtwórz kopię zapasową, zawierającą
Nazwa serwera, podana w instrukcji dotyczącej katalogu bazy jakieś pozycje.
danych, nie istnieje w rejestrze DCE. Wskutek tego z serwera
DB2 nie można było otrzymać biletu DCE.
SQL1313N Katalog DCS (Database Connection
Działanie użytkownika: Services) jest pełny.
Sprawdź, czy nazwa znajdująca się w pozycji katalogu bazy
Objaśnienie:
danych odpowiada nazwie DCE używanej przez serwer DB2.
Nie można dodać pozycji do katalogu DCS, ponieważ katalog
Może być konieczne zastosowanie nazwy w pełni
osiągnął maksymalną wielkość.
kwalifikowanej.
Nie można wykonać tej funkcji.
kod_sql: -1309
Działanie użytkownika:
stan_sql: 08001 Zanim dodasz kolejne pozycje, usuń kilka starych.

SQL1310N Podczas próby skorzystania z usług dostępu SQL1314N Parametr zawierający adres katalogu DCS
do baz danych (Database Connection (Database Connection Services) jest
Services) wystąpił błąd usług katalogu DCS. nieprawidłowy.
Objaśnienie: Objaśnienie:
Przy korzystaniu z usług Database Connection Services Aplikacja użyła niepoprawnego adresu. Adres wskazuje na
Directory Service, podczas dostępu do pliku katalogu DCS, nieprzydzielony bufor albo bufor nie jest wystarczająco duży,
wystąpiły błędy plików. aby zmieścić wymagane dane wejściowe.

Nie można wykonać tej funkcji. Nie można wykonać tej funkcji.
Działanie użytkownika: Działanie użytkownika:
Uruchom funkcję ponownie po wykonaniu jednej z Sprawdź, czy program przydzielił wystarczająco duży bufor i
następujących czynności: wprowadź ponownie komendę.

Rozdział 2. Komunikaty SQL 229


SQL1315N • SQL1322N

Sprawdź, czy wszystkie elementy pozycji katalogu mają


SQL1315N Nazwa lokalnej bazy danych jest
właściwą specyfikację i długość; następnie wprowadź
niepoprawna.
ponownie komendę.
Objaśnienie:
Podano nazwę bazy danych, która zawiera niedozwolone
SQL1319N Nie zgromadzono danych dotyczących
znaki. Wszystkie znaki muszą znajdować się w podstawowym
pozycji katalogu dostępu do baz danych
zestawie znaków menedżera bazy danych.
(Database Connection Services) (DCS).
Nie można wykonać tej funkcji. Objaśnienie:
Odebrano żądanie skopiowania wszystkich pozycji katalogu,
Działanie użytkownika:
nie odebrano jednak wcześniej żądania zgromadzenia danych
Sprawdź, czy znaki użyte w nazwie lokalnej bazy danych
dotyczących pozycji lub żądanie takie nie zostało poprawnie
znajdują się w podstawowym zestawie znaków menedżera baz
zrealizowane.
danych.
Nie można wykonać tej funkcji.
SQL1316N W katalogu DCS (Database Connection
Działanie użytkownika:
Services) nie znaleziono pozycji
Podaj żądanie otwarcia katalogu i zgromadzenia danych
odpowiadającej podanej nazwie lokalnej
dotyczących pozycji. Następnie wprowadź ponownie
bazy danych.
komendę.
Objaśnienie:
Wystąpił błąd usług katalogowych DCS, ponieważ w DCS nie
SQL1320N Nie można w tej chwili skorzystać z DCS
znaleziono pozycji odpowiadającej wejściowej nazwie
(Database Connection Services).
lokalnej bazy danych.
Objaśnienie:
Nie można wykonać tej funkcji. Nie zrealizowano żądania dostępu do katalogu DCS (Database
Connection Services). Dostęp do katalogu DCS (Database
Działanie użytkownika:
Connection Services) jest uzależniony od typu żądanego
Sprawdź, czy nazwa lokalnej bazy danych jest prawidłowa i
dostępu i typu działania wykonywanego w katalogu. Jeśli
wprowadź ponownie komendę.
żądanie ma na celu aktualizację katalogu, katalog nie może
być aktywna. Jeśli żądanie ma na celu odczytanie zawartości
SQL1317N Nazwa lokalnej bazy danych już istnieje w katalogu, dostęp jest możliwy, gdy katalog nie jest
katalogu DCS (Database Connection zaktualizowany.
Services).
Nie można wykonać tej funkcji.
Objaśnienie:
Nie można dodać podanej pozycji do katalogu, ponieważ Działanie użytkownika:
wymieniona nazwa lokalnej bazy danych już tam istnieje. Poczekaj, aż zakończy się bieżące działanie i wprowadź
ponownie komendę.
Nie można wykonać tej funkcji.
Działanie użytkownika: SQL1321N Identyfikator struktury podany w
Podaj unikalną nazwę lokalnej bazy danych lub usuń istniejącą strukturze pozycji katalogu jest
już pozycję i podaj nową. niepoprawny.
Objaśnienie:
SQL1318N Długość elementu nazwa struktury Identyfikator struktury otrzymany w strukturze pozycji
wejściowej dla parametru 1 jest katalogu nie został rozpoznany.
niepoprawna.
Nie można wykonać tej funkcji.
Objaśnienie:
Długości, podane w strukturze pozycji katalogu dostępu do Działanie użytkownika:
baz danych (Database Connection Services)(DCS), powinny Popraw identyfikator struktury w strukturze pozycji katalogu i
być nie mniejsze od zera i nie większe od maksymalnej wprowadź ponownie komendę.
długości elementów, które reprezentują.
SQL1322N Podczas zapisywania do pliku dziennika
Nie można wykonać tej funkcji.
kontroli wystąpił błąd.
Działanie użytkownika:
Objaśnienie:
Jeśli podano element pozycji katalogu, związana z nim
Podczas zapisu zdarzenia kontroli narzędziowy program
długość powinna być równa liczbie bajtów przeznaczonych na
kontrolny DB2 napotkał błąd. W systemie plików nie ma
pozycję. W przeciwnym wypadku powinna mieć wartość zero.
miejsca na plik dziennika kontroli. Zwolnij miejsce w systemie
plików lub zmniejsz wielkość dziennika kontroli.

230 Komunikaty, tom 2


SQL1323N • SQL1326N

Po udostępnieniu dodatkowego miejsca, użyj db2audit, aby


SQL1325N Środowisko zdalnej bazy danych nie
usunąć wszystkie dane z pamięci i uaktywnić rejestrator
obsługuje podanej komendy lub jednej z jej
zdarzeń. Sprawdź, czy przed zmniejszeniem dziennika, na
opcji.
podstawie którego nie można już odtworzyć usuniętych
rekordów, zrobiono na jego podstawie odpowiednie wyciągi Objaśnienie:
lub wykonano jego kopię. Nastąpiła próba wprowadzenia komendy lub opcji komendy
specyficznej dla stacji roboczej DB2 i dotyczącej bazy danych
Działanie użytkownika:
na systemie hostowym za pośrednictwem produktu DB2
Administrator systemu powinien wykonać sugerowane
Connect lub serwera stowarzyszonego. Błąd mógł zostać
działania naprawcze, aby narzędziowy program kontrolny
wygenerowany przez podane poniżej komendy, jeśli zostały
mógł na nowo rozpocząć rejestrowanie.
wydane dla baz danych DB2 for MVS*, DB2 for OS/400* lub
SQL/DS*:
kod_sql: -1322
v OPSTAT (Collect Operational Status)
stan_sql: 58030 v DARI (Database Application Remote Interface)
v GETAA (Get Administrative Authorizations)
SQL1323N Błąd przy próbie dostępu do pliku v GETTA (Get Table Authorizations)
konfiguracyjnego kontroli. v PREREORG (Prepare to Reorganize Table)
Objaśnienie: v REORG (Call Reorganize Function)
Pliku db2audit.cfg nie można otworzyć lub jest on v RQSVPT/ENSVPT/RLBSVPT (Subtransaction Requests)
niepoprawny. Możliwe przyczyny: v RUNSTATS (Uruchom statystykę).
v Plik db2audit.cfg nie istnieje lub został uszkodzony. v COMPOUND SQL ATOMIC STATIC (Atomic Compound
Wykonaj jedno z następujących działań: SQL)
– Odtwórz plik z jego kopii zapasowej. v ACTIVATE DATABASE
– Skonfiguruj ponownie plik konfiguracyjny kontroli v DEACTIVATE DATABASE
wprowadzając komendę z wykonywalnej wersji
programu db2audit.
Błąd ten powodują również następujące komendy, po podaniu
Działanie użytkownika: nieprawidłowych opcji:
Administrator systemu powinien wykonać sugerowane v IMPORT (tabela importowana) Plik musi być plikiem typu
działania naprawcze, aby rozwiązać ten problem. IXF, liczba zatwierdzeń musi wynosić 0 dla importu bez
połączenia lub nie może mieć ustawienia automatycznego
kod_sql: -1323 dla importu z połączeniem, a pierwszym słowem parametru
Action String (na przykład, ″REPLACE into ...″) musi być
stan_sql: 57019 INSERT.
v EXPORT (Export table). Typem pliku musi być IXF.
SQL1324N Wystąpił błąd podczas przekształcania
danych z kolumny pseudonimu Nie można wykonać komendy.
schemat.nazwa.kolumna. Kod przyczyny: Działanie użytkownika:
kod-przyczyny. Wartość: wartość. Nie należy próbować wprowadzać tej komendy dla bazy
Objaśnienie: danych na systemie hostowym za pośrednictwem produktu
Wystąpił problem konwersji danych podczas przesyłania DB2 Connect lub serwera stowarzyszonego.
danych ze źródła zdalnego lub do niego. Możliwe przyczyny:
1 Wartość numeryczna była spoza zakresu. SQL1326N Brak dostępu do pliku lub katalogu nazwa.

2 Błąd składniowy wartości numerycznej. Objaśnienie:


Nie ma dostępu do pliku lub katalogu nazwa, ponieważ
3 Błąd dekodowania Base 64. uprawnienia są nieprawidłowe, ścieżka do pliku jest
4 Błąd dekodowania szesnastkowo-binarnego. nieprawidłowa lub brak jest miejsca w katalogu lub ścieżce.

Działanie użytkownika: W przypadku używania menedżera klastra ten błąd może


Sprawdź odwzorowanie typów danych między typem zdalnym zostać zwrócony, jeśli menedżer bazy danych DB2 nie może
i typem lokalnym. Sprawdź również, czy zdalny system dodać danej ścieżki do konfiguracji menedżera klastra.
zwraca poprawne dane. Komunikaty o błędach z menedżera klastra są rejestrowane w
pliku db2diag.log.
Działanie użytkownika:
Sprawdź, czy ścieżka i nazwa pliku, podane w komendzie, są
prawidłowe, czy masz właściwe uprawnienia dostępu do

Rozdział 2. Komunikaty SQL 231


SQL1327N • SQL1331N

ścieżki i do pliku i czy było wystarczająco dużo miejsca na v Popraw alias bazy danych podany w zmiennej
przechowanie pliku. Napraw błąd i ponownie wydaj komendę. środowiskowej DB2DBDFT i wprowadź ponownie
Jeśli problem się powtarza, skontaktuj się z administratorem komendę.
systemu. v Jeśli zamierzasz usunąć połączenie podczas pracy w
środowisku rozproszonej jednostki pracy, rozważ
Jeśli używany jest menedżer klastra, należy usunąć problem i możliwość zastąpienia instrukcji CONNECT RESET
wprowadzić ponownie komendę: instrukcją DISCONNECT lub RELEASE.
v Sprawdź plik db2diag.log w poszukiwaniu komunikatów o v W przypadku korzystania z procesora wiersza komend
błędach menedżera klastra. instrukcję ″db2 terminate″ należy wprowadzić przed
v Odpowiedz na komunikaty o błędach menedżera klastra z ponownym wprowadzeniem danej komendy.
pliku db2diag.log, aby usunąć problem, który uniemożliwił v Jeśli nie chcesz, aby zostało wykonane połączenie niejawne,
menedżerowi bazy danych DB2 dodanie ścieżki do usuń zmienną środowiskową DB2DBDFT.
konfiguracji menedżera klastra.
v Wprowadź ponownie komendę. kod_sql: -1328

stan_sql: 42705
SQL1327N Próba niejawnego połączenia nie powiodła
się. nazwa-bazy-danych nie jest poprawną
nazwą bazy danych. SQL1329N Ścieżka podana w tej komendzie jest zbyt
długa.
Objaśnienie:
Próba ustanowienia niejawnego połączenia nie powiodła się. Objaśnienie:
Składnia aliasu bazy danych, podana w zmiennej Ścieżka podana w komendzie przekracza maksymalną długość
środowiskowej DB2DBDFT, jest nieprawidłowa. Nazwa bazy obsługiwaną przez menedżera baz danych. Jej długość nie
danych musi się składać z od 1 do 8 bajtów, a wszystkie znaki może przekroczyć 215 znaków. Podczas wykonywania
muszą się znajdować w podstawowym zestawie znaków komend Create Database, Catalog Database, Open Database
menedżera baz danych. Directory for Scan i Change Database Comment, nazwa
instancji menedżera baz danych jest dopisywana na końcu
Nie można wykonać komendy. podanej ścieżki.
Działanie użytkownika: Działanie użytkownika:
Popraw alias podany w zmiennej środowiskowej DB2DBDFT Sprawdź, czy nazwa pełnej lub względnej ścieżki, zawierająca
i wprowadź ponownie komendę. W przypadku korzystania z nazwę instancji menedżera baz danych, nie przekracza 215
procesora wiersza komend instrukcję ″db2 terminate″ należy znaków. Popraw nazwę ścieżki i uruchom ponownie komendę.
wprowadzić przed ponownym wprowadzeniem danej
komendy. Jeśli nie chcesz, aby zostało wykonane połączenie
SQL1330N Symboliczna nazwa docelowa nazwa jest
niejawne, usuń zmienną środowiskową DB2DBDFT.
niepoprawna.
kod_sql: -1327 Objaśnienie:
Symboliczna nazwa docelowa w strukturze protokołu CPIC
stan_sql: 2E000 komendy Catalog Node nie jest podana lub ma długość
większą niż dopuszczalna. Nazwa musi mieć długość od 1 do
8 bajtów.
SQL1328N Próba niejawnego połączenia nie powiodła
się. Nie znaleziono aliasu bazy danych ani Działanie użytkownika:
nazwy bazy danych nazwa w katalogu Sprawdź, czy jest podana symboliczna nazwa docelowa i czy
lokalnej bazy danych. nie jest ona dłuższa niż 8 bajtów. Wprowadź ponownie
komendę podając prawidłową symboliczną nazwę docelową.
Objaśnienie:
Próba ustanowienia niejawnego połączenia nie powiodła się.
Nazwa podana w zmiennej środowiskowej DB2DBDFT nie SQL1331N Typ zabezpieczenia CPIC typ jest
jest nazwą żadnej istniejącej bazy danych. Nie można znaleźć niepoprawny.
bazy danych w katalogu bazy danych.
Objaśnienie:
Typ zabezpieczenia CPIC, podany w strukturze protokołu
Nie można wykonać komendy. CPIC komendy Catalog Node, jest nieprawidłowy. Typ
zabezpieczenia zawiera informacje dotyczące zabezpieczeń,
Zauważ, że żądanie CONNECT RESET, wydane w ramach które są włączane, kiedy klient bazy danych przydziela pamięć
rozproszonej jednostki pracy, będzie usiłowało ustanowić dla konwersacji z partnerską jednostką logiczną, w sposób
niejawne połączenie z domyślną bazą danych. Może to być zgodny z jednostką logiczną LU 6.2. Prawidłowymi typami
przyczyną błędu. zabezpieczeń są:
Działanie użytkownika: v SQL_CPIC_SECURITY_NONE

232 Komunikaty, tom 2


SQL1332N • SQL1336N

– Nie zostaną dołączone żadne informacje dotyczące


SQL1334N Serwera bazy danych lub serwera DB2
zabezpieczenia dostępu.
Connect nie można użyć do kierowania
zdalnego żądania do drugiego serwera bazy
Uwaga: Nie jest to obsługiwane w przypadku danych w tej konfiguracji.
korzystania z serwera stowarzyszonego. W przypadku
korzystania z produktu DB2 Connect jest to obsługiwane Objaśnienie:
tylko, gdy typem uwierzytelniania jest DCE, Dokonano próby skierowania żądania przez węzeł serwera
KERBEROS lub SERVER_ENCRYPT. bazy danych lub węzeł serwera DB2 Connect za pomocą
v SQL_CPIC_SECURITY_SAME nieobsługiwanej kombinacji klienta i docelowego serwera
bazy danych lub z klienta DRDA innego niż LUW do
– Identyfikator użytkownika będzie dołączony wraz ze docelowej bazy danych DRDA przy użyciu serwera bazy
znacznikiem informującym, że identyfikator danych LUW lub serwera DB2 Connect. Żądanie musi być
użytkownika został już zweryfikowany. Nie jest to skierowane bezpośrednio od klienta do węzła, w którym jest
obsługiwane, gdy typ uwierzytelniania SERVER jest uruchomiona docelowa baza danych.
używany z produktem DB2 Connect lub serwerem
stowarzyszonym albo gdy typem uwierzytelniania jest Działanie użytkownika:
DCE, KERBEROS lub SERVER_ENCRYPT. Usuń bazę danych z katalogu w komputerze typu klient, a
v SQL_CPIC_SECURITY_PROGRAM następnie wpisz tę bazę danych do katalogu podając węzeł, w
którym się ona faktycznie znajduje. Sprawdź, czy węzeł
– Dołączony zostanie identyfikator użytkownika i hasło. również znajduje się w katalogu.
Nie jest to obsługiwane, gdy typ uwierzytelniania
CLIENT jest używany z produktem DB2 Connect lub
gdy typem uwierzytelniania jest DCE, KERBEROS lub SQL1335N Nazwa requestera aplikacji jest
SERVER_ENCRYPT. niepoprawna.

Działanie użytkownika: Objaśnienie:


Podaj jeden z powyższych typów zabezpieczeń i wprowadź Podano nazwę requestera zawierającą nieprawidłowe znaki.
ponownie komendę. Wszystkie znaki muszą znajdować się w podstawowym
zestawie znaków menedżera bazy danych.
kod_sql: -1331 Działanie użytkownika:
Sprawdź, czy wszystkie znaki, użyte w nazwie requestera,
stan_sql: 08001 znajdują się w podstawowym zestawie znaków menedżera baz
danych i wprowadź ponownie komendę.
SQL1332N Nazwa hosta nazwa jest nieprawidłowa.
Objaśnienie: SQL1336N Nie znaleziono zdalnego hosta nazwa_hosta.
Nazwa hosta w strukturze protokołu TCP/IP komendy Catalog Objaśnienie:
Node albo nie została podana, albo jej długość jest większa od System nie może przekształcić adresu zdalnego hosta.
dopuszczalnej. Nazwa musi się składać z od 1 do 255 znaków i Możliwe przyczyny to:
nie może zawierać wyłącznie znaków odstępu.
v Podczas wpisywania do katalogu węzła TCP/IP podano
Działanie użytkownika: niepoprawną nazwę hosta.
Sprawdź, czy została podana nazwa hosta i czy nie ma ona v Podano poprawną nazwę hosta, jednak nie była ona
więcej niż 255 znaków. Wprowadź ponownie komendę zdefiniowana w żadnym serwerze nazw TCP/IP dostępnym
podając prawidłową nazwę hosta. dla węzła typu klient, ani w pliku hostów klienta.
v Serwer nazw TCP/IP, w którym została zdefiniowana nazwa
SQL1333N Nazwa usługi nazwa nie jest poprawna. hosta, był niedostępny w czasie gdy próbowano się z nim
połączyć.
Objaśnienie:
Nazwa usługi w strukturze protokołu TCP/IP komendy v Obsługa protokołu TCP/IP nie jest uruchomiona.
Catalog Node albo nie została podana, albo jej długość jest v Zdalny host został wpisany do katalogu tego klienta za
większa od dopuszczalnej. Nazwa musi się składać z od 1 do pomocą komendy CATALOG TCPIP6 NODE. Jednak
14 znaków i nie może zawierać wyłącznie znaków odstępu. zdalny host nie obsługuje protokołu IPv6.
Działanie użytkownika: Działanie użytkownika:
Sprawdź, czy została podana nazwa usługi i czy nie ma ona Sprawdź, czy obsługa protokołu TCP/IP jest uruchomiona, czy
więcej niż 14 znaków. Wprowadź ponownie komendę podając nazwa hosta podana w trakcie wpisywania do katalogu węzła
prawidłową nazwę usług. TCP/IP jest poprawna i czy jest zdefiniowana w dostępnym
serwerze nazw lub lokalnym pliku hostów.

Jeśli zdalny host został wpisany do katalogu tego klienta za


pomocą komendy CATALOG TCPIP6 NODE, ale nie
obsługuje protokołu IPv6, należy wykonać następujące kroki:

Rozdział 2. Komunikaty SQL 233


SQL1337N • SQL1340N

(1) użyj komendy UNCATALOG i (2) ponownie wpisz go do


SQL1339N Wykryto n błędów SQL podczas
katalogu za pomocą komendy CATALOG TCPIP NODE.
wykonywania złożonej instrukcji SQL innej
niż atomowa, które są identyfikowane
Użytkownicy systemu stowarzyszonego: Należy sprawdzić, następująco: błąd1 błąd2 błąd3 błąd4 błąd5
czy zdalny host został poprawnie wpisany do katalogu w błąd6 błąd7.
widoku SYSCAT.SERVERS.
Objaśnienie:
kod_sql: -1336 Jedna lub kilka podinstrukcji, wchodzących w skład złożonej
instrukcji SQL, spowodowało wystąpienie błędów SQL
stan_sql: 08001 (ujemnych kodów powrotu).

Znaczniki błędów nie zostaną zwrócone dla aplikacji


SQL1337N Nie znaleziono usługi nazwa-usługi. CLI/ODBC. Aplikacje CLI/ODBC mogą używać funkcji API
Objaśnienie: SQLGetDiagRec, SQLGetDiagField lub SQLError w celu
System nie jest w stanie określić numeru portu związanego z uzyskania dodatkowych informacji na temat każdego błędu.
nazwą usługi. Możliwe przyczyny to: Działanie użytkownika:
v Podczas wpisywania węzła TCP/IP do katalogu podano Przeanalizuj informacje identyfikujące błędy. Podanych
niepoprawną nazwę usługi. zostanie do siedmiu znaczników błędów w postaci <n>
v Podano poprawną nazwę usługi, jednak nie była ona <błądX>. Każdy <błądX> odpowiada błędowi instrukcji SQL.
zdefiniowana w pliku Services klienta. Błędy te są umieszczone na liście w kolejności, w jakiej
wystąpiły. Jeśli tekst komunikatu nie jest sformułowany,
Użytkownicy systemu stowarzyszonego: Ta sytuacja może potrzebne informacje znajdziesz w drugim i następnych
również zostać wykryta przez źródło danych. elementach pola SQLERRMC (kolejne elementy są oddzielone
szesnastkową wartością 0xFF).
Działanie użytkownika:
Sprawdź, czy nazwa-usługi podana w trakcie wpisywania do Każdy <błądX> ma format PPPSSSSS, gdzie:
katalogu węzła TCP/IP jest poprawna i czy jest zdefiniowana
w lokalnym pliku Services. PPP PPP odpowiada pozycji tej instrukcji w złożonym
bloku SQL, która spowodowała błąd; liczba jest
Użytkownicy systemu stowarzyszonego muszą również wyrównywana lewostronnie. Na przykład, jeśli błąd
upewnić się, że nazwa została zdefiniowana w pliku services w spowodowała pierwsza instrukcja, pole będzie
źródle danych. zawierało liczbę jeden (″1 ″).
SSSSS SQLSTATE instrukcji, która spowodowała błąd.
SQL1338N Nie znaleziono symbolicznej nazwy
docelowej symboliczna-nazwa-docelowa. Więcej informacji można uzyskać analizując obszar
komunikacyjny SQL. Trzecie pole SQLERRD zawiera liczbę
Objaśnienie: wierszy, których dotyczyła złożona instrukcja SQL; czwarte
System nie mógł znaleźć informacji dodatkowych, związanych pole SQLERRD zawiera pozycję ostatniej instrukcji, która
z podaną symboliczną nazwą miejsca docelowego. Możliwe została poprawnie wykonana; piąte pole SQLERRD zawiera
przyczyny to: liczbę wierszy zmienionych w celu zapewnienia spójności
v Podczas wpisywania do katalogu węzła CPIC NODE referencyjnej podczas dostępu do baz danych klienta IBM
podano niepoprawną symboliczną nazwę miejsca Data Server Client/serwera DB2 i baz danych SQL/DS; szóste
docelowego. pole SQLERRD zawiera liczbę niezrealizowanych instrukcji
v Symboliczna nazwa docelowa i związane z nią informacje (tych, które zwróciły ujemne kody SQLCODE).
dodatkowe nie zostały zdefiniowane w podsystemie
komunikacyjnym SNA. kod_sql: -1339
v Podsystem komunikacyjny SNA nie został uruchomiony.
stan_sql: 56091
Działanie użytkownika:
Sprawdź, czy symboliczna nazwa miejsca docelowego,
SQL1340N Nie znaleziono serwera plików
podawana podczas wpisywania węzła CPIC do katalogu, była
serwer-plików.
poprawna i została zdefiniowana w podsystemie
komunikacyjnym SNA. Objaśnienie:
System nie mógł znaleźć w sieci podanego serwera plików.
Uruchom podsystem komunikacyjny SNA, jeśli nie został Możliwe przyczyny to:
jeszcze uruchomiony. v Podczas wpisywania węzła IPX/SPX do katalogu podano
nieprawidłową nazwę serwera plików serwer-plików.

234 Komunikaty, tom 2


SQL1341N • SQL1348W

v Podano prawidłową nazwę serwera plików serwer-plików,


SQL1345N Uruchomienie nie powiodło się z powodu
jednak podczas próby połączenia serwer plików był
błędu menedżera klastra, który nie będzie
niedostępny.
miał wpływu na poprawne uruchomienie
Działanie użytkownika: kolejnych instrukcji SQL.
Sprawdź, czy nazwa serwera plików serwer-plików, podana
Objaśnienie:
podczas wpisywania węzła IPX/SPX do katalogu, jest
Wystąpił błąd menedżera klastra, który spowodował
prawidłowa i czy ten serwer plików jest dostępny w sieci.
zatrzymanie przetwarzania bieżącej komendy środowiskowej
lub instrukcji SQL. Błąd wystąpił w czasie uruchamiania.
SQL1341N Nazwa stacji roboczej musi być podana w
pliku konfiguracyjnym menedżera baz Komenda lub instrukcja nie może zostać wykonana. Bieżąca
danych klienta. transakcja nie została wycofana i aplikacja pozostaje
połączona z bazą danych.
Objaśnienie:
Nazwa stacji roboczej nie została podana w pliku Działanie użytkownika:
konfiguracyjnym menedżera baz danych. Jeśli do komunikacji Zapisz numer komunikatu. Jeśli jest to możliwe, należy
z serwerem używany jest NetBIOS, wymagane jest podanie zapisać wszystkie informacje dotyczące błędu z obszaru
nazwy stacji roboczej. komunikacyjnego SQL. Spróbuj przeprowadzić niezbędne
działania naprawcze w zależności od kodu powrotu menedżera
Działanie użytkownika:
klastra znajdującego się w pliku db2diag.log i wprowadź
Podaj nazwę stacji roboczej w pliku konfiguracyjnym
ponownie komendę lub instrukcję SQL.
menedżera bez danych klienta.
Wymagane informacje:
SQL1342N Brak nazwy serwera plików nazwa lub v Opis problemu
nazwa ta jest niepoprawna.
v Wartość SQLCODE i kod przyczyny
Objaśnienie: v Jeśli to możliwe, zawartość obszaru komunikacyjnego SQL
Nazwa serwera plików w komendzie/funkcji API jest
v Jeśli to możliwe, plik śledzenia
niepoprawna lub nie została podana.
Działanie użytkownika: kod_sql: -1345
Sprawdź, czy została podana nazwa serwera plików, czy nie
zawiera ona niedopuszczalnych znaków i czy nie jest dłuższa stan_sql: 58038
niż 48 znaków. Wprowadź ponownie komendę/funkcję API
podając poprawną nazwę serwera plików.
SQL1348W Nie można zmniejszyć wielkości obszaru
tabel.
SQL1343N Brak nazwy obiektu nazwa lub jest ona
niepoprawna. Objaśnienie:
Wielkości obszaru tabel nie można jeszcze zmniejszyć,
Objaśnienie: ponieważ nie istnieje wolna pamięć powyżej wskaźnika
Nazwa obiektu w komendzie/funkcji API jest niepoprawna lub wysokiego poziomu obszaru tabel.
nie została podana.
Działanie użytkownika:
Działanie użytkownika: Operacja reorganizacji tabeli lub indeksu może umożliwić
Sprawdź, czy została podana nazwa obiektu, czy nie zawiera zwolnienie miejsca poniżej wskaźnika wysokiego poziomu, co
ona niedopuszczalnych znaków i czy nie jest dłuższa niż 48 pozwoli kolejnej instrukcji ALTER TABLESPACE ...
znaków. Wprowadź ponownie komendę/funkcję API podając REDUCE zmniejszyć wielkość obszaru tabel.
poprawną nazwę obiektu.
kod_sql: +1348
SQL1344N W katalogach systemowych znaleziono
osierocone wiersze. Przed rozpoczęciem stan_sql: 0168J
migracji skontaktuj się z przedstawicielem
obsługi technicznej.
Objaśnienie:
W jednym lub wielu katalogach systemowych znajdują się
osierocone wiersze. Może to być przyczyną niepowodzenia
migracji.
Działanie użytkownika:
Skontaktuj się z przedstawicielem obsługi technicznej. Nie
próbuj wykonywać migracji, dopóki ten problem nie zostanie
rozwiązany.

Rozdział 2. Komunikaty SQL 235


SQL1349W • SQL1350N

Podczas migracji bazy danych należy sprawdzić, czy


SQL1349W Napotkano zewnętrzny podprogram lub
wszystkie podprogramy i zdefiniowane przez użytkownika
zdefiniowane przez użytkownika
opakowania, których to dotyczy, można bezpiecznie
opakowanie NOT FENCED podczas
uruchomić jako NOT FENCED i THREADSAFE. Po
wykonywania programu db2ckmig lub
sprawdzeniu można je zmienić z powrotem na NOT FENCED
migracji bazy danych. Podczas migracji
i THREADSAFE. Plik wygenerowany-plik jest skryptem CLP,
bazy danych wszystkie zewnętrzne
który można wykonać w celu zmiany wszystkich
podprogramy NOT FENCED, które nie
podprogramów i zdefiniowanych przez użytkownika
mają zależności dotyczących biblioteki
opakowań na NOT FENCED. Zmodyfikuj ten plik tak, aby
silnika DB2, są zmieniane na FENCED i
zawierał tylko instrukcje ALTER, które należy wykonać, i
NOT THREADSAFE. Dodatkowo, wartość
uruchom skrypt CLP po zmigrowaniu bazy danych.
opcji DB2_FENCED dla wszystkich
opakowań zdefiniowanych przez
użytkownika jest zmieniana na ’Y’. Listę Podczas uruchamiania programu db2ckmig, przed migracją
podprogramów, których to dotyczy, można bazy danych, można zmienić podprogramy wymienione w
znaleźć w pliku wygenerowany-plik. wygenerowanym pliku wygenerowany-plik na tryb FENCED i
NOT THREADSAFE, oraz opcję DB2_FENCED dla
Objaśnienie: zdefiniowanych przez użytkownika opakowań na wartość Y.
Poczynając od wersji 9.5 produktu DB2, menedżer bazy
danych jest wielowątkowy (a nie wieloprocesowy) na
platformach Linux i UNIX. Wykonanie podprogramów SQL1350N Aplikacja nie znajduje się w stanie
zewnętrznych NOT FENCED i NOT THREADSAFE w umożliwiającym przetwarzanie tego
wielowątkowym menedżerze bazy danych może powodować żądania. Kod przyczyny=kod_przyczyny.
niepoprawne wyniki, uszkodzenie bazy danych lub Objaśnienie:
nieprawidłowe zakończenie menedżera bazy danych. W Odpowiednio do kodu kod_przyczyny:
efekcie wszystkie podprogramy NOT FENCED muszą być
również określone jako THREADSAFE. 01 Aplikacja wykonuje obecnie instrukcje SQL i nie
może zrealizować żądanej komendy narzędzia.
Podobnie, korzystanie ze zdefiniowanych przez użytkownika 02 Żądanie utworzenia kopii zapasowej jest w trakcie
opakowań NOT FENCED w wielowątkowym menedżerze realizacji. Z początkowego wywołania narzędzia
bazy danych może powodować niepoprawne wyniki, otrzymano ostrzeżenie, informujące, że do
uszkodzenie bazy danych lub nieprawidłowe zakończenie zakończenia tworzenia kopii zapasowej wymagane
menedżera bazy danych. W efekcie wszystkie zdefiniowane są dalsze wywołania.
przez użytkownika opakowania NOT FENCED muszą być
wątkowo bezpieczne. 03 Żądanie odtwarzania jest w trakcie realizacji. Z
początkowego wywołania narzędzia otrzymano
Podczas migracji bazy danych wszystkie zewnętrzne ostrzeżenie informujące, że do zakończenia
podprogramy NOT FENCED, które nie mają zależności odtwarzania wymagane są dalsze żądania.
dotyczących biblioteki silnika DB2, są zmieniane na FENCED 04 Żądanie odtwarzania zmian jest w trakcie realizacji.
i NOT THREADSAFE w celu uniknięcia problemów, które Z początkowego wywołania narzędzia otrzymano
mogą wystąpić w związku z wykonaniem kodu, który nie jest ostrzeżenie informujące, że do zakończenia
wątkowo bezpieczny. Podobnie, wartość opcji DB2_FENCED odtwarzania zmian wymagane są dalsze żądania.
jest ustawiana na ’Y’ dla wszystkich opakowań
zdefiniowanych przez użytkownika. 05 Żądanie ładowania jest w trakcie realizacji.
Otrzymano ostrzeżenie z początkowego wywołania
Podczas pracy programu db2ckmig wykrywane są zewnętrzne narzędzia wskazujące, że wymagane są dalsze
podprogramy NOT FENCED, które nie mają zależności żądania, zanim możliwe będzie zakończenie
dotyczących biblioteki silnika DB2. Te podprogramy zostaną ładowania.
zmienione na FENCED i NOT THREADSAFE podczas 07 Użytkownicy systemu stowarzyszonego: Aplikacja
migracji bazy danych. Zostanie wygenerowany plik nie może przetworzyć tej komendy po wykonaniu
wygenerowany-plik zawierający listę wszystkich zewnętrznych instrukcji SQL.
podprogramów NOT FENCED, których to dotyczy.
Dodatkowo, podczas uruchamiania narzędzia db2ckmig Działanie użytkownika:
wykrywane są opakowania zdefiniowane przez użytkownika i Odpowiednio do kodu kod_przyczyny:
wartość opcji DB2_FENCED jest zmieniana na ’Y’. 01 Zanim wprowadzisz komendą ponownie, zakończ
jednostkę pracy (używając instrukcji COMMIT lub
Zostanie wygenerowany plik wygenerowany-plik zawierający ROLLBACK).
listę wszystkich zewnętrznych podprogramów NOT FENCED
i zdefiniowanych przez użytkownika opakowań, których to 02-05 Podaj żądane wywołanie(a), aby zakończyć
dotyczy. przetwarzanie dla narzędzia, a następnie powtórz
wykonanie komendy.
Działanie użytkownika:

236 Komunikaty, tom 2


SQL1351C • SQL1355N

07 Użytkownicy systemu stowarzyszonego: Aplikacja kod_sql: -1353


musi wydać te komendy po nawiązaniu połączenia z
menedżerem bazy danych, ale przed wszelkimi stan_sql: 428GO
innymi instrukcjami SQL.
SQL1354N Zmienna SQL w procedurze
SQL1351C Brak dostępnych kanałów FCM. nazwa-procedury jest niedostępna do odczytu
z powodu ostatniej operacji zatwierdzania
Objaśnienie:
lub wycofania zmian.
Brak dostępnych kanałów FCM. Menedżer FCM nie może
automatycznie zwiększyć liczby kanałów, ponieważ osiągnięto Objaśnienie:
już maksymalną wartość. W trakcie wykonywania procedury nazwa-procedury podjęto
próbę odwołania się do zmiennej SQL lub do parametru SQL
Nie można wykonać instrukcji. typu danych XML, którego nie można odczytać, ponieważ
ostatnia operacja zatwierdzania lub wycofania zmian sprawiła,
Działanie użytkownika:
że wartość tej zmiennej lub tego parametru przestała być
Ponów żądanie, gdy inne procesy zwolnią część tego zasobu.
dostępna.
Jeśli błąd będzie występować nadal, zwiększ liczbę kanałów
Odwoływanie się do zmiennych lub parametrów typu danych
FCM (fcm_num_channels) określoną w pliku konfiguracyjnym
XML z procedur SQL po operacji zatwierdzania lub wycofania
menedżera bazy danych, a następnie powtórz żądanie.
zmian, które nie jest poprzedzone wcześniejszym
przypisaniem nowych wartości tym zmiennym, jest
kod_sql: -1351 nieobsługiwane.

stan_sql: 57011 Działanie użytkownika:


Aby zapobiec powstawaniu błędów, wykonaj jedno lub więcej
spośród następujących działań:
SQL1352N Podczas transakcji nie można ponownie
v Przenieś operację zatwierdzania lub wycofania zmian, tak
wykorzystać zaufanego połączenia.
aby była wykonywana po instrukcji SQL odwołującej się do
Objaśnienie: zmiennych lub parametrów SQL typu danych XML.
Próba ponownego wykorzystania połączenia nie powiodła się, v Usuń te odwołania do zmiennych lub parametrów SQL typu
ponieważ połączenie było używane do wykonania transakcji. danych XML, które następują po operacjach zatwierdzania
Połączenie to jest teraz w stanie rozłączenia. lub wycofania zmian.
Działanie użytkownika: v Przypisz wartości tym zmiennym lub parametrom SQL typu
Przed podjęciem próby ponownego wykorzystania połączenia danych XML, które będą odczytywane w instrukcjach SQL
należy sprawdzić, czy wykonywana jest operacja znajdujących się po operacji zatwierdzania lub
zatwierdzenia, czy wycofania zmian. wycofywania zmian.
v Ponów transakcję, jeśli operacja wycofywania zmian była
SQL1353N Opcja kolumny dla kolumny nazwa-kolumny niejawna i została spowodowana zakleszczeniem lub
jest niepoprawna w przezroczystej niepowodzeniem systemu.
instrukcji DDL. Kod przyczyny =
kod-przyczyny. kod_sql: -1354

Objaśnienie: stan_sql: 560CE


Przezroczyste instrukcje DDL służą do utworzenia obiektów w
źródle danych. Te opcje kolumn, które można określić dla
obiektów utworzonych na serwerze stowarzyszonym, nie są SQL1355N Istnieje jedna lub więcej niepoprawnych
obsługiwane przez przezroczyste instrukcje DDL. Konkretna wartości określonych podczas pobierania
opcja kolumny określona dla kolumny nazwa-kolumny jest ustawień konfiguracyjnych alertów. Kod
wskazana przez kod-przyczyny w następujący sposób: przyczyny: kod-przyczyny.
1. opcje dotyczące obiektów typu LOB; Objaśnienie:
2. ograniczenie przez unikalność, ograniczenie referencyjne Istnieje jedna lub więcej niepoprawnych wartości określonych
lub ograniczenie sprawdzające; podczas pobierania ustawień konfiguracyjnych alertów.
3. klauzula default; Przyczyna jest określona przez kod-przyczyny. Możliwe kody
przyczyny:
4. specyfikacja wygenerowanej kolumny (za wyjątkiem
klauzuli default). 1 Podany typ obiektu jest niepoprawny.
2 Podany poziom konfiguracji jest niepoprawny.
Nie można wykonać instrukcji.
Działanie użytkownika:
Usuń lub zastąp niepoprawną opcję.

Rozdział 2. Komunikaty SQL 237


SQL1356N • SQL1359N

3 Żądanie pobrania konfiguracji alertów dla określonej


SQL1357N Określony typ danych jest niepoprawny
bazy danych nie powiodło się, ponieważ nie podano
jako lokalny typ danych dla odwzorowania
nazwy bazy danych.
typu danych ze źródła danych. Kod
4 Żądanie pobrania konfiguracji alertów dla przyczyny = kod-przyczyny. Zmiana typu
określonego obiektu nie powiodło się, ponieważ nie lokalnego na określony typ danych nie jest
podano nazwy bazy danych lub nazwy obiektu. dozwolona.
5 Określony obiekt jest niezgodny z danym typem Objaśnienie:
obiektu. Podany typ danych jest niepoprawnym odwzorowaniem typu
lub nieobsługiwanym typem danych.
6 Określono obiekt, lecz nie zażądano ustawień na
poziomie tego obiektu. Działanie użytkownika:
Kod-przyczyny wskazuje czynności do wykonania.
Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące: 1. Podany lokalny typ danych jest niezgodny z typem
danych, na który następuje odwzorowanie, ze źródła
1 Aby pobrać ustawienia konfiguracji alertów dla danych. Określ typ danych zgodny z typem w źródle
menedżera bazy danych, podaj menedżera bazy danych.
danych typu obiektu; dla bazy danych określ bazę 2. Podany typ danych nie jest wbudowanym typem danych.
danych typu obiektu; dla obszaru tabel określ obszar Określ odpowiedni wbudowany typ danych.
tabel typu obiektu; dla kontenera obszaru tabel
określ kontener obszaru tabel typu obiektu. 3. Opakowanie nie obsługuje odwzorowania typu danych.
Określ typ danych obsługiwany przez opakowanie.
2 Jeśli typ obiektu to menedżer bazy danych, określ
poziom konfiguracji D, aby pobrać domyślne kod_sql: -1357
ustawienia instalacji, albo poziom G lub O, aby
pobrać ustawienia na poziomie instancji. Jeśli typem stan_sql: 42815
obiektu nie jest menedżer bazy danych, podaj
poziom konfiguracji D - aby pobrać domyślne
ustawienia instalacji, poziom G - aby pobrać SQL1358N Nie można otworzyć zduplikowanego
ustawienia na poziomie globalnym, lub poziom O - kursora.
aby pobrać ustawienia na poziomie obiektu. Objaśnienie:
3 Podaj nazwę bazy danych. Od chwili otwarcia pierwszej instancji na tym poziomie
zagnieżdżenia otwarto ponad 65 533 instancje tego kursora.
4 Upewnij się, że zostały podane nazwa bazy danych i
nazwa obiektu. Działanie użytkownika:
Zamknij wszystkie instancje tego kursora na tym poziomie
5 Upewnij się, że podany obiekt jest zgodny z danym zagnieżdżenia.
typem obiektu.
6 Podaj nazwę obiektu tylko wówczas, gdy chcesz kod_sql: -1358
pobrać ustawienia na poziomie obiektu.
stan_sql: 54064
Następnie ponownie wprowadź żądanie.
SQL1359N Przetwarzanie zaufanego kontekstu żądania
kod_sql: -1355 przełączania użytkownika zostało
zatrzymane z powodu wystąpienia
stan_sql: 560CD przerwania.
Objaśnienie:
SQL1356N Nie można odłączyć partycji danych od Podczas przetwarzania przełączenia użytkownika odebrano
tabeli nazwa-tabeli. żądanie przerwania. Żądanie przełączenia użytkownika nie
Objaśnienie: zostało zakończone, a połączenie przeszło w stan rozłączenia.
Nie można przetworzyć instrukcji ALTER TABLE ... Działanie użytkownika:
DETACH PARTITION. Określona partycja danych została Kontynuuj wykonywanie aplikacji. Połączenie najpierw musi
przyłączona w tej samej jednostce pracy (UOW) i dlatego wrócić do stanu połączenia - przez wywołanie poprawnego
istnieje oczekująca modyfikacja tabeli, która musi zostać żądania przełączenia użytkownika lub przerwanie tego
wykonana. połączenia i ustanowienie nowego.
Działanie użytkownika:
Przed odłączeniem partycji należy wykonać operację kod_sql: -1359
COMMIT lub ROLLBACK względem oczekującej transakcji
ATTACH. stan_sql: 51018

238 Komunikaty, tom 2


SQL1360N • SQL1364W

v w przypadku aplikacji użytkownika: zatrzymaj ją i


SQL1360N Nie można zatrzymać bieżącego procesu.
uruchom,
Objaśnienie: v w przypadku procesora wiersza komend: wydaj komendę
Użytkownik próbował przerwać proces, którego nie można TERMINATE i połącz się ponownie,
przerwać.
v w przypadku serwera: wydaj komendy DB2STOP i
Działanie użytkownika: DB2START.
Nie przerywaj bieżącego procesu.
SQL1363W Co najmniej jeden parametr wprowadzony
SQL1361W Czas wykonywania komendy przekroczył do natychmiastowej modyfikacji nie został
dopuszczalny limit. Czy przerwać zmieniony dynamicznie. W wypadku tych
wykonywanie komendy? parametrów konfiguracyjnych wszystkie
aplikacje muszą zostać odłączone od
Objaśnienie:
bieżącej bazy danych, aby zmiany zostały
Jeśli wykonywanie komendy trwa dłużej niż zdefiniowano,
uwzględnione.
pojawia się okno dialogowe z pytaniem, czy użytkownik
(klient Windows) chce przerwać wykonywane komendy. Objaśnienie:
Komenda konfiguracji bazy danych została pomyślnie
Ten komunikat dotyczy tylko środowiska Windows i może być przetworzona. Jednak nie wszystkie zmiany zostały
widoczny tylko w wywoływanym oknie dialogowym. przetworzone od razu. Po odłączeniu wszystkich aplikacji
pierwsze połączenie z bazą danych spowoduje wprowadzenie
Działanie użytkownika: żądanych zmian.
Do wyboru są trzy możliwości: TAK - przerwij teraz; NIE -
kontynuuj, nie pytaj ponownie; ANULUJ - kontynuuj, z tym Działanie użytkownika:
samym limitem czasu. Aby sprawdzić, które zmiany są uwzględniane dynamicznie,
pobierz parametry konfiguracyjne bazy danych i wyświetl
szczegółowe informacje na ich temat, korzystając z
SQL1362W Co najmniej jeden parametr wprowadzony następującej komendy:
do natychmiastowej modyfikacji nie został
zmieniony dynamicznie. Zmiany po stronie DB2 GET DB CFG FOR
<database-alias> SHOW DETAIL
klienta zostaną uwzględnione po kolejnym
uruchomieniu aplikacji lub po wydaniu
komendy TERMINATE. Zmiany na Zmiany w parametrach konfiguracyjnych bazy danych mogą
serwerze nie zostaną uwzględnione, dopóki być uwzględniane dynamicznie tylko wtedy, gdy użytkownik
nie zostanie wydana komenda DB2START. jest połączony z bazą danych. Nie wszystkie parametry
konfiguracyjne podlegają dynamicznej aktualizacji. Aby
Objaśnienie: dowiedzieć się, które parametry można zmieniać dynamicznie,
Niektóre zmiany w konfiguracji menedżera bazy danych nie zajrzyj do podręcznika Administration Guide.
mogły zostać natychmiast zastosowane. W wypadku tych
parametrów zmiany zaczną obowiązywać dopiero po Jeśli kilka parametrów zostało wprowadzonych w grupie,
uruchomieniu programu DB2. Następuje to zwykle po wprowadź te parametry osobno. W sytuacjach, gdy parametry
wydaniu komendy DB2START na serwerze i po restarcie konfiguracyjne nie mogą być zmieniane dynamicznie,
aplikacji na kliencie. wykonaj przynajmniej jedno z poniższych działań:
Działanie użytkownika: v Upewnij się, że wszystkie aplikacje zostały odłączone od
Aby sprawdzić, które zmiany są uwzględniane dynamicznie, bazy danych i wprowadź komendę db2, aby ustanowić
pobierz parametry konfiguracyjne menedżera bazy danych i połączenie.
wyświetl szczegółowe informacje na ich temat, posługując się v Ponów wiązanie pakietów, gdy nowe parametry
następującą komendą: konfiguracyjne zaczną obowiązywać, aby podczas wiązania
DB2 GET DBM CFG SHOW DETAIL zostały użyte nowe wartości.
v Użyj komendy FLUSH PACKAGE CACHE, aby
Zmiany w parametrach konfiguracyjnych menedżera bazy unieważnić instrukcje dynamiczne zawarte w pamięci
danych mogą być uwzględniane dynamicznie tylko wtedy, gdy podręcznej SQL.
użytkownik jest przyłączony do instancji. Nie wszystkie
parametry konfiguracyjne podlegają dynamicznej aktualizacji.
Aby dowiedzieć się, które parametry można zmieniać SQL1364W Co najmniej jeden parametr ustawiono na
dynamicznie, zajrzyj do podręcznika Administration Guide. wartość AUTOMATIC w sytuacji, w której
dla parametrów tych nie można określić
wartości AUTOMATIC.
Jeśli kilka parametrów zostało wprowadzonych w grupie,
wprowadź te parametry osobno. W sytuacjach, gdy parametry Objaśnienie:
konfiguracyjne nie mogą być zmieniane dynamicznie, Co najmniej jeden z parametrów konfiguracyjnych został
wykonaj przynajmniej jedno z poniższych działań: określony jako AUTOMATIC, podczas gdy w wypadku tego
parametru wartość AUTOMATIC nie jest obsługiwana.

Rozdział 2. Komunikaty SQL 239


SQL1365N • SQL1366N

Działanie użytkownika: administracyjnych pod kątem możliwych przyczyn


Jeśli zmiany parametrów zostały wprowadzone jako grupa, niepowodzenia. Skoryguj nieprawidłowość
sprawdź, które z nich się powiodły, wprowadzając je wskazaną komunikatem o błędzie w dzienniku
ponownie, lecz tym razem pojedynczo. powiadomień administracyjnych.
3 Zadbaj o to, by w ustawieniu parametru
Jeśli wprowadzony został tylko jeden parametr, komunikat ten
konfiguracyjnego menedżera bazy danych
oznacza, że w wypadku tego parametru wartość
SRVCON_GSSPLUGIN_LIST figurowała nie
AUTOMATIC nie jest obsługiwana.
więcej niż jedna wtyczka zabezpieczeń Kerberos.
Aby dowiedzieć się, które parametry konfiguracyjne obsługują 4 Określ jedną wtyczkę zabezpieczeń Kerberos w
wartość AUTOMATIC, zajrzyj do podręcznika Administration ustawieniu parametru konfiguracyjnego menedżera
Guide. bazy danych SRVCON_GSSPLUGIN_LIST albo
nie określaj mechanizmu Kerberos w ustawieniach
parametrów SRVCON_AUTH i
SQL1365N Program db2start lub db2stop nie mógł AUTHENTICATION.
przetworzyć wtyczki nazwa-wtyczki. Kod
przyczyny = kod-przyczyny. 5 Sprawdź zawartość dziennika powiadomień
administracyjnych pod kątem nazwy brakującego
Objaśnienie: interfejsu API. Uzupełnij wtyczkę zabezpieczeń o
Przetwarzanie wtyczki zabezpieczeń nazwa-wtyczki po stronie brakujący interfejs API.
serwera zakończyło się niepowodzeniem. Wyjaśnienie
odpowiadające kodowi kod-przyczyny: 6 Określ właściwy typ wtyczki zabezpieczeń w
ustawieniu odpowiedniego parametru
1 Wtyczka zabezpieczeń nie została odnaleziona. konfiguracyjnego menedżera bazy danych. Na
2 Nie można załadować wtyczki zabezpieczeń. przykład nie należy podawać wtyczki zabezpieczeń
na bazie identyfikatora i hasła w ustawieniu
3 W ustawieniu parametru konfiguracyjnego parametru SRVCON_GSSPLUGIN_LIST.
menedżera bazy danych
SRVCON_GSSPLUGIN_LIST wskazano więcej niż 7 Przejrzyj plik dziennika powiadomień
jedną wtyczkę zabezpieczeń Kerberos. administracyjnych pod kątem możliwych przyczyn
niepowodzenia. Skoryguj nieprawidłowość
4 Nie znaleziono żadnej wtyczki zabezpieczeń z wskazaną komunikatem o błędzie w dzienniku
mechanizmem Kerberos, podczas gdy właśnie na ten powiadomień administracyjnych.
mechanizm wskazuje ustawienie parametru
konfiguracyjnego menedżera bazy danych 8 Podaj poprawną nazwę wtyczki zabezpieczeń.
SRVCON_AUTH lub AUTHENTICATION. Nazwa nie powinna zawierać żadnych informacji o
ścieżce i katalogu.
5 We wtyczce zabezpieczeń brakuje wymaganego
interfejsu API. 9 Upewnij się, że wtyczka zabezpieczeń korzysta z
obsługiwanych wersji interfejsów API, oraz że
6 Nieprawidłowy typ wtyczki zabezpieczeń. deklaruje właściwy numer wersji.
7 Wystąpił błąd podczas wyjmowania wtyczki 10 Więcej informacji można znaleźć w dzienniku
zabezpieczeń. powiadomień administracyjnych na kliencie i
8 Niepoprawna nazwa wtyczki zabezpieczeń. serwerze. Skoryguj nieprawidłowość wskazaną
komunikatem o błędzie w dzienniku powiadomień
9 Wersja interfejsów API zadeklarowana przez administracyjnych.
wtyczkę zabezpieczeń jest niezgodna z programem
DB2. 11 Określ przynajmniej jedną wtyczkę zabezpieczeń
działającą w oparciu o interfejs GSS w ustawieniu
10 Wtyczka zabezpieczeń napotkała nieoczekiwany parametru konfiguracyjnego menedżera bazy danych
błąd na serwerze bazy danych. SRVCON_GSSPLUGIN_LIST lub wybierz inny
11 Parametr konfiguracyjny menedżera bazy danych rodzaj uwierzytelniania w ustawieniu parametru
SRVCON_GSSPLUGIN_LIST nie jest ustawiony, a SRVCON_AUTH lub AUTHENTICATION.
w parametrze konfiguracyjnym SRVCON_AUTH
lub AUTHENTICATION użyto ustawienia SQL1366N W kliencie wystąpił błąd przetwarzania
GSSPLUGIN lub GSS_SERVER_ENCRYPT. wtyczki zabezpieczeń nazwa-wtyczki. Kod
Działanie użytkownika: przyczyny = kod-przyczyny.
Działanie użytkownika odpowiadające kodowi kod-przyczyny: Objaśnienie:
1 Sprawdź, czy dana wtyczka zabezpieczeń znajduje Wtyczka zabezpieczeń po stronie klienta zwróciła błąd.
się w katalogu wtyczek na serwerze. Wyjaśnienie odpowiadające kodowi kod-przyczyny:
1. We wtyczce zabezpieczeń brakuje wymaganego interfejsu
2 Przejrzyj plik dziennika powiadomień API.

240 Komunikaty, tom 2


SQL1367N • SQL1371W

2. Nieprawidłowy typ wtyczki zabezpieczeń. Działanie użytkownika:


3. Nie można załadować wtyczki zabezpieczeń klienta. Zainstaluj odpowiedni poziom systemu operacyjnego lub
wyłącz zmienną rejestru DB2_RESOURCE_POLICY.
4. Nie można wyjąć wtyczki zabezpieczeń.
5. Niepoprawna nazwa wtyczki.
SQL1368N Niepoprawna konfiguracja strategii
6. Wersja interfejsów API zadeklarowana przez wtyczkę
dotyczącej zasobów.
zabezpieczeń jest niezgodna z programem DB2.
7. Wtyczka zabezpieczeń napotkała nieoczekiwany błąd. Objaśnienie:
Plik strategii dotyczącej zasobów jest niepoprawny.
8. Niepoprawne referencje klienta.
9. Wtyczka zabezpieczeń odebrała referencję z Działanie użytkownika:
przekroczonym terminem ważności. Popraw definicję strategii w pliku określonym przez zmienną
rejestru DB2_RESOURCE_POLICY.
Działanie użytkownika:
Działanie użytkownika odpowiadające kodowi kod-przyczyny: Wyłącz obsługę strategii dotyczącej zasobów, usuwając
1. Sprawdź zawartość dziennika powiadomień zawartość zmiennej rejestru DB2_RESOURCE_POLICY, lub
administracyjnych pod kątem nazwy brakującego dla zmiennej DB2_RESOURCE_POLICY wybierz ustawienie
interfejsu API. Uzupełnij wtyczkę zabezpieczeń o AUTOMATIC, aby została wykonana automatyczna
brakujący interfejs API. konfiguracja.
2. Określ właściwy typ wtyczki zabezpieczeń w ustawieniu
odpowiedniego parametru konfiguracyjnego menedżera SQL1369N Niepoprawny dokument XML.
bazy danych. Na przykład nie należy podawać wtyczki
zabezpieczeń na bazie identyfikatora i hasła w ustawieniu Objaśnienie:
parametru SRVCON_GSSPLUGIN_LIST. Bieżący dokument XML jest niepoprawny.
3. Przejrzyj plik dziennika powiadomień administracyjnych Działanie użytkownika:
pod kątem możliwych przyczyn niepowodzenia. Skoryguj Przed kontynuowaniem sprawdź poprawność dokumentu
nieprawidłowość wskazaną komunikatem o błędzie w XML.
dzienniku powiadomień administracyjnych.
4. Przejrzyj plik dziennika powiadomień administracyjnych SQL1370N Próba wyciszenia instancji lub bazy danych
pod kątem możliwych przyczyn niepowodzenia. Skoryguj nazwa1 nie powiodła się, ponieważ instancja
nieprawidłowość wskazaną komunikatem o błędzie w lub baza danych nazwa2 została już
dzienniku powiadomień administracyjnych. wyciszona przez użytkownika
5. Podaj poprawną nazwę wtyczki zabezpieczeń. Nazwa nie nazwa-użytkownika. Typ wygaszenia: typ.
powinna zawierać żadnych informacji o ścieżce i katalogu.
Objaśnienie:
6. Upewnij się, że wtyczka zabezpieczeń korzysta z Próbowano wygasić instancję lub bazę danych, co
obsługiwanych wersji interfejsów API, oraz że deklaruje spowodowałoby nakładanie się wygaszeń, np. wygaszenie
właściwy numer wersji. instancji, podczas gdy baza danych została już wygaszona
7. Więcej informacji można znaleźć w dzienniku przez innego użytkownika.
powiadomień administracyjnych na kliencie i serwerze.
Skoryguj nieprawidłowość wskazaną komunikatem o Typ wygaszenia typ odwołuje się do wygaszonej już instancji
błędzie w dzienniku powiadomień administracyjnych. lub bazy danych i ma wartość ’1’ dla instancji, a wartość ’2’
8. Sprawdź, czy referencja klienta (generowana przez dla bazy danych.
procedurę db2secGenerateInitialCred lub dostarczona jako
Działanie użytkownika:
delegowana referencja przychodząca) ma format
Skontaktuj się z użytkownikiem, który obecnie ma wygaszoną
rozpoznawalny przez wtyczkę zabezpieczeń. Ponieważ
instancję lub bazę danych, aby dowiedzieć się, kiedy program
referencja posłuży do inicjowania kontekstów, musi to być
DB2 przestanie być wygaszony, i ponów próbę w tym czasie.
referencja typu INITIATE lub BOTH.
9. Użytkownik wprowadzający instrukcję musi uzyskać
odpowiednie referencje (lub ponownie uzyskać SQL1371W Instancja lub baza danych nazwa już jest
początkowe referencje), a następnie ponownie wprowadzić wygaszona. Typ wygaszenia: typ-wygaszania.
tę instrukcję. Objaśnienie:
Usiłowano wygasić instancję lub bazę danych, która jest już
SQL1367N Konfiguracja systemu operacyjnego jest wygaszona.
niewystarczająca do obsługi strategii Działanie użytkownika:
dotyczącej zasobów. Nie jest wymagane żadne działanie.
Objaśnienie:
Strategia dotycząca zasobów nie obsługuje bieżącej
konfiguracji systemu operacyjnego.

Rozdział 2. Komunikaty SQL 241


SQL1372N • SQL1379W

Działanie użytkownika:
SQL1372N Nie można wykonać wygaszenia podczas
Wprowadź instrukcję za pomocą opakowania zdefiniowanego
trwania transakcji.
jako niechronione.
Objaśnienie:
Użytkownik próbował wygasić bazę danych lub instancję, w kod_sql: -1376
czasie gdy miał nie zakończone jednostki pracy. Wygaszenie
nie może zostać wykonane w takim stanie. stan_sql: 55069
Działanie użytkownika:
Zakończ jednostkę pracy (COMMIT lub ROLLBACK) i SQL1377N Tworzenie lub modyfikowanie procedury
powtórz żądanie. potomnej nie jest obsługiwane w tym źródle
danych.
SQL1373W Nie można anulować wygaszenia instancji Objaśnienie:
lub bazy danych nazwa, ponieważ nie jest Procedury potomnej nie można utworzyć ani zmodyfikować w
ona wygaszona. tym źródle danych.
Objaśnienie: Działanie użytkownika:
Anulowanie wygaszenia nie powiodło się, ponieważ instancja Wprowadź instrukcję w obsługiwanym źródle danych.
lub baza danych nie jest wygaszona.
Działanie użytkownika: kod_sql: -1377
Sprawdź, czy anulowanie wygaszenia odnosi się do poprawnej
instancji lub bazy danych. stan_sql: 560CL

SQL1374N Nie można wykonać instrukcji QUIESCE SQL1379W Grupa partycji bazy danych grupa-partycji
RESET dla instancji lub bazy danych została częściowo redystrybuowana. Liczba
nazwa, ponieważ została ona wygaszona redystrybuowanych tabel wynosi liczba, a
przez innego użytkownika liczba tabel do redystrybucji wynosi liczba.
nazwa-użytkownika. Kod przyczyny = kod-przyczyny.

Objaśnienie: Objaśnienie:
Instancja lub baza danych została wygaszona przez innego Operacja redystrybucji została pomyślnie zakończona, jednak
użytkownika. grupa partycji bazy danych została tylko częściowo
redystrybuowana. W efekcie redystrybuowane tabele w grupie
Działanie użytkownika: partycji bazy danych mogą używać innej mapy
Sprawdź, czy komenda quiesce reset została wprowadzona dla partycjonowania niż tabele, które nie zostały redystrybuowane.
właściwej instancji lub bazy danych. Ponadto jeśli między redystrybuowanymi i
nieredystrybuowanymi tabelami istniała kolokacja przed
SQL1375N Do funkcji API przekazano niepoprawny operacją redystrybucji, właściwość kolokacji między tymi
parametr. Parametr kod-param jest błędny. tabelami została czasowo wyłączona. Wydajność zapytań
może nie być optymalna.
Objaśnienie:
kod-parametru wskazuje błędny parametr: Kody przyczyny:
1 zasięg 1 Żądanie redystrybucji określiło listę tabel, która nie
2 opcje. obejmuje wszystkich tabel w podanej grupie partycji
bazy danych i w której nie została określona opcja
Wartość może wykraczać poza dopuszczalny zakres lub być redystrybucji FIRST. W efekcie inne tabele w grupie
niepoprawna. partycji bazy danych, które nie zostały wymienione
w żądaniu, nie będą podlegały redystrybucji.
Działanie użytkownika:
Sprawdź składnię funkcji API, popraw parametr i powtórz 2 W żądaniu redystrybucji został określony parametr
próbę. STOP AT, którego wartość została osiągnięta przed
zakończeniem operacji redystrybucji.

SQL1376N Tworzenie lub wywoływanie procedury Działanie użytkownika:


potomnej za pomocą opakowania Wprowadź kolejne żądanie redystrybucji określające parametr
zdefiniowanego jako chronione nie jest CONTINUE w celu zastosowania nowej dystrybucji do
obsługiwane. kolejnego określonego zbioru tabel lub do reszty grupy
partycji bazy danych albo określ parametr ABORT w celu
Objaśnienie: wycofania operacji redystrybucji i przywrócenia starego
Procedury potomnej nie można utworzyć ani wywołać przy systemu dystrybucji.
użyciu opakowania zdefiniowanego jako chronione.

242 Komunikaty, tom 2


SQL1380N • SQL1385N

Jeśli w komendzie CATALOG DATABASE została określona


SQL1380N Wystąpił niespodziewany błąd zabezpieczeń
docelowa nazwa zwierzchnika, zadbaj o to, by docelowa
protokołu Kerberos.
nazwa zwierzchnika była poprawna dla serwera, do którego
Objaśnienie: klient próbuje się podłączyć lub z którym próbuje się połączyć.
Podczas uwierzytelniania wystąpił niespodziewany błąd
zabezpieczeń protokołu Kerberos. W wypadku pracy w środowisku Windows docelowa nazwa
użytkownika jest nazwą logowania używaną przez usługę DB2
Działanie użytkownika:
i ma format <nazwa domeny>\<identyfikator użytkownika>.
Nie jest wymagane żadne działanie.
Jeśli wydaje się, że nazwa użytkownika docelowego jest
SQL1381N Interfejs Security Support Provider niepoprawna, należy skontaktować się z serwisem IBM w celu
Interface nie jest dostępny. uzyskania pomocy.
Objaśnienie:
Uwierzytelnianie się nie powiodło, ponieważ nie był dostępny SQL1385N Parametr parametr został określony
interfejs Security Support Provider Interface (SSPI). niepoprawnie dla operacji redystrybucji.
Kod przyczyny = kod-przyczyny.
Działanie użytkownika:
Podczas uruchamiania w systemie operacyjnym Windows, Objaśnienie:
trzeba pamiętać o tym, by w katalogu systemowym znajdował Parametr wymieniony w komunikacie o błędzie jest
się plik security.dll. Należy także zapewnić, by interfejs SSPI niepoprawny, nieprawidłowo określony lub jest niezgodny z
był obsługiwany w używanym systemie operacyjnym. jedną spośród innych określonych opcji redystrybucji.

SQL1382N Nie jest dostępna obsługa protokołu Kody przyczyny:


Kerberos. 1 Została określona niepoprawna opcja redystrybucji.
Objaśnienie: Opcją dystrybucji może być jedna z następujących:
Uwierzytelnianie się nie powiodło, ponieważ nie została ″U″ (jednorodna), ″T″ (mapa docelowa), ″C″
zainstalowana obsługa protokołu Kerberos. (kontynuuj) lub ″A″ (przerwij).

Działanie użytkownika: 2 Maksymalna liczba numerów partycji na liście


Upewnij się, że obsługa protokołu Kerberos jest zainstalowana partycji nie może być większa niż maksymalna
i działa, a następnie powtórz połączenie. liczba partycji dozwolona w klastrze.
3 Nieprawidłowa wartość parametru STOP AT.
SQL1383N Docelowa nazwa zwierzchnika jest Wartość parametru STOP AT musi być w formacie
niepoprawna. ISO i mieć długość wynoszącą 26. Format to
″rrrr.mm.dd.gg-mm-ss-nnnnnn″.
Objaśnienie:
Docelowa nazwa zwierzchnika, określona w komendzie 4 Nieprawidłowa wartość parametru COMPACT ON.
CATALOG DATABASE jest niepoprawna. Wartość parametru COMPACT ON musi być równa
DB2REDIST_COMPACT_OFF (’F’) albo
Działanie użytkownika: DB2REDIST_COMPACT_ON (’T’).
Za pomocą komendy UNCATALOG DATABASE usuń
pozycję bazy danych, która ma niepoprawną docelową nazwę 5 Nieprawidłowa wartość parametru INDEXING
zwierzchnika. Za pomocą komendy CATALOG DATABASE MODE. Wartość parametru INDEXING MODE
wpisz ponownie do katalogu pozycję bazy danych z poprawną musi być równa DB2REDIST_INDEX_DEFERRED
docelową nazwą zwierzchnika, a następnie powtórz (’D’) albo DB2REDIST_INDEX_INCREMENTAL
połączenie. (’I’).
6 Nieprawidłowa wartość parametru PARALLEL
W wypadku pracy w środowisku Windows docelowa nazwa TABLE. Wartość musi być większa od 0 i mniejsza
użytkownika jest nazwą logowania używaną przez usługę DB2 niż maksimum dla wartości db2Uint32.
i ma format <nazwa domeny>\<identyfikator użytkownika>.
7 Nieprawidłowa wartość parametru STATISTICS.
Wartość musi być równa
SQL1384N Nie można zakończyć wzajemnego DB2REDIST_STAT_USE_PROFILE (’P’) albo
uwierzytelniania. DB2REDIST_STAT_NONE (’N’).
Objaśnienie: 8 Długość nazwy tabeli jest poza zakresem.
Połączenie się nie powiodło, ponieważ jedna ze stron: klient Maksymalna długość nazwy każdej tabeli jest równa
albo serwer, nie mogła zakończyć wzajemnego (SQL_MAX_IDENT + SQL_MAX_IDENT +2).
uwierzytelniania.
9 Niepoprawny parametr opcji tabeli. Wartość opcji
Działanie użytkownika: tabeli musi wynosić DB2REDIST_TABLES_FIRST
(’F’) albo DB2REDIST_TABLES_ONLY (’O’).

Rozdział 2. Komunikaty SQL 243


SQL1387W • SQL1389N

10 Brak informacji z parametru wejściowego struct. Przejęcie przez mechanizm HADR powiodło się i menedżer
Struktura wejściowa db2RedistStruct nie może być klastra powinien teraz ponownie przejąć odpowiedzialność za
równa NULL. Również pole struktury db2RedistIn zarządzanie grupami zasobów w węzłach klastra, których to
nie może być równe NULL. dotyczy.
11 Niezdefiniowana nazwa grupy partycji bazy danych
Jednak menedżer bazy danych DB2 nie zwrócił kontroli nad
lub zła struktura db2Char dla nazwy grupy partycji
grupą zasobów do menedżera klastra. W wyniku tego
bazy danych. Nazwa grupy partycji bazy danych
menedżer klastra aktualnie nie kontroluje tej grupy zasobów.
musi zostać podana. Struktura db2Char
przechowująca nazwę grupy partycji bazy danych
musi zawierać poprawne dane. Sprawdź strukturę Jeśli menedżer klastra nie kontroluje tej grupy zasobów, nie
db2Char dla nazwy grupy partycji bazy danych. Gdy będzie w stanie odpowiedzieć na związane z nią awarie.
parametr pioData ma wartość NULL, parametr
iLength musi być równy zero i na odwrót. Komunikaty o błędach z menedżera klastra są rejestrowane w
pliku db2diag.log.
12 Struktura db2Char przechowująca nazwę pliku
rozdzielania danych jest niepoprawna. Działanie użytkownika:
Ręcznie odblokuj grupę zasobów, tak aby menedżer klastra
13 Struktura db2Char przechowująca nazwę pliku mógł ją kontrolować:
docelowej mapy partycjonowania jest niepoprawna.
1. Przejrzyj plik db2diag.log w poszukiwaniu informacji
14 Została określona opcja redystrybucji ’T’ (mapa diagnostycznych wskazujących, dlaczego menedżer bazy
docelowa), ale nie został określony docelowy plik danych DB2 nie mógł odblokować grupy zasobów i
odwzorowania. zwrócić kontroli nad nią do menedżera klastra.
15 Gdy opcją redystrybucji jest ’T’ (mapa docelowa) 2. Użyj narzędzi oraz programów narzędziowych menedżera
lub ’A’ (przerwij), nie należy określać pliku klastra, aby odblokować, aktywować lub monitorować
rozdzielania danych. daną grupę zasobów.

16 Gdy opcją redystrybucji jest ’U’ (jednorodna), ’C’


(kontynuuj) lub ’A’ (przerwij), nie należy określać SQL1388W Wystąpił błąd podczas próby uzyskania
docelowego pliku odwzorowania. dostępu do żądanego zasobu lub części
zasobu. Zostały zwrócone częściowe
17 Gdy opcją redystrybucji jest ’T’ (mapa docelowa), informacje. Szczegóły można znaleźć w
’C’ (kontynuuj) lub ’A’ (przerwij), lista dodawania dzienniku powiadomień administracyjnych
partycji i lista usuwania partycji powinny być puste, przy komunikacie numer-komunikatu.
a licznik dodawania i licznik usuwania powinny być
równe zero. Objaśnienie:
Wystąpił błąd podczas uzyskiwania dostępu do jednego lub
18 Opcje redystrybucji nie mogą zostać określone większej liczby żądanych źródeł informacji. Informacje, które
więcej niż raz. można zebrać, są poprawne i zostały zwrócone, ale może
brakować pewnych rekordów.
19 Do funkcji API został przekazany niepoprawny
numer wersji. Działanie użytkownika:
Wyniki zapytania są niekompletne. Zapoznaj się z
20 Tabela o typie strukturalnym podana na liście
pokrewnymi wpisami w dzienniku powiadomień
TABLE nie jest główną tabelą całej hierarchii.
administracyjnych w celu uzyskania dalszych informacji, a
21 Niepoprawna wartość parametru DATA BUFFER. następnie popraw i ponownie wprowadź komendę. Jeśli
Wartość musi być większa od 0 i mniejsza niż problem wystąpi ponownie, skontaktuj się z działem wsparcia
wielkość parametru konfiguracyjnego bazy danych IBM.
util_heap_sz.
Działanie użytkownika: SQL1389N Specyfikator tabeli specyfikator-tabeli jest
Sprawdź odpowiedni parametr w oparciu o powyższy kod niepoprawny dla wyrażenia.
przyczyny, upewnij się, że został podany poprawny parametr, a
Objaśnienie:
następnie ponownie wywołaj program narzędziowy.
Specyfikator tabeli nie został zdefiniowany jako specyfikator
tabeli w danej instrukcji SQL lub nie można się odwołać do
SQL1387W Przejęcie przez mechanizm DB2 HADR specyfikatora tabeli w miejscu, gdzie został określony w
zakończyło się pomyślnie. Jednak grupa instrukcji SQL.
zasobów HADR pozostaje zablokowana, a
menedżer klastra nie może kontrolować tej Nie można wykonać instrukcji.
grupy zasobów.
Działanie użytkownika:
Objaśnienie: Popraw składnię i wprowadź ponownie instrukcję. Reguły
dotyczące specyfikatora tabeli dla wyrażenia ROW CHANGE

244 Komunikaty, tom 2


SQL1390C • SQL1396N

TIMESTAMP i wyrażenia ROW CHANGE TOKEN lub


SQL1392N Brak obsługi wielu instancji aplikacji
wbudowanych funkcji RID i RID_BIT można znaleźć w
wykonujących operacje
podręczniku DB2 SQL Reference.
prep,-bind,-import,-export.

kod_sql: -1389 Objaśnienie:


W WINDOWS można uruchomić tylko jedną instancję
stan_sql: 42703 wykonującą operacje prep, bind, import lub export.
Działanie użytkownika:
SQL1390C Zmienna środowiskowa DB2INSTANCE nie Nie próbuj uruchomić w WINDOWS więcej niż jedną
jest zdefiniowana lub jest niepoprawna. aplikację wykonującą operacje prep, bind, import lub export.

Objaśnienie:
Zmienna środowiskowa DB2INSTANCE nie jest SQL1393C Zmienna środowiskowa DB2PATH nie jest
zdefiniowana lub nie określa poprawnego właściciela instancji. zdefiniowana lub jest niepoprawna.

Działanie użytkownika: Objaśnienie:


W zmiennej środowiskowej DB2INSTANCE podaj nazwę Zmienna środowiskowa DB2PATH nie jest zdefiniowana lub
instancji, która ma być użyta. Jeśli nie znasz nazwy instancji nie zawiera właściwej ścieżki.
do wykorzystania lub sposobu ustawienia zmiennej Działanie użytkownika:
środowiskowej DB2INSTANCE na nazwę instancji, zapoznaj Podaj w zmiennej środowiskowej DB2PATH nazwę katalogu,
się z podręcznikiem Administration Guide. w którym jest zainstalowany menedżer baz danych.

Użytkownicy systemu stowarzyszonego: Informacje o


zmiennej środowiskowej DB2INSTANCE można znaleźć w SQL1394N Instancja nie jest zdefiniowana.
Podręczniku systemów stowarzyszonych. Objaśnienie:
Nie można skonfigurować dla aplikacji instancji, która nie
Sprawdź, czy zmienna środowiskowa PATH zawiera ścieżkę została zdefiniowana.
do sqllib/adm w katalogu osobistym instancji, z której chcesz
skorzystać (na przykład /u/instance/sqllib/adm, gdzie Działanie użytkownika:
/u/instance jest katalogiem osobistym właściciela instancji w Sprawdź, czy podana instancja istnieje. Użyj komendy
systemie UNIX). db2ilist, aby wyświetlić listę instancji:
db2ilist
SQL1391N Baza danych jest już używana przez inną
instancję menedżera bazy danych. SQL1395N Nie można przełączyć się do innej instancji,
ponieważ aplikacja używa wielu
Objaśnienie:
kontekstów.
Żądanie nie zostało wykonane, ponieważ baza danych jest
używana przez inną instancję menedżera baz danych (baza Objaśnienie:
danych może być używana tylko przez jedną instancję). Może Żądanie przełączenia się do innej instancji nie powiodło się,
to być spowodowane próbą użycia bazy danych znajdującej się ponieważ aplikacja używa wielu kontekstów.
w podłączonym systemie plików, dostępnym dla innej
instancji, działającej na innym komputerze. Działanie użytkownika:
Przed przełączeniem się do innej instancji sprawdź, czy
aplikacje nie używają wielu kontekstów.
Sytuacja ta może również wystąpić, jeśli jest otwarte
połączenie (przez SNA) z bazą danych, a działanie menedżera
baz danych zostało nieprawidłowo zakończone. SQL1396N Nie można przełączyć się do innej instancji,
ponieważ aplikacja jest podłączona do bazy
Działanie użytkownika:
danych lub przyłączona do instancji.
v Sprawdź, czy używasz prawidłowej bazy danych i czy inna
instancja z niej nie korzysta. Objaśnienie:
Żądanie przełączenia się do innej instancji nie powiodło się,
v Jeśli działanie menedżera baz danych zostało
ponieważ aplikacja jest podłączona do bazy danych lub
nieprawidłowo zakończone i masz połączenie z nim za
przyłączona do instancji.
pośrednictwem procesora wiersza komend, zakończ
działanie db2, aby zamknąć błędne połączenie przed próbą Działanie użytkownika:
ponownego łączenia. Przed przełączeniem się do innej instancji sprawdź, czy
aplikacja nie jest podłączona do żadnej bazy danych lub
kod_sql: -1391 przyłączona do innej instancji.

stan_sql: 51023

Rozdział 2. Komunikaty SQL 245


SQL1397N • SQL1401N

01 Dodaj opcję nazwa-opcji2 dla obiektu


SQL1397N Usługa DB2 nie powiodła się z powodu
nazwa-obiektu. Następnie dodaj opcję nazwa-opcji1.
niepomyślnego logowania się.
02 Usuń opcję nazwa-opcji2 dla obiektu nazwa-obiektu.
Objaśnienie:
Następnie usuń opcję nazwa-opcji1.
Usługa DB2 nie została uruchomiona, ponieważ logowanie nie
powiodło się.
SQL1400N Uwierzytelnianie nie jest obsługiwane.
Działanie użytkownika:
Jeśli uruchamiasz serwer administracyjny DB2, użyj komendy Objaśnienie:
DB2ADMIN SETID, aby ustawić nowy licznik logowania się. Podany typ uwierzytelniania nie jest obsługiwany.
Jeśli uruchamiasz serwer DB2 w Windows NT, możesz
ustawić konto dla usług DB2 korzystając z okna dialogowego Komenda nie może być wykonana.
Usługi na panelu sterowania.
Działanie użytkownika:
Wprowadź ponownie komendę z prawidłową wartością
SQL1398N Procedura nazwa-procedury nie jest parametru.
obsługiwana w środowisku partycjonowanej
bazy danych.
SQL1401N Typy uwierzytelniania są niezgodne.
Objaśnienie:
Procedura nazwa-procedury nie jest obsługiwana w Objaśnienie:
środowisku partycjonowanej bazy danych. Zwracany typ Użytkownik próbował podłączyć się do zdalnej bazy danych,
danych funkcji RID nie identyfikuje jednoznacznie wiersza w która jest wpisana do katalogu w lokalnym węźle z innym
partycjach bazy danych. Funkcja RID jest obsługiwana w typem uwierzytelniania niż na zdalnym węźle.
środowisku niepartycjonowanej bazy danych w celu
zapewnienia zgodności z produktem DB2 for z/OS. Użytkownicy systemu stowarzyszonego: Ten komunikat może
zostać też wyświetlony, gdy:
Działanie użytkownika:
v Źródło danych zostało zidentyfikowane w tabeli
Procedury tej należy używać tylko w środowisku
SYSCAT.SERVEROPTIONS z parametrem SETTING=’N’
niepartycjonowanej bazy danych. Zamiast funkcji RID, użyj
dla opcji OPTION =’PASSWORD’ i źródło danych nie
funkcji RID_BIT.
działa w trybie zaufanego klienta (czyli źródło danych
oczekuje hasła).
kod_sql: -1398
v Źródło danych zostało zidentyfikowane w tabeli
stan_sql: 56038 SYSCAT.SERVEROPTIONS z parametrem SETTING=’Y’
dla opcji OPTION =’PASSWORD’ i źródło danych działa
w trybie zaufanego klienta (czyli źródło danych nie
SQL1399N Operacja nazwa-operacji jest niepoprawna oczekuje hasła).
dla opcji nazwa-opcji1 z powodu opcji v Nie podano opcji serwera dla OPTION=’PASSWORD’ w
nazwa-opcji2 dla obiektu nazwa-obiektu. Kod SYSCAT.SERVEROPTIONS i domyślna wartość
przyczyny = kod-przyczyny. systemowa dla PASSWORD narusza wymagania dotyczące
Objaśnienie: hasła źródła danych.
Dwa opakowania lub opcje serwera są nawzajem od siebie Działanie użytkownika:
zależne. To, czy opcję można usunąć lub dodać, zależy od Komenda nie może być wykonana.
istnienia drugiej opcji. Przykłady użycia tego kodu SQL
można znaleźć w sekcji Zmiany dotyczące instrukcji DDL.
Wpisz ponownie alias bazy danych do katalogu w węźle
klienta podając typ uwierzytelniania odpowiedni dla zdalnej
Kody przyczyny są następujące: bazy danych. Wprowadź ponownie komendę.
01 Opcji nazwa-opcji1 nie można dodać, ponieważ
opcja nazwa-opcji2 dla obiektu nazwa obiektu nie Użytkownicy systemu stowarzyszonego:
istnieje. v Jeśli problem polega na tym, że źródło danych wymaga
02 Opcji nazwa-opcji1 nie można usunąć, ponieważ hasła, ale tabela SYSCAT.SERVEROPTIONS zawiera
istnieje opcja nazwa-opcji2 dla obiektu nazwa parametr SETTING=’N’ dla opcji OPTION=’PASSWORD’
obiektu. dla danego serwera, należy zmienić wpis
SYSCAT.SERVEROPTIONS w celu odzwierciedlenia
Działanie użytkownika: prawdziwego wymagania hasła przez źródło danych za
Dwa opakowania lub opcje serwera są nawzajem od siebie pomocą instrukcji SQL ALTER SERVER.
zależne. To, czy opcję można usunąć lub dodać, zależy od v Jeśli problem polega na tym, że źródło danych nie wymaga
istnienia drugiej opcji. hasła, ale tabela SYSCAT.SERVEROPTIONS zawiera
parametr SETTING=’Y’ dla opcji OPTION=’PASSWORD’
Kody przyczyny są następujące: dla danego serwera, należy zmienić wpis
SYSCAT.SERVEROPTIONS w celu odzwierciedlenia

246 Komunikaty, tom 2


SQL1402N • SQL1407N

prawdziwego wymagania hasła przez źródło danych za Użytkownicy systemu stowarzyszonego: Należy się upewnić,
pomocą instrukcji SQL ALTER SERVER. że wpis w tabeli SYSCAT.USEROPTIONS zawiera poprawną
v Jeśli opcja serwera OPTION=’PASSWORD’ nie została nazwę użytkownika i hasło dla źródła danych, do którego
ustawiona w tabeli SYSCAT.SERVEROPTIONS, należy uzyskiwany jest dostęp.
utworzyć wpis za pomocą instrukcji SQL CREATE
SERVER w celu odzwierciedlenia prawdziwego kod_sql: -1403
wymagania hasła przez źródło danych.
stan_sql: 08004
kod_sql: -1401
SQL1404N Hasło przestało być aktualne.
stan_sql: 08001
Objaśnienie:
To hasło nie może być już używane.
SQL1402N Nie można uwierzytelnić użytkownika,
ponieważ wystąpił nieoczekiwany błąd Działanie użytkownika:
systemu. Zmień swoje hasło, a następnie powtórz żądanie, używając
nowego hasła. Do zmiany hasła możesz użyć programu IBM
Objaśnienie: Data Server Client Configuration Assistant albo komend
Poproś o pomoc administratora systemu. W systemie UNIX CONNECT i ATTACH procesora wiersza komend.
plik db2ckpw może mieć nieprawidłową maskę uprawnień lub
wyczerpał się obszar wymiany stron. W systemie Windows kod_sql: -1404
NT usługa zabezpieczeń DB2 może nie być uruchomiona lub
konto może być zablokowane.
stan_sql: 08004
Komenda nie może być wykonana.
SQL1405N Nie można połączyć się z lokalnym
Użytkownicy systemu stowarzyszonego: Ta sytuacja może serwerem uwierzytelniania DB2.
również zostać wykryta przez źródło danych. Objaśnienie:
Działanie użytkownika: Aplikacja nie była w stanie dokonać uwierzytelnienia z
W systemie UNIX sprawdź, czy administrator ustawił powodu błędu komunikacji z lokalnym serwerem
właściwe uprawnienia dostępu dla db2ckpw i przydzielił uwierzytelniania DB2.
wystarczający obszar dla wymiany stron. W Windows NT, Działanie użytkownika:
poproś administratora systemu, aby sprawdził, czy funkcje Sprawdź, czy uruchomiony jest serwer uwierzytelniania DB2.
zabezpieczeń DB2 zostały zainstalowane i uruchomione. Jeśli
usługa jest uruchomiona, upewnij się, że konto nie jest
zablokowane. SQL1406N Dla tego programu narzędziowego nie
można przydzielić pamięci sortowania
współużytkowanego.
SQL1403N Podana nazwa lub hasło użytkownika jest
niepoprawne. Objaśnienie:
Pamięć sortowania współużytkowanego jest niedostępna, a jest
Objaśnienie: wymagana do tej operacji.
Nazwa lub hasło użytkownika jest niepoprawne bądź
niewłaściwe, lub baza danych, z którą zamierzasz się połączyć Działanie użytkownika:
ma typ uwierzytelniania SERVER, a w instrukcji CONNECT Wykonaj dowolną z następujących czynności:
TO nie podano nazwy i hasła użytkownika. v Skonfiguruj wartość parametru konfiguracyjnego
SHEAPTHRES_SHR w celu umożliwienia sortowania w
Jeśli używany jest produkt DB2 Connect, problem może pamięci współużytkowanej.
polegać na tym, że nie można znaleźć pozycji katalogu DCS v Włącz paralelizm wewnątrz partycji, ustawiając wartość
dla połączenia hosta. parametru konfiguracyjnego INTRA_PARALLEL na
″YES″.
Komenda nie może być wykonana.
v Aktywuj koncentrator połączeń.
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
również zostać wykryta przez źródło danych. SQL1407N Opcja nazwa-opcji jest niezgodna z opcją
opcja.
Działanie użytkownika:
Podaj poprawną nazwę użytkownika i hasło. Objaśnienie:
Program narzędziowy nie obsługuje opcji nazwa-opcji z opcją
opcja.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 247


SQL1408N • SQL1413N

Wprowadź ponownie komendę, używając zgodnych opcji. stan_sql: 51041

SQL1408N Strategia kontroli strategia-kontroli jest już SQL1411N Określona klauzula klauzula nie jest
używana dla obiektu nazwa-obiektu typu obsługiwana dla nadklas usługi.
typ-obiektu.
Objaśnienie:
Objaśnienie: Podana klauzula klauzula jest poprawna dla podklasy usługi,
Instrukcja AUDIT USING dla obiektu nazwa-obiektu typu ale jest niepoprawna dla nadklasy usługi. Podczas tworzenia
typ-obiektu usiłowała powiązać strategię kontroli dla lub zmiany podklasy usługi należy użyć klauzuli UNDER.
określonego obiektu, ale strategia kontroli strategia-kontroli
Działanie użytkownika:
jest już wykorzystywana. Do danego obiektu można przypisać
Usuń nieobsługiwaną klauzulę lub podaj klauzulę UNDER w
tylko jedną strategię kontroli. Nie można wykonać instrukcji.
celu utworzenia lub zmiany podklasy usługi.
Działanie użytkownika:
Aby zastąpić istniejącą strategię kontroli żądaną strategią, kod_sql: -1411
należy użyć opcji REPLACE instrukcji AUDIT.
stan_sql: 5U043
kod_sql: -1408
SQL1412N Obiekt nazwa-obiektu nie jest poprawny dla
stan_sql: 5U041
operacji (kod-przyczyny).
Objaśnienie:
SQL1409N Z obiektem nazwa-obiektu typu typ-obiektu
Kod przyczyny to kod-przyczyny. Kody przyczyn:
nie jest powiązana strategia kontroli.
18
Objaśnienie:
Instrukcja AUDIT z określoną opcją REMOVE usiłowała Zostało użyte wyrażenie typu ROW CHANGE
usunąć powiązanie z obiektem nazwa-obiektu typu TOKEN FOR specyfikator-tabeli, ale podana tabela
typ-obiektu, ale powiązanie nie istnieje. Nie można ma status NOT LOGGED INITIALLY i nie ma
przetworzyć instrukcji. zdefiniowanej kolumny datownika zmiany wiersza.
Nie można zwrócić znaczników zmiany wiersza
Działanie użytkownika:
dopóki jednostka pracy nie zostanie zakończona.
Sprawdź, czy użyto właściwego obiektu i typu. Jeśli tak, wtedy
nic nie należy robić, ponieważ powiązanie rzeczywiście nie Działanie użytkownika:
istnieje. Podejmij działania sugerowane dla kodu kod-przyczyny.

kod_sql: -1409 kod_sql: -1412

stan_sql: 5U042 stan_sql: 55019

SQL1410N Nie można wywołać instrukcji SQL SQL1413N Niepoprawna specyfikacja kolumny
wewnątrz transakcji XA. datownika zmiany wiersza dla tabeli
nazwa-tabeli.
Objaśnienie:
Wywołano jedną z poniższych instrukcji, które nie mogą być Objaśnienie:
wywoływane wewnątrz transakcji XA. Specyfikacja kolumny datownika zmiany wiersza jest
v CREATE, ALTER lub DROP WORKLOAD niepoprawna. Kolumna datownika zmiany wiersza nie może
być:
v GRANT lub REVOKE USAGE ON WORKLOAD
v kolumną klucza obcego,
v CREATE, ALTER lub DROP SERVICE CLASS
v kolumną klauzuli zależności funkcjonalnej DEPENDS ON,
v CREATE, ALTER lub DROP WORK CLASS SET
v kolumną klucza partycjonowania bazy danych,
v CREATE, ALTER lub DROP WORK ACTION SET
v zdefiniowana dla tabeli tymczasowej.
v CREATE, ALTER lub DROP THRESHOLD
v CREATE, ALTER lub DROP TRUSTED CONTEXT Nie można wykonać instrukcji.
v CREATE, ALTER lub DROP AUDIT POLICY
Działanie użytkownika:
Działanie użytkownika: Popraw składnię i wprowadź ponownie instrukcję.
Wywołaj instrukcję ponownie spoza połączenia XA lub
poczekaj, aż bieżąca transakcja XA zostanie zakończona. kod_sql: -1413

kod_sql: -1410 stan_sql: 429BV

248 Komunikaty, tom 2


SQL1414N • SQL1417W

v W katalogu instalacyjnym DB2 zostały umieszczone


SQL1414N Specyfikator tabeli specyfikator-tabeli jest
niekompatybilne biblioteki produktu.
niepoprawny dla wyrażenia.
Działanie użytkownika:
Objaśnienie:
Aby określić poziom wydania i pakietu poprawek programu
Specyfikator tabeli nie został zdefiniowany jako specyfikator
DB2, należy wywołać komendę db2level. Jeśli to konieczne,
tabeli w danej instrukcji SQL lub nie można się odwołać do
należy zainstalować pakiet poprawek programu WebSphere
specyfikatora tabeli w miejscu, gdzie został określony w
Federation Server, który odpowiada bieżącemu wydaniu
instrukcji SQL. Nie można wykonać instrukcji.
programu DB2 oraz pakietu poprawek. Jeśli opakowanie
Działanie użytkownika: wymaga uruchomienia skryptu wiążącego chronioną
Popraw składnię i wprowadź ponownie instrukcję. Reguły bibliotekę opakowania, należy uruchomić ten skrypt.
dotyczące specyfikatora tabeli dla wyrażenia ROW CHANGE Opakowania wymagające tego, to:
TIMESTAMP i ROW CHANGE TOKEN można znaleźć w
podręczniku SQL Reference. Źródło Domyślna nazwa Skrypt powiązania
danych opakowania
kod_sql: -1414 Informix INFORMIX djxlinkInformix
Microsoft DJXMSSQL3 djxlinkMssql
stan_sql: 42703
SQL Server
Oracle NET8 djxlinkOracle
SQL1415N Instrukcja została przygotowana tylko do
celów diagnostycznych i nie była Sybase CTLIB djxlinkSybase
uruchamiana. Teradata TERADATA djxlinkTeradata
Objaśnienie:
Instrukcja była przetwarzana przez niektóre części systemu
przy użyciu opcji serwisowych, w celu zgromadzenia Więcej informacji na temat skryptów wiążących zawiera
informacji diagnostycznych. Nie wykonano wszystkich podręcznik WebSphere Federation Server Installation Guide.
czynności, które pozwoliłyby na dalsze przetwarzanie tej
instrukcji. kod_sql: -1416
Działanie użytkownika:
Błąd ten jest zgłaszany, aby zapobiec dalszemu przetwarzaniu stan_sql: 560CN
przez system instrukcji przygotowanych przy użyciu opcji
serwisowych. Błąd ten był oczekiwany. SQL1417W Opakowanie nazwa-opakowania obsługuje
wersje serwera źródła danych
SQL1416N Opakowanie nazwa-opakowania nie jest lista-wersji-źródeł-danych. Użycie
kompatybilne z wydaniem programu DB2 opakowania z nowszymi wersjami może
zainstalowanego na serwerze spowodować powstanie błędów lub
stowarzyszonym. Opakowanie jest nieoczekiwanych wyników.
kompatybilne z następującymi wydaniami Objaśnienie:
programu DB2: lista-wydań-programu-DB2. W IBM zostało przetestowane opakowanie tylko dla wersji
Objaśnienie: serwerów źródła danych znajdujących się na liście
Opakowanie nie jest kompatybilne z wydaniem i poziomem lista-wersji-źródeł-danych. Jeśli opakowanie jest
pakietu poprawek programu DB2 zainstalowanego na serwerze wykorzystywane w celu dostępu do wersji serwera źródła
stowarzyszonym. Opakowanie jest kompatybilne z wydaniami danych określonej w instrukcji CREATE SERVER lub
programu DB2 wymienionymi na liście ALTER SERVER, mogą pojawić się błędy lub nieoczekiwane
lista-wydań-programu-DB2. Najczęstsze przyczyny tego błędu wyniki.
to: Działanie użytkownika:
v Zainstalowano pakiet poprawek programu DB2, ale nie Skontaktuj się z dostawcą źródła danych, aby określić, czy
zainstalowano odpowiedniego pakietu poprawek programu używana wersja serwera źródła danych jest kompatybilna z
WebSphere Federation Server. aplikacjami napisanymi dla wcześniejszych wersji. Jeśli
v Podczas instalowania pakietu poprawek programu używana wersja serwera źródła danych jest kompatybilna,
WebSphere Federation Server, skrypt do powiązania opakowanie powinno działać poprawnie. Jednak w IBM nie
chronionej biblioteki opakowania nie został uruchomiony były testowane opakowania z używaną przez użytkownika
lub wykonany pomyślnie. wersją serwera źródła danych. Jeśli używana wersja serwera
źródła danych nie jest kompatybilna, a używanie opakowania
v Zainstalowano poprawkę programu WebSphere Federation będzie kontynuowane, wtedy prawdopodobnie wystąpią błędy
Server, która wymaga uruchomienia skryptu do powiązania lub nieoczekiwane wyniki.
chronionej biblioteki opakowania. Skrypt nie został
uruchomiony lub nie zakończył się pomyślnie.
kod_sql: +1417

Rozdział 2. Komunikaty SQL 249


SQL1418W • SQL1421N

stan_sql: 0168Q Aby skorygować obecność w tabeli danych, które teraz


naruszają ograniczenie, użyj instrukcji SET INTEGRITY, aby
sprawdzić wiersze, które naruszają ograniczenie w wyniku
SQL1418W Zmiana parametru konfiguracyjnego bazy
działania nowego trybu zaokrąglania. Aby usunąć problem
danych DECFLT_ROUNDING może
dotyczący wygenerowanej kolumny, użyj instrukcji SET
spowodować niezamierzone działanie. Ta
INTEGRITY z opcją FORCE GENERATED dla tabel z
wartość nie została zmieniona dynamicznie.
wygenerowanymi kolumnami, których to dotyczy.
Aby zmiany odniosły skutek, wszystkie
aplikacje muszą zostać odłączone od tej
Możesz również zmienić parametr konfiguracyjny bazy
bazy danych.
danych dla trybu zaokrąglania DECFLT_ROUNDING z
Objaśnienie: powrotem do wcześniejszej wartości, aby uniknąć wszystkich
Zmiana parametru konfiguracyjnego bazy danych potencjalnych konsekwencji.
DECFLT_ROUNDING może spowodować kilka
niezamierzonych działań. Obliczenia wykonywane z Aby nowa wartość parametru konfiguracyjnego stała się
wykorzystaniem typu danych DECFLOAT mogą dać inny aktywna, odłącz wszystkie aplikacje od tej bazy danych. Jeśli
wynik w przypadku nowego trybu zaokrąglania. baza danych została aktywowana, należy ją dezaktywować.

Poniżej przedstawiono listę niektórych najbardziej znaczących kod_sql: +1418


konsekwencji:
v Poprzednio skonstruowane zmaterializowane tabele stan_sql: 0168M
zapytania (MQT) mogą zawierać wyniki, które różnią się od
tych uzyskanych za pomocą nowego trybu zaokrąglania.
SQL1420N Zbyt dużo operatorów konkatenacji.
v Wyzwalacz, którego wykonanie jest potencjalnie zależne od
trybu zaokrąglania, może teraz wytworzyć inne wyniki na Objaśnienie:
podstawie nowego trybu zaokrąglania. Nawet jeśli tryb Menedżer baz danych napotkał wewnętrzne ograniczenie
zaokrąglania wpływa na wyniki wyzwalacza, ich zmiana nie podczas obliczania wartości wyrażenia, zawierającego
będzie miała znaczenia dla danych, które już zostały operatory konkatenacji, dla którego typem wynikowym był
zapisane. obiekt typu długi łańcuch lub łańcuch obiektu prostego.
v Jest prawdopodobne, że ograniczenia, które umożliwiły Działanie użytkownika:
wstawienie danych do tabeli, teraz - podczas ponownego Zmniejsz liczbę konkatenacji w wyrażeniu i powtórz żądanie.
szacowania - mogą spowodować odrzucenie tych samych
danych. Podobnie jest możliwe, że ograniczenia, które kod_sql: -1420
uniemożliwiły wstawienie danych do tabeli, teraz - za
pomocą nowego trybu zaokrąglania - spowodują stan_sql: 54001
zaakceptowanie tych danych.
v Wartość wygenerowanej kolumny, której obliczenie jest
SQL1421N Podczas konwersji zmiennej języka
zależne od parametru DECFLT_ROUNDING, może być
macierzystego lub zmiennej SQL numer na
różna dla dwóch identycznych wierszy, z wyjątkiem
format lub z formatu wchar_t wystąpił błąd
wygenerowanej wartości kolumny, jeśli jeden z wierszy
konwersji zestawu MBCS. Kod przyczyny
został wstawiony przed zmianą parametru
kod_przyczyny.
DECFLT_ROUNDING, a drugi po tej zmianie.
– Uwaga: Tryb zaokrąglania nie jest kompilowany w Objaśnienie:
pakietach, tak więc po zmianie parametru Aplikacja napisana w języku C/C++, zawierająca wbudowane
DECFLT_ROUNDING nie trzeba ponownie instrukcje SQL, została prekompilowana z opcją
kompilować statycznych instrukcji SQL. WCHARTYPE CONVERT. W czasie uruchomienia aplikacja
otrzymała komunikat o błędzie, który wystąpił podczas
Wartość parametru konfiguracyjnego nie została zmieniona konwersji w funkcji wcstombs() dla wejściowych zmiennych
dynamicznie; zacznie obowiązywać tylko wtedy, gdy języka bazowego lub w funkcji mbstowcs() dla wyjściowych
wszystkie aplikacje zostaną odłączone od tej bazy danych. zmiennych języka bazowego. Zmienna języka macierzystego
Jeśli baza danych została aktywowana, należy ją lub numer zmiennej SQL wskazuje, która pozycja
dezaktywować. spowodowała błąd. Oto prawidłowe kody przyczyny:

Działanie użytkownika: 1 problem dotyczy danych wejściowych


Aby usunąć problem zmaterializowanej tabeli zapytania 2 problem dotyczy danych wyjściowych.
(MQT), odśwież te zmaterializowane tabele zapytania, na
które potencjalnie miał wpływ tryb zaokrąglania. Oceń i Działanie użytkownika:
ręcznie popraw wszystkie problemy związane z Jeśli dane aplikacji są w formacie MBCS, wykonaj powtórną
wyzwalaczami, na które miał wpływ tryb zaokrąglania. prekompilację z opcją WCHARTYPE NOCONVERT i
skonsoliduj program od nowa. Jeśli dane aplikacji mają być w

250 Komunikaty, tom 2


SQL1422N • SQL1427N

formacie wchar_t, dane wejściowe funkcji wcstombs() mogą stan_sql: 56093


być nieprawidłowe. Popraw dane i ponownie uruchom
aplikację.
SQL1424N Zbyt dużo odwołań do zmiennych
przejściowych i kolumn tabel przejściowych
kod_sql: -1421
lub zbyt długie wiersze dla tych odwołań.
Kod przyczyny=kod_przyczyny.
stan_sql: 22504
Objaśnienie:
Wyzwalacz zawiera klauzulę REFERENCING identyfikującą
SQL1422N Niepoprawna wielkość kontenera. jedną lub kilka tabel przejściowych i zmiennych
Objaśnienie: przejściowych. Wyzwolone działanie zawiera odwołania do
Jeden z kontenerów, które mają być użyte w obszarze tabel kolumn tabeli przejściowej lub do zmiennych przejściowych,
menedżera baz danych, jest zbyt duży lub zbyt mały. Długość przy jednym z następujących warunków identyfikowanych
kontenera musi być równa co najmniej dwukrotności liczby przez kod przyczyny:
stron przypadającej na jeden przydział. Maksymalna wielkość 1 suma odwołań jest większa od maksymalnej
kontenera jest uzależniona od systemu operacyjnego. dopuszczalnej liczby kolumn w tabeli
Najczęstszym ograniczeniem są 2 gigabajty (524288 stron po 4
kB). 2 suma długości odwołań przekracza maksymalną
długość wiersza w tabeli.
Działanie użytkownika:
Szczegółowe informacje można znaleźć w dzienniku Działanie użytkownika:
powiadomień administracyjnych. Na podstawie uzyskanych Zmniejsz liczbę odwołań do zmiennych przejściowych i
informacji popraw instrukcję SQL. kolumn tabeli przejściowej w wyzwolonym działaniu, tak aby
długość odwołań została zmniejszona lub całkowita liczba
kod_sql: -1422 odwołań była mniejsza od największej liczby kolumn w tabeli.

stan_sql: 54039 kod_sql: -1424

stan_sql: 54040
SQL1423N Zapytanie zawiera kolumnę typu LOB.
Objaśnienie: SQL1425N Podano hasło bez identyfikatora
Zapytanie zawiera kolumnę z danymi typu BLOB, CLOB lub użytkownika.
DBCLOB. W zasadzie ten typ danych nie może być
obsługiwany przez Klienta w wersjach wcześniejszych od 2.1. Objaśnienie:
Żadna komenda/funkcja API, akceptująca identyfikator i hasło
Błąd pojawił się w warunkach odpowiadających kodowi użytkownika, nie będzie akceptować hasła bez identyfikatora
ostrzeżenia SQLCODE +238. Ten komunikat zawiera użytkownika.
szczegółowe wyjaśnienia. Wersja klienta, który otrzymał ten Działanie użytkownika:
komunikat, może nie obsługiwać danych typu BLOB. Dane Wprowadź ponownie komendę/funkcję API i podaj
typu CLOB i DBCLOB mogą zostać obsłużone, jeśli zostanie identyfikator użytkownika, jeśli podajesz również hasło.
użyta funkcja SUBSTR lub w obszarze deskryptorów SQL
podany jeden z typów znakowych dostępnych w wersji 1, o ile
kolumna LOB nie jest większa od długości obsługiwanej dla SQL1426N Nie można określić instancji domyślnej.
danego typu danych.
Objaśnienie:
Działanie użytkownika: Jeśli nie wykonano jawnego ″połączenia z instancją″,
Zmień zapytanie, tak aby wykluczyć kolumny, które zawierają komendy instancji próbują utworzyć niejawne połączenie z
dane typu BLOB, CLOB lub DBCLOB. Jest to jedyne instancją domyślną. Instancja domyślna jest określana przez
rozwiązanie, jeśli zapytanie zawiera kolumnę typu BLOB. zmienne środowiskowe DB2INSTDFT i DB2INSTANCE.
Jeśli kolumna (np. C1) zawiera dane CLOB, możesz użyć Jeśli nie ustawiono żadnej z nich, nie można utworzyć żadnego
instrukcji CAST(C1 AS LONG VARCHAR), aby otrzymać niejawnego połączenia.
pierwszych 32700 znaków. Podobnie dla kolumny typu
Działanie użytkownika:
DBCLOB (DC1), użyj instrukcji CAST(DC1 AS LONG
Ustaw jedną z podanych zmiennych środowiskowych podając
VARGRAPHIC), aby otrzymać pierwszych 16350 znaków.
właściwą nazwę instancji i wprowadź ponownie komendę.
Jeśli można zmienić kod aplikacji, można dodać kod
zmieniający obszar deskryptorów SQL, tak by zamiast CLOB i
DBCLOB były używane typy LONG VARCHAR i LONG SQL1427N Połączenie z instancją nie istnieje.
VARGRAPHIC.
Objaśnienie:
Aplikacja nie jest przyłączona do instancji. Żądana
kod_sql: -1423
komenda/funkcja API nie może zostać wykonana, dopóki nie
istnieje połączenie z instancją.

Rozdział 2. Komunikaty SQL 251


SQL1428N • SQL1434N

Działanie użytkownika:
SQL1432N Do serwera wysłano żądanie, korzystając z
Jeśli błąd wystąpił podczas odłączania od instancji, kontynuuj
protokołu bazy danych, którego serwer nie
przetwarzanie. Jeśli błąd wystąpił podczas wykonywania
rozpoznaje.
dowolnej komendy, połącz aplikację z instancją i wprowadź
ponownie komendę. Objaśnienie:
Błąd został spowodowany przez wysłanie żądania DB2 do
serwera, który nie rozpoznaje protokołu użytego przy
SQL1428N Aplikacja jest już przyłączona do węzła
transmisji żądania. Ta sytuacja najczęściej występuje podczas
nazwa-węzła1, zaś wprowadzona komenda w
wysyłania żądania DB2 ATTACH do serwera wymienionego
celu pomyślnego wykonania wymaga
w katalogu węzłów, który nie jest serwerem DB2 w wersji 2
przyłączenia do węzła nazwa-węzła2.
lub nowszej. Ten błąd będzie się również pojawiał podczas
Objaśnienie: wysyłania żądania przyłączenia do DB2 dla AS/400, DB2 dla
W celu poprawnego wykonania komendy potrzebne jest MVS oraz DB2 dla serwerów VM i VSE.
przyłączenie do węzła innego niż obecny. Aplikacja: 1) nie
Działanie użytkownika:
może mieć żadnych połączeń podczas wprowadzania komendy
Nie próbuj przyłączać się do żadnego z wymienionych
lub 2) musi być przyłączona do węzła wymaganego przez
powyżej serwerów.
komendę.
Działanie użytkownika:
SQL1433N Aplikacja jest już połączona z bazą danych
Przed wykonaniem komendy sprawdź, czy aplikacja została
baza_danych1, zaś wprowadzona komenda
przyłączona do właściwego węzła.
w celu pomyślnego wykonania wymaga
połączenia z bazą danych baza-danych2.
SQL1429N Pozycja katalogu węzłów nie może zostać
Objaśnienie:
utworzona, gdy nazwa węzła jest zbieżna z
W celu poprawnego wykonania komendy potrzebne jest
wartością zmiennej środowiskowej
połączenie z inną niż obecnie przyłączona, bazą danych.
DB2INSTANCE.
Aplikacja musi: 1) nie mieć żadnych połączeń podczas
Objaśnienie: wprowadzania komendy lub 2) być połączona z bazą danych
Komenda lub funkcja API CATALOG NODE nie pozwalają wymaganą przez komendę.
na umieszczenie w katalogu pozycji, której nazwa jest zbieżna
Działanie użytkownika:
z wartością znajdującą się w zmiennej środowiskowej
Przed wykonaniem sprawdź, czy aplikacja nie ma żadnego
DB2INSTANCE.
połączenia lub czy istnieje połączenie z właściwą bazą danych.
Działanie użytkownika:
Wybierz inną nazwę węzła, który ma zostać wpisany do
SQL1434N Nie powiodło się wykonanie instrukcji
katalogu i spróbuj ponownie.
CONNECT lub ATTACH z powodu
niezgodności klient/serwer, pomiędzy
SQL1430N Nie można znaleźć nazwy bazy danych platformami 32-bitową i 64-bitową.
baza-danych w systemowym katalogu bazy
Objaśnienie:
danych w węźle nazwa-węzła.
1. Wersja 7 nie obsługuje połączeń klient-serwer między
Objaśnienie: platformami 32-bitowymi a 64-bitowymi.
Kiedy nazwy konkretnych baz danych są dostarczane do
2. Wersja 8 64-bitowego serwera bazy danych dla systemu
monitora baz danych, muszą się one znajdować albo w węźle,
Windows nie obsługuje połączeń klient-serwer ze strony
do którego jesteś właśnie przyłączony, albo w węźle lokalnym.
64-bitowych klientów wersji 7.
Działanie użytkownika:
Działanie użytkownika:
Sprawdź, czy bazy danych wymienione w żądaniu znajdują się
W pierwszej z wymienionych wyżej sytuacji można wydać
w węźle, do którego jesteś przyłączony, lub w węźle lokalnym.
instrukcję CONNECT lub ATTACH w następujących
Wprowadź ponownie żądanie.
wariantach:
v z 32-bitowego klienta na 32-bitowy serwer
SQL1431N Ścieżka względna ścieżka nie jest dozwolona
v z 64-bitowego klienta na 64-bitowy serwer
podczas wykonywania zdalnego.
Objaśnienie: W drugiej z wymienionych wyżej sytuacji należy ponownie
Jeśli aplikacja jest zdalna w stosunku do serwera, użycie wydać instrukcję, tym razem z klienta, który jest obsługiwany.
ścieżki względnej nie jest dozwolone.
kod_sql: -1434
Działanie użytkownika:
Podaj pełną ścieżkę, poprawną z punktu widzenia serwera i
wprowadź ponownie komendę. stan_sql: 08004

252 Komunikaty, tom 2


SQL1435N • SQL1437N

Procedury składowane SYSPROC.AUTOMAINT_


SQL1435N Wiązanie lub ponowne wiązanie procedur
SET_POLICY lub SYSPROC.AUTOMAINT_
składowanych konfiguracji strategii
SET_POLICYFILE i SYSPROC.AUTOMAINT_
automatycznej konserwacji nie powiodło się.
GET_POLICY lub SYSPROC.AUTOMAINT_
Objaśnienie: GET_POLICYFILE można wykorzystać do konfigurowania
Procedury składowane SYSPROC.AUTOMAINT_ czynności automatycznej konserwacji serwera DB2, takich jak
SET_POLICY lub SYSPROC.AUTOMAINT_ automatyczne tworzenie kopii zapasowych, automatyczna
SET_POLICYFILE i SYSPROC.AUTOMAINT_ reorganizacja i automatyczne zbieranie statystyk.
GET_POLICY lub SYSPROC.AUTOMAINT_
GET_POLICYFILE można wykorzystać do konfigurowania Podczas wywoływania procedury SYSPROC.AUTOMAINT_
czynności automatycznej konserwacji serwera DB2, takich jak SET_POLICY lub SYSPROC.AUTOMAINT_
automatyczne tworzenie kopii zapasowych, automatyczna SET_POLICYFILE można podać plik XML zawierający
reorganizacja i automatyczne zbieranie statystyk. szczegóły strategii automatycznej konserwacji, która ma być
skonfigurowana. W tym przypadku nie można otworzyć
Przed użyciem procedur SYSPROC.AUTOMAINT_ podanego pliku.
SET_POLICY, SYSPROC.AUTOMAINT_
SET_POLICYFILE, SYSPROC.AUTOMAINT_ Nowa konfiguracja strategii automatycznej konserwacji nie
GET_POLICY lub SYSPROC.AUTOMAINT_ została zastosowana.
GET_POLICYFILE należy je powiązać z bazą danych, dla
której będą uruchamiane. Plik wiązania dla tych procedur Działanie użytkownika:
składowanych ma nazwę db2policy.bnd. 1. Potwierdź, czy podany plik spełnia następujące warunki:
v plik istnieje,
Serwer DB2 przystępuje do automatycznego wiązania v identyfikator użytkownika uruchamiającego procedurę
procedur składowanych konfiguracji strategii automatycznej składowaną ma uprawnienia do odczytu pliku,
konserwacji za użytkownika. Jednak automatyczne wiązanie
lub ponowne wiązanie nie powiodło się. v plik nie jest pusty,
v plik jest w formacie UTF-8.
Dopóki procedury składowane nie będą powiązane z bazą 2. Wywołaj ponownie procedurę SYSPROC.AUTOMAINT_
danych, nie będzie można ich używać. SET_POLICY lub SYSPROC.AUTOMAINT_
SET_POLICYFILE, podając plik, który spełnia powyższe
Działanie użytkownika:
warunki.
Aby powiązać procedury składowane konfiguracji strategii
automatycznej konfiguracji, wykonaj następujące kroki:
Więcej informacji na temat procedur składowanych
1. Podłącz się do bazy danych, dla której będą używane te konfiguracji strategii automatycznej konfiguracji, można
procedury składowane. znaleźć w temacie ″Konfigurowanie automatycznej
2. Uruchom komendę bind programu DB2 z plikiem konserwacji przy użyciu strategii SYSPROC.AUTOMAINT_
powiązań o nazwie db2policy.bnd z katalogu SET_POLICY lub SYSPROC.AUTOMAINT_
SQLLIB/bnd: SET_POLICYFILE″ w Centrum informacyjnym DB2.

kod_sql: -1436
DB2 bind db2policy.bnd blocking
all grant public stan_sql: 5U0ZZ

Więcej informacji na temat procedur składowanych


konfiguracji strategii automatycznej konfiguracji, można SQL1437N Dane XML w pliku strategii automatycznej
znaleźć w temacie ″Konfigurowanie automatycznej konserwacji lub parametr LOB przekazany
konserwacji przy użyciu strategii SYSPROC.AUTOMAINT_ do procedury SYSPROC.AUTOMAINT_
SET_POLICY lub SYSPROC.AUTOMAINT_ SET_POLICY lub
SET_POLICYFILE″ w Centrum informacyjnym DB2. SYSPROC.AUTOMAINT_
SET_POLICYFILE jest niepoprawny w
wierszu numer-wiersza i kolumnie
kod_sql: -1435
numer-kolumny. Komunikat o błędzie
sprawdzenia poprawności:
stan_sql: 5U0ZZ
komunikat-o-błędzie.
Objaśnienie:
SQL1436N Nie można otworzyć pliku konfiguracyjnego
Procedury składowane SYSPROC.AUTOMAINT_
strategii automatycznej konserwacji o
SET_POLICY lub SYSPROC.AUTOMAINT_
nazwie nazwa-pliku.
SET_POLICYFILE i SYSPROC.AUTOMAINT_
Objaśnienie: GET_POLICY lub SYSPROC.AUTOMAINT_
GET_POLICYFILE można wykorzystać do konfigurowania

Rozdział 2. Komunikaty SQL 253


SQL1438N • SQL1439N

czynności automatycznej konserwacji serwera DB2, takich jak nazwą pliku XML zawierającego szczegóły dotyczące
automatyczne tworzenie kopii zapasowych, automatyczna konfiguracji automatycznej obsługi, a druga wersja tej
reorganizacja i automatyczne zbieranie statystyk. procedury składowanej przyjmuje parametr LOB zawierający
szczegóły konfiguracji automatycznej konserwacji w formacie
Dostępne są dwie postacie procedury XML.
SYSPROC.AUTOMAINT_ SET_POLICY lub
SYSPROC.AUTOMAINT_ SET_POLICYFILE: jedna wersja Podczas przetwarzania pliku konfiguracyjnego XML
tej procedury składowanej przyjmuje parametr, który jest automatycznej konserwacji lub parametru LOB
nazwą pliku XML zawierającego szczegóły dotyczące przekazywanego do procedury SYSPROC.AUTOMAINT_
konfiguracji automatycznej obsługi, a druga wersja tej SET_POLICY lub SYSPROC.AUTOMAINT_
procedury składowanej przyjmuje parametr LOB zawierający SET_POLICYFILE wystąpił błąd wewnętrzny.
szczegóły konfiguracji automatycznej konserwacji w formacie
XML. Nowa konfiguracja automatycznej konserwacji nie została
zastosowana.
Dane XML w pliku konfiguracji automatycznej konserwacji
Działanie użytkownika:
lub parametr LOB przekazywany do procedury
Sprawdź, czy treść pliku konfiguracyjnego XML lub
SYSPROC.AUTOMAINT_ SET_POLICY lub
parametru LOB przekazywanego do procedury
SYSPROC.AUTOMAINT_ SET_POLICYFILE zawiera
SYSPROC.AUTOMAINT_ SET_POLICY lub
niepoprawne dane XML w podanym wierszu. Numer kolumny
SYSPROC.AUTOMAINT_ SET_POLICYFILE jest poprawna
wskazuje miejsce w wierszu, w którym znajduje się błąd.
i wywołaj ponownie procedurę składowaną.
Nowa konfiguracja automatycznej konserwacji nie została
Aby uzyskać więcej informacji, patrz temat ″Konfigurowanie
zastosowana.
automatycznej konserwacji przy użyciu strategii
Działanie użytkownika: SYSPROC.AUTOMAINT_ SET_POLICY lub
Popraw treść pliku konfiguracyjnego XML i wywołaj SYSPROC.AUTOMAINT_ SET_POLICYFILE″ w Centrum
ponownie procedurę składowaną. informacyjnym DB2.

Aby uzyskać więcej informacji, patrz temat ″Konfigurowanie kod_sql: -1438


automatycznej konserwacji przy użyciu strategii
SYSPROC.AUTOMAINT_ SET_POLICY lub stan_sql: 5U0ZZ
SYSPROC.AUTOMAINT_ SET_POLICYFILE″ w Centrum
informacyjnym DB2.
SQL1439N Nie można pobrać informacji
konfiguracyjnych strategii automatycznej
kod_sql: -1437
konserwacji.
stan_sql: 5U0ZZ Objaśnienie:
Procedury składowane SYSPROC.AUTOMAINT_
SET_POLICY lub SYSPROC.AUTOMAINT_
SQL1438N Podczas przetwarzania pliku
SET_POLICYFILE i SYSPROC.AUTOMAINT_
konfiguracyjnego XML strategii
GET_POLICY lub SYSPROC.AUTOMAINT_
automatycznej konserwacji lub parametru
GET_POLICYFILE można wykorzystać do konfigurowania
LOB przekazanego do procedury
czynności automatycznej konserwacji serwera DB2, takich jak
SYSPROC.AUTOMAINT_ SET_POLICY
automatyczne tworzenie kopii zapasowych, automatyczna
lub SYSPROC.AUTOMAINT_
reorganizacja i automatyczne zbieranie statystyk.
SET_POLICYFILE wystąpił błąd
wewnętrzny.
Procedura składowana SYSPROC.AUTOMAINT_
Objaśnienie: GET_POLICY lub SYSPROC.AUTOMAINT_
Procedury składowane SYSPROC.AUTOMAINT_ GET_POLICYFILE nie mogła zebrać istniejących informacji
SET_POLICY lub SYSPROC.AUTOMAINT_ konfiguracyjnych automatycznej konserwacji, ponieważ nie
SET_POLICYFILE i SYSPROC.AUTOMAINT_ może znaleźć żadnych domyślnych strategii automatycznej
GET_POLICY lub SYSPROC.AUTOMAINT_ konserwacji.
GET_POLICYFILE można wykorzystać do konfigurowania
czynności automatycznej konserwacji serwera DB2, takich jak Informacje o konfiguracji automatycznej konserwacji nie
automatyczne tworzenie kopii zapasowych, automatyczna zostały zebrane.
reorganizacja i automatyczne zbieranie statystyk.
Działanie użytkownika:
Domyślne strategie automatycznej konserwacji są tworzone
Dostępne są dwie postacie procedury
przez monitor poprawności DB2. Jeśli monitor poprawności
SYSPROC.AUTOMAINT_ SET_POLICY lub
jeszcze nie utworzył domyślnych strategii konserwacji, można
SYSPROC.AUTOMAINT_ SET_POLICYFILE: jedna wersja
je utworzyć ręcznie:
tej procedury składowanej przyjmuje parametr, który jest

254 Komunikaty, tom 2


SQL1440W • SQL1445N

1. Połącz się z bazą danych, dla której chcesz utworzyć 4. Niepoprawna opcja.
domyślne strategie automatycznej konserwacji.
5 Zarezerwowany parametr nie miał wartości NULL.
2. Wywołaj systemową procedurę składowaną
SYSPROCS.SYSINSTALLOBJECTS z następującymi Działanie użytkownika:
parametrami: Sprawdź, czy wskaźnik kontekstu aplikacji został poprawnie
zainicjowany i czy każda użyta opcja była prawidłowa;
następnie spróbuj ponownie.
SYSPROCS.SYSINSTALLOBJECTS(
’POLICY’,’C’,’’,’’) SQL1442N Kontekst nie jest używany lub nie jest
używany przez bieżący wątek. Kod
Więcej informacji na temat systemowej procedury przyczyny kod.
składowanej SYSINSTALLOBJECTS zawiera temat
″Procedura SYSINSTALLOBJECTS″ w Centrum Objaśnienie:
informacyjnym DB2. Wywołanie nie powiodło się ponieważ:
1 Kontekst nie jest używany przez żaden wątek (nie
Więcej informacji zawiera temat ″Zbieranie informacji o wykonano żadnego przyłączenia).
konfiguracji automatycznej konserwacji przy użyciu strategii
SYSPROC.AUTOMAINT_ GET_POLICY lub 2 Kontekst nie jest używany przez bieżący wątek.
SYSPROC.AUTOMAINT_ GET_POLICYFILE″ w Centrum 3 Bieżący wątek nie używa kontekstu.
informacyjnym DB2.
Działanie użytkownika:
kod_sql: -1439 Przy wywołaniu odłączenia sprawdź, czy ten kontekst jest
używany przez bieżący wątek i czy zostało wykonane
stan_sql: 5U0ZZ odpowiednie przyłączenie.

Przy wywołaniu pobrania bieżącego kontekstu, sprawdź, czy


SQL1440W Klauzula WITH GRANT OPTION została wątek używa w tej chwili kontekstu.
zignorowana w instrukcji GRANT
(uprawnienia do bazy danych), w instrukcji
GRANT (uprawnienia do indeksów) lub SQL1443N Wątek jest już przyłączony do kontekstu.
przy nadawaniu uprawnienia CONTROL Objaśnienie:
do tabeli lub widoku. Użytkownik próbował przyłączyć kontekst do wątku, jednak
Objaśnienie: wątek używa już kontekstu.
Klauzuli WITH GRANT OPTION nie stosuje się przy Działanie użytkownika:
nadawaniu uprawnień do bazy danych lub uprawnień do Odłącz poprzedni kontekst, zanim przyłączysz nowy.
indeksów. Opcja WITH GRANT OPTION nie jest stosowana
przy nadawaniu uprawnienia CONTROL, odnoszącego się do
tabel, widoków, indeksów i pakietów. SQL1444N Kontekst aplikacji nie może zostać
zniszczony, ponieważ jest używany.
Wszystkie właściwe uprawnienia zostały przyznane. Objaśnienie:
Działanie użytkownika: Użytkownik próbował zniszczyć kontekst aplikacji, gdy był on
Przy nadawaniu uprawnień do bazy danych lub uprawnień do w użyciu. Wątek jest przyłączony do kontekstu lub została
indeksu nie należy używać klauzuli WITH GRANT OPTION. wykonana związana z nim instrukcja CONNECT lub
Podczas przyznawania uprawnienia CONTROL, użyj odrębnej ATTACH. Przed zniszczeniem kontekstu należy wprowadzić
komendy dla uprawnienia CONTROL, bez podawania klauzuli komendę CONNECT RESET lub DETACH (jeśli wykonano
WITH GRANT OPTION. CONNECT lub ATTACH) i odłączyć od niego wszystkie
wątki.
kod_sql: +1440 Działanie użytkownika:
Sprawdź, czy wszystkie wywołania przyłączenia do kontekstu
stan_sql: 01516 mają odpowiednie odłączenia, wszystkie CONNECT mają
odpowiednie CONNECT RESET i wszystkie ATTACH mają
odpowiednie DETACH.
SQL1441N Niepoprawny parametr. Kod przyczyny kod.
Objaśnienie:
SQL1445N Wątek lub proces nie ma kontekstu.
Oto lista odpowiednich kodów przyczyn:
Objaśnienie:
1 Do wskaźnika kontekstu przekazano wartość NULL.
Jest ustawiony typ kontekstu SQL_CTX_MULTI_MANUAL,
3 Wskaźnik kontekstu został zainicjowany, nie był to jednak bieżący wątek lub proces nie został przyłączony do
jednak właściwy obszar kontekstu. kontekstu.

Rozdział 2. Komunikaty SQL 255


SQL1446N • SQL1447N

Działanie użytkownika:
SQL1447N Dane XML w pliku strategii automatycznej
Przed wywołaniem bazy danych sprawdź, czy bieżący wątek
konserwacji lub w parametrze LOB
lub proces jest przyłączony do kontekstu.
przekazanym do procedury
SYSPROC.AUTOMAINT_ SET_POLICY
SQL1446N Podczas przetwarzania pliku lub SYSPROC.AUTOMAINT_
konfiguracyjnego XML strategii SET_POLICYFILE są niepoprawne z
automatycznej konserwacji lub parametru powodu: kod-przyczyny.
LOB przekazanego do procedury
Objaśnienie:
SYSPROC.AUTOMAINT_ GET_POLICY
Procedury składowane SYSPROC.AUTOMAINT_
lub SYSPROC.AUTOMAINT_
SET_POLICY lub SYSPROC.AUTOMAINT_
GET_POLICYFILE, wystąpił błąd
SET_POLICYFILE i SYSPROC.AUTOMAINT_
wewnętrzny.
GET_POLICY lub SYSPROC.AUTOMAINT_
Objaśnienie: GET_POLICYFILE można wykorzystać do konfigurowania
Procedury składowane SYSPROC.AUTOMAINT_ czynności automatycznej konserwacji serwera DB2, takich jak
SET_POLICY lub SYSPROC.AUTOMAINT_ automatyczne tworzenie kopii zapasowych, automatyczna
SET_POLICYFILE i SYSPROC.AUTOMAINT_ reorganizacja i automatyczne zbieranie statystyk.
GET_POLICY lub SYSPROC.AUTOMAINT_
GET_POLICYFILE można wykorzystać do konfigurowania Plik konfiguracji automatycznej konserwacji lub parametr
czynności automatycznej konserwacji serwera DB2, takich jak LOB przekazany do procedury SYSPROC.AUTOMAINT_
automatyczne tworzenie kopii zapasowych, automatyczna SET_POLICYFILE lub SYSPROC.AUTOMAINT_
reorganizacja i automatyczne zbieranie statystyk. SET_POLICYFILE zawiera niepoprawne dane XML zgodnie
z następującym kodem przyczyny:
Dostępne są dwie postacie procedury
1 Element PathName nie określa poprawnej ścieżki.
SYSPROC.AUTOMAINT_ GET_POLICY lub
Ten komunikat jest zwracany, gdy podana ścieżka
SYSPROC.AUTOMAINT_ GET_POLICYFILE: jedna wersja
nie istnieje.
tej procedury składowanej przyjmuje parametr, który jest
nazwą pliku XML zawierającego szczegóły dotyczące 2 Składnia SQL elementu FilterClause jest
konfiguracji automatycznej konserwacji, a druga wersja tej niepoprawna.
procedury składowanej przyjmuje parametr LOB zawierający
3 Menedżer bazy danych przystąpił do sprawdzania
szczegóły konfiguracji automatycznej konserwacji w formacie
poprawności pliku wejściowego XML lub parametru
XML.
LOB przekazanego do procedury
SYSPROC.AUTOMAINT_ SET_POLICY,
Podczas przetwarzania pliku konfiguracyjnego XML
korzystając ze schematu dokumentu znajdującego
automatycznej konserwacji lub parametru LOB
się w katalogu /home/misc. Menedżer bazy danych
przekazywanego do procedury SYSPROC.AUTOMAINT_
nie mógł znaleźć dokumentu schematu.
GET_POLICY lub SYSPROC.AUTOMAINT_
GET_POLICYFILE wystąpił błąd wewnętrzny. 4 Pierwszy element pliku wejściowego XML lub
parametru LOB nie jest poprawnym elementem
Konfiguracja automatycznej konserwacji nie została zebrana. XML.
Działanie użytkownika: 5 Plik wejściowy XML nie ma kodowania UTF-8.
Sprawdź, czy treść pliku konfiguracyjnego XML lub
parametru LOB przekazywanego do procedury Nowa konfiguracja automatycznej konserwacji nie została
SYSPROC.AUTOMAINT_ SET_POLICY lub zastosowana.
SYSPROC.AUTOMAINT_ SET_POLICYFILE jest poprawna
Działanie użytkownika:
i wywołaj ponownie procedurę składowaną.
Odpowiedz zgodnie z kodem przyczyny:
Więcej informacji zawiera temat ″Zbieranie informacji o 1, 2 i 4 Popraw treść pliku konfiguracyjnego XML lub
konfiguracji automatycznej konserwacji przy użyciu strategii parametru LOB i wywołaj ponownie procedurę
SYSPROC.AUTOMAINT_ GET_POLICY lub składowaną.
SYSPROC.AUTOMAINT_ GET_POLICYFILE″ w Centrum
3 Bez tego dokumentu schematu nie można korzystać
informacyjnym DB2.
z procedur SYSPROC.AUTOMAINT_
SET_POLICY, SYSPROC.AUTOMAINT_
kod_sql: -1446
SET_POLICYFILE, SYSPROC.AUTOMAINT_
GET_POLICY lub SYSPROC.AUTOMAINT_
stan_sql: 5U0ZZ GET_POLICYFILE.
Dokumentu schematu nie można zastąpić ręcznie.
Aby zastąpić brakujący plik, należy ponownie
zainstalować serwer DB2.

256 Komunikaty, tom 2


SQL1448N • SQL1450N

5 Upewnij się, czy pierwszy wiersz pliku wejściowego automatycznej konserwacji przy użyciu strategii
XML zawiera klauzulę encoding=″UTF-8″. Jeśli SYSPROC.AUTOMAINT_ GET_POLICY″ w Centrum
edytor, w którym utworzono plik wejściowy XML, informacyjnym DB2.
zapisuje pliki, korzystając z innego kodowania,
zapisz plik ponownie, korzystając z kodowania kod_sql: -1448
UTF-8.
stan_sql: 5U0ZZ
Aby uzyskać więcej informacji, patrz temat ″Konfigurowanie
automatycznej konserwacji przy użyciu strategii
SYSPROC.AUTOMAINT_ SET_POLICY lub SQL1449E Katalog narzędzi pomyślnie migrował do
SYSPROC.AUTOMAINT_ SET_POLICYFILE″ w Centrum bieżącego poziomu. Program planujący nie
informacyjnym DB2. został uruchomiony pomyślnie z przyczyny
kod-przyczyny.
kod_sql: -1447 Objaśnienie:
Komenda db2tdbmgr pomyślnie migrowała bazę danych do
stan_sql: 5U0ZZ bieżącego poziomu, ale program planujący nie został
uruchomiony pomyślnie z przyczyny wskazanej przez kod
przyczyny:
SQL1448N Ścieżka lub nazwa pliku pełna-nazwa-pliku
przekazana do procedury 1 Parametry konfiguracyjne Serwera
SYSPROC.AUTOMAINT_ GET_POLICY administracyjnego DB2 dla konfiguracji bazy
lub SYSPROC.AUTOMAINT_ danych katalogu narzędzi nie są poprawne.
GET_POLICYFILE nie istnieje.
2 Menedżer bazy danych zawierający bazę danych
Objaśnienie: katalogu narzędzi nie został uruchomiony.
Procedury składowane SYSPROC.AUTOMAINT_
3 Baza danych katalogu narzędzi jest używana przez
SET_POLICY lub SYSPROC.AUTOMAINT_
inny program planujący.
SET_POLICYFILE i SYSPROC.AUTOMAINT_
GET_POLICY lub SYSPROC.AUTOMAINT_ 4 Podczas uruchamiania programu planującego
GET_POLICYFILE można wykorzystać do konfigurowania wystąpił nieoczekiwany błąd.
czynności automatycznej konserwacji serwera DB2, takich jak
automatyczne tworzenie kopii zapasowych, automatyczna Działanie użytkownika:
reorganizacja i automatyczne zbieranie statystyk. 1 Popraw konfigurację bazy danych katalogu narzędzi
w parametrach konfiguracyjnych Serwera
Podczas wywoływania procedury SYSPROC.AUTOMAINT_ administracyjnego DB2. Instrukcje na temat
GET_POLICY lub SYSPROC.AUTOMAINT_ konfigurowania bazy danych katalogu narzędzi
GET_POLICYFILE można podać nazwę pliku XML, do zawiera podręcznik DB2 Administration Guide w
którego mają być zapisane dane wyjściowe procedury sekcji poświęconej serwerowi administracyjnemu
składowanej. W tym przypadku nie można utworzyć pliku ani DB2.
wykonać operacji zapisu.
2 Uruchom menedżer bazy danych zawierający bazę
danych katalogu narzędzi.
Informacje o konfiguracji strategii automatycznej konserwacji
nie zostały zapisane. 3 Poczekaj, aż baza danych katalogu narzędzi nie
będzie używana przez inny program planujący.
Działanie użytkownika:
1. Sprawdź, czy podana ścieżka i plik spełniają następujące 4 Zatrzymaj i zrestartuj Serwer administracyjny bazy
warunki: danych DB2.
v ścieżka katalogu i plik istnieją,
v identyfikator użytkownika uruchamiającego procedurę SQL1450N Niepoprawny wskaźnik do informacji
składowaną ma uprawnienia do tworzenia lub rejestracyjnych.
zapisywania do pliku. Objaśnienie:
2. Wywołaj ponownie procedurę SYSPROC.AUTOMAINT_ Do komendy/funkcji API register/deregister DB/2 server
SET_POLICY lub SYSPROC.AUTOMAINT_ przekazano niepoprawny wskaźnik do informacji
SET_POLICYFILE, podając plik, który spełnia powyższe rejestracyjnych.
warunki.
Działanie użytkownika:
Sprawdź, czy do komendy/funkcji API register/ deregister
Aby uzyskać więcej informacji na temat procedur
DB2 server został przekazany poprawny wskaźnik.
składowanych konfiguracji strategii automatycznej
konserwacji, patrz temat ″Zbieranie informacji o konfiguracji

Rozdział 2. Komunikaty SQL 257


SQL1451N • SQL1458N

Działanie użytkownika:
SQL1451N Komenda register/deregister DB2 server
Sprawdź, czy został podany numer gniazda IPX, czy nie
musi zostać wprowadzona z węzła serwera.
zawiera on niedopuszczalnych znaków i czy nie jest dłuższy
Objaśnienie: niż 4 znaki. Zaktualizuj numer gniazda IPX w pliku
Komenda register/deregister DB2 server została wprowadzona konfiguracyjnym menedżera baz danych i wprowadź
z niewłaściwego węzła. ponownie komendę/funkcję API.
Działanie użytkownika:
Wprowadź ponownie komendę/funkcję API register/deregister SQL1456N Nazwa obiektu podana w pliku
DB2 server z węzła serwera. konfiguracyjnym menedżera baz danych już
istnieje w serwerze plików NetWare.
SQL1452N Podano niepoprawne położenie rejestracji. Objaśnienie:
Podczas próby zarejestrowania nazwy obiektu serwera DB2
Objaśnienie:
stwierdzono, że obiekt o takiej nazwie już istnieje.
Do komendy/funkcji API register/deregister DB2 server
przekazano niepoprawne położenie rejestracji. Działanie użytkownika:
Nazwa obiektu, podana w pliku konfiguracyjnym menedżera
Działanie użytkownika:
baz danych, jest już używana. Zmień nazwę obiektu i
Sprawdź, czy do komendy/funkcji API register/deregister DB2
ponownie zarejestruj serwer DB2.
server zostało przekazane poprawne położenie rejestracji.

SQL1457N Komenda register/deregister nie wykonała


SQL1453N W pliku konfiguracyjnym nie istnieje lub
logowania do podanego serwera plików
jest niepoprawna pozycja zawierająca
NetWare, ponieważ dla tego serwera plików
nazwę serwera plików.
zostało już nawiązane połączenie z usługami
Objaśnienie: katalogowymi NetWare.
W komendzie konfiguracyjnej/funkcji API lub w pliku
Objaśnienie:
konfiguracyjnym menedżera baz danych podano niepoprawną
Jeśli połączenie usług katalogowych jest już ustanowione w
nazwę serwera plików lub nie podano jej.
podanym serwerze plików, nie można zalogować wiązania
Działanie użytkownika: przy użyciu NWLoginToFileServer.
Sprawdź, czy została podana nazwa serwera plików, czy nie
Działanie użytkownika:
zawiera ona niedopuszczalnych znaków i czy nie jest dłuższa
Przerwij połączenie usług katalogowych przez wylogowanie
niż 48 znaków. Zaktualizuj nazwę serwera plików w pliku
się i odłączenie od usług katalogowych, następnie wprowadź
konfiguracyjnym menedżera baz danych i wprowadź
ponownie komendę register/deregister.
ponownie komendę/funkcję API.

SQL1458N Do pliku konfiguracyjnego menedżera baz


SQL1454N W pliku konfiguracyjnym nie istnieje
danych wprowadzono protokół IPX/SPX
pozycja zawierająca nazwę obiektu lub
zapewniający bezpośrednie adresowanie.
istniejąca pozycja jest niepoprawna.
Nie jest konieczne zarejestrowanie/
Objaśnienie: wyrejestrowanie serwera DB2 do/z serwera
W komendzie konfiguracyjnej/funkcji API lub w pliku plików NetWare.
konfiguracyjnym menedżera baz danych nie podano
Objaśnienie:
poprawnej nazwy obiektu lub podana nazwa jest niepoprawna.
Wydanie komendy register/deregister nie jest konieczne,
Działanie użytkownika: ponieważ plik konfiguracyjny menedżera baz danych został
Sprawdź, czy została podana nazwa obiektu, czy nie zawiera skonfigurowany dla bezpośredniego dostępu przy użyciu
ona niedopuszczalnych znaków i czy nie jest dłuższa niż 48 protokołów IPX/SPX. Np. Podano nazwę serwera plików i
znaków. Zaktualizuj nazwę obiektu w pliku konfiguracyjnym obiektu ’*’.
menedżera baz danych i wprowadź ponownie
Działanie użytkownika:
komendę/funkcję API.
Zauważ, że ponieważ serwer DB2 został skonfigurowany
wyłącznie do bezpośredniego adresowania, klienty IPX/SPX
SQL1455N W pliku konfiguracyjnym nie istnieje, lub używające nazwy serwera nie będą mogły połączyć się z tym
jest niepoprawna, pozycja zawierająca serwerem. Aby serwer obsługiwał obydwa typy adresowania
numer gniazda IPX. klientów IPX/SPX, podaj w pliku konfiguracyjnym menedżera
baz danych wartości fileserver i objectname.
Objaśnienie:
W komendzie konfiguracyjnej/funkcji API lub w pliku
konfiguracyjnym menedżera baz danych nie podano
poprawnego numeru gniazda IPX lub podany numer jest
niepoprawny.

258 Komunikaty, tom 2


SQL1459I • SQL1465N

SQL1459I Katalog narzędzi pomyślnie migrował do SQL1463N Nie można wykonać operacji na zadaniu
bieżącego poziomu. administracyjnym, ponieważ nie można
użyć tabeli zadań administracyjnych
Objaśnienie:
nazwa_tabeli.
Komenda db2tdbmgr pomyślnie migrowała bazę danych do
bieżącego poziomu. Objaśnienie:
Zadania administracyjnego nie można dodać, zaktualizować
Działanie użytkownika:
ani usunąć, ponieważ tabeli nazwa_tabeli używanej do
Nie jest wymagane żadne działanie.
przechowywania informacji o zadaniach nie można użyć
zgodnie z przeznaczeniem. Tabela istnieje, ale nie można jej
SQL1460N Zmienna środowiskowa zmienna wymagana użyć w istniejącym stanie. Tabele zadań administracyjnych są
do przetłumaczenia nazwy serwera SOCKS tworzone automatycznie podczas dodawania zadań
nie jest zdefiniowana lub nie jest poprawna. administracyjnych do systemu bazy danych. Jeśli tabela
została utworzona w jakiś inny sposób, może nie nadawać się
Objaśnienie: do użycia przez operacje na zadaniach administracyjnych.
Zmienna środowiskowa serwera SOCKS o nazwie
SOCKS_NS lub SOCKS_SERVER nie została zdefiniowana. Działanie użytkownika:
Obsługa protokołu SOCKS wymaga zdefiniowania obu tych Należy zapewnić możliwość użycia tabeli zadań
zmiennych środowiskowych. administracyjnych przez operacje na zadaniach
administracyjnych. Aby odtworzyć tabelę nazwa_tabeli,
SOCKS_NS należy jawnie usunąć tabelę, a następnie wywołać procedurę
Adres IP serwera nazw domen, w którym jest SYSPROC.ADMIN_TASK_ADD w celu zaplanowania
zdefiniowany serwer SOCKS. zadania.
SOCKS_SERVER
Nazwa hosta serwera SOCKS. kod_sql: -1463

Działanie użytkownika:
stan_sql: 55070
Zdefiniuj brakującą zmienną środowiskową i wprowadź
ponownie komendę.
SQL1464W Nie zostały usunięte wszystkie zadania,
ponieważ niektóre z nich działały.
SQL1461N Opcja zabezpieczeń zabezpieczenie nie jest
poprawna. Objaśnienie:
Procedura SYSPROC.ADMIN_TASK_REMOVE próbowała
Objaśnienie:
usunąć zestaw zadań, ale nie wszystkie zostały usunięte.
Opcja SECURITY dla węzła TCP/IP ma wartość inną niż
Procedura usunęła niedziałające zadania, ale zadania
’SOCKS’. Opcja ta jest używana, aby wpisywany do katalogu
działające w chwili próby usunięcia przez procedurę nie
węzeł TCP/IP mógł używać obsługi protokołu SOCKS w celu
zostały usunięte.
pokonania zabezpieczenia typu firewall. Wartość inna niż
’SOCKS’ nie jest dozwolona. Działanie użytkownika:
Poczekaj, aż zadania zostaną zakończone, a następnie użyj
Działanie użytkownika:
procedury SYSPROC.ADMIN_TASK_REMOVE, aby je
Sprawdź, czy jest wymagana obsługa protokołu SOCKS. Jeśli
usunąć. Widok SYSTOOLS.ADMIN_TASK_STATUS można
jest wymagana, wpisz ponownie węzeł do katalogu, podając
wykorzystać do sprawdzenia statusu wykonania zadań.
SECURITY SOCKS. Jeśli nie, wpisz ponownie węzeł do
katalogu, nie podając opcji SECURITY.
kod_sql: +1464

SQL1462N Żądanie jest poprawne tylko dla połączenia stan_sql: 0168S


menedżera synchronizacji.
Objaśnienie: SQL1465N Wynik instrukcji SQL określonej dla zadań
Próbowano zrealizować żądanie poprawne wyłącznie dla administracyjnych jest niepoprawny jako
połączenia menedżera synchronizacji, jednak połączenie dane wejściowe dla procedury
instancji menedżera synchronizacji nie istnieje. nazwa_procedury określonej dla zadania
administracyjnego.
Działanie użytkownika:
Połącz się z instancją menedżera synchronizacji i wprowadź Objaśnienie:
ponownie żądanie. Instrukcja SQL określona jako dane wejściowe
PROCEDURE_INPUT dla zaplanowanego zadania
administracyjnego została wykonana, ale wyniku nie można
użyć jako danych wejściowych dla procedury
nazwa_procedury określonej dla zaplanowanego zadania

Rozdział 2. Komunikaty SQL 259


SQL1468N • SQL1471N

administracyjnego. Instrukcja SQL musi dawać w wyniku nie


SQL1469N Instancja nazwa-instancji (numer węzła
więcej niż jeden wiersz z taką samą liczbą kolumn, jak liczba
numer-węzła1) nie zawiera węzła
argumentów procedury.
numer-węzła2 określonego w jej pliku
Działanie użytkownika: db2nodes.cfg.
Zmodyfikuj dane w bazie danych, tak aby w wyniku instrukcji
Objaśnienie:
SQL był nie więcej niż jeden wiersz, lub zmodyfikuj zadanie
Do ustawienia węzła dla instrukcji CONNECT lub ATTACH
administracyjne w celu zmiany instrukcji SQL albo określonej
w węźle numer-węzła2 użyto komendy SET CLIENT, funkcji
dla niego procedury. Upewnij się, że instrukcja SQL zwraca
api lub zmiennej środowiskowej DB2NODE. Dalsze
nie więcej niż jeden wiersz, a liczba argumentów procedury
przetwarzanie instrukcji CONNECT lub ATTACH nie
określonej dla zadania administracyjnego jest taka sama, jak
umożliwiło znalezienia tego węzła w pliku db2nodes.cfg
liczba kolumn zwracana przez instrukcję SQL. Do
instancji nazwa-instancji (węzeł numer-węzła1).
zmodyfikowania zadania administracyjnego użyj procedury
SYSPROC.ADMIN_TASK_REMOVE w celu usunięcia
Uwaga: Komunikat ten mógł zostać zwrócony przez niejawną
zadania, a następnie wywołaj procedurę
instrukcję CONNECT lub ATTACH.
SYSPROC.ADMIN_TASK_ADD, aby je odtworzyć.
Działanie użytkownika:
kod_sql: -1465 Sprawdź, czy numer węzła określony w komendzie SET
CLIENT, funkcji api lub zmiennej środowiskowej DB2NODE
stan_sql: 21507 istnieje w pliku db2nodes.cfg instancji pośredniej
nazwa-instancji, węzeł numer-węzła1.
SQL1468N Nasłuchiwanie TCP/IP menedżera bazy
kod_sql: -1469
danych musi zostać skonfigurowane i
uruchomione w instancji serwera instancja
stan_sql: 08004
(numer węzła numer-węzła1) przed
podjęciem próby wykonania instrukcji
CONNECT lub ATTACH dla węzła SQL1470N Wartość zmiennej środowiskowej
numer-węzła2. DB2NODE jest niepoprawna.
Objaśnienie: Objaśnienie:
Do ustawienia węzła dla instrukcji CONNECT lub ATTACH Zmienna środowiskowa DB2NODE wskazuje węzeł, z którym
w węźle numer-węzła2 użyto komendy SET CLIENT, funkcji będzie się łączyć aplikacja. Jeśli DB2NODE nie jest ustawiona
api lub zmiennej środowiskowej DB2NODE. Aby wykonać lub ma wartość pustą, aplikacja będzie próbowała łączyć się z
instrukcję CONNECT lub ATTACH na danym węźle, węzłem domyślnym. W przeciwnym wypadku DB2NODE
nasłuchiwanie TCP/IP menedżera bazy danych musi zostać musi zawierać numer jednego z węzłów zdefiniowanych na
skonfigurowane i uruchomione na instancji serwera instancja tym samym hoście, co aplikacja.
(węzeł numer-węzła1).
Działanie użytkownika:
Nadaj zmiennej środowiskowej DB2NODE jedną z
Uwaga: Komunikat ten mógł zostać zwrócony przez niejawną
następujących wartości:
instrukcję CONNECT lub ATTACH.
nieustawiona
Działanie użytkownika:
powoduje połączenie aplikacji z węzłem domyślnym
Albo:
v Sprawdź, czy określono svcename w konfiguracji pusta powoduje połączenie aplikacji z węzłem domyślnym
menedżera bazy danych w instancji instancja, węźle liczba powoduje, że aplikacja łączy się z węzłem o
numer-węzła1, czy zmienna środowiskowa DB2COMM podanym numerze węzła. Węzeł musi być
została ustawiona tak, aby można było używać protokołu uruchomiony na tym samym hoście, co aplikacja.
TCP/IP, a także czy nasłuchiwanie TCP/IP zostało
pomyślnie uruchomione o godzinie określonej przez
kod_sql: -1470
parametr DB2START.
lub stan_sql: 08001
v W sposób jawny wpisz do katalogu węzeł i bazę danych.
SQL1471N Nie można połączyć się z bazą danych
kod_sql: -1468
nazwa-bazy-danych w węźle numer-węzła,
ponieważ baza danych w tym węźle nie jest
stan_sql: 08004 zsynchronizowana z węzłem katalogu.
Objaśnienie:
Informacja koniec-dziennika, znajdująca się w tym węźle, nie
jest zgodna z odpowiednim zapisem w węźle katalogu. Może

260 Komunikaty, tom 2


SQL1472N • SQL1475W

to być spowodowane przez odtwarzanie bazy danych w tak, aby podczas komunikowania się między komputerami
różnych węzłach z kopii zapasowych sporządzonych w były możliwe normalne opóźnienia.
różnym czasie.
kod_sql: -1473
Działanie użytkownika:
Jeśli baza danych jest odtwarzana w jednym węźle bez
odtwarzania zmian, upewnij się, że została odtworzona z kopii stan_sql: 40504
zapasowej zamkniętej bazy danych, we wszystkich węzłach,
bez odtwarzania zmian. SQL1474W Transakcja została zakończona pomyślnie,
ale różnica czasu między czasem
kod_sql: -1471 systemowym na węźle lokalnym a
datownikami wirtualnymi węzłów
stan_sql: 08004 lista-węzłów jest większa niż wartość
parametru konfiguracyjnego max_time_diff
menedżera bazy danych.
SQL1472N Nie można połączyć się z bazą danych
nazwa-bazy-danych w węźle numer-węzła, Objaśnienie:
ponieważ różnica między czasem Różnica czasu systemowego w przypadku maszyn
systemowym węzłem katalogu i wirtualnym uwzględnionych w konfiguracji (wymienionych w pliku
datownikiem w tym węźle jest większa niż db2nodes.cfg) jest większa niż wartość parametru
parametr konfiguracyjny menedżera bazy konfiguracyjnego max_time_diff menedżera bazy danych.
danych max_time_diff.
To ostrzeżenie jest zwracane tylko w przypadku transakcji
Objaśnienie:
odczytu, ponieważ sytuacja ta nie ma dla nich znaczenia. Inne
Różnica czasu systemowego w przypadku maszyn
transakcje mogą jednak zostać wycofane. Komunikat ten
uwzględnionych w konfiguracji (wymienionych w pliku
informuje użytkownika o pojawieniu się opisanej sytuacji, aby
db2nodes.cfg) jest większa niż wartość parametru
mógł on jak najwcześniej podjąć odpowiednie działania.
konfiguracyjnego max_time_diff menedżera bazy danych.
Działanie użytkownika: Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
Zsynchronizuj czasy systemowe na wszystkich komputerach i sięgnąć do pliku syslog po pełną listę węzłów.
sprawdź, czy parametr max_time_diff został skonfigurowany
tak, aby podczas komunikowania się między komputerami Działanie użytkownika:
były możliwe normalne opóźnienia. Zsynchronizuj czasy systemowe na wszystkich komputerach i
sprawdź, czy parametr max_time_diff został skonfigurowany
tak, aby podczas komunikowania się między komputerami
Jeśli powyższe nie spowoduje usunięcia problemu, należy
były możliwe normalne opóźnienia.
zapoznać się z podręcznikiem Administration Guide, gdzie
można znaleźć możliwe przyczyny i działania.
kod_sql: 1474
kod_sql: -1472
stan_sql: 01607
stan_sql: 08004
SQL1475W Podczas wykonywania instrukcji
CONNECT RESET wystąpił błąd.
SQL1473N Nie można zatwierdzić transakcji, ponieważ
różnica czasu między czasem systemowym Objaśnienie:
na węźle lokalnym a datownikami Instrukcja CONNECT RESET została poprawnie wykonana,
wirtualnymi węzłów lista-węzłów jest mógł się jednak pojawić błąd systemowy, taki jak błąd węzła
większa niż wartość parametru lub błąd komunikacji.
konfiguracyjnego max_time_diff menedżera
bazy danych. Transakcja zostanie wycofana. Działanie użytkownika:
Szczegółowe informacje można znaleźć w dzienniku
Objaśnienie: powiadomień administracyjnych. Być może bazy danych w
Różnica czasu systemowego w przypadku maszyn tym węźle powinny zostać ponownie uruchomione.
uwzględnionych w konfiguracji (wymienionych w pliku
db2nodes.cfg) jest większa niż wartość parametru kod_sql: 1475
konfiguracyjnego max_time_diff menedżera bazy danych.
stan_sql: 01622
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
sięgnąć do pliku syslog po pełną listę węzłów.
Działanie użytkownika:
Zsynchronizuj czasy systemowe na wszystkich komputerach i
sprawdź, czy parametr max_time_diff został skonfigurowany

Rozdział 2. Komunikaty SQL 261


SQL1476N • SQL1478W

Działanie użytkownika:
SQL1476N Bieżąca transakcja została wycofana z
Można wykonać jedno z następujących działań.
powodu wystąpienia błędu kod_sql.
v Jeśli ten obiekt to tabela z aktywowaną opcją NOT
Objaśnienie: LOGGED INITIALLY, usuń tę tabelę. Jeśli jest potrzebna,
Transakcja została wycofana z jednej z poniższych przyczyn: utwórz ją ponownie.
1. Wystąpił błąd w jawnej lub niejawnej operacji CLOSE v Jeśli ten obiekt to partycja danych, odłącz ją od tabeli. Jeśli
CURSOR lub ta partycja danych jest wymagana, dodaj nową.
2. Tabela została utworzona z opcją NOT LOGGED v Jeśli ten obiekt to niepartycjonowany indeks, usuń ten
INITIALLY lub dla istniejącej tabeli opcja NOT indeks. Jeśli ten indeks jest wymagany, utwórz nowy
LOGGED INITIALLY została aktywowana. Podczas tej indeks.
samej jednostki pracy wystąpił błąd albo została wydana
v Jeśli tabela jest zadeklarowaną tabelą tymczasową, to ją
instrukcja ROLLBACK TO SAVEPOINT. Jednostka pracy
usuń. Jeśli tabela ta jest wymagana, to zadeklaruj ją
została wycofana, z następującymi skutkami:
ponownie.
v wszystkie tabele, utworzone w tej jednostce pracy,
v W innym przypadku odtwórz ją z obszaru tabel lub z kopii
zostały usunięte.
zapasowej bazy danych. Obraz kopii zapasowej musi być
v wszystkie tabele z opcją NOT LOGGED INITIALLY, pobrany bezpośrednio po momencie zatwierdzenia,
aktywowane podczas transakcji, zostały zaznaczone następującym po zakończeniu nieodwracalnej operacji
jako niedostępne i mogą być tylko usunięte. (operacji NOT LOGGED INITIALLY lub ładowania
v jeśli podczas transakcji wydana została instrukcja NONRECOVERABLE).
ROLLBACK TO SAVEPOINT to kod kod_sql będzie
równy 0. Typ obiektu można określić przy użyciu katalogów. Aby
3. Wycofanie zmian do punktu zapisu lub zwolnienie punktu określić, czy dany obiekt to tabela, użyj następującego
zapisu nie powiodło się. zapytania:
4. Podczas wykonywania atomowej operacji wejściowej dla SELECT TABNAME
tablicy wystąpił poważny błąd. FROM SYSCAT.TABLES
WHERE TBSPACEID=id-obszaru-tabel
Działanie użytkownika: AND TABLEID=id-obiektu
Popraw problem wskazany przez błąd kod_sql, a następnie
uruchom ponownie transakcję. Usuń wszystkie instrukcje Jeśli w wyniku powyższego zapytania nie zostanie zwrócona
ROLLBACK TO SAVEPOINT, używane w tej samej nazwa tabeli, można określić, czy dany obiekt to partycja,
transakcji, w której jest tworzona lub aktywowana tabela z używając następującego zapytania:
opcją NOT LOGGED INITIALLY. SELECT DATAPARTITIONNAME, TABNAME
FROM SYSCAT.DATAPARTITIONS
kod_sql: -1476 WHERE TBSPACEID=id-obszaru-tabel
AND PARTITIONOBJECTID=id-obiektu
stan_sql: 40506
Aby określić, czy dany obiekt to indeks, użyj następującego
zapytania:
SQL1477N Dla tabeli nazwa-tabeli nie można uzyskać
dostępu do obiektu id-obiektu w obszarze SELECT INDNAME
tabel id-obszaru-tabel. FROM SYSCAT.INDEXES
WHERE TBSPACEID=id-obszaru-tabel
Objaśnienie: AND INDEX_OBJECTID=id-obiektu
Nastąpiła próba uzyskania dostępu do tabeli, w której jeden z
obiektów jest niedostępny. Tabela może być niedostępna z kod_sql: -1477
powodu jednej z następujących przyczyn:
v W momencie wycofywania jednostki pracy, tabela miała stan_sql: 55019
aktywowaną opcję NOT LOGGED INITIALLY.
v Tabela jest tymczasową tabelą, zadeklarowaną jako SQL1478W Nie można uruchomić wskazanych pul
partycjonowana i od momentu zadeklarowania tabeli nie buforów. Uruchomiono w zamian po jednej
powiodła się jedna lub kilka partycji (dla wszystkich niewielkiej puli buforów dla każdego
zadeklarowanych tabel tymczasowych schemat ma nazwę rozmiaru strony obsługiwanego przez
SESSION). program DB2.
v Instrukcja ROLLFORWARD napotkała dla tej tabeli Objaśnienie:
uaktywnioną opcję NOT LOGGED INITIALLY lub opcję Nie można uruchomić wskazanych pul buforów. Uruchomiono
ładowania NONRECOVERABLE. w zamian po jednej niewielkiej puli buforów dla każdego
rozmiaru strony obsługiwanego przez program DB2. Pul
Nie ma zezwolenia na dostęp do tej tabeli, ponieważ nie buforów nie można uruchomić z jednej lub większej liczby
można zagwarantować jej integralności. następujących przyczyn:

262 Komunikaty, tom 2


SQL1479W • SQL1492N

v Nie można przydzielić wystarczającej ilości pamięci dla


SQL1481N W parametrze DISCOVER_COMM
łącznej wielkości pul buforów określonych dla danej bazy
znajduje się jeden lub kilka niepoprawnych
danych.
protokołów komunikacyjnych.
v Pliki obszaru buforów nie istniały w katalogu bazy danych
lub były uszkodzone. Objaśnienie:
Poprawnymi wartościami parametru DISCOVER_COMM
Działanie użytkownika: pliku konfiguracyjnego menedżera baz danych są dowolne
Przyczynę problemu można ustalić na podstawie zawartości kombinacje NETBIOS I TCPIP, oddzielone przecinkami.
dziennika powiadomień administracyjnych. Możliwe
rozwiązania: Działanie użytkownika:
Zaktualizuj parametr konfiguracyjny DISCOVER_COMM
v Aby baza danych została uruchomiona prawidłowo, usuń
menedżera baz danych dowolną kombinacją wyrażeń
jeden z obszarów buforów lub zmień jego wielkość.
NETBIOS I TCPIP, oddzielonych przecinkami.
Po dokonaniu zmian rozłącz się z bazą danych i uruchom bazę
ponownie. SQL1482W Parametr BUFFPAGE jest używany, gdy
jeden z rozmiarów obszarów buforów ma
kod_sql: +1478 wartość -1.
Objaśnienie:
stan_sql: 01626 To ostrzeżenie informuje, że parametr konfiguracyjny bazy
danych BUFFPAGE jest ignorowany, jeśli żaden z rozmiarów
SQL1479W Próbowano pobrać wartość, zanim tabela obszarów buforów nie ma wartości -1. Wartość -1 wskazuje,
wynikowa zwróciła pierwszy zestaw wierszy. że obszar buforów użyje parametru BUFFPAGE jako liczby
stron w obszarze buforów.
Objaśnienie:
Żądany zestaw wierszy zachodzi na początek tabeli wynikowej Działanie użytkownika:
i w zależności od podanej orientacji pobrania: Możesz przejrzeć definicje obszaru buforów znajdujące się w
SYSCAT.BUFFERPOOLS. Jeśli w żadnej z definicji pul
SQL_FETCH_PRIOR buforów rozmiar nie ma wartości -1 (NPAGES), ustawienie
występuje jedna z następujących sytuacji: parametru BUFFPAGE nie zmieni rozmiaru puli buforów dla
v bieżąca pozycja wykracza poza pierwszy wiersz i bazy danych.
numer bieżącego wiersza jest mniejszy lub równy
rozmiarowi zestawu wierszy
SQL1490W Baza danych została poprawnie
v bieżąca pozycja wykracza poza koniec tabeli uruchomiona, jednak była ona już
wynikowej i rozmiar zestawu wierszy jest uruchomiona w jednym lub kilku węzłach.
większy od rozmiaru tabeli wynikowej
Objaśnienie:
SQL_FETCH_RELATIVE Baza danych została już bezpośrednio uruchomiona w jednym
wartość bezwzględna przesunięcia pobrania jest lub kilku węzłach.
mniejsza lub równa rozmiarowi bieżącego zestawu
wierszy Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL_FETCH_ABSOLUTE
wartość przesunięcia pobrania jest ujemna, a wartość
bezwzględna przesunięcia jest większa od rozmiaru SQL1491N Baza danych nazwa nie została
tabeli wynikowej lecz mniejsza lub równa zdezaktywowana, ponieważ nadal jest
rozmiarowi bieżącego zestawu wierszy. używana.

Działanie użytkownika: Objaśnienie:


Nie jest wymagane żadne działanie. Nie można zakończyć działania bazy danych, jeśli są z nią
połączone jakiekolwiek aplikacje.

SQL1480N Typ wykrywania, podany w parametrze Działanie użytkownika:


konfiguracyjnym bazy danych DISCOVER, Sprawdź, czy wszystkie aplikacje wykonały CONNECT
jest niepoprawny. RESET, a następnie powtórz żądanie.

Objaśnienie:
Poprawnymi wartościami parametru konfiguracyjnego SQL1492N Baza danych nazwa nie została
DISCOVER menedżera baz danych są: DISABLE, KNOWN zdezaktywowana, ponieważ nie została
lub SEARCH. aktywowana.

Działanie użytkownika: Objaśnienie:


Zaktualizuj parametr konfiguracyjny DISCOVER menedżera Podana baza danych nie może zakończyć działania, ponieważ
baz danych, podając typy: DISABLE, KNOWN lub SEARCH. nie została uruchomiona.

Rozdział 2. Komunikaty SQL 263


SQL1493N • SQL1526N

Działanie użytkownika:
SQL1512N ddcstrc nie mógł wykonać zapisu do
Nie jest wymagane żadne działanie.
podanego pliku.
Objaśnienie:
SQL1493N Aplikacja jest już połączona z aktywną bazą
ddcstrc nie był w stanie zapisać informacji śledzenia do pliku
danych.
o nazwie podanej w instrukcji.
Objaśnienie:
Działanie użytkownika:
Nie można wykonać komendy ACTIVATE DATABASE lub
Sprawdź, czy podana nazwa pliku jest prawidłowa w tym
DEACTIVATE DATABASE, ponieważ aplikacja jest już
systemie plików. Jeśli nazwa pliku nie została podana,
połączona z bazą danych.
sprawdź, czy masz uprawnienia wymagane do zapisu do
Działanie użytkownika: domyślnego pliku ddcstrc.tmp.
Odłącz się od bazy danych i wprowadź ponownie komendę.
SQL1513W ddcstrc nie został wyłączony.
SQL1494W Baza danych została poprawnie
Objaśnienie:
uruchomiona, choć istnieje już połączenie z
ddcstrc nie został wyłączony, ponieważ wystąpił błąd. Stało
tą bazą danych.
się tak, aby zapobiec utracie informacji śledzenia przed ich
Objaśnienie: zapisaniem do pliku.
Istniało już wcześniejsze połączenie z bazą danych w jednym
Działanie użytkownika:
lub kilku węzłach.
Usuń zgłoszony błąd ddcstrc, a następnie spróbuj ponownie
Działanie użytkownika: wyłączyć śledzenie.
Nie jest wymagane żadne działanie.
SQL1520N Wielkość bufora musi być wartością
SQL1495W Działanie bazy danych zostało poprawnie liczbową większą lub równą 65536.
zakończone, jednak nadal istnieje
Objaśnienie:
połączenie z bazą danych.
Użytkownik określił nieprawidłową wielkość bufora dla
Objaśnienie: komendy ddcstrc.
W jednym lub kilku węzłach nadal istnieje połączenie z bazą
Działanie użytkownika:
danych. Baza danych zostanie zamknięta po rozłączeniu
Sprawdź, czy wielkość bufora jest podana jako wartość
ostatniego połączenia z bazą danych.
liczbowa i czy jest ona większa lub równa od 65536 (64 kB).
Działanie użytkownika: Zauważ, że wielkość używanej pamięci musi być
Nie jest wymagane żadne działanie. wielokrotnością 64 kB. Wartość ddcstrc jest zaokrąglana w dół
do najbliższej wielokrotności 64 kB.
SQL1496W Działanie bazy danych zostało poprawnie
zakończone, jednak baza danych nie została SQL1525N Wystąpił błąd podczas uruchamiania
poprawnie uruchomiona. demona zabezpieczeń DB2.
Objaśnienie: Objaśnienie:
Kiedy uruchomiono zakończenie działania bazy danych, baza Wystąpił nieoczekiwany błąd podczas uruchamiania demona
danych nie była uruchomiona bezpośrednio w jednym lub zabezpieczeń DB2.
kilku węzłach.
Działanie użytkownika:
Działanie użytkownika: Spróbuj ponownie wykonać komendę DB2START. Jeśli
Nie jest wymagane żadne działanie. problem nie zostanie usunięty, skontaktuj się z serwisem IBM.

SQL1497W Aktywacja/Deaktywacja bazy danych SQL1526N Uruchomienie programu db2start nie


zakończyła się pomyślnie, ale w niektórych powiodło się, ponieważ nie została
węzłach wystąpiły błędy. uruchomiona obsługa DB2VIA. Kod
przyczyny: kod-przyczyny.
Objaśnienie:
Aktywacja/Deaktywacja bazy danych zakończyła się Objaśnienie:
pomyślnie co najmniej w węźle katalogu i węźle Podczas uruchamiania db2start nie została uruchomiona
koordynującym, jednak w niektórych węzłach wystąpiły błędy. obsługa DB2VIA. Kod przyczyny wskazuje na przyczynę
problemu:
Działanie użytkownika:
Sprawdź w dzienniku diagnostycznym, jakie błędy wystąpiły i 1. Biblioteka VIPL podana w rejestrze DB2_VI_VIPL nie
w których węzłach; jeśli to możliwe, rozwiąż problem i mogła zostać załadowana.
wprowadź ponownie komendę. 2. Urządzenie o nazwie podanej w rejestrze
DB2_VI_DEVICE nie mogło zostać otwarte.

264 Komunikaty, tom 2


SQL1530W • SQL1551N

3. DB2 nie obsługuje zainstalowanej implementacji VIA. 3 Na docelowej bazie danych jest obecnie
przeprowadzana operacja odtwarzania. Nie możesz
Działanie użytkownika:
zawiesić operacji zapisu dla tej bazy danych przed
1. Sprawdź, czy rejestr DB2 DB2_VI_VIPL jest poprawnie zakończeniem odtwarzania przez program DB2.
skonfigurowany i czy nazwa podana w DB2_VI_VIPL
występuje w zmiennej środowiskowej %PATH%. 4 Operacje zapisu zostały już zawieszone dla tej bazy
danych.
2. Sprawdź, czy rejestr DB2 DB2_VI_DEVICE jest
poprawnie skonfigurowany. 5 Bieżący stan jednego lub większej liczby obszarów
3. DB2 obsługuje implementację VIA, która zapewnia co tabel nie umożliwia zawieszenia zapisu albo istnieją
najmniej poziom niezawodności Reliable Delivery. zmiany w pulach buforów powiązanych z obszarami
Wymagane jest także, aby implementacja VIA była tabel, które nadal oczekują na wprowadzenie i nie
zgodna z Intel Virtual Interface Architecture zezwalają na zawieszenie zapisu.
Implementation Guide i przeszła zestaw testów zgodności. Działanie użytkownika:
Sprawdź, czy wybrana implementacja VIA spełnia te
wymagania. 1 Aktywuj bazę danych, wydając komendę
ACTIVATE DATABASE, a następnie ponownie
wydaj komendę SET WRITE SUSPEND.
SQL1530W Podany stopień paralelizmu zostanie
zignorowany, ponieważ w systemie nie jest 2 Poczekaj na zakończenie procedury BACKUP, a
dozwolony paralelizm wewnątrz partycji. następnie ponownie wydaj komendę SET WRITE
SUSPEND.
Objaśnienie:
Została podana opcja wiązania DEGREE o wartości większej 3 Poczekaj na zakończenie procedury RESTORE, a
od 1 lub instrukcja SET CURRENT DEGREE została następnie ponownie wydaj komendę SET WRITE
uruchomiona z wartością większą od 1, jednak paralelizm SUSPEND.
wewnątrz partycji w menedżerze baz danych był niemożliwy. 4 Baza danych znajduje się już w stanie zawieszenia.
Aby wznowić operacje zapisu dla tej bazy danych,
Menedżer baz danych musi zostać uruchomiony z parametrem wydaj komendę SET WRITE RESUME.
konfiguracyjnym wewnętrznego paralelizmu ustawionym na
ON, aby możliwy był paralelizm wewnątrz partycji dla 5 Aby wyświetlić stany obszarów tabel, należy wydać
instancji. komendę LIST TABLESPACES. W wypadku
obszarów tabel w stanie wykonywanie operacji
Instrukcja lub komenda zakończyła się pomyślnie, ale należy wydać odpowiednią komendę, aby zmienić
specyfikacja stopnia została zignorowana. ich stan, po czym ponownie wydać komendę SET
WRITE SUSPEND. Jeśli pewne obszary tabel
Działanie użytkownika: uczestniczą w operacji w toku, przed powtórnym
Jeśli chcesz korzystać z paralelizmu wewnątrz partycji, wydaniem komendy SET WRITE SUSPEND należy
uruchom ponownie menedżer bazy danych z parametrem odczekać na zakończenie tej operacji. Jeśli menedżer
konfiguracyjnym intra_parallel ustawionym na ON. automatycznego strojenia pamięci jest włączony,
mogą trwać zmiany w puli buforów. Po zakończeniu
W przeciwnym wypadku użyj wartości 1 lub ANY, aby zmian zostanie umożliwione zawieszenie zapisu.
określić stopień paralelizmu.
kod_sql: -1550
kod_sql: +1530

SQL1551N Komenda SET WRITE RESUME nie


stan_sql: 01623
powiodła się z przyczyny kod-przyczyny.
Objaśnienie:
SQL1550N Komenda SET WRITE SUSPEND nie
Kod przyczyny wskazuje, dlaczego został zwrócony ten
powiodła się. Kod przyczyny =
komunikat:
kod-przyczyny.
1 Dla docelowej bazy danych tworzona jest kopia
Objaśnienie:
zapasowa obrazu stanu. Nie można wznowić
Nie możesz wydać komendy SET WRITE SUSPEND, jeśli nie
operacji dla bazy danych DB2, gdy tworzona jest dla
jest spełniony warunek określony w kod-przyczyny:
niej kopia zapasowa obrazu stanu.
1 Baza danych nie jest aktywowana.
2 Baza danych nie znajduje się w stanie WRITE
2 Na docelowej bazie danych jest obecnie SUSPEND. Operacje zapisu można wznowić jedynie
przeprowadzana operacja tworzenia kopii dla bazy danych, dla której zostały one zawieszone.
zapasowej. Nie możesz zawiesić operacji zapisu
przed utworzeniem kopii zapasowej przez program Komenda SET WRITE RESUME nie powiodła się.
DB2.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 265


SQL1552N • SQL1581N

Odpowiedz na ten komunikat zgodnie z kodem przyczyny: Zarejestruj profil statystyki dla tabeli, korzystając z opcji SET
PROFILE komendy RUNSTATS, a następnie ponownie
1 Poczekaj aż tworzenie kopii zapasowej obrazu stanu
wywołaj operację.
zostanie zakończone. Po zakończeniu tworzenia
kopii zapasowej obrazu stanu można przeprowadzić
operacje zapisywania w bazie danych. SQL1561N Opcja statystyki nie jest zgodna z wersją
serwera bazy danych.
2 Nie trzeba wykonywać żadnych działań, ponieważ
operacje zapisu dla tej bazy danych są uaktywnione. Objaśnienie:
Aby zawiesić operacje zapisu dla bazy danych, Co najmniej jedna z określonych opcji nie jest zgodna z
wydaj komendę SET WRITE SUSPEND. poziomem serwera bazy danych. Serwer bazy danych w tej
wersji nie obsługuje wszystkich opcji statystyki dostępnych w
kod_sql: -1551 wypadku korzystania z funkcji API db2runstats.
Działanie użytkownika:
SQL1552N Komenda nie powiodła się, ponieważ baza Do gromadzenia statystyk użyj funkcji API sqlustat albo użyj
danych znajduje się obecnie w stanie funkcji API db2runstats i określ tylko te opcje, które są
WRITE SUSPEND. dostępne w wypadku korzystania z funkcji API sqlustat.

Objaśnienie:
Nie można wydać tej komendy, kiedy operacje zapisu są SQL1562N Opcja statystyk węzła jest niezgodna z
zawieszone dla bazy danych. Baza danych znajduje się w istniejącymi statystykami dla tabeli
stanie WRITE SUSPEND. nazwa-tabeli.
Działanie użytkownika: Objaśnienie:
Jeśli komendą, która się nie powiodła, była komenda Opcja węzła statystyki jest różna od istniejącej statystyki tabeli
RESTART DATABASE, to ponownie wydaj komendę i/lub indeksu dla danej tabeli.
RESTART DATABASE, korzystając z opcji WRITE
Działanie użytkownika:
RESUME. W wielowęzłowym środowisku bazy danych
Przy gromadzeniu statystyk tabeli zastosuj spójne opcje węzła.
ponownie wydaj komendę współbieżnie we wszystkich
węzłach.
SQL1580W Końcowe odstępy zostały obcięte podczas
Jeśli komendą, która się nie powiodła, była komenda przeprowadzania konwersji ze strony
BACKUP lub RESTORE, wydaj komendę SET WRITE kodowej źródłowa-strona-kodowa na stronę
RESUME FOR DATABASE, aby wznowić operacje zapisu kodową docelowa-strona-kodowa.
dla tej bazy danych. Następnie ponownie wydaj komendę Maksymalna wielkość obszaru docelowego
BACKUP lub RESTORE. wynosiła maksymalna-długość. Długość
łańcucha źródłowego wynosiła
kod_sql: -1552 długość-źródła; jej reprezentacją
szesnastkową jest łańcuch.

SQL1553N Nie można zatrzymać DB2, ponieważ co Objaśnienie:


najmniej jedna baza danych znajduje się w Podczas wykonywania instrukcji SQL konwersja strony
stanie WRITE SUSPEND. kodowej spowodowała utworzenie łańcucha, który jest dłuższy
niż maksymalna wielkość obiektu docelowego. Przetwarzanie
Objaśnienie: było kontynuowane, ponieważ zostały pominięte jedynie puste
Nie można zamknąć bazy danych, dla której zawieszono znaki.
operacje zapisu. Baza danych znajduje się w stanie WRITE
SUSPEND. Działanie użytkownika:
Sprawdź, czy wynik jest taki, jakiego oczekiwano i czy
Działanie użytkownika: pominięcie ostrzeżenia nie spowodowało nieoczekiwanych
Wydaj komendę SET WRITE RESUME, aby wznowić konsekwencji.
operacje zapisu dla tej bazy danych, a następnie ponownie
wydaj komendę db2stop. kod_sql: +1580

kod_sql: -1553 stan_sql: 01004

SQL1560N Nie istnieje profil statystyki dla tabeli SQL1581N Tabela nazwa-tabeli nie może być w trybie
nazwa-tabeli. dopisywania i mieć indeksu klastrowania.
Objaśnienie: Objaśnienie:
Profil statystyki musi zostać zdefiniowany przed użyciem. Istnieją dwie sytuacje, w których występuje ten błąd.
Działanie użytkownika:

266 Komunikaty, tom 2


SQL1582N • SQL1585N

v Indeks klastrowy istnieje dla tabeli i instrukcja ALTER


SQL1584N Nie można znaleźć systemowego obszaru
TABLE jest używana w celu ustawienia tabeli w tryb
tabel tymczasowych, dla którego rozmiar
dołączania (append).
strony nie jest mniejszy niż rozmiar_strony.
v Tabela znajduje się w trybie dołączania (append) i
instrukcja CREATE INDEX jest używana podczas próby Objaśnienie:
tworzenia indeksu klastrowego. Do przetworzenia instrukcji wymagany był obszar tabel
tymczasowych. Nie było dostępnego systemowego,
Działanie użytkownika: tymczasowego obszaru tabel o rozmiarze strony równym
Jeśli indeks klastrowy jest konieczny, zmień tabelę, tak aby nie rozmiar_strony lub większym.
była w trybie dołączania (append). Jeśli tryb dołączania
(append) jest niezbędny, usuń indeks klastrowy istniejący dla Nie można wykonać instrukcji.
tabeli.
Działanie użytkownika:
kod_sql: -1581 Utwórz systemowy, tymczasowy obszar tabel o rozmiarze
strony nie mniejszym niż rozmiar_strony.
stan_sql: 428CA
kod_sql: -1584

SQL1582N Parametr PAGESIZE obszaru tabel stan_sql: 57055


nazwa-obszaru-tabel jest niezgodny z
parametrem PAGESIZE puli buforów
nazwa-puli-buforów powiązanej z tym SQL1585N Nie istnieje systemowy, tymczasowy obszar
obszarem tabel. tabel, o wystarczającym rozmiarze strony.

Objaśnienie: Objaśnienie:
Wartość parametru PAGESIZE podana w instrukcji CREATE Mógł wystąpić jeden z następujących warunków:
TABLESPACE nie jest zgodna z wielkością strony obszaru 1. Długość wiersza w tymczasowej tabeli systemowej
buforów, który ma być używany z obszarem tabel. Wartości te przekroczyła graniczną długość, jaką może pomieścić
muszą być zgodne. największy tymczasowy systemowy obszar tabel w bazie
danych.
Nie można wykonać instrukcji. 2. Liczba kolumn wymaganych w tymczasowej tabeli
Działanie użytkownika: systemowej przekroczyła limit pojemności największego
Zmień wartość parametru PAGESIZE, aby była zgodna z tymczasowego systemowego obszaru tabel w bazie
wielkością strony obszaru buforów lub zmień obszar buforów danych.
na taki, którego wielkość strony będzie zgodna z parametrem
PAGESIZE. Limity systemowego, tymczasowego obszaru tabel zależą od
rozmiaru strony tego obszaru. Wielkości te są następujące:
kod_sql: -1582 Maksymalna Maksymalna Wielkość strony
długość liczba tymczasowego
stan_sql: 428CB rekordu kolumn obszaru tabel
------------ ---------- ---------------
1957 bajtów 244 2 kB
SQL1583N Wartość parametru PAGESIZE równa 4005 bajtów 500 4 kB
wielkość-strony nie jest obsługiwana. 8101 bajtów 1012 8 kB
16293 bajtów 1012 16 kB
Objaśnienie: 32677 bajtów 1012 32 kB
Podany parametr PAGESIZE nie jest prawidłową wielkością
strony. Obsługiwane są wielkości strony 4096, 8192, 16384 i Działanie użytkownika:
32768; można także podać wartość w postaci 4 K, 8 K, 16 K Utwórz systemowy, tymczasowy obszar tabel obsługujący
lub 32 K. strony większego rozmiaru, jeśli taki obszar jeszcze nie
istnieje. Jeśli taki obszar tabel już istnieje, to z tymczasowej
tabeli systemowej usuń jedną lub kilka kolumn. Utwórz
Nie można wykonać instrukcji.
osobne tabele lub widoki, jeśli jest to wymagane, aby
Działanie użytkownika: przechowywać dodatkowe informacje przekraczające limit.
Podaj jedną z obsługiwanych wielkości stron.
kod_sql: -1585
kod_sql: -1583
stan_sql: 54048
stan_sql: 428DE

Rozdział 2. Komunikaty SQL 267


SQL1590N • SQL1592N

LOAD INSERT, jeśli jest to zmaterializowana tabela


SQL1590N W obszarach tabel (TABLESPACE) dla
zapytania lub tabela pomostowa.
urządzeń (DEVICE) nie dopuszcza się
występowania pól typu LONG VARCHAR i 34 W tabeli wystąpiła operacja LOAD REPLACE po
LONG VARGRAPHIC. ostatnim sprawdzeniu integralności.
Objaśnienie: 35 Poniżej przedstawiono możliwe przyczyny:
Urządzenia (″surowe″ we/wy) na HP wymagają ustawienia v Zmaterializowana tabela zapytania lub tabela
granic we/wy na 1024 bajty. Pola LONG VARCHAR i LONG pomostowa została właśnie utworzona. Aby
VARGRAPHIC są obsługiwane przez elementy 512-bajtowe i zachować integralność po utworzeniu tabeli,
dlatego mogą być używane tylko w obszarach tabel SYSTEM wymagane jest pełne przetwarzanie podczas
MANAGED TABLESPACE lub DATABASE MANAGED pierwszego sprawdzenia.
TABLESPACE wraz z kontenerami jedynie typu FILE.
v W stanie ustawiania integralności w toku do
Działanie użytkownika: samej tabeli lub jej obiektów nadrzędnych (albo
Możliwe działania: jej tabeli bazowej, jeśli jest to zmaterializowana
v Zamiast typu LONG wybierz jeden z typów kolumn LOB tabela zapytania lub tabela pomostowa) zostało
(BLOB,CLOB,DBCLOB). dodane nowe ograniczenie.
v Użyj obszaru tabel z właściwymi atrybutami. v Jeśli jest to zmaterializowana tabela zapytania lub
tabela pomostowa, po ostatnim odświeżeniu
kod_sql: 1590 została wykonana operacja LOAD REPLACE w
odniesieniu do jej tabeli bazowej.
stan_sql: 56097 v Jeśli jest to zmaterializowana tabela zapytania, na
co najmniej jednej tabeli bazowej został
wymuszony pełny dostęp (opcją FULL
SQL1591N Opcja ON instrukcji SET INTEGRITY jest ACCESS), zanim ta zmaterializowana tabela
niepoprawna, ponieważ tabela nazwa-tabeli zapytania została odświeżona.
nie jest w odpowiednim stanie.
v Jeśli jest to tabela pomostowa, na co najmniej
Objaśnienie: jednej tabeli bazowej został wymuszony pełny
Opcję ON można określić tylko w odniesieniu do tabeli dostęp (opcją FULL ACCESS), zanim ta tabela
będącej w stanie sprawdzania w toku, a pierwsze pole pomostowa została poddana propagacji.
(ograniczeń stanowiących klucz obcy), drugie pole v Jeśli jest to odroczona zmaterializowana tabela
(ograniczeń sprawdzających) i piąte pole (zmaterializowanych zapytania, jej tabela pomostowa jest w stanie
tabel zapytań) w kolumnie CONST_CHECKED katalogu niekompletnym.
SYSCAT.TABLES muszą być ustawione na ’Y’ albo na ’U’.
v Niektóre z obiektów nadrzędnych (lub tabela
Działanie użytkownika: bazowa, jeśli jest to zmaterializowana tabela
Jeśli tabela nie jest w stanie sprawdzania w toku, nie podawaj zapytania lub tabela pomostowa) zostały
opcji ON. Jeśli tabela jest w stanie sprawdzania w toku, sprawdzone nieprzyrostowo pod względem
sprawdź integralność tabeli (lub odśwież tabelę, jeśli jest nią integralności.
zmaterializowana tabela zapytania) przed wykonaniem v Tabela ta przed migracją była w stanie ustawiania
instrukcji SET INTEGRITY z opcją ON. integralności w toku. Aby zachować integralność
po migracji wymagane jest pełne przetwarzanie
kod_sql: -1591 podczas pierwszego sprawdzenia.
v Tabela została wprowadzona w stan ustawiania
stan_sql: 55019
integralności w toku podczas odtwarzania zmian
do stanu w określonym momencie.
SQL1592N Opcja INCREMENTAL jest niepoprawna z
Działanie użytkownika:
kodem przyczyny kod-przyczyny, ponieważ
Nie podawaj opcji INCREMENTAL. System sprawdzi całą
tabeli nazwa-tabeli nie można przetwarzać
tabelę pod kątem naruszeń ograniczeń (a jeśli jest to
przyrostowo.
zmaterializowana tabela zapytania, ponownie przetwórz
Objaśnienie: zapytanie definiujące tę tabelę).
Przyczyna jest zależna od podanego kodu-przyczyny:
kod_sql: -1592
32 Tabela nie jest zmaterializowaną tabelą zapytania
typu REFRESH IMMEDIATE ani zmaterializowaną
stan_sql: 55019
tabelą zapytania typu REFRESH DEFERRED z
pomocniczą tabelą pomostową ani tabelą pomostową
typu PROPAGATE IMMEDIATE.
33 W tabeli wykonano operację LOAD REPLACE lub

268 Komunikaty, tom 2


SQL1593N • SQL1601N

zapytań) i siódme pole (tabel pomostowych) w kolumnie


SQL1593N Opcja REMAIN PENDING jest
CONST_CHECKED katalogu SYSCAT.TABLES są
niepoprawna, ponieważ tabela nazwa-tabeli
ustawione na ’Y’ albo na ’U’.
nie znajduje się w stanie sprawdzania w
toku. Działanie użytkownika:
Sprawdź integralność wszystkich jej tabel nadrzędnych (lub
Objaśnienie:
tabel bazowych, jeśli jest to zmaterializowana tabela zapytania
Tabela musi być w stanie sprawdzania w toku, jeśli podano
lub tabela pomostowa) i ponownie wykonaj tę instrukcję.
opcję REMAIN PENDING.
Działanie użytkownika: kod_sql: -1595
Nie podawaj opcji REMAIN PENDING.
stan_sql: 55019
kod_sql: -1593
SQL1596N Klauzula WITH EMPTY TABLE nie może
stan_sql: 55019
zostać określona dla tabeli nazwa-tabeli.
Objaśnienie:
SQL1594W Integralność danych innych niż przyrostowe
Klauzuli WITH EMPTY TABLE nie można określić w
pozostaje niesprawdzona przez menedżera
odniesieniu do tabeli nazwa-tabeli, ponieważ tabela ta:
baz danych.
v jest zmaterializowaną tabelą zapytania lub tabelą
Objaśnienie: pomostową, albo
Tabela nie była sprawdzona wcześniej. Kiedy opcja NOT
v ma zależną zmaterializowaną tabelę zapytania z
INCREMENTAL nie jest określona, tabela jest przetwarzana
natychmiastowym odświeżaniem lub zależną tabelę
przyrostowo. Niesprawdzona wcześniej część tabeli pozostaje
pomostową z natychmiastową propagacją, albo
niesprawdzona, a odpowiednie wartości w kolumnie
CONST_CHECKED pozostają oznaczone jako ’U’. v jest tabelą nadrzędną w ograniczeniu referencyjnym, albo
v ma podłączone partycje danych, dla których nie sprawdzono
Działanie użytkownika:
jeszcze wystąpienia naruszeń ograniczeń.
Nie jest wymagane żadne działanie. Aby zweryfikować
integralność niesprawdzonych wcześniej danych i utrzymać w
systemie integralność danych w tabeli, wydaj instrukcję SET Klauzuli WITH EMPTY TABLE nie można określić przy
INTEGRITY z opcją OFF, aby wprowadzić tabelę w stan zmienianiu stanu takiej tabeli na ACTIVATE NOT LOGGED
ustawiania integralności w toku, a następnie wykonaj INITIALLY.
ponownie instrukcję SET INTEGRITY z opcjami
IMMEDIATE CHECKED i NOT INCREMENTAL. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: +1594 Usuń klauzulę WITH EMPTY TABLE z instrukcji ALTER
TABLE.
stan_sql: 01636
kod_sql: -1596
SQL1595N Nie można sprawdzić integralności tabeli
nazwa-tabeli, ponieważ nie została stan_sql: 42928
sprawdzona tabela nadrzędna w
ograniczeniu referencyjnym albo tabela SQL1601N Parametr wejściowy funkcji Database
bazowa zmaterializowanej tabeli zapytania System Monitor parametr jest wskaźnikiem
lub tabeli pomostowej. null.
Objaśnienie: Objaśnienie:
Aby uniknąć propagowania tej tabeli z danymi, które mogą Użytkownik wywołał jedną z funkcji API Database System
naruszyć sprawdzanie integralności, żaden obiekt nadrzędny Monitor i podał wskaźnik null zamiast wymaganego
nie może być w stanie sprawdzania w toku, jeśli ma być parametru.
sprawdzana integralność tej tabeli. Jeśli jest to
zmaterializowana tabela zapytania, to aby można ją było Komenda nie może być wykonana.
odświeżyć, musi zostać sprawdzona poprawność wszystkich
tabel bazowych. Jeśli jest to tabela pomostowa, to aby można Działanie użytkownika:
ją było poddać propagacji, żadna tabela bazowa nie może być Wprowadź ponownie komendę z prawidłową wartością
w stanie sprawdzania w toku. Poprawność tabeli jest parametru.
sprawdzana wtedy, gdy pierwsze pole (ograniczeń
stanowiących klucz obcy), drugie pole (ograniczeń
sprawdzających), piąte pole (tabel ze zmaterializowanych

Rozdział 2. Komunikaty SQL 269


SQL1602N • SQL1609N

przypadku wywołania funkcji API Database Monitor w


SQL1602N Typ obiektu podany w strukturze danych
aplikacji użytkownika, określenie przez użytkownika zbyt
wejściowych (sqlma) nie jest obsługiwany.
małego bufora dla zwracanych danych.
Objaśnienie:
Typ obiektu określony w obszarze zmiennych struktury Komenda została wykonana i dane zebrane przed
danych wejściowych (sqlma) dla funkcji API Database System wystąpieniem przekroczenia zakresu wielkości bufora znajdują
Monitor Snapshot nie jest obsługiwany. się w buforze użytkownika.
Działanie użytkownika:
Komenda nie może być wykonana.
Wprowadź ponownie komendę lub, w przypadku wywołania
Działanie użytkownika: funkcji API Database Monitor w aplikacji użytkownika, określ
Wprowadź ponownie komendę używając poprawnego typu większy bufor lub zmniejsz ilość żądanych informacji.
obiektu.
SQL1607N Brak wystarczającej ilości pamięci roboczej
SQL1603N Parametr parametr nie został podany w do wykonania żądanej funkcji monitora
strukturze danych wejściowych (sqlma). bazy danych.
Objaśnienie: Objaśnienie:
Wymagany parametr nie został podany w strukturze danych Menedżer baz danych nie ma pamięci roboczej i nie może
wejściowych (sqlma) funkcji API Database System Monitor wykonać komendy Database System Monitor.
Snapshot lub Estimate Buffer Size.
Komenda nie może być wykonana.
Nie można wykonać komendy.
Działanie użytkownika:
Działanie użytkownika: Zmniejsz wielkość bufora w parametrze wejściowym i
Wprowadź ponownie komendę z prawidłową wartością wprowadź ponownie komendę.
parametru.
SQL1608W Dwa lub większa liczba aliasów baz danych
SQL1604N Parametr parametr nie jest zakończony określonych jako dane wejściowe odwołuje
znakiem NULL. się do tej samej bazy danych.
Objaśnienie: Objaśnienie:
Na końcu łańcucha znaków powinien znajdować się znak null. Wywołanie funkcji API System Monitor Snapshot lub
Estimate Buffer Size określa to samo żądanie dla dwóch lub
Komenda nie może być wykonana. więcej aliasów baz danych w strukturze danych sqlma, które
wskazują tę samą bazę danych.
Działanie użytkownika:
Dodaj znak null na końcu łańcucha znaków i wprowadź
Database System Monitor uruchamia się prawidłowo, ale
ponownie komendę.
zwraca tylko jedną kopię informacji w buforze wyjściowym.
Działanie użytkownika:
SQL1605W Baza danych alias-bazy-danych jest
Nie jest wymagane żadne działanie. Jednak jeśli oczekiwano
nieaktywna.
informacji o różnych bazach danych, sprawdź, czy aliasy baz
Objaśnienie: danych podane na wejściu są prawidłowe.
Dla podanej bazy danych wywołano funkcję API Database
System Monitor Reset, ale baza danych nie była aktywna.
SQL1609N Alias bazy danych alias-bazy-danych jest
zdalną bazą danych i nie można jej
Komenda zakończyła się poprawnie, ale nie podjęto żadnego monitorować.
działania.
Objaśnienie:
Działanie użytkownika: Nastąpiło wywołanie funkcji API Database System Monitor, w
Sprawdź, czy alias jest poprawny i czy baza danych została którym podano alias zdalnej bazy danych. Database System
uruchomiona. Monitor nie obsługuje monitorowania zdalnej bazy danych.

SQL1606W Bufor wyjściowy funkcji Database System Nie można wykonać komendy.
Monitor jest zapełniony.
Działanie użytkownika:
Objaśnienie: Sprawdź, czy alias bazy danych podany na wejściu jest
Obszar bufora wyjściowego funkcji Database System Monitor poprawny, a następnie wprowadź ponownie komendę z
nie jest wystarczająco duży, aby pomieścić zwracane dane. poprawnym aliasem.
Prawdopodobną przyczyną wystąpienia tego komunikatu jest
intensywne działanie systemu podczas wywołania lub, w

270 Komunikaty, tom 2


SQL1610N • SQL1615W

v Wartość MAXFILESIZE NONE jest podana przy wartości


SQL1610N Parametr wejściowy funkcji Database
MAXFILES różnej od 1.
System Monitor parametr jest
nieprawidłowy.
Komenda nie może zostać wykonana.
Objaśnienie:
Użytkownik wywołał jedną z funkcji API Database System Działanie użytkownika:
Monitor i podał nieprawidłową wartość wymaganego Powtórz instrukcję z poprawnymi opcjami monitora zdarzeń.
parametru.
kod_sql: -1613
Komenda nie może być wykonana.
stan_sql: 428A4
Działanie użytkownika:
Wprowadź ponownie komendę z prawidłową wartością
parametru. SQL1614N Błąd we/wy podczas aktywacji monitora
zdarzeń. Kod przyczyny = kod-przyczyny.

SQL1611W Funkcja Database System Monitor nie Objaśnienie:


zwróciła żadnych danych. Podczas aktywacji monitora zdarzeń wykryto błąd we/wy.
<kod-przyczyny> oznacza:
Objaśnienie:
Podczas wywołania funkcji API Database System Monitor 1 Wykryto nieznany typ docelowy monitora zdarzeń.
żądane informacje monitorowania były niedostępne. Może się 2 Docelowa ścieżka monitora zdarzeń nie została
to wydarzyć, gdy żądana baza danych lub aplikacja nie jest znaleziona.
aktywna lub gdy grupa monitorowana, taka jak Grupa tabel,
jest wyłączona, a zażądano Informacji tabelowej. 3 Dostęp do docelowej ścieżki do monitora zdarzeń
jest zabroniony.
Działanie użytkownika:
Komenda została wykonana poprawnie, ale żadne dane nie 4 Docelowa ścieżka monitora zdarzeń nie jest nazwą
zostały zwrócone do użytkownika. potoku.
5 Żaden proces nie otworzył do odczytu docelowego
Sprawdź, że bazy danych lub aplikacje, które mają być potoku monitora zdarzeń.
monitorowane, są aktywne podczas wywołania funkcji API
Database System Monitor lub czy grupy, które mają być 6 Wystąpił nieoczekiwany błąd we/wy.
monitorowane, są aktywne. Działanie użytkownika:
Jeśli jest to możliwe, usuń problem według wskazówek
SQL1612N Podana ścieżka docelowa monitora zdarzeń opisanych w kodzie przyczyny i uruchom ponownie instrukcję
jest nieprawidłowa. SET EVENT MONITOR.

Objaśnienie: kod_sql: -1614


Ścieżka docelowa podana w instrukcji CREATE EVENT
MONITOR nie jest poprawną nazwą ścieżki. Komenda nie
stan_sql: 58030
może zostać wykonana.
Działanie użytkownika:
SQL1615W Podany monitor zdarzeń jest już w żądanym
Powtórz instrukcję z poprawną ścieżką docelową monitora
stanie.
zdarzeń.
Objaśnienie:
kod_sql: -1612 Podjęto próbę aktywacji monitora zdarzeń, który jest już
aktywny lub deaktywacji monitora zdarzeń, który jest już
stan_sql: 428A3 nieaktywny. Instrukcja SET EVENT MONITOR została
zignorowana.

SQL1613N Podana opcja monitora zdarzeń jest Działanie użytkownika:


nieprawidłowa. Nie jest wymagane żadne działanie.

Objaśnienie: kod_sql: +1615


Opcja podana w instrukcji CREATE EVENT MONITOR jest
niepoprawna. Możliwe przyczyny to:
stan_sql: 01598
v Podane wartości MAXFILES, MAXFILESIZE lub
BUFFERSIZE są zbyt małe.
v Wartość MAXFILESIZE jest mniejsza niż wartość
BUFFERSIZE.

Rozdział 2. Komunikaty SQL 271


SQL1616N • SQL1622N

SQL1616N Osiągnięto maksymalną ilość dozwolonych SQL1619N Nie można wykonać instrukcji DROP na
aktywnych monitorów zdarzeń. aktywnym monitorze zdarzeń.
Objaśnienie: Objaśnienie:
W jednej bazie danych można otworzyć co najwyżej 32 Podany monitor zdarzeń jest obecnie aktywny i dlatego nie
monitory zdarzeń. Ilość ta została już osiągnięta. Podany może być usunięty.
monitor zdarzeń nie może być aktywowany.
Działanie użytkownika:
Działanie użytkownika: Zdeaktywuj monitor zdarzeń i ponownie uruchom instrukcję
Jeśli jest to możliwe, zdeaktywuj jeden z aktywnych DROP EVENT MONITOR.
monitorów zdarzeń i uruchom ponownie instrukcję SET
EVENT MONITOR. kod_sql: -1619

kod_sql: -1616 stan_sql: 55034

stan_sql: 54030
SQL1620N Nie można wyczyścić monitora zdarzeń.
Kod przyczyny kod_przyczyny.
SQL1617N Podany monitor zdarzeń osiągnął już
Objaśnienie:
maksymalne wartości MAXFILES i
Monitor zdarzeń nie może zostać wyczyszczony. Możliwe są
MAXFILESIZE.
następujące przyczyny:
Objaśnienie: 1. Monitor zdarzeń nie został uruchomiony.
Podany monitor zdarzeń został utworzony z ograniczeniem
2. Monitor zdarzeń jest uruchomiony w wersji 6 wyjścia, dla
ilości danych, jakie mogą znajdować się w docelowym
którego wyczyszczenie jest niedostępne.
katalogu monitora zdarzeń. Ilość ta została już osiągnięta.
Podany monitor zdarzeń nie może być aktywowany. Działanie użytkownika:
Sprawdź, czy monitor zdarzeń jest uruchomiony. Jeśli monitor
Działanie użytkownika:
zdarzeń jest uruchomiony w wersji 6 wyjścia, nie próbuj go
Jeśli jest to możliwe, usuń z katalogu docelowego niektóre
wyczyścić.
pliki danych monitora zdarzeń i ponownie uruchom instrukcję
SET EVENT MONITOR.
kod_sql: -1620
kod_sql: -1617
stan_sql: 55034
stan_sql: 54031
SQL1621N Transakcja, w której został utworzony
określony monitor zdarzeń, nie została
SQL1618N Ścieżka docelowa podanego monitora
jeszcze zatwierdzona. Monitor zdarzeń nie
zdarzeń jest już używana przez inny
może być aktywowany.
monitor zdarzeń.
Objaśnienie:
Objaśnienie:
Monitor zdarzeń nie może zostać aktywowany, dopóki
Podany monitor zdarzeń został utworzony z taką samą ścieżką
transakcja, w której został utworzony, nie zostanie
docelową, jak inny monitor zdarzeń. Ten inny monitor zdarzeń
zatwierdzona.
został aktywowany co najmniej raz i pozostawił w docelowej
ścieżce pliki .evt i/lub .ctl. Pliki te mogą być używane przez Działanie użytkownika:
aplikacje odczytujące zapisane w nich informacje o Zatwierdź transakcję, w której został utworzony monitor
zdarzeniach. zdarzeń, a następnie ponownie uruchom instrukcję SET
EVENT MONITOR.
Działanie użytkownika:
Jeśli inny monitor zdarzeń jest obecnie aktywny, należy go
zdezaktywować. Po upewnieniu się, że żadna aplikacja nie kod_sql: -1621
używa plików, które utworzyła w ścieżce docelowej, usuń je.
Następnie wprowadź ponownie instrukcję SET EVENT stan_sql: 55033
MONITOR.
SQL1622N Wartość STATE określona w instrukcji SET
Można również utworzyć ponownie żądany monitor zdarzeń EVENT MONITOR STATE jest
określając inną ścieżkę docelową i ponownie uruchomić nieprawidłowa.
instrukcję SET EVENT MONITOR.
Objaśnienie:
kod_sql: -1618

stan_sql: 51026

272 Komunikaty, tom 2


SQL1623N • SQL1627W

Wartość STATE określona w instrukcji SET EVENT brak obsługi konwersji danych ze źródłowej strony kodowej
MONITOR STATE wykracza poza zakres dopuszczalnych do docelowej strony kodowej. Może się tak zdarzyć, gdy
wartości lub wynikiem zmiennej indykacyjnej jest wartość zostaną spełnione następujące warunki:
NULL. 1. kombinacja źródłowej i docelowej strony kodowej nie jest
obsługiwana przez menedżera baz danych,
Poprawne wartości stanu Event Monitor State to:
2. kombinacja źródłowej i docelowej strony kodowej nie jest
0 dezaktywacja monitora zdarzeń, obsługiwana przez program narzędziowy zamiany znaków
systemu operacyjnego.
1 aktywowanie monitora zdarzeń.
Sytuacja taka może mieć miejsce, gdy monitorowanie próbuje
Nie można wykonać instrukcji. poddać konwersji dane odnoszące się do bazy danych, której
Działanie użytkownika: strona kodowa nie jest kompatybilna ze stroną kodową
Popraw wartość stanu monitora zdarzeń i/lub zmienną aplikacji monitorowania.
indykacyjną i uruchom ponownie instrukcję. Działanie użytkownika:
W dokumentacji systemu operacyjnego znajdź listę
kod_sql: -1622 obsługiwanych konwersji i sprawdź, czy są poprawnie
zainstalowane właściwe i dostępne w menedżerze baz danych.
stan_sql: 42815
Jeśli jest to możliwe sprawdź, czy monitorowana baza danych
SQL1623N Funkcja API sqlmonsz lub sqlmonss została i aplikacja monitorująca mają taką samą stronę kodową.
wywołana ze zbyt dużą ilością obiektów
określoną w wejściowej strukturze sqlma. SQL1626W Podczas przeprowadzania konwersji ze
Objaśnienie: strony kodowej źródło na stronę kodową cel
Wykorzystano maksymalną ilość obiektów, jaka jest wystąpiło przepełnienie. Wielkość obszaru
dozwolona dla struktury wejściowej sqlma. docelowego wynosiła maksymalna-długość,
dane należały do typu typ, a pierwszych
Działanie użytkownika: osiem znaków to dane.
Zmniejsz ilość obiektów w parametrze sqlma i spróbuj
uruchomić funkcję ponownie. Objaśnienie:
Poniżej podano możliwe typy:
1. tekst instrukcji
SQL1624N Wszystkie bazy danych, do których
odwołują się funkcje API sqlmonsz lub 2. aplikacja dcs
sqlmonss, muszą być zlokalizowane w tym 3. aplikacja
samym węźle. 4. tabela
Objaśnienie: 5. blokady
Parametr sqlma zawiera odwołania do baz danych, które 6. obszar tabel
znajdują się w różnych węzłach.
Działanie użytkownika: Program monitorujący nie może wykonać konwersji danych
Zmień parametr sqlma, tak aby wszystkie obiekty bazy danych zgodnej z ograniczeniami. Dane są przechowywane w
odwoływały się do tego samego węzła, a następnie spróbuj oryginalnej formie.
uruchomić funkcję ponownie. Działanie użytkownika:
Jeśli jest to możliwe sprawdź, czy monitorowana baza danych
SQL1625W Monitor nie może dokonać konwersji ze i aplikacja monitorująca mają taką samą stronę kodową.
strony kodowej źródło do strony kodowej
cel. Próba dokonania konwersji została SQL1627W Zgłoszono żądanie API pobrania obrazu na
podjęta w odniesieniu do danych należących samoopisującym się poziomie strumienia
do typu typ. danych, lecz serwer mógł jedynie zwrócić
Objaśnienie: obraz struktury o stałym formacie.
Poniżej podano możliwe typy: Objaśnienie:
1. tekst instrukcji Mimo że aplikacja zgłosiła żądanie pobrania obrazu na
2. aplikacja dcs poziomie SQLM_DBMON_VERSION6 lub późniejszym,
serwer zwracający obraz zwrócił widok danych na niższym
3. aplikacja
poziomie.
4. tabela
Działanie użytkownika:
5. blokady
W samoopisującym się formacie danych obrazu (wersja 6 DB2
6. obszar tabel lub nowsza), zebrane informacje włączając w to poziom

Rozdział 2. Komunikaty SQL 273


SQL1628W • SQL1633W

serwera, zwracane są jako część strumienia danych obrazu. W Działanie użytkownika:


poprzednich wersjach 6 DB2, informacje zebrane obrazu są Zmniejsz obszar używany w obszarze tabel i ponownie
zwracane w strukturze sqlm_collected. Możesz użyć struktury wprowadź instrukcję SET EVENT MONITOR. Zamiennie
sqlm_collected i metod przetwarzania starszych strumieni można usunąć monitor zdarzeń i ponownie go utworzyć z
danych przy analizie strumienia danych tego obrazu. większą wartością ograniczenia PCTDEACTIVATE.

kod_sql: -1630
SQL1628W Zdalna operacja przełączników get zwróciła
częściowe rezultaty ponieważ bufor
wyjściowy jest pełny. Aby pobrać pełne stan_sql: 54063
rezultaty, użyj buforu o minimalnym
rozmiarze równym rozmiar bajtów. SQL1631N Monitor zdarzeń nazwa-monitora-zdarzeń
Objaśnienie: typu typ-monitora-zdarzeń jest już aktywny.
Udostępniony bufor wyjściowy nie był wystarczająco duży, by Monitor zdarzeń nie został aktywowany.
zwrócić wszystkie dostępne przełączone dane. Monitor Objaśnienie:
zwrócił tyle danych ile mógł, ze względu na dany bufor W danej chwili może być aktywny tylko jeden monitor
wyjściowy. zdarzeń typu ACTIVITIES, STATISTICS lub THRESHOLD
Działanie użytkownika: VIOLATIONS. Aktywowanie monitora zdarzeń nie powiodło
Przydziel większy bufor danych i wydaj ponownie żądanie się, ponieważ monitor zdarzeń tego samego typu jest już
przełączenia. aktywny.
Działanie użytkownika:
SQL1629W Operacja zdalnego obrazu stanu nie Dezaktywuj monitor zdarzeń nazwa-monitora-zdarzeń przed
powiodła się dla węzła lub węzłów próbą aktywowania tego monitora zdarzeń.
lista-węzłów z kodem lub kodami przyczyny
lista-przyczyn. kod_sql: -1631

Objaśnienie: stan_sql: 5U024


Podczas operacji na zdalnym węźle wystąpił pewien typ awarii
o kodzie przyczyny <kod-przyczyny>, który może mieć jedną
z następujących wartości: SQL1632W Żądanie zbierania i resetowania statystyk
zostało zignorowane, ponieważ jest już
1 FCM nie mógł skomunikować się z węzłem obsługiwane inne żądanie zbierania i
docelowym, na skutek awarii węzła lub błędu w resetowania statystyk.
komunikacji.
Objaśnienie:
2 Nie powiodło się zakończenie operacji obrazu na Żądanie zbierania i resetowania statystyk zostało zignorowane,
węźle docelowym. Informacji na temat określonego ponieważ jest już obsługiwane wcześniejsze żądanie zbierania
obszaru SQLCA należy szukać w dzienniku i resetowania statystyk. Dla tej bazy danych w danej chwili
powiadomień administracyjnych. może być przetwarzane tylko jedno żądanie zbierania i
Działanie użytkownika: resetowania statystyk.
Jeśli przyczyną błędu była awaria węzła lub błąd Działanie użytkownika:
komunikacyjny, to będziesz musiał rozwikłać błąd Nie jest wymagane żadne działanie.
komunikacyjny lub zrestartować węzeł, któremu nie udało się
poprawić błędu. kod_sql: +1632

Jeśli błąd wystąpił na skutek niepowodzenia operacji obrazu w stan_sql: 01H53


zdalnym węźle, odszukaj w dzienniku powiadomień
administracyjnych obszar komunikacyjny SQL dla operacji,
która się nie powiodła, po czym postępuj według instrukcji SQL1633W Działanie identyfikowane przez uchwyt
właściwych dla tego kodu, aby wyeliminować problem. aplikacji uchwyt-aplikacji, identyfikator
jednostki pracy identyfikator-jednostki-pracy
i identyfikator działania
SQL1630N Podany monitor zdarzeń osiągnął już identyfikator-działania nie może zostać
ograniczenie PCTDEACTIVATE. przechwycone, ponieważ nie ma aktywnego
Objaśnienie: monitora zdarzeń działań.
Określony monitor zdarzeń zapisu do tabeli został utworzony z Objaśnienie:
ograniczeniem PCTDEACTIVATE określającym, na ile ma Przeprowadzono próbę przechwycenia działania
zostać zapełniony obszar tabel DMS zanim monitor zdarzeń identyfikowanego przez uchwyt aplikacji, identyfikator
zostanie automatycznie dezaktywowany, i to ograniczenie jednostki pracy i identyfikator działania. Wymaga to, aby
zostało już osiągnięte. Podany monitor zdarzeń nie może być został utworzony monitor zdarzeń działania i aby jego stan
aktywowany.

274 Komunikaty, tom 2


SQL1634N • SQL1670N

został ustawiony na aktywny. Obecnie nie ma monitora być żądanie obiektów do których są odwołania, jeśli
zdarzeń działań w stanie aktywnym. kwalifikatory obiektów mają długość przekraczającą długość
obsługiwaną przez wersję serwera.
Działanie użytkownika:
Jeśli istnieje już monitor zdarzeń działań, ale nie jest w stanie Działanie użytkownika:
aktywnym, ustaw jego stan na aktywny. Jeśli w tej bazie Uruchom żądanie na serwerze DB2, na którym jest
danych nie ma monitorów zdarzeń działań, utwórz monitor i zainstalowana najnowsza wersja serwera DB2 lub zaktualizuj
ustaw jego stan na aktywny. Ponownie wywołaj tę procedurę. serwer do najnowszej wersji DB2.

kod_sql: +1633
SQL1652N Wystąpił błąd we/wy.
stan_sql: 01H53 Objaśnienie:
Błąd wystąpił podczas otwierania, odczytu, zapisu lub
zamykania pliku.
SQL1634N Nie można zebrać statystyk, ponieważ nie
ma aktywnego monitora zdarzeń dla Działanie użytkownika:
statystyk. Szczegóły można znaleźć w pliku db2diag.log. Sprawdź
również, czy jest miejsce na dysku, czy masz odpowiednie
Objaśnienie: uprawnienia do plików oraz czy pojawiły się błędy systemu
Podjęto próbę zebrania danych statystycznych zarządzania operacyjnego.
obciążeniem. Wymaga to, aby został utworzony monitor
zdarzeń statystycznych i aby jego stan został ustawiony na
aktywny. Obecnie nie ma monitora zdarzeń statystycznych w SQL1653N Podano nieprawidłową ścieżkę do profilu.
stanie aktywnym.
Objaśnienie:
Działanie użytkownika: Należy określić pełną ścieżkę do pliku, w którym powinny być
Jeśli istnieje już monitor zdarzeń statystycznych, ale nie jest w generowane informacje serwera.
stanie aktywnym, ustaw jego stan na aktywny. Jeśli w tej bazie
Działanie użytkownika:
danych nie ma monitorów zdarzeń statystycznych, utwórz
Sprawdź, czy podana ścieżka do profilu jest poprawna i czy
monitor i ustaw jego stan na aktywny. Ponownie wywołaj tę
nie jest pusta.
procedurę.

kod_sql: -1634 SQL1654N Błąd ścieżki do instancji.


Objaśnienie:
stan_sql: 51042 Ścieżka do instancji nie może być zwrócona.
Działanie użytkownika:
SQL1650N Wywoływana funkcja nie jest już Sprawdź, czy ścieżka do DB2INSTANCE została podana
obsługiwana. poprawnie. Sprawdź, czy podana długość ścieżki nie jest
Objaśnienie: zbliżona do wartości maksymalnej, jaką obsługuje system
Użytkownik usiłował wywołać funkcję API, która nie jest operacyjny.
obsługiwana w tej wersji menedżera baz danych.
Działanie użytkownika: SQL1660N Generator na serwerze, używany przez
Żądana funkcja mogła zostać zastąpiona przez inną funkcję Detektor DB2 do gromadzenia informacji o
API. W celu określenia, czy funkcja jest obsługiwana za serwerze, uległ awarii.
pomocą innego wywołania funkcji API, należy odwiedzić Objaśnienie:
Centrum informacyjne DB2 (http://publib.boulder.ibm.com/ Wystąpiła awaria systemu serwera.
infocenter/db2luw/v9).
Działanie użytkownika:
Jeśli aplikacja Windows wywołuje funkcję API sqledgne lub Zgłoś awarię administratorowi serwera DB2. Więcej
db2DbDirGetNextEntry o numerze wersji wcześniejszym niż szczegółów na temat awarii można znaleźć w pliku
9, należy ją zaktualizować w celu wywoływania funkcji API db2diag.log serwera.
db2DbDirGetNextEntry z bieżącym numerem wersji, tzn.
numerem 9. SQL1670N Typ wykrywania określony w parametrze
DISCOVER konfiguracji menedżera baz
SQL1651N Żądanie nie może być wykonane, ponieważ danych wskazuje, iż wykrywanie jest
wersja serwera DB2 nie obsługuje tej niedostępne.
funkcji. Objaśnienie:
Objaśnienie: Instrukcja DISCOVER = DISABLE znajduje się w pliku
Niektóre z nowych funkcji nie są obsługiwane przez starsze konfiguracyjnym menedżera baz danych.
wersje serwera DB2. Inną możliwą przyczyną tego błędu może

Rozdział 2. Komunikaty SQL 275


SQL1671N • SQL1700N

Działanie użytkownika: Obsługa DB2 może dostarczyć szczegółów na temat kodów


Jeśli wymagana jest funkcja DISCOVER, zmień typ błędów zwróconych przez powyższe funkcje i zapisanych do
wykrywania na KNOWN lub SEARCH. pliku db2diag.log.

SQL1671N Żądanie wykrywania nie powiodło się. SQL1673N Lista adresowa podana jako wejście do
Dodatkowe szczegóły zawiera dziennik interfejsu wykrywania jest nieprawidłowa.
powiadomień administracyjnych.
Objaśnienie:
Objaśnienie: Aplikacja użyła nieprawidłowego wskaźnika wejściowej listy
Żądanie wykrywania nie powiodło się z jednej z następujących adresowej. Nie wskazuje on żadnych danych.
przyczyn:
Działanie użytkownika:
1. Inicjowanie nie powiodło się Sprawdź, czy w aplikacji podano poprawny wskaźnik
(sqleCommonInitializationForAPIs). wejściowej listy adresowej i czy nie jest on równy null.
2. Nie powiodło się pobranie ścieżki do instancji klienta
(sqloinstancepath).
SQL1674N Adres serwera podany jako wejście do
3. Nie powiodło się otwarcie pliku wyjściowego (sqlofopn). interfejsu wykrywania jest nieprawidłowy.
4. Nie powiodło się zapis do pliku wyjściowego (sqlofprt).
Objaśnienie:
5. Nie powiodło się pobranie pamięci (sqlogmblk). Aplikacja użyła nieprawidłowego wskaźnika wejściowego
6. Nie powiodło się pobranie konfiguracji menedżera baz adresu serwera. Nie wskazuje on żadnych danych.
danych (sqlfcsys).
Działanie użytkownika:
7. Nie powiodło się wywołanie NetBIOS. Sprawdź, czy w aplikacji podano poprawny wskaźnik
8. Nie powiodła się wewnętrzna systemowa funkcja DB2 wejściowego adresu serwera i czy nie jest on równy null.
(sqlogpid, sqlogmt).
SQL1675N Wykrywanie (discover) można uruchamiać
Szczegóły można znaleźć w pliku db2diag.log.
tylko na serwerach administracyjnych DB2.
Działanie użytkownika: Podane informacje o komunikacji nie
1. Jeśli inicjowanie nie powiodło się, spróbuj ponownie dotyczą serwera administracyjnego.
włączyć komputer lub powtórzyć instalację produktu. Objaśnienie:
2. Jeśli błąd dotyczy ścieżki do instancji, sprawdź, czy Zostało wprowadzone żądanie wykrywania KNOWN
wartość DB2INSTANCE jest poprawnie ustawiona. odwołujące się do serwera DB2, który nie jest serwerem
3. Jeśli nie powiodło się otwarcie lub zapis do pliku, administracyjnym DB2. Podane informacje o komunikacji są
sprawdź, czy masz uprawnienia do otwarcia i zapisu do nieprawidłowe.
pliku w katalogu <ścieżka do sqllib>\<instancja>\tmp na Działanie użytkownika:
komputerach z procesorem Intel lub w katalogu <ścieżka Sprawdź, czy DB2ADMINSERVER jest ustawiony na
do instancji>/sqllib/tmp na komputerach z systemem instancję serwera DB2, z której chcesz skorzystać. Oznacza to,
UNIX. że instancja serwera jest serwerem administracyjnym DB2.
4. Jeśli nie powiodło się pobranie zawartości pamięci, Wprowadź ponownie żądanie wykrywania KNOWN podając
sprawdź dostępną pamięć w swoim komputerze. poprawne informacje komunikacyjne.
5. Jeśli nie powiodło się wykrywanie konfiguracji DBM,
spróbuj ponownie włączyć komputer lub powtórzyć SQL1700N Podczas migracji bazy danych znaleziono w
instalację produktu. niej zastrzeżoną nazwę schematu nazwa.
6. Jeśli nie powiodło się wywołanie NetBIOS:
Objaśnienie:
v Jeśli nie powiodła się instrukcja Add Name z kodem Baza danych zawiera co najmniej jeden obiekt używający
powrotu 13, sprawdź, czy parametr nname w nazwy schematu nazwa zarezerwowanej przez bieżącego
konfiguracji DBM nie został użyty do skonfigurowania menedżera bazy danych.
innego klienta IBM Data Server Client/serwera DB2.
v Sprawdź, czy NetBIOS został prawidłowo Nie można wykonać komendy.
zainstalowany i skonfigurowany, oraz czy prawidłowo
Działanie użytkownika:
funkcjonuje.
Sprawdź, czy wszystkie obiekty bazy danych używające
v Sprawdź, czy nie ma problemów z siecią. zarezerwowanej nazwy schematu są usunięte i ponownie
7. Jeśli nie udała się wewnętrzna funkcja systemowa DB2, utwórz obiekty używając innej nazwy schematu. Poprawkę tę
sprawdź, czy funkcje systemu operacyjnego funkcjonują należy wprowadzić w wersji menedżera baz danych, w której
poprawnie. pierwotnie utworzono bazę danych. Przed ponownym
podjęciem próby migracji upewnij się, że żadne
zarezerwowane nazwy schematów nie są używane. Następnie

276 Komunikaty, tom 2


SQL1701N • SQL1704N

wprowadź ponownie komendę migracji bazy danych w v baza danych oznaczona przez mechanizm HADR
bieżącej wersji menedżera baz danych. jako niespójna
3 Dzienniki bazy danych są pełne.
SQL1701N Nie można przeprowadzić migracji bazy
4 Niewystarczająca ilość miejsca na dysku.
danych, ponieważ ostatnia sesja została
zakończona niepoprawnie. 5 Nie można zaktualizować pliku konfiguracyjnego
bazy danych.
Objaśnienie:
Ostatnia operacja na bazie danych została nagle przerwana 6 Przeniesienie bazy danych nie powiodło się.
(np. zanik napięcia w sieci) podczas pracy poprzedniego
menedżera baz danych. Nie można wykonać migracji bazy 7 Dostęp do podkatalogu bazy danych lub do jednego
danych dopóki nie zostanie ona ponownie uruchomiona. z plików bazy danych nie powiódł się.
8 Aktualizacja znacznika kontenera bazy danych nie
Nie można wykonać komendy. powiodła się.
Działanie użytkownika: 9 Brak dostępu do obszaru tabel.
Baza danych musi zostać zrestartowana. Wprowadź komendę
RESTART DATABASE, używając tej wersji menedżera baz 10 Znaleziono niepoprawną nazwę typu.
danych, który ostatnio korzystał z bazy danych. Następnie 17 Niepowodzenie przy próbie przydzielenia nowej
wprowadź ponownie komendę migracji bazy danych w strony z obszaru tabel katalogu systemowego.
bieżącej wersji menedżera baz danych.
18 Napotkano duplikaty funkcji do migracji bazy
danych Unicode.
SQL1702W Menedżery połączeń protokół zostały
uruchomione poprawnie. W bazie danych Unicode następujące typy są
traktowane jak równoważne typy łańcuchowe:
Działanie użytkownika:
CHAR i GRAPHIC
Nie jest wymagane żadne działanie. VARCHAR i VARGRAPHIC
LONG VARCHAR i LONG VARGRAPHIC
SQL1703W Katalog db2event nie mógł zostać CLOB i DBCLOB
utworzony podczas migracji bazy danych.
Sygnatury funkcji różniące się tylko równoważnymi
Objaśnienie: typami łańcuchowymi są uznawane za “duplikaty” i
Migracja bazy danych zakończyła się poprawnie, ale katalog nie mogą współistnieć w jednej bazie danych. Na
db2event nie mógł zostać utworzony. przykład funk1(CHAR, GRAPHIC, VARCHAR) i
funk1(GRAPHIC, GRAPHIC, VAR GRAPHIC) są
Jest to tylko ostrzeżenie. duplikatami.
Działanie użytkownika: 21 Migracja bazy danych została ukończona w węźle
Katalog db2event musi zostać utworzony, jeśli monitor katalogu i w innych węzłach, jednak nie we
zdarzeń ma być używany. Katalog db2event musi zostać wszystkich. Część węzłów zgłasza awarię. W
utworzony w katalogu bazy danych, w którym znajduje się rezultacie w węzłach tych nie została
baza danych po migracji. Katalog bazy danych po migracji przeprowadzona migracja.
można określić przy użyciu instrukcji LIST DATABASE
DIRECTORY. 22 Migracja bazy danych nie powiodła się, ponieważ
węzeł katalogu zgłasza awarię.

SQL1704N Migracja bazy danych nie powiodła się. Kod 24 Wystąpił błąd podczas tworzenia katalogu monitora
przyczyny: kod-przyczyny. zdarzeń db2detaildeadlock w katalogu db2event
znajdującym się w używanej bazy danych.
Objaśnienie:
Migracja bazy danych nie powiodła się. Kody przyczyny są Działanie użytkownika:
następujące: Poniżej przedstawiono możliwe rozwiązania w zależności od
kodu przyczyny:
1 Znaleziono nieprawidłową nazwę schematu.
1 SYSIBM, SYSCAT, SYSSTAT i SYSFUN są
2 Nie można przeprowadzić migracji dla tej bazy zarezerwowanymi nazwami schematów. Należy
danych. Baza danych może być w jednym z upewnić się, że wszystkie obiekty bazy danych
następujących stanów: używające jednej lub więcej z powyższych nazw
v tworzenie kopii zapasowej schematów są usunięte i ponownie utworzyć obiekty
używając innej nazwy schematu. Poprawkę tę należy
v stan odtwarzania w toku
wprowadzić w poprzedniej wersji menedżera baz
v odtwarzanie zmian w toku danych. Ponownie wprowadź komendę migracji
v nieprawidłowy stan transakcji bazy danych w bieżącej wersji.

Rozdział 2. Komunikaty SQL 277


SQL1705W • SQL1707N

2 Zmień stan bazy danych, używając menedżera baz jeden z duplikatów funkcji. W razie potrzeby
danych i wykonaj wszystkie konieczne działania ponownie utwórz funkcję z inną sygnaturą. Wróć do
naprawcze w bazie danych. W systemach z bieżącej wersji systemu menedżera bazy danych.
mechanizmem HADR należy przed próbą migracji Następnie należy uruchomić ponownie komendę
podstawowej bazy danych HADR wydać komendę migracji bazy danych. Przed przejściem na bieżącą
stop HADR. Ponownie wprowadź komendę migracji wersję programu DB2 zapoznaj się z podręcznikiem
bazy danych w bieżącej wersji. Krótkie wprowadzenie i zastosuj się do instrukcji
dotyczących weryfikowania gotowości bazy danych
3 Należy zwiększyć wartości parametrów
do migracji.
konfiguracyjnych bazy danych logfilsiz lub
logprimary. Następnie należy uruchomić ponownie 21 Sprawdź zawartość dziennika powiadomień
komendę migracji bazy danych. administracyjnych, aby ustalić, które węzły zgłaszają
niesprawności. Usuń przyczynę awarii węzłów i
4 Należy upewnić się, że w systemie jest odpowiednia
ponownie wprowadź komendę migracji bazy
ilość miejsca na dysku, a następnie uruchomić
danych. Ponieważ migracja odbywa się wyłącznie w
ponownie komendę migracji bazy danych.
węzłach wymagających migracji, komendę tę można
5 Wystąpił problem z aktualizacją pliku wprowadzić z dowolnego węzła.
konfiguracyjnego bazy danych. Sprawdź, czy plik
22 Usuń przyczynę awarii w węźle katalogu. Ponownie
ten nie jest przetrzymywany na wyłączność przez
wprowadź komendę migracji.
innych użytkowników i czy można go aktualizować.
Następnie należy uruchomić ponownie komendę 24 Usuń katalog db2detaildeadlock, jeśli znajduje się on
migracji bazy danych. Jeśli problem się powtórzy, w katalogu używanej bazy danych, i wprowadź
należy poinformować o tym przedstawiciela serwisu ponownie komendę migracji.
IBM.
6 Należy odtworzyć bazę danych z kopii zapasowej. SQL1705W Nie można aktualizować pozycji katalogu
baz danych do bieżącej wersji.
7 Należy odtworzyć bazę danych z kopii zapasowej.
Objaśnienie:
8 Następnie należy uruchomić ponownie komendę
W katalogu bazy danych nie można zaktualizować aliasów
migracji bazy danych. Jeśli problem nadal
bazy danych, dla której właśnie przeprowadzono migrację z
występuje, skontaktuj się z przedstawicielem serwisu
wcześniejszej wersji.
IBM.
Działanie użytkownika:
9 Należy poprawić obszar tabel powracając do
Usuń z katalogu aliasy bazy danych, dla której
poprzedniej wersji menedżera baz danych.
przeprowadzono migrację i ponownie wpisz je do katalogu
Informacje o działaniach zalecanych w celu
używając tych samych informacji.
naprawienia obszaru tabel można znaleźć w opisie
komunikatu SQL0290N.
SQL1706W Podczas migracji instancji z rozmiarem
10 Nazwa typu jest zarezerwowana przez system.
słowa, w katalogu węzła dla tej instancji,
Należy sprawdzić, czy typy i obiekty bazy danych,
została wykryta co najmniej jedna
które używają tego typu, zostały usunięte i ponownie
nielokalna baza danych.
utworzone przy użyciu niezarezerwowanej nazwy
typu. Poprawkę tę należy wprowadzić w poprzedniej Objaśnienie:
wersji menedżera baz danych. Ponownie wprowadź Podczas wykonywania migracji instancji z rozmiarem słowa,
komendę migracji bazy danych w bieżącej wersji. napotkano co najmniej jedną bazę danych, która nie była
utworzona w tej instancji. Aby migracja została zakończona
17 Jeśli obszar tabel katalogu systemowego to obszar
sukcesem, to taka baza danych musi mieć taki sam rozmiar
tabel DMS z mechanizmem automatycznej pamięci
słowa co ta instancja.
masowej lub obszar tabel SMS, należy upewnić się,
że dostępne jest przynajmniej 50% wolnego miejsca Działanie użytkownika:
na dysku dla obszaru tabel katalogu systemowego, a Zapewnij, by wszystkie bazy danych wpisane do katalogu w
następnie należy przeprowadzić migrację bazy instancji, miały ten sam rozmiar słowa.
danych. Jeśli obszar tabel katalogu systemowego to
obszar tabel DMS, należy odtworzyć kopię
SQL1707N Nie można przeprowadzić migracji
zapasową bazy danych w poprzednim systemie
rozmiaru słowa instancji.
menedżera bazy danych. Do obszaru tabel katalogu
systemowego należy dodać więcej kontenerów. Objaśnienie:
Należy przydzielić 50% wolnej pamięci na migrację Wystąpił błąd podczas próby przeprowadzenia migracji
bazy danych. Uruchom bieżącą wersję i rozmiaru słowa instancji. Skontaktuj się z przedstawicielem
przeprowadź migrację bazy danych. serwisu IBM.
18 Odtwórz kopię zapasową bazy danych w Działanie użytkownika:
poprzednim systemie menedżera baz danych. Usuń Skontaktuj się z przedstawicielem serwisu IBM.

278 Komunikaty, tom 2


SQL1708W • SQL1756N

SQL1708W Migracja bazy danych została zakończona z SQL1753N Nie dla wszystkich obszarów tabel,
następującym kodem ostrzeżenia: zdefiniowanych w grupie węzłów
kod-ostrzeżenia. IBMTEMPGROUP, węzeł numer-węzła ma
kontenery.
Objaśnienie:
Migracja bazy danych zakończona z ostrzeżeniem. Poniżej Objaśnienie:
przedstawiono kody przyczyn: Zanim węzeł będzie można włączyć do grupy węzłów, to musi
on mieć zdefiniowane kontenery dla wszystkich systemowych,
1 Nie powiodła się migracja jednego lub kilku węzłów.
tymczasowych obszarów tabel, zdefiniowanych w grupie
Działanie użytkownika: węzłów IBMTEMPGROUP dla tej bazy danych.
Możliwe rozwiązania opierają się na kodach ostrzeżenia:
Działanie użytkownika:
1 Dla tego węzła wprowadź ponownie komendę Wydaj instrukcję ALTER TABLESPACE, aby dodać
migracji bazy danych. kontenery na każdym węźle dla każdego systemowego,
tymczasowego obszaru tabel w bazie danych.
SQL1751N Wynikowa grupa węzłów może nie zawierać
kod_sql: -1753
żadnych węzłów, które mogłyby być użyte w
mapie partycjonowania.
stan_sql: 57052
Objaśnienie:
Wynikowa grupa węzłów musi zawierać co najmniej jeden
SQL1754N Indeksowy lub duży obszar tabel nie
węzeł, który mógłby być użyty w mapie partycjonowania. Jeśli
znajduje się w tej samej grupie węzłów, co
węzeł jest dodany do grupy węzłów WITHOUT
nadrzędny obszar tabel.
TABLESPACES, nie może on znaleźć się w mapie
partycjonowania, ponieważ w tej grupie węzłów brak jest Objaśnienie:
zdefiniowanych kontenerów dla obszarów tabel. Jeśli węzeł Wszystkie obszary tabel określone w instrukcji CREATE
został dodany na podstawie (LIKE) innego węzła i ten inny TABLE muszą należeć do tej samej grupy węzłów.
węzeł nie ma kontenerów dla wszystkich obszarów tabel w
grupie węzłów, to żaden z nich nie może znaleźć się w mapie Działanie użytkownika:
partycjonowania. Sprawdź, czy wszystkie obszary tabel określone w instrukcji
CREATE TABLE należą do tej samej grupy węzłów.
Działanie użytkownika:
Nie usuwaj wszystkich węzłów z grupy, zanim nie dodasz co kod_sql: -1754
najmniej jednego. Jeśli obszary tabel są już zdefiniowane w
grupie węzłów, ale brakuje tabel, sprawdź, czy co najmniej stan_sql: 42838
jeden węzeł ma kontenery dla wszystkich obszarów tabel.

kod_sql: -1751 SQL1755N Partycja bazy danych


numer-partycji-bazy-danych nie ma
stan_sql: 428C0 kontenerów dla wszystkich obszarów tabel
zdefiniowanych w grupie partycji bazy
danych nazwa-grupy-partycji-bazy-danych.
SQL1752N W grupie węzłów nazwa-grupy-węzłów nie
można utworzyć obszaru tabel. Objaśnienie:
Wszystkie obszary tabel w grupie partycji bazy danych muszą
Objaśnienie: mieć zdefiniowane kontenery we wszystkich partycjach bazy
Grupa węzłów IBMTEMPGROUP może być określona wtedy danych. W przeciwnym razie dana partycja bazy danych nie
i tylko wtedy, gdy obszar tabel jest systemowym, powinna zostać uwzględniona w redystrybucji grupy partycji
tymczasowym obszarem tabel. bazy danych lub w klauzuli LIKE DBPARTITIONNUM
instrukcji ALTER DATABASE PARTITION GROUP.
Działanie użytkownika:
Dla systemowych, tymczasowych obszarów tabel określ grupę Działanie użytkownika:
węzłów IBMTEMPGROUP. Dla innych typów obszarów tabel Wprowadź instrukcję ALTER TABLESPACE w celu dodania
określ grupę węzłów różną od IBMTEMPGROUP. kontenerów do wszystkich obszarów tabel w danej partycji
bazy danych.
kod_sql: -1752
SQL1756N Więcej niż jedna klauzula określa kontenery
stan_sql: 429A1
bez klauzuli ON NODES.
Objaśnienie:
Dla instrukcji CREATE TABLESPACE, klauzula USING bez
klauzuli ON NODES może być podana tylko raz.

Rozdział 2. Komunikaty SQL 279


SQL1757N • SQL1760N

Dla instrukcji ALTER TABLESPACE, klauzula ADD bez


SQL1759W Redystrybucja grupy partycji bazy danych
klauzuli ON NODES może być podana tylko raz.
jest niezbędna do zmiany partycjonowania
bazy danych dla obiektów w grupie węzłów
Instrukcja nie została wykonana. nazwa-grupy-partycji-bazy-danych w celu
Działanie użytkownika: uwzględnienia dodanych partycji bazy
Popraw instrukcję i wydaj ją ponownie. danych lub wykluczenia usuniętych partycji
bazy danych.
kod_sql: -1756 Objaśnienie:
To ostrzeżenie wskazuje, że zmiany dokonane przy użyciu
stan_sql: 428B1 instrukcji ALTER DATABASE PARTITION lub ALTER
TABLESPACE nie spowodowały zmian w mapie
SQL1757N Brak klauzuli USING bez klauzuli ON partycjonowania dla grupy partycji bazy danych. Instrukcje te
DATABASE PARTITION. zmieniają mapę partycjonowania dla grupy partycji bazy
danych tylko wówczas, gdy nie istnieje żadna tabela
Objaśnienie: zdefiniowana przy użyciu obszaru tabel określonego w danej
W instrukcji CREATE TABLESPACE każda klauzula USING grupie partycji bazy danych lub jeśli usuwana partycja bazy
określa klauzulę ON DATABASE PARTITION. Jednakże nie danych nie znajduje się w mapie partycjonowania.
wszystkie partycje bazy danych w grupie partycji bazy danych
zostały uwzględnione i dlatego nie wszystkie partycje bazy Ostrzeżenie to pojawia się w następujących przypadkach:
danych w określonej grupie partycji mają kontenery.
v Jedną lub więcej partycji bazy danych dodano przy użyciu
instrukcji ALTER DATABASE PARTITION ADD
Instrukcja nie jest wykonywana. DATABASE PARTITION.
Działanie użytkownika: v Jedną lub więcej partycji bazy danych usunięto przy użyciu
Sprawdź, czy określona jest klauzula USING bez klauzuli ON instrukcji ALTER DATABASE PARTITION DROP
DATABASE PARTITION lub czy każda partycja bazy danych DATABASE PARTITION.
z grupy partycji bazy danych jest uwzględniona w klauzuli ON v Dodano wszystkie niezbędne kontenery dla obszaru tabel i
DATABASE PARTITION tylko raz. partycja bazy danych może być używana bez konieczności
dodawania jakichkolwiek innych kontenerów.
kod_sql: -1757
Dla wszystkich powyższych przypadków tabela jest już
stan_sql: 428B1 zdefiniowana przy użyciu obszaru tabel z grupy partycji bazy
danych.
SQL1758W Kontenery, które nie zostały przypisane Działanie użytkownika:
określonym węzłom, nie są używane przez Aby dołączyć lub wykluczyć partycję bazy danych z
obszar tabel dla żadnego węzła. partycjonowania bazy danych, użyj komendy lub funkcji API
Objaśnienie: o nazwie REDISTRIBUTE DATABASE PARTITION. Inna
Instrukcje ALTER TABLESPACE i CREATE TABLESPACE możliwość to usunięcie wszystkich tabel używających
zawierają specyfikację kontenerów dla wszystkich partycji obszarów tabel w określonej grupie partycji bazy danych.
bazy danych w grupie partycji bazy danych. Specyfikacje
kontenerów, po których nie następuje klauzula ON kod_sql: +1759
DATABASE PARTITION są nadmiarowe i zostały pominięte.
stan_sql: 01618
Instrukcja została wykonana.
Działanie użytkownika: SQL1760N Instrukcja CREATE dla procedury
Jeśli dla jakichś węzłów wymagane są kontenery, wywołaj składowanej nazwa-procedury musi zawierać
instrukcję ALTER TABLESPACE i dodaj potrzebne poprawne klauzule LANGUAGE,
kontenery. EXTERNAL oraz PARAMETER STYLE.
Objaśnienie:
kod_sql: +1758 W instrukcji CREATE dla procedury nazwa-procedury brakuje
wymaganej klauzuli. Muszą być podane klauzule
stan_sql: 01589 LANGUAGE, EXTERNAL oraz PARAMETER STYLE.
Działanie użytkownika:
Dodaj brakującą klauzulę i powtórz operację.

kod_sql: -1760

stan_sql: 42601

280 Komunikaty, tom 2


SQL1761N • SQL1763N

Po określeniu problemu i rozwiązaniu go, ponownie wprowadź


SQL1761N Grupa węzłów nazwa-grupy-węzłów nie
instrukcję connect.
została zdefiniowana dla puli buforów
nazwa-puli-buforów.
SQL1763N W instrukcji ALTER TABLESPACE
Objaśnienie:
występują kolidujące ze sobą klauzule.
Grupa węzłów dla obszaru tabel nie została zdefiniowana dla
puli buforów. Obszar tabel nie może zostać utworzony ani Objaśnienie:
zmieniony, tak aby używał tej kombinacji grupy węzłów i puli Nie można użyć jednocześnie klauzul określonych w instrukcji
buforów. ALTER TABLESPACE.
1. Klauzula CONVERT TO LARGE musi być użyta
Nie można wykonać instrukcji. oddzielnie.
Działanie użytkownika: 2. Klauzuli BEGIN NEW STRIPE SET dotyczącej kontenera
Możliwe działania: nie można określić razem z innymi klauzulami
v podaj pulę buforów, która zdefiniowała grupę węzłów dla dotyczącymi kontenera (ADD, DROP, EXTEND,
obszaru tabel REDUCE lub RESIZE).
v zmień pulę buforów, aby dodać grupę węzłów obszaru tabel 3. Podczas dodawania lub usuwania przestrzeni z obszaru
tabel:
v jeśli jest to CREATE TABLESPACE, podaj grupę węzłów,
która jest zdefiniowana dla puli buforów. a. w pojedynczej instrukcji można użyć klauzul
EXTEND i RESIZE pod warunkiem, że wzrasta
kod_sql: -1761 wielkość każdego kontenera;
b. w pojedynczej instrukcji można użyć klauzul
stan_sql: 42735 REDUCE i RESIZE pod warunkiem, że wielkość
każdego kontenera ulega zmniejszeniu;
c. w pojedynczej instrukcji nie można użyć jednocześnie
SQL1762N Nie można połączyć się z bazą danych,
klauzul EXTEND i REDUCE, za wyjątkiem sytuacji,
ponieważ jest zbyt mało miejsca i nie można
w której skierowane są one do różnych partycji bazy
go przydzielić dla aktywnych dzienników.
danych;
Objaśnienie: d. w pojedynczej instrukcji nie można użyć jednocześnie
W systemie jest zbyt mało miejsca dla aktywnych dzienników. klauzul ADD i REDUCE lub DROP, za wyjątkiem
Możliwe są następujące przyczyny: sytuacji, w której skierowane są one do różnych
v Na urządzeniu służącym do przechowywania dzienników partycji bazy danych;
odtwarzania jest za mało miejsca. e. w pojedynczej instrukcji nie można użyć jednocześnie
v Jeśli operacje obsługi wyjścia użytkownika są włączone, klauzul DROP i EXTEND lub ADD, za wyjątkiem
działanie programu obsługi wyjścia użytkownika może się sytuacji, w której skierowane są one do różnych
nie powieść ze względu na niepoprawną ścieżkę, partycji bazy danych.
niepoprawny katalog instalacyjny, naruszenie zasad 4. Klauzuli container nie można używać w połączeniu z
współużytkowania lub inny problem. opcją REDUCE podczas zmieniania obszarów tabel z
Działanie użytkownika: włączoną automatyczną pamięcią masową.
Zależnie od przyczyny błędu: 5. Klauzulę container należy określić podczas zmieniania
v Udostępnij na urządzeniu przeznaczonym na dzienniki obszarów tabel z włączoną pamięcią masową inną niż
podstawowe wystarczająco dużo miejsca, ponieważ automatyczna.
program DB2 może wymagać dodatkowego miejsca na Działanie użytkownika:
nowe dzienniki, aby baza danych została uruchomiona
1. Klauzuli CONVERT TO LARGE należy użyć w
przynajmniej z plikami dzienników LOGPRIMARY. Aby
specjalnie przeznaczonej dla niej instrukcji ALTER
zwolnić miejsce, NIE usuwaj dzienników odtwarzania,
TABLESPACE.
nawet jeśli wydają się być nieaktywne.
2. Jeśli w tej samej instrukcji, co inne operacje, używana jest
v Sprawdź, czy program obsługi wyjścia użytkownika działa
operacja BEGIN NEW STRIPE SET na kontenerze,
poprawnie, wywołując go ręcznie. Zapoznaj się z
przenieś operację BEGIN NEW STRIPE SET do osobnej
instrukcjami dostarczonymi w przykładowym kodzie
instrukcji ALTER TABLESPACE.
źródłowym userexit przeznaczonym do skompilowania i
zainstalowania programu obsługi wyjścia użytkownika. 3. Jeśli strony są zarówno dodawane do obszaru tabel, jak i z
Sprawdź, czy istnieje docelowa ścieżka archiwum. niego usuwane, użyj dwóch instrukcji ALTER
TABLESPACE.
W ostateczności spróbuj zmniejszyć wartości parametrów 4. Usuń klauzulę container z instrukcji ALTER i ponownie
konfiguracyjnych LOGPRIMARY i/lub LOGFILSIZ bazy wprowadź instrukcję.
danych, aby był wykorzystywany mniejszy zestaw plików 5. Określ klauzulę container zawierającą listę kontenerów do
aktywnych dzienników. W rezultacie zmniejszą się wymagania zmniejszenia i ponownie wprowadź instrukcję.
co do wielkości miejsca na dysku.

Rozdział 2. Komunikaty SQL 281


SQL1764N • SQL1767N

kod_sql: -1763 tworzenia, odtwarzania i reorganizacji indeksu na obecnym lub


przyszłym podstawowym serwerze bazy danych nie będą
stan_sql: 429BC odtwarzane na obecnym lub przyszłym dodatkowym serwerze
bazy danych w parze HADR. Te indeksy, które nie mogą być
odtworzone, zostaną oznaczone jako niepoprawne i zostaną
SQL1764N Określony rozmiar działania RESIZE w odbudowane niejawnie na zakończenie procesu przejęcia
instrukcji ALTER TABLESPACE jest HADR lub po jego zakończeniu, przy okazji dostępu do
mniejszy niż bieżący rozmiar kontenera odpowiednich tabel bazowych.
obszaru tabel.
Działanie użytkownika:
Objaśnienie: Aby włączyć pełne rejestrowanie, należy zaktualizować
Rozmiar określony w instrukcji ALTER TABLESPACE parametr konfiguracyjny bazy danych LOGINDEXBUILD.
używającej działania RESIZE jest mniejszy niż bieżący
rozmiar kontenera obszaru. Można jedynie zwiększyć rozmiar
kontenera. SQL1767N Operacja uruchomienia mechanizmu
HADR nie może zostać zakończona. Kod
Działanie użytkownika: przyczyny = kod-przyczyny.
Określ większy rozmiar niż bieżący rozmiar kontenera obszaru
tabel. Objaśnienie:
Operacja uruchomienia mechanizmu HADR nie może zostać
kod_sql: -1764 zakończona. Wyjaśnienie odpowiadające kodowi przyczyny:
1 W momencie wydania komendy START HADR AS
stan_sql: 560B0 STANDBY baza danych nie znajdowała się w stanie
oczekiwania na odtwarzanie zmian lub trwającego
SQL1765W Aktualizacja zakończyła się pomyślnie. odtwarzania zmian.
Jednak odtworzenie operacji tworzenia, 2 Komenda START HADR AS PRIMARY nie może
odtwarzania lub reorganizacji indeksu na być wydana w odniesieniu do dodatkowej bazy
dodatkowym serwerze bazy danych może danych HADR.
okazać się niemożliwe.
3 Komenda START HADR AS STANDBY nie może
Objaśnienie: być wydana w odniesieniu do aktywnej bazy danych.
Jeśli mechanizm HADR jest włączony, zaleca się, by parametr
konfiguracyjny bazy danych LOGINDEXBUILD był 98 Nie zainstalowano ważnej licencji HADR. Komenda
ustawiony na ON, a parametr konfiguracyjny menedżera bazy nie zakończyła się pomyślnie.
danych INDEXREC był ustawiony na RESTART lub 99 Komendę wydano w środowisku instancji o wielu
ACCESS. W przeciwnym razie wszelkie operacje tworzenia, partycjach.
odtwarzania i reorganizacji indeksu na obecnym lub przyszłym
podstawowym serwerze bazy danych nie będą odtwarzane na Działanie użytkownika:
obecnym lub przyszłym dodatkowym serwerze bazy danych w Działanie użytkownika odpowiadające temu kodowi
parze HADR. Te indeksy, które nie mogą być odtworzone, przyczyny:
zostaną oznaczone jako niepoprawne i zostaną odbudowane
1 Zainicjuj dodatkową bazę danych z obrazu kopii
niejawnie na zakończenie procesu przejęcia HADR lub po jego
zapasowej lub rozdzielonej kopii lustrzanej
zakończeniu, przy okazji dostępu do indeksów.
podstawowej bazy danych, po czym ponownie
Działanie użytkownika: wydaj komendę START HADR AS STANDBY.
Aby włączyć pełne rejestrowanie, należy zaktualizować
2 Jeśli rezerwowa baza danych ma przejąć rolę
parametr konfiguracyjny bazy danych LOGINDEXBUILD lub
podstawowej bazy danych, wydaj komendę
wydać instrukcję SQL ALTER TABLE LOG INDEX BUILD
TAKEOVER.
ON. Aby umożliwić ponawianie wszelkich zarejestrowanych
operacji budowania indeksów, należy zmienić ustawienie 3 Jeśli podstawowa baza danych ma przejąć rolę
parametru konfiguracyjnego INDEXREC na RESTART lub dodatkowej bazy danych, wprowadź komendę
ACCESS. TAKEOVER z aktualnego serwera dodatkowego.
Aby zmienić standardową bazę danych w bazę
rezerwową, bazę tę należy najpierw zdezaktywować.
SQL1766W Wykonanie komendy zakończyło się
pomyślnie. Jednak parametr 98 Uzyskaj i zainstaluj poprawną licencję HADR i
LOGINDEXBUILD nie został włączony uruchom komendę ponownie.
przed uruchomieniem mechanizmu HADR.
99 Opcja HADR nie jest obsługiwana w środowisku
Objaśnienie: instancji o wielu partycjach.
Zalecane jest ustawienie parametru konfiguracyjnego bazy
danych LOGINDEXBUILD na ON przed uruchomieniem
mechanizmu HADR. W przeciwnym razie wszelkie operacje

282 Komunikaty, tom 2


SQL1768N

4 Dopilnuj, aby parametr konfiguracyjny


SQL1768N Nie można uruchomić mechanizmu HADR.
HADR_LOCAL_HOST mógł zostać odwzorowany
Kod przyczyny = kod-przyczyny.
na adres IPv4 lub IPv6 powiązany z hostem
Objaśnienie: lokalnym.
Wyjaśnienie odpowiadające kodowi przyczyny:
5 Zadbaj o to, by parametr konfiguracyjny
1 Nie można odtworzyć bazy danych, ponieważ HADR_LOCAL_SVC określał poprawną nazwę
włączone jest rejestrowanie cykliczne. usługi. W przypadku platform Unix zmodyfikuj plik
/etc/services. Na platformie Windows zmodyfikuj
2 W bazie danych włączone jest nieskończone
plik %SystemRoot%\system32\drivers\etc\services.
rejestrowanie aktywne.
Można również w ustawieniu tego parametru
3 Baza danych ma włączony atrybut DATALINKS. określić wprost numer portu.
4 Niepoprawny parametr konfiguracyjny 6 Zadbaj o to, by parametr konfiguracyjny
HADR_LOCAL_HOST. HADR_REMOTE_SVC określał poprawną nazwę
usługi. W przypadku platform Unix zmodyfikuj plik
5 Parametr konfiguracyjny HADR_LOCAL_SVC /etc/services. Na platformie Windows zmodyfikuj
określa niepoprawną nazwę usługi. plik %SystemRoot%\system32\drivers\etc\services.
6 Parametr konfiguracyjny HADR_REMOTE_SVC Można również w ustawieniu tego parametru
określa niepoprawną nazwę usługi. określić wprost numer portu.

7 Podstawowa baza danych nie mogła nawiązać 7


połączenia z odpowiadającą jej rezerwową bazą Sprawdź parametry hosta zdalnego i usługi zdalnej
danych w ramach limitu czasu zgodnego z w rezerwowej bazie danych. Upewnij się, że
ustawieniami HADR. dodatkowa baza danych działa w trybie z
8 Przynajmniej jeden z parametrów konfiguracyjnych połączeniem oraz że sieć działa prawidłowo. W
baz danych HADR nie ma wartości. przypadku powolnej sieci rozważ także zwiększenie
wartości parametru konfiguracyjnego
9 Konfiguracja bazy danych umożliwia korzystanie z HADR_TIMEOUT lub użyj opcji BY FORCE, aby
dzienników typu surowego. Jednak mechanizm uruchomić podstawową bazę danych.
HADR nie obsługuje plików dziennika bazy danych
na surowych urządzeniach wejścia/wyjścia Połączenie nie powiedzie się także, jeśli parametr
(bezpośredni dostęp do dysku). konfiguracyjny HADR_TIMEOUT w podstawowej
bazie danych nie jest taki sam jak w rezerwowej
10 Wykonywanie komendy zostało przerwane przez bazie danych. Więcej informacji można znaleźć w
zamknięcie mechanizmu HADR komendą STOP pliku db2diag.log zawierającym komunikaty
HADR, wyłączenie bazy danych lub błąd dotyczące niekompatybilnej konfiguracji
wewnętrzny. podstawowej i rezerwowej baz danych.
11 Nie można przekształcić parametrów 8 Sprawdź, czy co najmniej jeden z parametrów
konfiguracyjnych HADR_LOCAL_HOST i konfiguracyjnych bazy danych HADR ma wartość.
HADR_REMOTE_HOST na ten sam format IP.
9 Zmień konfigurację bazy danych, tak aby do
12 Niepoprawny parametr konfiguracyjny przechowywania plików dziennika używana była
HADR_REMOTE_HOST. wyłącznie pamięć masowa w systemie plików, a nie
98 Nie zainstalowano ważnej licencji HADR. Komenda surowe urządzenia we/wy (bezpośredni dostęp do
nie zakończyła się pomyślnie. dysku). Odpowiednie informacje zawiera omówienie
parametrów konfiguracyjnych logpath i newlogpath
99 Podczas uruchamiania mechanizmu HADR wystąpił w Centrum informacyjnym DB2.
błąd wewnętrzny.
10 Zastosuj rozwiązanie odpowiednie do przyczyny
Działanie użytkownika: zamknięcia mechanizmu HADR i w razie potrzeby
Działanie użytkownika odpowiadające temu kodowi wydaj ponownie komendę START HADR.
przyczyny:
11 Dopilnuj, aby parametry konfiguracyjne
1 Baza danych musi być odtwarzalna. Należy HADR_LOCAL_HOST i HADR_REMOTE_HOST
aktywować archiwizowanie dziennika lub włączyć były w tym samym formacie IP (IPv4 lub IPv6) albo
parametr LOGRETAIN i ponowić komendę. mogły być przetłumaczone na ten sam format.
2 Wyłącz nieskończone rejestrowanie aktywne i wydaj 12 Dopilnuj, aby parametr konfiguracyjny
komendę ponownie. HADR_REMOTE_HOST mógł być odwzorowany
3 Nadaj parametrowi konfiguracyjnemu menedżera na adres IPv4 lub IPv6.
bazy danych DATALINKS ustawienie NO i wydaj 98 Uzyskaj i zainstaluj poprawną licencję HADR i
komendę ponownie. uruchom komendę ponownie.

Rozdział 2. Komunikaty SQL 283


SQL1769N • SQL1770N

99 Jeśli problem nadal występuje, powiadom dział 3


wsparcia IBM.
Rezerwową bazę danych utworzono na podstawie
kopii zapasowej otwartej bazy danych, po czym
SQL1769N Nie można ukończyć operacji zatrzymania podjęto próbę przejęcia, zanim rezerwowa baza
HADR. Kod przyczyny = kod-przyczyny. danych przetworzyła dziennik do punktu końcowego
tej kopii zapasowej.
Objaśnienie:
Wyjaśnienie odpowiadające kodowi przyczyny: 4
1 Komendę wprowadzono w odniesieniu do Komendę wydano w odniesieniu do standardowej
standardowej bazy danych. lub podstawowej bazy danych HADR.
2 Komendę wydano w odniesieniu do aktywnej 5
rezerwowej bazy danych HADR.
Komendę wydano w odniesieniu do nieaktywnej
3 Wykonywanie komendy zostało przerwane przez rezerwowej bazy danych.
zamknięcie mechanizmu HADR komendą STOP
6
HADR, wyłączenie bazy danych lub błąd
wewnętrzny. Wystąpił błąd podczas przełączania z podstawowej
bazy danych na rezerwową bazę danych.
99 Komendę wydano w środowisku instancji o wielu
partycjach. 7
Działanie użytkownika: Wystąpił błąd komunikacyjny podczas
Działanie użytkownika odpowiadające temu kodowi przejmowania.
przyczyny:
8
1 Nie jest wymagane żadne działanie, ponieważ w tej
bazie danych mechanizm HADR nie działa. Wykonywanie komendy zostało przerwane przez
Sprawdź, czy podany alias bazy danych jest zamknięcie mechanizmu HADR komendą STOP
poprawny. HADR, wyłączenie bazy danych lub błąd
wewnętrzny.
2 Użytkownik powinien zdezaktywować bazę danych i
ponownie wydać komendę. 9

3 Jeśli wykonywanie komendy przerwano z powodu Rezerwowa baza danych HADR podjęła próbę
innej komendy STOP HADR, nie jest wymagane wymuszonego przejęcia z określonym parametrem
żadne działanie. W przeciwnym razie należy ustalić, komendy PEER WINDOW ONLY. Przejęcie nie
czy instancja bazy danych jest uruchomiona, i powiodło się, ponieważ rezerwowa baza danych nie
ponownie wydać komendę STOP HADR. była w oknie węzła sieci, gdy nastąpiła próba
wymuszonego przejęcia. Dla rezerwowej bazy
99 Opcja HADR nie jest obsługiwana w środowisku danych okno węzła sieci nie jest skonfigurowane lub
instancji o wielu partycjach. wymuszone przejęcie zostało przeprowadzone poza
oknami węzłów sieci, które są skonfigurowane dla
rezerwowej bazy danych.
SQL1770N Nie można ukończyć operacji przejęcia
HADR. Kod przyczyny = kod-przyczyny. 98
Objaśnienie: Nie zainstalowano ważnej licencji HADR. Komenda
Wyjaśnienie odpowiadające kodowi przyczyny: nie zakończyła się pomyślnie.
1 99
Podjęto próbę niewymuszonego przejęcia w czasie, Komendę wydano w środowisku instancji o wielu
gdy rezerwowa baza danych HADR nie była w partycjach.
stanie równorzędnym.
Działanie użytkownika:
2 Działanie użytkownika odpowiadające temu kodowi
przyczyny:
Rezerwowa baza danych HADR podjęła próbę
wymuszonego przejęcia. Rezerwowa baza danych 1
HADR może wymusić przejęcie jako nowa
podstawowa baza danych HADR, gdy jest w jednym Zaczekaj, aż rezerwowa baza danych przejdzie w
z następujących stanów: nadrabianie zdalne w toku, stan równorzędny. Można także użyć opcji BY
równorzędny lub rozłączony równorzędny. Przejęcie FORCE w komendzie TAKEOVER. Opcja BY
nie powiodło się, ponieważ rezerwowa baza danych FORCE umożliwi przeprowadzenie przejęcia w
HADR nie była w jednym z tych stanów, gdy stanie oczekiwania na zdalne uzgadnianie zaległości.
nastąpiła próba wymuszonego przejęcia. Jeśli jednak dodatkowa baza danych może nawiązać

284 Komunikaty, tom 2


SQL1771N

połączenie bazą podstawową, może ona nagle Zastosuj rozwiązanie odpowiednie do przyczyny
przejść ze stanu oczekiwania na zdalne uzgadnianie zamknięcia mechanizmu HADR i w razie potrzeby
zaległości do stanu zdalnego uzgadniania zaległości, wydaj ponownie komendę TAKEOVER HADR.
w którym przejęcie znowu nie jest dozwolone.
9
Ponadto wymuszenie przejęcia w stanie oczekiwania
na zdalne uzgadnianie zaległości może spowodować, Aby wymusić przejęcie przez rezerwową bazę
że pewne transakcje zatwierdzone w poprzedniej danych poza oknem węzła sieci, wywołaj ponownie
bazie podstawowej będą nieobecne w nowej bazie komendę TAKEOVER HADR bez parametru PEER
podstawowej. WINDOW ONLY. Chociaż opcja wymuszania
przejęcia przez rezerwową bazę danych poza oknem
2
węzła sieci jest obsługiwana, ryzyko utraty
Wywołaj ponownie komendę TAKEOVER HADR, transakcji jest większe, gdy przejęcie odbywa się
gdy rezerwowa baza danych będzie w jednym z poza oknem węzła sieci.
następujących stanów: nadrabianie zdalne w toku,
Jeśli podstawowa baza danych uległa uszkodzeniu, a
równorzędny lub rozłączonym równorzędny.
wymuszenie przejęcia przez rezerwową bazę danych
Przejście rezerwowej bazy danych w stan poza oknem węzła sieci jest związane z ryzykiem
nadrabianie zdalne w toku lub rozłączony utraty danych lub transakcji, należy rozważyć
równorzędny można wymusić zrywając połączenie alternatywne odpowiedzi na awarię podstawowej
między rezerwową i podstawową bazą danych. bazy danych.
Można to zrobić uruchamiając komendę STOP
W środowisku wysokiej dostępności z podstawową
HADR lub DEACTIVATE DATABASE na
bazą danych oraz dodatkową lub rezerwową bazą
podstawowej bazie danych lub wyłączając sieć
danych, typową strategią odpowiedzi na awarię
między podstawową i rezerwową bazą danych.
podstawowej bazy danych jest przejęcie przez
3 rezerwową bazę danych operacji podstawowej bazy
danych, która uległa awarii. Jednak dostępne są inne
Poczekaj dłużej, aż dodatkowa baza danych osiągnie
strategie odpowiedzi na taką awarię, między innymi
punkt końcowy kopii zapasowej otwartej bazy
naprawianie i restartowanie podstawowej bazy
danych i wtedy ponownie wydaj komendę.
danych, która uległa awarii, zamiast przejmowania
4 jej roli przez rezerwową bazę danych. Chociaż
strategia naprawy i restartowania może mieć
Ta komenda nie jest obsługiwana w przypadku baz większy negatywny wpływ na dostępność bazy
standardowych i baz podstawowych HADR. danych dla aplikacji użytkowników niż strategia
Komendę należy uruchamiać wyłącznie w przełączania awaryjnego, to ma także zalety, takie
odniesieniu do rezerwowych baz danych HADR. jak mniejsze ryzyko utraty danych lub transakcji.
5 98
Aktywuj rezerwową bazę danych, a następnie użyj Uzyskaj i zainstaluj poprawną licencję HADR i
komendy przejęcia. uruchom komendę ponownie.
6 99
Informacje o prawdopodobnych przyczynach Opcja HADR nie jest obsługiwana w środowisku
wystąpienia tego komunikatu można znaleźć w instancji o wielu partycjach.
dziennikach bazy danych dotyczących obu partycji
bazy danych HADR. Role partycji bazy danych nie
musiały ulec zmianie. Sprawdź wartość parametru SQL1771N Baza danych bez możliwości odtwarzania
konfiguracyjnego bazy danych HADR_DB_ROLE nie może służyć jako podstawowa ani jako
dla obu partycji bazy danych. rezerwowa baza danych w parze HADR.
7 Objaśnienie:
Rejestrowanie cykliczne nie może być stosowane w
Informacje o prawdopodobnych przyczynach podstawowych ani w rezerwowych bazach danych HADR. Na
wystąpienia tego komunikatu można znaleźć w potrzeby mechanizmu HADR konieczne są odtwarzalne bazy
dziennikach bazy danych dotyczących obu partycji danych.
bazy danych HADR. Role partycji bazy danych nie
musiały ulec zmianie. Sprawdź wartość parametru Działanie użytkownika:
konfiguracyjnego bazy danych HADR_DB_ROLE Przekształć bazę w standardową bazę danych albo wyłącz
dla obu partycji bazy danych. rejestrowanie cykliczne.
8

Rozdział 2. Komunikaty SQL 285


SQL1772N • SQL1792W

SQL1772N W podstawowej i w rezerwowej bazie SQL1777N Mechanizm HADR już jest uruchomiony.
danych HADR nie może być włączone
Objaśnienie:
aktywne rejestrowanie nieskończone.
Ten błąd występuje w przypadku użycia komendy START
Objaśnienie: HADR w odniesieniu do bazy danych, która już została
Aktywne rejestrowanie nieskończone nie może być włączone wcześniej uruchomiona w żądanej roli.
w podstawowych ani w dodatkowych bazach danych HADR.
Działanie użytkownika:
Działanie użytkownika: Nie jest wymagane żadne działanie.
Przekształć bazę w standardową bazę danych albo wyłącz
rejestrowanie nieskończone.
SQL1790W Nie można znaleźć domyślnego obszaru
tabel o wielkości strony co najmniej
SQL1774N W podstawowej ani w rezerwowej bazie wielkość-strony, do używania którego jest
danych HADR nie można uruchamiać uprawniony ID autoryzowanego
odtwarzania obszaru tabel. użytkownika ID-autoryzowanego-
użytkownika.
Objaśnienie:
Operacje odtwarzania na poziomie obszaru tabel nie są Objaśnienie:
dozwolone w podstawowych ani w rezerwowych bazach Procedura NNSTAT nie mogła utworzyć tabeli
danych HADR. SYSPROC.FED_STATS służącej do przechowywania historii
uruchamianych instrukcji. Nie znaleziono obszaru tabel o
Działanie użytkownika:
wystarczającej wielkości strony (przynajmniej
Przekształć bazę w standardową bazę danych, a następnie
wielkość-strony).
ponownie wydaj w niej komendę odtwarzania.
Działanie użytkownika:
Jeśli celem operacji jest odtworzenie utraconych danych w Upewnij się, że istnieje obszar tabel o wielkości strony
bazie podstawowej, a potrzebne dane pobierane są z bazy przynajmniej wielkość-strony.
rezerwowej, warto rozważyć wykonanie komendy
TAKEOVER, aby przekształcić rezerwową bazę danych w kod_sql: +1790
bazę podstawową, zamiast odtwarzać obszar tabel w obecnej
bazie podstawowej. kod_sql: 01670

SQL1776N Tej komendy nie można uruchamiać w SQL1791N Podana definicja serwera, schemat lub
rezerwowej bazie danych HADR. Kod pseudonim nie istnieje.
przyczyny = kod-przyczyny.
Objaśnienie:
Objaśnienie: Procedura NNSTAT wymaga podania jako parametrów
Wyjaśnienie odpowiadające kodowi przyczyny: wejściowych definicji serwera, schematu i pseudonimu, lecz
1. Ta komenda nie jest obsługiwana w rezerwowej bazie nie można znaleźć przynajmniej jednego z tych obiektów.
danych HADR. Działanie użytkownika:
2. Podczas przełączania z podstawowej na rezerwową bazę Należy określić definicję istniejącego serwera, schematu lub
danych żądania nawiązania połączenia są niedozwolone. pseudonimu i ponownie wprowadzić instrukcję.
3. Komenda migracji nie jest obsługiwana w rezerwowej
bazie danych HADR. kod_sql: -1791

Działanie użytkownika:
stan_sql: 42704
Działanie użytkownika odpowiadające temu kodowi
przyczyny:
1. Skorzystaj z zasobów Centrum informacyjnego DB2, aby SQL1792W Nie zaktualizowano do końca statystyki
ustalić, czy użytą komendę można zastąpić obsługiwaną wskazanych pseudonimów ze względu na
alternatywą. Jeśli nie, zatrzymaj mechanizm HADR w tej niespójności między schematami katalogu
bazie danych i dopiero wtedy wykonaj komendę zdalnego i lokalnego.
ponownie. Objaśnienie:
2. Nawiąż połączenie z nową podstawową bazą danych. Schemat zdalny uległ zmianie. Od czasu utworzenia
3. Wydaj komendę migracji dla podstawowej bazy danych, a pseudonimu wprowadzono zmiany w zdalnej tabeli lub
następnie utwórz ponownie kopię rezerwową po widoku, w jednej z kolumn lub w typie danych kolumny.
pomyślnym zakończeniu migracji. Działanie użytkownika:
Utwórz nowy pseudonim i ponownie wprowadź instrukcję.

kod_sql: +1792

286 Komunikaty, tom 2


SQL1800N • SQL1817N

kod_sql: 01669 Ponieważ żądana operacja wpłynęłaby na pakiet


schemat-pakietu.nazwa-pakietu 0Xznacznik-spójności w jeden
z wymienionych wyżej sposobów, jest ona niedozwolona.
SQL1800N Nieprawidłowy wskaźnik struktury
sqle_request_info został przesunięty do Działanie użytkownika:
katalogu admin command/api. Nie próbuj wykonać operacji zabronionych w trybie ″No
Package Lock″. Aby wykonać żądaną operację, należy
Objaśnienie:
zakończyć pracę w trybie ″No Package Lock″. W tym celu
Wskaźnik struktury sqle_request_info przesunięty jako
należy zmienić ustawienie zmiennej środowiskowej
parametr do katalogu admin command/api był nieprawidłowy.
DB2_APM_PERFORMANCE w rejestrze. Aby zmiana
Dla żądania Asysty podczas konfigurowania klienta wskaźnik
zmiennej środowiskowej odniosła efekt, należy zatrzymać i
ten nie może być równy NULL.
ponownie uruchomić menedżera baz danych.
Działanie użytkownika:
Podaj poprawny wskaźnik dla parametru sqle_request_info i kod_sql: -1803
ponownie wprowadź komendę.
stan_sql: 57056
SQL1801N Nieprawidłowy typ żądania.
SQL1816N Opakowania nazwa-opakowania nie można
Objaśnienie:
użyć do uzyskania dostępu do źródła danych
Podany typ żądania nie jest dozwolony dla tej komendy.
typ-lub-wersja (typ-serwera wersja-serwera),
Działanie użytkownika: które użytkownik próbuje zdefiniować dla
Sprawdź, czy podano obsługiwany typ żądania: stowarzyszonej bazy danych.
1. SQLE_CCA_REQUEST - żądanie węzła katalogu CCA Objaśnienie:
dla katalogu i komenda otworzenia skanowania Określone opakowanie nie obsługuje typu lub wersji źródła
2. SQLE_DAS_REQUEST - żądanie węzła katalogu DAS danych, które chcesz zdefiniować.
dla katalogu i komenda otworzenia skanowania
Działanie użytkownika:
3. SQLE_CND_REQUEST - komenda otworzenia Sprawdź w dokumentacji, które opakowanie obsługuje typ lub
skanowania dla pozycji katalogu CCA i DAS wersję źródła danych, które chcesz zdefiniować. Upewnij się,
że opakowanie zostało zarejestrowane w stowarzyszonej bazie
SQL1802N Żadna pozycja nie należy do typu żądania. danych. Następnie za pomocą instrukcji CREATE WRAPPER
zakoduj ponownie instrukcję CREATE SERVER, aby to
Objaśnienie: opakowanie zostało w niej określone, a następnie ponownie
W katalogu węzłów nie ma pozycji wpisanej do katalogu uruchom instrukcję CREATE SERVER.
według określonego typu żądania.
Działanie użytkownika: kod_sql: -1816
Wpisz pozycję do katalogu z tym samym typem żądania i
ponownie wprowadź komendę. stan_sql: 560AC

SQL1803N Żądanej operacji nie można wykonać w SQL1817N Instrukcja CREATE SERVER nie
trybie ″No Package Lock″. Dotyczy to identyfikuje typ-lub-wersja źródła danych,
pakietu schemat-pakietu.nazwa-pakietu które chcesz zdefiniować w stowarzyszonej
0Xznacznik-spójności. bazie danych.

Objaśnienie: Objaśnienie:
Menedżer baz danych pracuje obecnie w trybie ″No Package Jeśli instrukcja CREATE SERVER ma odwołania do
Lock″. Tryb ten został aktywowany w wyniku ustawienia opakowania, to musi także identyfikować typ-lub-wersja
zmiennej środowiskowej DB2_APM_PERFORMANCE w źródła danych, które ma być zdefiniowane w stowarzyszonej
rejestrze na ″ON″. bazie danych.
Działanie użytkownika:
W tym trybie zabronione jest wykonywanie następujących klas W instrukcji CREATE SERVER, zakoduj opcję typ-lub-wersja
operacji z uwagi na ich wpływ na pakiety: tak, by oznaczała typ-lub-wersja definiowanego źródła danych.
v Operacje unieważniające pakiety. Następnie ponownie uruchom instrukcję CREATE SERVER.
v Operacje powodujące nieoperatywność pakietów.
kod_sql: -1817
v Wiązanie, ponowne wiązanie (jawne lub ukryte) albo
usuwanie pakietu.
stan_sql: 428EU

Rozdział 2. Komunikaty SQL 287


SQL1818N • SQL1823N

SQL1818N Instrukcja ALTER SERVER wprowadzona SQL1821W Pobrana wartość typu LOB mogła zostać
do kolejki, nie może zostać przetworzona. zmieniona.
Objaśnienie: Objaśnienie:
W jednostce pracy, instrukcja ALTER SERVER jest Wartość typu LOB została obliczona na podstawie
poprzedzana przez instrukcję SELECT, która ma odwołanie do odroczonego odzyskania. Wartość typu LOB mogła ulec
pseudonimu dla tabeli lub widoku wewnątrz źródła danych zmianie pomiędzy pierwszym dostępem a rzeczywistym
(lub kategorii źródeł danych), do którego ma odwołanie pobraniem.
instrukcja ALTER SERVER.
Działanie użytkownika:
Działanie użytkownika: Dla parametru ″deferred_lob_retrieval″ ustaw wartość ″N″ w
Pozwól na zakończenie jednostki pracy, a następnie wydaj SYSSERVEROPTIONS, ponownie wprowadź zapytanie lub
ponownie instrukcję ALTER SERVER. zignoruj ostrzeżenie.

kod_sql: -1818 kod_sql: +1821

stan_sql: 55007 stan_sql: 01621

SQL1819N Instrukcja DROP SERVER, którą SQL1822N Otrzymano nieoczekiwany kod błędu
wprowadzono do kolejki, nie może zostać kod-błędu ze źródła danych
przetworzona. nazwa-źródła-danych. Skojarzony tekst i
elementy zmienne to elementy.
Objaśnienie:
W jednostce pracy, instrukcja DROP SERVER jest Objaśnienie:
poprzedzana przez instrukcję SELECT, która ma odwołanie do Podczas odwoływania się do źródła danych, stowarzyszony
pseudonimu dla tabeli lub widoku wewnątrz źródła danych serwer otrzymał nieoczekiwany kod błędu pochodzący od
(lub kategorii źródeł danych), do którego ma odwołanie źródła danych, które nie jest odwzorowane do równoważnej
instrukcja DROP SERVER. bazy DB2.
Działanie użytkownika:
Możliwe kody błędów:
Pozwól na zakończenie jednostki pracy, a następnie wprowadź
ponownie instrukcję DROP SERVER. v 4901 Próba otwarcia więcej niż 15 kursorów.
v 4902 Wielkość wiersza przekroczyła granicę 32 K.
kod_sql: -1819
Ten błąd może wynikać także z braku dostępu do źródła
stan_sql: 55006 danych.
Działanie użytkownika:
SQL1820N Działanie na wartości typu LOB nie Sprawdź, czy źródło danych jest dostępne, a następnie określ i
powiodło się. Kod przyczyny = usuń prawdziwą przyczynę problemu, lokalizując odpowiedni
kod-przyczyny. tekst komunikatu i zalecane działania naprawcze
odpowiadające błędowi występującemu w źródle danych.
Objaśnienie:
Możliwe kody przyczyn to:
kod_sql: -1822
1. Zbyt mały obszar bufora, aby przechowywać wartość typu
LOB. stan_sql: 560BD
2. Zdalne źródło danych nie obsługuje bieżącego działania na
danych typu LOB.
SQL1823N Nie istnieje odwzorowanie typu danych dla
3. Przekroczono niektóre wewnętrzne ograniczenia typu danych nazwa-typu-danych z serwera
programowe. nazwa-serwera.
Działanie użytkownika: Objaśnienie:
Należy zmniejszyć rozmiar danych LOB lub zastąpić funkcję Próbowano utworzyć pseudonim dla obiektu. Jedna lub więcej
wykonywaną obecnie na danych typu LOB inną funkcją. kolumn tego obiektu jest w typie nierozpoznawalnym przez
Ostatecznie można usunąć odwołanie do danych typu LOB z stowarzyszony serwer. Nazwa nieznanego typu jest
instrukcji. wyświetlana w komunikacie.

kod_sql: -1820 Działanie użytkownika:


Utwórz odwzorowanie dla określonej nazwy typu na
stan_sql: 560A0 określonym serwerze przy użyciu instrukcji CREATE TYPE
MAPPING.

288 Komunikaty, tom 2


SQL1824W • SQL1828N

kod_sql: -1823
SQL1826N Podano niepoprawną wartość wartość dla
kolumny nazwa-kolumny w obiekcie katalogu
stan_sql: 428C5 systemowego nazwa-obiektu.
Objaśnienie:
SQL1824W Niektóre tabele podstawowe w operandach Podano niepoprawną wartość wartość dla kolumny
tego widoku UNION ALL mogą być tą samą nazwa-kolumny w obiekcie katalogu systemowego
tabelą. nazwa-obiektu.
Objaśnienie:
Pseudonim może się odwoływać do zdalnej tabeli Nie można wykonać instrukcji.
podstawowej, zdalnego widoku, zdalnego aliasu/synonimu lub
Działanie użytkownika:
zdalnego pseudonimu. Jeśli dwa operandy widoku UNION
Poprawne wartości dla podanej kolumny w określonym
ALL odwołują się do różnych pseudonimów, mogą one
obiekcie katalogu systemowego można znaleźć w podręczniku
wskazywać tę samą tabelę (jeśli nie wiadomo, czy są one
SQL Reference. Popraw instrukcję i wydaj ją ponownie.
zdalnymi tabelami podstawowymi). Ten komunikat został
wyświetlony, aby ostrzec użytkownika, że jedna zdalna tabela
kod_sql: -1826
podstawowa może zostać dwukrotnie zaktualizowana/usunięta
w operacji aktualizacji/usuwania przez dwa operandy.
stan_sql: 23521
Działanie użytkownika:
Sprawdź, czy wszystkie operandy wskazują różne tabele
zdalne. Jeśli dwa operandy wskazują tę samą zdalną tabelę SQL1827N Nie zdefiniowano odwzorowania z lokalnego
podstawową, rozważ możliwość przeprowadzenia wycofania ID autoryzowanego użytkownika
zmian w celu odwrócenia skutków operacji ID-autoryzowanego-użytkownika na serwer
aktualizacji/usuwania. nazwa-serwera.
Objaśnienie:
kod_sql: +1824 Próbowano usunąć lub zmienić odwzorowanie użytkownika,
które nie jest zdefiniowane.
stan_sql: 01620
Działanie użytkownika:
Jeśli jest to instrukcja ALTER USER MAPPING, najpierw
SQL1825N Ta instrukcja SQL jest nierozpoznawalna w utwórz odwzorowanie użytkownika, używając instrukcji
środowisku stowarzyszonym. CREATE USER MAPPING. Następnie zmień odwzorowanie
użytkownika. Jeśli jest to instrukcja DROP USER MAPPING,
Objaśnienie:
nie jest potrzebne żadne dodatkowe działanie, ponieważ
W związku z pewnymi ograniczeniami, podana instrukcja SQL
odwzorowanie użytkownika nie istnieje.
nie może być obsłużona przez środowisko stowarzyszone.
Jednym z możliwych ograniczeń może być:
kod_sql: -1827
v Instrukcja aktualizacji/usuwania kursora spowodowała
powtórne pobranie do stowarzyszonego serwera kolumny, stan_sql: 42704
która nie jest pobierana do instrukcji selekcji kursora.
v Przekroczono niektóre wewnętrzne ograniczenia
programowe. SQL1828N Nie zdefiniowano opcji serwera nazwa-opcji
dla serwera zdalnego nazwa-serwera lub dla
Działanie użytkownika: grupy zdalnych serwerów: typ serwera
Zależnie od przyczyny błędu: typ-serwera, wersja wersja-serwera i protokół
v Jeśli jest to instrukcja aktualizacji/usunięcia kursora protokół serwera.
obejmująca ponowne pobranie kolumny, która nie jest Objaśnienie:
pobierana w instrukcji wybierania kursora, zmodyfikuj Próbowano usunąć lub zmienić opcję serwera, która nie jest
instrukcję wybierania kursora tak, aby pobrana została zdefiniowana.
potrzebna kolumna.
v W razie przekroczenia pewnych wewnętrznych limitów Działanie użytkownika:
przy programowaniu spróbuj uprościć lub zakodować od Jeśli jest to instrukcja ALTER SERVER, najpierw utwórz
nowa tę część instrukcji, która sprawia wrażenie zbyt opcję serwera, używając instrukcji CREATE SERVER.
złożonej. Następnie zmień opcję serwera. Jeśli jest to instrukcja DROP
SERVER, nie jest potrzebne żadne dodatkowe działanie,
ponieważ opcja serwera dla serwerów nie istnieje.
kod_sql: -1825

kod_sql: -1828
stan_sql: 429A9
stan_sql: 42704

Rozdział 2. Komunikaty SQL 289


SQL1829W • SQL1835N

SQL1829W Serwer stowarzyszony odebrał komunikat SQL1832N Nie można użyć procedury nazwa-procedury
ostrzegawczy kod-ostrzeżenia ze źródła do zdefiniowania filtru, ponieważ jest ona
danych nazwa-serwera. Powiązany tekst i zdefiniowana jako funkcja języka SQL.
elementy to elementy.
Objaśnienie:
Objaśnienie: Dla predykatu zdefiniowanego przez użytkownika lub dla
Nieznane ostrzeżenie kod-ostrzeżenia wystąpiło w źródle definicji rozszerzenia indeksu, w klauzuli FILTER
danych nazwa-serwera. Elementami komunikatu są elementy. zdefiniowana jest procedura (funkcja lub metoda )
nazwa-procedury. Procedura nie może być zdefiniowana z
Działanie użytkownika:
opcją LANGUAGE SQL.
Użyj informacji diagnostycznych dla źródła danych do
ustalenia, jakie działania naprawcze powinny zostać podjęte.
Nie można wykonać instrukcji.
kod_sql: +1829 Działanie użytkownika:
Określ procedurę, która nie jest zdefiniowana z opcją
stan_sql: 0168O LANGUAGE SQL.

kod_sql: -1832
SQL1830N Klauzulę RETURNS należy podać przed
określeniem predykatu przy użyciu klauzuli
stan_sql: 429B4
EXPRESSION AS.
Objaśnienie:
SQL1833N Nie można nawiązać połączenia ze zdalnym
Przed klauzulą PREDICATE, zawierającą klauzulę
serwerem Extended Search nazwa-hosta na
EXPRESSION AS nie określono klauzuli RETURNS.
porcie numer-portu lub zostało ono
Klauzulę RETURNS dołączono po określeniu predykatu lub
zakończone.
pominięto ją.
Objaśnienie:
Nie można wykonać instrukcji. Opakowanie programu Extended Search próbowało nawiązać
połączenie ze zdalnym serwerem Extended Search
Działanie użytkownika:
nazwa-hosta w porcie numer-portu, ale próba nie powiodła się
Przed klauzulą PREDICATE określ instrukcję CREATE
lub połączenie zostało przerwane przez zdalny serwer.
FUNCTION z klauzulą RESULTS.
Działanie użytkownika:
kod_sql: -1830 Sprawdź nazwę hosta i numer portu zdalnego serwera
Extended Search. Sprawdź również, czy serwer Extended
stan_sql: 42627 Search jest uruchomiony, i czy działa.

SQL1831N Nie można zaktualizować parametrów SQL1834N Zdefiniowana przez użytkownika kolumna
statystycznych tabeli w wypadku podtabeli nazwa-kolumny jest identyczna jak kolumna
nazwa-podtabeli. stała dla opakowania nazwa-opakowania, ale
używa innego typu danych.
Objaśnienie:
Za pomocą instrukcji próbowano zaktualizować wartości Objaśnienie:
parametrów statystycznych NPAGES, FPAGES lub Instrukcja CREATE NICKNAME lub ALTER NICKNAME
OVERFLOW tabeli nazwa-podtabeli, zdefiniowanej jako zawiera kolumnę zdefiniowaną przez użytkownika, która ma
podtabela. W wypadku tabel o typie strukturalnym parametry taką samą nazwę, jak kolumna przeznaczona dla opakowania
te mogą być aktualizowane tylko za pomocą głównej tabeli w nazwa_opakowania, lecz ma przypisany inny typ danych.
hierarchii tabel. Działanie użytkownika:
W definicji kolumny w instrukcji CREATE NICKNAME
Nie można wykonać instrukcji. należy podawać ustalonej kolumny opakowania
Działanie użytkownika: nazwa_opakowania. Jeśli jednak podano ustaloną kolumnę
Zaktualizuj parametry statystyczne dla tabeli głównej opakowania, wtedy jej nazwa i typ danych/długość typu
hierarchii tabel, a nie podtabeli. danych muszą odpowiadać definicji kolumny ustalonej. Nie
można zmieniać nazwy ani typu danych kolumny ustalonej.
kod_sql: -1831
SQL1835N Na zdalnym serwerze Extended Search
stan_sql: 428DY nazwa_hosta_es nie można znaleźć obiektu
Extended Search nazwa_obiektu typu
typ_obiektu.
Objaśnienie:

290 Komunikaty, tom 2


SQL1836N • SQL1842N

Na zdalnym serwerze Extended Search nazwa_hosta_es nie


SQL1839N Jeden lub więcej parametrów wyszukiwania
można znaleźć obiektu Extended Search nazwa_obiektu typu
jest nieprawidłowych.
typ_obiektu.
Objaśnienie:
Działanie użytkownika:
Opakowanie Extended Search usiłowało użyć konkretnego
Sprawdź, czy na tym serwerze zdefiniowano tę nazwę obiektu
parametru wyszukiwania, który był nieprawidłowy w
i czy obiekt ten ma przypisany typ typ_obiektu.
kontekście programu Extended Search.
Działanie użytkownika:
SQL1836N Nie istnieje odwzorowanie kolumn między
W podręczniku IBM DB2 Life Sciences Data Connect -
zdefiniowaną przez użytkownika kolumną
Podręcznik planowania, instalowania i konfigurowania (część:
nazwa-kolumny i nazwą pola na zdalnym
Extended Search Wrapper - Opakowanie Extended Search)
serwerze Extended Search nazwa-hosta-es.
poszukaj informacji o tworzeniu prawidłowych instrukcji
Objaśnienie: SQL.
Żadne ze źródeł danych podanych w opcji DATASOURCE lub
opcji CATEGORY nie zawiera nazwy pola takiej samej jak
SQL1840N Opcji typ-opcji o nazwie nazwa-opcji nie
nazwa kolumny zdefiniowanej przez użytkownika
można dodać do obiektu nazwa-obiektu.
nazwa_kolumny.
Objaśnienie:
Działanie użytkownika:
Tej opcji nie można dodać. Niektóre opcje są ustawiane przez
Sprawdź, czy nazwa kolumny jest zdefiniowana jako pole w
obiekt i nie mogą być dodawane lub nadpisywane przez
jednym z następujących obiektów:
użytkownika.
v w jednym ze źródeł danych podanych w opcji
DATASOURCE, Działanie użytkownika:
Informacje można znaleźć w dokumentacji dotyczącej
v w źródle danych w kategorii podanej w opcji CATEGORY.
stowarzyszeń dla tego źródła danych. Określ poprawne
działania dla opcji powiązanych z tym obiektem.
SQL1837N Wymaganej opcji nazwa-opcji dla obiektu
typ-opcji o nazwie nazwa-obiektu nie można kod_sql: -1840
usunąć.
stan_sql: 428GA
Objaśnienie:
Niektóre opcje są wymagane na potrzeby stowarzyszania. Nie
można usunąć opcji. SQL1841N Wartości opcji typu typ-opcji o nazwie
nazwa-opcji nie można zmienić dla obiektu
Działanie użytkownika:
nazwa-obiektu.
Informacje o tym, czy danej opcji można przypisać inną
wartość, można znaleźć w dokumentacji dotyczącej Objaśnienie:
stowarzyszeń dla odpowiedniego źródła danych. Konieczne Nie można zmienić wartości tej opcji. Niektóre opcje są
może być usunięcie powiązanego obiektu. ustawiane przez obiekt i nie mogą być dodawane lub
nadpisywane przez użytkownika.
kod_sql: -1837
Działanie użytkownika:
Informacje można znaleźć w dokumentacji dotyczącej
stan_sql: 428GA
stowarzyszeń dla tego źródła danych. Określ poprawne
działania dla opcji powiązanych z tym obiektem. Konieczne
SQL1838N Instrukcja wyszukiwania instrukcja nie jest może być usunięcie powiązanego obiektu i ponowne
poprawnym zapytaniem Extended Search. utworzenie go z nową wartością opcji. Jeśli ten komunikat
został wygenerowany w odpowiedzi na instrukcję SET
Objaśnienie: SERVER OPTION, może być konieczne użycie instrukcji
Opakowanie Extended Search próbowało przetworzyć ALTER SERVER.
znajdującą się na liście instrukcję wyszukiwania, ale z powodu
nieprawidłowej składni zapytanie nie powiodło się.
kod_sql: -1841
Działanie użytkownika:
Popraw instrukcję wyszukiwania i powtórz żądanie. W stan_sql: 428GA
dokumentacji dostępne są informacje o tworzeniu poprawnych
instrukcji wyszukiwania SQL przy użyciu pseudonimów
SQL1842N Opcja nazwa-opcji typu typ-opcji dla obiektu
wyszukiwania rozszerzonego.
nazwa-obiektu znajdująca się obok tekst jest
niepoprawna. Kod przyczyny =
kod-przyczyny.
Objaśnienie:

Rozdział 2. Komunikaty SQL 291


SQL1843N • SQL1844W

Składnia podanej opcji jest niepoprawna lub podanej opcji nie 06 Sprawdź, czy wartości w specyfikacji zakresu
można nadać żądanej wartości. Więcej informacji na temat ″[min,maks]″ należą do zakresów dozwolonych dla
błędu zawiera kod przyczyny. Kody przyczyny są następujące: tego źródła danych.
01 Nieoczekiwany znak. 07 Popraw specyfikację zakresu. Upewnij się, że
pierwsza liczba nie jest większa od drugiej.
02 Oczekiwano, ale nie znaleziono, nazwy elementu lub
atrybutu. 08 Zastąp odwołanie w wartości opcji szablonu
kolumny elementem ’column’.
03 Po odwołaniu oczekiwano minimalnej/maksymalnej
wartości wystąpień. 09,10 Przekoduj wartość opcji przestrzeni nazw do postaci
’nazwa=″specyfikacja″’.
04 W nazwie atrybutu znaleziono więcej niż jeden
dwukropek. 11 Ponownie wprowadź szablon. Sprawdź, czy
odwołania nie powtarzają się.
05 Minimalna/maksymalna liczba wystąpień nie jest
liczbą całkowitą. 12 Nie należy określać opcji opakowania nazwa-opcji
dla 32-bitowej instancji DB2.
06 Minimalna/maksymalna liczba wystąpień jest poza
zakresem. 13 Sprawdź wartość określoną dla opcji opakowania
″DB2_FENCED″.
07 Minimalna liczba wystąpień jest większa niż
maksymalna liczba wystąpień. 14 W podręczniku SQL Reference poszukaj informacji
o żądanej opcji opakowania. Dla tego źródła danych
08 Odwołanie w opcji szablonu kolumny było inne niż
zainstaluj i używaj 64-bitowego klienta.
″column″.
15 Podaj wartość ″Y″ dla opcji opakowania
09 Brak ogranicznika ’=’ w specyfikacji przestrzeni
″DB2_FENCED″.
nazw.
10 W specyfikacji przestrzeni nazw brak otwierającego kod_sql: -1842
lub zamykającego cudzysłowu.
stan_sql: 42616
11 Zduplikowane odwołanie w szablonie.
12 Opcja opakowania nazwa-opcji jest niedozwolona,
SQL1843N Operator nazwa-operatora nie jest
gdy instancja DB2 jest 32-bitowa.
obsługiwany dla kolumny pseudonimu
13 Określone dwie opcje opakowania lub wartości opcji nazwa-pseudonimu.nazwa-kolumny.
są niezgodne. Opcja opakowania nazwa-opcji jest
Objaśnienie:
poprawna tylko, gdy parametr ″DB2_FENCED″ jest
Niektóre źródła danych nakładają ograniczenia na operatory,
ustawiony na ″Y″.
jakie można określić wraz z kolumną pseudonimu.
14 Opcja opakowania nazwa-opcji nie jest obsługiwana
Działanie użytkownika:
na tej konkretnej platformie.
Informacje można znaleźć w dokumentacji dotyczącej
15 Nie można załadować opakowania do mechanizmu stowarzyszeń dla tego źródła danych. Zapisz ponownie kod
wątków DB2 na tej konkretnej platformie, ponieważ instrukcji i usuń lub zmień niepoprawne wyrażenie. Następnie
nie jest ono wątkowo bezpieczne. ponownie wprowadź instrukcję.
Działanie użytkownika:
kod_sql: -1843
Informacje można znaleźć w dokumentacji dotyczącej
stowarzyszeń dla tego źródła danych. Określ poprawną
składnię opcji i zapisz ponownie kod instrukcji. Kody stan_sql: 429BP
przyczyny są następujące:
01 Sprawdź wartość opcji w pobliżu podanej pozycji i SQL1844W Dane dla kolumny nazwa-kolumny zostały
zmień lub usuń niepoprawny znak. obcięte między zdalnym źródłem danych a
serwerem stowarzyszonym.
02 Sprawdź wartość opcji w pobliżu podanej pozycji i
popraw składnię. Objaśnienie:
Podczas przesyłania danych między zdalnym źródłem danych
03 Upewnij się, że specyfikacja zakresu ″[min,maks]″ a serwerem stowarzyszonym zostały obcięte znaki. Obcięcie
odpowiada każdemu odwołaniu w wartości opcji może wystąpić w różnych sytuacjach. Przyczyną mogła być
szablonu. niepoprawna definicja nazwy pseudonimu (kolumna jest zbyt
mała dla danych kolumny ze zdalnego źródła danych) lub
04 Szablony obsługują tylko jeden poziom kwalifikacji
obecność funkcji rzutowania typów lub konwersji, która
nazw. Usuń dodatkowe kwalifikacje.
ogranicza rozmiar danych zwracanych przez zdalne źródło
05 Sprawdź, czy wartości minimalna i maksymalna w danych.
specyfikacji zakresu są liczbami całkowitymi.

292 Komunikaty, tom 2


SQL1846N • SQL1860N

Działanie użytkownika: używając instrukcji ALTER NICKNAME. Następnie


Aby rozwiązać ten problem, sprawdź, czy w instrukcji ponownie wprowadź oryginalną instrukcję.
występują funkcje rzutowania typów lub konwersji, które
mogą ograniczać rozmiar danych zwracanych ze zdalnego kod_sql: -1847
źródła danych. Jeśli instrukcja zawiera takie funkcje, zapisz
ponownie kod instrukcji, aby umożliwić zwracanie danych o stan_sql: 428G9
większych rozmiarach ze zdalnego źródła danych. Następnie
ponownie wprowadź instrukcję. Jeśli instrukcja nie zawiera
takich funkcji, lub jeśli wprowadzone poprawki nie rozwiązały SQL1860N Obszar tabel nazwa-obszaru-tabel jest
problemu, sprawdź specyfikację lokalnej kolumny w niezgodny z obszarem tabel
pseudonimie w katalogu DB2. Przy użyciu instrukcji ALTER nazwa-obszaru-tabel. Kod przyczyny =
NICKNAME lub DROP NICKNAME i CREATE kod-przyczyny.
NICKNAME zmień specyfikację kolumny w taki sposób, aby Objaśnienie:
rozmiar kolumny był odpowiednio duży dla danych Określone obszary tabel nie są kompatybilne z jednej z
zwracanych przez zdalne źródło danych. następujących przyczyn:

kod_sql: 1844 1 Wszystkie obszary tabel (danych, duże, indeksów)


dla tabeli partycjonowanej muszą być w tej samej
stan_sql: 01004 grupie partycji bazy danych.
2 Obszary tabel danych dla tabeli partycjonowanej
SQL1846N Opcja typ-opcji-1 o nazwie nazwa-opcji-1 dla muszą być wszystkie typu SMS, wszystkie zwykłego
obiektu nazwa-obiektu-1 powoduje konflikt z typu DMS lub wszystkie typu dużych DMS.
opcją typ-opcji-2 o nazwie nazwa-opcji-2 dla 3 Wszystkie obszary tabel danych muszą mieć taką
obiektu nazwa-obiektu-2. samą wielkość strony. Wszystkie duże obszary tabel
Objaśnienie: muszą mieć taką samą wielkość strony (wielkość
Określono dwie lub więcej niezgodnych opcji lub wartości strony obszaru tabel danych może być inna niż
opcji. wielkość strony dużego obszaru tabel).

Działanie użytkownika: 4 Wielkość przydziału dla wszystkich obszarów tabel


Informacje można znaleźć w dokumentacji dotyczącej musi być jednakowa. Wielkości przydziałów dla
stowarzyszeń dla tego źródła danych. Określ poprawne opcje, wszystkich obszarów tabel, w których
które można podać dla tego obiektu. Następnie zapisz przechowywane są dane typu long, muszą również
ponownie kod instrukcji i wprowadź ją ponownie. być jednakowe, ale mogą różnić się od wielkości
używanej dla obszarów tabel danych.
kod_sql: -1846 5 Dane typu long dla tabeli partycjonowanej muszą
być przechowywane w tym samym obszarze tabel,
stan_sql: 42867 co dane dla wszystkich partycji danych, lub w
dużych obszarach tabel, z których każdy jest różny
od obszaru tabel odpowiedniej partycji danych. Ten
SQL1847N Błąd podstawienia szablonu dla obiektu
błąd może występować w przypadku, gdy użyta
nazwa-obiektu typ-obiektu. Kod przyczyny =
zostanie klauzula LONG IN określająca obszar tabel
kod-przyczyny. Dodatkowy tekst i elementy
różny od obszaru tabel danych, ale niebędący dużym
to tekst.
obszarem tabel. Klauzuli LONG IN można używać
Objaśnienie: do określania zwykłych obszarów tabel tylko wtedy,
Podczas budowania dokumentu XML opakowanie napotkało gdy są one identyczne z obszarami tabel danych (tzn.
problem dotyczący podstawiania wartości do szablonu. Może gdy klauzula LONG IN jest nadmiarowa, ponieważ
to być spowodowane konfliktami szablonów na poziomie tylko określa obszary tabel danych, co pokrywa się z
pseudonimu i kolumny. Kody przyczyny są następujące: działaniem domyślnym w przypadku całkowitego jej
opuszczenia).
01 Nie znaleziono nazwy odwołania w szablonie.
Dodatkowy tekst identyfikuje brakujące odwołanie. Działanie użytkownika:
Określ obszar tabel zgodny z innymi obszarami tabel dla
02 Nie można zastąpić odwołania do atrybutu tabeli.
zawartością elementu. Dodatkowy tekst błędnie
identyfikuje odwołanie.
kod_sql: -1860
Działanie użytkownika:
Informacje można znaleźć w dokumentacji dotyczącej stan_sql: 42838
stowarzyszeń dla tego źródła danych. Dodatkowe informacje
diagnostyczne mogły zostać zarejestrowane w pliku
db2diag.log. Jeśli to konieczne, popraw składnię szablonu,

Rozdział 2. Komunikaty SQL 293


SQL1870N • SQL1871N

zdefiniowania obszaru tabel zawierającego tabelę


SQL1870N Nie można wstawić wiersza do tabeli
grupowaną zakresowo nie jest obsługiwana
grupowanej zakresowo, ponieważ kolumna
redystrybucja.
kolejności wg klucza jest poza zakresem.
11 Nie jest obsługiwany moduł ładujący LOAD.
Objaśnienie:
Nie można wstawić wiersza do tabeli grupowanej zakresowo, 12 Nie jest obsługiwana funkcja reorganizacji tabeli.
ponieważ wartości kolejności wg klucza leżą poza zakresem.
13 Nie jest obsługiwana funkcja obcinania tabeli.
Działanie użytkownika:
Aby zobaczyć zakres definiowany przez tabelę grupowaną 14 Nie można użyć kolumn typu XML.
zakresowo, uruchom zapytanie wyszukujące w ograniczeniach 15 Klauzula COMPRESS YES nie jest obsługiwana.
zdefiniowanych dla tej tabeli ograniczenia o nazwie ″RCT″.
Na przykład: SELECT * FROM SYSIBM.SYSCHECKS 16 Tabele grupowane zakresowo nie są obsługiwane w
WHERE NAME=’RCT’ AND TABLE=<nazwa-tabeli-rct> bazie danych z więcej niż jedną zdefiniowaną
partycją.
v Usuń tabelę grupowaną zakresowo i utwórz ją ponownie z
włączoną opcją WITH OVERFLOW. Spowoduje to Działanie użytkownika:
utworzenie tabeli grupowanej zakresowo, która będzie Jeśli dla danej tabeli wymagane jest użycie jednej z
obsługiwać rekordy poza zakresem, ale nie zagwarantuje niedostępnych funkcji, rozważ możliwość utworzenia tej tabeli
porządkowania i będzie mieć wpływ na ustawienia bez klauzuli ORGANIZE BY KEY SEQUENCE. Jeśli tabela
dotyczące blokowania. już istnieje, konieczne będzie jej usunięcie i ponowne
v Usuń tabelę grupowaną zakresowo i utwórz ją ponownie z utworzenie. Kody przyczyny:
nową definicją zakresu, która obejmie ten rekord. 1 Usuń klauzulę VALUE COMPRESSION lub
v Zdefiniuj widok jako operację UNION ALL na wszystkich COMPRESS SYSTEM DEFAULT.
rekordach tabeli grupowanej zakresowo i utwórz osobną
2 Usuń słowo kluczowe CLUSTER z instrukcji
tabelę zawierającą rekordy spoza zakresu. Następnie należy
CREATE INDEX.
przekierować instrukcje wstawiania, aktualizacji, usuwania,
łączenia, a także zapytania na ten widok. 3 Aby dodać kolumnę, usuń tabelę i utwórz ją
ponownie z dodatkową kolumną.
kod_sql: -1870
4 Usuń klauzulę SET DATA TYPE z instrukcji
ALTER TABLE.
stan_sql: 23513
5 Usuń klauzulę PCTFREE z instrukcji ALTER
TABLE.
SQL1871N Ta funkcja nie jest obsługiwana dla tabel
grupowanych zakresowo. Kod przyczyny = 6 Usuń klauzulę APPEND z instrukcji ALTER
kod-przyczyny. TABLE.
Objaśnienie: 7 Aby zmienić atrybuty kolumny, usuń tabelę i utwórz
Niektóre funkcje są niedostępne dla tabel grupowanych ją ponownie z nowymi atrybutami kolumny.
zakresowo. Kody przyczyny:
8 Nie używaj definicji tabeli o typie strukturalnym z
1 Klauzule VALUE COMPRESSION i COMPRESS klauzulą ORGANIZE BY KEY SEQUENCE.
SYSTEM DEFAULT są niedostępne.
9 Utwórz tabelę grupowaną zakresowo w bazie
2 Dla tabel grupowanych zakresowo nie można danych, która ma zdefiniowaną tylko jedną partycję
utworzyć indeksu klastrowego. bazy danych.
3 Nie jest obsługiwane dodawanie kolumn. 10 Aby umożliwić redystrybucję grupy partycji bazy
danych użytej do zdefiniowania obszaru tabel
4 Nie jest obsługiwana instrukcja SET DATA TYPE.
zawierającego tabelę grupowaną zakresowo, usuń tę
5 Nie jest obsługiwana zmiana klauzuli PCTFREE. tabelę i utwórz ją ponownie w obszarze tabel, który
nie należy do tej grupy partycji bazy danych.
6 Nie jest obsługiwana zmiana trybu APPEND.
11 Rozważ możliwość użycia modułu importującego
7 Nie można zmieniać atrybutów kolumn. IMPORT zamiast modułu ładującego LOAD.
8 Nie są obsługiwane tabele o typie strukturalnym. Komendę IMPORT można uruchamiać współbieżnie
dla różnych podzbiorów danych, co poprawia
9 Tabel grupowanych zakresowo nie można tworzyć w wydajność. Rozważ także możliwość użycia
bazie danych z więcej niż jedną partycją bazy aplikacji do wstawiania równoległego, które
danych. zapełniają różne regiony zakresu kolejności według
10 W grupie partycji bazy danych użytej do klucza.
12 Reorganizacja tabel nie jest wymagana w przypadku
tabel grupowanych zakresowo.

294 Komunikaty, tom 2


SQL1880N • SQL1885N

13 Usuń tabelę i utwórz ją ponownie. Sprawdź w podręczniku SQL Reference żądaną wartość.
Następnie popraw i wprowadź ponownie instrukcję, którą
14 Usuń kolumnę zdefiniowaną jako kolumnę z danymi
chcesz wykonać. Pamiętaj o zawarciu wartości w
typu XML lub użyj innego obsługiwanego typu
pojedynczych znakach cudzysłowu.
danych.
15 Usuń klauzulę COMPRESS YES. kod_sql: -1882
16 Usuń tabele grupowane zakresowo.
stan_sql: 428EF
kod_sql: -1871
SQL1883N Opcja nazwa-opcji jest wymaganą opcją
stan_sql: 429BG typ-opcji dla obiektu nazwa-obiektu.
Objaśnienie:
SQL1880N Opcja nazwa-opcji nie jest obsługiwanym Nie określono opcji, której system DB2 wymaga po to, by móc
typem opcji typ-opcji dla kursora przetwarzać instrukcję wprowadzoną do kolejki.
nazwa-obiektu przez opakowanie
Działanie użytkownika:
nazwa-opakowania albo stowarzyszone
Sprawdź w dokumentacji opcje wymagane przez instrukcję,
źródło danych nazwa-serwera lub oba.
którą chcesz zastosować. Następnie zweryfikuj instrukcję i
Objaśnienie: wprowadź ją ponownie.
Kursor nazwa-kursora uzyskujący dostęp do pseudonimu za
pomocą opakowania nazwa-opakowania w stowarzyszonym kod_sql: -1883
źródle danych nazwa-serwera został zadeklarowany za
pomocą opcji nazwa-opcji typu typ-opcji, ale ani opakowanie, stan_sql: 428EG
ani samo źródło danych nie obsługują tej opcji.
SQL1884N Opcja nazwa-opcji została określona więcej
Nie można otworzyć kursora.
niż raz dla obiektu typ-obiektu o nazwie
Działanie użytkownika: nazwa-obiektu.
Nie należy otwierać kursora za pomocą tej opcji.
Objaśnienie:
Podana instrukcja odwołuje się do tej samej opcji więcej niż
kod_sql: -1880
raz.
stan_sql: 428EE Działanie użytkownika:
Zapisz ponownie kod instrukcji, aby odwołanie do
odpowiedniej opcji występowało tylko raz. Następnie
SQL1881N Opcja nazwa-opcji nie jest poprawną opcją ponownie wprowadź instrukcję.
typ-opcji dla obiektu nazwa-obiektu.
Objaśnienie: kod_sql: -1884
Określona opcja może nie istnieć, lub może nie być poprawna
dla konkretnego źródła danych, typu źródła danych lub obiektu stan_sql: 42853
bazy danych, z którym pracujesz.
Działanie użytkownika: SQL1885N Opcja typ-opcji o nazwie nazwa-opcji została
Sprawdź w podręczniku SQL Reference żądaną opcję. już zdefiniowana dla obiektu nazwa-obiektu.
Następnie popraw i wprowadź ponownie instrukcję, którą
Objaśnienie:
chcesz wykonać.
Podano wartość dla opcji, która posiada już wartość.
kod_sql: -1881 Działanie użytkownika:
Przejrzyj wyniki odpowiedniego widoku katalogu, aby
stan_sql: 428EE określić, jaką wartość ma obecnie opcja. Jeśli wartość opcji
różni się od wartości oczekiwanej, zapisz ponownie kod
instrukcji w taki sposób, aby po słowie kluczowym OPTIONS
SQL1882N Opcji typ-opcji o nazwie nazwa-opcji nie występowało słowo kluczowe SET. Określ, który widok
można ustawić na wartość-opcji dla obiektu katalogu zawiera opcje dla tej opcji. Więcej informacji na
nazwa-obiektu. temat widoków katalogu można znaleźć w Centrum
Objaśnienie: informacyjnym DB2.
W określonej wartości brakuje poprawnych ograniczników,
albo wartość jest niepoprawna kod_sql: -1885
Działanie użytkownika:
stan_sql: 428EH

Rozdział 2. Komunikaty SQL 295


SQL1886N • SQL1901N

SQL1886N Operacja typ-operacji jest niepoprawna, SQL1890N Nazwa hosta nazwa-hosta nie jest poprawna.
ponieważ opcja typ-opcji o nazwie
Objaśnienie:
nazwa-opcji nie została zdefiniowana dla
Nazwa hosta podana w komendzie aktualizacji serwera
obiektu nazwa-obiektu.
alternatywnego nie jest poprawna. Wartość musi mieć długość
Objaśnienie: od 1 do 255 znaków i nie może składać się z samych znaków
Usiłowano zmienić lub usunąć wartość dla opcji, która nie pustych.
została zdefiniowana dla źródła danych, typu źródła danych
Działanie użytkownika:
lub obiektu bazy danych, z którymi pracujesz.
Zadbaj o to, by długość nazwy hosta nie przekraczała 255
Działanie użytkownika: znaków.
Jeśli w instrukcji, która ma być uruchomiona, określono słowo
kluczowe SET, zapisz ponownie kod instrukcji pomijając to Wprowadź ponownie komendę podając prawidłową nazwę
słowo lub zastępując je słowem kluczowym ADD (ustawienie hosta.
domyślne); usuń niepoprawną klauzulę DROP. Następnie
ponownie wprowadź instrukcję.
SQL1891N Parametr adresu nazwy hosta nie jest
poprawny.
kod_sql: -1886
Objaśnienie:
stan_sql: 428EJ Aplikacja użyła adresu, który jest niepoprawny dla parametru
określającego nazwę hosta. Adres wskazuje nieprzydzielony
bufor albo łańcuch znaków w buforze nie jest zakończony
SQL1887N Wymagana klauzula SPECIFICATION
znakiem o wartości pustej.
ONLY.
Objaśnienie: Nie można wykonać komendy.
Instrukcja CREATE INDEX dla pseudonimu musi mieć
Działanie użytkownika:
klauzulę SPECIFICATION ONLY.
Popraw program, tak aby był używany prawidłowy adres i aby
Działanie użytkownika: łańcuch wejściowy był zakończony znakiem o wartości pustej.
Dodaj klauzulę SPECIFICATION ONLY, a następnie
wprowadź ponownie instrukcję.
SQL1892N Parametr adresu numeru portu nie jest
poprawny.
kod_sql: -1887
Objaśnienie:
stan_sql: 42601 Aplikacja użyła adresu, który jest niepoprawny dla parametru
określającego numer portu. Adres wskazuje nieprzydzielony
bufor albo łańcuch znaków w buforze nie jest zakończony
SQL1888N Numer portu numer-portu nie jest znakiem o wartości pustej.
poprawny.
Objaśnienie: Nie można wykonać komendy.
Numer portu podany w komendzie aktualizacji serwera
Działanie użytkownika:
alternatywnego nie jest poprawny. Wartość nie jest liczbą albo
Popraw program, tak aby był używany prawidłowy adres i aby
ma niewłaściwą długość. Wartość musi mieć długość od 1 do
łańcuch wejściowy był zakończony znakiem o wartości pustej.
14 znaków i nie może składać się z samych spacji.
Działanie użytkownika:
SQL1900N Wykonanie komendy zakończyło się
Zadbaj o to, by numer portu był wartością liczbową o długości
pomyślnie.
nie większej niż 14 znaków.
Objaśnienie:
Wprowadź komendę ponownie z poprawnym numerem portu. Program narzędziowy wiersza komend zakończył komendę
pomyślnie.
SQL1889W Żądanie aktualizacji serwera Działanie użytkownika:
alternatywnego zostało zignorowane. Nie jest wymagane żadne działanie.
Objaśnienie:
Żądanie może odnosić się wyłącznie do serwera bazy danych. SQL1901N Składnia komendy nie jest poprawna.

Działanie użytkownika: Objaśnienie:


Wprowadź żądanie na serwerze bazy danych. Program narzędziowy wiersza komend nie może wykonać
komendy.
Działanie użytkownika:
Popraw i wprowadź ponownie komendę.

296 Komunikaty, tom 2


SQL2000N • SQL2007N

Sprawdź kod powrotu błędu w polu SQLERRD[0] obszaru


SQL2000N Napęd określony w komendzie programu
komunikacyjnego SQL. Popraw błąd, jeśli jest to możliwe, i
narzędziowego jest niepoprawnym
ponownie wprowadź komendę.
określeniem napędu dyskietek lub dysku
twardego.
SQL2004N Podczas przetwarzania wystąpił błąd SQL
Objaśnienie:
kod_sql.
Wejściowy lub wyjściowy napęd określony w komendzie
programu narzędziowego nie istnieje. Objaśnienie:
Gdy program narzędziowy wykonywał instrukcję SQL,
Program narzędziowy zatrzymuje przetwarzanie. wystąpił błąd.
Działanie użytkownika:
Program narzędziowy zatrzymuje przetwarzanie.
Należy wprowadzić ponownie komendę programu
narzędziowego poprawnie określając napęd. Działanie użytkownika:
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
(numer komunikatu) w komunikacie. Wprowadź zmiany i
SQL2001N Działanie programu narzędziowego zostało
ponownie wprowadź komendę.
przerwane. Dane wyjściowe mogą być
niekompletne.
SQL2005C Podczas operacji odczytu wystąpił błąd
Objaśnienie:
we/wy. Dane mogą być niekompletne.
Być może użytkownik nacisnął sekwencję klawiszy
przerywającą działanie lub wywołał program narzędziowy, Objaśnienie:
który kończy działanie programu wywołującego. Podczas operacji we/wy odczytano niekompletne dane.

Ten komunikat może także wystąpić w trakcie operacji Program narzędziowy zatrzymuje przetwarzanie.
tworzenia lub odtwarzania kopii zapasowej w węźle bazy
danych w sytuacji, gdy węzeł katalogu baz danych jest Działanie użytkownika:
wyłączony. Sprawdź, czy błąd we/wy może być usunięty i wprowadź
ponownie komendę.
Program narzędziowy zatrzymuje przetwarzanie.
SQL2006C Podczas operacji zapisu wystąpił błąd
Działanie użytkownika:
we/wy. Dane mogą być niekompletne.
Jeśli to konieczne, zrestartuj aplikację lub wprowadź ponownie
komendę. Dane wyjściowe przerwanej komendy mogą być Objaśnienie:
niekompletne i nie powinny być używane. Podczas operacji we/wy zapisane zostały niekompletne dane.

SQL2002N Wybrana komenda programu Program narzędziowy zatrzymuje przetwarzanie.


narzędziowego bazy danych nie może być Działanie użytkownika:
użyta do zdalnych baz danych. Baza Sprawdź, czy błąd we/wy może być usunięty i wprowadź
danych, której dotyczy komenda, musi ponownie komendę.
znajdować się na lokalnej stacji roboczej.
Objaśnienie: SQL2007N Określona wielkość buforu równa
Komenda programu narzędziowego bazy danych może być wielkość-buforu buforów 4 kB jest zbyt mała
użyta tylko do lokalnych baz danych. dla obiektu o wielkości strony
wielkość-strony.
Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Działanie użytkownika: Aby utworzyć kopię zapasową obiektu bazy danych o
Uruchom program narzędziowy lokalnie. wielkości strony wielkość_strony, potrzebny jest bufor
większy od wielkości strony. Podczas tworzenia kopii
zapasowej bazy danych dane są najpierw kopiowane do
SQL2003C Wystąpił błąd systemowy.
wewnętrznego buforu. Następnie, po zapełnieniu go, dane są
Objaśnienie: zapisywane na nośnikach kopii zapasowych. Podana wielkość
Wystąpił błąd systemu operacyjnego. Kod powrotu można buforu wielkość_buforu stron o wielkości 4 kB nie jest
znaleźć w polu SQLERRD[0] obszaru komunikacyjnego SQL. wystarczająca.
Działanie użytkownika:
Program narzędziowy zatrzymuje przetwarzanie.
Zwiększ buforu.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 297


SQL2008N • SQL2013N

2. Spróbuj utworzyć kopię zapasową otwartej bazy danych


SQL2008N Parametr callerac jest spoza dopuszczalnego
po upewnieniu się, że programy narzędziowe nie działają.
zakresu albo wymagana kolejność działań
jest niepoprawna.
SQL2010N Program narzędziowy napotkał błąd błąd
Objaśnienie:
podczas nawiązywania połączenia z bazą
Wartość parametru callerac nie może być zaakceptowana albo
danych.
wymagana kolejność działań jest niepoprawna.
Objaśnienie:
Nie można wykonać komendy. Program narzędziowy nie mógł połączyć się z bazą danych.
Działanie użytkownika:
Program narzędziowy zatrzymuje przetwarzanie.
Każdy program narzędziowy ma własną listę poprawnych
wartości parametru callerac. W Centrum informacyjnym DB2 Działanie użytkownika:
(http://publib.boulder.ibm.com/infocenter/db2luw/v9) można W celu uzyskania dalszych informacji sprawdź numer błędu
znaleźć poprawne wartości parametru callerac dla używanego podany w komunikacie. Wprowadź zmiany i ponownie
programu narzędziowego. Wprowadź ponownie komendę z wprowadź komendę.
prawidłowym parametrem callerac.

SQL2011N Program narzędziowy napotkał błąd błąd


SQL2009C Tworzenie kopii zapasowej lub podczas rozłączania z bazą danych.
przywracanie danych nie powiodło się ze
względu na brak odpowiednich zasobów Objaśnienie:
pamięci. Program narzędziowy nie mógł odłączyć się od bazy danych.

Objaśnienie: Program narzędziowy zatrzymuje przetwarzanie.


Ten problem może wystąpić w następujących sytuacjach:
Działanie użytkownika:
1. Próba utworzenia kopii zapasowej lub odtworzenia bazy
W celu uzyskania dalszych informacji sprawdź numer błędu
danych nie powiodła się z powodu braku miejsca na stercie
podany w komunikacie. Wprowadź zmiany i ponownie
programów narzędziowych.
wprowadź komendę.
2. Podczas próby tworzenia kopii zapasowej otwartej bazy
danych działały programy narzędziowe.
SQL2012N Nie można włączyć obsługi przerwań.
Działanie użytkownika:
Aby rozwiązać wszystkie możliwe przypadki, należy Objaśnienie:
ponownie wydać komendę, wywołując tryb autonomiczny, Program narzędziowy nie może włączyć obsługi przerwań.
czyli NIE określając następujących parametrów: Bieżący kod powrotu można znaleźć w polu SQLERRD[0]
WITH liczba-buforów BUFFERS obszaru komunikacyjnego SQL.
PARALLELISM n
BUFFER wielkość-buforu Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Jeśli wolisz określić parametry jawnie, w każdym przypadku Sprawdź kod powrotu błędu w polu SQLERRD[0] obszaru
wykonaj następujące działania: komunikacyjnego SQL. Popraw błąd, jeśli jest to możliwe, i
1. ponownie wprowadź komendę.
Zwiększ parametr konfiguracyjny bazy danych
UTIL_HEAP_SZ za pomocą następującej komendy: SQL2013N Program narzędziowy nie ma dostępu do
UPDATE DB CFG FOR <NAZWA_BAZY_DANYCH> katalogu bazy danych. Zwrócono błąd błąd.
USING UTIL_HEAP_SZ <WARTOŚĆ>. Dla tworzenia
kopii zapasowych i odtwarzania ta wartość musi być co Objaśnienie:
najmniej równa wartości liczba buforów * wielkość Podczas używania katalogu bazy danych przez program
buforu. W celu uzyskania dodatkowych informacji na narzędziowy wystąpił błąd.
temat buforów tworzenie i odtwarzanie kopii zapasowych
przeszukaj Centrum informacyjne DB2 Program narzędziowy zatrzymuje przetwarzanie.
(http://publib.boulder.ibm.com/infocenter/db2luw/v9),
Działanie użytkownika:
używając takich fraz, jak ″optymalizacja wydajności
Jeśli ścieżka podana w parametrze baza_danych nie jest
odtwarzania″ lub ″optymalizacja wydajności tworzenia
ścieżką do katalogu bazy danych, wprowadź ponownie
kopii zapasowej″.
komendę z prawidłową ścieżką. W przeciwnym razie sprawdź
UWAGA: Jeśli baza danych jeszcze nie istnieje, a została numer błędu w komunikacie w celu uzyskania dalszych
podjęta próba wykonania komendy RESTORE, utwórz informacji. Wprowadź zmiany i ponownie wprowadź
pustą bazę danych, zwiększ jej parametr UTIL_HEAP_SZ komendę.
w opisany powyżej sposób i spróbuj wykonać odtwarzanie
do nowej bazy danych.

298 Komunikaty, tom 2


SQL2014N • SQL2019N

zawartość pola SQLERRD[0] w obszarze komunikacyjnym


SQL2014N Wystąpił błąd środowiska bazy danych.
SQL w celu uzyskania dalszych informacji i wprowadzić
Objaśnienie: ponownie komendę.
Program narzędziowy odebrał błąd od komendy
środowiskowej bazy danych. Plik konfiguracyjny menedżera
SQL2018N Podczas próby weryfikacji ID
bazy danych i plik konfiguracyjny bazy danych mogą zawierać
autoryzowanego użytkownika lub
niezgodne wartości.
uprawnień bazy danych przez program
narzędziowy wystąpił błąd błąd.
Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Działanie użytkownika:
Użytkownik próbował uruchomić program narzędziowy, ale
Sprawdź plik konfiguracyjny menedżera baz danych i plik
zaszło jedno z następujących zdarzeń:
konfiguracyjny bazy danych w celu znalezienia niezgodnych
wartości. Wprowadź ponownie komendę. v ID autoryzowanego użytkownika jest nieprawidłowy,
v wystąpił błąd podczas próby uzyskania dostępu do
uprawnień użytkownika do bazy danych.
SQL2015N Parametr bazy danych jest niepoprawny
Nazwa bazy danych jest zbyt długa, nie
Program narzędziowy zatrzymuje przetwarzanie.
została podana lub adres nazwy jest
niewłaściwy. Działanie użytkownika:
W celu uzyskania dalszych informacji sprawdź numer błędu
Objaśnienie:
podany w komunikacie. Wprowadź zmiany i ponownie
Wymagana jest nazwa bazy danych. Nazwa bazy danych musi
wprowadź komendę.
zawierać od 1 do 8 znaków, a wszystkie te znaki muszą
znajdować się w podstawowym zbiorze znaków menedżera
baz danych. Nazwa musi znajdować się pod prawidłowym SQL2019N Podczas wiązania programu narzędziowego
adresem aplikacji. z bazą danych wystąpił błąd.
Objaśnienie:
Program narzędziowy zatrzymuje przetwarzanie.
Ponieważ bieżąca wersja programu narzędziowego nie była
Działanie użytkownika: związana z bazą danych, system przystąpił do wiązania
Wprowadź ponownie komendę z prawidłową nazwą bazy wszystkich programów narzędziowych z bazą danych. Proces
danych. ten zakończył się niepowodzeniem. Możliwe przyczyny błędu:
v brak wystarczającej ilości miejsca na dysku,
SQL2016C Komenda PATH nie zawiera ścieżki do v problem zasobów systemowych, np. zbyt wiele otwartych
programu nazwa_programu. plików,
Objaśnienie: v brakująca lub niepoprawna lista programów narzędziowych
Program narzędziowy nie może znaleźć wymaganego które mają być związane (db2ubind.lst),
programu przy użyciu komendy systemu operacyjnego Select v brakujący lub nieprawidłowy plik powiązań jednego z
Path. programów narzędziowych (db2uxxxx.bnd),
v użytkownik nie ma uprawnień wymaganych do wiązania
Program narzędziowy zatrzymuje przetwarzanie. programów narzędziowych. Wymagane są uprawnienia:
Działanie użytkownika: – BIND dla programów narzędziowych
Zaktualizuj komendę PATH, aby zawierała ścieżkę do danego – SELECT dla katalogów systemowych.
programu.
W przypadku programu RESTORE baza danych zostaje
SQL2017N Zbyt dużo sesji zostało już uruchomionych odtworzona, ale co najmniej jeden program narzędziowy
lub sesja uruchamiania systemu OS/2 nie pozostaje niezwiązany z bazą danych. Pozostałe programy
została pomyślnie zakończona. narzędziowe przerywają przetwarzanie.

Objaśnienie: Działanie użytkownika:


Programy BACKUP lub RESTORE nie mogły uruchomić Zakończ wszystkie zadania, które mogą ubiegać się o zasoby
nowej sesji, ponieważ: systemowe i wprowadź ponownie komendę programu
narzędziowego. Jeśli błąd występuje nadal, wykonaj jedno z
v otwarto już maksymalną liczbę sesji,
następujących działań:
v program OS/2 Start Session zwrócił błąd.
v Poproś użytkownika z uprawnieniami SYSADM lub
DBADM, aby wprowadził ponownie komendę.
Program narzędziowy zatrzymuje przetwarzanie.
v Zainstaluj ponownie menedżera bazy danych i/lub
Działanie użytkownika: wprowadź ponownie wszystkie ostatnio dokonane
Zaczekaj aż jedna z bieżących sesji zakończy przetwarzanie i aktualizacje.
wprowadź ponownie komendę. Możesz także sprawdzić

Rozdział 2. Komunikaty SQL 299


SQL2020N • SQL2025N

v W celu wyizolowania przyczyn problemu i umożliwienia Zapisz wartość kodu powrotu dla błędu. Sprawdź, czy błąd
niektórym programom narzędziowym prawidłowego we/wy może być usunięty.
działania, indywidualnie powiąż programy narzędziowe
(pliki db2uxxxx.bnd) z bazą danych (nie używając żadnych
SQL2024N Program narzędziowy napotkał błąd we/wy
opcji formatowania).
kod podczas próby uzyskania dostępu do
pliku typu typ-pliku.
SQL2020N Program narzędziowy nie jest poprawnie
Objaśnienie:
powiązany z bazą danych.
Podczas dostępu do danego pliku wystąpił błąd we/wy.
Objaśnienie:
Ponieważ jeden z programów narzędziowych nie został Plik z rozszerzeniem “.BRG” jest wykorzystywany do
powiązany z bazą danych lub pakiet programu narzędziowego określenia, czy operacja RESTORE zakończyła się błędem.
powiązanego z bazą danych jest niezgodny z zainstalowaną Plik znajduje się w katalogu lokalnej bazy danych, dla której
wersją menedżera baz danych, wszystkie programy próbowano wykonać operację RESTORE.
narzędziowe zostały ponownie powiązane z bazą danych.
Wciąż jednak występuje niezgodność datownika między Plik z rozszerzeniem “.BRI” przechowuje informacje o
pakietem a zainstalowaną wersją menedżera baz danych, a postępie przyrostowej operacji RESTORE. Plik znajduje się w
zatem program narzędziowy i plik powiązań są niezgodne. katalogu lokalnej bazy danych, dla której próbowano wykonać
operację RESTORE INCREMENTAL.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika: Nazwa pliku składa się ze znacznika bazy danych sklejonego z
Zainstaluj ponownie menedżera bazy danych i/lub wprowadź rozszerzeniem typu pliku. Na przykład, jeśli bazie danych
ponownie wszystkie ostatnio dokonane aktualizacje. “SAMPLE” przypisano znacznik bazy danych “SQL00001”,
Wprowadź ponownie komendę. plik BRI będzie nosił nazwę “instancja/NODE0000/sqldbdir/
SQL00001.BRI”.

SQL2021N W napędzie brak właściwej dyskietki. Program narzędziowy zatrzymuje przetwarzanie.


Objaśnienie: Działanie użytkownika:
W napędzie nie ma dyskietki, która ma być użyta do tworzenia Zapisz kod powrotu błędu. Sprawdź, czy błąd we/wy może
kopii zapasowej lub odtwarzania bazy danych, albo dyskietka, być usunięty.
która znajduje się w napędzie, nie jest odpowiednia do tego
celu.
SQL2025N Wystąpił błąd we/wy kod na nośniku
Nie można wykonać komendy. katalog/urządzenia.

Działanie użytkownika: Objaśnienie:


Sprawdź, czy w napędzie znajduje się odpowiednia dyskietka Podczas dostępu do pliku na podanym nośniku wystąpił błąd
lub włóż nową dyskietkę. we/wy.

Program narzędziowy zatrzymuje przetwarzanie.


SQL2023N Podczas próby uzyskania dostępu programu
narzędziowego do pliku sterującego Jeśli nośnikiem jest ″TSM″, wystąpił problem związany z
dzienników wystąpił błąd we/wy kod. programem Tivoli Storage Manager. Najczęstszym problemem
Objaśnienie: związanym z TSM jest przekroczenie limitu czasu sesji TSM z
Istnieją dwa pliki sterujące dziennika: powodu nieodpowiedniego ustawienia COMMTIMEOUT.
v podstawowy plik sterujący dziennika SQLOGCTL1.LFH Działanie użytkownika:
v dodatkowy plik sterujący dziennika SQLOGCTL2.LFH Jeśli nośnikiem jest TSM, wyszukaj w Centrum
informacyjnym Tivoli pod adresem http://
Dodatkowy plik sterujący dziennika jest lustrzaną kopią
publib.boulder.ibm.com/infocenter/tivihelp/index.jsp pełny
podstawowego pliku sterującego dziennika
tekst komunikatu o błędzie, korzystając z takich fraz, jak
wykorzystywaną w przypadku wystąpienia problemu z
″kody powrotu API w kolejności numerycznej″.
podstawowym plikiem sterującym dziennika.
W przypadku niewłaściwego ustawienia parametru
Menedżer bazy danych DB2 odebrał błąd odczytu lub zapisu
COMMTIMEOUT spróbuj zwiększyć wartość
podczas dostępu do podstawowego pliku sterującego
COMMTIMEOUT w pliku dsmserv.opt lub dsm.sys.
dziennika.
Przykładowymi ustawieniami testowymi są 6000 s lub 10 000
s.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika: W przypadku innych typów nośników sprawdź, czy katalog
dir/devices jest dostępny i sprawdź, czy wystąpiły błędy

300 Komunikaty, tom 2


SQL2026N • SQL2032N

nośników. Na przykład dla nośnika TAPE sprawdź, czy


SQL2029N Wystąpił błąd błąd podczas przetwarzania
biblioteka taśm jest podłączona. W przypadku próby
pliku nazwa-pliku-komend.
utworzenia kopii zapasowej na nośniku TAPE, gdy jest
używana taśma ze zmienną wielkością bloku, należy Objaśnienie:
zmniejszyć opcję wielkości bufora, aby mieściła się w zakresie Podany plik komend lub system operacyjny zwrócił błąd.
obsługiwanym przez urządzenie taśmowe (program DB2
Działanie użytkownika:
automatycznie wybiera ’optymalną’ wartość tego parametru,
Użytkownik zażądał opcji “Utwórz kopię zapasową tylko
jeśli nie zostanie ona określona).
zmian” dla bazy danych z włączonym odtwarzaniem
ROLLFORWARD albo zażądał opcji “Utwórz kopię zapasową
więcej informacji można znaleźć w pliku dziennika
tylko zmian” podczas żądania użycia programu zewnętrznego.
diagnostycznego db2diag.log. Użyj komendy db2diag
narzędzia analizy db2diag.log do wyszukania konkretnego
kodu powrotu: db2diag -rc <kod-powrotu>. SQL2030N Napęd nazwa jest zapełniony. Potrzebnych
jest co najmniej liczba bajtów wolnego
miejsca na tym napędzie.
SQL2026N Podczas próby wewnętrznego rozłączenia z
bazą danych wystąpił błąd kod_sql. Objaśnienie:
Na podanym dysku nie ma wolnego miejsca wystarczającego
Objaśnienie:
do utworzenia wewnętrznych podkatalogów i pliku
Komenda wewnętrznego rozłączenia nie powiodła się. W
informacyjnego.
komunikacie zwrócony został kod SQLCODE.
Program narzędziowy zatrzymuje przetwarzanie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Działanie użytkownika:
Zwolnij na danym dysku potrzebną ilość wolnego miejsca i
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
wprowadź ponownie komendę.
(numer komunikatu) w komunikacie. Wprowadź zmiany i
ponownie wprowadź komendę.
SQL2031W Ostrzeżenie! Podłącz nośnik docelowy lub
źródłowy na urządzeniu urządzenie.
SQL2027N Podczas próby wewnętrznego połączenia z
bazą danych wystąpił błąd kod_sql. Objaśnienie:
Procedura programu narzędziowego bazy danych zapisuje lub
Objaśnienie:
odczytuje dane z nośnika w danym urządzeniu. Program
Wewnętrzne połączenie nie powiodło się. W komunikacie
narzędziowy wstrzymuje działanie, aby użytkownik mógł
zwrócony został kod SQLCODE. Plik konfiguracyjny
załadować nośnik odpowiedni do operacji.
menedżera bazy danych i plik konfiguracyjny bazy danych
mogą zawierać niezgodne wartości.
Program narzędziowy czeka na reakcję użytkownika.
Program narzędziowy zatrzymuje przetwarzanie. Działanie użytkownika:
Załaduj nośnik i wróć do programu narzędziowego, gdzie
Działanie użytkownika:
parametr callerac wskazuje, czy przetwarzanie trwa, czy
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
zostało zakończone.
(numer komunikatu) w komunikacie. Wprowadź zmiany i
ponownie wprowadź komendę. Sprawdź, czy wartości w pliku
konfiguracyjnym menedżera baz danych są zgodne z SQL2032N Parametr parametr nie jest poprawny.
wartościami pliku konfiguracyjnego kopii zapasowej bazy
Objaśnienie:
danych.
Parametr został określony niepoprawnie. Wartość parametru
jest spoza zakresu lub jest niepoprawna.
SQL2028N Podczas instalacji programu obsługi
Działanie użytkownika:
przerwań wystąpił błąd kod_sql.
Wprowadź ponownie komendę z poprawną wartością
Objaśnienie: parametru.
Program narzędziowy nie może włączyć programu obsługi
przerwań. W komunikacie zwrócony został kod SQLCODE. kod_sql: -2032

Program narzędziowy zatrzymuje przetwarzanie. stan_sql: 22531


Działanie użytkownika:
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
(numer komunikatu) w komunikacie. Wprowadź zmiany i
ponownie wprowadź komendę.

Rozdział 2. Komunikaty SQL 301


SQL2033N • SQL2038N

http://publib.boulder.ibm.com/infocenter/tivihelp/index.jsp,
SQL2033N Przy próbie uzyskania dostępu do TSM
korzystając z takich fraz, jak ″kody powrotu API w kolejności
podczas przetwarzania programu
numerycznej″.
narzędziowego bazy danych wystąpił błąd.
Kod przyczyny TSM: kod-przyczyny.
SQL2034N Adres parametru parm jest niepoprawny.
Objaśnienie:
Najczęstsze kody przyczyny TSM to: Objaśnienie:
Aplikacja użyła adresu, który jest nieprawidłowy dla tego
106 Podany plik jest wykorzystywany przez inny proces.
parametru. Adres wskazuje nieprzydzielony bufor albo
Użytkownik usiłował odczytać lub zapisać dane do
łańcuch znaków w buforze nie jest zakończony znakiem o
pliku, który jest aktualnie wykorzystywany przez
wartości pustej.
inny proces.
Działanie użytkownika:
137 Niepowodzenie uwierzytelniania TSM.
Sprawdź, czy aplikacja używa prawidłowego adresu, a łańcuch
168 Wymagany jest plik haseł, ale użytkownik nie jest wejściowy jest zakończony znakiem o wartości pustej.
administratorem. Ten komunikat jest często
generowany, gdy zmienna środowiskowa
SQL2035N Podczas wykonywania programu
DSMI_DIR wskazuje na katalog, który zawiera
narzędziowego w trybie bez przerwań
32-bitową wersję programu dsmtca, chociaż
wystąpił warunek ostrzeżenia ostrzeżenie.
instancja programu DB2 jest 64-bitowa i na odwrót.
Objaśnienie:
400 W parametrze OPTIONS przekazywanym do TSM
Aplikacja wywołująca wywołała program narzędziowy w
została podana nieprawidłowa opcja.
trybie bez przerwań. Podczas operacji napotkano warunek
406 TSM nie może znaleźć lub odczytać swojego pliku ostrzeżenia.
opcji.
Działanie użytkownika:
Ponownie wprowadź operację bez określania warunku no
Program narzędziowy zatrzymuje przetwarzanie.
interrupt w parametrze callerac lub podejmij działania w celu
Działanie użytkownika: zapobieżenia ostrzeżeniu i ponownie wprowadź operację.
Działania odpowiadające najczęściej występującym
problemom TSM:
SQL2036N Ścieżka do pliku lub urządzenia
106 Sprawdź, czy podana została poprawna nazwa pliku ścieżka/urządzenie jest niepoprawna.
lub katalogu, popraw uprawnienia lub określ nowe
Objaśnienie:
miejsce.
Aplikacja wywołująca program narzędziowy podała
137 Jeśli parametr PASSWORDACCESS programu nieprawidłową ścieżkę źródłową/docelową. Ścieżka lub
TSM ma wartość GENERATE, sprawdź, czy urządzenie nie istnieje lub zostało nieprawidłowo określone.
administrator systemu użył programu narzędziowego
Działanie użytkownika:
dsmapipw do ustawienia hasła. Jeśli parametr
Wprowadź ponownie komendę z poprawnie określoną ścieżką
PASSWORDACCESS ma wartość PROMPT,
lub urządzeniem.
sprawdź, czy parametry konfiguracyjne bazy danych
TSM_NODENAME i TSM_PASSWORD zostały
poprawnie ustawione. SQL2037N Nie można załadować TSM.
168 Sprawdź, czy wartość DSMI_DIR wskazuje na Objaśnienie:
katalog zawierający poprawną wersję programu Wywołanie programu narzędziowego bazy danych określiło
db2tca, zrestartuj instancję i ponownie wykonaj TSM jako cel lub źródło kopii zapasowej. Próbowano
komendę. załadować klienta TSM. Klient TSM nie jest dostępny w
systemie lub podczas procedury ładowania napotkano został
400 Upewnij się, że parametr OPTIONS podany w
błąd.
komendzie BACKUP lub RESTORE jest poprawny.
Działanie użytkownika:
406 Upewnij się, że zmienna środowiskowa
Upewnij się, że system ma dostęp do TSM. Po udostępnieniu
DSMI_CONFIG wskazuje na poprawny plik opcji
TSM wprowadź ponownie komendę lub wprowadź ponownie
TSM. Sprawdź, czy właściciel instancji ma prawo do
komendę bez wykorzystywania TSM.
odczytu pliku dsm.opt. Sprawdź, czy zmienna
środowiskowa DSMI_CONFIG została ustawiona w
pliku db2profile. SQL2038N Podczas przetwarzania wystąpił błąd
systemowy bazy danych kod-błędu.
Aby uzyskać pełny tekst opisanych powyżej kodów TSM,
Objaśnienie:
przeszukaj Centrum informacyjne Tivoli pod adresem
Podczas przetwarzania jednego z programów narzędziowych
wystąpił błąd systemowy bazy danych.

302 Komunikaty, tom 2


SQL2039N • SQL2044N

Działanie użytkownika:
SQL2042W Ostrzeżenie! Błąd we/wy błąd podczas
W celu uzyskania dalszych informacji sprawdź kod błędu
uzyskiwania dostępu do urządzenia
podany w komunikacie. Podejmij działania naprawcze i
urządzenie. Dodatkowe informacje (jeśli są
ponownie wprowadź komendę.
dostępne): informacje-dodatkowe. Sprawdź,
czy nośnik jest poprawnie podłączony i
SQL2039N Aplikacja wywołująca program ustawiony.
narzędziowy została zakończona.
Objaśnienie:
Objaśnienie: Podczas próby odczytu lub zapisu na taśmie przez aplikację
Aplikacja wywołująca program narzędziowy została wywołującą program narzędziowy wystąpił błąd we/wy.
zakończona. Część programu narzędziowego od strony Program narzędziowy wstrzymuje działanie, aby użytkownik
aplikacji należy do tego samego procesu co aplikacja mógł poprawnie załadować i ustawić taśmę.
wywołująca i zostaje zakończona wraz z nią. W wyniku tego
zakończona zostaje część programu narzędziowego od strony Komunikat może zawierać dodatkowe informacje pomocne w
agenta. diagnozie problemu.
Działanie użytkownika:
Program narzędziowy czeka na reakcję użytkownika.
Wprowadź ponownie komendę po określeniu, dlaczego
aplikacja została zakończona. Działanie użytkownika:
Poprawnie załaduj i ustaw taśmę i powróć do programu
narzędziowego, informując, czy przetwarzanie ma być
SQL2040N Parametr aliasu bazy danych
kontynuowane, czy zakończone.
alias-bazy-danych jest niepoprawny lub nie
został określony.
Kod błędu, nazwa urządzenia i inne informacje dodatkowe (o
Objaśnienie: ile występują) mogą być użyte do diagnozy i usunięcia
Aplikacja wywołująca programy narzędziowe do tworzenia problemu.
kopii zapasowej (Backup) lub odtwarzania (Restore) użyła
nieprawidłowego parametru aliasu bazy danych. Alias musi
mieć od 1 do 8 bajtów, a znaki muszą pochodzić z SQL2043N Nie można uruchomić procesu potomnego
podstawowego zestawu znaków menedżera baz danych. lub wątku.

Działanie użytkownika: Objaśnienie:


Wprowadź ponownie komendę Backup lub Restore z Podczas przetwarzania programu narzędziowego bazy danych
prawidłowym aliasem bazy danych. nie można było uruchomić wymaganego procesu potomnego
lub wątku. Możliwe, że nie ma wystarczającej ilości pamięci
do utworzenia nowego procesu lub wątku. W systemach AIX,
SQL2041N Podany parametr określający wielkość przyczyną może być zbyt mała wartość parametru maxuproc,
buforu jest niepoprawny. Podana wielkość ustawiana za pomocą komendy chdev. Program narzędziowy
buforu musi wynosić 0 lub zawierać się w zatrzymuje przetwarzanie.
przedziale od 8 do 16384 włącznie.
Działanie użytkownika:
Objaśnienie: Sprawdź, czy nie został wyczerpany systemowy limit liczby
Aplikacja wywołująca program narzędziowy użyła procesów lub wątków (zwiększ limit lub zmniejsz liczbę
nieprawidłowego parametru wielkości buforu. Parametr ten wykonywanych procesów lub wątków). Sprawdź, czy w
służy do określenia wielkości buforu wewnętrznego. Jego systemie jest wystarczająco dużo pamięci dla nowego procesu
wartość odpowiada liczbie stron o wielkości 4 kB, z których lub wątku. Wprowadź ponownie komendę.
składa się bufor. Może ona wynosić 0 lub być liczbą z zakresu
od 8 do 16384, włącznie.
SQL2044N Podczas dostępu do kolejki komunikatów
wystąpił błąd. Kod przyczyny:
Podczas działania programu narzędziowego do tworzenia kopii
kod-przyczyny.
zapasowej lub odtwarzania, dla wartości 0 stosowany jest
domyślny rozmiar buforu zdefiniowany w konfiguracji Objaśnienie:
menedżera baz danych. Podczas przetwarzania programu narzędziowego bazy danych
w jednej z kolejek komunikatów wykryto nieoczekiwany błąd
Jeśli nośnikiem docelowym jest dyskietka, bufor musi być lub nieprawidłowy komunikat. Lista kodów przyczyny:
mniejszy niż pojemność dyskietki.
1 Nie można utworzyć kolejki komunikatów.
Dopuszczalna liczba kolejek komunikatów mogła
zostać przekroczona.
2 Podczas odczytu z kolejki komunikatów wystąpił
błąd.

Rozdział 2. Komunikaty SQL 303


SQL2045W • SQL2048N

3 Podczas zapisu do kolejki komunikatów wystąpił 6 Obiekt jest obszarem tabel w stanie, który nie
błąd. pozwala na taką operację, albo kontenery obszaru
tabel (jeden lub więcej) są niedostępne (komenda
4 Z kolejki komunikatów odebrano nieprawidłowy
LIST TABLESPACES wyświetli aktualny stan
komunikat.
obszaru tabel). Takie przykładowe stany to: quiesced
5 Podczas otwierania kolejki komunikatów wystąpił (wygaszony), offline (niedziałający).
błąd.
7 Nie powiodła się operacja usunięcia obiektu.
6 Podczas zamykania kolejki komunikatów wystąpił
8 Wystąpiła próba ładowania/wygaszenia do tabeli,
błąd.
która nie jest zdefiniowana dla tej partycji.
7 Podczas przeszukiwania kolejki komunikatów
9 Podczas przetwarzania obiektu program
wystąpił błąd.
narzędziowy BACKUP napotkał znak końca pliku w
8 Podczas usuwania kolejki komunikatów wystąpił nieoczekiwanym miejscu. To niekoniecznie oznacza,
błąd. że dane są uszkodzone, ale program narzędziowy
BACKUP nie może przetworzyć danych w bieżącym
Program narzędziowy zatrzymuje przetwarzanie. stanie.

Działanie użytkownika: Program narzędziowy zatrzymuje przetwarzanie.


Sprawdź, czy nie została przekroczona dopuszczalna liczba
kolejek komunikatów. Jeśli będzie to konieczne zmniejsz Działanie użytkownika:
liczbę kolejek komunikatów i wprowadź ponownie komendę.
1 Upewnij się, że obiekt obiekt ma poprawny typ.
2 Zwiększ wartość parametru konfiguracyjnego bazy
SQL2045W Ostrzeżenie! Wystąpił błąd błąd podczas
danych locktimeout.
zapisywania na nośnik nośnik.
3 Sprawdź, czy podczas blokowania obiektu obiekt nie
Objaśnienie:
występują żadne problemy, a następnie ponów próbę
Proces programu narzędziowego bazy danych napotkał błąd
wykonania tej operacji.
błąd zwrócony przez system operacyjny podczas zapisu na
nośnik nośnik. Program narzędziowy wstrzymuje działanie, 4, 7 Sprawdź, czy obiekt obiekt istnieje i jest dostępny.
aby użytkownik mógł usunąć problem lub anulować operację. Upewnij się, że masz odpowiednie uprawnienia
dostępu do tego obiektu.
Program narzędziowy czeka na reakcję użytkownika.
5
Działanie użytkownika:
W przypadku obiektu db2rhist.asc upewnij się, że
Sprawdź dokumentację rozwiązywania problemów dla danego
plik db2rhist jest dostępny dla właściciela instancji.
systemu operacyjnego i usuń błąd błąd. Powróć do programu
Jeśli uprawnienia ustawiono poprawnie, możliwe, że
narzędziowego, podając prawidłowy parametr działania
plik db2rhist jest uszkodzony. Przenieś istniejący
programu wywołującego, określającego, czy przetwarzanie
plik z jego bieżącego położenia lub go usuń. Produkt
powinno być kontynuowane czy zakończone.
DB2 utworzy nowy plik db2rhist przy kolejnej
próbie uzyskania do niego dostępu. Uwaga:
SQL2048N Podczas uzyskiwania dostępu do obiektu Usunięcie pliku db2rhist spowoduje utratę
obiekt wystąpił błąd. Kod przyczyny: zapisanych w nim informacji historycznych.
kod-przyczyny.
Jeśli obiekt obiekt jest dowolnym innym plikiem
Objaśnienie: sterującym bazą danych, konieczne może być
Przy próbie uzyskania dostępu do obiektu podczas wykonanie operacji odzyskiwania bazy danych.
przetwarzania programu narzędziowego bazy danych wystąpił
6
błąd. Lista kodów przyczyny:
Określony obszar tabel może nie działać. Spróbuj
1 Nieprawidłowy typ obiektu.
określić problem, który jest przyczyną tej sytuacji, a
2 Nie powiodła się operacja blokady obiektu. Czas następnie go rozwiązać. Przykładowe problemy:
oczekiwania na blokadę mógł osiągnąć limit system plików jest niepodłączony - problem ten
przekroczenia czasu określony w konfiguracji bazy można rozwiązać, podłączając system plików, a
danych. następnie przełączając obszar tabel do trybu
działania; usunięto pliki obszaru tabel - ten problem
3 Podczas przetwarzania programu narzędziowego można rozwiązać, wykonując operację odtwarzania.
bazy danych operacja odblokowania obiektu nie
powiodła się. Określony obszar tabel może być wygaszony. Aby
sprawdzić stan obszaru tabel, należy użyć komendy
4 Nie powiodła się próba dostępu do obiektu. LIST TABLESPACES. Aby udostępnić obszar tabel,
5 Obiekt bazy danych jest uszkodzony. należy użyć komendy QUIESCE RESET lub

304 Komunikaty, tom 2


SQL2054N • SQL2060W

QUIESCE TERMINATE. Należy zauważyć, że do Program narzędziowy zatrzymuje przetwarzanie.


wykonania operacji QUIESCE RESET lub
Działanie użytkownika:
QUIESCE TERMINATE może być potrzebny
Sprawdź, czy nośnik nie jest używany w danej chwili.
identyfikator użytkownika utrzymującego
Ponownie wprowadź komendę z poprawną listą nośników.
wygaszenie.
8 Upewnij się, że określona jest odpowiednia tabela.
SQL2058W Dla nośnika nośnik napotkano ostrzeżenie o
9 Wykonaj operację REORG na określonej tabeli i końcu nośnika.
wprowadź ponownie komendę BACKUP.
Objaśnienie:
Podczas pracy programu narzędziowego bazy danych
SQL2054N Kopia zapasowa lub obraz kopii jest napotkano ostrzeżenie o końcu nośnika. Ten błąd mógł
uszkodzona. wystąpić również jeśli podano błędną wielkość bloku dla
urządzenia taśm.
Objaśnienie:
Używana kopia zapasowa lub obraz kopii jest uszkodzona.
Program narzędziowy czeka na reakcję użytkownika.
Może to także oznaczać, że program narzędziowy Restore Działanie użytkownika:
stwierdził nieprawidłowości w dekompresji obrazu Skoryguj warunek końca nośnika i powróć do programu
skompresowanego. narzędziowego, podając prawidłową wartość parametru
określającego działanie programu wywołującego,
Program narzędziowy zatrzymuje przetwarzanie. informującego, czy przetwarzanie powinno być
kontynuowane, czy zakończone.
Działanie użytkownika:
Usuń obraz jako nieprawidłowy. Wprowadź ponownie
Wielkość bloku urządzenia taśm (albo współczynnik łączenia
komendę z prawidłowym obrazem.
w bloki) używana w trakcie odtwarzania musi być taka sama,
jak podczas tworzenia kopii zapasowej. Jeśli używana jest
SQL2055N Brak dostępu do pamięci z zakresu zmienna wielkość bloku, wielkość buforu musi być równa lub
sterty_pamięci. mniejsza od maksymalnej wielkości bloku używanej przez
urządzenie taśm.
Objaśnienie:
Program narzędziowy bazy danych podczas przetwarzania nie
miał dostępu do pamięci. SQL2059W Dla urządzenia urządzenie wystąpiło
ostrzeżenie o zapełnieniu urządzenia.
Program narzędziowy zatrzymuje przetwarzanie. Objaśnienie:
Działanie użytkownika: Podczas przetwarzania programu narzędziowego bazy danych
Wyłącz program menedżer baz danych, a następnie uruchom napotkano ostrzeżenie o zapełnieniu urządzenia.
go ponownie i wprowadź ponownie komendę programu
narzędziowego. Program narzędziowy czeka na reakcję użytkownika.
Działanie użytkownika:
SQL2056N Nieprawidłowy typ nośnika w nośnik. Skoryguj warunek zapełnienia urządzenia i powróć do
programu narzędziowego, podając prawidłową wartość
Objaśnienie: parametru określającego działanie programu wywołującego,
Podczas przetwarzania programu narzędziowego bazy danych informującego, czy przetwarzanie powinno być
wykryto nieprawidłowy typ nośnika. kontynuowane, czy zakończone.

Program narzędziowy zatrzymuje przetwarzanie.


SQL2060W Urządzenie urządzenie jest puste.
Działanie użytkownika:
Sprawdź, czy użyty nośnik jest obsługiwany przez program Objaśnienie:
narzędziowy. Ponownie wprowadź komendę z poprawną listą Podczas przetwarzania programu narzędziowego bazy danych
nośników. napotkano puste urządzenie. Program narzędziowy czeka na
reakcję użytkownika.

SQL2057N Nośnik nośnik został już otwarty przez inny Działanie użytkownika:
proces. Umieść nośnik w urządzeniu, powróć do programu
narzędziowego i podaj prawidłowy parametr działania
Objaśnienie: programu wywołującego, określający, czy przetwarzanie
Podczas przetwarzania programu narzędziowego bazy danych powinno być kontynuowane, czy zakończone.
źródłowy/docelowy nośnik jest już używany przez inny
proces. Program narzędziowy nie pozwala na
współużytkowanie nośnika podczas operacji.

Rozdział 2. Komunikaty SQL 305


SQL2061N • SQL2070N

Powróć do programu narzędziowego, podając prawidłowy


SQL2061N Odmowa dostępu do nośnika nośnik.
parametr działania programu wywołującego, określającego,
Objaśnienie: czy przetwarzanie powinno być kontynuowane czy
Podczas przetwarzania programu narzędziowego bazy danych zakończone.
zabroniony został dostęp do urządzenia, pliku, TSM lub
współużytkowanej biblioteki pochodzącej od niezależnego
SQL2066N Podana nazwa obszaru tabel nazwa nie
dostawcy. Program narzędziowy zatrzymuje przetwarzanie.
istnieje w bazie danych lub nie można jej
Działanie użytkownika: użyć w danej operacji programu
Upewnij się, że urządzenie, plik, TSM lub współużytkowana narzędziowego.
biblioteka pochodząca od niezależnego dostawcy używane
Objaśnienie:
przez program narzędziowy zezwala na żądany dostęp, a
Podana nazwa obszaru tabel jest syntaktycznie poprawna, ale
następnie wprowadź ponownie komendę programu
nie istnieje w bazie danych lub nie może być wykorzystana w
narzędziowego.
operacji wykonywanej przez program narzędziowy. Jeśli
używanym programem narzędziowym jest program
SQL2062N Podczas uzyskiwania dostępu do nośnika wykonywania kopii zapasowych, obszar tabel może być
nośnik wystąpił błąd. Kod przyczyny: niedostępny, ponieważ może być to tymczasowy obszar tabel -
kod-przyczyny. systemowy lub użytkownika - lub może on być w niespójnym
stanie.
Objaśnienie:
Podczas przetwarzania programu narzędziowego bazy danych, Działanie użytkownika:
w momencie dostępu do urządzenia, pliku lub Sprawdź nazwę obszaru tabel i wprowadź ponownie komendę
współużytkowanej biblioteki pochodzącej od niezależnego używając, poprawnej nazwy obszaru tabel.
dostawcy, wystąpił nieoczekiwany błąd. Lista kodów
przyczyny:
SQL2068N Na nośniku nośnik napotkano
1 Próba zainicjowania urządzenia, pliku lub nieprawidłowy obraz. Brak nagłówka
współużytkowanej biblioteki pochodzącej od nośnika.
niezależnego dostawcy nie powiodła się.
Objaśnienie:
Podczas przetwarzania programu narzędziowego bazy danych
Inne kody przyczyny odwołują się do kodów interfejsu API
napotkano nieprawidłowy obraz. Program narzędziowy nie był
dostawcy.
w stanie zlokalizować prawidłowego nagłówka nośnika.
Program narzędziowy zatrzymuje przetwarzanie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Działanie użytkownika: Wprowadź ponownie komendę dla prawidłowej kopii
Upewnij się, że urządzenie, plik, lub współużytkowana zapasowej albo obrazów kopii.
biblioteka pochodząca od niezależnego dostawcy używane
przez program narzędziowy były dostępne, a następnie
wprowadź ponownie komendę programu narzędziowego. Jeśli SQL2069N Na nośniku nośnik napotkano
wciąż nie udaje się poprawnie wykonać komendy, skontaktuj nieprawidłowy obraz. Dla aliasu bazy
się z przedstawicielem serwisu technicznego. danych alias-bazy-danych został utworzony
obraz.
W przypadku innych kodów przyczyny zapoznaj się z Objaśnienie:
odpowiednią dokumentacją dostawcy w celu uzyskania Podczas przetwarzania programu narzędziowego bazy danych
dalszych informacji o kodzie. napotkano nieprawidłowy obraz. Dostarczona kopia
pochodziła od innego aliasu bazy danych. Program
SQL2065W Określone działanie programu narzędziowy zatrzymuje przetwarzanie.
wywołującego działanie-programu- Działanie użytkownika:
wywołującego jest niedozwolone, gdy Wprowadź ponownie komendę dla prawidłowej kopii
określony nośnik nośnik jest jedynym, który zapasowej albo obrazów kopii.
pozostał połączony z programem
narzędziowym.
SQL2070N Na nośniku nośnik napotkano
Objaśnienie: nieprawidłowy obraz. Obraz zawierał
Określone działanie programu wywołującego jest datownik datownik.
niedozwolone, ponieważ tylko jedno urządzenie pozostało
połączone z programem narzędziowym bazy danych. Objaśnienie:
Podczas przetwarzania programu narzędziowego bazy danych
Działanie użytkownika: napotkano nieprawidłowy obraz. Dostarczony obraz pochodził
z kopii zapasowej lub kopii z innym datownikiem. Program
narzędziowy zatrzymuje przetwarzanie.

306 Komunikaty, tom 2


SQL2071N • SQL2075N

Działanie użytkownika:
SQL2072N Nie można powiązać współużytkowanej
Wprowadź ponownie komendę dla prawidłowej kopii
biblioteki nazwa-biblioteki-współużytkowanej.
zapasowej albo obrazów kopii.
Kod przyczyny: kod-przyczyny.
Objaśnienie:
SQL2071N Wystąpił błąd podczas dostępu do
Podczas przetwarzania programu narzędziowego bazy danych,
współużytkowanej biblioteki
w momencie wiązania współużytkowanej biblioteki, wystąpił
nazwa_bibl_współdz. Kod przyczyny:
błąd. Program narzędziowy zatrzymuje przetwarzanie.
kod-przyczyny.
Działanie użytkownika:
Objaśnienie:
Zanotuj kod przyczyny zwrócony w komunikacie programu
Podczas przetwarzania programu narzędziowego bazy danych,
narzędziowego od niezależnego dostawcy i podejmij działania
w momencie dostępu do współużytkowanej biblioteki
naprawcze, o ile jest to możliwe. Wprowadź ponownie
pochodzącej od niezależnego dostawcy, wystąpił
komendę z prawidłową współużytkowaną biblioteką lub
nieoczekiwany błąd. Lista kodów przyczyny:
korzystającej z innego obsługiwanego typu nośnika.
1 Ścieżka do biblioteki współużytkowanej jest
niepoprawna.
SQL2073N Przetwarzanie wartości DATALINK nie
2 Nie można załadować biblioteki, ponieważ powiodło się z powodu problemów
biblioteka ta (lub żądana przez nią biblioteka) nie wewnętrznych na serwerze baz danych lub
istnieje lub nie ma poprawnego formatu. Czasami w programie DB2 Data Links Manager.
oznacza to, że biblioteka 32-bitowa jest ładowana do
Objaśnienie:
instancji 64-bitowej lub na odwrót.
Podczas przetwarzania wartości DATALINK wystąpił
3 Podczas usuwania z pamięci współużytkowanej nieoczekiwany błąd.
biblioteki wystąpił błąd.
Działanie użytkownika:
Wprowadź ponownie komendę. Jeśli problem nadal występuje,
Program narzędziowy zatrzymuje przetwarzanie. wprowadź ponownie komendę po wyłączeniu i ponownym
Działanie użytkownika: uruchomieniu DB2 i programu DB2 Data Links Manager.
Działania dla odpowiednich kodów przyczyny:
Przez podanie opcji WITHOUT DATALINK można uniknąć
1 Podaj poprawną ścieżkę w komendzie odtwarzania przetwarzania DATALINK w programie narzędziowym
lub tworzenia kopii zapasowej. Upewnij się, że Restore.
ścieżka jest prawidłowa i zawiera poprawną
współużytkowaną bibliotekę. W celu uzyskania
dodatkowych informacji na temat komend tworzenia SQL2074N Przetwarzanie DATALINK nie powiodło się
i odtwarzania kopii zapasowych przeszukaj Centrum z powodu problemów wewnętrznych w
informacyjne DB2 (http://publib.boulder.ibm.com/ serwerze baz danych.
infocenter/db2luw/v9), używając takich terminów,
Objaśnienie:
jak ″komenda odtwarzania bazy danych″ lub
Podczas przetwarzania wartości DATALINK wystąpił
″komenda tworzenia kopii zapasowej bazy danych″.
nieoczekiwany błąd.
2 Upewnij się, że została podana poprawna biblioteka.
Działanie użytkownika:
Jeśli w systemie można uruchamiać 32-bitowe i
Wprowadź ponownie komendę. Jeśli problem nadal występuje,
64-bitowe pliki binarne, sprawdź, czy przekazujesz
wprowadź ponownie komendę po wyłączeniu i ponownym
programowi DB2 instrukcje załadowania biblioteki
uruchomieniu DB2.
w odpowiednim formacie.
Jeśli niepowodzenie wystąpi podczas używania Przez podanie opcji WITHOUT DATALINK można uniknąć
TSM, sprawdź, czy klient API TSM jest poprawnie przetwarzania DATALINK w programie narzędziowym
zainstalowany. Restore.
Dodatkowe informacje można znaleźć w dzienniku
diagnostycznym DB2 (db2diag.log). SQL2075N Przetwarzanie DATALINK nie powiodło się
z powodu problemów wewnętrznych w
3 Upewnij się, że używana wersja klienta TSM jest
serwerze baz danych lub programie DB2
zgodna z daną instancją DB2. W celu uzyskania
Data Links Manager.
dodatkowych informacji przeszukaj Centrum
informacyjne DB2 (http://publib.boulder.ibm.com/ Objaśnienie:
infocenter/db2luw/v9), używając takich terminów, Podczas przetwarzania wartości DATALINK wystąpił
jak ″klienty TSM″. nieoczekiwany błąd.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 307


SQL2076W • SQL2079N

Wprowadź ponownie komendę. Jeśli problem występuje nadal, 03 Parametr konfiguracyjny menedżera bazy danych
wprowadź ponownie komendę po wyłączeniu i ponownym DATALINKS jest ustawiony na wartość NO.
uruchomieniu programu DB2 Data Links Manager.
04 W bazie danych zarejestrowano już dopuszczalną
liczbę Menedżerów DB2 Data Links.
Przez podanie opcji WITHOUT DATALINK można uniknąć
przetwarzania DATALINK w programie narzędziowym Działanie użytkownika:
Restore. Działanie jest uzależnione od kodu przyczyny:
01 Nie podejmuj próby dodania Menedżera DB2 Data
SQL2076W DB2 Data Links Manager nazwa-serwera nie Links więcej niż jeden raz.
został zarejestrowany w bazie danych.
02 Nie podejmuj próby usunięcia niezarejestrowanego
Objaśnienie: Menedżera DB2 Data Links.
DB2 Data Links Manager nazwa-serwera nie został
03 Ustaw parametr konfiguracyjny menedżera bazy
zarejestrowany w bazie danych przy użyciu komendy ADD
danych DATALINKS na wartość YES za pomocą
DATALINKS MANAGER.
komendy UPDATE DATABASE MANAGER
Działanie użytkownika: CONFIGURATION i spróbuj ponownie wykonać
Szczegółowe informacje na temat przyczyn niepowodzenia operację.
przy wykonywaniu komendy ADD DATALINKS MANAGER
04 Nie podejmuj próby dodania więcej niż
należy szukać w dzienniku powiadomień administracyjnych.
maksymalnej dozwolonej liczby Menedżerów DB2
Data Links.
SQL2077W Przetwarzanie rozliczeniowe zakończyło się
pomyślnie w menedżerach Data Links
SQL2079N Biblioteka nazwa_bibl_współdz zgłosiła błąd.
Manager, które były dostępne.
Kod powrotu: kod-powrotu.
Przetwarzanie rozliczeniowe jest w toku w
menedżerach Data Links Manager, które Objaśnienie:
nie były dostępne. Więcej informacji można Podczas przetwarzania wykonywanego przez program
znaleźć w dzienniku powiadomień narzędziowy bazy danych współużytkowana biblioteka
administracyjnych. sprzedawcy zgłosiła błąd. Wyświetlony kod powrotu
odpowiada jednemu z poprawnych kodów powrotu interfejsu
Objaśnienie:
API dostawcy. Program narzędziowy zatrzymuje
Niektóre lub wszystkie menedżery Data Links Manager, do
przetwarzanie.
których występują odwołania w danych tabeli, były
niedostępne podczas przetwarzania rozliczeniowego.
Przetwarzanie rozliczeniowe zakończyło się pomyślnie w Możliwe kody powrotu interfejsu API:
menedżerach Data Links Manager, które były dostępne. Tabele 3 Program DB2 i produkt dostawcy są niezgodne ze
zostały wprowadzone w stan oczekiwania na uzgodnienie sobą.
DataLink (DRP), ponieważ menedżery Data Links Manager,
które nie były dostępne oczekują na przetwarzanie 4 Zażądano niepoprawnego działania.
uzgodnienia. 8 Określono niepoprawny identyfikator użytkownika.
Działanie użytkownika: 9 Podano niepoprawne hasło.
Tabela zostanie wyprowadzona ze stanu oczekiwania na
uzgodnienie DataLink wtedy, gdy przetwarzanie uzgodnienia 10 Określono niepoprawne opcje.
zostanie zakończone pomyślnie we wszystkich menedżerach 12 Podano niepoprawny uchwyt urządzenia.
Data Links Manager, do których występują odwołania w
danych tabeli. Uruchom menedżery Data Links Manager, które 13 Określono niepoprawną wielkość buforu.
nie były dostępne, i ponownie uruchom rozliczanie.
30 W produkcie dostawcy wystąpił poważny błąd.
inne Produkt dostawcy zwrócił właściwy dla tego
SQL2078N Menedżer DB2 Data Links nie został
produktu kod poważnego błędu.
pomyślnie dodany lub usunięty. Kod
przyczyny = kod-przyczyny. Działanie użytkownika:
Upewnij się, że dostarczona biblioteka współużytkowana jest
Objaśnienie:
poprawna. Spróbuj przeprowadzić niezbędne działania
Menedżer DB2 Data Links nie został dodany lub usunięty, co
naprawcze, odpowiednio do kodu powrotu interfejsu API
wskazuje jeden z następujących kodów przyczyny:
dostawcy i odpowiedniej pozycji w pliku db2diag, a następnie
01 Dodawany Menedżer DB2 Data Links jest już ponownie wprowadź komendę programu narzędziowego.
zarejestrowany w bazie danych.
02 Usuwany Menedżer DB2 Data Links nie jest
zarejestrowany w bazie danych.

308 Komunikaty, tom 2


SQL2080N • SQL2150W

zidentyfikować wszystkich elementów bazy danych, które


SQL2080N Tworzenie kopii zapasowej obrazu stanu
mają być skopiowane, z powodu kod-przyczyny:
zakończyło się niepowodzeniem. Baza
danych, dla której tworzona jest kopia 1 Do docelowego katalogu woluminu wpisano jedną
zapasowa, nie jest unikalna w swoim lub więcej baz danych.
katalogu woluminu.
Jeśli w docelowym katalogu woluminu istnieje inna
Objaśnienie: baza danych, odtwarzanie zastąpi katalog woluminu,
Tworzenie kopii zapasowej obrazu stanu umożliwia co spowoduje, że istniejąca baza danych nie zostanie
korzystanie z technologii szybkiego kopiowania do wpisana do katalogu.
kopiowania danych oraz przenoszenia części operacji
tworzenia i odtwarzania kopii zapasowych bazy danych DB2. 2 Nie można odtworzyć pełnego katalogu bazy danych
z obrazu kopii zapasowej na dysku, ponieważ
niektóre części katalogu bazy danych z obrazu kopii
Dla bazy danych DB2 próbowano wykonać kopię zapasową
zapasowej są wykorzystywane przez inną bazę
obrazu stanu. Jednak program narzędziowy do tworzenia kopii
danych.
zapasowej obrazu stanu nie mógł w sposób jednoznaczny
zidentyfikować wszystkich elementów bazy danych, które Na przykład gdy tworzona jest baza danych, serwer
muszą być skopiowane, ponieważ do tego samego katalogu DB2 tworzy hierarchię katalogów w celu
woluminu, w którym znajduje się baza danych, dla której przechowywania metadanych dla tej bazy danych:
tworzona jest kopia zapasowa, wpisano jedna lub więcej tworzony jest katalog o nazwie instancji bazy
innych baz danych. danych DB2, poniżej niego mogą być katalogi dla
partycji bazy danych, a poniżej znajdują się katalogi
Jeśli do tego samego katalogu woluminu, w którym znajduje o nazwach elementów bazy danych, takie jak
się baza danych, dla której tworzona jest kopia zapasowa SQL00001 dla pierwszej bazy danych, która została
obrazu stanu, wpisano inne bazy danych DB2, obraz kopii utworzona, SQL00002 - dla drugiej bazy danych i
zapasowej może obejmować pliki baz danych innych, niż ta, tak dalej.
której kopia jest tworzona. Jeśli obraz kopii zapasowej zawiera
Nie można odtwarzać obrazu kopii zapasowej
pliki z wielu baz danych, nie będzie można pomyślnie
obrazu stanu, który zawiera katalogi o nazwach
odtworzyć żadnej z nich.
SQL00001, SQL00002 lub podobne, jeśli w
docelowym katalogu woluminu istnieją podobne
Tworzenie lub odtwarzanie kopii zapasowej obrazu stanu
katalogi.
można przeprowadzać tylko dla bazy danych DB2, która jest
unikalna w swoim katalogu woluminu. 3 Katalogi dzienników do odtworzenia z obrazu kopii
zapasowej już istnieją na dysku i nie są puste.
Tworzenie kopii zapasowej obrazu stanu zakończyło się
Jeśli katalogi dzienników do odtworzenia z obrazu
niepowodzeniem.
kopii zapasowej już istnieją na dysku i zawierają
Działanie użytkownika: dane, serwer DB2 nie odtworzy tych katalogów,
Aby przeprowadzić tworzenie kopii zapasowej obrazu stanu gdyż w przeciwnym przypadku dane mogłyby zostać
dla bazy danych DB2 w danym katalogu woluminu, który niespodziewanie nadpisane.
zawiera wiele baz danych:
v Usuń lub przenieś inne bazy danych z docelowego katalogu Odtwarzanie obrazu stanu zakończyło się niepowodzeniem.
woluminu. Działanie użytkownika:
v Uruchom ponownie komendę BACKUP. Aby odtworzyć bazę danych DB2 z obrazu kopii zapasowej
obrazu stanu do danego docelowego katalogu woluminu, który
zawiera wiele baz danych, usuń lub przenieś pozostałe bazy
SQL2081N Odtwarzanie obrazu stanu nie powiodło się,
danych znajdujące się w docelowym katalogu woluminu.
ponieważ niektóre elementy odtwarzanej
bazy danych mają takie same nazwy jak
Aby upewnić się, że katalogi dzienników z obrazu kopii
elementy istniejącej bazy danych. Kod
zapasowej obrazu stanu zostaną odtworzone, sprawdź, czy
przyczyny = kod-przyczyny.
katalogi dzienników nie istnieją na dysku lub czy są puste.
Objaśnienie: Uruchom ponownie komendę RESTORE.
Tworzenie kopii zapasowej obrazu stanu umożliwia
korzystanie z technologii szybkiego kopiowania do
SQL2150W Zostały odtworzone obszary tabel zawarte w
kopiowania danych oraz przenoszenia części operacji
obrazie kopii zapasowej. W zależności od
tworzenia i odtwarzania kopii zapasowych bazy danych DB2.
żądania programu wywołującego, jeden lub
kilka z tych obszarów tabel mogło zostać
Próbowano odtworzyć bazę danych DB2 z obrazu kopii
pominiętych.
zapasowej obrazu stanu. Jednak programy narzędziowe
odtwarzania obrazu stanu nie mogły w sposób jednoznaczny Objaśnienie:

Rozdział 2. Komunikaty SQL 309


SQL2154N • SQL2164N

Wprowadzono komendę RESTORE DATABASE. Działanie użytkownika:


Użytkownik mógł wskazać, że z obrazu kopii zapasowej ma Program narzędziowy pomyślnie kontynuuje przetwarzanie.
być odtworzony tylko podzbiór obszarów tabel. Użytkownik powinien odpowiednio zabezpieczyć się przed
ponownym uszkodzeniem pliku historii odtwarzania.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL2161N Nie można naprawić uszkodzonego pliku
historii odtwarzania. Wykonanie
SQL2154N Komenda RESTORE nie powiodła się.
określonego działania nie powiodło się.
Kopia zapasowa użyta do odtworzenia
obszaru tabel nie jest powiązana z Objaśnienie:
sekwencją bieżącego dziennika dla bazy Podczas dostępu do pliku historii odtwarzania wystąpił błąd.
danych. Program narzędziowy nie może odtworzyć pliku. Program
narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Do odtworzenia obszaru tabel należy użyć kopii zapasowej Działanie użytkownika:
sporządzonej podczas sekwencji zmian zapisanej w bieżącym Aby kontynuować przetwarzanie, usuń plik historii
dzienniku bazy danych. Sekwencja pliku dziennika jest odtwarzania i wprowadź ponownie komendę. Program
określona przez bazę danych, która została poprzednio narzędziowy wygeneruje nowy plik. Wszystkie dane z
odtworzona, lub przez przetworzone pliki dziennika. Ponadto uszkodzonego pliku zostaną utracone. Możesz sprawdzić, czy
kopię zapasową można utworzyć po ostatnim odtwarzaniu do w uszkodzonym pliku są jakieś informacje, które można
przodu bazy danych. zapisać. Użytkownik powinien odpowiednio zabezpieczyć się
przed ponownym uszkodzeniem pliku historii odtwarzania.
Odtwarzanie obszaru tabel zostało zatrzymane.
Działanie użytkownika: SQL2162N Operacja odtwarzania zmian nie powiodła
Wprowadź ponownie komendę używając prawidłowej kopii się, ponieważ produkt DB2 nie ma
zapasowej. uprawnień dostępu do pliku dziennika
numer-pliku-dziennika dla bazy danych
nazwa-bazy-danych w węźle numer-węzła.
SQL2155W Raport historii odtwarzania został
zmieniony po wydaniu komendy Objaśnienie:
przeszukania. Program DB2 nie ma dostępu do wskazanego pliku dziennika
ze względu na konfigurację uprawnień. Odtwarzanie zmian nie
Objaśnienie: może być kontynuowane.
Plik z historią odtwarzania został zmieniony po otwarciu w
celu przeszukania. Odczytane dane mogą być niespójne. Działanie użytkownika:
Sprawdź system plików, w którym znajdują się pliki dziennika.
Działanie użytkownika: Upewnij się, że właściciel instancji dysponuje uprawnieniami
Jeśli istotne jest, aby dane z przeszukania były spójne, zamknij wystarczającymi do korzystania z plików dziennika.
plik historii odtwarzania i wprowadź ponownie komendę.

SQL2163N Program DB2 nie może znaleźć obrazu kopii


SQL2157N Otwarto już osiem przeszukań pliku historii zapasowej w pliku historii odtwarzania w
odtwarzania. celu odtworzenia stanu bazy danych w
Objaśnienie: partycji numer numer_partycji w danym
W tym procesie otwarto już osiem przeszukań pliku historii momencie.
odtwarzania. Nie można otworzyć więcej niż ośmiu Objaśnienie:
przeszukań. Program DB2 nie może znaleźć obrazu kopii zapasowej w
pliku historii odtwarzania w celu odtworzenia stanu bazy
Nie można wykonać komendy. danych dla danego momentu. Błąd ten może występować, gdy
Działanie użytkownika: plik historii został wyczyszczony.
Użyj jednej lub kilku komend CLOSE RECOVERY Działanie użytkownika:
HISTORY FILE SCAN i wprowadź ponownie komendę. Spróbuj określić późniejszy moment. Jeśli określono moment
przypadający na koniec dzienników, sprawdź, czy plik historii
SQL2160W Uszkodzony plik historii odtwarzania został zawiera zapis zdarzeń tworzenia kopii zapasowej.
zastąpiony. Przetwarzanie jest
kontynuowane. SQL2164N Program narzędziowy RECOVER nie mógł
Objaśnienie: znaleźć określonego pliku historii
Podczas dostępu do pliku historii odtwarzania wystąpił błąd. odtwarzania nazwa-pliku w partycji bazy
Program narzędziowy może odtworzyć ten plik z kopii danych o numerze numer-partycji.
zapasowej. Program narzędziowy kontynuuje przetwarzanie. Objaśnienie:

310 Komunikaty, tom 2


SQL2165W • SQL2200N

Nie znaleziono pliku historii odtwarzania, wskazanego jako które generują liczne pozycje w pliku historii (takich jak
parametr komendy RECOVER. tworzenie kopii zapasowej, wygaszanie, ładowanie).
Działanie użytkownika:
Sprawdź poprawność nazwy pliku i uruchom komendę SQL2171N Aktualizacja pliku historii odtwarzania nie
ponownie. powiodła się, ponieważ podana część
obiektu nie istnieje w tym pliku.
SQL2165W Struktura SQLUHINFO nie zapewnia Objaśnienie:
odpowiedniej liczby pozycji TABLESPACE. Pozycja, która miała być zaktualizowana w pliku historii
odtwarzania, nie istnieje w tym pliku. Program narzędziowy
Objaśnienie:
zatrzymuje przetwarzanie.
Struktura SQLUHINFO nie była wystarczająco duża do
przechowania wszystkich pozycji, które miały być zwrócone Działanie użytkownika:
(włączając wszystkie pozycje TABLESPACE). Wartość w Wprowadź ponownie komendę z prawidłową pozycją.
polu SQLN struktury SQLUHINFO powinna być co najmniej
równa zwróconej wartości pola SQLD.
SQL2172W Program narzędziowy zakończył działanie,
lecz nie może zarejestrować zdarzenia w
Nie można wykonać komendy.
pliku historii odtwarzania z powodu
Działanie użytkownika: wystąpienia błędu błąd.
Zwiększ wartość w polu SQLN struktury SQLUHINFO do
Objaśnienie:
wartości podanej w polu SQLD (pod warunkiem, że struktura
Błąd wystąpił, gdy program narzędziowy dokonywał zapisu w
SQLUHINFO jest wystarczająco duża) i wprowadź ponownie
pliku historii odtwarzania. Ostrzeżenie to nie ma wpływu na
komendę.
przetwarzanie.
Działanie użytkownika:
SQL2166N Komenda RECOVER nie powiodła się,
Aby zapobiec przyszłym ostrzeżeniom, usuń przyczynę błędu.
ponieważ baza danych baza_danych nie
istnieje.
SQL2180N W specyfikacji filtrowania użyto
Objaśnienie:
niepoprawnej składni lub niepoprawnego
Komenda RECOVER wymaga pliku z historią odtwarzania od
klucza hasła.
ustalenia, które pliki kopii zapasowych i dzienników są
potrzebne w procesie odtwarzania bazy danych. Objaśnienie:
W udostępnionej specyfikacji filtrowania użyto niepoprawnej
Program DB2 nie mógł ustalić położenia pliku z historią składni, niepoprawnego klucza hasła lub obu na raz.
odtwarzania, ponieważ wskazana baza danych nie istnieje.
Działanie użytkownika:
Działanie użytkownika: Zapisz informacje diagnostyczne. Skontaktuj się z serwisem
Sprawdź, czy podana nazwa bazy danych jest poprawna lub IBM.
użyj klauzuli USING HISTORY FILE w komendzie
RECOVER, aby określić właściwy plik z historią odtwarzania
SQL2181N Podczas filtrowanego odtwarzania wystąpił
dla bazy danych.
błąd wewnętrzny.
Objaśnienie:
SQL2170N Program narzędziowy napotkał w pliku
Podczas filtrowanego odtwarzania wystąpił błąd wewnętrzny.
historii odtwarzania pozycje z takim samym
Odtwarzanie zostało wycofane.
identyfikatorem. Zapis nie powiódł się.
Działanie użytkownika:
Objaśnienie:
Jeśli błąd wystąpił podczas próby zmiany stanu tabeli, spróbuj
Podczas zapisu do pliku historii odtwarzania program
przefiltrować cały obszar tabel. Zapisz informacje
narzędziowy napotkał pozycję z takim samym identyfikatorem
diagnostyczne. Skontaktuj się z serwisem IBM.
(zgodność datownika z dokładnością do sekund). Zapis do
pliku historii odtwarzania został przerwany. Menedżer baz
danych zapewnia unikalność identyfikatorów w pliku historii SQL2200N Kwalifikator nazwy tabeli lub indeksu jest
odtwarzania i zabezpiecza ją przed naruszeniem, nawet jeśli zbyt długi.
zgłaszanych żądań jest więcej niż jedno żądanie na sekundę.
Objaśnienie:
Może się jednak zdarzyć, że zabezpieczenie to zawiedzie w
Identyfikator autoryzowanego użytkownika musi mieć długość
przypadku zgłoszenia licznych żądań w ciągu kilku sekund.
od 1 do 128 bajtów.
Działanie użytkownika:
Aby zapobiec takiej sytuacji, należy stopniować żądania Program narzędziowy zatrzymuje przetwarzanie.
wykonywanych przez aplikacje programów narzędziowych,
Działanie użytkownika:
Ponownie wprowadź komendę z poprawnym kwalifikatorem.

Rozdział 2. Komunikaty SQL 311


SQL2203N • SQL2208N

co najmniej jeden wymiar przy użyciu klauzuli


SQL2203N Parametr określający nazwę tabeli nie jest
ORGANIZE BY komendy CREATE TABLE.
poprawny. Nazwa tabeli jest za długa,
podano tylko ID autoryzowanego 7 Indeks określony dla komendy REORG TABLE nie
użytkownika, nie podano nazwy tabeli albo może być indeksem z regionami XML, indeksem ze
adres nazwy jest nieprawidłowy. ścieżką kolumn XML ani indeksem kolumny XML.
Objaśnienie: 8 Opcji REORG INDEXSCAN można użyć tylko, gdy
Nazwa tabeli jest wymagana i musi mieć od 1 do 128 znaków został określony indeks lub jeśli w tabeli istnieje
długości (bajtów w środowisku MBCS). Nazwa tabeli musi się indeks klastrowy.
znajdować pod prawidłowym adresem aplikacji.
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
Program narzędziowy zatrzymuje przetwarzanie. również zostać wykryta przez źródło danych.
Działanie użytkownika:
Ponownie wprowadź komendę, podając poprawną nazwę Program lub operacja powodują zatrzymanie przetwarzania.
tabeli. Działanie użytkownika:
Ponownie wprowadź komendę z poprawnym indeksem lub bez
SQL2204N Parametr nazwa_indeksu jest indeksu.
nieprawidłowy. Nazwa indeksu jest za
długa, podano tylko ID autoryzowanego SQL2207N Ścieżka do pliku określona przez parametr
użytkownika, albo adres indeksu jest datafile jest nieprawidłowa.
nieprawidłowy.
Objaśnienie:
Objaśnienie: Parametr datafile nie odpowiada żadnej domyślnej ścieżce do
Jeśli został określony indeks, nazwa musi mieć długość od 1 pliku. Parametr datafile ma błędną wartość podaną przez
do 128 bajtów. Indeks musi się znajdować pod prawidłowym użytkownika. Wystąpiła jedna z poniższych sytuacji:
adresem aplikacji.
v wskaźnik jest nieprawidłowy,
Program narzędziowy zatrzymuje przetwarzanie. v wskaźnik wskazuje łańcuch, który jest za długi jak na opis
ścieżki do pliku,
Działanie użytkownika: v podana ścieżka jest nieprawidłowa (na serwerze),
Powtórz komendę podając prawidłową nazwę indeksu.
v ścieżka do pliku nie została zakończona separatorem
odpowiednim dla danego serwera.
SQL2205N Podany indeks nie jest poprawny. Kod
przyczyny: kod-przyczyny. Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie: Działanie użytkownika:
Podany parametr indeksu nie jest poprawny w wypadku Powtórz komendę podając prawidłowy parametr datafile.
żądanej operacji. Lista kodów przyczyny:
1 Podany indeks nie istnieje w wypadku podanej tabeli SQL2208N Obszar tabel nazwa-obszaru-tabel określony
schemat.nazwa-tabeli lub podanego indeksu przez parametr obszaru tabel lub dużego
schemat.nazwa-indeksu. obszaru tabel jest niepoprawny.
2 Podany indeks jest indeksem rozszerzonym. Objaśnienie:
Program narzędziowy do reorganizowania tabeli nie Wartość parametru obszaru tabel lub dużego obszaru tabel jest
obsługuje indeksów utworzonych na podstawie niepoprawna. Mógł zaistnieć jeden z poniższych warunków:
rozszerzeń indeksu.
v wskaźnik jest nieprawidłowy,
3 Wszystkie indeksy zdefiniowane dla tabeli muszą v wskaźnik wskazuje łańcuch, który jest za długi jak na
mieć włączoną możliwość pseudousuwania w nazwę obszaru tablicowego,
wypadku następujących operacji: REORG dla tabeli
v podany obszar tablicowy nie istnieje.
w miejscu, LOAD w trybie z połączeniem, REORG
INDEXES z opcją CLEANUP ONLY.
Program narzędziowy zatrzymuje przetwarzanie.
4 W komendzie REORG został określony indeks inny
Działanie użytkownika:
niż klastrowy.
Wydaj ponownie komendę podając prawidłowy parametr
5 Reorganizacja tabeli w miejscu nie jest dozwolona, obszaru tabel lub dużego obszaru tabel, albo nie używaj tych
jeśli dla danej tabeli istnieją jakiekolwiek indeksy parametrów. W tym drugim przypadku program narzędziowy
oparte na rozszerzeniach indeksu. Reorganize Table użyje obszarów tablicowych, w których
tablica faktycznie się znajduje.
6 Nie można określić indeksu w wypadku
wykonywania reorganizacji (REORG) tabeli mającej

312 Komunikaty, tom 2


SQL2211N • SQL2217N

SQL2211N Podana tabela nie istnieje. SQL2215N Podczas zatwierdzania poprzedniej pracy
dla bazy danych wystąpił błąd SQL kod_sql.
Objaśnienie:
W bazie danych nie ma takiej tablicy. Podano niepoprawną Objaśnienie:
nazwę tablicy albo niepoprawny ID autoryzowanego Użytkownik jest już połączony z bazą podaną w komendzie
użytkownika. Reorganize Table. Błąd wystąpił w momencie zatwierdzania
poprzednich jednostek pracy dla bazy danych.
Nie można wykonać komendy.
Program narzędziowy kończy przetwarzanie nie próbując
Działanie użytkownika:
wycofać zmian ani przerwać połączenia.
Ponownie wprowadź komendę, podając poprawną nazwę
tabeli. Działanie użytkownika:
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
(numer komunikatu) w komunikacie. Wprowadź zmiany i
SQL2212N Podana tablica jest widokiem. Nie można
ponownie wprowadź komendę.
użyć programu narzędziowego Reorganizuj
tabelę do widoku.
SQL2216N Podczas reorganizowania tabeli bazy
Objaśnienie:
danych lub jej indeksów wystąpił błąd SQL
Nie można użyć programu narzędziowego Reorganizuj tabelę
kod_sql.
do widoku.
Objaśnienie:
Program narzędziowy zatrzymuje przetwarzanie. Podczas reorganizowania tabeli bazy danych lub jej indeksów
wystąpił błąd.
Działanie użytkownika:
Ponownie wprowadź komendę, podając poprawną nazwę
Program narzędziowy zatrzymuje przetwarzanie.
tabeli.
Działanie użytkownika:
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
SQL2213N Podany obszar tabel nie jest systemowym
(numer komunikatu) w komunikacie. Wprowadź zmiany i
tymczasowym obszarem tabel.
ponownie wprowadź komendę.
Objaśnienie:
Program narzędziowy REORG wymaga, aby każdy określony
SQL2217N Wielkość strony systemowego tymczasowego
obszar danych był systemowym tymczasowym obszarem
obszaru tabel używanego przez program
tabel. Podana nazwa obszaru tabel nie określa obszaru tabel
narzędziowy REORG musi być zgodna z
zdefiniowanego do przechowywania systemowych tabel
wielkością strony obszarów tabel, w których
tymczasowych.
przechowywane są dane tabeli (w tym dane
kolumn typu LONG lub LOB). Przyczynę
Program narzędziowy zatrzymuje przetwarzanie. można określić na podstawie następujących
Działanie użytkownika: kodów przyczyny: kod_przyczyny.
Wprowadź komendę ponownie, podając nazwę systemowego Objaśnienie:
tymczasowego obszaru tabel, lub nie stosuj parametru Lista kodów przyczyny:
określającego nazwę obszaru tabel. W tym drugim przypadku
program narzędziowy REORG użyje tych obszarów tabel, w 1 Przyczyna jest związana z wyborem tymczasowego
których rezyduje tabela. obszaru tabel dla danych tabeli.
2 Przyczyna jest związana z wyborem tymczasowego
SQL2214N Użytkownik nie ma uprawnienia do obszaru tabel dla danych tabeli typu LONG lub
uruchamiania programu narzędziowego LOB.
REORG względem tabeli nazwa.
Jeśli systemowa tabela tymczasowa dla programu
Objaśnienie:
narzędziowego REORG została jawnie określona, wówczas
Użytkownik próbował zreorganizować określoną tabelę lub jej
wielkość strony systemowego tymczasowego obszaru tabel
indeksy, nie mając odpowiednich uprawnień (uprawnienia
używanego przez program narzędziowy REORG musi być
SYSADM lub DBADM albo uprawnienia CONTROL do
zgodna z wielkością strony obszaru lub obszarów tabel, w
tabeli).
których przechowywane są dane tabeli, w tym dane kolumn
typu LONG lub LOB. W przeciwnym razie należy określić
Program narzędziowy zatrzymuje przetwarzanie. odpowiedni kontener dla danych typu LONG. Jedna z
Działanie użytkownika: poniższych sytuacji naruszyła to ograniczenie:
Zaloguj się jako użytkownik z odpowiednim uprawnieniem i v Dane tabeli są przechowywane w obszarze tabel o wielkości
ponownie wprowadź komendę programu narzędziowego strony innej niż w wypadku podanego systemowego
REORG. tymczasowego obszaru tabel.

Rozdział 2. Komunikaty SQL 313


SQL2218N • SQL2219N

v Tabela zawiera kolumny typu LONG lub LOB, których 5 Indeks określony w instrukcji RESUME jest inny niż
dane są przechowywane w obszarze tabel o wielkości strony indeks określony, gdy reorganizacja tabeli została
innej niż w wypadku podanego systemowego wstrzymana.
tymczasowego obszaru tabel oraz zwykłych danych tabeli i
6 Nie można wznowić (RESUME) reorganizacji
dla obiektów danych typu LONG lub LOB nie można
tabeli, ponieważ plik statusu jest uszkodzony lub go
znaleźć obszaru tabel o odpowiedniej wielkości strony.
nie ma.
Jeśli systemowy tymczasowy obszar tabel lub tymczasowy 7 Przy próbie dostępu do pliku statusu wystąpił błąd
obszar tabel dla danych typu LONG nie został określony dla we/wy.
programu narzędziowego REORG, program ten wewnętrznie
8 Reorganizacja tabeli INPLACE już się odbywa w
poszukiwał systemowego tymczasowego obszaru tabel.
odniesieniu do podanej tabeli.
Systemowy tymczasowy obszar tabel, w którym stosowana
jest taka sama wielkość strony jak w wypadku danych tabeli, 9 Komenda START jest niedozwolona, ponieważ
albo nie istnieje w bazie danych albo w tym czasie był wstrzymana wcześniej reorganizacja tabeli nie
niedostępny. została zatrzymana.
Działanie użytkownika: 10 Komenda PAUSE lub STOP już została wydana.
Jeśli systemowy tymczasowy obszar tabel, w którym Określone działanie jest asynchroniczne i jego
stosowana jest taka sama wielkość strony jak w wypadku skutek może nie być natychmiastowy.
danych tabeli, nie istnieje w bazie danych, utwórz systemowy
tymczasowy obszar tabel o wielkości strony zgodnej z 11 Brak reorganizacji tabeli, którą można by wstrzymać
wielkością strony danych tabeli. Jeśli wielkość strony dla (PAUSE) lub zatrzymać (STOP).
danych tabeli różni się od wielkości strony dla danych typu 12 Reorganizacja tabeli INPLACE nie jest dozwolona
LOB lub LONG, upewnij się, że istnieje także systemowy w wypadku tabel w trybie dopisywania.
tymczasowy obszar tabel o takiej samej wielkości strony.
13 Reorganizacja tabeli Inplace nie jest dozwolona w
Jeśli systemowy tymczasowy obszar tabel, w którym przypadku tabel z brakującymi kolumnami
stosowana jest taka sama wielkość strony jak w wypadku datownika zmiany wiersza.
danych tabeli, istnieje w bazie danych, lecz w czasie wydania Działanie użytkownika:
komendy nie był dostępny, ponownie wprowadź komendę, gdy
systemowy tymczasowy obszar tabel stanie się dostępny. 1 Wydaj komendę STOP, a następnie START.
2 Brak pozostawionych reorganizacji tabel, które
SQL2218N Jeden lub więcej parametrów określonych można by wznowić (RESUME). Wywołaj działanie
dla programu narzędziowego REORG jest START, aby zreorganizować określoną tabelę.
niezgodnych. 3 W oryginalnej reorganizacji tabeli nie został użyty
indeks i dlatego przy wznowieniu (RESUME) nie
SQL2219N Określone działanie reorganizacyjne można określić indeksu. Kontynuuj reorganizację
INPLACE na tabeli nazwa-tabeli jest bez użycia indeksu albo zatrzymaj (STOP) istniejącą
niedozwolone w co najmniej jednym węźle. reorganizację i wydaj komendę START z nazwą
Kod przyczyny: kod-przyczyny. indeksu.

Objaśnienie: 4 Zatrzymaj (STOP) istniejącą wstrzymaną


Instrukcja nie może być wykonana, ponieważ narusza reorganizację tabeli i wydaj komendę START.
ograniczenia, w sposób opisany następującym kodem 5 Wprowadź ponownie komendę RESUME, podając
przyczyny: poprawny indeks. Jeśli przy wznawianiu (RESUME)
1 Nie można wznowić (RESUME) reorganizacji nie określono indeksu, domyślnie zostanie użyty
tabeli, ponieważ oryginalne dane lub obiekt indeksu oryginalny indeks.
uległy zmianie. 6 Upewnij się, że plik statusu “<id-obszaru-tabel><id-
2 Dla podanej tabeli nie ma reorganizacji do obiektu>.OLR” istnieje w katalogu bazy danych i że
wznowienia (RESUME). jest dostępny, a następnie ponownie wprowadź
komendę. Jeśli plik jest uszkodzony, wydaj komendę
3 Nie można podać indeksu przy wznawianiu STOP, a następnie komendą START uruchom
(RESUME) reorganizacji tabeli nieklastrowej. reorganizację.
4 Reorganizacja tabeli nie może zostać wznowiona 7 Upewnij się, że plik statusu “<id-obszaru-tabel><id-
(RESUME), ponieważ został usunięty oryginalny obiekt>.OLR” jest dostępny, po czym wprowadź
indeks określony przy uruchamianiu (START) komendę ponownie.
reorganizacji.
8 Komenda START lub RESUME nie jest dozwolona,
gdy trwa reorganizacja tabeli.

314 Komunikaty, tom 2


SQL2220W • SQL2304N

9 Reorganizacja tabeli została wstrzymana. Wznów 128 bajtów, a nazwa to łańcuch o długości od 1 do 128 bajtów,
wstrzymaną reorganizację komendą RESUME albo który musi się znajdować pod poprawnym adresem aplikacji.
zatrzymaj ją komendą STOP, a następnie uruchom
komendą START. Program narzędziowy zatrzymuje przetwarzanie.
10 Poczekaj na zrealizowanie pierwotnej komendy Działanie użytkownika:
STOP lub PAUSE. Ponownie wprowadź komendę, podając poprawną nazwę
tabeli.
11 Sprawdź, czy w wypadku podanej tabeli została
uruchomiona reorganizacja.
SQL2302N Lista indeksów jest niepoprawna. Podano
12 Wydaj komendę ALTER w stosunku do tabeli, aby
nieprawidłowy adres listy, liczba pozycji na
wyłączyć (OFF) tryb APPEND, albo zreorganizuj tę
liście jest mniejsza niż podana liczba
tabelę w trybie bez połączenia.
indeksów lub podano nieprawidłowy adres
13 Upewnij się, że nie brakuje wartości dla datowników dla indeksu z listy.
zmiany wiersza, wprowadzając dla danej tabeli
Objaśnienie:
komendę table reorg bez opcji inplace.
Adres listy jest nieprawidłowy, liczba pozycji na liście jest
mniejsza niż podana liczba indeksów lub adres dla indeksu z
SQL2220W Dla co najmniej jednego obiektu danych nie listy jest nieprawidłowy.
zbudowano słownika kompresji.
Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Nie można zbudować słownika kompresji dla jednego lub Działanie użytkownika:
wielu obiektów danych. W obiektach tych nie było żadnych Wprowadź ponownie komendę, podając prawidłową listę
rekordów lub nie było rekordów o długości przekraczającej indeksów.
minimalną wymaganą długość rekordu dla danej wielkości
strony. Nie zbudowano nowego słownika. Operacja była
kontynuowana. Jeśli przed wykonaniem tej operacji istniał SQL2303N Parametr statsopt jest nieprawidłowy.
słownik, został on zachowany, a wiersze zostały poddane Objaśnienie:
kompresji. Parametr statsopt komendy Run Statistics może przyjąć jedną
Działanie użytkownika: z następujących wartości:
W dzienniku administracyjnym można znaleźć informacje o v T dla tabeli podstawowej.
obiektach danych, które spowodowały wystąpienie tego v I dla indeksu podstawowego
ostrzeżenia.
v B dla tabel i indeksów podstawowych.
v D dla tabeli i rozkładu.
SQL2300N Identyfikator nazwy tabeli jest za długi albo
v E dla tabeli, rozkładu i indeksów podstawowych.
nie został podany jako część nazwy tabeli.
v X dla indeksów rozszerzonych.
Objaśnienie:
v Y dla indeksów rozszerzonych i tabeli podstawowej.
Nazwa tabeli musi być pełna. Używany jest następujący
format: ID-autoryzowanego-użytkownika.nazwa-tabeli, gdzie v A dla wszystkiego.
ID-autoryzowanego-użytkownika to łańcuch o długości od 1 do
128 bajtów, a nazwa-tabeli to łańcuch o długości od 1 do 128 Program narzędziowy zatrzymuje przetwarzanie.
bajtów. Działanie użytkownika:
Wprowadź ponownie komendę, podając prawidłowy parametr
Program narzędziowy zatrzymuje przetwarzanie. statsopt.
Działanie użytkownika:
Wprowadź ponownie komendę z nazwą pełną, uwzględniając SQL2304N Parametr sharelev jest nieprawidłowy.
prawidłowy kwalifikator. Powinno być ’R’ dla odwołania lub ’C’ dla
zmiany.
SQL2301N Parametr określający nazwę tabeli nie jest Objaśnienie:
poprawny. Parametr jest za długi, podano Parametr sharelev komendy RUN STATISTICS musi mieć
tylko ID autoryzowanego użytkownika albo wartość R dla odwołania lub C dla zmiany.
adres nazwy jest nieprawidłowy.
Objaśnienie: Program narzędziowy zatrzymuje przetwarzanie.
Nazwa tabeli musi być pełna i odpowiadać formatowi Działanie użytkownika:
ID-autoryzowanego-użytkownika.nazwa, gdzie Wprowadź ponownie komendę z prawidłowym parametrem
ID-autoryzowanego-użytkownika to łańcuch o długości od 1 do sharelev.

Rozdział 2. Komunikaty SQL 315


SQL2305N • SQL2312N

SQL2305N Podana tabela jest widokiem. Nie można SQL2309N Nazwa indeksu nazwa jest niepoprawna.
używać programu narzędziowego do Nazwa jest za długa lub podano tylko
widoku. kwalifikator.
Objaśnienie: Objaśnienie:
Parametr tname określał widok, nie tabelę. Nazwa indeksu musi być pełna. Używany jest następujący
format: ID-autoryzowanego-użytkownika.nazwa, gdzie
Program narzędziowy zatrzymuje przetwarzanie. ID-autoryzowanego-użytkownika to łańcuch o długości od 1 do
128 bajtów, a nazwa to łańcuch o długości od 1 do 128 bajtów.
Działanie użytkownika:
Wprowadź ponownie komendę z prawidłowym parametrem
Program narzędziowy zatrzymuje przetwarzanie.
tname.
Działanie użytkownika:
Wprowadź ponownie komendę, podając prawidłowy indeks.
SQL2306N Tabela lub indeks nazwa nie istnieje.
Objaśnienie:
SQL2310N Program narzędziowy nie mógł
W bazie danych nie ma tabeli lub indeksu identyfikowanych
wygenerować statystyk. Zwrócono błąd
przez nazwa lub indeks identyfikowany przez nazwa nie został
kod_sql.
zdefiniowany dla podanej tabeli. Kwalifikator tabeli lub
jednego z indeksów może być niepoprawny. Objaśnienie:
Podczas gromadzenia danych statystycznych wystąpił błąd.
Program narzędziowy zatrzymuje przetwarzanie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Wprowadź ponownie komendę, podając prawidłowe nazwy Działanie użytkownika:
tabel i indeksy. W celu uzyskania dalszych informacji sprawdź numer
komunikatu o błędzie. Wprowadź zmiany i ponownie
wprowadź komendę.
SQL2307N Podana tabela jest tabelą systemową. Nie
można użyć programu Runstats do tabeli
systemowej. SQL2311N Użytkownik nie ma uprawnień do
uruchomienia narzędzia Run Statistics na
Objaśnienie:
tabeli nazwa.
Komenda Run Statistics nie może być użyta do tabeli
systemowej. Objaśnienie:
Użytkownik próbował wykonać statystykę dla podanej tabeli
Program narzędziowy zatrzymuje przetwarzanie. bez wymaganych uprawnień (SYSADM lub DBADM albo
CONTROL dla tabeli). Jeśli tabela podana w instrukcji
Działanie użytkownika: RUNSTATS jest główną tabelą w hierarchii tabel, nazwą tabeli
Ponownie wprowadź komendę, podając poprawną nazwę zwróconą w komunikacie może być podtabela podanej tabeli
tabeli. głównej.

SQL2308N Kwalifikator nazwy indeksu nazwa jest zbyt Program narzędziowy zatrzymuje przetwarzanie.
długi lub nie został określony jako część
Działanie użytkownika:
nazwy indeksu.
Nie uruchamiaj programu Run Statistics bez odpowiednich
Objaśnienie: uprawnień.
Nazwa indeksu musi być pełna. Używany jest następujący
format: ID-autoryzowanego-użytkownika.nazwa, gdzie
SQL2312N Sterta statystyki jest za mała, aby
ID-autoryzowanego-użytkownika to łańcuch o długości od 1 do
przeprowadzić tę operację. Sugerowana
128 bajtów, a nazwa to łańcuch o długości od 1 do 128 bajtów.
wielkość sterty to liczba strony.

Program narzędziowy zatrzymuje przetwarzanie. Objaśnienie:


Ustawienie parametru konfiguracyjnego bazy danych
Działanie użytkownika: stat_heap_sz jest niewystarczające, aby możliwe było
Wprowadź ponownie komendę z nazwą pełną, uwzględniając zbieranie statystyk rozkładu niejednorodnego odnoszących się
prawidłowy kwalifikator. do tabeli.
Działanie użytkownika:
Zaktualizuj parametr konfiguracyjny bazy danych
stat_heap_sz do sugerowanej wartości i spróbuj ponownie.

316 Komunikaty, tom 2


SQL2313W • SQL2400N

kod_sql: 2314
SQL2313W Wykorzystano całą pamięć na stercie
statystyk. Zostały zebrane dane statystyczne
dla pierwszych n1 wierszy z łącznej liczby stan_sql: 01650
n2 wierszy.
Objaśnienie: SQL2315N Program narzędziowy RUNSTATS został
Ustawienie parametru konfiguracyjnego bazy danych wywołany z opcją nazwa-opcji. Jednak profil
stat_heap_sz jest niewystarczające, aby możliwe było statystyk dla tej tabeli nie istnieje.
zbieranie statystyk rozkładu niejednorodnego odnoszących się Objaśnienie:
do tabeli. Można przetworzyć tylko <n1> z <n2> wierszy. Profil statystyk dla danej tabeli nie istnieje w tabeli katalogu
Działanie użytkownika: SYSIBM.SYSTABLES.
Zwiększ parametr konfiguracyjny bazy danych stat_heap_sz o
20 procent i spróbuj ponownie. Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
SQL2314W Niektóre statystyki są niespójne. Nowo Aby utworzyć profil statystyk dla danej tabeli, użyj opcji SET
zebrane statystyki obiekt1 są niespójne z PROFILE lub SET PROFILE ONLY. Informacje na temat
istniejącymi statystykami obiekt2. opcji programu narzędziowego RUNSTATS można znaleźć w
dokumentacji tego programu.
Objaśnienie:
Możliwe przyczyny tego ostrzeżenia są następujące. Opcja nazwa-opcji jest elementem, który może być równy
1. Wydanie komendy RUNSTATS dla tabeli może ″USE PROFILE″, ″UNSET PROFILE″ lub ″UPDATE
spowodować sytuację, w której statystyki na poziomie PROFILE″.
tabeli są niespójne z już istniejącymi statystykami na
poziomie indeksu. Podobnie, wydanie komendy
SQL2316W Łańcuch komendy Runstats dla profilu
RUNSTATS w odniesieniu tylko do indeksów lub podczas
statystyk przekroczył dopuszczalną
tworzenia indeksu może spowodować, że statystyki na
wielkość. Łańcuch komendy Runstats
poziomie tabel pozostaną w stanie niespójności. Na
zostanie obcięty do maksymalnej
przykład, jeśli statystyki na poziomie indeksu zostały
dozwolonej długości i zapisany w tabeli
zebrane w konkretnej tabeli i później została usunięta
katalogu SYSIBM.SYSTABLES.
znaczna liczba wierszy z tej tabeli, wydanie komendy
RUNSTATS dla tabeli może spowodować, że tabela Objaśnienie:
będzie znacząco mniejsza niż FIRSTKEYCARD, co Maksymalna wielkość kolumny STATISTICS_PROFILE
oznacza stan niespójności. wynosi 32768 bajtów. Jeśli wielkość profilu statystyk jest
2. Jeśli komenda RUNSTATS została wydana z opcją większa niż ta wartość, łańcuch komend Runstats zostanie
ALLOW WRITE ACCESS, gdy jednocześnie jest obcięty do wielkości maksymalnej.
wykonywanych wiele operacji wstawiania, aktualizacji lub
usuwania, mogą wystąpić niespójności spowodowane Program narzędziowy kontynuuje przetwarzanie.
zmianami tabeli pomiędzy punktami w czasie, w których
Działanie użytkownika:
są gromadzone dane statystyczne dla tabel i indeksów.
Aby przejrzeć profil statystyk, wyświetl kolumnę
3. Jeśli komenda RUNSTATS została wydana z opcją STATISTICS_PROFILE w tabeli katalogu
TABLESAMPLE, nadmiernie zaniżona wielkość próbki SYSIBM.SYSTABLES. Jeśli istniejący profil statystyk nie jest
może spowodować niedokładną ekstrapolację danych wymagany, ponownie uruchom program narzędziowy
statystycznych, powodując niespójności. RUNSTATS i określ opcję UPDATE PROFILE lub UPDATE
Prawdopodobieństwo niedokładnej ekstrapolacji jest PROFILE ONLY, aby zmodyfikować ten profil. Informacje na
wyższe dla próbkowania SYSTEM niż dla próbkowania temat opcji programu narzędziowego RUNSTATS można
BERNOULLI. znaleźć w dokumentacji tego programu.
Działanie użytkownika:
1. Wydaj komendę RUNSTATS, aby gromadzić dane SQL2400N Typ kopii zapasowej podany w komendzie
statystyczne zarówno na poziomie tabel, jak i indeksów. BACKUP jest niepoprawny. Dopuszczalne
2. Dane statystyczne należy zbierać, gdy liczba operacji wartości to 0 dla tworzenia kopii zapasowej
wstawiania, aktualizacji i usuwania jest minimalna lub gdy całej bazy danych lub 1 dla tworzenia kopii
ich nie ma. Jeśli współbieżne operacje wstawiania, zapasowej jedynie bieżących zmian.
aktualizacji i usuwania nie są istotne, wydaj komendę Objaśnienie:
RUNSTATS z opcją ALLOW READ ACCESS. Typ kopii zapasowej ma wartość 0 dla kopii całej bazy danych
3. Zwiększ wielkość próbki lub, jeśli komenda RUNSTATS lub 1 dla kopii jedynie zmian.
została wydana z opcją TABLESAMPLE SYSTEM, użyj
zamiast niej opcji TABLESAMPLE BERNOULLI. Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 317


SQL2401N • SQL2409N

Ponownie wprowadź komendę, podając poprawny typ. Wprowadź ponownie komendę RESTORE.

SQL2401N Opcji ″Utwórz kopię zapasową tylko zmian″ SQL2406N Nie można wykonać komendy BACKUP,
nie można wykonać do chwili utworzenia ponieważ konieczne jest odtworzenie zmian.
kopii zapasowej całej bazy danych. Typ
Objaśnienie:
kopii zapasowej musi mieć wartość 0.
Tworzenie kopii zapasowej nie powiodło się, ponieważ baza
Objaśnienie: danych jest niespójna.
Zostało wydane żądanie utworzenia kopii zapasowej tylko
zmian, bez wcześniejszego utworzenia kopii zapasowej całej Program narzędziowy zatrzymuje przetwarzanie.
bazy danych, albo, z uwagi na uszkodzenie pliku
wewnętrznego, program narzędziowy BACKUP nie był w Działanie użytkownika:
stanie określić, czy utworzono wcześniej kopię zapasową całej Aby baza danych mogła być używana, wprowadź komendę
bazy danych. Tworzenie kopii zapasowej zmian może być ROLLFORWARD. Następnie wprowadź ponownie komendę
wykonane tylko po utworzeniu kopii zapasowej całej bazy BACKUP.
danych.
SQL2407N Podczas odczytu pliku nazwa wystąpił błąd
Program narzędziowy zatrzymuje przetwarzanie. we/wy. Nie można wykonać komendy
BACKUP, ponieważ nie można określić, czy
Działanie użytkownika:
została zakończona komenda RESTORE.
Ponownie wprowadź komendę, podając poprawny typ.
Objaśnienie:
Wskazany plik nie może być odczytany z powodu błędu
SQL2403N Użytkownik nie ma uprawnień do
we/wy. Ponieważ plik istnieje, komenda BACKUP lub
uruchamiania programu narzędziowego
RESTORE musiała nie zostać zakończona. Po pomyślnym
działającego na bazie danych.
zakończeniu procedury ten plik jest usuwany.
Objaśnienie:
Użytkownik próbował uruchomić program narzędziowy bazy Program narzędziowy zatrzymuje przetwarzanie.
danych bez uprawnień SYSADM lub DBADM.
Działanie użytkownika:
Ustal, która procedura była wykonywana poprzednio. Usuń
Program narzędziowy zatrzymuje przetwarzanie.
wymieniony plik i wprowadź ponownie komendę.
Działanie użytkownika:
Nie używaj komendy bez odpowiednich uprawnień.
SQL2408W Została utworzona kopia zapasowa bazy
danych, ale wystąpił błąd we/wy błąd
SQL2404N Docelowy nośnik kopii zapasowej jest podczas usuwania pliku nazwa.
zapełniony. Wymagane jest co najmniej
Objaśnienie:
liczba bajtów wolnego miejsca.
Komenda BACKUP została wykonana pomyślnie.
Objaśnienie: Wymieniony plik nie został usunięty z powodu błędu we/wy.
Na nośniku docelowym kopii zapasowej nie ma wolnego
miejsca wystarczającego do utworzenia wewnętrznego Program narzędziowy zakończył przetwarzanie.
podkatalogu i pliku informacyjnego.
Działanie użytkownika:
Spróbuj usunąć plik wymieniony w komunikacie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
SQL2409N Podczas tworzenia kopii zapasowej tylko
Przygotuj nośnik kopii zapasowej z co najmniej podaną liczbą
zmian należy użyć ostatniego obrazu kopii
bajtów wolnego miejsca i wprowadź ponownie komendę.
zapasowej.
Objaśnienie:
SQL2405N Nie można wykonać komendy BACKUP,
Użytkownik próbował utworzyć kopię zapasową tylko zmian,
ponieważ nie została zakończona
ale podana kopia zapasowa nie była kopią aktualną albo
wcześniejsza komenda RESTORE.
poprzednie tworzenie kopii zapasowej tylko zmian nie
Objaśnienie: powiodło się.
Baza danych jest niespójna, ponieważ podczas operacji
odtwarzania wystąpił błąd lub komenda RESTORE została Program narzędziowy zatrzymuje przetwarzanie.
zakończona nieprawidłowo.
Działanie użytkownika:
Znajdź ostatnią kopię zapasową i wprowadź ponownie
Program narzędziowy zatrzymuje przetwarzanie.
komendę. Jeśli nie można znaleźć ostatniej kopii zapasowej
Działanie użytkownika: albo jeśli poprzednia kopia zapasowa zmian nie powiodła się,

318 Komunikaty, tom 2


SQL2410N • SQL2416W

należy wprowadzić ponownie komendę, wykonując kopię Jeśli śledzenie było aktywne, wywołaj program Independent
zapasową całej bazy, a nie tylko kopię zmian. Trace Facility z wiersza komend systemu operacyjnego.
Następnie skontaktuj się z przedstawicielem serwisu
technicznego i przekaż mu następujące informacje:
SQL2410N Opcji ″Utwórz kopię zapasową tylko zmian″
nie można wykonać, jeśli baza danych v Opis problemu
została włączona dla komendy v Kod SQLCODE lub numer komunikatu
ROLL-FORWARD lub jeśli jest v Obszar komunikacyjny SQL (jeśli jest to możliwe)
wykonywany program zewnętrzny
v Plik śledzenia (jeśli jest to możliwe).
BACKUP.
Objaśnienie:
SQL2413N Tworzenie kopii zapasowej otwartej bazy
Użytkownik próbował utworzyć kopię zapasową zmian dla
danych jest niedozwolone, ponieważ bazy
bazy z włączoną możliwością odtwarzania zmian albo chciał
danych nie można odtworzyć lub spełniony
utworzyć kopię zapasową zmian przez program zewnętrzny.
jest warunek tworzenia kopii zapasowej w
Działanie użytkownika: toku.
Możliwe są następujące rozwiązania:
Objaśnienie:
v Jeśli dla bazy danych włączono odtwarzanie zmian, należy Nie można utworzyć kopii zapasowej otwartej bazy danych,
wprowadzić ponownie komendę BACKUP żądając jeśli nie ma możliwości odtworzenia do przodu. Odtwarzanie
utworzenia kopii zapasowej całej bazy danych. do przodu może być wymagane w czasie odtwarzania.
v Wyłącz odtwarzanie zmian, wyłączając flagę Odtwarzanie do przodu zaczyna działać po ustawieniu
SQL_ENABLE_LOG_RETAIN i flagę parametru konfiguracyjnego bazy danych LOGARCHMETH1
SQL_ENABLE_USER_EXIT w pliku konfiguracyjnym lub LOGARCHMETH2 i tworzeniu kopii zapasowej
bazy danych. Następnie wprowadź ponownie komendę zamkniętej bazy danych.
BACKUP, żądając utworzenia kopii zapasowej zmian.
Działanie użytkownika:
v Utwórz kopię zapasową zmian, wprowadzając komendę Utwórz kopię zapasową zamkniętej bazy danych lub
BACKUP bez użycia programu zewnętrznego. skonfiguruj bazę danych do odtwarzania zmian i wtedy utwórz
v Jeśli próbowano utworzyć kopię zapasową na kopię zapasową zamkniętej bazy danych, aby możliwe było
standardowym urządzeniu za pomocą programu obsługi utworzenie kolejnych kopii zapasowych otwartej bazy danych.
wyjścia, należy wprowadzić ponownie komendę BACKUP
w celu utworzenia kopii zapasowej zmian bez użycia
SQL2414W Ostrzeżenie! Za mało miejsca na urządzeniu
programu zewnętrznego.
urządzenie, aby zawrzeć informacje
sterujące tworzeniem kopii zapasowej. Ten
SQL2411C Podczas wykonywania programu nośnik nie pomieści informacji o kopii
narzędziowego wystąpił błąd we/wy. Brak zapasowej.
możliwości fizycznego zapisu albo dysk jest
Objaśnienie:
zapełniony.
Podczas operacji tworzenia bazy danych, po zapełnieniu kilku
Objaśnienie: nośników, załadowano i ustawiono nowy nośnik. Na tym
Kiedy program narzędziowy zapisywał dane na dysku lub nośniku nie ma wystarczającej ilości miejsca na pomieszczenie
dyskietce, wystąpił błąd systemu operacyjnego. Bieżący kod Informacji kontrolnych kopii zapasowej (Backup Control
powrotu można znaleźć w polu SQLERRD[0] obszaru Information) i nośnik ten nie powinien być dołączany podczas
komunikacyjnego SQL. operacji odtwarzania.
Działanie użytkownika: Działanie użytkownika:
Sprawdź kod powrotu błędu w polu SQLERRD[0] obszaru Załaduj nowy nośnik lub ustaw ponownie nośnik bieżący, aby
komunikacyjnego SQL. Popraw błąd, jeśli jest to możliwe, i zapewnić wystarczającą ilość miejsca na nagłówek, następnie
ponownie wprowadź komendę. powróć do urządzenia, podając parametr callerac, określający,
czy przetwarzanie powinno być kontynuowane, czy
zakończone.
SQL2412C Podczas wykonywania programu
narzędziowego bazy danych napotkano
uszkodzoną stronę bazy danych. SQL2416W Ostrzeżenie! Urządzenie urządzenie jest
zapełnione. Załaduj nowy nośnik.
Objaśnienie:
Podczas operacji programu narzędziowego napotkano Objaśnienie:
uszkodzoną stronę bazy danych. Baza danych jest w stanie Taśma, której używa program narzędziowy, zapełniła się.
nieokreślonym i program narzędziowy nie może być
Działanie użytkownika:
kontynuowany.
Załaduj inną taśmę i kontynuuj operację z parametrem
Działanie użytkownika: callerac, określającym, czy przetwarzanie ma być
Zapisz numer komunikatu (SQLCODE). kontynuowane.

Rozdział 2. Komunikaty SQL 319


SQL2417N • SQL2424N

Powtórz operację tworzenia kopii zapasowej kierując wyjście


SQL2417N Komenda archive log nie jest dozwolona w
na nową taśmę albo zmień ustawienie bieżącej taśmy, tak aby
nieodtwarzalnych bazach danych.
zmieścił się na niej cały nagłówek.
Objaśnienie:
Komendę archive log można stosować jedynie w odniesieniu
SQL2421N Tworzenie kopii zapasowej na poziomie
do odtwarzalnych baz danych. Baza danych jest w trybie
obszaru tabel jest niedozwolone, ponieważ
odtwarzalnym, gdy parametr LOGARCHMETH1 ma wartość
odtwarzanie zmian nie jest włączone.
DISK, TSM, VENDOR, USEREXIT lub LOGRETAIN albo
gdy parametr LOGARCHMETH2 ma wartość DISK, TSM lub Objaśnienie:
VENDOR. Nie można utworzyć kopii zapasowej na poziomie obszaru
tabel, ponieważ nie ma możliwości odtworzenia do przodu.
Działanie użytkownika:
Odtwarzanie do przodu może być wymagane w czasie
Wprowadź podaną bazę danych w tryb odtwarzania i
odtwarzania. Odtwarzanie do przodu zaczyna działać po
ponownie wprowadź komendę.
ustawieniu parametru konfiguracyjnego bazy danych
LOGARCHMETH1 albo LOGARCHMETH2 i tworzeniu
SQL2418N Baza danych podana w komendzie Backup kopii zapasowej zamkniętej bazy danych.
(Kopia zapasowa) nie istnieje.
Działanie użytkownika:
Objaśnienie: Wykonaj pełną kopię zapasową bazy danych lub
Nie można znaleźć bazy danych określonej za pomocą przekonfiguruj bazę danych na odtwarzanie zmian i zażądaj
parametru dbase komendy Database Backup. tworzenia kopii zapasowej zamkniętej bazy danych, tak aby
było dozwolone tworzenie kopii zapasowej z poziomu obszaru
Działanie użytkownika:
tabel.
Sprawdź, czy w komendzie Backup Database podano
poprawny alias bazy danych, dla którego istnieje baza danych.
Wprowadź ponownie komendę, podając prawidłowy alias. SQL2422N Nie można utworzyć kopii zapasowej bazy
danych za pomocą zestawu funkcji
tworzenia kopii zapasowej API typu
SQL2419N Dysk docelowy dysk został zapełniony.
back-level ze względu na niezgodne
Objaśnienie: lokalizacje obszarów tabel.
Podczas przetwarzania programu narzędziowego bazy danych
Objaśnienie:
dysk docelowy zapełnił się. Program narzędziowy został
Ta baza danych zawiera obszary tabel zdefiniowane w innych
zatrzymany, a plik docelowy usunięty.
miejscach niż podkatalogi baz danych. Jest to niezgodne z
Działanie użytkownika: używanym zestawem funkcji API.
Zapewnij wystarczającą ilość miejsca na dysku lub podaj inne
Działanie użytkownika:
miejsce docelowe, np. taśmę.
Do tworzenia kopii zapasowej bazy danych użyj bieżącego
zestawu funkcji tworzenia kopii zapasowej API.
W systemach UNIX komunikat o zapełnieniu dysku może być
spowodowany przekroczeniem maksymalnej wielkości pliku
dozwolonego dla bieżącego identyfikatora użytkownika. Użyj SQL2423N Nie można utworzyć kopii bazy danych bazy
komendy chuser w celu aktualizacji parametru fsize. Może być danych, ponieważ brak niektórych plików
konieczne ponowne uruchomienie systemu. indeksów.
Objaśnienie:
W systemach innych niż UNIX zapełnienie dysku może być Brakuje niektórych plików indeksów potrzebnych do
spowodowane przekroczeniem maksymalnego rozmiaru pliku tworzenia kopii zapasowej. Przed utworzeniem kopii
dozwolonego w systemie operacyjnym. Podaj inne miejsce zapasowej bazy danych pliki te muszą zostać ponownie
docelowe, np. taśmę, lub skorzystaj z możliwości podania utworzone.
wielu miejsc docelowych.
Działanie użytkownika:
Uruchom program ’db2recri’ w celu ponownego utworzenia
SQL2420N Za mało miejsca na urządzeniu urządzenie, brakujących plików indeksów, a następnie wprowadź
aby zamieścić wstępne informacje sterujące ponownie komendę tworzenia kopii zapasowej.
tworzeniem kopii zapasowej.
Objaśnienie: SQL2424N Utworzenie kopii zapasowej nie powiodło
Podczas tworzenia kopii zapasowej na początku obrazu kopii się, ponieważ asynchroniczne kopiowanie w
zapasowej jest tworzony nagłówek kopii zapasowej. Jeśli programie DB2 Data Links Manager nie
kopia zapasowa zapisywana jest na taśmę, taki nagłówek musi zostało zakończone.
zmieścić się na jednej taśmie. Na taśmie nie ma wystarczającej
ilości miejsca, aby pomieścić taki nagłówek. Objaśnienie:
Działanie użytkownika:

320 Komunikaty, tom 2


SQL2425W • SQL2429N

Możliwe, że TSM lub serwer archiwizacji, pochodzący od


SQL2427N Dla biblioteki wtyczek nazwa-pliku nie
niezależnego dostawcy nie jest w stanie gotowości do
można utworzyć kopii zapasowej, ponieważ
działania.
nie zawiera ona punktu wejścia
Działanie użytkownika: punkt-wejścia.
Upewnij się, że TSM lub serwer archiwizacji, pochodzący od
Objaśnienie:
niezależnego dostawcy był gotowy do działania i wprowadź
Tworzony jest skompresowany obraz kopii zapasowej z
ponownie komendę tworzenia kopii zapasowej.
uwzględnieniem biblioteki wtyczki. Jednak biblioteka ta nie
zawiera wszystkich funkcji niezbędnych do przeprowadzenia
SQL2425W Plik dziennika dla tworzenia kopii dekompresji obrazu kopii zapasowej przy jej odtwarzaniu.
zapasowej otwartej bazy danych nie został
obcięty. Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie: Działanie użytkownika:
Podczas tworzenia kopii zapasowej otwartej bazy danych, Wydaj komendę ponownie, podając nazwę biblioteki
wszystkie zbuforowane zapisy w dzienniku są zapisywane na zawierającej wszystkie funkcje potrzebne do dekompresji
dysku, a ostatni aktywny plik dziennika jest obcinany. Podczas obrazu kopii zapasowej.
tworzenia bieżącej kopii zapasowej, nie powiodło się obcięcie
ostatniego aktywnego pliku dziennika. W związku tym nowe
SQL2428N Operacja BACKUP nie została zakończona,
zapisy w dzienniku będą zapisywane do ostatniego pliku
ponieważ nie można pobrać co najmniej
dziennika, używanego podczas tworzenia kopii zapasowej.
jednego z żądanych plików dzienników.
Działanie użytkownika:
Objaśnienie:
Nie jest wymagane żadne działanie użytkownika. Ostatni
Operacja tworzenia kopii zapasowej uwzględniającej dzienniki
aktywny plik dziennika używany podczas tworzenia kopii
nie powiedzie się, jeśli nie będzie można pobrać i skopiować
zapasowej może stać się nieaktywny, jeśli zostanie w całości
do obrazu kopii zapasowej któregokolwiek z dzienników
wypełniony.
niezbędnych do pomyślnego odtworzenia zmian.
Działanie użytkownika:
SQL2426N Konfiguracja bazy danych nie pozwala na
Dodatkowe informacje o przyczynie niepowodzenia operacji
przyrostowe tworzenie kopii zapasowej.
pobrania dziennika można znaleźć w dzienniku powiadomień
Kod przyczyny = kod-przyczyny.
administracyjnych. Popraw błąd i wprowadź ponownie
Objaśnienie: komendę.
Przyrostowe tworzenie kopii zapasowych nie będzie włączone
dla danego obszaru tabel, dopóki dla bazy danych nie zostanie
SQL2429N Tworzenie kopii zapasowej bazy danych nie
aktywowane śledzenie modyfikacji, a na obszarze tabel nie
powiodło się. Następujące partycje bazy
zostanie przeprowadzona operacja nieprzyrostowego
danych zwróciły błędy:
tworzenia kopii zapasowej.
lista-partycji-bazy-danych.
Możliwe kody przyczyny: Objaśnienie:
1. Dla bazy danych nie został określony parametr Tworzenie kopii zapasowej partycjonowanej bazy danych nie
konfiguracyjny TRACKMOD. powiodło się dla co najmniej jednej partycji bazy danych.
2. Parametr konfiguracyjny TRACKMOD został ustawiony,
Gdy serwer bazy danych DB2 tworzy kopię zapasową
jednak od momentu jego ustawienia dla co najmniej
partycjonowanej bazy danych, awaria na jednej z partycji
jednego obszaru tabel nie utworzono nieprzyrostowej kopii
powoduje, że cała operacja tworzenia kopii zapasowej nie
zapasowej.
powiedzie się.
Działanie użytkownika:
Działanie zależy od kodu przyczyny: Operacja tworzenia kopii zapasowej została przerwana. Nie
1. Aktywuj śledzenie modyfikacji w bazie danych, ustawiając wygenerowano kopii zapasowej.
parametr konfiguracyjny TRACKMOD bazy danych na Działanie użytkownika:
ON, a następnie utwórz pełną kopię zapasową.
1. Dla każdej partycji, która zwróciła błąd, popraw problemy
2. Określ nazwę obszaru tabel, korzystając z pliku powodujące ten błąd.
db2diag.log, a następnie wykonaj pełną kopię zapasową
tego obszaru tabel. 2. Uruchom ponownie komendę BACKUP.

Rozdział 2. Komunikaty SQL 321


SQL2430W • SQL2432N

Działanie użytkownika:
SQL2430W Tworzenie kopii zapasowej bazy danych
Jeśli strategia odtwarzania bazy danych jest oparta na
powiodło się, ale w tej partycji bazy danych
korzystaniu tylko z plików dziennika dołączonych do obrazów
nie istnieją następujące obszary tabel:
kopii zapasowej, aby wycofać zmiany partycjonowanej bazy
lista-obszarów-tabel.
danych, należy uruchomić ponownie komendę tworzenia kopii
Objaśnienie: zapasowej z parametrem ″ON ALL DBPARTITIONNUMS″.
Serwer bazy danych DB2 pomyślnie utworzył kopię zapasową Zapewni to, że pliki dziennika dołączone do obrazu kopii
partycjonowanej bazy danych zawierającej tą partycję. zapasowej będą wystarczające, aby wycofać zmiany bazy
danych.
Jednak niektóre obszary tabel podane w komendzie BACKUP
nie istnieją na tej partycji. Może tak być, ponieważ podane
SQL2432N Tworzenie kopii zapasowej obrazu stanu nie
obszary tabel znajdują się na innych partycjach tej bazy
powiodło się, ponieważ został podany
danych lub lista podanych obszarów tabel zawiera błąd.
parametr EXCLUDE LOGS, ale nie można
było wykluczyć wymienionych katalogów
Tworzenie kopii zapasowej zostało pomyślnie zakończone. dzienników, ponieważ są one zależne od
Działanie użytkownika: innych ścieżek i urządzeń bazy danych:
lista-katalogów-dzienników.
1. Sprawdź, czy lista obszarów tabel podanych w komendzie
BACKUP jest poprawna. Objaśnienie:
2. Tworzenie kopii zapasowej obrazu stanu umożliwia
korzystanie z technologii szybkiego kopiowania do
v Jeśli lista podanych obszarów tabel jest poprawna, nie
kopiowania danych oraz przenoszenia części operacji
jest wymagane żadne działanie.
tworzenia i odtwarzania kopii zapasowych bazy danych DB2.
v Jeśli lista podanych obszarów tabel zawiera błąd,
popraw listę i ponownie uruchom komendę BACKUP. Dla tworzenia kopii zapasowej obrazu stanu określono
parametr EXCLUDE LOGS, ale ścieżka dla podanego
SQL2431W Tworzenie kopii zapasowej bazy danych katalogu lub katalogów dzienników współużytkuje ścieżkę lub
zakończone pomyślnie. Na każdej partycji urządzenie pamięci masowej z innymi ścieżkami lub
bazy danych do obrazu kopii zapasowej urządzeniami pamięci masowej wykorzystywanymi przez bazę
dołączane są tylko te pliki dziennika, które danych, której kopia zapasowa jest tworzona.
były aktywne podczas tworzenia kopii
zapasowej. Gdy katalog dzienników współużytkuje ścieżkę lub urządzenie
pamięci masowej z innymi ścieżkami lub urządzeniami
Objaśnienie: pamięci masowej wykorzystywane przez bazę danych, której
Serwer bazy danych DB2 pomyślnie utworzył kopię zapasową kopia zapasowa jest tworzona, operacja tworzenia kopii
partycjonowanej bazy danych. zapasowej obrazu stanu nie może dołączyć współużytkowanej
ścieżki lub urządzenia pamięci masowej bez dołączania
Obraz kopii zapasowej każdej partycji bazy danych zawiera katalogu dzienników.
tylko te pliki dziennika, które były aktywne podczas tworzenia
kopii zapasowej. Odtwarzanie zmian całej partycjonowanej Na przykład: gdy tworzona jest baza danych DB2, domyślnie
bazy danych nie jest możliwe z wykorzystaniem tylko plików w głównym katalogu bazy danych tworzony jest katalog
dziennika dołączonych do obrazów kopii zapasowej, jeśli dzienników. Ponieważ operacja tworzenia kopii zapasowej
dowolny z tych plików nie obejmuje minimalnego okresu obrazu stanu obejmie wszystko, co znajduje się w głównym
wymaganego dla odtwarzania bazy danych. katalogu bazy danych, katalog dzienników także zostanie
dołączony do wynikowej kopii zapasowej. Jeśli podczas
Minimalny czas odtwarzania (MRT) dla obiektu bazy danych tworzenia bazy danych DB2 użyta zostanie domyślna ścieżka
to najstarszy punkt w czasie, do którego można wycofać bazę. dzienników, użytkownik nie będzie mógł wykluczyć
dzienników z obrazu kopii zapasowej podczas tworzenia kopii
W partycjonowanej bazie danych, minimalny czas odtwarzania zapasowej obrazu stanu dla tej bazy danych.
(MRT) bazy danych to najnowszy czas MRT dla jej dowolnej
partycji. Mechanizm grupowania katalogów bazy danych różni się w
zależności od funkcji tworzenia kopii zapasowej obrazu stanu
Zmiany partycjonowanej bazy danych można odtworzyć, jeśli udostępnianej przez różne oprogramowanie do zarządzania
na wszystkich partycjach bazy danych jest dostępny zestaw pamięcią masową. Aby uzyskać więcej informacji, patrz temat
plików dziennika, który obejmuje minimalny czas odtwarzania ″Konfigurowanie katalogów bazy danych DB2 do tworzenia
bazy danych. kopii zapasowych obrazu stanu″ w Centrum informacyjnym
DB2.
Pliki dziennika dołączone do obrazu kopii zapasowej mogą nie
spełniać tego wymagania. Tworzenie kopii zapasowej obrazu stanu zakończyło się
niepowodzeniem.
Tworzenie kopii zapasowej zostało pomyślnie zakończone.

322 Komunikaty, tom 2


SQL2501C • SQL2505W

Działanie użytkownika:
SQL2503N Komenda RESTORE nie powiodła się.
Można wykonać jedną z następujących czynności:
Kopia zapasowa użyta do odtworzenia bazy
v Nie wykluczać dzienników z obrazu kopii zapasowej obrazu danych zawierała niewłaściwą bazę danych.
stanu.
Objaśnienie:
v Wprowadzić ponownie komendę BACKUP bez parametru
Nazwa bazy danych znajdującej się na dysku kopii zapasowej
EXCLUDE LOGS.
różni się od nazwy bazy danych podanej w komendzie
v Przekonfigurować katalog dzienników, aby wykluczyć RESTORE. Program narzędziowy RESTORE nie jest w stanie
dzienniki z obrazu kopii zapasowej obrazu stanu. określić nazwy aż do chwili odtworzenia bazy danych,
v Użyć parametru konfiguracyjnego bazy danych newlogpath, ponieważ odtworzono kopię zapasową poprzedniego wydania.
aby określić ścieżkę dla katalogu dzienników, która jest
niezależna w stosunku do innych ścieżek bazy danych. Program narzędziowy zatrzymuje przetwarzanie.
v Wywołać ponownie komendę BACKUP, korzystając z Działanie użytkownika:
parametru EXCLUDE LOGS. Jeśli w komendzie podano błędną nazwę bazy danych,
v Użyć widoku administracyjnego DBPATHS, aby określić wprowadź ponownie komendę, podając poprawną nazwę bazy.
bieżące ścieżki bazy danych. Jeśli napędem wejściowym jest stacja dyskietek, sprawdź, czy
znajduje się w nim właściwa dyskietka. Jeśli napędem
Aby dowiedzieć się więcej na temat korzystania z widoku wejściowym jest dysk twardy, sprawdź, czy podano właściwą
administracyjnego DBPATHS, należy zapoznać się z tematem nazwę pliku. Wprowadź ponownie komendę, podając
″DBPATHS″ w Centrum informacyjnym DB2. prawidłowy napęd wejściowy i wkładając właściwą dyskietkę,
jeśli ma to zastosowanie.
SQL2501C Baza danych została odtworzona, ale
zawarte w niej dane nie nadają się do SQL2504W Włóż pierwszą dyskietkę kopii zapasowej do
użycia. napędu napęd.
Objaśnienie: Objaśnienie:
Program narzędziowy RESTORE nie może odczytać danych z Program narzędziowy RESTORE odczytuje pierwszą
odtwarzanej bazy lub została odtworzona jedynie część bazy. dyskietkę kopii, aby określić ścieżkę do katalogu bazy danych,
W obu przypadkach odtworzona baza danych jest nie do dla której utworzono kopię zapasową. Jeśli nośnikiem kopii
użycia. zapasowej jest dyskietka, program powróci do programu
wywołującego z tym komunikatem, jeśli nie znajdzie dyskietki
Baza danych nie nadaje się do użycia i program narzędziowy w podanym napędzie. Program wywołujący powinien poprosić
RESTORE przerywa przetwarzanie. użytkownika o reakcję i zwrócić odpowiedź użytkownika
programowi narzędziowemu.
Działanie użytkownika:
Wprowadź ponownie komendę RESTORE. Program narzędziowy czeka na reakcję programu
wywołującego.
SQL2502C Podczas odczytu plików kopii zapasowej Działanie użytkownika:
wystąpił błąd. Nie można fizycznie odczytać Zgłoś użytkownikowi konieczność wymiany dyskietki i zwróć
danych z dysku lub podany dysk nie do programu narzędziowego parametr callerac, określający,
zawiera poprawnej kopii zapasowej. czy przetwarzanie jest, czy nie jest kontynuowane.
Objaśnienie:
Podczas odczytu dyskietki lub dysku przez program SQL2505W Ostrzeżenie! Baza danych nazwa znajduje
narzędziowy RESTORE wystąpił błąd systemowy lub się na napędzie napęd. Pliki tej bazy danych
dyskietka (dysk) nie zawiera kopii zapasowej katalogu bazy zostaną usunięte.
danych ani wcześniejszej kopii zapasowej.
Objaśnienie:
Program narzędziowy zatrzymuje przetwarzanie. Jeśli baza, która ma być odtwarzana, już istnieje, jej pliki
zostaną usunięte przed rozpoczęciem procesu odtwarzania.
Działanie użytkownika: Program narzędziowy powraca z tym ostrzeżeniem do
Jeśli napędem wejściowym jest stacja dyskietek, sprawdź, czy programu wywołującego. Program wywołujący powinien
znajduje się w nim właściwa dyskietka. Jeśli napędem poprosić użytkownika o reakcję i zwrócić odpowiedź
wejściowym jest dysk twardy, sprawdź, czy podano właściwą użytkownika programowi narzędziowemu. Po usunięciu bazy
nazwę pliku. Wprowadź ponownie komendę, podając danych dostęp do niej nie jest możliwy.
prawidłowy napęd wejściowy i wkładając właściwą dyskietkę,
jeśli ma to zastosowanie. Program narzędziowy czeka na reakcję programu
wywołującego.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 323


SQL2506W • SQL2513N

Ostrzeż użytkownika, że baza danych zostanie usunięta i


SQL2509N Podana litera napędu bazy danych jest
zwróć do programu narzędziowego parametr callerac,
niepoprawna.
określający, czy przetwarzanie jest, czy nie jest kontynuowane.
Objaśnienie:
Podany napęd nie istnieje, nie ma na nim bazy danych lub baza
SQL2506W Baza danych została odtworzona, ale w
danych nie została wpisana do katalogu. Aby odtworzyć bazę
bazie mogą być dodatkowe pliki.
danych, program RESTORE powinien użyć komendy
Objaśnienie: db2uexit.
Jeśli było utworzono kopię zapasową tylko zmian i między
tworzeniem kopii usunięto pliki bazy danych, komenda Program narzędziowy zatrzymuje przetwarzanie.
RESTORE ponownie dodaje usunięte pliki do bazy danych.
Działanie użytkownika:
Proces odtwarzania nie mógł usunąć tych dodatkowych plików
Wprowadź ponownie komendę, podając prawidłowy napęd.
z powodu błędu we/wy lub z powodu przerwania
wewnętrznego połączenia z wewnętrznie zatrzymaną bazą
danych. SQL2510N Wystąpił błąd semafora systemu
operacyjnego.
Program narzędziowy zakończył działanie pomyślnie.
Objaśnienie:
Działanie użytkownika: Wystąpił błąd podczas oczekiwania na semafor lub korzystania
Można korzystać z bazy danych w stanie obecnym lub z niego.
ponownie spróbować ją odtworzyć. Przed ponownym
uruchomieniem programu RESTORE sprawdź, czy Program narzędziowy zatrzymuje przetwarzanie.
konfiguracja DB2 jest zgodna z konfiguracją odtworzonej
bazy danych. Działanie użytkownika:
Wyłącz program menedżer baz danych, a następnie uruchom
go ponownie i wprowadź ponownie komendę programu
SQL2507W Program narzędziowy RESTORE nie jest narzędziowego.
prawidłowo powiązany z bazą danych.
Objaśnienie: SQL2511N Program narzędziowy napotkał błąd błąd
Ponieważ program narzędziowy RESTORE nie był powiązany podczas usuwania bazy danych.
z bazą danych lub powiązany pakiet programu jest niezgodny
z zainstalowaną wersją DB2, wszystkie programy narzędziowe Objaśnienie:
zostały ponownie powiązane. Jednak między zainstalowaną Program narzędziowy nie może usunąć bazy danych.
wersją DB2 a pakietem wystąpił konflikt datowników,
wskutek czego program narzędziowy jest niezgodny z plikiem Program narzędziowy zatrzymuje przetwarzanie.
powiązań. Działanie użytkownika:
W celu uzyskania dalszych informacji sprawdź numer błędu
Baza danych została odtworzona, ale program narzędziowy nie podany w komunikacie. Wprowadź zmiany i ponownie
jest powiązany. wprowadź komendę.
Działanie użytkownika:
Ponownie zainstaluj DB2 lub wprowadź ponownie ostatnie SQL2512N Program narzędziowy napotkał błąd błąd
aktualizacje i wprowadź ponownie komendę programu podczas tworzenia bazy danych.
narzędziowego.
Objaśnienie:
Program narzędziowy nie może utworzyć bazy danych.
SQL2508N Parametr datownika programu
narzędziowego Database Restore datownik Program narzędziowy zatrzymuje przetwarzanie.
nie jest poprawny.
Działanie użytkownika:
Objaśnienie: W celu uzyskania dalszych informacji sprawdź numer błędu
Parametr datownik musi zawierać wartość NULL lub podany w komunikacie. Wprowadź zmiany i ponownie
poprawną część datownika, zawierającą kompletne wprowadź komendę.
komponenty datownika.
Działanie użytkownika: SQL2513N Program narzędziowy napotkał błąd błąd
Powtórz operację Restore z poprawnym datownikiem. przy zmienianiu nazwy bazy danych.
Objaśnienie:
Program narzędziowy nie może zmienić nazwy bazy danych.

Program narzędziowy zatrzymuje przetwarzanie.


Działanie użytkownika:

324 Komunikaty, tom 2


SQL2514N • SQL2520W

W celu uzyskania dalszych informacji sprawdź numer błędu Użytkownik, który wprowadził komendę RESTORE, ma
podany w komunikacie. Wprowadź zmiany i ponownie uprawnienie DBADM do tej bazy danych. Jeśli są jeszcze inni
wprowadź komendę. użytkownicy tej bazy, administrator bazy danych z
uprawnieniem DBADM musi nadać im odpowiednie
uprawnienia.
SQL2514N Komenda RESTORE nie powiodła się.
Kopia zapasowa użyta do odtworzenia bazy
Program RESTORE zakończył działanie pomyślnie.
danych, zawierała bazę danych o numerze
wydania niezgodnym z wersją Działanie użytkownika:
zainstalowanego menedżera bazy danych. Przed użyciem bazy danych określ właściwą reakcję
użytkownika na podstawie kodu SQLCODE zwróconego w
Objaśnienie:
wyniku migracji.
Numer wersji odtwarzanej bazy danych jest niezgodny z
numerem zainstalowanej wersji menedżera baz danych.
SQL2518N Komenda RESTORE nie powiodła się.
Program narzędziowy zatrzymuje przetwarzanie. Podczas próby odtworzenia pliku
konfiguracyjnego bazy danych wystąpił
Działanie użytkownika:
błąd we/wy.
Wprowadź ponownie komendę, korzystając z kopii zapasowej,
która jest zgodna z numerem wersji menedżera baz danych. Objaśnienie:
Nie można odtworzyć pliku konfiguracyjnego bazy danych,
ponieważ wystąpił błąd we/wy.
SQL2515N Użytkownik nie ma uprawnienia do
uruchomienia programu narzędziowego
Program narzędziowy zatrzymuje przetwarzanie.
RESTORE dla tej bazy danych.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy błąd we/wy może być usunięty. Wprowadź
Użytkownik próbował wykonać program RESTORE, nie
ponownie komendę.
mając uprawnienia SYSADM.

Program narzędziowy zatrzymuje przetwarzanie. SQL2519N Baza danych została odtworzona, ale
odtworzona baza danych nie została
Działanie użytkownika:
poddana migracji do bieżącej wersji. Został
Nie próbuj uruchomić programu RESTORE bez odpowiednich
zwrócony błąd kod_sql z elementami
uprawnień.
elementy.
Objaśnienie:
SQL2516N Program narzędziowy RESTORE nie może
Obraz kopii zapasowej zawiera bazę danych w poprzedniej
zakończyć działania, ponieważ co najmniej
wersji. Po odtworzeniu bazy danych usiłowano dokonać jej
jedna baza danych jest używana na stacji
migracji do wersji bieżącej. Jednak migracja nie powiodła się.
roboczej.
Objaśnienie: Program narzędziowy kończy przetwarzanie, ale migracja
W niektórych sytuacjach program narzędziowy RESTORE bazy danych nie została wykonana.
usiłuje przenieść bazę danych do katalogu, zmieniając nazwę
Działanie użytkownika:
katalogu skojarzonego z tą bazą danych. Nie może tego zrobić,
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
jeśli jakieś bazy danych są używane przez proces na tej stacji
(numer komunikatu) w komunikacie. Wprowadź zmiany i
roboczej.
wprowadź komendę Migrate przed użyciem tej bazy danych.
Program narzędziowy zatrzymuje przetwarzanie.
SQL2520W Baza danych została odtworzona. Użyto
Działanie użytkownika:
wersji pliku konfiguracyjnego zapisanego w
Poczekaj, aż żadne bazy danych nie będą używane na stacji
kopii zapasowej.
roboczej i wprowadź ponownie komendę.
Objaśnienie:
Podczas odtwarzania bazy danych nie zawsze bieżąca wersja
SQL2517W Wykonano migrację odtworzonej bazy
pliku konfiguracyjnego jest zastępowana przez kopię
danych do wersji bieżącej. Migracja
zapasową. Jednak bieżąca wersja pliku konfiguracyjnego bazy
zwróciła kod SQL kod_sql i elementy
danych nie nadawała się do użycia. Została ona zastąpiona
elementy.
przez kopię zapasową.
Objaśnienie:
Kopię zapasową odtworzonej bazy danych utworzono przy Program narzędziowy pomyślnie zakończył działanie.
użyciu poprzedniej wersji DB2. Program RESTORE wykonał
Działanie użytkownika:
migrację tej bazy do wersji bieżącej.

Rozdział 2. Komunikaty SQL 325


SQL2521W • SQL2525W

Niektóre wartości przechowywane w pliku konfiguracyjnym Alias bazy danych i nazwa docelowej bazy danych są takie
bazy danych mogą się zmienić po odtworzeniu. Sprawdź, czy same, jak nazwa i alias bazy danych w pliku kopii zapasowej.
parametry konfiguracyjne mają żądane wartości. Kody (seeds) baz danych nie są takie same, co oznacza, że są
to różne bazy danych. Docelowa baza danych zostanie
zastąpiona kopią zapasową. Dzienniki odtwarzania zmian
SQL2521W Baza danych została odtworzona, ale
skojarzone z docelową bazą danych zostaną usunięte. Bieżący
wystąpił błąd we/wy kod podczas usuwania
plik konfiguracyjny zostanie nadpisany przez kopię zapasową.
typu pliku typ-pliku.
Działanie użytkownika:
Objaśnienie:
Wróć do programu narzędziowego z parametrem callerac
Proces odtwarzania zakończył się pomyślnie. Podany plik nie
wskazującym na kontynuowanie lub zakończenie
został usunięty z powodu błędu we/wy.
przetwarzania.
Plik z rozszerzeniem “.BRG” jest wykorzystywany do
określenia, czy operacja RESTORE zakończyła się błędem. SQL2524W Ostrzeżenie! Odtwarzanie do istniejącej
Plik znajduje się w katalogu lokalnej bazy danych, dla której bazy danych, która wydaje się taka sama,
próbowano wykonać operację RESTORE. ale alias baza-danych istniejącej bazy danych
jest niezgodny z aliasem baza-danych kopii
Plik z rozszerzeniem “.BRI” przechowuje informacje o zapasowej. Docelowa baza danych zostanie
postępie przyrostowej operacji RESTORE. Plik znajduje się w zastąpiona kopią zapasową.
katalogu lokalnej bazy danych, dla której próbowano wykonać Objaśnienie:
operację RESTORE INCREMENTAL. Kody (seeds) docelowej bazy danych i obrazu bazy danych są
takie same, co oznacza, że jest to ta sama baza danych. Nazwy
Nazwa pliku składa się ze znacznika bazy danych sklejonego z także są zgodne, mimo że aliasy baz danych różnią się.
rozszerzeniem typu pliku. Na przykład, jeśli bazie danych Docelowa baza danych zostanie zastąpiona kopią zapasową.
“SAMPLE” przypisano znacznik bazy danych “SQL00001”,
plik BRI będzie nosił nazwę “instancja/NODE0000/sqldbdir/ Działanie użytkownika:
SQL00001.BRI”. Wróć do programu narzędziowego z parametrem callerac
wskazującym na kontynuowanie lub zakończenie
Program narzędziowy pomyślnie zakończył działanie. przetwarzania.

Działanie użytkownika:
Usuń plik .BRG lub .BRI ręcznie. Jeśli pliku nie można SQL2525W Ostrzeżenie! Odtwarzanie do istniejącej
usunąć, skontaktuj się z przedstawicielem serwisu bazy danych, która jest inna niż baza
technicznego. danych w kopii zapasowej, alias baza-danych
istniejącej bazy danych jest niezgodny z
aliasem baza-danych kopii zapasowej, ale
SQL2522N Z datownikiem podanym dla obrazu kopii nazwy baz danych są takie same. Docelowa
zapasowej bazy danych zgodny jest więcej baza danych zostanie zastąpiona kopią
niż jeden plik kopii zapasowej. zapasową. Dzienniki odtwarzania zmian
Objaśnienie: skojarzone z docelową bazą danych zostaną
Nazwa pliku kopii zapasowej składa się z aliasu bazy danych i usunięte.
datownika. Nazwa pliku tworzona jest z aliasu źródłowej bazy Objaśnienie:
danych i parametrów datownika podanego w wywołaniu Aliasy docelowej bazy danych i obrazu bazy danych nie są
Database Restore. Może być podana tylko część datownika, zgodne, ich nazwy pokrywają się, jednak kody (seeds) baz
wskutek czego pasuje do niego więcej niż jedna nazwa obrazu danych różnią się, co oznacza, że są to różne bazy danych.
pliku kopii zapasowej. Docelowa baza danych zostanie zastąpiona kopią zapasową.
Działanie użytkownika: Dzienniki odtwarzania zmian skojarzone z docelową bazą
Powtórz operację podając więcej składników datownika, tak danych zostaną usunięte. Bieżący plik konfiguracyjny zostanie
aby pasował do niego tylko jeden plik kopii zapasowej. nadpisany przez kopię zapasową.
Działanie użytkownika:
SQL2523W Ostrzeżenie! Trwa odtwarzanie do Wróć do programu narzędziowego z parametrem callerac
istniejącej bazy danych, która różni się od wskazującym na kontynuowanie lub zakończenie
bazy danych w pliku kopii zapasowej mimo przetwarzania.
zgodnych nazw. Docelowa baza danych
zostanie zastąpiona kopią zapasową.
Dzienniki odtwarzania zmian skojarzone z
docelową bazą danych zostaną usunięte.
Objaśnienie:

326 Komunikaty, tom 2


SQL2526W • SQL2531N

że aliasy i nazwy baz danych różnią się. Bieżąca baza danych


SQL2526W Ostrzeżenie! Odtwarzanie do istniejącej
zostanie nadpisana przez wersję odtworzoną.
bazy danych, która jest taka sama, jak baza
danych z kopii zapasowej, takie same są Działanie użytkownika:
również aliasy, ale nazwa bazy danych Wróć do programu narzędziowego z parametrem callerac
nazwa-bazy-danych istniejącej bazy danych wskazującym na kontynuowanie lub zakończenie
nie jest zgodna z nazwą bazy danych przetwarzania.
nazwa-bazy-danych kopii zapasowej.
Docelowa baza danych zostanie zastąpiona
kopią zapasową. SQL2529W Ostrzeżenie! Odtwarzanie do istniejącej
bazy danych, która jest inna niż baza
Objaśnienie: danych w kopii zapasowej, alias baza-danych
Aliasy i kody (seeds) docelowej bazy danych i obrazu bazy istniejącej bazy danych nie jest zgodny z
danych są takie same, jednak ich nazwy są różne. Są to te same aliasem baza-danych kopii zapasowej, a
bazy danych. Docelowa baza danych zostanie zastąpiona kopią nazwa bazy danych nazwa-bazy-danych
zapasową. istniejącej bazy danych nie jest zgodna z
nazwą bazy danych nazwa-bazy-danych kopii
Działanie użytkownika:
zapasowej. Docelowa baza danych zostanie
Wróć do programu narzędziowego z parametrem callerac
zastąpiona kopią zapasową. Dzienniki
wskazującym na kontynuowanie lub zakończenie
odtwarzania zmian skojarzone z docelową
przetwarzania.
bazą danych zostaną usunięte.
Objaśnienie:
SQL2527W Ostrzeżenie! Odtwarzanie do istniejącej
Aliasy docelowej bazy danych i obrazu bazy danych są różne,
bazy danych, która jest inna niż baza
także ich nazwy nie pokrywają się, a kody (seeds) baz danych
danych w kopii zapasowej, nazwa bazy
nie są identyczne, co oznacza, że są to różne bazy danych.
danych nazwa-bazy-danych istniejącej bazy
Bieżąca baza danych zostanie nadpisana przez wersję
danych jest niezgodna z nazwą bazy danych
odtworzoną. Dzienniki odtwarzania zmian skojarzone z
nazwa-bazy-danych kopii zapasowej, ale
docelową bazą danych zostaną usunięte. Bieżący plik
aliasy są takie same. Docelowa baza danych
konfiguracyjny zostanie nadpisany przez kopię zapasową.
zostanie zastąpiona kopią zapasową.
Dzienniki odtwarzania zmian skojarzone z Działanie użytkownika:
docelową bazą danych zostaną usunięte. Wróć do programu narzędziowego z parametrem callerac
wskazującym na kontynuowanie lub zakończenie
Objaśnienie:
przetwarzania.
Aliasy docelowej bazy danych i obrazu bazy danych są
zgodne, ich nazwy nie są zgodne, jednak kody (seeds) baz
danych różnią się, co oznacza, że są to różne bazy danych. SQL2530N Obraz kopii zapasowej jest uszkodzony. Nie
Docelowa baza danych zostanie zastąpiona kopią zapasową. jest możliwe odtworzenie bazy danych z
Dzienniki odtwarzania zmian skojarzone z docelową bazą tego pliku.
danych zostaną usunięte. Bieżący plik konfiguracyjny zostanie
nadpisany przez kopię zapasową. Objaśnienie:
Obraz kopii zapasowej jest uszkodzony i nie jest możliwe
Działanie użytkownika: odtworzenie z niego bazy danych.
Wróć do programu narzędziowego z parametrem callerac
wskazującym na kontynuowanie lub zakończenie Działanie użytkownika:
przetwarzania. Usuń ten obraz bazy danych, ponieważ nie nadaje się on do
użycia. Odtwórz bazę z poprzedniej kopii zapasowej, jeśli to
możliwe.
SQL2528W Ostrzeżenie! Odtwarzanie do istniejącej
bazy danych, która jest taka sama, jak baza
danych z kopii zapasowej, ale alias SQL2531N Wybrany do odtworzenia obraz kopii
baza-danych istniejącej bazy danych nie jest zapasowej nie jest prawidłowym obrazem
zgodny z aliasem baza-danych kopii bazy danych.
zapasowej, a nazwa bazy danych Objaśnienie:
nazwa-bazy-danych istniejącej bazy danych Plik wybrany do odtworzenia jest niepoprawnym obrazem
nie jest zgodna z nazwą bazy danych kopii zapasowej. Wybrany plik jest uszkodzony lub taśma
nazwa-bazy-danych kopii zapasowej. kopii zapasowej nie jest ustawiona we właściwym miejscu.
Docelowa baza danych zostanie zastąpiona
kopią zapasową. Działanie użytkownika:
Określ położenie prawidłowego pliku obrazu bazy danych i
Objaśnienie: wprowadź ponownie komendę Restore.
Kody (seeds) docelowej bazy danych i obrazu bazy danych są
takie same, co oznacza, że jest to ta sama baza danych, mimo

Rozdział 2. Komunikaty SQL 327


SQL2532N • SQL2539W

SQL2532N Plik kopii zapasowej zawiera kopię SQL2536W Ostrzeżenie! Obraz kopii zapasowej na
zapasową bazy danych alias-bazy-danych urządzeniu urządzenie ma niewłaściwy
zrobioną w chwili datownik. Nie jest to numer kolejny. Oczekiwano numeru numer.
żądany obraz bazy danych.
Objaśnienie:
Objaśnienie: Taśma jest ustawiona na obrazie kopii zapasowej, który nie ma
Plik wybrany do odtworzenia nie zawiera żądanego obrazu kolejnego numeru. Taśma zawierająca obraz kopii zapasowej
bazy danych. Jest to obraz innej bazy danych niż żądana. musi być ustawiona w miejscu pliku kopii zapasowej z
numerem kolejnym kolejność.
Działanie użytkownika:
Jeśli korzystasz z taśmy, sprawdź, czy została włożona Działanie użytkownika:
właściwa taśma. Jeśli odtwarzanie lub ładowanie odbywa się z Przewiń taśmę zawierającą obraz kopii zapasowej do
dysku, oznacza to, że zmieniono nazwę pliku. Zmień nazwę właściwej pozycji i wprowadź ponownie komendę Restore z
pliku na właściwą, pamiętając o zgodnej nazwie pliku i parametrem callerac, określającym, czy przetwarzanie ma być
datowniku. Po dokonaniu odpowiednich działań wprowadź kontynuowane, czy zakończone.
ponownie komendę.
SQL2537N Po odtworzeniu wymagane jest odtwarzanie
SQL2533W Ostrzeżenie! Plik kopii zapasowej w zmian.
urządzeniu urządzenie zawiera obraz bazy
Objaśnienie:
danych baza-danych zrobiony w chwili
Podano SQLUD_NOROLLFWD dla parametru
datownik. Nie jest to żądany obraz bazy
typ_odtwarzania programu do odtwarzania baz danych, co
danych.
oznacza, że odtwarzanie zmian nie jest wymagane, aby
Objaśnienie: odtworzona baza danych nadawała się do użycia. Jeśli kopia
Obraz bazy danych odczytany z bieżącej pozycji taśmy zapasowa odtwarzanej bazy danych została utworzona w
zawiera nagłówek nośnika, który nie zgadza się z nagłówkiem trybie z połączeniem lub wywołana operacja odtwarzania
obrazu pierwszego pliku z sekwencji plików kopii zapasowej. dotyczy odtwarzania na poziomie obszaru tabel, wówczas
operacja odtwarzania zmian jest niezbędna, aby baza danych
Działanie użytkownika:
nadawała się do użycia.
Sprawdź, czy taśma jest ustawiona na właściwej kopii
zapasowej i zwróć do programu narzędziowego parametr Działanie użytkownika:
callerac, który określi, czy przetwarzanie ma być Wprowadź ponownie komendę Database Restore, nie podając
kontynuowane. wartości SQLUD_NOROLLFWD dla parametru
typ_odtwarzania.
SQL2534W Ostrzeżenie! Nośnik w urządzeniu
urządzenie nie jest ustawiony na poprawnym SQL2538N Osiągnięto nieoczekiwany koniec pliku
nagłówku nośnika kopii zapasowej. obrazu kopii zapasowej na nośniku nośnik.
Objaśnienie: Objaśnienie:
Dane odczytane z bieżącej pozycji taśmy nie zawierają Podczas wczytywania i odtwarzania danych z pliku obrazu
poprawnego nagłówka nośnika kopii zapasowej. bazy danych nieoczekiwanie osiągnięto koniec pliku. Dany
obraz kopii zapasowej nie nadaje się do użycia i operacja
Działanie użytkownika:
odtwarzania zostaje przerwana.
Sprawdź, czy taśma jest ustawiona na właściwym pliku kopii
zapasowej i zwróć do programu narzędziowego parametr Działanie użytkownika:
callerac, który określi, czy przetwarzanie ma być Wprowadź ponownie komendę Database Restore, podając
kontynuowane. nadający się do użycia plik obrazu kopii zapasowej.

SQL2535W Ostrzeżenie! Osiągnięto koniec nośnika w SQL2539W Ostrzeżenie! Trwa odtwarzanie do


urządzeniu urządzenie. Załaduj następny istniejącej bazy danych, która jest taka
nośnik. sama, jak baza danych w obrazie kopii
zapasowej bazy danych. Pliki bazy danych
Objaśnienie:
zostaną usunięte.
Osiągnięto koniec taśmy, ale pozostały jeszcze dane do
przetworzenia. Reszta źródła kopii zapasowej lub źródła do Objaśnienie:
załadowania znajduje się na jednej lub kilku taśmach. Aliasy, nazwy i kody (seeds) docelowej bazy danych i obrazu
bazy danych są takie same, co wskazuje, że jest to ta sama
Działanie użytkownika:
baza. Bieżąca baza danych zostanie nadpisana przez wersję
Umieść w napędzie następną w kolejności taśmę zawierającą
odtworzoną.
obraz źródłowy i wprowadź ponownie komendę Restore lub
Load z parametrem callerac, określającym, czy przetwarzanie Działanie użytkownika:
ma być kontynuowane, czy zakończone.

328 Komunikaty, tom 2


SQL2540W • SQL2543N

Wróć do programu narzędziowego z parametrem callerac 5. Wykonujesz operację odtwarzania z nośnika TSM, a
wskazującym na kontynuowanie lub zakończenie konfiguracja klienta API TSM wykorzystywana przez
przetwarzania. bieżącą instancję nie może uzyskać dostępu do kopii
zapasowej.
SQL2540W Odtwarzanie zostało wykonane pomyślnie, Działanie użytkownika:
jednak w trakcie odtwarzania bazy danych Działania odpowiadające poszczególnym przyczynom błędu:
podczas przetwarzania w trybie bez 1. Sprawdź, czy na nośniku źródłowym znajduje się obraz
przerwań napotkano ostrzeżenie ostrzeżenie. bazy danych. Powtórz operację, podając prawidłową
Objaśnienie: ścieżkę do kopii zapasowej i prawidłowy datownik, tak
Narzędzie Database Restore zostało uruchomione w trybie Bez aby możliwe było znalezienie pliku. W celu uzyskania
przerwań (No Interrupt), na przykład w trybie WITHOUT dodatkowych informacji o korzystaniu z komendy
PROMPTING. Podczas przetwarzania napotkano jedno lub odtwarzania przeszukaj Centrum informacyjne DB2,
kilka ostrzeżeń, które nie zostały zwrócone w czasie, gdy używając takich fraz, jak ″korzystanie z programu
wystąpiły. Komenda restore zakończyła działanie pomyślnie, a narzędziowego odtwarzania bazy danych″.
na końcu tego komunikatu zostały wyświetlone napotkane 2. Upewnij się, że masz uprawnienia dostępu do kopii
ostrzeżenia. zapasowej i do katalogu, w którym się znajduje.
Działanie użytkownika: 3. Odszukaj w historii bazy danych odpowiednią pozycję
Sprawdź, czy przyczyna wygenerowania tego ostrzeżenia nie dotyczącą kopii zapasowej i upewnij się, że podane
spowodowała niepożądanych skutków. położenie jest zgodne z faktycznym położeniem obrazu
kopii zapasowej. Zaktualizuj historię bazy danych i
spróbuj ponownie wykonać operację, aby uzyskać
SQL2541W Program narzędziowy zakończył się dopasowanie, lub wprowadź komendę RESTORE
pomyślnie, jednak nie można zamknąć INCREMENTAL ABORT w celu wyczyszczenia
obrazu bazy danych. zasobów, jakie mogły zostać utworzone podczas
Objaśnienie: przetwarzania.
Program narzędziowy zakończył się pomyślnie, ale nie można 4. Podczas odtwarzania bazy danych podzielonej na partycje
zamknąć pliku zawierającego obraz bazy danych. należy zawsze najpierw odtworzyć partycję katalogu. W
celu uzyskania dodatkowych informacji na temat operacji
Działanie użytkownika: odtwarzania w środowisku partycjonowanej bazy danych
Spróbuj zamknąć plik zawierający obraz bazy danych. przeszukaj Centrum informacyjne DB2, używając takich
fraz, jak ″program narzędziowy odtwarzania bazy danych
SQL2542N Stwierdzono brak zgodności dla pliku podzielonej na partycje″.
obrazu bazy danych na podstawie podanego 5. Do sprawdzenia, czy kopia może zostać odtworzona z
aliasu źródłowej bazy danych TSM, należy użyć programu narzędziowego db2adutl z
alias-bazy-danych i datownika datownik. opcją QUERY. W przypadku odtwarzania kopii zapasowej
z innej instancji na innym serwerze, należy użyć opcji
Objaśnienie:
NODENAME, OWNER i opcjonalnie PASSWORD,
Nazwa pliku kopii zapasowej składa się z aliasu bazy danych i
odpowiadających ustawieniom TSM węzła TSM, dla
datownika. Nazwa pliku tworzona jest z aliasu źródłowej bazy
którego początkowo została utworzona kopia zapasowa.
danych i parametrów datownika podanego w wywołaniu
Po sprawdzeniu, że obraz można odtworzyć, można
Database Restore. W bieżącym katalogu nie znaleziono
przekazać te same opcje w łańcuchu opcji komendy
żadnego pliku zgodnego z podanym aliasem źródłowej bazy
RESTORE. W celu uzyskania dodatkowych informacji na
danych i datownikiem.
temat programu narzędziowego db2adutl przeszukaj
Centrum informacyjne DB2, używając takich fraz, jak
Prawdopodobne przyczyny błędu:
″db2adutl″.
1. Ścieżka do kopii zapasowej została niepoprawnie
określona w komendzie odtwarzania. Centrum informacyjne DB2: http://publib.boulder.ibm.com/
2. Brak uprawnień do dostępu do kopii zapasowej lub infocenter/db2luw/v9
katalogu, w którym znajduje się kopia zapasowa.
3. Wykonujesz funkcję automatycznego przyrostowego SQL2543N Podany dla bazy danych katalog docelowy
odtwarzania i wymagany obraz nie został odnaleziony w jest niepoprawny.
historii bazy danych na podstawie datownika i położenia.
Objaśnienie:
4. Odtwarzasz bazę danych w środowisku partycjonowanej
Aplikacja wywołująca program Restore podała nazwę katalogu
bazy danych, baza danych jeszcze nie istnieje, a pierwszą
docelowego, w którym będzie utworzona nowa baza danych.
odtwarzaną partycją bazy danych nie jest partycja
Ten katalog nie istnieje lub nie można w nim utworzyć bazy
katalogu.
danych. Nie można utworzyć bazy danych w katalogu o
nazwie dłuższej niż 215 znaków.

Rozdział 2. Komunikaty SQL 329


SQL2544N • SQL2550N

Działanie użytkownika: Odtwórz bazę danych przy użyciu wersji DB2 użytej do
Wprowadź ponownie komendę Backup lub Restore podając utworzenia kopii zapasowej i odtwórz zmiany zapisane w
poprawny katalog docelowy. dziennikach. Tym razem utwórz pełną kopię zapasową
off-line. Ten nowy obraz bazy danych będzie można
odtworzyć w nowej wersji DB2.
SQL2544N Katalog, do którego odtwarzana jest baza
danych, jest pełny.
SQL2548N Strona kodowa strona-kodowa bazy danych
Objaśnienie:
wskazana w obrazie kopii zapasowej jest
Podczas odtwarzania bazy danych, katalog, do którego jest ona
niepoprawna lub nie jest obsługiwana.
odtwarzana, zapełnił się. Odtwarzana baza danych nie nadaje
Operacja odtwarzania nie powiodła się.
się do użycia. Komenda Restore przerywa działanie, a jeśli
odtwarzana baza danych jest nową bazą, jest ona usuwana. Objaśnienie:
Działanie użytkownika: 1. Odtwarzany obraz kopii zapasowej mógł zostać utworzony
Zwolnij wystarczającą ilość miejsca w katalogu i wprowadź na serwerze z nowszym pakietem poprawek niż pakiet
ponownie komendę Restore, lub, jeśli dane są odtwarzane do poprawek zastosowany na tym serwerze. W takiej sytuacji
nowej bazy danych, podaj katalog z wystarczającą ilością możliwe jest, że obraz zawiera nowszą, nieobsługiwaną
wolnego miejsca dla bazy danych. stronę kodową.
2. Obraz kopii zapasowej jest uszkodzony i zawiera
niepoprawne informacje o stronie kodowej.
SQL2545W Ostrzeżenie! Obraz kopii zapasowej na
serwerze TSM jest obecnie przechowywany Działanie użytkownika:
na nośniku wymiennym. Nie wiadomo, Jeśli dokonywana jest próba odtworzenia obrazu z serwera z
kiedy będzie on dostępny. nowszym pakietem poprawek na serwer z pakietem poprawek
o niższym poziomie wersji, upewnij się, że dana strona
Objaśnienie:
kodowa jest obsługiwana na obydwu serwerach. Ewentualnie
Obraz bazy danych nie jest natychmiast dostępny przez serwer
rozważ zastosowanie nowszego pakietu poprawek na
TSM. Proces odtwarzania może kontynuować działanie i
docelowym serwerze odtwarzania.
zażądać od serwera pobrania danych. Nie wiadomo, kiedy to
nastąpi.
SQL2549N Baza danych nie została odtworzona,
Działanie użytkownika:
ponieważ wszystkie obszary tabel w obrazie
Wróć do programu narzędziowego z parametrem callerac
kopii zapasowej były niedostępne lub
wskazującym na kontynuowanie lub zakończenie
niektóre obszary tabel z listy obszarów tabel
przetwarzania.
do odtworzenia są niepoprawne.
Objaśnienie:
SQL2546N Obraz na nośniku nośnik nie jest pierwszym
Kontenery użyte przez obszary tabel w obrazie bazy danych są
w kolejności plikiem kopii zapasowej lub
niedostępne lub są właśnie używane, albo jednego lub więcej
kopii.
obszarów tabel z listy komendy odtwarzania nie ma w obrazie
Objaśnienie: kopii zapasowej.
Podczas odtwarzania pierwszy obraz z kopii zapasowej lub
Działanie użytkownika:
kopii musi być przetworzony jako pierwszy. Obraz znaleziony
Użyj przekierowanego odtwarzania, aby przedefiniować
na nośniku nie jest pierwszy w kolejności.
kontenery obszarów tabel w tym obrazie bazy danych lub
podaj listę prawidłowych obszarów tabel do odtworzenia.
Program narzędziowy czeka na reakcję użytkownika.
Działanie użytkownika: SQL2550N Kopia zapasowa bazy danych utworzona w
Włóż nośnik z poprawnym obrazem kopii zapasowej lub kopii, węźle węzeł1 nie może zostać odtworzona w
podając prawidłową wartość parametru działania programu węźle węzeł2.
wywołującego, określającego czy przetwarzanie powinno być
kontynuowane, czy zakończone. Objaśnienie:
Obraz bazy danych użyty do odtworzenia jest kopią zapasową
bazy danych z innego węzła. Odtworzenie jest możliwe tylko
SQL2547N Baza danych nie została odtworzona, w tym samym węźle.
ponieważ obraz kopii zapasowej pochodzi z
poprzedniej wersji i wymaga wykonania Działanie użytkownika:
operacji odtwarzania zmian. Sprawdź, czy masz obraz bazy danych właściwy dla danego
węzła i powtórz żądanie.
Objaśnienie:
Fizyczny format pliku dziennika uległ zmianie i odtworzenie
zmian jest niemożliwe.
Działanie użytkownika:

330 Komunikaty, tom 2


SQL2551N • SQL2554N

4 Problemy we/wy.
SQL2551N Baza danych z węzłem katalogu węzeł1 nie
może zostać odtworzona do bazy danych z 5 Tabela wyjątku zawiera kolumny odsyłaczy,
węzłem katalogu węzeł2. zdefiniowane za pomocą sterowania łączem pliku.
Objaśnienie: 6 Tabela jest w stanie “Uzgodnienie DATALINK nie
Węzeł katalogu może istnieć tylko na jednym węźle, a jest możliwe”.
występuje rozbieżność między obrazem kopii zapasowej a
węzłem, do którego następuje odtwarzanie. Może się to 7 Nie można uzgadniać tabeli wyjątku dla tabel o typie
zdarzyć w następujących sytuacjach: strukturalnym.
1. Kopia zapasowa określa węzeł katalogu węzeł1, a próba 8 Nie powiodło się ustawienie tabeli za pomocą
odtwarzania została podjęta do istniejącej bazy danych, instrukcji ALTER TABLE w stan “Oczekiwanie na
której węzeł katalogu to węzeł2. uzgodnienie Datalink” lub “Uzgodnienie Datalink
2. Podjęto próbę odtwarzania do nowej bazy danych, przy nie jest możliwe” lub nie powiodło się przeniesienie
czym węzeł katalogu nie został najpierw odtworzony. tabeli ze stanu “Oczekiwanie na uzgodnienie
Datalink” lub “Uzgodnienie Datalink nie jest
Działanie użytkownika: możliwe”.
Sprawdź, czy jest odtwarzany poprawny obraz bazy danych.
9 Obsługa Data Links nie została wyłączona.
Jeśli odtwarzasz dane do istniejącej bazy danych i chcesz 10 Tabela jest w stanie ustawiania integralności w toku.
zmienić węzeł katalogu na węzeł2, najpierw usuń istniejącą
bazę danych. 11 Podczas obsługi wyjątków wymagany Menedżer
DB2 Data Links nie był dostępny. Tabela znajduje
się w stanie oczekiwania na uzgodnienie DataLink.
Jeśli odtwarzasz dane do nowej bazy danych, odtwórz
najpierw węzeł katalogu węzeł1. 12 Uzgadnianie w programie DB2 Data Links Manager
nie zostało zakończone w przewidzianym czasie.
Szczegółowe informacje można znaleźć w dzienniku
SQL2552N W komendzie odtwarzania podano
powiadomień administracyjnych.
niepoprawną nazwę pliku raportu.
13 Przetwarzanie rozliczeniowe zostało zakończone,
Objaśnienie:
ponieważ nie posunęło się naprzód przez ustalony
Długość nazwy pliku raportu przekroczyła dopuszczalną
limit czasu.
długość 255.
Działanie użytkownika:
Działanie użytkownika:
Możliwe rozwiązania:
Podaj nazwę pliku raportu nie przekraczającą dopuszczalnej
długości i wprowadź ponownie komendę odtwarzania. 1 Upewnij się, że program DB2 Data Links Manager
jest uruchomiony i działa, oraz że został
zarejestrowany w bazie danych za pomocą komendy
SQL2553I Program narzędziowy RECONCILE
ADD DATALINKS MANAGER. Spróbuj połączyć
zakończył się pomyślnie.
się z bazą danych i sprawdź, czy po stronie
Objaśnienie: programu DB2 Data Links Manager zostało
Program narzędziowy pomyślnie zakończył działanie. nawiązane odpowiadające połączenie.
Działanie użytkownika: 2 Tabela najprawdopodobniej nie istnieje w programie
Nie jest wymagane żadne działanie. DB2 Data Links Manager. Nie można nawiązać
połączenia.
SQL2554N Wykonanie programu narzędziowego 3 Program DB2 Data Links Manager może być
RECONCILE nie powiodło się; kod wyłączony. Spróbuj go uruchomić.
przyczyny: kod-przyczyny. Możliwe, że
4 Sprawdź, czy masz uprawnienia i odpowiednią ilość
występuje problem z komponentem
pamięci dla pliku raportu. W parametrze
komponent.
DLREPORT należy wstawić pełną ścieżkę. Upewnij
Objaśnienie: się, że uzgadniana tabela nie jest uszkodzona.
Możliwe kody przyczyny:
5 Przedefiniuj wszystkie kolumny odsyłaczy,
1 Brak informacji o połączeniu z programem DB2 znajdujące się w tabeli wyjątku jako “NO LINK
Data Links Manager. CONTROL”.
2 Niezdefiniowana kolumna tabeli/DATALINK w 6 Przełącz tabelę ze stanu ’Uzgodnienie Datalink nie
programie DB2 Data Links Manager. jest możliwe’, używając do tego instrukcji SET
INTEGRITY. Użyj ponownie programu
3 Program DB2 Data Links Manager może być
narzędziowego RECONCILE.
wyłączony.
7 Nie określaj tabeli wyjątku.

Rozdział 2. Komunikaty SQL 331


SQL2555I • SQL2563W

8 Wprowadź komendę SET INTEGRITY, aby ustawić


SQL2561W Ostrzeżenie! Baza danych zostanie
tabelę w stan “Oczekiwanie na uzgodnienie
odbudowana na podstawie obrazu obszaru
Datalink” lub zresetować stan “Oczekiwanie na
tabel lub przy użyciu podzbioru obszarów
uzgodnienie Datalink” albo “Uzgodnienie Datalink
tabel. Docelowa baza danych zostanie
nie jest możliwe”.
zastąpiona. Program narzędziowy do
9 Wartość parametru konfiguracyjnego DATALINKS odtwarzania zgłosił także komunikat o
menedżera baz danych ustawiona jest na NO. Aby następującym kodzie SQL: kod_sql.
użyć opcji RECONCILE, musisz ustawić wartość
Objaśnienie:
parametru DATALINKS na YES.
Program narzędziowy RESTORE został uruchomiony z opcją
10 Rozliczanie można uruchomić dla tabeli, która nie REBUILD i określonym obrazem obszaru tabel do
jest w stanie ustawiania integralności w toku. Aby odtworzenia lub listą obszarów tabel do odtworzenia z obrazu
przełączyć tabelę ze stanu Ustawianie integralności kopii zapasowej. Jeśli podana baza danych jeszcze nie istnieje,
w toku, należy użyć instrukcji SET INTEGRITY. zostanie utworzona przy użyciu obszarów tabel dostępnych dla
operacji odtwarzania i takich samych atrybutów bazy danych,
11 Ponownie uruchom rozliczanie. które są ustawione w obrazie. Jeśli baza danych już istnieje,
12 Komenda rozliczania przekroczyła limit czasu, zostanie zastąpiona przez obszary tabel dostępne dla operacji
czekając na weryfikację ze strony programów DB2 odtwarzania w oparciu o zwrócony w tym komunikacie kod
Data Links Manager. Spróbuj ponownie wprowadzić sql.
komendę rozliczania.
Jeśli odtwarzany jest podzbiór obszarów tabel z
13 Wprowadź ponownie komendę uzgadniania. Jeśli nieodtwarzalnej bazy danych, wówczas nie będzie można
problem nadal występuje, powiadom dział wsparcia odtworzyć obszarów tabel, które nie są objęte operacją
IBM. odtwarzania, o ile nie zostanie wykonane pełne odtworzenie
bazy danych.
SQL2555I Pomyślnie wykonano migrację odtworzonej Działanie użytkownika:
bazy danych do bieżącej wersji. Wróć do programu narzędziowego z parametrem callerac
Objaśnienie: wskazującym na kontynuowanie lub zakończenie
Kopię zapasową odtworzonej bazy danych utworzono przy przetwarzania.
użyciu poprzedniej wersji DB2. Program RESTORE wykonał
migrację tej bazy do wersji bieżącej. SQL2562N Nie można odtwarzać danych z poziomu
obszaru tabel z pełnej kopii zapasowej bazy
Użytkownik, który wprowadził komendę RESTORE, ma danych.
uprawnienie DBADM do tej bazy danych. Jeśli są jeszcze inni
użytkownicy tej bazy, administrator bazy danych z Objaśnienie:
uprawnieniem DBADM musi nadać im odpowiednie Do odtworzenia danych z pełnej kopii zapasowej nie można
uprawnienia. wykonać odtwarzania z poziomu obszaru tabel.
Działanie użytkownika:
Program RESTORE zakończył działanie pomyślnie. Podaj prawidłowy typ odtwarzania lub użyj właściwego
Działanie użytkownika: obrazu bazy danych i wprowadź ponownie komendę programu
Przed użyciem bazy danych określ właściwą reakcję narzędziowego.
użytkownika na podstawie kodu SQLCODE zwróconego w
wyniku migracji. SQL2563W Proces odtwarzania zakończył się
pomyślnie, ale niektóre obszary tabel z kopii
SQL2560N Docelowa baza danych nie jest identyczna z nie zostały odtworzone.
źródłową bazą danych dla odtwarzania Objaśnienie:
kopii zapasowej z poziomu obszaru tabel. Proces odtwarzania zakończył się pomyślnie. Jeden lub więcej
Objaśnienie: obszarów tabel zapisanych w kopii zapasowej nie zostało
Do odtworzenia z kopii zapasowej z poziomu obszaru tabel, odtworzonych z jednego z następujących powodów:
docelowa baza danych musi być oryginalną bazą danych, z v Podczas dostępu do kontenerów obszarów tabel wystąpił
której pochodzi ta kopia zapasowa lub musi być nową bazą. błąd. Jeśli obszary tabel zostały usunięte przed wykonaniem
kopii zapasowej, nie jest wymagane żadne działanie.
Działanie użytkownika:
Podaj prawidłową docelową bazę danych i wprowadź v Komenda odtwarzania została wywołana z listą obszarów
ponownie komendę programu narzędziowego. tabel, tak że tylko część obszarów tabel zapisanych w kopii
była odtwarzana. Nie jest wymagane żadne działanie.
Działanie użytkownika:
Jeśli ten komunikat nie jest spowodowany odtwarzaniem
części danych, użyj funkcji zapytania obszarów tabel, aby

332 Komunikaty, tom 2


SQL2565N • SQL2570N

sprawdzić stany obszarów tabel. Jeśli obszar tabel jest w stanie uzgadniania tabel będących w stanie DRP/DRNP można
″oczekuje na definicję pamięci dyskowej″ (storage definition znaleźć w podręczniku Administration Guide.
pending), oznacza to, że aby odtwarzanie mogło zakończyć się
pomyślnie, trzeba poprawić definicję pamięci dla obszaru
SQL2570N Próba odtworzenia w docelowym systemie
tabel. Szczegółowe informacje na temat odzyskiwania obszaru
operacyjnym docelowy-system-operacyjny
tabel zawarto w Administration Guide.
kopii zapasowej utworzonej w źródłowym
systemie operacyjnym
SQL2565N Opcja podana dla RESTORE nie jest źródłowy-system-operacyjny nie powiodła się
dozwolona dla podanego obrazu bazy ze względu na niezgodność systemów
danych. operacyjnych lub niepoprawną specyfikację
komendy odtwarzania. Kod przyczyny:
Objaśnienie:
kod-przyczyny.
Baza danych zawarta w obrazie bazy danych jest istniejącą
bazą, która nie jest zgodna z bazą danych, która ma być Objaśnienie:
odtworzona. Podana opcja wymaga, aby obraz bazy danych Możliwe kody przyczyny to:
był odtwarzany do nowej bazy danych lub do bazy identycznej
1 Docelowy-system-operacyjny i
z obrazem bazy danych.
źródłowy-system-operacyjny są niezgodne.
Program narzędziowy zatrzymuje przetwarzanie. 2 Nastąpiła próba odtworzenia kopii zapasowej po
kompresji na innej platformie, ale nie została
Działanie użytkownika:
określona żadna biblioteka dekompresji. Domyślnie
Wprowadź ponownie komendę, podając poprawną nazwę bazy
jest używana biblioteka z obrazu kopii zapasowej z
danych.
systemu źródłowy-system-operacyjny. Ta biblioteka
nie nadaje się do odtwarzania w systemie
SQL2566W Proces odtwarzania zakończył się docelowy-system-operacyjny.
pomyślnie, ale tabele w niektórych
3 Nastąpiła próba odtworzenia tylko skompresowanej
obszarach tabel są w stanie DRP/DRNP.
biblioteki w systemie docelowy-system-operacyjny,
Szczegółowe informacje można znaleźć w
który różni się od tego, w którym kopia zapasowa
pliku db2diag.log.
została utworzona (źródłowy-system-operacyjny).
Objaśnienie:
Działanie użytkownika:
Niektóre obszary tabel mają tabele w stanie oczekiwania na
Zalecane działania dla odpowiednich kodów przyczyny:
uzgodnienie DATALINK (DRP) lub w stanie, w którym
uzgodnienie DATALINK nie jest możliwe (DRNP). Może to 1 Aby użyć konkretnego obrazu kopii zapasowej,
być spowodowane jedną z następujących przyczyn: odtwórz go w systemie, w którym odtwarzanie jest
v Odtwarzanie nastąpiło do bazy danych o innej nazwie, zgodne z systemem, w którym kopia ta została
aliasie, nazwie hosta lub instancji niż obraz kopii utworzona. Aby przenieść bazę danych z jednego
zapasowej. Jeśli po odtwarzaniu nie występuje odtwarzanie typu systemu operacyjnego na inny, skorzystaj z
zmian, wszystkie tabele z kolumnami DATALINK są programu narzędziowego db2move. W celu
wprowadzane w stan DRNP. uzyskania szczegółowych informacji o tym, które
platformy są zgodne pod kątem odtwarzania ze sobą
v Odtwarzanie zostało wykonane z podaną opcją WITHOUT
i z programem narzędziowym db2move przeszukaj
DATALINK i nie nastąpiło po nim odtwarzanie zmian.
Centrum informacyjne DB2 (http://
Wszystkie tabele z kolumnami DATALINK są w stanie
publib.boulder.ibm.com/infocenter/db2luw/v9),
DRNP.
używając takich fraz, jak ″międzyplatformowe
v Odtwarzanie nastąpiło z obrazu kopii zapasowej, który nie tworzenie i odtwarzanie kopii zapasowych″ lub
może już być używany. Jeśli po odtwarzaniu nie występuje ″używanie różnych systemów operacyjnych″.
odtwarzanie zmian, wszystkie tabele z kolumnami
DATALINK są wprowadzane w stan DRNP. 2 Ponów operację odtwarzania, podając bibliotekę
dekompresji, która została skompilowana dla
v Informacje o kolumnie DATALINK nie istnieją w
systemu docelowy-system-operacyjny. Na przykład:
programach DB2 Data Links Manager. Tabele, których to
db2 restore db sample comprlib libdb2compr.a.
dotyczy, przechodzą w stan DRNP.
v Odtwarzanie obejmujące szybkie uzgadnianie nie powiodło 3 Nie próbuj odtwarzać biblioteki kompresji w
się podczas próby ponownego powiązania plików w systemie operacyjnym, w którym nie można jej
programach DB2 Data Link Manager. Tabele, których to używać.
dotyczy, przechodzą w stan DRNP.
Działanie użytkownika:
Sprawdź zawartość dziennika powiadomień
administracyjnych, aby dowiedzieć się, które tabele znalazły
się w stanie DRP/DRNP. Więcej informacji na temat

Rozdział 2. Komunikaty SQL 333


SQL2571N • SQL2574N

Objaśnienie:
SQL2571N Nie można kontynuować automatycznego
Podczas odtwarzania obrazów powstałych wskutek
odtwarzania. Kod przyczyny: kod-przyczyny.
korzystania z przyrostowych kopii zapasowych, odtwarzaj
Objaśnienie: obrazy w następującej kolejności:
Podczas automatycznego odtwarzania wystąpił błąd. Błąd ten 1. Najpierw odtwórz końcowy obraz, aby wskazać
wystąpił podczas odtwarzania przyrostowego lub programowi DB2 przyrost, do którego chcesz odtworzyć
odbudowywania bazy danych w oparciu o obrazy obszarów bazę danych.
tabel, albo w oparciu o podzbiór obszarów tabel w obrazie
2. Odtwórz pełny obraz bazy danych lub obszaru tabel, który
bazy danych. Program narzędziowy nie mógł kontynuować
poprzedza zestaw obrazów przyrostowych.
pracy i zakończył pracę. Program narzędziowy zatrzymuje
przetwarzanie. 3. Odtwórz zestaw obrazów przyrostowych i obrazów różnic
w porządku chronologicznym, w którym powstały.
W przypadku odtwarzania przyrostowego ten błąd jest 4. Po raz drugi odtwórz obraz końcowy.
zwracany po odtworzeniu wstępnych definicji w sytuacji, gdy
przetworzenie wymaganego zestawu odtwarzania Każdy obszar tabel w obrazie kopii zapasowej zawiera
przyrostowego nie mogło być zrealizowane pomyślnie. informacje o obrazie kopii zapasowej, który należy odtworzyć,
aby można było odtworzyć obraz kopii zapasowej, którego
W przypadku odbudowywania ten błąd jest zwracany po odtworzenie nie powiodło się. Należy odtworzyć obraz z
odtworzeniu wstępnego obrazu celu w sytuacji, gdy datownikiem wymienionym w tym komunikacie, aby można
przetworzenie wymaganej pozostałej części zestawu było odtworzyć obraz, który wywołał komunikat. Konieczne
odtwarzania nie mogło być zrealizowane pomyślnie. może być odtworzenie dodatkowych obrazów przed
odtworzeniem wskazanego obrazu, jednak jeśli jest to
Przyczyna wystąpienia tego błędu jest określona przez jeden z pierwszy obszar tabel, w którym wystąpił błąd.
następujących kodów przyczyny:
Działanie użytkownika:
1 W historii bazy danych nie odnaleziono obrazu kopii Upewnij się, że kolejność obrazów przyrostowych kopii
zapasowej odpowiedniego dla podanego datownika. zapasowych w zestawie jest poprawna i kontynuuj
odtwarzanie przyrostowe.
2 Podczas określania, które obszary tabel mają zostać
odtworzone, wystąpił błąd.
SQL2573N Obraz przyrostowej kopii zapasowej musi
3 W historii bazy danych nie odnaleziono zostać odtworzony jako część operacji
odpowiedniego obrazu kopii zapasowej. odtworzenia przyrostowego.
4 Dla planowanej operacji odbudowywania Objaśnienie:
przyrostowego podano niewłaściwy typ Podjęto próbę wykonania operacji RESTORE z
odbudowywania. wykorzystaniem obrazu przyrostowej kopii zapasowej.
5 Nie można automatycznie odtworzyć tylko Przyrostowa kopia zapasowa sama nie może zostać
tymczasowych obszarów tabel. odtworzona; można ją odtworzyć jedynie jako część
przyrostowej operacji RESTORE.
Działanie użytkownika:
Jeśli dotyczy to odtwarzania przyrostowego lub Program narzędziowy zatrzymuje przetwarzanie.
odbudowywania przyrostowego, wprowadź komendę
RESTORE INCREMENTAL ABORT w celu wyczyszczenia Działanie użytkownika:
zasobów, które mogły zostać utworzone podczas Aby odtworzyć ten obraz kopii zapasowej, ponownie
przetwarzania. Wykonaj ręczne odtworzenie przyrostowe w wprowadź komendę RESTORE z wykorzystaniem
celu odtworzenia bazy danych z tego obrazu kopii zapasowej. modyfikatora INCREMENTAL. Aby wykonać nieprzyrostową
operację RESTORE, określ obraz nieprzyrostowej kopii
Jeśli dotyczy to nieprzyrostowego odbudowywania, wówczas, zapasowej.
jeśli jest to konieczne, należy zakończyć operację
odbudowywania, wykonując odtworzenie obszarów tabel przy SQL2574N Obraz kopii zapasowej odtworzony jako
użyciu pozostałych obrazów wymaganych do odbudowania część przyrostowej operacji RESTORE nie
bazy danych zgodnie z zamierzeniami. Dodatkowe informacje może być nowszy niż obraz docelowy.
można znaleźć w dzienniku diagnostycznym DB2.
Objaśnienie:
Obraz docelowy jest pierwszym obrazem, który zostanie
SQL2572N Próba przyrostowego odtworzenia odtworzony jako część przyrostowej operacji RESTORE.
uszkodzonego obrazu. Odtwarzanie obszaru Obraz ten zawiera definicje obszarów tabel i inne struktury
tabel nazwa-obszaru-tabel napotkało błąd, kontrolne dla odtwarzanej bazy danych. Podczas przyrostowej
ponieważ kopia zapasowa z datownikiem operacji RESTORE program narzędziowy RESTORE nie
wartość-datownika musi zostać przywrócona może odtworzyć obrazu nowszego niż obraz docelowy,
przed obrazem, który właśnie próbowano ponieważ mogłoby to spowodować uszkodzenie bazy danych.
odtworzyć.

334 Komunikaty, tom 2


SQL2575N • SQL2581N

Przyrostowa operacja RESTORE nie powiodła się, ponieważ się wykluczyć bibliotekę. Nazwa biblioteki może być także
podjęto próbę odtworzenia obrazu kopii zapasowej z wskazana jako parametr programu narzędziowego RESTORE.
datownikiem późniejszym niż datownik obrazu docelowego.
Program narzędziowy zatrzymuje przetwarzanie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Działanie użytkownika: Wydaj komendę ponownie, określając nazwę biblioteki, która
Ponownie wprowadź komendę, określając obraz kopii umożliwi dekompresję danych w obrazie.
zapasowej z datownikiem wcześniejszym niż datownik obrazu
docelowego.
SQL2578N W obrazie kopii zapasowej nie znaleziono
wskazanego obiektu.
SQL2575N Datownik podanego obrazu przyrostowej
Objaśnienie:
kopii zapasowej jest wcześniejszy niż
Obiekt wskazany do odtworzenia nie istnieje w obrazie kopii
datownik ostatniego obrazu odtworzonego
zapasowej.
dla obszaru tabel numer-obszaru-tabel.
Ostatni obraz kopii zapasowej ma datownik
datownik. Program narzędziowy RESTORE usiłował odtworzyć
pojedynczy obiekt z obrazu kopii zapasowej. Jednak obraz
Objaśnienie: kopii zapasowej nie zawiera żadnego obiektu tego typu.
Aby wykonać przyrostową operację RESTORE, obrazy kopii
zapasowej muszą zostać odtworzone dla każdego obszaru Obiektami, które można odtwarzać indywidualnie, są plik
tabeli w porządku chronologicznym: od najstarszego do historii kopii zapasowej oraz biblioteka dekompresji.
najnowszego dla każdego. Przyrostowa operacja RESTORE
określiła obraz kopii zapasowej z datownikiem wcześniejszym Program narzędziowy zatrzymuje przetwarzanie.
niż datownik poprzedniego obrazu odtworzonego dla
podanego obszaru tabel. Działanie użytkownika:
Wydaj ponownie komendę, wskazując obraz kopii zapasowej
Program narzędziowy zatrzymuje przetwarzanie. rzeczywiście zawierający żądany obiekt.

Działanie użytkownika:
Ponownie wprowadź komendę, określając obraz kopii SQL2580W Ostrzeżenie! Odtwarzanie dzienników do
zapasowej z datownikiem nowszym niż datownik ostatniego ścieżki, w której znajdują się już pliki
obrazu odtworzonego dla obszaru tabel. dzienników. Próba nadpisania istniejącego
pliku dziennika podczas odtwarzania
spowoduje niepowodzenie operacji
SQL2576N Obszar tabel nazwa-obszaru-tabel jest odtwarzania.
odtwarzany jako część przyrostowej
operacji RESTORE, ale komenda Objaśnienie:
RESTORE nie zawierała klauzuli Podana ścieżka docelowa dziennika zawiera co najmniej jeden
INCREMENTAL. plik o nazwie odpowiadającej formatowi nazwy pliku
dziennika. Jeśli podczas późniejszej operacji odtwarzania
Objaśnienie: nastąpi próba wyodrębnienia pliku dziennika o tej samej
Aby przyrostowo odtworzyć obszar tabel, każda komenda nazwie, spowoduje to niepowodzenie operacji odtwarzania.
RESTORE musi zawierać klauzulę INCREMENTAL.
Działanie użytkownika:
Program narzędziowy zatrzymuje przetwarzanie. Usuń istniejące pliki dzienników ze ścieżki docelowej
dziennika lub sprawdź, czy pliki istniejące w ścieżce
Działanie użytkownika: docelowej dziennika mają inne nazwy niż dowolne dzienniki,
Ponownie wprowadź komendę RESTORE i zamieść w niej które będą wyodrębniane z danego obrazu kopii zapasowej.
klauzulę INCREMENTAL. Następnie ponownie uruchom program narzędziowy z
parametrem callerac, wskazującym, czy przetwarzanie
odtwarzania ma być kontynuowane, czy przerwane.
SQL2577N Nie znaleziono biblioteki służącej do
dekompresji kopii zapasowej.
SQL2581N Operacja odtwarzania nie może wyodrębnić
Objaśnienie:
plików dzienników lub odtworzyć katalog
Odtwarzany obraz jest skompresowaną kopią zapasową, lecz
dzienników z obrazu kopii zapasowej do
nie wskazano żadnej biblioteki dekompresji, a obraz nie
podanej ścieżki. Kod przyczyny
zawiera takiej biblioteki.
kod_przyczyny.
Program narzędziowy RESTORE wymaga biblioteki wtyczki Objaśnienie:
w celu przeprowadzenia dekompresji kopii zapasowej. Wystąpił błąd podczas próby wyodrębnienia pliku dziennika z
Biblioteka ta jest zazwyczaj przechowywana w samym obrazie obrazu kopii zapasowej. Prawdopodobne przyczyny błędu:
kopii zapasowej, lecz twórca tej kopii zapasowej zdecydował

Rozdział 2. Komunikaty SQL 335


SQL2582W • SQL2584N

1 W obrazie kopii zapasowej nie ma dzienników. Program narzędziowy RESTORE został wywołany z opcją
REBUILD, lecz wykryto, że trwa już odbudowywanie bazy
2 Prawdopodobnie określono niepoprawną ścieżkę
danych. Wykonanie tej operacji spowoduje przerwanie
docelową dziennika lub ścieżkę wskazującą
wykonywanej obecnie operacji odbudowywania i rozpoczęcie
lokalizację, w której nie było wolnego miejsca.
nowej przy użyciu tego obrazu kopii zapasowej jako celu.
3 Nazwa pliku dziennika w obrazie kopii zapasowej Określona baza danych zostanie zastąpiona.
jest zgodna z nazwą pliku dziennika, który już
istnieje w docelowej ścieżce dziennika. Kolejne komendy odtworzenia w fazie odbudowywania bazy
danych powinny być wywoływane bez opcji REBUILD.
4 Podczas próby zapisu danych w pliku wystąpił błąd
we/wy. Działanie użytkownika:
Wróć do programu narzędziowego z parametrem callerac
5 Podstawowy katalog dzienników na dysku zawiera
wskazującym na kontynuowanie lub zakończenie
pliki dziennika, które zostaną zniszczone przez
przetwarzania.
odtwarzanie.
6 Kopia lustrzana katalogu dzienników na dysku
SQL2583N Nie można przetworzyć planowanej
zawiera pliki dziennika, które zostaną zniszczone
komendy odtwarzania, ponieważ trwa
przez odtwarzanie.
jeszcze rozpoczęty wcześniej proces
Działanie użytkownika: odtwarzania przyrostowego.

1 Sprawdź, czy w obrazie kopii zapasowej są dostępne Objaśnienie:


pliki dziennika, które mają zostać odtworzone. Jeśli Program narzędziowy RESTORE wykrył, że nie została
nie są dostępne, wydaj ponownie tę komendę bez jeszcze ukończona poprzednia operacja odtwarzania
określania parametru LOGTARGET. przyrostowego. Wywołana komenda odtwarzania nie jest
częścią poprzedniej operacji odtwarzania przyrostowego i nie
2 Sprawdź, czy ścieżka określona w parametrze może zostać przetworzona, dopóki nie zostanie przerwana
LOGTARGET jest poprawna i czy wskazuje ona poprzednia operacja odtwarzania przyrostowego.
lokalizację, w której jest dość miejsca na
wyodrębnienie wszystkich plików dziennika z
Program narzędziowy zatrzymuje przetwarzanie.
obrazu kopii zapasowej. Wprowadź ponownie
komendę. Działanie użytkownika:
Wydaj komendę odtwarzania z opcją INCREMENTAL
3 Sprawdź, czy w ścieżce docelowej dziennika nie ma
ABORT, a następnie wydaj ponownie zamierzoną komendę
plików dziennika o takich samych nazwach, jak pliki
odtwarzania.
dziennika odtwarzane z obrazu kopii zapasowej.
Wprowadź ponownie komendę.
SQL2584N Odtwarzanie obrazu stanu nie powiodło się,
4 Dodatkowe informacje można znaleźć w dzienniku
ponieważ muszą być odtworzone katalogi
diagnostycznym DB2. Spróbuj rozwiązać ten
dzienników, a poprawny parametr
problem i wprowadź komendę ponownie.
LOGTARGET nie został podany.
5 lub 6 Można wykonać jedną z następujących czynności:
Objaśnienie:
v Ręcznie skopiować lub przenieść pliki dziennika z Tworzenie kopii zapasowej obrazu stanu umożliwia
podstawowego katalogu dzienników, tak aby korzystanie z technologii szybkiego kopiowania do
można je było zarchiwizować, a następnie kopiowania danych oraz przenoszenia części operacji
ponownie wywołać komendę RESTORE tworzenia i odtwarzania kopii zapasowych bazy danych DB2.
DATABASE.
v Ponownie wywołać komendę RESTORE Obraz kopii zapasowej obrazu stanu musi być odtwarzany w
DATABASE z parametrem LOGTARGET oraz całości. Z tego powodu, jeśli w obrazie kopii zapasowej
parametrem INCFORCE bądź EXCFORCE. obrazu stanu znajdują się dzienniki bazy danych, muszą być
odtworzone razem z resztą obrazu.
SQL2582W Ostrzeżenie! Wykryto nowe żądanie
W odtwarzanym obrazie kopii zapasowej obrazu stanu
odbudowania bazy danych w oparciu o
znajdują się dzienniki bazy danych, które muszą zostać
obraz obszaru tabel lub przy użyciu
odtworzone z pozostałą częścią obrazu. Jednak ścieżka dla
podzbioru obszarów tabel. Spowoduje to
danego katalogu dzienników współużytkuje ścieżkę lub
przerwanie wykonywanej obecnie operacji
urządzenie pamięci masowej z innymi ścieżkami lub
odbudowywania i rozpoczęcie nowej
urządzeniami pamięci masowej wykorzystywane przez
operacji odbudowywania przy użyciu tego
odtwarzaną bazę danych.
obrazu kopii zapasowej. Docelowa baza
danych zostanie zastąpiona.
Nie jest to sytuacja nadzwyczajna, gdy ścieżka katalogu
Objaśnienie: dzienników współużytkuje ścieżkę lub urządzenie pamięci

336 Komunikaty, tom 2


SQL2585N • SQL2650N

masowej z innymi ścieżkami lub urządzeniami pamięci


SQL2650N Niepoprawny parametr nazwa-parametru
masowej bazy danych. Na przykład: gdy tworzona jest baza
został przekazany do funkcji API nazwa-API
danych DB2, domyślnie w głównym katalogu bazy danych
odczytu dziennika. Kod przyczyny =
tworzony jest katalog dzienników. Gdy ścieżka dzienników
kod-przyczyny.
współużytkuje ścieżkę lub urządzenie pamięci masowej z
innymi ścieżkami lub urządzeniami pamięci masowej bazy Objaśnienie:
danych, odtwarzanie obrazu stanu nie może odtworzyć Do funkcji API odczytu protokołu przekazano niepoprawny
katalogu dzienników, dopóki za pomocą parametru parametr. Możliwe kody przyczyny:
LOGTARGET nie zostanie podane miejsce docelowe dla
01 Podano niepoprawne działanie.
katalogu dzienników.
02 Początkowy numer kolejny protokołu jest większy
Odtwarzanie z obrazu stanu nie powiodło się, ponieważ nie niż aktywny kolejny numer protokołu bieżącej bazy
określono parametru LOGTARGET, lub podany parametr danych.
LOGTARGET był niepoprawny.
03 Zakres kolejnych zapisów w protokole wyznaczony
Działanie użytkownika: przez numery kolejne protokołu początkowego i
Wprowadź ponownie komendę RESTORE, korzystając z końcowego jest zbyt mały.
parametru LOGTARGET.
04 Kolejny numer protokołu początkowego nie
odpowiada początkowemu zapisowi w protokole.
SQL2585N Wybrany obraz kopii zapasowej jest
05 Nie można określić położenia kolejnego numeru
przeznaczony dla bazy danych
protokołu początkowego.
alias-bazy-danych utworzony datownik z
instancji nazwa-instancji. Ten obraz kopii 06 Kolejny numer protokołu końcowego jest mniejszy
zapasowej nie może być odtwarzany w od numeru kolejnego protokołu początkowego lub
bieżącej instancji. równy mu.
Objaśnienie: 07 Bufor jest niewłaściwy dla podanej wielkości.
Wybrany do odtworzenia obraz kopii zapasowej pochodzi z
instancji, która nie jest zgodna z bieżącą instancją. 08 Bufor nie jest zbyt mały, aby pomieścić zapis w
protokole.
Obrazy kopii zapasowej obrazu stanu mogą być odtwarzane 09 Wskaźnik jest niepoprawny.
tylko w tej samej instancji, w której zostały utworzone.
10 Opcja filtru nie jest poprawna.
Działanie użytkownika:
Aby znaleźć obrazy kopii zapasowej obrazu stanu, które są 11 Ścieżka pliku protokołu nie jest poprawna.
dostępne dla bieżącej instancji, należy użyć programu 12 Ścieżka pliku protokołu przepełnienia nie jest
narzędziowego db2acsutil. poprawna.

Aby odtworzyć dany obraz kopii zapasowej obrazu stanu: 13 Opcja protokołów pobierania nie jest poprawna.
1. Przejdź do instancji, w której został utworzony obraz kopii 14 Podana liczba bajtów na przydzielanie pamięci jest
zapasowej obrazu stanu. zbyt mała.
2. Wprowadź ponownie komendę. Działanie użytkownika:
W wypadku kodu przyczyny 01 spraw, aby działaniem było
SQL2600W Niepoprawny parametr wejściowy, DB2READLOG_QUERY, DB2READLOG_READ albo
wskaźnik do bloku uprawnień lub błędna DB2READLOG_READ_SINGLE.
wielkość bloku.
W wypadku kodu przyczyny 02 zmniejsz wartość
Objaśnienie: początkowego numeru kolejnego protokołu.
Wskaźnik do parametru struktury autoryzacji jest równy
NULL, wskaźnik struktury autoryzacji wskazuje obszar W wypadku kodu przyczyny 03 spraw, aby końcowy numer
mniejszy niż wartość pola zawierającego długość struktury lub kolejny protokołu był odpowiednio większy od numeru
pole zawierające długość struktury ma niepoprawną wartość. początkowego.

Nie można wykonać komendy. W wypadku kodu przyczyny 04 spraw, aby początkowy numer
Działanie użytkownika: kolejny protokołu był inicjującym numerem kolejnym albo
Popraw wartość parametru wejściowego i wprowadź ponownie następnym numerem kolejnym protokołu zwróconym w
komendę. strukturze danych protokołu odczytu.

W wypadku kodu przyczyny 05 spraw, aby początkowym


numerem kolejnym protokołu był element rozszerzenia nazwy
protokołu w ścieżce dostępu do protokołu bazy danych.

Rozdział 2. Komunikaty SQL 337


SQL2651N • SQL2656N

Dla kodu przyczyny 06 sprawdź, czy numer kolejny protokołu działające w tle) lub zmniejsz zakres numerów kolejnych
końcowego jest większy od numeru kolejnego protokołu protokołów podany do funkcji API asynchroniczego odczytu.
początkowego.
SQL2653W Funkcje odtwarzania, odtwarzania do
Dla kodu przyczyny 07 sprawdź, czy bufor został przydzielony
przodu lub odtwarzania po awarii mogły
i czy ma wielkość odpowiadającą parametrowi wielkości
ponownie użyć numerów kolejnych
buforu.
protokołów z tego samego zakresu. Kod
przyczyny: kod-przyczyny.
Dla kodu przyczyny 08 zwiększ wielkość przydzielonego
buforu. Objaśnienie:
Funkcje odtwarzania, odtwarzania do przodu lub odtwarzania
W wypadku kodu przyczyny 09 spraw, aby pamięć była po awarii mogły ponownie użyć numerów kolejnych
poprawnie przydzielona, a wskaźniki były właściwie protokołów z tego samego zakresu. Możliwe kody przyczyny:
zainicjowane. v 01 - Wykonano odtwarzanie z kopii zapasowej (Restore).
v 02 - Wykonano odtwarzanie do przodu
W wypadku kodu przyczyny 10 spraw, aby opcją filtru było (ROLLFORWARD).
DB2READLOG_FILTER_OFF albo
v 03 - Wykonano odtwarzanie po awarii.
DB2READLOG_FILTER_ON.
Działanie użytkownika:
W wypadku kodu przyczyny 11 spraw, aby pole ścieżki do Nie jest wymagane żadne działanie.
pliku protokołu było zdefiniowane i aby ścieżka ta
wskazywała poprawny katalog.
SQL2654W Protokół bazy danych został
asynchronicznie odczytany do końca
W wypadku kodu przyczyny 12 spraw, aby pole ścieżki do
bieżącego aktywnego protokołu.
pliku protokołu przepełnienia było zdefiniowane i aby ścieżka
ta wskazywała poprawny katalog. Objaśnienie:
Program Asynchronous Log Reader odczytał wszystkie zapisy
W wypadku kodu przyczyny 13 spraw, aby opcją pobierania w aktywnym protokole bazy danych.
było DB2READLOGNOCONN_RETRIEVE_OFF,
Działanie użytkownika:
DB2READLOGNOCONN_RETRIEVE_LOGPATH albo
Nie jest wymagane żadne działanie.
DB2READLOGNOCONNRETRIEVE_OVERFLOW.

W wypadku kodu przyczyny 14 zwiększ liczbę bajtów, które SQL2655N Program Asynchronous Log Reader
można przydzielić wewnętrznie. napotkał plik nazwa, który nie jest
powiązany z asynchronicznie odczytywaną
bazą danych.
SQL2651N Nie można asynchronicznie odczytać
zapisów w protokole powiązanym z tą bazą Objaśnienie:
danych. Program Asynchronous Log Reader próbował odczytać zapisy
w protokole z podanego pliku protokołu. Podany plik
Objaśnienie: protokołu nie jest skojarzony z asynchronicznie odczytywaną
Funkcja API asynchronicznego odczytu została użyta w bazą danych.
stosunku do bazy danych, która nie ma włączonego LOG
RETAIN ani USER EXITS ON. Można odczytywać tylko Działanie użytkownika:
protokoły powiązane z bazami danych, w których można Usuń ten plik protokołu z katalogu protokołów bazy danych.
odtwarzać zmiany. Przenieś poprawny plik protokołu do katalogu protokołów
bazy danych i powtórz wywołanie funkcji API Asynchronous
Działanie użytkownika: Log Reader.
Zaktualizuj konfigurację bazy danych wskazanej w funkcji
API asynchronicznego odczytu, włączając LOG RETAIN i/lub
USER EXITS. SQL2656N Program Asynchronous Log Reader
napotkał plik nazwa, którego nie można
odczytać.
SQL2652N Za mało pamięci, aby uruchomić
asynchroniczny odczyt protokołu. Objaśnienie:
Program Asynchronous Log Reader próbował odczytać zapisy
Objaśnienie: w protokole z podanego pliku protokołu. Podany plik
Nie udało się przydzielić wewnętrznych buforów używanych protokołu jest uszkodzony i nie można go odczytać.
przez funkcję API asynchronicznego odczytu.
Działanie użytkownika:
Działanie użytkownika: Zwiększ numer początkowy odczytu protokołu i powtórz
Zwiększ obszar pamięci dostępny dla tego procesu (zwiększ wywołanie funkcji API Asynchronous Log Reader, aby
pamięć rzeczywistą lub wirtualną albo usuń zbędne procesy rozpocząć odczyt za podanym plikiem protokołu.

338 Komunikaty, tom 2


SQL2657N • SQL2709N

SQL2657N W katalogu protokołu bazy danych nie SQL2704N Otwieranie pliku danych wejściowych
można znaleźć żądanego przez Program plik-danych-wejściowych nie powiodło się.
Asynchronous Log Reader pliku nazwa.
Objaśnienie:
Objaśnienie: Program narzędziowy nie może odczytać pliku danych
Program Asynchronous Log Reader wymaga zapisów w wejściowych plik-danych-wejściowych.
protokole z podanego pliku protokołu. Jednak podanego pliku
Działanie użytkownika:
nie ma w katalogu protokołu bazy danych.
Sprawdź, czy ten plik danych wejściowych rzeczywiście
Działanie użytkownika: istnieje i można go odczytać.
Przesuń podany plik do katalogu protokołu odczytywanej
asynchronicznie bazy danych. Jeśli została zmieniona ścieżka
SQL2705N Otwieranie wejściowego pliku mapy
do protokołu bazy danych, plik protokołu może znajdować się
partycjonowania plik-wejściowy-mapy nie
w starej ścieżce. Wprowadź ponownie funkcję API
powiodło się.
Asynchronous Log Reader.
Objaśnienie:
Program narzędziowy nie może odczytać pliku wejściowego
SQL2701N Niepoprawna opcja wiersza komend dla
mapy partycjonowania plik-wejściowy-mapy.
programu nazwa-programu. Kod przyczyny:
kod-przyczyny. Działanie użytkownika:
Sprawdź, czy ten plik wejściowy mapy partycjonowania
Objaśnienie:
rzeczywiście istnieje i można go odczytać.
Podana w wierszu komend opcja programu narzędziowego do
podziału danych jest niepoprawna. Poprawnymi opcjami są:
v -c ″Nazwa pliku konfiguracyjnego″ SQL2706N Otwieranie wyjściowego pliku mapy
partycjonowania plik-wyjściowy-mapy nie
v -d ″Nazwa pliku dystrybucyjnego″
powiodło się.
v -i ″Nazwa pliku wejściowego″
Objaśnienie:
v -o ″Prefiks pliku wyjściowego″
Program narzędziowy nie może otworzyć pliku wyjściowego
v -h Sposób użycia. mapy partycjonowania plik-wyjściowy-mapy do zapisu.
Działanie użytkownika: Działanie użytkownika:
W zależności od podanego kodu przyczyny: Sprawdź, czy możliwy jest zapis do tego pliku wyjściowego
1 Opcja nie została poprzedzona znakiem ’-’. mapy partycjonowania.

2 Po każdej opcji, oprócz ’h’ (lub ’H’) musi wystąpić


argument. SQL2707N Otwieranie pliku dystrybucyjnego
plik-dystrybucyjny nie powiodło się.
3 Podano niewłaściwą opcję.
Objaśnienie:
4 Zbyt długi argument opcji (maksimum 80 znaków). Program narzędziowy nie może otworzyć pliku
dystrybucyjnego plik-dystrybucyjny do zapisu.
SQL2702N Otwieranie pliku konfiguracyjnego Działanie użytkownika:
plik-konfiguracyjny nie powiodło się. Sprawdź, czy możliwy jest zapis do tego pliku
Objaśnienie: dystrybucyjnego.
Program narzędziowy nie może odczytać pliku
konfiguracyjnego plik-konfiguracyjny. SQL2708N Otwieranie pliku danych wyjściowych
Działanie użytkownika: plik-danych-wyjściowych nie powiodło się.
Sprawdź, czy ten plik konfiguracyjny rzeczywiście istnieje i Objaśnienie:
można go odczytać. Program narzędziowy nie może otworzyć pliku wyjściowego
danych plik-danych-wyjściowych do zapisu.
SQL2703N Otwieranie pliku protokołu plik-protokołu Działanie użytkownika:
nie powiodło się. Sprawdź, czy możliwy jest zapis do tego pliku wyjściowego
Objaśnienie: danych.
Program narzędziowy nie może otworzyć pliku protokołu
plik-protokołu do zapisu lub do dopisywania. SQL2709N Błąd składniowy w wierszu wiersz pliku
Działanie użytkownika: konfiguracyjnego.
Sprawdź, czy ten plik protokołu rzeczywiście istnieje i można Objaśnienie:
do niego pisać. W specyfikacji parametru i jego argumentu wystąpił błąd
składniowy.

Rozdział 2. Komunikaty SQL 339


SQL2710N • SQL2718N

Działanie użytkownika: Poprawnymi poziomami komunikatów są CHECK i


Parametr i jego argument muszą być oddzielone znakiem ’=’. NOCHECK (wielkość liter jest nieistotna).

SQL2710N Niepoprawny parametr w wierszu wiersz SQL2715N Niepoprawny poziom sprawdzenia


pliku konfiguracyjnego. (CHECK_LEVEL) w wierszu wiersz pliku
konfiguracyjnego.
Objaśnienie:
W pliku konfiguracyjnym wystąpił niezdefiniowany parametr. Objaśnienie:
Wartość podana w pliku konfiguracyjnym dla poziomu
Działanie użytkownika:
kontroli (CHECK_LEVEL) jest niepoprawna.
Poprawne parametry (wielkość liter jest nieistotna) to:
v DESCRIPTION, CDELIMITER, SDELIMITER, NODES, Działanie użytkownika:
TRACE, MSG_LEVEL, RUNTYPE, OUTPUTNODES, Poprawnymi poziomami kontroli są CHECK i NOCHECK
NODES, OUTPUTNODES, OUTPUTTYPE, PARTITION, (wielkość liter jest nieistotna).
MAPFILI, INFILE, MAPFILO, OUTFILE, DISTFILE,
LOGFILE, NEWLINE, HEADER, FILETYPE. SQL2716N Niepoprawna długość rekordu (RECLEN)
długość-rekordu w wierszu wiersz pliku
SQL2711N Niepoprawny ogranicznik kolumny konfiguracyjnego.
(CDELIMITER) w wierszu wiersz pliku Objaśnienie:
konfiguracyjnego. Wartość określająca długość rekordu (RECLEN)
Objaśnienie: długość-rekordu podana w pliku konfiguracyjnym jest
Ogranicznik kolumny (CDELIMITER) podany w pliku niepoprawna.
konfiguracyjnym jest niepoprawny. Działanie użytkownika:
Działanie użytkownika: Długość rekordu (RECLEN) musi być z przedziału od 1 do
Sprawdź, czy ogranicznik kolumny (CDELIMITER) jest 32767.
znakiem jednobajtowym.
SQL2717N Niepoprawna specyfikacja węzłów
SQL2712N Niepoprawny ogranicznik łańcucha (NODES) w wierszu wiersz pliku
(SDELIMITER) w wierszu wiersz pliku konfiguracyjnego. Kod przyczyny:
konfiguracyjnego. kod-przyczyny.

Objaśnienie: Objaśnienie:
Ogranicznik łańcucha (SDELIMITER) podany w pliku Specyfikacja węzła (NODES) w pliku konfiguracyjnym jest
konfiguracyjnym jest niepoprawny. niepoprawna.

Działanie użytkownika: Działanie użytkownika:


Przecinek nie może być ogranicznikiem łańcucha W zależności od podanego kodu przyczyny:
(SDELIMITER). 1 Wartość NODES została już zdefiniowana.
2 Błędny format. Przykład poprawnej definicji:
SQL2713N Niepoprawny typ uruchomienia NODES=(0,30,2,3,10-15,57).
(RUNTYPE) w wierszu wiersz pliku
konfiguracyjnego. 3 Każda pozycja musi być wartością numeryczną z
przedziału od 0 do 999.
Objaśnienie:
Wartość podana w pliku konfiguracyjnym dla typu 4 Specyfikacja zakresu musi mieć postać: mniejsza
uruchomienia (RUNTYPE) jest niepoprawna. liczba-większa liczba.

Działanie użytkownika:
Poprawnymi typami wykonania są PARTITION i ANALYZE SQL2718N Niepoprawna specyfikacja węzłów
(wielkość liter jest nieistotna). wyjściowych (OUTPUTNODES) w wierszu
wiersz pliku konfiguracyjnego. Kod
przyczyny: kod-przyczyny.
SQL2714N Niepoprawny poziom komunikatów
(MSG_LEVEL) w wierszu wiersz pliku Objaśnienie:
konfiguracyjnego. Specyfikacja węzła wyjściowego (OUTPUTNODES) w pliku
konfiguracyjnym jest niepoprawna.
Objaśnienie:
Wartość podana w pliku konfiguracyjnym dla poziomu Działanie użytkownika:
komunikatów (MSG_LEVEL) jest niepoprawna. W zależności od podanego kodu przyczyny:

Działanie użytkownika: 1 Wartość OUTPUTNODES została już zdefiniowana.

340 Komunikaty, tom 2


SQL2719N • SQL2725N

2 Błędny format. Przykład poprawnej definicji: INTEGER, CHARACTER, VARCHAR,


OUTPUTNODES=(0,30,2,3,10-15,57) FOR_BIT_CHAR, FOR_BIT_VARCHAR, FLOAT
(tylko dla binarnych wartości numerycznych),
3 Każda pozycja musi być wartością numeryczną z
DOUBLE (tylko dla binarnych wartości
przedziału od 0 do 999.
numerycznych), DATE, TIME, TIMESTAMP,
4 Specyfikacja zakresu musi mieć postać: mniejsza DECIMAL(x,y).
liczba-większa liczba.
5 Dla typu danych DECIMAL musi być podana
dokładność (x) i skala (y) i muszą one być dodatnimi
SQL2719N Niepoprawny typ wyjściowy liczbami całkowitymi.
(OUTPUTTYPE) w wierszu wiersz pliku
6 W wypadku typu danych CHARACTER lub
konfiguracyjnego.
VARCHAR musi być określona długość (<len>).
Objaśnienie:
Specyfikacja parametru typu wyniku OUTPUTTYPE w pliku
SQL2722N Niepoprawna specyfikacja pliku protokołu
konfiguracyjnym jest niepoprawna.
(LOGFILE) w wierszu wiersz pliku
Działanie użytkownika: konfiguracyjnego.
Poprawnymi typami wyjścia (OUTPUTTYPE) są W (write) i
Objaśnienie:
S (stdin); wielkość znaków jest nieistotna.
Specyfikacja pliku protokołu (LOGFILE) podana w pliku
konfiguracyjnym jest niepoprawna.
SQL2720N Liczba kluczy partycjonowania
Działanie użytkownika:
przekroczyła maksimum ″256″. Ten błąd
Specyfikacja pliku protokołu (LOGFILE) musi mieć jeden z
został wykryty w wierszu wiersz pliku
podanych poniżej formatów:
konfiguracyjnego.
v LOGFILE=<nazwa-pliku-protokołu>,<typ-protokołu>
Objaśnienie:
v LOGFILE=<nazwa-pliku-protokołu>
Liczba zdefiniowanych kluczy partycjonowania przekroczyła
maksymalny limit: 256.
Poprawny <typ-protokołu> to W (write) lub A (append),
Działanie użytkownika: wielkość znaków jest nieistotna.
Usuń jeden z kluczy partycjonowania zdefiniowanych w pliku
konfiguracyjnym.
SQL2723N Niepoprawna specyfikacja śledzenia
(TRACE) w wierszu wiersz pliku
SQL2721N Niepoprawna specyfikacja klucza konfiguracyjnego.
partycjonowania (PARTITION) w wierszu
Objaśnienie:
wiersz pliku konfiguracyjnego. Kod
Specyfikacja śledzenia (TRACE) podana w pliku
przyczyny: kod-przyczyny.
konfiguracyjnym jest niepoprawna.
Objaśnienie:
Działanie użytkownika:
Klucz partycjonowania (PARTITION) podany w pliku
Specyfikacja śledzenia (TRACE) musi być dodatnią liczbą
konfiguracyjnym jest niepoprawny. Prawidłowy format:
całkowitą z przedziału od 0 do 65535.
PARTITION=<nazwa klucza>,
<pozycja>,
<przesunięcie>, SQL2724N Błędna specyfikacja listy węzłów.
<długość>,
<dopuszczalna wartość pusta>, Objaśnienie:
<typ danych>. Nieprawidłowa lista węzłów.
Działanie użytkownika:
Jeśli jest to plik danych z ogranicznikami, musi być W pliku konfiguracyjnym może być podany jeden i tylko
zdefiniowana <pozycja>, w przeciwnym wypadku muszą być jeden z parametrów: NODES lub MAPFILI (wejściowa mapa
zdefiniowane <przesunięcie> i <długość>. partycjonowania).
Działanie użytkownika:
W zależności od podanego kodu przyczyny: SQL2725N Nie podano nazwy pliku dla wyjściowej
1 Pola muszą być oddzielone znakiem ’,’. mapy partycjonowania.

2 Wartości <pozycja>, <przesunięcie> i <długość> Objaśnienie:


muszą być dodatnie. Jeśli rodzajem działania jest ANALYZE, musi być podana
nazwa pliku dla wyjściowej mapy partycjonowania.
3 <dopuszczalna-wartość-pusta> musi mieć wartość ze
zbioru {N,NN,NNWD}. Działanie użytkownika:
Podaj nazwę pliku dla wyjściowej mapy partycjonowania.
4 Prawidłowy <typ-danych> to: SMALLINT,

Rozdział 2. Komunikaty SQL 341


SQL2726N • SQL2736N

Działanie użytkownika:
SQL2726N Nie zdefiniowano klucza partycjonowania.
Przeczytaj opis błędów wejścia/wyjścia w dokumentacji
Objaśnienie: systemu operacyjnego.
Musi być zdefiniowany co najmniej jeden klucz
partycjonowania.
SQL2732N Wiersz wiersz pliku danych wejściowych
Działanie użytkownika: zawiera dane binarne.
Podaj jeden lub więcej kluczy partycjonowania.
Objaśnienie:
Dane binarne nie są dopuszczalne dla wersji tego programu
SQL2727N Klucz partycjonowania nazwa-klucza narzędziowego dla hosta.
przekracza długość rekordu
Działanie użytkownika:
długość-rekordu.
Sprawdź ten plik danych wejściowych.
Objaśnienie:
Dla danych bez ograniczników pozycja startowa klucza musi
SQL2733N W pliku konfiguracyjnym nie zdefiniowano
być mniejsza od długości rekordu.
typu wykonania (RUNTYPE).
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy pozycja startowa klucza jest mniejsza niż
Typ wykonania (RUNTYPE) musi być określony jako
długość rekordu.
PARTITION lub ANALYZE.
Działanie użytkownika:
SQL2728N Węzeł wyjściowy węzeł-wyjściowy nie jest
Zdefiniuj w pliku konfiguracyjnym typ wykonania
zdefiniowany na liście węzłów.
(RUNTYPE).
Objaśnienie:
Lista węzłów wyjściowych musi być podzbiorem listy węzłów,
SQL2734N Niepoprawny specyfikacja parametru
która pochodzi z wartości NODES lub pliku wejściowego
32KLIMIT w wierszu wiersz pliku
mapy partycjonowania.
konfiguracyjnego.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy wszystkie węzły wyjściowe są zdefiniowane na
Specyfikacja parametru 32KLIMIT w pliku konfiguracyjnym
liście węzłów.
jest niepoprawna.
Działanie użytkownika:
SQL2729N Błędna wejściowa mapa partycjonowania.
Parametr 32KLIMIT może być ustawiony na YES (TAK) lub
Objaśnienie: NO (NIE), wielkość liter nie ma znaczenia.
W pliku wejściowym mapy partycjonowania jest co najmniej
jeden błąd.
SQL2735W Rekord numer-rekordu pliku danych
Działanie użytkownika: wejściowych został usunięty, ponieważ był
Wejściowa mapa partycjonowania musi zawierać co najmniej to rekord pusty.
4096 pozycji danych i każda pozycja musi być liczbą z
Objaśnienie:
przedziału od 0 do 999.
Rekord numer-rekordu danych wejściowych został usunięty,
ponieważ zawiera same spacje.
SQL2730N Błąd podczas zapisywania nagłówka do
Działanie użytkownika:
pliku danych wyjściowych
Sprawdź rekord numer-rekordu w pliku danych wejściowych.
plik-danych-wyjściowych.
Objaśnienie:
SQL2736N Funkcja sqlugrpi_api zwróciła błąd podczas
Podczas zapisu nagłówka do pliku wyjściowego danych
przetwarzania rekordu w wierszu wiersz
wystąpił błąd wejścia/wyjścia.
pliku danych wejściowych.
Działanie użytkownika:
Objaśnienie:
Przeczytaj opis błędów wejścia/wyjścia w dokumentacji
Pola klucza partycjonowania zawierają błędne dane.
systemu operacyjnego i sprawdź, czy na urządzeniu
wyjściowym jest dostateczna ilość wolnego miejsca. Działanie użytkownika:
Sprawdź wiersz wiersz w pliku danych wejściowych.
SQL2731N Błąd podczas odczytu z pliku danych
wejściowych nazwa-pliku.
Objaśnienie:
Podczas odczytu danych z pliku wejściowego wystąpił błąd
wejścia/wyjścia.

342 Komunikaty, tom 2


SQL2737N • SQL2745N

v DEL (plik danych ASCII z ogranicznikiem)


SQL2737N Nie można zapisać pliku danych
wyjściowych dla węzła wyjściowego v BIN (plik ASC ze wszystkimi danymi numerycznymi w
węzeł-wyjściowy podczas przetwarzania postaci binarnej)
rekordu w wierszu wiersz pliku danych v PACK (plik ASC ze wszystkimi danymi dziesiętnymi w
wejściowych. upakowanym formacie dziesiętnym)
Objaśnienie: v IMPLIEDDECIMAL (plik DEL z danymi dziesiętnymi w
Podczas zapisywania rekordu do pliku danych wyjściowych niejawnym formacie dziesiętnym)
dla węzła wyjściowego węzeł-wyjściowy wystąpił błąd we/wy.
We wszystkich przypadkach nie są rozróżniane wielkie i małe
Działanie użytkownika: litery.
Przeczytaj opis błędów wejścia/wyjścia w dokumentacji
systemu operacyjnego i sprawdź, czy na urządzeniu
wyjściowym jest dostateczna ilość wolnego miejsca. SQL2742N Długość klucza partycjonowania
klucz-partycjonowania nie jest zgodna z jego
precyzją.
SQL2738W Rekord w wierszu wiersz pliku danych
wejściowych został obcięty podczas Objaśnienie:
zapisywania do pliku danych wyjściowych W pliku wejściowym danych binarnych, długość klucza
dla węzła węzeł-wyjściowy. Oczekiwana partycjonowania z danymi dziesiętnymi musi spełniać
długość zapisu to długość-rekordu, zaś równanie: DŁUGOŚĆ=(DOKŁADNOŚĆ+2)/2 (dzielenie
rzeczywista długość zapisu to całkowite), gdyż są to liczby w upakowanym formacie
długość-rzeczywista. dziesiętnym.
Objaśnienie: Działanie użytkownika:
Oczekiwana długość zapisu (RECLEN) nie jest zgodna z Jeśli plik danych wejściowych jest binarnym plikiem danych,
faktyczną długością zapisu. dopasuj długość klucza partycjonowania do dokładności
danych wejściowych.
Działanie użytkownika:
Dopasuj długość rekordu zdefiniowaną w pliku
konfiguracyjnym. SQL2743N Długość klucza partycjonowania
klucz-partycjonowania nie jest zgodna z jego
typem danych.
SQL2739N Nie podano długości rekordu dla pliku
binarnych danych liczbowych. Objaśnienie:
W binarnym pliku danych wejściowych, długość klucza
Objaśnienie: partycjonowania dla danych typu integer, small integer, float i
Dla pliku binarnych danych liczbowych konieczne jest double musi być predefiniowaną stałą i wynosić: 4 dla typu
zdefiniowanie długości rekordu. integer, 2 dla typu small integer, 4 dla typu float i 8 dla typu
Działanie użytkownika: double.
Podaj długość rekordu w pliku konfiguracyjnym. Działanie użytkownika:
Sprawdź definicje klucza partycjonowania w pliku
SQL2740N Dane typu Float nie są dozwolone w konfiguracyjnym.
niebinarnym pliku danych wejściowych.
Objaśnienie: SQL2744N Niedozwolona specyfikacja nazwy pliku dla
Typ danych Float jest obsługiwany tylko dla pliku typu BIN plik w wierszu wiersz pliku
(binarny). konfiguracyjnego.

Działanie użytkownika: Objaśnienie:


Sprawdź, czy typ danych i typ pliku danych wejściowych są Maksymalna długość nazwy pliku wynosi 80 znaków.
zgodne. Działanie użytkownika:
Sprawdź plik konfiguracyjny.
SQL2741N Niepoprawna specyfikacja typu pliku w
wierszu wiersz pliku konfiguracyjnego. SQL2745N Niepoprawna flaga NEWLINE w wierszu
Objaśnienie: wiersz pliku konfiguracyjnego.
Specyfikacja typu pliku podana w pliku konfiguracyjnym jest Objaśnienie:
niepoprawna. Flaga NEWLINE musi mieć wartość YES lub NO; jeśli nie
Działanie użytkownika: zostanie podana, ma wartość NO.
Poprawnymi wartościami dla parametru typu pliku są: Działanie użytkownika:
v ASC (pozycyjny plik danych ASCII) Sprawdź specyfikację flagi NEWLINE w pliku
konfiguracyjnym.

Rozdział 2. Komunikaty SQL 343


SQL2746N • SQL2755N

SQL2746N Znaleziono niekompletny rekord podczas SQL2751N Rzeczywista długość rzeczywista-długość-


odczytywania rekordu numer-rekordu w rekordu rekordu nr-rekordu nie jest zgodna z
pliku danych wejściowych. oczekiwaną długością oczekiwana-długość-
rekordu.
Objaśnienie:
W pliku pozycyjnym ASCII lub binarnym pliku Objaśnienie:
numerycznym, każdy rekord musi mieć dokładnie taką Jeżeli konieczne jest sprawdzanie nowego wiesza dla
długość, jak podana w parametrze RECLEN w pliku określonych długości pliku danych ASCII (parametr
konfiguracyjnym. NEWLINE jest ustawiony na YES (TAK) i parametr RECLEN
nie jest równy zero), rzeczywista długość każdego rekordu
Działanie użytkownika:
musi pokrywać się z długością oczekiwaną.
Sprawdź, czy plik danych wejściowych jest pełny.
Działanie użytkownika:
Sprawdź rekord numer-rekordu w pliku danych wejściowych.
SQL2747N Rekord był zbyt długi podczas
odczytywania rekordu numer-rekordu z
pliku danych wejściowych. SQL2752N Niepoprawna specyfikacja strony kodowej
strona-kodowa w wierszu wiersz pliku
Objaśnienie:
konfiguracyjnego.
Dla pozycyjnego pliku wejściowego ASCII lub
nieograniczonego pliku danych z parametrem 32KLIMIT, Objaśnienie:
maksymalna długość rekordu nie może przekroczyć granicy 32 Specyfikacja strony kodowej jest niepoprawna. Musi ona być
kilobajtów. liczbą całkowitą dodatnią.
Działanie użytkownika: Działanie użytkownika:
Sprawdź plik danych wejściowych i sprawdź, czy długość Popraw specyfikację strony kodowej w pliku
rekordu jest mniejsza od 32 kilobajtów. konfiguracyjnym.

SQL2748N Rekord numer-rekordu ma długość równą SQL2753N Nie było możliwe uzyskanie kodu
długość B, która jest zbyt krótka do terytorium i strony kodowej aplikacji. Kod
przechowania klucza partycjonowania klucz. powrotu z funkcji nazwa-funkcji jest równy
kod-powrotu.
Objaśnienie:
W pliku pozycyjnym ASC lub binarnym pliku numerycznym, Objaśnienie:
każdy rekord musi mieć długość wystarczającą, aby pomieścić W programie nie było możliwe uzyskanie kodu terytorium i
wszystkie klucze partycjonowania. strony kodowej środowiska programu.
Działanie użytkownika: Działanie użytkownika:
Sprawdź długość rekordu w pliku danych wejściowych. Skontaktuj się z administratorem systemu bazy danych.

SQL2749N Klucz partycjonowania nr-klucza rekordu SQL2754N Strony kodowej źródłowa-strona-kodowa nie
nr-rekordu nie znajdował się w pierwszych można przekształcić w stronę kodową
32 kB rekordu. docelowa-strona-kodowa.
Objaśnienie: Objaśnienie:
Jeżeli rekord w nieograniczonym pliku danych ma długość Baza danych nie obsługuje konwersji stron kodowych
większą niż 32 kilobajty, wszystkie klucze partycjonowania pomiędzy tymi dwoma stronami kodowymi.
każdego rekordu muszą znajdować się w jego początkowych
Działanie użytkownika:
32 kilobajtach.
Sprawdź, czy dane są w stronie kodowej, której konwersja jest
Działanie użytkownika: obsługiwana.
Sprawdź rekord numer-rekordu w pliku danych wejściowych.
SQL2755N Dane dziesiętne nie mogą być jednocześnie
SQL2750N Długość wiersza numer-wiersza w pliku w formatach IMPLIEDDECIMAL i
konfiguracyjnym była większa niż 255 PACKEDDECIMAL.
bajtów.
Objaśnienie:
Objaśnienie: Poprawnymi formatami danych dziesiętnych są
Maksymalna długość wiersza w pliku konfiguracyjnym musi SQL_PACKEDDECIMAL_FORMAT,
być mniejsza od 255 bajtów. SQL_CHARSTRING_FORMAT albo
SQL_IMPLIEDDECIMAL_FORMAT, które się wzajemnie
Działanie użytkownika:
wykluczają.
Sprawdź plik konfiguracyjny i sprawdź, czy wszystkie wiersze
są krótsze niż 255 bajtów. Działanie użytkownika:

344 Komunikaty, tom 2


SQL2761N • SQL2800N

Sprawdź format danych dziesiętnych, popraw wartość formatu


SQL2767N Opcja wiersza komend jest niepoprawna.
i podaj komendę ponownie.
Objaśnienie:
Podano niepoprawną opcję wiersza komend.
SQL2761N Można podać albo nazwę tablicy albo grupę
węzłów. Działanie użytkownika:
Sprawdź, czy podano prawidłowe opcje wiersza komend.
Objaśnienie:
Podaj nazwę tablicy lub nazwę grupy węzłów, ale nie obie te
wartości. SQL2800N Instrukcja CREATE, DROP, lub CHANGE
NODE nie powiodła się. Kod przyczyny:
Działanie użytkownika:
kod-przyczyny.
Sprawdź opcje wiersza komend.
Objaśnienie:
Programowi źródłowemu nie udało się dodać, usunąć lub
SQL2762N Program narzędziowy nie znalazł ścieżki
zmienić węzła, ponieważ podane parametry wejściowe są
instalacyjnej bazy danych.
nieprawidłowe. Typy błędów określają następujące kody
Objaśnienie: przyczyny:
Program narzędziowy musi wiedzieć, gdzie jest zainstalowany v (1) Nie podano numeru węzła.
menedżer baz danych, aby móc znaleźć plik wiązania.
v (2) Nie podano nazwy hosta TCP/IP.
Działanie użytkownika: v (3) Nie podano nazwy komputera.
Sprawdź, czy menedżer baz danych jest właściwie
v (4) Numer węzła jest nieprawidłowy.
zainstalowany.
v (5) Numer portu jest nieprawidłowy.
v (6) Nazwa hosta TCP/IP jest nieprawidłowa.
SQL2763N Nie znaleziono tabeli nazwa-tabeli.
v (7) Wartość portu dla instancji nie jest zdefiniowana w pliku
Objaśnienie: Services.
Nie można znaleźć tabeli nazwa-tabeli w sysibm.systables.
v (8) Wartość portu dla instancji nie mieści się w
Działanie użytkownika: prawidłowym zakresie zdefiniowanym w pliku Services.
Sprawdź, czy ta tablica znajduje się w bazie danych. v (9) Numer węzła nie jest unikalny.
v (10) Para nazwa hosta/port nie jest unikalna.
SQL2764N Nie znaleziono grupy węzłów grupa-węzłów. v (11) Wartość nazwy hosta nie ma odpowiadającego jej portu
Objaśnienie: 0.
Nie można znaleźć grupy węzłów grupa-węzłów w Działanie użytkownika:
sysibm.sysnodegroupdef. Działanie odpowiadające kodowi przyczyny jest następujące:
Działanie użytkownika: v (1) Sprawdź, czy podano numer węzła.
Sprawdź, czy ta grupa węzłów znajduje się w bazie danych. v (2) Sprawdź, czy podano nazwę hosta TCP/IP.
v (3) Sprawdź, czy podano nazwę komputera.
SQL2765W Otworzenie wyjściowego pliku mapy v (4) Sprawdź, czy numer węzła mieści się w zakresie od 0 do
partycjonowania plik-wyjściowy-mapy przez 999.
program narzędziowy nie powiodło się.
v (5) Sprawdź, czy numer portu mieści się w zakresie od 0 do
Objaśnienie: 999.
Program narzędziowy nie może otworzyć do zapisu pliku v (6) Sprawdź, czy podana nazwa hosta jest zdefiniowana w
wyjściowego mapy partycjonowania. Program będzie systemie i działa.
zapisywał dane wyjściowe na stdout.
v (7) Sprawdź, czy plik usług dla TCP/IP w systemie zawiera
Działanie użytkownika: pozycję dla używanej instancji.
Sprawdź, czy masz wymagane uprawnienia dostępu do pliku. v (8) Sprawdź, czy używasz tylko tych wartości portu, które
są podane w pliku Services w bieżącym systemie.
SQL2766N Mapa partycjonowania nie ma poprawnej v (9) Sprawdź, czy numer węzła jest unikalny.
wielkości wielkość-mapy. v (10) Sprawdź, czy nowa para nazwa hosta/port nie jest
Objaśnienie: jeszcze zdefiniowana w pliku db2nodes.cfg.
Rozmiar mapy partycjonowania jest niepoprawny. Dane w v (11) Sprawdź, czy dla podanej nazwy hosta została
bazie danych są uszkodzone. zdefiniowana wartość portu 0.

Działanie użytkownika:
Aby rozwiązać ten problem skontaktuj się z administratorem
bazy danych.

Rozdział 2. Komunikaty SQL 345


SQL2801N • SQL2805N

v /u Zmień nazwę i hasło konta logowania


SQL2801N Składnia komendy DB2NCRT jest
niepoprawna. v /g Określ nazwę sieciową lub adres IP

Objaśnienie: Działanie użytkownika:


Program użytkowy DB2NCRT tworzy nowy węzeł w systemie Wprowadź komendę DB2NCHG z jedną spośród poprawnych
partycjonowanych baz danych. opcji komendy.
DB2NCRT /n:węzeł
/u:nazwa użytkownika,hasło SQL2803N Składnia komendy DB2NDROP jest
[/i:instancja] niepoprawna.
[/h:host]
[/m:komputer] Objaśnienie:
[/p:port] Narzędzie DB2NDROP usuwa węzeł z partycjonowanego
[/o:instancja będąca właścicielem systemu.
komputera]
[/g:nazwa sieciowa] DB2NDROP /n:węzeł
[/i:instancja]
Argumentami komendy są:
Opcje komendy są następujące:
v /n Podaj numer węzła
v /i Podaj instancję, jeśli jest różna od instancji
v /u Podaj nazwę konta i hasło dla usług DB2 domyślnej/bieżącej

Opcje komendy są następujące: Działanie użytkownika:


Wydaj komendę DB2NDROP z jedną z prawidłowych opcji
v /i Podaj instancję, jeśli jest różna od instancji
komendy.
domyślnej/bieżącej
v /h Podaj nazwę hosta TCP/IP, jeśli nazwa ta nie jest
domyślną nazwą hosta TCP/IP maszyny SQL2804N Składnia komendy DB2NLIST jest
niepoprawna.
v /m Podaj nazwę stacji roboczej, jeśli w maszynie zdalnej
został utworzony węzeł Objaśnienie:
v /p Podaj numer portu logicznego, jeśli nie jest to pierwszy Program użytkowy DB2NLIST wyświetla wszystkie węzły w
węzeł w maszynie partycjonowanym systemie.
v /o Podaj nazwę komputera instancji z maszyną podczas DB2NLIST [/i:instancja]
tworzenia pierwszego węzła w maszynie. [/s]
v /g Podaj nazwę sieciową albo adres IP.
Opcje komendy są następujące:
Działanie użytkownika: v /i Podaj instancję, jeśli jest różna od instancji
Wprowadź ponownie komendę, podając prawidłowe domyślnej/bieżącej
parametry.
v /s Wyświetl status węzła
Działanie użytkownika:
SQL2802N Składnia komendy DB2NCHG jest
Wydaj komendę DB2NLIST z jedną z prawidłowych opcji
niepoprawna.
komendy.
Objaśnienie:
Program narzędziowy DB2NCHG zmienia lub aktualizuje
SQL2805N Wystąpił błąd usługi. Kod przyczyny:
konfigurację danego węzła w systemie partycjonowanych baz
kod-przyczyny.
danych.
DB2NCHG /n:węzeł Objaśnienie:
[/h:host] Podczas przetwarzania instrukcji CREATE, DROP lub ADD
[/m:komputer] NODE, wystąpił błąd usługi oznaczony przez następujące
[/p:port] kody przyczyny:
[/i:instancja] v (1) Nie można zarejestrować usługi.
[/u:nazwa użytkownika,
hasło] v (2) Nie można ustawić wymaganej strategii praw
[/g:nazwa sieciowa] użytkownika (User Rights Policy).
v (3) Nie można ustawić konta użytkownika dla usługi.
Opcje komendy są następujące: v (4) Nie można usunąć usługi.
v /h Zmień nazwę hosta TCP/IP
Działanie użytkownika:
v /m Zmień nazwę stacji roboczej Działanie odpowiadające kodowi przyczyny jest następujące:
v /p Zmień numer portu logicznego v (1) Jeśli podano nazwę stacji roboczej dla DB2NCRT,
v /i Podaj instancję, jeśli jest różna od instancji sprawdź, czy nazwa stacji roboczej jest poprawna.
domyślnej/bieżącej

346 Komunikaty, tom 2


SQL2806N • SQL2812N

v (2) Sprawdź, czy podana nazwa użytkownika jest


SQL2811N Komenda jest nieprawidłowa, ponieważ
prawidłowa.
instancja nie jest instancją partycjonowanej
v (3) Sprawdź, czy podana nazwa użytkownika i hasło są bazy danych.
prawidłowe.
Objaśnienie:
v (4) Jeśli węzeł rezyduje na innej maszynie, sprawdź, czy ta
Ta komenda jest prawidłowa tylko wtedy, gdy instancja jest
maszyna działa.
instancją partycjonowanej bazy danych.
Jeśli problem nie zostanie usunięty, skontaktuj się z serwisem Działanie użytkownika:
IBM. Sprawdź, czy podana nazwa instancji jest poprawna. Jeśli w
wierszu komend nie podano nazwy instancji, sprawdź, czy
zmienna środowiskowa DB2INSTANCE jest ustawiona na
SQL2806N Węzeł węzeł nie został znaleziony dla prawidłową instancję partycjonowanej bazy danych.
instancji instancja.
Objaśnienie: SQL2812N Wprowadzono niepoprawny argument dla
Komenda DB2NDROP nie powiodła się, ponieważ węzeł nie komendy db2drvmp.
istnieje.
Objaśnienie:
Działanie użytkownika: Składnia:
Sprawdź, czy numer węzła jest poprawny, i ponów komendę.
db2drvmp add numer_węzła
z_napędu do_napędu
SQL2807N Węzeł węzeł już istnieje dla instancji drop numer_węzła
instancja. z_napędu
query [numer_węzła]
Objaśnienie: [z_napędu]
Komenda DB2NCRT nie powiodła się, ponieważ węzeł już reconcile [numer_węzła]
istnieje. [z_napędu]
Działanie użytkownika:
Poprawne argumenty dla tej komendy to:
Sprawdź, czy numer węzła jest poprawny, i ponów komendę.
add przypisuje nowe odwzorowanie napędu dla bazy
danych
SQL2808W Węzeł węzeł dla instancji instancja został
usunięty. drop usuwa istniejące odwzorowanie napędu dla bazy
danych
Objaśnienie:
Przetwarzanie komendy DB2NDROP zakończyło się query zapytanie o odwzorowanie bazy danych
pomyślnie.
reconcile
Działanie użytkownika: naprawa odwzorowanego dysku bazy danych po
Nie są wymagane żadne dalsze działania. uszkodzeniu zawartości rejestru.
numer_węzła
SQL2809W Węzeł: węzeł został dodany do instancji: numer węzła; parametr ten jest wymagany w
instancja {host: nazwa-hosta, komputer: przypadku operacji dodawania (add) i usuwania
nazwa-komputera, port: numer-portu} (drop)
Objaśnienie: z_napędu
Przetwarzanie komendy DB2NCRT zakończyło się pomyślnie. litera napędu, z którego następuje odwzorowanie;
parametr ten jest wymagany w przypadku operacji
Działanie użytkownika:
dodawania (add) i usuwania (drop)
Nie są wymagane żadne dalsze działania.
do_napędu
litera napędu, do którego następuje odwzorowanie,
SQL2810W Węzeł: węzeł został zmieniony w instancji:
parametr ten jest wymagany wyłącznie w przypadku
instancja {host: nazwa-hosta, komputer:
operacji dodawania (add); nie można go stosować w
nazwa-komputera, port: numer-portu}
przypadku innych operacji
Objaśnienie:
Działanie użytkownika:
Przetwarzanie komendy DB2NCHG zakończyło się
Wprowadź komendę ponownie, używając poprawnych
pomyślnie.
argumentów.
Działanie użytkownika:
Nie są wymagane żadne dalsze działania.

Rozdział 2. Komunikaty SQL 347


SQL2813I • SQL3006C

SQL2813I Odwzorowanie napędu z napędu napęd-1 na SQL3003C Wystąpił błąd wejścia/wyjścia podczas
napęd napęd-2 zostało dodane dla węzła zamykania pliku danych wyjściowych.
węzeł.
Objaśnienie:
Objaśnienie: Wystąpił błąd systemowy wejścia/wyjścia podczas zamykania
Odwzorowanie napędu zostało dodane poprawnie. pliku danych wyjściowych.
Działanie użytkownika:
Plik nie zostaje zamknięty.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Jeśli plik danych wyjściowych jest niekompletny, usuń go i
SQL2814I Odwzorowanie napędu z napędu napęd
powtórz komendę.
zostało usunięte dla węzła węzeł.
Objaśnienie:
SQL3004N Parametr typ_pliku jest nieprawidłowy.
Odwzorowanie napędu zostało poprawnie usunięte.
Objaśnienie:
Działanie użytkownika:
Parametrem typ_pliku dla tej komendy musi być DEL, ASC,
Nie jest wymagane żadne działanie.
IXF, WSF lub DB2CS.

SQL2815I Odwzorowanie napędu dla węzła węzeł jest Parametrem typ_pliku dla komendy EXPORT musi być DEL,
następujące: napęd-1 - napęd-2. IXF lub WSF.
Objaśnienie:
Komunikat informacyjny. Parametrem typ_pliku dla komendy LOAD musi być ASC,
DEL, IXF lub DB2CS.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Pliki IXF nie mogą być używane do ładowania do tabeli
zdefiniowanej w bazie danych z partycjonowaniem
SQL3001C Wystąpił błąd wejścia/wyjścia (przyczyna = mieszającym.
przyczyna) podczas otwarcia pliku
wyjściowego. Nie można wykonać komendy.

Objaśnienie: Działanie użytkownika:


Wystąpił błąd systemowy wejścia/wyjścia podczas otwarcia Powtórz komendę z prawidłowym parametrem typ_pliku.
pliku wyjściowego.
SQL3005N Przetwarzanie zostało przerwane.
Nie można wykonać komendy. Nie zostają przetworzone
żadne dane. Objaśnienie:
Podczas przetwarzania odebrano przerwanie. Użytkownik
Działanie użytkownika: mógł nacisnąć kombinację klawiszy służącą do przerwania
Dla komendy IMPORT/LOAD, sprawdź, czy istnieje plik programu.
wejściowy. Dla komendy EXPORT, sprawdź, czy na nośniku
wyjściowym jest wystarczająca ilość wolnego miejsca. Program narzędziowy zatrzymuje przetwarzanie. Wszelkie
Wprowadź komendę ponownie, z prawidłową nazwą pliku niezatwierdzone aktualizacje bazy danych zostają wycofane.
wyjściowego, zawierającą poprawną ścieżkę. Aby znaleźć
dodatkowe informacje, zajrzyj do pliku komunikatów. Działanie użytkownika:
Wprowadź ponownie komendę. W przypadku importowania
zajrzyj do podręcznika Command Reference w celu uzyskania
SQL3002C Wystąpił błąd wejścia/wyjścia podczas informacji o sposobie korzystania z parametrów commitcount i
zapisu do pliku danych wyjściowych. restartcount. W przypadku ładowania zajrzyj do podręcznika
Objaśnienie: Command Reference w celu uzyskania informacji o sposobie
Wystąpił błąd systemowy wejścia/wyjścia podczas zapisu do restartowania ładowania.
pliku danych wyjściowych. Wyjście może być niekompletne
lub dysk może być pełen. SQL3006C Wystąpił błąd wejścia/wyjścia podczas
otwarcia pliku komunikatów.
Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Działanie użytkownika: Wystąpił błąd systemowy wejścia/wyjścia podczas otwarcia
Jeśli plik danych wyjściowych jest niekompletny, usuń go i pliku komunikatów. Ten błąd może dotyczyć problemu
powtórz komendę. występującego na kliencie lub na serwerze.

Nie można wykonać komendy.

348 Komunikaty, tom 2


SQL3007C • SQL3014C

Działanie użytkownika: Sprawdź wskaźnik METHOD i strukturę, którą wskazuje.


Wprowadź komendę ponownie, z prawidłową nazwą pliku Powtórz komendę z prawidłowym parametrem METHOD.
komunikatów, zawierającą poprawną ścieżkę.
SQL3011C Zbyt mało pamięci dla przetwarzania
SQL3007C Wystąpił błąd wejścia/wyjścia podczas komendy.
zapisu do pliku komunikatów.
Objaśnienie:
Objaśnienie: Wystąpił błąd przydziału pamięci. Jest zbyt mało dostępnej
Wystąpił błąd systemowy wejścia/wyjścia podczas zapisu do pamięci, aby przetwarzać komendę, albo wystąpił błąd
pliku komunikatów. zwalniania pamięci.

Przetwarzanie mogło nie zostać zakończone. Nie można wykonać komendy.


Działanie użytkownika: Działanie użytkownika:
Jeśli plik komunikatów jest niekompletny, usuń go i powtórz Należy zatrzymać aplikację. Możliwe są następujące
komendę. rozwiązania:
v Sprawdź, czy system ma wystarczającą ilość pamięci
SQL3008N Program narzędziowy napotkał błąd błąd rzeczywistej i wirtualnej.
podczas nawiązywania połączenia z bazą v Usuń procesy uruchomione w tle.
danych. v Zwiększ wartość parametru util_heap_sz dla bazy danych.
Objaśnienie: v Zmniejsz rozmiar buforów do wykorzystania dla operacji
Moduł IMPORT lub EXPORT nie mógł połączyć się z bazą LOAD.
danych. v Parametr util_heap_sz jest współużytkowany przez moduły
LOAD, BACKUP, RESTORE i REORG, więc należy
Żadne dane nie zostały zaimportowane lub wyeksportowane. zmniejszyć liczbę jednocześnie uruchomionych instancji
Działanie użytkownika: tych programów narzędziowych.
W celu uzyskania dalszych informacji sprawdź numer błędu
podany w komunikacie. Wprowadź zmiany i ponownie SQL3012C Wystąpił błąd systemowy.
wprowadź komendę.
Objaśnienie:
Wystąpił błąd systemu operacyjnego.
SQL3009N Parametr Action String jest niepoprawny
lub za długi. Nie można wykonać komendy.
Objaśnienie: Działanie użytkownika:
Parametr Action String (na przykład ″REPLACE into ...″ dla Przejrzyj plik komunikatów, usuń problem i powtórz komendę.
eksportu lub ″INSERT into ...″ dla importowania i ładowania)
parametr w komendzie jest niepoprawny. Wskaźnik Action
String może być niepoprawny. Struktura Action String może SQL3013N Długość filetmod przekracza dopuszczalny
zawierać niepoprawne znaki. Struktura Action String może zakres. Powinna ona być większa lub równa
zawierać niepoprawne znaki. Jako wskaźnik Action String zero i mniejsza lub równa 8000.
mógł zostać użyty nieaktualny lub nowy parametr. Objaśnienie:
Podana wartość filetmod jest poza dopuszczalnym zakresem
Nie można wykonać komendy. (większa lub równa zero i mniejsza lub równa 8000).
Działanie użytkownika:
Sprawdź wskaźnik Action String i strukturę, na którą Nie można wykonać komendy.
wskazuje. Powtórz komendę z prawidłowym parametrem Działanie użytkownika:
Action String. Sprawdź wskaźnik filetmod i strukturę, na którą wskazuje.
Powtórz komendę z prawidłowym filetmod.
SQL3010N Parametr METHOD jest nieprawidłowy.
Objaśnienie: SQL3014C Błąd wejścia/wyjścia podczas zamknięcia
Parametr METHOD w komendzie jest nieprawidłowy. pliku komunikatów.
Wskaźnik METHOD może być niepoprawny. Struktura Objaśnienie:
wskazywana przez METHOD może być niepoprawna. Systemowy błąd wejścia/wyjścia podczas zamknięcia pliku
Struktura METHOD może zawierać nieprawidłowe znaki. komunikatów.

Nie można wykonać komendy. Plik nie został zamknięty.


Działanie użytkownika: Działanie użytkownika:

Rozdział 2. Komunikaty SQL 349


SQL3015N • SQL3021N

Jeśli plik komunikatów jest niekompletny, powtórz komendę.


SQL3018N Jako ogranicznik łańcucha znaków podano
kropkę.
SQL3015N Podczas przetwarzania wystąpił błąd SQL
Objaśnienie:
kod_sql.
Dla ASCII z ogranicznikami (DEL) nie można podać kropki
Objaśnienie: jako ogranicznika łańcucha znakowego.
Błąd SQL podczas wywołania programu narzędziowego.
Nie można wykonać komendy.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Działanie użytkownika: Powtórz komendę z prawidłowymi przesłonięciami
Aby zdobyć więcej informacji, sprawdź kod SQLCODE ograniczników.
(numer komunikatu) w komunikacie. Wprowadź zmiany i
ponownie wprowadź komendę.
SQL3019N Nie podano parametru Action String w
komendzie.
SQL3016N W parametrze filetmod znaleziono
Objaśnienie:
nieoczekiwany parametr parametr dla
Brak parametru Action String (na przykład ″REPLACE into
danego typu pliku.
...″) dla tego wywołania programu użytkowego. Parametr ten
Objaśnienie: jest wymagany.
Modyfikator typu pliku (parametr filetmod lub fraza
następująca po MODIFIED BY w komendzie uruchamianej z Nie można wykonać komendy.
wiersza komend) zawiera parametr, którego nie można
Działanie użytkownika:
stosować dla typu pliku dla tego programu narzędziowego.
Powtórz komendę z parametrem Action String.
Program narzędziowy zatrzymuje przetwarzanie.
SQL3020N Użytkownik nie posiada uprawnień do
Działanie użytkownika:
uruchomienia podanej komendy Export.
Usuń modyfikator typu pliku lub podaj co najmniej jeden
prawidłowy parametr w modyfikatorze typu pliku. W Objaśnienie:
podręczniku Command Reference można znaleźć dodatkowe Użytkownik usiłował wyeksportować dane bez odpowiednich
informacje o modyfikatorach typu pliku. uprawnień (uprawnienia SYSADM albo DBADM), albo
uprawnienia CONTROL lub SELECT dla wszystkich tablic,
których dotyczył eksport.
SQL3017N Ogranicznik jest nieprawidłowy lub został
użyty więcej niż jeden raz.
Eksport nie został wykonany.
Objaśnienie:
Działanie użytkownika:
Dla plików z ogranicznikami ASCII (DEL) wystąpił jeden z
Zażądaj odpowiednich uprawnień, zanim wyeksportujesz dane
dwóch błędów:
z tablic.
v Znak podany dla ogranicznika kolumny, ogranicznika
łańcucha znakowego albo znaku separatora części
dziesiętnej jest nieprawidłowy. SQL3021N Użytkownik nie posiada uprawnień do
uruchomienia podanej komendy Import na
– Dla danych SBCS lub UTF-8 poprawnym zakresem
tablicy nazwa.
ograniczników jest 0x00 - 0x7F (włącznie).
– Dla danych MBCS poprawnym zakresem ograniczników Objaśnienie:
jest 0x00 - 0x3F (włącznie). Użytkownik usiłował importować dane bez odpowiednich
uprawnień dla podanej opcji i tablicy.
– Dla danych EBCDIC MBCS poprawnym zakresem
ograniczników jest 0x00 - 0x3F (włącznie) z
zastrzeżeniem, że ogranicznikami nie mogą być znaki Import przy użyciu opcji INSERT wymaga jednego z
SHIFT-OUT (0x0E) ani SHIFT-IN (0x0F). następujących uprawnień:

v Ten sam znak podany jest dla więcej niż jednej z v SYSADM lub DBADM
wymienionych pozycji. v CONTROL dla tablicy, widoku albo całej hierarchii
v INSERT i SELECT dla tablicy, widoku albo całej
Nie można wykonać komendy. hierarchii.
Działanie użytkownika:
Sprawdź podane ograniczniki pod kątem prawidłowości i Uwaga: cała hierarchia oznacza wszystkie podtablice albo
unikalności. Powtórz komendę z prawidłowymi obiekty widoków w hierarchii.
przesłonięciami ograniczników.

350 Komunikaty, tom 2


SQL3022N • SQL3025N

Import do istniejącej tablicy lub widoku przy użyciu opcji Powtórz komendę z prawidłowym parametrem nazwa bazy
INSERT_REPLACE, REPLACE lub REPLACE_CREATE danych.
wymaga jednego z następujących uprawnień :
v SYSADM lub DBADM SQL3024N Podczas otwierania pliku formatu wystąpił
v INSERT i SELECT dla tablicy, widoku albo całej błąd we/wy.
hierarchii.
Objaśnienie:
Podczas otwierania pliku formatu wystąpił systemowy błąd
Uwaga: cała hierarchia oznacza wszystkie podtablice albo
we/wy. Ten błąd może dotyczyć problemu występującego na
obiekty widoków w hierarchii.
kliencie lub na serwerze.
Import do tablicy, która nie istnieje, przy użyciu opcji
Błąd ten może być spowodowany faktem, że dany plik formatu
CREATE lub REPLACE_CREATE, wymaga jednego z
jest w tym samym czasie używany przez inną aplikację.
następujących uprawnień:
v SYSADM lub DBADM Nie można wykonać komendy.
v Uprawnienia CREATETAB dla bazy danych i jednego z
Działanie użytkownika:
następujących uprawnień:
Upewnij się, że plik formatu jest poprawny oraz że poprawna
– Uprawnienia IMPLICIT_SCHEMA dla bazy danych, jest jego ścieżka, i sprawdź czy nie jest obecnie używany przez
jeśli nazwa schematu tablicy nie istnieje inną aplikację.
– Uprawnienia CREATEIN dla schematu, jeśli schemat
tablicy istnieje. Wprowadź ponownie komendę. Poszukaj dodatkowych
informacji w pliku diagnostycznym dziennika.
Operacja importu nie została wykonana.
Działanie użytkownika: SQL3025N Parametr zawierający nazwę pliku lub
Sprawdź, czy użytkownik ma uprawnienia do wykonania ścieżkę jest nieprawidłowy.
operacji importu.
Objaśnienie:
Parametr zawiera ścieżkę, katalog lub nazwę pliku, która jest
SQL3022N Wystąpił błąd SQL kod_sql podczas nieprawidłowa.
przetwarzania łańcucha SELECT w
parametrze Action String. Dla komendy IMPORT i EXPORT, sprawdź parametr datafile.
Objaśnienie:
W ramach operacji IMPORT lub EXPORT, podczas Dla komendy LOAD sprawdź, czy każdy wpis w parametrach
przetwarzania łańcucha instrukcji SELECT należącej do typu sqlu_media_list: datafile zawiera poprawne nazwy
struktury Action String (na przykład, ″REPLACE into ...″) plików, czy parametry lobpaths copytarget i workdirectory
wystąpił błąd SQL. zawierają poprawne ścieżki na serwerze łącznie z końcowym
separatorem i zakończone znakiem o kodzie zero.
Nie można wykonać komendy.
Wskaźnik na lobpaths, copytarget oraz workdirectory musi być
Działanie użytkownika: prawidłowy lub mieć wartość pustą.
Aby zdobyć więcej informacji, sprawdź kod SQLCODE
(numer komunikatu) w komunikacie. Wprowadź zmiany i Wskaźnik na targets w tych strukturach musi być prawidłowy.
ponownie wprowadź komendę.
Sprawdź, czy sessions i media_type podane są poprawnie.
SQL3023N Parametr nazwa bazy danych jest
nieprawidłowy. Jeśli podano parametr lobpaths, sprawdź, czy media_type jest
taki sam, jak podany dla struktury datafile.
Objaśnienie:
Parametr nazwa bazy danych jest nieprawidłowy. Patrz pole Jeśli typem pliku jest IXF, długość nazwy pliku może być zbyt
SQLERRD[0] w obszarze komunikacyjnym SQL w celu długa.
uzyskania dalszych informacji.
Ten błąd jest zwracany również wtedy, gdy menedżer bazy
Nazwa bazy danych musi zawierać od 1 do 8 znaków, a danych DB2 nie ma uprawnień do odczytu określonego pliku
wszystkie te znaki muszą znajdować się w podstawowym lub z określonej ścieżki.
zestawie znaków menedżera baz danych.
Nie można wykonać komendy.
Nie można wykonać komendy.
Działanie użytkownika:
Działanie użytkownika: Upewnij się, czy menedżer bazy danych DB2 ma uprawnienia
do odczytu z określonego pliku lub ścieżki.

Rozdział 2. Komunikaty SQL 351


SQL3026N • SQL3033N

Powtórz komendę z prawidłowym parametrem. Działanie użytkownika:


Powtórz komendę z prawidłowym parametrem typ_pliku.
SQL3026N Parametr msgfile lub tempfiles jest
niepoprawny. SQL3030C Wystąpił błąd wejścia/wyjścia (przyczyna =
przyczyna) podczas otwarcia pliku
Objaśnienie:
wejściowego.
Dla komendy IMPORT lub EXPORT, parametr msgfile
zawiera ścieżkę, katalog lub nazwę pliku, która jest Objaśnienie:
nieprawidłowa. Wystąpił błąd systemowy wejścia/wyjścia podczas otwarcia
pliku wejściowego. Ten błąd może dotyczyć problemu
Dla komendy LOAD, albo parametr msgfile zawiera ścieżkę, występującego na kliencie lub na serwerze.
katalog lub nazwę pliku, która jest nieprawidłowa na kliencie,
albo parametr tempfiles zawiera ścieżkę, która jest Przyczyną może być używanie pliku przez inną aplikację.
nieprawidłowa na serwerze.
Nie można wykonać komendy.
Jeśli baza danych, z którą połączona jest aplikacja, jest zdalną
Działanie użytkownika:
bazą danych, msgfile musi być w pełni kwalifikowany. Dla
Sprawdź, czy plik wejściowy jest prawidłowy, łącznie ze
lokalnej bazy danych program narzędziowy spróbuje w pełni
ścieżką, i czy nie jest obecnie używany przez inną aplikację.
zakwalifikować msgfile, jeśli nie jest już w pełni
kwalifikowany. Należy również sprawdzić, czy wskaźnik na
msgfile jest prawidłowy. Wprowadź ponownie komendę.

Nie można wykonać komendy. SQL3031C Wystąpił błąd wejścia/wyjścia podczas


odczytu z pliku wejściowego.
Działanie użytkownika:
Powtórz komendę z prawidłowym parametrem msgfile i/lub Objaśnienie:
tempfiles. Wystąpił błąd systemowy wejścia/wyjścia podczas odczytu z
pliku wejściowego. Ten błąd może dotyczyć problemu
występującego na kliencie lub na serwerze.
SQL3027N Podczas odczytywania pliku formatu
wystąpił błąd we/wy.
Nie można wykonać komendy.
Objaśnienie:
Podczas odczytywania pliku formatu wystąpił systemowy błąd Działanie użytkownika:
we/wy. Ten błąd może dotyczyć problemu występującego na Sprawdź, czy plik wejściowy daje się odczytać.
kliencie lub na serwerze.
SQL3032N Wskaźnik metody LOAD/IMPORT jest
Nie można wykonać komendy. nieprawidłowy dla podanego typu pliku.
Musi być równy albo ’N’, albo ’P’, albo
Działanie użytkownika:
musi być ’domyślny’.
Sprawdź, czy możliwe jest odczytywanie pliku formatu.
Objaśnienie:
Dla typu pliku IXF i WSF wskaźnikiem metody
SQL3028N Sygnalizator metody eksportu jest
LOAD/IMPORT musi być albo N jak Nazwy, albo P jak
nieprawidłowy. Musi to być albo ’N’ albo
Pozycyjny, albo D jak Domyślny.
’D’.
Objaśnienie: Nie można wykonać komendy.
Sygnalizator metody eksportu musi być równy albo N, jak
Nazwy, albo D, jak Domyślny. Działanie użytkownika:
Powtórz komendę z prawidłowym znacznikiem metody.
Nie można wykonać komendy.
SQL3033N W specyfikacji docelowej brak parametru
Działanie użytkownika:
takiego, jak INSERT, REPLACE,
Powtórz komendę z prawidłowym sygnalizatorem metody.
CREATE, INSERT_UPDATE lub
REPLACE_CREATE, albo zostało ono
SQL3029N Nie podano parametru typu pliku. podane z błędem.
Objaśnienie: Objaśnienie:
Parametr typ_pliku nie został podany albo miał wartość pustą. W instrukcji IMPORT parametr Action String (na przykład
System nie wie, którego formatu użyć dla pliku danych. ″REPLACE into ...″) nie zawiera parametru INSERT,
REPLACE, CREATE, INSERT_UPDATE lub
Nie można wykonać komendy. REPLACE_CREATE. Dla komendy LOAD, parametr Action

352 Komunikaty, tom 2


SQL3034N • SQL3040N

String nie zawiera parametru INSERT, REPLACE lub Aby zdobyć więcej informacji, sprawdź kod SQLCODE
RESTART. Po parametrze musi wystąpić co najmniej jeden (numer komunikatu) w komunikacie. Wprowadź zmiany i
odstęp. ponownie wprowadź komendę.

Nie można wykonać komendy.


SQL3038N Parametr Action String zawiera
Działanie użytkownika: nieoczekiwane znaki.
Powtórz komendę z prawidłowym parametrem Action String.
Objaśnienie:
W komendzie IMPORT po nawiasie zamykającym listy
SQL3034N Brak parametru INTO w specyfikacji kolumn w parametrze Action String (na przykład ″REPLACE
docelowej lub został on podany z błędem. into ...″) występują znaki inne niż spacje . Dla komendy
LOAD, znaki inne niż odstępy występują po nawiasie
Objaśnienie: zamykającym listę kolumn i/lub nazwę tabeli wyjątków w
Brak parametru INTO lub został on podany z błędem. Po parametrze Action String.
INTO musi wystąpić co najmniej jeden odstęp.
Nie można wykonać komendy.
Nie można wykonać komendy.
Działanie użytkownika:
Działanie użytkownika: Powtórz komendę z prawidłowym parametrem Action String.
Wprowadź komendę ponownie, podając poprawny parametr
Action String (na przykład, ″REPLACE into ...″) .
SQL3039W Pamięć dostępna dla komendy LOAD dla
DATA BUFFER nie pozwala na pełny
SQL3035N Parametr nazwa_tabeli w specyfikacji paralelizm komendy LOAD. Zostanie użyty
docelowej jest nieprawidłowy. paralelizm ładowania wartość
Objaśnienie: Objaśnienie:
W instrukcji IMPORT, zmienna nazwa-tabeli w strukturze Moduł ładujący LOAD próbował określić optymalny poziom
Action String (na przykład ″REPLACE into ...″) jest paralelizmu CPU dla eksploatacji SMP opartej na konfiguracji
nieprawidłowa. Dla komendy LOAD, nazwa-tabeli lub systemu lub użytkownik określił wartość dla paralelizmu
nazwa-tabeli-wyjątków w Action String jest nieprawidłowa. komendy LOAD podczas wywoływania programu. Jednakże,
wystąpiło jedno z poniższych ograniczeń:
Nie można wykonać komendy.
1. ilość wolnej pamięci w stercie programu narzędziowego
Działanie użytkownika: nie dopuszcza do takiego stopnia paralelizmu,
Powtórz komendę z prawidłowym parametrem nazwa-tabeli. 2. w parametrze DATA BUFFER została określona zbyt mała
Upewnij się również, że wszystkie parametry komendy zostały wartość dla określonego lub dostępnego stopnia
wprowadzone w poprawnej kolejności. paralelizmu.

SQL3036N lista-kolumn w specyfikacji docelowej nie Zostanie użyty mniejszy, wymagający mniej pamięci stopień
ma zamkniętego nawiasu. paralelizmu.

Objaśnienie: Działanie użytkownika:


lista-kolumn musi być ograniczona nawiasami. Lista nie 1. Należy zignorować ten komunikat. Komenda LOAD użyje
została zakończona nawiasem zamykającym. mniejszej wartości paralelizmu i zakończy się poprawnie.
Jednakże wydajność komendy Load może być mniejsza od
Nie można wykonać komendy. optymalnej.
Działanie użytkownika: 2. Należy określić mniejszą wartość paralelizmu komendy
Wprowadź komendę ponownie, podając poprawną i kompletną LOAD podczas wywoływania programu.
listę kolumn w strukturze Action String (na przykład, 3. Należy zwiększyć wielkość sterty programu
″REPLACE into ...″) . narzędziowego.
4. Należy zwiększyć wielkość parametru bufora danych lub
SQL3037N Podczas przetwarzania komendy Import pozostawić parametr pusty i umożliwić modułowi
wystąpił błąd SQL kod_sql. ładującemu LOAD ustalenie wartości domyślnej w oparciu
o wielkość wolnej przestrzeni na stercie.
Objaśnienie:
Wystąpił błąd podczas przetwarzania parametru Action String
(na przykład ″REPLACE into ...″) . SQL3040N Program narzędziowy nie może używać
nazwy pliku nazwa-pliku określonej w
Nie można wykonać komendy. parametrze nazwa-opcji. Kod przyczyny:
kod-przyczyny.
Działanie użytkownika:
Objaśnienie:

Rozdział 2. Komunikaty SQL 353


SQL3041N • SQL3047N

Tej sytuacji może dotyczyć jeden z następujących kodów Podaj poprawną wartość i wprowadź komendę ponownie.
przyczyn:
1 Albo plik nazwa-pliku nie jest poprawną listą SQL3044N Wartość DATALINK SPECIFICATION dla
sqlu_media_list, albo podane wartości są kolumny DATALINK ma powtórzoną
niepoprawne. Parametr media_type musi być równy specyfikację przedrostka.
SQLU_CLIENT_LOCATION.
Objaśnienie:
2 Podano za mało nazw plików. Dokumentów do Wartość DATALINK SPECIFICATION dla kolumny
wyeksportowania jest więcej niż określona liczba DATALINK ma powtórzoną specyfikację przedrostka dla
podanych nazw plików pomnożona przez DL_URL_REPLACE_PREFIX lub
SQLU_MAX_SESSIONS. DL_URL_DEFAULT_PREFIX.
3 Kombinacja nazwy ścieżki i nazwy pliku przekracza Działanie użytkownika:
maksymalną długość równą 255 bajtów na plik. Usuń powtórzoną specyfikację i wprowadź komendę
ponownie.
4 Brak dostępu do pliku nazwa-pliku.
5 Nazwa pliku nazwa-pliku zawiera nazwę ścieżki, zaś
SQL3045N Pozycja dcolumn w parametrze METHOD
ścieżek nie należy dołączać.
jest mniejsza niż jeden lub większa niż
6 Suma pozycji początkowej i długości danych maksymalna liczba kolumn (1024) w pliku
wejściowych przekracza wielkość pliku o nazwie ASCII z ogranicznikami.
nazwa-pliku.
Objaśnienie:
Działanie użytkownika: Pozycja dcolumn jest mniejsza od 1 lub większa od
Określ, jaki kod przyczyny ma zastosowanie, usuń problem i maksymalnej liczby kolumn (1024) w pliku z ogranicznikami.
ponownie wprowadź komendę.
Nie można wykonać komendy.
SQL3041N Określona wartość daty nie jest Działanie użytkownika:
obsługiwana w programie Sybase. Powtórz komendę z prawidłowymi pozycjami dcolumn.
Objaśnienie:
Program Sybase nie obsługuje wartości dat wcześniejszych niż SQL3046N Liczba kolumn w parametrze METHOD
z roku 1753. jest mniejsza niż jeden.
Działanie użytkownika: Objaśnienie:
Podaj poprawną wartość daty i wydaj komendę ponownie. Dla metod METHOD innych niż Domyślna, liczba podanych
kolumn musi być liczbą dodatnią (większą od 0).
SQL3042N Wartość LINKTYPE podana dla kolumny
Nie można wykonać komendy.
DATALINK jest niepoprawna.
Działanie użytkownika:
Objaśnienie:
Powtórz komendę z prawidłową liczbą kolumn w parametrze
Wartość LINKTYPE podana dla kolumny DATALINK jest
METHOD.
niepoprawna.
Działanie użytkownika:
SQL3047N Metoda LOAD/IMPORT podana w
Sprawdź podaną wartość LINKTYPE. Podaj poprawną
METHOD jest nieprawidłowa dla plików
wartość i ponownie wprowadź komendę.
ASCII z ogranicznikami. Musi być albo
równa ’P’, albo musi być ’domyślna’.
SQL3043N Wartość DATALINK SPECIFICATION dla
Objaśnienie:
kolumn(y) DATALINK jest niepoprawna.
Jedyne prawidłowe metody LOAD/IMPORT dla plików
Objaśnienie: ASCII z ogranicznikami to P jak Pozycje lub D jak Domyślny.
Wartość DATALINK SPECIFICATION dla kolumn(y)
DATALINK jest niepoprawna z jednej z następujących Nie można wykonać komendy.
przyczyn:
Działanie użytkownika:
v nieokreślona wartość DL_URL_REPLACE_PREFIX, Powtórz komendę z prawidłową metodą importu.
v nieokreślona wartość DL_URL_DEFAULT_PREFIX,
v nieokreślona wartość for DL_URL_SUFFIX.
v zawiera inne parametry niż DL_URL_REPLACE_PREFIX,
DL_URL_DEFAULT_PREFIX lub DL_URL_SUFFIX.
Działanie użytkownika:

354 Komunikaty, tom 2


SQL3048N • SQL3054N

SQL3048N Podano mniej kolumn z pliku wejściowego SQL3051W Dane, które miały zostać załadowane do
niż jest kolumn w bazie danych, ale dla kolumny nazwa-kolumny, zostały
jednej z kolumn bazy danych nie są załadowane, lecz konwersja ze strony
dopuszczalne wartości puste. kodowej pliku IXF na stronę kodową
aplikacji nie została przeprowadzona.
Objaśnienie:
Jeśli w liście METHOD podano mniej kolumn niż dla tablicy Objaśnienie:
docelowej, wartości dla brakujących kolumn wejściowych Dane, które zostały załadowane do kolumny CLOB lub
ładowane są jako wartości puste. Ponieważ dla kolumn w DBCLOB, przechowywane są w osobnym pliku i nie zostały
tablicy docelowej, które odpowiadają jednej lub więcej tych poddane żadnej konwersji.
kolumn wejściowych, nie są dopuszczalne wartości puste, nie
może być wstawiona wartość pusta. Aby prawidłowo załadować dane, wywołaj program
narzędziowy z aplikacji, która ma taką samą stronę kodową,
Nie można załadować pliku. jak plik IXF.
Działanie użytkownika: Działanie użytkownika:
Zdefiniuj nową tablicę, która ma tę samą liczbę kolumn co plik Jest to tylko ostrzeżenie.
wejściowy lub ma kolumny, dla których są dopuszczalne
wartości puste. Wprowadź ponownie komendę.
SQL3052N Brak wymaganego parametru ścieżki typ.
Kod przyczyny: kod-przyczyny.
SQL3049N Typ danych typ kolumny bazy danych nazwa
Objaśnienie:
jest niezgodny z tym plikiem formatu, ale
Kody przyczyny:
kolumna bazy danych nie dopuszcza
wartości pustej. 1 Pliki danych wejściowych pochodzą z różnych
ścieżek, a w tabeli docelowej istnieją kolumny typ.
Objaśnienie:
Parametr ścieżki typ musi zostać podany.
Dla tego pliku formatu typ kolumny bazy danych jest
nieprawidłowy. Dla kolumny bazy danych nie są dopuszczalne 2 Ładowanie następuje ze zdalnie podłączonego
wartości puste, dlatego program narzędziowy zostaje klienta i istnieją pliki zawierające dane ″typ″.
zakończony. Parametr ścieżki ″typ″ musi zostać podany.
Działanie użytkownika:
Program narzędziowy zatrzymuje przetwarzanie. Nie
Podaj nazwę ścieżki i ponownie wprowadź komendę.
załadowano żadnych danych.
Działanie użytkownika:
SQL3053N Jest więcej niż 8191 wierszy do
Przedefiniuj bazę danych tak, aby kolumny były zgodne z
wyeksportowania do sformatowanego pliku
kolumnami załadowanymi z pliku.
arkusza kalkulacyjnego.
Objaśnienie:
SQL3050W Konwersja danych zostanie zrealizowana
Maksymalna liczba wierszy, które mogą zostać umieszczone w
między stroną kodową pliku IXF
pliku w formacie (WSF) arkusza kalkulacyjnego, wynosi
strona-kodowa-pliku i stroną kodową
8191.
aplikacji strona-kodowa-aplikacji.
Objaśnienie: Moduł eksportujący EXPORT zatrzymuje przetwarzanie po
Jeśli wydano komendę IMPORT dla pliku danych IXF i strona umieszczeniu 8191 wierszy w pliku.
kodowa danych znakowych w pliku IXF jest różna od strony
kodowej aplikacji wywołującej operację importu, zostanie Działanie użytkownika:
wykonana konwersja ze strony kodowej pliku danych do Aby uniknąć tego błędu, użyj instrukcji SELECT, której
strony kodowej aplikacji i operacja będzie kontynuowana. wynikiem będzie mniejsza liczba wierszy do eksportu, i
powtórz komendę.
Jeśli wydano komendę LOAD dla pliku danych IXF i strona
kodowa danych znakowych w pliku IXF jest różna od strony SQL3054N Plik wejściowy nie jest prawidłowym
kodowej bazy danych, zostanie wykonana konwersja ze strony plikiem PC/IXF. Plik jest zbyt krótki, aby
kodowej pliku danych do strony kodowej bazy danych i mógł zawierać prawidłowy rekord H.
operacja będzie kontynuowana.
Objaśnienie:
Działanie użytkownika: Osiągnięto koniec pliku przed oczekiwanym końcem
Jeśli nie chcesz, aby została wykonana konwersja, wywołaj pierwszego rekordu. Plik może nie być plikiem PC/IXF.
program narzędziowy z użyciem opcji FORCEIN. W innym
wypadku nie jest wymagane żadne działanie. Moduł LOAD/IMPORT przerywa przetwarzanie. Nie
zaimportowano żadnych danych.

Rozdział 2. Komunikaty SQL 355


SQL3055N • SQL3062N

Działanie użytkownika:
SQL3059N Pole wersji w rekordzie H jest
Sprawdź, czy plik wejściowy jest poprawny.
nieprawidłowe.
Objaśnienie:
SQL3055N Plik wejściowy nie jest prawidłowym
Pole wersji w rekordzie H zawiera wartość, która jest
plikiem PC/IXF. Pole długości w pierwszym
nieprawidłowa.
rekordzie nie może zostać przekształcone do
wartości liczbowej.
Program narzędziowy zatrzymuje przetwarzanie. Nie
Objaśnienie: załadowano żadnych danych.
Wartość w polu długości pierwszego rekordu nie jest
Działanie użytkownika:
reprezentacją ASCII dla liczby. Plik może nie być plikiem
Sprawdź pole wersji w rekordzie H.
PC/IXF.

Program narzędziowy zatrzymuje przetwarzanie. Nie SQL3060N Pole HCNT w rekordzie H nie może zostać
załadowano żadnych danych. przekształcone do wartości liczbowej lub
wartość jest poza zakresem.
Działanie użytkownika:
Sprawdź, czy plik wejściowy jest poprawny. Objaśnienie:
Pole ’Liczba rekordów nagłówka’ (Heading-record-count) w
rekordzie H nie jest reprezentacją ASCII dla liczby albo jest
SQL3056N Plik wejściowy nie jest prawidłowym
liczbą, która jest nieprawidłowa dla tego pola.
plikiem PC/IXF. Wartość w polu długości
rekordu H jest zbyt mała.
Program narzędziowy zatrzymuje przetwarzanie. Nie
Objaśnienie: załadowano żadnych danych.
Wartość w polu długości rekordu H nie jest wystarczająco
Działanie użytkownika:
duża dla prawidłowego rekordu H. Plik może nie być plikiem
Sprawdź pole HCNT w rekordzie H.
PC/IXF.

Program narzędziowy zatrzymuje przetwarzanie. Nie SQL3061N Pole jednobajtowej lub dwubajtowej strony
załadowano żadnych danych. kodowej w rekordzie H nie może zostać
przekształcone do wartości liczbowej albo
Działanie użytkownika:
wartość jest poza zakresem.
Sprawdź, czy plik wejściowy jest poprawny.
Objaśnienie:
Pole jednobajtowej lub dwubajtowej strony kodowej w
SQL3057N Plik wejściowy nie jest prawidłowym
rekordzie H nie jest reprezentacją ASCII dla liczby albo jest
plikiem PC/IXF. Polem typu w pierwszym
liczbą, która jest nieprawidłowa dla tego pola.
rekordzie nie jest H.
Objaśnienie: Program narzędziowy zatrzymuje przetwarzanie. Nie
Polem typu w pierwszym rekordzie nie jest H. Pierwszy rekord załadowano żadnych danych.
nie jest prawidłowym rekordem H. Plik może nie być plikiem
Działanie użytkownika:
PC/IXF.
Sprawdź pola jednobajtowej i dwubajtowej strony kodowej w
rekordzie H, zmień je na odpowiednie wartości, a następnie
Program narzędziowy zatrzymuje przetwarzanie. Nie
wprowadź ponownie komendę.
załadowano żadnych danych.
Działanie użytkownika:
SQL3062N Pole dwubajtowej strony kodowej w
Sprawdź, czy plik wejściowy jest poprawny.
rekordzie H nie może zostać przekształcone
do wartości liczbowej albo wartość jest poza
SQL3058N Polem identyfikatora w rekordzie H nie jest zakresem.
IXF.
Objaśnienie:
Objaśnienie: Pole dwubajtowej strony kodowej w rekordzie H nie jest
Pole identyfikatora w rekordzie H nie identyfikuje pliku jako reprezentacją ASCII dla liczby albo jest liczbą, która jest
pliku PC/IXF. nieprawidłowa dla tego pola.

Program narzędziowy zatrzymuje przetwarzanie. Nie Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych. załadowano żadnych danych.

Działanie użytkownika: Działanie użytkownika:


Sprawdź pole identyfikatora w rekordzie H.

356 Komunikaty, tom 2


SQL3063N • SQL3070N

Sprawdź pole dwubajtowej strony kodowej w rekordzie H, Program narzędziowy zatrzymuje przetwarzanie. Nie
zmień ją na odpowiednią wartość, a następnie wprowadź załadowano żadnych danych.
ponownie komendę.
Działanie użytkownika:
Sprawdź rekord T pliku wejściowego. Jeśli plik PC/IXF został
SQL3063N Wartość jednobajtowej strony kodowej skopiowany z jednego nośnika na inny, porównaj kopię z
wartość-1 w rekordzie H jest niezgodna z oryginałem lub powtórz proces kopiowania.
wartością jednobajtowej strony kodowej
wartość-2 aplikacji. Nie podano opcji
SQL3067N Pole długości w rekordzie T nie może zostać
FORCEIN.
przekształcone do wartości liczbowej.
Objaśnienie:
Objaśnienie:
Wartość jednobajtowej strony kodowej w rekordzie H jest
Pole długości w rekordzie T nie jest reprezentacją ASCII
niezgodna z wartością strony kodowej aplikacji. Gdy opcja
liczby.
FORCEIN nie jest używana, dane nie mogą zostać
załadowane, chyba że jest obsługiwana konwersja z wartości 1
do wartości 2. Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych.
Program narzędziowy zatrzymuje przetwarzanie. Nie Działanie użytkownika:
załadowano żadnych danych. Sprawdź pole długości w rekordzie T.
Działanie użytkownika:
Aby załadować te dane, powtórz komendę z opcją FORCEIN. SQL3068N Wartość w polu długości rekordu T jest zbyt
mała.
SQL3064N Wartość dwubajtowej strony kodowej Objaśnienie:
wartość-1 w rekordzie H jest niezgodna z Wartość w polu długości rekordu T nie jest wystarczająco
wartością dwubajtowej strony kodowej duża, więc rekord T jest nieprawidłowy.
wartość-2 aplikacji. Nie podano opcji
FORCEIN. Program narzędziowy zatrzymuje przetwarzanie. Nie
Objaśnienie: załadowano żadnych danych.
Wartość dwubajtowej strony kodowej w rekordzie H jest Działanie użytkownika:
niezgodna z wartością strony kodowej aplikacji. Gdy opcja Sprawdź pole długości w rekordzie T.
FORCEIN nie jest używana, dane nie mogą zostać
załadowane, chyba że wartość 1 i wartość 2 są takie same.
SQL3069N Pierwszy rekord inny niż A następujący po
Program narzędziowy zatrzymuje przetwarzanie. Nie rekordzie H nie jest rekordem T.
załadowano żadnych danych. Objaśnienie:
Działanie użytkownika: Pierwszy rekord po rekordzie H, który nie jest rekordem A, nie
Aby załadować dane, kiedy wartości dwubajtowych stron jest również rekordem T. Bezpośrednio po rekordzie H musi
kodowych nie są zgodne, powtórz komendę z opcją następować rekord T, ale przed rekordem T mogą istnieć
FORCEIN. rekordy A.

Program narzędziowy zatrzymuje przetwarzanie. Nie


SQL3065C Nie można określić wartości strony kodowej załadowano żadnych danych.
aplikacji.
Działanie użytkownika:
Objaśnienie: Sprawdź rekordy następujące po rekordzie H.
System wykrył błąd podczas określania strony kodowej
aplikacji.
SQL3070N Pole długości w rekordzie A jest poza
Program narzędziowy zatrzymuje przetwarzanie. Dane nie są zakresem.
ładowane ani usuwane z pamięci. Objaśnienie:
Działanie użytkownika: Pole długości w rekordzie A jest liczbą, która jest
Skontaktuj się z przedstawicielem obsługi technicznej. nieprawidłowa dla tego pola.

Program narzędziowy zatrzymuje przetwarzanie. Nie


SQL3066N Podczas odczytu lub szukania rekordu T załadowano żadnych danych.
osiągnięto koniec pliku.
Działanie użytkownika:
Objaśnienie: Sprawdź pole długości w rekordach A.
Osiągnięto koniec pliku, podczas gdy system szukał rekordu T
lub gdy odczytywał rekord T.

Rozdział 2. Komunikaty SQL 357


SQL3071N • SQL3080N

SQL3071N Polem konwencji danych w rekordzie T nie SQL3076N Pole długości nazwy w rekordzie T nie może
jest C. zostać przekształcone do wartości liczbowej
lub wartość jest poza zakresem.
Objaśnienie:
Polem konwencji danych w rekordzie T jest wartość inna niż Objaśnienie:
C. Pole długości nazwy w rekordzie T nie jest reprezentacją
ASCII liczby albo jest liczbą, która jest nieprawidłowa dla
Program narzędziowy zatrzymuje przetwarzanie. Nie tego pola.
załadowano żadnych danych.
Program narzędziowy zatrzymuje przetwarzanie. Nie
Działanie użytkownika:
załadowano żadnych danych.
Sprawdź pole konwencji danych w rekordzie T.
Działanie użytkownika:
Sprawdź pole długości nazwy w rekordzie T.
SQL3072N Polem formatu danych w rekordzie T nie
jest M.
SQL3077N Liczba rekordów C określona w polu CCNT
Objaśnienie:
rekordu T wartość przekracza dozwolone
Polem formatu danych w rekordzie T jest wartość inna niż M.
maksimum maksimum.
Program narzędziowy zatrzymuje przetwarzanie. Nie Objaśnienie:
załadowano żadnych danych. Wartość w polu CCNT rekordu T jest większa niż maksimum
dozwolone dla wskazanego wydania.
Działanie użytkownika:
Sprawdź pole formatu danych w rekordzie T.
Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych.
SQL3073N Polem formatu maszynowego w rekordzie T
Działanie użytkownika:
nie jest PCooo (gdzie o = odstęp).
Sprawdź pole CCNT w rekordzie T.
Objaśnienie:
Pole formatu maszynowego w rekordzie T zawiera wartość
SQL3078N Pole długości w rekordzie A nie może zostać
inną niż PCooo, gdzie każde o to odstęp.
przekształcone do wartości liczbowej.
Program narzędziowy zatrzymuje przetwarzanie. Nie Objaśnienie:
załadowano żadnych danych. Pole długości w rekordzie A nie jest znakową reprezentacją
liczby.
Działanie użytkownika:
Sprawdź pole formatu maszynowego w rekordzie T.
Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych.
SQL3074N Polem położenia danych w rekordzie T nie
Działanie użytkownika:
jest I.
Sprawdź pole długości w rekordach A.
Objaśnienie:
Polem położenia danych w rekordzie T jest wartość inna niż I.
SQL3079N Pole długości w rekordzie C nie może zostać
przekształcone do wartości liczbowej.
Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych. Objaśnienie:
Pole długości w rekordzie C nie jest znakową reprezentacją
Działanie użytkownika: liczby.
Sprawdź pole położenia danych w rekordzie T.
Program narzędziowy zatrzymuje przetwarzanie. Nie
SQL3075N Liczba rekordów CCNT w rekordzie T nie załadowano żadnych danych.
może zostać przekształcona do wartości
Działanie użytkownika:
liczbowej albo wartość jest poza zakresem.
Sprawdź pole długości w rekordach C.
Objaśnienie:
Pole liczby rekordów C w rekordzie T nie jest reprezentacją
SQL3080N Wartość w polu długości rekordu C jest zbyt
ASCII liczby albo jest liczbą nieprawidłową dla tego pola.
mała.
Program narzędziowy zatrzymuje przetwarzanie. Nie Objaśnienie:
załadowano żadnych danych. Wartość w polu długości rekordu C nie jest wystarczająco
duża, więc rekord H jest nieprawidłowy.
Działanie użytkownika:
Sprawdź pole CCNT w rekordzie T.

358 Komunikaty, tom 2


SQL3081N • SQL3087N

Program narzędziowy zatrzymuje przetwarzanie. Nie


SQL3085N Pola identyfikator-rekordu-D oraz pozycji
załadowano żadnych danych.
rekordu D w rekordzie C dla kolumny
Działanie użytkownika: nazwa są poza zakresem lub są niespójne z
Sprawdź pole długości w rekordach C. poprzednim rekordem C.
Objaśnienie:
SQL3081N Nie znaleziono wystarczająco dużo Pola identyfikator-rekordu-D lub pozycja rekordu D w
rekordów C. rekordzie C dla wskazanej kolumny zawierają wartość, która
jest albo poza zakresem, albo jest niepoprawna względem
Objaśnienie: poprzedniego rekordu C.
Liczba znalezionych rekordów C (w poprawnej pozycji) jest
mniejsza niż liczba oczekiwana na podstawie licznika
Program narzędziowy zatrzymuje przetwarzanie. Nie
rekordów C (CCNT) w rekordzie T.
załadowano żadnych danych.
Program narzędziowy zatrzymuje przetwarzanie. Nie Działanie użytkownika:
załadowano żadnych danych. Sprawdź pola identyfikator-rekordu-D oraz pozycji rekordu D
w rekordzie C.
Działanie użytkownika:
Sprawdź rekordy T i C.
SQL3086N Nie podano kolumny źródłowej do
załadowania do kolumny nazwa bazy
SQL3082N Podczas odczytu lub szukania rekordu C danych albo podana kolumna źródłowa nie
osiągnięto koniec pliku. istnieje, ale kolumna bazy danych nie
Objaśnienie: dopuszcza braku wartości.
Osiągnięto koniec pliku, podczas gdy system szukał rekordu C Objaśnienie:
lub gdy go odczytywał. Albo nie podano kolumny PC/IXF, która ma zostać
wyeksportowana do wskazanej kolumny, albo podana kolumna
Program narzędziowy zatrzymuje przetwarzanie. Nie źródłowa PC/IXF nie istnieje. Nie można wstawić wartości
załadowano żadnych danych. pustych, ponieważ kolumna bazy danych nie dopuszcza
Działanie użytkownika: wartości pustych.
Sprawdź rekordy C w pliku wejściowym. Jeśli plik PC/IXF
został skopiowany z jednego nośnika na inny, porównaj kopię Program narzędziowy zatrzymuje przetwarzanie. Nie
z oryginałem lub powtórz proces kopiowania. załadowano żadnych danych.
Działanie użytkownika:
SQL3083N Pole identyfikator-rekordu-D w rekordzie C Sprawdź parametr METHOD pod kątem błędnych nazw lub
dla kolumny nazwa nie może zostać pozycji albo pod kątem zbyt małej liczby pozycji w
przekształcone do wartości liczbowej. parametrze METHOD w stosunku do parametru Action String
(na przykład ″REPLACE into ...″) .
Objaśnienie:
Pole identyfikator-rekordu-D w rekordzie C dla wskazanej
kolumny nie jest znakową reprezentacją liczby. SQL3087N Podana kolumna źródłowa do załadowania
do kolumny nazwa bazy danych jest
Program narzędziowy zatrzymuje przetwarzanie. Nie nieprawidłowa, a kolumna bazy danych nie
załadowano żadnych danych. dopuszcza braku wartości.

Działanie użytkownika: Objaśnienie:


Sprawdź pole identyfikator-rekordu-D w rekordzie C. Kolumna PC/IXF nie może zostać załadowana do wskazanej
kolumny bazy danych, a przyczyna została podana w
poprzednim komunikacie w dzienniku komunikatów. Nie
SQL3084N Pole pozycji rekordu D w rekordzie C dla można wstawić wartości pustych, ponieważ kolumna bazy
kolumny nazwa nie może zostać danych nie dopuszcza wartości pustych.
przekształcone do wartości liczbowej.
Objaśnienie: Program narzędziowy zatrzymuje przetwarzanie. Nie
Pole pozycji rekordu D w rekordzie C dla wskazanej kolumny załadowano żadnych danych.
nie jest znakową reprezentacją liczby. Działanie użytkownika:
Przeczytaj poprzedni komunikat, aby dowiedzieć się, dlaczego
Program narzędziowy zatrzymuje przetwarzanie. Nie kolumna jest niepoprawna.
załadowano żadnych danych.
Działanie użytkownika:
Sprawdź pole pozycji rekordu D w rekordzie C.

Rozdział 2. Komunikaty SQL 359


SQL3088N • SQL3095N

SQL3088N Podana kolumna źródłowa do załadowania SQL3092N Pole identyfikatora w rekordzie D nie
do kolumny nazwa bazy danych jest zawiera oczekiwanej wartości.
niezgodna z kolumną bazy danych, ale
Objaśnienie:
kolumna bazy danych nie dopuszcza braku
Pole identyfikatora w rekordzie D jest nieprawidłowe. Jeden
wartości.
lub więcej rekordów D mogło zostać zapisanych w
Objaśnienie: niewłaściwej kolejności.
Kolumna źródłowa PC/IXF jest niezgodna z docelową
kolumną bazy danych. Typy lub długości kolumn mogą być Program narzędziowy zatrzymuje przetwarzanie. Nie
niezgodne. Nie można wstawić wartości pustych, ponieważ załadowano żadnych danych.
kolumna bazy danych nie dopuszcza wartości pustych.
Działanie użytkownika:
Sprawdź pole identyfikatora w rekordach D.
Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych.
SQL3093N Plik wejściowy nie jest prawidłowym
Działanie użytkownika:
plikiem WSF.
Porównaj kolumny w pliku źródłowym PC/IXF z kolumnami
w bazie danych. Objaśnienie:
Pierwszy rekord w pliku w formacie arkusza kalkulacyjnego
(WSF) nie był rekordem początku pliku (BOF), albo wersja
SQL3089N Znaleziono rekord inny niż D tam, gdzie
pliku WSF nie jest obsługiwana.
oczekiwano rekordu D.
Objaśnienie: Moduł importujący IMPORT kończy przetwarzanie. Nie
Znaleziono rekord inny niż D tam, gdzie oczekiwano rekordu zaimportowano żadnych danych.
D.
Działanie użytkownika:
Sprawdź, czy plik jest prawidłowym plikiem WSF oraz czy
Program narzędziowy zatrzymuje przetwarzanie. Nie
nazwa została podana poprawnie.
załadowano żadnych danych.
Działanie użytkownika:
SQL3094N Nie znaleziono kolumny wejściowej nazwa,
Sprawdź rekordy D w pliku.
ale odpowiednia kolumna bazy danych nie
dopuszcza braku wartości.
SQL3090N Pole długości w rekordzie D nie może zostać
Objaśnienie:
przekształcone do wartości liczbowej.
Podanej kolumny nie było w pliku wejściowym. Ponieważ
Objaśnienie: odpowiednia kolumna bazy danych nie dopuszcza wartości
Pole długości w rekordzie D nie jest znakową reprezentacją pustych, nie można załadować danych do kolumny.
liczby.
Program narzędziowy zatrzymuje przetwarzanie. Nie
Program narzędziowy zatrzymuje przetwarzanie. Nie załadowano żadnych danych. Nazwy kolumn przetwarzane
załadowano żadnych danych. przed wystąpieniem błędu są w bazie danych.
Działanie użytkownika: Działanie użytkownika:
Sprawdź pole długości w rekordach D. Sprawdź, czy plik wejściowy zawiera podane nazwy kolumn.

SQL3091N Pole długości w rekordzie D jest poza SQL3095N Podana pozycja kolumny pozycja nie mieści
zakresem. się w prawidłowym zakresie od 1 do 256.
Objaśnienie: Objaśnienie:
Pole długości w rekordzie D jest liczbą, która jest Podano pozycję kolumny, która nie mieściła się w zakresie od
nieprawidłowa dla tego pola. 1 do 256.

Program narzędziowy zatrzymuje przetwarzanie. Nie Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych. załadowano żadnych danych. Nazwy kolumn przetwarzane
przed wystąpieniem błędu są w bazie danych.
Działanie użytkownika:
Sprawdź pole długości w rekordach D. Działanie użytkownika:
Sprawdź, czy podana pozycja kolumny mieści się w zakresie
od 1 do 256.

360 Komunikaty, tom 2


SQL3096N • SQL3102W

Współrzędna komórki zawiera wartość spoza prawidłowego


SQL3096N Typ danych typ kolumny bazy danych nazwa
zakresu. Plik WSF jest uszkodzony lub został nieprawidłowo
jest niezgodny z żadnym typem kolumny
wygenerowany, być może za pomocą produktu firmy Lotus w
WSF, a kolumna bazy danych nie dopuszcza
wersji nie obsługiwanej przez menedżera baz danych.
wartości pustej.
Objaśnienie: Moduł importujący IMPORT kończy przetwarzanie.
Nie ma żadnego typu kolumny formatu arkusza
kalkulacyjnego (WSF), który byłby zgodny z wskazaną Działanie użytkownika:
kolumną bazy danych. Dla kolumny bazy danych nie jest Popraw plik WSF przy użyciu programu firmy Lotus w
dopuszczalny brak wartości, więc moduł importujący obsługiwanej wersji.
IMPORT zostaje zatrzymany.
SQL3100W Numer kolumny numer-kolumny (określany
Nie zaimportowano żadnych danych. jako nazwa) w pliku wyjściowym formatu
DEL jest dłuższy niż 254 bajty.
Działanie użytkownika:
Przedefiniuj bazę danych tak, aby kolumny były zgodne z Objaśnienie:
kolumnami importowanymi z pliku WSF. Wprowadź Długość albo maksymalna długość podanej kolumny
ponownie komendę. wyjściowej przekracza 254 bajty. Kolumny większe niż 254
nie są obsługiwane przez niektóre inne produkty.
SQL3097N Pole długości rekordu w rekordzie WSF jest
nieprawidłowe dla jego typu rekordu. Pole zostaje wyeksportowane w całości.

Objaśnienie: Działanie użytkownika:


Rekordy w formacie arkusza kalkulacyjnego (WSF) mają Jeśli plik wyjściowy nie może być przetworzony przez inny
oczekiwaną stałą długość lub zakres zmiennej długości. produkt, wyeksportuj tylko podłańcuch niepoprawnej
Rekord nie zawiera stałej długości albo zmienna długość jest kolumny, przedefiniuj tabelę lub ręcznie obetnij dane w
poza zakresem. Plik WSF jest uszkodzony lub został kolumnie DEL.
nieprawidłowo wygenerowany, być może za pomocą produktu
firmy Lotus w wersji nie obsługiwanej przez menedżera baz SQL3101W W kolumnie numer-kolumny i wierszu
danych. numer-wiersza istnieje ogranicznik łańcucha
znaków.
Moduł importujący IMPORT kończy przetwarzanie.
Objaśnienie:
Działanie użytkownika: System umieszcza eksportowane łańcuchy znaków między
Popraw plik WSF przy użyciu programu firmy Lotus w ogranicznikami łańcuchów znaków, ale znalazł łańcuch
obsługiwanej wersji. znaków, który już ma ogranicznik.

SQL3098N Numer wiersza z pliku wejściowego nie Łańcuch znaków zostanie ujęty w ograniczniki. Użycie tego
mieści się w prawidłowym zakresie od 1 do łańcucha w przyszłości spowoduje wrażenie obcięcia
8192. łańcucha. Przetwarzanie może być kontynuowane.

Objaśnienie: Działanie użytkownika:


Maksymalna liczba wierszy, które może zawierać plik w Przejrzyj dane dla danej kolumny i wiersza w tabeli lub pliku
formacie arkusza kalkulacyjnego (WSF) wynosi 8192. wyjściowym. Aby uniknąć utraty danych, zmień ogranicznik
Współrzędna komórki zawiera wartość spoza prawidłowego znaków na jakiś znak, który nie występuje w danych.
zakresu. Plik WSF jest uszkodzony lub został nieprawidłowo
wygenerowany, być może za pomocą produktu firmy Lotus w SQL3102W Liczba kolumn w parametrze METHOD
wersji nie obsługiwanej przez menedżera baz danych. jest większa niż liczba kolumn w
parametrze Action String (np. ″REPLACE
Moduł importujący IMPORT kończy przetwarzanie. into...″) .
Działanie użytkownika: Objaśnienie:
Popraw plik WSF przy użyciu programu firmy Lotus w Liczba kolumn pobranych z pliku lub tabeli wejściowej jest
obsługiwanej wersji. większa niż liczba kolumn, które mają być umieszczone w
tabeli lub pliku wyjściowym.
SQL3099N Numer kolumny z pliku wejściowego nie
mieści się w prawidłowym zakresie od 1 do Przetworzone zostaną tylko dane dla kolumn wskazanych w
256. tabeli lub pliku wyjściowym. Dane w nadmiarowych
kolumnach wejściowych nie będą przetworzone.
Objaśnienie:
Maksymalna liczba kolumn, które może zawierać formularz w Działanie użytkownika:
formacie arkusza kalkulacyjnego (WSF) wynosi 256. Przejrzyj dane w tabeli lub pliku wyjściowym.

Rozdział 2. Komunikaty SQL 361


SQL3103W • SQL3108W

Ostrzeżenie to nie ma wpływu na przetwarzanie.


SQL3103W Liczba kolumn w parametrze METHOD
jest mniejsza niż liczba kolumn w Działanie użytkownika:
parametrze Action String (np. ″REPLACE Przejrzyj ostrzeżenie w pliku komunikatów.
into...″) .
Objaśnienie: SQL3108W Nie można uzyskać dostępu do pliku
Liczba kolumn pobranych z pliku lub tabeli wejściowej jest wskazywanego przez wartość DATALINK
mniejsza niż liczba kolumn do umieszczenia w tabeli lub pliku w wierszu numer-wiersza i kolumnie
wyjściowym. numer-kolumny. Kod przyczyny =
kod-przyczyny.
Przetworzone zostaną tylko dane dla kolumn wskazanych w
Objaśnienie:
tabeli lub pliku wyjściowym. Dane w nadmiarowych
Możliwe przyczyny wystąpienia tego komunikatu zależą od
kolumnach wyjściowych nie będą przetwarzane.
wartości kod-przyczyny:
Działanie użytkownika:
1 Format lokalizacji danych wartości DATALINK jest
Przejrzyj dane w tabeli lub pliku wyjściowym.
niepoprawny.
2 Wartość DATALINK w DB2 Data Links Manager
SQL3104N Moduł eksportujący rozpoczyna
nie jest zarejestrowana w bazie danych.
eksportowanie danych do pliku nazwa.
3 Wartość typu łącza DATALINK jest niepoprawna.
Objaśnienie:
Jest to zwykły komunikat o rozpoczęciu przetwarzania. 4 Program DB2 Data Links Manager nie może znaleźć
pliku odwołania do wartości DATALINK.
Działanie użytkownika:
Nie jest wymagane żadne działanie. 5 Plik odwołania do wartości DATALINK został już
dołączony do bazy danych.
SQL3105N Moduł eksportujący zakończył 6 Pliku, do którego odwołuje się wartość DATALINK,
eksportowanie wierszy w liczbie liczba. nie można używać w celu łączenia. To może być
połączenie symboliczne lub plik z bitem zezwolenia
Objaśnienie:
w celu włączenia SUID lub (SGID).
Jest to podsumowujący komunikat dla modułu eksportującego,
który jest umieszczany na końcu zbioru komunikatów. 7 Adres URL wartości DATALINK lub komentarz jest
Komunikat ten podaje ile wierszy będących wynikiem za długi.
instrukcji SELECT zostało przetworzonych, zanim moduł
eksportujący zakończył działanie. 8 Plik, do którego odwołuje się wartość DATALINK,
nie może zostać przyłączony do bazy danych.
Działanie użytkownika: Program DB2 Data Links Manager nie nadał
Jeśli program narzędziowy zwrócił kod sql 0, nie jest użytkownikowi DB2 uprawnień do dowiązywania
wymagane żadne działanie. Jeśli zwrócił kod sql 3107, tego pliku.
sprawdź plik komunikatów pod kątem ostrzeżeń, które
wystąpiły podczas eksportu i wprowadź ponownie komendę, Działanie użytkownika:
jeśli jest to pożądane. Jeśli zwrócił ujemną wartość kodu sql, Działanie użytkownika zależy od kodu przyczyny
wystąpił błąd podczas eksportu i plik danych może nie kod-przyczyny w następujący sposób:
zawierać wszystkich żądanych danych. Komenda powinna 1 Popraw format lokalizacji danych. Jeśli nazwa hosta
zostać powtórzona po poprawieniu błędu. nie jest określona, program DB2 może użyć nazwy
lokalnego hosta jako domyślnej tylko przypadku,
SQL3106N Podczas formatowania komunikatu dla gdy włączona jest obsługa FILE LINK CONTROL.
pliku komunikatów wystąpił błąd. Informacje na temat włączania tej obsługi można
znaleźć w podręczniku Administration Guide.
Objaśnienie:
Komunikat o błędzie może być niekompletny lub 2 Sprawdź, czy podano poprawny program DB2 Data
niepoprawnie sformatowany. Links Manager i czy jest on zarejestrowany dla bazy
danych. Zarejestrowane programy DB2 Data Links
Działanie użytkownika: Manager są ignorowane, o ile nie jest włączona
Nie jest wymagane żadne działanie. obsługa FILE LINK CONTROL. Informacje na
temat włączania tej obsługi można znaleźć w
podręczniku Administration Guide.
SQL3107W W pliku komunikatów znajduje się co
najmniej jedno ostrzeżenie. 3 Popraw wartość typu połączenia.
Objaśnienie: 4 Sprawdź, czy podano poprawny plik i czy ten plik
Odebrano co najmniej jedno ostrzeżenie podczas istnieje.
przetwarzania.

362 Komunikaty, tom 2


SQL3109N • SQL3115W

5 Odłącz istniejące odwołanie do pliku lub nie


SQL3113W Typ danych typ kolumny bazy danych nazwa
podawaj pliku w tej instrukcji.
jest niezgodny z tym plikiem formatu. Do tej
6 Łączenie katalogów nie jest dozwolone. Użyj kolumny zostaną wstawione wartości puste.
rzeczywistej nazwy pliku, a nie dowiązania
Objaśnienie:
symbolicznego. Jeśli SUID lub SGID jest włączony,
Typ kolumny bazy danych jest nieprawidłowy dla tego pliku.
pliku nie można podłączyć przy użyciu łącza typu
Ponieważ kolumna dopuszcza wartości puste, zostają
DATALINK.
wstawione wartości puste.
7 Zredukuj długość komentarza lub wartości
określającej położenie danych. Do wskazanej kolumny zostaną załadowane wartości puste.
8 Skontaktuj się z administratorem programu DB2 Działanie użytkownika:
Data Links Manager, aby uzyskać niezbędne Jeśli dla kolumny nie są dopuszczalne wartości puste, wykonaj
uprawnienia. jedną z następujących czynności:
v zmień dane w tabeli,
SQL3109N Program narzędziowy rozpoczyna v jeśli jest to możliwe, użyj jako kolumny docelowej innej
ładowanie danych z pliku nazwa. zgodnej kolumny bazy danych i wprowadź ponownie
komendę,
Objaśnienie:
Jest to zwykły komunikat o rozpoczęciu przetwarzania. v Przedefiniuj tabelę bazy danych, tak aby kolumny były
Komunikat może wskazywać na nazwę tymczasowego pliku zgodne z ładowanymi kolumnami i wprowadź ponownie
utworzonego na serwerze, a nie pliku źródłowego. komendę.

Działanie użytkownika:
Nie jest wymagane żadne działanie. SQL3114W Niektóre dane następujące po tekście tekst w
wierszu numer-wiersza i kolumnie
numer-kolumny nie zostały załadowane.
SQL3110N Program narzędziowy zakończył
przetwarzanie. Z pliku wejściowego Objaśnienie:
odczytano liczba wierszy. Pewne dane w podanym wierszu i kolumnie nie zostały
załadowane, prawdopodobnie dlatego, że kolumna zawiera
Objaśnienie: następujące dane:
Jest to zwykły komunikat zakończenia.
v ogranicznik łańcucha,
Działanie użytkownika: v występujący osobno znak sterujący powrotu karetki lub
Nie jest wymagane żadne działanie. znak nowego wiersza,
v wartość łańcuchową bez ograniczników.
SQL3111C Wystąpił błąd we/wy podczas zamykania
pliku danych wejściowych. Tekst, który został załadowany, jest podany w elemencie tekst.
Objaśnienie:
Zawartość pola może być niekompletna.
Wystąpił błąd systemowy we/wy podczas zamykania pliku
danych wejściowych. Ten błąd może dotyczyć problemu Działanie użytkownika:
występującego na kliencie lub na serwerze. Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
Jeśli jest to konieczne, popraw plik wejściowy i wprowadź
Plik nie zostaje zamknięty. ponownie komendę albo zmień dane w tabeli.
Działanie użytkownika:
Sprawdź plik wejściowy pod kątem błędu we/wy. SQL3115W Wartość pola zaczynającego się od tekstu
tekst w wierszu numer-wiersza i kolumnie
numer-kolumny jest dłuższa niż najdłuższa
SQL3112W Podano mniej kolumn pliku wejściowego niż
dopuszczalna kolumna tabeli. Wartość
kolumn bazy danych.
została obcięta.
Objaśnienie:
Objaśnienie:
Podano mniej kolumn w pliku wejściowym niż w tabeli
Wartość pola jest dłuższa niż 32700 bajtów.
wyjściowej. Ponieważ dodatkowe kolumny w tabeli są
zdefiniowane jako dopuszczające wartości puste, kolumny te
Wartość została obcięta po 32700 bajtach.
zostaną wypełnione wartościami pustymi.
Działanie użytkownika:
Działanie użytkownika:
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
Nie jest wymagane żadne działanie.
Jeśli jest to konieczne, popraw plik wejściowy i ponownie
wprowadź komendę lub dokonaj edycji danych w tabeli.

Rozdział 2. Komunikaty SQL 363


SQL3116W • SQL3120W

Sprawdź, czy nie ma błędnych (niesparowanych) Dla plików ASCII z ogranicznikami (DEL) numer kolumny
ograniczników łańcuchów znakowych. określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
wierszu bajtu, w którym rozpoczyna się problematyczna
SQL3116W Brakuje wartości pola w wierszu
wartość.
numer-wiersza i kolumnie numer-kolumny, a
kolumna docelowa nie dopuszcza wartości
Wiersz nie został załadowany.
pustej.
Działanie użytkownika:
Objaśnienie:
Popraw plik wejściowy i ponownie wprowadź komendę lub
Wystąpiła wartość pusta w pliku wejściowym. Ponieważ
dokonaj edycji danych w tabeli.
kolumna docelowa nie dopuszcza braku wartości, nie może
być załadowana.
SQL3119W Wartość pola w wierszu numer-wiersza i
Dla plików innych niż pliki ASCII, wartość numeru kolumny kolumnie numer-kolumny nie może zostać
podaje pole w wierszu, gdzie brak danych. Dla plików ASCII przekształcona w wartość typu INTEGER.
numer kolumny określa położenie w wierszu bajtu Załadowano wartość pustą.
brakujących danych.
Objaśnienie:
Mogła wystąpić niezgodność danych, ponieważ wartość w
Wiersz nie został załadowany.
podanym polu nie może zostać przekształcona do wartości
Działanie użytkownika: INTEGER.
Jeśli jest to konieczne, popraw plik wejściowy i ponownie
wprowadź komendę lub dokonaj edycji danych w tabeli. Dla plików ASCII z ogranicznikami (DEL) numer kolumny
określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
SQL3117W Wartość pola w wierszu numer-wiersza i
wierszu bajtu, w którym rozpoczyna się problematyczna
kolumnie numer-kolumny nie może zostać
wartość.
przekształcona w wartość typu SMALLINT.
Załadowano wartość pustą.
Załadowano wartość pustą.
Objaśnienie:
Działanie użytkownika:
Wartość w podanym polu nie może zostać przekształcona w
Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw
wartość typu SMALLINT. Mogła wystąpić niezgodność typów
plik wejściowy i ponownie wprowadź komendę lub dokonaj
danych. Wartość może być większa niż 2-bajtowa liczba
edycji danych w tabeli.
całkowita.

Dla plików ASCII z ogranicznikami (DEL) numer kolumny SQL3120W Wartość pola w wierszu numer-wiersza i
określa pole w wierszu, które zawiera problematyczną wartość. kolumnie numer-kolumny nie może zostać
Dla plików ASCII numer kolumny określa położenie w przekształcona w wartość typu INTEGER, a
wierszu bajtu, w którym rozpoczyna się problematyczna kolumna docelowa nie dopuszcza wartości
wartość. pustej. Wiersz nie został załadowany.
Objaśnienie:
Załadowano wartość pustą.
Mogła wystąpić niezgodność danych, ponieważ wartość w
Działanie użytkownika: podanym polu nie może zostać przekształcona do wartości
Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw INTEGER. Nie można załadować wartości pustych, ponieważ
plik wejściowy i ponownie wprowadź komendę lub dokonaj kolumna docelowa nie dopuszcza takich wartości.
edycji danych w tabeli.
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
określa pole w wierszu, które zawiera problematyczną wartość.
SQL3118W Wartość pola w wierszu numer-wiersza i
Dla plików ASCII numer kolumny określa położenie w
kolumnie numer-kolumny nie może zostać
wierszu bajtu, w którym rozpoczyna się problematyczna
przekształcona w wartość typu SMALLINT,
wartość.
a kolumna docelowa nie dopuszcza wartości
pustej. Wiersz nie został załadowany.
Wiersz nie został załadowany.
Objaśnienie:
Działanie użytkownika:
Wartość w podanym polu nie może zostać przekształcona w
Popraw plik wejściowy i ponownie wprowadź komendę lub
wartość typu SMALLINT. Mogła wystąpić niezgodność typów
dokonaj edycji danych w tabeli.
danych. Wartość może być większa niż 2-bajtowa liczba
całkowita. Nie można załadować wartości pustych, ponieważ
kolumna docelowa nie dopuszcza takich wartości.

364 Komunikaty, tom 2


SQL3121W • SQL3126N

Załadowano wartość pustą.


SQL3121W Wartość pola w wierszu numer-wiersza i
kolumnie numer-kolumny nie może zostać Działanie użytkownika:
przekształcona w wartość typu FLOAT. Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw
Załadowano wartość pustą. plik wejściowy i ponownie wprowadź komendę lub dokonaj
edycji danych w tabeli.
Objaśnienie:
Wartość w podanym polu nie może zostać przekształcona do
wartości FLOAT. Mogła wystąpić niezgodność typów danych. SQL3124W Wartość pola w wierszu numer-wiersza i
kolumnie numer-kolumny nie może zostać
Dla plików ASCII z ogranicznikami (DEL) numer kolumny przekształcona w wartość typu PACKED
określa pole w wierszu, które zawiera problematyczną wartość. DECIMAL, a kolumna docelowa nie
Dla plików ASCII numer kolumny określa położenie w dopuszcza wartości pustej. Wiersz nie został
wierszu bajtu, w którym rozpoczyna się problematyczna załadowany.
wartość.
Objaśnienie:
Wartość w podanym polu nie może zostać przekształcona do
Załadowano wartość pustą.
wartości PACKED DECIMAL. Mogła wystąpić niezgodność
Działanie użytkownika: typów danych. Nie można załadować wartości pustych,
Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw ponieważ kolumna docelowa nie dopuszcza takich wartości.
plik wejściowy i ponownie wprowadź komendę lub dokonaj
edycji danych w tabeli. Dla plików ASCII z ogranicznikami (DEL) numer kolumny
określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
SQL3122W Wartość pola w wierszu numer-wiersza i
wierszu bajtu, w którym rozpoczyna się problematyczna
kolumnie numer-kolumny nie może zostać
wartość.
przekształcona w wartość typu FLOAT, a
kolumna docelowa nie dopuszcza wartości
Wiersz nie został załadowany.
pustej. Wiersz nie został załadowany.
Działanie użytkownika:
Objaśnienie:
Popraw plik wejściowy i ponownie wprowadź komendę lub
Wartość w podanym polu nie może zostać przekształcona do
dokonaj edycji danych w tabeli.
wartości FLOAT. Mogła wystąpić niezgodność typów danych.
Nie można załadować wartości pustych, ponieważ kolumna
docelowa nie dopuszcza takich wartości. SQL3125W Dane znakowe w wierszu numer-wiersza i
kolumnie numer-kolumny zostały obcięte,
Dla plików ASCII z ogranicznikami (DEL) numer kolumny ponieważ są one dłuższe niż kolumna
określa pole w wierszu, które zawiera problematyczną wartość. docelowej bazy danych.
Dla plików ASCII numer kolumny określa położenie w
Objaśnienie:
wierszu bajtu, w którym rozpoczyna się problematyczna
Długość danych pola w pliku wejściowym była dłuższa niż
wartość.
długość pola bazy danych, dokąd jest ono ładowane.
Wiersz nie został załadowany.
Dane znakowe zostały obcięte.
Działanie użytkownika:
Działanie użytkownika:
Popraw plik wejściowy i ponownie wprowadź komendę lub
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
dokonaj edycji danych w tabeli.
Jeśli jest to konieczne, popraw plik wejściowy i ponownie
wprowadź komendę lub dokonaj edycji danych w tabeli.
SQL3123W Wartość pola w wierszu numer-wiersza i Szerokość kolumny bazy danych nie może zostać zwiększona.
kolumnie numer-kolumny nie może zostać Jeśli jest to konieczne, zdefiniuj nową tabelę z szerszymi
przekształcona w wartość typu PACKED kolumnami i powtórz proces.
DECIMAL. Załadowano wartość pustą.
Objaśnienie: SQL3126N Zdalny klient wymaga ścieżki bezwzględnej
Wartość w podanym polu nie może zostać przekształcona do dla plików i katalogów.
wartości PACKED DECIMAL. Mogła wystąpić niezgodność
Objaśnienie:
typów danych.
Połączenie z bazą danych skatalogowaną jako zdalna i
wydanie komendy LOAD wymaga ścieżki bezwzględnej dla
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
plików danych.
określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
Wskaźniki do parametrów lobpath, copytarget, tempfile i
wierszu bajtu, w którym rozpoczyna się problematyczna
part_file_location muszą być ścieżkami bezwzględnymi lub
wartość.
mieć wartość null.

Rozdział 2. Komunikaty SQL 365


SQL3128W • SQL3134W

Działanie użytkownika: Wartość datownika zostaje obcięta, tak aby mieściła się w
Wprowadź ponownie instrukcję z poprawnymi tabeli.
bezwzględnymi nazwami ścieżek i plików.
Działanie użytkownika:
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
SQL3128W Pole zawierające dane w wierszu Jeśli jest to konieczne, popraw plik wejściowy i ponownie
numer-wiersza i kolumnie numer-kolumny wprowadź komendę lub dokonaj edycji danych w tabeli.
zostało obcięte do pola DATE, ponieważ
dane są dłuższe niż kolumna bazy danych.
SQL3132W Dane znakowe w kolumnie kolumna zostaną
Objaśnienie: obcięte do wielkości wielkość.
Wartość daty w podanym polu jest dłuższa niż reprezentacja
Objaśnienie:
daty w postaci łańcucha.
Kolumna danych znakowych definiowała wielkość, która jest
dłuższa niż najdłuższa domyślna kolumna znakowa, która
Wartość daty zostaje obcięta, tak aby mieściła się w tabeli.
może być eksportowana; każda z wartości zostanie obcięta do
Działanie użytkownika: podanej wielkości.
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
Jeśli jest to konieczne, popraw plik wejściowy i ponownie Na przykład domyślnie zostanie wyeksportowanych tylko
wprowadź komendę lub dokonaj edycji danych w tabeli. pierwszych SQL_LONGMAX bajtów kolumny LOB. Jeśli ma
zostać wyeksportowana cała kolumna LOB, parametr
LOBSINFILE musi zostać podane w modyfikatorze typu pliku,
SQL3129W Pole daty, godziny lub datownika
a każda kolumna LOB zostanie zapisana w oddzielnym pliku.
zawierające tekst tekst w wierszu
numer-wiersza i kolumnie numer-kolumny Działanie użytkownika:
zostało dopełnione odstępami. Jest to tylko ostrzeżenie. Nie jest wymagane żadne działanie.
Objaśnienie:
Dane pola w pliku wejściowym były krótsze niż kolumna bazy SQL3133W Pole w wierszu numer-wiersza i kolumnie
danych. numer-kolumny zawiera niepoprawną
wartość DATALINK. Załadowano wartość
Dane po prawej zostają uzupełnione odstępami. pustą.
Działanie użytkownika: Objaśnienie:
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym. Wartość DATALINK w podanym polu jest niepoprawna. Dla
Jeśli jest to konieczne, popraw plik wejściowy i ponownie plików ASCII z ogranicznikami (DEL) numer kolumny
wprowadź komendę lub dokonaj edycji danych w tabeli. określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
wierszu bajtu, w którym rozpoczyna się problematyczna
SQL3130W Pole zawierające tekst w wierszu wartość.
numer-wiersza i kolumnie numer-kolumny
zostało obcięte do pola TIME, ponieważ
Załadowano wartość pustą.
dane są dłuższe niż kolumna bazy danych.
Działanie użytkownika:
Objaśnienie:
Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw
Wartość godziny w podanym polu jest dłuższa niż
plik wejściowy i ponownie wprowadź komendę lub dokonaj
reprezentacja godziny w postaci łańcucha.
edycji danych w tabeli.
Wartość godziny zostaje obcięta, tak aby mieściła się w tabeli.
SQL3134W Pole w wierszu numer-wiersza i kolumnie
Działanie użytkownika: numer-kolumny zawiera niepoprawną
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym. wartość DATALINK, a kolumna docelowa
Jeśli jest to konieczne, popraw plik wejściowy i ponownie nie dopuszcza wartości pustej. Wiersz nie
wprowadź komendę lub dokonaj edycji danych w tabeli. został załadowany.
Objaśnienie:
SQL3131W Pole zawierające tekst w wierszu Wartość DATALINK w podanym polu jest niepoprawna. Dla
numer-wiersza i kolumnie numer-kolumny plików ASCII z ogranicznikami (DEL) numer kolumny
zostało obcięte do pola TIMESTAMP, określa pole w wierszu, które zawiera problematyczną wartość.
ponieważ dane są dłuższe niż kolumna bazy Dla plików ASCII numer kolumny określa położenie w
danych. wierszu bajtu, w którym rozpoczyna się problematyczna
Objaśnienie: wartość.
Wartość datownika w podanym polu jest dłuższa niż Działanie użytkownika:
reprezentacja datownika w postaci łańcucha.

366 Komunikaty, tom 2


SQL3135N • SQL3142W

Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw Skorzystaj z numeru błędu podanego w komunikacie, aby
plik wejściowy i wprowadź ponownie komendę. dokładnie określić błąd.

SQL3135N Liczba kolumn w parametrze METHOD SQL3140W Wartość pola w wierszu numer-wiersza i
jest większa niż liczba kolumn w tabeli kolumnie numer-kolumny nie może zostać
docelowej. przekształcona w wartość dziesiętną
zmiennoprzecinkową. Załadowano wartość
Objaśnienie:
pustą.
Liczba kolumn danych w parametrze METHOD musi być
mniejsza lub równa liczbie kolumn danych w tabeli bieżącej. Objaśnienie:
Wartość w podanym polu nie może zostać przekształcona w
Działanie użytkownika:
wartość dziesiętną zmiennoprzecinkową. Mogła wystąpić
Określ poprawną liczbę kolumn wejściowych w parametrze
niezgodność typów danych.
METHOD, a następnie wprowadź ponownie komendę.
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
SQL3137W Wiersz numer_wiersza jest zbyt krótki. Brak określa pole w wierszu, które zawiera problematyczną wartość.
co najmniej jednej wartości wejściowej Dla plików ASCII numer kolumny określa położenie w
ładowanej do kolumny bazy danych nie wierszu bajtu, w którym rozpoczyna się problematyczna
dopuszczającej wartości pustych. Wiersz nie wartość.
został załadowany.
Załadowano wartość pustą.
Objaśnienie:
Jeśli ładujesz z pliku ASCII z ogranicznikami, wiersz zawiera Działanie użytkownika:
zbyt mało pól. Jeśli ładujesz z pliku ASCII bez ograniczników, Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw
wiersz zawiera zbyt mało bajtów danych. Brak wartości plik wejściowy i ponownie wprowadź komendę lub dokonaj
wejściowej dla co najmniej jednej kolumny docelowej nie edycji danych w tabeli.
dopuszczającej wartości pustych.
SQL3141W Wartość pola w wierszu numer-wiersza i
Wiersz nie został załadowany.
kolumnie numer-kolumny nie może zostać
Działanie użytkownika: przekształcona w wartość dziesiętną
Zbadaj plik wejściowy i zawartość tabeli docelowej. Popraw zmiennoprzecinkową, a kolumna docelowa
plik wejściowy i wprowadź ponownie komendę albo zmień nie dopuszcza wartości pustej. Wiersz nie
dane w tabeli. został załadowany.
Objaśnienie:
SQL3138W Osiągnięto koniec pliku danych Wartość w podanym polu nie może zostać przekształcona w
wejściowych, ale nie znaleziono kończącego wartość dziesiętną zmiennoprzecinkową. Mogła wystąpić
ogranicznika łańcucha znakowego. niezgodność typów danych. Nie można załadować wartości
pustych, ponieważ kolumna docelowa nie dopuszcza takich
Objaśnienie:
wartości.
Osiągnięto koniec pliku danych wejściowych, ale w pliku brak
kończącego ogranicznika łańcucha znakowego.
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
określa pole w wierszu, które zawiera problematyczną wartość.
Na końcu danych powinien się znajdować zamykający
Dla plików ASCII numer kolumny określa położenie w
ogranicznik łańcucha znakowego.
wierszu bajtu, w którym rozpoczyna się problematyczna
Działanie użytkownika: wartość.
Porównaj wartość w tabeli wyjściowej z plikiem wejściowym.
Jeśli jest to konieczne, popraw plik wejściowy i ponownie Wiersz nie został załadowany.
wprowadź komendę lub dokonaj edycji danych w tabeli.
Działanie użytkownika:
Popraw plik wejściowy i ponownie wprowadź komendę lub
SQL3139W Podczas odłączania programu dokonaj edycji danych w tabeli.
narzędziowego od bazy danych wystąpił
błąd błąd.
SQL3142W Nagłówek kolumny numer_kolumny zostaje
Objaśnienie: obcięty do 240 bajtów.
Moduł importujący IMPORT lub eksportujący EXPORT nie
Objaśnienie:
mógł odłączyć się od bazy danych.
Programy LOTUS 1-2-3** i Symphony** mają limit 240
bajtów dla rekordów etykiety. Nagłówek kolumny większy niż
Dane wyjściowe mogą być niekompletne.
240 bajtów przed wyeksportowaniem zostanie obcięty do 240
Działanie użytkownika: bajtów.

Rozdział 2. Komunikaty SQL 367


SQL3143W • SQL3148W

Nagłówek kolumny zostaje obcięty. Przetwarzanie będzie Przetwarzanie jest kontynuowane. Dane zostają obcięte.
kontynuowane.
Działanie użytkownika:
Działanie użytkownika: Sprawdź dane wyjściowe. Jeśli znaczące dane z kolumny
Sprawdź, czy nagłówki kolumn mają 240 bajtów lub mniej. zostaną utracone z powodu obcięcia, wypróbuj wybieranie
Sprawdź, czy nie wystąpiły błędy w podawaniu nazw kolumn danych z kolumny w kilku polach przez wybór podłańcuchów
w pliku formatu wyjściowego arkusza kalkulacyjnego (WSF). lub ponownie zaprojektuj bazę danych.

SQL3143W Maksymalna długość kolumny o zmiennej SQL3146N Wartość DATE lub TIMESTAMP dla
długości numer-kolumny przekracza wiersza numer-wiersza i kolumny
ograniczenie 240 bajtów. Dane z kolumny numer-kolumny jest poza zakresem.
mogą zostać obcięte.
Objaśnienie:
Objaśnienie: Wartość daty lub datownika jest niepoprawna. Dla plików w
Programy LOTUS 1-2-3** i Symphony** mają limit 240 formacie arkusza kalkulacyjnego (WSF) prawidłowe są
bajtów dla rekordów etykiety. Ilekroć pole znakowe dłuższe wartości daty od 01-01-1900 do 12-31-2099.
niż 240 bajtów zostanie zapisane do pliku w formacie arkusza
kalkulacyjnego (WSF), dane zostaną obcięte do 240 bajtów. Rekord komórki nie zostaje utworzony.
Działanie użytkownika:
Kontynuuj przetwarzanie. Kolejne pozycje danych z kolumny
Porównaj wartość w pliku wyjściowym z tabelą wejściową.
mogą zostać obcięte.
Jeśli jest to konieczne, popraw wartość wejściową i wprowadź
Działanie użytkownika: ponownie komendę albo zmień dane w tabeli.
Sprawdź dane wyjściowe. Jeśli znaczące dane z kolumny
zostaną utracone z powodu obcięcia, wypróbuj wybieranie
SQL3147W Wyeksportowano więcej niż 2048 wierszy do
danych z kolumny w kilku polach przez wybór podłańcuchów
pliku w formacie arkusza kalkulacyjnego.
lub ponownie zaprojektuj bazę danych.
Objaśnienie:
Liczba wyeksportowanych wierszy przekracza 2048. Produkty
SQL3144W Długość kolumny numer_kolumny o stałej
pierwszej generacji nie obsługują więcej niż 2048 wierszy.
długości przekracza ograniczenie 240
bajtów. Dane z kolumny mogą zostać
obcięte. Kontynuuj przetwarzanie.

Objaśnienie: Działanie użytkownika:


Programy Lotus 1-2-3** i Symphony** mają limit 240 bajtów Wiersze ponad 2048 mogą zostać odczytane tylko przez
dla rekordów etykiety. Ilekroć pole znakowe dłuższe niż 240 produkty drugiej i trzeciej generacji.
bajtów zostanie zapisane do pliku w formacie arkusza
kalkulacyjnego (WSF), dane zostaną obcięte do 240 bajtów. SQL3148W Wiersz z pliku wejściowego nie został
wstawiony do tabeli. Zwrócony został kod
Wszystkie pozycje danych dla kolumny zostają obcięte bez SQLCODE kod_sql.
wpisania dodatkowych komunikatów do protokołu
komunikatów. Objaśnienie:
Operacja bazy danych wstawiająca wiersz danych odczytany z
pliku wejściowego nie powiodła się. Co najmniej jedno z pól
Kontynuuj przetwarzanie.
w tabeli wejściowej jest niezgodne z polem bazy danych, do
Działanie użytkownika: którego pole to jest wstawiane.
Sprawdź dane wyjściowe. Jeśli znaczące dane z kolumny
zostaną utracone z powodu obcięcia, wypróbuj wybieranie Przetwarzanie będzie kontynuowane od następnego wiersza
danych z kolumny w kilku polach przez wybór podłańcuchów danych wejściowych.
lub ponownie zaprojektuj bazę danych.
Działanie użytkownika:
Numer wiersza, który nie został wstawiony, można znaleźć w
SQL3145W Dane dla wiersza numer-wiersza i kolumny następnym komunikacie w pliku komunikatów. Sprawdź plik
numer-kolumny zostaną obcięte do 240 wejściowy i zawartość bazy danych. Jeśli to konieczne,
bajtów. zmodyfikuj bazę danych lub plik wejściowy i ponownie
uruchom operację.
Objaśnienie:
Programy Lotus 1-2-3** i Symphony** mają limit 240 bajtów
dla rekordów etykiety. Ilekroć pole znakowe dłuższe niż 240
bajtów zostanie zapisane do pliku w formacie arkusza
kalkulacyjnego (WSF), dane zostaną obcięte do 240 bajtów.
Komunikat ten został poprzedzony przez komunikat SQL3143
związany z kolumną.

368 Komunikaty, tom 2


SQL3149N • SQL3157W

SQL3149N liczba_1 wierszy z pliku wejściowego zostało SQL3153N Rekord T w pliku PC/IXF ma nazwę nazwa,
przetworzonych. liczba_2 wierszy zostało kwalifikator kwalifikator i źródło źródło.
pomyślnie wstawionych do tabeli. liczba_3
Objaśnienie:
wierszy zostało odrzuconych.
Zostały podane dodatkowe informacje o nazwie tabeli, do
Objaśnienie: której zostały rozpakowane dane, produkcie, który utworzył
Ten sumaryczny komunikat podaje, ile wierszy danych zostało tabelę, oraz o oryginalnym źródle danych.
odczytanych z pliku wejściowego, ile wierszy zostało
Działanie użytkownika:
pomyślnie wstawionych do tabeli bazy danych oraz ile wierszy
Nie jest wymagane żadne działanie.
zostało odrzuconych. Jeśli korzystasz z opcji
INSERT_UPDATE, liczba zaktualizowanych wierszy jest
równa liczbie przetworzonych wierszy minus liczba SQL3154W Wartości HCNT w rekordzie H oraz CCNT
wstawionych i odrzuconych. w rekordzie T nie są zgodne. Zostanie użyta
wartość CCNT w rekordzie T.
Działanie użytkownika:
Nie jest wymagane żadne działanie, ponieważ jest to Objaśnienie:
komunikat podsumowujący. Szczegółowe komunikaty mogą Wartości HCNT w rekordzie H oraz CCNT w rekordzie T nie
sugerować działania naprawcze. zgadzają się.

SQL3150N Rekord H w pliku PC/IXF dla produktu Jest używana wartość CCNT z rekordu T.
produkt ma datę data i godzinę godzina. Działanie użytkownika:
Objaśnienie: Sprawdź, czy wartość CCNT jest poprawna. Jeśli nie, wykonaj
Podana została informacja o produkcie, który utworzył plik niezbędne zmiany wartości HCNT lub CCNT i wprowadź
PC/IXF oraz kiedy plik został utworzony. ponownie komendę.

Działanie użytkownika:
Nie jest wymagane żadne działanie. SQL3155W Pole długości nazwy w rekordzie C dla
kolumny nazwa jest niepoprawne. Dane z
kolumny nie zostaną załadowane.
SQL3151N Konwersja danych z wartości jednobajtowej
strony kodowej strona-kodowa w rekordzie Objaśnienie:
H na wartość jednobajtowej strony kodowej Pole długości nazwy w rekordzie C dla wskazanej kolumny
strona-kodowa aplikacji nie zostanie jest niepoprawne.
wykonana, ponieważ została określona
opcja FORCEIN. Dane z podanej kolumny nie zostaną załadowane.

Objaśnienie: Działanie użytkownika:


Konwersja ze strony kodowej IXF na stronę kodową aplikacji Zmień pole długości nazwy rekordu C i wprowadź ponownie
nie zostanie wykonana, ponieważ została podana opcja komendę.
FORCEIN.
Działanie użytkownika: SQL3156W Pole wartości pustej w rekordzie C dla
Nie jest wymagane żadne działanie. Jeśli konwersja ze strony kolumny nazwa jest niepoprawne. Dane z
kodowej pliku IXF do strony kodowej aplikacji jest kolumny nie zostaną załadowane.
obsługiwana przez menedżera baz danych, można powtórzyć Objaśnienie:
operację bez opcji FORCEIN i dane zostaną skonwertowane. Pole wartości pustej w rekordzie C dla wskazanej kolumny jest
niepoprawne.
SQL3152N Wartość dwubajtowej strony kodowej
wartość w rekordzie H jest niezgodna z Dane z podanej kolumny nie zostaną załadowane.
wartością dwubajtowej strony kodowej Działanie użytkownika:
wartość aplikacji. Dane zostaną wstawione, Zmień pole wartości pustej w rekordzie C i wprowadź
ponieważ została określona opcja ponownie komendę.
FORCEIN.
Objaśnienie: SQL3157W Pole typu w rekordzie C dla kolumny nazwa
Wartości dwubajtowej strony kodowej znajdujące się w jest niepoprawne. Dane z kolumny nie
rekordzie i używane przez aplikację nie są zgodne. Ponieważ zostaną załadowane.
użyto opcji FORCEIN, dane zostają wstawione.
Objaśnienie:
Działanie użytkownika: Pole typu w rekordzie C dla podanej kolumny jest
Nie jest wymagane żadne działanie. niepoprawne. Wartości strony kodowej mogą nie być zgodne z
typem kolumny.

Rozdział 2. Komunikaty SQL 369


SQL3158W • SQL3165W

Dane z podanej kolumny nie zostaną załadowane.


SQL3162W Pole skali w rekordzie C dla kolumny nazwa
Działanie użytkownika: jest niepoprawne. Dane z kolumny nie
Zmień pole typu w rekordzie C i wprowadź ponownie zostaną załadowane.
komendę.
Objaśnienie:
Pole skali w rekordzie C dla wskazanej kolumny jest
SQL3158W Pole jednobajtowej strony kodowej w niepoprawne.
rekordzie C dla kolumny nazwa jest
niepoprawne. Dane z kolumny nie zostaną Dane z podanej kolumny nie zostaną załadowane.
załadowane.
Działanie użytkownika:
Objaśnienie: Zmień pole skali w rekordzie C i wprowadź ponownie
Pole jednobajtowej strony kodowej w rekordzie C dla komendę.
wskazanej kolumny jest niepoprawne.
SQL3163W Pole długości kolumny w rekordzie C dla
Dane z podanej kolumny nie zostaną załadowane.
kolumny zmiennopozycyjnej nazwa jest
Działanie użytkownika: puste. Zostanie użyta wartość 00008.
Zmień pole jednobajtowej strony kodowej w rekordzie C i
Objaśnienie:
wprowadź ponownie komendę.
Pole długości kolumny w rekordzie C dla podanej kolumny
jest puste.
SQL3159W Pole w dwubajtowej stronie kodowej w
rekordzie C dla kolumny nazwa jest Zostanie przyjęta długość kolumny równa 00008.
niepoprawne. Dane z kolumny nie zostaną
Działanie użytkownika:
załadowane.
Nie jest wymagane żadne działanie.
Objaśnienie:
Pole w dwubajtowej stronie kodowej w rekordzie C dla
SQL3164W Pole długości kolumny w rekordzie C dla
wskazanej kolumny jest niepoprawne.
kolumny zmiennopozycyjnej nazwa jest
niepoprawne. Dane z kolumny nie zostaną
Dane z podanej kolumny nie zostaną załadowane.
załadowane.
Działanie użytkownika:
Objaśnienie:
Zmień pole w dwubajtowej stronie kodowej w rekordzie C i
Pole długości kolumny w rekordzie C dla podanej kolumny
wprowadź ponownie komendę.
jest niepoprawne. Podana kolumna jest kolumną
zmiennopozycyjną.
SQL3160W Pole długości kolumny w rekordzie C dla
kolumny nazwa jest niepoprawne. Dane z Dane z podanej kolumny nie zostaną załadowane.
kolumny nie zostaną załadowane.
Działanie użytkownika:
Objaśnienie: Zmień pole długości kolumny w rekordzie C i wprowadź
Pole długości kolumny w rekordzie C dla podanej kolumny ponownie komendę.
jest niepoprawne.
SQL3165W Pole typu kolumny typ w rekordzie C dla
Dane z podanej kolumny nie zostaną załadowane.
kolumny nazwa jest niepoprawne. Dane z
Działanie użytkownika: kolumny nie zostaną załadowane.
Zmień pole długości kolumny w rekordzie C i wprowadź
Objaśnienie:
ponownie komendę.
Pole typu kolumny w rekordzie C dla wskazanej kolumny jest
niepoprawne.
SQL3161W Pole dokładności w rekordzie C dla
kolumny nazwa jest niepoprawne. Dane z Dane z podanej kolumny nie zostaną załadowane.
kolumny nie zostaną załadowane.
Działanie użytkownika:
Objaśnienie: Zmień pole typu kolumny w rekordzie C i wprowadź
Pole dokładności w rekordzie C dla wskazanej kolumny jest ponownie komendę.
niepoprawne.

Dane z podanej kolumny nie zostaną załadowane.


Działanie użytkownika:
Zmień pole dokładności w rekordzie C i wprowadź ponownie
komendę.

370 Komunikaty, tom 2


SQL3166W • SQL3173N

Nie jest wymagane żadne działanie.


SQL3166W Nie podano kolumny PC/IXF do
załadowania do kolumny bazy danych
nazwa lub określona kolumna PC/IXF nie SQL3170W Wewnątrz wiersza danych napotkano znak
istnieje. Zostaną wstawione wartości puste. końca pliku. Wiersz zawierający częściowe
dane nie został załadowany.
Objaśnienie:
Nie podano kolumny PC/IXF, która ma zostać załadowana do Objaśnienie:
podanej kolumny bazy danych albo podana kolumna źródłowa Przed końcem bieżącego wiersza napotkano znak końca pliku.
PC/IXF nie istnieje. Plik może zawierać tylko część spodziewanych danych.

Do wskazanej kolumny zostaną załadowane wartości puste. Wiersz zawierający częściowe dane nie został załadowany.
Działanie użytkownika: Działanie użytkownika:
Nie jest wymagane żadne działanie. Jeśli w danej kolumnie nie Jeśli plik PC/IXF został skopiowany z jednego nośnika na
są dopuszczalne wartości puste, sprawdź parametr METHOD inny, porównaj kopię z oryginałem lub powtórz proces
pod kątem błędnych nazw lub pozycji albo pod kątem zbyt kopiowania.
małej liczby pozycji w parametrze METHOD w stosunku do
liczby kolumn podanej wprost lub wynikającej z parametru
Action String (na przykład ″REPLACE into ...″) . SQL3171W W wierszu nagłówka kolumny napotkano
zapis nie będący etykietą. Rekord nie został
przetworzony.
SQL3167W Kolumna PC/IXF określona do załadowania
do kolumny bazy danych nazwa jest Objaśnienie:
niepoprawna. Zostaną wstawione wartości Moduł importujący IMPORT w wierszu nagłówków kolumn
puste. (wierszu nr 1) pliku (WSF) w formacie arkusza
kalkulacyjnego, spodziewa się obecności tylko etykiet.
Objaśnienie:
Wartości podane w kolumnie PC/IXF nie mogą zostać System nie przetworzył tego rekordu i kontynuuje od
załadowane do wskazanej kolumny bazy danych, a przyczyna następnego rekordu.
została podana w poprzednim komunikacie w protokole
komunikatów. Działanie użytkownika:
Usuń z pierwszego wiersza pliku arkusza kalkulacyjnego
Do wskazanej kolumny zostaną załadowane wartości puste. wszystkie informacje i dane poza nagłówkami kolumn.
Wprowadź ponownie komendę.
Działanie użytkownika:
Przeczytaj poprzedni komunikat, aby dowiedzieć się, dlaczego
kolumna jest niepoprawna. SQL3172W Nie znaleziono podanej kolumny wejściowej
nazwa. Odpowiadająca jej kolumna bazy
danych będzie zawierać wartości puste.
SQL3168W Kolumna PC/IXF określona do załadowania
do kolumny bazy danych nazwa jest Objaśnienie:
niezgodna z kolumną bazy danych. Zostaną Podana kolumna wejściowa nie została odnaleziona w pliku
wstawione wartości puste. wejściowym w formacie arkusza kalkulacyjnego. W kolumnie
bazy danych dopuszczalne są wartości puste i takie wartości
Objaśnienie: zostały tam umieszczone.
Typy lub długości kolumny źródłowej PC/IXF oraz docelowej
kolumny bazy danych mogą nie być zgodne. Działanie użytkownika:
Sprawdź podaną nazwę kolumny wejściowej.
Do wskazanej kolumny zostaną załadowane wartości puste.
SQL3173N Dane wstawione do kolumny nazwa będą
Działanie użytkownika:
zawsze zawierać mniej znaków niż
Porównaj kolumny w pliku źródłowym PC/IXF z kolumnami
szerokość kolumny.
w bazie danych.
Objaśnienie:
Szerokość kolumny bazy danych przekracza maksymalną
SQL3169N Opcji FORCEIN można użyć, aby kolumna
wielkość etykiety rekordu dla formatu arkusza kalkulacyjnego
PC/IXF nazwa została zaakceptowana do
(WSF).
załadowania do kolumny bazy danych
nazwa.
Kontynuuj przetwarzanie.
Objaśnienie:
Komunikat ten informuje jedynie o możliwości opcjonalnego Działanie użytkownika:
użycia opcji FORCEIN. Nie jest wymagane żadne działanie.

Działanie użytkownika:

Rozdział 2. Komunikaty SQL 371


SQL3174W • SQL3179W

SQL3174W Typ danych typ kolumny bazy danych nazwa SQL3177W Wartość w pliku WSF dla wiersza wiersz i
jest niezgodny z żadnym typem kolumny kolumny kolumna jest poza zakresem
WSF. Do kolumny tej zostaną wstawione wartości godziny.
wartości puste.
Objaśnienie:
Objaśnienie: Rekord w pliku arkusza kalkulacyjnego zawiera wartość, która
Typ kolumny bazy danych jest niepoprawny dla pliku arkusza jest zbyt mała lub zbyt duża i nie reprezentuje poprawnej
kalkulacyjnego (WSF). Ponieważ w kolumnie bazy danych godziny w formacie (WSF). Czas w formacie WSF może
dopuszczalne są wartości puste, takie wartości zostały tam przyjmować wartość równą lub większą od zera i mniejszą od
umieszczone. 1.
Działanie użytkownika:
Jeśli dla kolumny są dopuszczalne wartości puste, takie
Jeśli dla kolumny nie są dopuszczalne wartości puste, wykonaj
wartości zostaną do niej wstawione. Jeśli dla kolumny nie są
jedną z następujących czynności:
dopuszczalne wartości puste, wiersz nie zostanie
v zmień dane w tabeli, zaimportowany.
v jeśli jest to możliwe, użyj jako kolumny docelowej innej
Działanie użytkownika:
zgodnej kolumny bazy danych i wprowadź ponownie
Popraw dane w tabeli lub sprawdź, czy wartość w pliku
komendę,
arkusza kalkulacyjnego, która ma zostać zaimportowana, jest
v przedefiniuj tabelę bazy danych, tak aby jej kolumny były poprawną wartością godziny i wprowadź ponownie komendę.
zgodne z kolumnami zaimportowanymi z pliku WSF i
wprowadź ponownie komendę.
SQL3178W Typ rekordu w pliku WSF dla wiersza
numer-wiersza i kolumny numer-kolumny
SQL3175W Rekord wejściowy dla wiersza bazy danych bazy danych jest niepoprawny do
wiersz i kolumny kolumna jest niepoprawny. reprezentowania wartości godziny.
Objaśnienie: Objaśnienie:
Rekord w arkuszu kalkulacyjnym jest niezgodny z typem Wartość wejściowa jest wartością całkowitą. Wartość godziny
danych kolumny bazy danych. Jeśli kolumna bazy danych jest musi być reprezentowana w pliku arkusza kalkulacyjnego
typu graficznego, dane wejściowe mogą zawierać nieparzystą (WSF) przez liczbę zmiennopozycyjną lub przez część
liczbę bajtów. ułamkową dnia.

Jeśli dla kolumny są dopuszczalne wartości puste, takie Jeśli dla kolumny są dopuszczalne wartości puste, takie
wartości zostaną do niej wstawione. Jeśli dla kolumny nie są wartości zostaną do niej wstawione. Jeśli dla kolumny nie są
dopuszczalne wartości puste, wiersz nie zostanie dopuszczalne wartości puste, wiersz nie zostanie
zaimportowany. zaimportowany.
Działanie użytkownika: Działanie użytkownika:
Popraw dane w tabeli lub sprawdź, czy dane w pliku arkusza Popraw dane w tabeli lub sprawdź, czy wartość w pliku
kalkulacyjnego mogą zostać poprawnie zaimportowane do arkusza kalkulacyjnego, która ma zostać zaimportowana, jest
menedżera baz danych i wprowadź ponownie komendę. poprawną wartością godziny i wprowadź ponownie komendę.

SQL3176W Wartość dla wiersza wiersz i kolumny SQL3179W W wierszu wiersz w pliku wejściowym
kolumna w pliku WSF jest poza zakresem brakuje danych, które mogą zostać
wartości daty. wstawione do kolumny bazy danych, w
Objaśnienie: której nie są dopuszczalne wartości puste.
Rekord w pliku arkusza kalkulacyjnego zawiera wartość, która Wiersz nie został wstawiony.
jest zbyt mała lub zbyt duża i nie reprezentuje poprawnej daty Objaśnienie:
w formacie (WSF). Poprawna data WSF mieści się w W pliku wejściowym brakuje wiersza danych, lub dane są
przedziale domkniętym od 1 do 73050. niepoprawne dla kolumny, która nie akceptuje wartości
pustych. Wartości w pozostałych kolumnach bazy danych w
Jeśli dla kolumny są dopuszczalne wartości puste, takie tym wierszu nie zostaną wstawione.
wartości zostaną do niej wstawione. Jeśli dla kolumny nie są
dopuszczalne wartości puste, wiersz nie zostanie Przetwarzanie będzie kontynuowane od następnego wiersza.
zaimportowany. Wiersz nie zostanie wstawiony.
Działanie użytkownika: Działanie użytkownika:
Popraw dane w tabeli lub sprawdź, czy dane w pliku arkusza Popraw dane w tabeli lub sprawdź, czy dane w pliku arkusza
kalkulacyjnego mogą zostać poprawnie zaimportowane do kalkulacyjnego mogą zostać poprawnie wstawione do bazy
menedżera baz danych i wprowadź ponownie komendę. danych menedżera baz danych.

372 Komunikaty, tom 2


SQL3180W • SQL3186W

umieszczone na początku tego parametru i nie występuje po


SQL3180W Włóż dyskietkę numer do napędu napęd.
nim znak odstępu. Ta sytuacja może pojawić się podczas
Objaśnienie: operacji LOAD/IMPORT lub eksportu plików ASCII z
Jest to skierowane do aplikacji żądanie wyświetlenia ogranicznikami (DEL).
komunikatu informującego o konieczności umieszczenia w
stacji podanej dyskietki. Program narzędziowy zatrzymuje przetwarzanie. Błędne
ograniczniki zostaną zignorowane.
Program narzędziowy czeka na ponowne wywołanie go po
Działanie użytkownika:
wymianie dyskietki przez użytkownika.
Wprowadź ponownie komendę, podając poprawny parametr
Działanie użytkownika: filetmod.
Zgłoś użytkownikowi konieczność wymiany dyskietki i zwróć
do programu narzędziowego parametr callerac, określający,
SQL3184W Podczas tworzenia tabeli wystąpiło
czy przetwarzanie jest, czy nie jest kontynuowane.
ostrzeżenie SQL SQLCODE.
Objaśnienie:
SQL3181W Przed oczekiwanym końcem rekordu
Tabela została utworzona, jednak może się ona różnić od
napotkano znak końca pliku.
oryginalnej tabeli.
Objaśnienie:
Działanie użytkownika:
Podczas ładowania pliku PC/IXF, utworzonego przez
Porównaj definicję nowo utworzonej tabeli z tabelą
menedżera baz danych, nie znaleziono rekordu A podtypu E,
oczekiwaną. Wprowadź wszelkie niezbędne poprawki, na
który był oczekiwany jako ostatni rekord A.
przykład przy użyciu komendy ALTER TABLE. Poszukaj
dodatkowych informacji dotyczących kodu SQLCODE
Plik wejściowy jest prawdopodobnie uszkodzony.
wyświetlonego w komunikacie ostrzegawczym.
Kontynuuj przetwarzanie.
SQL3185W Poprzedni błąd wystąpił w momencie
Działanie użytkownika: przetwarzania danych z wiersza
Sprawdź, czy wszystkie dane zostały zainstalowane. Jeśli numer_wiersza pliku wejściowego.
brakuje danych, popraw tabelę lub zmień plik wejściowy i
wprowadź ponownie komendę. Jeśli plik PC/IXF został Objaśnienie:
skopiowany z jednego nośnika na inny, porównaj kopię z Komunikat ten umożliwia identyfikację wiersza w którym
oryginałem lub powtórz proces kopiowania. wystąpił błąd dla poprzedniego komunikatu znajdującego się
w pliku komunikatów (np., SQL3306).
SQL3182W Włóż dyskietkę numer do napędu napęd. Działanie użytkownika:
Aktualnie włożona dyskietka nie jest Nie jest wymagane żadne działanie.
właściwą dyskietką lub dyskietka
kontynuacyjna jest niepoprawna.
SQL3186W Dane nie zostały załadowane do bazy
Objaśnienie: danych, ponieważ protokół był pełny lub
Podczas ładowania pliku PC/IXF, który został podzielony na obszar blokady był zajęty. Zwrócony został
kilka dyskietek, do aplikacji zostało wysłane żądanie wymiany kod SQLCODE kod_sql. Nastąpi próba
dyskietki, otrzymano potwierdzenie wymiany, ale nowa zatwierdzenia i w przypadku jej
dyskietka nie zawiera dalszej części pliku wejściowego lub jest powodzenia przetwarzanie będzie
uszkodzona. Nie odnosi się to do pierwszej dyskietki. kontynuowane.
Objaśnienie:
Program narzędziowy czeka na odpowiedź z aplikacji Program narzędziowy nie mógł wstawić wiersza danych do
decydującą o kontynuacji lub zaprzestaniu działania. bazy danych, ponieważ protokół transakcji bazy danych jest
Działanie użytkownika: pełny lub obszar blokady dostępny dla aplikacji jest pełny.
Należy poprosić użytkownika o sprawdzenie, czy w stacji
została umieszczona właściwa dyskietka. Jeśli jest to właściwa Zakończone transakcje bazy danych zostaną zatwierdzone i
dyskietka, wywołaj ponownie program narzędziowy z wstawianie zostanie powtórzone. Jeśli podczas kolejnych
parametrem callerac, aby zatrzymać przetwarzanie. operacji wstawiania wystąpi to samo niepowodzenie, program
narzędziowy zakończy przetwarzanie.
SQL3183W Zastępcze ograniczniki podane w Działanie użytkownika:
parametrze filetmod nie są oddzielone Należy pamiętać, że wielokrotne błędy programu
znakami odstępu. narzędziowego powodują, że baza danych jest w stanie
wycofać zmiany do stanu sprzed ostatniego zatwierdzenia, a
Objaśnienie: nie sprzed początkowego uruchomienia tego programu.
Co najmniej jeden z parametrów COLDEL, CHARDEL lub
DECPT, podanych w parametrze filetmod, nie jest

Rozdział 2. Komunikaty SQL 373


SQL3187W • SQL3191N

SQL3187W Podczas tworzenia indeksu wystąpił błąd. SQL3189N Poprzedni komunikat dotyczy indeksu
Zwrócony został kod SQLCODE kod_sql. nazwa z kolumnami lista-kolumn.
Objaśnienie: Objaśnienie:
Narzędzie IMPORT w momencie wystąpienia błędu tworzyło Ten komunikat zawsze następuje po komunikacie SQL3187,
indeks. Dla niektórych tabel indeks może już istnieć. jeśli wystąpi błąd podczas tworzenia indeksu. nazwa jest
nazwą indeksu, którego utworzenie nie powiodło się.
Ten błąd występuje tylko podczas importowania pliku PC/IXF. lista_kolumn jest łańcuchem nazw kolumn indeksowych.
Każda nazwa kolumny w tym łańcuchu jest poprzedzona
Program narzędziowy kontynuuje przetwarzanie. Plik został znakiem plus (+) lub minus (-) oznaczającym kolejność
zaimportowany, ale dla tej tabeli indeks nie został utworzony. rosnącą lub malejącą.

Użytkownicy systemu stowarzyszonego: Oprócz wcześniej Program narzędziowy kontynuuje przetwarzanie.


wymienionej przyczyny ten błąd może wystąpić, gdy Działanie użytkownika:
instrukcja CREATE NICKNAME została wprowadzona na Utwórz indeks ręcznie za pomocą komendy CREATE INDEX.
serwerze stowarzyszonym i tabela w źródle danych miała
indeks lub indeksy ze zbyt dużą liczbą kolumn albo łączna
wielkość wiersza indeksu nie może zostać przedstawiona w SQL3190N Dla tej operacji importowania opcja
katalogu serwera stowarzyszonego. Kod kod_sql w indexixf jest niepoprawna.
komunikacie zawiera dalsze informacje o napotkanym
Objaśnienie:
problemie.
Jeśli INDEXIXF jest używany w parametrze filetmod
Działanie użytkownika: komendy IMPORT, wymagane jest również spełnienie
Przeczytaj w dzienniku błędów następny komunikat następujących warunków:
(SQL3189), zawierający nazwę indeksu, który nie został v IMPORT musi zastępować zawartość tabeli
utworzony. Utwórz indeks przy użyciu komendy CREATE
v Parametr METHOD musi być mieć wartość pustą.
INDEX.
v Każda kolumna IXF musi odnosić się do kolumny
Użytkownicy systemu stowarzyszonego: Należy dokonać docelowej noszącej tę samą nazwę.
wyboru z katalogu źródła danych i katalogu serwera
stowarzyszonego w celu określenia, który indeks lub indeksy Program narzędziowy zatrzymuje przetwarzanie. Nie
nie zostały utworzone w katalogu serwera stowarzyszonego. zaimportowano żadnych danych.
Albo: Działanie użytkownika:
v Utwórz indeks przy użyciu komendy CREATE INDEX. Wprowadź ponownie komendę bez podawania opcji
Pamiętaj o obcięciu odpowiednich kolumn, aby nie INDEXIXF albo razem z innymi parametrami, które są
naruszyć ograniczeń, które spowodowały, że indeks nie poprawne z opcją INDEXIXF.
został utworzony w pierwszej kolejności.
v Nie należy podejmować działań i należy pozwolić SQL3191N Pole w wierszu numer-wiersza i kolumnie
serwerowi stowarzyszonemu na działanie bez informacji o numer-kolumny rozpoczynające się od
indeksie. łańcuch jest niezgodne z podanym przez
użytkownika parametrem DATEFORMAT,
Obie uprzednio wymienione opcje mają potencjalny wpływ na TIMEFORMAT lub
wydajność. TIMESTAMPFORMAT. Wiersz zostanie
odrzucony.
SQL3188N Podczas kasowania zawartości tabeli Objaśnienie:
wystąpił błąd. Dane nie są zgodne z określonym przez użytkownika
Objaśnienie: formatem. Przyczyną tego mogą być brakujące pola,
Podczas uruchamiania operacji LOAD/IMPORT z opcją niedopasowane separatory kolumn lub wartości spoza zakresu.
REPLACE, podana tabela bazy danych zostaje obcięta przed Działanie użytkownika:
wstawieniem do niej z powrotem danych. Podczas obcinania Sprawdź wartość wejściową. Popraw plik wejściowy lub
tabeli wystąpił błąd. określ inne opcje DATEFORMAT, TIMEFORMAT lub
TIMESTAMPFORMAT, które będą zgodne z danymi, a
Program narzędziowy kończy pracę z błędem. następnie wprowadź ponownie komendę.
Działanie użytkownika:
Wprowadź ponownie komendę.

374 Komunikaty, tom 2


SQL3192N • SQL3197N

Działanie użytkownika:
SQL3192N W parametrze filetmod określony przez
Wprowadź ponownie komendę, podając nazwę tabeli lub
użytkownika format parametr
widoku, które można zaktualizować.
rozpoczynający się od łańcucha łańcuch jest
niepoprawny.
SQL3194N Podana tabela jest tabelą systemową. Nie
Objaśnienie:
można załadować tabeli systemowej.
Format określony przez użytkownika jest niepoprawny,
ponieważ może być określony więcej niż raz, lub może Objaśnienie:
zawierać niepoprawny znak. Nie można użyć tego narzędzia dla tabeli systemowej.

Formaty muszą być ograniczone znakami cudzysłowu. Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych.
Poprawny specyfikator DATEFORMAT zawiera znaki
Działanie użytkownika:
“YYYY” oraz “M” i “D”.
Ponownie wprowadź komendę, podając poprawną nazwę
tabeli.
Poprawny specyfikator TIMEFORMAT zawiera symbole
“AM”, “PM”, “TT” oraz “H”, “M” i “D”.
SQL3195W Dyskietka numer w napędzie napęd nie może
Poprawne specyfikatory TIMESTAMPFORMAT zawierają zostać użyta dla pliku wyjściowego. Użyj
wszystkie specyfikatory z DATEFORMAT i TIMEFORMAT, sformatowanej dyskietki zawierającej wolne
oraz “UUUUUU”. Jednak specyfikator “M” nie może miejsce, dostępne dla zapisu.
znajdować się równocześnie obok specyfikatora formatu daty i
Objaśnienie:
formatu czasu.
Moduł eksportujący EXPORT nie może wykorzystać bieżącej
dyskietki do wyeksportowania pliku PC/IXF z jednego z
Jeśli odpowiednia wartość w pliku danych może mieć zmienną następujących powodów:
długość, wymagany jest separator pola.
v Nie jest możliwe otworzenie pliku wyjściowego. Dyskietka
może nie być sformatowana.
Program narzędziowy zatrzymuje przetwarzanie.
v Na dyskietce nie ma wystarczającej ilości wolnego miejsca.
Działanie użytkownika:
Sprawdź format specyfikatora. Popraw format i wprowadź Kod tego ostrzeżenia stanowi skierowane do aplikacji żądanie
ponownie komendę. wyświetlenia komunikatu informującego o konieczności
użycia innej dyskietki.
SQL3193N Nie można zaktualizować określonego
widoku lub określonej zmaterializowanej Program narzędziowy czeka na ponowne wywołanie go po
tabeli zapytania. Nie można przeprowadzić wymianie dyskietki przez użytkownika.
operacji ładowania ani importu
Działanie użytkownika:
(LOAD/IMPORT) do tego widoku bądź
Zgłoś użytkownikowi konieczność wymiany dyskietki i zwróć
ładowania (LOAD) do tej zmaterializowanej
do programu narzędziowego parametr callerac, określający,
tabeli zapytania.
czy przetwarzanie jest, czy nie jest kontynuowane.
Objaśnienie:
Modułów LOAD/IMPORT można używać w odniesieniu do
SQL3196N Nie można odnaleźć pliku wejściowego.
widoku tylko wówczas, jeśli widok może być aktualizowany.
Podany widok jest tak zdefiniowany, że jego dane nie mogą Objaśnienie:
być zmieniane. Plik źródłowy, który ma zostać załadowany do bazy danych,
nie został odnaleziony w ścieżce określonej przez parametr
Moduł ładujący LOAD można uruchomić w odniesieniu do datafile.
zmaterializowanej tabeli zapytania tylko wtedy, gdy tabela ta
nie jest replikowana. Określona tabela jest replikowaną Nie można wykonać komendy.
zmaterializowaną tabelą zapytania.
Działanie użytkownika:
Sprawdź, czy plik wejściowy istnieje i czy podano właściwą
Moduł importujący IMPORT można uruchomić w odniesieniu
ścieżkę dostępu.
do zmaterializowanej tabeli zapytania tylko wtedy, gdy tabela
ta jest zmaterializowaną tabelą zapytania obsługiwaną przez
użytkownika. Określona tabela jest zmaterializowaną tabelą SQL3197N Próbowano uruchomić kilka kopii
zapytania obsługiwaną przez system. programu importującego lub
eksportującego.
Moduł LOAD/IMPORT przerywa przetwarzanie. Dane nie
Objaśnienie:
zostaną wstawione.

Rozdział 2. Komunikaty SQL 375


SQL3201N • SQL3207N

Podjęto próbę uruchomienia więcej niż jednej instancji modułu


SQL3204N Opcja INSERT_UPDATE nie może być
importującego lub eksportującego dane w systemie, który tego
stosowana do widoku.
nie obsługuje.
Objaśnienie:
Nie można wykonać komendy. Jako tabela docelowa dla operacji wykonywanej przez
program narzędziowy wybrany został widok, a opcja
Działanie użytkownika: INSERT_UPDATE nie może być stosowana do widoków.
Powtórz drugą operację gdy żaden inny proces działający w
systemie nie będzie próbował uruchomić tego samego
Nie można wykonać komendy.
programu narzędziowego.
Działanie użytkownika:
Wybierz inną opcję, na przykład INSERT, lub wybierz inną
SQL3201N Podana tabela nie może zostać zastąpiona,
tabelę docelową dla operacji wykonywanej przez program
ponieważ inna tabela jest od niej zależna.
narzędziowy.
Objaśnienie:
Nie można zastąpić tabeli nadrzędnej w związku z inną tabelą.
SQL3205N Podany widok nie może być zastąpiony,
ponieważ jego tabela podstawowa ma tabelę
Nie można wykonać komendy. zależną.
Działanie użytkownika: Objaśnienie:
Wybierz inną opcję, na przykład INSERT, lub wybierz inną Widok, którego tabela podstawowa jest tabelą nadrzędną w
tabelę docelową dla operacji wykonywanej przez program związku referencyjnym z inną (lub tą samą) tabelą, nie może
narzędziowy. być zastąpiony.

SQL3202N Uzyskanie blokady partycji przez moduł Nie można wykonać komendy.
ładujący nie powiodło się.
Działanie użytkownika:
Objaśnienie: Wybierz inną opcję, na przykład INSERT, lub wybierz inną
Uzyskanie blokady partycji przez moduł ładujący nie tabelę docelową dla operacji wykonywanej przez program
powiodło się. Inny moduł ładujący ładuje obecnie dane do tej narzędziowy.
samej tabeli i jest podłączony do tej samej partycji bazy
danych, do której podłączona jest bieżąca operacja ładowania.
SQL3206N Podany widok nie może być zastąpiony,
Działanie użytkownika: ponieważ jego definicja zawiera
Aby umożliwić wykonanie współbieżnie wielu operacji podzapytanie.
ładowania danych do pojedynczej tabeli (przy założeniu, że
Objaśnienie:
używany jest rozłączny zbiór wyjściowych partycji bazy
Widok, którego definicja zawiera podzapytanie, nie może być
danych), należy zapewnić, że agenty koordynatora ładowania
zastąpiony. Jeśli definicja widoku jest zależna od definicji
będą rezydować w różnych partycjach bazy danych,
innych widoków, to widoki te nie mogą zawierać podzapytań.
wykonując każdą operację ładowania przy użyciu połączeń
Użycie podzapytania w definicji dowolnego widoku, na
nawiązanych z różnymi partycjami bazy danych.
którym oparty jest widok docelowy, wyklucza użycie opcji
REPLACE.
SQL3203N Dla podanej tabeli docelowej opcja
INSERT_UPDATE nie jest dozwolona, Nie można wykonać komendy.
ponieważ tabela ta nie ma klucza głównego
Działanie użytkownika:
lub wszystkie kolumny należą do klucza
Wybierz inną opcję, na przykład INSERT, lub wybierz inną
głównego.
tabelę docelową dla operacji wykonywanej przez program
Objaśnienie: narzędziowy.
Opcja INSERT_UPDATE jest poprawna jedynie dla tabeli
docelowej, która ma klucz główny i której kolumny docelowe
SQL3207N Niepoprawna lista tabel. Kod przyczyny:
zawierają wszystkie kolumny klucza głównego. Ponadto lista
kod-przyczyny.
kolumn docelowych powinna zawierać co najmniej jedną
kolumnę, która nie należy do klucza podstawowego. Objaśnienie:
Dostarczona lista kolejności przeglądania/lista podtabel jest
Nie można wykonać komendy. niepoprawna. Wyjaśnienie kodów przyczyny:
Działanie użytkownika: 1. Tabele podane w liście kolejności przeglądania nie są
Wybierz inną opcję, na przykład INSERT, lub wybierz inną ułożone według metody PRE-ORDER.
tabelę docelową dla operacji wykonywanej przez program 2. Tabele podane w liście kolejności przeglądania nie są
narzędziowy. połączone.

376 Komunikaty, tom 2


SQL3208W • SQL3215W

3. W liście kolejności przeglądania/liście podtabel wykryto Do wprowadzania danych hierarchicznych do bazy danych
niezgodność nazw schematów. używaj komendy IMPORT.
4. Dla opcji REPLACE, nastąpiło pominięcie niektórych
podtabel w liście kolejności przeglądania. SQL3212N Opcja TERMINATE komendy LOAD nie
5. Lista podtabel nie jest równa liście kolejności przeglądania jest obecnie obsługiwana dla tabel
ani nie jest jej podzbiorem. zawierających kolumny DATALINK lub
obszarów tabel w stanie usuwania w toku.
Działanie użytkownika:
Możliwe są następujące działania użytkownika, w zależności Objaśnienie:
od kodu przyczyny: Została wykonana próba wstrzymania uszkodzonej,
1. Sprawdź, czy lista kolejności przeglądania jest ułożona przerwanej lub wymuszonej operacji LOAD, wykonywanej na
według metody PRE-ORDER. tabeli zawierającej kolumny DATALINK lub na tabeli
znajdującej się w obszarach tabel w stanie usuwania w toku.
2. Sprawdź, czy wszystkie tabele z listy kolejności
Nie są one aktualnie obsługiwane w tym systemie.
przeglądania są połączone.
3. Sprawdź, czy nazwy schematów są spójne. Działanie użytkownika:
Użyj opcji RESTART komendy LOAD do odzyskania
4. Jeśli używana jest opcja REPLACE, sprawdź czy
uszkodzonej, przerwanej lub wymuszonej operacji LOAD.
obejmuje ona wszystkie podtabele w obrębie hierarchii.
5. Sprawdź, czy lista podtabel jest równa liście kolejności
przeglądania lub jest jej podzbiorem. SQL3213I Trybem indeksowania jest tryb.
Objaśnienie:
SQL3208W Importowanie danych z tabel o typie Wartościami trybu indeksowania są :
strukturalnym do zwykłej tabeli. REBUILD
Objaśnienie: indeksy zostaną całkowicie odbudowane
Użytkownik zażądał importowania danych z tabeli o typie INCREMENTAL
strukturalnym do zwykłej tabeli. Kolumna identyfikatorów indeksy zostaną rozszerzone
obiektów nie może być rzutowana podczas importowania.
DEFERRED
Działanie użytkownika: indeksy nie zostaną zaktualizowane, ale zostaną
Sprawdź, czy operacja jest wykonywana celowo. zaznaczone jako wymagające odświeżenia przed
następnym dostępem.
SQL3209N Podczas importowania z opcją CREATE nie Działanie użytkownika:
jest dopuszczalna zmiana nazwy podtabeli Nie jest wymagane żadne działanie.
ani nazw atrybutów.
Objaśnienie: SQL3214N Moduł ładujący LOAD nie obsługuje
Jeśli jest używana opcja CREATE, nie można zmienić nazwy indeksowania odroczonego dla tabel z
podtabeli ani atrybutów. indeksami unikalnymi.
Działanie użytkownika: Objaśnienie:
Sprawdź komendę IMPORT i sprawdź, czy nie podano w niej Dla tabeli z unikalnymi indeksami został określony tryb
listy podtabel. indeksowania DEFERRED. Jest to nieprawidłowe.
Działanie użytkownika:
SQL3210N Opcja opcja jest niezgodna z hierarchią w Określ tryb indeksowania AUTOSELECT, REBUILD lub
komendzie nazwa-komendy. INCREMENTAL i wprowadź ponownie komendę.
Objaśnienie:
Opcja opcja nie jest zgodna z hierarchią w komendzie SQL3215W Moduł ładujący nie obsługuje obecnie
EXPORT, IMPORT lub LOAD. indeksowania przyrostowego
Działanie użytkownika: (INCREMENTAL) podczas ładowania tabel
Sprawdź, czy składnia komendy obsługuje hierarchię. do obszarów tabel DMS, gdy obiekt indeksu
tabeli znajduje się w tym samym obszarze
tabel, co jeden z obiektów tabeli docelowej i
SQL3211N Komenda LOAD nie obsługuje tabel o typie podano opcję COPY. Zostanie użyty tryb
strukturalnym. indeksowania REBUILD.
Objaśnienie: Objaśnienie:
Komenda LOAD nie obsługuje tabel o typie strukturalnym. Tryb indeksowania INCREMENTAL nie jest obsługiwany w
Rozważ zastosowanie zamiast niej komendy IMPORT. tej operacji. Zostanie użyty tryb indeksowania REBUILD.
Działanie użytkownika: Działanie użytkownika:

Rozdział 2. Komunikaty SQL 377


SQL3216W • SQL3221W

Użytkownik nie może uniknąć tego ostrzeżenia przez


SQL3219N Nie powiodło się wyłączenie sprawdzania
zdefiniowanie indeksu w obszarze tabel, który nie jest
ograniczeń dla tabeli docelowej przez moduł
współużytkowany przez inne obiekty tabeli przeznaczonej do
ładujący LOAD.
załadowania. Można zrezygnować z użycia opcji COPY. Pełną
listę metod zastępczych dla opcji COPY można znaleźć w Objaśnienie:
dokumentacji DB2. Moduł ładujący LOAD napotkał problemy podczas próby
wyłączenia sprawdzania ograniczeń dla tabeli docelowej.
SQL3216W Moduł ładujący rozpoczął działanie, gdy Działanie użytkownika:
obiekt indeksu tabeli nie był zgodny z v Przed uruchomieniem modułu ładującego LOAD wprowadź
rodzajem konserwacji indeksu dla tabeli docelowej komendę SET INTEGRITY OFF.
INCREMENTAL. Nie można wykonać
v Jeśli po poprzedniej, nieudanej operacji LOAD próbujesz
indeksowania przyrostowego
ponownie uruchomić operację LOAD w trybie REPLACE,
(INCREMENTAL) podczas tej operacji
to przed wydaniem komendy LOAD REPLACE użyj
ładowania. Zostanie użyty tryb
komendy LOAD TERMINATE, aby ustawić obszar tabel w
indeksowania REBUILD.
stan dostępności.
Objaśnienie:
Indeksowanie przyrostowe (INCREMENTAL) może być
SQL3220W Wolumin nazwa-woluminu nie został
stosowane tylko dla tabel ze zgodnym obiektem indeksu w
znaleziony w katalogu nazwa-katalogu.
chwili uruchomienia modułu ładującego. Ładowanie w trybie
Skopiuj wolumin do tego katalogu i
indeksowania REBUILD powoduje spójną odbudowę indeksu
kontynuuj LOAD/IMPORT.
tabeli.
Objaśnienie:
Działanie użytkownika:
Próbowano wykonać LOAD/IMPORT dla wielu plików w
Nie jest wymagane żadne działanie.
formacie IXF, ale w podanym katalogu brakuje jednego z nich.
LOAD/IMPORT próbuje znaleźć brakującą część w tym
SQL3217W Tryb indeksowania przyrostowego samym katalogu, co poprzednie pliki.
(INCREMENTAL) jest obsługiwany tylko
wtedy, gdy moduł LOAD dodaje dane za Import zostanie przerwany.
pomocą działania INSERT INTO. Bieżącym
działaniem LOAD jest działanie. Moduł Działanie użytkownika:
ładujący skorzysta z trybu indeksowania v Znajdź brakującą część i umieść w tym samym katalogu, co
tryb. poprzednie pliki. Następnie ponownie wywołaj operację
LOAD/IMPORT, nadając parametrowi callerac wartość
Objaśnienie: SQLU_CONTINUE. Operacja LOAD/IMPORT będzie
Trybu indeksowania przyrostowego (INCREMENTAL) można kontynuowała przetwarzanie plików.
używać tylko wtedy, gdy dane do tabeli są dodawane za
pomocą działania INSERT INTO. Opcja ta nie jest v Wywołując operację LOAD/IMPORT z parametrem
obsługiwana, gdy ładowanie jest przeprowadzane za pomocą callerac równym SQLU_TERMINATE zakończysz import.
działania: REPLACE, RESTART lub TERMINATE.
Działanie użytkownika: SQL3221W ...Zatwierdzanie (COMMIT WORK)
Nie jest wymagane żadne działanie. rozpoczęte. Liczba rekordów wejściowych =
liczba.

SQL3218C Moduł ładujący LOAD nie może Objaśnienie:


kontynuować pracy, ponieważ napotkał na Operacja importu przystępuje do zatwierdzenia (COMMIT)
co najmniej jeden uszkodzony plik wykonanej pracy.
indeksowy. Zrestartuj bazę danych i Działanie użytkownika:
wprowadź ponownie komendę LOAD. Jeśli bezpośrednio po tym komunikacie nie pojawia się
Objaśnienie: komunikat SQL3222W, to operacja COMMIT nie została
Moduł ładujący LOAD nie może kontynuować pracy, zrealizowana i musisz sprawdzić w tabeli lub widoku, które
ponieważ co najmniej jeden indeks w strukturach danych na rekordy zostały zaimportowane. Następnie możesz ponownie
dysku, jest dla tabeli docelowej w stanie niespójnym. uruchomić operację importu pozostałej części pliku, nadając
parametrowi RESTARTCOUNT wartość równą liczbie
Działanie użytkownika: pomyślnie zaimportowanych rekordów, aby je pominąć. (Jeśli
Zakończ pracę wszystkich aplikacji i dla tej bazy danych import odbywał się z opcjami CREATE, REPLACE_CREATE
wprowadź komendę RESTART DATABASE, aby lub REPLACE, kolejne wywołanie powinno się odbyć z opcją
przebudować zniszczony indeks lub indeksy. Następnie wydaj INSERT.)
ponownie komendę LOAD.

378 Komunikaty, tom 2


SQL3222W • SQL3232W

Opcja “tryb indeksowania” dla modułu ładującego, została


SQL3222W ...Zatwierdzanie (COMMIT) wszystkich
określona jako “odroczone”. Opcja ta nie jest obsługiwana dla
zmian w bazie danych zakończyło się
tabel z kolumnami DATALINK.
pomyślnie.
Działanie użytkownika:
Objaśnienie:
Wprowadź ponownie komendę ładowania, określając inny tryb
Zatwierdzenie (COMMIT) zakończyło się pomyślnie.
indeksowania.
Działanie użytkownika:
W przypadku pojawienia się tego komunikatu nie ma potrzeby
SQL3229W Wartość pola w wierszu numer-wiersza i
podejmowania jakiegokolwiek działania.
kolumnie numer-kolumny jest niepoprawna.
Wiersz został odrzucony. Kod przyczyny:
SQL3223N Nieprawidłowy parametr typu wskaźnik do kod-przyczyny.
parametr.
Objaśnienie:
Objaśnienie: W wierszu danych w pliku wejściowym znajdują się
Parametr typu parametr nie został podany prawidłowo. niepoprawne dane.
Wskaźnik powinien być albo wskaźnikiem NULL, albo
powinien wskazywać odpowiednią wartość. Kody przyczyny:
1 Nie można znaleźć pliku o nazwie podanej w
Nie można wykonać komendy.
wierszu i w kolumnie.
Działanie użytkownika:
2 Nie można uzyskać dostępu do pliku o nazwie
Wywołaj program narzędziowy ponownie z prawidłowym
podanej w wierszu i w kolumnie.
parametrem.
3 Dane są za długie dla danej kolumny.
SQL3225N Wartość RESTARTCOUNT lub wartość
SKIPCOUNT wartość jest większa niż liczba Wiersz nie został wstawiony. Przetwarzanie będzie
wierszy (wiersze) w pliku. Nie załadowano kontynuowane od następnego wiersza.
żadnych wierszy. Działanie użytkownika:
Objaśnienie: Jeśli jest to konieczne, popraw plik wejściowy i wprowadź
Wywołano program narzędziowy z wartością parametru ponownie komendę.
RESTARTCOUNT lub SKIPCOUNT większą niż liczba
wierszy w pliku wejściowym co spowodowało, że do SQL3230N Konwersja strony kodowej ze strony
tabeli/widoku nie załadowano żadnych wierszy. kodowej pliku danych
Działanie użytkownika: strona-kodowa-pliku-danych do strony
Popraw wartość parametru RESTARTCOUNT lub kodowej bazy danych
SKIPCOUNT i ponownie wywołaj program narzędziowy. strona-kodowa-bazy-danych dla danych typu
typ-danych nie jest obsługiwana.

SQL3227W Element rekordu element1 odwołuje się do Objaśnienie:


numeru rekordu użytkownika element2. Strona kodowa pliku danych wskazana przez modyfikator typu
pliku CODEPAGE lub przez informacje nagłówka pliku IXF
Objaśnienie: jest niezgodna ze stroną kodową bazy danych dla określonego
Podczas wykonywania LOAD, IMPORT lub EXPORT dla typu danych.
tabeli napotkano błąd lub ostrzeżenie. W momencie
napotkania problemu poziom paralelizmu CPU był większy Działanie użytkownika:
niż 1 i został wyświetlony komunikat SQL, który Zmień stronę kodową danych wejściowych na stronę kodową
zidentyfikował rekord użytkownika, ze specjalnym unikalnym zgodną z określonym typem danych.
elementem. Komunikat ten obsługuje odwzorowanie
unikalnego elementu rekordu na numer rekordu danych SQL3232W Wystąpił błąd podczas zapisu do pliku
źródłowych użytkownika. nazwa-pliku. Zamiast niego użyty został plik
Działanie użytkownika: nazwa-pliku.
Zobacz pierwotny komunikat SQL zwrócony dla Objaśnienie:
odpowiedniego działania. Wystąpił błąd podczas zapisywania dokumentów typu LOB
lub XML do określonego pliku. Użyta została nowa nazwa
SQL3228N Opcja DEFERRED INDEXING nie jest pliku. Rekord ze szczegółowymi informacjami o tym błędzie
obsługiwana dla tabel z kolumnami można znaleźć w pliku db2diag.log.
DATALINK.
Podczas operacji eksportu zapisanie danych w oryginalnym
Objaśnienie: pliku było niemożliwe. Przyjęto, że wystąpił problem

Rozdział 2. Komunikaty SQL 379


SQL3233W • SQL3238N

związany z tym plikiem, taki jak przekroczenie ograniczenia Tej sytuacji może dotyczyć jeden z następujących kodów
dotyczącego wielkości pliku. Dane zostaną zapisane w tej przyczyn:
samej ścieżce przy użyciu następnej nazwy pliku. Jeśli
1 Albo ścieżka nazwa-ścieżki nie jest poprawną listą
operacja eksportu nie powiedzie się ponownie podczas zapisu
sqlu_media_list, albo podane wartości są
danych, przyjęte zostanie założenie, że wystąpił błąd
niepoprawne. Parametr media_type musi być równy
dotyczący ścieżki. Na przykład zapełniony może być system
SQLU_LOCAL_MEDIA i wszystkie nazwy ścieżek
plików określonej ścieżki lub z operacją eksportu nie są
muszą być zakończone prawidłowym separatorem
związane odpowiednie uprawnienia do zapisu lub tworzenia
ścieżki.
plików w określonej ścieżce. Następnie zostanie wykonana
próba użycia kolejnej dostępnej nazwy ścieżki określonej w 2 W ścieżkach podanych dla modułu eksportującego
opcjach XML TO/LOBS TO. EXPORT jest za mało miejsca, aby można było
przechować wszystkie dane typu typ.
Działanie użytkownika:
Nie jest wymagane żadne działanie. 3 Brak dostępu do ścieżki nazwa-ścieżki.
Działanie użytkownika:
SQL3233W Atrybut nazwa-atrybutu w specyfikatorze Określ, jaki kod przyczyny ma zastosowanie, usuń problem i
danych XML (XDS, XML Data Specifier) ponownie wprowadź komendę.
został zignorowany. Kod przyczyny:
kod-przyczyny
SQL3236N Schemat nazwa-schematu jest określony w
Objaśnienie: klauzuli IGNORE opcji XMLVALIDATE,
Kody przyczyny: ale jest on również obecny po lewej stronie
pary schematu w klauzuli MAP.
1 Atrybut nazwa-atrybutu nie został rozpoznany.
Objaśnienie:
2 Atrybut nazwa-atrybutu nie ma zastosowania dla
Jeśli dla opcji XMLVALIDATE w klauzuli IGNORE zostanie
określonej kolumny.
podany schemat, nie można go podać również po lewej stronie
Działanie użytkownika: pary schematów w klauzuli MAP.
Sprawdź nazwę tego atrybutu i popraw ją, o ile jest to
konieczne. Nie można wykonać komendy.
Działanie użytkownika:
SQL3234N Specyfikator danych XML (XDS, XML Wprowadź ponownie komendę, podając prawidłową wartość
Data Specifier) dla kolumny numer-kolumny opcji XMLVALIDATE.
jest niepoprawny. Nazwa atrybutu:
nazwa-atrybutu, numer znaku: numer-znaku,
kod przyczyny: kod-przyczyny. SQL3237N Podanego parametru Action String dla
operacji eksportu EXPORT nie można użyć
Objaśnienie: razem z opcją XMLSAVESCHEMA. Kod
Wystąpił błąd podczas próby przeanalizowania łańcucha XDS. przyczyny: kod-przyczyny
Element numer-znaku oznacza pozycję wystąpienia błędu.
Jeśli nie można ustalić pozycji błędu, ma on wartość 0. Objaśnienie:
Kody przyczyny:
Możliwe kody przyczyny: 1 Wartość parametru Action String jest za długa z
powodu przetwarzania specyficznego dla języka
1 Łańcuch XDS jest zniekształcony.
XML.
2 Brakuje obowiązkowego atrybutu.
2 W parametrze Action String występuje klauzula
3 Niepoprawna nazwa atrybutu. ″WITH″, która jest niezgodna z opcją
XMLSAVESCHEMA.
4 Niepoprawna wartość atrybutu.
Działanie użytkownika:
5 Wykryto zduplikowaną nazwę atrybutu.
Wprowadź ponownie komendę bez opcji
Działanie użytkownika: XMLSAVESCHEMA lub zmodyfikuj parametr Action String.
Wprowadź ponownie komendę, podając poprawny
specyfikator danych XML.
SQL3238N Format pliku WSF jest niezgodny z opcją
opcja.
SQL3235N Program narzędziowy nie może używać
Objaśnienie:
parametru typ ścieżki nazwa-ścieżki w
Moduły LOAD, IMPORT i EXPORT nie obsługują formatu
podany sposób. Kod przyczyny:
pliku WSF w wypadku opcji opcja.
kod-przyczyny.
Działanie użytkownika:
Objaśnienie:
Użyj innego obsługiwanego formatu pliku.

380 Komunikaty, tom 2


SQL3239W • SQL3244W

stan_sql: 01H53
SQL3239W W przypadku niektórych dokumentów
XML informacje o schemacie nie są
umieszczane w łańcuchu XDS. SQL3242W Wiersz wiersz i kolumna kolumna w źródle
wejściowym zawiera niepoprawny łańcuch
Objaśnienie:
etykiety bezpieczeństwa dla tabeli
Do sprawdzenia poprawności wstawionych dokumentów XML
docelowej.
użyto jednego lub wielu schematów XML, lecz schematy te
nie istnieją już w bazie danych. Dlatego informacje o Objaśnienie:
schematach tych dokumentów XML nie zostaną zapisane w Został określony modyfikator typu pliku SECLABELCHAR,
wyeksportowanym pliku danych. ale wartość kolumny DB2SECURITYLABEL ma
nieprawidłowy format dla łańcucha etykiety bezpieczeństwa.
Wiersz nie został załadowany.
SQL3240N ID autoryzowanego użytkownika
id-autoryzowanego-użytkownika nie ma Działanie użytkownika:
referencji LBAC niezbędnych do Sprawdź, czy wartości w źródle danych wejściowych dla
uruchomienia programu narzędziowego dla kolumny DB2SECURITYLABEL mają poprawny format. W
tabeli chronionej za pomocą strategii razie potrzeby skoryguj źródło danych wejściowych i
bezpieczeństwa nazwa-strategii. ponownie wprowadź komendę.
Objaśnienie:
Aby uruchomić program narzędziowy dla tabeli chronionej, ID kod_sqle: +3242
autoryzowanego użytkownika id-autoryzowanego-użytkownika
musi mieć uprawnienia LBAC umożliwiające wstawianie stan_sql: 01H53
nowych wierszy do tabeli.
Działanie użytkownika: SQL3243W Łańcuch etykiety bezpieczeństwa w wierszu
Użytkownik z uprawnieniami SECADM powinien nadać ID wiersz i kolumnie kolumna źródła
autoryzowanego użytkownika id-autoryzowanego-użytkownika wejściowego zawiera element element
uprawnienia LBAC umożliwiające dodawanie nowych wierszy będący niepoprawnym elementem dla
do tabeli. Jeśli w tabeli są chronione wiersze, ale nie ma komponentu etykiety bezpieczeństwa
chronionych kolumn, wystarczy nadanie dowolnej etykiety komponent.
bezpieczeństwa będącej częścią strategii bezpieczeństwa Objaśnienie:
nazwa-strategii. Jeśli w tabeli są chronione kolumny, Został określony modyfikator typu pliku SECLABELCHAR,
uprawnienia LBAC muszą umożliwiać zapis we wszystkich ale łańcuch etykiety bezpieczeństwa zawiera element
chronionych kolumnach. nieprawidłowy dla podanego komponentu. Wiersz nie został
załadowany.
sqlcode: -3240
Działanie użytkownika:
sqlstate: 5U014 Dokładnie sprawdź łańcuch etykiety bezpieczeństwa:
v Upewnij się, że kolejność elementów na liście jest taka
sama, jak kolejność odpowiednich komponentów w strategii
SQL3241W Wiersz wiersz i kolumna kolumna w źródle bezpieczeństwa chroniącej tabelę docelową.
wejściowym zawiera niepoprawną etykietę
bezpieczeństwa dla tabeli docelowej. v Sprawdź pisownię elementu.

Objaśnienie: W razie potrzeby skoryguj źródło danych wejściowych i


Wartość w kolumnie danych typu DB2SECURITYLABEL w ponownie wprowadź komendę.
źródle danych wejściowych nie jest poprawną etykietą
bezpieczeństwa dla strategii bezpieczeństwa chroniącej tabelę stan_sql: +3243
docelową. Dowolna etykieta bezpieczeństwa wstawiona do
kolumny danych typu DB2SECURITYLABEL musi być stan_sql: 01H53
częścią strategii bezpieczeństwa chroniącej daną tabelę.
Wiersz nie został załadowany.
SQL3244W Wiersz wiersz i kolumna kolumna w źródle
Działanie użytkownika: wejściowym zawiera etykietę
Sprawdź kolumnę źródła danych wejściowych i upewnij się, bezpieczeństwa o nazwie
że wartość jest poprawna dla strategii chroniącej tabelę nazwa-etykiety-bezpieczeństwa, której nie
docelową. Jeśli wartości w źródle danych wejściowych mają można znaleźć dla strategii bezpieczeństwa
postać łańcucha, należy określić etykietę bezpieczeństwa nazwa-strategii chroniącej tabelę docelową.
powiązanego modyfikatora typu pliku. W razie potrzeby
skoryguj źródło danych wejściowych i ponownie wprowadź Objaśnienie:
komendę. Został określony modyfikator typu pliku SECLABELNAME,
ale etykiety bezpieczeństwa o nazwie nazwa-etykiety-
sqlcode: +3241

Rozdział 2. Komunikaty SQL 381


SQL3245W • SQL3253N

bezpieczeństwa nie można znaleźć w strategii bezpieczeństwa 8 Jest to niepoprawne w przypadku określenia
nazwa-strategii. Wiersz nie został załadowany. modyfikatora typu pliku USEDEFAULTS.
Działanie użytkownika: Działanie użytkownika:
Sprawdź kolumnę źródła danych wejściowych i upewnij się, Działania odpowiadające kodom przyczyny:
że wartość jest poprawna dla strategii bezpieczeństwa
chroniącej tabelę docelową. W razie potrzeby skoryguj źródło Dla kodu przyczyny 1:
danych wejściowych i ponownie wprowadź komendę. v Usuń opcję COMPOUND=x z opcji modyfikatora typu
pliku albo użyj opcji INSERT.
sqlcode: +3244
Dla kodów przyczyny 2, 3, 5, 6 i 8:
stan_sql: 01H53 v Usuń opcję COMPOUND=x z opcji modyfikatora typu
pliku.
SQL3245W Wiersza wiersz i kolumny kolumna w źródle Dla kodu przyczyny 4:
wejściowym nie można wstawić do tabeli v Nadaj wartości x w opcji COMPOUND=x poprawną
docelowej, ponieważ użytkownik nie ma wartość.
niezbędnych referencji LBAC.
Dla kodu przyczyny 7:
Objaśnienie:
v Usuń opcję COMPOUND=x albo usuń opcję
Użytkownik nie może wstawić wiersza do tabeli chronionej,
XMLVALIDATE USING XDS.
jeśli nie ma odpowiedniej etykiety bezpieczeństwa i/lub
referencji wyłączenia z reguły. Wiersz nie został załadowany.
SQL3251N Podczas importu wystąpiło liczba-błędów
Działanie użytkownika:
błędów więcej.
Poproś administratora bezpieczeństwa bazy danych o nadanie
odpowiedniej etykiety bezpieczeństwa lub wyłączeń z reguły Objaśnienie:
wymaganych do tej operacji. W razie potrzeby ponownie Program narzędziowy napotkał więcej błędów niż może być
wprowadź komendę. retransmitowanych w obszarze komunikacyjnym sql
(maksymalna liczba to 7), kiedy używana jest opcja
sqlcode: +3245 COMPOUND. Komunikaty o tych błędach nie zostaną
zapisane do pliku komunikatów.
stan_sql: 01H53
Program narzędziowy kontynuuje przetwarzanie.
SQL3250N Opcja COMPOUND=wartość jest Działanie użytkownika:
niepoprawna. Kod przyczyny: Jeśli potrzebujesz komunikatów o błędach dla każdego wiersza
kod-przyczyny. wstawionego do tabeli podczas importu, nie używaj opcji
COMPOUND albo nadaj jej wartość mniejszą lub równą 7.
Objaśnienie:
Dla modułu importującego podano opcję COMPOUND=x,
która nie może być zastosowana z powodu określonego przez SQL3252N Opcja metody ładowania METHOD metoda
kod przyczyny kod-przyczyny: jest niezgodna z podanym formatem pliku.
1 Jest ona niepoprawna w przypadku użycia opcji Objaśnienie:
INSERT_UPDATE. Moduł ładujący został wywołany z opcją METHOD, która jest
niezgodna z określonym formatem pliku.
2 Jest ona niepoprawna w przypadku następujących
modyfikatorów typu pliku: IDENTITYIGNORE, Działanie użytkownika:
IDENTITYMISSING, GENERATEDIGNORE i Wyszukaj w dokumentacji informacje o ograniczeniach i
GENERATEDMISSING. niezgodnościach, a następnie ponownie wprowadź komendę
ładowania przy użyciu innej opcji METHOD lub formatu
3 Dostęp do bazy danych, do której odbywa się
pliku, aby nie naruszać tego ograniczenia.
import, jest możliwy tylko przez serwer lub
gatewaya w poprzedniej wersji.
SQL3253N Program narzędziowy rozpoczyna
4 Podana wartość nie należy do przedziału
ładowanie danych z instrukcji SQL
dopuszczalnych wartości, od 1 do 100 (w systemach
instrukcja w bazie danych baza-danych.
DOS i Windows wartością maksymalną jest 7).
Objaśnienie:
5 Importowana tabela jest tabelą hierarchii lub tabelą o
Jest to komunikat informujący o rozpoczęciu ładowania z
typie strukturalnym.
instrukcji SQL pobierającej dane z bazy danych wpisanej do
6 Importowana tabela zawiera kolumny generowane. katalogu.
7 Jest ona niepoprawna w przypadku stosowania opcji Działanie użytkownika:
XMLVALIDATE USING XDS. Nie jest wymagane żadne działanie.

382 Komunikaty, tom 2


SQL3254N • SQL3261N

Do modułu ładującego został zgłoszony błąd podczas


SQL3254N Program narzędziowy rozpoczyna
przetwarzania danych dla podanego typu pliku. Program
ładowanie danych z tabeli
narzędziowy zatrzymał przetwarzanie. Dzieje się tak z jednej z
schemat.nazwa-tabeli w bazie danych
następujących przyczyn:
baza-danych.
Objaśnienie: Kody przyczyny:
Jest to komunikat informujący o rozpoczęciu ładowania z 1. Informacje nagłówka pliku danych są niepoprawne lub nie
instrukcji SQL pobierającej zawartość tabeli z bazy danych występują.
wpisanej do katalogu.
2. Informacje nagłówka rekordu dla danego rekordu numer
Działanie użytkownika: rekordu są niepoprawne lub nie występują.
Nie jest wymagane żadne działanie. 3. Informacje nagłówka kolumny dla danego rekordu numer
rekordu są niepoprawne lub nie występują.
SQL3255N Do modułu ładującego został zgłoszony błąd 4. Dane kolumny dla danego numeru kolumny numer
podczas wykonywania instrukcji kolumny w rekordzie o numerze numer rekordu są
SOURCEUSEREXIT program zewnętrzny niepoprawne lub nie występują.
użytkownika. Kod przyczyny: przyczyna.
Działanie użytkownika:
Objaśnienie: 1-4. Sprawdź, czy dane mają poprawny format typu pliku.
Moduł ładujący napotkał błąd podczas wykonywania lub
próby wykonania programu zewnętrznego użytkownika.
Dzieje się tak z jednej z następujących przyczyn: SQL3260N Wystąpił nieoczekiwany błąd podczas
dostępu do katalogu LDAP. Kod błędu =
kod-błędu.
Kody przyczyny:
1. Nie można odnaleźć podanego pliku programu Objaśnienie:
zewnętrznego użytkownika. Wystąpił nieoczekiwany błąd podczas dostępu do katalogu
LDAP. Komenda nie może być wykonana.
2. Program zewnętrzny użytkownika został przedwcześnie
zakończony lub zwrócił niezerowy kod powrotu. Działanie użytkownika:
Zapisz numer komunikatu (SQLCODE) i kod błędu. Uzyskaj
Działanie użytkownika:
ślad DB2 za pomocą funkcji Independent Trace Facility.
1. Upewnij się, że program zewnętrzny użytkownika istnieje, Następnie skontaktuj się z serwisem IBM.
ma poprawne uprawnienia i znajduje się w podkatalogu
″bin″ w ścieżce ″sqllib″. Następnie ponownie wprowadź
komendę Load. SQL3261N Komenda REGISTER LDAP nie została
zakończona pomyślnie, ponieważ nie
2. Włącz debugowanie programu zewnętrznego użytkownika
podano wymaganego parametru
i upewnij się, że działa on zgodnie z założeniami.
wejściowego. Kod przyczyny =
Następnie ponownie wprowadź komendę Load.
kod-przyczyny.
Objaśnienie:
SQL3256N Do modułu ładującego został zgłoszony błąd
Komenda REGISTER LDAP nie została zakończona
podczas przetwarzania danych dla
pomyślnie, ponieważ nie podano wymaganego parametru
podanego typu pliku.
wejściowego, na co wskazują następujące kody przyczyny:
Objaśnienie:
1 Nie podano parametru Network ID.
Do modułu ładującego został zgłoszony błąd podczas
przetwarzania danych dla podanego typu pliku. Format danych 2 Nie podano parametru partnerskiej jednostki
jest niepoprawny. Program narzędziowy zatrzymał logicznej.
przetwarzanie.
3 Nie podano parametru Transaction Program (TP).
Działanie użytkownika:
Sprawdź, czy dane mają poprawny format typu pliku. 4 Nie podano parametru Mode.
5 Nie podano parametru Netbios NNAME.
SQL3257N Do modułu ładującego został zgłoszony błąd 6 Nie podano parametru TCP/IP hostname.
podczas przetwarzania danych dla
podanego typu pliku. Kod przyczyny: 7 Nie podano parametru nazwy usługi TCP/IP.
przyczyna. Jeśli ma to zastosowanie, numer 8 Nie podano parametru IPX Address.
rekordu to numer-rekordu, a numer kolumny
to numer-kolumny. 9 Nie podano nazwy komputera.

Objaśnienie: 10 Nie podano nazwy instancji.


Działanie użytkownika:

Rozdział 2. Komunikaty SQL 383


SQL3262N • SQL3271N

Wprowadź ponownie komendę z wymaganym parametrem Działanie użytkownika:


wejściowym. Sprawdź, czy użytkownik LDAP ma uprawnienia do
wykonania tej operacji.
SQL3262N Nazwa usługi TCP/IP nazwa nie jest
poprawna. SQL3268N Schemat LDAP jest niezgodny z bieżącym
wydaniem DB2.
Objaśnienie:
Podano niepoprawną nazwę usługi TCP/IP. Objaśnienie:
Schemat LDAP zdefiniowany w serwerze nie zawiera definicji
Działanie użytkownika:
klasy obiektów DB2 i/lub atrybutów używanych w bieżącym
Sprawdź, czy nazwa usługi TCP/IP została określona i
wydaniu DB2.
zarezerwowana w lokalnym pliku etc/services, a następnie
wprowadź ponownie komendę. Zamiast tego możesz podać Działanie użytkownika:
numer portu przypisanego do tej nazwy. W podręczniku Administration Guide znajdują się informacje
na temat rozszerzenia schematu LDAP o klasy obiektów DB2 i
atrybuty.
SQL3263N Typ protokołu nie jest obsługiwany.
Objaśnienie:
SQL3269N DB2 nie mógł uzyskać dostępu do
Podany typ protokołu nie jest obsługiwany przez komendę.
informacji w katalogu LDAP, ponieważ
Działanie użytkownika: serwer LDAP był niedostępny.
Wprowadź ponownie komendę z obsługiwanym typem
Objaśnienie:
protokołu.
DB2 nie mógł uzyskać dostępu do informacji w katalogu
LDAP, ponieważ serwer LDAP był niedostępny.
SQL3264N Serwer DB2 nie został zarejestrowany w
Działanie użytkownika:
LDAP.
Wykonaj następujące działania:
Objaśnienie: 1. Sprawdź, czy serwer LDAP jest aktywny.
Komenda nie została zakończona pomyślnie, ponieważ serwer
2. Sprawdź, czy protokół TCP/IP został poprawnie
DB2 nie został zarejestrowany w LDAP.
skonfigurowany w komputerze użytkownika.
Działanie użytkownika: 3. Sprawdź, za pomocą komendy ″db2set DB2LDAPHOST″,
Zarejestruj serwer DB2 w LDAP za pomocą komendy czy w zmiennej rejestru DB2LDAPHOST jest ustawiona
REGISTER LDAP. Wprowadź ponownie komendę. nazwa hosta TCP/IP i numer portu serwera LDAP. Jeśli
zmienna DB2LDAPHOST nie jest ustawiona, można ją
SQL3265N Podczas uwierzytelniania LDAP wystąpił ustawić za pomocą komendy ″db2set
nieoczekiwany błąd. DB2LDAPHOST=<nazwa-hosta>:<numer-portu>″, gdzie,
<nazwa-hosta> jest nazwą hosta TCP/IP serwera LDAP, a
Objaśnienie: <numer-portu> jest numerem portu TCP/IP tego serwera.
Nie można uwierzytelnić użytkownika LDAP z powodu Domyślnym numerem portu jest 389.
nieoczekiwanego błędu systemowego LDAP.
Działanie użytkownika: SQL3270N Nazwa wyróżniająca (DN) użytkownika
Uzyskaj ślad DB2 za pomocą funkcji Independent Trace LDAP nie jest poprawna.
Facility. Następnie skontaktuj się z serwisem IBM.
Objaśnienie:
Nazwa wyróżniająca (DN) użytkownika LDAP nie jest
SQL3266N Hasło użytkownika LDAP jest niepoprawne. poprawna.
Objaśnienie: Działanie użytkownika:
Podane hasło nie jest prawidłowym hasłem dla podanej Wprowadź ponownie komendę z poprawna nazwą DN
wyróżniającej nazwy użytkownika (DN). użytkownika LDAP.
Działanie użytkownika:
Wprowadź komendę ponownie z poprawnym hasłem. SQL3271N Nazwa wyróżniająca (DN) i/lub hasło
użytkownika LDAP nie zostały
zdefiniowane dla bieżącego użytkownika.
SQL3267N Z identyfikatorem ID-autoryzowanego-
użytkownika nie są związane uprawnienia Objaśnienie:
wystarczające do wykonania żądanej Nazwę wyróżnioną DN i hasło użytkownika LDAP trzeba
komendy. zdefiniować dla aktualnie wpisanego użytkownika na przykład
podczas konfigurowania CLI lub zmiennej rejestru DB2.
Objaśnienie:
Komenda nie została zakończona pomyślnie, ponieważ serwer Działanie użytkownika:
DB2 nie został zarejestrowany w LDAP.

384 Komunikaty, tom 2


SQL3272N • SQL3281N

W dokumentacji LDAP IBM eNetwork opisano sposób Skontaktuj się z administratorem katalogu LDAP w celu
skonfigurowania nazwy DN i hasła użytkownika LDAP dla uzyskania kontekstu nazewnictwa LDAP dla używanego
aktualnie zalogowanego użytkownika. serwera LDAP. Jeśli używasz IBM eNetwork Directory V2.1,
jest to przyrostek LDAP. Następnie ustaw kontekst
nazewnictwa dla aktualnego komputera za pomocą komendy
SQL3272N Nie znaleziono węzła nazwa-węzła w
″db2set DB2LDAP_BASEDN=<kontekst-nazewnictwa>″.
katalogu LDAP.
Objaśnienie:
SQL3277N Baza danych alias-bazy-danych już istnieje w
Komenda nie została zakończona pomyślnie, ponieważ w
katalogu LDAP.
katalogu LDAP nie znaleziono węzła nazwa-węzła.
Objaśnienie:
Działanie użytkownika:
Komenda nie została zakończona pomyślnie, ponieważ inna
Sprawdź, czy nazwa węzła jest poprawna i wprowadź
baza danych o tej samej nazwie istnieje już w katalogu LDAP.
ponownie komendę.
Działanie użytkownika:
Wprowadź ponownie komendę z inną nazwą aliasu.
SQL3273N Nie znaleziono bazy danych
alias-bazy-danych w katalogu LDAP.
SQL3278N Węzeł węzeł już istnieje w katalogu LDAP.
Objaśnienie:
Komenda nie została zakończona pomyślnie, ponieważ w Objaśnienie:
katalogu LDAP nie znaleziono bazy danych Komenda nie została zakończona pomyślnie, ponieważ inny
alias-bazy-danych. węzeł o tej samej nazwie istnieje już w katalogu LDAP.
Działanie użytkownika: Działanie użytkownika:
Sprawdź, czy nazwa bazy danych jest poprawna i wprowadź Wprowadź ponownie komendę z inną nazwą aliasu.
ponownie komendę.
SQL3279N Komenda nie została zakończona pomyślnie,
SQL3274W Bazę danych utworzono pomyślnie. Nie ponieważ LDAP jest wyłączony.
została ona jednak umieszczona w katalogu
Objaśnienie:
LDAP. SQLCODE = kod_sql.
Komenda nie została zakończona pomyślnie, ponieważ
Objaśnienie: obsługa LDAP jest wyłączona w bieżącym komputerze.
Bazę danych utworzono pomyślnie. Nie mogła zostać jednak
Działanie użytkownika:
umieszczona w katalogu LDAP, ponieważ wystąpił błąd
Jeśli obsługa LDAP jest zainstalowana, włącz ją za pomocą
podczas tej operacji.
komendy: ″db2set DB2_ENABLE_LDAP=YES″.
Działanie użytkownika:
Popraw błąd wskazany w SQLCODE. Następnie wpisz bazę Jeśli obsługa LDAP nie jest zainstalowana, trzeba uruchomić
danych do katalogu LDAP za pomocą komendy CATALOG program instalacyjny i wybrać instalację obsługi LDAP.
LDAP DATABASE.
SQL3280N Nie powiodła się próba połączenia z
SQL3275W Bazę danych usunięto pomyślnie. Nie została serwerem DRDA.
ona jednak usunięta z katalogu LDAP.
SQLCODE = kod_sql. Objaśnienie:
Próba połączenia z serwerem DRDA nie powiodła się
Objaśnienie: ponieważ dla klienta IBM Data Server Client nie został
Bazę danych usunięto pomyślnie. Nie mogła zostać jednak zainstalowany produkt DB2 Connect oraz podczas wpisywania
usunięta z katalogu LDAP, ponieważ wystąpił błąd podczas tej tej bazy danych protokołu LDAP do katalogu nie został
operacji. określony węzeł-gateway.
Działanie użytkownika: Działanie użytkownika:
Popraw błąd wskazany w SQLCODE. Następnie usuń bazę Zainstaluj dla klienta IBM Data Server Client produkt DB2
danych z katalogu LDAP za pomocą komendy UNCATALOG Connect albo wpisz ponownie tę bazę protokołu LDAP do
LDAP DATABASE. katalogu, podając poprawny węzeł-gateway.

SQL3276N Nie można pobrać kontekstu nazewnictwa SQL3281N Parametr OSTYPE jest niepoprawny.
LDAP.
Objaśnienie:
Objaśnienie: Serwer bazy danych nie został zarejestrowany w LDAP,
Nie można uzyskać kontekstu nazewnictwa LDAP dla serwera ponieważ parametr OSTYPE nie został poprawnie określony.
LDAP. Parametr OSTYPE opisuje typ systemu operacyjnego serwera.
Działanie użytkownika: Działanie użytkownika:

Rozdział 2. Komunikaty SQL 385


SQL3282N • SQL3302N

Wprowadź ponownie komendę, określającą typ systemu W przypadku platform bez obsługi protokołu LDAP należy
operacyjnego (OSTYPE), który jest obsługiwany przez wydać następującą komendę w celu wyłączenia jego obsługi :
produkt DB2. db2set DB2_ENABLE_LDAP=NO

SQL3282N Dostarczone uwierzytelnienia są SQL3300N Niepoprawna kolejność rekordów w pliku


niepoprawne. wejściowym.
Objaśnienie: Objaśnienie:
Niepoprawnie określona została nazwa wyróżniająca (DN) Wiersze z pliku w formacie arkusza kalkulacyjnego (WSF)
użytkownika, hasło lub obie te dane. powinny być uporządkowane rosnąco (wiersz 1, kolumna 1 ...
wiersz 1, kolumna 256; wiersz 2, kolumna 1 ... wiersz 2,
Błąd ten może wystąpić, gdy użytkownik pracuje w kolumna 256, itd.). Plik WSF jest uszkodzony lub został
środowisku domen systemu Windows 2000 z obsługą nieprawidłowo wygenerowany, być może za pomocą
dziennika LDAP i zaloguje się na lokalne konto, które na ma programu firmy Lotus w wersji nie obsługiwanej przez
wystarczających uprawnień. menedżera baz danych.
Działanie użytkownika:
Moduł importujący IMPORT kończy przetwarzanie.
Wydaj ponownie komendę, używając poprawnych wartości
dla nazwy wyróżniającej (DN) użytkownika i dla hasła. Działanie użytkownika:
Popraw plik WSF przy użyciu programu firmy Lotus w
Jeśli pracujesz w środowisku domen systemu Windows 2000, obsługiwanej wersji.
sprawdź, czy logujesz się na koncie z wystarczającymi
uprawnieniami.
SQL3301N W środku pliku wejściowego znaleziono
rekord początkowy (BOF).
SQL3283W Konfiguracja menedżera bazy danych
Objaśnienie:
została zaktualizowana pomyślnie. Jednak
Rekord początkowy (BOF) musi być pierwszym rekordem
informacje o protokole nie zostały
pliku w formacie arkusza kalkulacyjnego (WSF). Nie może on
zaktualizowane w katalogu LDAP.
wystąpić w żadnym innym miejscu w pliku. Plik WSF jest
SQLCODE = wartość-kodu-sql.
uszkodzony lub został nieprawidłowo wygenerowany, być
Objaśnienie: może za pomocą programu firmy Lotus w wersji nie
Konfiguracja menedżera bazy danych została zaktualizowana obsługiwanej przez menedżera baz danych.
pomyślnie. Jednak w katalogu LDAP nie można było
zaktualizować informacji o protokole, ponieważ podczas Moduł importujący IMPORT kończy przetwarzanie.
operacji LDAP wystąpił błąd
Działanie użytkownika:
Działanie użytkownika: Popraw plik WSF przy użyciu programu firmy Lotus w
Popraw błąd wskazany w SQLCODE. Następnie zaktualizuj w obsługiwanej wersji.
katalogu LDAP informacje o protokole, używając do tego
komendy UPDATE LDAP NODE.
SQL3302N Zanim zostały zaimportowane jakiekolwiek
dane, znaleziono zapis oznaczający koniec
SQL3284N Parametr typu węzła (nodetype) jest pliku (EOF).
niepoprawny.
Objaśnienie:
Objaśnienie: Plik wejściowy jest poprawny, ale nie zawierał żadnych
Serwer bazy danych nie został zarejestrowany w LDAP, zdatnych do użycia danych, które mogłyby zostać
ponieważ parametr nodetype nie został poprawnie określony. zaimportowane. Pierwszy wiersz arkusza kalkulacyjnego jest
zarezerwowany dla tytułu. Drugi wiersz arkusza jest używany
Działanie użytkownika:
dla etykiet kolumn. Dane zaczynają się w trzecim wierszu.
Rejestrując serwer bazy danych w protokole LDAP, użyj
poprawnego typu węzła. Poprawnymi wartościami parametru
Moduł importujący IMPORT kończy przetwarzanie.
nodetype są: SERVER, MPP i DCS.
Działanie użytkownika:
Wpisz prawidłowe dane w wierszach pliku w formacie arkusza
SQL3285N Komenda nie została zakończona pomyślnie
kalkulacyjnego (WSF), które menedżer baz danych
ze względu na brak obsługi protokołu
interpretuje jako wiersze danych.
LDAP.
Objaśnienie:
Komenda nie została zakończona pomyślnie, ponieważ na tej
platformie protokół LDAP nie jest obsługiwany.
Działanie użytkownika:

386 Komunikaty, tom 2


SQL3303N • SQL3309N

SQL3303N Jeśli w parametrze Action String są SQL3307N Liczba kolumn w parametrze METHOD
używane parametry CREATE lub jest niezgodna z liczbą pozycji w parametrze
REPLACE_CREATE, plik musi być typu Action String albo kolumna podana w
IXF. parametrze METHOD nie istnieje.
Objaśnienie: Objaśnienie:
Typy plików inne niż IXF nie są dozwolone ze parametrów W komendzie IMPORT użyto opcji CREATE lub
CREATE lub REPLACE_CREATE w parametrze Action REPLACE_CREATE. Albo:
String (np. ″REPLACE into...″) . v Jeśli w parametrze METHOD został podany wskaźnik
metody NAMES lub POSITIONS, liczba kolumn podana
Moduł importujący IMPORT kończy przetwarzanie. Nie wprost w parametrze METHOD jest różna od liczby kolumn
zaimportowano żadnych danych. podanej wprost w parametrze Action String (np.
Działanie użytkownika: ″REPLACE into...″) .
Zmień typ pliku na IXF albo użyj opcji INSERT, v Jeśli w parametrze METHOD został podany wskaźnik
INSERT_UPDATE lub REPLACE. metody DEFAULT, liczba kolumn w pliku PC/IXF jest
mniejsza niż liczba kolumn w parametrze Action String.
SQL3304N Podana tabela nie istnieje. v Jedna z kolumn podanych w parametrze METHOD nie
istnieje w pliku PC/IXF.
Objaśnienie:
Podane w komendzie parametry wymagają, aby tabela istniała. Moduł importujący IMPORT kończy przetwarzanie. Nie
utworzono tabeli.
Program narzędziowy zatrzymuje przetwarzanie. Nie
załadowano żadnych danych. Działanie użytkownika:
Popraw liczbę kolumn podanych w parametrach METHOD
Działanie użytkownika: oraz Action String lub popraw liczbę kolumn podaną w
Wykonaj jedną z następujących czynności: parametrze METHOD.
v wprowadź ponownie komendę podając nazwę istniejącej
tabeli, SQL3308N Wartości strony kodowej kolumny PC/IXF
v jeśli plik wejściowy jest plikiem w formacie PC/IXF, nazwa są niezgodne z wartościami strony
wprowadź ponownie komendę z opcją CREATE. kodowej aplikacji. Nie podano opcji
FORCEIN.
SQL3305N Tabela nie może zostać utworzona, Objaśnienie:
ponieważ już istnieje. Wartości strony kodowej dla kolumny i dla aplikacji są
niezgodne. Jeśli parametr FORCEIN nie zostanie podany, dane
Objaśnienie:
nie mogą zostać załadowane, jeśli konwersja ze strony
Parametr CREATE oznacza, że powinna zostać utworzona
kodowej pliku IXF do strony kodowej aplikacji nie jest
nowa tabela, ale tabela o podanej nazwie już istnieje.
obsługiwana.
Moduł importujący IMPORT kończy przetwarzanie. Nie
Program narzędziowy zatrzymuje przetwarzanie. Nie
zaimportowano żadnych danych.
załadowano żadnych danych.
Działanie użytkownika:
Działanie użytkownika:
Usuń tabelę albo użyj innego parametru niż CREATE i
Aby załadować dane w tych stron kodowych, wprowadź
wprowadź ponownie komendę.
ponownie komendę z opcją FORCEIN.

SQL3306N Podczas wstawiania wiersza do tabeli


SQL3309N Kolumna nazwa w pliku PC/IXF została
wystąpił błąd SQL kod_sql.
zdefiniowana jako kolumna graficzna. Nie
Objaśnienie: podano opcji FORCEIN.
Podczas wstawiania wiersza do tabeli wystąpił błąd SQL.
Objaśnienie:
Podczas ładowania pliku PC/IXF napotkano graficzną
Jeśli błąd SQL nie jest poważny, wiersz zostanie odrzucony, a
kolumnę danych. Ponieważ nie użyto parametru FORCEIN,
program narzędziowy będzie kontynuował przetwarzanie; w
dane nie mogą zostać załadowane.
przeciwnym razie przetwarzanie zostanie przerwane.
Działanie użytkownika: Program narzędziowy zatrzymuje przetwarzanie. Nie
W celu uzyskania szczegółowych informacji o faktycznym załadowano żadnych danych.
błędzie sprawdź pozostałe komunikaty w pliku komunikatów i,
Działanie użytkownika:
jeśli to konieczne, wprowadź ponownie komendę.
Jeśli chcesz załadować dane z danymi graficznymi, wprowadź
ponownie komendę z parametrem FORCEIN.

Rozdział 2. Komunikaty SQL 387


SQL3310N • SQL3316N

SQL3310N Kolumna nazwa w pliku PC/IXF jest SQL3313N Dysk jest pełny. Przetwarzanie zostało
niepoprawna. zakończone.
Objaśnienie: Objaśnienie:
W komendzie IMPORT użyto opcji CREATE lub Dysk lub dyskietka jest pełna. Podczas eksportu do pliku
REPLACE_CREATE. Podczas importu pliku PC/IXF PC/IXF plik danych PC/IXF jest na twardym dysku albo plik
znaleziono kolumnę z nieprawidłowym rekordem C. danych PC/IXF i baza danych są na tym samym dysku, albo
plik danych PC/IXF i plik komunikatów są na tym samym
Moduł importujący IMPORT kończy przetwarzanie. Tabela dysku.
nie została utworzona.
Moduł eksportujący EXPORT zatrzymał przetwarzanie. Dane
Działanie użytkownika:
nie zostały wyeksportowane w całości.
Sprawdź definicję kolumn w pliku wejściowym.
Działanie użytkownika:
Zwiększ ilość wolnego miejsca na dysku lub dyskietce lub
SQL3311N Ten plik PC/IXF nie jest obsługiwany w
przenieś plik danych na inny dysk niż baza danych i plik
trybie CREATE operacji importu. Kod
komunikatów i wprowadź ponownie komendę.
przyczyny = kod-przyczyny.
Objaśnienie:
SQL3314N Pola daty i godziny w rekordzie A nie
Kody przyczyny:
odpowiadają polom daty i godziny w
1 Informacje indeksu nie zostały zapisane, ponieważ w rekordzie H.
nazwach kolumn indeksu występują wartości
Objaśnienie:
szesnastkowe 0x2B lub 0x2D.
Podczas ładowania pliku PC/IXF został znaleziony rekord A
2 Kolumny XML nie są obsługiwane. zawierający informację identyfikacyjną wykonania (w polach
daty i godziny) inną niż rekord nagłówka (H). Nie dotyczy to
3 Klucz MDC nie został zachowany. rekordu A na początku pliku kontynuacji.
4 Klucz partycjonowania tabeli nie został zapisany.
Prawdopodobnie plik wejściowy został uszkodzony.
5 Nazwa indeksu została obcięta podczas konwersji
strony kodowej.
Program narzędziowy zatrzymuje przetwarzanie.
6 Tabele chronione nie są obsługiwane.
Działanie użytkownika:
7 Podczas operacji eksportu użyto łańcucha działania Ponownie utwórz lub napraw uszkodzony plik, aby odzyskać
innego niż ’SELECT * FROM tyle danych, ile się da. Wprowadź ponownie komendę.
<NAZWA-TABELI>’.
8 Podczas operacji eksportu użyto metody N. SQL3315N Nieprawidłowe pola woluminu w rekordzie
A podtyp C.
9 Nazwa kolumny była zbyt długa dla formatu
PC/IXF. Został on obcięty w celu dopasowania. Objaśnienie:
Podczas ładowania pliku PC/IXF utworzonego przez Database
10 Nazwa UDT była zbyt długa dla formatu PC/IXF. Services, znaleziono rekord A zawierający (w polach
Został on obcięty w celu dopasowania. woluminu) nieprawidłową informację o woluminie.
11 Informacje tabeli o typie strukturalnym zostały
obcięte ze względu na konwersję strony kodowej. Prawdopodobnie plik wejściowy został uszkodzony.
12 Schemat powiązany z typem UDT był zbyt długi dla
Program narzędziowy zatrzymuje przetwarzanie.
formatu PC/IXF. Został on obcięty w celu
dopasowania. Działanie użytkownika:
Ponownie utwórz lub napraw uszkodzony plik, aby odzyskać
13 Kolumny z dziesiętnymi wartościami
tyle danych, ile się da. Wprowadź ponownie komendę.
zmiennopozycyjnymi nie są obsługiwane.
Działanie użytkownika:
SQL3316N Podczas zamykania części pliku
Podczas operacji eksportu dane nie uległy zmianie, lecz nie
wejściowego wystąpił błąd we/wy.
można użyć pliku w operacji CREATE wykonywanej podczas
importu w celu odtworzenia tabeli, ponieważ brakuje Objaśnienie:
niektórych informacji. Dla kodów przyczyny 1, 3, 4, 5, 7, 8, 9 i Podczas ładowania wieloczęściowego pliku PC/IXF, w
11 użytkownik może użyć modyfikatora typu pliku momencie zamykania jednego z plików składających się na
FORCECREATE w celu wymuszenia operacji CREATE dla wejściowy plik PC/IXF, wystąpił błąd we/wy. Nie dotyczy to
tego pliku. Dla kodów przyczyny 2, 6, 10, 12 i 13 użytkownik ostatniego z plików składających się na plik wejściowy
może użyć narzędzia db2look do wyodrębnienia informacji PC/IXF.
tabeli i wykonania operacji importu INSERT lub REPLACE.

388 Komunikaty, tom 2


SQL3317N • SQL3324N

Program narzędziowy zatrzymuje przetwarzanie. Działanie użytkownika:


Wprowadź ponownie komendę, podając poprawny parametr
Działanie użytkownika:
filetmod.
Wprowadź ponownie komendę.

SQL3321C Dane nie zostały zaimportowane do bazy


SQL3317N Łańcuch wskazywany przez parametr
danych, ponieważ dziennik był pełny lub
filetmod zawiera sprzeczną informację.
obszar blokady był zajęty. Odtwarzanie nie
Objaśnienie: powiodło się. Zwrócony został kod
Łańcuch filetmod definiuje generację i rodzinę produktu dla SQLCODE kod_sql.
wyjściowego pliku w formacie WSF. W łańcuchu określono
Objaśnienie:
więcej niż jedną generację lub rodzinę produktu.
Moduł importujący IMPORT nie mógł wstawić wiersza
danych do bazy danych, ponieważ dziennik transakcji bazy
Program narzędziowy zatrzymuje przetwarzanie. Plik danych jest pełny lub obszar blokady dostępny dla aplikacji
wyjściowy nie został utworzony. jest pełny. Cała praca została zatwierdzona, ale program
Działanie użytkownika: narzędziowy nie mógł wstawić wiersza, ponieważ dziennik
Zmień łańcuch filetmod, aby określić tylko jedną generację i transakcji bazy danych lub obszar blokady jest wciąż pełny.
rodzinę produktu. Wprowadź ponownie komendę.
Program narzędziowy zatrzymuje przetwarzanie. Wszystkie
poprzednie zmiany zostały zatwierdzone, ale bieżący wiersz
SQL3318N Powtarzające się parametry w parametrze nie został zaimportowany.
filetmod.
Działanie użytkownika:
Objaśnienie: Sprawdź ilość wolnego miejsca w systemie plików, który
Parametr COLDEL, CHARDEL lub DECPT występuje więcej zawiera pliki bazy danych oraz wielkość obszaru blokady
niż raz w parametrze filetmod. Warunek ten może zdarzyć się dostępnego dla aplikacji. Rozważ możliwość zwiększenia w
podczas używania plików ASCII z ogranicznikami (DEL). pliku konfiguracyjnym bazy danych maksymalnej wielkości
dziennika, maksymalnej wielkości pamięci dla listy blokad lub
Program narzędziowy zatrzymuje przetwarzanie. Nie procentu wielkości listy blokad dostępnego dla pojedynczej
załadowano ani nie wyeksportowano żadnych danych. aplikacji.
Działanie użytkownika:
Wprowadź ponownie komendę, podając poprawny parametr SQL3322N Wystąpił błąd semafora systemu
filetmod. operacyjnego.
Objaśnienie:
SQL3319N Podczas tworzenia tabeli wystąpił błąd SQL Przed/po semaforze wystąpił błąd.
kod_sql.
Objaśnienie: Program narzędziowy zatrzymuje przetwarzanie. Dla modułu
Podczas tworzenia tabeli wystąpił błąd SQL. eksportującego EXPORT dane na nośniku mogą być
niekompletne. Dla modułu importującego IMPORT dane
Moduł importujący IMPORT kończy przetwarzanie. Tabela jeszcze nie zatwierdzone zostały wycofane.
nie została utworzona. Nie zaimportowano żadnych danych. Działanie użytkownika:
Działanie użytkownika: Zatrzymaj i ponownie uruchom DB2 a następnie wprowadź
Aby zdobyć więcej informacji, sprawdź kod SQLCODE ponownie komendę.
(numer komunikatu) w komunikacie. Wprowadź zmiany i
ponownie wprowadź komendę. SQL3324N Kolumna nazwa jest typu typ, który nie
został rozpoznany.
SQL3320N W parametrze filetmod brakuje Objaśnienie:
ogranicznika lub separatora dziesiętnego po Kolumna danych zwrócona przez instrukcję SQL nie jest
parametrze. obsługiwana.
Objaśnienie:
Parametr COLDEL, CHARDEL lub DECPT umieszczone jest Użytkownicy systemu stowarzyszonego: Typ wymaganych
na samym końcu parametru filetmod. Po parametrze nie ma danych nie jest obsługiwany przez serwer stowarzyszony albo
ogranicznika lub separatora dziesiętnego. Warunek ten może źródło danych, do którego należy uzyskać dostęp.
zdarzyć się podczas używania plików ASCII z ogranicznikami Działanie użytkownika:
(DEL). Napraw błąd i wprowadź ponownie komendę.

Program narzędziowy zatrzymuje przetwarzanie. Nie Użytkownicy systemu stowarzyszonego: Należy określić
załadowano ani nie wyeksportowano żadnych danych. obsługiwany typ danych i ponownie wprowadzić program.

Rozdział 2. Komunikaty SQL 389


SQL3325W • SQL3332C

komunikatów. Zakończ wszystkie aplikacje korzystające z


SQL3325W Wszystkie kolumny w wierszu
bazy danych. Zrestartuj system. Uruchom ponownie bazę
numer-wiersza mają wartości puste (NULL);
danych. Wprowadź ponownie komendę.
wiersz nie zostanie włączony do pliku
danych WSF.
Jeśli zasoby pamięci są wystarczające, a problem nadal
Objaśnienie: występuje, wywołaj narzędzie Independent Trace Facility z
Kiedy wynikiem eksportowanej do pliku WSF instrukcji wiersza komend systemu operacyjnego.
SELECT jest wiersz zawierający tylko wartości NULL, to nie
zostanie on dołączony do pliku WSF. Całkowita liczba wierszy
podana w komunikacie SQL3105N jest liczbą wierszy SQL3330W W wierszu numer-wiersza pole znakowe ma
wynikającą z instrukcji SELECT, a nie liczba wierszy w pliku nieparzystą liczbę znaków ale jego kolumna
WSF. docelowa jest kolumną graficzną. Wiersz nie
został załadowany.
Komenda kontynuuje przetwarzanie. Objaśnienie:
Tylko pola znakowe o parzystej liczbie znaków mogą zostać
Działanie użytkownika:
załadowane do kolumn graficznych.
Nie jest wymagane żadne działanie. To jest komunikat
informacyjny.
Wiersz nie został załadowany.

SQL3326N Lista kolumn występująca po nazwie tabeli Działanie użytkownika:


w parametrze Action String jest Załaduj dane do nowej tabeli używając w komendzie IMPORT
niepoprawna. opcji CREATE albo nie ładuj tej kolumny do tej tabeli.

Objaśnienie:
Gdy jest wywoływana komenda IMPORT lub LOAD z SQL3331C Ustawienie uprawnień do pliku (katalogu)
parametrem Action String (np. ″REPLACE into ...″) nie pozwala na żądany dostęp.
zawierającym po nazwie tabeli listę kolumn, wtedy pojawi się Objaśnienie:
ten komunikat, jeśli wartość parametru będzie niepoprawna. Ten komunikat może towarzyszyć innemu komunikatowi o
Na przykład następujące wartości parametru Action String błędzie. Wskazuje on na próbę dostępu do pliku lub katalogu
spowodują błąd: w sposób sprzeczny z atrybutami pliku. Źródłem problemu
insert into tablea() może być jedno z następujących:
brak kolumn wewnątrz nawiasów v otwarto do zapisu plik na urządzeniu tylko do odczytu,
insert into tablea(two words) v otwarto do zapisu plik tylko do odczytu,
niepoprawna nazwa kolumny v otwarto katalog zamiast pliku,
insert into tablea(grant.col1) v wystąpiło naruszenie blokady lub wspólnego dostępu.
nazwa kolumny nie powinna być pełna
Nie można wykonać komendy.
insert into tablea(x1234567890123456789)
za długa nazwa kolumny Działanie użytkownika:
Ponownie uruchom program narzędziowy, kiedy plik nie
insert into tablea(,col1,col2) będzie przez nikogo używany, albo skieruj dane wyjściowe
brak nazwy kolumny programu narzędziowego do ścieżki i pliku, które pozwalają
na zapis.
Komenda nie może być kontynuowana.
Działanie użytkownika: SQL3332C Osiągnięto maksymalną liczbę otwartych
Zmień parametr Action String, tak aby zawierał prawidłową plików.
listę kolumn i ponownie wywołaj program użytkowy.
Objaśnienie:
Ten komunikat może towarzyszyć innemu komunikatowi o
SQL3327N Wystąpił błąd systemowy (kod przyczyny 1 błędzie. Oznacza on, że otwarto maksymalną liczbę plików.
= kod-przyczyny-1 oraz kod przyczyny 2 =
kod-przyczyny-2). Nie można wykonać komendy.
Objaśnienie: Działanie użytkownika:
Podczas przetwarzania wystąpił błąd systemowy. Zakończ inne aplikacje, aby zredukować liczbę otwartych
plików i ponownie uruchom program narzędziowy.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Jeśli jest to możliwe, należy zapisać wszystkie informacje
dotyczące błędu z obszaru komunikacyjnego SQL. Zapisz plik

390 Komunikaty, tom 2


SQL3333C • SQL3341N

SQL3333C Plik lub katalog nie istnieje. SQL3338N Podczas odczytu tymczasowego pliku
komunikatów z serwera wystąpił błąd
Objaśnienie:
we/wy.
Ten komunikat może towarzyszyć innemu komunikatowi o
błędzie. Oznacza on, że plik lub katalog, który ma zostać Objaśnienie:
użyty, nie istnieje lub nie można go znaleźć. Podczas próby odczytu tymczasowego pliku komunikatów z
serwera wystąpił błąd systemowy we/wy.
Nie można wykonać komendy.
Operacja IMPORT dobiegła końca, jednak plik komunikatów
Działanie użytkownika:
w systemie klienta bazy danych może być pusty lub
Wprowadź ponownie komendę, podając prawidłową nazwę
niekompletny.
pliku wraz z prawidłową ścieżką.
Działanie użytkownika:
Skieruj zapytanie do zdalnej bazy danych, aby sprawdzić, czy
SQL3334C Brak dostępnej pamięci.
operacja zakończyła się pomyślnie.
Objaśnienie:
Ten komunikat może towarzyszyć innemu komunikatowi o
SQL3340N Nie można przeprowadzić operacji
błędzie. Oznacza on, że nie ma wystarczającej ilości pamięci
ładowania z prawem do współbieżnego
do otwarcia pliku.
odczytu danej tabeli. Kod przyczyny =
kod-przyczyny.
Nie można wykonać komendy.
Objaśnienie:
Działanie użytkownika: Opcja ALLOW READ ACCESS komendy LOAD nie jest
Należy zatrzymać aplikację. Możliwe są następujące obsługiwana w następujących przypadkach, zgodnie z kodem
rozwiązania: przyczyny kod-przyczyny:
v Sprawdź, czy system ma wystarczającą ilość pamięci 1. gdy używana jest instrukcja LOAD REPLACE,
rzeczywistej i wirtualnej.
2. gdy używana jest instrukcja INDEXING MODE
v Usuń procesy uruchomione w tle. DEFERRED,
3. gdy tabela docelowa jest w stanie ustawiania integralności
SQL3335C System plików jest pełny. w toku i nie jest w stanie dostępu tylko w trybie odczytu,
Objaśnienie: 4. gdy indeksy są oznaczone jako niepoprawne,
Ten komunikat może towarzyszyć innemu komunikatowi o 5. gdy w komendzie ładowania, w której nie używa się opcji
błędzie. Oznacza on, że na urządzeniu nie ma wolnego miejsca ALLOW READ ACCESS, występują instrukcje LOAD
do zapisu. TERMINATE lub LOAD RESTART, albo gdy brak jest
plików tymczasowych z pierwotnej operacji ładowania.
Nie można wykonać komendy.
Działanie użytkownika:
Działanie użytkownika: Wprowadź komendę ponownie, stosując opcję ALLOW NO
Usuń niepotrzebne pliki, aby zwolnić miejsce na urządzeniu ACCESS.
albo skieruj dane wyjściowe do urządzenia, na którym jest
wolne miejsce.
SQL3341N Z opcją USE podano niepoprawną nazwę
obszaru tabel. Kod przyczyny =
SQL3337N Podczas zapisu danych na serwerze wystąpił kod-przyczyny.
błąd we/wy.
Objaśnienie:
Objaśnienie: Do odbudowywania indeksów w obszarze tabel innym niż
Podczas próby zapisu danych w tymczasowym pliku na obszar tabel indeksów można używać tylko systemowych
serwerze wystąpił błąd we/wy (dla danej instancji menedżera tymczasowych obszarów tabel. Wielkość strony systemowego
baz danych pliki tymczasowe tworzone są na serwerze w tymczasowego obszaru tabel musi być zgodna z wielkością
podkatalogu tmp katalogu sqllib). System plików serwera strony obszaru tabel indeksów.
może być zapełniony.
Działanie użytkownika:
Wprowadź komendę ponownie, tym razem z nazwą obszaru
Program narzędziowy zatrzymuje przetwarzanie. Baza danych
tabel wskazującą na systemowy tymczasowy obszar tabel o
pozostaje nie zmieniona.
poprawnej wielkości strony. Kod przyczyny kod-przyczyny
Działanie użytkownika: opisuje niepowodzenie następująco:
W celu zwolnienia miejsca na serwerze skontaktuj się z 1. W klauzuli USE nie określono nazwy obszaru tabel.
administratorem systemu serwera i wprowadź ponownie
2. Obszar tabel musi być systemowym tymczasowym
komendę.
obszarem tabel.

Rozdział 2. Komunikaty SQL 391


SQL3342N • SQL3403N

3. Wielkość strony systemowego tymczasowego obszaru


SQL3400N Metoda podana w METHOD jest
tabel musi być zgodna z wielkością strony w obszarze
nieprawidłowa dla plików ASCII bez
tabel indeksów.
ograniczników. Dla położeń musi być równa
’L’.
SQL3342N Niewystarczające uprawnienia do
Objaśnienie:
korzystania z opcji LOCK WITH FORCE.
Podczas ładowania pliku ASCII bez ograniczników kolumny
Objaśnienie: muszą być wybierane przez określenie położenia w pliku.
Opcja LOCK WITH FORCE modułu ładującego wymaga
uprawnienia SYSADM lub SYSCTRL. Nie można wykonać komendy.
Działanie użytkownika: Działanie użytkownika:
Wykonaj ponownie komendę ładowania, korzystając z Powtórz komendę z prawidłowym zestawem położeń dla
identyfikatora użytkownika z wystarczającymi uprawnieniami. kolumn w pliku źródłowym.

SQL3343N Restart ładowania nie jest dozwolony po SQL3401N Metoda podana w METHOD jest
przeprowadzeniu odtwarzania zmian niepoprawna dla wszystkich typów plików.
obejmującego moment ładowania
Objaśnienie:
zakończonego niepowodzeniem.
Metoda wyboru kolumn z pliku nie ma wartości dozwolonej
Objaśnienie: dla żadnego typu-pliku. Wybierz jeden z poniższych
Ładowanie, które nie powiodło się przed momentem znaczników metody:
zakończenia operacji odtwarzania zmian, nie może zostać v P dla pozycji (position)
ponownie uruchomione po jej zakończeniu.
v N dla nazwy (name)
Działanie użytkownika: v L dla położeń (location)
Do zakończenia operacji ładowania lub usuwania tabeli należy
v D jako domyślna (default).
użyć trybu TERMINATE.
Dalsze ograniczenia zależą od typu-pliku.
SQL3346N Opcja USE NazwaObszaruTabel została
zignorowana. Kod przyczyny = Nie można wykonać komendy.
kod-przyczyny.
Działanie użytkownika:
Objaśnienie: Powtórz komendę z prawidłowym znacznikiem metody.
Opcja USE NazwaObszaruTabel jest poprawna tylko w
wypadku operacji trybu odbudowywania (ALLOW READ
ACCESS) oraz opcją trybu indeksowania z SQL3402N Dla kolumny nazwa, która nie może
przebudowywaniem (INDEXING MODE REBUILD). Jeśli zawierać wartości null, podano zerowe
zostanie określona opcja automatycznego wyboru trybu wartości położenia początku i końca.
indeksowania (INDEXING MODE AUTOSELECT), to Objaśnienie:
alternatywny obszar tabel będzie używany tylko wtedy, gdy Dla oznaczonej kolumny podano parę liczb oznaczających
podczas ładowania zostanie podjęta decyzja o odbudowaniu położenie kolumny, w której położenie początku i końca
indeksów. wynosi zero, a ta kolumna nie może zawierać wartości null.
Działanie użytkownika:
Należy skorzystać z wyjaśnień właściwych dla kodu Nie można wykonać komendy.
przyczyny. Działanie użytkownika:
1. Tryb indeksowania jest niezgodny z opcją USE Powtórz komendę z prawidłowym zestawem położeń dla
NazwaObszaruTabel. kolumn w pliku źródłowym.
2. Tabela nie ma indeksów.
3. Instrukcja LOAD TERMINATE nie wymaga użycia SQL3403N Para położeń początek-koniec dla
osobnego obszaru tabel. wstawienia do kolumny nazwa jest
4. Opcja USE NazwaObszaruTabel jest obsługiwana tylko w niepoprawna. (początek koniec)
wypadku operacji ładowania z prawem do odczytu Objaśnienie:
(ALLOW READ ACCESS). Specyfikacja pól określających położenie danych wejściowych
dla oznaczonej kolumny bazy danych wewnątrz wejściowego
pliku ASCII bez ograniczników jest nieprawidłowa. W
specyfikacji pól występuje jeden z poniższych błędów:
v Położenie początku jest ujemne.
v Położenie końca jest ujemne.

392 Komunikaty, tom 2


SQL3404N • SQL3410N

v Położenie końca jest mniejsze niż położenie początku.


SQL3407N Para położeń początek-koniec dla
wstawiania do kolumny nazwa jest
Nie można wykonać komendy. niepoprawna dla datownika.
Działanie użytkownika: Objaśnienie:
Powtórz komendę z prawidłowym zestawem położeń dla Specyfikacja pól określających położenie danych wejściowych
kolumn w pliku źródłowym. dla oznaczonej kolumny bazy danych wewnątrz wejściowego
pliku ASCII bez ograniczników jest nieprawidłowa. Para
SQL3404N Para położeń początek-koniec dla położeń definiuje pola o nieprawidłowej długości dla
wstawienia do kolumny nazwa jest zewnętrznej reprezentacji datownika.
niepoprawna dla liczby.
Nie można wykonać komendy.
Objaśnienie:
Specyfikacja pól określających położenie danych wejściowych Działanie użytkownika:
dla oznaczonej kolumny bazy danych wewnątrz wejściowego Powtórz komendę z prawidłowym zestawem położeń dla
pliku ASCII bez ograniczników jest nieprawidłowa. Para kolumn w pliku źródłowym.
położeń definiuje pola dłuższe niż 50 bajtów.
SQL3408W Para położeń początek-koniec dla
Nie można wykonać komendy. wstawiania do kolumny nazwa definiuje pole
Działanie użytkownika: większe niż kolumna docelowa. Dane mogą
Powtórz komendę z prawidłowym zestawem położeń dla zostać obcięte.
kolumn w pliku źródłowym. Objaśnienie:
Specyfikacja pól do pozyskania danych z wejściowego pliku
SQL3405N W wypadku daty para położeń typu ASCII bez ograniczników definiuje pola większe niż
początkowego i końcowego przy wstawianiu wielkość (lub maksymalna wielkość) docelowej kolumny bazy
do kolumny nazwa nie jest poprawna. danych.

Objaśnienie: Program narzędziowy kontynuuje przetwarzanie. Jeżeli zajdzie


Specyfikacja pól określających położenie danych wejściowych potrzeba, dane zostaną obcięte.
dla oznaczonej kolumny bazy danych wewnątrz wejściowego
pliku ASCII bez ograniczników jest nieprawidłowa. Para Działanie użytkownika:
położeń definiuje pola o nieprawidłowej długości dla Nie jest wymagane żadne działanie.
zewnętrznej reprezentacji dat.
SQL3409W Para położeń początek-koniec dla
Nie można wykonać komendy. wstawiania do kolumny nazwa definiuje pole
Działanie użytkownika: krótsze niż docelowa kolumna o stałej
Powtórz komendę z prawidłowym zestawem położeń dla długości. Dane zostaną dopełnione.
kolumn w pliku źródłowym. Objaśnienie:
Oznaczona kolumna bazy danych jest kolumną o ustalonej
SQL3406N Para położeń początek-koniec dla długości. Specyfikacja pól do pozyskania danych z
wstawiania do kolumny nazwa jest wejściowego pliku typu ASCII bez ograniczników definiuje
niepoprawna dla godziny. pola mniejsze niż wielkość docelowej kolumny bazy danych.

Objaśnienie: Program narzędziowy kontynuuje przetwarzanie. Jeżeli zajdzie


Specyfikacja pól określających położenie danych wejściowych potrzeba, wartości wejściowe dla oznaczonej kolumny bazy
dla oznaczonej kolumny bazy danych wewnątrz wejściowego danych zostaną dopełnione spacjami z prawej strony.
pliku ASCII bez ograniczników jest nieprawidłowa. Para
położeń definiuje pola o nieprawidłowej długości dla Działanie użytkownika:
zewnętrznej reprezentacji godziny. Nie jest wymagane żadne działanie.

Nie można wykonać komendy. SQL3410N Para położeń początek-koniec dla


Działanie użytkownika: wstawiania do kolumny nazwa jest
Powtórz komendę z prawidłowym zestawem położeń dla niepoprawna dla kolumny graficznej.
kolumn w pliku źródłowym. Objaśnienie:
Specyfikacja pól dla określenia położenia w pliku ASCII
danych wejściowych, które mają zostać załadowane do
oznaczonej kolumny bazy danych, definiuje pole o
nieparzystej liczbie bajtów.

Rozdział 2. Komunikaty SQL 393


SQL3411W • SQL3417N

Nie można wykonać komendy. Nie jest wymagane żadne działanie. Jeżeli wartości null nie są
akceptowane, popraw wewnętrzne pole i powtórz komendę
Działanie użytkownika:
albo zmień dane w tablicy.
Powtórz komendę z prawidłowym zestawem położeń dla
kolumn w pliku źródłowym.
SQL3414N Nie można znaleźć pliku tymczasowego
nazwa-pliku.
SQL3411W Wartość pola w wierszu numer-wiersza i
kolumnie numer-kolumny jest niepoprawna Objaśnienie:
dla kolumny graficznej. Wstawiono wartość Pod koniec ładowania tworzony jest plik tymczasowy z
pustą. informacjami niezbędnymi do ponownego uruchomienia
ładowania. Jeżeli ładowanie zostanie przerwane wcześniej,
Objaśnienie:
plik ten nie jest tworzony.
Wartość w oznaczonym polu nie jest dozwoloną wartością dla
kolumny graficznej. Być może wartość ta zawiera nieparzystą
Ten komunikat oznacza, że podczas ponownego uruchomienia
liczbę bajtów. Dla plików z ogranicznikami (DEL) numer
ładowania plik tymczasowy nie został znaleziony.
kolumny określa pole w oznaczonym wierszu. Dla plików
ASCII numer kolumny określa położenie wewnątrz wiersza
bajtu, w którym rozpoczyna się wartość. Program narzędziowy został zatrzymany.
Działanie użytkownika:
Wiersz nie zostanie wstawiony. W zależności od tego, gdzie wystąpiło przerwanie, może być
możliwe powtórne uruchomienie ładowania w fazie
Działanie użytkownika:
budowania.
Jeżeli wartości null nie są akceptowane, popraw plik
wejściowy i powtórz komendę albo zmień dane w tablicy.
SQL3415W Wartość w wierszu numer-wiersza i
kolumnie numer-kolumny nie może zostać
SQL3412W Wartość pola w wierszu numer-wiersza i
przekształcona ze strony kodowej
kolumnie numer-kolumny jest niepoprawna
wejściowego pliku danych do strony
dla kolumny graficznej, a kolumna
kodowej bazy danych. Załadowano wartość
docelowa nie dopuszcza wartości pustej.
pustą.
Wiersz nie został wstawiony.
Objaśnienie:
Objaśnienie:
Wartość we wskazanym polu nie może zostać przekształcona
Wartość w oznaczonym polu nie jest dozwoloną wartością dla
ze strony kodowej wejściowego pliku danych wejściowych do
kolumny graficznej. Być może wartość ta zawiera nieparzystą
strony kodowej bazy danych.
liczbę bajtów. Nie można załadować wartości null, ponieważ
kolumna docelowa nie dopuszcza wartości null. Dla plików z Działanie użytkownika:
ogranicznikami (DEL) numer kolumny określa pole w Jeżeli wartości null nie są akceptowane, popraw wejściowy
oznaczonym wierszu. Dla plików ASCII numer kolumny plik danych i powtórz komendę albo zmień dane w tablicy.
określa położenie wewnątrz wiersza bajtu, w którym
rozpoczyna się wartość.
SQL3416W Wartość w wierszu numer-wiersza i
kolumnie numer-kolumny nie może zostać
Wiersz nie zostanie wstawiony.
przekształcona ze strony kodowej
Działanie użytkownika: wejściowego pliku danych do strony
Nie jest wymagane żadne działanie. Jeżeli ten wiersz jest kodowej bazy danych. Wiersz nie został
potrzebny, popraw plik wejściowy i powtórz komendę albo załadowany.
zmień dane w tablicy.
Objaśnienie:
Wartość we wskazanym polu nie może zostać przekształcona
SQL3413W Wartość pola w wierszu numer-wiersza i ze strony kodowej wejściowego pliku danych wejściowych do
kolumnie numer-kolumny jest zbyt krótka strony kodowej bazy danych.
dla kolumny docelowej. Wstawiono wartość
Działanie użytkownika:
pustą.
Nie jest wymagane żadne działanie. Jeżeli ten wiersz jest
Objaśnienie: potrzebny, popraw wejściowy plik danych i wprowadź
Wartość w oznaczonym polu nie może być zaakceptowana, ponownie komendę albo zmień dane w tablicy.
ponieważ jest za krótka dla kolumny docelowej. Numer
kolumny określa położenie wewnątrz wiersza bajtu, w którym
SQL3417N Para położeń początek-koniec numer-pary
rozpoczyna się wartość.
jest niepoprawna dla strony kodowej
strona-kodowa.
Została wstawiona wartość null.
Objaśnienie:
Działanie użytkownika:

394 Komunikaty, tom 2


SQL3418W • SQL3503W

Para położeń jest niepoprawna dla tej strony kodowej, To jest komunikat informacyjny oznaczający, że ma się
ponieważ strona ta korzysta z czystego kodowania DBCS. rozpocząć nowa faza, a poprzednia faza zakończyła się. Fazy
Oznacza to, że każdy znak tej strony kodowej ma długość 2 to (w kolejności występowania):
bajtów. Para położeń powinna zostać określona za pomocą v LOAD
parzystej liczby bajtów.
v BUILD
Nie można wykonać komendy. v DELETE

Działanie użytkownika: Podczas fazy LOAD dane są ładowane do tabeli. Jeśli mają
Powtórz komendę z prawidłowym zestawem położeń dla zostać utworzone jakieś indeksy, po fazie LOAD następuje
kolumn w pliku źródłowym. faza BUILD. Jeśli w indeksie unikalnym występowały
duplikujące się wartości klucza, po fazie BUILD następuje
SQL3418W Modyfikator typu pliku NOCHARDEL nie faza DELETE.
powinien być określany, jeśli dane
wyeksportowano przy użyciu programu Jeśli faza LOAD zostanie przerwana, potrzebna będzie
DB2. Został on przewidziany do obsługi informacja o fazie, w której należy restartować LOAD.
plików danych pochodzących z innych Działanie użytkownika:
produktów, w których nie występują Nie jest wymagane żadne działanie.
separatory znakowe.
Objaśnienie: SQL3501W Obszary tabel, w których rezydują tabele,
Modyfikator typu pliku NOCHARDEL ma w założeniu nie będą postawione w stan tworzenia kopii
zapewnić obsługę danych w plikach pochodzących z innych zapasowej w toku, ponieważ dla bazy
produktów, nie zawierających separatorów znakowych. Nie danych wyłączono możliwość odtwarzania
powinien być on używany, jeśli plik został utworzony jako zmian.
wynik komendy EXPORT w programie DB2. W formacie
pliku DEL stosowane są separatory znakowe, pozwalające Objaśnienie:
uniknąć utraty lub uszkodzenia danych. Ich obecność jest Użycie opcji COPY NO przy wywołaniu LOAD
ustawieniem domyślnym. spowodowało, że obszary tabel, w których przechowywane są
tabele, zostały ustawione w stan tworzenia kopii zapasowej w
Działanie użytkownika: toku i będą się w nim znajdowały, dopóki dla bazy danych nie
Sprawdź, czy modyfikator NOCHARDEL w komendzie zostanie włączona możliwość odtwarzania zmian do przodu.
importu lub ładowania jest niezbędny.
Przetwarzanie jest kontynuowane.
SQL3419W Wybrana opcja sortowania nie jest
Działanie użytkownika:
obsługiwana przez funkcję sortowania
Nie jest wymagane żadne działanie.
danego producenta. Aby umożliwić
kontynuowanie operacji, zostanie
zastosowane domyślne sortowanie DB2. SQL3502N Program narzędziowy napotkał ostrzeżenia
w liczbie liczba, co przekracza całkowitą
Objaśnienie:
dopuszczalną liczbę ostrzeżeń.
Biblioteka sortowania innego producenta jest aktywowana
przez ustawienie zmiennej rejestru DB2 DB2SORT. Bieżące Objaśnienie:
ustawienie sortowania wymaga zastosowania opcji, która nie Liczba ostrzeżeń powstałych przy wykonywaniu komendy
jest obsługiwana przez tę bibliotekę. Aby umożliwić przekroczyła ogólną dopuszczalną liczbę ostrzeżeń podaną
kontynuowanie operacji, program DB2 zastosuje sortowanie przez użytkownika przy wywołaniu programu narzędziowego.
domyślne. Oto opcje, które przypuszczalnie nie są
obsługiwane przez bibliotekę sortowania innego producenta: Program narzędziowy przerywa działanie.
v baza danych utworzona z użyciem kolejności Działanie użytkownika:
IDENTITY_16BIT, Sprawdź, czy ładowane są prawidłowe dane z odpowiednimi
v ustawienie parametru konfiguracyjnego bazy danych opcjami, albo zwiększ dopuszczalną liczbę ostrzeżeń.
ALT_COLLATE na wartość IDENTITY_16BIT. Wprowadź ponownie komendę.
Działanie użytkownika:
Nie jest wymagane żadne działanie. SQL3503W Program narzędziowy załadował wiersze w
liczbie liczba, co jest równe całkowitej
liczbie określonej przez użytkownika.
SQL3500W Program narzędziowy rozpoczyna fazę faza
o datownik. Objaśnienie:
Liczba załadowanych wierszy zrównała się z ogólną liczbą
Objaśnienie:
wierszy podaną przez użytkownika przy wywołaniu programu
narzędziowego.

Rozdział 2. Komunikaty SQL 395


SQL3504W • SQL3508N

Program narzędziowy pomyślnie zakończył działanie. W parametrze null_ind podane są kolumny wskaźników
wartości pustej dla pliku ASC, ale jedna z kolumn jest
Działanie użytkownika:
niepoprawna albo wskaźnik znacznika wartości pustej jest
Nie trzeba podejmować żadnych działań.
nieprawidłowy.
Działanie użytkownika:
SQL3504W Uzgadniany jest moment spójności.
Popraw parametr i wprowadź ponownie komendę.
Objaśnienie:
Momenty spójności będą uzgadniane w odstępach innych niż
SQL3508N Wystąpił błąd dostępu do pliku typu
podane przy wywołaniu parametrem SAVECOUNT w
typ-pliku podczas ładowania lub zapytania
przypadku, gdy:
ładującego. Kod przyczyny: kod-przyczyny.
v osiągnięta zostanie wartość graniczna dla ilości Ścieżka: ścieżka/plik.
meta-danych przechowywanych w pamięci lub w plikach
tymczasowych Objaśnienie:
Podczas przetwarzania operacji ładowania lub zapytania
v wystąpi błąd urządzenia z kopią i ładowanie zostanie
ładującego, w momencie dostępu do pliku wystąpił błąd.
przerwane.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
Działanie użytkownika:
Jeśli operacja LOAD będzie kontynuowana po tym
Jeśli podczas ładowania obszar tabel nie jest w stanie
komunikacie, żadne działanie nie będzie konieczne. Jeśli
ładowania w toku, usuń problem i ponownie wywołaj moduł
operacja LOAD zostanie przerwana, to może zostać
ładujący. Jeśli tabela jest w stanie ładowania w toku, wywołaj
wznowiona po poprawieniu wszystkich błędów (to jest
moduł ładujący w trybie RESTART lub REPLACE, albo
aktywowaniu urządzenia lub zmniejszeniu odstępów, w jakich
odtwórz obszar tabel z kopii zapasowej. Stan obszaru tabel
uzgadniane są momenty spójności).
może być określony za pomocą komendy LOAD QUERY.

SQL3505N Długość określona parametrem filetmod dla Lista kodów przyczyny:


opcji RECLEN jest poza dozwolonym
1 Nie można otworzyć pliku.
zakresem od 1 do 32767.
Może to być spowodowane nieprawidłową nazwą
Objaśnienie:
pliku lub brakiem uprawnień pozwalających na
W parametrze filetmod określona jest opcja RECLEN dla pliku
dostęp do pliku/katalogu. Usuń problem i wykonaj
ASC. Podana długość jest niepoprawna.
restart lub ponowne ładowanie.
Działanie użytkownika:
Tymczasowy plik ładowania mógł zostać zniszczony
Podaj poprawną długość i wprowadź ponownie komendę.
albo baza danych nie została odtworzona z
wcześniejszej kopii zapasowej. W tych
SQL3506W Wartość określona w indykatorze pustym w okolicznościach instrukcja LOAD RESTART nie
wierszu numer-wiersza i kolumnie jest obsługiwana. Użyj instrukcji LOAD
numer-kolumny jest niepoprawna. Przyjmuje TERMINATE, aby wyprowadzić tabelę ze stanu
się wartość ’N’. ładowania w toku.
Objaśnienie: 2 Nie można odczytać/przeszukać pliku.
Dla plików ASC, dla każdej kolumny danych można podać
Przyczyną może być błąd sprzętowy. Jeśli błąd był
kolumnę wskaźnika wartości pustej, która powinna zawierać
spowodowany problemem sprzętowym, usuń jego
albo ’Y’ albo ’N’. Y’ oznacza, że kolumna zawiera wartości
przyczyny i wznów lub zrestartuj ładowanie.
puste, a ’N’ oznacza, że kolumna zawiera dane. Jeśli żadna z
tych wartości nie zostanie podana w kolumnie wskaźnika 3 Niemożliwy zapis lub zmiana wielkości pliku.
wartości pustej, zakłada się wartość ’N’ i dane są ładowane do
kolumny. Przyczyną może być zapełnienie dysku lub błąd
sprzętowy. Obejrzyj listę typów plików
Działanie użytkownika: przedstawioną poniżej i sprawdź, czy jest
Jeśli wskaźniki danych lub wartości pustej są niepoprawne, wystarczająco dużo wolnego miejsca, aby wykonać
popraw plik wejściowy i wprowadź ponownie komendę. ładowanie albo podaj inną lokalizację. Wykonaj
restart lub ponowne ładowanie. Jeśli błąd był
spowodowany problemem sprzętowym, usuń jego
SQL3507N Numer kolumny podany dla wskaźnika
przyczyny i wznów lub zrestartuj ładowanie.
wartości pustej jest poza dopuszczalnym
zakresem od 0 do 32767 albo parametr 4 Plik zawiera nieprawidłowe dane.
wskaźnika wartości pustej jest
nieprawidłowy. Plik wskazany dla operacji ładowania zawiera
nieprawidłowe dane. Patrz opis działania dla pliku
Objaśnienie: typu TEMPFILES_PATH.

396 Komunikaty, tom 2


SQL3509W • SQL3513N

5 Nie można zamknąć pliku. Działanie użytkownika:


Sprawdź, czy podane katalogi robocze istnieją, a uprawnienia
Jeśli nie można zrestartować lub ponownie wykonać
do ich odczytu/zapisu są ustawione poprawnie. Wprowadź
operacji ładowania, skontaktuj się z
ponownie komendę.
przedstawicielem serwisu IBM.
6 Nie można usunąć pliku.
SQL3511W Nie można znaleźć pliku o nazwie określonej
Jeśli nie można zrestartować lub ponownie wykonać w wierszu numer-wiersza i kolumnie
operacji ładowania, skontaktuj się z numer-kolumny. Załadowano wartość pustą.
przedstawicielem serwisu IBM.
Objaśnienie:
7 Nieprawidłowy parametr. Obejrzyj listę typów W podanym polu nie można znaleźć nazwy pliku. Mogła
plików i określ błędny parametr, ponownie wykonaj wystąpić niezgodność typów danych.
ładowanie z poprawnym parametrem.
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
Lista typów plików: określa pole w wierszu, które zawiera problematyczną wartość.
Dla plików ASCII numer kolumny określa położenie w
SORTDIRECTORY wierszu bajtu, w którym rozpoczyna się problematyczna
Sprawdź, czy parametr workdirectory jest podany wartość.
prawidłowo. Należy zapewnić wystarczająco dużo
miejsca, we wszystkich katalogach łącznie, dla
Załadowano wartość pustą.
dwóch kopii kluczy indeksu załadowanych danych.
Dla ładowania ze wstawianiem oraz restartu Działanie użytkownika:
ładowania musi być także miejsce dla podwójnej Sprawdź wartość wejściową. Jeśli jest to konieczne, popraw
wielkości kluczy indeksu danych już istniejących w plik wejściowy i ponownie wprowadź komendę lub dokonaj
tabeli. edycji danych w tabeli.
MSGFILE
Sprawdź, czy parametr messagefile jest podany SQL3512W Nie można znaleźć pliku o nazwie określonej
prawidłowo. Na dysku musi być wystarczająco dużo w wierszu numer-wiersza i kolumnie
miejsca, aby zapisać komunikaty, które wystąpią numer-kolumny, a kolumna docelowa nie
podczas ładowania. dopuszcza wartości pustej. Wiersz nie został
załadowany.
W przypadku zapytania ładującego, sprawdź, czy
lokalny plik komunikatów NIE jest taki sam, jak Objaśnienie:
parametr messagefile użyty do ładowania, którego W podanym polu nie można znaleźć nazwy pliku. Nie można
status jest przedmiotem zapytania. załadować wartości pustych, ponieważ kolumna docelowa nie
dopuszcza takich wartości.
TEMPFILES_PATH
Sprawdź, czy parametr ścieżki tempfiles został
Dla plików ASCII z ogranicznikami (DEL) numer kolumny
podany poprawnie. Więcej szczegółów na temat tego
określa pole w wierszu, które zawiera problematyczną wartość.
parametru można znaleźć w podręczniku Data
Dla plików ASCII numer kolumny określa położenie w
Movement Utilities Guide and Reference.
wierszu bajtu, w którym rozpoczyna się problematyczna
wartość.
SQL3509W Program narzędziowy usunął z tabeli
wiersze w liczbie liczba. Wiersz nie został załadowany.
Objaśnienie: Działanie użytkownika:
Podczas ładowania tabeli z indeksem unikalnym, wiersze Popraw plik wejściowy i ponownie wprowadź komendę lub
powodujące naruszenie unikalności indeksu zostaną usunięte dokonaj edycji danych w tabeli.
w fazie usuwania. Ten komunikat informuje o tym, ile wierszy
zostało usuniętych.
SQL3513N Strona kodowa pliku jest inna niż strona
Działanie użytkownika: kodowa bazy danych. Nie można załadować
Nie jest wymagane żadne działanie. pliku.
Objaśnienie:
SQL3510N Brak dostępu do katalogu roboczego w fazie Pliki DB2CS nie mogą zostać załadowane do bazy danych ze
sortowania. stroną kodową inną niż strona kodowa źródłowej bazy danych.
Objaśnienie: Działanie użytkownika:
Jeden lub więcej katalogów roboczych podanych dla fazy Zmień stronę kodową bazy danych i wprowadź ponownie
sortowania nie istnieje, albo brak uprawnień do odczytu/zapisu komendę lub użyj innego typu pliku (na przykład PC/IXF),
w tych katalogach. aby przesunąć dane ze źródłowej bazy danych do nowej.

Rozdział 2. Komunikaty SQL 397


SQL3514N • SQL3520W

SQL3514N Wystąpił błąd systemowy programu SQL3517N Ze źródła danych wejściowych odczytano
narzędziowego. Kod funkcji: funkcja. Kod nieoczekiwany rekord.
przyczyny: kod-przyczyny. Kod błędu:
Objaśnienie:
kod-błędu.
Program narzędziowy napotkał rekord w nieprawidłowym
Objaśnienie: formacie. Źródło mogło zostać uszkodzone podczas
Podczas przetwarzania programu narzędziowego bazy danych kopiowania z oryginału.
wystąpił błąd systemowy.
Przetwarzanie zostało przerwane.
Działanie użytkownika:
W zależności od wartości funkcja wymagane są różne Działanie użytkownika:
działania. Skopiuj rekord z oryginału w postaci binarnej i zrestartuj
ładowanie lub importowanie.
Możliwe kody funkcji:
v 1 - Błąd podczas sortowania przez program ładujący. SQL3518N Dane źródłowe są niezgodne z tabelą, do
Spróbuj ponownie uruchomić program ładujący. Jeśli błąd której mają zostać załadowane.
się powtórzy, przekaż funkcję, kod przyczyny i kod błędu
Objaśnienie:
przedstawicielowi serwisu technicznego.
Nie można użyć źródła do załadowania tej tabeli z jednej z
v 2 - Błąd podczas używania programu sortującego dostawcy. następujących przyczyn:
Powtórz ładowanie, używając programu sortującego klienta v definicja tabeli nie odpowiada definicji tabeli źródłowej
IBM Data Server Client lub serwera DB2 Server, a nie
v źródło zostało utworzone na innej platformie niż ładowana
programu sortującego dostawcy. W tym celu ustaw wartość
tabela
Rejestracja profilu (Profile Registry) na serwerze na wartość
pustą. W celu wybrania nowej wartości Rejestracja profilu v źródło zostało utworzone z tabeli o innej stronie kodowej
(Profile Registry) może być konieczne ponowne niż ładowana tabela.
uruchomienie menedżera baz danych. Jeśli błąd się Działanie użytkownika:
powtórzy, przekaż funkcję, kod przyczyny i kod błędu Sprawdź, czy zarówno tabela jak i źródło zostały prawidłowo
przedstawicielowi serwisu technicznego. określone. Jeśli chcesz załadować dane z tabeli o innej
definicji, z innej platformy lub o innej stronie kodowej, użyj
SQL3515W Program narzędziowy zakończył fazę faza o innego typu plików, na przykład IXF lub DEL.
datownik.
Objaśnienie: SQL3519W Początek momentu spójności ładowania.
Jest to komunikat informacyjny oznaczający, że faza Liczba rekordów wejściowych = liczba.
zakończyła się. Fazy to (w kolejności występowania): Objaśnienie:
v LOAD Moduł ładujący ma wykonać moment spójności w celu
v BUILD zatwierdzenia danych już załadowanych do tabeli.
v DELETE Działanie użytkownika:
Jeśli bezpośrednio po tym komunikacie nie pojawi się
Działanie użytkownika:
komunikat SQL3520W, moment spójności nie został
Nie jest wymagane żadne działanie.
osiągnięty. Ładowanie należy restartować w fazie Build, w
celu przywrócenia tabeli do stanu spójności i utworzenia
SQL3516N Program narzędziowy nie mógł ponownie wszystkich (jeśli są) indeksów. Wtedy będzie można
uruchomić ładowania. sprawdzić, które rekordy zostały załadowane. Ponownie
uruchom ładowanie, nadając parametrowi RESTARTCOUNT
Objaśnienie:
wartość równą liczbie pomyślnie załadowanych wierszy, aby
Moduł ładujący wykrył rozbieżności w ostatnim punkcie
je pominąć i załadować resztę pliku.
spójności wykonanym przed wystąpieniem awarii. Sytuacja ta
mogła zostać spowodowana przez błąd systemowy lub
Jeśli po tym komunikacie pojawia się komunikat SQL3520W,
nieprawidłowy plik dziennika.
to znaczy, że ten komunikat ma znaczenie tylko informacyjne i
Działanie użytkownika: nie jest konieczne podejmowanie jakichkolwiek działań.
W celu przywrócenia spójności tabeli i utworzenia indeksów,
zrestartuj ładowanie w fazie budowania albo wykonaj
SQL3520W Pomyślnie osiągnięto moment spójności
ładowanie z opcją REPLACE.
ładowania.
Objaśnienie:
Moment spójności wykonany przez moduł ładujący zakończył
się pomyślnie.
Działanie użytkownika:

398 Komunikaty, tom 2


SQL3521N • SQL3526N

To jest komunikat informacyjny. Nie jest wymagane żadne Składnia komendy procesora CLP obejmuje słowo kluczowe
działanie. TABLE, na przykład:
LOAD QUERY TABLE <nazwa-tabeli>
SQL3521N Nie podano wejściowego pliku źródłowego
numer-kolejny. Pominięcie słowa kluczowego TABLE spowoduje, że
zapytanie ładujące otworzy plik komunikatu ładowania
Objaśnienie: binarnego o nazwie nazwa-tabeli.
Wywołano ładowanie z wieloczęściowego pliku wejściowego
ale nie dostarczono wszystkich plików. W przypadku plików
typu DB2CS muszą być dostarczone wszystkie pierwotnie SQL3524N Opcja opcja ma niepoprawną wartość
utworzone pliki wejściowe. W przypadku plików typu IXF równą wartość.
wszystkie pliki wejściowe muszą być dostarczone w Objaśnienie:
odpowiedniej kolejności. Podana wartość musi być liczbą całkowitą. Jej zakres dla
każdej opcji jest następujący:
Program narzędziowy przerywa działanie.
1. TOTALFREESPACE: wartość musi być z zakresu od 0 do
Działanie użytkownika: 100 i jest interpretowana jako wartość procentowa
Zrestartuj program narzędziowy po dostarczeniu wszystkich całkowitej liczby stron w tabeli, która ma zostać dołączona
plików wejściowych i ustawieniu parametru na końcu tabeli jako wolna przestrzeń.
RESTARTCOUNT odpowiednio do danych już 2. PAGEFREESPACE: wartość musi być z zakresu od 0 do
załadowanych. 100 i jest interpretowana jako wartość procentowa każdej
strony danych, która ma być pozostawiona jako wolna
SQL3522N Nie można dostarczyć kopii pliku przestrzeń.
docelowego, kiedy zarówno rejestrowanie, 3. INDEXFREESPACE: wartość musi być z zakresu od 0 do
jak i programy obsługi wyjścia są 99 i jest interpretowana jako wartość procentowa każdej
wyłączone. strony indeksu, która ma być pozostawiona wolna podczas
ładowania indeksów.
Objaśnienie:
Przy wywołaniu ładowania dla bazy danych z wyłączonym
Program narzędziowy zatrzymuje przetwarzanie.
przechowywaniem w dzienniku i programami obsługi wyjścia
określono kopię pliku docelowego. Dla takich baz danych Działanie użytkownika:
kopie plików docelowych są nieprawidłowe. Podaj poprawną wartość i ponownie wprowadź komendę.

Program narzędziowy zatrzymuje przetwarzanie.


SQL3525N Opcja opcja-1 jest niezgodna z opcją
Działanie użytkownika: opcja-2.
Sprawdź, czy baza danych powinna mieć wyłączone
Objaśnienie:
przechowywanie w dzienniku oraz programy obsługi
W programie narzędziowym użyto niezgodnych opcji.
zakończenia i wywołaj ładowanie bez podawania pliku
docelowego kopii. Działanie użytkownika:
Usuń lub zmień jedną z opcji i wprowadź ponownie komendę.
W podręczniku Command Reference można znaleźć
SQL3523W W pliku komunikatów nie ma komunikatów
dodatkowe informacje o poprawnych opcjach.
do pobrania. Kod przyczyny: kod-przyczyny.
Objaśnienie:
SQL3526N Klauzula modyfikatora klauzula jest
Zapytanie do tymczasowego pliku komunikatów LOAD nie
niezgodna z bieżącą komendą ładowania.
zwróciło żadnych komunikatów. Możliwe wartości kodów
Kod przyczyny: kod-przyczyny.
przyczyn:
Objaśnienie:
1 Tymczasowy plik komunikatów LOAD nie istnieje.
Podany tryb typu pliku ładowania (modyfikator) jest
2 W tymczasowym pliku komunikatów LOAD nie ma niezgodny z komendą ładowania/importu/eksportu. Dzieje się
komunikatów. tak z jednej z następujących przyczyn:
Działanie użytkownika: 1 Bieżąca opcja wymaga określenie modyfikatorów
Sprawdź, czy podana została poprawna nazwa tabeli. Jeśli typu pliku RECLEN i NOEOFCHAR. W komendzie
nazwa tabeli została podana prawidłowo, a komunikaty są brak jednej lub kilku takich opcji.
oczekiwane, sprawdź monitor bazy danych, aby upewnić się,
2 Wskazana opcja, taka jak DEL lub ASC, jest
że program narzędziowy jest aktywny i nie czeka na zasoby,
niespójna z formatem wejściowego lub wyjściowego
takie jak blokady. Zauważ, że tymczasowy plik komunikatów
pliku danych.
LOAD nie zostanie utworzony, dopóki moduł ładujący LOAD
jest w trakcie działania i że zostanie usunięty po zakończeniu 3 Zostały określone wygenerowane lub spokrewnione
modułu ładującego LOAD.

Rozdział 2. Komunikaty SQL 399


SQL3527N • SQL3531I

identyfikatorami modyfikatory typów plików, lecz powiązane z etykietą bezpieczeństwa, ale tabela
tabela docelowa nie zawiera takich kolumn. docelowa nie zawiera takich kolumn.
4 Gdy używany jest klient w wersji wcześniejszej niż Działanie użytkownika:
8, nie jest możliwe załadowanie tabeli zawierającej Sprawdź wymagania używanych opcji. Wprowadź ponownie
wygenerowaną kolumnę nieidentyfikującą w komendę korzystając z klauzul modyfikatora (tryby typu
indeksie unikalnym, chyba że kolumna ta jest plików) i opcji programu narzędziowego, które są spójne.
określona w klauzuli INCLUDE instrukcji CREATE
INDEX lub używany jest modyfikator typu pliku
SQL3527N Liczba podana w parametrze FILETMOD
GENERATEDOVERRIDE. Ponadto w przypadku
dla opcji CODEPAGE jest niepoprawna.
klientów w wersji wcześniejszej niż 8 podczas
ładowania tabeli zawierającej generowaną kolumnę Objaśnienie:
nieidentyfikującą w klauzuli ORGANIZE BY należy W parametrze FILETMOD opcja CODEPAGE była
użyć modyfikatora typu pliku niepoprawna.
GENERATEDOVERRIDE.
Działanie użytkownika:
5 Modyfikatora typu pliku IDENTITYOVERRIDE nie Popraw numer strony kodowej i wprowadź ponownie
można używać w wypadku ładowania tabeli z komendę.
kolumną tożsamości typu GENERATED BY
DEFAULT.
SQL3528W Ogranicznik (ogranicznik kolumny,
6 Modyfikatora typu pliku LOBSINFILE nie można ogranicznik łańcucha lub przecinek
określić w wypadku ładowania w partycjonowanej dziesiętny) podany w komendzie CLP może
bazie danych, gdy wygenerowana kolumna, będąca zostać przekształcony ze strony kodowej
częścią klucza partycjonowania, jest zdefiniowana aplikacji do strony kodowej bazy danych.
jako pole długie lub kolumna LOB.
Objaśnienie:
7 W bieżącej operacji ładowania użyj modyfikatora Gdy komenda CLP zostanie przesłana z klienta do serwera,
GENERATEDMISSING lub IDENTITYMISSING, ogranicznik może zostać przekształcony ze strony kodowej
gdyż w przeciwnym razie komenda importowania klienta do strony kodowej serwera, jeśli są one różne.
spowoduje, że wszystkie kolumny w tabeli zostaną
wykluczone z operacji ładowania. Działanie użytkownika:
Aby ograniczniki nie zostały poddane konwersji, podaj je w
8 Jeśli kolumna tożsamości jest częścią klucza formacie szesnastkowym.
partycjonowania lub kolumna wygenerowana w
kluczu partycjonowania zależy od kolumny
tożsamości nienależącej do klucza partycjonowania, SQL3529N Operacja nazwa-operacji napotkała
i jeśli ponadto bieżący tryb ładowania to nieobsługiwany typ danych typ-danych w
PARTITION_ONLY, LOAD_ONLY lub kolumnie numer-kolumny.
LOAD_ONLY_VERIFY_PART albo wartość opcji Objaśnienie:
SAVECOUNT jest większa od 0, musi być Operacja nazwa-operacji nie obsługuje typu danych
określony modyfikator typu pliku typ-danych znalezionego w kolumnie numer-kolumny.
IDENTITYOVERRIDE.
Działanie użytkownika:
9 Gdy tabela docelowa zawiera wygenerowaną Sprawdź w definicji tabeli i w podręczniku Data Movement
kolumnę zdefiniowaną w oparciu o kolumnę Guide, jakie są obsługiwane typy danych.
tożsamości i określono modyfikator typu pliku
GENERATEDOVERRIDE, należy także określić
modyfikator typu pliku IDENTITYOVERRIDE. SQL3530I Program narzędziowy Load Query
Zagwarantuje to, że obliczone wartości kolumny monitoruje postęp typ-agenta dla partycji
wygenerowanej będą spójne z wartościami kolumny numer-partycji.
tożsamości w tabeli. Objaśnienie:
10 Modyfikator typu pliku DUMPFILEACCESSALL Program narzędziowy Load Query zostało wywołane w
jest poprawny tylko wtedy, gdy użytkownik ma środowisku MPP.
uprawnienie SELECT do ładowanej tabeli Działanie użytkownika:
docelowej, został określony modyfikator Nie jest wymagane żadne działanie.
DUMPFILE i partycja bazy danych serwera DB2
rezyduje w systemie operacyjnym UNIX.
SQL3531I Wystąpiło działanie LOAD RESTART.
11 Modyfikatora typu pliku USEDEFAULTS nie
można używać w połączeniu z typem pliku IXF lub Objaśnienie:
typem pliku ASC z modyfikatorem RECLEN. Opcja RESTART została podana podczas bieżącego zapytania
LOAD.
12 Zostały określone modyfikatory typu pliku

400 Komunikaty, tom 2


SQL3532I • SQL3550W

Działanie użytkownika:
SQL3537N Nie można przydzielić pamięci sortowania
Nie jest wymagane żadne działanie.
podczas wykonywania modułu ładującego
LOAD.
SQL3532I Moduł ładujący jest obecnie w fazie faza.
Objaśnienie:
Objaśnienie: Moduł ładujący LOAD nie ma dostępu do wystarczającej
Jest to komunikat informacyjny oznaczający wysłanie ilości pamięci wirtualnej, aby wykonać sortowanie.
zapytania dotyczącego bieżącej fazy LOAD.
Działanie użytkownika:
Działanie użytkownika: W odpowiedzi na ten komunikat zakończ działanie aplikacji.
Nie jest wymagane żadne działanie. Sprawdź, czy ilość pamięci wirtualnej jest wystarczająca do
wykonania sortowania.
SQL3533I Narzędzie ładujące buduje aktualnie indeks
Możliwe są następujące rozwiązania:
numer z numer.
v Odłącz wszystkie aplikacje od bazy danych oraz zmniejsz
Objaśnienie: wielkość parametru sterty sortowania (sortheap) w
Jest to komunikat informacyjny zwracany podczas wysłania odpowiednim pliku konfiguracyjnym bazy danych.
zapytania dotyczącego bieżącej fazy LOAD w fazie BUILD.
v Usuń procesy znajdujące się w tle oraz/lub zakończ inne
Działanie użytkownika: wykonywane obecnie aplikacje.
Nie jest wymagane żadne działanie. v Zwiększ wielkość dostępnej pamięci wirtualnej.

SQL3534I Faza DELETE modułu ładującego jest SQL3538N Wykonanie programu narzędziowego
wykonana w około liczba procentach. LOAD QUERY nie powiodło się, gdyż wiele
Objaśnienie: modułów ładujących LOAD używa tej
Jest to komunikat informacyjny zwracany podczas wysłania samej ścieżki do plików tymczasowych.
zapytania dotyczącego bieżącej fazy LOAD w fazie DELETE. Objaśnienie:
Działanie użytkownika: Został wywołany co najmniej jeden dodatkowy program
Nie jest wymagane żadne działanie. LOAD, który używa tej samej ścieżki TEMPFILES PATH jak
program LOAD, do którego zostało wysłane zapytanie i który
jest wciąż aktywny. Moduł ładujący LOAD nie może
SQL3535W Parametr komendy LOAD numer-parametru dokładnie określić, do którego modułu LOAD wysłano
nie jest już obsługiwany; jego wartość zapytanie.
zostanie zignorowana przez moduł ładujący
LOAD. Działanie użytkownika:
Użyj parametru TABLE zamiast LOAD QUERY.
Objaśnienie:
W komendzie LOAD występuje parametr, który nie jest już
obsługiwany. SQL3539N Program LOAD RESTART nie może być
kontynuowany, ponieważ co najmniej jeden
Działanie użytkownika: raz próbowano wykonać LOAD
Zapoznaj się z dokumentacją DB2, aby uzyskać więcej TERMINATE.
informacji na temat tymczasowego obszaru sortowania dla
LOAD oraz sugestii związanych z dostrajaniem wydajności Objaśnienie:
LOAD. Po LOAD TERMINATE może wystąpić tylko LOAD
TERMINATE.

SQL3536N Systemowy, tymczasowy obszar tabel Działanie użytkownika:


nazwa-obszaru-tabel jest pełny. Użytkownik może użyć tylko programu LOAD TERMINATE.

Objaśnienie:
Podczas sortowania kluczy indeksowania w module ładującym SQL3550W Wartość pola w wierszu numer-wiersza i
LOAD wystąpił stan zapełnienia obszaru tabel. kolumnie numer-kolumny nie jest równy
NULL, a kolumna docelowa została
Działanie użytkownika: zdefiniowana jako GENERATED ALWAYS.
Upewnij się, że systemowemu, tymczasowemu obszarowi
tabel nazwa-obszaru-tabel została przydzielona wystarczająca Objaśnienie:
ilość miejsca. Ilość ta powinna być co najmniej dwukrotnie W pliku wejściowym napotkano na wartość pola różną od
większa niż łączny rozmiar tworzonych indeksów. Uruchom NULL. Ponieważ kolumna docelowa jest typu GENERATED
ponownie moduł ładujący LOAD. ALWAYS, wartość ta nie może być załadowana. Numer
kolumny określa pole w wierszu, w którym brakuje danych.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 401


SQL3551W • SQL3601W

Podczas operacji LOAD, bezpośrednia, różna od NULL 2. W wypadku zmaterializowanej tabeli zapytania
wartość pola może być załadowana do kolumny tożsamości z obsługiwanej przez użytkownika użyj opcji IMMEDIATE
opcją GENERATED ALWAYS, tylko wtedy, gdy zostanie UNCHECKED.
użyty modyfikator typu pliku identityoverride. W przypadku 3. Dołącz przodka tabeli do listy tabel do sprawdzenia.
kolumn z opcją GENERATED ALWAYS, nie będących Przodek musi być w stanie ustawiania integralności w toku
kolumnami tożsamości, modyfikator typu pliku i na liście tej muszą występować także wszyscy
generatedoverride może być użyty do załadowania do wiersza, przodkowie pośredni.
bezpośrednich, różnych od NULL wartości. Jeśli użycie tych
4. Jeśli tabela jest w stanie bez przenoszenia danych, lecz nie
modyfikatorów nie jest odpowiednie, to aby operacja LOAD
jest w stanie ustawiania integralności w toku, wywołaj
zaakceptowała wiersz, wartość pola musi być zastąpiona
instrukcję SET INTEGRITY z opcją FULL ACCESS, aby
wartością NULL.
wymusić przełączenie tabeli ze stanu bez przenoszenia
danych. Należy zauważyć, że na wszystkich zależnych
W przypadku operacji IMPORT nie istnieje sposób
natychmiastowych zmaterializowanych tabelach zapytań
przesłonięcia kolumny GENERATED ALWAYS. Jeśli
pozostających w stanie ustawiania integralności w toku
program narzędziowy ma zaakceptować wiersz, to wartość
wymuszane jest również pełne przeliczanie podczas
pola musi być usunięta i zastąpiona wartością NULL.
wykonywania następnej instrukcji REFRESH TABLE, a
ponadto żadnych zależnych natychmiastowych tabel
SQL3551W Tabela zawiera co najmniej jedną kolumnę pomostowych pozostających w stanie ustawiania
z opcją GENERATED ALWAYS, kolumna integralności w toku nie można już używać do
ta zostanie przez program narzędziowy odświeżania zależnych od nich zmaterializowanych tabel
przesłonięta. zapytań.
Objaśnienie:
kod_sql: -3600
Został określony modyfikator typu pliku “override” (na
przykład IDENTITYOVERRIDE lub
stan_sql: 51027
GENERATEDOVERRIDE).

W przypadku modyfikatora IDENTITYOVERRIDE, może to SQL3601W Instrukcja spowodowała, że co najmniej


naruszyć właściwość unikalności kolumny tożsamości, jedna tabela została automatycznie
zdefiniowanej jako GENERATED ALWAYS. wprowadzona w stan ustawiania
integralności w toku.
W przypadku modyfikatora GENERATEDOVERRIDE, może
Objaśnienie:
to spowodować, że kolumny zdefiniowane z opcją
Tabele zostały wprowadzone w stan ustawiania integralności
GENERATED ALWAYS, które nie są kolumnami tożsamości,
w toku w celu wymuszenia ograniczeń spójności lub
będą zawierać wartości, nie odpowiadające definicji kolumny.
zachowania związków danych między tabelą podstawową,
Działanie użytkownika: podrzędnymi zmaterializowanymi tabelami zapytań oraz
Nie jest wymagane żadne działanie. podrzędnymi tabelami pomostowymi. W szczególności,
następujące instrukcje spowodowały, ze co najmniej jedna z
tabel na liście została wprowadzona w stan ustawiania
SQL3600N Opcja IMMEDIATE CHECKED instrukcji integralności w toku.
SET INTEGRITY nie jest poprawna,
ponieważ tabela nazwa-tabeli jest v Instrukcja ALTER TABLE ... ATTACH wymusiła przejście
zmaterializowaną tabelą zapytania tabeli docelowej komendy ATTACH w stan ustawiania
obsługiwaną przez użytkownika lub nie jest integralności w toku.
w stanie ustawiania integralności w toku. v Instrukcja ALTER TABLE ... DETACH wymusiła przejście
bezpośrednio podrzędnych zmaterializowanych tabel
Objaśnienie: zapytania lub podrzędnych tabel pomostowych w stan
Opcja IMMEDIATE CHECKED instrukcji SET INTEGRITY ustawiania integralności w toku.
jest poprawna tylko wówczas, gdy tabela znajduje się w stanie
ustawiania integralności w toku, nie jest zmaterializowaną v Instrukcja SET INTEGRITY wymusiła przejście
tabelą zapytania obsługiwaną przez użytkownika, lub jeśli podrzędnych tabel klucza obcego, bezpośrednio
jeden z przodków tabeli, który jest w stanie ustawiania podrzędnych zmaterializowanych tabel zapytania lub
integralności w toku, występuje także na liście wywołań i na podrzędnych tabel pomostowych w stan ustawiania
liście tej występują także wszyscy przodkowie pośredni tej integralności w toku.
tabeli.
Odłączona partycja, która jest nowo utworzoną odłączoną
Działanie użytkownika: tabelą, będzie niedostępna podczas konserwacji jej
1. Użyj instrukcji SET INTEGRITY z opcją OFF, aby odłączonych zależnych zmaterializowanych tabel zapytań i
przełączyć tabelę do stanu ustawiania integralności w toku. tabel pomostowych.
Działanie użytkownika:

402 Komunikaty, tom 2


SQL3602W • SQL3604N

Aby sprawdzić poprawność integralności tabel w stanie kod_sql: -3603


ustawiania integralności w toku, wykonaj względem tych tabel
instrukcję SET INTEGRITY z opcją IMMEDIATE stan_sql: 23514
CHECKED. Aby określić, które tabele znajdują się w stanie
ustawiania integralności w toku, wydaj następujące zapytanie:
SQL3604N Tabela wyjątków nazwa-tabeli-wyjątków
SELECT TABSCHEMA, TABNAME, STATUS odpowiadająca tabeli nazwa-tabeli w
FROM SYSCAT.TABLES
instrukcji SET INTEGRITY lub narzędziu
WHERE STATUS = ’C’
ładującym nie ma właściwej struktury,
została zdefiniowana z unikalnymi
Aby określić, które odłączone tabele zostały utworzone przy
indeksami, regułami ograniczającymi,
użyciu instrukcji ALTER TABLE ... DETACH i nie są jeszcze
wygenerowanymi kolumnami lub
dostępne, wydaj następujące zapytanie:
wyzwalaczami albo znajduje się w stanie
SELECT TABSCHEMA, TABNAME, TYPE oczekiwania na SET INTEGRITY bądź jest
FROM SYSCAT.TABLES niepoprawnego typu. Kod przyczyny:
WHERE TYPE = ’L’ kod-przyczyny.

kod_sql: +3601 Objaśnienie:


Tabela wyjątków odpowiadająca danej tabeli musi mieć
stan_sql: 01586 podobną do niej definicję. Opcjonalne kolumny, które można
zdefiniować dla tabeli wyjątków, opisano w odpowiedniej
sekcji w dokumentacji tabel wyjątków. W tabeli wyjątków
SQL3602W Podczas sprawdzania danych program może nie być żadnych generowanych kolumn. Dla tabeli
wykrył naruszenia ograniczeń i przeniósł je wyjątków nie mogą być zdefiniowane żadne ograniczenia,
do tabel wyjątków. wyzwalacze ani indeksy unikalne. Sama tabela wyjątków nie
Objaśnienie: powinna być w stanie ustawiania integralności w toku. Tabela
Znaleziono wiersze, który naruszają ograniczenia, wyjątków nie może być partycjonowaną tabelą danych, tabelą
zdefiniowane dla tabeli, której sprawdzanie zostało określone grupowaną zakresowo ani tabelą odłączoną. Z tabelą wyjątków
w instrukcji SET INTEGRITY. Takie wiersze zostały nie mogą być związane żadne zmaterializowane tabele zapytań
przesunięte do tabeli wyjątków. typu REFRESH IMMEDIATE ani zależne tabele pomostowe
typu PROPAGATE IMMEDIATE, a sama tabela wyjątków
Działanie użytkownika: nie może być zmaterializowaną tabelą zapytania ani tabelą
W tabeli wyjątków sprawdź wiersze, które naruszają pomostową. Tabela wyjątków musi mieć tę samą strategię
ograniczenia. Wiersze zostały usunięte z oryginalnej tabeli, ale bezpieczeństwa i ten sam zestaw chronionych kolumn co
mogą zostać poprawione i przeniesione z powrotem z tabeli sprawdzana tabela.
wyjątków.
Kod przyczyny odpowiada jednej z następujących sytuacji:
kod_sql: +3602
1 Tabela wyjątków jest w stanie ustawiania
integralności w toku.
stan_sql: 01603
2 Struktura kolumn w tabeli wyjątków jest
niewłaściwa.
SQL3603N Podczas sprawdzania przetwarzania danych
za pomocą instrukcji SET INTEGRITY 3 Dla tabeli wyjątków zdefiniowane są ograniczenia.
wykryto naruszenie integralności związane z
ograniczeniem lub indeksem unikalnym o 4 Dla tabeli wyjątków zdefiniowane są wyzwalacze.
nazwie nazwa. 5 Dla tabeli wyjątków zdefiniowane są kolumny
Objaśnienie: generowane.
Znaleziono wiersz, w którym występuje naruszenie 6 Dla tabeli wyjątków zdefiniowane są indeksy
ograniczenia lub indeksu unikalnego zdefiniowanego dla tabeli unikalne.
sprawdzanej przy użyciu instrukcji SET INTEGRITY. Podana
nazwa nazwa to nazwa ograniczenia, nazwa generowanej 7 Tabela wyjątków jest zmaterializowaną tabelą
kolumny lub nazwa indeksu unikalnego. zapytania lub tabelą pomostową.

Działanie użytkownika: 8 Z tabelą wyjątków związane są zależne


Wierszy tych nie usunięto z tabeli, ponieważ użyto opcji FOR zmaterializowane tabele zapytań z natychmiastowym
EXCEPTION. odświeżaniem lub zależne tabele pomostowe z
natychmiastową propagacją.
Podczas sprawdzania danych zalecane jest przetwarzanie 9 Tabela wyjątków jest taka sama, jak tabela, do której
instrukcji SET INTEGRITY z opcją FOR EXCEPTION. Dane ładowane są dane.
mogą być poprawione na podstawie informacji z tabeli (tabel)
wyjątków. 10 Tabela wyjątków to tabela grupowana zakresowo.

Rozdział 2. Komunikaty SQL 403


SQL3605N • SQL3700W

11 Tabela wyjątków to partycjonowana tabela danych. kod_sql: -3606


12 Tabela wyjątków to tabela odłączona.
stan_sql: 428A7
13 Dla tabeli wyjątków nie jest używana ta sama
strategia bezpieczeństwa i ten sam zestaw
SQL3608N Nie można sprawdzić tabeli zależnej
chronionych kolumn, który używany jest dla
nazwa-tabeli-zależnej za pomocą instrukcji
sprawdzanej tabeli.
SET INTEGRITY, gdy tabela nadrzędna
Działanie użytkownika: lub tabela bazowa nazwa-tabeli-nadrzędnej
Utwórz tabelę wyjątków w sposób opisany w odpowiednich znajduje się w stanie oczekiwania na SET
paragrafach dokumentacji, a następnie ponownie uruchom INTEGRITY lub zostanie ustawiona w stan
instrukcję lub program narzędziowy. oczekiwania na SET INTEGRITY przez
instrukcję SET INTEGRITY.
kod_sql: -3604
Objaśnienie:
Aby można było sprawdzić tabelę zależną, tabela nadrzędna
stan_sql: 428A5 lub tabela bazowa nie może być w stanie ustawiania
integralności w toku ani przed ani po wykonaniu instrukcji
SQL3605N Tabeli nazwa-tabeli, której nazwa znajduje SET INTEGRITY albo musi być uwzględniona na liście
się w instrukcji SET INTEGRITY, nie ma wywołań.
na liście do sprawdzenia lub jest to tabela Działanie użytkownika:
wyjątków, określona więcej niż raz. Aby sprawdzić tabelę nadrzędną, wyprowadź ją ze stanu
Objaśnienie: ustawiania integralności w toku, wykonując instrukcję SET
Jeśli w instrukcji SET INTEGRITY zostanie określona INTEGRITY. Aby sprawdzić tabelę bazową, gdy tabela
klauzula FOR EXCEPTION, to błąd ten może być zależna jest zmaterializowaną tabelą zapytania lub tabelą
spowodowany następującymi czynnikami: pomostową, wyprowadź tę tabelę bazową ze stanu ustawiania
integralności w toku, wykonując instrukcję SET INTEGRITY.
v tabela nie została wymieniona na liście tabel do
sprawdzania,
Jeśli tabela zależna nie jest zmaterializowaną tabelą zapytania
v tabela, która ma być sprawdzana, jest tożsama z tabelą ani tabelą pomostową, zaleca się sprawdzenie najpierw tabeli
wyjątków, nadrzędnej. Możliwe jest także sprawdzenie tabeli zależnej i
v tę samą tabelę wyjątków podano dla więcej niż jednej umieszczenie tabeli nadrzędnej na liście wywołań. Wówczas
tabeli, która ma być sprawdzana. instrukcja może nadal kończyć się niepowodzeniem, jeśli w
tabeli nadrzędnej występują wiersze naruszające ograniczenie i
Działanie użytkownika:
wiersze te nie zostały usunięte i umieszczone w tabeli
Popraw nazwy tabel i wprowadź ponownie komendę.
wyjątków. Może się tak zdarzyć, jeśli nie została użyta opcja
FOR EXCEPTION.
kod_sql: -3605
Jeśli tabela zależna jest zmaterializowaną tabelą zapytania lub
stan_sql: 428A6
tabelą pomostową, zaleca się sprawdzenie najpierw tabeli
bazowej. Można również odświeżyć zależną zmaterializowaną
SQL3606N Występuje niezgodność między liczbą tabelę zapytania i uwzględnić tabelę bazową na liście
obecnie sprawdzanych tabel a liczbą tabel wywołań. Wówczas instrukcja może nadal kończyć się
wyjątków podanych w instrukcji SET niepowodzeniem, jeśli w tabeli nadrzędnej występują wiersze
INTEGRITY. naruszające ograniczenie i wiersze te nie zostały usunięte i
umieszczone w tabeli wyjątków. Może się tak zdarzyć, jeśli
Objaśnienie: nie została użyta opcja FOR EXCEPTION.
Między tabelami wyjątków a tabelami niebędącymi
zmaterializowanymi tabelami zapytań lub tabelami
W przypadku cyklu referencyjnego wszystkie tabele muszą
pomostowymi podanymi na liście wywołań musi być
być umieszczone na liście wywołań.
zachowana odpowiedniość jeden do jednego. Tabelom na
liście wywołań będącym zmaterializowanymi tabelami
kod_sql: -3608
zapytań lub tabelami pomostowymi nie mogą odpowiadać
tabele wyjątków.
stan_sql: 428A8
Działanie użytkownika:
Aby ponownie wykonać komendę, utwórz brakującą tabelę
wyjątków dla tabeli niebędącej zmaterializowaną tabelą SQL3700W Urządzenie urządzenie jest zapełnione.
zapytania ani tabelą pomostową, jeśli jeszcze nie istnieje, i Liczba innych aktywnych urządzeń to
uwzględnij ją na liście wywołań. Tabel wyjątków nie należy urządzenia-aktywne. Włóż nowy nośnik lub
określać w wypadku zmaterializowanych tabel zapytań i tabel podejmij odpowiednie działanie.
pomostowych. Objaśnienie:

404 Komunikaty, tom 2


SQL3701W • SQL3705N

Nośnik w podanym urządzeniu jest pełny. To urządzenie jest program narzędziowy UNLOAD i przesłanych do programu
jednym z urządzenia-aktywne + 1 urządzeń docelowych, do zapisującego, który zapisze je na nośniku docelowym.
których kierowane są rozładowywane dane.
Parametr typ może przyjmować następujące wartości:
Działanie użytkownika:
Wykonaj JEDNO z następujących działań: v 0 dla zwykłych danych
v załaduj do podanego urządzenia nowy nośnik docelowy i v 2 dla danych typu Long i informacji o przydziale pamięci
kontynuuj rozładowywanie uruchamiając program v 3 dla danych typu LOB
narzędziowy z działaniem programu wywołującego (caller v 4 dla informacji o przydziale pamięci dla obiektów LOB.
action) równym 1 (SQLU_CONTINUE)
LUB Dla danych Long i LOB nawet po zakończeniu
v jeżeli liczba urządzeń aktywnych urządzenia_aktywne jest rozładowywania xxx może być mniejsze niż yyy, ponieważ
różna od zera, kontynuuj rozładowywanie bez tego niewykorzystane miejsce nie jest usuwane z pamięci, ale
urządzenia, wywołując program UNLOAD z działaniem zostanie powtórnie utworzone przy ponownym ładowaniu
programu wywołującego równym 4 danych.
(SQLU_DEVICE_TERMINATE)
LUB Końcowy komunikat, w którym xxx = yyy może się nie
pojawić nawet dla zwykłych danych. Zamiast niego pojawia
v anuluj rozładowywanie wywołując program UNLOAD z
się komunikat 3105 informujący, że usunięcie z pamięci
działaniem programu wywołującego równym 2
zakończyło się pomyślnie.
(SQLU_TERMINATE).
Działanie użytkownika:
To jest komunikat informacyjny. Nie jest wymagane żadne
SQL3701W Podano parametr lobpaths, ale tablica nie
działanie.
zawiera żadnych danych typu LOB lub
Long. Parametr ten zostanie zignorowany.
SQL3704N Podany parametr num_buffers jest
Objaśnienie:
nieprawidłowy.
Parametr lobpaths określa osobne miejsce docelowe dla
danych typu LOB lub Long. Tablica nie zawiera żadnych Objaśnienie:
danych typu LOB lub Long, więc podane miejsca docelowe Parametr num_buffers określa liczbę buforów używanych
nie zostaną wykorzystane. przez program narzędziowy. Minimalna wartość wynosi 2,
jeżeli parametr lobpaths nie jest podany i 3 jeżeli parametr
Działanie użytkownika:
lobpaths jest podany. Jest to minimum wymagane, aby
Nie jest wymagane żadne działanie.
program narzędziowy mógł działać. Jednakże jest pewna
optymalna liczba buforów, których będzie używać program
SQL3702W Ostrzeżenie. Odebrano kod SQLCODE narzędziowy, jeżeli parametr ten nie zostanie podany. Ta
kod_sql dla urządzenia urządzenie. Program optymalna liczba opiera się na liczbie wewnętrznych procesów
rozładowujący będzie kontynuował uruchamianych przez program narzędziowy oraz na tym, czy
działanie bez tego urządzenia. podano parametr lobpaths. Jeżeli podana liczba procesów jest
mniejsza niż liczba optymalna, niektóre procesy będą musiały
Objaśnienie: czekać na możliwość użycia bufora. Z tego powodu zaleca się
Dla podanego urządzenia, które jest jednym z miejsc nadać temu parametrowi wartość 0 i pozwolić programowi
docelowych operacji rozładowywania, wykryto kod narzędziowemu wybrać potrzebną liczbę buforów. Parametru
SQLCODE kod_sql. Rozładowywanie będzie kontynuowane, tego należy użyć tylko w wypadku, gdy w związku z
ale urządzenie zostanie ignorowane. wielkością sterty programu narzędziowego konieczne jest
Działanie użytkownika: ograniczenie ilości pamięci używanej przez ten program.
Załadowany do podanego urządzenia nośnik nie będzie Działanie użytkownika:
zawierał żadnych rozładowywanych danych i nie powinien Wprowadź ponownie komendę używając prawidłowej
być wymieniany wraz z nośnikami wskazywanymi modułowi wartości parametru num_buffers.
ładującemu LOAD, kiedy rozładowane dane będą miały być
załadowane. Aby rozwiązać problem z urządzeniem, znajdź
zwrócony kod SQLCODE w podręczniku Komunikaty. SQL3705N Podany parametr określający wielkość
buforu jest niepoprawny. Podana wielkość
buforu musi wynosić 0 lub zawierać się w
SQL3703W xxx z yyy stron typu typ zostało przedziale od 8 do 250000 włącznie. Dla
rozładowanych i wysłanych do zapisania na kilku buforów ich całkowita wielkość nie
nośniku docelowym. może przekroczyć 250000.
Objaśnienie: Objaśnienie:
Usuwana z pamięci tablica składa się z yyy stron danych Aplikacja wywołująca program narzędziowy użyła
podanego typu. xxx z nich zostało przetworzonych przez nieprawidłowego parametru wielkości buforu. Parametr ten

Rozdział 2. Komunikaty SQL 405


SQL3706N • SQL3798W

służy do określenia wielkości buforu wewnętrznego. Jego W celu uzyskania dalszych informacji sprawdź kod błędu
wartość odpowiada liczbie stron o wielkości 4 kB, z których podany w komunikacie. Popraw błąd, jeśli jest to możliwe, i
składa się bufor. Może ona wynosić 0 lub być liczbą z zakresu ponownie wprowadź komendę.
od 8 do 250000 włącznie. Jeśli występuje więcej niż jeden
bufor, ich liczba pomnożona przez wielkość buforu nie może
SQL3784W Podczas odczytu z pliku położenia kopii
przekroczyć 250000.
napotkano nieprawidłowe dane. Wystąpił
błąd w wierszu nr-wiersza z typem błędu
Kiedy podaje się wartość 0:
typ_błędu.
v dla tablicy, dla której zwykłe dane są przechowywane w
obszarze tablicowym zarządzanym przez bazę danych, Objaśnienie:
domyślna wielkość bufora ma wartość określoną przez Podczas odtwarzania ładowania, w momencie odczytu z pliku
wielkość przydziału obszaru tablicowego albo 8, w położenia kopii napotkano nieprawidłowe dane. Zwrócono
zależności od tego, która z nich jest większa, numer wiersza i typ błędu. Program narzędziowy czeka na
reakcję użytkownika.
v dla tablicy, dla której zwykłe dane są przechowywane w
obszarze tablicowym zarządzanym przez system, domyślna Działanie użytkownika:
wielkość bufora ma wartość 8. Popraw dane w pliku położenia kopii i powróć do programu
narzędziowego podając prawidłową wartość parametru
Działanie użytkownika:
określającego działanie programu wywołującego, informującą,
Wprowadź ponownie komendę używając prawidłowej
czy przetwarzanie powinno być kontynuowane, czy
wielkości bufora.
zakończone.

SQL3706N Dla ścieżki ścieżka/plik wystąpił błąd


SQL3785N Odtwarzanie ładowania dla tabeli
zapełnienia dysku.
schemat.nazwa-tabeli o godzinie datownik w
Objaśnienie: węźle numer-węzła nie powiodło się z
Podczas przetwarzania programu narzędziowego bazy danych powodu błędu kod_sql z dodatkowymi
wystąpił błąd zapełnienia dysku. Program narzędziowy został informacjami dodatkowe-informacje.
zatrzymany.
Objaśnienie:
Działanie użytkownika: Podczas odtwarzania ładowania wystąpił poważny błąd.
Sprawdź, czy na dysku jest wystarczająco dużo miejsca dla Program narzędziowy zatrzymuje przetwarzanie.
programu narzędziowego lub skieruj jego wyjście na inny
nośnik, np. taśmę. (Uwaga: W przypadku serwera partycjonowanych baz danych
numer węzła określa węzeł, na którym wystąpił błąd. W
innych przypadkach numery węzłów nie są istotne i powinny
SQL3707N Podany parametr wielkości pamięci
zostać zignorowane).
sortowania wielkość1 nie jest poprawny.
Minimalna wymagana wielkość wynosi Działanie użytkownika:
wielkość2. W celu uzyskania dalszych informacji sprawdź kod błędu
podany w komunikacie. Podejmij działania naprawcze i
Objaśnienie:
ponownie wprowadź komendę.
Wielkość pamięci sortowania nie jest wystarczająca do
posortowania kluczy indeksów.
SQL3798W Użyto nieprawidłowej wartości dla
Działanie użytkownika:
parametru parametr, aby spowodować
Powtórz komendę podając prawidłową wielkość pamięci
kontynuowanie odtwarzania ładowania
sortowania.
przez funkcję API odtwarzania zmian.
Aby użyta pamięć dyskowa była jak najmniejsza, podaj jako Objaśnienie:
wartość parametru 0 (w celu użycia wielkości domyślnej). Trwa odtwarzanie ładowania i jeden z przekazanych
Jednak użycie pamięci większej niż minimum powinno parametrów jest nieprawidłowy w odniesieniu do bieżącego
zwiększyć efektywność sortowania. stanu tej operacji.
Działanie użytkownika:
SQL3783N Podczas otwierania pliku położenia kopii Popraw błędną wartość i powróć do programu narzędziowego
wystąpił błąd. Kod błędu otwarcia pliku podając prawidłową wartość parametru określającego
kod-błędu. działanie programu wywołującego, informującą, czy
przetwarzanie powinno być kontynuowane, czy zakończone.
Objaśnienie:
Podczas odtwarzania ładowania, w momencie otwierania pliku
położenia kopii wystąpił błąd. Zwrócony został kod powrotu
systemu operacyjnego dla otwarcia pliku.
Działanie użytkownika:

406 Komunikaty, tom 2


SQL3799W • SQL3805N

02 aplikacja nie jest na etapie rozpoczynania logicznej


SQL3799W Odtwarzanie ładowania dla tabeli
jednostki pracy; warunek ten wyklucza podane
schemat.nazwa-tabeli o godzinie datownik w
działanie ładowania
węźle numer-węzła oczekuje z powodu
ostrzeżenia kod_sql z dodatkowymi 03 stan aplikacji wyklucza podane działanie ładowania
informacjami dodatkowe-informacje.
04 obszar tablicowy (jeden lub więcej) dla danej tablicy
Objaśnienie: jest już wygaszony za pomocą maksymalnej liczby
Podczas odtwarzania ładowania wystąpiło ostrzeżenie. wygaszaczy
Program narzędziowy czeka na reakcję użytkownika.
05 obszar tablicowy katalogu systemowego nie może
być wygaszony
(Uwaga: W przypadku serwera partycjonowanych baz danych
numer węzła określa węzeł, na którym wystąpił błąd. W 06 kopiowanie ładowanych danych jest niedozwolone
innych przypadkach numery węzłów nie są istotne i powinny dla tablicy będącej w stanie składowania w toku
zostać zignorowane).
07 próba restartu ładowania w niewłaściwej fazie
Działanie użytkownika:
W celu uzyskania dalszych informacji sprawdź kod błędu 08 próba restartu operacji ładowania do tabeli, której
podany w komunikacie. Podejmij działania naprawcze i klucz partycjonowania zależy od kolumny
powróć do programu narzędziowego podając prawidłowy tożsamości, w sytuacji, gdy nie wszystkie partycje
parametr działania programu wywołującego, informujący, czy tabeli są restartowane z fazy ładowania; taka
przetwarzanie powinno być kontynuowane, czy zakończone. operacja ładowania jest niedozwolona, ponieważ
indeksowanie mieszające wierszy podczas
restartowanego ładowania może różnić się od
SQL3802N Nieprawidłowy tryb wygaszania indeksowania mieszającego w początkowej fazie
tryb-wygaszania. ładowania w związku z zależnością od kolumny
tożsamości.
Objaśnienie:
Do funkcji wygaszania interfejsu API przekazano Działanie użytkownika:
nieprawidłowy tryb wygaszania. Dla każdej z powyższych przyczyn podejmij odpowiednie
działanie:
Działanie użytkownika:
Wprowadź ponownie komendę podając prawidłowe parametry. 01 Powtórz komendę z prawidłowym działaniem
loadapi lub prawidłowym trybem wygaszania, albo
popraw stan obszarów tablicowych tablicy.
SQL3804N Nieprawidłowy indeks.
02 Powtórz komendę z prawidłowym działaniem
Objaśnienie:
ładowania lub zakończ bieżącą logiczną jednostkę
Podczas przetwarzania programu narzędziowego bazy danych
pracy komendą COMMIT albo ROLLBACK.
napotkano nieprawidłowy indeks.
03 Wprowadź ponownie komendę z poprawnym
Działanie użytkownika:
działaniem ładowania.
W celu określenia odpowiedniego sposobu ponownego
sprawdzenia poprawności indeksu i ponownego wprowadzenia 04 Ustal, które obszary tablicowe danej tablicy
komendy po usunięciu problemu należy zapoznać się z osiągnęły maksymalną liczbę wygaszaczy. Użyj
podręcznikiem Administration Guide. komendy QUIESCE RESET do tych obszarów
tablicowych.
SQL3805N Stan aplikacji lub co najmniej jednego 05 Wprowadź ponownie komendę dla tablicy, która nie
obszaru tabel dla określonej tabeli nie jest przechowywana w obszarze tablicowym
pozwala na działanie loadapi ani na katalogu systemowego.
quiescemode działanie. Kod przyczyny =
kod-przyczyny. 06 Wprowadź ponownie komendę pomijając parametr
kopiowania.
Objaśnienie:
Działanie loadapi (quiescemode albo callerac) przekazane do 07 Ustal, w jakiej fazie powinno być restartowane
funkcji ładowania interfejsu API pozostaje w konflikcie ze ładowanie, i wprowadź ponownie komendę podając
stanem aplikacji albo stanem jednego lub kilku obszarów prawidłową fazę.
tablicowych dla danej tablicy. 08 Zakończ operację ładowania za pomocą działania
TERMINATE, a następnie ponownie wprowadź
Możliwe kody przyczyny: pierwotną komendę ładowania.
01 stan jednego z obszarów tablicowych dla podanej
tablicy wyklucza działanie loadapi lub quiescemode

Rozdział 2. Komunikaty SQL 407


SQL3806N • SQL3916I

v Kod SQLCODE i podany kod przyczyny


SQL3806N Nie wyłączono wszystkich ograniczeń dla
tablicy, która ma zostać załadowana. v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe)
Objaśnienie:
v Plik śledzenia (jeśli jest to możliwe).
Dla tablicy, która ma zostać załadowana w momencie
wywołania funkcji API, istnieją włączone ograniczenia.
SQL3910I Sesja synchronizacyjna została zakończona
Działanie użytkownika:
pomyślnie.
Wprowadź ponownie komendę po wyłączeniu wszystkich
ograniczeń. Objaśnienie:
Działanie użytkownika:
SQL3807N Wygaszanie instancji lub bazy danych
nazwa jest w toku.
SQL3911I Testowa sesja synchronizacyjna została
Objaśnienie: zakończona pomyślnie.
Inny użytkownik wprowadził komendę wygaszenia i nie
została ona jeszcze zakończona. Objaśnienie:

Działanie użytkownika: Działanie użytkownika:


Czekaj, aż wygaszanie zostanie zakończone.
SQL3912I Komenda STOP została zakończona
SQL3808N Anulowanie wygaszenia instancji lub bazy pomyślnie.
danych nazwa jest w toku. Objaśnienie:
Objaśnienie: Działanie użytkownika:
Inny użytkownik wprowadził komendę anulowania
wygaszenia i nie została ona jeszcze zakończona.
SQL3913I Uruchomiono komendę STOP, lecz w tej
Działanie użytkownika: chwili nie jest aktywna żadna sesja
Czekaj, aż anulowanie wygaszenia zostanie zakończone. synchronizacyjna.
Objaśnienie:
SQL3901N Wystąpił błąd systemowy niebędący błędem
poważnym. Kod przyczyny: kod-przyczyny. Działanie użytkownika:

Objaśnienie:
Przetwarzanie zakończyło się z powodu niegroźnego błędu SQL3914I Nastąpiło przerwanie użytkownika. Sesja
systemowego. synchronizacyjna została zatrzymana
pomyślnie.
Działanie użytkownika:
Jeśli śledzenie było aktywne, wywołaj program Independent Objaśnienie:
Trace Facility z wiersza komend systemu operacyjnego. Działanie użytkownika:
Następnie skontaktuj się z przedstawicielem serwisu
technicznego i przekaż mu następujące informacje:
SQL3915I Nastąpiło przerwanie użytkownika przed
v Opis problemu
załadowaniem wyników do satelitarnego
v Kod SQLCODE i podany kod przyczyny serwera sterującego. Wyniki zostaną
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to przesłane podczas następnej sesji
możliwe) synchronizacyjnej.
v Plik śledzenia (jeśli jest to możliwe). Objaśnienie:
Działanie użytkownika:
SQL3902C Wystąpił błąd systemowy. Dalsza praca nie
jest możliwa. Kod przyczyny =
kod-przyczyny. SQL3916I Odebrano żądanie STOP. Sesja
synchronizacyjna została zatrzymana
Objaśnienie: pomyślnie.
Wystąpił błąd systemowy.
Objaśnienie:
Działanie użytkownika:
Jeśli śledzenie było aktywne, wywołaj program Independent Działanie użytkownika:
Trace Facility z wiersza komend systemu operacyjnego.
Następnie skontaktuj się z przedstawicielem serwisu
technicznego i przekaż mu następujące informacje:
v Opis problemu

408 Komunikaty, tom 2


SQL3917I • SQL3934W

satelitarna sterująca baza danych zawiera skrypty


SQL3917I Odebrano żądanie STOP przed
synchronizacyjne dla tego serwera.
załadowaniem wyników do satelitarnego
serwera sterującego. Wyniki zostaną
przesłane podczas następnej sesji SQL3931W Testowa sesja synchronizacyjna została
synchronizacyjnej. zakończona pomyślnie. Nie można jednak
znaleźć identyfikatora satelity w satelitarnej
Objaśnienie:
sterującej bazie danych.
Działanie użytkownika:
Objaśnienie:
Identyfikator satelity nie został poprawnie zdefiniowany na
SQL3918I Informacje o postępie synchronizacji zostały serwerze satelicie lub ten satelita nie został zdefiniowany w
odebrane pomyślnie. satelitarnej sterującej bazie danych.
Objaśnienie: Działanie użytkownika:
Jeśli używasz zmiennej rejestracyjnej DB2SATELLITEID,
Działanie użytkownika:
sprawdź, czy jest ona ustawiona na unikalny identyfikator dla
tego satelity. Jeśli jako identyfikatora satelity używasz
SQL3919I Odebrano żądanie STOP, zanim serwer identyfikatora używanego podczas logowania się do systemu
satelita mógł skontaktować się z operacyjnego, sprawdź, czy zalogowałeś się przy jego użyciu.
satelitarnym serwerem sterującym.
Synchronizacja została zatrzymana
SQL3932W Testowa sesja synchronizacyjna została
pomyślnie.
zakończona pomyślnie. Wersja aplikacji
Objaśnienie: satelitarnej nie została jednak ustawiona
lokalnie lub nie istnieje dla tej grupy na
Działanie użytkownika: satelitarnym serwerze sterującym.
Objaśnienie:
SQL3920I Wersja aplikacji na tym serwerze satelicie Wersja aplikacji na serwerze satelicie różni się wersji
nie jest zgodna z wersją dostępną dla grupy dostępnej dla tej grupy satelitów.
tego serwera. Nie można wykonać
synchronizacji. Działanie użytkownika:
Sprawdź, czy wersja aplikacji na serwerze satelicie jest
Objaśnienie: poprawnie ustawiona.
Zgłoszona przez serwer satelitę wersja aplikacji nie istnieje na
satelitarnym serwerze sterującym.
SQL3933W Testowa sesja synchronizacyjna została
Działanie użytkownika: zakończona pomyślnie. Wersja satelity nie
Skontaktuj się z przedstawicielem pomocy technicznej lub z jest jednak obsługiwana w danej wersji
administratorem systemu. satelitarnego serwera sterującego.
Objaśnienie:
SQL3921I Ten satelita został zablokowany na Wersja satelity może być o jeden poziom wyższa, albo o jeden
satelitarnym serwerze sterującym. Nie lub dwa poziomy niższa od wersji satelitarnego serwera
można wykonać synchronizacji. sterującego.
Objaśnienie: Działanie użytkownika:
Po wyłączeniu serwer satelita nie może zostać Skontaktuj się z przedstawicielem pomocy technicznej lub z
zsynchronizowany. administratorem systemu.
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z SQL3934W Testowa sesja synchronizacyjna została
administratorem systemu. zakończona pomyślnie. Satelita został
jednak zablokowany na satelitarnym
SQL3930W Nie istnieją żadne skrypty serwerze sterującym.
synchronizacyjne, które można uruchomić. Objaśnienie:
Objaśnienie: Satelita jest w stanie wyłączenia na satelitarnym serwerze
Żadne skrypty synchronizacyjne nie zostały załadowane do sterującym.
serwera satelity do wykonania. Działanie użytkownika:
Działanie użytkownika: Skontaktuj się z przedstawicielem pomocy technicznej lub z
Dodatkowe informacje znajdź w pomocy podręcznej lub administratorem systemu.
skontaktuj się z administratorem systemu, aby sprawdzić, czy

Rozdział 2. Komunikaty SQL 409


SQL3935W • SQL3951N

SQL3935W Testowa sesja synchronizacyjna została SQL3943N Identyfikator sesji synchronizacyjnej


zakończona pomyślnie. Satelita znajduje się przekracza maksymalną długość długość
jednak w stanie niepomyślnego zakończenia znaków.
na satelitarnym serwerze sterującym.
Objaśnienie:
Objaśnienie: Długość podanego identyfikatora sesji synchronizacji
Satelita jest w stanie niepomyślnego zakończenia na przekracza dopuszczalny limit długość znaków.
satelitarnym serwerze sterującym.
Działanie użytkownika:
Działanie użytkownika: Sprawdź, czy identyfikator nie ma więcej niż nnn znaków.
Skontaktuj się z przedstawicielem pomocy technicznej lub z
administratorem systemu.
SQL3944I Identyfikator sesji synchronizacyjnej dla
satelity ponownie został ustawiony
SQL3936W Nie są dostępne informacje o postępie. pomyślnie.
Objaśnienie: Objaśnienie:
Sesja synchronizacji nie osiągnęła stanu, w którym Identyfikator sesji dla satelity ponownie został ustawiony
protokołowane są informacje o postępie, lub nie ma żadnej pomyślnie.
aktywnej sesji synchronizacji dla tego satelity.
Działanie użytkownika:
Działanie użytkownika: Nie jest wymagane żadne działanie.
Upewnij się, że sesja synchronizacji jest aktywna lub spróbuj
później ponowić zapytanie dotyczące informacji o postępie.
SQL3945I Identyfikator sesji synchronizacyjnej dla
satelity został pobrany.
SQL3937W Wersja aplikacji dla tego satelity nie jest
Objaśnienie:
zgodna z wersją dostępną dla grupy satelity.
Identyfikator sesji dla satelity został znaleziony i poprawnie
Objaśnienie: zwrócony.
Satelita może być zsynchronizowany tylko z wersją aplikacji
Działanie użytkownika:
odpowiednią dla jego grupy. Wersja aplikacji dla tego satelity
Nie jest wymagane żadne działanie.
jest niedostępna dla jego grupy na satelitarnym serwerze
sterującym.
SQL3946N Operacja określania identyfikatora sesji
Działanie użytkownika:
synchronizacyjnej nie powiodła się.
Sprawdź, czy wersja aplikacji na serwerze satelicie jest
poprawnie ustawiona. Objaśnienie:
Operacja na identyfikatorze sesji synchronizacji nie powiodła
się; przyczyna nie jest znana.
SQL3938W Podczas wykonywania skryptu wystąpiło
przerwanie. Zatrzymano sesję Działanie użytkownika:
synchronizacyjną, ale satelita może Sprawdź, czy produkt został zainstalowany poprawnie. Jeśli
znajdować się w stanie niespójności. błąd wciąż występuje, skontaktuj się z serwisem DB2.
Objaśnienie:
Przerwanie wystąpiło podczas fazy wykonywania skryptu SQL3950N Sesja synchronizacyjna jest aktywna. Może
procesu synchronizacji. Zatrzymano sesję synchronizacyjną, być aktywna tylko jedna sesja
ale satelita może znajdować się w stanie niespójności, synchronizacyjna.
ponieważ skrypt mógł zostać zatrzymany w nieodpowiednim
miejscu. Objaśnienie:
W tym samym czasie może być aktywna tylko jedna sesja
Działanie użytkownika: synchronizacyjna.
Skontaktuj się z przedstawicielem pomocy technicznej lub z
administratorem systemu. Działanie użytkownika:
Przed inicjowaniem kolejnej sesji poczekaj, aż bieżąca sesja
synchronizacyjna zakończy się poprawnie.
SQL3942I Identyfikator sesji synchronizacyjnej dla
satelity został ustawiony pomyślnie.
SQL3951N Nie można znaleźć lokalnie identyfikatora
Objaśnienie: satelity.
Identyfikator sesji dla satelity został ustawiony pomyślnie.
Objaśnienie:
Działanie użytkownika: Logowanie się do systemu operacyjnego zostało pominięte lub
Nie jest wymagane żadne działanie. zmienna rejestracyjna DB2SATELLITEID nie została
ustawiona.

410 Komunikaty, tom 2


SQL3952N • SQL3960N

Działanie użytkownika:
SQL3956N Wersja aplikacji dla tego satelity nie jest
Jeśli jako identyfikatora satelity używasz identyfikatora
zdefiniowana lokalnie.
używanego podczas logowania się do systemu operacyjnego,
zaloguj się do systemu. Jeśli używasz zmiennej rejestracyjnej Objaśnienie:
DB2SATELLITEID, sprawdź, czy jest ona ustawiona na Wersja aplikacji dla tego satelity nie jest zdefiniowana lokalnie
unikalny identyfikator dla tego satelity. lub jest zdefiniowana niepoprawnie.
Działanie użytkownika:
SQL3952N Nie można znaleźć identyfikatora satelity na Sprawdź, czy wersja aplikacji jest ustawiona poprawnie.
satelitarnym serwerze sterującym.
Objaśnienie: SQL3957N Nie można się połączyć z satelitarną
Identyfikator satelity nie został poprawnie zdefiniowany na sterującą bazą danych z powodu awarii
serwerze satelicie lub ten satelita nie został zdefiniowany na komunikacji: SQLCODE=kod_sql,
satelitarnym serwerze sterującym. SQLSTATES=stan_sql, elementy =element1,
element2, element3.
Działanie użytkownika:
Jeśli używasz zmiennej rejestracyjnej DB2SATELLITEID, Objaśnienie:
sprawdź, czy jest ona ustawiona na unikalny identyfikator dla Podsystem komunikacyjny wykrył błąd. Dodatkowe
tego satelity. Jeśli jako identyfikatora satelity używasz informacje zawiera kod_sql.
identyfikatora używanego podczas logowania się do systemu
Działanie użytkownika:
operacyjnego, sprawdź, czy zalogowałeś się przy jego użyciu.
Skontaktuj się z przedstawicielem pomocy technicznej lub z
W przeciwnym wypadku dodatkowe informacje znajdź w
administratorem systemu.
pomocy podręcznej lub skontaktuj się z administratorem
systemu.
SQL3958N Wystąpił błąd podczas sesji synchronizacji:
SQLCODE=kod_sql, SQLSTATES=stan_sql,
SQL3953N Satelita został zablokowany na satelitarnym
elementy =element1, element2, element3.
serwerze sterującym.
Objaśnienie:
Objaśnienie:
Nieznany błąd został wykryty przez podsystem
Identyfikator satelity został zablokowany na satelitarnym
komunikacyjny. Dodatkowe informacje zawiera kod_sql.
serwerze sterującym.
Działanie użytkownika:
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z
Skontaktuj się z przedstawicielem pomocy technicznej lub z
administratorem systemu.
administratorem systemu.

SQL3959N Nie można uruchomić sesji synchronizacji z


SQL3954N Satelita ten znajduje się w stanie
powodu awarii komunikacji:
niepomyślnego zakończenia na satelitarnym
SQLCODE=kod_sql, SQLSTATES=stan_sql,
serwerze sterującym.
elementy =element1, element2, element3.
Objaśnienie:
Objaśnienie:
Satelita znajduje się w stanie niepomyślnego zakończenia,
Podsystem komunikacyjny wykrył błąd. Dodatkowe
ponieważ nie powiodła się poprzednia sesja synchronizacyjna.
informacje zawiera kod_sql.
Działanie użytkownika:
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z
Skontaktuj się z przedstawicielem pomocy technicznej lub z
administratorem systemu.
administratorem systemu.

SQL3955N Nazwa lub alias satelitarnej sterującej bazy


SQL3960N Nie można przesłać wyników do
danych nie może zostać znaleziony.
satelitarnego serwera sterującego z powodu
Objaśnienie: awarii komunikacji: SQLCODE=kod_sql,
Satelitarna sterująca baza danych nie została poprawnie SQLSTATES=stan_sql, elementy =element1,
wpisana do katalogu. element2, element3.
Działanie użytkownika: Objaśnienie:
Skontaktuj się ze stanowiskiem pomocy lub z administratorem Podsystem komunikacyjny wykrył błąd. Dodatkowe
systemu. informacje zawiera kod_sql.
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z
administratorem systemu.

Rozdział 2. Komunikaty SQL 411


SQL3961N • SQL3968N

Satelita nie może załadować skryptów potrzebnych do


SQL3961N Nie można wykonać uwierzytelniania na
synchronizacji satelity. Jednym z powodów może być to, że
satelitarnym serwerze sterującym.
serwer sterujący nie może utworzyć sparametryzowanego
Objaśnienie: skryptu o atrybutach satelity. Innym powodem może być
Podczas próby połączenia się z satelitarną sterującą bazą chwilowy brak możliwości wykonania żądania z powodu
danych został wykryty błąd uwierzytelniania. ograniczonych zasobów.
Działanie użytkownika: Działanie użytkownika:
Zdalny identyfikator użytkownika-administratora lub hasło Powtórz żądanie. Jeśli błąd się powtarza, dodatkowe
wymagane przy połączeniu z satelitarną sterującą bazą danych informacje można uzyskać, kontaktując się z pomocą
jest (są) niepoprawne. Podaj poprawny identyfikator telefoniczną albo z administratorem systemu.
użytkownika oraz hasło, dodatkowe informacje znajdź w
pomocy podręcznej lub skontaktuj się z administratorem
SQL3966N Sesja synchronizacyjna nie powiodła się.
systemu.
Kod przyczyny: kod-przyczyny.
Objaśnienie:
SQL3962N Nie można rozpocząć synchronizacji z
Sesja synchronizacji nie została pomyślnie zakończona ze
powodu błędu bazy danych:
względu na jedną z następujących przyczyn:
SQLCODE=kod_sql, SQLSTATES=stan_sql,
elementy =element1, element2, element3. v (01) brak informacji uwierzytelniającej,
v (02) brak skryptów wymaganych podczas synchronizacji,
Objaśnienie:
Na satelitarnym serwerze sterującym wystąpił błąd v (03) brak plików systemowych lub są uszkodzone,
uniemożliwiający synchronizację. v (04) błąd systemu uniemożliwia wykonanie skryptów.
Działanie użytkownika: Działanie użytkownika:
Spróbuj wykonać ponownie synchronizację. Jeśli błąd się Powtórz żądanie. Jeśli błąd się powtarza, dodatkowe
powtarza, dodatkowe informacje można uzyskać, kontaktując informacje można uzyskać, kontaktując się z pomocą
się z pomocą telefoniczną albo z administratorem systemu. telefoniczną albo z administratorem systemu.

SQL3963N Nie można przesłać wyników z powodu SQL3967N Nie można pobrać informacji o postępie
błędu bazy danych: SQLCODE=kod_sql, przetwarzania.
SQLSTATES=stan_sql, elementy =element1,
element2, element3. Objaśnienie:
Nie można pobrać informacji o postępie sesji
Objaśnienie: synchronizacyjnej tego satelity. Dane są uszkodzone lub nie
Wystąpił błąd podczas ładowania wyników do satelitarnego istnieją.
serwera sterującego.
Działanie użytkownika:
Działanie użytkownika: Jeśli sesja synchronizacji jest aktywna a informacje o postępie
Skontaktuj się z przedstawicielem pomocy technicznej lub z nie są dostępne, dodatkowe informacje znajdź w pomocy
administratorem systemu. podręcznej lub skontaktuj się z administratorem systemu.

SQL3964N Synchronizacja nie powiodła się, ponieważ SQL3968N Synchronizacja nie zakończyła się
wersja satelity nie jest obsługiwana przez pomyślnie, ponieważ wykonanie skryptu nie
satelitarny serwer sterujący. powiodło się. Wyniki zostały jednak
przesłane do satelitarnego serwera
Objaśnienie:
sterującego.
Wersja satelity może być o jeden poziom wyższa, albo o jeden
lub dwa poziomy niższa od wersji satelitarnego serwera Objaśnienie:
sterującego. Wystąpił błąd podczas wykonania jednego ze skryptów
synchronizacyjnych. Kod powrotu nie został zdefiniowany w
Działanie użytkownika:
zestawie kodów powodzenia lub wystąpił błąd podczas
Skontaktuj się z przedstawicielem pomocy technicznej lub z
wykonania.
administratorem systemu.
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z
SQL3965N Nie można pobrać skryptów synchronizacji
administratorem systemu.
z powodu awarii satelitarnego serwera
sterującego: SQLCODE=kod_sql,
SQLSTATES=stan_sql, elementy =element1,
element2, element3.
Objaśnienie:

412 Komunikaty, tom 2


SQL3969N • SQL4007N

SQL3969N Synchronizacja nie powiodła się, ponieważ SQL4003N Instrukcja SQL w wierszu wiersz nie jest
odebrano sygnał przerwania wykonywania obsługiwana przez tę wersję
skryptu. prekompilatora.
Objaśnienie: Objaśnienie:
Otrzymanie sygnału przerwania powoduje, że skrypt nie Wersja prekompilatora jest niezgodna z zainstalowaną wersją
zostaje wykonany. Nieprawidłowe zakończenie tego typu menedżera baz danych. Podana instrukcja jest obsługiwana
powoduje zakończenie sesji synchronizacji, ponieważ system przez menedżera baz danych, ale nie przez prekompilator.
może znajdować się w niespójnym stanie.
Nie można wykonać instrukcji.
Działanie użytkownika:
Skontaktuj się z przedstawicielem pomocy technicznej lub z Działanie użytkownika:
administratorem systemu. Powtórz prekompilację używając aktualnej wersji
prekompilatora.
SQL3970N Niepowodzenie sesji synchronizacji:
SQLCODE kod_sql, SQLSTATE stan_sql. SQL4004N Nieprawidłowa nazwa pakietu.
Błąd został wykryty w miejscu miejsce.
Objaśnienie:
Objaśnienie: Nazwa pakietu zawiera nieprawidłowe znaki. Nazwa jest zbyt
Z powodu nieznanego błędu wykonanie skryptu nie powiodło długa albo z opcją PACKAGE nie podano żadnej nazwy.
się.
Działanie użytkownika: Nie utworzono pakietu.
Skontaktuj się z przedstawicielem pomocy technicznej lub z Działanie użytkownika:
administratorem systemu. Wprowadź ponownie komendę z prawidłową nazwą pakietu
lub bez opcji PACKAGE.
SQL4001N Znak znak w kolumnie kolumna w wierszu
wiersz jest niepoprawny. SQL4005N Znaleziono niepoprawny element element
Objaśnienie: rozpoczynający się na pozycji pozycja w
Podany znak nie jest prawidłowym znakiem w instrukcjach wierszu wiersz.
SQL. Objaśnienie:
Dla podanego znacznika znacznik wykryto błąd składni w
Nie można wykonać instrukcji. instrukcji SQL.
Działanie użytkownika:
Usuń lub zamień nieprawidłowy znak. Nie można wykonać instrukcji.
Działanie użytkownika:
SQL4002N Elementy element-1 i element-2 są Sprawdź instrukcję, szczególnie w okolicy podanego
niezadeklarowanymi zmiennymi języka znacznika. Popraw składnię.
macierzystego, których łącznie nie można
używać jako nazw deskryptora w SQL4006N Struktury są zbyt głęboko zagnieżdżone.
pojedynczej instrukcji SQL.
Objaśnienie:
Objaśnienie: Liczba zagnieżdżeń struktur przekracza wartość maksymalną
Podane identyfikatory nie zostały zadeklarowane jako zmienne równą 25.
języka bazowego. Nazwy deskryptorów nie zostały
zadeklarowane przed użyciem. Ponieważ więcej niż jedna Nie można wykonać instrukcji.
nazwa deskryptora w pojedynczej instrukcji jest niepoprawna,
co najmniej jedna ze zmiennych języka bazowego jest Działanie użytkownika:
niepoprawna. Zmniejsz liczbę zagnieżdżeń struktur.

Nie można wykonać instrukcji. SQL4007N Struktura hosta struktura-hosta nie zawiera
Działanie użytkownika: pól.
Popraw użycie nazw deskryptorów lub niezadeklarowanych Objaśnienie:
zmiennych języka bazowego w instrukcji. Zauważ, że Nie można znaleźć pól wewnątrz struktury hosta
instrukcja może zawierać dodatkowe niezadeklarowane struktura-hosta.
zmienne języka bazowego.
Nie można wykonać instrukcji.
Działanie użytkownika:
Dodaj pole do struktury hosta.

Rozdział 2. Komunikaty SQL 413


SQL4008N • SQL4015N

v UPDATE z ustawianiem
SQL4008N Do zmiennej języka bazowego nazwa nie
można się jednoznacznie odwołać nawet z v UPDATE z wyszukiwaniem
pełnym kwalifikatorem. Działanie użytkownika:
Objaśnienie: Powtórz prekompilację bez nieprawidłowej podinstrukcji.
Nazwa zmiennej języka bazowego odpowiada co najmniej
jednej innej nie kwalifikowanej lub częściowo kwalifikowanej kod_sql: -4011
poprawnej zmiennej języka bazowego, nawet po odwołaniu się
do niej z pełnym kwalifikatorem. stan_sql: 42910

Nie można wykonać komendy.


SQL4012N Nieprawidłowe użycie COMMIT w złożonej
Działanie użytkownika: instrukcji SQL.
Zmień nazwę zmiennej języka bazowego.
Objaśnienie:
Błąd ten jest zwracany, gdy wykryta zostanie podinstrukcja po
SQL4009N Wyrażenie określające długość danych jest podinstrukcji COMMIT w instrukcji COMPOUND SQL.
niepoprawne.
Działanie użytkownika:
Objaśnienie: Umieść podinstrukcję COMMIT po wszystkich
Wyrażenie określające długość danych ma błędną składnię lub podinstrukcjach i powtórz prekompilację.
jest zbyt złożone.
SQL4013N Znaleziono instrukcję END COMPOUND
Nie można wykonać instrukcji. bez wcześniejszej instrukcji BEGIN
Działanie użytkownika: COMPOUND.
Sprawdź składnię wyrażenia. Objaśnienie:
Błąd ten jest zwracany po znalezieniu instrukcji END
SQL4010N Niedozwolone zagnieżdżenie złożonej COMPOUND bez poprzedzającej instrukcji BEGIN
instrukcji SQL. COMPOUND.

Objaśnienie: Działanie użytkownika:


Błąd ten jest zwracany po wykryciu klauzuli BEGIN Usuń instrukcję END COMPOUND albo dodaj instrukcję
COMPOUND jako podinstrukcji w złożonej instrukcji SQL. BEGIN COMPOUND i powtórz prekompilację.

Działanie użytkownika:
Powtórz prekompilację bez zagnieżdżania klauzuli BEGIN SQL4014N Nieprawidłowa składnia złożonej instrukcji
COMPOUND. SQL.
Objaśnienie:
SQL4011N Nieprawidłowa podinstrukcja SQL w Błąd ten jest zwracany, gdy złożona instrukcja SQL zawiera
złożonej instrukcji SQL. błąd składni. Możliwe przyczyny to:
v brakująca instrukcja END COMPOUND
Objaśnienie:
Błąd ten jest zwracany po wykryciu nieprawidłowej v jedna z podinstrukcji jest pusta (zerowa długość lub nic).
podinstrukcji w złożonej instrukcji SQL. Poprawne instrukcje Działanie użytkownika:
to: Popraw błąd składniowy i powtórz prekompilację.
v ALTER TABLE
v COMMENT ON SQL4015N Podczas zewnętrznego przetwarzania
v CREATE INDEX wstępnego wystąpił jeden lub więcej błędów.
v CREATE TABLE Objaśnienie:
v CREATE VIEW Zewnętrzny preprocesor zakończył się jednym lub wieloma
v DELETE z ustawianiem błędami.
v DELETE z wyszukiwaniem
Nie można wykonać komendy.
v DROP
v GRANT Działanie użytkownika:
Więcej szczegółów zawiera plik “.err” odpowiadający danemu
v INSERT plikowi źródłowemu.
v LOCK TABLE
v REVOKE
v SELECT INTO

414 Komunikaty, tom 2


SQL4016N • SQL4104W

Działanie użytkownika:
SQL4016N Nie znaleziono podanego preprocesora.
Zastąp bieżący typ danych zmiennej języka macierzystego
Objaśnienie: typem danych podanym w komunikacie.
Nie znaleziono preprocesora określonego za pomocą opcji
PREPROCESSOR.
SQL4100I Składnia języka SQL typ-flagi-sql jest
wykorzystywana do sprawdzania składni
Nie można wykonać komendy.
przez flagger.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy składnia opcji PREPROCESSOR jest poprawna
Instrukcja SQL, która została sprawdzona przez prekompilator,
oraz czy preprocesor może być uruchomiony z katalogu
zostanie sprawdzona przez flagger pod względem poprawności
bieżącego.
podanej składni. Dla instrukcji, w której wystąpi odstępstwo
składni, zostanie wyświetlony komunikat.
SQL4017W Przetwarzanie wstępne zakończyło się
pomyślnie. Przetwarzanie będzie kontynuowane.
Objaśnienie: Działanie użytkownika:
Przetwarzanie wstępne pliku wejściowego przy użyciu Nie jest potrzebne żadne działanie. To jest komunikat
zewnętrznej komendy podanej za pomocą opcji informacyjny.
PREPROCESSOR zakończyło się pomyślnie.
Działanie użytkownika: SQL4102W W elemencie zaczynającym się tekstem tekst
Nie jest wymagane żadne działanie. wystąpiło odchylenie od składni SQL.
Objaśnienie:
SQL4018W Uruchamianie przetwarzania wstępnie Flagger wykrył odstępstwo od składni języka SQL podanej w
przetworzonego pliku opcji prekompilatora SQLFLAG.
wstępnie-przetwarzany-plik.
Przetwarzanie będzie kontynuowane.
Objaśnienie:
Prekompilator przetwarza wstępnie przetworzony plik. Działanie użytkownika:
Popraw instrukcję SQL.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL4103W Instrukcja definiująca dane nie znajduje się
wewnątrz instrukcji CREATE SCHEMA.
SQL4019W Zakończono przetwarzanie wstępnie
przetworzonego pliku Objaśnienie:
wstępnie-przetworzony-plik. Standardy FIPS wymagają, żeby wszystkie instrukcje
definiujące dane były zawarte wewnątrz instrukcji CREATE
Objaśnienie:
SCHEMA.
Prekompilator zakończył przetwarzanie wstępnie
przetworzonego pliku.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Działanie użytkownika:
Popraw instrukcję SQL.

SQL4020N Zmienna języka bazowego ’long’ element-1


nie jest poprawna. Użyj zamiast niej SQL4104W Niestandardowy komentarz.
zmiennej ’sqlint32’. Objaśnienie:
Objaśnienie: Umieszczony w instrukcji SQL komentarz nie spełnia
Jeśli stosowana jest opcja LONGERROR YES prekompilacji, wymagań stosowanego standardu. Komentarz nie rozpoczyna
lub nie została określona opcja LONGERROR prekompilacji, się od przynajmniej dwóch następujących po sobie myślników.
a na platformie używane są 8-bajtowe liczby typu ’long’, to
zmienna języka bazowego INTEGER musi być zadeklarowana Przetwarzanie będzie kontynuowane.
jako typ ’sqlint32’, a nie jako typ ’long’. Działanie użytkownika:
Popraw instrukcję SQL.
Na platformie 64 bitowej z 8-bajtowymi typami ’long’ można
użyć opcji LONGERROR NO prekompilacji, aby określić, że
dla danych typu BIGINT można użyć zmiennych języka
bazowego typu ’long’. Aby uzyskać maksymalną przenośność,
zaleca się dla danych typu INTEGER i BIGINT używanie
odpowiednio typów danych ’sqlint32’ i ’sqlint64’.

Rozdział 2. Komunikaty SQL 415


SQL4105W • SQL4113W

v Odwołanie COLUMN REFERENCE dla funkcji


SQL4105W Wystąpiło odstępstwo składniowe SQL.
DISTINCT SET FUNCTION nie może odwoływać się do
Instrukcja jest niepełna.
kolumny wynikającej ze specyfikacji SET FUNCTION
Objaśnienie: SPECIFICATION.
Instrukcja SQL została przerwana zanim znaleziono wszystkie v Odwołanie COLUMN REFERENCE w wyrażeniu VALUE
wymagane elementy. EXPRESSION dla funkcji ALL SET FUNCTION nie może
odwoływać się do kolumny wynikającej ze specyfikacji
Przetwarzanie będzie kontynuowane. SET FUNCTION SPECIFICATION.
Działanie użytkownika:
Popraw instrukcję SQL. Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
SQL4106W Identyfikator identyfikator ma więcej niż 18 Popraw instrukcję SQL.
znaków.
Objaśnienie: SQL4110W Wyrażenie VALUE EXPRESSION
ID autoryzowanego użytkownika, identyfikator tabeli, nazwa zawierające kolumnę nie może zawierać
kolumny, nazwa korelacji, nazwa modułu, nazwa kursora, operatorów.
nazwa procedury lub nazwa parametru ma długość Objaśnienie:
przekraczającą 128 bajtów. Wyrażenie VALUE EXPRESSION nie może zawierać
operatorów w odwołaniu OUTER REFERENCE COLUMN
Przetwarzanie będzie kontynuowane. REFERENCE.
Działanie użytkownika:
Popraw instrukcję SQL. Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
SQL4107W Nieprawidłowy atrybut długości, Popraw instrukcję SQL.
dokładności lub skali dla kolumny kolumna.
Objaśnienie: SQL4111W Brakujące lub nieodpowiednie odwołanie
Nie został spełniony jeden z poniższych warunków: COLUMN REFERENCE dla funkcji
kolumnowej funkcja ze słowem kluczowym
v długość powinna być większa od zera,
ALL.
v dokładność powinna być większa od zera,
Objaśnienie:
v skala nie powinna być większa niż dokładność.
Wyrażenie VALUE EXPRESSION specyfikacji ALL SET
FUNCTION SPECIFICATION powinno zawierać odwołanie
Przetwarzanie będzie kontynuowane. COLUMN REFERENCE.
Działanie użytkownika:
Popraw instrukcję SQL. Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
SQL4108W Zmienna indykacyjna jest typu innego niż Popraw instrukcję SQL.
ścisły liczbowy lub ma niezerową skalę.
Objaśnienie: SQL4112W Kolumna kolumna nie jest jednoznaczna i
Typ danych zmiennej indykacyjnej powinien być ścisłym wymaga kwalifikacji.
typem liczbowym z zerową skalą.
Objaśnienie:
Wewnątrz bieżącego zasięgu podana kolumna nie jest
Przetwarzanie będzie kontynuowane. unikalna. Aby jednoznacznie zidentyfikować wymaganą
Działanie użytkownika: kolumnę, konieczna jest kwalifikacja.
Popraw instrukcję SQL.
Przetwarzanie będzie kontynuowane.
SQL4109W Specyfikacja SET FUNCTION Działanie użytkownika:
SPECIFICATION odwołuje się do kolumny Popraw instrukcję SQL.
kolumna.
Objaśnienie: SQL4113W Wyrażenie VALUE EXPRESSION nie może
Nie został spełniony jeden z poniższych warunków: zawierać specyfikacji SET FUNCTION
SPECIFICATION.
Objaśnienie:

416 Komunikaty, tom 2


SQL4114W • SQL4120W

Wyrażenie VALUE EXPRESSION dla funkcji ALL SET v Pierwszy znak po operatorze jednoargumentowym nie może
FUNCTION nie może zawierać specyfikacji SET FUNCTION być znakiem plus ani minus.
SPECIFICATION. v Wyrażenie VALUE EXPRESSION nie może zawierać
operatorów, jeżeli wyrażenie pierwotne (PRIMARY) jest
Przetwarzanie będzie kontynuowane. łańcuchem znaków.
Działanie użytkownika:
Popraw instrukcję SQL. Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
SQL4114W Kolumna kolumna nie identyfikuje kolumny Popraw instrukcję SQL.
tablicy wewnątrz bieżącego zasięgu.
Objaśnienie: SQL4118W Wyrażenie EXPRESSION typu
Nie został spełniony jeden z poniższych warunków: typ-wyrażenia porównuje niezgodne typy
danych.
v nazwa tablicy lub korelacji, użyta jako kwalifikator, nie
istnieje, Objaśnienie:
v nazwa kolumny nie istnieje wewnątrz bieżącego zasięgu lub Typy danych w jednym z poniższych wyrażeń
zasięgu kwalifikatora. (identyfikowanym przez typ-wyrażenia) nie są zgodne:
v typ-wyrażenia = COMPARISON - operatory porównania
Przetwarzanie będzie kontynuowane. muszą być zgodne
Działanie użytkownika: v typ-wyrażenia = BETWEEN - trzy wyrażenia VALUE
Popraw instrukcję SQL. EXPRESSION muszą być zgodne
v typ-wyrażenia = IN - wyrażenie VALUE EXPRESSION,
podzapytanie i wszystkie specyfikacje VALUE
SQL4115W Funkcja kolumnowa zawierająca kolumnę SPECIFICATION muszą być zgodne
OUTER REFERENCE kolumna nie
znajduje się w podzapytaniu klauzuli v typ-wyrażenia = QUANTIFIED - wyrażenie VALUE
HAVING. EXPRESSION i podzapytanie muszą być zgodne.

Objaśnienie: Przetwarzanie będzie kontynuowane.


Jeśli funkcja kolumnowa zawiera odwołanie OUTER
REFERENCE COLUMN REFERENCE, musi występować w Działanie użytkownika:
podzapytaniu dla klauzuli HAVING. Popraw instrukcję SQL.

Przetwarzanie będzie kontynuowane. SQL4119W Operand predykatu LIKE nie jest


Działanie użytkownika: łańcuchem znaków.
Popraw instrukcję SQL. Objaśnienie:
Nie został spełniony jeden z poniższych warunków:
SQL4116W Wynikiem funkcji SUM lub AVG nie może v typem danych kolumny predykatu LIKE nie jest łańcuch
być łańcuch znaków. znaków
Objaśnienie: v typem danych wzorca predykatu LIKE nie jest łańcuch
Łańcuch znaków nie jest prawidłowym wynikiem funkcji znaków.
SUM lub AVG określonych w SET FUNCTION
SPECIFICATION. Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
Przetwarzanie będzie kontynuowane. Popraw instrukcję SQL.
Działanie użytkownika:
Popraw instrukcję SQL. SQL4120W Znak ESCAPE musi być jednobajtowym
łańcuchem znaków.
SQL4117W Operator operator jest niepoprawny w tym Objaśnienie:
kontekście. Znak ESCAPE predykatu LIKE musi być łańcuchem znaków
Objaśnienie: o długości 1.
Nie został spełniony jeden z poniższych warunków:
Przetwarzanie będzie kontynuowane.
v Wyrażenie VALUE EXPRESSION zawierające funkcję
DISTINCT SET FUNCTION nie może zawierać Działanie użytkownika:
operatorów dwuargumentowych. Popraw instrukcję SQL.

Rozdział 2. Komunikaty SQL 417


SQL4121W • SQL4128W

SQL4121W Klauzula WHERE, klauzula GROUP BY SQL4125W Jeśli w klauzuli WHERE użyto funkcji
lub klauzula HAVING jest niepoprawna dla kolumnowej, to klauzula ta musi być
zgrupowanego widoku zawarta w klauzuli HAVING.
nazwa-schematu.widok.
Objaśnienie:
Objaśnienie: Jeżeli wyrażenie VALUE EXPRESSION zawarte
Jeżeli wymieniona w klauzuli FROM tablica jest widokiem z bezpośrednio w warunku SEARCH CONDITION jest funkcją
klauzulą GROUP, to wyrażenie TABLE EXPRESSION musi kolumnową, wówczas klauzula WHERE musi być zawarta w
zawierać klauzulę WHERE, GROUP BY lub HAVING. klauzuli HAVING.

Przetwarzanie będzie kontynuowane. Przetwarzanie będzie kontynuowane.


Działanie użytkownika: Działanie użytkownika:
Popraw instrukcję SQL. Popraw instrukcję SQL.

SQL4122W nazwa-schematu.nazwa występuje więcej niż SQL4126W Odwołanie COLUMN REFERENCE do


raz w klauzuli FROM. kolumny musi być odwołaniem OUTER
REFERENCE.
Objaśnienie:
Nie został spełniony jeden z poniższych warunków: Objaśnienie:
v nazwa tablicy występuje w klauzuli FROM więcej niż raz Jeżeli wyrażenie VALUE EXPRESSION zawarte
bezpośrednio w warunku SEARCH CONDITION jest funkcją,
v nazwa korelacji jest identyczna z nazwą tablicy lub innej
wówczas odwołanie COLUMN REFERENCE w wyrażeniu
korelacji w klauzuli FROM.
funkcji kolumnowej musi być odwołaniem OUTER
REFERENCE.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika: Przetwarzanie będzie kontynuowane.
Popraw instrukcję SQL.
Działanie użytkownika:
Popraw instrukcję SQL.
SQL4123W W klauzuli FROM w przypadku widoku z
klauzulą GROUP może wystąpić tylko
SQL4127W Powtórzona kolumna kolumna wewnątrz
jedno odwołanie do tabeli.
bieżącego zasięgu.
Objaśnienie:
Objaśnienie:
Jeżeli tablica identyfikowana przez nazwę tablicy jest
Podana kolumna jest powtórzona wewnątrz bieżącego zasięgu.
widokiem z klauzulą GROUP, wówczas klauzula FROM może
zawierać dokładnie jedno odwołanie do tablicy.
Przetwarzanie będzie kontynuowane.
Przetwarzanie będzie kontynuowane. Działanie użytkownika:
Popraw instrukcję SQL.
Działanie użytkownika:
Popraw instrukcję SQL.
SQL4128W Odwołanie COLUMN REFERENCE dla
kolumny nazwa-kolumny powinno być
SQL4124W Odwołanie do kolumny kolumna uzyskanej z
kolumną grupowania lub powinno być
funkcji kolumnowej jest niepoprawne w
określone w obrębie funkcji kolumnowej.
klauzuli WHERE.
Objaśnienie:
Objaśnienie:
Każde odwołanie COLUMN REFERENCE zawarte w
Wyrażenie VALUE EXPRESSION zawarte bezpośrednio w
podzapytaniu w warunku SEARCH CONDITION klauzuli
warunku SEARCH CONDITION klauzuli WHERE nie może
HAVING musi być odwołaniem do kolumny z klauzuli
zawierać odwołania do kolumny uzyskanej z funkcji
GROUP lub musi być podane wewnątrz funkcji kolumnowej.
kolumnowej.
Przetwarzanie będzie kontynuowane.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
Działanie użytkownika:
Popraw instrukcję SQL.
Popraw instrukcję SQL.

418 Komunikaty, tom 2


SQL4129W • SQL4135W

SQL4129W Parametr DEGREE tabeli SQL4132W Słowo DISTINCT zostało podane więcej niż
nazwa-schematu.tabela powinien być równy raz.
1 w przypadku korzystania z instrukcji
Objaśnienie:
SELECT LIST of *.
Nie został spełniony jeden z poniższych warunków:
Objaśnienie: v słowo DISTINCT nie może być podane więcej niż raz w
Stopień DEGREE wyrażenia TABLE EXPRESSION musi specyfikacji QUERY SPECIFICATION, wyłączając
wynosić 1, jeżeli w podzapytaniu każdego predykatu, z wszystkie podzapytania specyfikacji QUERY
wyjątkiem EXISTS, podaną listą SELECT LIST jest *. SPECIFICATION
v słowo DISTINCT nie może być podane więcej niż raz w
Przetwarzanie będzie kontynuowane.
podzapytaniu, za wyjątkiem wszystkich podzapytań
Działanie użytkownika: zawartych w tym podzapytaniu.
Popraw instrukcję SQL.
Przetwarzanie będzie kontynuowane.
SQL4130W Funkcja kolumnowa jest niepoprawna dla Działanie użytkownika:
wyrażenia TABLE EXPRESSION Popraw instrukcję SQL.
rozpoczynającego się od tabeli
nazwa-schematu.tabela.
SQL4133W Podzapytanie w predykacie COMPARISON
Objaśnienie: PREDICATE nie może zawierać klauzuli
Nie został spełniony jeden z poniższych warunków: GROUP BY ani HAVING.
v jeżeli wyrażenie TABLE EXPRESSION jest widokiem z Objaśnienie:
klauzulą GROUP, to lista SELECT LIST dla podzapytania Jeżeli w predykacie COMPARISON PREDICATE podano
nie może zawierać specyfikacji SET FUNCTION podzapytanie, to wyrażenie TABLE EXPRESSION, którego
SPECIFICATION klauzula FROM identyfikuje wymienioną tablicę, nie może
v jeżeli wyrażenie TABLE EXPRESSION jest widokiem z zawierać klauzuli GROUP BY ani HAVING.
klauzulą GROUP, to lista SELECT LIST dla specyfikacji
QUERY SPECIFICATION nie może zawierać funkcji Przetwarzanie będzie kontynuowane.
kolumnowej.
Działanie użytkownika:
Popraw instrukcję SQL.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
SQL4134W Podzapytanie COMPARISON
Popraw instrukcję SQL.
PREDICATE nie może zidentyfikować
zgrupowanego widoku.
SQL4131W Odwołanie COLUMN REFERENCE do
Objaśnienie:
kolumna jest niepoprawne.
Jeżeli w predykacie COMPARISON PREDICATE podano
Objaśnienie: zapytanie, to wyrażenie TABLE EXPRESSION którego
Nie został spełniony jeden z poniższych warunków: klauzula FROM wymienia konkretną tablicę, nie może odnosić
v Dla tablicy z klauzulą GROUP odwołanie COLUMN się do widoku z klauzulą GROUP.
REFERENCE musi odwoływać się do kolumny z klauzuli
GROUP albo do kolumny podanej w specyfikacji SET Przetwarzanie będzie kontynuowane.
FUNCTION SPECIFICATION. Działanie użytkownika:
v Jeżeli tablica nie ma klauzuli GROUP i wyrażenie VALUE Popraw instrukcję SQL.
EXPRESSION zawiera specyfikację SET FUNCTION
SPECIFICATION, wówczas każde odwołanie COLUMN
REFERENCE musi być podane wewnątrz specyfikacji SET SQL4135W Nieprawidłowy identyfikator
FUNCTION SPECIFICATION. AUTHORIZATION IDENTIFIER authid.
Objaśnienie:
Przetwarzanie będzie kontynuowane. Identyfikator AUTHORIZATION IDENTIFIER
poprzedzający nazwę tablicy jest nieprawidłowy.
Działanie użytkownika:
Popraw instrukcję SQL.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika:
Popraw instrukcję SQL.

Rozdział 2. Komunikaty SQL 419


SQL4136W • SQL4144W

Zanotuj numer komunikatu (SQLCODE), nazwę modułu i kod


SQL4136W Tabela lub widok nazwa-schematu.nazwa już
błędu. Skontaktuj się z przedstawicielem serwisu technicznego
istnieje.
i przekaż mu te informacje.
Objaśnienie:
Podana nazwa tablicy lub widoku już istnieje w katalogu.
SQL4141W Wystąpił błąd podczas próby
wygenerowania komunikatu
Przetwarzanie będzie kontynuowane.
numer-komunikatu w module nazwa-modułu.
Działanie użytkownika:
Objaśnienie:
Popraw instrukcję SQL.
FLAGGER usiłował wyświetlić niezdefiniowany komunikat.

SQL4137W Brak definicji COLUMN DEFINITION. Przetwarzanie będzie kontynuowane.


Objaśnienie: Działanie użytkownika:
Dla instrukcji CREATE TABLE powinna być podana Zanotuj numer komunikatu (SQLCODE), nazwę modułu i kod
przynajmniej jedna definicja COLUMN DEFINITION. błędu. Skontaktuj się z przedstawicielem serwisu technicznego
i przekaż mu te informacje.
Przetwarzanie będzie kontynuowane.
Działanie użytkownika: SQL4142W Brak pamięci potrzebnej do działania
Popraw instrukcję SQL. flaggera. Kod błędu wewnętrznego =
kod-błędu.
SQL4138W Typ danych typ1 obiektu docelowego jest Objaśnienie:
niezgodny z typem danych typ2 źródła. Brak pamięci potrzebnej do działania flaggera. Jeżeli podano
również opcję składni, pliku wiązania lub pakietu,
Objaśnienie: przetwarzanie jest kontynuowane, ale działanie flaggera
Typy danych powinny być zgodne: zostaje przerwane. W przeciwnym razie przetwarzanie zostaje
v w instrukcji FETCH, źródłowy z docelowym przerwane.
v w instrukcji SELECT, źródłowy z docelowym. Działanie użytkownika:
Sprawdź, czy w systemie jest wystarczająca ilość pamięci
Przetwarzanie będzie kontynuowane. wirtualnej i rzeczywistej oraz usuń wszystkie niepotrzebne
Działanie użytkownika: procesy pracujące w tle.
Popraw instrukcję SQL.
SQL4143W Podczas zwalniania pamięci flaggera
SQL4139W Dla tabeli nazwa-schematu.tabela należy wystąpił błąd. Kod błędu wewnętrznego =
określić parametr VIEW COLUMN LIST. kod-błędu.

Objaśnienie: Objaśnienie:
Jeżeli dowolne dwie kolumny w tablicy podanej w Flagger nie może zwolnić przydzielonej mu pamięci. Jeżeli
specyfikacji QUERY SPECIFICATION mają takie same podano również opcję składni, pliku wiązania lub pakietu,
nazwy kolumn lub jeśli dowolna z kolumn tej tablicy nie ma przetwarzanie jest kontynuowane, ale działanie flaggera
nazwy, wówczas należy podać listę VIEW COLUMN LIST. zostaje przerwane. W przeciwnym razie przetwarzanie zostaje
przerwane.
Przetwarzanie będzie kontynuowane. Działanie użytkownika:
Działanie użytkownika: Jeżeli ustawienie flag jest konieczne, ponownie uruchom
Popraw instrukcję SQL. prekompilację.

SQL4140W Wystąpił błąd, który spowodował SQL4144W Przy wywołaniu programu FLAGGER
zatrzymanie flaggera. Nazwa modułu = napotkano błąd wewnętrzny w module
nazwa-modułu. Kod błędu wewnętrznego = nazwa-modułu. Kod błędu wewnętrznego =
kod-błędu. kod-błędu.

Objaśnienie: Objaśnienie:
Flagger napotkał wewnętrzny błąd. Jeżeli podano również Program FLAGGER napotkał wewnętrzny błąd.
opcję składni, pliku wiązania lub pakietu, przetwarzanie jest
kontynuowane, ale działanie flaggera zostaje przerwane. W Przetwarzanie wstępne jest kontynuowane, ale działanie
przeciwnym razie przetwarzanie zostaje przerwane. programu FLAGGER jest przerwane.

Działanie użytkownika: Działanie użytkownika:

420 Komunikaty, tom 2


SQL4145W • SQL4175W

Zanotuj numer komunikatu (SQLCODE), nazwę modułu i kod Przetwarzanie będzie kontynuowane.
błędu. Skontaktuj się z przedstawicielem serwisu technicznego
Działanie użytkownika:
i przekaż mu te informacje.
Popraw instrukcję SQL.

SQL4145W Błąd przy próbie dostępu programu


SQL4171W Przeglądana tabela nazwa-schematu.tabela
FLAGGER do katalogu systemowego.
musi umożliwiać aktualizację.
Flagowanie ogranicza się tylko do
sprawdzania składni. SQLCODE = nnn Objaśnienie:
SQLERRP = nazwa-modułu SQLERRD1 = Jeśli została podana klauzula WITH CHECK OPTION, to
nnn Twórca = nazwa-twórcy Tabela = tablica użyta w widoku musi dopuszczać aktualizację.
nazwa-tabeli.
Objaśnienie: Przetwarzanie będzie kontynuowane.
Podczas próby dostępu programu FLAGGER do katalogu Działanie użytkownika:
systemowego wystąpił wewnętrzny błąd. Popraw instrukcję SQL.

Przetwarzanie jest kontynuowane, ale flagger jedynie


sprawdza składnię. SQL4172W Nieprawidłowa liczba kolumn.

Działanie użytkownika: Objaśnienie:


Zanotuj numer komunikatu (SQLCODE), nazwę modułu i kod Liczba nazw kolumn na liście VIEW COLUMN LIST
błędu. Skontaktuj się z przedstawicielem serwisu technicznego powinna być równa wartości atrybutu DEGREE tablicy
i przekaż mu te informacje. podanej w specyfikacji QUERY SPECIFICATION.

Przetwarzanie będzie kontynuowane.


SQL4146W Wystąpił błąd powodujący zatrzymanie
przetwarzania semantyki. Nazwa modułu = Działanie użytkownika:
nazwa-modułu. Kod błędu wewnętrznego = Popraw instrukcję SQL.
kod-błędu.
Objaśnienie: SQL4173W Przed użyciem kursora kursor należy go
W procedurze analizy semantycznej programu FLAGGER zadeklarować.
wystąpił poważny błąd. Objaśnienie:
Podany kursor nie został zadeklarowany w instrukcji
Przetwarzanie jest kontynuowane, ale flagger jedynie DECLARE CURSOR.
sprawdza składnię.
Działanie użytkownika: Przetwarzanie będzie kontynuowane.
Zanotuj numer komunikatu (SQLCODE), nazwę modułu i kod Działanie użytkownika:
błędu. Skontaktuj się z przedstawicielem serwisu technicznego Popraw instrukcję SQL.
i przekaż mu te informacje.

SQL4174W Kursor kursor został już zadeklarowany.


SQL4147W Nieprawidłowy numer wersji flaggera.
Objaśnienie:
Objaśnienie: Podany kursor został już zadeklarowany w instrukcji
Do funkcji API Precompiler Services COMPILE SQL DECLARE CURSOR.
STATEMENT przekazano nieprawidłowy numer wersji
flaggera. Jeżeli podano również opcję składni, pliku wiązania Przetwarzanie będzie kontynuowane.
lub pakietu, przetwarzanie jest kontynuowane, ale działanie
flaggera zostaje przerwane. W przeciwnym razie Działanie użytkownika:
przetwarzanie zostaje przerwane. Popraw instrukcję SQL.

Działanie użytkownika:
Przekaż prawidłowy numer wersji flaggera. Patrz podręcznik SQL4175W W tym kontekście mogą być użyte tylko *
Command Reference. lub nazwy kolumn.
Objaśnienie:
SQL4170W Kolumnę kolumna należy zadeklarować jako Jeśli jest używana instrukcja UNION, lista SELECT LIST
NOT NULL. określająca dwa wyrażenia TABLE EXPRESSION
identyfikowane przez QUERY EXPRESSION i QUERY
Objaśnienie: TERM powinna zawierać * lub odwołanie COLUMN
Wszystkie kolumny oznaczone jako UNIQUE muszą być REFERENCE.
zdefiniowane z atrybutem NOT NULL.

Rozdział 2. Komunikaty SQL 421


SQL4176W • SQL4184W

Przetwarzanie będzie kontynuowane.


SQL4180W Tabela nazwa-schematu1.tabela1 nie jest
Działanie użytkownika: pierwszą tabelą nazwa-schematu2.tabela2
Popraw instrukcję SQL. określoną w instrukcji DECLARE
CURSOR.
SQL4176W Opisy tabel identyfikowane przez wyrażenie Objaśnienie:
QUERY EXPRESSION rozpoczynające się Tabela podana w instrukcji DELETE lub UPDATE powinna
od nazwa-schematu1.tabela1 i instrukcję być pierwszą tabelą podaną w klauzuli FROM instrukcji
QUERY TERM rozpoczynającą się od DECLARE CURSOR.
nazwa-schematu2.tabela2 powinny być
identyczne. Przetwarzanie będzie kontynuowane.
Objaśnienie: Działanie użytkownika:
Jeśli jest używana instrukcja UNION, opisy tablic, z Popraw instrukcję SQL.
wyjątkiem nazw kolumn, powinny być takie same.
SQL4181W Liczba specyfikacji TARGET
Przetwarzanie będzie kontynuowane.
SPECIFICATION nie odpowiada wartości
Działanie użytkownika: atrybutu DEGREE dla kursora kursor.
Popraw instrukcję SQL.
Objaśnienie:
Liczba specyfikacji TARGET SPECIFICATION w instrukcji
SQL4177W Specyfikacja SORT SPECIFICATION FETCH nie odpowiada wartości atrybutu DEGREE podanej
numer znajduje się poza wartością atrybutu tabeli.
DEGREE kursora kursor.
Przetwarzanie będzie kontynuowane.
Objaśnienie:
Jeżeli specyfikacja SORT SPECIFICATION zawiera liczbę Działanie użytkownika:
całkowitą bez znaku, to liczba ta powinna być większa od zera Popraw instrukcję SQL.
i nie większa od liczby kolumn w tablicy.
SQL4182W Tabela docelowa nazwa-schematu.tabela w
Przetwarzanie będzie kontynuowane.
instrukcji INSERT występuje również w
Działanie użytkownika: klauzuli FROM lub w podzapytaniu.
Popraw instrukcję SQL.
Objaśnienie:
Wymieniona tabela nie może być użyta w klauzuli FROM
SQL4178W Tabela nazwa-schematu.tabela jest tabelą specyfikacji QUERY SPECIFICATION ani w żadnym
tylko do odczytu. podzapytaniu zawartym w specyfikacji QUERY
SPECIFICATION.
Objaśnienie:
Do tabeli tylko do odczytu zastosowano instrukcję DELETE,
Przetwarzanie będzie kontynuowane.
INSERT lub UPDATE.
Działanie użytkownika:
Przetwarzanie będzie kontynuowane. Popraw instrukcję SQL.

Działanie użytkownika:
Popraw instrukcję SQL. SQL4183W Liczba podanych kolumn nie odpowiada
liczbie podanych wartości.

SQL4179W Tabela nazwa-schematu.tabela nie może być Objaśnienie:


identyfikowana w klauzuli FROM żadnego W instrukcji INSERT liczba podanych kolumn nie odpowiada
podzapytania występującego w warunku liczbie podanych wartości.
SEARCH CONDITION.
Przetwarzanie będzie kontynuowane.
Objaśnienie:
Tabela podana w instrukcji DELETE lub UPDATE nie może Działanie użytkownika:
być użyta w klauzuli FROM żadnego podzapytania zawartego Popraw instrukcję SQL.
w warunku SEARCH CONDITION.
SQL4184W Liczba podanych kolumn nie jest zgodna z
Przetwarzanie będzie kontynuowane.
atrybutem DEGREE specyfikacji QUERY
Działanie użytkownika: SPECIFICATION rozpoczynającej się od
Popraw instrukcję SQL. tabeli nazwa-schematu.tabela.
Objaśnienie:

422 Komunikaty, tom 2


SQL4185W • SQL4192W

W instrukcji INSERT liczba podanych kolumn nie odpowiada Popraw instrukcję SQL.
wartości atrybutu DEGREE dla tablicy podanego w
specyfikacji QUERY SPECIFICATION.
SQL4188W W klauzuli SET instrukcji UPDATE nie
można użyć funkcji kolumnowej.
Przetwarzanie będzie kontynuowane.
Objaśnienie:
Działanie użytkownika:
Wyrażenie VALUE EXPRESSION w klauzuli SET instrukcji
Popraw instrukcję SQL.
UPDATE nie powinno zawierać funkcji kolumnowej.

SQL4185W Niezgodność typów danych lub długości Przetwarzanie będzie kontynuowane.


pomiędzy kolumną kolumna a pozycją
Działanie użytkownika:
INSERT lub UPDATE.
Popraw instrukcję SQL.
Objaśnienie:
Nie został spełniony jeden z poniższych warunków:
SQL4189W Nie można podać wartości NULL dla
v Jeżeli typem danych dla wymienionej kolumny jest łańcuch kolumny kolumna z atrybutem NOT NULL.
znaków, to odpowiadająca pozycja instrukcji INSERT lub
UPDATE powinna być łańcuchem znaków o długości Objaśnienie:
równej lub mniejszej od wymienionej kolumny. Jeżeli w klauzuli SET instrukcji UPDATE podano wartość
NULL, to odpowiadająca kolumna powinna dopuszczać
v Jeżeli typem danych dla wymienionej kolumny jest typ
wartości null.
liczbowy dokładny, to odpowiadająca pozycja instrukcji
INSERT lub UPDATE powinna być typu liczbowego
dokładnego. Przetwarzanie będzie kontynuowane.
v Jeżeli typem danych dla wymienionej kolumny jest typ Działanie użytkownika:
liczbowy przybliżony, to odpowiadająca pozycja instrukcji Popraw instrukcję SQL.
INSERT lub UPDATE powinna być typu liczbowego
przybliżonego lub liczbowego dokładnego.
SQL4190W Odwołano się do zmiennej języka bazowego
o nierozpoznanym typie danych. Pozycja
Przetwarzanie będzie kontynuowane. zmiennej języka bazowego pozycja.
Działanie użytkownika: Objaśnienie:
Popraw instrukcję SQL. Zmienna języka bazowego wywoływana na pozycji pozycja
jest typu innego niż standardowy.
SQL4186W W tym kontekście nie można użyć klauzuli
GROUP BY lub HAVING ani też Przetwarzanie będzie kontynuowane.
identyfikować zgrupowanego widoku.
Działanie użytkownika:
Objaśnienie: Popraw instrukcję SQL.
Tablica wymieniona w klauzuli FROM wyrażenia TABLE
EXPRESSION w instrukcji SELECT nie powinna zawierać
SQL4191W Typ danych kolumny nazwa-kolumny nie jest
klauzuli GROUP BY ani HAVING i nie powinna odwoływać
rozpoznawany.
się do widoku z klauzulą GROUP.
Objaśnienie:
Przetwarzanie będzie kontynuowane. Typ danych kolumny jest inny niż standardowy.
Działanie użytkownika:
Przetwarzanie będzie kontynuowane.
Popraw instrukcję SQL.
Działanie użytkownika:
Popraw instrukcję SQL.
SQL4187W Liczba elementów podanych na liście
SELECT LIST powinna odpowiadać liczbie
elementów na liście SELECT TARGET SQL4192W W katalogu nie znaleziono tabeli
LIST. nazwa-schematu.tabela.
Objaśnienie: Objaśnienie:
W instrukcji SELECT liczba elementów podanych na liście W katalogu systemowym nie ma wymienionej tabeli lub
SELECT LIST powinna odpowiadać liczbie elementów na widoku.
liście SELECT TARGET LIST.

Przetwarzanie będzie kontynuowane.


Działanie użytkownika:

Rozdział 2. Komunikaty SQL 423


SQL4300N • SQL4304N

SQL4300N Na tej platformie nie została zainstalowana SQL4302N Procedura lub zdefiniowana przez
lub właściwie skonfigurowana obsługa użytkownika funkcja nazwa, konkretna
języka Java. nazwa konkretna-nazwa została przerwana z
wyjątkiem łańcuch.
Objaśnienie:
Obsługa dla procedur Java zapisanych w bazie oraz funkcji Objaśnienie:
zdefiniowanych przez użytkownika nie została zainstalowana i Procedura lub funkcja zdefiniowana przez użytkownika została
skonfigurowana na tym serwerze. przerwana i wystąpił wyjątek. Protokół powiadomień
administracyjnych zawiera ślad stosu dla przerwanej
Działanie użytkownika:
procedury.
Sprawdź, czy na serwerze zostały zainstalowane kompatybilne
narzędzia Java Runtime Environment lub Java Development Działanie użytkownika:
Kit. Sprawdź, czy parametr konfiguracyjny ″JDK_PATH″ jest Aby wyeliminować wyjątek, należy zdebugować procedurę.
ustawiony prawidłowo.
kod_sql: -4302
kod_sql: -4300
stan_sql: 38501
stan_sql: 42724
SQL4303N Procedura składowana Java lub
SQL4301N Uruchomienie interpretera języka Java lub zdefiniowana przez użytkownika funkcja
.NET lub komunikacja z tym interpreterem nazwa, konkretna nazwa konkretna-nazwa
nie powiodła się, kod przyczyny nie może zostać zidentyfikowana w oparciu
kod-przyczyny. o nazwę zewnętrzną łańcuch.
Objaśnienie: Objaśnienie:
Błąd podczas próby uruchomienia lub komunikacji z Instrukcja CREATE PROCEDURE lub CREATE
interpreterem języka Java. Kody przyczyny są następujące: FUNCTION, w której zadeklarowano tę procedurę zapisaną w
bazie lub funkcję zdefiniowaną przez użytkownika, ma źle
1 Zmienne środowiskowe lub parametry
sformatowaną klauzulę EXTERNAL NAME. Nazwa
konfiguracyjne bazy danych dotyczące języka Java
zewnętrzna musi być sformatowana w sposób następujący:
są nieprawidłowe.
″pakiet.podpakiet.klasa!metoda″.
2 Błąd odwołania interfejsu Java Native Interface do
Działanie użytkownika:
interpretera języka Java.
Wprowadź poprawną instrukcję CREATE PROCEDURE lub
3 Plik ″db2java.zip″ może być uszkodzony lub go nie CREATE FUNCTION.
ma.
kod_sql: -4303
4 Interpreter języka Java sam zakończył działanie i nie
może zostać ponownie uruchomiony.
stan_sql: 42724
5 Nie można załadować zależnej biblioteki .NET.
6 Wywołanie interpretera .NET nie powiodło się. SQL4304N Procedura składowana Java lub
zdefiniowana przez użytkownika funkcja
Działanie użytkownika:
nazwa, konkretna nazwa konkretna-nazwa
W środowisku języka Java sprawdź poprawność ustawienia
nie może załadować klasy Java klasa, kod
parametrów konfiguracyjnych bazy danych związanych z
przyczyny kod-przyczyny.
językiem Java (jdk_path i java_heap_sz). Sprawdź, czy jest
zainstalowane właściwe środowisko uruchamiania programów Objaśnienie:
Java. Sprawdź, czy wewnętrzne klasy DB2 (COM.ibm.db2) Klasa Java podana w klauzuli EXTERNAL NAME instrukcji
nie zostały zastąpione przez klasy użytkownika. CREATE PROCEDURE lub CREATE FUNCTION nie może
zostać załadowana. Kody przyczyny są następujące:
W środowisku .NET sprawdź, czy instancja DB2 jest
1 Nie znaleziono klasy w CLASSPATH.
poprawnie skonfigurowana do uruchamiania procedur lub
funkcji .NET (w zmiennej systemowej PATH musi być obecna 2 Klasa nie wdraża wymaganego interfejsu
biblioteka mscoree.dll). Sprawdź, czy w katalogu sqllib/bin (“COM.ibm.db2.app.StoredProc” lub
znajduje się plik db2clr.dll i czy moduł IBM.Data.DB2 jest “COM.ibm.db2.app.UDF”) lub brakuje flagi dostępu
zainstalowany w globalnej pamięci podręcznej zestawów. Java “publiczny”.
3 Brak wartości domyślnej dla konstruktora lub jest on
kod_sql: -4301
niedostępny.
stan_sql: 58004 4 Nie można załadować sterownika dla
“jdbc:default:connection”.

424 Komunikaty, tom 2


SQL4306N • SQL4405W

5 Nie można ustanowić domyślnego kontekstu.


SQL4401C Wystąpił błąd podczas uruchamiania
Działanie użytkownika: serwera administracyjnego DB2.
Sprawdź, czy skompilowany plik ″.class″ jest zainstalowany w
Objaśnienie:
CLASSPATH, np. w ″sqllib/function″. Sprawdź, czy
Podczas uruchamiania serwera administracyjnego DB2
implementuje on wymagane interfejsy języka Java i jest
wystąpił błąd.
″public″ (publiczny).
Działanie użytkownika:
kod_sql: -4304 W celu uzyskania dodatkowych informacji sprawdź dziennik
przechwyconych danych o błędach Serwera administracyjnego
stan_sql: 42724 DB2. Podejmij odpowiednie działania i spróbuj restartować
serwer administracyjny DB2.

SQL4306N Procedura składowana Java lub Jeśli problem się powtarza, skontaktuj się z przedstawicielem
zdefiniowana przez użytkownika funkcja serwisu technicznego.
nazwa, konkretna nazwa konkretna-nazwa
nie może wywołać metody Java metoda,
sygnatura łańcuch. SQL4402W Komenda DB2ADMIN została wykonana
pomyślnie.
Objaśnienie:
Nie można znaleźć metody w języku Java podanej w klauzuli Objaśnienie:
EXTERNAL NAME instrukcji CREATE PROCEDURE lub Całe przetwarzanie zakończyło się prawidłowo.
CREATE FUNCTION. Zadeklarowana lista jej argumentów
Działanie użytkownika:
może nie być zgodna z argumentami oczekiwanymi przez bazę
Nie są wymagane żadne dalsze działania.
danych lub może nie być metodą instancji typu ″public″
(publicznej).
SQL4403N Nieprawidłowa składnia komendy.
Działanie użytkownika:
Sprawdź, czy metoda instancji w języku Java istnieje i ma Objaśnienie:
flagę ″public″ oraz właściwą dla tego wywołania listę Wprowadzono komendę z nieprawidłowymi argumentami lub
argumentów. nieprawidłową liczbą parametrów.
Działanie użytkownika:
kod_sql: -4306
Wprowadź ponownie komendę z prawidłowymi argumentami.
stan_sql: 42724
SQL4404N Serwer administracyjny DB2 nie istnieje.
SQL4400N Identyfikator-autoryzowanego-użytkownika nie Objaśnienie:
ma uprawnień do wykonania zadania Na komputerze nie znaleziono serwera administracyjnego
administracyjnego na serwerze DB2.
administracyjnym DB2.
Działanie użytkownika:
Objaśnienie: Utwórz na tym komputerze Serwer administracyjny DB2.
Użytkownik nie ma na serwerze administracyjnym DB2 v W systemach operacyjnych Windows należy wydać
uprawnień wymaganych do wykonania działania poniższą komendę:
administracyjnego, które próbował wykonać.
db2admin create
Działanie użytkownika: v Na platformach UNIX należy uzyskać uprawnienia
Żądania do serwera administracyjnego DB2 wysyłaj, administratora i wydać poniższą komendę w katalogu
korzystając z identyfikatora użytkownika, któremu przypisane DB2DIR/instance, gdzie DB2DIR jest ścieżką instalacyjną
jest uprawnienie DASADM. Uprawnienie DASADM jest programu DB2. <ASName> jest nazwą serwera
wymagane do wykonywania wszelkich działań administracyjnego:
administracyjnych za pośrednictwem serwera
dascrt <ASName>
administracyjnego DB2. Grupa DASADM należy do
parametrów konfiguracyjnych serwera administracyjnego
DB2. W celu sprawdzenia ustawień grupy DASADM można SQL4405W Serwer administracyjny DB2 już istnieje.
posłużyć się komendą GET ADMIN CONFIGURATION,
Objaśnienie:
która wyświetla wartości parametrów konfiguracyjnych DAS.
Na tym komputerze serwer administracyjny DB2 już istnieje.
Do zmiany wartości dowolnego z parametrów
konfiguracyjnych Serwera administracyjnego DB2 służy Działanie użytkownika:
komenda UPDATE ADMIN CONFIGURATION. Nie są wymagane żadne dalsze działania.

Rozdział 2. Komunikaty SQL 425


SQL4406W • SQL4413W

SQL4406W Serwer administracyjny DB2 został SQL4412N Konto użytkownika dla serwera
pomyślnie uruchomiony. administracyjnego DB2 jest nieprawidłowe.
Objaśnienie: Objaśnienie:
Całe przetwarzanie zakończyło się prawidłowo. Aby wykonać żądane zadanie, serwer administracyjny DB2
musi zostać uruchomiony z prawidłowego konta użytkownika.
Działanie użytkownika:
Błąd ten jest spowodowany przez brak ustawień dla konta lub
Nie są wymagane żadne dalsze działania.
brak prawidłowego identyfikatora DB2 dla konta
użytkownika.
SQL4407W Serwer administracyjny DB2 został
Działanie użytkownika:
pomyślnie zatrzymany.
Jeśli konto użytkownika ma prawidłowe ustawienia, należy
Objaśnienie: sprawdzić, czy używa ono prawidłowego identyfikatora DB2.
Całe przetwarzanie zakończyło się prawidłowo.
Możesz ustawić konto użytkownika dla serwera
Działanie użytkownika:
administracyjnego DB2 używając następującej komendy:
Nie są wymagane żadne dalsze działania.
DB2ADMIN SETID <id_użytkownika>
<hasło>
SQL4408N Serwer administracyjny DB2 nie został
usunięty, ponieważ jest aktywny.
SQL4413W Stosowanie: DB2ADMIN tworzy, usuwa,
Objaśnienie: uruchamia lub zatrzymuje serwer
Aby serwer administracyjny DB2 mógł być usunięty, musi być administracyjny DB2.
najpierw zatrzymany.
Objaśnienie:
Działanie użytkownika: Składnia komendy DB2ADMIN jest następująca:
Aby zatrzymać serwer administracyjny DB2, użyj następującej DB2ADMIN CREATE [
komendy: /USER:<nazwa_użytkownika>
DB2ADMIN STOP /PASSWORD:<hasło>
]
DROP
SQL4409W Serwer administracyjny DB2 jest już START
aktywny. STOP [/FORCE]
SETID <nazwa_użytkownika>
Objaśnienie: <hasło>
Komenda DB2ADMIN START nie może być wykonana, SETSCHEDID <nazwa_użytkownika> <hasło>
ponieważ serwer administracyjny DB2 jest już aktywny. /h
Działanie użytkownika:
Nie są wymagane żadne dalsze działania. Opcje komendy są następujące:
CREATE
SQL4410W Serwer administracyjny DB2 nie jest utworzenie Serwera administracyjnego DB2
aktywny. DROP usunięcie Serwera administracyjnego DB2
Objaśnienie: START uruchomienie Serwera administracyjnego DB2
Komenda DB2ADMIN STOP nie może być wykonana,
ponieważ serwer administracyjny DB2 nie jest aktywny. STOP zatrzymanie działania Serwera administracyjnego
DB2
Działanie użytkownika:
Nie są wymagane żadne dalsze działania. SETID ustawienie konta dla Serwera administracyjnego
DB2

SQL4411N Żądana operacja nie jest dopuszczalna, SETSCHEDID


ponieważ instancja serwera nie jest ustawienie konta logowania używanego w programie
serwerem administracyjnym DB2. planującym do nawiązywania połączenia z bazą
danych katalogu narzędzi. Opcja wymagana tylko
Objaśnienie: wtedy, gdy program planujący jest włączony, a baza
Żądana operacja jest prawidłowa tylko wtedy, gdy zostanie danych katalogu narzędzi jest zdalna względem
skierowana do serwera administracyjnego DB2. Serwera administracyjnego DB2.
Działanie użytkownika: /USER podanie nazwy konta podczas DB2ADMIN
Serwer administracyjny powinien zostać skonfigurowany CREATE
komendą DB2ADMIN. Dalsze informacje o komendzie
DB2ADMIN można znaleźć w podręczniku Krótkie
wprowadzenie.

426 Komunikaty, tom 2


SQL4414N • SQL4704N

/PASSWORD Przeprowadzono próbę wykonania operacji dla działania


podanie hasła dla konta podczas DB2ADMIN identyfikowanego przez uchwyt aplikacji, identyfikator
CREATE jednostki pracy i identyfikator działania. Takie działanie
obecnie nie istnieje w ramach tej bazy danych.
/FORCE
zatrzymanie Serwera administracyjnego DB2 Działanie użytkownika:
podczas operacji DB2ADMIN STOP bez względu Sprawdź, czy argumenty określone jako uchwyt aplikacji,
na to, czy trwa proces obsługi żądań identyfikator jednostki pracy i identyfikator działania są
zgodne z argumentami zamierzonego działania. Możliwe jest,
/h wyświetlenie informacji o składni.
że działanie opuszcza system jeszcze zanim można wykonać
Działanie użytkownika: na nim operację.
Wprowadź komendę DB2ADMIN z jedną z prawidłowych
opcji komendy. kod_sql: -4702

stan_sql: 5U035
SQL4414N Serwer administracyjny DB2 nie jest
aktywny.
SQL4703N Działania identyfikowanego przez uchwyt
Objaśnienie:
aplikacji uchwyt-aplikacji, identyfikator
Żądanie nie może zostać przetworzone, jeśli serwer
jednostki pracy identyfikator-jednostki-pracy
administracyjny DB2 nie jest aktywny.
i identyfikator działania
Działanie użytkownika: identyfikator-działania nie można anulować.
Uruchom Serwer administracyjny DB2 wprowadzając Kod przyczyny = kod-przyczyny.
komendę DB2ADMIN START i wprowadź ponownie żądanie.
Objaśnienie:
Określonego działania nie można obecnie anulować ze
SQL4701N Przekroczono maksymalną liczbę partycji względu na jego stan lub typ samego działania.
(maksymalna-liczba).
Działanie użytkownika:
Objaśnienie: Kod przyczyny wskazuje sytuację i konkretną czynność do
Nastąpiła próba przekroczenia maksymalnej liczby partycji wykonania.
danych.
1 Działanie jest w stanie inicjowania. Działanie można
Działanie użytkownika: anulować po zakończeniu inicjowania.
Jeśli błąd wystąpił podczas wykonywania instrukcji CREATE
2 Działania nie można anulować, ponieważ jego typ
TABLE z klauzulą EVERY, oznacza to, że odstęp czasu nie
nie jest obsługiwanym typem działania. Jeśli należy
był wystarczająco duży. Podaj większy odstęp czasu, aby
przerwać kontynuowanie wykonywania tego
zmniejszyć wymaganą liczbę partycji danych.
działania lub usunąć je z kolejki w tym systemie,
można wymusić zatrzymanie aplikacji, która
Jeśli błąd wystąpił podczas wykonywania instrukcji CREATE
wprowadziła to działanie, używając komendy
TABLE bez klauzuli EVERY, oznacza to, że na liście znajduje
FORCE APPLICATION.
się za dużo partycji. Zmniejsz podaną liczbę partycji danych.
kod_sql: -4703
Jeśli błąd wystąpił podczas wykonywania instrukcji ALTER
TABLE ... ATTACH PARTITION lub instrukcji ALTER
stan_sql: 5U016
TABLE ... ADD PARTITION, oznacza to, że w danej tabeli
używana jest już maksymalna dozwolona liczba partycji
danych. Aby umożliwić dodanie lub przyłączenie SQL4704N Dla bazy danych lub nadklasy usługi
dodatkowych partycji, należy najpierw odłączyć partycje nazwa-bazy-danych-lub-nadklasy-usługi
danych. można zdefiniować tylko jeden zestaw
działania pracy.
kod_sql: -4701
Objaśnienie:
Dla określonej bazy danych lub nadklasy usługi
stan_sql: 54054
nazwa-bazy-danych-lub-nadklasy-usługi istnieje już
zdefiniowany zestaw działania pracy. Dla bazy danych lub
SQL4702N Działanie identyfikowane przez uchwyt nadklasy usługi w danej chwili można zdefiniować tylko jeden
aplikacji uchwyt-aplikacji, identyfikator zestaw działania pracy.
jednostki pracy identyfikator-jednostki-pracy
Działanie użytkownika:
i identyfikator działania
Należy określić inną bazę danych lub nadklasę usługi albo
identyfikator-działania nie istnieje.
usunąć aktualnie zdefiniowany zestaw działania pracy dla
Objaśnienie: danej bazy danych lub nadklasy usługi, a następnie spróbować
powtórzyć żądanie.

Rozdział 2. Komunikaty SQL 427


SQL4705N • SQL4709N

kod_sql: -4704
SQL4708N Dla tej jednostki pracy w tym momencie
dozwolona jest tylko instrukcja COMMIT
stan_sql: 5U017 lub ROLLBACK.
Objaśnienie:
SQL4705N Podklasa usługi określona w działaniu pracy Została wprowadzona jedna z następujących instrukcji i musi
odwzorowania nazwa-działania-pracy nie ona zostać zatwierdzona lub wycofana zanim można będzie
może być domyślną podklasą usługi. wprowadzić jakąkolwiek inną instrukcję SQL:
Objaśnienie: v CREATE SERVICE CLASS, ALTER SERVICE CLASS
Domyślnej podklasy usługi nie można określić w przypadku lub DROP (dla SERVICE CLASS)
definiowania działania pracy w celu odwzorowania działań. v CREATE THRESHOLD, ALTER THRESHOLD lub
Działanie użytkownika: DROP (dla THRESHOLD)
Określ inną podklasę usługi, która nie jest domyślną podklasą v CREATE TRUSTED CONTEXT, ALTER TRUSTED
usługi, i spróbuj ponowić żądanie. CONTEXT lub DROP (dla TRUSTED CONTEXT)
v CREATE WORK ACTION SET, ALTER WORK ACTION
kod_sql: -4705 SET lub DROP (dla WORK ACTION SET)
v CREATE WORK CLASS SET, ALTER WORK CLASS
stan_sql: 5U018
SET lub DROP (dla WORK CLASS SET)
v CREATE WORKLOAD, ALTER WORKLOAD lub DROP
SQL4706N Dla klasy pracy nazwa-klasy-pracy podano (dla WORKLOAD)
niepoprawny zakres.
v GRANT (uprawnienia obciążenia) lub REVOKE
Objaśnienie: (uprawnienia obciążenia)
Wartość podana dla parametru FROM albo parametru TO jest v CREATE AUDIT POLICY, ALTER AUDIT POLICY lub
niepoprawna. Wartość parametru FROM musi wynosić zero DROP (dla AUDIT POLICY)
lub być dodatnią wartością o podwójnej precyzji, zaś wartość
parametru TO musi być dodatnią wartością o podwójnej Przypisanie obciążeń wykonane na początku jednostki pracy
precyzji lub wartością UNBOUNDED, jeśli górna granica nie nie powiodło się. Kolejnych żądań nie można przetworzyć do
ma być określona. Jeśli wartość parametru TO jest inna niż chwili zakończenia bieżącej jednostki pracy.
UNBOUNDED, musi być większa lub równa wartości
parametru FROM. Działanie użytkownika:
Wprowadź komendę COMMIT lub ROLLBACK przed
Działanie użytkownika: wprowadzeniem kolejnej instrukcji.
Określ poprawną wartość zarówno dla parametru FROM, jak i
TO, a następnie ponów żądanie. kod_sql: -4708

kod_sql: -4706 stan_sql: 5U021

stan_sql: 5U019
SQL4709N Nie można usunąć atrybutu ostatniego
połączenia z definicji obciążenia
SQL4707N Obciążenie nazwa-obciążenia nie może nazwa-obciążenia.
obsłużyć żądania, ponieważ nie ma ono
zezwolenia na dostęp do bazy danych lub Objaśnienie:
jest wyłączone. Instrukcja ALTER WORKLOAD mogła spowodować
usunięcie atrybutu ostatniego połączenia z obciążenia
Objaśnienie: nazwa-obciążenia. Ta operacja jest niedozwolona. W definicji
Żądanie jest powiązane z obciążeniem nazwa-obciążenia, obciążenia musi być określony przynajmniej jeden atrybut
które nie ma zezwolenia na dostęp do bazy danych lub jest połączenia.
wyłączone. Żądania nie można obsłużyć.
Działanie użytkownika:
Działanie użytkownika: Upewnij się, że instrukcja ALTER WORKLOAD pozostawia
Jeśli obciążenie nazwa-obciążenia jest domyślnym przynajmniej jeden atrybut połączenia w definicji obciążenia.
obciążeniem użytkownika, należy zmodyfikować to obciążenie
w celu jego włączenia, aby umożliwić mu dostęp do bazy kod_sql: -4709
danych, albo zapewnić, że bieżący użytkownik sesji ma
uprawnienia do korzystania z tego obciążenia.
stan_sql: 5U022

kod_sql: -4707

stan_sql: 5U020

428 Komunikaty, tom 2


SQL4710N • SQL4712N

przekroczona liczba połączeń koordynatora albo


SQL4710N Obciążenia nazwa-obciążenia nie można
liczba działań koordynatora bazy danych.
usunąć, ponieważ nie jest ono wyłączone,
ma aktywne wystąpienia obciążenia lub ma 2 Osiągnięto maksymalną liczbę połączeń na jedną
powiązany ze sobą próg. partycję bazy danych.
Objaśnienie: 3 Osiągnięto maksymalną liczbę połączeń i połączeń
Próba usunięcia obciążenia nazwa-obciążenia nie powiodła kolejkowanych na jedną partycję bazy danych w
się, ponieważ nie jest ono wyłączone, ma aktywne wystąpienia konkretnej nadklasie usługi.
obciążenia lub ma powiązany ze sobą próg.
4 Osiągnięto maksymalną liczbę wystąpień obciążenia
Działanie użytkownika: na jedną partycję bazy danych.
Jeśli obciążenie nie zostało jeszcze wyłączone, wprowadź
instrukcję ALTER WORKLOAD w celu wyłączenia 5 Osiągnięto maksymalną liczbę działań obciążenia na
obciążenia i zapobieżenia aktywowaniu jego nowych jedną partycję bazy danych.
wystąpień. Odczekaj, aż w systemie nie będzie już 6 Osiągnięto maksymalną liczbę działań koordynatora
działających aktywnych wystąpień obciążenia, a następnie bazy danych i kolejkowanych działań koordynatora
wprowadź instrukcję DROP w celu usunięcia tego obciążenia. bazy danych dla wszystkich partycji bazy danych w
Jeśli jest z nim powiązany próg, wprowadź instrukcję DROP domenie.
THRESHOLD w celu usunięcia powiązanego progu.
7 Szacunkowy koszt działania przekracza koszt
kod_sql: -4710 dopuszczany przez próg.
8 Liczba wierszy zwróconych dla działania
stan_sql: 5U023 przekroczyłaby wartość dopuszczoną przez próg.
9 Maksymalny łączny czas działania przekroczył
SQL4711N Nie można usunąć progu nazwa-progu. Próg wartość dopuszczoną przez próg.
nie jest wyłączony, kolejka progu nie jest
pusta lub pod kontrolą progu funkcjonuje 10 Ilość żądanego dla działania tymczasowego miejsca
działanie. w systemie przekroczyła wartość dopuszczaną przez
próg.
Objaśnienie:
Próba usunięcia progu nazwa-progu nie powiodła się. Próg nie Działanie użytkownika:
jest wyłączony, kolejka progu nie jest pusta lub pod kontrolą Działanie odpowiadające przyczynie:
progu funkcjonuje działanie. 1 Zaktualizuj parametr konfiguracyjny menedżera
Działanie użytkownika: bazy danych max_agents w celu zwiększenia
Jeśli próg nie jest jeszcze wyłączony, należy go wyłączyć. Jeśli maksymalnej liczby agentów.
próg jest częścią zestawu działania pracy, do jego wyłączenia 2 Zmodyfikuj próg, zwiększając warunek
należy użyć instrukcji ALTER WORK ACTION SET. Jeśli TOTALDBPARTITIONCONNECTIONS.
próg nie jest częścią zestawu działania pracy, do jego
wyłączenia należy użyć instrukcji ALTER THRESHOLD. 3 Zmodyfikuj próg, zwiększając warunek
Wyłączenie progu zapobiega wykonywaniu nowych żądań pod QUEUEDCONNECTIONS lub
jego kontrolą. W przypadku osiągnięcia limitu współbieżności TOTALSCPARTITIONCONNECTIONS.
dla progu kolejkowania czynność DISABLE zapobiega 4 Zmodyfikuj próg, zwiększając warunek
dołączaniu do kolejki nowych żądań. Odczekaj do zakończenia CONCURRENTWORKLOADOCCURRENCES.
aktualnie wykonywanego żądania lub opróżnienia kolejki z
żądań, a następnie ponownie wprowadź instrukcję DROP 5 Zmodyfikuj próg, zwiększając warunek
THRESHOLD. CONCURRENTWORKLOADACTIVITIES.
6 Zmodyfikuj próg, zwiększając warunek
kod_sql: -4711 QUEUEDACTIVITIES lub
CONCURRENTDBCOORDACTIVITIES.
stan_sql: 5U025
7 Zmodyfikuj próg, zwiększając warunek
ESTIMATEDSQLCOST.
SQL4712N Próg nazwa-progu został przekroczony. Kod
przyczyny = kod-przyczyny. 8 Zmodyfikuj próg, zwiększając warunek
SQLROWSRETURNED.
Objaśnienie:
Został przekroczony próg i działanie zostało zatrzymane z 9 Zmodyfikuj próg, zwiększając warunek
następującej przyczyny: ACTIVITYTOTALTIME.

1 Agenta przepełnienia nie można umieścić w kolejce. 10 Zmodyfikuj próg, zwiększając warunek
Działanie używa agenta przepełnienia i została SQLTEMPSPACE.

Rozdział 2. Komunikaty SQL 429


SQL4713N • SQL4717N

kod_sql: -4712 kod_sql: -4715

stan_sql: 5U026 stan_sql: 5U029

SQL4713N Dla bazy danych lub nadklasy usługi została SQL4716N Wystąpił błąd podczas komunikacji z
przekroczona maksymalna liczba klas zewnętrznym menedżerem obciążenia.
usługi. Nie można utworzyć klasy usługi
Objaśnienie:
nazwa-klasy-usługi.
Produkt DB2 nie może nawiązać komunikacji z zewnętrznym
Objaśnienie: menedżerem obciążenia. Mógł on zostać spowodowany jedną
Nie można utworzyć klasy usługi nazwa-klasy-usługi, z następujących przyczyn:
ponieważ przekracza ona maksymalną liczbę klas usług, które v Zewnętrzny menedżer obciążenia nie został zainstalowany.
można utworzyć dla bazy danych lub nadklasy usługi. Jeśli
v Zewnętrzny menedżer obciążenia został zainstalowany, ale
klasa usługi nazwa-klasy-usługi jest nadklasą usługi,
jest nieaktywny.
przekracza ona ograniczenie ograniczenie-maksymalnej-
liczby-nadklas-usługi zdefiniowanych przez użytkownika Działanie użytkownika:
nadklas usług, które można utworzyć na jedną bazę danych. Jeśli instancja działa w systemie AIX, należy się upewnić, że
Jeśli klasa usługi nazwa-klasy-usługi jest podklasą usługi, produkt AIX WLM jest zainstalowany i aktywny.
przekracza ona ograniczenie ograniczenie-maksymalnej-
liczby-podklas-usługi zdefiniowanych przez użytkownika kod_sql: -4716
podklas usług, które można utworzyć na jedną nadklasę usługi.
Działanie użytkownika: stan_sql: 5U030
Sprawdź istniejące klasy usług i zobacz, czy jakiekolwiek
istniejące klasy usług można scalić lub usunąć w celu SQL4717N Klasa usługi nazwa-klasy-usługi nie może
utworzenia miejsca dla nowej klasy usługi. zostać usunięta, ponieważ ma ona podklasy,
powiązane obciążenia, zestawy działania
kod_sql: -4713 pracy, działania pracy, połączenia, działania
albo progi lub nie jest wyłączona bądź jest
stan_sql: 5U027 domyślną klasą usługi. Kod przyczyny =
kod-przyczyny.
SQL4714N Żądanie nie może być wykonane, ponieważ Objaśnienie:
klasa usługi nazwa-klasy-usługi jest Komenda DROP SERVICE CLASS nie powiodła się,
wyłączona. ponieważ nie został spełniony jeden lub więcej warunków.
Kody przyczyny są następujące:
Objaśnienie:
Żądanie nie zostało wykonane, ponieważ jest ono 1 Nadklasy usługi nie można usunąć, gdy ma ona
odwzorowane na wyłączoną klasę usługi. Klasa usługi zdefiniowane przez użytkownika podklasy usługi.
nazwa-klasy-usługi jest obecnie wyłączona i nie może Usuń wszystkie zdefiniowane przez użytkownika
przyjmować nowych żądań. podklasy usługi w ramach nadklasy usługi, a
następnie ponownie wprowadź instrukcję DROP.
Działanie użytkownika:
Aby dowiedzieć się, kiedy klasa usługi nie będzie wyłączona, 2 Klasy usługi nie można usunąć, gdy ma ona
skontaktuj się z administratorem bazy danych. Powtórz wtedy powiązanie z obciążeniem. Usuń powiązanie z
żądanie. Administrator bazy danych może użyć komendy obciążeniem, a następnie ponownie wprowadź
ALTER SERVICE CLASS w celu włączenia klasy usługi. instrukcję DROP. W celu określenia obciążeń
powiązanych z tą klasą usługi zapoznaj się z
kod_sql: -4714 instrukcją SYSCAT.WORKLOADS.
3 Klasy usługi nie można usunąć, gdy ma ona
stan_sql: 5U028
powiązanie z zestawem działania pracy. Usuń
powiązanie z zestawem działania pracy, a następnie
SQL4715N Pod domyślną klasą usługi nie można ponownie wprowadź instrukcję DROP. W celu
utworzyć podklasy usługi. określenia zestawów działania pracy powiązanych z
tą klasą usługi zapoznaj się z instrukcją
Objaśnienie: SYSCAT.WORKACTIONSETS.
Niedozwolone jest tworzenie podklasy usługi w ramach
domyślnej klasy użytkownika, domyślnej klasy systemu lub 4 Klasy usługi nie można usunąć, gdy ma ona
domyślnej klasy konserwacji. powiązanie z działaniem pracy. Usuń powiązanie z
działaniem pracy, a następnie ponownie wprowadź
Działanie użytkownika: instrukcję DROP. W celu określenia działań pracy
Utwórz podklasę usługi w ramach zdefiniowanej przez
użytkownika nadklasy usługi.

430 Komunikaty, tom 2


SQL4718N • SQL4720N

powiązanych z tą klasą usługi zapoznaj się z Działanie użytkownika:


instrukcją SYSCAT.WORKACTIONS. Upewnij się, że warunek podany w kodzie przyczyny został
spełniony.
5 Klasy usługi nie można usunąć, gdy ma ona
jakiekolwiek powiązane ze sobą połączenie lub
kod_sql: -4718
działanie dla dowolnej partycji. Zaczekaj na
zakończenie połączeń lub działań albo użyj komendy
FORCE APPLICATION w celu wymuszenia stan_sql: 5U032
rozłączenia użytkowników lub aplikacji od klasy
usługi albo anuluj działania w klasie usługi. SQL4719N Działanie pracy PREVENT EXECUTION
6 Klasy usługi nie można usunąć, gdy ma ona nazwa-działania-pracy zostało zastosowane
jakiekolwiek powiązane ze sobą progi. Usuń do tego działania, co spowodowało, że
wszystkie progi powiązane z klasą usługi, a działanie nie zostało uruchomione.
następnie ponownie wprowadź instrukcję DROP. W Objaśnienie:
celu określenia progów powiązanych z klasą usługi Działanie pracy PREVENT EXECUTION uniemożliwia
zapoznaj się z instrukcją SYSCAT.THRESHOLDS. uruchomienie działania.
7 Klasa usługi nie jest wyłączona. W celu wyłączenia Działanie użytkownika:
klasy usługi użyj instrukcji ALTER SERVICE Usuń albo wyłącz działanie pracy PREVENT EXECUTION.
CLASS.
8 Klasa usługi jest domyślną klasą usługi. Określ kod_sql: -4719
zdefiniowaną przez użytkownika klasę usługi.
stan_sql: 5U033
Działanie użytkownika:
Upewnij się, że warunek podany w kodzie przyczyny został
spełniony i ponownie wprowadź instrukcję DROP SERVICE SQL4720N Podany typ działania pracy jest
CLASS. Aby uniemożliwić dołączanie nowych połączeń lub niepoprawny dla działania pracy
działań do klasy usługi, klasa usługi musi zostać wyłączona nazwa-działania-pracy. Kod przyczyny:
przed usunięciem. kod-przyczyny.
Objaśnienie:
kod_sql: -4717 Podany typ działania pracy jest niepoprawny z jednego z
następujących powodów:
stan_sql: 5U031
1 Określono zduplikowany typ działania pracy dla
klasy pracy tego samego zestawu działania pracy.
SQL4718N Domyślnej klasy usługi nazwa-klasy-usługi
nie można zmienić lub powiązać w podany 2 Typem działania pracy jest MAP ACTIVITY, ale
sposób. Kod przyczyny = kod-przyczyny. zestaw działania pracy jest powiązany z bazą
danych. Działania pracy odwzorowania są
Objaśnienie: dozwolone tylko dla zestawów działania pracy
Domyślnej klasy usługi nazwa-klasy-usługi nie można zmienić stosowanych do klas usług.
w taki sam sposób, w jaki można zmienić zdefiniowane przez
użytkownika klasy usług. Poniższe kody przyczyny wskazują 3 Typem działania pracy jest próg, ale zestaw
napotkane ograniczenie dla domyślnej klasy usługi: działania pracy jest powiązany z klasą usługi.
Działania pracy progu są dozwolone tylko dla
1 Nie można wyłączyć domyślnej klasy systemowej, zestawów działania pracy stosowanych do bazy
domyślnej klasy konserwacji i domyślnej klasy danych.
użytkownika. Określ zdefiniowaną przez
użytkownika klasę usługi. 4 Typem działania pracy jest COLLECT
AGGREGATE ACTIVITY DATA, ale zestaw
2 Domyślnej systemowej klasy usługi i domyślnej działania pracy jest powiązany z bazą danych.
klasy usługi konserwacji nie można powiązać z Działania pracy COLLECT AGGREGATE
obciążeniem, zestawem działania pracy lub progiem. ACTIVITY DATA są dozwolone tylko dla
Określ zdefiniowaną przez użytkownika klasę zestawów działania pracy stosowanych do klas
usługi. usług.
3 Jednego z podanych atrybutów nie można zmienić Działanie użytkownika:
dla domyślnej podklasy. Zamiast tego zmień atrybut Podaj inny typ działania pracy.
nadrzędnej nadklasy.
4 Domyślnej klasy podusługi nie można powiązać z kod_sql: -4720
obciążeniem. Określ zdefiniowaną przez
użytkownika klasę usługi. stan_sql: 5U034

Rozdział 2. Komunikaty SQL 431


SQL4721N • SQL4725N

definicje progów są zgodne, gdy używają one tego samego


SQL4721N Nie można utworzyć progu nazwa-progu
predykatu i są stosowane do tej samej domeny.
(kod przyczyny = kod-przyczyny).
Objaśnienie: Nowy próg nie został utworzony.
Nie można utworzyć progu, ponieważ narusza to ograniczenie
wskazywane przez następujący kod przyczyny: Działanie użytkownika:
Nie jest wymagane żadne działanie, chyba że istniejący próg
1 Nadklasa usługi nie istnieje. nazwa nie jest odpowiednim progiem. W takim przypadku
należy go usunąć, aby można było utworzyć żądany próg.
2 Podklasa usługi nie istnieje.
3 Definicja obciążenia nie istnieje. kod_sql: +4722
4 Ten typ progu nie jest obsługiwany dla podanej
domeny definicji i zasięgu wymuszania. stan_sql: 01550

5 Wartość podana dla warunku progu jest poza


zakresem. SQL4723N Wartość wartość-atrybutu-połączenia jest już
zdefiniowana dla atrybutu połączenia
6 Gdy parametr maxValue jest ustawiony na 0 dla atrybut-połączenia lub został wykryty
progu kolejkowania, parametr queueSize musi duplikat.
również wynosić 0, a czynnością musi być STOP
EXECUTION. Objaśnienie:
Wartość dodawanego atrybutu połączenia już istnieje dla tego
7 Predykatu progu nie można zmienić instrukcją atrybutu połączenia albo na udostępnionej liście istnieją
ALTER THRESHOLD. duplikaty.
Działanie użytkownika: Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące: Usuń wartość i ponownie wprowadź komendę.
1 Utwórz nadklasę usługi, a następnie ponownie
wprowadź instrukcję CREATE THRESHOLD lub kod_sql: -4723
ALTER THRESHOLD.
stan_sql: 5U039
2 Utwórz podklasę usługi, a następnie ponownie
wprowadź instrukcję CREATE THRESHOLD lub
ALTER THRESHOLD. SQL4724N Wartości wartość-atrybutu-połączenia nie
można usunąć, ponieważ nie jest ona
3 Utwórz obciążenie, a następnie ponownie wprowadź zdefiniowana dla atrybutu połączenia
instrukcję CREATE THRESHOLD lub ALTER atrybut-połączenia.
THRESHOLD.
Objaśnienie:
4 Wprowadź instrukcję CREATE THRESHOLD lub Podana wartość atrybutu połączenia nie została zdefiniowana
ALTER THRESHOLD z poprawną domeną definicji dla atrybutu połączenia, więc nie może zostać usunięta.
i zasięgiem wymuszania.
Działanie użytkownika:
5 Wprowadź instrukcję CREATE THRESHOLD lub Podaj wartość atrybutu połączenia, która została zdefiniowana
ALTER THRESHOLD z wartością maksymalną w dla atrybutu połączenia i ponownie wprowadź instrukcję.
poprawnym zakresie.
6 Wprowadź instrukcję CREATE THRESHOLD lub kod_sql: -4724
ALTER THRESHOLD z parametrem queueSize
równym 0 i czynnością STOP EXECUTION. stan_sql: 5U040

7 Usuń próg i utwórz nowy próg z żądanym


predykatem. Zamiennie można zachować istniejący SQL4725N Działanie zostało anulowane.
próg i utworzyć nowy z żądanym predykatem. Objaśnienie:
Do anulowania działania została użyta procedura
kod_sql: -4721 WLM_CANCEL_ACTIVITY.

stan_sql: 5U037 Działanie użytkownika:


Kontynuuj wykonywanie aplikacji.

SQL4722W Próg nie został utworzony, ponieważ istnieje kod_sql: -4725


już próg nazwa-obiektu ze zgodną definicją.
Objaśnienie: stan_sql: 57014
Instrukcja CREATE THRESHOLD próbowała utworzyć nowy
próg, który jest zgodny z istniejącą definicją progu. Dwie

432 Komunikaty, tom 2


SQL4901N • SQL4907W

określają wielkość przydzielonego miejsca oraz to, jaka jego


SQL4901N Programy usługowe prekompilatora
część jest wykorzystywana. Wielkość przydzielonego miejsca
wymagają powtórnego inicjowania z
nie może być mniejsza od wielkości miejsca
powodu poprzedniego błędu.
wykorzystywanego.
Objaśnienie:
Podczas poprzedniego wywołania funkcji wystąpił błąd. Nie można wykonać tej funkcji.
Żądane wywołanie funkcji może zostać przetworzone dopiero
po powtórnym zainicjowaniu programów usługowych Działanie użytkownika:
prekompilatora. Popraw podany parametr i ponownie wywołaj funkcję.

Nie można wykonać tej funkcji. SQL4906N Lista obszarów tabel podanych dla operacji
odtwarzania zmian jest niekompletna.
Działanie użytkownika:
Wywołaj funkcję sqlainit w celu powtórnego inicjowania Objaśnienie:
programów usługowych prekompilatora. Lista nazw obszarów tabel jest niekompletna. Może to być
spowodowane jedną z poniższych przyczyn:
SQL4902N Przynajmniej jeden ze znaków w v Dla odtwarzania obszarów tabel z datownikiem należy
parametrze n funkcji funkcja jest podać listę obszarów tabel.
niepoprawny. v Dla odtwarzania obszarów tabel z datownikiem należy
podać pełną listę nazw obszarów tabel. Obszary tabel,
Objaśnienie:
których nazwy znajdują się na liście, muszą zawierać
Wymieniony parametr podanej funkcji zawiera co najmniej
wszystkie obiekty ze wszystkich tabel z obszarów tabel.
jeden niepoprawny znak.
v Odtwarzanie obszarów tabel z datownikiem nie jest
Nie można wykonać tej funkcji. dopuszczalne dla katalogów systemowych.
v Odtwarzanie obszarów tabel do końca dziennika jest
Działanie użytkownika:
dopuszczalne dla katalogów systemowych tylko dla
Popraw podany parametr i ponownie wywołaj funkcję.
obszarów tabel z listy.
v Opcja CANCEL dla odtwarzania zmian wymaga listy
SQL4903N Długość parametru n funkcji nazwa jest obszarów tabel, jeśli żadne obszary tabel nie znajdują się w
niepoprawna. stanie ″odtwarzania zmian w toku″.
Objaśnienie: Działanie użytkownika:
Długość wymienionego parametru podanej funkcji jest Przejrzyj listę obszarów tabel i ponownie wprowadź komendę
niepoprawna. odtwarzania zmian z kompletną listą obszarów tabel.

Nie można wykonać tej funkcji.


SQL4907W Baza danych nazwa została odtworzona, lecz
Działanie użytkownika: co najmniej jedna tabela na liście obszarów
Popraw podany parametr i ponownie wywołaj funkcję. tabel podanej dla operacji odtwarzania
zmian jest w stanie ustawiania integralności
w toku.
SQL4904N Wskaźnik do parametru n funkcji funkcja
jest niepoprawny. Objaśnienie:
Jedna lub kilka tabel poddawanych operacji odtwarzania
Objaśnienie:
obszaru tabel z datownikiem jest objęta ograniczeniami
Wskaźnik wymienionego parametru podanej funkcji jest
referencyjnymi związanymi z tabelami spoza używanej do
niepoprawny.
odtwarzania listy obszarów tabel, albo z tabelami
poddawanymi tej operacji związane są zależne
Nie można wykonać tej funkcji.
zmaterializowane tabele zapytań lub zależne tabele pomostowe
Działanie użytkownika: spoza używanej do odtwarzania listy obszarów tabel.
Popraw podany parametr i ponownie wywołaj funkcję. Wszystkie te tabele są w stanie ustawiania integralności w
toku. Pod innymi względami operacja odtwarzania zmian
zakończyła się pomyślnie.
SQL4905N Wartość parametru n funkcji funkcja nie
znajduje się w poprawnym zakresie. Działanie użytkownika:
Sprawdź stan tabel w obszarach tabel i wykonaj odpowiednie
Objaśnienie: działania, jeśli jest to konieczne.
Wartość wymienionego parametru podanej funkcji nie należy
do poprawnego zakresu dla tego parametru. Jeśli podany
parametr jest strukturą, to może zawierać wartości które należą
do poprawnego zakresu, ale nie są poprawne, kiedy rozpatruje
się je łącznie. Niektóre struktury zawierają nagłówki, które

Rozdział 2. Komunikaty SQL 433


SQL4908N • SQL4910N

SQL4908N Lista obszarów tabel określona dla SQL4909W Odtwarzanie zmian zostało pomyślnie
odtwarzania zmian dla bazy danych nazwa zakończone, ale jeden lub więcej obszarów
jest niepoprawna dla węzłów lista-węzłów. tabel umieścił swoje tabele w stanie
DRP/DRNP. Szczegółowe informacje na
Objaśnienie:
temat węzłów lista-węzłów zawiera dziennik
Sprawdź, czy spełniony jest co najmniej jeden z następujących
powiadomień administracyjnych.
warunków:
v Lista obszarów tabel zawiera powtórzone nazwy. Objaśnienie:
Niektóre obszary tabel mają tabele w stanie oczekiwania na
v Jeśli jest uruchamiane nowe odtwarzanie zmian w
uzgodnienie DATALINK (DRP) lub w stanie, w którym
obszarach tabel, to oznacza to, że co najmniej jeden z
uzgodnienie DATALINK nie jest możliwe (DRNP). Może to
obszarów tabel na liście obszarów tabel, w których mają
być spowodowane jedną z następujących przyczyn:
być odtwarzane zmiany nie jest w stanie oczekiwania na
odtwarzanie zmian na podanych węzłach. v Odtwarzanie zostało wykonane z podaną opcją WITHOUT
DATALINK i nastąpiło po nim odtwarzanie zmian z
v Jeśli jest kontynuowane uruchomione odtwarzanie zmian
datownikiem. Wszystkie tabele z kolumnami DATALINK
obszaru tabel, co najmniej jeden z obszarów tabel z listy
są w stanie DRNP.
obszarów tabel, w których mają być odtwarzane zmiany, nie
jest w stanie odtwarzania zmian w toku na podanych v Odtwarzanie zostało wykonane z obrazu kopii zapasowej o
węzłach lub jest odłączony. innej nazwie bazy danych, aliasie, nazwie hosta lub
instancji i nastąpiło po nim odtwarzanie zmian. Wszystkie
Działanie użytkownika: tabele z kolumnami DATALINK są w stanie DRNP.
Sprawdź, czy na liście nie ma powtórzonych nazw obszarów
v Odtwarzanie zostało wykonane z obrazu kopii zapasowej,
tabel.
który stał się nieużyteczny i nastąpiło po nim odtwarzanie
zmian. Wszystkie tabele z kolumnami DATALINK są w
Należy wykonać komendę LIST TABLESPACES SHOW stanie DRNP.
DETAIL na podanych węzłach, aby dowiedzieć się, w których
obszarach tabel nie można przeprowadzić odtwarzania zmian. v Odtwarzanie zmian zostało wykonane z datownikiem, a nie
Użyj opcji QUERY STATUS komendy odtwarzania zmian, do końca dzienników. Wszystkie tabele z kolumnami
aby określić status odtwarzania zmian w obszarze tabel. Jeśli DATALINK z tego obszaru tabel są w stanie DRNP.
statusem jest ″TBS pending″, można rozpocząć nowe v Informacje o kolumnie DATALINK nie istnieją w
odtwarzanie zmian w obszarze tabel. Jeśli statusem jest ″TBS programach DB2 Data Links Manager. Tabele, których to
working″, oznacza to, że odtwarzanie zmian w obszarze tabel dotyczy, przechodzą w stan DRNP.
już trwa. v Odtwarzanie zmian obejmowało kolumny DATALINK
zdefiniowane z opcją ″RECOVERY NO″. Tabele, których
Jeśli rozpoczynasz nowe odtwarzanie zmian w obszarze tabel, to dotyczy, przechodzą do stanu DRP.
odtwórz obszary tabel, aby zmienić ich stan na oczekiwanie na
odtwarzanie zmian. Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełna
lista węzłów zostanie umieszczona w dzienniku
Jeśli kontynuujesz odtwarzanie zmian w obszarach tabel, a diagnostycznym.
kilka z nich zostało odtworzonych i ich stan zmieniono na
oczekiwanie na odtwarzanie zmian, to trwające odtwarzanie (Uwaga: W przypadku serwera partycjonowanych baz danych
zmian w obszarach należy anulować. Ponownie wprowadź numery węzłów wskazują, na których węzłach wystąpiły
komendę odtwarzania zmian z opcją CANCEL i tą samą listą błędy. W innych przypadkach numery węzłów nie są istotne i
obszarów tabel. Po anulowaniu trwającego odtwarzania zmian, powinny zostać zignorowane).
stan obszarów tabel zostanie zmieniony na oczekiwanie na
odtwarzanie. Odtwórz obszary tabel i ponownie wprowadź Działanie użytkownika:
pierwotną komendę odtwarzania zmian. Przejrzyj plik db2diag.log, aby odnaleźć tabele, które
przechodzą do stanu DRP/DRNP. Więcej informacji na temat
Jeśli kontynuowane jest odtwarzanie zmian w obszarach tabel, uzgadniania tabel będących w stanie DRP/DRNP można
a co najmniej jeden z tych obszarów tabel znajduje się w trybie znaleźć w podręczniku Administration Guide.
bez połączenia, dostępne są trzy możliwości:
v Wprowadź obszar tabel w tryb z połączeniem i uruchom SQL4910N Ścieżka dziennika przepełnienia
oryginalną komendę odtwarzania zmian. ścieżka-dziennika nie jest poprawna.
v Wprowadź ponownie komendę odtwarzania zmian, ale Objaśnienie:
usuwając z listy obszarów te, które znajdują się w trybie bez Ścieżka do dziennika przepełnienia, podana w komendzie
połączenia. Obszary te zostaną przełączone w stan ROLLFORWARD jest niepoprawna. Ścieżka do dziennika
odtwarzania w toku. przepełnienia musi być katalogiem w systemie plików. Katalog
v Ponownie wprowadź komendę odtwarzania zmian z opcją ten musi być dostępny dla identyfikatora właściciela instancji.
CANCEL i tą samą listą obszarów tabel. Po anulowaniu
Działanie użytkownika:
trwającego odtwarzania zmian, stan obszarów tabel zostanie
zmieniony na oczekiwanie na odtwarzanie.

434 Komunikaty, tom 2


SQL4911N • SQL4920N

Wprowadź ponownie komendę z prawidłową ścieżką do


SQL4916N Funkcja ″sqlainit″ nie została wywołana.
dziennika przepełnienia.
Objaśnienie:
Aby można było przetworzyć wywołanie żądanej funkcji,
SQL4911N Niepoprawna zmienna języka
należy zainicjować programy usługowe prekompilatora.
macierzystego.
Objaśnienie: Nie można wykonać tej funkcji.
Niepoprawny typ danych zmiennej języka macierzystego.
Działanie użytkownika:
Wywołaj funkcję sqlainit, aby zainicjować programy usługowe
Nie można wykonać tej funkcji.
prekompilatora.
Działanie użytkownika:
Popraw typ danych zmiennej języka macierzystego i ponownie
SQL4917N Niepoprawny element liczba w tabeli opcji.
wywołaj funkcję.
Objaśnienie:
Tabela opcji zawiera niepoprawny element typu opcja.typ lub
SQL4912N Długość zmiennej języka macierzystego
element o niepoprawnej wartości opcja.wartość. Podany w
poza zakresem.
komunikacie numer elementu n wskazuje na jego położenie w
Objaśnienie: części opcji tabeli opcji.
Niepoprawna długość zmiennej języka macierzystego.
Nie można wykonać tej funkcji.
Nie można wykonać tej funkcji.
Działanie użytkownika:
Działanie użytkownika: Popraw wartości w tabeli opcji. Ponownie wywołaj funkcję.
Popraw długość zmiennej języka macierzystego i ponownie
wywołaj funkcję.
SQL4918N Nieprawidłowy parametr term_option
funkcji ″sqlainit″.
SQL4913N Identyfikator elementu zmiennej języka
Objaśnienie:
macierzystego został już użyty.
Parametr term_option jest niepoprawny.
Objaśnienie:
Identyfikator elementu zmiennej języka macierzystego został Nie można wykonać tej funkcji.
już użyty. Identyfikator elementu musi być unikalny wewnątrz
Działanie użytkownika:
modułu.
Popraw parametr term_option i ponownie wywołaj funkcję.
Nie można wykonać tej funkcji.
SQL4919N Za mały parametr task_array funkcji
Działanie użytkownika:
″sqlacmpl″.
Popraw identyfikator elementu zmiennej języka macierzystego
i ponownie wywołaj funkcję. Objaśnienie:
Struktura tabeli zadania przekazana do programów
usługowych prekompilatora przy użyciu funkcji sqlacmpl jest
SQL4914N Niepoprawny identyfikator elementu
zbyt krótka.
zmiennej języka macierzystego.
Objaśnienie: Funkcja zakończyła się niepomyślnie.
Identyfikator elementu zmiennej języka macierzystego jest
Działanie użytkownika:
niepoprawny.
Zwiększ wielkość struktury tabeli zadania przydzielanej przez
prekompilator. Ponownie skompiluj aplikację.
Nie można wykonać tej funkcji.
Działanie użytkownika:
SQL4920N Za mały parametr token_id_array funkcji
Popraw identyfikator elementu zmiennej języka macierzystego
″sqlacmpl″.
i ponownie wywołaj funkcję.
Objaśnienie:
Struktura tabeli identyfikatorów elementów przekazana do
SQL4915N Już wywołano funkcję ″sqlainit″.
programów usługowych prekompilatora funkcją sqlacmpl()
Objaśnienie: jest za mała.
Programy usługowe prekompilatora zostały już zainicjowane.
Funkcja zakończyła się niepomyślnie.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Kontynuuj przetwarzanie. Działanie użytkownika:

Rozdział 2. Komunikaty SQL 435


SQL4921N • SQL4944N

Zwiększ wielkość struktury tabeli identyfikatorów elementów


SQL4941N Instrukcja SQL nie zawiera informacji lub
przydzielanej przez prekompilator. Ponownie skompiluj
jest pusta.
aplikację.
Objaśnienie:
Tekst następujący po wyrażeniu EXEC SQL nie zawierał
SQL4921N Wykonanie komendy odtwarzania zmian
informacji lub był pusty.
nie powiodło się, ponieważ na wszystkich
partycjach bazy danych wykonywana jest
Nie można wykonać tej funkcji.
obecnie rozpoczęta uprzednio operacja
odtwarzania zmian do określonego Działanie użytkownika:
momentu. Sprawdź, czy po wyrażeniu EXEC SQL następuje poprawna
instrukcja SQL.
Objaśnienie:
Na wszystkich partycjach bazy danych wykonywana jest
obecnie operacja odtwarzania zmian do określonego momentu. SQL4942N Instrukcja podstawia do zmiennej języka
Nie można wykonać następnych komend odtworzenia zmian, macierzystego nazwa niezgodne typy
dopóki rozpoczęta uprzednio operacja odtwarzania zmian do danych.
określonego momentu nie zostanie zakończona lub anulowana.
Objaśnienie:
Działanie użytkownika: Wbudowana instrukcja SELECT podstawia dane do zmiennej
Wydaj ponownie komendę ROLLFORWARD DATABASE z języka macierzystego nazwa, jednak typy danych zmiennej i
opcją STOP bez określania klauzuli ON dla partycji bazy odpowiadającego jej elementu na liście SELECT nie są
danych. zgodne. Jeśli typem danych kolumny jest data i godzina, to
zmienna musi być typu znakowego i mieć odpowiednią
długość minimalną. Zarówno kolumna, jak i zmienna muszą
SQL4930N Niepoprawna opcja wiązania lub
być typu liczbowego, znakowego lub graficznego. W
prekompilacji, lub niepoprawna wartość
przypadku typu danych zdefiniowanego przez użytkownika,
opcji nazwa opcji.
zmienna języka macierzystego może być zdefiniowana ze
Objaśnienie: skojarzonym wbudowanym typem danych, który nie jest
Albo nazwa-opcji jest niepoprawną opcją wiązania lub zgodny z typem wyników funkcji transformacji FROM SQL,
prekompilacji, albo wartość podana dla tej opcji jest zdefiniowanej w grupie transformacji dla tej instrukcji.
niepoprawna. Nie można kontynuować wiązania lub
prekompilacji. Nie można wykonać tej funkcji.
Działanie użytkownika: Działanie użytkownika:
Popraw opcję wiązania lub prekompilacji, albo nadaj jej Sprawdź, czy definicje tabeli są aktualne i czy zmienna języka
poprawną wartość i spróbuj ponownie wprowadzić komendę macierzystego jest odpowiedniego typu.
wiązania lub prekompilacji.
SQL4943W Liczba zmiennych języka macierzystego w
SQL4940N Klauzula klauzula jest niedozwolona lub klauzuli INTO jest różna od liczby pozycji
wymagana. w klauzuli SELECT.
Objaśnienie: Objaśnienie:
Podana klauzula jest albo niedozwolona w kontekście, w Liczby zmiennych języka macierzystego podanych w
którym występuje w instrukcji SQL, albo jest wymagana w klauzulach INTO i SELECT muszą być takie same.
instrukcji.
Funkcja jest przetwarzana.
Podzapytanie, instrukcja INSERT ani instrukcja CREATE
VIEW nie może mieć klauzuli INTO, ORDER BY ani FOR Działanie użytkownika:
UPDATE. Wbudowana instrukcja SELECT nie może zawierać Popraw aplikację, tak aby podstawiała tę samą liczbę
klauzuli ORDER BY ani FOR UPDATE. Wbudowana zmiennych języka macierzystego co wyrażenia na liście
instrukcja SELECT nie może zawierać operatora SELECT.
mnogościowego, chyba że w podzapytaniu. Instrukcje
SELECT użyte w deklaracjach kursora nie mogą mieć klauzuli SQL4944N Aktualizowana lub wstawiana wartość jest
INTO. równa NULL, a kolumna obiektów nie może
zawierać wartości NULL.
Wbudowana instrukcja SELECT musi mieć klauzulę INTO.
Objaśnienie:
Wystąpiła jedna z następujących sytuacji:
Nie można wykonać tej funkcji.
v Zaktualizowana lub wstawiona wartość jest równa NULL,
Działanie użytkownika: ale kolumna obiektu w definicji tabeli została
Usuń lub dodaj klauzulę, aby poprawić instrukcję. zadeklarowana jako NOT NULL. Z tego powodu wartości

436 Komunikaty, tom 2


SQL4945N • SQL4954N

pustych nie można wstawiać do tej kolumny wartości Złożone instrukcje SQL zawierające zdefiniowane przez
NULL, a wartości w tej kolumnie nie można zaktualizować użytkownika obszary deskryptorów SQL nie są obsługiwane w
do wartości NULL. aplikacjach 16-bitowych.
v Lista nazw kolumn dla instrukcji INSERT pomija kolumny Działanie użytkownika:
zadeklarowane w definicji tabeli jako NOT NULL. Przesuń instrukcję poza blok instrukcji złożonej lub zastąp ją
v Widok dla instrukcji INSERT pomija kolumny taką instrukcją, która korzysta ze zmiennych języka
zadeklarowane w definicji tabeli podstawowej jako NOT macierzystego, a nie z obszarów deskryptorów SQL.
NULL.
SQL4951N Niepoprawny parametr sqlda_id funkcji
Nie można wykonać tej funkcji.
nazwa.
Działanie użytkownika:
Objaśnienie:
Przejrzyj definicję tabeli obiektów, aby sprawdzić, które
Parametr sqlda_id podanej funkcji w aplikacji jest
kolumny tabeli mają atrybut NOT NULL i popraw instrukcję
niepoprawny. Parametr sqlda_id nie może mieć wartości
SQL.
pustych.

SQL4945N Niepoprawne użycie znacznika parametru. Nie można wykonać tej funkcji.
Objaśnienie: Działanie użytkownika:
Znaczników parametrów można używać tylko w Popraw w aplikacji parametr sqlda_id.
dynamicznych instrukcjach SQL.
SQL4952N Niepoprawny parametr sqlvar_index
Nie można wykonać tej funkcji.
funkcji nazwa.
Działanie użytkownika:
Objaśnienie:
Dla statycznych instrukcji SQL użyj zmiennych języka
Parametr sqlvar_index podanej funkcji w aplikacji jest
macierzystego zamiast znaczników parametrów.
niepoprawny. Parametr sqlvar_index może być większy niż
liczba elementów zmiennej SQL w obszarze deskryptorów
SQL4946N Niezdefiniowana nazwa kursora lub SQL.
instrukcji nazwa.
Nie można wykonać tej funkcji.
Objaśnienie:
Podana w instrukcji nazwa kursora lub instrukcji nazwa nie Działanie użytkownika:
jest zdefiniowana. Popraw w aplikacji parametr sqlvar_index.

Nie można wykonać tej funkcji.


SQL4953N Niepoprawny parametr call_type funkcji
Działanie użytkownika: nazwa.
Sprawdź w aplikacji kompletność nazw kursorów lub
Objaśnienie:
instrukcji i usuń ewentualne błędy literowe.
Parametr call_type podanej funkcji w aplikacji jest
niepoprawny.
SQL4947W Napotkana instrukcja INCLUDE SQLDA
została zignorowana. Nie można wykonać tej funkcji.
Objaśnienie: Działanie użytkownika:
Dostarczany z menedżerem baz danych prekompilator języka Popraw w aplikacji parametr call_type.
FORTRAN nie obsługuje instrukcji INCLUDE SQLDA.
SQL4954N Niepoprawny parametr section_number
Instrukcja została zignorowana. Przetwarzanie będzie
funkcji nazwa.
kontynuowane.
Objaśnienie:
Działanie użytkownika:
Parametr section_number podanej funkcji w aplikacji jest
Nie jest wymagane żadne działanie. Aby ten komunikat nie był
niepoprawny. Dla następujących instrukcji SQL parametr
wyświetlany w przyszłości, usuń z programu instrukcję
section_number funkcji sqlacall() jest używany do
INCLUDE SQLDA.
przekazywania typu instrukcji:
v CONNECT
SQL4950N Złożone instrukcje SQL zawierające
v SET CONNECTION
zdefiniowane przez użytkownika obszary
deskryptorów SQL nie są obsługiwane w v RELEASE
tym środowisku. v DISCONNECT
Objaśnienie:

Rozdział 2. Komunikaty SQL 437


SQL4970N • SQL4971N

Nie można wykonać tej funkcji. Po sprawdzeniu powyższych wymagań ponownie


wprowadź komendę ROLLFORWARD DATABASE.
Działanie użytkownika:
Popraw w aplikacji parametr section_number.
Jeśli plik dziennika istnieje, a ponowne wprowadzenie
komendy ROLLFORWARD DATABASE kończy się
SQL4970N Odtwarzanie zmian dla bazy danych nazwa niepowodzeniem (potencjalne problemy z integralnością
nie może osiągnąć określonego punktu danych w pliku dziennika) lub nie można odnaleźć pliku
zatrzymania (końca dziennika lub momentu dziennika, odtwórz bazę danych i wycofaj zmiany do
w czasie) dla następujących partycji bazy wcześniejszego momentu określonego w pliku dziennika
danych: lista-partycji-bazy-danych. wcześniejszym niż plik plik-dziennika (użyj datownika
Odtwarzanie zmian zostało zatrzymane na wcześniejszego niż występujący we najwcześniejszym
pliku dziennika plik-dziennika. brakującym pliku).
Objaśnienie: 2. Jeśli datownik momentu był poprawny i wszystkie pliki
Ten komunikat jest wyświetlany w następujących sytuacjach: dziennika istnieją, określony moment może w
rzeczywistości wykraczać poza wszelkie czynności
1. Program narzędziowy od odtwarzania zmian w bazie
wykonywane na bazie danych. W takim przypadku
danych nie może uzyskać dostępu do plików, których nie
wprowadź komendę ROLLFORWARD DATABASE z
ma albo w których występują problemy z integralnością
opcją STOP, która zakończy odtwarzanie zmian dla
danych.
bieżącej pozycji w plikach dziennika.
v Zażądano zmiany stanu podanej bazy danych ze stanu
oczekiwania na odtwarzanie zmian, ale program W celu uzyskania dodatkowych informacji na temat programu
narzędziowy do odtwarzania zmian bazy danych nie narzędziowego do odtwarzania zmian w bazie danych
mógł znaleźć niezbędnych dzienników archiwalnych ani przeszukaj Centrum informacyjne DB2
w katalogu dzienników bazy danych, ani w katalogu (http://publib.boulder.ibm.com/infocenter/db2luw/v9),
dzienników przepełnień w podanych partycjach bazy używając takich fraz, jak ″odtwarzanie zmian″.
danych i nie mógł osiągnąć punktu końcowego
poprzedniej komendy ROLLFORWARD DATABASE.
SQL4971N Odtwarzanie zmian w bazie danych nazwa w
v W środowisku wielowęzłowym program narzędziowy
węźle numer-węzła uprzednio nie powiodło
do odtwarzania zmian bazy danych nie może znaleźć
się podczas zatrzymywania. Należy
plików dzienników archiwalnych niezbędnych podczas
zatrzymać odtwarzanie zmian.
synchronizacji węzła z węzłem katalogu.
2. Było to odtwarzanie zmian dla danego momentu, w Objaśnienie:
którym określony datownik był niedostępny w plikach Zażądano kontynuowania odtwarzania zmian w podanej bazie
dziennika. Może to oznaczać, że brakuje plików dziennika danych przy użyciu działania programu wywołującego
lub że dany moment wystąpił po końcu dziennika. SQLUM_ROLLFWD. Błąd podczas zatrzymywania
poprzedniej iteracji odtwarzania zmian. Jeśli odtwarzanie
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną zmian odbywało się na poziomie bazy danych, oznacza to, że
listę węzłów można znaleźć w dzienniku powiadomień błąd wystąpił podczas obcinania dziennika. Odtwarzanie
administracyjnych. zmian dla tej bazy danych musi teraz zostać zatrzymane za
pomocą działania programu wywołującego
Odtwarzanie zmian zostało zatrzymane. Baza danych znajduje SQLUM_ROLLFWD_STOP, SQLUM_STOP,
się w stanie oczekiwania na odtwarzanie zmian. SQLUM_ROLLFWD_COMPLETE lub
SQLUM_COMPLETE.
Uwaga: w przypadku serwerów partycjonowanych baz danych
numery węzłów wskazują, w których węzłach wystąpiły błędy. Uwaga: w przypadku serwera partycjonowanych baz danych,
W innych przypadkach numery węzłów nie są istotne i numer węzła określa węzeł, na którym wystąpił błąd. W
powinny zostać zignorowane. innych przypadkach numery węzłów nie są istotne i powinny
zostać zignorowane.
Działanie użytkownika:
Działanie użytkownika:
1. Upewnij się, że plik plik-dziennika istnieje, w razie Wydaj ponownie komendę ROLLFORWARD DATABASE z
potrzeby przenosząc go do odpowiedniej lokalizacji: działaniem programu wywołującego
v Sprawdź ścieżkę katalogu dziennika bazy danych lub SQLUM_ROLLFWD_STOP, SQLUM_STOP,
dziennika przepełnień (jeśli został określony). SQLUM_ROLLFWD_COMPLETE lub
v Jeśli archiwizacja dziennika jest włączona, upewnij się, SQLUM_COMPLETE. Podane punkty zatrzymania będą
że plik plik-dziennika istnieje w archiwum. Sprawdź ignorowane, dopóki nie zostanie przetworzony poprzedni
również, czy działa metoda odtwarzania archiwizacji punkt zatrzymania.
dziennika: sprawdź, czy w dzienniku powiadomień
administracyjnych występuje komunikat ADM0083I i w
razie potrzeby skoryguj metodę odtwarzania.

438 Komunikaty, tom 2


SQL4972N • SQL4976N

SQL4972N Przydziału dziennika przydział dla węzła SQL4974W Komenda ROLLFORWARD DATABASE
numer-węzła nie można przenieść do ścieżki QUERY STATUS napotkała kod sql
dzienników bazy danych. kod_sql.
Objaśnienie: Objaśnienie:
Program narzędziowy do odtwarzania zmian został wywołany Podczas wykonywania komendy ROLLFORWARD
z opcją STOP. Podczas odtwarzania zmian przydział dziennika DATABASE QUERY STATUS napotkano błąd o kodzie sql
przydział musi zostać obcięty. Przydział ten musi istnieć w kod_sql. Zapytanie może zakończyć się w niektórych węzłach
ścieżce dzienników bazy danych. Obecnie przydział istnieje w niepomyślnie z różnych przyczyn. Na najpoważniejszy błąd
ścieżce dzienników przepełnień. Podjęto próbę przesunięcia wskazuje kod kod_sql. Status odtwarzania zmian jest zwracany
przydziału ze ścieżki dzienników przepełnień do ścieżki tylko dla tych węzłów, dla których operacja zakończyła się
dzienników bazy danych. Próba ta nie powiodła się. pomyślnie.
Odtwarzanie zmian zostało zatrzymane.
Działanie użytkownika:
Odszukaj kod SQL kod_sql w podręczniku Komunikaty lub w
Uwaga: w przypadku serwera partycjonowanych baz danych,
zasobach elektronicznych w celu określenia problemów z
numer węzła określa węzeł, na którym wystąpił błąd. W
węzłami, gdzie wystąpiło niepowodzenie. Popraw błędy, a
innych przypadkach numery węzłów nie są istotne i powinny
następnie kontynuuj odtwarzanie zmian w tych węzłach.
zostać zignorowane.
Działanie użytkownika:
SQL4975W Operacja odtwarzania zmian została
Przesuń przydział ze ścieżki dzienników przepełnień do
pomyślnie anulowana. Baza danych lub
ścieżki dzienników bazy danych, a następnie ponownie wydaj
wybrane obszary tabel muszą zostać
komendę ROLLFORWARD DATABASE.
odtworzone na węzłach lista-węzłów.
Objaśnienie:
SQL4973N Odtwarzanie do przodu dla bazy danych
Operacja odtwarzania zmian została anulowana przed
nazwa nie może zostać zakończone,
zakończeniem. Baza danych lub wybrane obszary tabel są
ponieważ informacje dziennika w węzłach
niespójne. W wymienionych węzłach baza danych lub
lista-węzłów nie są zgodne z odpowiednimi
wybrane obszary tabel są w stanie odtwarzania w toku.
rekordami w węźle katalogu.
Objaśnienie: Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełną
Program narzędziowy do odtwarzania zmian przetworzył listę węzłów można znaleźć w dzienniku powiadomień
wszystkie pliki dzienników znalezione w każdym węźle, ale administracyjnych.
punkty końcowe w podanym węźle nie odpowiadają rekordom
w węźle katalogu. Może to być spowodowane brakiem plików Uwaga: w przypadku serwerów partycjonowanych baz danych
dziennika w węźle katalogu albo w podanych węzłach lub też numery węzłów wskazują, w których węzłach wystąpiły błędy.
tym, że węzeł katalogu nie jest podany na liście węzłów do W innych przypadkach numery węzłów nie są istotne i
odtwarzania zmian. powinny zostać zignorowane.
Działanie użytkownika:
Przetwarzanie komendy ROLLFORWARD DATABASE
Odtwórz bazę danych lub wybrane obszary tabel w węzłach
zostaje zatrzymane.
znajdujących się na liście. Obszary tabel znajdujące się w
Działanie użytkownika: stanie odtwarzania w toku w wymienionych węzłach mogą
Wykonaj jedną z następujących czynności: zostać zidentyfikowane za pomocą komendy LIST
v Sprawdź, czy węzeł katalogu wymaga odtwarzania zmian. TABLESPACES lub programu db2dart.
Jeśli tak, to ponownie wydaj komendę ROLLFORWARD
DATABASE i dołącz węzeł katalogu. SQL4976N Nie można wprowadzić tej komendy w
v Określ, których plików dziennika brakuje, używając węźle innym niż węzeł katalogu.
komendy ROLLFORWARD DATABASE z opcją QUERY
Objaśnienie:
STATUS. Po znalezieniu plików dzienników, umieść je w
Komenda ROLLFORWARD DATABASE może być
ścieżce dzienników lub w ścieżce dzienników przepełnień i
wykonywana tylko w węźle katalogu.
kontynuuj odtwarzanie zmian.
v Jeśli znalezienie brakujących plików dzienników jest Gdy w komendzie BACKUP DATABASE zostanie podana
niemożliwe, odtwórz bazę danych we wszystkich węzłach, a klauzula ON DBPARTITIONNUM, komenda jest
następnie wykonaj odtwarzanie do datownika, używając akceptowana tylko w węźle katalogu.
czasu zatrzymania, który jest wcześniejszy niż
najwcześniejszy datownik brakującego pliku dziennika. Działanie użytkownika:
Wprowadź komendę w węźle katalogu.

Rozdział 2. Komunikaty SQL 439


SQL4977N • SQL4981W

v Uruchom procedury diagnostyczne sprzętu, aby sprawdzić,


SQL4977N Katalog eksportowania usuniętych tabel
czy sprzętowe elementy systemu są w pełni sprawne.
katalog nie jest poprawny.
v Jeśli istnieje inna kopia tego samego pliku dziennika,
Objaśnienie: umieść ją w katalogu dzienników bazy danych lub w
Ścieżka do katalogu eksportowania, podana w komendzie katalogu dziennika przepełnienia i ponownie uruchom
ROLLFORWARD jest niepoprawna. Ścieżka do katalogu komendę.
eksportowania musi być katalogiem w systemie plików.
v W przypadku operacji odtwarzania bazy danych w
Katalog ten musi być dostępny dla identyfikatora właściciela
środowisku niepartycjonowanej bazy danych, gdy kopia
instancji.
pliku dziennika nie istnieje, należy zatrzymać proces
Działanie użytkownika: odtwarzania bazy odpowiednią komendą. Spowoduje to
Wprowadź ponownie komendę z poprawną ścieżką doprowadzenie bazy danych do stanu sprzed natrafienia na
eksportowania. uszkodzony plik dziennika. Trzeba przy tym pamiętać, że
dane z dziennika późniejsze niż ten punkt graniczny nie
będą dostępne.
SQL4978N Brak dostępu do usuniętej tabeli.
v W przypadku operacji odtwarzania bazy danych w
Objaśnienie: środowisku partycjonowanej bazy danych, gdy kopia pliku
Brak dostępu do usuniętej tabeli. Może to być spowodowane dziennika nie istnieje, należy odtworzyć wszystkie partycje
zmianą stanu tabeli na niedostępny z powodu wykonania bazy danych i uruchomić odtwarzanie do momentu
komendy LOAD bez kopii lub operacji NOT LOGGED bezpośrednio poprzedzającego uszkodzony plik dziennika.
INITIALLY. Trzeba przy tym pamiętać, że dane z dziennika późniejsze
Działanie użytkownika: niż ten punkt graniczny nie będą dostępne.
Nie można odtworzyć tabeli za pomocą opcji DROPPED v Jeśli problemu nie udaje się wyeliminować, zachowaj kopię
TABLE RECOVERY. uszkodzonego pliku do analizy przez dział wsparcia IBM.
Pracownicy działu wsparcia IBM potrafią ustalić, która
strona protokołu jest uszkodzona.
SQL4979W Nie można wyeksportować danych z
usuniętej tabeli.
SQL4981W Dane zostały wyeksportowane z usuniętej
Objaśnienie: tabeli, lecz na liście odtwarzania zmian nie
Komenda nie mogła wyeksportować danych z usuniętej tabeli, występowały obszary tabel, w których
którą próbowano odtworzyć. Może to mieć miejsce, jeśli w znajduje się jedna lub więcej partycji
komendzie ROLLFORWARD podano niepoprawny danych. Dane dla tych partycji danych nie
identyfikator usuniętej tabeli lub jeśli nie są dostępne będą dostępne w katalogu eksportu.
wszystkie dzienniki dla odtwarzania zmian. To ostrzeżenie jest
generowane, jeśli podczas odtwarzania usuniętej tabeli za Objaśnienie:
pomocą komendy ROLLFORWARD ... AND STOP występują Za pomocą podanej komendy nie można wyeksportować
błędy. danych z jednej lub wielu partycji danych dla usuniętej tabeli.
Taka sytuacja może wystąpić wówczas, gdy w komendzie
Działanie użytkownika: ROLLFORWARD nie są uwzględnione wszystkie obszary
Sprawdź, czy identyfikator usuniętej tabeli jest poprawny i czy tabel, na których zdefiniowana jest określona partycjonowana
dla odtwarzania zmian są dostępne wszystkie dzienniki, a tabela. Może to być zamierzone działanie, gdy dane z
następnie wprowadź ponownie komendę. partycjonowanej tabeli odtwarzane są w kilku przebiegach w
celu ograniczenia wielkości plików w katalogu eksportu. Pełna
SQL4980N Odtwarzanie bazy danych nazwa napotkało lista partycji danych, których dane nie zostały
uszkodzony plik dziennika plik-dziennika w wyeksportowane, jest dostępna w dzienniku powiadomień
partycji bazy danych numer-partycji-bazy- administracyjnych.
danych. Działanie użytkownika:
Objaśnienie: Wydaj ponownie tę komendę po upewnieniu się, że
Podczas odtwarzania bazy danych natrafiono na uszkodzony uwzględnione zostały wszystkie obszary tabel, w których
plik dziennika. znajdują się partycje danych znajdujące się na liście w
dzienniku powiadomień administracyjnych. Jeśli mają zostać
Jest możliwe, że na stronie dziennika wystąpił błąd sumy odtworzone tylko partycje danych uprzednio pominięte, określ
kontrolnej. Błąd sumy kontrolnej wskazuje, że dane zawarte na inną ścieżkę do pliku eksportowania, aby uniknąć nadpisania
stronie dziennika w pliku dyskowym nie mają postaci istniejących plików eksportowania.
oczekiwanej przez DB2. Zawartości tej strony dziennika nie
można ufać.
Działanie użytkownika:
Możliwe działania:

440 Komunikaty, tom 2


SQL4990N • SQL5005C

Działanie użytkownika:
SQL4990N Maksymalna liczba literałów obsługiwanych
Ponownie połącz się z bazą danych.
w instrukcji SQL wynosi liczba. Długość
każdego literału w bajtach może wynosić
maksymalnie wartość. SQL4999N Wystąpił błąd programów usługowych
prekompilatora lub programów usługowych
Objaśnienie:
wykonania.
Maksymalna liczba literałów obsługiwanych w instrukcji SQL
przez prekompilator języka COBOL wynosi liczba. Długość Objaśnienie:
każdego literału w bajtach może wynosić maksymalnie Wystąpił błąd menedżera baz danych, uniemożliwiający
wartość. Literał reprezentuje każdy element wejściowy, który przetwarzanie wywołań funkcji przez programy usługowe
nie jest zmienną języka macierzystego (to jest stałą prekompilatora lub programy usługowe wykonania.
łańcuchową, identyfikator z ogranicznikami, identyfikator bez
ograniczników). Nie będą przetwarzane żadne wywołania funkcji usługowych
prekompilatora ani wykonania.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika: Zapisz numer komunikatu (SQLCODE) i wszystkie możliwe
Zredukuj liczbę literałów w instrukcji SQL. Sprawdź, czy informacje o błędzie zawarte w SQLCA.
długość w bajtach żadnego literału nie przekracza długości
maksymalnej wynoszącej wartość. Jeśli śledzenie było aktywne, wywołaj program Independent
Trace Facility z wiersza komend systemu operacyjnego.
SQL4994N Prekompilacja została wstrzymana z v Środowisko: Outer Precompiler Using Precompiler Services
powodu żądania przerwania przez API
użytkownika. v Wymagane informacje:
Objaśnienie: – Opis problemu
Prekompilacja została zakończona z powodu przerwania. – Kod SQLCODE
Użytkownik mógł nacisnąć kombinację klawiszy służącą do
– Zawartość obszaru komunikacyjnego SQL (jeśli jest to
przerwania programu.
możliwe)
Przetwarzanie zostaje przerwane. Nie utworzono pakietu. – Plik śledzenia (jeśli jest to możliwe).

Działanie użytkownika:
Jeśli to konieczne, powtórz prekompilację. SQL5001N ID-autoryzowanego-użytkownika nie ma
uprawnień do zmiany pliku
konfiguracyjnego menedżera baz danych.
SQL4997N Nieprawidłowy identyfikator
autoryzowanego użytkownika. Objaśnienie:
Użytkownik próbował wykonać operację aktualizacji (Update)
Objaśnienie: lub zmiany ustawień (Reset) w pliku konfiguracyjnym
ID autoryzowanego użytkownika aplikacji został podany, ale menedżera baz danych, ale nie ma uprawnień SYSADM.
został zdefiniowany jako dłuższy niż 8 znaków lub zawiera
znaki niepoprawne dla ID autoryzowanego użytkownika. Żądana zmiana nie została wykonana.

ID autoryzowanego użytkownika nie może być słowo Działanie użytkownika:


PUBLIC (public), ani słowo rozpoczynające się od ciągu SYS Nie próbuj zmieniać pliku konfiguracyjnego menedżera baz
(sys), IBM (ibm) ani SQL (sql). Ponadto nie może on zawierać danych bez odpowiednich uprawnień. Jeśli zmiany są
znaku podkreślenia ani znaków spoza zestawu znaków wymagane, skontaktuj się z użytkownikiem z uprawnieniami
menedżera baz danych. SYSADM.

Nie można wykonać tej funkcji. SQL5005C Błąd systemowy.


Działanie użytkownika: Objaśnienie:
Ponownie uruchom aplikację z poprawnym ID Przy próbie uzyskania dostępu do pliku konfiguracyjnego
autoryzowanego użytkownika. pojawił się błąd systemowy, prawdopodobnie błąd we/wy.

SQL4998C Aplikacja jest w stanie błędu; utracono Nie można wykonać komendy.
połączenie z bazą danych. Działanie użytkownika:
Objaśnienie: Wprowadź ponownie komendę.
Utracono połączenie z bazą danych.
Jeśli błąd nadal się pojawia, przejrzyj plik db2diag.log, aby
Nie można wykonać tej funkcji. odnaleźć szczegółowe informacje dotyczące tego błędu i

Rozdział 2. Komunikaty SQL 441


SQL5010N • SQL5022N

sprawdź, czy plik konfiguracyjny jest dostępny. Jeśli nie Wprowadź ponownie komendę, podając prawidłową wartość
możesz usunąć problemu, skontaktuj się z serwisem IBM. maksymalnej liczby zdalnych połączeń ze stacjami roboczymi.

SQL5010N Nieprawidłowa nazwa ścieżki do pliku SQL5020N Pozycja pliku konfiguracyjnego menedżera
konfiguracyjnego menedżera baz danych. baz danych określająca nazwę węzła stacji
roboczej (nname) jest niepoprawna.
Objaśnienie:
Podczas określania ścieżki do pliku konfiguracyjnego Objaśnienie:
menedżera baz danych wystąpił błąd. Struktura katalogu Podana w komendzie konfiguracyjnej nazwa węzła jest
menedżera baz danych mogła zostać zmieniona. niepoprawna. Nazwa węzła musi mieć od 1 do 8 znaków.
Wszystkie znaki muszą pochodzić z podstawowego zestawu
Nie można wykonać komendy. znaków menedżera baz danych.
Działanie użytkownika:
Nie można wykonać komendy.
Wprowadź ponownie komendę. Jeśli błąd nadal występuje,
dokonaj reinstalacji menedżera bazy danych. Działanie użytkownika:
Wprowadź ponownie komendę, podając prawidłową nazwę
węzła.
SQL5012N Zmienna języka macierzystego
zmienna-języka-macierzystego nie jest typu
dokładnych danych numerycznych. SQL5021N Pozycja pliku konfiguracyjnego menedżera
bazy danych zawierająca parametr
Objaśnienie:
ponownego utworzenia indeksu
Zmienna języka macierzystego zmienna-języka-macierzystego
(INDEXREC) jest niepoprawna.
została określona, ale nie jest poprawna w kontekście, w jakim
ją wykorzystano. Zmienna języka macierzystego Objaśnienie:
zmienna-języka-macierzystego została określona jako część Do funkcji Configuration Services przekazano niepoprawną
klauzuli ABSOLUTE lub RELATIVE w instrukcji FETCH wartość parametru ponownego utworzenia indeksu
albo w klauzuli ROWS instrukcji FETCH lub INSERT. (INDEXREC) z pliku konfiguracyjnego menedżera bazy
Zmiennej języka macierzystego nie można wykorzystać z danych. Nieprawidłowe wartości mogły zostać przekazane
następujących powodów: przez procesor wiersza komend lub przez wywołanie funkcji
v Zmienna języka macierzystego nie jest typu dokładnych API. Poprawne wartości dla wywołania funkcji API i
danych numerycznych. Do typów dokładnych danych procesora wiersza komend to: 1 (ACCESS), 2 (RESTART), 3
numerycznych należą typy danych dziesiętnych (RESTART_NO_REDO) i 4 (ACCESS_NO_REDO).
(DECIMAL) ze skalą zero i typy danych liczb całkowitych.
Aktualizacja pliku konfiguracyjnego menedżera baz danych
v Zmienna języka macierzystego jest typu danych
została odrzucona.
dziesiętnych (DECIMAL), ale skala nie jest zerowa. Typ
danych dziesiętnych musi mieć zerową liczbę cyfr Działanie użytkownika:
dziesiętnych, aby skala była zerowa. Powtórz żądanie aktualizacji podając jedną z dopuszczalnych
wartości.
Nie można wykonać instrukcji.
Działanie użytkownika: SQL5022N Pozycja pliku konfiguracyjnego bazy
Zmień zmienną języka macierzystego tak, by była typu danych zawierająca parametr ponownego
dokładnych danych numerycznych. utworzenia indeksu (INDEXREC) jest
niepoprawna.
kod_sql: -5012
Objaśnienie:
Do funkcji Configuration Services przekazano niepoprawną
stan_sql: 42618 wartość parametru ponownego utworzenia indeksu
(INDEXREC) pobraną z pliku konfiguracyjnego bazy danych.
SQL5018N Pozycja pliku konfiguracyjnego menedżera Nieprawidłowe wartości mogły zostać przekazane przez
baz danych określająca maksymalną liczbę procesor wiersza komend lub przez wywołanie funkcji API.
połączeń ze stacjami roboczymi (numrc) jest Poprawne wartości dla wywołania funkcji API i procesora
poza dozwolonym zakresem. wiersza komend to: 0 (SYSTEM), 1 (ACCESS), 2
(RESTART), 3 (RESTART_NO_REDO) i 4
Objaśnienie: (ACCESS_NO_REDO).
Maksymalna liczba zdalnych połączeń ze stacjami roboczymi
musi być między 1 a 255. Aktualizacja pliku konfiguracyjnego bazy danych została
odrzucona.
Żądana zmiana nie została wykonana.
Działanie użytkownika:
Działanie użytkownika:

442 Komunikaty, tom 2


SQL5025C • SQL5042N

Powtórz żądanie aktualizacji podając jedną z dopuszczalnych


SQL5035N Baza danych wymaga migracji do aktualnej
wartości.
wersji.
Objaśnienie:
SQL5025C Nieaktualny plik konfiguracyjny menedżera
Baza danych została utworzona w poprzedniej wersji systemu.
baz danych.
W celu konwersji bazy danych do aktualnej wersji należy użyć
Objaśnienie: komendy wykonującej migrację bazy danych.
W czasie trwania połączenia z bazą danych plik
konfiguracyjny menedżera baz danych został zaktualizowany. Nie można wykonać komendy.
Nie jest on zgodny z konfiguracją bazy danych, z którą
Działanie użytkownika:
użytkownik jest połączony.
Zanim użyjesz bazy danych w wersji bieżącej systemu,
wprowadź komendę migrującą bazę danych.
Brak dostępu do pliku konfiguracyjnego menedżera baz
danych.
Jeśli komunikat ten pojawił się podczas odtwarzania, zanim
Działanie użytkownika: będziesz kontynuował, usuń bieżącą bazę danych.
Poczekaj aż wszystkie aplikacje odłączą się od bazy danych.
Użyj komendy zatrzymującej menedżera baz danych, a kod_sql: -5035
następnie użyj komendy uruchamiającej menedżera baz
danych. stan_sql: 55001

Jeśli instalujesz przykładową bazę danych, przerwij instalację i


powtórnie zainstaluj przykładową bazę danych. SQL5040N Jeden z adresów gniazd wymaganych przez
obsługę serwera TCP/IP jest używany przez
inny proces.
SQL5028N Wartością sysadm_group musi być grupa
podstawowa właściciela instancji. Objaśnienie:
Jeden z adresów gniazd wymaganych przez serwer jest
Objaśnienie: używany przez inny program albo nie został całkowicie
Próbowano zaktualizować wartość sysadm_group w pliku zwolniony przez podsystem TCP/IP po zatrzymaniu
konfiguracyjnym menedżera baz danych. Dla wersji 2 DB2 na menedżera baz danych.
platformach Unix wartością tą może być tylko podstawowa
grupa właściciela instancji. Działanie użytkownika:
Jeśli właśnie wprowadzono komendę DB2STOP, zaczekaj
Działanie użytkownika: kilka minut, aby podsystem TCP/IP zdążył uporządkować
W systemach Unix użyj grupy podstawowej właściciela swoje zasoby. W przeciwnym przypadku sprawdź, czy żadne
instancji do aktualizacji tego pola w pliku konfiguracyjnym inne programy uruchomione na stacji roboczej nie używają
menedżera baz danych. numerów portów zarezerwowanych dla nazwy usługi w pliku
/etc/services. Numer portu jest częścią składową adresu
gniazda.
SQL5030C Nieprawidłowy numer wersji.
Objaśnienie:
SQL5042N Nie udało się uruchomić jednego z procesów
Numer wersji podany w pliku konfiguracyjnym menedżera baz
obsługi serwera protokołu
danych lub w pliku konfiguracyjnym bazy danych jest
komunikacyjnego.
nieprawidłowy.
Objaśnienie:
Nie można wykonać komendy. Z powodu niepowodzenia wywołania systemowego albo
niepowodzenia wywołania podsystemu komunikacyjnego,
Działanie użytkownika:
jeden z procesów obsługi serwera protokołu komunikacyjnego
Sprawdź, czy numer wersji bazy danych i numer systemu DB2
nie uruchomił się pomyślnie.
są zgodne.
Działanie użytkownika:
Jeśli instalujesz przykładową bazę danych, przerwij instalację i Możesz rozpoznać problem przez:
powtórnie zainstaluj przykładową bazę danych. v przejrzenie zapisów w dzienniku systemowym
v włączenie śledzenia, ponowne uruchomienie DB2START i
kod_sql: -5030 zbadanie zapisu śledzenia.

stan_sql: 58031

Rozdział 2. Komunikaty SQL 443


SQL5043N • SQL5055C

Klienty baz danych mogą korzystać z serwerów baz danych,


SQL5043N Obsługa jednego lub więcej protokołów
których poziom jest co najwyżej o jeden niższy lub o dwa
komunikacyjnych nie uruchomiła się
wyższy od poziomu klienta.
pomyślnie. Jednak podstawowe funkcje
menedżera baz danych uruchomiły się Działanie użytkownika:
pomyślnie. Wykonaj jedną lub więcej z następujących czynności:
Objaśnienie: v zaktualizuj klienta do wersji z zakresu wersji
Dla jednego lub kilku protokołów nie udało się uruchomić obsługiwanych przez bieżącą wersję serwera,
obsługi protokołów komunikacyjnych. Możliwe przyczyny v zaktualizuj wersję serwera, tak by była obsługiwana przez
obejmują: aktualną wersję klienta.
v błąd konfiguracji podsystemu komunikacyjnego
v awarię wywołania podsystemu komunikacyjnego SQL5050C Nieprawidłowa zawartość pliku
v błąd konfiguracji menedżera baz danych konfiguracyjnego menedżera baz danych.
v awarię wywołania systemowego Objaśnienie:
v błąd licencji menedżera bazy danych Zawartość pliku konfiguracyjnego menedżera baz danych jest
niepoprawna. Plik mógł zostać zmieniony przy użyciu edytora
v awarię wywołania menedżera klastra
tekstu lub przez program inny niż menedżer baz danych.
Można się połączyć z serwerem korzystając z protokołów
Nie można wykonać komendy.
komunikacyjnych, które uruchomiły się prawidłowo. Również
lokalne klienty mogą połączyć się z serwerem. Działanie użytkownika:
Należy ponownie zainstalować menedżera baz danych.
Działanie użytkownika:
Menedżer baz danych próbuje uruchomić wszystkie protokoły
komunikacyjne podane w zmiennej środowiskowej SQL5051N Obiekt kwalifikowany przez kwalifikator nie
DB2COMM. może zostać utworzony w schemacie
nazwa-schematu.
Szczegółowych informacji na temat tego błędu należy szukać
Objaśnienie:
w dzienniku powiadomień administracyjnych. Dziennik będzie
Obiekt utworzony w instrukcji CREATE SCHEMA jest
zawierał więcej informacji dotyczących przyczyn błędu, a
kwalifikowany przez kwalifikator, który nie jest nazwą
także wykaz dzienników komunikacyjnych, które nie zostały
schematu. Każdy obiekt utworzony przy użyciu instrukcji
pomyślnie uruchomione.
CREATE SCHEMA musi być albo kwalifikowany przez
nazwę schematu nazwa-schematu, albo nie kwalifikowany.
Błąd ten dotyczy jedynie protokołów komunikacyjnych
Niekwalifikowane obiekty są domyślnie kwalifikowane przy
określonych zmienną środowiskową DB2COMM.
pomocy nazwy schematu.

SQL5047C Brak pamięci do wykonania tej funkcji. Nie można wykonać instrukcji.
Objaśnienie: Działanie użytkownika:
Nie ma wystarczającej ilości dostępnej pamięci potrzebnej do Należy jawnie zakwalifikować obiekt w schemacie przy
wykonania tej funkcji. pomocy nazwa-schematu lub usunąć kwalifikator z nazwy
obiektu.
Nie można wykonać tej funkcji.
kod_sql: -5051
Działanie użytkownika:
Należy zatrzymać aplikację. Możliwe są następujące
stan_sql: 42875
rozwiązania:
v przerwanie innych procesów,
SQL5055C Zawartość pliku konfiguracyjnego bazy
v zmniejszenie wartości parametrów konfiguracyjnych, które
danych jest niepoprawna.
określają przydział pamięci,
v Sprawdź, czy w systemie jest dostatecznie dużo pamięci Objaśnienie:
rzeczywistej i wirtualnej. Plik konfiguracyjny bazy danych jest nieprawidłowy. Plik
mógł zostać zmieniony przy użyciu edytora tekstu lub przez
program inny niż menedżer baz danych.
SQL5048N Wersja klienta baz danych nie jest
obsługiwana przez tę wersję serwera baz Działanie użytkownika:
danych. Należy ponownie utworzyć bazę danych lub odtworzyć ją z
kopii zapasowej.
Objaśnienie:
kod_sql: -5055

444 Komunikaty, tom 2


SQL5060N • SQL5076W

stan_sql: 58031 Należy ponownie zainstalować menedżera baz danych.

SQL5060N Podany znacznik parametru SQL5066W Wartość parametru konfiguracyjnego bazy


konfiguracyjnego jest nieprawidłowy. danych dla elementu nazwa-elementu została
obcięta.
Objaśnienie:
Numer elementu określony w strukturze sqlfupd przeniesiony Objaśnienie:
do funkcji API Configuration Services jest nieprawidłowy. Nie Wartość parametru konfiguracyjnego bazy danych jest większa
reprezentuje on żadnego obsługiwanego parametru niż wartość, którą może zawierać określony element.
konfiguracyjnego. Jeśli podjęto próbę aktualizacji UPDATE,
podany element może być rodzajem parametru Teraz ta wartość parametru konfiguracyjnego bazy danych jest
konfiguracyjnego, którego nie da się modyfikować. reprezentowana przez nowy element i on powinien być
używany, jeśli wartość ta jest większa niż wartość, którą może
Działanie użytkownika:
zawierać stary element.
Wybierz poprawny numer elementu spośród określonych w
opisie interfejsu API usług konfiguracyjnych w Centrum Działanie użytkownika:
informacyjnym DB2 (http://publib.boulder.ibm.com/ Dla tego parametru konfiguracyjnego bazy danych użyj
infocenter/db2luw/v9). Należy ponownie wywołać funkcję nowego elementu.
API i uruchomić program.
SQL5070N Parametr count w komendzie
SQL5061N Do funkcji Configuration Services konfiguracyjnej jest nieprawidłowy. Musi
przekazano nieprawidłowy wskaźnik do ona być większa od 0.
struktury sqlfupd.
Objaśnienie:
Objaśnienie: Wartość parametru count przekazana jako parametr do funkcji
Wskaźnik do struktury sqlfupd przekazany jako parametr do API Configuration Services musi być większa niż 0.
funkcji API Configuration Services był nieprawidłowy.
Wskaźnik ten ma wartość NULL lub nie wskazuje Nie można wykonać komendy.
przydzielonego bloku pamięci o wielkości wyznaczonej przez
parametr licznika. Działanie użytkownika:
Należy poprawić wywołanie funkcji Configuration Services i
Działanie użytkownika: ponownie uruchomić program.
Popraw wywołanie funkcji API Configuration Services i
ponownie ją wywołaj.
SQL5075N Program konfiguracyjny został przerwany.

SQL5062N Do funkcji Configuration Services Objaśnienie:


przekazano nieprawidłowy wskaźnik Program konfiguracyjny otrzymał komenda przerwania
znajdujący się wewnątrz struktury sqlfupd. działania. Użytkownik mógł nacisnąć kombinację klawiszy
służącą do przerwania programu.
Objaśnienie:
Struktura sqlfupd, przekazana jako parametr do funkcji API Komenda nie została wykonana. Żądana zmiana nie została
Configuration Services, zawierała nieprawidłowy wskaźnik. wykonana.
Wskaźnik ten ma wartość NULL lub nie wskazuje
przydzielonego bloku pamięci. Każdy element przesuwany w Działanie użytkownika:
strukturze musi mieć odpowiadający mu wskaźnik pola, który Wprowadź ponownie komendę.
został przesunięty do lub usunięty z funkcji API.
Działanie użytkownika: SQL5076W Aktualizacja zakończyła się pomyślnie.
Należy poprawić wywołanie funkcji Configuration Services i Bieżąca wartość parametru
ponownie uruchomić program. NOTIFYLEVEL spowoduje, że niektóre
powiadomienia monitora poprawności nie
będą wysyłane do dziennika powiadomień.
SQL5065C Wartość typu węzła w pliku
konfiguracyjnym menedżera baz danych Objaśnienie:
jest nieprawidłowa. Monitor poprawności wysyła powiadomienia do dziennika
powiadomień oraz na określone adresy poczty elektronicznej i
Objaśnienie: numery pagerów. Bieżąca wartość parametru NOTIFYLEVEL
Parametr nodetype w pliku konfiguracyjnym menedżera baz jest za niska i wyklucza wysyłanie powiadomień o alarmach i
danych jest nieprawidłowy. ostrzeżeniach. Poziom NOTIFYLEVEL musi być ustawiony
co najmniej na 2 w wypadku powiadomień o alarmach oraz co
Nie można wykonać komendy. najmniej na 3 w wypadku powiadomień o ostrzeżeniach.
Działanie użytkownika: Działanie użytkownika:

Rozdział 2. Komunikaty SQL 445


SQL5077N • SQL5099N

Zwiększ wartość parametru konfiguracyjnego Działanie użytkownika:


NOTIFYLEVEL menedżera bazy danych. Należy wprowadzić ponownie komendę z prawidłową
wielkością rozszerzenia jednego pliku dziennika.
SQL5077N Doradca konfigurowania nie obsługuje
parametru parametr dla tej wersji serwera. SQL5092N Pozycja w pliku konfiguracyjnym bazy
Do obsługiwanych parametrów należą danych dotycząca maksymalnej dozwolonej
obsługiwane-parametry. liczby rozszerzeń plików dzienników
(logmaxext) wykracza poza dopuszczalny
Objaśnienie:
zakres.
Określony parametr nie jest obsługiwany w tej wersji serwera.
Objaśnienie:
Działanie użytkownika:
Wartość maksymalnej dozwolonej liczby rozszerzeń plików
Ponownie wydaj komendę bez tego parametru lub zastąp
dzienników musi zawierać się między 0 a (2*10**6).
parametr innym, obsługiwanym.
Żądana zmiana nie została wykonana.
SQL5081N Pozycja w pliku konfiguracyjnym bazy
Działanie użytkownika:
danych dotycząca wielkości obszaru buforu
Należy wprowadzić ponownie komendę z prawidłową
(strona buforu) wykracza poza
wartością maksymalnej dozwolonej liczby rozszerzeń plików
dopuszczalny zakres.
dzienników.
Objaśnienie:
Minimalna wartość wielkości obszaru buforu jest dwa razy
SQL5093N Pozycja parametru konfiguracyjnego
większa od ilości aktywnych procesów (maxappls).
menedżera baz danych dotycząca wielkości
Maksymalna wartość wielkości obszaru buforu wynosi 524288
sterty pośredniczącej wykracza poza
(ilość stron o wielkości 4 kB) i zależy od systemu
dopuszczalny zakres.
operacyjnego. Maksymalna wartość w systemie AIX wynosi
51000 (204000 dla Extended Server Edition) (strony o Objaśnienie:
wielkości 4 kB). Dla systemu HP-UX, wartość ta musi być z Wielkość sterty pośredniczącej musi zawierać się między 2 a
przedziału od 16 do 150000 (strony o wielkości 4 kB). 85.

Żądana zmiana nie została wykonana. Żądana zmiana nie została wykonana.
Działanie użytkownika: Działanie użytkownika:
Należy wprowadzić ponownie komendę z prawidłową Należy wprowadzić ponownie komendę z prawidłową
wartością wielkości obszaru buforu. wartością wielkości sterty pośredniczącej.

SQL5083N Pozycja w pliku konfiguracyjnym bazy SQL5099N Wartość wartość wskazywana przez
danych dotycząca wielkości początkowej parametr konfiguracyjny bazy danych
pliku dziennika (logfile) wykracza poza parametr jest niepoprawna, kod przyczyny
dopuszczalny zakres. kod-przyczyny.
Objaśnienie: Objaśnienie:
Wartość wielkości początkowej pliku dziennika musi zawierać Ścieżka nie jest poprawna z jednego spośród następujących
się w przedziale między 12 i (2**32 - 1). powodów:
1 Łańcuch z nazwą ścieżki jest dłuższy niż 242 bajty.
Żądana zmiana nie została wykonana.
2 Ścieżka nie istnieje.
Działanie użytkownika:
Należy wprowadzić ponownie komendę z prawidłową 3 Pierwszy katalog w ścieżce ma nazwę w formie
wartością wielkości początkowej pliku dziennika. SQLNNNNN, gdzie NNNNN jest wartością od
00001 do 99999.
SQL5091N Pozycja w pliku konfiguracyjnym bazy 4 W podanej ścieżce znaleziono plik o prawidłowej
danych dotycząca wielkości rozszerzenia nazwie, nie jest to jednak plik dziennika dla tej bazy
jednego pliku dziennika (logext) wykracza danych.
poza dopuszczalny zakres.
5 Ścieżka jest obecnie używana przez inną bazę
Objaśnienie: danych.
Wartość wielkości rozszerzenia jednego pliku dziennika musi
zawierać się między 4 a 256. 6 Ta ścieżka jest obecnie używana przez tę samą bazę
danych do innych celów.
Żądana zmiana nie została wykonana.

446 Komunikaty, tom 2


SQL5100N • SQL5112N

7 Urządzenie określone przez ścieżkę nie jest Żądana zmiana nie została wykonana.
wystarczająco pojemne, aby pomieścić pliki
Działanie użytkownika:
dzienników.
Wykonaj jedną z następujących czynności:
8 Urządzenie surowe nie może być podane jako v Zwiększyć maksymalną liczbę segmentów dozwolonych dla
wartość parametru MIRRORLOGPATH, DB2.
OVERFLOWLOGPATH, FAILARCHPATH,
v Zmniejszyć liczbę dozwolonych równoczesnych baz
LOGARCHMETH1 lub LOGARCHMETH2.
danych.
9 Brak dostępu do ścieżki.
10 Łańcuch z nazwą ścieżki przekracza 206 bajtów. SQL5101N Pozycje w pliku konfiguracyjnym bazy
danych definiują parametry pliku dziennika
11 Podczas nadawania wartości DISK dla metody
(logprimary i logsecond) wykraczające poza
obiekt docelowy musi być katalogiem.
dopuszczalny zakres.
12 Podczas nadawania wartości VENDOR dla metody
Objaśnienie:
obiekt docelowy musi być katalogiem.
Żądana zmiana spowodowałaby, iż ogólna liczba plików
13 Parametr LOGARCHMETH2 musi mieć wartość dzienników wykraczałaby poza zakres. Następujący warunek
OFF, jeśli parametr LOGARCHMETH1 ma wartość musi być zawsze prawdziwy:
USEREXIT lub LOGRETAIN. logprimary + logsecond <= 128
14 Nadając wartość parametru DISK lub VENDOR,
należy podać wartość docelową. Żądana zmiana nie została wykonana.

15 Nie można określić wartości docelowej, jeśli Działanie użytkownika:


używane są wartości LOGRETAIN lub USEREXIT. Należy wykonać obie lub jedną z następujących czynności:
v Zmniejszyć liczbę plików dzienników podstawowych.
16 Określono niepoprawną metodę. Poprawne wartości
to DISK, TSM, VENDOR, USEREXIT, v Zmniejszyć liczbę plików dzienników dodatkowych.
LOGRETAIN i OFF.
17 Nie można przejść na rejestrowanie cykliczne, gdy SQL5103N Pozycja w pliku konfiguracyjnym bazy
baza danych jest w stanie odtwarzania zmian w toku. danych dotycząca wielkości obszaru buforu
(strona buforu) jest zbyt mała w odniesieniu
18 Jeśli podstawową ścieżką dziennika jest urządzenie do maksymalnej liczby aktywnych aplikacji
surowe, nie można określać wartości (maxappls).
MIRRORLOGPATH.
Objaśnienie:
Żądana zmiana nie została wykonana. Żądana zmiana spowodowałaby, iż maksymalna liczba
aktywnych aplikacji byłaby zbyt duża dla wielkości obszaru
Działanie użytkownika: buforu. Następujący warunek musi być zawsze prawdziwy:
Należy wprowadzić ponownie komendę z prawidłowo wpisaną wielkość_puli_buforów >
ścieżką. (liczba_aktywnych_procesów * 2)

kod_sql: -5099 Żądana zmiana nie została wykonana.

stan_sql: 08004 Działanie użytkownika:


Należy wykonać obie lub jedną z następujących czynności:
v Zwiększyć wielkość obszaru buforu.
SQL5100N Pozycja w pliku konfiguracyjnym
menedżera baz danych dotycząca v Zmniejszyć maksymalną dozwoloną liczbę aktywnych
dopuszczalnej ilości równoczesnych baz procesów.
danych jest zbyt duża.
Objaśnienie: SQL5112N Wartość parametru konfiguracyjnego
Żądana zmiana mogłaby spowodować, że: (1) dopuszczalna parametr musi wynosić 0 albo 1.
liczba równoczesnych baz danych byłaby zbyt duża lub (2) Objaśnienie:
dopuszczalna liczba segmentów dla DB2 byłaby zbyt mała. Żądanie nie zostało wykonane, ponieważ wartość podana dla
parametr jest niepoprawna.
Dopuszczalna ilość równoczesnych baz danych jest ściśle
określona przez maksymalną liczbę segmentów dozwolonych Działanie użytkownika:
dla DB2. Następujący warunek musi być zawsze prawdziwy: Należy się upewnić, czy wartość podana dla parametr wynosi
0 lub 1, a następnie ponowić żądanie.
segmenty >=
((liczba baz danych * 5) + 1)

Rozdział 2. Komunikaty SQL 447


SQL5113N • SQL5124N

uprawnienia SYSADM. Jeśli oryginalna baza danych nie jest


SQL5113N Parametru ALT_COLLATE nie można
już dostępna, należy skontaktować się z przedstawicielem
zaktualizować dla bazy danych w kodzie
serwisu.
Unicode.
Objaśnienie:
SQL5123N Baza danych nazwa nie może być
Parametr konfiguracyjny bazy danych ALT_COLLATE,
skonfigurowana, ponieważ podczas dostępu
określający alternatywną kolejność zestawiania, może być
do pliku sterującego dzienników wystąpił
aktualizowany tylko w przypadku bazy danych innej niż
błąd we/wy.
Unicode. W bazie danych Unicode wszystkie tabele muszą być
zestawiane przy użyciu kolejności zestawiania określanej w Objaśnienie:
chwili tworzenia bazy danych. Istnieją dwa pliki sterujące dziennika:
Działanie użytkownika: v podstawowy plik sterujący dziennika SQLOGCTL1.LFH
Nie aktualizuj parametru konfiguracyjnego ALT_COLLATE v dodatkowy plik sterujący dziennika SQLOGCTL2.LFH
dla bazy danych Unicode. Dodatkowy plik sterujący dziennika jest lustrzaną kopią
podstawowego pliku sterującego dziennika
SQL5120N Stare i nowe parametry dziennika nie mogą wykorzystywaną w przypadku wystąpienia problemu z
być modyfikowane w tym samym czasie. podstawowym plikiem sterującym dziennika.

Objaśnienie: Ten błąd został zwrócony, ponieważ menedżer bazy danych


Użytkownik próbuje modyfikować zarówno poprzednie jak i DB2 nie mógł uzyskać dostępu do podstawowego pliku
nowe parametry dziennika. Aplikacja może obsługiwać tylko sterującego dziennika ani do dodatkowego pliku sterującego
parametry z bieżącego wydania. dziennika dla określonej bazy danych.

Nastąpiła odmowa wykonania żądania. Jeśli menedżer bazy danych nie może uzyskać dostępu do
Działanie użytkownika: plików sterujących dziennika, nie można korzystać z bazy
Należy zmodyfikować tylko parametry z bieżącego wydania i danych.
wprowadzić ponownie komendę.
Żądana zmiana nie została wykonana.
SQL5121N Pozycja w pliku konfiguracyjnym bazy Działanie użytkownika:
danych dotycząca opcji konfiguracji jest Należy odtworzyć bazę danych lub utworzyć nową.
niepoprawna.
Objaśnienie: SQL5124N Program DB2 nie mógł zaktualizować lub
Zestaw wartości dotyczący opcji bazy danych (SQLF_DETS) zresetować konfiguracji bazy danych na
jest nieprawidłowy. Poprawne ustawienia zawierają się między jednej lub wielu partycjach. Kod przyczyny:
0 a 15. Żądana zmiana nie została wykonana. kod-przyczyny.
Objaśnienie:
Żądana zmiana nie została wykonana. Możliwe wartości kodów przyczyny:
Działanie użytkownika: 1
Należy wprowadzić ponownie komendę podając poprawną
wartość opcji bazy danych. Konfiguracja bazy danych nie została zmieniona,
ponieważ operacja aktualizacji lub resetowania nie
powiodła się co najmniej na jednej partycji.
SQL5122N Brak dostępu do bazy danych z powodu Szczegółowe informacje można znaleźć w pliku
sprawdzania zależnego od urządzenia. db2diag.log.
Objaśnienie: 2
Dostęp do bazy danych i do pliku konfiguracyjnego bazy
danych nie jest możliwy z powodu zabezpieczenia przed Konfiguracja bazy danych w węzłach jest niespójna,
kopiowaniem. ponieważ operacja aktualizacji lub resetowania nie
powiodła się co najmniej jednej partycji.
Nastąpiła odmowa wykonania żądania użytkownika. Szczegółowe informacje można znaleźć w pliku
db2diag.log.
Działanie użytkownika:
Należy wrócić do oryginalnej bazy danych i zmodyfikować Działanie użytkownika:
plik konfiguracyjny, aby wyłączyć zabezpieczenie przed Poniżej opisano metody rozwiązania problemu dla
kopiowaniem, a następnie wykonać nową kopię zapasową, poszczególnych kodów przyczyny:
które będzie można wykorzystać do odtworzenia bazy danych. 1
Działanie to musi zostać wykonane przez osobę mającą

448 Komunikaty, tom 2


SQL5126N • SQL5135N

Upewnij się, że wszystkie partycje są włączone i Dla parametru parametr określ wartość z dozwolonego
działają, a następnie wprowadź ponownie swoje zakresu i spróbuj ponowić żądanie.
żądanie.
2 SQL5132N Parametr konfiguracyjny parametr ma
wartość null lub jest zbyt długi. Długość
Upewnij się, że wszystkie partycje są włączone i
maksymalna wynosi długość-maksymalna.
działają. Wprowadź ponownie swoje żądanie lub
przejrzyj aktualizacje konfiguracji i zastosuj je Objaśnienie:
ręcznie na wszystkich partycjach. Parametr konfiguracyjny nie został podany lub jest zbyt długi.
Działanie użytkownika:
SQL5126N Podjęto próbę zmodyfikowania parametru Należy zmienić wartość parametru konfiguracyjnego na
konfiguracyjnego menedżera bazy danych wartość niższą niż podana maksymalna długość.
parametr, który jest niepoprawny dla typu
węzła kod-typu-węzła.
SQL5133N Wartość wartość parametru
Objaśnienie: konfiguracyjnego parametr jest
Użytkownik próbował zmienić parametr konfiguracyjny niepoprawna. Poprawny zestaw wartości to
menedżera baz danych, który jest niepoprawny dla danego lista-wartości.
typu węzła. ″<kod-typu-węzła> jest zdefiniowany w sposób
Objaśnienie:
pokazany poniżej:
Wartość wartość została określona jako ustawienie parametru
1 Serwer bazy danych z klientami lokalnymi i konfiguracyjnego parametr. Podana wartość nie należy do
zdalnymi dopuszczalnych wartości, które zawiera lista_wartości.
2 Klient
Znaczenia tych wartości można znaleźć w Centrum
3 Serwer bazy danych z klientami lokalnymi informacyjnym DB2 (http://publib.boulder.ibm.com/
infocenter/db2luw/v9).
4 Partycjonowany serwer baz danych z klientami
lokalnymi i zdalnymi Działanie użytkownika:
Należy zmienić wartość parametru konfiguracyjnego na jedną
5 Satelitarny serwer baz danych z klientami lokalnymi
z wartości wymienionych w liście prawidłowych wartości.
Żądana zmiana nie została wykonana.
SQL5134N Parametr konfiguracyjny tpname zawiera
Działanie użytkownika: nieprawidłowe znaki.
Należy wprowadzić ponownie komendę podając poprawny
parametr dla danego typu węzła. Objaśnienie:
Jeden lub więcej znaków w parametrze tpname jest spoza
prawidłowego zakresu. Parametr tpname może zawierać tylko
SQL5130N Wartość podana dla parametru następujące znaki:
konfiguracyjnego parametr nie znajduje się
w poprawnym zakresie od początek-zakresu v A-Z
do koniec-zakresu. v a-z
Objaśnienie: v 0-9
Żądanie nie zostało wykonane, ponieważ wartość parametr v $
wykracza poza poprawny zakres. v #
Działanie użytkownika: v @
Dla parametru parametr określ wartość z dozwolonego v . (kropka)
zakresu i spróbuj ponowić żądanie.
Działanie użytkownika:
Należy zmienić parametr tpname i wprowadzić ponownie
SQL5131N Podana wartość parametru komendę lub wywołanie funkcji.
konfiguracyjnego parametr nie należy do
poprawnego zakresu. Poprawny zakres to
″-1″ lub od początek-zakresu do SQL5135N Ustawienia parametrów konfiguracyjnych
koniec-zakresu. maxlocks i maxappls nie używają całego
obszaru listy blokującej.
Objaśnienie:
Żądanie nie zostało wykonane, ponieważ wartość parametr Objaśnienie:
wykracza poza poprawny zakres. Liczba aktywnych procesów (maxappls) pomnożona przez
maksymalną wartość obszaru listy blokującej dla każdej
Działanie użytkownika: aplikacji (maxlocks) wyrażoną w procentach musi być większa
lub równa 100. Czyli:

Rozdział 2. Komunikaty SQL 449


SQL5136N • SQL5142N

maxappls * maxlocks >= 100 Dopuszczalne wartości parametru konfiguracyjnego


″authentication″ to:
Zapewnia to możliwość użycia całego przydzielonego obszaru v SERVER = 0
listy blokującej.
v CLIENT = 1
Działanie użytkownika: v DCE = 3
Należy zwiększyć ustawienia dla parametru maxappls,
v SERVER_ENCRYPT = 4
maxlocks lub dla obu parametrów.
v DCE_SERVER_ENCRYPT = 5
v KERBEROS = 7
SQL5136N Pozycja w pliku konfiguracyjnym
menedżera baz danych dotycząca domyślnej v KRB_SERVER_ENCRYPT = 8
ścieżki dostępu dla bazy danych (dftdbpath)
jest niepoprawna. Żądana zmiana nie została wykonana.

Objaśnienie: Działanie użytkownika:


Nieprawidłowa wartość została określona przez parametr Należy wprowadzić ponownie komendę z prawidłową
dftdbpath. Poniżej przedstawiono reguły dotyczące nazw wartością parametru ″authentication″.
domyślnych ścieżek dostępu dla bazy danych w systemach
UNIX: SQL5141N Parametr konfiguracyjny avg_appls
1. nazwa ścieżki musi być zgodna z konwencją nazewnictwa wykracza poza poprawny zakres. Poprawny
obowiązującą w systemie operacyjnym. zakres obejmuje wartości od 1 do maxappls.
2. ścieżka musi istnieć. Objaśnienie:
3. ścieżka nie może mieć więcej niż 215 znaków. Poprawny zakres dla parametru avg_appls obejmuje wartości
od 1 do maxappls.
W przypadku pozostałych platform obowiązują następujące
reguły: Żądana zmiana nie została wykonana.
1. ścieżka musi składać się tylko z litery napędu. Działanie użytkownika:
2. napęd musi istnieć. Wykonaj jedną lub więcej z następujących czynności:
Działanie użytkownika: v Zmień wartość parametru avg_appls na wartość mieszczącą
Należy zmienić parametr dftdbpath i wprowadzić ponownie się w prawidłowym zakresie.
komendę lub wywołanie funkcji. v Zwiększyć wartość parametru maxappls, a następnie ustalić
ponownie wartość parametru avg_appls.
SQL5137N Pozycja w pliku konfiguracyjnym
menedżera baz danych dotycząca ścieżki SQL5142N Parametr konfiguracyjny agentpri
dostępu do katalogu diagnostycznego wykracza poza prawidłowy zakres.
(diagpath) jest niepoprawna.
Objaśnienie:
Objaśnienie: Poprawne wartości dla parametru agentpri są równe -1 lub
Nieprawidłowa wartość została podana dla parametru liczbie trzycyfrowej, w której pierwsza cyfra oznacza klasę
diagpath. Dla ścieżki dostępu do katalogu diagnostycznego ważności i może być równa 2, 3 lub 4, a ostatnie dwie
obowiązują następujące reguły: oznaczają poziom ważności wewnątrz klasy i są z zakresu 00
1. nazwa ścieżki musi być zgodna z konwencją nazewnictwa do 31. Klasa ważności jest zdefiniowana w sposób pokazany
obowiązującą w systemie operacyjnym. poniżej:
2. ścieżka musi istnieć. 2 REGULAR
3. ścieżka nie może mieć więcej niż 215 znaków. 3 TIMECRITICAL
Działanie użytkownika: 4 FOREGROUNDSERVER
Należy zmienić parametr diagpath i wprowadzić ponownie
komendę lub wywołać funkcję.
Na przykład liczba 304 oznacza klasę ważności równą 3
(TIMECRITICAL), a poziom ważności równy 4.
SQL5140N Wpis w parametrze konfiguracyjnym
Działanie użytkownika:
menedżera bazy danych ″uwierzytelnianie″
Należy zmienić wartość parametru konfiguracyjnego na
może przyjmować jedną z następujących
wartość z prawidłowego zakresu.
wartości: SERVER, CLIENT, DCE,
KERBEROS, SERVER_ENCRYPT,
DCE_SERVER_ENCRYPT lub
KRB_SERVER_ENCRYPT.
Objaśnienie:

450 Komunikaty, tom 2


SQL5144W • SQL5151N

SQL5144W Aktualizacja parametru zaczęła SQL5147N Parametr_1 nie można ustawić na


obowiązywać, ale samoczynne strojenie MANUAL, jeśli Parametr_2 ma wartość
parametrów automatycznych nie będzie AUTOMATIC.
miało miejsca, dopóki parametr
Objaśnienie:
konfiguracyjny bazy danych
Jeśli Parametr_2 ma wartość AUTOMATIC, to również
SELF_TUNING_MEMORY nie zostanie
Parametr_1 musi mieć wartość AUTOMATIC.
ustawiony na ON.
Działanie użytkownika:
Objaśnienie:
Aby nadać parametrowi Parametr_1 inną wartość, należy
Samoczynne strojenie parametrów pamięci typu
najpierw parametrowi Parametr_2 nadać odpowiednią wartość
AUTOMATIC jest nieaktywne, gdy parametr konfiguracyjny
inną niż AUTOMATIC.
SELF_TUNING_MEMORY ma wartość OFF.
Działanie użytkownika:
SQL5148W Parametr konfiguracyjny bazy danych
Ustaw parametr konfiguracyjny bazy danych
parametr_konfiguracyjny został pomyślnie
SELF_TUNING_MEMORY na ON, aby włączyć samoczynne
zaktualizowany i ma wartość
strojenie parametrów pamięci typu AUTOMATIC.
AUTOMATIC, ale automatyczne strojenie
parametru parametr_konfiguracyjny nie
SQL5145W Aktualizacja parametrów zaczęła będzie włączone dopóki parametr
obowiązywać, ale strojenie parametrów menedżera bazy danych SHEAPTHRES nie
pamięci typu AUTOMATIC zostało zostanie ustawiony na 0.
wyłączone, ponieważ zbyt mała liczba
Objaśnienie:
parametrów lub pul buforów jest ustawiona
Automatyczne strojenie parametru konfiguracyjnego bazy
na AUTOMATIC.
danych parametr_konfiguracyjny jest dozwolone tylko wtedy,
Objaśnienie: gdy parametr konfiguracyjny menedżera bazy danych
Samoczynne strojenie parametrów pamięci typu SHEAPTHRES ma wartość 0.
AUTOMATIC jest aktywne, gdy co najmniej 2 dające się
Działanie użytkownika:
dostrajać parametry lub pule buforów są ustawione na
Jeśli chcesz włączyć automatyczne strojenie parametru
AUTOMATIC i parametr SELF_TUNING_MEMORY ma
konfiguracyjnego bazy danych parametr_konfiguracyjny,
wartość ON. Samoczynne strojenie było włączone, ale
ustaw parametr konfiguracyjny menedżera bazy danych
aktualizacja konfiguracji spowodowała jego wyłączenie.
SHEAPTHRES na 0.
Działanie użytkownika:
Samoczynne strojenie parametrów pamięci typu
SQL5150N Wartość podana dla parametru
AUTOMATIC zostanie wznowione, gdy co najmniej jeden
konfiguracyjnego parametr jest mniejsza niż
dający się dostrajać parametr lub jedna pula buforów zostaną
minimalna dopuszczalna wartość równa
ustawione na AUTOMATIC.
wartość-minimalna.
Objaśnienie:
SQL5146W Parametr_1 musi być ustawiony na
Żądanie nie zostało wykonane, ponieważ wartość podana dla
Parametr_3, gdy Parametr_2 jest równy
parametr jest zbyt mała. parametr nie może być mniejszy niż
Parametr_3. Parametr_1 został ustawiony na
wartość-minimalna.
Parametr_3.
Działanie użytkownika:
Objaśnienie:
Dla parametru parametr określ wartość z dozwolonego
Jeśli Parametr_2 ma wartość AUTOMATIC, to i Parametr_1
zakresu i spróbuj ponowić żądanie.
musi również mieć wartość AUTOMATIC. Dlatego
Parametr_1 został ustawiony na AUTOMATIC.
SQL5151N Wartość podana dla parametru
Działanie użytkownika:
konfiguracyjnego parametr jest mniejsza niż
Parametr_1 został ustawiony na AUTOMATIC przez program
minimalna dopuszczalna wartość równa
DB2. Aby nadać temu parametrowi inną wartość, najpierw
wartość-minimalna i nie jest równa -1.
nadaj odpowiednią wartość parametrowi Parametr_2, a
następnie ustaw wartość parametru Parametr_1, używając Objaśnienie:
opcji MANUAL komendy UPDATE DATABASE Żądanie nie zostało wykonane, ponieważ wartość podana dla
CONFIGURATION programu DB2. parametr jest niepoprawna. Wartość parametr nie może być
mniejsza niż wartość minimalna z wyjątkiem wartości -1.
Działanie użytkownika:
Dla parametru parametr określ wartość z dozwolonego
zakresu i spróbuj ponowić żądanie.

Rozdział 2. Komunikaty SQL 451


SQL5152N • SQL5160N

2. Nadaj ustawienie parametrowi konfiguracyjnemu


SQL5152N Wartość podana dla parametru
menedżera bazy danych parametr i wprowadź instrukcję
konfiguracyjnego parametr jest większa niż
ponownie.
maksymalna dopuszczalna wartość równa
wartość-maksymalna. 3. Nadaj ustawienie parametrowi konfiguracyjnemu
menedżera bazy danych parametr i wprowadź instrukcję
Objaśnienie: ponownie.
Żądanie nie zostało wykonane, ponieważ wartość podana dla
parametr jest zbyt duża. parametr nie może być większy niż
wartość-maksymalna. SQL5155W Aktualizacja zakończyła się pomyślnie.
Bieżąca wartość SORTHEAP może
Działanie użytkownika: niekorzystnie wpływać na wydajność.
Dla parametru parametr określ wartość z dozwolonego
zakresu i spróbuj ponowić żądanie. Objaśnienie:
Wartość parametru SORTHEAP jest obecnie większa niż
połowa wartości progu sortowania. Próg sortowania jest to
SQL5153N Nie można zakończyć aktualizacji, ponieważ wartość parametru konfiguracyjnego menedżera bazy danych
zostałby naruszony następujący związek: SHEAPTHRES lub, jeśli parametr SHEAPTHRES został
warunek. ustawiony na 0, jest to wartość parametru konfiguracyjnego
Objaśnienie: bazy danych SHEAPTHRES_SHR. Może to spowodować, że
Następujący związek musi obsługiwać prawidłowy plik wydajność będzie niższa od optymalnej.
konfiguracyjny: Działanie użytkownika:
Zwiększ wartość progu sortowania i/lub zmniejsz wartość
warunek. parametru SORTHEAP, aby próg sortowania był przynajmniej
dwa razy większy niż wartość SORTHEAP.
Żądanie aktualizacji nie mogło zostać wykonane, ponieważ
powstała konfiguracja naruszyłaby ten związek. W większości przypadków stosunek powinien być większy.
Działanie użytkownika: Zalecenia dotyczące optymalnych ustawień parametrów
Należy powtórzyć żądanie, upewniwszy się uprzednio, że konfiguracyjnych zawiera podręcznik Administration Guide.
związek jest spełniony.
SQL5156N Wartość parametru konfiguracyjnego
SQL5154N Żądana kombinacja wartości menedżera baz danych ″trust_allclnts″ musi
konfiguracyjnych dla ″uwierzytelnienia″ i być równa NO, YES lub DRDAONLY.
parametru parametr nie jest dozwolona. Kod Objaśnienie:
przyczyny = kod-przyczyny. Dopuszczalne wartości dla parametru konfiguracyjnego
Objaśnienie: ″trust_allclnts″ to:
Wyjaśnienie odpowiadające kodowi przyczyny: v NO = 0
1. Parametr konfiguracyjny menedżera baz danych v YES = 1
″uwierzytelnianie″ musi mieć wartość ″CLIENT″, jeśli v DRDAONLY = 2
wartość parametru parametr nie jest domyślna.
2. Nie można nadać parametrowi konfiguracyjnemu Żądana zmiana nie została wykonana.
menedżera bazy danych AUTHENTICATION lub
Działanie użytkownika:
SRVCON_AUTH wartości GSSPLUGIN lub
Należy wprowadzić ponownie komendę z prawidłową
GSS_SERVER_ENCRYPT przed ustawieniem parametru
wartością parametru ″trust_allclnts″.
konfiguracyjnego parametr.
3. Nie można nadać parametrowi konfiguracyjnemu
menedżera bazy danych AUTHENTICATION lub SQL5160N Aktualizacje parametru parametr aktualnie
SRVCON_AUTH wartości KERBEROS lub nie są dozwolone. Zanim nowe aktualizacje
KRB_SERVER_ENCRYPT przed ustawieniem parametru tego parametru będzie można zastosować,
konfiguracyjnego parametr. wszystkie aplikacje muszą zostać odłączone
od bazy danych.
Żądana zmiana nie została wykonana. Objaśnienie:
Działanie użytkownika: W środowisku klastrowym aktualizacje parametru
Działanie użytkownika odpowiadające temu kodowi konfiguracyjnego bazy danych mogą być przeprowadzane po
przyczyny: usunięciu poprzedniego zasobu. W celu zachowania spójności
zasoby klastra są usuwane podczas restartowania bazy danych.
1. Należy wprowadzić ponownie komendę wpisując
prawidłową kombinację parametrów konfiguracyjnych. Działanie użytkownika:
Aby umożliwić aktualizacje parametrów konfiguracyjnych
bazy danych, należy upewnić się, czy wszystkie aplikacje

452 Komunikaty, tom 2


SQL5161N • SQL5501N

zostały odłączone od bazy danych, i wywołać komendę DB2 Wprowadź określony wiersz w formacie, podanym w
CONNECT TO. Jeśli baza danych jest aktywowana jawnie, poprzednim paragrafie.
należy zdezaktywować ją i aktywować ponownie.
SQL5182N Nie została ustawiona wymagana zmienna
SQL5161N Aktualizacje parametru parametr nie są środowiskowa nazwa-zmiennej.
dozwolone, dopóki nie zostanie wydana
Objaśnienie:
komenda DB2START.
W pliku konfiguracyjnym systemu stowarzyszonego db2dj.ini
Objaśnienie: zmienna środowiskowa nazwa-zmiennej nie figuruje wcale
W środowisku klastrowym aktualizacje parametru albo figuruje, lecz nie ma wartości.
konfiguracyjnego menedżera bazy danych mogą być
Działanie użytkownika:
przeprowadzane po usunięciu poprzedniego zasobu. W celu
Informacje o aktualizowaniu stowarzyszonego pliku
zachowania spójności zasoby klastra są usuwane podczas
konfiguracyjnego można znaleźć w dokumentacji systemu
restartowania menedżera bazy danych.
stowarzyszonego.
Działanie użytkownika:
Aby umożliwić aktualizacje parametrów konfiguracyjnych
SQL5185N Nie są obsługiwane tranzytowe źródła
menedżera bazy danych, na serwerze należy wywołać
danych do serwera typ-serwera.
komendę DB2STOP i DB2START.
Objaśnienie:
Nie można użyć tranzytowych narzędzi, aby uzyskać dostęp
SQL5180N Produkt DB2 nie może czytać
do źródeł danych serwera typ-serwera.
stowarzyszonego pliku konfiguracyjnego
nazwa-pliku. Działanie użytkownika:
Nie jest wymagane żadne działanie.
Objaśnienie:
Nie można znaleźć stowarzyszonego pliku konfiguracyjnego,
lub nie można otworzyć go do czytania. kod_sql: -5185

Działanie użytkownika: stan_sql: 428EV


Określ stowarzyszony plik konfiguracyjny w zmiennej
DB2_DJ_INI rejestru. Upewnij się, że plik istnieje i jest
dostępny do odczytu. Dopilnuj, aby została podana pełna SQL5500N Program DB2 nie może odczytać pliku
ścieżka do pliku. konfiguracyjnego sprzedawcy nazwa-pliku.
Objaśnienie:
SQL5181N Format wiersza numer-wiersza w pliku Nie można znaleźć pliku konfiguracyjnego sprzedawcy lub nie
konfiguracyjnym stowarzyszenia mógł on zostać otwarty do odczytu.
nazwa-pliku jest niepoprawny. Działanie użytkownika:
Objaśnienie: Podaj plik konfiguracyjny sprzedawcy w zmiennej rejestru
Określony wiersz ma niepoprawny format. Wpisy muszą być DB2_VENDOR_INI. Upewnij się, że plik ten istnieje i że
zgodne z formatem <nazwa_zm_śr> = <wartość>, gdzie uprawnienia do niego umożliwiają otwarcie go przez program
<nazwa_zm_śr> jest nazwą zmiennej środowiskowej a DB2. Dopilnuj, aby została podana pełna ścieżka do pliku.
<wartość> jest wartością tej zmiennej.
SQL5501N Format wiersza numer-wiersza w pliku
Wpisy powinny być zgodne z następującymi ograniczeniami: konfiguracyjnym dostawcy nazwa-pliku jest
v Maksymalna długość nazwy zmiennej środowiskowej: 255 niepoprawny.
bajtów.
Objaśnienie:
v Maksymalna długość wartości zmiennej środowiskowej: Określony wiersz ma niepoprawny format. Wpisy muszą być
765 bajtów. zgodne z formatem <nazwa_zm_śr> = <wartość>, gdzie
v Maksymalna długość dowolnego wiersza w pliku: 1021 <nazwa_zm_śr> jest nazwą zmiennej środowiskowej a
bajtów. Dane wykraczające poza tę długość będą <wartość> jest wartością tej zmiennej.
ignorowane.
v Jeśli wartość zmiennej środowiskowej określa nazwę pliku Wpisy powinny być zgodne z następującymi ograniczeniami:
lub katalogu, powinna to być pełna nazwa i nie może w niej v Maksymalna długość nazwy zmiennej środowiskowej: 255
występować żaden z następujących elementów: bajtów.
– znaki meta nazwy pliku takie, jak tylda (~); v Maksymalna długość wartości zmiennej środowiskowej:
– zmienne środowiskowe, takie jak $HOME. 765 bajtów.
v Maksymalna długość dowolnego wiersza w pliku: 1021
Działanie użytkownika:
bajtów. Dane wykraczające poza tę długość będą
ignorowane.

Rozdział 2. Komunikaty SQL 453


SQL6000N • SQL6006N

v Jeśli wartość zmiennej środowiskowej określa nazwę pliku


SQL6004N funkcja zwróciła nieoczekiwany kod powrotu
lub katalogu, powinna to być pełna nazwa i nie może w niej
kod.
występować żaden z następujących elementów:
– znaki meta nazwy pliku takie, jak tylda (~); Objaśnienie:
Podczas przetwarzania wystąpił nieoczekiwany błąd.
– zmienne środowiskowe, takie jak $HOME.
Communications Manager lub DB2 mogą nie być
Działanie użytkownika: zainstalowane lub poprawnie skonfigurowane.
Upewnij się, że podany wiersz jest zgodny z opisanym wyżej
formatem. Nie można wykonać komendy.
Działanie użytkownika:
SQL6000N Konwersja DB2 danych QMF. Upewnij się, że Communications Manager został
zainstalowany i że odpowiednia sesja komunikacyjna hosta
Objaśnienie:
jest aktywna. Po sprawdzeniu, czy nie występują inne błędy,
Jest to zwykły komunikat przerwania.
wprowadź ponownie komendę. Jeśli problem nie zostanie
Działanie użytkownika: usunięty, skontaktuj się z administratorem programu
Nie jest wymagane żadne działanie. Communications Manager.

SQL6001N Przedwczesne zakończenie nie wystąpiło w SQL6005N Podczas odczytywania pobranego pliku
menedżerze baz danych. QMF wystąpił błąd.
Objaśnienie: Objaśnienie:
Użytkownik uruchomił moduł narzędzia SQLQMF Wystąpił jeden z następujących błędów:
bezpośrednio zamiast przy użyciu odpowiedniej komendy. v Nie można otworzyć pliku.
v Zbyt wcześnie napotkano koniec pliku.
Nie można wykonać komendy.
v Podczas odczytu pliku wystąpił błąd we/wy.
Działanie użytkownika:
Użyj odpowiedniej komendy narzędzia SQLQMF. Nie można wykonać komendy.
Działanie użytkownika:
SQL6002N Muszą zostać podane zarówno nazwa Sprawdź dziennik komunikatów programu Communications
programu, jak i parametry CS:IP. Manager. Wprowadź ponownie komendę. Jeśli błąd powtarza
Objaśnienie: się, skontaktuj się z administratorem systemu Communications
Communications Manager napotkał błąd podczas pobierania Manager.
pliku hosta.
SQL6006N Podczas zapisu do pliku wyjściowego
Nie można wykonać komendy. wystąpił błąd.
Działanie użytkownika: Objaśnienie:
Sprawdź dziennik komunikatów programu Communications Wystąpił jeden z następujących błędów:
Manager. v Na dysku C: jest zbyt mało miejsca, aby zapisać dane.
v Nie można otworzyć pliku wyjściowego.
SQL6003N Parametr CS:IP jest niepoprawny. v Podczas zapisu pliku wystąpił błąd we/wy.
Objaśnienie: v Podczas zamykania pliku wystąpił błąd we/wy.
Obliczona wielkość wiersza (suma przeliczonych wielkości
kolumn) przekracza wartość maksymalną, 7 000 bajtów. Użytkownicy systemu stowarzyszonego: Brak wystarczającej
ilości miejsca do przechowania danych wyjściowych programu
Nie można wykonać komendy. db2djlink. Wymagane jest dodatkowe miejsce dla plików
tymczasowych tworzonych i używanych przez db2djlink.
Działanie użytkownika:
Powróć do sesji QMF na hosta i uruchom zapytanie z mniejszą
liczbą wybranych kolumn danych. Następnie ponownie Nie można wykonać komendy.
wyeksportuj (EXPORT) te dane i spróbuj ponownie Działanie użytkownika:
uruchomić komendę narzędzia SQLQMF. Sprawdź, czy na dysku C: jest wystarczająca ilość miejsca.
Wprowadź ponownie komendę.

Użytkownicy systemu stowarzyszonego: Należy zwiększyć


wielkość systemu plików, w którym został zainstalowany

454 Komunikaty, tom 2


SQL6007N • SQL6013N

serwer stowarzyszony. Aby oszacować ilość wolnego miejsca,


SQL6010N Pobrany plik QMF ma ponad 255 kolumn
która jest wymagana przez db2djlink w systemie operacyjnym
danych.
AIX, wprowadź:
ls -e / Objaśnienie:
katalog_instalacyjny/lib/libdb2euni.a Przetwarzany plik ma ponad 255 kolumn danych.

Komenda ta zwraca liczbę bajtów używanych przez podany Nie można wykonać komendy.
plik. Należy pomnożyć ją przez 3. Będzie to szacunkowa Działanie użytkownika:
wielkość wolnego miejsca wymagana dla systemu plików. Powróć do sesji QMF hosta i uruchom zapytanie wybierając
Zwiększ wielkość systemu plików do wymaganego rozmiaru i 255 lub mniejszą liczbę kolumn danych. Ponownie
wprowadź ponownie komendę. wyeksportuj (EXPORT) te dane a następnie wprowadź
ponownie komendę narzędzia SQLQMF.
SQL6007N Liczba dziesiętna w wierszu wiersz i
kolumnie kolumna nie może zostać SQL6011N Nie można przetworzyć typu danych numer
przekształcona do kodu ASCII. (tekst-typu) kolumny nazwa (umieszczonego
Objaśnienie: w kolumnie numer).
Wskazane pole dziesiętne nie może być przekształcone. Objaśnienie:
Plik QMF zawiera kolumnę z typem danych, który nie jest
Nie można wykonać komendy. obsługiwany.
Działanie użytkownika:
Sprawdź, czy typ danych w kolumnie hosta jest ustawiony Narzędzie SQLQMF nie obsługuje następujących typów
jako dziesiętny (DECIMAL). Ponownie wyeksportuj (QMF danych:
EXPORT) te dane i wprowadź ponownie komendę narzędzia v LONG VARCHAR
SQLQMF. Jeśli błąd powtarza się, uruchom ponownie v LONG VARGRAPHIC.
zapytanie QMF, pomijając wymienione kolumny.
Jedyne narzędzie SQLQMF, które obsługuje graficzne typy
SQL6008N Plik określony w komendzie ma format nie danych, to SQLQMFDB.
zgodny z formatem danych QMF.
Nie można wykonać komendy.
Objaśnienie:
Plik określony przez parametr nazwa_pliku nie ma Działanie użytkownika:
oczekiwanego formatu QMF. Powróć do sesji QMF hosta i uruchom zapytanie pomijając
wymienioną kolumnę. Następnie wprowadź ponownie
Nie można wykonać komendy. komendę narzędzia SQLQMF.
Działanie użytkownika:
Sprawdź, czy nazwa została wpisana poprawnie. Jeśli tak, SQL6012N Podano zbyt wiele parametrów dla
powróć do sesji QMF hosta i wprowadź ponownie komendę komendy.
EXPORT DATA TO nazwa_pliku. Upewnij się, że
Objaśnienie:
eksportowanie odbywa się z właściwym formatem danych
Podano zbyt wiele parametrów dla komendy.
QMF.
Nie można wykonać komendy.
SQL6009N Plik wyeksportowany z formatu QMF
Działanie użytkownika:
zawiera kolumnę nazwa o szerokości równej
Wprowadź ponownie komendę z użyciem prawidłowej liczby
szerokość, która jest zbyt długa.
parametrów.
Maksymalna szerokość kolumny wynosi
4000 bajtów.
SQL6013N Nazwa pliku hosta nazwa-pliku-hosta jest za
Objaśnienie:
długa albo nie zaczyna się literą.
Załadowany plik QMF zawiera kolumnę o szerokości większej
niż 4000 bajtów. Objaśnienie:
Nazwa pliku hosta nie zaczyna się literą. Jeśli host pracuje w
Nie można wykonać komendy. systemie VM, nazwa pliku hosta, typ pliku lub tryb pliku są
zbyt długie.
Działanie użytkownika:
Powróć do sesji QMF hosta, ponownie uruchom zapytanie
Nie można wykonać komendy.
QMF pomijając wymienione kolumny i wyeksportuj dane
ponownie. Następnie wprowadź ponownie komendę narzędzia Działanie użytkownika:
SQLQMF. Wprowadź ponownie komendę z poprawną składnią nazwy
pliku hosta.

Rozdział 2. Komunikaty SQL 455


SQL6014N • SQL6023N

SQL6014N Składnia komendy jest niepoprawna, SQL6018N Nie określono nazwy pliku S/370.
dwukropek (″:″) powinien następować po
Objaśnienie:
słowie kluczowym.
Nazwa pliku S/370 jest wymaganym parametrem.
Objaśnienie:
Słowa kluczowe parametru z operandami wymagają, aby Nie można wykonać komendy.
bezpośrednio po słowie kluczowym występował znak “:”, a
dopiero potem operand. Działanie użytkownika:
Wprowadź ponownie komendę wprowadzając nazwę pliku
hosta.
Nie można wykonać komendy.
Działanie użytkownika:
SQL6019N Krótki identyfikator sesji komunikacji ID
Sprawdź składnię komendy i wprowadź ją ponownie.
jest zbyt długi lub nieprawidłowy.
Objaśnienie:
SQL6015N Parametr nie został rozpoznany.
Wartość krótkiego identyfikatora sesji komunikacji jest
Objaśnienie: dłuższa niż jeden bajt lub nie jest literą.
Po wskaźniku parametru (“/”) wystąpiła wartość, która nie jest
parametrem. Nie można wykonać komendy.
Działanie użytkownika:
Nie można wykonać komendy.
Wprowadź ponownie komendę wpisując prawidłową wartość.
Działanie użytkownika:
Wprowadź ponownie komendę, używając innej wartości
SQL6020N Określono opcję importu pomijając nazwę
parametru.
bazy danych.
Objaśnienie:
SQL6016N Zbyt wiele operandów dla nazwy pliku
Nie podano nazwy bazy danych i określono opcję importu.
nazwa systemu System/370.
Objaśnienie: Komenda została zakończona.
Jeśli host pracuje w systemie VM, nazwa pliku hosta zawiera
więcej niż trzy elementy oddzielone znakami odstępu. Jeśli Działanie użytkownika:
host pracuje w systemie MVS, nazwa pliku hosta zawiera Wprowadź ponownie komendę wpisując nazwę bazy danych.
wstawione znaki odstępu.
SQL6021N Dane zostały zaimportowane pomyślnie.
Nie można wykonać komendy.
Objaśnienie:
Działanie użytkownika: Jest to normalny komunikat końcowy, kiedy urządzenia
Wprowadź ponownie komendę, używając innej wartości SQLQMF importuje dane do bazy danych.
parametru.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL6017N Więcej informacji może zawierać dziennik
komunikatu komendy IMPORT nazwa.
SQL6022N Systemowy katalog baz danych nie jest
Objaśnienie: współużytkowany przez wszystkie węzły.
Operacja importowania (IMPORT) bazy danych została
zakończona komunikatami o błędach lub ostrzeżeniami. Objaśnienie:
Wszystkie węzły powinny mieć dostęp do jednej fizycznej
kopii systemowego katalogu baz danych.
Pliki używane przez komendę nie zostały zwolnione.
Działanie użytkownika: Nie można wykonać komendy.
Użyj komunikatu poprzedzającego ten komunikat oraz
dziennika komunikatów komendy IMPORT, jeśli taki istnieje, Działanie użytkownika:
aby określić, czy importowanie (IMPORT) zakończyło się Upewnić się, że wszystkie węzły mają dostęp do systemowego
poprawnie i określić działanie naprawcze. Jeśli import katalogu baz danych, który znajduje się w katalogu sqllib, a
zakończył się pomyślnie, skasuj pliki DEL, CRE, COL i IML. następnie powtórz żądanie.

SQL6023N Użytkownik nie ma uprawnienia do


uruchamiania programu narzędziowego Get
Table Partitioning Information względem
tabeli nazwa.
Objaśnienie:

456 Komunikaty, tom 2


SQL6024E • SQL6030N

Użytkownik próbował pobrać informacje dla określonej tabeli Działanie użytkownika:


bez odpowiednich uprawnień (uprawnienia SYSADM, Sprawdź, czy jest odtwarzany poprawny obraz bazy danych.
DBADM, CONTROL lub SELECT dla tabeli).
Jeśli odtwarzasz dane do istniejącej bazy danych i chcesz
Program narzędziowy zatrzymuje przetwarzanie. zmienić węzeł katalogu na węzeł2, najpierw usuń istniejącą
bazę danych.
Działanie użytkownika:
Nie próbuj wywoływać programu narzędziowego Get Table
Jeśli odtwarzasz dane do nowej bazy danych, odtwórz
Partitioning Information bez odpowiednich uprawnień. Poproś
najpierw węzeł katalogu węzeł1.
o pomoc administratora systemu.

SQL6027N Ścieżka ścieżka katalogu bazy danych nie


SQL6024E Tabela lub indeks nazwa nie zostały
jest poprawna.
zdefiniowane w węźle numer-węzła.
Objaśnienie:
Objaśnienie:
Ścieżka ścieżka określona dla komendy CREATE
Aplikacja jest połączona z węzłem numer-węzła, a tabela lub
DATABASE lub CATALOG DATABASE zaczyna się
indeks nazwa nie jest zdefiniowany.
znakiem ’.’ lub zawiera łańcuch znaków ’/.’.
Możliwe przyczyny błędu:
Nie można wykonać komendy.
v Węzeł, do którego aplikacja jest dołączona, nie jest częścią
grupy węzłów, w której utworzono tabelę lub indeks. Działanie użytkownika:
Upewnij się, że określona ścieżka jest ścieżką pełną, nie
v Grupa węzłów nie używa tego węzła.
zaczyna się znakiem ’.’oraz nie zawiera łańcucha znaków ’/.’.
Następnie ponów żądanie.
Program narzędziowy zatrzymuje przetwarzanie.
Działanie użytkownika:
SQL6028N Wpisanie bazy danych do katalogu nie
Połącz aplikację z węzłem, na którym zdefiniowano tabelę lub
powiodło się, ponieważ nie znaleziono bazy
indeks. Określ grupę węzłów, w której utworzono tabelę i
danych nazwa-bazy-danych w katalogu
uzyskaj listę węzłów w grupie przez wybranie odpowiednich
lokalnej bazy danych.
wierszy z widoku katalogu NODEGROUPDEF. Węzły, które
mają wartość IN_USE ustawioną na Y są tymi, na których Objaśnienie:
zdefiniowano tabelę lub indeks. Podczas wpisywania lokalnej bazy danych do systemowego
katalogu baz danych, należy wprowadzić komendę/funkcję
API z węzła na serwerze, na którym rezyduje baza danych.
SQL6025N Kopia zapasowa bazy danych utworzona w
węźle węzeł1 nie może zostać odtworzona w Działanie użytkownika:
węźle węzeł2. Wprowadź ponownie komendę/funkcję API z węzła, w którym
rezyduje baza danych.
Objaśnienie:
Obraz bazy danych użyty do odtwarzania jest obrazem bazy
danych w innym węźle. SQL6030N Komenda START lub STOP DATABASE
MANAGER nie powiodła się. Kod
Działanie użytkownika:
przyczyny: kod-przyczyny.
Upewnij się, że dany obraz jest poprawnym obrazem bazy
danych dla węzła, a następnie ponowić żądanie. Objaśnienie:
Kod przyczyny wskazuje błąd. Nie można wykonać instrukcji.
SQL6026N Baza danych z węzłem katalogu węzeł1 nie (1) Nie można uzyskać dostępu do katalogu sqllib
może zostać odtworzona do bazy danych z instancji.
węzłem katalogu węzeł2.
(2) Pełna nazwa ścieżki dodana do nazwy pliku profilu
Objaśnienie: jest zbyt długa.
Węzeł katalogu może istnieć tylko na jednym węźle, a
(3) Nie można otworzyć pliku profilu.
występuje rozbieżność między obrazem kopii zapasowej a
węzłem, do którego następuje odtwarzanie. Może się to (4) Wartość parametru nodenum nie jest zdefiniowana w
zdarzyć w następujących sytuacjach: pliku db2nodes.cfg w katalogu sqllib.
v Obraz bazy danych określa węzeł katalogu węzeł1, a próba (5) Parametr nodenum musi zostać podany, gdy podaje
odtwarzania została podjęta dla istniejącej bazy danych, się opcję komendy.
której węzeł katalogu to węzeł2.
v Podjęto próbę odtwarzania do nowej bazy danych, przy (6) Wartość parametru port jest nieprawidłowa.
czym węzeł katalogu nie został najpierw odtworzony. (Aby (7) Nowa para nazwa_hosta/port nie jest unikalna.
utworzyć bazę danych we wszystkich węzłach, należy
najpierw odtworzyć węzeł katalogu).

Rozdział 2. Komunikaty SQL 457


SQL6030N

(8) Opcja FORCE nie może być podana, gdy jest Działanie użytkownika:
podana opcja NODENUM. Działanie odpowiadające kodowi przyczyny jest następujące:
(9) Jeśli używana jest opcja ADDNODE, należy (1) Upewnij się, że identyfikator użytkownika
określić parametry nazwa_hosta i port. $DB2INSTANCE ma wymagane uprawnienia
dostępu do katalogu sqllib instancji.
(10) Nie można zaktualizować pliku db2nodes.cfg w
katalogu sqllib dla opcji ADDNODE lub RESTART. (2) Zmienić nazwę profilu na krótszą, tak aby całkowita
długość pełnej ścieżki dodanej do długości nazwy
(11) Wartość parametru nazwa_hosta jest nieprawidłowa.
profilu była mniejsza niż SQL_PROFILE_SZ
(12) Wskaźnik struktury sqledbstrtopt lub sqledbstopopt zdefiniowany w pliku sqlenv.h.
jest nieprawidłowy.
(3) Upewnij się, że plik profilu istnieje.
(13) Wartość parametru port nie jest zdefiniowana dla
(4) Upewnij się, że wartość parametru nodenum
identyfikatora instancji DB2 (plik /etc/services dla
zdefiniowana w pliku db2nodes.cfg mieści się w
systemów opartych na systemie UNIX).
zakresie 0 a 999.
(14) Wartość parametru port wykracza poza prawidłowy
(5) Wprowadź ponownie komendę, podając parametr
zakres zdefiniowany dla identyfikatora instancji
nodenum.
DB2 (plik /etc/services dla systemów opartych na
systemie UNIX). (6) Upewnij się, że wartość port mieści się w zakresie
od 0 do 999. Jeśli wartość nie zostanie podana,
(15) Wartość parametru nazwa_hosta nie ma
zostaje ustawiona wartość domyślna równa 0.
zdefiniowanego odpowiadającego portu 0 w pliku
db2nodes.cfg w katalogu sqllib. (7) Upewnij się, że nowa para nazwa_hosta/port nie jest
już zdefiniowana w pliku db2nodes.cfg w katalogu
(16) Wartość podana dla parametru komendy lub opcji
sqllib.
jest nieprawidłowa.
(8) Nie podawaj opcji FORCE razem z opcją
(17) Opcja DROP nie może być podana, dopóki nie
NODENUM.
zostanie podana opcja NODENUM.
(9) Upewnij się, że wartości nazwa_hosta i port są
(18) Wartość podana dla parametru callerac jest
podane, gdy jest podana opcja ADDNODE.
nieprawidłowa.
(10) Upewnij się, że użytkownik $DB2INSTANCE ma
(19) Nie można utworzyć katalogu gniazda systemu
dostęp do katalogu instancji sqllib z możliwością
UNIX /tmp/db2_<wersja>_<wydanie>/
zapisu, na dysku jest dostateczna ilość miejsca i że
$DB2INSTANCE.
plik istnieje.
(20) Numer węzła podany z opcją ADDNODE już
(11) Upewnij się, że podana nazwa hosta jest
istnieje w pliku db2nodes.cfg albo węzeł został
zdefiniowana w systemie.
dodany po ostatnim wydaniu komendy zatrzymania
menedżera baz danych. (12) Upewnij się, że wskaźnik nie jest pusty i wskazuje
strukturę sqledbstrtopt dla funkcji API sqlepstr() lub
(21) Typ obszaru tabel podany z opcją ADDNODE jest
strukturę sqledbstopopt dla funkcji API sqlepstp().
nieprawidłowy.
(13) Upewnij się, że plik Services (/etc/services w
(22) Węzeł obszaru tabel podany z opcją ADDNODE
systemach UNIX) zawiera wpis odpowiadający
wykracza poza zakres.
identyfikatorowi instancji programu DB2.
(23) Dla opcji ADDNODE należy podać nazwę
(14) Używaj tylko tych wartości portów, które są
komputera.
określone dla danej instancji w pliku Services (plik
(24) Dla opcji ADDNODE należy podać nazwę /etc/services w systemach UNIX).
użytkownika.
(15) Upewnij się, że wszystkie wartości parametru
(25) Nazwa komputera jest niepoprawna. nazwa_hosta mają zdefiniowany port 0 w pliku
db2nodes.cfg w katalogu sqllib zawierającym
(26) Nazwa użytkownika jest niepoprawna. parametry opcji restartowania.
(27) Hasło jest nieprawidłowe. (16) Upewnij się, że wartość podana dla parametru opcji
(28) Hasło straciło ważność. mieści się w poprawnym zakresie.

(29) Podane konto użytkownika jest wyłączone, straciło (17) Podać opcję NODENUM razem z opcją DROP.
ważność lub jest zastrzeżone. (18) Upewnij się, że wartość podana dla parametru
(31) Niepoprawny parametr nazwa_sieciowa. callerac mieści się w poprawnym zakresie.

(32) Wywołanie menedżera klastra przez menedżera bazy (19) Sprawdź uprawnienia systemu plików /tmp, aby
danych DB2 zakończyło się niepowodzeniem. upewnić się, że wszystkie katalogi pośrednie

458 Komunikaty, tom 2


SQL6031N

katalogu /tmp/db2_<wersja>_<wydanie>/ (2) Pełna nazwa ścieżki dodana do nazwy pliku


$DB2INSTANCE mogą zostać utworzone. db2nodes.cfg jest zbyt długa.
(20) Upewnić się, że podany numer węzła jest poprawny. (3) Nie można otworzyć pliku db2nodes.cfg w katalogu
Musisz zatrzymać menedżera baz danych, aby sqllib.
zaktualizować plik db2nodes.cfg dodając do niego
(4) W wierszu wiersz pliku db2nodes.cfg w katalogu
informacje o węzłach, które zostały dodane do
sqllib wystąpił błąd syntaktyczny.
systemu od poprzedniej komendy zatrzymującej
menedżera baz danych. (5) Wartość nodenum w wierszu wiersz pliku
db2nodes.cfg w katalogu sqllib jest nieprawidłowa.
(21) Upewnij się, że wartość podana dla typu obszaru
tabel mieści się w poprawnym zakresie. (6) Wartość nodenum w wierszu wiersz pliku
db2nodes.cfg w katalogu sqllib nie należy do
(22) Upewnić się, że wartość węzła obszaru tabel
sekwencji.
zdefiniowana w pliku db2nodes.cfg mieści się w
zakresie od 0 do 999. (7) Wartość nodenum w wierszu wiersz pliku
db2nodes.cfg w katalogu sqllib nie jest unikalna.
(23) Przy użyciu opcji COMPUTER podaj nazwę
komputera dla systemu, w którym został utworzony (8) Wartość port w wierszu wiersz pliku db2nodes.cfg w
nowy węzeł. katalogu sqllib jest nieprawidłowa.
(24) Przy użyciu opcji USER i PASSWORD określ (9) Para nazwa hosta/port w wierszu wiersz pliku
poprawną nazwę i hasło użytkownika konta domeny db2nodes.cfg w katalogu sqllib nie jest unikalna.
dla nowego węzła.
(10) Wartość hostname w wierszu wiersz pliku
(25) Wprowadź ponownie komendę, podając prawidłową db2nodes.cfg w katalogu sqllib jest nieprawidłowa.
nazwę komputera.
(11) Wartość port w wierszu wiersz pliku db2nodes.cfg w
(26) Wprowadź ponownie komendę, podając prawidłową katalogu sqllib nie jest zdefiniowana dla
nazwę użytkownika. identyfikatora instancji DB2 w pliku Services
(/etc/services w systemach opartych na systemie
(27) Wprowadź ponownie komendę, podając poprawne
UNIX).
hasło.
(12) Wartość port w wierszu wiersz pliku db2nodes.cfg w
(28) Zmień/zaktualizuj hasło konta i wprowadź ponownie
katalogu sqllib wykracza poza poprawny zakres dla
komendę.
identyfikatora instancji DB2 w pliku Services
(29) Wprowadź ponownie komendę, podając prawidłowe (/etc/services w systemach opartych na systemie
konto użytkownika. UNIX).
(31) Popraw długość parametru nazwa_sieciowa tak, aby (13) Wartość nazwa hosta w wierszu wiersz pliku
nie przekraczała wartości określonej zmienną db2nodes.cfg w katalogu sqllib nie ma
środowiskową SQL_HOSTNAME_SZ. odpowiadającej jej wartości port 0.
(32) Usuń problem, który spowodował nieudane (14) Istnieje plik db2nodes.cfg zawierający więcej niż
wywołanie menedżera klastra, i wprowadź ponownie jedną pozycję, ale konfiguracją menedżera baz
komendę: danych nie jest MPP.
v Sprawdź plik db2diag.log w poszukiwaniu (15) Nazwa sieciowa w wierszu wiersz pliku
komunikatów o błędach menedżera klastra. db2nodes.cfg, znajdującym się w katalogu sqllib jest
v Odpowiedz na komunikaty o błędach menedżera niepoprawna.
klastra z pliku db2diag.log, aby usunąć problem,
(16) Wartość parametru hostname w wierszu wiersz pliku
który uniemożliwił menedżerowi klastra usunięcie
db2nodes.cfg w katalogu sqllib jest niezgodna z
ścieżki ze swojej konfiguracji.
wartością zmiennej rejestru DB2FCMCOMM.
v Wprowadź ponownie komendę START lub STOP
DATABASE MANAGER. Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące:

SQL6031N Błąd w pliku db2nodes.cfg w wierszu numer (1) Upewnij się, że identyfikator użytkownika
wiersz. Kod przyczyny: kod-przyczyny. $DB2INSTANCE ma wymagane uprawnienia
dostępu do katalogu sqllib instancji.
Objaśnienie:
Nie można wykonać instrukcji z powodu problemu z plikiem (2) Skróć nazwę ścieżki do katalogu użytkownika
db2nodes.cfg, który jest opisany przez następujące kody instancji.
przyczyn: (3) Upewnij się, że plik db2nodes.cfg istnieje w
(1) Nie można uzyskać dostępu do katalogu sqllib katalogu sqllib i nie jest pusty.
instancji. (4) Upewnij się, że w pliku db2nodes.cfg zdefiniowane

Rozdział 2. Komunikaty SQL 459


SQL6032W • SQL6035W

są co najmniej dwie wartości przypadające na wiersz Przejrzyj dziennik utworzony w podkatalogu dzienników
i że plik nie zawiera pustych wierszy. katalogu sqllib dla instancji, aby dowiedzieć się, które węzły
nie zostały uruchomione.
(5) Upewnij się, że wartość parametru nodenum
zdefiniowana w pliku db2nodes.cfg mieści się w
zakresie od 0 do 999. SQL6033W Podjęto próbę przetworzenia komendy
zatrzymania na liczba-łączna węzłach.
(6) Upewnij się, że wszystkie wartości nodenum
Węzły pomyślnie zatrzymane:
zdefiniowane w pliku db2nodes.cfg są
liczba-zatrzymanych. Węzły, które były już
uporządkowane rosnąco.
zatrzymane: liczba-już-zatrzymanych. Węzły,
(7) Upewnij się, że każda wartość parametru nodenum których nie można było zatrzymać:
zdefiniowana w pliku db2nodes.cfg jest unikalna. liczba-niezatrzymanych.
(8) Upewnij się, że wartość port mieści się w zakresie Objaśnienie:
od 0 do 999. Menedżer baz danych nie zatrzymał się pomyślnie na
wszystkich węzłach. Menedżer baz danych jest wciąż aktywny
(9) Upewnij się, że nowa para nazwa hosta/port nie jest na węzłach, których nie można było zatrzymać.
już zdefiniowana w pliku db2nodes.cfg.
Działanie użytkownika:
(10) Upewnij się, że wartość nazwa hosta zdefiniowana w Przejrzyj dziennik utworzony w katalogu dzienników katalogu
pliku db2nodes.cfg w wierszu wiersz jest sqllib dla instancji, aby dowiedzieć się, które węzły nie zostały
zdefiniowana w systemie i że działa. zatrzymane.
(11) Upewnij się, że plik Services (/etc/services w
systemach UNIX) zawiera wpis odpowiadający SQL6034W Węzeł węzeł nie jest używany przez żadną
identyfikatorowi instancji programu DB2. bazę danych.
(12) Używaj tylko tych wartości portów, które są Objaśnienie:
określone dla danej instancji w pliku Services (plik Podczas przetwarzania komendy DROP NODE VERIFY
/etc/services w systemach UNIX). przeszukano wszystkie bazy danych, aby sprawdzić, czy ten
(13) Upewnij się, że w pliku db2nodes.cfg zdefiniowano węzeł nie istnieje w grupach węzłów żadnej bazy danych oraz
wartość port 0 dla odpowiadającej jej wartości czy na tym węźle nie jest zdefiniowany żaden monitor
nazwa hosta. zdarzeń.

(14) Wykonaj jedno z następujących działań: Działanie użytkownika:


Teraz możesz usunąć ten węzeł z systemu wprowadzając
v Usuń plik db2nodes.cfg.
komendę ’DB2STOP DROP NODENUM <węzeł>’.
v Zmień plik db2nodes.cfg, tak aby zawierał
dokładnie jedną pozycję.
SQL6035W Partycja bazy danych nazwa-partycji jest
v Zainstaluj wersję Enterprise Server Edition.
używana przez bazę danych baza-danych.
(15) Upewnij się, że wartość nazwy sieciowej
Objaśnienie:
zdefiniowana w pliku db2nodes.cfg w wierszu
Podczas przetwarzania komendy DROP DBPARTITIONNUM
wiersz jest zdefiniowana w systemie i że działa.
VERIFY przeglądane są bazy danych w celu sprawdzenia, czy
(16) Sprawdź, czy wartości parametru hostname i partycja określonej bazy danych nie istnieje w grupach partycji
zmiennej rejestru DB2FCMCOMM są ustawione baz danych żadnej z pozostałych baz danych oraz czy dla
poprawnie. danej partycji bazy danych nie jest zdefiniowany żaden
monitor zdarzeń. Partycja bazy danych nazwa-partycji jest
używana przez bazę danych baza-danych i nie może zostać
SQL6032W Podjęto próbę przetworzenia komendy
usunięta.
uruchomienia na liczba-łączna węzłach.
Węzły pomyślnie uruchomione: Działanie użytkownika:
liczba-uruchomionych. Węzły, które były już Przed usunięciem partycji bazy danych należy wykonać
uruchomione: liczba-już-uruchomionych. następujące czynności:
Węzły, których nie można uruchomić: 1. Za pomocą komendy REDISTRIBUTE DATABASE
liczba-nieuruchomionych. PARTITION GROUP należy dokonać redystrybucji
Objaśnienie: danych w celu usunięcia ich z partycji bazy danych. Użyj
Menedżer baz danych nie uruchomił się pomyślnie na opcji DROP DBPARTITIONNUM instrukcji ALTER
wszystkich węzłach. Nie wszystkie dane w bazie danych są DATABASE PARTITION GROUP do usunięcia partycji
dostępne. Dane na węzłach, które uruchomiły się pomyślnie bazy danych z grupy partycji bazy danych. Należy to
lub już działały, są dostępne. wykonać dla wszystkich grup partycji bazy danych,
których członkiem jest partycja bazy danych przeznaczona
Działanie użytkownika: do usunięcia.

460 Komunikaty, tom 2


SQL6036N • SQL6041C

2. Określić, czy istnieją jakiekolwiek wyjątki wielkości puli


SQL6038N Brak zdefiniowanego klucza
buforów zdefiniowane dla partycji bazy danych, używając
partycjonowania.
zapytania SYSCAT.BUFFERPOOLDBPARTITIONS.
Jeśli istnieją wiersze, można je usunąć za pomocą Objaśnienie:
instrukcji ALTER BUFFERPOOL, aby zmienić wielkość Użytkownik próbował użyć programu narzędziowego Get
puli buforów dla partycji bazy danych w celu dopasowania Row Partitioning Information bez określenia klucza
do parametru NPAGES dla puli buforów w instrukcji partycjonowania.
SYSCAT.BUFFERPOOLS.
3. Usunąć wszelkie monitory zdarzeń zdefiniowane dla Program narzędziowy zatrzymuje przetwarzanie.
partycji bazy danych. Działanie użytkownika:
4. Wprowadzić komendę ’db2stop drop dbpartitionnum Upewnij się, że klucz partycjonowania został określony, a
<numer-partycji>’ w celu usunięcia partycji bazy danych. następnie powtórz żądanie.

SQL6036N Komenda START lub STOP DATABASE SQL6039N Kolumna partycjonowania numer-kolumny
MANAGER jest już w toku. jest obecnie zdefiniowana jako taka, w
której nie jest dopuszczalna wartość pusta.
Objaśnienie:
Komenda START DATABASE MANAGER lub STOP Objaśnienie:
DATABASE MANAGER działa już w systemie. Próbowano przypisać wartości puste do kolumny
partycjonowania numer-kolumny, która nie dopuszcza wartości
Działanie użytkownika:
pustych.
Poczekaj, aż komenda w toku zakończy się, a następnie
powtórz żądanie.
Program narzędziowy zatrzymuje przetwarzanie.

SQL6037N Przekroczony czas oczekiwania dla Działanie użytkownika:


komendy START lub STOP DATABASE Przypisz wartość inną niż pusta lub zmień typ kolumny
MANAGER. partycjonowania na dopuszczający wartości puste.

Objaśnienie:
Na tym węźle osiągnięto wartość start_stop_time zdefiniowaną SQL6040C Brak dostępnych buforów FCM.
w konfiguracji menedżera baz danych. Wartość ta podaje czas Objaśnienie:
w minutach, w którym węzeł musi odpowiedzieć na komendę Żaden bufor FCM nie jest dostępny.
Start Database Manager, Stop Database Manager lub Add
Node (Uruchom menedżera baz danych, Zatrzymaj menedżera Nie można wykonać instrukcji.
baz danych lub Dodaj węzeł).
Działanie użytkownika:
Działanie użytkownika: Powtórz żądanie.
Wykonaj następujące czynności:
v Sprawdź zawartość dziennika powiadomień Jeśli błąd nie zniknie, zwiększ liczbę buforów FCM
administracyjnych, aby ustalić, czy dla węzła, w którym (fcm_num_buffers) określoną w pliku konfiguracyjnym
nastąpiło przekroczenie limitu czasu, został zarejestrowany menedżera baz danych, a następnie powtórz żądanie.
komunikat o błędzie. Jeśli nie został zarejestrowany żaden
błąd, a przekroczenie czasu oczekiwania powtarza się, może Jeśli opcja FCM_NUM_BUFFER jest już ustawiona na
być niezbędne zwiększenie wartości start_stop_time w pliku automatyczną, należy przeanalizować ogólne zużycie pamięci
konfiguracyjnym menedżera baz danych. w systemie, aby sprawdzić, czy inne aplikacje korzystają z
v Jeśli przekroczenie czasu oczekiwania wystąpiło podczas nieodpowiedniej wielkości pamięci, uniemożliwiając jej
przetwarzania komendy Start Database Manager (Uruchom przydzielenie buforom FCM.
menedżera baz danych), wprowadź komendę Stop Database
Manager (Zatrzymaj menedżera baz danych) dla wszystkich kod_sql: -6040
węzłów, które przekroczyły czas oczekiwania.
v Jeśli przekroczenie czasu oczekiwania wystąpiło podczas stan_sql: 57011
przetwarzania komendy Stop Database Manager (Zatrzymaj
menedżera baz danych), wprowadź komendę Stop Database SQL6041C Brak dostępnych pozycji połączenia FCM.
Manager (Zatrzymaj menedżera baz danych) dla wszystkich
węzłów, które przekroczyły czas oczekiwania, albo dla Objaśnienie:
wszystkich węzłów. Każdy węzeł, który już został Żadna pozycja połączenia FCM nie jest dostępna. Menedżer
zatrzymany, zwróci komunikat informujący, że węzeł został FCM nie może automatycznie zwiększyć liczby pozycji
zatrzymany. połączeń, ponieważ osiągnięto już maksymalną wartość.

Nie można wykonać instrukcji.

Rozdział 2. Komunikaty SQL 461


SQL6042C • SQL6048N

Działanie użytkownika:
SQL6045N Typ danych wartość-typu-danych o długości
Ponów żądanie, gdy inne procesy zwolnią część tego zasobu.
długość-typu-danych nie jest obsługiwany.

kod_sql: -6041 Objaśnienie:


Ten typ i długość danych nie są obsługiwane dla klucza
stan_sql: 57011 partycjonowania.

Program narzędziowy zatrzymuje przetwarzanie.


SQL6042C Punkty węzłowe komunikatów FCM są
niedostępne. Działanie użytkownika:
Informacje na temat typów danych zawiera podręcznik
Objaśnienie: Administration Guide. Informacje o interfejsie API pobierania
Żaden punkt węzłowy komunikatów FCM nie jest dostępny. informacji o partycjonowaniu wiersza można znaleźć w
Menedżer FCM nie może automatycznie zwiększyć liczby skorowidzu funkcji API.
kotwic komunikatów, ponieważ osiągnięto już maksymalną
wartość.
SQL6046N Podane działanie DROP NODE jest
Nie można wykonać instrukcji. nieprawidłowe.

Działanie użytkownika: Objaśnienie:


Ponów żądanie, gdy inne procesy zwolnią część tego zasobu. Wartość podana dla parametru działania komendy DROP
NODE jest nieprawidłowa. Dla komendy DROP NODE
kod_sql: -6042 obsługiwany jest tylko tryb sprawdzania. Parametr musi być
ustawiony na wartość SQL_DROPNODE_VERIFY.
stan_sql: 57011
Nie można wykonać komendy.

SQL6043C Brak dostępnych bloków żądań FCM. Działanie użytkownika:


Upewnij się, że parametr działanie jest ustawiony na
Objaśnienie: SQL_DROPNODE_VERIFY, a następnie powtórz żądanie.
Żaden blok żądań FCM nie jest dostępny. Menedżer FCM nie
może automatycznie zwiększyć liczby bloków żądań,
ponieważ osiągnięto już maksymalną wartość. SQL6047N Grupa partycji bazy danych nie może być
redystrybuowana, ponieważ nie ma klucza
Nie można wykonać instrukcji. partycjonowania dla tabeli nazwa.

Działanie użytkownika: Objaśnienie:


Ponów żądanie, gdy inne procesy zwolnią część tego zasobu. Co najmniej dla jednej tabeli w partycji jednowęzłowej bazy
danych nie określono klucza partycjonowania. Dla wszystkich
tabel w jednowęzłowej bazie danych muszą być określone
kod_sql: -6043
klucze partycjonowania, aby grupa partycji bazy danych mogła
być redystrybuowana na grupę partycji wielowęzłowej bazy
stan_sql: 57011
danych.

SQL6044N Składnia reprezentacji łańcucha łańcuch z Operacja nie została wykonana.


wartością typu danych wartość-typu-danych i
Działanie użytkownika:
długością długość jest niepoprawna.
Użyj komendy ALTER TABLE do określenia klucza
Objaśnienie: partycjonowania dla tabel, które go nie mają. Następnie ponów
Podany łańcuch nie został rozpoznany jako docelowy typ żądanie.
danych. (Informacje na temat typów danych zawiera
podręcznik Application Development Guide). Składnia jest
SQL6048N Podczas przetwarzania komend START lub
nieprawidłowa albo wartość wykracza poza poprawny zakres.
STOP DATABASE MANAGER wystąpił
błąd komunikacyjny.
Program narzędziowy zatrzymuje przetwarzanie.
Objaśnienie:
Działanie użytkownika:
Wystąpił błąd komunikacji TCP/IP, gdy komenda START lub
Upewnij się, że łańcuch zawiera prawidłowy zapis typu
STOP DATABASE MANAGER usiłowała nawiązać
danych i ponów żądanie.
połączenie z wszystkimi węzłami zdefiniowanymi w pliku
sqllib/db2nodes.cfg włącznie z nowym węzłem, który
próbowano dodać.
Działanie użytkownika:
Wykonaj następujące czynności:

462 Komunikaty, tom 2


SQL6049N • SQL6052N

v Upewnij się, że węzeł ma właściwe uprawnienia Ten błąd został zwrócony, ponieważ menedżer bazy danych
zdefiniowane w pliku .rhosts lub host.equiv. DB2 nie mógł uzyskać dostępu do podstawowego pliku
v Upewnij się, że aplikacja nie używa jednocześnie więcej niż sterującego dziennika ani do dodatkowego pliku sterującego
(500 + (1995 - 2 * ogólna_liczba_węzłów)) deskryptorów dziennika dla określonej bazy danych na podanych partycjach
plików. bazy danych.
v Sprawdź, czy wszystkie zmienne środowiskowe programu
Jeśli menedżer bazy danych nie może uzyskać dostępu do
Enterprise Server Edition są zdefiniowane w pliku profilu.
plików sterujących dziennika, nie można korzystać z bazy
v Upewnij się, że plik profilu jest zapisany w formacie danych.
skryptu powłoki Korn.
v Upewnij się, że wszystkie nazwy hostów zdefiniowane w Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
pliku db2nodes.cfg w katalogu sqllib są zdefiniowane w zajrzeć do pliku syslog, w którym znajduje się pełna lista
sieci i że działają. partycji bazy danych.
v Sprawdź, czy zmienna rejestrowa DB2FCMCOMM jest Działanie użytkownika:
poprawnie ustawiona. Odtwórz bazę danych na podanych partycjach bazy danych lub
utwórz ją ponownie.
SQL6049N Pliku sterującego dziennika dla bazy
danych nazwa-bazy-danych nie można SQL6051N Baza danych nazwa nie jest skonfigurowana
znaleźć na następujących partycjach bazy do odtwarzania zmian dla węzłów
danych: lista-partycji-bazy-danych. lista-węzłów.
Objaśnienie: Objaśnienie:
Istnieją dwa pliki sterujące dziennika: Określona baza danych nie jest skonfigurowana do
v podstawowy plik sterujący dziennika SQLOGCTL1.LFH odtwarzania zmian w określonym węźle (węzłach).
v dodatkowy plik sterujący dziennika SQLOGCTL2.LFH
Dodatkowy plik sterujący dziennika jest lustrzaną kopią Nie odtworzono zmian w bazie danych we wszystkich
podstawowego pliku sterującego dziennika węzłach.
wykorzystywaną w przypadku wystąpienia problemu z
podstawowym plikiem sterującym dziennika. Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
sięgnąć do pliku syslog po pełną listę węzłów.
Menedżer bazy danych DB2 nie mógł znaleźć w katalogu bazy Działanie użytkownika:
danych na określonych partycjach bazy danych podstawowego Upewnij się, że odtwarzanie jest wymagane na podanych
pliku sterującego dziennika ani do dodatkowego pliku węzłach, a następnie odtwórz ostatnią wersję kopii zapasowej
sterującego dziennika dla określonej bazy danych. bazy danych na tych węzłach.

Baza danych nie została uruchomiona.


SQL6052N Nie można odtworzyć zmian w bazie danych
nazwa, ponieważ nie znajduje się ona w
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
stanie oczekiwania na odtwarzanie zmian w
zajrzeć do pliku syslog, w którym znajduje się pełna lista
węzłach lista-węzłów.
partycji bazy danych.
Objaśnienie:
Działanie użytkownika:
Podana baza danych nie znajduje się w stanie oczekiwania na
Odtwórz bazę danych na podanych partycjach bazy danych lub
odtwarzanie zmian w podanych węzłach. Może to być
utwórz ją ponownie.
spowodowane tym, że baza danych nie została odtworzona,
została odtworzona z opcją WITHOUT ROLLING
SQL6050N Wystąpił błąd we/wy podczas uzyskiwania FORWARD lub odtwarzanie zmian na tych węzłach zostało
dostępu do pliku sterującego dziennika dla zakończone.
bazy danych nazwa-bazy-danych w
następujących partycjach bazy danych: W bazie danych nie odtworzono zmian.
lista-partycji-bazy-danych.
Objaśnienie: Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
Istnieją dwa pliki sterujące dziennika: sięgnąć do pliku syslog po pełną listę węzłów.
v podstawowy plik sterujący dziennika SQLOGCTL1.LFH Działanie użytkownika:
v dodatkowy plik sterujący dziennika SQLOGCTL2.LFH Wykonaj następujące czynności:
Dodatkowy plik sterujący dziennika jest lustrzaną kopią 1. Upewnij się, że na podanych węzłach odtwarzanie jest
podstawowego pliku sterującego dziennika wymagane.
wykorzystywaną w przypadku wystąpienia problemu z 2. Odtwórz bazę danych z kopii zapasowej w tych węzłach.
podstawowym plikiem sterującym dziennika. 3. Wprowadź komendę ROLLFORWARD DATABASE.

Rozdział 2. Komunikaty SQL 463


SQL6053N • SQL6056N

Aby określić poprawny plik dziennika archiwalnego, wydaj


SQL6053N W pliku plik występuje błąd. Kod przyczyny
komendę ROLLFORWARD DATABASE z opcją QUERY
= kod-przyczyny.
STATUS. Przenieś poprawny plik dziennika archiwalnego do
Objaśnienie: katalogu dziennika bazy danych lub - jeśli baza danych jest w
W podanym pliku wystąpił błąd wskazywany przez kod stanie spójnym - zmień ścieżkę dziennika tak, aby wskazywała
przyczyny: poprawny plik archiwum, i ponownie wydaj komendę
ROLLFORWARD DATABASE.
(1) Liczba wartości w pliku mapy partycjonowania nie
jest równa 1 lub 4 096.
SQL6055N Plik archiwum nazwa nie należy do bazy
(2) Liczba wartości w pliku rozkładu nie jest równa 4
danych nazwa w węźle numer-węzła.
096.
Objaśnienie:
(3) Dane w pliku rozkładu mają nieprawidłowy format.
W katalogu dzienników, w określonym węźle znajduje się plik
(4) Liczba węzłów w mapie partycjonowania nie mieści dziennika archiwalnego, który nie należy do określonej bazy
się w zakresie od 0 do 999. danych.
(5) Suma wszystkich wartości w pliku rozkładu
Przetwarzanie komendy ROLLFORWARD DATABASE
przekracza 4 294 967 295.
zostaje zatrzymane.
(6) Określona docelowa mapa partycjonowania zawiera
Działanie użytkownika:
numer węzła, który nie jest zdefiniowany w
Aby określić poprawny plik dziennika archiwalnego, wydaj
SYSCAT.NODEGROUPDEF dla określonej grupy
komendę ROLLFORWARD DATABASE z opcją QUERY
węzłów.
STATUS. Przenieś poprawny plik dziennika archiwalnego do
Działanie użytkownika: katalogu dziennika bazy danych lub - jeśli baza danych jest w
Działanie odpowiadające kodowi przyczyny jest następujące: stanie spójnym - zmień ścieżkę dziennika tak, aby wskazywała
poprawny plik archiwum, i ponownie wydaj komendę
(1) Upewnij się, że mapa partycjonowania zawiera tylko ROLLFORWARD DATABASE.
pojedyncze wartości (jeśli wynikiem jest
jednowęzłowa grupa węzłów) lub dokładnie 4 096
wartości (jeśli wynikiem jest wielowęzłowa grupa SQL6056N Grupa partycji bazy danych nie może być
węzłów). redystrybuowana. Kod przyczyny =
kod-przyczyny.
(2) Upewnij się, że plik rozkładu zawiera dokładnie 4
096 wartości, jedną na każdą partycję mieszającą. Objaśnienie:
Operacja nie może być wykonana Kod przyczyny wskazuje
(3) Upewnij się, że wartości w pliku rozkładu są błąd.
liczbami całkowitymi większymi lub równymi 0
oraz że suma wszystkich wartości rozkładu jest (1) Specyfikacja grupy partycji bazy danych jest
mniejsza bądź równa 4 294 967 295. niepoprawna. Wynikowa grupa partycji bazy danych
nie będzie zawierała po redystrybucji żadnych
(4) Upewnij się, że numery węzłów mieszczą się w partycji bazy danych.
zakresie od 0 do 999 włącznie.
(2) Poprzednia operacja redystrybucji nie zakończyła się
(5) Upewnij się, że suma wszystkich wartości rozkładu pomyślnie.
4 096 partycji nie jest większa niż 4 294 967 295.
(3) Operacja redystrybucji jest już w toku.
(6) Wprowadź komendę ALTER NODEGROUP, aby
dodać brakujący węzeł (węzły) lub zmień plik mapy (4) Nie istnieją wcześniej zakończone komendy
partycjonowania, aby wykluczyć węzeł (węzły) redystrybucji dla CONTINUE lub ABORT.
niezdefiniowany w sysibm.sysnodegroupdef.
(5) Nie wykonano redystrybucji danych, ponieważ dane
w grupie partycji bazy danych zostały już
SQL6054N Plik archiwum nazwa nie jest poprawnym rozdystrybuowane zgodnie z wymaganiami.
plikiem dziennika dla bazy danych nazwa w
(6) Komenda REDISTRIBUTE DATABASE
węźle numer-węzła.
PARTITION GROUP nie została wydana z
Objaśnienie: katalogowej partycji bazy danych.
W katalogu dzienników, w określonym węźle znajduje się plik
(7) Komenda REDISTRIBUTE DATABASE
dziennika archiwalnego, ale jest on niepoprawny.
PARTITION GROUP jest niedostępna i nie ma
zastosowania w tej niezawierającej partycji wersji
Przetwarzanie komendy ROLLFORWARD DATABASE produktu.
zostaje zatrzymane.
(8) Redystrybucja jest niedozwolona, jeśli w grupie
Działanie użytkownika: partycji bazy danych istnieją obszary tabel

464 Komunikaty, tom 2


SQL6056N

tymczasowych danych użytkownika z istniejącymi, (4) Nie można wywołać opcji CONTINUE lub ABORT
zadeklarowanymi tabelami tymczasowymi. dla grupy partycji bazy danych, która nie jest
powiązana z operacją redystrybucji zakończoną
(9) Komenda REDISTRIBUTE DATABASE
niepowodzeniem.
PARTITION GROUP jest niedozwolona, jeśli w
grupie partycji bazy danych z tabelami, które nie są (5) Spróbuj użyć innej docelowej mapy partycjonowania
w trybie pełnego dostępu (ACCESS_MODE=’F’ in lub pliku rozkładu. W przeciwnym razie
SYSCAT.TABLES), znajdują się obszary tabel. redystrybucja nie jest konieczna.
(10) Komenda REDISTRIBUTE DATABASE (6) Ponownie wprowadź komendę z katalogowej
PARTITION GROUP jest niedozwolona, jeśli w partycji bazy danych.
grupie partycji bazy danych z tabelami mającymi
(7) Nie wprowadzaj komendy REDISTRIBUTE
dołączoną partycję
DATABASE PARTITION GROUP przy użyciu tej
(SYSCAT.DATAPARTITIONS.STATUS = ’A’)
wersji produktu.
znajdują się obszary tabel.
(8) Ponownie zażądaj redystrybucji, gdy w grupie
(11) Komenda REDISTRIBUTE DATABASE
partycji bazy danych nie będzie zadeklarowanych
PARTITION GROUP jest niedozwolona, jeśli w
tabel tymczasowych korzystających z obszarów
grupie partycji bazy danych z tabelami mającymi
tabel tymczasowych danych użytkownika.
odłączone partycje znajdują się obszary tabel i
istnieją niezależne tabele aktualizowane (9) Wykonaj instrukcję SET INTEGRITY z opcją
przyrostowo, które muszą być w zakresie tych IMMEDIATE CHECKED w odniesieniu do
odłączonych partycji zmaterializowanych tabel zapytania i tabel
(SYSCAT.DATAPARTITIONS.STATUS = ’D’). pomostowych zależnych od tabel, które nie są w
trybie pełnego dostępu, a następnie wywołaj
(12) Komenda REDISTRIBUTE DATABASE
ponownie komendę REDISTRIBUTE DATABASE
PARTITION GROUP jest niedozwolona, jeśli w
PARTITION GROUP.
grupie partycji bazy danych z tabelami mającymi
odłączone partycje wymagające oczyszczenia (10) Wykonaj instrukcję SET INTEGRITY z opcją
indeksów (SYSCAT.DATAPARTITIONS.STATUS IMMEDIATE CHECKED w odniesieniu do tabel z
= ’I’) istnieją obszary tabel. dołączonymi partycjami i wydaj ponownie komendę
REDISTRIBUTE DATABASE PARTITION
(13) Komenda REDISTRIBUTE DATABASE
GROUP.
PARTITION GROUP jest niedozwolona, jeśli w
grupie partycji bazy danych istnieją obszary tabel (11) Wykonaj instrukcję SET INTEGRITY z opcją
zawierające tabele w stanie oczekiwania na SET IMMEDIATE CHECKED w odniesieniu do
INTEGRITY (SYSCAT.TABLES.STATUS=″C″). zmaterializowanych tabel zapytania i tabel
pomostowych zależnych od tabel, które jeszcze
(14) Komenda REDISTRIBUTE DATABASE
wymagają przyrostowego aktualizowania w zakresie
PARTITION GROUP jest niedozwolona, jeśli w
odłączonych partycji. Przejrzyj widok katalogu
grupie partycji bazy danych, która zawiera wycofane
SYSCAT.TABDETACHEDDEP, aby znaleźć te
bloki oczekujące na czyszczenie, znajdują się tabele
odłączone tabele zależne. Następnie wydaj ponownie
MDC.
komendę REDISTRIBUTE DATABASE
(15) W komendzie REDISTRIBUTE DATABASE PARTITION GROUP.
PARTITION GROUP nie określono parametrów
(12) Wydaj ponownie komendę REDISTRIBUTE
NOT ROLLFORWARD RECOVERABLE.
DATABASE PARTITION GROUP po zakończeniu
Działanie użytkownika: czyszczenia indeksów odłączonej partycji.
Działanie odpowiadające kodowi przyczyny jest następujące:
(13) Wykonaj instrukcję SET INTEGRITY z opcją
(1) Podczas redystrybucji nie należy usuwać wszystkich IMMEDIATE CHECKED w odniesieniu do tabel w
partycji bazy danych z grupy partycji bazy danych. stanie oczekiwania na SET INTEGRITY, a następnie
ponownie wprowadź komendę REDISTRIBUTE
(2) Zidentyfikuj przyczynę niepowodzenia poprzedniej
DATABASE PARTITION GROUP.
redystrybucji i wykonaj odpowiednie działania
naprawcze. Wprowadź komendę REDISTRIBUTE (14) Wywołaj ponownie komendę REDISTRIBUTE
DATABASE PARTITION GROUP, używając opcji DATABASE PARTITION GROUP po zakończeniu
CONTINUE lub ABORT. Opcja CONTINUE czyszczenia indeksu wycofanych bloków.
zakończy przerwaną uprzednio operację
(15) W komendzie REDISTRIBUTE DATABASE
redystrybucji, a opcja ABORT wycofa zmiany
PARTITION GROUP określ parametry NOT
spowodowane przez przerwaną wcześniej operację.
ROLLFORWARD RECOVERABLE. Omówienie
(3) Wprowadź następną komendę REDISTRIBUTE wpływu nieodtworzonej zmiany odtwarzalnej natury
DATABASE PARTITION GROUP po zakończeniu
bieżącej.

Rozdział 2. Komunikaty SQL 465


SQL6057N • SQL6062N

komendy REDISTRIBUTE DATABASE v Odtwórz w węzłach wcześniejszą kopię, a następnie


PARTITION GROUP zawierają podręczniki wprowadź ponownie komendę ROLLFORWARD
produktu DB2. DATABASE.

SQL6057N Plik archiwum nazwa nie jest powiązany z SQL6061N Odtwarzanie zmian dla bazy danych nazwa
odtworzoną bazą danych nazwa ani z nie może osiągnąć określonego punktu
plikiem dziennika przetworzonym wcześniej zatrzymania (końca dziennika lub momentu
w węźle numer-węzła. w czasie) z powodu brakujących plików
dziennika w węzłach lista-węzłów.
Objaśnienie:
W katalogu dzienników, w określonym węźle znajduje się plik Objaśnienie:
dziennika archiwalnego, ale nie należy on do określonej bazy Program narzędziowy do odtwarzania zmian bazy danych nie
danych. może znaleźć potrzebnych plików w ścieżce dziennika.
Działanie użytkownika:
Przetwarzanie komendy ROLLFORWARD DATABASE
Wykonaj jedną z następujących czynności:
zostaje zatrzymane.
v Określ, których plików dziennika brakuje, używając
Działanie użytkownika: komendy ROLLFORWARD DATABASE z opcją QUERY
Aby określić poprawny plik dziennika archiwalnego, wydaj STATUS. Gdy znajdziesz pliki dziennika, umieść je w
komendę ROLLFORWARD DATABASE z opcją QUERY ścieżce dziennika i wznów odtwarzanie do przodu.
STATUS. Przenieś poprawny plik dziennika archiwalnego do
v Jeśli nie można znaleźć brakujących plików dziennika,
katalogu dziennika bazy danych lub - jeśli baza danych jest w
odtwórz bazę danych na wszystkich węzłach, następnie
stanie spójnym - zmień ścieżkę dziennika tak, aby wskazywała
wykonaj odtwarzanie do określonego momentu, posługując
poprawny plik archiwum, i ponownie wydaj komendę
się datownikiem wcześniejszym niż datownik
ROLLFORWARD DATABASE.
najwcześniejszego brakującego pliku dziennika.

SQL6058N Odtwarzanie zmian zostało zatrzymane z


SQL6062N Odtwarzanie zmian dla bazy danych nazwa
powodu błędu błąd podczas pobierania
nie może zostać zakończone, ponieważ
pliku dziennika nazwa dla bazy danych
informacje dziennika w węzłach lista-węzłów
nazwa w węźle numer-węzła.
nie są zgodne z odpowiednimi rekordami w
Objaśnienie: węźle katalogu.
Proces odtwarzania zmian sprawia, że program db2uexit
Objaśnienie:
pobiera plik dziennika dla bazy danych w określonym węźle.
Program narzędziowy do odtwarzania zmian przetworzył
Błąd mógł wystąpić w programie db2uexit.
wszystkie pliki dzienników znalezione w każdym węźle, ale
punkty końcowe w podanym węźle nie odpowiadają rekordom
Przetwarzanie komendy ROLLFORWARD DATABASE w węźle katalogu. Może to być spowodowane brakiem plików
zostaje zatrzymane. dziennika w węźle katalogu albo w podanych węzłach lub też
Działanie użytkownika: tym, że węzeł katalogu nie jest podany na liście węzłów do
Zapoznaj się z opisem błędu w dokumentacji programu odtwarzania zmian.
zewnętrznego w podręczniku Administration Guide, a
następnie wznów albo zakończ odtwarzanie zmian. Przetwarzanie komendy ROLLFORWARD DATABASE
zostaje zatrzymane.

SQL6059N Punkt w czasie przekazywany do programu Działanie użytkownika:


narzędziowego do odtwarzania zmian musi Wykonaj jedną z następujących czynności:
być większy lub równy niż datownik, v Sprawdź, czy węzeł katalogu wymaga odtwarzania zmian.
ponieważ baza danych nazwa w węzłach Jeśli wymaga, należy wprowadzić ponownie komendę
lista-węzłów zawiera informacje późniejsze ROLLFORWARD i dołączyć węzeł katalogu.
niż określony czas.
v Określ, których plików dziennika brakuje, używając
Objaśnienie: komendy ROLLFORWARD DATABASE z opcją QUERY
Zaawansowany datownik wirtualny znajduje się w kopii STATUS. Gdy znajdziesz pliki dziennika, umieść je w
zapasowej bazy danych. ścieżce dziennika i wznów odtwarzanie do przodu.
v Jeśli nie można znaleźć brakujących plików dziennika,
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy odtwórz bazę danych na wszystkich węzłach, następnie
sięgnąć do pliku syslog po pełną listę węzłów. wykonaj odtwarzanie do określonego momentu, posługując
się datownikiem wcześniejszym niż datownik
Działanie użytkownika:
najwcześniejszego brakującego pliku dziennika.
Wykonaj jedną z następujących czynności:
v Wprowadź ponownie komendę z datownikiem późniejszym
niż datownik lub jemu równym.

466 Komunikaty, tom 2


SQL6063N • SQL6071N

niepomyślnie z różnych przyczyn. Na najpoważniejszy błąd


SQL6063N Odtwarzanie zmian dla bazy danych nazwa
wskazuje kod kod_sql. Status odtwarzania zmian jest zwracany
zostało zatrzymane w węzłach lista-węzłów z
tylko dla tych węzłów, dla których operacja zakończyła się
powodu zmiany wielkości pliku dziennika.
pomyślnie.
Objaśnienie:
Działanie użytkownika:
Program narzędziowy do odtwarzania zmian w bazie danych
Aby określić problemy w uszkodzonych węzłach, poszukaj
zatrzymał odtwarzanie zmian, ponieważ zmieniła się wielkość
kodu sql kod_sql w podręczniku Komunikaty DB2 lub w
plików dziennika. Musi on zostać ponownie uruchomiony, aby
zasobach elektronicznych. Popraw błędy, a następnie
ustalić nową wielkość pliku dziennika.
kontynuuj odtwarzanie zmian w tych węzłach.
Jeśli na końcu listy węzłów znajduje się symbol ″,...″, pełna
lista węzłów zostanie umieszczona w dzienniku SQL6068W Operacja odtwarzania zmian została
diagnostycznym. anulowana pomyślnie. Baza danych musi
zostać odtworzona na węzłach lista-węzłów.
Odtwarzanie zmian zostało zatrzymane.
Objaśnienie:
Operacja odtwarzania zmian została anulowana i baza danych
(Uwaga: W przypadku serwera partycjonowanych baz danych pozostaje w stanie niespójnym. Wskaźnik oczekiwania na
numery węzłów wskazują, na których węzłach wystąpiły odtwarzanie jest włączony dla węzłów znajdujących się na
błędy. W innych przypadkach numery węzłów nie są istotne i liście.
powinny zostać zignorowane).
Działanie użytkownika: Jeśli na końcu listy węzłów znajduje się symbol ″,...″, należy
Aby kontynuować, wprowadź ponownie komendę sięgnąć do pliku syslog po pełną listę węzłów.
ROLLFORWARD.
Działanie użytkownika:
Odtwórz bazę danych w węzłach znajdujących się na liście.
SQL6064N Podczas redystrybucji danych wystąpił błąd
SQL kod_sql.
SQL6069N Nie można wprowadzić komendy
Objaśnienie: ROLLFORWARD DATABASE w węźle
Podczas redystrybucji danych wystąpił błąd. innym niż węzeł katalogu.
Objaśnienie:
Program narzędziowy zatrzymuje przetwarzanie. Komenda ROLLFORWARD DATABASE może być
Działanie użytkownika: wykonywana tylko w węźle katalogu.
Aby zdobyć więcej informacji, sprawdź kod SQLCODE Działanie użytkownika:
(numer komunikatu) w komunikacie. Wykonaj konieczne Wprowadź komendę w węźle katalogu.
zmiany i powtórz żądanie.

SQL6071N Żądana operacja nie może być wykonana,


SQL6065N Podczas zapisu do pliku plik wystąpił błąd. ponieważ do systemu dodano nowy węzeł.
Objaśnienie: Przed wykonaniem operacji system musi
Wystąpił jeden z następujących błędów: zostać zatrzymany i ponownie uruchomiony.
v Nie można otworzyć pliku. Objaśnienie:
v Podczas zapisu do pliku wystąpił błąd we/wy. Poniżej przedstawiono możliwe przyczyny:
v Podczas zamykania pliku wystąpił błąd we/wy. v Żądanie zostało wywołane z nowego węzła, który nie może
komunikować się z innymi.
Komenda lub program narzędziowy nie mogą być wykonane. v Zażądano operacji CREATE lub DROP DATABASE zanim
wszystkie węzły zostały zatrzymane i ponownie
Działanie użytkownika:
uruchomione, aby dołączyć nowy węzeł.
Należy się upewnić, że plik istnieje oraz że uprawnienia do
pliku pozwalają na zapisywanie. Należy wprowadzić Działanie użytkownika:
ponownie komendę lub program narzędziowy. Wydaj komendę db2stop, aby zatrzymać wszystkie węzły.
Jeśli wszystkie węzły zostaną zatrzymane pomyślnie, wywołaj
program db2start, aby uruchomić wszystkie węzły i dołącz
SQL6067W Komenda ROLLFORWARD DATABASE
nowy węzeł, a następnie powtórz żądanie.
QUERY STATUS napotkała kod sql
kod_sql.
kod_sql: -6071
Objaśnienie:
Podczas wykonywania komendy ROLLFORWARD stan_sql: 57019
DATABASE QUERY STATUS napotkano błąd o kodzie sql
kod_sql. Zapytanie może zakończyć się w niektórych węzłach

Rozdział 2. Komunikaty SQL 467


SQL6072N • SQL6080W

SQL6072N Nie można wykonać komendy DB2START z SQL6076W Ostrzeżenie! Komenda ta usunie wszystkie
opcją RESTART, ponieważ podany węzeł pliki bazy danych w węźle dla danej
jest już aktywny. instancji. Przed kontynuacją należy się
upewnić, że w tym węźle nie ma żadnych
Objaśnienie:
danych użytkownika, uruchamiając
Węzeł, który miał być ponownie uruchomiony jest już
komendę DROP NODE VERIFY.
aktywny w systemie.
Objaśnienie:
Działanie użytkownika:
Procedura ta usunie wszystkie partycje bazy danych z
Jeśli będzie to konieczne, wprowadź komendę DB2STOP
podanego węzła.
określając węzeł, który ma być zatrzymany, a następnie
wprowadź ponownie komendę DB2START, aby ponownie Działanie użytkownika:
uruchomić węzeł. Upewnij się, że komenda DROP NODE VERIFY była
wykonana przed usunięciem tego węzła. Jeśli używany jest
interfejs API, upewnij się, że parametr callerac jest określony
SQL6073N Operacja dodania partycji bazy danych nie
poprawnie.
powiodła się. SQLCODE = kod_sql.
Objaśnienie:
SQL6077W Procedura db2stop DROP NODENUM
Operacja dodania partycji bazy danych nie powiodła się z
zakończyła się pomyślnie, ale nie mogła
kodem SQL kod_sql.
usunąć wszystkich plików. Szczegółowe
Działanie użytkownika: informacje można znaleźć w pliku plik.
Zwrócony kod SQL sprawdź w dokumentacji. Odszukaj
Objaśnienie:
komunikat SQLkod_sql w Centrum informacyjnym DB2 lub
Procedura db2stop DROP NODENUM zakończyła się
używając komendy procesora CLP ″DB2 ? sqlkod_sql″.
pomyślnie, ale niektóre pliki danych użytkownika pozostały w
węźle.
Usuń problem i powtórz żądanie.
Działanie użytkownika:
Informacje zawarte w pliku plik wskażą strukturę katalogu, z
SQL6074N Operacja Add Node nie powiodła się, której nie można usunąć plików.
ponieważ aktualnie jest wykonywana
operacja Create lub Drop Database.
SQL6078N Procedura db2stop DROP NODENUM nie
Objaśnienie: mogła zaktualizować informacji o bazie
Operacja Add Node nie może być uruchomiona równocześnie danych nazwa-bazy-danych.
z operacją Create lub Drop Database.
Objaśnienie:
Działanie użytkownika: Procedura db2stop DROP NODENUM nie może uzyskać
Zaczekaj, aż operacje Create lub Drop Database zakończą dostępu do węzła katalogu bazy danych nazwa-bazy-danych.
działanie i wtedy powtórz żądanie.
Działanie użytkownika:
Powtórz żądanie. Jeśli problem nie zostanie usunięty,
SQL6075W Operacja Start Database Manager skontaktuj się z przedstawicielem serwisu.
pomyślnie dodała partycję bazy danych.
Partycja bazy danych nie będzie aktywna,
dopóki wszystkie partycje bazy danych nie SQL6079W Komenda db2stop DROP NODENUM
zostaną zatrzymane i ponownie została anulowana pomyślnie.
uruchomione.
Objaśnienie:
Objaśnienie: Komenda db2stop DROP NODENUM została zatrzymana
Plik db2nodes.cfg nie jest aktualizowany o nową partycję bazy zanim rozpoczęła działanie.
danych, dopóki wszystkie partycje bazy danych nie zostaną
Działanie użytkownika:
równocześnie zatrzymane przez komendę STOP DATABASE
Nie jest potrzebne żadne działanie.
MANAGER (db2stop). Dopóki plik nie zostanie
zaktualizowany, istniejące partycje bazy danych nie mogą się
komunikować z nową partycją bazy danych. SQL6080W Operacja Start Database Manager dodała
węzeł pomyślnie, ale w węźle nie utworzono
Działanie użytkownika:
żadnych partycji bazy danych. Węzeł będzie
Wydaj komendę db2stop, aby zatrzymać wszystkie partycje
nieaktywny dopóki wszystkie węzły nie
bazy danych. Gdy wszystkie partycje bazy danych zostaną
zostaną zatrzymane i ponownie
pomyślnie zatrzymane, wydaj komendę db2start, aby
uruchomione.
uruchomić wszystkie partycje bazy danych, łącznie z nową
partycją bazy danych. Objaśnienie:
Plik db2nodes.cfg nie jest przystosowany do dołączania
nowego węzła dopóki wszystkie węzły nie zostaną

468 Komunikaty, tom 2


SQL6081N • SQL6103C

równocześnie zatrzymane przez komendę STOP DATABASE v Ponownie podziel dane na partycje, używając bieżącej
MANAGER (DB2STOP). Dopóki plik nie zostanie mapy partycjonowania grupy węzłów. Następnie powtórz
zaktualizowany, istniejące węzły nie mogą się komunikować z żądanie załadowania danych, które zostały poddane
nowym węzłem. partycjonowaniu.
Działanie użytkownika:
Wydaj komendę db2stop, aby zatrzymać wszystkie węzły. Gdy SQL6101N Ten plik danych zawiera dane dla węzła
wszystkie węzły zostaną pomyślnie zatrzymane, wydaj węzeł-1, ale narzędzie ładujące jest
komendę DB2START, aby uruchomić wszystkie węzły, połączone z węzłem węzeł-2.
łącznie z nowym węzłem. Jeśli wszystkie węzły zostały
Objaśnienie:
uruchomione pomyślnie, system baz danych może być
Dane, które mają być załadowane, są powiązane z węzłem o
używany.
numerze innym niż numer węzła, do którego jest podłączona
aplikacja. Dane nie mogą zostać załadowane.
SQL6081N Błąd komunikacyjny spowodował
Działanie użytkownika:
przekroczenie czasu oczekiwania na
Należy znaleźć plik danych powiązany z tym węzłem i
komendę DB2STOP FORCE w tym węźle.
ponowić żądanie z tym plikiem albo podłączyć aplikację do
Objaśnienie: tego węzła, z którym powiązany jest ten plik danych, i
Błąd komunikacyjny wystąpił w jednym lub kilku węzłach wywołać żądanie w tym węźle.
bazy danych i spowodował przekroczenie czasu oczekiwania
na komendę DB2STOP FORCE w bieżącym węźle lub
SQL6102W Parametr nazwa jest zarezerwowany na
przerwanie komendy DB2STOP FORCE z powodu
przyszłość. Jego wartość powinna być
wystąpienia poważnego błędu podczas wykonywania FORCE
ustawiona na wartość-domyślna.
w jednym lub kilku węzłach. Każdy węzeł, w którym wystąpił
błąd komunikacyjny, otrzyma komunikat o numerze Objaśnienie:
SQL6048N. Parametr zarezerwowany na przyszłość ma wartość inną niż
jego wartość domyślna. Powinna ona być ustawiona na
Działanie użytkownika:
wartość domyślną, aby zapewnić kompatybilność w
Wykonaj następujące czynności:
przyszłości.
1. Popraw błąd komunikacyjny w węźle (lub węzłach), który
otrzymał komunikat o numerze SQL6048N. Działanie użytkownika:
Należy się upewnić, że parametr nazwa ma ustawioną wartość
2. Wprowadź komendę DB2START i upewnij się, że
wartość-domyślna, a następnie ponowić żądanie.
wszystkie węzły, które otrzymały komunikat o numerze
SQL6048N, zostały uruchomione pomyślnie.
3. Wprowadź ponownie komendę DB2STOP FORCE z SQL6103C Wystąpił nieoczekiwany błąd programu
dowolnego węzła. narzędziowego. Kod przyczyny =
kod-przyczyny.

SQL6100N Mapa partycjonowania w pliku danych i Objaśnienie:


mapa partycjonowania bazy danych nie są Wystąpił nieoczekiwany błąd programu narzędziowego.
jednakowe. Działanie użytkownika:
Objaśnienie: Zapisz numer komunikatu (SQLCODE) i kod przyczyny w
Dane, które mają być załadowane, nie były podzielone na komunikacie.
partycje lub były podzielone przy użyciu innej mapy
partycjonowania niż ta, która jest aktualna dla grupy węzłów, Jeśli śledzenie było aktywne, wywołaj program Independent
do której należy dana tablica. Dane nie mogą zostać Trace Facility z wiersza komend systemu operacyjnego. Aby
załadowane. dowiedzieć się, jak używać tego narzędzia, zajrzyj do książki
Administration Guide. Następnie skontaktuj się z
Działanie użytkownika: przedstawicielem serwisu technicznego i przekaż mu
Jeżeli dane nie były podzielone na partycje, należy użyć następujące informacje:
programu db2split i podzielić dane, a następnie załadować
podzielone dane. v Opis problemu
v Kod SQLCODE i podany kod przyczyny
Jeśli dane były podzielone na partycje, należy wykonać jedną z v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
następujących czynności: możliwe)
v Użyj mapy partycjonowania pochodzącej z nagłówka pliku v Plik śledzenia (jeśli jest to możliwe)
danych do redystrybucji grupy danych, do której należy
tabela. Następnie ponów żądanie.

Rozdział 2. Komunikaty SQL 469


SQL6104N • SQL6109N

Jeżeli używana jest opcja wstawienia kolumn, należy się


SQL6104N Moduł ładujący nie obsługuje tworzenia
upewnić, że w liście kolumn są określone wszystkie kolumny
indeksów.
partycjonowania.
Objaśnienie:
Moduł ładujący nie obsługuje tworzenia indeksów, a tablica, Jeśli problem nie zostanie usunięty, skontaktuj się z
która ma być załadowana, ma co najmniej jeden zdefiniowany przedstawicielem serwisu technicznego i przekaż mu
indeks. Indeks mógł zostać utworzony jawnie za pomocą następujące informacje:
instrukcji CREATE INDEX lub powstać w sposób niejawny, v Opis problemu
przy okazji definiowania klucza podstawowego dla tabeli.
v Kod SQLCODE i podany kod przyczyny
Działanie użytkownika: v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
Przy pomocy instrukcji DROP INDEX usuń wszystkie indeksy możliwe)
zdefiniowane dla tablicy. Za pomocą instrukcji ALTER
TABLE usuń klucz podstawowy. Wprowadź ponownie v Plik śledzenia (jeśli jest to możliwe)
komendę.
SQL6108N Liczba kluczy partycjonowania
Użyj odpowiednio instrukcji CREATE INDEX lub ALTER zdefiniowana w nagłówku pliku danych
TABLE, aby ponownie utworzyć indeksy i klucz podstawowy (liczba-1) nie jest zgodna z liczbą kluczy
po pomyślnym zakończeniu ładowania. partycjonowania zdefiniowaną dla tabeli
(liczba-2).
SQL6105W Moduł ładujący zakończył przetwarzanie. Objaśnienie:
Następnie zostało wykonane odtwarzanie Kolumny partycjonowania określone w pliku konfiguracyjnym
zmian do datownika. Należy sporządzić db2split nie są prawidłowe. Dane nie zostały poprawnie
teraz kopię bazy danych, jeśli wymagana podzielone.
jest możliwość jej odtwarzania.
Działanie użytkownika:
Objaśnienie: Wykonaj następujące czynności:
Moduł ładujący nie wykonał protokołowania. Jeżeli wykonane 1. upewnić się, że w pliku konfiguracyjnym db2split są
zostanie odtwarzanie zmian przy pomocy kopii sporządzonej określone prawidłowe kolumny partycjonowania
przed ładowaniem, operacja zostanie przerwana w momencie,
kiedy natknie się na odwołania do danych, które były 2. podzielić dane
załadowane. 3. wywołać operację ładowania z podzielonymi na nowo
danymi.
Działanie użytkownika:
Aby zapewnić sobie możliwość odtwarzania bazy danych po
ładowaniu, należy sporządzić kopię zanim dane zostaną SQL6109N Program narzędziowy oczekiwał kolumny
zmodyfikowane. partycjonowania nazwa-kolumny-1, ale
znalazł kolumnę partycjonowania
nazwa-kolumny-2.
SQL6106N Modyfikator typu plików ″NOHEADER″
został określony, ale grupa węzłów, w której Objaśnienie:
zdefiniowana jest tablica, nie jest grupą Mogły pojawić się w pliku konfiguracyjnym db2split
pojedynczego węzła. następujące błędy:
Objaśnienie: v Jedna z kolumn partycjonowania zdefiniowana dla tablicy
Dane, które mają być załadowane, zostały określone jako nie nie była określona.
mające informacji w nagłówku. Podana tablica docelowa nie v Kolejność kolumn partycjonowania była nieprawidłowa.
jest tablicą jednego węzła. Dane nie mogą zostać załadowane. v Określona kolumna nie jest kolumną partycjonowania dla
Działanie użytkownika: tablicy.
Dane muszą zostać rozdzielone przy użyciu programu Działanie użytkownika:
db2split, a następnie załadowane z pominięciem opcji Wykonaj następujące czynności:
″NOHEADER″.
1. upewnić się, czy plik konfiguracyjny db2split jest
poprawny
SQL6107N Nieprawidłowa informacja klucza 2. podzielić dane
partycjonowania w pliku danych.
3. wywołać operację ładowania z podzielonymi na nowo
Objaśnienie: danymi.
Albo dane nie zostały podzielone przy pomocy db2split, albo
operacja db2split nie powiodła się.
Działanie użytkownika:
Należy użyć programu db2split, aby podzielić dane na
partycje, a następnie ponowić żądanie z podzielonymi danymi.

470 Komunikaty, tom 2


SQL6110N • SQL6505N

v Tylko parametr max_connections jest ustawiony


SQL6110N Program narzędziowy oczekiwał typu
na wartość AUTOMATIC i ma wartość większą
kolumny partycjonowania typ-kolumny-1 dla
niż parametr max_coordagents (co oznacza
kolumny nazwa-kolumny-1, ale w pliku
włączenie koncentratora połączeń).
danych figuruje ona jako typ typ-kolumny-2.
Działanie użytkownika:
Objaśnienie:
Upewnij się, że podane wartości nie naruszają powyższej
Plik konfiguracyjny db2split nie jest poprawny.
reguły, a następnie ponów żądanie.
Działanie użytkownika:
Wykonaj następujące czynności:
SQL6500W RESTARTCOUNT w komendzie ładowania
1. upewnić się, czy plik konfiguracyjny db2split jest może spowodować pewne problemy.
poprawny
Objaśnienie:
2. podzielić dane
Ponieważ wiele procesów ładujących do tej samej tabeli jest
3. wywołać operację ładowania z podzielonymi na nowo całkowicie niezależnych, jest prawie niemożliwe, aby liczba
danymi. ponownych uruchomień była taka sama dla różnych procesów
ładujących.
SQL6111N Nie można utworzyć podkatalogu w ścieżce Działanie użytkownika:
podanej w parametrze newlogpath. Sprawdź, czy używana jest poprawna komenda ładowania.
Objaśnienie:
Jeżeli parametr newlogpath został zaktualizowany, system SQL6501N W komendzie ładowania nie podano nazwy
próbuje utworzyć podkatalog w podanej ścieżce używając bazy danych.
nazwy węzła jako nazwy podkatalogu. Katalog nie został
utworzony, ponieważ wystąpił jeden z poniższych błędów: Objaśnienie:
W komendzie ładowania musi być podana nazwa bazy danych.
v System plików lub ścieżka nie mają odpowiednich
uprawnień do tworzenia plików. Działanie użytkownika:
v System plików nie ma dostatecznej ilości miejsca na dysku. Podaj nazwę bazy danych i ponownie uruchom komendę.
v System plików nie ma dostatecznej ilości bloków plików
lub węzłów. SQL6502N Nazwa ścieżki (parametr: data_path) dla
pliku z danymi nie została podana.
Żądana zmiana nie została wykonana.
Objaśnienie:
Działanie użytkownika: Jeśli wejściowy plik danych jest zdalny, plik zostanie
Należy wykonać jedną z poniższych czynności i następnie przesłany lokalnie. Ścieżka do pliku na komputerze zdalnym
ponowić żądanie: musi zostać podana.
v Upewnić się, czy określona ścieżka istnieje i czy system Działanie użytkownika:
plików i ścieżek mają uprawnienia do odczytu/zapisu. Podaj nazwę ścieżki do zdalnego pliku z danymi i ponownie
v Podać inną nową ścieżkę protokołu (newlogpath). uruchom komendę.

Jeżeli problem nie zostanie usunięty, należy skontaktować się


SQL6504N W specyfikacji listy węzłów wyjściowych w
z administratorem systemu.
pliku konfiguracyjnym (parametr:
outputnodes) znajdują się błędy.
SQL6112N Żądana zmiana nie może być wykonana.
Objaśnienie:
Ustawienia parametrów konfiguracyjnych
Specyfikacja listy węzłów wyjściowych jest niepoprawna.
powstałych po tym żądaniu są niepoprawne.
Kod przyczyny: kod-przyczyny. Działanie użytkownika:
Zajrzyj do przykładowego pliku konfiguracyjnego, popraw
Objaśnienie:
specyfikację listy węzłów wyjściowych i ponownie uruchom
Ustawieniami niektórych parametrów konfiguracyjnych rządzą
komendę.
pewne reguły. Zasada, która zostałaby naruszona jest
wskazana przez kod przyczyny: kod-przyczyny
SQL6505N W komendzie ładowania występują błędy w
(4) W przypadku korzystania z ustawienia
specyfikacji listy partycji partycjonowanej
AUTOMATIC dla parametru max_coordagents albo
bazy danych (parametr:
max_connections jedynymi poprawnymi
PARTITIONING_DBPARTNUMS).
kombinacjami są:
v Oba parametry są jednocześnie ustawione na Objaśnienie:
wartość AUTOMATIC. Specyfikacja listy partycji partycjonowanej bazy danych jest
niepoprawna.

Rozdział 2. Komunikaty SQL 471


SQL6506N • SQL6516N

Działanie użytkownika:
SQL6511N Program ładujący nie mógł utworzyć
Popraw specyfikację listy partycji partycjonowanej bazy
danych wynikowych dla agenta
danych, po czym ponownie uruchom komendę.
partycjonującego na partycji numer-partycji.
Objaśnienie:
SQL6506N Wyodrębnienie przez program informacji o
Program nie może utworzyć tymczasowych potoków
kluczu partycjonowania dla tabeli
wyjściowych dla agenta partycjonującego w partycji
nazwa-tabeli z tabeli katalogu systemowego
numer-partycji.
nie powiodło się.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy obszar roboczy jest czysty.
Tabela nie jest zdefiniowana albo nie jest zdefiniowana w
środowisku MPP (masowego przetwarzania równoległego).
SQL6512N Program ładujący nie mógł utworzyć
Działanie użytkownika:
potoków wejściowych dla agenta scalającego
Sprawdź, czy tabela jest poprawnie zdefiniowana.
na partycji numer-partycji.
Objaśnienie:
SQL6507N Poziom kontroli (parametr: check_level) w
Program nie może utworzyć tymczasowych potoków
pliku konfiguracyjnym jest nieprawidłowy.
wejściowych dla agenta scalającego w partycji numer-partycji.
Objaśnienie:
Działanie użytkownika:
Poziomem kontroli (parametr: check_level) może być albo
Sprawdź, czy obszar roboczy jest czysty.
CHECK, albo NOCHECK. Wartością domyślną jest CHECK.
Działanie użytkownika:
SQL6513N Program ładujący nie mógł utworzyć
Popraw parametr w pliku konfiguracyjnym i ponownie
potoku wejściowego dla agenta ładującego
uruchom komendę.
na partycji numer-partycji.
Objaśnienie:
SQL6508N Utworzenie przez program potoku
Program nie może utworzyć tymczasowego potoku
wyjściowego dla procesu ftp nie powiodło
wejściowego dla agenta ładującego w partycji numer-partycji.
się.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy obszar roboczy jest czysty.
Jeśli wejściowe pliki danych są zdalne, zostaną przesłane do
lokalnego potoku. Jeśli ten lokalny potok już istnieje, proces
nie powiedzie się. SQL6514N Program nie może odczytać pliku
konfiguracyjnego węzłów:
Działanie użytkownika:
plik-konfiguracyjny-węzłów.
Sprawdź, czy obszar roboczy jest czysty.
Objaśnienie:
Plik nie istnieje albo jest niemożliwy do odczytania.
SQL6509N Program nie utworzył potoków wejściowych
dla agentów partycjonujących. Działanie użytkownika:
Sprawdź, czy plik konfiguracyjny węzła istnieje i czy masz do
Objaśnienie:
niego odpowiednie uprawnienie.
Program nie może utworzyć tymczasowych potoków
wejściowych dla procesów rozgałęźników.
SQL6515N Program nie znalazł w pliku
Działanie użytkownika:
konfiguracyjnym komendy ładowania.
Sprawdź, czy obszar roboczy jest czysty.
Objaśnienie:
W pliku konfiguracyjnym musi być podana komenda
SQL6510N Utworzenie przez program katalogu
ładowania uruchamiana z wiersza komend.
tymczasowego w lokalnym obszarze innym
niż NFS dla partycji numer-partycji nie Działanie użytkownika:
powiodło się. Podaj komendę ładowania uruchamianą z wiersza komend w
pliku konfiguracyjnym.
Objaśnienie:
Program wymaga tymczasowego katalogu roboczego w
lokalnym, innym niż NFS obszarze wszystkich partycji SQL6516N Program nie może połączyć się z bazą
partycjonowania i ładowania. danych nazwa-bazy-danych.
Działanie użytkownika: Objaśnienie:
Sprawdź, czy obszar roboczy jest czysty. Menedżer baz danych nie został jeszcze uruchomiony albo
napotkał problemy.

472 Komunikaty, tom 2


SQL6517N • SQL6527N

Działanie użytkownika: Nazwa ścieżki dla plików danych wejściowych w komendzie


Sprawdź status menedżera baz danych. ładowania nie jest dozwolona. Do tego celu służy osobny
parametr (data_path).
SQL6517N Program ładujący nie wyodrębnił listy Działanie użytkownika:
partycji, na której jest zdefiniowana tabela Popraw plik konfiguracyjny.
nazwa-tabeli, z tabeli katalogu systemowego.
Objaśnienie: SQL6523N Element numer-partycji na liście partycji
Tabela nie jest zdefiniowana albo nie jest zdefiniowana w partycjonowanej bazy danych (parametr:
środowisku MPP (masowego przetwarzania równoległego). PARTITIONING_DBPARTNUMS) nie jest
zdefiniowany w pliku konfiguracyjnym
Działanie użytkownika:
węzłów (db2nodes.cfg).
Sprawdź, jak tabela została zdefiniowana w bazie danych.
Objaśnienie:
W pliku konfiguracyjnym węzłów muszą istnieć pozycje
SQL6518N Długość rekordu (reclen w komendzie load)
odpowiadające wszystkim partycjom na liście partycji
jest nieprawidłowa.
partycjonowanej bazy danych.
Objaśnienie:
Działanie użytkownika:
Prawidłowa długość rekordu: od 1 do 32768.
Popraw listę partycji partycjonowanej bazy danych.
Działanie użytkownika:
Popraw długość rekordu i ponownie uruchom komendę.
SQL6524N Element numer-partycji na wyjściowej liście
partycji (parametr:
SQL6519N Tryb (parametr: mode) tryb w pliku OUTPUT_DBPARTNUMS) nie należy do
konfiguracyjnym nie jest poprawny. listy partycji, na których tabela jest
zdefiniowana.
Objaśnienie:
Trybem działania tego programu może być: SPLIT_ONLY, Objaśnienie:
LOAD_ONLY, SPLIT_AND_LOAD (wartość domyślna) lub Wszystkie partycje na wyjściowej liście partycji muszą
ANALYZE. należeć do listy partycji, na których tabela jest zdefiniowana.
Działanie użytkownika: Działanie użytkownika:
Popraw tryb w pliku konfiguracyjnym. Popraw wyjściową listę partycji.

SQL6520N Utworzenie przez program potoków SQL6525N Program nie może odczytać pliku danych
wyjściowych dla procesu, który generuje wejściowych nazwa-pliku.
informacje nagłówkowe dla pliku
Objaśnienie:
rozgałęzienia nie powiodło się.
Nie znaleziono pliku danych wejściowych albo jest on
Objaśnienie: niemożliwy do odczytania.
Program nie może utworzyć potoków wyjściowych dla
Działanie użytkownika:
procesu, który generuje informacje nagłówkowe dla pliku
Sprawdź, czy plik konfiguracyjny istnieje i czy masz do niego
rozgałęzienia.
odpowiednie uprawnienie.
Działanie użytkownika:
Sprawdź, czy obszar roboczy jest czysty.
SQL6526N Program nie może zapisywać w bieżącym
katalogu roboczym bieżący-katalog-roboczy.
SQL6521N Plik konfiguracyjny plik-konfiguracyjny tego
Objaśnienie:
programu nie istnieje.
Nie można zapisywać w bieżącym katalogu roboczym.
Objaśnienie:
Działanie użytkownika:
Program wymaga pliku konfiguracyjnego.
Sprawdź uprawnienia bieżącego katalogu roboczego.
Działanie użytkownika:
Utwórz plik konfiguracyjny.
SQL6527N Partycji przeznaczonej na zbierane
statystyki (parametr:
SQL6522N Program znalazł nazwę ścieżki dla RUN_STAT_DBPARTNUM) nie ma na
wejściowych plików danych w komendzie wyjściowej liście partycji.
ładowania.
Objaśnienie:
Objaśnienie: Partycja przeznaczona na zbierane statystyki musi występować
na wyjściowej liście partycji.

Rozdział 2. Komunikaty SQL 473


SQL6528N • SQL6538N

Działanie użytkownika:
SQL6533N Licznik ponownego uruchamiania w
Popraw parametr RUN_STAT_DBPARTNUM.
komendzie ładowania nie może zostać
ustawiony na wartość niezerową.
SQL6528N W komendzie ładowania nie podano
Objaśnienie:
długości rekordu.
Gdy istnieje wiele węzłów partycjonowania, kolejność
Objaśnienie: rekordów generowanych dla procesu (lub procesów)
Jeśli w komendzie ładowania podano modyfikator ładowania jest losowa i dlatego użycie komendy RESTART
BINARYNUMERICS lub PACKEDDECIMAL, musi zostać INTO z licznikiem restartów (restartcount) nie daje gwarancji
podana również długość rekordu (reclen). pomyślnego odtworzenia.
Działanie użytkownika: Działanie użytkownika:
Popraw komendę ładowania. Popraw komendę ładowania.

SQL6529N W komendzie ładowania nie podano opcji SQL6534N Wystąpił błąd w pliku netrc plik-netrc.
Bez Nagłówka (NOHEADER).
Objaśnienie:
Objaśnienie: Nie można znaleźć pliku .netrc, brak pozycji dla zdalnego
Jeśli tabela jest zdefiniowana w grupie węzłów zawierającej hosta komputer albo uprawnienia pliku są niepoprawne.
pojedynczy węzeł, w komendzie ładowania należy podać
Działanie użytkownika:
modyfikator NOHEADER.
Sprawdź, czy plik .netrc istnieje i czy ma odpowiednie
Działanie użytkownika: uprawnienia.
Popraw komendę ładowania.
SQL6535N Tryb PARTITION_ONLY lub ANALYZE
SQL6530N Typem danych jednego z kluczy nie jest poprawny.
partycjonowania jest float lub double.
Objaśnienie:
Objaśnienie: Jeśli tabela jest zdefiniowana w jednowęzłowej grupie węzłów,
Jeśli plikiem wejściowym nie jest binarny plik danych, nie partycjonowanie ani analizowanie nie jest konieczne.
można definiować kolumn typu float lub double jako klucza
Działanie użytkownika:
partycjonowania.
Zmień tryb na LOAD_ONLY lub PARTITION_AND_LOAD.
Działanie użytkownika:
Podaj binarny plik danych lub zmień definicję tabeli.
SQL6536N Program nazwa-programu nie może
otworzyć pliku nazwa-pliku do odczytu.
SQL6531N Wyzerowanie przez program wygaszania
Objaśnienie:
obszaru tabel nie powiodło się.
Proces AutoLoader nie mógł pomyślnie otworzyć pliku lub
Objaśnienie: potoku do czytania.
Prawdopodobnie działają procesy ładujące. Zanim będzie
Działanie użytkownika:
można uruchomić nową sesję AutoLoader, upewnij się, że
Sprawdź, czy zawartość pliku konfiguracyjnego jest poprawna.
zostały zakończone wszystkie poprzednie procesy ładujące.
Działanie użytkownika:
SQL6537N Program nazwa-programu nie może
Sprawdź status procesów na maszynie, na której pracujesz.
otworzyć pliku nazwa-pliku do zapisu.
Objaśnienie:
SQL6532N Licznik zapisywania w komendzie
Proces AutoLoader nie mógł pomyślnie otworzyć pliku lub
ładowania nie może zostać ustawiony na
potoku do zapisu.
wartość niezerową.
Działanie użytkownika:
Objaśnienie:
Sprawdź, czy zawartość pliku konfiguracyjnego jest poprawna.
Licznikowi zapisów (savecount) w komendzie ładowania nie
można nadać wartości niezerowej, jeśli istnieje wiele węzłów
partycjonowania, bieżącym trybem jest SQL6538N W trakcie ładowania nie powiodło się
PARTITION_AND_LOAD, natomiast komendą ładowania odczytywanie partycjonowanego pliku
jest REPLACE INTO albo INSERT INTO. plik-partycjonowany.
Działanie użytkownika: Objaśnienie:
Popraw komendę ładowania. Gdy program Load jest wywoływany w trybie LOAD_ONLY,
wejściowy plik danych musi już być podzielony między
partycje, a program Load musi mieć możliwość odczytania
wszystkich partycjonowanych plików.

474 Komunikaty, tom 2


SQL6539N • SQL6555N

Działanie użytkownika: Sprawdź, czy ścieżka przechowywania plików tymczasowych


Sprawdź, czy wejściowy plik danych został podzielony na programu narzędziowego została określona poprawnie oraz
partycje, a ponadto sprawdź uprawnienia dostępu do czy odpowiedni katalog umożliwia otwieranie plików do
wynikowych partycjonowanych plików. zapisu.

SQL6539N W środowisku roboczym nie znaleziono co SQL6553N Podczas próby zapisu do tymczasowego
najmniej jednej komendy na liście lista-cmd. pliku konfiguracyjnego nazwa-pliku wystąpił
błąd.
Objaśnienie:
Możliwość uruchomienia tego programu zależy od dostępności Objaśnienie:
najczęściej używanych komend systemu Unix. Proces nie Błąd systemu plików podczas zapisu do pliku tymczasowego.
powiedzie się, jeśli którakolwiek z nich jest niedostępna w
Działanie użytkownika:
środowisku roboczym.
Sprawdź, czy ścieżka do pliku jest poprawna i czy na
Działanie użytkownika: urządzeniu docelowym jest wystarczająca ilość miejsca dla
Sprawdź, czy wszystkie potrzebne komendy są prawidłowo danych.
zainstalowane w systemie.
SQL6554N Błąd podczas próby zdalnego uruchomienia
SQL6540N Typ pliku typ-pliku podany w komendzie procesu.
ładowania nie jest poprawny.
Objaśnienie:
Objaśnienie: Podczas próby uruchomienia przez narzędzie procesu
Prawidłowymi typami plików są: ASC (pozycyjny ASCII) lub potomnego w innej partycji bazy danych wystąpił błąd.
DEL (ASCII z ogranicznikami).
Działanie użytkownika:
Działanie użytkownika: v Jeśli nie podano ID użytkownika lub hasła niezbędnych dla
Popraw komendę ładowania w pliku konfiguracyjnym. zdalnego dostępu, sprawdź, czy ID użytkownika, który
uruchomił proces nadrzędny, jest uprawniony do
SQL6550N Pliku mapy partycjonowania uruchamiania programów w węźle (węzłach) docelowym.
nazwa-pliku-mapy nie można było otworzyć v Jeśli podano ID i hasło użytkownika, sprawdź, czy podano
do zapisu. je poprawnie.
Objaśnienie: v W systemie NT, sprawdź, czy podczas instalacji DB2
Nie można otworzyć pliku mapy partycjonowania o podanej poprawnie zdefiniowano usługi NT (NT Service) dla
nazwie lub w podanej ścieżce. Wystąpił błąd. operacji rozdzielania dla wszystkich węzłów.
v Jeśli nie możesz rozwiązać tego problemu, skontaktuj się z
Działanie użytkownika:
serwisem DB2.
Sprawdź, czy nazwa i ścieżka pliku z mapą partycjonowania
zostały prawidłowo określone oraz czy możliwe jest otwarcie
pliku do zapisu. SQL6555N Moduł ładujący napotkał nieoczekiwany
błąd komunikacyjny.
SQL6551N Błąd podczas próby zapisu do pliku mapy Objaśnienie:
partycjonowania. Błąd wystąpił podczas próby wykonania jednej z
następujących operacji:
Objaśnienie:
Błąd systemu plików podczas zapisu do pliku mapy v próba połączenia z gniazdem TCP/IP
partycjonowania. v próba odczytu lub zapisu komunikatu TCP/IP
Działanie użytkownika: v próba zainicjowania komunikacji TCP/IP
Sprawdź, czy ścieżka do pliku jest poprawna i czy na v próba pobrania pełnej nazwy hosta
urządzeniu docelowym jest wystarczająca ilość miejsca dla v próba wybrania aktywnego gniazda TCP/IP
pliku mapy partycjonowania.
v próba zamknięcia aktywnego gniazda
v próba pobrania numeru portu.
SQL6552N Podczas próby otworzenia tymczasowego
pliku konfiguracyjnego nazwa-pliku do Działanie użytkownika:
zapisu wystąpił błąd. v Jeśli w używanej wersji modułu ładującego było wymagane
skonfigurowanie nazw usług, upewnij się, że nazwy usług
Objaśnienie:
zostały poprawnie zdefiniowane.
Nie można otworzyć pliku tymczasowego o podanej nazwie
lub w podanej ścieżce. Wystąpił błąd. v Jeśli wykonywane są współbieżne zadania modułu
ładującego, muszą zostać spełnione określone w
Działanie użytkownika: dokumentacji wymagania dotyczące konfiguracji; w

Rozdział 2. Komunikaty SQL 475


SQL6556W • SQL6565I

przeciwnym razie między współbieżnymi zadaniami Dodaj węzeł do definicji listy węzłów w pliku db2nodes.cfg
modułu mogą wystąpić konflikty nazw usług. lub określ alternatywny węzeł dla operacji partycjonowania,
v Jeśli problem nie zostanie usunięty, skontaktuj się z występujący w konfiguracji węzłów.
przedstawicielem serwisu DB2.
SQL6561N Węzeł docelowy numer-węzła ładowania nie
SQL6556W Wykryto niepełny rekord na końcu pliku występuje w grupie węzłów.
nazwa-pliku. Objaśnienie:
Objaśnienie: Węzeł podany jako węzeł docelowy dla operacji ładowania nie
Na końcu pliku danych dostarczonego przez użytkownika występuje w grupie węzłów dla operacji ładowania.
wykryto niekompletny rekord danych. Działanie użytkownika:
Działanie użytkownika: Sprawdź definicję grupy węzłów i sprawdź, czy węzeł
Sprawdź, czy struktura danych źródłowych jest poprawna. docelowy podany dla operacji ładowania jest jej elementem.
Jeśli tak nie jest, popraw węzeł docelowy, tak aby należał do
poprawnej grupy węzłów. Jeśli węzeł należy do grupy węzłów,
SQL6557N Pobranie domyślnego numeru węzła nie skontaktuj się z serwisem DB2.
powiodło się.
Objaśnienie: SQL6562N Nie można pobrać nazwy instancji.
Program próbował odtworzyć domyślny numer węzła, ale nie
był w stanie tego zrobić. Objaśnienie:
Program próbował pobrać nazwę instancji, ale wystąpił błąd.
Działanie użytkownika:
Ustaw w pliku konfiguracyjnym programu numery węzłów Działanie użytkownika:
źródłowego i docelowego lub skontaktuj się z serwisem DB2. Sprawdź, czy program został uruchomiony na węźle z
zainstalowanym systemem DB2 i że została uruchomiona
prawidłowa instancja. Aby uzyskać dodatkową pomoc,
SQL6558N Próba ustalenia bieżącego katalogu i/lub skontaktuj się z serwisem DB2.
napędu roboczego nie powiodła się.
Objaśnienie: SQL6563N Pobranie bieżącego identyfikatora
Program próbował ustalić bieżący katalog i/lub napęd roboczy, użytkownika nie powiodło się.
ale wystąpił błąd.
Objaśnienie:
Działanie użytkownika: Program próbował pobrać bieżący identyfikator użytkownika,
Skontaktuj się z serwisem DB2. ale wystąpił błąd.
Działanie użytkownika:
SQL6559N Do programu narzędziowego AutoLoader Skontaktuj się z serwisem DB2.
dostarczono niepoprawną opcję wiersza
komend.
SQL6564N Podane hasło jest nieprawidłowe.
Objaśnienie:
Użytkownik określił dla programu narzędziowego AutoLoader Objaśnienie:
opcję wiersza komend, która jest przestarzała lub nie jest Użytkownik podał hasło, które jest nieprawidłowe.
obsługiwana. Działanie użytkownika:
Działanie użytkownika: Podaj prawidłowe hasło.
Informacje o obsługiwanych opcjach i funkcjach znajdziesz w
dokumentacji programu narzędziowego AutoLoader lub w SQL6565I Składnia: db2xxld [-config
pomocy w trybie online. plik-konfiguracyjny] [-restart] [-terminate]
[-help]
SQL6560N Węzeł numer-węzła, który jest węzłem Objaśnienie:
wykonawczym partycjonowania, nie
v Opcja ’-config’ uruchamia program z plikiem
występuje w pliku db2nodes.cfg.
konfiguracyjnym podanym przez użytkownika; plikiem
Objaśnienie: domyślnym jest autoload.cfg.
Węzeł określony jako węzeł wykonawczy partycjonowania v Opcja ’-restart’ uruchomi ten program w trybie
najprawdopodobniej nie jest wymieniony w pliku restartowania; plik konfiguracyjny nie powinien być
db2nodes.cfg. Operacja przewidziana do wykonania na tym modyfikowany od ostatniego, niezakończonego zadania
węźle nie mogła zostać rozpoczęta. programu AutoLoader.
Działanie użytkownika:

476 Komunikaty, tom 2


SQL6566N • SQL6574I

v Opcja ’-terminate’ uruchomi ten program w trybie


SQL6569I Program narzędziowy AutoLoader wydaje
kończenia; plik konfiguracyjny nie powinien być
teraz wszystkie żądania podziału.
modyfikowany od ostatniego, niezakończonego zadania
programu AutoLoader. Objaśnienie:
v Opcja ’-help’ powoduje wyświetlenie tego komunikatu Program AutoLoader wykonuje operację podziału na każdej
pomocy. docelowej partycji podziału.
Działanie użytkownika:
Plik konfiguracyjny programu narzędziowego AutoLoader jest To jest komunikat informacyjny.
to dostarczany przez użytkownika plik, który zawiera
komendy LOAD przeznaczone do wykonania, docelową bazę
danych oraz kilka opcjonalnych parametrów, które użytkownik SQL6570I Program AutoLoader czeka na zakończenie
może określić. Przykładowy plik konfiguracyjny wszystkich podziałów.
’AutoLoader.cfg’, dostarczany w katalogu z przykładami, ma Objaśnienie:
umieszczone w wierszach komentarze, które zawierają opis Program AutoLoader czeka na zakończenie wszystkich
dostępnych opcji oraz ich wartości domyślne. Gdy program podziałów.
jest wykonywany z opcją ’-restart’ lub ’-terminate’, nie należy
dokonywać zmian w pliku konfiguracyjnym po niepoprawnie Działanie użytkownika:
zakończonym zadaniu programu automatycznego ładowania. To jest komunikat informacyjny.

Działanie użytkownika:
Dalsze szczegóły na temat programu narzędziowego SQL6571I Moduł ładujący czeka na zakończenie
AutoLoader można znaleźć w dokumentacji produktu DB2. wszystkich operacji.
Objaśnienie:
SQL6566N W pliku konfiguracyjnym programu Moduł ładujący czeka na zakończenie operacji.
AutoLoader brakuje komendy LOAD. Działanie użytkownika:
Objaśnienie: To jest komunikat informacyjny.
W pliku konfiguracyjnym programu AutoLoader brakuje
komendy LOAD. Ten parametr jest wymagany i musi zostać SQL6572I Operacja LOAD rozpoczęła działanie na
podany. partycji numer-węzła.
Działanie użytkownika: Objaśnienie:
Upewnij się, że określono dla programu AutoLoader poprawny Operacja LOAD rozpoczęła się w podanej partycji.
plik konfiguracyjny, oraz czy wewnątrz pliku została określona
komenda LOAD. Działanie użytkownika:
To jest komunikat informacyjny.
SQL6567N Opcja nazwa-opcji występuje wielokrotnie w
pliku konfiguracyjnym programu SQL6573I Zdalne wykonywanie programu
AutoLoader. narzędziowego rozdzielacza dla partycji
numer-węzła zostało zakończone z kodem
Objaśnienie: zdalnego wykonania kod.
Parametr opcji został wielokrotnie określony w pliku
konfiguracyjnym programu AutoLoader. Objaśnienie:
Zdalne uruchomienie narzędzia do rozdzielania (splitter) w
Działanie użytkownika: podanej partycji zostało zakończone.
Popraw plik konfiguracyjny, tak aby każdy parametr
występował w nim tylko raz. Działanie użytkownika:
To jest komunikat informacyjny.
SQL6568I Narzędzie ładujące rozsyła teraz wszystkie
żądania typ-żądania. SQL6574I Program narzędziowy odczytał liczba-MB
megabajtów danych źródłowych.
Objaśnienie:
Moduł ładujący zleca teraz operację typu typ-żądania na Objaśnienie:
każdej z partycji. Ta informacja jest generowana okresowo w celu
poinformowania użytkownika o postępie dużych zadań
Działanie użytkownika: modułu ładującego.
To jest komunikat informacyjny.
Działanie użytkownika:
To jest komunikat informacyjny.

Rozdział 2. Komunikaty SQL 477


SQL6575I • SQL6583N

Sprawdź plik konfiguracyjny programu AutoLoader lub flagi


SQL6575I Program narzędziowy zakończył
opcji autloader.
odczytywanie liczba-MB megabajtów
danych użytkownika.
SQL6579N Niepoprawna komenda LOAD w pliku
Objaśnienie:
konfiguracyjnym programu AutoLoader.
Ten komunikat jest zapisywany, gdy moduł ładujący kończy
Opcje RESTART i TERMINATE programu
działanie, w celu odnotowania łącznej ilości przetworzonych
AutoLoader są używane do
danych użytkownika.
przeprowadzania operacji odpowiednio
Działanie użytkownika: LOAD RESTART i LOAD TERMINATE.
To jest komunikat informacyjny.
Objaśnienie:
W komendzie LOAD nie należy używać ani opcji RESTART
SQL6576N Program narzędziowy AutoLoader napotkał ani opcji TERMINATE. Zamiast nich, powinny być używane
błąd, związany z wątkami. Kod przyczyny opcje RESTART i TERMINATE programu AutoLoader.
kod-przyczyny, kod powrotu kod-powrotu.
Działanie użytkownika:
Objaśnienie: Jeśli plik konfiguracyjny programu AutoLoader nie jest
Znaczenie kodu przyczyny kod-przyczyny: modyfikowany, użytkownicy powinni uruchamiać komendę
v 1 - Program narzędziowy AutoLoader usiłował utworzyć db2xxld z opcją RESTART lub TERMINATE.
wątek, ale zakończyło się to niepowodzeniem z kodem
powrotu kod-powrotu. SQL6580I Komenda LOAD jest restartowana w węźle
v 2 - Program narzędziowy AutoLoader próbował czekać na numer-węzła w fazie faza-restartowania.
zakończenie wątku, ale zakończyło się to niepowodzeniem
Objaśnienie:
z kodem powrotu kod-powrotu.
Program AutoLoader potwierdził, że LOAD jest restartowane
Działanie użytkownika: w każdej fazie LOAD/BUILD/DELETE.
Sprawdź, czy bieżący system operacyjny obsługuje aplikacje
Działanie użytkownika:
wykorzystujące wątki i czy proces nie utworzył maksymalnej
To jest komunikat informacyjny.
dopuszczalnej liczby wątków. Wymagania dotyczące wątków:
v dla każdego procesu ładowania musi być uruchomiony
jeden wątek SQL6581I Operacja ładowania nie może zostać
zrestartowana na węźle numer-węzła.
v dla każdego procesu rozłączania musi być uruchomiony
jeden wątek Objaśnienie:
v dla każdej porcji danych dla procesu rozłączania musi być Program AutoLoader potwierdził, że na danym węźle LOAD
uruchomiony jeden wątek. nie może być zrestartowane.
Działanie użytkownika:
SQL6577N Program narzędziowy AutoLoader nie To jest komunikat informacyjny.
obsługuje w komendzie ładowania opcji
ROWCOUNT. SQL6582I Restartowanie operacji LOAD na węźle
Objaśnienie: numer-węzła nie jest wymagane.
Program narzędziowy AutoLoader nie obsługuje w komendzie Objaśnienie:
ładowania opcji ROWCOUNT. Program AutoLoader potwierdził, że na danym węźle LOAD
Działanie użytkownika: nie musi być zrestartowane.
Popraw komendę ładowania, znajdującą się w pliku Działanie użytkownika:
konfiguracyjnym AutoLoader, a następnie wprowadź To jest komunikat informacyjny.
ponownie komendę.

SQL6583N Definicja klucza partycjonowania jest


SQL6578N Niepoprawna opcja programu AutoLoader. niezgodna z trybem ładowania
Opcję RESTART/TERMINATE można partycjonowanej bazy danych
podać tylko w trybie SPLIT_AND_LOAD tryb-ładowania.
lub LOAD_ONLY.
Objaśnienie:
Objaśnienie: W charakterze części definicji klucza partycjonowania
Opcja RESTART/TERMINATE programu AutoLoader może określono kolumnę tożsamości, ale określono inny tryb
działać tylko w trybie SPLIT_AND_LOAD lub ładowania niż PARTITION_AND_LOAD i nie określono
LOAD_ONLY. modyfikatora ignorowania identyfikacji.
Działanie użytkownika: Działanie użytkownika:

478 Komunikaty, tom 2


SQL7001N • SQL7010N

Albo zmień tryb ładowania na PARTITION_AND_LOAD,


SQL7006N Niepoprawny parametr parametr podany w
albo określ modyfikator ignorowania identyfikacji, albo usuń
żądaniu żądanie.
kolumnę tożsamości z definicji klucza partycjonowania.
Objaśnienie:
Instrukcja zawiera niepoprawny parametr parametr.
SQL7001N Podano nieznaną komendę komenda.
Objaśnienie: Nie można wykonać komendy.
Komenda dołączona do procedury REXX nie została
Działanie użytkownika:
rozpoznana.
Należy podać prawidłowy format parametru.
Nie można wykonać komendy.
SQL7007N Zmienna zmienna języka REXX nie istnieje.
Działanie użytkownika:
Należy sprawdzić, czy komenda jest prawidłową instrukcją Objaśnienie:
SQL i ponownie uruchomić procedurę. Należy zwrócić uwagę Podano zmienną REXX, która nie istnieje w obszarze
na to, iż wszystkie komendy muszą być napisane wielkimi zmiennych REXX.
literami.
Nie można wykonać komendy.
SQL7002N Nieprawidłowa nazwa kursora. Działanie użytkownika:
Należy sprawdzić, czy wszystkie nazwy zmiennych na liście
Objaśnienie:
zmiennych języka macierzystego zostały przypisane przed
Użytkownik podał nieprawidłową nazwę kursora.
komendą, która się nie powiodła. Następnie należy uruchomić
procedurę ponownie.
Nie można wykonać komendy.
Działanie użytkownika:
SQL7008N Zmienna zmienna języka REXX zawiera
Należy sprawdzić, czy nazwa kursora ma postać “c1” do
niespójne dane.
“c100”.
Objaśnienie:
Zmienna zawierająca niespójne dane została przekazana do
SQL7003N Nieprawidłowa nazwa instrukcji.
programu w języku REXX.
Objaśnienie:
Użytkownik podał nieprawidłową nazwę instrukcji. Nie można wykonać komendy.
Działanie użytkownika:
Nie można wykonać komendy.
Jeśli zmienna jest w obszarze deskryptorów SQL, należy
Działanie użytkownika: sprawdzić, czy dane i długości pól zostały przypisane
Należy sprawdzić, czy nazwa instrukcji ma postać “s1” do poprawnie. Jeśli jest to zmienna REXX, należy sprawdzić, czy
“s100”. typ danych jest odpowiedni dla komendy, w której był użyty.

SQL7004N Składnia żądania jest nieprawidłowa. SQL7009N Zmienna zmienna języka REXX została
obcięta.
Objaśnienie:
REXX nie mógł zanalizować dostarczonego łańcucha komend. Objaśnienie:
Zmienna zmienna przekazana do programu w języku REXX
Nie można wykonać komendy. zawiera sprzeczne dane. Łańcuch danych zmienna został
obcięty.
Działanie użytkownika:
Należy użyć prawidłowej składni komendy. Nie można wykonać komendy.
Działanie użytkownika:
SQL7005W Kursor użyty przez instrukcję OPEN nie był Należy sprawdzić, czy długość danych jest zgodna z długością
zadeklarowany. podaną w wejściowym obszarze deskryptorów SQL, a
Objaśnienie: następnie ponownie uruchomić procedurę.
Instrukcja OPEN została uruchomiona bez deklaracji kursora.
SQL7010N Nieprawidłowy identyfikator
Nie można wykonać komendy. przeszukiwania identyfikator.
Działanie użytkownika: Objaśnienie:
Należy umieścić instrukcję DECLARE przed instrukcją OPEN Identyfikator przeszukiwania zmienna przekazany do
i ponownie uruchomić procedurę. programu w języku REXX nie istnieje, zawiera sprzeczne dane
lub brakuje w nim danych.

Rozdział 2. Komunikaty SQL 479


SQL7011N • SQL7032N

Nie można wykonać komendy. Należy sprawdzić, czy liczba znajdująca się w pierwszym
składniku jest równa liczbie składników rzeczywiście
Działanie użytkownika:
zdefiniowanych i ponownie uruchomić procedurę.
Należy sprawdzić, czy dane zawarte w identyfikatorze
przeszukiwania są poprawnie przypisane, a następnie
ponownie uruchomić procedurę. SQL7015N Nazwa zmiennej zmienna języka REXX jest
niepoprawna.
SQL7011N Nie podano wymaganego parametru Objaśnienie:
parametr. Podana nazwa zmiennej jest niepoprawna w języku REXX.
Nazwa musi odpowiadać wymaganiom języka.
Objaśnienie:
Parametr parametr jest wymagany przez składnię komendy
Nie można wykonać komendy.
REXX, ale nie został określony.
Działanie użytkownika:
Nie można wykonać komendy. Należy zmienić nazwę na taką, która spełnia wymagania
języka REXX i ponownie uruchomić komendę.
Działanie użytkownika:
Należy podać wymaganą wartość parametru i następnie
ponownie uruchomić procedurę. SQL7016N Nieprawidłowa składnia dla interfejsu
SQLDB2. Błąd pokrewny: błąd-db2.
SQL7012N Próba zmiany poziomu odseparowania ISL Objaśnienie:
podczas trwającego połączenia z bazą Nieprawidłowa składnia dla interfejsu SQLDB2, na przykład
danych. podano zarówno plik wejściowy, jak i komendę.
Objaśnienie: Działanie użytkownika:
Poziom odseparowania (ISL) nie może zostać zmieniony w Aby uzyskać więcej informacji, należy sprawdzić kod błędu
czasie trwania połączenia z bazą danych. związanego z problemem.

Komenda ta jest ignorowana.


SQL7032N Procedura nazwa-procedury języka SQL nie
Działanie użytkownika: została utworzona. Plikiem diagnostycznym
Jeśli konieczna jest zmiana poziomu odseparowania, odłącz się jest nazwa-pliku.
od bieżącej bazy danych, ustaw poziom odseparowania i
Objaśnienie:
połącz się z bazą ponownie.
Procedura nazwa-procedury języka SQL nie została
utworzona. Wystąpiła jedna z następujących sytuacji:
SQL7013N Niezgodność nazwy kursora i instrukcji lub v Na tym serwerze nie została zainstalowana i
atrybutu wstrzymania. skonfigurowana obsługa procedur składowanych SQL. Aby
Objaśnienie: tworzyć procedury SQL, trzeba zainstalować na serwerze
W języku REXX, nazwa kursora i instrukcji muszą mieć formę program IBM Data Server Client oraz kompilator języka C.
’cnn’ i ’snn’, gdzie ’nn’ jest liczbą od 1 do 100. Liczby te Może zajść konieczność ustawienia zmiennej rejestru DB2
muszą być takie same dla dowolnej pary kursora i instrukcji. DB2_SQLROUTINE_COMPILER_PATH, tak aby
Nazwy od c1 do c50 są deklarowane bez wstrzymania, a wskazywała na skrypt lub plik wsadowy, zawierający
nazwy c51 do c100 ze wstrzymaniem. zmienne środowiskowe dla kompilatora języka C na danej
platformie.
Komenda ta jest ignorowana. v Nie powiodła się prekompilacja lub kompilacja przez
produkt DB2 procedury składowanej SQL. Produkt DB2
Działanie użytkownika: tworzy procedurę SQL jako program języka C, który
Należy sprawdzić, czy numery kursora i instrukcji pasują do zawiera wbudowane instrukcje SQL. Błędy niewykryte w
siebie i uruchomić ponownie procedurę. trakcie początkowej analizy instrukcji CREATE
PROCEDURE mogą zostać zgłoszone na etapie
SQL7014N Nieprawidłowa liczba składników zmiennej prekompilacji lub kompilacji.
języka macierzystego.
Na platformach UNIX, pełna ścieżka do pliku, który zawiera
Objaśnienie: informacje diagnostyczne jest następująca:
W języku REXX, pierwszy składnik złożonej zmiennej języka $DB2PATH/function/routine/sqlproc/ \
macierzystego zawiera liczbę, która nie równa się rzeczywistej $DATABASE/$SCHEMA/tmp/nazwa-pliku
liczbie zdefiniowanych składników. gdzie $DATABASE reprezentuje nazwę bazy danych, a
$SCHEMA reprezentuje nazwę schematu procedury SQL.
Komenda ta jest ignorowana.
Działanie użytkownika: W wypadku systemów operacyjnych Windows pełna ścieżka
do pliku zawierającego informacje diagnostyczne to:

480 Komunikaty, tom 2


SQL7035W • SQL8002N

%DB2PATH%\function\routine\sqlproc\ \ Należy sprawdzić, czy REXX jest zainstalowany poprawnie i


%DATABASE%\%SCHEMA%\tmp\nazwa-pliku ponownie uruchomić procedurę. Jeśli błąd występuje nadal,
gdzie %DATABASE% reprezentuje nazwę bazy danych, a należy zanotować jego numer i powiadomić obsługę.
%SCHEMA% reprezentuje nazwę schematu procedury SQL.
Działanie użytkownika: SQL8000N Przetwarzanie DB2START nie powiodło się;
Upewnij się, że na serwerze zainstalowany jest zarówno nie znaleziono ważnej licencji na produkt.
kompilator zgodny z językiem C, jak też klient projektowania Jeśli produkt jest licencjonowany, należy się
aplikacji DB2. Jeśli wystąpił błąd prekompilacji lub upewnić, że klucz licencyjny jest właściwie
kompilacji, to w pliku diagnostycznym nazwa-pliku odszukaj zainstalowany. Licencję można
komunikat pochodzący z kompilatora lub prekompilatora. zarejestrować w Centrum licencji lub przy
użyciu programu narzędziowego db2licm,
Upewnij się, że zmienna rejestru DB2, uruchamianego z wiersza komend. Klucz
DB2_SQLROUTINE_COMPILER_PATH, jest ustawiona w licencyjny jest dostępny na instalacyjnym
taki sposób, że wskazuje na skrypt lub plik wsadowy, który dysku CD produktu licencjonowanego.
ustawia środowisko kompilatora języka C. Na przykład w
Objaśnienie:
systemie operacyjnym UNIX, można utworzyć skrypt o
Nie można znaleźć ważnego klucza dostępu, a okres próbny
nazwie “sr_cpath”, w katalogu /home/DB2INSTANCE/sqllib/
już minął.
function/routine. Aby ustawić zmienną rejestru DB2,
DB2_SQL_ROUTINE_COMPILER_PATH, wydaj Działanie użytkownika:
odpowiednio następującą komendę: Należy zainstalować klucz dostępu dla pełnej wersji produktu.
db2set DB2_SQLROUTINE_COMPILER_PATH = Klucz dostępu dla produktu można uzyskać kontaktując się z
/home/DB2INSTANCE/sqllib/function/routine/sr_cpath przedstawicielem IBM lub autoryzowanym sprzedawcą.

kod_sql: -7032 SQL8001N Próba połączenia z bazą danych nie


powiodła się z powodu problemu z licencją
stan_sql: 42904 produktu.
Objaśnienie:
SQL7035W Kod wykonywalny procedury SQL Próba połączenia nie powiodła się z powodu jednego z
nazwa-procedury nie jest zapisany w następujących problemów z licencją programu DB2:
katalogu bazy danych.
v Brak klucza licencyjnego.
Objaśnienie: v Klucz licencyjny nie został poprawnie zainstalowany.
Kod wykonywalny procedury SQL przekracza maksymalny
v Klucz licencyjny utracił ważność.
rozmiar 2 MB i dlatego nie może być zapisany w katalogu
bazy danych. Nie zostanie on odtworzony automatycznie v Ta edycja produktu DB2 nie obsługuje klucza licencyjnego.
podczas odtwarzania bazy danych ani podczas wycofania Działanie użytkownika:
zmian (ROLLBACK) instrukcji DROP PROCEDURE. Poproś administratora bazy danych o sprawdzenie, czy
Działanie użytkownika: poprawny klucz licencyjny produktu DB2 został prawidłowo
Jeśli rezultatem instrukcji CREATE PROCEDURE było zainstalowany i nie utracił ważności.
ostrzeżenie, należy utworzyć kopię zapasową kodu v Aby sprawdzić licencje, użyj komendy db2licm -l lub
wykonywalnego związanego z procedurą SQL Centrum licencji DB2.
nazwa-procedury. Jeśli podczas operacji odtwarzania lub v Aby zarejestrować licencję, użyj komendy db2licm -a lub
wycofania zmian (ROLLBACK) instrukcji DROP Centrum licencji DB2.
PROCEDURE zostało wydane ostrzeżenie, kod wykonywalny
v Klucz dostępu dla produktu można uzyskać kontaktując się
związany z procedurą nazw a-procedury musi być ręcznie
z przedstawicielem IBM lub autoryzowanym sprzedawcą.
zsynchronizowany z procedurą SQL, która jest zdefiniowana
w katalogu.
kod_sql: -8001
kod_sql: +7035
stan_sql: 42968
stan_sql: 01645
SQL8002N Próba połączenia się z hostem nie powiodła
się z powodu braku produktu DB2 Connect
SQL7099N Wystąpił nieprawidłowy błąd błąd.
lub niepoprawnej licencji.
Objaśnienie:
Objaśnienie:
Wystąpił wewnętrzny błąd REXX.
W przypadku bezpośredniego łączenia się z serwerem hosta na
danym komputerze może brakować produktu DB2 Connect z
Nie można wykonać komendy.
ważną licencją.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 481


SQL8003N • SQL8007W

W przypadku łączenia się z serwerem hosta za pomocą bramy


SQL8006W Brak zarejestrowanego poprawnego klucza
DB2 Connect może brakować ważnej licencji dla bramy DB2
licencyjnego produktu nazwa-produktu. Jeśli
Connect.
produkt jest licencjonowany, należy się
Działanie użytkownika: upewnić, że klucz licencyjny jest właściwie
Poproś administratora bazy danych o sprawdzenie zainstalowany. Licencję można
następujących elementów: zarejestrować w Centrum licencji lub przy
użyciu programu narzędziowego db2licm,
W przypadku bezpośredniego łączenia się z hostem należy uruchamianego z wiersza komend. Klucz
najpierw sprawdzić, czy jest zainstalowany produkt DB2 licencyjny jest dostępny na instalacyjnym
Connect oraz czy na komputerze został zainstalowany dysku CD produktu licencjonowanego. Jeśli
odpowiedni klucz licencyjny, który nie utracił ważności. klucz licencyjny nie jest zarejestrowany,
produkt zostanie uaktywniony na okres
W przypadku łączenia się za pomocą bramy DB2 Connect próbny trwający liczba dni.
należy sprawdzić, czy dla bramy został zainstalowany KORZYSTANIE Z TEGO PRODUKTU W
odpowiedni klucz licencyjny, który nie utracił ważności. OKRESIE PRÓBNYM OZNACZA
AKCEPTACJĘ WARUNKÓW UMOWY
v Aby sprawdzić licencje, użyj komendy db2licm -l lub
LICENCYJNEJ FIRMY IBM, która
Centrum licencji DB2.
znajduje się w ścieżce instalacyjnej tego
v Aby zarejestrować licencję, użyj komendy db2licm -a lub produktu, w katalogu license.
Centrum licencji DB2.
Objaśnienie:
v Klucz dostępu dla produktu można uzyskać kontaktując się
Nie zainstalowano dla tego produktu ważnego klucza dostępu.
z przedstawicielem IBM lub autoryzowanym sprzedawcą.
Produkt będzie działał przez ograniczony okres w celach
poznawczych. OKRES PRÓBNY JEST KONTROLOWANY
Uwaga: Niektóre wersje produktu DB2 mogą nie obsługiwać PRZEZ URZĄDZENIE BLOKUJĄCE PRODUKT.
połączeń z serwerem hosta.
Działanie użytkownika:
kod_sql: -8002 Jeśli zakupiona została pełna wersja tego produktu, należy
zainstalować klucz dostępu w sposób opisany w dokumentacji
stan_sql: 42968 dotyczącej instalacji produktu. Jeśli klucz dostępu został już
zainstalowany, należy sprawdzić poprawność pliku
licencyjnego.
SQL8003N Nie znaleziono poprawnego klucza
licencyjnego na tę funkcję. UŻYWANIE PRODUKTU PRZEZ OKRES PRÓBNY
Objaśnienie: PODLEGA PRZEPISOM UMOWY LICENCYJNEJ IBM
Używane obecnie klucze licencyjne nie zezwalają na ORAZ DOKUMENTU INFORMACJI LICENCYJNYCH
korzystanie z tej funkcji. DLA TEGO PRODUKTU. UŻYWANIE PRODUKTU
PRZEZ OKRES PRÓBNY WYMAGA AKCEPTACJI TYCH
Działanie użytkownika: PRZEPISÓW.
Należy nabyć licencję na tę funkcję od odpowiedniego
przedstawiciela firmy IBM lub autoryzowanego sprzedawcy i Jeśli użytkownik nie zgadza się na te warunki, nie może
zaktualizować używaną licencję przy użyciu Centrum licencji używać tego produktu i musi go zdeinstalować. Można
lub z wiersza komend, przy użyciu programu narzędziowego otrzymać klucz dostępu dla w pełni autoryzowanego programu
db2licm. Dodatkowe informacje na temat aktualizowania wraz z produktem, kontaktując się z przedstawicielem IBM
licencji można znaleźć w odpowiednim dla używanej lub autoryzowanym sprzedawcą.
platformy podręczniku Krótkie wprowadzenie. Informacje na
temat programu narzędziowego db2licm można znaleźć w
podręczniku DB2 Command Reference. SQL8007W Pozostało liczba dni okresu próbnego
używania produktu nazwa-produktu.
Warunki i postanowienia licencji na próbne
SQL8004N Nie znaleziono poprawnego klucza używanie zawiera dokument umowy
licencyjnego na tę funkcję. licencyjnej, który znajduje się w katalogu
Objaśnienie: license w ścieżce instalacyjnej tego
Używane obecnie klucze licencyjne nie zezwalają na produktu. Jeśli produkt jest licencjonowany,
korzystanie z tej funkcji. należy się upewnić, że klucz licencyjny jest
właściwie zainstalowany. Licencję można
Działanie użytkownika: zarejestrować w Centrum licencji lub przy
Więcej informacji można znaleźć w dzienniku powiadomień użyciu programu narzędziowego db2licm,
administracyjnych. uruchamianego z wiersza komend. Klucz
licencyjny jest dostępny na instalacyjnym
dysku CD produktu licencjonowanego.

482 Komunikaty, tom 2


SQL8008N • SQL8012W

Objaśnienie: Liczba jednocześnie pracujących użytkowników przekroczyła


Nie zainstalowano dla tego produktu ważnego klucza dostępu. zdefiniowaną liczbę jednocześnie pracujących użytkowników
Okres próbny wygaśnie po upływie określonej liczby dni. DB2.
Działanie użytkownika: Działanie użytkownika:
Produkt działa w trybie próbnym i będzie działał przez Aby otrzymać dodatkowe pozycje dla użytkowników DB2 i
ograniczony okres czasu. Kiedy minie okres próbny, produkt zaktualizować informacje licencyjne DB2 w Centrum licencji,
nie uruchomi się dopóki nie zostanie zainstalowany klucz należy skontaktować się z przedstawicielem IBM lub
dostępu dla pełnej wersji produktu. autoryzowanym sprzedawcą.

Klucz dostępu dla produktu można uzyskać kontaktując się z kod_sql: +8010
przedstawicielem IBM lub autoryzowanym sprzedawcą.
stan_sql: 01632
kod_sql: +8007
SQL8011W Jedna lub kilka partycji bazy danych nie ma
stan_sql: 0168H
ważnego klucza licencyjnego DB2,
zainstalowanego dla produktu
SQL8008N Produkt tekst nie ma zainstalowanego nazwa-produktu.
poprawnego klucza licencyjnego, a okres
Objaśnienie:
próbny upłynął. Funkcje tego produktu są
Nie we wszystkich partycjach bazy danych zainstalowano
niedostępne.
ważny klucz dostępu dla produktu. Produkt będzie działał
Objaśnienie: przez ograniczony okres w celach poznawczych. OKRES
Nie można znaleźć ważnego klucza dostępu, a okres próbny PRÓBNY JEST KONTROLOWANY PRZEZ URZĄDZENIE
już minął. BLOKUJĄCE PRODUKT.
Działanie użytkownika: Działanie użytkownika:
Należy zainstalować klucz dostępu dla pełnej wersji produktu. Jeśli zakupiona została pełna wersja tego produktu, należy
Klucz dostępu dla produktu można uzyskać kontaktując się z zainstalować klucz dostępu w sposób opisany w dokumentacji
przedstawicielem IBM lub autoryzowanym sprzedawcą. dotyczącej instalacji produktu. Jeśli klucz dostępu został już
zainstalowany, należy sprawdzić poprawność pliku
licencyjnego.
SQL8009W Liczba jednocześnie pracujących
użytkowników produktu DB2 Workgroup
UŻYWANIE PRODUKTU PRZEZ OKRES PRÓBNY
przekroczyła zdefiniowaną liczbę możliwych
PODLEGA PRZEPISOM POROZUMIENIA WSTĘPNEGO
użytkowników, wynoszącą liczba. Liczba
IBM ZAMIESZCZONEGO W PLIKU EVALUATE.AGR.
jednocześnie pracujących użytkowników
UŻYWANIE PRODUKTU PRZEZ OKRES PRÓBNY
wynosi liczba.
WYMAGA AKCEPTACJI TYCH PRZEPISÓW.
Objaśnienie:
Liczba jednocześnie pracujących użytkowników przekroczyła Jeśli użytkownik nie zgadza się na te warunki, nie może
zdefiniowaną liczbę jednocześnie pracujących użytkowników używać tego produktu i musi go zdeinstalować. Można
DB2. otrzymać klucz dostępu dla w pełni autoryzowanego programu
wraz z produktem, kontaktując się z przedstawicielem IBM
Działanie użytkownika:
lub autoryzowanym sprzedawcą.
Aby otrzymać dodatkowe pozycje dla użytkowników DB2 i
zaktualizować informacje licencyjne DB2 w Centrum licencji,
należy skontaktować się z przedstawicielem IBM lub SQL8012W Liczba jednocześnie pracujących
autoryzowanym sprzedawcą. użytkowników produktu DB2 Enterprise
przekroczyła zdefiniowaną liczbę możliwych
kod_sql: +8009 użytkowników, wynoszącą liczba. Liczba
jednocześnie pracujących użytkowników
stan_sql: 01632 wynosi liczba.
Objaśnienie:
SQL8010W Liczba jednocześnie pracujących Liczba jednocześnie pracujących użytkowników przekroczyła
użytkowników produktu DB2 Connect zdefiniowaną liczbę jednocześnie pracujących użytkowników
przekroczyła zdefiniowaną liczbę możliwych DB2.
użytkowników, wynoszącą liczba. Liczba Działanie użytkownika:
jednocześnie pracujących użytkowników Aby otrzymać dodatkowe pozycje dla użytkowników DB2 i
wynosi liczba. zaktualizować informacje licencyjne DB2 w Centrum licencji,
Objaśnienie: należy skontaktować się z przedstawicielem IBM lub
autoryzowanym sprzedawcą.

Rozdział 2. Komunikaty SQL 483


SQL8013W • SQL8018W

kod_sql: +8012 Aby zaktualizować wiele baz danych w jednej transakcji,


zaktualizuj posiadaną wersję do w pełni funkcjonalnego
stan_sql: 01632 produktu DB2 Connect, takiego jak DB2 Connect Personal
Edition albo DB2 Connect Enterprise Edition.
SQL8013W Liczba współbieżnych połączeń bazy danych
kod_sql: -8015
z produktem DB2 Connect przekroczyła
zdefiniowaną liczbę możliwych połączeń,
stan_sql: 42968
wynoszącą liczba. Liczba połączeń bazy
danych wynosi liczba.
SQL8016N Użytkownik nazwa-użytkownika nie jest
Objaśnienie:
zdefiniowany jako zarejestrowany
Licencja na korzystanie z produktu DB2 Connect dopuszcza
użytkownik produktu nazwa-produktu.
ograniczoną liczbę jednoczesnych połączeń z bazą danych.
Zażądano liczby połączeń, która przekracza dopuszczalny Objaśnienie:
limit. Użytkownik nie jest zarejestrowany do używania produktu.
Działanie użytkownika: Działanie użytkownika:
Zaktualizuj wersję produktu DB2 Connect, aby podwyższyć Aby otrzymać dodatkowe pozycje dla zarejestrowanych
liczbę jednoczesnych połączeń z bazą danych. użytkowników DB2 i aktualizować w Centrum licencji listę
zarejestrowanych użytkowników dla tego produktu, należy
Użytkownicy wersji DB2 Connect Enterprise Edition mogą skontaktować się z przedstawicielem IBM lub autoryzowanym
otrzymać licencje dla dodatkowych użytkowników kupując sprzedawcą.
pakiety Additional User Packs.
SQL8017W Liczba procesorów w tym komputerze
kod_sql: +8013
przekracza liczbę zdefiniowaną według
uprawnień, wynoszącą licencjonowana-liczba
stan_sql: 01632 dla produktu nazwa-produktu. Liczba
procesorów w tym komputerze wynosi
SQL8014N Wersja produktu DB2 Connect, której liczba-procesorów. Od odpowiedniego
używasz, nie jest licencjonowana do przedstawiciela firmy IBM lub
korzystania z protokołu TCP/IP. Aby autoryzowanego sprzedawcy należy nabyć
korzystać z TCP/IP, zaktualizuj ją do w licencję na dodatkowe procesory i
pełni funkcjonalnej wersji produktu DB2 zaktualizować używaną licencję przy użyciu
Connect. Centrum licencji lub z wiersza komend przy
użyciu programu narzędziowego db2licm.
Objaśnienie: Dodatkowe informacje na temat
Ta wersja produktu DB2 Connect jest ograniczona do aktualizowania licencji na dodatkowe
korzystania z połączeń SNA. Połączenia TCP/IP nie są procesory można znaleźć w odpowiednim
obsługiwane. dla używanej platformy podręczniku
Działanie użytkownika: Krótkie wprowadzenie (Quick Beginnings).
Aby korzystać z TCP/IP, zaktualizuj posiadaną wersję do w Informacje na temat programu
pełni funkcjonalnego produktu DB2 Connect, takiego jak DB2 narzędziowego db2licm można znaleźć w
Connect Personal Edition albo DB2 Connect Enterprise podręczniku DB2 Command Reference.
Edition. Działanie użytkownika:
kod_sql: +8017
kod_sql: -8014

stan_sql: 42968 SQL8018W Liczba jednocześnie pracujących


użytkowników tego produktu przekroczyła
liczbę zdefiniowaną według uprawnień,
SQL8015N Wersja produktu DB2 Connect, której wynoszącą liczba. Liczba jednocześnie
używasz, nie jest licencjonowana do pracujących użytkowników wynosi liczba.
aktualizowania wielu baz w trakcie
wykonywania jednej transakcji. Objaśnienie:
Liczba jednocześnie pracujących użytkowników przekroczyła
Objaśnienie: zdefiniowaną liczbę jednocześnie pracujących uprawnionych
Ta wersja produktu DB2 Connect jest ograniczona do pracy użytkowników DB2.
podczas obsługi transakcji z pojedynczą bazą danych. Nie
obsługuje protokołu 2-fazowego zatwierdzania. Działanie użytkownika:

Działanie użytkownika:

484 Komunikaty, tom 2


SQL8019N • SQL8024N

Aby otrzymać dodatkowe pozycje dla użytkowników DB2 i


SQL8022N Opcja partycjonowania bazy danych jest
aktualizować informacje licencyjne DB2 w Centrum licencji,
używana bez wymaganej licencji. Program
należy skontaktować się z przedstawicielem firmy IBM lub
DB2 wykrył, że opcja partycjonowania bazy
autoryzowanym sprzedawcą.
danych jest używana mimo braku
zainstalowanej licencji na tę opcję. Należy
kod_sql: +8018 nabyć licencję na opcję partycjonowania
bazy danych od odpowiedniego
stan_sql: 01632 przedstawiciela firmy IBM lub
autoryzowanego sprzedawcy i
SQL8019N Wystąpił błąd podczas aktualizowania zaktualizować używaną licencję przy użyciu
licencji dla zestawu OLAP Starter Kit. Kod Centrum licencji DB2 lub za pomocą
przyczyny = kod-przyczyny. wiersza komend, przy użyciu programu
narzędziowego db2licm. Dodatkowe
Objaśnienie: informacje na temat aktualizowania licencji
Program narzędziowy licencji nie mógł zaktualizować zestawu można znaleźć w odpowiednim dla
OLAP Starter Kit z powodu nieznanego błędu. używanej platformy podręczniku Krótkie
Działanie użytkownika: wprowadzenie. Informacje na temat
Wprowadź ponownie komendę. Jeśli problem nie ustąpi, programu narzędziowego db2licm można
należy skontaktować się z inżynierem serwisu firmy IBM. znaleźć w podręczniku DB2 Command
Reference.
kod_sql: -8019
SQL8023N Liczba jednocześnie pracujących
użytkowników produktu nazwa-produktu
SQL8020W Liczba współbieżnych złączy dla jednego
przekroczyła liczbę zdefiniowaną według
serwera przekracza liczbę określoną przez
uprawnień, wynoszącą liczba. Bieżąca liczba
udzielone uprawnienie liczba-źródeł.
jednocześnie pracujących użytkowników
Obecnie liczba złączy wynosi
wynosi liczba-użytkowników. Od
liczba-uprawnionych.
odpowiedniego przedstawiciela firmy IBM
Objaśnienie: lub autoryzowanego sprzedawcy należy
Liczba współbieżnie używanych złączy przekroczyła nabyć licencję dla dodatkowych
zdefiniowaną liczbę uprawnień. użytkowników i zaktualizować używaną
licencję przy użyciu Centrum licencji lub z
Działanie użytkownika:
wiersza komend przy użyciu programu
Aby zwiększyć liczbę dopuszczalną, należy skontaktować się z
narzędziowego db2licm. Dodatkowe
przedstawicielem firmy IBM lub autoryzowanym sprzedawcą,
informacje na temat aktualizowania licencji
a następnie zaktualizować informacje licencyjne DB2 w
dla dodatkowych użytkowników można
Centrum licencji.
znaleźć w odpowiednim dla używanej
platformy podręczniku Krótkie
kod_sql: +8020 wprowadzenie.

SQL8021W Źródło danych nazwa-źródła nie jest SQL8024N Nie znaleziono poprawnego klucza
zdefiniowane jako zarejestrowane źródło licencyjnego na tę funkcję. Używany obecnie
danych dla produktu nazwa-produktu. klucz licencyjny produktu nazwa-produktu
Objaśnienie: nie zezwala na korzystanie z tej funkcji.
Źródło danych nie zostało skonfigurowane jako zarejestrowane Należy nabyć licencję na tę funkcję od
źródło danych. Należy zakupić uprawnienia do wszystkich odpowiedniego przedstawiciela firmy IBM
źródeł danych innych niż DB2. lub autoryzowanego sprzedawcy i
zaktualizować używaną licencję przy użyciu
Działanie użytkownika: Centrum licencji lub z wiersza komend,
Aby uzyskać dodatkowe uprawnienia do źródeł danych, należy przy użyciu programu narzędziowego
skontaktować się z przedstawicielem firmy IBM lub z db2licm. Dodatkowe informacje na temat
autoryzowanym sprzedawcą, a następnie zaktualizować listę aktualizowania licencji można znaleźć w
zarejestrowanych źródeł danych dla tego produktu w Centrum odpowiednim dla używanej platformy
licencji. podręczniku Krótkie wprowadzenie.
Informacje na temat programu
kod_sql: +8021 narzędziowego db2licm można znaleźć w
podręczniku DB2 Command Reference.

Rozdział 2. Komunikaty SQL 485


SQL8025W • SQL8100N

SQL8025W Połączenie z serwerem nazwa-serwera jest SQL8028N Opcja opcja jest używana bez licencji
niedozwolone. Nie można znaleźć ważnej licencja. Produkt DB2 wykrył, że ta opcja
licencji na użytkowanie produktu jest używana bez odpowiednich uprawnień.
WebSphere Federated Server. Należy nabyć licencję od przedstawiciela
firmy IBM lub autoryzowanego sprzedawcy
Objaśnienie:
i zaktualizować używaną licencję przy
Bieżąca licencja produktu WebSphere Federated Server nie
użyciu Centrum licencji DB2 lub z wiersza
umożliwia nawiązania połączenia z określonym źródłem
komend, przy użyciu programu
danych.
narzędziowego db2licm. Dodatkowe
Działanie użytkownika: informacje na temat aktualizowania licencji
Szczegółowe informacje na temat możliwych przyczyn tego można znaleźć w podręczniku Krótkie
błędu zawiera dziennik powiadomień administracyjnych. Jeśli wprowadzenie, odpowiednim dla używanej
problem będzie się powtarzał, skontaktuj się z działem platformy. Informacje na temat programu
wsparcia IBM. narzędziowego db2licm można znaleźć w
podręczniku DB2 Command Reference.
SQL8026W Serwer DB2 wykrył, że nie została
zarejestrowana poprawna licencja dla tego SQL8029N Nie znaleziono poprawnego klucza
produktu. licencyjnego na tę funkcję. Używany obecnie
klucz licencyjny produktu nie zezwala na
Objaśnienie: korzystanie z tej funkcji. Należy nabyć
Rejestracja poprawnego klucza licencyjnego jest wymagana w licencję na tę funkcję od odpowiedniego
celu zapewnienia zgodności z warunkami i zasadami Umowy przedstawiciela firmy IBM lub
licencyjnej. Klucze licencyjne dla tego produktu znajdują się autoryzowanego sprzedawcy i
na nośniku z tym produktem w katalogu ’license’. zaktualizować używaną licencję przy użyciu
Działanie użytkownika: Centrum licencji lub z wiersza komend,
Aby zarejestrować odpowiednie zakupione licencje, należy przy użyciu programu narzędziowego
użyć Centrum licencji DB2 lub programu narzędziowego db2licm. Dodatkowe informacje na temat
wiersza komend db2licm. Tekst Umowy licencyjnej znajduje aktualizowania licencji można znaleźć w
się w katalogu ’license’ w katalogu instalacyjnym tego odpowiednim dla używanej platformy
produktu. podręczniku Krótkie wprowadzenie.
Informacje na temat programu
narzędziowego db2licm można znaleźć w
SQL8027N Opcja partycjonowania tabeli jest używana podręczniku DB2 Command Reference.
bez licencji na produkt DB2 Enterprise
Server Edition. Produkt DB2 wykrył, że
opcja partycjonowania tabeli jest używana SQL8030W Licencja na produkt produkt utraci ważność
bez licencji na produkt DB2 Enterprise w ciągu liczba dni. Licencję można
Server Edition. Należy nabyć licencję na zarejestrować i zaktualizować za pomocą
produkt DB2 Enterprise Server Edition od Centrum licencji lub przy użyciu programu
przedstawiciela firmy IBM lub narzędziowego wiersza komend db2licm.
autoryzowanego sprzedawcy i Klucz licencyjny jest dostępny na
zaktualizować używaną licencję przy użyciu instalacyjnym dysku CD produktu
Centrum licencji DB2 lub z wiersza licencjonowanego.
komend, przy użyciu programu
narzędziowego db2licm. Dodatkowe SQL8100N Tablica jest pełna.
informacje na temat aktualizowania licencji
można znaleźć w podręczniku Krótkie Objaśnienie:
wprowadzenie, odpowiednim dla używanej Podczas tworzenia bazy danych można określić następujące
platformy. Informacje na temat programu parametry:
narzędziowego db2licm można znaleźć w v maksymalna liczba stron przypadająca na segment na plik
podręczniku DB2 Command Reference.
v liczba segmentów.

Każda część tablicy może się teraz składać z wielu plików w


segmentach bazy danych. Plik może powiększać się aż
osiągnie maksymalną wielkość w segmencie (maksymalna
liczba stron przypadająca na segment), a potem przenosi się do
następnego segmentu, aby móc zgromadzić więcej danych.
Dzieje się tak, dopóki nie zostanie osiągnięta maksymalna
liczba stron przypadających na segment we wszystkich
skonfigurowanych segmentach i tablica staje się pełna.

486 Komunikaty, tom 2


SQL8101N • SQL9306N

Dlatego też całkowita ilość miejsca przypadająca na część


SQL9302N Niepoprawny parametr opcji:
bazy danych jest iloczynem maksymalnej liczby stron i liczby
parametr-opcji.
segmentów. Tablica będzie pełna, jeżeli dowolna część tablicy
zużyje swoją całą skonfigurowaną przestrzeń. Objaśnienie:
Podany parametr opcji jest niepoprawny.
Użytkownicy systemu stowarzyszonego: Ta sytuacja może
również zostać wykryta przez źródło danych. Nie można wykonać komendy.
Działanie użytkownika: Działanie użytkownika:
v Należy usunąć wiersze z tablicy. Popraw parametr opcji i ponownie wywołaj komendę.
v Należy przeorganizować tablicę, aby zrobić w niej więcej
miejsca. SQL9303N Nie podano opcji opcja.
v Należy utworzyć nową bazę danych z większymi Objaśnienie:
wartościami maksymalnej liczby stron przypadających na Nie podano wymaganej opcji opcja.
segment i liczby segmentów, utworzyć kopię zapasową
oryginalnej bazy danych i odtworzyć ją do nowej bazy Nie można wykonać komendy.
danych.
Działanie użytkownika:
Użytkownicy systemu stowarzyszonego: Należy zlokalizować Ponownie wydaj komendę podając wymaganą opcję.
problem do źródła danych, które nie może zrealizować żądania
(posługując się podręcznikiem Troubleshooting Guide, ustalić, SQL9304N Nie udało się otworzyć pliku nazwa-pliku do
które źródło danych nie jest w stanie przetworzyć instrukcji zapisu.
SQL), oraz:
v podjąć odpowiednie kroki w celu zwiększenia obszaru w Objaśnienie:
tablicy w źródle danych Nie można wykonać komendy.
v jeśli tabela znajduje się na serwerze stowarzyszonym, Działanie użytkownika:
utworzyć nową bazę danych z większymi wartościami Sprawdź, czy system ma dostęp do pliku.
maksymalnej liczby stron na segment i liczby segmentów.
Utworzyć kopię zapasową oryginalnej bazy danych i
SQL9305N Nazwa jest za długa. Maksymalna długość
odtworzyć ją do nowej bazy danych.
wynosi maksymalna-długość.
Objaśnienie:
SQL8101N Segment bazy danych może być
<nazwa> jest dłuższa niż maksymalna długość
niepoprawny.
<maksymalna-długość>.
Objaśnienie:
Błąd ten może wystąpić w dwóch przypadkach: Nie można wykonać komendy.
1. Każdy segment bazy danych ma plik identyfikatora. Może Działanie użytkownika:
brakować tego pliku lub jego zawartość może być Zadbaj, aby długość nazwy <nazwa> nie przekraczała
nieprawidłowa. maksymalnej długości.
2. Brakuje jednego, lub więcej, uprzednio przydzielonych
segmentów bazy danych.
SQL9306N Jedna lub więcej nazw pól jest zbyt długa.
Działanie użytkownika: Maksymalna długość wynosi
v Należy upewnić się, czy systemy plików są poprawnie maksymalna-długość.
przyłączone. Objaśnienie:
v Należy odtworzyć bazę danych. Całkowita długość nazwy pola obejmuje podany przedrostek
v Należy skontaktować się przedstawicielem serwisu IBM. i/lub przyrostek kolumny, który może być jej nazwą lub jej
numerem. Całkowita długość nie może przekraczać długości
maksymalnej.
SQL9301N Podano niepoprawną opcję lub brakuje
parametru opcji. Nie można wykonać komendy.
Objaśnienie: Działanie użytkownika:
Podano niepoprawną opcję lub nie podano parametru opcji. Zadbaj, aby długości nazw pól nie przekraczały długości
maksymalnej.
Nie można wykonać komendy.
Działanie użytkownika:
Popraw opcję i ponownie wywołaj komendę.

Rozdział 2. Komunikaty SQL 487


SQL9307N • SQL10004C

Menedżer bazy danych nie może przetworzyć żądania z


SQL9307N Nie można pobrać uwag z bazy danych. Kod
powodu z braku zasobów systemowych. Zasoby powodujące
błędu = kod_sql.
ten błąd są następujące:
Objaśnienie: v Ilość pamięci w systemie
Wystąpił błąd podczas próby pobrania z bazy danych uwag
v Dostępna w systemie liczba identyfikatorów kolejek
kolumny.
komunikatów.
Nie można wykonać komendy. Działanie użytkownika:
Należy zatrzymać aplikację. Możliwe są następujące
Działanie użytkownika:
rozwiązania:
Aby uzyskać więcej informacji, należy sprawdzić kod błędu.
v Usuń procesy uruchomione w tle.
v Zakończ inne aplikacje wykorzystujące powyższe zasoby.
SQL9308W Typ danych SQL typ_sql kolumny
nazwa_kolumny nie jest obsługiwany. v Jeśli używasz programu Remote Data Services, zwiększ
wielkość sterty Remote Data Services (rsheapsz) w
Objaśnienie: konfiguracji serwera i klienta, ponieważ na aplikację musi
Typ danych SQL typ_sql nie jest obsługiwany w podanym przypadać co najmniej jeden blok.
języku bazowym.
UWAGA: Dotyczy to tylko wersji produktu DB2
wcześniejszych niż wersja 2.
Dla tej kolumny nie jest generowana deklaracja.
v Zmniejsz wartości parametrów konfiguracyjnych
Działanie użytkownika: definiujących przydziały pamięci, włączając w to parametr
Sprawdź, czy podano właściwą tablicę. ASLHEAPSZ, jeśli w problematycznej instrukcji występują
funkcje zdefiniowane przez użytkownika.
SQL9999N Zastępczy kod sql tylko do użytku przez v Unikaj uzyskiwania dostępu do dużych plików lub
programistów. Należy go zmienić przed korzystania z niebuforowanych operacji we/wy. Aby móc
publikacją kodu. Elementy ogólne: korzystać z niebuforowanych operacji we/wy, nadaj
Element1, Element2, Element3. zmiennej rejestru DB2NTNOCACHE wartość YES.

Objaśnienie: kod_sql: -10003


Ten kod sql może być używany jako kod zastępczy do czasu
zdefiniowania poprawnej wartości kodu sql. Kod programu
stan_sql: 57011
przeznaczony do publikacji nie może zawierać odwołań do tej
wartości kodu sql.
SQL10004C Podczas uzyskiwania dostępu do katalogu
Działanie użytkownika:
bazy danych wystąpił błąd we/wy.
n.d.
Objaśnienie:
kod_sql: -9999 Brak dostępu do systemowego katalogu baz danych lub do
lokalnego katalogu bazy danych. Błąd ten może wystąpić nie
stan_sql: ZZZZZ tylko podczas wpisywania lub usuwania przez system bazy
danych z katalogu, ale także gdy system próbuje zwrócić się
do bazy danych wpisanej do katalogu.
SQL10002N Podane hasło jest zbyt długie.
Objaśnienie: Nie można wykonać komendy.
Długość hasła nie powinna przekroczyć 18 znaków. Jednak Działanie użytkownika:
jeśli hasło ma zostać przystosowane do komunikacji APPC,
musi mieć nie więcej niż 8 znaków. v Wprowadź komendę LIST DB DIRECTORY ON
<ścieżka> (gdzie ścieżka określa katalog, w którym
Działanie użytkownika: utworzono bazy danych).
Sprawdź, czy hasło nie przekracza dozwolonej długości. v Jeśli przy użyciu powyższej komendy została pomyślnie
wyświetlona lista baz danych, oznacza to, że problem
kod_sql: -10002 dotyczy tylko katalogu na poziomie instancji.
– Przenieś wszystkie pliki z katalogu
stan_sql: 28000
<katalog_główny_instalacji>/sqllib/sqldbdir do innego
położenia (uwaga: informacje katalogowe zostaną
SQL10003C Nie ma wystarczających zasobów utracone).
systemowych, aby wykonać żądanie. – Należy ponownie wpisać bazę danych do katalogu w tej
Żądanie nie może być wykonane. samej ścieżce. Wykonaj test, wprowadzając komendę
Objaśnienie: LIST DB DIRECTORY.

488 Komunikaty, tom 2


SQL10005N • SQL10010N

v Jeśli nie powiodło się wyświetlenie listy baz danych przy 5. Baza danych nie obsługuje strony kodowej ustawionej w
użyciu komendy LIST DB DIRECTORY ON <ścieżka>, parametrze DB2CODEPAGE albo ustawień narodowych
oznacza to, że problem dotyczy lokalnych katalogów baz klienta.
danych. Odtwórz z kopii zapasowych bazy danych, które 6. Wystąpił nieoczekiwany błąd systemowy. Spróbuj
były wpisane do katalogu, a następnie wpisz je do katalogu. ponownie. Jeśli problem nie ustąpi, skontaktuj się z
przedstawicielem firmy IBM.
kod_sql: -10004
7. Brak pamięci. Próba pozyskania pamięci prywatnej nie
powiodła się. Ponów próbę.
stan_sql: 58031
Działanie użytkownika:
Ponownie wprowadź komendę po sprawdzeniu następujących
SQL10005N Parametr trybu parametr w instrukcji elementów:
CONNECT TO jest niepoprawny. Jego
wartość musi być ustawiona na SHARE dla v Dla użytkownika próbującego wykonać tę komendę
współużytkowania, EXCLUSIVE dla zmienna środowiskowa DB2INSTANCE jest ustawiona na
dostępu na wyłączność lub EXCLUSIVE poprawny literał łańcuchowy
MODE ON SINGLE NODE dla dostępu na v Dla użytkownika próbującego wykonać tę komendę podano
wyłączność w pojedynczym węźle. Dla poprawny katalog osobisty (w pliku /etc/passwd)
połączeń DB2 Connect obsługiwany jest v Sprawdź, czy dla użytkownika próbującego wykonać tę
tylko tryb SHARE. Tryb EXCLUSIVE komendę zmienna środowiskowa LANG została ustawiona
MODE ON SINGLE NODE jest na wartość odpowiednią dla zainstalowanego języka lub ma
obsługiwany tylko w konfiguracji MPP. wartość ’C’.
Objaśnienie: v Jeśli plik komunikatu jest przedawniony, najnowsze
Parametr tryb instrukcji CONNECT TO musi mieć wartość informacje o komunikacie można znaleźć dokumentacji
SHARE w trybie współużytkowania, EXCLUSIVE w trybie serwera bazy danych.
wyłączności i EXCLUSIVE MODE ON SINGLE NODE w
trybie wyłączności na pojedynczym węźle. W przypadku Jeśli wszystkie powyższe ustawienia są poprawne, a błąd nadal
łączenia się z bazą danych przy użyciu programu DB2 występuje, ponownie zainstaluj program DB2.
Connect dozwolony jest tylko dostęp współużytkowany. Tryb
EXCLUSIVE MODE ON SINGLE NODE jest obsługiwany
SQL10009N Podany zestaw kodowy zestaw_kodowy i/lub
tylko w konfiguracji MPP.
podane terytorium terytorium nie są
poprawne.
Nie można wykonać komendy.
Objaśnienie:
Działanie użytkownika:
Ta wersja menedżera bazy danych nie obsługuje aktywnego
Ponownie wprowadź komendę z odpowiednim parametrem
zbioru kodowego lub terytorium albo obu tych elementów,
tryb.
zgodnie z parametrami komendy Create Database.

SQL10007N Nie można pobrać komunikatu Nie można wykonać komendy.


numer_komunikatu. Kod przyczyny: kod.
Działanie użytkownika:
Objaśnienie: W części odnoszącej się do komendy Create Database w
Z pliku komunikatów nie można pobrać żądanego komunikatu podręczniku Administration Guide zapoznaj się ze
<numer_komunikatu>. Kod przyczyny <kod> może być szczegółowymi informacjami na temat poprawnych par
następujący: zestawu kodowego i terytorium obsługiwanych przez
1. Zmienna środowiskowa “DB2INSTANCE” nie została menedżera bazy danych.
ustawiona lub jest ustawiona na niewłaściwą instancję.
Popraw ją i spróbuj podobnie. SQL10010N Określona biblioteka, nazwa, została
2. Znaleziono plik komunikatów, ale nie można go otworzyć załadowana, ale nie można wykonać funkcji
z powodu niewłaściwych uprawnień. Sprawdź funkcja.
uprawnienia plików w katalogu komunikatów.
Objaśnienie:
3. Nie odnaleziono pliku komunikatów. Nie istnieje plik lub W bibliotece nie odnaleziono funkcji.
katalog, w którym ten plik powinien się znajdować.
Upewnij się, że w katalogu komunikatów istnieje katalog Nie można wykonać komendy.
domyślny lub katalog o nazwie określonej w zmiennej
środowiskowej ’LANG’. Działanie użytkownika:
4. Żądany komunikat nie istnieje w pliku komunikatów. Plik 1. Jeśli jest to biblioteka typu DARI, sprawdź, czy ma
komunikatów jest nieaktualny lub nieprawidłowy. poprawną strukturę. Upewnij się, że funkcja jest
eksportowana przez plik eksportu ’export file’.

Rozdział 2. Komunikaty SQL 489


SQL10011N • SQL10015N

2. W wypadku innych bibliotek może zajść potrzeba v Jeśli aplikacja kliencka stosuje pełną ścieżkę do określenia
ponownej instalacji instancji menedżera bazy danych lub biblioteki DARI, biblioteka ta musi być przechowywana w
oprogramowania menedżera bazy danych. podanej ścieżce. Jeśli aplikacja kliencka nie stosuje ścieżki,
biblioteka DARI musi być przechowywana w katalogu
kod_sql: -10010 domyślnym (<kat-instancji>/sqllib/function), gdzie
<kat-instancji> jest katalogiem podstawowym instancji
stan_sql: 42724 menedżera bazy danych.
v Jeśli komunikat o błędzie pojawia się podczas uruchamiania
menedżera bazy danych, może zajść potrzeba ponownej
SQL10011N Podczas ładowania wymienionej biblioteki
instalacji instancji DB2 lub oprogramowania menedżera
DARI nazwa odebrano przerwanie.
bazy danych.
Objaśnienie:
Podczas ładowania biblioteki DARI komenda została Użytkownicy systemu stowarzyszonego: Jeśli komunikat o
przerwana, prawdopodobnie przez naciśnięcie klawisza błędzie pojawia się w wyniku komendy db2start w systemie
przerwania (zwykle Ctrl+Break lub Ctrl+C). stowarzyszonym i nazwa to “from DB2_DJ_COMM”, oznacza
to, że na serwerze stowarzyszonym wystąpił problem podczas
Przetwarzanie zostało zatrzymane. ładowania jednego z modułów opakowujących
identyfikowanych zmienną środowiskową DB2_DJ_COMM.
Działanie użytkownika:
Zmienna środowiskowa DB2_DJ_COMM musi być zmieniona
Wprowadź ponownie komendę.
tak, aby zawierała tylko poprawne moduły opakowujące.
kod_sql: -10011
Jeśli komunikat o błędzie pojawia się w wyniku komendy
db2start w systemie stowarzyszonym i nazwa nie ma wartości
stan_sql: 42724 “from DB2_DJ_COMM”, użytkownik musi ponownie
zainstalować instancję stowarzyszoną.
SQL10012N Podczas ładowania podanej biblioteki,
nazwa, otrzymano nieoczekiwany błąd Jeśli biblioteka określa moduł opakowujący, moduł ten musi
systemu operacyjnego. zostać zainstalowany, dowiązany (w razie potrzeby) i być
dostępny w odpowiednim katalogu. Także biblioteki klienta
Objaśnienie: źródła danych (używane przez moduł opakowujący) muszą
Podczas próby załadowania modułu biblioteki określonego w być zainstalowane i dostępne w odpowiednim katalogu.
polu nazwy programu wystąpił nieoczekiwany błąd. Więcej informacji na temat konfigurowania modułów
Działanie użytkownika: opakowujących można znaleźć w podręczniku Instalowanie i
Wprowadź ponownie bieżącą komendę. Jeśli błąd będzie się konfigurowanie - suplement.
powtarzać, zatrzymaj i ponownie uruchom menedżera bazy
danych. Jeśli błąd nadal występuje, dokonaj reinstalacji kod_sql: -10013
menedżera bazy danych.
stan_sql: 42724
Jeśli reinstalacja nie powoduje usunięcia błędu, zanotuj numer
komunikatu (SQLCODE) oraz wszystkie możliwe informacje
SQL10014N Nazwa wywołującego programu DARI
zawarte w obszarze SQLCA.
nazwa jest niepoprawna.
Jeśli śledzenie było aktywne, wywołaj program Independent Objaśnienie:
Trace Facility z wiersza komend systemu operacyjnego. Składnia nazwy modułu biblioteki DARI lub programu DARI
Następnie skontaktuj się z firmą IBM, zgodnie informacjami nie jest poprawna.
podanymi w niniejszym podręczniku.
Działanie użytkownika:
Popraw składnie nazwy biblioteki DARI lub nazwy programu
kod_sql: -10012 DARI.

stan_sql: 42724 kod_sql: -10014

SQL10013N Nie można załadować podanej biblioteki, stan_sql: 42724


nazwa.
Objaśnienie: SQL10015N Brak zasobów systemowych, aby załadować
Nie odnaleziono modułu biblioteki. podaną bibliotekę, nazwa.
Działanie użytkownika: Objaśnienie:
Użytkownicy bibliotek DARI powinni zapewnić dostępność Brak pamięci do załadowania modułu biblioteki.
określonej biblioteki.
Działanie użytkownika:

490 Komunikaty, tom 2


SQL10017N • SQL16001N

Należy zatrzymać aplikację. Możliwe rozwiązania: stan_sql: 58031


v Usuń procesy uruchomione w tle.
v Zmniejsz wartości parametrów konfiguracyjnych, które SQL10021N Uprawnienia dotyczące plików nie
definiują przydzielanie pamięci. umożliwiają zapisu do bazy danych.
v Zainstaluj większą ilość pamięci. Objaśnienie:
Podjęto próbę zapisania danych w bazie danych znajdującej się
kod_sql: -10015 w systemie plików, który nie zezwala na pisanie.

stan_sql: 42724 Nie można wykonać instrukcji.


Działanie użytkownika:
SQL10017N Instrukcja SQL CONNECT RESET jest Ustaw uprawnienia plikowe w systemie plików, w którym
niedozwolona w procedurze interfejsu znajduje się baza danych, tak, by dozwolone było pisanie.
DARI (Database Application Remote
Interface).
SQL16000N Nie można przetworzyć wyrażenia XQuery,
Objaśnienie: ponieważ nie przypisano wartości do
Zdalna procedura zawiera instrukcję SQL CONNECT RESET. komponentu komponent-kontekstu kontekstu
Działanie użytkownika: statycznego. Błąd: QName=err:XPST0001.
Usuń instrukcję SQL CONNECT RESET i ponownie wywołaj Objaśnienie:
zdalną procedurę. Analiza statyczna wyrażenia wykonywana jest w oparciu o
komponent kontekstu statycznego komponent-kontekstu, do
kod_sql: -10017 którego nie została przypisana żadna wartość.

stan_sql: 38003 Nie można przetworzyć wyrażenia XQuery.


Działanie użytkownika:
SQL10018N Dysk jest pełny. Przetwarzanie zostało Przypisz wartość do komponentu komponent-kontekstu.
zakończone.
Objaśnienie: kod_sql: -16000
Dysk jest pełny. Podczas eksportowania do pliku PC/IXF
wykryto, że albo plik danych PC/IXF znajduje się na dysku stan_sql: 10501
twardym, albo plik danych PC/IXF i baza danych znajdują się
w tym samym systemie plików, albo plik danych PC/IXF i plik SQL16001N Nie można przetworzyć wyrażenia XQuery,
komunikatów znajdują się w tym samym systemie plików. w którym na początku występuje element
element, ponieważ nie został przypisany
Moduł eksportujący EXPORT zatrzymał przetwarzanie. Dane komponent aktywności kontekstu
nie zostały wyeksportowane w całości. dynamicznego. Błąd:
Działanie użytkownika: QName=err:XPDY0002.
Zwolnij więcej miejsca na dysku lub zażądaj umieszczenia Objaśnienie:
pliku danych w innym systemie plików niż ten, w którym Wartościowanie wyrażenia rozpoczynającego się od elementu
znajduje się baza danych lub plik komunikatów, po czym element wymaga przypisania komponentu aktywności
ponownie wprowadź komendę. kontekstu dynamicznego. Element jest traktowany jako
początek wyrażenia ścieżki, z którym nie jest powiązana
SQL10019N W podanej ścieżce nie uzyskano dostępu do pozycja kontekstu lub sekwencja kontekstu. Może to być
bazy danych. wynikiem niezdefiniowania lub niepobrania sekwencji jako
kontekstu dla wyrażenia ścieżki. Inne typowe przyczyny tego
Objaśnienie: błędu:
Nie uzyskano dostępu do bazy danych. Możliwe przyczyny są v Wartością elementu element miał być literał łańcuchowy,
następujące: ale brakuje cudzysłowów ograniczających.
v Ścieżka nie zawiera obrazu bazy danych. v Wartością elementu element miała być funkcja, ale brakuje
v Uprawnienia w ścieżce są nieodpowiednie. nawiasów otwierających i zamykających.
Działanie użytkownika:
Sprawdź, czy ścieżka odwołuje się do poprawnej bazy danych Nie można przetworzyć wyrażenia XQuery.
i czy uprawnienia są właściwe. Działanie użytkownika:
Zbadaj wystąpienia elementu element w wyrażeniu XQuery.
kod_sql: -10019 Popraw wyrażenie XQuery w pobliżu wystąpienia tego
elementu w celu przypisania komponentu aktywności lub

Rozdział 2. Komunikaty SQL 491


SQL16002N • SQL16004N

wprowadzenia innych zmian, aby element nie oczekiwał już v Gdy operacja atomizacji wykonywana jest względem
przypisanego komponentu aktywności. wyrażenia nazwy, wynikiem tej operacji musi być
pojedyncza wartość atomowa typu xs:QName, xs:string lub
kod_sql: -16001 xdt:anytypedAtomic.
v W sekwencji treści konstruktora węzła dokumentu nie mogą
stan_sql: 10501 występować węzły atrybutów.
v Musi istnieć możliwość przekształcenia wartości parametru
SQL16002N W wyrażeniu XQuery znajduje się orderspec w klauzuli ORDER BY na typ wspólny.
nieoczekiwany element element po tekście v Typ wartości powiązanej ze zmienną musi być zgodny z
tekst. Do oczekiwanych elementów należą: zadeklarowanym typem (o ile zadeklarowano określony
lista-elementów. Błąd: typ).
QName=err:XPST0003. v Rzutowanie wartości typu źródłowego typ-wartości na typ
Objaśnienie: docelowy oczekiwany-typ musi być obsługiwane. Jeśli
Element element, który występuje po tekście tekst jest podczas przetwarzania SQL zapytanie XQuery jest
niepoprawny w tym miejscu w wyrażeniu. Na liście wywoływane w celu wykonania rzutowania z typu danych
lista-elementów występuje jeden lub więcej elementów, XML na typ danych SQL inny niż XML, rzutowanie
którymi można zastąpić niepoprawny element, tak aby XQuery jest wykonywane za pomocą tymczasowo
wyrażenie było poprawne. wyprowadzonego typu schematu XML, który jest
generowany za pomocą nazwy opartej na typie danych SQL
Nie można przetworzyć wyrażenia XQuery. i powiązanych ograniczeniach wielkości. Na przykład
wartość elementu typ-docelowy jest równa
Działanie użytkownika: ″VARCHAR_50″ dla rzutowania XMLCAST na
Użyj poprawnej składni dla tego wyrażenia. VARCHAR(50) i ″DECIMAL_9_2″ dla rzutowania
XMLCAST na DECIMAL(9,2).
kod_sql: -16002
Działanie użytkownika:
Podaj wartość odpowiedniego typu.
stan_sql: 10505
kod_sql: -16003
SQL16003N Wyrażenia o typie danych typ-wartości nie
można użyć, gdy w danym kontekście stan_sql: 10507
oczekiwany jest typ danych typ-oczekiwany.
Błąd: QName=err:XPTY0004.
SQL16004N Funkcji fn:data nie można zastosować
Objaśnienie: jawnie ani niejawnie do węzła XQuery, dla
W wyrażeniu XQuery występuje wartość typu typ-wartości w którego adnotacja typu oznacza typ złożony
kontekście, w którym oczekiwano typu oczekiwany-typ. z treścią wyłącznie elementową. Błąd:
QName=err:FOTY0012.
Nie można przetworzyć wyrażenia XQuery.
Objaśnienie:
Na skutek atomizacji poprzez wyrażenie XQuery wykonana
Dla typów używanych w wyrażeniach obowiązują następujące
została próba zastosowania jawnie albo niejawnie funkcji
reguły:
fn:data do węzła XQuery. Jednak ponieważ adnotacja typu
v W wyrażeniu zakresu mogą występować tylko operandy, danego węzła oznacza typ zespolony, w którego treści mogą
które można przekształcić na pojedynczą liczbę całkowitą. występować tylko elementy, wartość strukturalna węzła jest
v W operandach operatorów union, intersect lub except mogą niezdefiniowana. Jeśli funkcja fn:data zostanie zastosowana
występować tylko węzły. dla węzła o niezdefiniowanym typie, zwróci błąd dotyczący
v Jako operandy wyrażenia arytmetycznego nie mogą zostać typu.
podane sekwencje o długości większej niż jeden.
W wyrażeniach XQuery atomizacja jest używana do
v Jako operandy operacji porównania węzłów muszą zostać
przekształcania elementów w wartości typu atomowego w
podane pojedyncze węzły lub puste sekwencje.
takich wyrażeniach, jak: wyrażenie arytmetyczne, wyrażenie
v Ogólnie w wyniku atomizacji nie może powstać więcej niż porównania, wywołania funkcji z argumentami, których
jedna wartość atomowa. oczekiwanymi typami są dane atomowe, wyrażenia
v Gdy operacja atomizacji wykonywana jest względem rzutowania, wyrażenia konstruktora dla różnego rodzaju
wyrażenia porównania, wynikiem tej operacji muszą być węzłów, klauzule order by w wyrażeniach FLWOR, funkcje
pojedyncze wartości atomowe, w których wartość konstruktora typu, wyrażenia źródłowe w wartości
pierwszego atomizowanego operandu można porównać z zastępującej wyrażeń oraz wyrażenia określające nową nazwę
wartością drugiego atomizowanego operandu. w wyrażeniach zmiany nazwy. W toku przetwarzania
dowolnego z tych wyrażeń zostanie niejawnie wywołana
funkcja fn:data, która może powodować ten błąd.

492 Komunikaty, tom 2


SQL16005N • SQL16009N

Nie można przetworzyć wyrażenia XQuery. stan_sql: 10502


Działanie użytkownika:
Spróbuj wykonać jedno z następujących działań: SQL16007N Wyrażenie XQuery określające ścieżkę
v Zastąp wywołanie funkcji fn:data wywołaniem funkcji odwołuje się do osi typ-osi, która nie jest
odpowiednim dla typów zespolonych, w których treści obsługiwana. Błąd: QName=err:XQST0010.
występują tylko elementy. Objaśnienie:
v Wywołaj funkcję fn:data dla węzła, w którego adnotacji Podany typ-osi nie jest obsługiwany, ponieważ w zapytaniach
określono typ prosty lub typ zespolony z treścią mieszaną. DB2 XQuery nie jest obsługiwana funkcja obsługi wszystkich
v Jeśli kontekst wyrażenia XQuery wymaga sekwencji osi opcjonalnych. Obsługiwane są następujące typy osi: child,,
wartości typu atomowego, upewnij się, że sekwencja ta attribute, descendant, self, descendant-or-self i parent.
składa się tylko z takich elementów, które można
zatomizować. Nie można przetworzyć wyrażenia XQuery.
Działanie użytkownika:
kod_sql: -16004 Podaj obsługiwany typ osi.

stan_sql: 10507 kod_sql: -16007

SQL16005N Wyrażenie XQuery odwołuje się do nazwy stan_sql: 10505


elementu, nazwy atrybutu, nazwy typu,
nazwy funkcji, prefiksu przestrzeni nazw SQL16008N Nie można zadeklarować lub zaimportować
lub nazwy zmiennej nazwa-zmiennej, które modułów biblioteki XQuery. Błąd:
nie są zdefiniowane w danym kontekście QName=err:XQST0016.
statycznym. Błąd: QName=err:XPST0008.
Objaśnienie:
Objaśnienie: W instrukcji XQuery występuje deklaracja modułu lub
W fazie analizy statycznej kontekst statyczny jest używany do operacja importu modułu, lecz w zapytaniu DB2 XQuery nie
rozstrzygnięcia nazw elementów, nazw atrybutów, nazw jest obsługiwana funkcja importu modułów i tworzenia
typów, nazw funkcji, przedrostków przestrzeni nazw i nazw modułów bibliotek.
zmiennych. Jeśli w wyrażeniu używana jest
niezdefiniowana-nazwa, której nie można znaleźć w
Nie można zadeklarować lub zaimportować modułu.
kontekście statycznym, generowany jest błąd statyczny.
Działanie użytkownika:
Nie można przetworzyć wyrażenia XQuery. Usuń z prologu zapytania wszystkie deklaracje modułów lub
operacje importu modułów.
Działanie użytkownika:
Użyj nazwy, która jest zdefiniowana w kontekście statycznym.
kod_sql: -16008
Jeśli w nazwie QName występuje przedrostek, sprawdź, czy
ten przedrostek przestrzeni nazw został powiązany z
stan_sql: 10502
przestrzenią nazw w deklaracji przestrzeni nazw. Jeśli
zaistniały błąd jest związany z odwołaniem do zmiennej,
sprawdź, czy ta zmienna jest dostępna w zasięgu danego SQL16009N Funkcja XQuery o nazwie nazwa-funkcji z
wyrażenia. parametrami w liczbie liczba-parametrów nie
jest zdefiniowana w kontekście statycznym.
kod_sql: -16005 Błąd: QName=err:XPST0017.
Objaśnienie:
stan_sql: 10506
Rozszerzona nazwa QName i liczba parametrów
liczba-parametrów w wywołaniu funkcji nazwa-funkcji jest
SQL16006N Nie można zaimportować schematów XML. niezgodna z nazwą funkcji i liczbą parametrów określonymi w
Błąd: QName=err:XQST0009. sygnaturze funkcji w kontekście statycznym.
Objaśnienie:
Nie można przetworzyć wyrażenia XQuery.
Dla wyrażeń DB2 XQuery funkcja importu schematu nie jest
obsługiwana. Działanie użytkownika:
Spróbuj wykonać jedno z następujących działań:
Nie można zaimportować schematu. v Sprawdź, czy w wywołaniu funkcji przekazywana jest
Działanie użytkownika: poprawna liczba parametrów.
Usuń instrukcję importu schematu z prologu zapytania. v Jeśli w wywołaniu funkcji użyta jest nazwa funkcji bez
przedrostka, sprawdź, czy nazwa lokalna tej funkcji jest
kod_sql: -16006

Rozdział 2. Komunikaty SQL 493


SQL16010N • SQL16015N

zgodna z funkcją określoną w domyślnej przestrzeni nazw Działanie użytkownika:


albo użyj poprawnego przedrostka. Zmodyfikuj krok osi lub wprowadzoną wartość tak, aby
elementem kontekstu był węzeł.
kod_sql: -16009
kod_sql: -16012
stan_sql: 10506
stan_sql: 10507
SQL16010N W wyniku ostatniej części wyrażenia
XQuery określającego ścieżkę występują SQL16014N Wartością atrybutu deklaracji przestrzeni
zarówno nazwy węzłów jak i wartości nazw musi być literał łańcuchowy. Błąd:
atomowe. Błąd: QName=err:XPTY0018. QName=err:XQST0022.
Objaśnienie: Objaśnienie:
W ostatniej części wyrażenia XQuery określającego ścieżkę W wyrażeniu XQuery występuje atrybut deklaracji przestrzeni
występuje co najmniej jedna nazwa węzła XQuery i jedna nazw, który nie jest literałem łańcuchowym. Wymagana
wartość atomowa XQuery. Taka kombinacja typów jest wartość atrybutu deklaracji przestrzeni nazw to literał
niedozwolona w ostatniej części wyrażenia XQuery łańcuchowy z poprawnym identyfikatorem URI albo łańcuch o
określającego ścieżkę. długości zero.

Nie można przetworzyć wyrażenia XQuery. Nie można przetworzyć wyrażenia XQuery.
Działanie użytkownika: Działanie użytkownika:
Upewnij się, że ostatnia część każdego wyrażenia XQuery Nadaj atrybutowi deklaracji przestrzeni nazw wartość, która
określającego ścieżkę odpowiada tylko nazwie węzła XQuery jest literałem łańcuchowym.
lub tylko wartości atomowej XQuery.
kod_sql: -16014
kod_sql: -16010
stan_sql: 10502
stan_sql: 10507
SQL16015N Konstruktor elementu zawiera węzeł
SQL16011N W wyniku wyrażenia w pośredniej części atrybutu o nazwie ″nazwa-węzła″ po węźle
wyrażenia XQuery określającego ścieżkę XQuery, który nie jest węzłem atrybutu.
występuje wartość atomowa. Błąd: Błąd: QName=err:nazwa-błędu.
QName=err:XPTY0019.
Objaśnienie:
Objaśnienie: Sekwencja użyta do skonstruowania treści elementu zawiera
Każda pośrednia część wyrażenia XQuery musi zwracać węzeł atrybutu o nazwie nazwa-węzła po węźle XQuery, który
sekwencję węzłów XQuery (dopuszczalna jest sekwencja nie jest węzłem atrybutu. Konkretny kontekst, w którym ma to
pusta). W sekwencjach tych nie mogą występować żadne miejsce, zależy od błędu QName.
wartości atomowe XQuery.
err:XQTY0024
W sekwencji treści w konstruktorze elementu po
Nie można przetworzyć wyrażenia XQuery.
węźle XQuery, który nie jest węzłem atrybutu,
Działanie użytkownika: występuje węzeł atrybutu o nazwie nazwa-węzła.
Zmodyfikuj wyrażenie tak, aby każda pośrednia część Węzły atrybutu mogą występować tylko na początku
wyrażenia XQuery zwracała sekwencję węzłów. sekwencji treści.
err:XUTY0004
kod_sql: -16011 Treść sekwencji wstawiania oparta na wyrażeniu
źródłowym w wyrażeniu wstawiania zawiera węzeł
stan_sql: 10507 atrybutu o nazwie nazwa-węzła po węźle XQuery,
który nie jest węzłem atrybutu. Węzły atrybutu mogą
SQL16012N Elementem kontekstu w kroku osi musi być występować tylko na początku sekwencji
węzeł XQuery. Błąd: wstawiania.
QName=err:XPTY0020.
Nie można przetworzyć wyrażenia XQuery.
Objaśnienie:
W kroku osi elementem kontekstu (elementem przetwarzanym Działanie użytkownika:
w danej chwili) musi być węzeł XQuery. Zmodyfikuj sekwencję treści tak, aby węzły atrybutów
występowały po innych węzłach atrybutów.
Nie można przetworzyć wyrażenia XQuery.
kod_sql: -16015

494 Komunikaty, tom 2


SQL16016N • SQL16022N

stan_sql: 10507 v Jeśli typ nazwa-typu jest docelowym typem danych


wyrażenia rzutowania, zmień operand na literał łańcucha
lub określ inny docelowy typ danych.
SQL16016N W konstruktorze elementu nazwa atrybutu
nazwa-atrybutu może zostać użyta tylko raz. v Jeśli typ nazwa-typu jest używany jako nazwa funkcji
Błąd: QName=err:XQDY0025. konstruktora, zmień argument na literał łańcucha lub użyj
innej funkcji konstruktora.
Objaśnienie:
W wyrażeniu XQuery nazwa atrybutu nazwa-atrybutu kod_sql: -16018
występuje w konstruktorze elementu więcej niż jeden raz. Jest
to niedozwolone, ponieważ nazwy atrybutów w konstruktorze stan_sql: 10510
elementu muszą być unikalne.

Nie można przetworzyć wyrażenia XQuery. SQL16020N Dla węzła kontekstu w wyrażeniu
określającym ścieżkę brakuje głównego
Działanie użytkownika: węzła dokumentu XQuery. Błąd:
Podaj unikalną nazwę dla każdego atrybutu. QName=err:XPDY0050.

kod_sql: -16016 Objaśnienie:


W wyrażeniu określającym ścieżkę węzeł główny znajdujący
stan_sql: 10503 się ponad węzłem treści musi być węzłem dokumentu XQuery.

Nie można przetworzyć wyrażenia XQuery.


SQL16017N Łańcuch ″?>″ jest niedozwolony w
wyrażeniu nazwy ani w wyrażeniu treści Działanie użytkownika:
obliczanej instrukcji przetwarzania. Błąd: Zmień każde wyrażenie określające ścieżkę tak, aby z węzłem
QName=err:XQDY0026. treści związany był węzeł główny, który jest węzłem
dokumentu XQuery.
Objaśnienie:
W obliczanej instrukcji przetwarzania w wyrażeniu kod_sql: -16020
określającym nazwę lub wyrażeniu określającym treść nie
może występować łańcuch “?>”, ponieważ znaki te są stan_sql: 10507
zarezerwowane do użytku jako ograniczniki końcowe
instrukcji przetwarzania XML.
SQL16021N W deklaracji wersji XQuery określono
Nie można przetworzyć wyrażenia XQuery. nieobsługiwany numer wersji: numer-wersji.
Błąd: QName=err:XQST0031.
Działanie użytkownika:
Usuń łańcuch “?>” z wyrażenia określającego nazwę lub Objaśnienie:
wyrażenia określającego treść. W oprogramowaniu DB2 XQuery nie jest obsługiwany moduł
XQuery wersja numer-wersji, który został określony w
kod_sql: -16017 deklaracji wersji.

stan_sql: 10508 Nie można przetworzyć wyrażenia XQuery.


Działanie użytkownika:
SQL16018N Dla docelowego typu danych nazwa-typu Podaj numer-wersji obsługiwany w oprogramowaniu DB2
operandem wyrażenia rzutowania lub XQuery. Obecnie w DB2 XQuery obsługiwany jest moduł
argumentem funkcji konstruktora nie jest XQuery, wersja 1.0.
literał łańcucha. Błąd:
QName=err:XPST0083. kod_sql: -16021

Objaśnienie: stan_sql: 10502


Docelowy typ danych nazwa-typu jest równy albo xs:QName,
albo jest to typ pochodny od typu xs:QName lub od jednego z
predefiniowanych typów schematów XML xs:NOTATION. SQL16022N Wartość typu typ-wartości nie jest poprawna
Dla każdego z tych typów należy określić literał łańcucha jako w wyrażeniu, w którym używana jest
operand wyrażenia rzutowania lub jako argument funkcji operacja operator. Błąd:
konstruktora. QName=err:XPTY0004.
Objaśnienie:
Nie można przetworzyć wyrażenia XQuery. Typ typ-wartości zdefiniowany dla operandu w wyrażeniu
Działanie użytkownika: XQuery jest niepoprawny, ponieważ w wyrażeniu tym
Wykonaj jedno z następujących działań: używany jest konstruktor lub operator operator.

Rozdział 2. Komunikaty SQL 495


SQL16023N • SQL16026N

Nie można przetworzyć wyrażenia XQuery. v Jeśli nazwa przedrostka jest równa ″xml″ lub ″xmlns″,
zmień nazwę przedrostka na inny prefiks przestrzeni nazw.
Działanie użytkownika:
Podaj poprawnego typu wartość, która ma zostać użyta dla v Jeśli nazwą przedrostka nie jest ″xml″ lub ″xmlns″, zmień
konstruktora lub operatora operator. identyfikator URI przestrzeni nazw podany w deklaracji
prefiksu przestrzeni nazw.
kod_sql: -16022 v Usuń wszystkie deklaracje przestrzeni nazw lub atrybuty
deklaracji przestrzeni nazw, w których określony jest
stan_sql: 10507 przedrostek nazwa-przedrostka.

kod_sql: -16024
SQL16023N W prologu wyrażenia XQuery nie może
występować wiele deklaracji tego samego
stan_sql: 10503
przedrostka przestrzeni nazw
przedrostek-przestrzeni-nazw. Błąd:
QName=err:XQST0033. SQL16025N W wyniku wyrażenia określającego treść
konstruktora komentarzy obliczanych
Objaśnienie:
XQuery występują dwa sąsiadujące ze sobą
W prologu występuje wiele deklaracji przedrostka przestrzeni
łączniki lub znak łącznika występuje na
nazw przedrostek-przestrzeni-nazw. Mimo, że deklaracja
końcu wyniku tego wyrażenia. Błąd:
przestrzeni nazw w prologu może posłużyć do przesłonięcia
QName=err:XQDY0072.
przedrostka, który został wstępnie zadeklarowany w
kontekście statycznym, w prologu może występować tylko Objaśnienie:
jedna deklaracja tego samego przedrostka przestrzeni nazw. W treści określonej dla konstruktora komentarzy obliczanych
XQuery występują niedozwolone kombinacje znaków.
Nie można przetworzyć wyrażenia XQuery. Prawdopodobnie są to dwa sąsiadujące ze sobą znaki łącznika
(lub myślnika) albo ostatni znak jest łącznikiem.
Działanie użytkownika:
Usuń z prologu wszystkie zbędne deklaracje przedrostka lub
Nie można przetworzyć wyrażenia XQuery.
zmień przedrostek przypisany do dodatkowych deklaracji.
Sprawdź, czy przedrostki użyte w zapytaniu odwołują się do Działanie użytkownika:
właściwych przestrzeni nazw. Dla wszystkich konstruktorów komentarzy obliczanych
XQuery usuń z wyrażenia określającego treść niepoprawnie
kod_sql: -16023 użyte znaki łącznika.

stan_sql: 10503 kod_sql: -16025

stan_sql: 10508
SQL16024N Przedrostka nazwa-przedrostka nie można
ponownie zadeklarować lub powiązać z
identyfikatorem URI http://www.w3.org/ SQL16026N Nazwa nazwa-atrybutu jest używana dla
XML/1998/namespace. Błąd: większej liczby atrybutów niż jeden w
QName=err:XQST0070. konstruktorze elementu o nazwie
nazwa-elementu. Błąd:
Objaśnienie:
QName=err:XQST0040.
Predefiniowanych przedrostków ″xml″ lub ″xmlns″ przestrzeni
nazw nie można ponownie zadeklarować za pomocą deklaracji Objaśnienie:
przestrzeni nazw lub atrybutu deklaracji przestrzeni nazw. Nazwa nazwa-atrybutu w elemencie nazwa-elementu nie może
v Jeśli prefiks przestrzeni nazw nazwa-przedrostka jest zostać użyta wiele razy, ponieważ w konstruktorach
jednym z tych predefiniowanych prefiksów przestrzeni elementów muszą występować unikalne nazwy atrybutów.
nazw, jest on używany w deklaracji przestrzeni nazw lub
atrybucie deklaracji przestrzeni nazw, co jest niedozwolone. Nie można przetworzyć wyrażenia XQuery.
v Jeśli nazwą przedrostka nie jest ″xml″ lub ″xmlns″, Działanie użytkownika:
deklaracja przedrostka nazwa-przedrostka określa Użyj unikalnych nazw dla wszystkich atrybutów w elemencie
identyfikator URI przestrzeni nazw powiązany z nazwa-elementu.
przedrostkiem ″xml″, który można powiązać tylko z
przedrostkiem przestrzeni nazw ″xml″. kod_sql: -16026

Nie można przetworzyć wyrażenia XQuery. stan_sql: 10503


Działanie użytkownika:
Wykonaj jedno z następujących działań:

496 Komunikaty, tom 2


SQL16027N • SQL16032N

nazwę QName należącą do przestrzeni nazw


SQL16027N W konstruktorze obliczanej instrukcji
http://www.w3.org/2000/xmlns/ (odpowiadającej
przetwarzania wystąpiła niepoprawna
przedrostkowi przestrzeni nazw xmlns) albo nazwę QName
wartość wyrażenia określającego nazwę:
nie należącą do żadnej przestrzeni nazw i odpowiadająca jej
wartość. Błąd: QName=err:XQDY0041.
lokalna nazwa to xmlns. Przedrostek przestrzeni nazw xmlns
Objaśnienie: jest używany w wyrażeniu XQuery do identyfikowania
Atomizowana wartość wyrażenia określającego nazwę wartość atrybutów deklaracji przestrzeni nazw.
to wartość typu xs:string lub xdt:untypedAtomic, lecz nie
można wykonać rzutowania tej wartości na wartość typu Nie można przetworzyć wyrażenia XQuery.
xs:NCName.
Działanie użytkownika:
Zmodyfikuj wyrażenie określające nazwę związane z
Nie można przetworzyć wyrażenia XQuery.
konstruktorem atrybutu obliczanego, tak aby zwracało wartość
Działanie użytkownika: nie należącą do przestrzeni nazw, której odpowiada
W wyrażeniu określającym nazwę zmień wartość na wartość, przedrostek xmlns.
dla której można wykonać atomizację, a następnie wykonaj
rzutowanie tej wartości na typ xs:NCName. kod_sql: -16030

kod_sql: -16027 stan_sql: 10508

stan_sql: 10508
SQL16031N Opcja języka XQuery o składni łańcuch nie
jest obsługiwana.
SQL16029N Dla dwóch lub większej liczby przestrzeni
Objaśnienie:
nazw w pojedynczym konstruktorze
W wyrażeniu XQuery występuje składnia określona przez
elementu XQuery używany jest ten sam
łańcuch łańcuch, który jest zdefiniowany w standardowej
przedrostek przestrzeni nazw
specyfikacji języka XQuery, lecz nie jest obsługiwany w DB2
nazwa-przedrostka. Błąd:
XQuery.
QName=err:XQST0071.
Objaśnienie: Nie można przetworzyć wyrażenia XQuery.
W pojedynczym konstruktorze elementu obliczanego XQuery
dany przedrostek przestrzeni nazw nazwa-przedrostka może Działanie użytkownika:
być użyty tylko raz. Jeśli dotyczy to przedrostka Usuń z wyrażenia XQuery nieobsługiwane wyrażenie, które
nazwa-przedrostka o wartości ″xmlns″, w konstruktorze rozpoczyna się od łańcucha łańcuch.
elementu obliczanego XQuery podano wiele domyślnych
przestrzeni nazw. kod_sql: -16031

Nie można przetworzyć wyrażenia XQuery. stan_sql: 10509

Działanie użytkownika:
Dla lokalnych deklaracji przestrzeni nazw w konstruktorze SQL16032N Łańcuch łańcuch nie jest poprawnym
elementu obliczanego należy używać unikalnych przedrostków identyfikatorem URI. Błąd:
przestrzeni nazw. Należy także sprawdzić, czy w danym QName=err:XQST0046.
wyrażeniu występuje dokładnie jedna deklaracja lokalnej Objaśnienie:
przestrzeni nazw bez przedrostka. W deklaracji przestrzeni nazw lub atrybucie deklaracji
przestrzeni nazw podano wartość łańcucha, która nie jest
kod_sql: -16029 poprawnym identyfikatorem URI.

stan_sql: 10503 Nie można przetworzyć wyrażenia XQuery.


Działanie użytkownika:
SQL16030N Wartość wartość zwrócona przez wyrażenie Podaj łańcuch, który jest poprawnym identyfikatorem URI.
określające nazwę związane z Poprawny identyfikator URI musi być zgodny z ogólnymi
konstruktorem atrybutu obliczanego należy zasadami dotyczącymi składni identyfikatorów URI
do przestrzeni nazw z przedrostkiem xmlns określonymi przez konsorcjum W3C (World Wide Web
lub nie należy do żadnej przestrzeni nazw, Consortium).
lecz jego nazwa lokalna to xmlns. Błąd:
QName=err:XQDY0044. kod_sql: -16032
Objaśnienie:
To jest błąd dotyczący wyrażenia określającego nazwę, które stan_sql: 10504
jest związane z konstruktorem atrybutu obliczanego i zwraca

Rozdział 2. Komunikaty SQL 497


SQL16033N • SQL16038N

SQL16033N Docelowy typ danych nazwa-typu wyrażenia SQL16035N Wyrażenie sprawdzania poprawności nie
rzutowania lub wyrażenia rzutowanego nie jest obsługiwane w zapytaniu DB2 XQuery.
jest atomowym typem danych Błąd: QName=err:XQST0075.
zdefiniowanym dla typów schematów XML
Objaśnienie:
w zasięgu lub jest typem danych, którego
Opcja sprawdzania poprawności nie jest obsługiwana w DB2
nie można używać w wyrażeniu rzutowania
XQuery, więc wyrażenia sprawdzania nie można użyć w
lub wyrażeniu rzutowanym. Błąd:
wyrażeniu XQuery.
QName=err:XPST0080.
Objaśnienie: Nie można przetworzyć wyrażenia XQuery.
W wyrażeniu rzutowania lub wyrażeniu rzutowanym
występuje docelowy typ danych nazwa-typu, którego nie Działanie użytkownika:
można użyć. Predefiniowane typy schematu XML Usuń wszystkie wyrażenia sprawdzania poprawności z
xs:NOTATION, xs:anySimpleType i xdt:anyAtomicType nie wyrażenia XQuery.
mogą być używane jako docelowy typ wyrażenia rzutowania
lub wyrażenia rzutowanego. Jeśli typ nazwa-typu nie jest sqlcode: -16035
jednym z tych ograniczonych typów, wówczas albo typ danych
nie został zdefiniowany dla typów schematu XML w zasięgu, stan_sql: 10509
albo typ danych nie jest typem atomowym.
SQL16036N Identyfikator URI podany w deklaracji
Nie można przetworzyć wyrażenia XQuery. przestrzeni nazw nie może być łańcuchem o
Działanie użytkownika: długości zero. Błąd:
Wykonaj jedno z następujących działań: QName=err:XQST0085.
v Jeśli docelowym typem danych jest xs:NOTATION, Objaśnienie:
xs:anySimpleType lub xdt:anyAtomicType, podaj inny W deklaracji przestrzeni nazw należy podać poprawny
docelowy typ danych lub usuń wyrażenie rzutowania lub identyfikator URI zgodny z ogólnymi zasadami dotyczącymi
wyrażenie rzutowane. składni identyfikatorów URI określonymi przez konsorcjum
v Jeśli docelowy typ danych nie jest definiowany przez typy W3C (World Wide Web Consortium). Identyfikator URI nie
XML w zasięgu, podaj typ danych znajdujący się w zasięgu może być łańcuchem o długości zero.
lub zmień schemat XML, aby uwzględniał ten typ danych.
Nie można przetworzyć wyrażenia XQuery.
v Jeśli docelowy typ danych nie jest atomowy, podaj inny
docelowy typ danych lub usuń wyrażenie rzutowania lub Działanie użytkownika:
wyrażenie rzutowane. Podaj w deklaracji przestrzeni nazw poprawny identyfikator
URI.
kod_sql: -16033
kod_sql: -16036
stan_sql: 10507
stan_sql: 10504
SQL16034N Nazwa QName nazwa-qname jest używana
jako typ atomowy w typie sekwencyjnym, SQL16038N Argumenty funkcji fn:dateTime określają
ale nie została zdefiniowana jako typ różne strefy czasowe. Błąd:
atomowy w definicjach typów schematów w QName=err:FORG0008.
zasięgu. Błąd: QName=err:XPST0051.
Objaśnienie:
Objaśnienie: W funkcji fn:dateTime użyto argumentów określających różne
Nazwa QName nazwa-qname nie może być używana jako typ strefy czasowe. Strefy czasowe odpowiadające obu
atomowy, ponieważ nie została zdefiniowana jako typ argumentom mogą być jawnie określone przez część ich
atomowy w definicjach typów schematów w zasięgu. Błąd: wartości, albo mogą wynikać z użycia niejawnych wartości
QName=err:XPST0051. stref czasowych dla środowiska wykonawczego XQuery dla
jednego z argumentów.
Działanie użytkownika:
Użyj nazwy QName, która jest zdefiniowana jako typ
atomowy. Nie można przetworzyć wyrażenia XQuery.
Działanie użytkownika:
kod_sql: -16034 Upewnij się, że dla obu argumentów funkcji fn:dateTime
używana jest ta sama strefa czasowa.
stan_sql: 10503
kod_sql: -16038

498 Komunikaty, tom 2


SQL16039N • SQL16045N

stan_sql: 10608 v pojedyncza sekwencja o wartości typu xs:string,


xdt:untypedAtomic lub typu pochodnego od jednego z tych
typów;
SQL16039N W funkcji nazwa-funkcji jako argument
numer-argumentu oczekiwany był literał v pojedyncza sekwencja z wartością dowolnego typu
łańcuchowy. liczbowego lub pochodną dowolnego typu liczbowego.

Objaśnienie: Nie można przetworzyć wyrażenia XQuery.


W funkcji określonej przez nazwę nazwa-funkcji dla
argumentu o numerze numer-argumentu wymagany jest literał Działanie użytkownika:
łańcuchowy. W wyrażeniu XQuery występuje wywołanie Określ możliwe wyrażenia w ramach wyrażenia XQuery, w
funkcji nazwa-funkcji, w którym nie ma literału których efektywna wartość boolowska jest obliczana niejawnie
łańcuchowego. lub jawnie. Niejawne wywołanie funkcji fn:boolean może
wystąpić podczas przetwarzania następujących typów
Nie można przetworzyć wyrażenia XQuery. wyrażeń:
v wyrażenia logiczne (and, or)
Działanie użytkownika:
Zmień wartość argumentu numer-argumentu funkcji v wywołania funkcji fn:not
nazwa-funkcji na literał łańcuchowy. v klauzula where w wyrażeniu FLWOR
v niektóre typy predykatów, takie jak a[b]
kod_sql: -16039
v wyrażenia warunkowe, takie jak if
stan_sql: 10608 v wyrażenia kwantyfikowane (some, every)

Upewnij się, że operand sekwencji obliczania każdej


SQL16040N Argument funkcji nazwa-funkcji nie określa efektywnej wartości boolowskiej ma poprawny operand
pojedynczej kolumny SQL z danymi typu sekwencji (opisany w objaśnieniu).
XML.
Objaśnienie: sqlcode: -16041
Dla funkcji nazwa-funkcji wymagany jest argument
określający tabelę wynikową SQL z pojedynczą kolumną stan_sql: 10608
danych typu XML. W wypadku funkcji db2-fn:xmlcolumn
należy określić kolumnę w tabeli lub widoku z danymi SQL SQL16042N Wyrażenie nazwy w obliczanym
typu XML. W wypadku funkcji db2-fn:sqlquery podane jako konstruktorze instrukcji przetwarzania nie
argument zapytanie SQL musi określać pojedynczą kolumnę w może być równe ″XML″ w żadnej
zewnętrznej pełnej selekcji o typie danych SQL XML. kombinacji wielkich i małych liter. Błąd:
Działanie użytkownika: QName=err:XQDY0064.
Popraw argument funkcji nazwa-funkcji, tak aby zwracał Objaśnienie:
pojedynczą kolumnę z danymi SQL typu XML. Nazwa NCName wynikająca z wyrażenia określającego
nazwę, które występuje w konstruktorze obliczanej instrukcji
kod_sql: -16040 przetwarzania, nie może być równa łańcuchowi znaków XML
ani żadnej innej kombinacji wielkich i małych liter tego
stan_sql: 10608 łańcucha.

SQL16041N W niejawnym lub jawnym wywołaniu Nie można przetworzyć wyrażenia XQuery.
funkcji fn:boolean w wyrażeniu XQuery nie Działanie użytkownika:
można było obliczyć efektywnej wartości Zmodyfikuj wyrażenie określające nazwę, tak aby jego
boolowskiej sekwencji. Błąd: wynikiem była nazwa NCName inna niż XML.
QName=err:FORG0006.
Objaśnienie: kod_sql: -16042
Ten błąd występuje, jeśli efektywna wartość boolowska
operandu sekwencji jawnych lub niejawnych wywołań funkcji stan_sql: 10508
fn:boolean nie może zostać obliczona dla operandu sekwencji.
Efektywna wartość boolowska może zostać obliczona tylko
SQL16045N W wyrażeniu XQuery wystąpił
wtedy, gdy operand jest jedną z następujących sekwencji:
niezidentyfikowany błąd. Błąd:
v pusta sekwencja; QName=err:FOER0000.
v sekwencja, w której wartość pierwszego elementu jest
Objaśnienie:
węzłem;
W wyrażeniu XQuery wystąpił niezidentyfikowany błąd.
Działanie użytkownika:

Rozdział 2. Komunikaty SQL 499


SQL16046N • SQL16051N

Popraw błąd w wyrażeniu XQuery. Ten błąd może zostać zwrócony przez różne nazwy QName
błędu, takie jak err:XQST0055, err:XQST0065,
kod_sql: -16045 err:XQST0066, err:XQST0067, err:XQST0068 i
err:XQST0069.
stan_sql: 10611
Nie można przetworzyć wyrażenia XQuery.
SQL16046N W liczbowym wyrażeniu XQuery nastąpiła Działanie użytkownika:
próba dzielenia przez zero. Błąd: Usuń z prologu wszystkie dodatkowe deklaracje typu
QName=err:FOAR0001. typ-deklaracji.
Objaśnienie:
kod_sql: -16048
W operacji dzielenia lub obliczania wartości modulo wystąpiła
próba dzielenia wartości całkowitej lub dziesiętnej przez zero.
stan_sql: 10502
Nie można przetworzyć wyrażenia XQuery.
SQL16049N Wartość leksykalna wartość nie jest
Działanie użytkownika:
poprawna w przypadku typu danych
Użyj dzielnika o wartości różnej od zera.
typ-danych w funkcji lub rzutowaniu. Błąd:
QName=err:FOCA0002.
kod_sql: -16046
Objaśnienie:
stan_sql: 10601 W wyrażeniu określającym rzutowanie lub wywołaniu funkcji
występuje wartość o niepoprawnej formie leksykalnej dla typu
danych nazwa-typu.
SQL16047N Podczas obliczania wartości wyrażenia
XQuery wystąpiło arytmetyczne Nie można przetworzyć wyrażenia XQuery.
przepełnienie lub niedomiar. Błąd:
QName=err:FOAR0002. Działanie użytkownika:
Spróbuj wykonać jedno z następujących działań:
Objaśnienie:
Wynikiem operacji arytmetycznej jest wartość, która była v Jeśli ten błąd wystąpił podczas wywołania funkcji, sprawdź,
większa niż dopuszczalna wartość maksymalna lub mniejsza czy format parametrów łańcuchowych użytych jako nazwy
niż wymagana dozwolona wartość minimalna. QName lub nazwy lokalne jest poprawny.
v Jeśli ten błąd wystąpił w wyrażeniu określającym
Nie można przetworzyć wyrażenia XQuery. rzutowanie, sprawdź, czy wartość źródłowa nie jest jedną ze
specjalnych wartości typu float lub double: NaN, INF albo
Działanie użytkownika: -INF.
Zmodyfikuj wyrażenie tak, aby podczas obliczania go nie
występowało arytmetyczne przepełnienie ani niedomiar. kod_sql: -16049

kod_sql: -16047 stan_sql: 10602

stan_sql: 10601
SQL16051N Wartość ″wartość″ typu danych
″typ-źródłowy″ jest poza zakresem
SQL16048N W prologu XQuery może wystąpić tylko niejawnego lub jawnego rzutowania na
jedna deklaracja typu typ-deklaracji. Błąd: docelowy typ danych ″typ-docelowy″. Błąd:
QName=err:nazwa-qname-błędu. QName=err:nazwa-błędu.
Objaśnienie: Objaśnienie:
Zadeklarowanie w prologu więcej niż jednej deklaracji Wyrażenie XQuery wymaga, aby wartość wartość o typie
typ-deklaracji powoduje wygenerowanie błędu. Typ deklaracji danych typ-źródłowy była rzutowana, niejawnie lub jawnie, na
typ-deklaracji jest jedną z następujących deklaracji, które docelowy typ danych typ-docelowy. Wartość jest poza
można określić w prologu XQuery: zdefiniowanym zakresem wartości dla tego typu danych. Jeśli
v kopiowanie przestrzeni nazw typ-docelowy to xs:dateTime lub typ danych pochodny w
v porządkowanie stosunku do xs:dateTime, to zakres jest stosowany do wartości
w określonej strefie czasowej oraz wartości przekształconej na
v domyślna przestrzeń nazw elementu
czas UTC przy użyciu komponentu strefy czasowej tej
v domyślna przestrzeń nazw funkcji wartości.
v konstrukcja
v granica-obszar
v domyślny pusty porządek

500 Komunikaty, tom 2


SQL16052N • SQL16056N

Ten błąd może zostać zwrócony przez różne nazwy QName


SQL16054N Format normalizacji format określony jako
błędu, takie jak err:FOAR0002, err:FOCA0001,
argument funkcji fn:normalize-unicode jest
err:FOCA0003, err:FODT0001, err:FODT0002 oraz
nieobsługiwany. Błąd:
err:FORG0001.
QName=err:FOCH0003.
Nie można przetworzyć wyrażenia XQuery. Objaśnienie:
Efektywna wartość format, którą przekazano do funkcji
Działanie użytkownika: fn:normalize-unicode jako argument formatu normalizacji, jest
Zmień wyrażenie XQuery, tak aby akceptowało docelowy typ nieobsługiwana. Efektywna wartość formatu normalizacji jest
danych w zakresie obejmującym wartość wartość, lub zmień obliczana przez usunięcie wiodących i końcowych znaków
wartość, tak aby mieściła się w zakresie zdefiniowanym dla pustych (o ile występują) i przekształcenie łańcucha w łańcuch
docelowego typu danych typ-docelowy. składający się z wielkich liter.

kod_sql: -16051 Nie można przetworzyć wyrażenia XQuery.

stan_sql: 10602 Działanie użytkownika:


Przekaż do funkcji fn:normalize-unicode oczekiwany format
normalizacji.
SQL16052N W operacji typu data-godzina nie można
użyć wartości nieokreślonej (NaN) jako kod_sql: -16054
wartości typu float lub double. Błąd:
QName=err:FOCA0005.
stan_sql: 10603
Objaśnienie:
Dla operacji typu data-godzina jako argument przekazana
SQL16055N Podczas operacji arytmetycznej, w której
została wartość nieokreślona, lecz wartość nieokreślona nie
użyta została wartość typu data-godzina,
jest poprawną wartością parametru operacji data-godzina.
nastąpiło przepełnienie. Błąd:
QName=err:FODT0001.
Nie można przetworzyć wyrażenia XQuery.
Objaśnienie:
Działanie użytkownika: Wynikiem operacji arytmetycznej, w której użyta została
Przekaż dla operacji typu data-godzina poprawną wartość typu wartość typu data-godzina, była wartość większa niż
float lub double. dozwolona wartość maksymalna.

kod_sql: -16052 Nie można przetworzyć wyrażenia XQuery.

stan_sql: 10602 Działanie użytkownika:


Zmodyfikuj wyrażenie XQuery, tak aby jego wynikiem była
liczba nie większa niż dozwolona wartość maksymalna.
SQL16053N Punkt kodowy punkt-kodowy jest
niepoprawny w łańcuchu znaków. Błąd: kod_sql: -16055
QName=err:FOCH0001.
Objaśnienie: stan_sql: 10605
W wartości, którą przekazano do funkcji
fn:codepoints-to-string, w wyrażeniu XQuery występuje punkt
SQL16056N Podczas operacji arytmetycznej, w której
kodowy, który nie jest dozwolonym znakiem XML.
użyta została wartość określająca przedział
czasu, nastąpiło przepełnienie. Błąd:
Nie można przetworzyć wyrażenia XQuery. QName=err:FODT0002.
Działanie użytkownika: Objaśnienie:
Zmodyfikuj argument, tak aby przekazywane były tylko Wynikiem operacji arytmetycznej, w której użyta została
poprawne punkty kodowe, lub usuń dane wyrażenie. wartość określająca przedział czasu, była wartość większa niż
dozwolona wartość maksymalna.
kod_sql: -16053
Nie można przetworzyć wyrażenia XQuery.
stan_sql: 10603
Działanie użytkownika:
Zmodyfikuj wyrażenie XQuery, tak aby jego wynikiem była
liczba nie większa niż dozwolona wartość maksymalna.

kod_sql: -16056

Rozdział 2. Komunikaty SQL 501


SQL16057N • SQL16061N

stan_sql: 10605 kod_sql: -16059

stan_sql: 10607
SQL16057N Wartość strefy czasowej wartość jest
niepoprawna. Błąd:
QName=err:FODT0003. SQL16060N Nie można znaleźć przestrzeni nazw dla
przedrostka podanego w nazwie QName
Objaśnienie:
wartość-qname. Błąd:
W wyrażeniu XQuery określono wartość strefy czasowej
QName=err:FONS0004.
wartość mniejszą niż -PT14H00M lub większą niż
PT14H00M. Objaśnienie:
Nie można rozstrzygnąć rozszerzonej nazwy QName danego
Nie można przetworzyć wyrażenia XQuery. elementu, ponieważ brak przestrzeni nazw dla przedrostka
podanego w nazwie QName.
Działanie użytkownika:
Podaj wartość strefy czasowej większą niż -PT14H00M i
Nie można przetworzyć wyrażenia XQuery.
mniejszą niż PT14H00M.
Działanie użytkownika:
kod_sql: -16057 Dodaj deklarację przestrzeni nazw, aby powiązać dany
przedrostek z identyfikatorem URI, albo podaj inny
stan_sql: 10605 przedrostek w nazwie QName.

kod_sql: -16060
SQL16058N Brak elementu kontekstu zdefiniowanego
dla funkcji lub operacji funkcja-lub-operacja.
stan_sql: 10607
Błąd: QName=err:FONC0001.
Objaśnienie:
SQL16061N Wartości wartość nie można konstruować
Funkcja lub operacja nazwa jest oparta na elemencie
jako typu danych typ-danych ani jej
kontekstu, lecz nie został on zdefiniowany.
rzutować (przy użyciu rzutowania
niejawnego lub jawnego) na ten typ danych.
Nie można przetworzyć wyrażenia XQuery.
Błąd: QName=err:FORG0001.
Działanie użytkownika:
Objaśnienie:
Zmodyfikuj wyrażenie XQuery, tak aby dla funkcji lub
W wyrażeniu XQuery wystąpiła próba użycia wartości
operacji nazwa był zdefiniowany element kontekstu. Jeśli ta
wartość jako wartości typu typ-danych, lecz ta wartość jest
funkcja lub operacja korzysta z elementu kontekstu, ponieważ
niepoprawna dla tego typu danych. Prawdopodobne przyczyny
został pominięty argument, wówczas należy zmodyfikować
tego błędu:
wyrażenie tak, aby element kontekstu był zdefiniowany przed
wywołaniem funkcji. v Wartość wartość została przekazana do funkcji
konstruktora, wymagającej wartości typu typ-danych.
kod_sql: -16058 v Wartość wartość została jawnie przekazana do funkcji
rzutowania lub określona w wyrażeniu rzutowania z
stan_sql: 10606 docelowym typem danych typ-danych.
v W wyrażeniu, w którym wystąpiła wartość wartość,
wykonywane jest niejawne rzutowanie tej wartości na
SQL16059N Brak znanej statycznie przestrzeni nazw dla
docelowy typ danych typ-danych. Podczas przetwarzania
przedrostka w wartości wartość rzutowanej
wielu wyrażeń XQuery używane jest niejawne rzutowanie.
na nazwę xs:QName. Błąd:
Na przykład niejawne rzutowanie jest używane podczas
QName=err:FONS0003.
ogólnych porównań wartości liczbowych, gdy wymagane są
Objaśnienie: wartości typu danych xs:double.
W wyrażeniu XQuery określającym rzutowanie na nazwę v Jeśli podczas przetwarzania SQL zapytanie XQuery jest
xs:QName podano wartość wartość z przedrostkiem, którego wywoływane w celu wykonania rzutowania wartości
nie można odwzorować na identyfikator URI, ponieważ wartość z typu danych XML na typ danych SQL inny niż
brakuje statycznie znanej przestrzeni nazw dla tego XML, rzutowanie XQuery jest wykonywane za pomocą
przedrostka. tymczasowo wyprowadzonego typu schematu XML, który
jest generowany za pomocą nazwy opartej na typie danych
Nie można przetworzyć wyrażenia XQuery. SQL i powiązanych ograniczeniach wielkości. Na przykład
Działanie użytkownika: dla rzutowania typu XMLCAST na typ VARCHAR(50)
W wyrażeniu określającym rzutowanie podaj w wartości wartość elementu typ-danych jest równa ″VARCHAR_50″,
przedrostek istniejący jako statycznie znana przestrzeń nazw. a dla rzutowania typu XMLCAST na typ DECIMAL(9,2) -
Jeśli dany przedrostek jest poprawny, sprawdź, czy istnieje jest równa ″DECIMAL_9_2″.
deklaracja przestrzeni nazw dla tego przedrostka.

502 Komunikaty, tom 2


SQL16062N • SQL16066N

Nie można przetworzyć wyrażenia XQuery.


SQL16064N Argument przekazany do funkcji
Działanie użytkownika: fn:exactly-one jest niepoprawny, ponieważ
Spróbuj wykonać jedno z następujących działań: dana sekwencja jest pusta lub występuje w
v Użyj w konstruktorze lub wyrażeniu określającym niej więcej niż jeden element. Błąd:
rzutowanie wartości poprawnej dla typu danych typ-danych. QName=err:FORG0005.
v Jeśli ten błąd wystąpił w wyrażeniu, w którym używane jest Objaśnienie:
rzutowanie danych typu podstawowego na inny typ W sekwencji przekazanej jako argument do funkcji
podstawowy, upewnij się, że obsługiwane jest rzutowanie z fn:exactly-one nie występuje dokładnie jeden element.
danego typu źródłowego na dany typ docelowy. Jeśli takie
Działanie użytkownika:
rzutowanie nie jest obsługiwane, usuń to wyrażenie lub użyj
Zmodyfikuj wyrażenie, tak aby w sekwencji przekazywanej do
rzutowania danej wartości na inny typ danych.
funkcji fn:exactly-one występował dokładnie jeden element.
v Sprawdź, czy nie zostały użyte wyrażenia, w których
mogłoby zostać wykonane niejawne rzutowanie wartości o kod_sql: -16064
typie danych niezgodnym z typami danych w tym
niejawnym rzutowaniu i dodaj do wyrażenia odpowiednie stan_sql: 10608
warunki, aby uniknąć tej sytuacji.

kod_sql: -16061 SQL16065N Pustej sekwencji nie można skonstruować


jako wartości typu typ-danych ani nie można
stan_sql: 10608 wykonać rzutowania pustej sekwencji na
ten typ danych. Błąd:
QName=err:FORG0006.
SQL16062N Argument przekazany do funkcji
fn:zero-or-one jest niepoprawny, ponieważ Objaśnienie:
w danej sekwencji występuje więcej niż W wypadku typu danych typ-danych podanego w
jeden element. Błąd: konstruktorze lub wyrażeniu określającym rzutowanie nie jest
QName=err:FORG0003. obsługiwane rzutowanie lub konstruowanie pustej sekwencji
określonego typu.
Objaśnienie:
W sekwencji przekazanej jako argument do funkcji Działanie użytkownika:
fn:zero-or-one występuje więcej niż jeden element. Do konstruktora lub wyrażenia określającego rzutowanie
przekaż wartość, która nie jest pustą sekwencją.
Nie można przetworzyć wyrażenia XQuery.
kod_sql: -16065
Działanie użytkownika:
Zmodyfikuj wyrażenie, tak aby w sekwencji przekazywanej do stan_sql: 10608
funkcji fn:zero-or-one występował tylko jeden element lub aby
była to sekwencja pusta.
SQL16066N Argument przekazany do funkcji
kod_sql: -16062 agregującej nazwa-funkcji jest niepoprawny.
Błąd: QName=err:FORG0006.
stan_sql: 10608 Objaśnienie:
Argument przekazany do funkcji agregującej nazwa-funkcji
SQL16063N Argument przekazany do funkcji jest niepoprawny, ponieważ nie spełnia jednego z warunków,
fn:one-or-more jest niepoprawny, ponieważ które muszą spełnić argumenty funkcji nazwa-funkcji.
dana sekwencja jest pusta. Błąd: Działanie użytkownika:
QName=err:FORG0004. Spróbuj wykonać jedno z następujących działań:
Objaśnienie: v Jeśli dotyczy to funkcji fn:avg, upewnij się, że spełnione są
Sekwencja przekazana jako argument do funkcji następujące warunki: jeśli w sekwencji wejściowej
fn:one-or-more jest pusta. występują wartości określające przedział czasu, muszą to
być same wartości xdt:yearMonthDuration lub same
Działanie użytkownika: wartości xdt:dayTimeDuration; jeśli w sekwencji
Zmodyfikuj wyrażenie, tak aby sekwencja przekazywana do wejściowej występują wartości liczbowe, muszą to być
funkcji fn:one-or-more nie była sekwencją pustą. wartości, które można przekształcić przez promocję do
pojedynczego wspólnego typu danych, będącego jednym z
kod_sql: -16063 następujących czterech typów liczbowych:
xdt:yearMonthDuration, xdt:dayTimeDuration lub podtypy
stan_sql: 10608 tych typów.

Rozdział 2. Komunikaty SQL 503


SQL16067N • SQL16071N

v Jeśli dotyczy to funkcji fn:max lub fn:min, upewnij się, że wyrażeń XQuery. Opis przeznaczonych dla schematu XML
spełnione są następujące warunki: wszystkie elementy w rozszerzeń składni wyrażeń regularnych specyficznych dla
sekwencji wejściowej muszą być wartościami liczbowymi wyrażeń XQuery można znaleźć w dokumentacji produktu.
lub wartościami opartymi na pojedynczym typie
Działanie użytkownika:
podstawowym, dla których zdefiniowany jest operator gt
Podaj poprawną wartość wartość wyrażenia regularnego.
(dla funkcji fn:max) lub operator lt (dla funkcji fn:min);
jeśli w sekwencji wejściowej występują wartości liczbowe,
muszą to być wartości, które można przekształcić przez kod_sql: -16068
promocję do pojedynczego wspólnego typu danych, i muszą
one mieć porządek liniowy; jeśli w sekwencji wejściowej stan_sql: 10609
występują wartości określające przedział czasu, muszą to
być tylko wartości xdt:yearMonthDuration lub tylko SQL16069N Argument wyrażenia regularnego wartość
wartości xdt:dayTimeDuration. przekazany do funkcji nazwa-funkcji jest
v Jeśli dotyczy to funkcji fn:sum, upewnij się, że spełnione są zgodny z łańcuchem o zerowej długości.
następujące warunki: wszystkie elementy w sekwencji Błąd: QName=err:FORX0003.
wejściowej muszą być wartościami liczbowymi lub
Objaśnienie:
wartościami pochodnymi jednego typu podstawowego; dla
Wartość wartość podana dla parametru wzorca w wywołaniu
tego typu musi być obsługiwana operacja dodawania; jeśli
funkcji nazwa-funkcji jest zgodna z łańcuchem o długości
w sekwencji wejściowej występują wartości liczbowe,
zero. Łańcuch o długości zero nie jest poprawnym wzorcem
muszą to być wartości, które można przekształcić przez
dla danej funkcji, ponieważ wzorzec ten nigdy nie będzie
promocję do jednego wspólnego typu danych; jeśli w
zgodny z podłańcuchem w łańcuchu wejściowym.
sekwencji wejściowej występują wartości określające
przedział czasu, muszą to być tylko wartości Działanie użytkownika:
xdt:yearMonthDuration lub tylko wartości Przekaż w wywołaniu funkcji poprawny wzorzec lub usuń to
xdt:dayTimeDuration. wywołanie funkcji z wyrażenia.

kod_sql: -16066 kod_sql: -16069

stan_sql: 10608 stan_sql: 10609

SQL16067N Argument flag wartość przekazany do SQL16070N Wartość wartość argumentu łańcucha
funkcji nazwa-funkcji nie jest poprawny. wymiany przekazana do funkcji fn:replace
Błąd: QName=err:FORX0001. jest niepoprawna. Błąd:
QName=err:FORX0004.
Objaśnienie:
W funkcji nazwa-funkcji występuje wartość, która została Objaśnienie:
przekazana do tej funkcji jako parametr flag wyrażenia Wartość wartość określona dla parametru łańcucha wymiany
regularnego. Jednak w łańcuchu przekazanym do funkcji w wywołaniu funkcji fn:replace jest niepoprawna, ponieważ w
występują znaki, które nie są zdefiniowane jako flagi. wartości tej występuje jeden lub więcej następujących
niepoprawnych znaków:
Działanie użytkownika:
Zmodyfikuj wywołanie funkcji, tak aby do funkcji v znak “$”, po którym nie występuje cyfra 0-9 i przed którym
przekazywany był argument w formie łańcucha, w którym nie występuje znak “\”;
występują tylko znaki zdefiniowane jako flagi. Dozwolone są v znak “\”, który nie jest częścią pary “\\” lub po którym nie
między innymi następujące znaki: s, m, i lub x. występuje znak “$”.
Działanie użytkownika:
kod_sql: -16067
Użyj dla łańcucha wymiany wartości, w której występują tylko
poprawne znaki.
stan_sql: 10609
kod_sql: -16070
SQL16068N Argument wyrażenia regularnego wartość
przekazany do funkcji nazwa-funkcji nie jest stan_sql: 10609
poprawny. Błąd: QName=err:FORX0002.
Objaśnienie: SQL16071N Nie można przetworzyć funkcji
Wartość wartość przekazana do funkcji nazwa-funkcji jest nazwa-funkcji, ponieważ dany element
niepoprawna, ponieważ jest niezgodna z regułami kontekstu, który został potraktowany jako
dotyczącymi wyrażeń regularnych w zapytaniach XQuery. argument, nie jest węzłem XQuery. Błąd:
Reguły te oparte są na składni wyrażeń regularnych określonej QName=err:FOTY0011.
w schemacie XML z pewnymi dodanymi do tej składni
rozszerzeniami zapewniającymi możliwość obsłużenia Objaśnienie:

504 Komunikaty, tom 2


SQL16072N • SQL16077N

Funkcja nazwa-funkcji jest oparta na węźle kontekstu, lecz kod_sql: -16074


dany element kontekstu nie jest węzłem.
stan_sql: 10902
Działanie użytkownika:
Zmodyfikuj wyrażenie XQuery, tak aby dany element
kontekstu był węzłem. Jeśli dana funkcja korzysta z elementu SQL16075N W sekwencji, która ma zostać
kontekstu, ponieważ został pominięty argument, wówczas przekształcona do postaci szeregowej,
przed wywołaniem funkcji należy zmodyfikować wyrażenie występuje element, który jest węzłem
tak, aby element kontekstu był węzłem. atrybutu. Błąd: QName=err:SENR0001.
Objaśnienie:
kod_sql: -16071
Wystąpiło żądanie przekształcenia wartości XML do postaci
szeregowej. Wartość XML to sekwencja, w której występuje
stan_sql: 10610
element będący węzłem atrybutu XQuery. Dla węzła atrybutu
nie zdefiniowano normalizacji sekwencji takiej, jak element w
SQL16072N Nie można porównać elementów argumentu danej sekwencji, dlatego nie można przekształcić tej sekwencji
sekwencji w funkcji fn:index-of z do postaci szeregowej.
argumentem wyszukiwania. Błąd:
QName=err:FOTY0012. Nie można wykonać instrukcji.
Objaśnienie: Działanie użytkownika:
Przekazany do funkcji fn:index-of argument sekwencji jest Usuń z sekwencji wszystkie elementy, w których występują
niepoprawny, ponieważ elementów tej sekwencji nie można tylko węzły atrybutów, albo nie dokonuj próby przekształcenia
porównać z argumentem wyszukiwania. tej sekwencji do postaci szeregowej.
Działanie użytkownika:
kod_sql: -16075
Przekaż do funkcji fn:index-of sekwencję z elementami, które
można porównać z argumentem wyszukiwania.
stan_sql: 2200W
kod_sql: -16072
SQL16076N Przekroczono limit identyfikatora
stan_sql: 10610 wewnętrznego, wynoszący limit, dla liczby
dopasowanych węzłów XQuery.
SQL16074N Wartość typu atomowego XQuery z Objaśnienie:
reprezentacją leksykalną zaczynającą się Dla wyrażenia XQuery używanego do określenia zgodności
wartością wartość typu nazwa-typu nie może węzłów XQuery obowiązuje ograniczenie do limit zgodnych
zostać przetworzona w operacji lub funkcji węzłów. W wypadku wyrażenia XQuery, z którego zwrócony
XQuery nazwa, ponieważ jej długość został ten błąd, nastąpiło przekroczenie ograniczenia liczby
przekracza limit wielkość bajtów dla tej zgodnych węzłów XQuery.
operacji lub funkcji.
Nie można wykonać instrukcji.
Objaśnienie:
W dokumencie XML znajduje się wartość atomowa o Działanie użytkownika:
reprezentacji leksykalnej, na początku której występuje Należy zmodyfikować to wyrażenie XQuery, tak aby uniknąć
wartość wartość o wielkości przekraczającej ograniczenie użycia znaków wieloznacznych, testów określających typy
wielkości do wielkość bajtów obowiązujące dla typu danych węzłów i osi potomków. Można również użyć wyrażenia
XQuery nazwa-typu, gdy dana wartość używana jest w XQuery z wartością o zmniejszonej liczbie węzłów XQuery, o
operacji lub funkcji XQuery wskazanej przez nazwę nazwa. W ile to możliwe, przez podzielenie danej wartości na mniejsze
danej instrukcji następuje próba użycia wartości atomowej w wartości.
operacji lub funkcji nazwa.
kod_sql: -16076
Nie można wykonać instrukcji.
Działanie użytkownika: stan_sql: 10903
Można zastosować między innymi następujące metody
uniknięcia tego ograniczenia wielkości: SQL16077N Wartości wyrażenia nazwy łańcuch-nazwy w
v Zmień wartość w dokumencie XML, tak aby jej długość nie obliczanym konstruktorze elementu,
przekraczała ograniczenia do wielkość bajtów, na przykład obliczanym konstruktorze atrybutu lub
korzystając z funkcji fn:substring. wyrażeniu zmiany nazwy nie można
v Nie używaj tej wartości w operacji lub funkcji XQuery o przekształcić w rozwiniętą nazwę Qname.
nazwie nazwa, dla której określone jest ograniczenie Błąd: QName=err:XQDY0074.
długości. Objaśnienie:

Rozdział 2. Komunikaty SQL 505


SQL16080N • SQL16083N

Wartość łańcuch-nazwy ma typ danych xs:string lub Nie można przetworzyć wyrażenia XQuery.
xs:untypedAtomic, który musi być przekształcony w
Działanie użytkownika:
rozwiniętą nazwę Qname. To przekształcenie nie jest możliwe,
Upewnij się, że wyrażenie w klauzuli modify każdego
jeśli łańcuch nie jest zgodny z leksykalną formą wartości
wyrażenia transformacji zawiera podstawowe wyrażenie
xs:QName lub jeśli prefiks przestrzeni nazw tej wartości nie
aktualizujące lub jest wyrażeniem pustej sekwencji.
znajduje się w przestrzeniach nazw znanych podczas
przetwarzania statycznego zapytania XQuery.
kod_sql: -16081
Nie można przetworzyć wyrażenia XQuery.
stan_sql: 10702
Działanie użytkownika:
Upewnij się, że wyrażenie nazwy zwraca poprawną wartość
nazwa-łańcucha w leksykalnej formie wartości xs:QName, SQL16082N Węzeł docelowy w co najmniej jednym
którą można przekształcić w rozwiniętą nazwę Qname w wyrażeniu typu typ-wyrażenia nie jest
wyrażeniu XQuery. Jeśli prefiks przestrzeni nazw nie znajduje węzłem, który został nowo utworzony w
się w przestrzeni nazw znanej podczas przetwarzania klauzuli copy wyrażenia transformacji.
statycznego, dodaj deklarację przestrzeni nazw w prologu Błąd: QName=err:XUDY0014.
XQuery, aby powiązać identyfikator URI przestrzeni nazw z Objaśnienie:
prefiksem przestrzeni nazw w wartości nazwa-łańcucha. Węzeł docelowy podstawowego wyrażenia aktualizującego
musi być węzłem, który został nowo utworzony przez klauzulę
kod_sql: -16077 copy wyrażenia transformacji. Co najmniej jedno wyrażenie
typu typ-wyrażenia ma węzeł docelowy, który nie jest nowo
stan_sql: 10508 utworzony.

Nie można przetworzyć wyrażenia XQuery.


SQL16080N Wyrażenie XQuery zawiera co najmniej
jedno wyrażenie typu typ-wyrażenia poza Działanie użytkownika:
klauzulą modify wyrażenia transformacji. Upewnij się, że węzły docelowe dla każdego wyrażenia typu
Błąd: QName=err:XUST0001. typ-wyrażenia i wszelkich innych podstawowych wyrażeń
aktualizujących są nowo utworzone przez klauzulę copy
Objaśnienie:
wyrażenia transformacji.
Podstawowe wyrażenie aktualizujące jest określone w
wyrażeniu, które nie jest częścią klauzuli modify wyrażenia
transformacji. Skutkiem co najmniej jednego wyrażenia typu kod_sql: -16082
typ-wyrażenia jest wyrażenie aktualizujące w kontekście, w
którym można określić tylko wyrażenie nieaktualizujące. stan_sql: 10703

Nie można przetworzyć wyrażenia XQuery. SQL16083N W klauzuli modify wyrażenia transformacji
Działanie użytkownika: istnieją niezgodne wyrażenia typu
Usuń wyrażenie typu typ-wyrażenia i wszelkie inne ″typ-wyrażenia″. Błąd:
podstawowe wyrażenia aktualizujące ze wszystkich wyrażeń, QName=err:nazwa-błędu.
które nie są zawarte w klauzuli modify wyrażenia Objaśnienie:
transformacji. Klauzula modify wyrażenia transformacji zawiera wiele
wyrażeń typu typ-wyrażenia operujących na tym samym węźle
kod_sql: -16080 docelowym. Te podstawowe wyrażenia aktualizujące nie są
zgodne, ponieważ wynik oparty na kolejności przetwarzania
stan_sql: 10701 wyrażeń typu typ-wyrażenia byłby niedeterministyczny.

Na poniższej liście podano przyczynę błędu odpowiednio do


SQL16081N Wyrażenie XQuery w klauzuli modify
nazwy QName błędu:
wyrażenia transformacji nie jest
wyrażeniem aktualizującym ani err:XUDY0015
wyrażeniem pustej sekwencji. Błąd: Jeśli wartością typ-wyrażenia jest ″rename″, to
QName=err:XUST0002. istnieje więcej niż jedno wyrażenie zmiany nazwy
odnoszące się do tego samego węzła docelowego.
Objaśnienie:
Wyrażenie w klauzuli modify wyrażenia transformacji jest err:XUDY0016
wyrażeniem nieaktualizującym innym niż wyrażenie pustej Jeśli wartością typ-wyrażenia jest ″replace″, to
sekwencji. Wyrażenie w klauzuli modify wyrażenia istnieje więcej niż jedno wyrażenie zastępowania,
transformacji musi być wyrażeniem aktualizującym lub bez określonej wartości parametrów, odnoszące się
wyrażeniem pustej sekwencji. do tego samego węzła docelowego.

506 Komunikaty, tom 2


SQL16084N • SQL16086N

err:XUDY0017 instrukcji przetwarzania ani komentarza o


Jeśli wartością typ-wyrażenia jest ″replace value of″, właściwości nadrzędnej, która nie jest pusta.
to istnieje więcej niż jedno wyrażenie zastępowania,
err:XUTY0007
z określoną wartością parametrów, odnoszące się do
Wartością typ-wyrażenia jest ″delete″ i wyrażenie
tego samego węzła docelowego.
celu nie zwraca sekwencji zawierającej zero lub
więcej węzłów.
Nie można przetworzyć wyrażenia XQuery.
err:XUTY0008
Działanie użytkownika:
Wartością typ-wyrażenia jest ″replace″ lub ″replace
Zmień wyrażenie w klauzuli modify wyrażenia transformacji
value of″ i węzeł docelowy wyrażenia zastępowania
tak, aby żadne dwa wyrażenia typu typ-wyrażenia nie miały
nie jest pojedynczym węzłem lub jest węzłem
tego samego węzła docelowego.
dokumentu.
kod_sql: -16083 err:XUTY0009
Wartością typ-wyrażenia jest ″replace″ i właściwość
stan_sql: 10704 nadrzędna węzła docelowego wyrażenia
zastępowania jest pusta.

SQL16084N Przypisana wartość w klauzuli copy err:XUTY0012


wyrażenia transformacji nie jest sekwencją Wartością typ-wyrażenia jest ″rename″ i węzeł
z dokładnie jednym elementem, który jest docelowy wyrażenia zmiany nazwy nie jest
węzłem. Błąd: QName=err:XUTY0013. pojedynczym węzłem elementu, atrybutu ani
instrukcji przetwarzania.
Objaśnienie:
W wyniku wartościowania klauzuli copy wyrażenia err:XUDY0020
transformacji powstało co najmniej jedno niepoprawne Wartością typ-wyrażenia jest ″delete″ i właściwość
przypisanie. Przynajmniej jedna przypisana wartość była pustą nadrzędna węzła docelowego wyrażania usuwania
sekwencją, sekwencją z wieloma elementami lub wartością jest pusta.
typu atomowego. Przypisana wartość musi być sekwencją z err:XUTY0022
dokładnie jednym elementem, który jest węzłem. Wartością typ-wyrażenia jest ″insert before″ lub
″insert after″, sekwencja wstawiania zawiera węzły
Nie można przetworzyć wyrażenia XQuery. atrybutu, a węzłem nadrzędnym węzła docelowego
Działanie użytkownika: jest węzeł dokumentu. W przeciwnym razie
Upewnij się, że każde wyrażenie copy source w klauzuli copy wartością typ-wyrażenia jest ″insert into″, ″insert as
wyrażenia transformacji zwraca sekwencję z dokładnie jednym first into″ lub ″insert as last into″, sekwencja
elementem, który jest węzłem. wstawiania zawiera węzły atrybutu, a węzłem
docelowym wyrażenia wstawiania jest węzeł
kod_sql: -16084 dokumentu.

stan_sql: 10705 Nie można przetworzyć wyrażenia XQuery.


Działanie użytkownika:
SQL16085N Węzeł docelowy wyrażenia XQuery typu Popraw wyrażenie typu typ-wyrażenia tak, aby zawierało
″typ-wyrażenia″ nie jest poprawny. Błąd: poprawny węzeł docelowy zgodnie z opisem w wyjaśnieniu.
QName=err:nazwa-błędu.
kod_sql: -16085
Objaśnienie:
Poniższa lista zawiera opis przyczyn, z powodu których węzeł stan_sql: 10703
docelowy podstawowego wyrażenia aktualizującego nie jest
poprawny, odpowiednio do nazwy QName błędu:
SQL16086N Sekwencja zastępowania w wyrażeniu
err:XUTY0005 zastępowania zawiera niepoprawne węzły
Wartością typ-wyrażenia jest ″insert into″, ″insert as dla określonego węzła docelowego. Błąd:
first into″ lub ″insert as last into″ i węzłem QName=err:nazwa-błędu.
docelowym wyrażenia wstawiania nie jest
pojedynczy węzeł elementu ani węzeł dokumentu. Objaśnienie:
Węzeł w sekwencji zastępowania nie może służyć do
err:XUTY0006 zastępowania węzła docelowego. Na liście podano przyczynę
Wartością typ-wyrażenia jest ″insert before″ lub odpowiednio do nazwy Qname błędu:
″insert after″ i węzłem docelowym wyrażenia
wstawiania określającym element ″przed″ lub ″po″ err:XUDY0010
nie jest pojedynczy węzeł elementu, tekstu, Wartość parametrów nie jest określona i węzłem
docelowym nie jest węzeł atrybutu. Sekwencja

Rozdział 2. Komunikaty SQL 507


SQL16087N • SQL16089N

zastępowania musi zawierać wyłącznie węzły


SQL16088N Wyrażenie typ-wyrażenia zawiera wiązanie
elementu, tekstu, komentarza lub instrukcji
prefiksu przestrzeni nazw łańcuch-prefiksu z
przetwarzania, ale co najmniej jeden element w
adresem URI przestrzeni nazw
sekwencji jest węzłem atrybutu.
łańcuch-adresu-uri wprowadzonego w
err:XUDY0011 elemencie o nazwie nazwa-elementu, które
Wartość parametrów nie jest określona i węzłem powoduje konflikt z istniejącym wiązaniem
docelowym jest węzeł atrybutu. Sekwencja przestrzeni nazw z tym samym prefiksem do
zastępowania musi zawierać wyłącznie węzły innego adresu URI w zasięgu przestrzeni
atrybutu, ale co najmniej jeden element w sekwencji nazw tego węzła elementu. Błąd:
nie jest węzłem atrybutu. QName=err:XUDY0023.
Objaśnienie:
Nie można przetworzyć wyrażenia XQuery. Wyrażenie typ-wyrażenia wprowadziło nowe wiązanie
Działanie użytkownika: przestrzeni nazw dla prefiksu łańcuch-prefiksu, korzystając z
Popraw wyrażenie źródła w klauzuli with wyrażenia adresu URI łańcuch-adresu-uri, do węzła elementu o nazwie
zastępowania tak, aby sekwencja zastępowania zawierała tylko nazwa-elementu, które powoduje konflikt z jednym z
poprawne węzły w odniesieniu do węzła docelowego. istniejących wiązań przestrzeni nazw z przestrzeni nazw w
zasięgu tego węzła. Węzeł elementu mógł być miejscem
kod_sql: -16086 docelowym wyrażenia aktualizującego lub miejscem
nadrzędnym miejsca docelowego w wyrażeniu aktualizującym.
stan_sql: 10706 Na przykład wyrażenie wstawiania mogło wstawić atrybut do
istniejącego elementu. Jeśli nazwa QName wstawianego
atrybutu wiąże prefiks P z pewnym adresem URI, a przestrzeń
SQL16087N Wynik wyrażenia transformacji XQuery nie nazw w zasięgu węzła elementu wiąże ten sam prefiks P z
jest poprawną instancją modelu danych innym adresem URI, wykrywany jest konflikt i zgłaszany jest
XQuery i XPath. Informacje dodatkowe: błąd.
element1, element2. Błąd:
QName=err:XUDY0021. Działanie użytkownika:
Jeśli wyrażenie typ-wyrażenia specjalnie ma wprowadzać
Objaśnienie: nowe wiązanie przestrzeni nazw, zmień to wyrażenie, aby
W wyniku zastosowania wyrażenia aktualizującego zawartego korzystało z prefiksu przestrzeni nazw innego niż wszystkie
w wyrażeniu transformacji zaistniałaby niepoprawna instancja pozostałe istniejące prefiksy w przestrzeniach nazw w zasięgu
modelu danych XQuery i XPath (XDM). Konkretne elementu o nazwie nazwa-elementu. Alternatywnie zmień
naruszenie reguły ograniczającej w instancji XDM można wyrażenie, aby wiązanie prefiksu łańcuch-prefiksu korzystało
zidentyfikować na podstawie informacji dodatkowych z tego samego adresu URI co istniejące wiązania przestrzeni
zawartych w elementach. nazw przestrzeni nazw w zasięgu elementu o nazwie
nazwa-elementu.
Jeśli wartością element1 jest ″attribute″, to element2 jest
nazwą atrybutu, który wystąpił więcej niż jeden raz w kod_sql: -16088
elemencie docelowym po zastosowaniu wyrażeń
aktualizujących w wyrażeniu transformacji. stan_sql: 10708

Nie można przetworzyć wyrażenia XQuery.


SQL16089N Wyrażenie typ-wyrażenia i prawdopodobnie
Działanie użytkownika: inne wyrażenia aktualizujące w klauzuli
Popraw wyrażenie transformacji tak, aby wynikowa instancja modyfikacji wyrażenia transformacji
XDM była poprawna. wprowadzają wiązania przestrzeni nazw,
które powodują konflikt w elemencie o
Jeśli wartością element1 jest ″attribute″, to upewnij się, że w nazwie nazwa-elementu. Prefiks
żadnym wyrażeniu aktualizującym, które obejmuje atrybuty, łańcuch-prefiksu jest powiązany z adresem
nie jest używana nazwa atrybutu, który już istnieje w łańcuch-uri1, podczas gdy inne wiązanie tego
elemencie docelowym i nie jest on usuwany ani zastępowany samego prefiksu korzysta z innego adresu
w tej samej transformacji. URI przestrzeni nazw. Błąd:
QName=err:XUDY0024.
kod_sql: -16087
Objaśnienie:
Połączony efekt wyrażeń aktualizujących w klauzuli
stan_sql: 10707 modyfikacji wyrażenia transformacji wprowadził wiązania
przestrzeni nazw, które powodują konflikt w węźle elementu o
nazwie węzeł-elementu. Na przykład mogą zostać wstawione
dwa atrybuty, których nazwy QName mają ten sam prefiks
przestrzeni nazw, ale różne adresy URI przestrzeni nazw.

508 Komunikaty, tom 2


SQL16090N • SQL16102N

Jeśli wyrażenie typ-wyrażenia to ’insert’ lub ’replace’,


SQL16100N Dokument XML zawiera zduplikowane
wiązania przestrzeni nazw, które powodują konflikt, mogą
deklaracje <!notation nazwa_notacji>.
znajdować się między 2 węzłami atrybutu w sekwencji
węzłów atrybutów w sekwencji wstawiania lub zastępowania. Objaśnienie:
Konflikt może być także związany z wiązaniem przestrzeni Podczas analizy składniowej dokumentu XML analizator
nazw wprowadzonym do elementu nazwa-elementu dla węzła XML napotkał więcej niż jedną deklarację notacji o nazwie
atrybutu, który został wstawiony, zastąpiony lub zmieniono nazwa_notacji.
jego nazwę za pomocą innego wyrażenia aktualizującego w tej
samej klauzuli modyfikacji wyrażenia transformacji. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Jeśli typ wyrażenia to ’rename’, wiązanie przestrzeni nazw dla
Działanie użytkownika:
nowej nazwy powoduje konflikt z wiązaniem przestrzeni nazw
Usuń zduplikowane notacje z dokumentu XML i spróbuj
także wprowadzonym do elementu nazwa-elementu dla węzła,
ponowić operację.
który został wstawiony, zastąpiony lub zmieniono jego nazwę
za pomocą innego wyrażenia aktualizującego w tej samej
klauzuli modyfikacji wyrażenia transformacji. kod_sql: -16100

Działanie użytkownika: stan_sql: 2200M


Jeśli wyrażenie typ-wyrażenia specjalnie ma wprowadzać
nowe wiązanie przestrzeni nazw, należy je tak zmodyfikować,
aby korzystało z prefiksu przestrzeni nazw innego niż SQL16101N Schemat XML zawiera atrybut
pozostałe prefiksy używane w wyrażeniach aktualizacji tego nazwa-atrybutu, który został zadeklarowany
samego wyrażenia transformacji, które mają element o nazwie więcej niż jeden raz dla elementu
nazwa-elementu, jako miejsce docelowe lub nadrzędne dla nazwa-elementu.
miejsca docelowego węzła atrybutu. Alternatywnie, zmień Objaśnienie:
wyrażenie, aby wiązanie łańcuch-prefiksu korzystało z tego Podczas analizy składniowej dokumentu XML znaleziono
samego adresu URI, co pozostałe wiązania przestrzeni nazw więcej niż jeden atrybut o nazwie nazwa_atrybutu dla
użyte w wyrażeniach aktualizujących tego samego wyrażenia elementu o nazwie nazwa_elementu.
transformacji, które mają element o nazwie nazwa-elementu,
jako miejsce docelowe lub nadrzędne dla miejsca docelowego Analiza składniowa lub sprawdzanie poprawności nie zostały
węzła atrybutu. zakończone.

kod_sql: -16089 Działanie użytkownika:


Popraw schemat XML i spróbuj ponowić operację.
stan_sql: 10708
kod_sql: -16101

SQL16090N Miejscem docelowym wyrażenia zmiany stan_sql: 2200M


nazwy jest węzeł instrukcji przetwarzania, a
prefiks przestrzeni nazw łańcucha QName
łańcuch-qname nie jest pusty. Błąd: SQL16102N Dokument XML zawiera deklarację notacji
QName=err:XUDY0025. o nazwie nazwa_notacji, której nie
znaleziono, która nie jest poprawną
Objaśnienie: deklaracją notacji albo nie ma poprawnej
Wyrażenie transformacji obejmuje wyrażenie zmiany nazwy, nazwy QName.
którego węzeł docelowy nie jest węzłem instrukcji
przetwarzania. Wyrażenie nowej nazwy w wyrażeniu zmiany Objaśnienie:
nazwy generuje rezultat w postaci łańcucha QName Podczas analizy składniowej dokumentu XML nie znaleziono
łańcuch-qname z niepustym prefiksem. Nazwa instrukcji w dokumencie deklaracji wskazanej notacji określonej nazwą
przetwarzania nie może zawierać prefiksu. nazwa_notacji albo skojarzony schemat lub DTD jest
niepoprawnie zadeklarowana lub nie ma poprawnej nazwy
Działanie użytkownika: QName.
Zmień wyrażenie nowej nazwy dla wyrażenia zmiany nazwy
tak, aby wynikowy łańcuch QName miał pusty prefiks.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16090
Działanie użytkownika:
stan_sql: 10709 Popraw notację XML określoną nazwą nazwa_notacji i
spróbuj ponowić operację.

kod_sql: -16102

Rozdział 2. Komunikaty SQL 509


SQL16103N • SQL16107N

stan_sql: 2200M Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16105
SQL16103N W dokumencie XML znaleziono znak, który
jest niepoprawny lub nie może zostać
przedstawiony przy użyciu kodowania stan_sql: 2200M
dokumentu.
Objaśnienie: SQL16106N Określono niepoprawny aspekt XML dla
Podczas analizy składniowej dokumentu XML analizator typu danych nazwa_typu w węźle.
znalazł znak, który jest niepoprawny albo nie daje się Objaśnienie:
przedstawić przy użyciu kodowania dokumentu. Podczas analizy składniowej dokumentu XML analizator
składni znalazł wskazany aspekt, który nie jest poprawny lub
Analiza składniowa nie została zakończona. nie jest dozwolony dla podanego typu danych węzła.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16103 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16106
SQL16104N Wystąpił błąd wewnętrzny w analizatorze
składni XML. Błąd analizatora to stan_sql: 2200M
błąd_analizatora.
Objaśnienie: SQL16107N Schemat XML zawiera błąd w aspekcie
Podczas analizy składniowej dokumentu XML w analizatorze nazwa_aspektu. Jedną z przyczyn jest
wystąpił błąd wewnętrzny błąd_analizatora. Wartość kod_przyczyny.
parametru błąd_analizatora stanowi kod wewnętrznego błędu Objaśnienie:
analizatora składni. Podczas przetwarzania schematu XML analizator składni
XML znalazł błąd dotyczący wskazanego aspektu. W grę
Analiza składniowa lub sprawdzanie poprawności nie zostały mogą wchodzić dowolne z poniższych przyczyn:
zakończone. 1. Wartość aspektu jest niedozwolona lub nieobsługiwana dla
Działanie użytkownika: tego aspektu.
Spróbuj ponowić operację, a jeśli błąd będzie się powtarzał, 2. Aspekt został określony wielokrotnie dla tego samego
powiadom Serwis IBM. obiektu. Podany aspekt może być określony tylko jeden
raz dla obiektu.
kod_sql: -16104 3. Nazwa aspektu jest niepoprawna lub nieznana.
4. Wartość tego aspektu o typie zespolonym była
stan_sql: 2200M
niepoprawna. Poprawne wartości to ’#all’ lub
’list(ograniczenie, rozszerzenie)’.
SQL16105N Niepoprawne dane XML. Oczekiwano 5. Wartość tego aspektu elementu była niepoprawna.
danych typu nazwa-typu, a znaleziono Poprawne wartości to ’#all’ lub ’list(ograniczenie,
wartość wartość, która nie jest poprawną rozszerzenie)’.
wartością dla tego typu.
6. Jedyną dopuszczalną wartością aspektu znaków
Objaśnienie: niedrukowanych w tym kontekście jest ’collapse’.
Podczas przetwarzania dokumentu lub schematu XML
analizator składni XML oczekiwał danych określonego typu, a Analiza składniowa lub sprawdzanie poprawności nie zostały
znalazł wartość, która nie może być przekształcona do tego zakończone.
typu.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Jeśli typ danych jest wymieniony jako ’datetime’, jest to jeden
z typów danych określających datę, godzinę lub czas trwania,
kod_sql: -16107
jak gDay, gMonth, gMonthDay, gYear.
stan_sql: 2200M
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Działanie użytkownika:

510 Komunikaty, tom 2


SQL16108N

18 Wartość aspektu maxExclusive dla typu pochodnego


SQL16108N Schemat XML zawiera niepoprawną
jest mniejsza lub równa wartości aspektu
kombinację aspektów aspekt1 i aspekt2.
minExclusive dla typu podstawowego.
Jedną z przyczyn jest kod_przyczyny.
19 Wartość aspektu minExclusive dla typu pochodnego
Objaśnienie:
jest większa lub równa wartości aspektu
Podczas analizy składniowej dokumentu XML analizator
maxExclusive dla typu podstawowego.
składni znalazł wskazane aspekty określone nazwami aspekt1 i
aspekt2, które się wzajemnie wykluczają albo mają 20 Wartość aspektu minExclusive dla typu pochodnego
niepoprawne lub sprzeczne wartości. Podany kod_przyczyny jest większa od wartości aspektu maxInclusive dla
określa jedną z możliwych, opisanych niżej przyczyn. typu podstawowego.
1 Aspekty length i maxLength zostały podane 21 Wartość aspektu minExclusive dla typu pochodnego
jednocześnie, chociaż się wzajemnie wykluczają. jest mniejsza lub równa wartości aspektu
minInclusive typu podstawowego.
2 Aspekty length i minLength zostały podane
jednocześnie, chociaż się wzajemnie wykluczają. 22 Wartość aspektu minExclusive dla typu pochodnego
jest mniejsza lub równa wartości aspektu
3 Aspekty maxInclusive i maxExclusive zostały
minExclusive dla typu podstawowego.
podane jednocześnie, chociaż się wzajemnie
wykluczają. 23 Wartość aspektu minInclusive dla typu pochodnego
jest większa lub równa wartości aspektu
4 Aspekty minInclusive i minExclusive zostały podane
maxExclusive dla typu podstawowego.
jednocześnie, chociaż się wzajemnie wykluczają.
24 Wartość aspektu minInclusive dla typu pochodnego
5 Wartość aspektu maxLength musi być większa niż
jest większa niż wartość aspektu maxInclusive dla
wartość aspektu minLength.
typu podstawowego.
6 Wartość aspektu maxExclusive musi być większa od
25 Wartość aspektu minInclusive dla typu pochodnego
wartości aspektu minExclusive.
jest mniejsza niż wartość aspektu minInclusive dla
7 Wartość aspektu maxExclusive musi być większa od typu podstawowego.
wartości aspektu minInclusive.
26 Wartość aspektu minInclusive dla typu pochodnego
8 Wartość aspektu maxInclusive musi być większa od jest mniejsza lub równa wartości aspektu
wartości aspektu minExclusive. minExclusive dla typu podstawowego.
9 Wartość aspektu maxInclusive musi być większa od 27 Wartość aspektu maxInclusive dla typu pochodnego
wartości aspektu minInclusive. nie jest równa wartości aspektu maxInclusive dla
typu podstawowego. Aspekt maxInclusive dla typu
10 Wartość aspektu totalDigits musi być większa niż
podstawowego został zdefiniowany z atrybutem
wartość aspektu fractionDigits.
fixed o wartości ″true″.
11 Wartość aspektu maxInclusive dla typu pochodnego
28 Wartość aspektu maxExclusive dla typu pochodnego
jest większa lub równa wartości aspektu
nie jest równa wartości aspektu maxExclusive dla
maxExclusive dla typu podstawowego.
typu podstawowego. Aspekt maxExclusive dla typu
12 Wartość aspektu maxInclusive dla typu pochodnego podstawowego został zdefiniowany z atrybutem
jest większa niż wartość aspektu maxInclusive dla fixed o wartości ″true″.
typu podstawowego.
29 Wartość aspektu minInclusive dla typu pochodnego
13 Wartość aspektu maxInclusive dla typu pochodnego nie jest równa wartości aspektu minInclusive dla
jest mniejsza niż wartość aspektu minInclusive dla typu podstawowego. Aspekt minInclusive dla typu
typu podstawowego. podstawowego został zdefiniowany z atrybutem
fixed o wartości ″true″.
14 Wartość aspektu maxInclusive dla typu pochodnego
jest mniejsza lub równa wartości aspektu 30 Wartość aspektu minExclusive dla typu pochodnego
minExclusive dla typu podstawowego. nie jest równa wartości aspektu minExclusive dla
typu podstawowego. Aspekt minExclusive dla typu
15 Wartość aspektu maxExclusive dla typu pochodnego podstawowego został zdefiniowany z atrybutem
jest większa od wartości aspektu maxExclusive dla fixed o wartości ″true″.
typu podstawowego.
31 Wartość atrybutu minOccurs jest większa niż
16 Wartość aspektu maxExclusive dla typu pochodnego wartość atrybutu maxOccurs.
jest większa od wartości aspektu maxInclusive dla
typu podstawowego. 32 Wartość aspektu totalDigits typu pochodnego musi
być mniejsza lub równa wartości aspektu totalDigits
17 Wartość aspektu maxExclusive dla typu pochodnego odpowiedniego typu podstawowego.
jest mniejsza lub równa wartości aspektu
minInclusive typu podstawowego. 33 Wartość aspektu fractionDigits typu pochodnego

Rozdział 2. Komunikaty SQL 511


SQL16109N • SQL16112N

musi być mniejsza lub równa wartości aspektu Analiza składniowa lub sprawdzanie poprawności nie zostały
totalDigits dla odpowiedniego typu podstawowego. zakończone.
34 Wartość aspektu fractionDigits typu pochodnego Działanie użytkownika:
musi być mniejsza lub równa wartości aspektu Popraw dokument XML i spróbuj ponowić operację.
fractionDigits dla odpowiedniego typu
podstawowego. kod_sql: -16109
35 Wartość aspektu totalDigits typu pochodnego musi
być równa wartości aspektu totalDigits z atrybutem stan_sql: 2200M
fixed o wartości ″true″ dla odpowiedniego typu
podstawowego. SQL16110N Błąd składni XML. Oczekiwano znaleźć
36 Wartość aspektu fractionDigits typu pochodnego konstrukcja.
musi być równa wartości aspektu fractionDigits z Objaśnienie:
atrybutem fixed równym ″true″ dla odpowiedniego Podczas analizy składniowej dokumentu XML analizator
typu podstawowego. oczekiwał pewnej konstrukcji i jej nie znalazł. Kod XML nie
37 Wartość aspektu maxLength typu pochodnego musi jest poprawnie sformowany albo nie jest poprawny, zależnie
być równa wartości aspektu maxLength z atrybutem od rodzaju operacji.
fixed równym ″true″ dla odpowiedniego typu
podstawowego. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
38 Wartość aspektu minLength typu pochodnego musi
być równa wartości aspektu minLength z atrybutem Działanie użytkownika:
fixed równym ″true″ dla odpowiedniego typu Popraw dokument XML i spróbuj ponowić operację.
podstawowego.
kod_sql: -16110
39 Wartość aspektu length typu pochodnego musi być
równa wartości aspektu length z atrybutem fixed stan_sql: 2200M
równym ″true″ dla odpowiedniego typu
podstawowego.
SQL16111N Dokument XML zawiera niepoprawną
40 Wartość aspektu whiteSpace typu pochodnego musi sekcję CDATA. Kod przyczyny =
być równa wartości aspektu whiteSpace z atrybutem kod-przyczyny.
fixed równym ″true″ dla odpowiedniego typu
podstawowego. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
41 Wartość aspektu fractionDigits jest większa niż natrafił na niepoprawną lub niewłaściwie uformowaną sekcję
wartość aspektu totalDigits. Wartość aspektu CDATA wskazaną przez kod_przyczyny. Możliwe kody
fractionDigits oznacza liczbę cyfr z prawej strony przyczyny to:
separatora dziesiętnego i nie może być większa niż
wartość aspektu totalDigits. 1. Istnieją zagnieżdżone sekcje CDATA.
2. Sekcja CDATA nie została zakończona.
Analiza składniowa lub sprawdzanie poprawności nie zostały 3. Sekcja CDATA zawiera sekwencję ’]]<’.
zakończone. 4. Znaleziono sekcję CDATA poza elementem głównym.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16108 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16111
SQL16109N Dokument XML zawiera niepoprawny
komentarz. Kod przyczyny = kod-przyczyny. stan_sql: 2200M
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator SQL16112N Schemat XML zawiera błędną definicję
natrafił na niepoprawny komentarz. Możliwe wartości elementu lub atrybutu ze względu na brak
parametru kod_przyczyny obejmują: wymaganego parametru ’name’ lub ’ref’.
1. Komentarz nie zaczął się znakami <!--. Kod przyczyny = kod-przyczyny.
2. Komentarz zawierał znaki --. Objaśnienie:
3. Komentarz nie został zakończony.

512 Komunikaty, tom 2


SQL16113N

Podczas przetwarzania schematu XML analizator składni 10 Nie znaleziono analizatora poprawności typu daty
XML napotkał niepoprawną definicję elementu lub atrybutu. dla tego atrybutu.
Wartość parametru kod_przyczyny odpowiada jednej z
11 Atrybut nie może być zmieniany w wyniku
następujących przyczyn:
normalizacji w autonomicznym dokumencie.
1. Globalnie zadeklarowany atrybut w schemacie XML nie
miał nazwy. Wszystkie globalnie zadeklarowane atrybuty 12 Wartość atrybutu jest nieprawidłowa. Powiązania z
muszą mieć nazwę. przestrzeniami nazw z przedrostkiem nie mogą być
puste.
2. Atrybut zadeklarowany w schemacie XML bez parametru
name lub ref. Wszystkie atrybuty muszą mieć 13 Ten atrybut jest atrybutem najwyższego poziomu i
zdefiniowany parametr name lub ref. nie udało się go znaleźć.
3. Globalnie zadeklarowany element w schemacie XML nie 14 Na liście atrybutów w pliku DTD brakuje definicji
miał nazwy. Wszystkie globalnie zadeklarowane elementy typu atrybutu, która musi być jedną z następujących
muszą mieć nazwę. wartości: ’CDATA’, ’ID’, ’IDREF’, ’IDREFS’,
4. Atrybut zadeklarowany w schemacie XML bez parametru ’ENTITY’, ’ENTITIES’, ’NMTOKEN’ lub
name lub ref. Wszystkie elementy muszą mieć ’NMTOKENS’.
zdefiniowany parametr name lub ref.
15 Atrybut odwołuje się do nieznanego obiektu.
Analiza składniowa lub sprawdzanie poprawności nie zostały 16 Zawartość atrybutu jest niepoprawna. Zawartość
zakończone. musi być zdefiniowana według formatu (adnotacja?,
(typ_prosty?))
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. 17 Atrybut ma domyślną wartość. Wartość tę należy
określić w samodzielnym dokumencie.
kod_sql: -16112
18 Atrybut został już wykorzystany w elemencie.
Nazwa atrybutu musi być unikalna w obrębie
stan_sql: 2200M
nadrzędnego elementu.
19 Atrybut ma jednocześnie określone aspekty ’fixed’ i
SQL16113N Dokument lub schemat XML zawiera
’default’. Można określić jeden albo drugi z nich, ale
atrybut nazwa_atrybutu, w którym
nie oba na raz.
występuje błąd. Kod przyczyny =
kod-przyczyny. 20 Wartość atrybutu nie pasowała do żadnej z wartości
wyliczanych dozwolonych dla tego atrybutu.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator 21 Atrybut nie jest zdefiniowany w ramach elementu.
natrafił na atrybut, który został nieprawidłowo zdefiniowany
22 Atrybut ma niepoprawną wartość.
lub użyty. Możliwe przyczyny określane przez kod_przyczyny
to: 23 Atrybut nie został zdefiniowany w skojarzonym
schemacie.
1 W atrybucie określono jednocześnie parametry name
i ref. W atrybucie może występować albo parametr 24 Atrybut nie został zadeklarowany.
name, albo ref, ale nie oba jednocześnie.
25 Ten atrybut ma niepoprawną wartość identyfikatora.
2 Atrybut został już wcześniej zdefiniowany w tym
samym zakresie. Nazwy atrybutów muszą być 26 Atrybut jest wymagany, lecz nie udało się go
unikalne w obrębie ich zakresu. znaleźć.

3 Atrybut powinien być kwalifikowany, a nie był. 27 Typ prosty tego atrybutu nie został znaleziony.

4 Atrybut był kwalifikowany, a nie powinien. 28 Wartość tego atrybutu nie pasuje do wartości ’fixed’.

5 Atrybut jest już zdefiniowany w bazie i nie powinien Analiza składniowa lub sprawdzanie poprawności nie zostały
występować jako wyprowadzenie przez zakończone.
rozszerzenie.
Działanie użytkownika:
6 Atrybut identyfikatora był celem odwołania, mimo Popraw dokument XML i spróbuj ponowić operację.
że nie został zadeklarowany.
7 Atrybut nie jest zgodny ze swoją zadeklarowaną listą kod_sql: -16113
wyliczenia lub notacji.
stan_sql: 2200M
8 Wartościami atrybutu muszą być nazwy lub tokeny
nazw.
9 Atrybut nie obsługuje wielu wartości.

Rozdział 2. Komunikaty SQL 513


SQL16114N • SQL16120N

SQL16114N Dokument XML zawiera identyfikator (ID) SQL16117N Dokument XML deklaruje obiekt
o zduplikowanej wartości wartość. nazwa_obiektu, który nie jest zakończony.
Objaśnienie: Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Podczas analizy składniowej dokumentu XML analizator
napotkał wartość identyfikatora wartość, którą już wcześniej napotkał deklarację obiektu o nazwie nazwa_obiektu
zadeklarowano w tym dokumencie. Wartości identyfikatorów pozbawioną oczekiwanego znaku kończącego.
muszą być unikalne w ramach dokumentu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Analiza składniowa lub sprawdzanie poprawności nie zostały zakończone.
zakończone.
Działanie użytkownika:
Działanie użytkownika: Popraw dokument XML i spróbuj ponowić operację.
Popraw dokument XML i spróbuj ponowić operację.
kod_sql: -16117
kod_sql: -16114
stan_sql: 2200M
stan_sql: 2200M
SQL16118N Dokument XML deklaruje element
SQL16115N Dokument XML zawiera element lub nazwa_elementu, który nie jest zakończony.
atrybut o nazwie nazwa z
Objaśnienie:
nierozstrzygniętym przedrostkiem
Podczas analizy składniowej dokumentu XML analizator
przestrzeni nazw.
napotkał deklarację elementu o nazwie nazwa_elementu
Objaśnienie: pozbawioną oczekiwanego znaku kończącego.
Podczas analizy składniowej dokumentu XML analizator
napotkał element lub atrybut identyfikowany nazwą nazwa, Analiza składniowa lub sprawdzanie poprawności nie zostały
którego przedrostek przestrzeni nazw nie mógł zostać zakończone.
rozstrzygnięty do postaci adresu URL.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16118
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. stan_sql: 2200M

kod_sql: -16115
SQL16119N Dokument XML zawiera odwołanie do
obiektu nazwa_obiektu, które nie jest
stan_sql: 2200M
zakończone.
Objaśnienie:
SQL16116N Dokument XML zawiera zduplikowaną
Podczas analizy składniowej dokumentu XML analizator
wartość wartość w deklaracji typu.
napotkał odwołanie do obiektu o nazwie nazwa_obiektu
Objaśnienie: pozbawioną oczekiwanego znaku kończącego.
Podczas analizowania składni dokumentu XML analizator
napotkał zduplikowaną wartość w deklaracji typu. W Analiza składniowa lub sprawdzanie poprawności nie zostały
deklaracji typu słowa ’substitution’, ’union’, ’extension’, ’list’ zakończone.
lub ’restriction’ mogą występować tylko jeden raz.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16119
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. stan_sql: 2200M

kod_sql: -16116
SQL16120N Definicja typu dokumentu (DTD) zawiera
specyfikację modelu treści dla elementu
stan_sql: 2200M
nazwa_elementu, która nie została
zakończona.
Objaśnienie:

514 Komunikaty, tom 2


SQL16121N • SQL16126N

Podczas przetwarzania deklaracji DTD analizator składni Analiza składniowa lub sprawdzanie poprawności nie zostały
XML napotkał model treści, który nie został zakończony dla zakończone.
elementu o nazwie nazwa_elementu.
Działanie użytkownika:
Dodaj treść do elementu lub usuń element z dokumentu i
Analiza składniowa lub sprawdzanie poprawności nie zostały
spróbuj ponowić operację.
zakończone.
Działanie użytkownika: kod_sql: -16123
Popraw deklarację DTD i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16120
SQL16124N Dokument XML zawiera znacznik końcowy,
stan_sql: 2200M
który nie jest zakończony dla znacznika o
nazwie nazwa_znacznika.
SQL16121N Dokument XML zawiera literał obiektu,
Objaśnienie:
który nie został zakończony, dla obiektu
Podczas analizy składniowej dokumentu XML analizator
nazwa_obiektu.
napotkał znacznik końcowy, który nie jest zakończony.
Objaśnienie: Znacznik ten jest skojarzony ze znacznikiem o nazwie
Podczas analizy składniowej dokumentu XML analizator nazwa_obiektu. Analiza składniowa lub sprawdzanie
napotkał na literał obiektu, który nie jest zakończony. Literał poprawności nie zostały zakończone.
jest skojarzony z obiektem o nazwie nazwa_obiektu.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16124
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. stan_sql: 2200M

kod_sql: -16121
SQL16125N Dokument XML zawiera w wewnętrznym
podzbiorze niepoprawny znak o punkcie
stan_sql: 2200M kodowym punkt_kodowy.
Objaśnienie:
SQL16122N Dokument XML zawiera niepoprawne Podczas analizy składniowej dokumentu XML analizator
odwołanie do znaku punkt_kodowy. napotkał na niepoprawny znak zdefiniowany punktem
Objaśnienie: kodowym punkt_kodowy w wewnętrznym podzbiorze.
Podczas analizy składniowej dokumentu XML analizator
napotkał na niepoprawne odwołanie do znaku o wartości Analiza składniowa lub sprawdzanie poprawności nie zostały
punktu kodowego punkt_kodowy. zakończone.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały Popraw dokument XML i spróbuj ponowić operację.
zakończone.
Działanie użytkownika: kod_sql: -16125
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16122
SQL16126N Definicja typu dokumentu (DTD) zawiera w
stan_sql: 2200M modelu treści niezadeklarowany element
nazwa_elementu.
SQL16123N Dokument XML zawiera element Objaśnienie:
nazwa_elementu z pustą treścią mimo że Podczas przetwarzania deklaracji DTD analizator napotkał w
model treści wymaga istnienia treści w tym modelu treści element o nazwie nazwa_elementu, który nie
elemencie. został zadeklarowany.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Analiza składniowa lub sprawdzanie poprawności nie zostały
napotkał element o nazwie nazwa_elementu, który był zakończone.
pozbawiony treści. Model treści dla tego elementu wymaga
Działanie użytkownika:
istnienia treści.
Popraw deklarację DTD i spróbuj ponowić operację.

Rozdział 2. Komunikaty SQL 515


SQL16127N • SQL16132N

kod_sql: -16126 stan_sql: 2200M

stan_sql: 2200M
SQL16130N Dokument XML zawiera niepoprawną lub
niezakończoną instrukcję przetwarzania.
SQL16127N Definicja DTD zawiera nieoczekiwane znaki Kod przyczyny = kod-przyczyny.
niedrukowane przed znakiem ’?’, ’*’ lub
Objaśnienie:
’+’.
Podczas przetwarzania dokumentu lub schematu XML
Objaśnienie: analizator składni XML napotkał niepoprawną instrukcję
Podczas przetwarzania deklaracji DTD analizator napotkał na przetwarzania. Niepoprawność instrukcji może wynikać z
nieoczekiwany znak niedrukowany przed wystąpieniem znaku jednej lub wielu poniższych przyczyn:
’?’, ’*’ lub ’+’. Znaki niedrukowane nie są dozwolone w tym 1. Instrukcja przetwarzania nie została zakończona.
kontekście.
2. Instrukcja przetwarzania rozpoczyna się znakami ’xml’
(przy dowolnym połączeniu wielkich i małych liter), co nie
Analiza składniowa lub sprawdzanie poprawności nie zostały jest dozwolone.
zakończone.
Działanie użytkownika: Analiza składniowa lub sprawdzanie poprawności nie zostały
Usuń nieoczekiwane znaki niedrukowane i spróbuj ponowić zakończone.
operację.
Działanie użytkownika:
Popraw instrukcję przetwarzania XML i spróbuj ponowić
kod_sql: -16127 operację.

stan_sql: 2200M kod_sql: -16130

SQL16128N Dokument XML zawiera niepoprawny znak stan_sql: 2200M


o punkcie kodowym punkt-kodowy w
wartości atrybutu nazwa-atrybutu.
SQL16131N Dokument XML zawiera znacznik
Objaśnienie: początkowy nazwa_znacznika, który nie
Podczas analizy składniowej dokumentu XML analizator został zakończony.
napotkał niepoprawny znak o punkcie kodowym
Objaśnienie:
punkt_kodowy w wartości atrybutu o nazwie nazwa_atrybutu.
Podczas analizy składniowej dokumentu XML analizator
napotkał znacznik początkowy o nazwie nazwa_znacznika,
Analiza składniowa lub sprawdzanie poprawności nie zostały który nie został zakończony. Dane następujące po znaczniku
zakończone. początkowym mogą nie zawierać znacznika końcowego albo
Działanie użytkownika: dane między znacznikiem początkowym i końcowym nie są
Popraw dokument XML i spróbuj ponowić operację. właściwie zbudowane.

kod_sql: -16128 Analiza składniowa lub sprawdzanie poprawności nie zostały


zakończone.
stan_sql: 2200M Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
SQL16129N W dokumencie XML oczekiwano
zakończenie znacznika nazwa_znacznika. kod_sql: -16131

Objaśnienie: stan_sql: 2200M


Podczas analizy składniowej dokumentu XML analizator
oczekiwał zakończenia znacznika o nazwie nazwa_znacznika,
ale go nie znalazł. SQL16132N Dokument XML ma niepoprawną strukturę
dokumentu.
Analiza składniowa lub sprawdzanie poprawności nie zostały Objaśnienie:
zakończone. Podczas analizy składniowej dokumentu XML analizator
Działanie użytkownika: napotkał niepoprawną strukturę dokumentu. Analizator
Dodaj lub skoryguj brakujący znacznik końcowy i spróbuj napotkał drukowalne znaki w prologu dokumentu instancji lub
ponowić operację. w zewnętrznym podzbiorze deklaracji DTD.

kod_sql: -16129 Analiza składniowa lub sprawdzanie poprawności nie zostały


zakończone.

516 Komunikaty, tom 2


SQL16133N • SQL16137N

Działanie użytkownika: Analiza składniowa lub sprawdzanie poprawności nie zostały


Popraw dokument XML i spróbuj ponowić operację. zakończone.
Działanie użytkownika:
kod_sql: -16132
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16135

SQL16133N Dokument XML zawiera niepoprawną stan_sql: 2200M


deklarację przestrzeni nazw.
Objaśnienie: SQL16136N Schemat XML zawiera błąd aspektu. Kod
Podczas analizy składniowej dokumentu XML analizator przyczyny = kod-przyczyny.
napotkał niepoprawną deklarację przestrzeni nazw w instancji
Objaśnienie:
DOM. Przestrzeń nazw ma przedrostek ″xmlns″ i adres
Podczas analizy składniowej dokumentu XML analizator
http://www.w3.org/2000/xmlns/.
napotkał błąd aspektu. Możliwe przyczyny określane przez
kod_przyczyny to:
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. 1. Jedynym poprawnym aspektem ’constraining’ dla danych
boolowskich jest PATTERN.
Działanie użytkownika:
2. Napotkano niepoprawny znacznik aspektu.
Popraw dokument XML i spróbuj ponowić operację.
3. Wartość aspektu ’enumeration’ w obiekcie pochodnym nie
kod_sql: -16133 pochodzi z przestrzeni nazw odpowiedniego obiektu
podstawowego.
stan_sql: 2200M 4. Ustawieniem aspektu ’whiteSpace’ musi być jedna z
wartości ’preserve’, ’replace’ lub ’collapse’
5. Aspekt ’whiteSpace’ nie może mieć wartości ’preserve’
SQL16134N Dokument XML zawiera niepoprawną
ani ’replace’, jeśli aspekt ’whiteSpace’ odpowiedniego
docelową przestrzeń nazw skojarzoną z
typu podstawowego ma wartość ’collapse’.
nazwa.
6. Ustawienie aspektu ’whitespace’ jest obiektem pochodnym
Objaśnienie: i nie może być równe ’preserve’, jeśli ustawieniem tego
Podczas analizy składniowej dokumentu XML analizator aspektu dla odpowiedniego obiektu podstawowego jest
napotkał deklarację atrybutu o nazwie nazwa z docelową wartość ’replace’.
przestrzenią nazw, która była zgodna z przestrzenią nazw
schematu XML dla dokumentów instancji Analiza składniowa lub sprawdzanie poprawności nie zostały
(’http://www.w3.org/2001/instancja_schematu_XML’). Ten zakończone.
adres URI nie może być używany jako docelowa przestrzeń
nazw w deklaracji atrybutu. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. kod_sql: -16136
Działanie użytkownika:
stan_sql: 2200M
Popraw nazwę elementu lub atrybutu i spróbuj ponowić
operację.
SQL16137N Dokument XML zawiera nieznany typ
kod_sql: -16134 prosty nazwa_typu.
Objaśnienie:
stan_sql: 2200M Podczas analizy składniowej dokumentu XML analizator
napotkał nazwę typu nazwa_typu określającą nieznany typ
SQL16135N Dokument XML zawiera listę atrybutów, prosty.
która odwołuje się do elementu
nazwa_elementu, który nie jest Analiza składniowa lub sprawdzanie poprawności nie zostały
zadeklarowany. zakończone.
Objaśnienie: Działanie użytkownika:
Podczas analizy składniowej dokumentu XML analizator Popraw nazwę typu i spróbuj ponowić operację.
napotkał listę atrybutów z odwołaniem do elementu o nazwie
nazwa_elementu, który nie został zadeklarowany. kod_sql: -16137

stan_sql: 2200M

Rozdział 2. Komunikaty SQL 517


SQL16138N • SQL16141N

SQL16138N Dokument XML zawiera nieznany typ SQL16141N Schemat XML zawiera niepoprawne
zespolony nazwa_typu. wyprowadzenie poprzez RESTRICTION
lub EXTENSION. Kod przyczyny =
Objaśnienie:
kod-przyczyny.
Podczas analizy składniowej dokumentu XML analizator
napotkał nazwę typu nazwa_typu określającą nieznany typ Objaśnienie:
zespolony. Podczas przetwarzania schematu XML analizator składni
XML napotkał problem z typem wywiedzionym za pomocą
Analiza składniowa lub sprawdzanie poprawności nie zostały elementu RESTRICTION lub EXTENSION. Możliwe
zakończone. przyczyny opisują niżej wymienione wartości parametru
kod_przyczyny.
Działanie użytkownika:
Popraw nazwę typu i spróbuj ponowić operację. 1 Po elemencie RESTRICTION lub EXTENSION w
definicji treści prostej znajduje się niepoprawny
kod_sql: -16138 element potomny.
2 Po elemencie RESTRICTION lub EXTENSION w
stan_sql: 2200M definicji treści złożonej znajduje się niepoprawny
element potomny.
SQL16139N Schemat XML zawiera błąd w zawartości 3 Nie określono atrybutu BASE dla elementów
typu prostego nazwa_typu. RESTRICTION lub EXTENSION. Każde
Objaśnienie: wyprowadzenie za pomocą elementu
Podczas analizy składniowej dokumentu XML analizator RESTRICTION lub EXTENSION musi obejmować
napotkał błąd w zawartości typu prostego o nazwie określenie typu podstawowego dla tego
nazwa_typu. Dozwolone postacie definicji elementu typu wyprowadzenia.
prostego to wyłącznie ograniczenie, lista lub unia. W 4 Wyprowadzanie za pomocą atrybutu
niektórych przypadkach ten token może być niedostępny. RESTRICTION lub EXTENSION jest wzbronione
przez typ podstawowy albo przez schemat XML.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. 5 Schemat zawiera wzbronione ograniczenie ’any’.
Dozwolone ograniczenia ’any’ to ’choice’,
Działanie użytkownika: ’sequence’, ’all’ i ’element’.
Popraw dokument XML i spróbuj ponowić operację.
6 Schemat zawiera wzbronione ograniczenie ’all’.
kod_sql: -16139 Dozwolone ograniczenia ’all’ to ’choice’, ’sequence’
i ’element’.
stan_sql: 2200M 7 Schemat zawiera wzbronione ograniczenie ’choice’.
Dozwolone ograniczenia ’choice’ to ’sequence’, ’all’
i ’leaf’.
SQL16140N Dokument XML zawiera specyfikację
<group> lub <attributeGroup> pozbawioną 8 Schemat zawiera wzbronione ograniczenie
atrybutu name lub ref. ’sequence’. Dozwolone ograniczenie dla ’sequence’
to ’element’.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator 9 Schemat próbuje użyć typu prostego w
napotkał specyfikację elementu <group> lub wyprowadzeniu atrybutem RESTRICTION dla typu
<attributeGroup>, która nie miała atrybutu name lub ref. zespolonego.
10 Schemat próbuje użyć typu prostego z wartością
Analiza składniowa lub sprawdzanie poprawności nie zostały
’final’ w wyprowadzeniu atrybutem EXTENSION.
zakończone.
Działanie użytkownika: Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację. zakończone.
Działanie użytkownika:
kod_sql: -16140
Popraw schemat XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16141

stan_sql: 2200M

518 Komunikaty, tom 2


SQL16142N • SQL16147N

SQL16142N Dokument XML zawiera niezdefiniowany SQL16145N Dokument XML zawiera szesnastkowy znak
obiekt nazwa_obiektu. podstawy ułamka określony znakiem ″X″ a
nie ″x″.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał obiekt o nazwie nazwa_obiektu, który nie jest Podczas analizy składniowej dokumentu XML analizator
zdefiniowany. napotkał odwołanie do szesnastkowego znaki podstawy
ułamka, w którym wartość określono wielką literą ″X″ zamiast
Analiza składniowa lub sprawdzanie poprawności nie zostały małej ″x″. Szesnastkowy znak podstawy ułamka musi
zakończone. korzystać z małej litery ″x″.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
kod_sql: -16142 Działanie użytkownika:
Popraw szesnastkowy znak podstawy ułamka tak, aby
stan_sql: 2200M korzystał z małej litery ″x″ i spróbuj ponowić operację.

kod_sql: -16145
SQL16143N Dokument XML zawiera nieoczekiwany
obiekt nazwa_obiektu.
stan_sql: 2200M
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
SQL16146N Główny dokument XML jest pusty.
napotkał obiekt o nazwie nazwa_obiektu, który nie był
oczekiwany. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
Analiza składniowa lub sprawdzanie poprawności nie zostały napotkał pusty główny dokument XML. Główny dokument
zakończone. XML nie może być pusty.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw obiekt i spróbuj ponowić operację.
zakończone.
kod_sql: -16143 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16146
SQL16144N Dokument XML zawiera otwierający znak
stan_sql: 2200M
nawiasu trójkątnego (’<’) w atrybucie
nazwa_atrybutu, nie określając go jako
obiekt. SQL16147N Dokument XML zawiera niepoprawne
użycie przestrzeni nazw dla xmlns
Objaśnienie:
przedrostka przestrzeni nazw ’xmlns’.
Podczas analizy składniowej dokumentu XML analizator
napotkał otwierający znak nawiasu trójkątnego (’<’) w Objaśnienie:
wartości atrybutu o nazwie nazwa_atrybutu. Jeśli otwierający Podczas analizy składniowej dokumentu XML analizator
znak nawiasu trójkątnego jest wymagany, musi zostać napotkał albo próbę jawnego powiązania przedrostka
określony jako obiekt ’&lt;’. Nie może on być traktowany jako zastrzeżonego, jak ’xml’ lub ’xmlns’ z przestrzenią nazw, albo
literał znakowy ’<’. próbę jawnego powiązania zastrzeżonej przestrzeni nazw, jak
przestrzeń nazw dla xml lub xmlns z przedrostkiem.
Analiza składniowa lub sprawdzanie poprawności nie zostały Przedrostki zastrzeżone nie mogą być jawnie wiązane z żadną
zakończone. przestrzenią nazw oprócz własnej, a zastrzeżone przestrzenie
nazw nie mogą być wiązane z żadnym przedrostkiem oprócz
Działanie użytkownika: ich własnego.
Popraw wartość atrybutu i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
kod_sql: -16144 zakończone.

stan_sql: 2200M Działanie użytkownika:


Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16147

Rozdział 2. Komunikaty SQL 519


SQL16148N • SQL16153N

stan_sql: 2200M kod_sql: -16150

stan_sql: 2200M
SQL16148N Dokument XML zawiera niepoprawny
element nazwa-elementu1 z atrybutem
abstract ustawionym na wartość true i SQL16151N Dokument XML zawiera pole keyref
atrybutem substitutionGroup ustawionym nazwa-pola-keyref odwołujące się do klucza o
na nazwa-elementu2. nazwie nazwa-klucza, którego nie znaleziono.
Objaśnienie: Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Podczas analizy składniowej dokumentu XML analizator
napotkał element nazwa_elementu1 z atrybutem abstract napotkał pole keyref nazwa_pola_keyref odwołujące się do
ustawionym na true i zdefiniowany jako element grupy pola kluczowego nazwa_klucza, które nie jest znane w
podstawiania elementu nazwa_elementu2. Atrybut abstract dokumencie.
musi mieć ustawienie false w przypadku elementu
nazwa_elementu1 będącego członkiem grupy podstawiania z Analiza składniowa lub sprawdzanie poprawności nie zostały
elementem głównym nazwa_elementu2. zakończone.

Analiza składniowa lub sprawdzanie poprawności nie zostały Działanie użytkownika:


zakończone. Popraw nazwę pola kluczowego w dokumencie XML i spróbuj
ponowić operację.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. kod_sql: -16151

kod_sql: -16148 stan_sql: 2200M

stan_sql: 2200M
SQL16152N Dokument XML zawiera wiele atrybutów
wywiedzionych z typu o tym samym
SQL16149N Dokument XML zawiera pustą wartość identyfikatorze w typie zespolonym lub
atrybutu targetNamespace. grupie atrybutów. Jednym z atrybutów jest
nazwa_atrybutu.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał pustą wartość atrybutu targetNamespace. Atrybut Podczas analizy składniowej dokumentu XML analizator
musi być nieobecny albo zawierać wartość, która nie jest napotkał wiele atrybutów wywiedzionych z jednego typu w
pusta. Analiza składniowa lub sprawdzanie poprawności nie tym samym typie zespolonym lub w grupie atrybutów. Jednym
zostały zakończone. z atrybutów o takiej właściwości jest nazwa_atrybutu.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16149 Działanie użytkownika:
Popraw atrybuty typu zespolonego lub atrybut w dokumencie
stan_sql: 2200M XML i spróbuj ponowić operację.

kod_sql: -16152
SQL16150N Dokument XML zawiera pole keyref
nazwa-pola-keyref odwołujące się do pola
kluczowego nazwa-klucza o innej liczności. stan_sql: 2200M

Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator SQL16153N Schemat XML zawiera definicję typu
napotkał rozbieżność w liczności między polem keyref atrybutu z domyślną wartością lub z
nazwa_pola_keyref, a polem kluczowym nazwa_klucza, do wartością ustaloną, która jest niezgodna z
którego się ono odwołuje. Liczność w polu keyref musi być ograniczeniem wartości ustalonej w typie
zgodna z licznością pola klucza. referencyjnym nazwa_typu.
Objaśnienie:
Analiza składniowa lub sprawdzanie poprawności nie zostały Podczas analizy składniowej dokumentu XML analizator
zakończone. napotkał niezgodność między ograniczeniem wartości atrybutu
a typem referencyjnym atrybutu. Albo atrybut ma określoną
Działanie użytkownika:
wartość domyślną, a typ referencyjny ma wartość ustaloną,
Popraw liczność pola keyref lub pola kluczowego w
albo atrybut określa inną wartość ustaloną niż ta zdefiniowana
dokumencie XML i spróbuj ponowić operację.
w typie referencyjnym nazwa_typu.

520 Komunikaty, tom 2


SQL16154N • SQL16157N

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw ograniczenie wartości w odwołaniu do atrybutu w Popraw dokument XML i spróbuj ponowić operację.
dokumencie XML i spróbuj ponowić operację.
kod_sql: -16155
kod_sql: -16153
stan_sql: 2200M
stan_sql: 2200M
SQL16156N Dokument XML zawiera głównym obiekt
SQL16154N Schemat XML zawiera element dokumentu, którego nie udało się otworzyć.
nazwa_elementu, który ma więcej niż jeden ID systemowy=id_systemowy.
atrybut zdefiniowany z właściwością ID.
Objaśnienie:
Objaśnienie: Podczas analizy składniowej dokumentu XML analizator
Podczas przetwarzania schematu XML (lub deklaracji DTD) napotkał główny obiekt dokumentu, którego nie udało się
znaleziono dwa lub więcej atrybutów z właściwością ID dla otworzyć. Dokument jest wskazywany identyfikatorem
elementu o nazwie nazwa_elementu. systemowym id_systemowy.

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw schemat XML lub deklarację DTD i spróbuj ponowić Popraw dokument XML i spróbuj ponowić operację.
operację.
kod_sql: -16156
kod_sql: -16154
stan_sql: 2200M
stan_sql: 2200M
SQL16157N Schemat XML zawiera niepoprawne
SQL16155N Dokument XML zawiera niepoprawnie związki obejmując wartość aspektu
określony lub nieprawidłowy adres URL. włączenia lub wyłączenia wartość dla typu
Kod przyczyny = kod-przyczyny. pochodnego i przestrzeni wartości typu
podstawowego. Kod przyczyny =
Objaśnienie:
kod-przyczyny.
Podczas analizy składniowej dokumentu XML analizator
napotkał niepoprawnie określony lub nieprawidłowy adres Objaśnienie:
URL. Parametr kod_przyczyny wskazuje, który z poniższych Podczas przetwarzania schematu XML analizator XML
warunków zaistniał. napotkał niepoprawny związek między wartościami aspektu
włączenia lub wyłączenia dla typu pochodnego i przestrzeni
1 Adres URL był niewłaściwie uformowany.
wartości typu podstawowego. Parametr kod_przyczyny
2 Adres URL odwołuje się do nieobsługiwanego wskazuje, który z poniższych warunków zaistniał. Zachodzi
protokołu. jeden lub więcej z poniższych warunków:
3 Obecnie obsługiwany jest tylko adres ’localhost’. 1. Wartość atrybutu maxInclusion wartość dla typu
pochodnego nie należy do przestrzeni wartości typu
4 Przedrostek protokołu jest nieobecny. podstawowego.
5 Oczekiwano znaków // po deklaracji protokołu. 2. Wartość atrybutu maxExclusion wartość dla typu
pochodnego nie należy do przestrzeni wartości typu
6 Po znaku % muszą następować dwie cyfry podstawowego.
szesnastkowe.
3. Wartość atrybutu minInclusion wartość dla typu
7 Składnik określający hosta nie jest zakończony. pochodnego nie należy do przestrzeni wartości typu
podstawowego.
8 Podstawowa część adresu URL nie może być
względna. 4. Wartość atrybutu minExclusion wartość dla typu
pochodnego nie należy do przestrzeni wartości typu
9 Nie można przetłumaczyć względnego adresu URL podstawowego.
przy użyciu podanego podstawowego adresu URL,
ponieważ podstawowy adres URL nie zawiera Analiza składniowa lub sprawdzanie poprawności nie zostały
wystarczającej liczby segmentów ścieżki. zakończone.
10 Pole portu musi być 16-bitową wartością dziesiętną. Działanie użytkownika:

Rozdział 2. Komunikaty SQL 521


SQL16158N • SQL16161N

Popraw wartość atrybutu znajdującą się poza przestrzenią


SQL16159N Dokument XML zawiera anonimowy typ
nazw typu podstawowego i spróbuj ponowić operację.
zespolony z atrybutem nazwy w elemencie
nazwa_elementu.
kod_sql: -16157
Objaśnienie:
stan_sql: 2200M Podczas analizy składniowej dokumentu XML analizator
napotkał anonimowy typ zespolony w elemencie o nazwie
nazwa_elementu, jednak element typu zespolonego miał
SQL16158N Schemat XML zawiera niepoprawny atrybut nazwy. Połączenie typu zespolonego i atrybutu nazwy
związek obejmujący wartość aspektu nie jest dozwolone w tym kontekście.
minLength, maxLength lub length
długość-tp dla typu pochodnego w Analiza składniowa lub sprawdzanie poprawności nie zostały
porównaniu z wartością typu podstawowego zakończone.
długość-podstawowa. Kod przyczyny =
kod-przyczyny. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
kod_sql: -16159
napotkał niepoprawny związek między aspektami typu
pochodnego i typu podstawowego. Parametr kod_przyczyny
stan_sql: 2200M
wskazuje, który z poniższych warunków zaistniał.
1. Wartość length długość_tp dla typu pochodnego nie jest
równa wartości length długość_podstawowa typu SQL16160N Dokument XML zawiera anonimowy typ
podstawowego. prosty w elemencie nazwa_elementu z
atrybutem nazwy.
2. Wartość minLength długość_tp dla typu pochodnego jest
mniejsza lub równa wartości minLength Objaśnienie:
długość_podstawowa typu podstawowego. Podczas analizy składniowej dokumentu XML analizator
3. Wartość minLength długość_tp dla typu pochodnego jest napotkał anonimowy typ prosty w elemencie o nazwie
większa niż wartość maxlength długość_podstawowa typu nazwa_elementu, jednak ten element miał atrybut nazwy.
podstawowego. Połączenie typu anonimowego i atrybutu nazwy nie jest
dozwolone w tym kontekście.
4. Wartość maxLength długość_tp dla typu pochodnego jest
większa niż wartość maxLength długość_podstawowa typu
podstawowego. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
5. Wartość maxLength długość_tp dla typu pochodnego jest
mniejsza lub równa wartości minLength Działanie użytkownika:
długość_podstawowa typu podstawowego. Popraw dokument XML i spróbuj ponowić operację.
6. Wartość length długość_tp dla typu pochodnego jest
mniejsza niż wartość minLength długość_podstawowa kod_sql: -16160
typu podstawowego.
stan_sql: 2200M
7. Wartość length długość_tp dla typu pochodnego jest
większa niż wartość maxLength długość_podstawowa typu
podstawowego. SQL16161N Dokument XML zawiera element z
8. Wartość minLength długość_tp dla typu pochodnego jest nieoczekiwaną pozycją informacyjną.
większa niż wartość length długość_podstawowa typu Objaśnienie:
podstawowego. Podczas analizy składniowej dokumentu XML analizator
9. Wartość maxLength długość_tp dla typu pochodnego jest napotkał pozycję informacyjną, która nie jest zgodna
mniejsza niż wartość length długość_podstawowa typu (annotation?, (simpletype | complextype)?, (unique | key |
podstawowego. keyref)*).

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16158 kod_sql: -16161

stan_sql: 2200M stan_sql: 2200M

522 Komunikaty, tom 2


SQL16162N • SQL16167N

SQL16162N Dokument XML zawiera element SQL16165N Dokument XML zawiera nieoczekiwany
nazwa-elementu, który nie może być częścią tekst przed elementem głównym.
grupy podstawienia wskazywanej nazwą
Objaśnienie:
nazwa-podstawienia.
Podczas analizy składniowej dokumentu XML analizator
Objaśnienie: napotkał nieoczekiwany tekst przed elementem głównym.
Podczas analizy składniowej dokumentu XML analizator
napotkał element nazwa_elementu, który nie może być częścią Analiza składniowa lub sprawdzanie poprawności nie zostały
wskazanej grupy podstawienia nazwa_podstawienia. zakończone.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
Działanie użytkownika: kod_sql: -16165
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16162
SQL16166N Dokument XML zawiera niepełne znaczniki
stan_sql: 2200M
w wartości obiektu.
Objaśnienie:
SQL16163N Dokument XML zawiera zduplikowaną
Podczas analizy składniowej dokumentu XML analizator
deklarację elementu nazwa_elementu.
napotkał niepełne znaczniki w wartości obiektu. Analizator
Objaśnienie: składni rozwijał obiekt w dokumencie XML, a wynikowy kod
Podczas analizowania składni dokumentu XML analizator znaczników XML nie jest poprawnie uformowanym kodem
napotkał zduplikowaną deklarację określonego elementu w XML.
ramach tego samego zakresu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Analiza składniowa lub sprawdzanie poprawności nie zostały zakończone.
zakończone.
Działanie użytkownika:
Działanie użytkownika: Popraw dokument XML i spróbuj ponowić operację.
Popraw dokument XML i spróbuj ponowić operację.
kod_sql: -16166
kod_sql: -16163
stan_sql: 2200M
stan_sql: 2200M
SQL16167N Dokument XML zawiera element NDATA
SQL16164N Dokument XML zawiera w treści dla obiektu będącego parametrem.
zduplikowane elementy <annotation>.
Objaśnienie:
Objaśnienie: Podczas analizy składniowej dokumentu XML analizator
Podczas analizowania składni dokumentu XML analizator napotkał element NDATA dla obiektu będącego parametrem.
napotkał w treści zduplikowane elementy <annotation>. Element NDATA nie jest dozwolony w przypadku obiektów
Oczekiwany jest nie więcej niż jeden element <annotation>. parametrów.

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw dokument XML, usuwając zduplikowane elementy Popraw dokument XML i spróbuj ponowić operację.
<annotation> i spróbuj ponowić operację.
kod_sql: -16167
kod_sql: -16164
stan_sql: 2200M
stan_sql: 2200M

Rozdział 2. Komunikaty SQL 523


SQL16168N • SQL16171N

3. Kiedy przestrzenie nazw są włączone, dwukropki nie


SQL16168N Dokument XML zawiera niepoprawną
mogą występować w nazwach z wyjątkiem sytuacji, gdy
deklarację XML. Kod przyczyny =
oddzielają nazwę od przedrostka przestrzeni nazw.
kod-przyczyny.
4. Kiedy przestrzenie nazw są włączone, atrybut typu ID,
Objaśnienie: IDREF, IDREFS, ENTITY, ENTITIES lub NOTATION
Podczas przetwarzania dokumentu lub schematu XML nie może zawierać dwukropka.
analizator składni XML napotkał brakującą lub niepoprawną
deklarację XML. Parametr kod_przyczyny wskazuje, który z Analiza składniowa lub sprawdzanie poprawności nie zostały
poniższych warunków zaistniał. zakończone.
1 Łańcuchy deklaracji XML muszą występować w Działanie użytkownika:
kolejności ’version’, ’encoding’ i ’standalone’. Popraw dokument XML i spróbuj ponowić operację.
2 Deklaracja musi się zaczynać łańcuchem <?xml, a
nie <?XML. Łańcuch ’xml’ musi być pisany małymi kod_sql: -16169
literami.
stan_sql: 2200M
3 Deklaracja XML lub tekstu musi zaczynać się w
pierwszej kolumnie pierwszego wiersza.
SQL16170N Dokument XML zawiera typ nazwa-typu1 o
4 Deklaracja XML musi zawierać łańcuch ’version=’.
nieznanym typie podstawowym nazwa-typu2.
5 Deklaracja XML jest wymagana, ale nie jest obecna.
Objaśnienie:
6 Wskazana wersja XML jest nieobsługiwana lub Podczas analizowania składni dokumentu XML analizator
niepoprawna. napotkał typ nazwa_typu1 o nieznanym typie podstawowym
nazwa_typu2.
7 Podane kodowanie dokumentu było niepoprawne lub
jest niezgodne z kodowaniem wykrytym
Analiza składniowa lub sprawdzanie poprawności nie zostały
automatycznie.
zakończone.
8 Deklaracja XML nie jest zakończona.
Działanie użytkownika:
9 Wartość atrybutu autonomicznego jest niepoprawna Popraw typ podstawowy dla nazwa_typu1 w dokumencie
lub nieobsługiwana. XML i spróbuj ponowić operację.
10 Obsługiwane są tylko atrybuty ’version’, encoding’ i
kod_sql: -16170
’standalone’.
stan_sql: 2200M
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
SQL16171N Dokument XML zawierał błąd w treści
Działanie użytkownika:
wyprowadzenia za pomocą listy dla typu
Popraw dokument XML i spróbuj ponowić operację.
prostego nazwa_typu.
kod_sql: -16168 Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
stan_sql: 2200M napotkał niedozwoloną specyfikację wyprowadzenia za
pomocą elementu ’list’ w deklaracji typu prostego
nazwa_typu.
SQL16169N Dokument XML zawiera nazwę elementu
lub atrybutu, która jest niepoprawna w Analiza składniowa lub sprawdzanie poprawności nie zostały
odniesieniu do przestrzeni nazw. Kod zakończone.
przyczyny = kod-przyczyny.
Działanie użytkownika:
Objaśnienie: Popraw deklarację typu w dokumencie XML i spróbuj
Podczas analizy składniowej dokumentu XML analizator ponowić operację.
napotkał niepoprawną nazwę elementu lub atrybutu XML w
odniesieniu do przestrzeni nazw. Parametr kod_przyczyny
kod_sql: -16171
wskazuje, który z poniższych warunków zaistniał.
1. Kiedy przestrzenie nazw są włączone, nazwa może stan_sql: 2200M
zawierać tylko jeden znak dwukropka.
2. Kiedy przestrzenie nazw są włączone, dwukropek nie
może być pierwszym ani ostatnim znakiem.

524 Komunikaty, tom 2


SQL16172N • SQL16177N

SQL16172N Dokument XML zawiera deklarację SQL16175N Dokument XML zawiera schemat, w
typ_deklaracji, która ma jednocześnie którym nie udało się rozstrzygnąć elementu
atrybut ref i zawiera elementy potomne. głównego nazwa_elementu.
Objaśnienie: Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Podczas analizy składniowej dokumentu XML analizator
napotkał deklarację typ_deklaracji, obejmującą atrybut ref i napotkał problem w rozstrzygnięciu elementu głównego
treść potomną. Atrybut ref i treść potomna nie mogą dokumentu schematu.
jednocześnie występować w deklaracji typ_deklaracji.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Analiza składniowa lub sprawdzanie poprawności nie zostały zakończone.
zakończone.
Działanie użytkownika:
Działanie użytkownika: Popraw dokument XML i spróbuj ponowić operację.
Popraw dokument XML i spróbuj ponowić operację.
kod_sql: -16175
kod_sql: -16172
stan_sql: 2200M
stan_sql: 2200M
SQL16176N Schemat XML zawiera niedozwolone użycie
SQL16173N Dokument XML zawiera atrybut treści typu List, Union lub Restriction dla
nazwa_atrybutu, który nie jest dozwolony. typu nazwa_typu.
Objaśnienie: Objaśnienie:
Podczas analizy składniowej dokumentu XML napotkano Podczas analizy składniowej dokumentu XML napotkano
atrybut nazwa_atrybutu, który nie jest dozwolony w wskazany typ nazwa_typu, który nie może być deklarowany
elemencie. dla treści List, Union lub Restriction. Lista lub unia nie mogą
być stosowane z typem innym niż prosty. Typ prosty
Analiza składniowa lub sprawdzanie poprawności nie zostały wyprowadzony od innego typu wymaga, by typ źródłowy był
zakończone. także typem prostym.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
kod_sql: -16173 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16176
SQL16174N Dokument XML zawiera schemat XML
stan_sql: 2200M
uri1, którego docelowa przestrzeń nazw nie
jest zgodna z przestrzenią nazw określoną w
dokumencie instancji uri2. SQL16177N Schemat XML zawiera typ pochodny,
którego typ podstawowy nazwa_typu nie
Objaśnienie:
mógł zostać znaleziony.
Podczas analizy składniowej dokumentu XML analizator
napotkał niezgodność docelowych przestrzeni nazw. Docelowa Objaśnienie:
przestrzeń nazw w schemacie XML nie pasuje do docelowej Podczas analizy składniowej dokumentu XML napotkano typu
przestrzeni nazw w dokumencie instancji. pochodny, przy czym typ podstawowy nazwa_typu dla tego
typu pochodnego nie został znaleziony.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Działanie użytkownika:
Popraw docelową przestrzeń nazw w dokumencie XML i Działanie użytkownika:
spróbuj ponowić operację. Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16174 kod_sql: -16177

stan_sql: 2200M stan_sql: 2200M

Rozdział 2. Komunikaty SQL 525


SQL16178N • SQL16183N

Analiza składniowa lub sprawdzanie poprawności nie zostały


SQL16178N Dokument XML zawiera atrybut pochodny
zakończone.
nazwa_atrybutu, który jest niezgodny z
definicją atrybutu podstawowego. Kod Działanie użytkownika:
przyczyny = kod-przyczyny. Popraw dokument XML i spróbuj ponowić operację.
Objaśnienie:
Podczas analizy składniowej dokumentu XML wykryto kod_sql: -16180
atrybut pochodny, który jest w pewien sposób niezgody ze
swoim typem podstawowym. Możliwe przyczyny określane stan_sql: 2200M
przez kod_przyczyny to:
1. Niezgodność ustawienia REQUIRED. SQL16181N Dokument XML zawiera niepoprawny
2. Typ pochodny nie daje się poprawnie wyprowadzić z typu obiekt simpleContent.
podstawowego. Objaśnienie:
3. Wartość nie jest ustalona albo różni się od wartości Podczas analizy składniowej dokumentu XML napotkano
podstawowej. niepoprawny obiekt simpleContent. Treść musi mieć
4. Docelowa przestrzeń nazw jest niepoprawna z punktu ustawienie RESTRICTION lub EXTENSION.
widzenia ograniczeń typu podstawowego, określonych
znakami wieloznacznymi, albo typ podstawowy jest Analiza składniowa lub sprawdzanie poprawności nie zostały
pozbawiony znaków wieloznacznych. zakończone.
5. Nie można modyfikować atrybutu ’use’ typu pochodnego, Działanie użytkownika:
jeśli użycie dla atrybutu podstawowego jest zabronione. Popraw dokument XML i spróbuj ponowić operację.

Analiza składniowa lub sprawdzanie poprawności nie zostały kod_sql: -16181


zakończone.
Działanie użytkownika: stan_sql: 2200M
Popraw dokument XML i spróbuj ponowić operację.
SQL16182N Dokument XML zawiera niepoprawny
kod_sql: -16178 obiekt o treści złożonej.
Objaśnienie:
stan_sql: 2200M
Podczas analizy składniowej dokumentu XML napotkano
niepoprawny obiekt o treści złożonej. Treść musi mieć
SQL16179N Dokument XML zawiera element lub ustawienie RESTRICTION lub EXTENSION.
atrybut nazwa z deklaracją typ-pochodny
oczekującą typu prostego. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Objaśnienie:
Podczas analizy składniowej dokumentu XML znaleziono Działanie użytkownika:
deklarację typ_pochodny, która wymagała typu prostego dla Popraw dokument XML i spróbuj ponowić operację.
wskazanego elementu lub atrybutu o nazwie nazwa.
Znaleziono inny typ niż prosty. kod_sql: -16182

Analiza składniowa lub sprawdzanie poprawności nie zostały stan_sql: 2200M


zakończone.
Działanie użytkownika: SQL16183N Dokument XML ma niepoprawny obiekt
Popraw dokument XML i spróbuj ponowić operację. potomny obiektu typu zespolonego. Kod
przyczyny = kod-przyczyny.
kod_sql: -16179
Objaśnienie:
Podczas analizy składni dokumentu XML wykryto
stan_sql: 2200M
niepoprawny obiekt potomny obiektu typu zespolonego.
Możliwe przyczyny określane przez kod_przyczyny to:
SQL16180N Dokument XML zawiera pustą treść 1. Znaleziono niepoprawny obiekt potomny po obiekcie
obiektu typu prostego. potomnym simpleContent w typie complexType.
Objaśnienie: 2. Znaleziono niepoprawny obiekt potomny po obiekcie
Podczas analizy składniowej dokumentu XML analizator potomnym complexContent w typie complexType.
napotkał obiekt typu prostego pozbawiony elementów
potomnych. Obiekt typu prostego musi mieć zdefiniowany Analiza składniowa lub sprawdzanie poprawności nie zostały
jeden element potomny. zakończone.

526 Komunikaty, tom 2


SQL16184N • SQL16185N

Działanie użytkownika: 12 Odwołania do elementów są dozwolone wyłącznie w


Popraw dokument XML i spróbuj ponowić operację. treści mieszanej lub elementOnly.
13 Atrybuty ’type’ i ’ref’ nie mogą być używane
kod_sql: -16183
łącznie.
stan_sql: 2200M 14 Typ elementu został już zadeklarowany.
15 Niepoprawna deklaracja xml:space.
SQL16184N Dokument XML zawiera zduplikowaną
16 Błąd w treści pozycji informacyjnej elementu
adnotację dla typu nazwa_typu.
<schemat>.
Objaśnienie:
17 Deklaracje atrybutów nie mogą zawierać
Podczas analizowania składni dokumentu XML znaleziono
jednocześnie deklaracji typu i typu prostego.
zduplikowaną adnotację dla typu nazwa_typu. Typ może mieć
nie więcej niż jedną adnotację. 18 Atrybut ref nie może występować jednocześnie z
żadnym z atrybutów ’type’, ’abstract’, ’block’,
Analiza składniowa lub sprawdzanie poprawności nie zostały ’final’, ’nilable’, ’default’ lub ’fixed’.
zakończone.
19 Atrybut ref jest obecny, a znaleziono atrybut
Działanie użytkownika: simpleType/form/type.
Popraw dokument XML i spróbuj ponowić operację.
20 Typ podstawowy określony w elemencie o treści
złożonej element musi sam być obiektem typu
kod_sql: -16184 zespolonego.

stan_sql: 2200M 21 Elementy anyAttribute mogą zawierać co najwyżej


jeden element annotation wśród obiektów
potomnych.
SQL16185N Dokument XML zawiera błąd składniowy.
Kod przyczyny = kod-przyczyny. 22 Przestrzeń nazw elementu <import> musi być inna
od docelowej przestrzeni nazw schematu
Objaśnienie: wykonującego <import>.
Podczas analizy składniowej dokumentu XML analizator
natrafił na błąd składniowy. Możliwe przyczyny określane 23 Jeśli przestrzeń nazw elementu <import> nie jest
przez kod_przyczyny to: obecna, schemat wykonujący <import> musi mieć
docelową przestrzeń nazw.
1 Brak oczekiwanego znaku [ po słowie INCLUDE
lub IGNORE. 24 Zawartość typu complexType, który jest
wyprowadzany przez ograniczenie, jest pusta, ale typ
2 Dokument zawiera na najwyższym poziomie obiekt podstawowy nie jest pusty i nie można go uczynić
typu zespolonego bez nazwy. pustym, stosując wyprowadzenie przez ograniczenie.
3 Łańcuch ’standalone=’ jest dozwolony tylko w 25 Typ treści nie jest poprawnym ograniczeniem dla
głównym obiekcie XML. typu treści obiektu podstawowego.
4 Łańcuch ’encoding=’ jest wymagany w deklaracji 26 Definicja {item type definition} musi zawierać
tekstowej. odmianę {variety} elementu atomowego lub unii
5 Element główny jest różny od deklaracji DOCTYPE. (gdzie wszystkie typy składowe muszą być
atomowe).
6 Atrybuty ID muszą mieć ustawienie #IMPLIED lub
#REQUIRED. 27 Wszystkie definicje {member type definition} muszą
być odmianami {variety} elementów atomowych lub
7 Atrybuty typu ENTITY/ENTITIES muszą list.
odwoływać się do zewnętrznego obiektu,
niepodlegającego analizie składniowej. 28 Obiekt potomny definicji grupy modelu nie może
określać atrybutu minOccurs ani maxOccurs.
8 Model treści nie zezwala na istnienie danych
znakowych. 29 Grupa, której treścią jest ’all’, może wyłącznie
występować jako typ treści w definicji typu
9 Typy elementów nie mogą być zduplikowane w zespolonego.
mieszanych modelach treści.
30 Kiedy grupa modeli ma kompozytor {compositor}
10 Atrybut treści musi mieć ustawienie ’textOnly’, jeśli ’all’, który stanowi type {contetnt type} typu
użyto atrybutu typu. zespolonego, minOccurs=maxOccurs=1.
11 Następne deklaracje elementów są dozwolone 31 W składniku schematu ’all’ wartość elementu
wyłącznie w treści elementOnly. minOccurs/maxOccurs musi wynosić ’0’ lub ’1’.

Rozdział 2. Komunikaty SQL 527


SQL16185N

32 Umyślne przecięcie znaków {attribute widcard} 56 Sekcja warunkowa w podzbiorze wewnętrznym.


musi dawać się przedstawić w formie wyrażenia.
57 Encja parametryczna została poddana propagacji
33 Definicja typu podstawowego nie ma żadnych poza podzbiór wewnętrzny lub zewnętrzny.
atrybutów.
58 Odwołania do encji parametrycznych są
34 Znak wieloznaczny atrybutu jest obecny w typie niedozwolone w obrębie kodu podzbioru
pochodnym, ale nie w podstawowym. wewnętrznego.
35 Znak zastępczy atrybutu w typie pochodnym nie jest 59 Obiekt propagowany poza sekcję treści do sekcji
poprawnym podzbiorem odpowiednika w typie Różne.
podstawowym.
60 Wartości atrybutów nie mogą zawierać odwołań do
36 Atrybut znaku wieloznacznego w typie pochodnym obiektów zewnętrznych.
musi być identyczny ze swoim odpowiednikiem w
61 Jeśli obecne są jednocześnie atrybuty ’default’ i
typie podstawowym lub od niego silniejszy.
’use’, ’use’ musi mieć wartość ’optional’.
37 Obiekt potomny typu prostego w elemencie
62 W tym miejscu dozwolone są wyłącznie obiekty
<redefine> musi mieć obiekt potomny w postaci
znakowe zawierające liczby lub znaki specjalne.
elementu ograniczenia.
63 Atrybut schemaLocation nie zawiera par wartości.
38 Atrybut podstawowy elementu potomnego
ograniczenia dla obiektu typu prostego musi być taki 64 Niepełny kod znaczników w tekście zastępującym
sam, jak atrybut nazwy obiektu typu prostego w obiektu parametru w kompletnej deklaracji.
elemencie ″redefine″.
65 Znacznik początkowy i końcowy znajdowały się w
39 Obiekt potomny typu zespolonego w elemencie różnych obiektach.
<redefine> musi mieć obiekt potomny potomka w
postaci elementu rozszerzenia ograniczenia. 66 Dokument zawiera rekurencyjne rozszerzenie
obiektu.
40 Atrybut podstawowy ograniczenia/rozszerzenia musi
być taki sam jak obiekt typu zespolonego. 67 Aspekty są niespójne z typem podstawowym.

41 Jeśli grupa potomna elementu <redefine> zawiera 68 Znaki niedrukowane nie mogą występować między
grupę, która się odwołuje do siebie samej, musi mieć zewnętrznie deklarowanymi elementami z treścią
dokładnie jedno odwołanie. elementów w dokumencie autonomicznym.

42 Jeśli grupa attributeGroup elementu <redefine> 69 Niepełny kod znaczników w tekście zastępującym
zawiera odwołanie do siebie, odwołanie to musi być obiektu parametru.
dokładnie jedno. 70 Pola pasuje do więcej niż jednej wartości w zakresie
43 Treść ograniczenia zapewniającego unikalność musi swojego selektora; pola muszą pasować do
być w postaci (annotation?, selector, field+). unikalnych wartości.

44 Wyrażenie XPath jest puste lub nieobecne. 71 Znaki inne niż niedrukowalne nie są dozwolone w
elementach schematu innych niż ’appinfo’ i
45 Grupa modelu <xs:all> wchodząca w skład definicji ’documentation’.
typu zespolonego musi stanowić całość typu treści w
definicji typu zespolonego. 72 Podany indeks wykraczał poza maksymalny indeks
atrybutu.
46 Element <annotation> może zawierać tylko
elementy <appinfo> i <documentation>. 73 Przekazana wartość AttTypes nie jest znana.

47 Nazwą elementu głównego w schemacie XML musi 74 Przekazana wartość DefAttType nie jest znana.
być ’schema’. 75 Węzeł operacji dwuargumentowej ma
48 Powtarzanie poszczególnych elementów nie jest jednoargumentowy typ węzła.
dozwolone w mieszanych modelach treści. 76 Typ treści musi być mieszany lub z elementami
49 Nieprawidłowa deklaracja atrybutu domyślnego. potomnymi.

50 Oczekiwano deklaracji atrybutu domyślnego. 77 Węzły PCDATA nie są poprawne w tym miejscu.

51 Błąd składniowy na liście atrybutów. 78 Węzeł operacji jednoargumentowej ma


dwuargumentowy typ węzła.
52 Niepoprawne po treści.
79 Nieznany typ modelu treści.
53 Brak elementu głównego w deklaracji DOCTYPE.
80 Nieznany typ specyfikacji treści.
54 Nieokreślona deklaracja DOCTYPE.
81 Element nadrzędny nie ma węzła specyfikacji treści.
55 Deklaracja tekstu niepoprawna w tym miejscu.

528 Komunikaty, tom 2


SQL16186N

82 Element wyliczany przyczyny utworzenia ma 108 W wyrażeniu XPath nie może występować
nieznaną wartość. podwójny dwukropek.
83 Element wyliczany nie zawiera już żadnego 109 Oczekiwano kroku po tokenie
elementu. ’AXISNAME_CHILD::’
84 Element wyliczany z kodowaniem automatycznym 110 Oczekiwano kroku po znakach ’//’ w wyrażeniu
ma nieznaną wartość. XPath.
85 Znaleziono niezrównoważone znaczniki 111 Oczekiwano kroku po znaku ’/’ w wyrażeniu XPath.
początku/końca, nie można kontynuować.
112 Znak ’/’ nie jest dozwolony po znakach ’//’ w
86 Zakres występowania znaków wieloznacznych nie wyrażeniu XPath.
jest ograniczeniem dla zakresu znaków
113 Znaki ’//’ mogą występować tylko po znaku ’.’ na
wieloznacznych obiektu podstawowego.
początku wyrażenia XPath.
87 Warunek ze znakiem wieloznacznym nie wyznacza
114 Znak ’/’ nie może występować na początku wartości
podzbioru warunku ze znakiem wieloznacznym
XPath.
obiektu podstawowego.
115 Nie można wybrać elementu głównego w wartości
88 Zakres występowania grupy nie jest ograniczeniem
XPath.
dla zakresu znaków wieloznacznych obiektu
podstawowego. 116 Puste wyrażenie XPath.
89 Nie istnieje kompletne odwzorowanie funkcji 117 Wyrażenie XPath nie może się kończyć znakiem ’|’.
między częściami.
118 Niepoprawny znak po znaku ’.’ w wyrażeniu XPath.
90 Nie istnieje kompletne odwzorowanie funkcjonalne
między częściami. 119 Token wyrażenia XPath nie jest obsługiwany.

91 Niepoprawny typ węzła specyfikacji treści. 120 Włączanie opcji NEL.

92 Napotkano pusty łańcuch. 121 Nie znaleziono schematu w identyfikatorze URI.

93 Łańcuch zawiera wyłącznie znaki niedrukowalne. 122 Pochodny typ zespolony ma treść, podczas gdy typ
podstawowy jest pusty.
94 Napotkano więcej niż jeden znak dziesiętny.
123 Analizator składni oczekiwał nazwy notacji XML,
95 Napotkano niepoprawne znaki. ale jej nie znalazł.
96 Napotkano wskaźnik o wartości null. 124 Znaleziono niezakończoną deklarację notacji.
97 Zakres występowania grupy nie jest poprawnym 125 Analizator składni nie znalazł kodowania
ograniczeniem zakresu występowania grupy dokumentu, które było wymagane.
podstawowej.
126 Dokument zawierał więcej znaczników końcowych
98 Nie istnieje kompletne odwzorowanie funkcjonalne niż początkowych.
między częściami.
99 Dokument zawierał niezakończone odwołanie do Analiza składniowa lub sprawdzanie poprawności nie zostały
znaku. zakończone.

100 Liczba rozszerzeń obiektów przekroczyła dozwolony Działanie użytkownika:


limit. Popraw dokument XML i spróbuj ponowić operację.

101 Ten typ atrybutu nie może mieć pustej wartości. kod_sql: -16185
102 Reprezentacja definicji typu zespolonego jest
prawidłowa - obiekt <restriction> musi mieć jako stan_sql: 2200M
potomka obiekt typu <simpleType>.
103 Nazwa lub adres uri elementu w ograniczeniu nie SQL16186N Dokument XML napotkał niepoprawne
pasuje do charakterystyki odpowiedniego elementu odwołanie do obiektu nieprzetwarzanego
podstawowego. nazwa_obiektu.

104 Selektory nie mogą wybierać atrybutów. Objaśnienie:


Podczas analizy składniowej dokumentu XML napotkano
105 Znak ’|’ na początku wartości XPath jest zabroniony. odwołanie do obiektu nieprzetwarzanego nazwa_obiektu. Jest
106 Znaki ’||’ nie mogą występować w wartości XPath. to niepoprawne.

107 Brak nazwy atrybutu w wartości XPath.

Rozdział 2. Komunikaty SQL 529


SQL16187N • SQL16192N

Analiza składniowa lub sprawdzanie poprawności nie zostały kod_sql: -16189


zakończone.
stan_sql: 2200M
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
SQL16190N Dokument XML zawiera typ
kod_sql: -16186 ″przedrostek:nazwa-typu″, którego nie
znaleziono w przestrzeni nazw.
stan_sql: 2200M
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
SQL16187N Dokument XML zawiera typ abstrakcyjny napotkał typ, który nie występuje w przestrzeni nazw. Typ jest
nazwa_typu używany w atrybucie xsi:type. identyfikowany przez przedrostek:nazwa_typu.
Objaśnienie:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Podczas analizy składniowej dokumentu XML analizator
zakończone.
napotkał użycie typu abstrakcyjnego nazwa_typu w atrybucie
xsi:type. Działanie użytkownika:
Popraw użycie typu w dokumencie XML i spróbuj ponowić
Analiza składniowa lub sprawdzanie poprawności nie zostały operację.
zakończone.
kod_sql: -16190
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16187
SQL16191N Dokument XML zawiera niepoprawny
stan_sql: 2200M obiekt potomny w typie zespolonym
nazwa_typu.
SQL16188N Dokumenty XML zawiera niepoprawną Objaśnienie:
specyfikację adnotacji treści dla typu Podczas analizy składniowej dokumentu XML analizator
nazwa_typu. napotkał niepoprawny obiekt potomny w typie zespolonym
nazwa_typu. Obiektem potomnym obiektu completType może
Objaśnienie: być obiekt group, sequence, choice, all, attribute lub
Podczas analizy składniowej dokumentu XML analizator attributeGroup.
napotkał specyfikację Content (Annotation?...), która jest
niepoprawna dla typu danych nazwa_typu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
kod_sql: -16191
kod_sql: -16188
stan_sql: 2200M
stan_sql: 2200M
SQL16192N Dokument XML zawiera kołowe odwołanie
do obiektu attributeGroup dla atrybutu
SQL16189N Dokument XML zawiera element ref nazwa_atrybutu.
nazwa_elementu, który nie jest obecny w
schemacie XML. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
Objaśnienie: natrafił na kołowe odwołanie do obiektu attributeGroup. Jest
Podczas analizy składniowej dokumentu XML analizator to niedozwolone poza elementem <redefine>.
napotkał element ref nazwa_elementu, który nie jest obecny w
schemacie XML.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
kod_sql: -16192

530 Komunikaty, tom 2


SQL16193N • SQL16196N

stan_sql: 2200M kod_sql: -16195

stan_sql: 2200M
SQL16193N Dokument XML zawiera przedrostek
nazwa_przedrostka, który nie został
odwzorowany do żadnego identyfikatora SQL16196N Dokument XML zawiera element
URI. nazwa_elementu, który nie został poprawnie
określony. Kod przyczyny = kod-przyczyny.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał przedrostek nazwa_przedrostka, który nie został Podczas analizy składniowej dokumentu XML analizator
odwzorowany do żadnego identyfikatora URI. napotkał błąd dla elementu o nazwie nazwa_elementu.
Możliwe przyczyny określane przez kod_przyczyny to:
Analiza składniowa lub sprawdzanie poprawności nie zostały
1 Element może przyjmować wartość null w
zakończone.
ograniczeniu, ale nie elemencie podstawowym.
Działanie użytkownika:
2 Element nie jest ustalony albo jest ustalony, ale nie
Popraw dokument XML i spróbuj ponowić operację.
ma tej samej wartości, co element podstawowy.
kod_sql: -16193 3 Niedozwolone podstawienia dla elementu nie są
nadzbiorem podstawień dla elementu
stan_sql: 2200M podstawowego.
4 Element ma typ, który nie jest wyprowadzony z
SQL16194N Dokument XML zawiera typ nazwa-typu, elementu podstawowego.
który jest używany w atrybucie xsi:type, ale
5 Element należy do grupy innej odmiany niż ta dla
nie pochodzi od typu elementu
elementu podstawowego.
nazwa-elementu.
6 Nie znaleziono klucza dla ograniczenia
Objaśnienie:
zapewniającego unikalność elementu.
Podczas analizy składniowej dokumentu XML analizator
napotkał atrybut xsi:type, który wskazywał typ nazwa_typu, 7 Element został zadeklarowany z użyciem typu, który
jednak ten typ nie jest wyprowadzony z typu elementu jest abstrakcyjny. Użyj deklaracji xsi:type, aby
nazwa_elementu. określić typ inny niż abstrakcyjny.
8 Element ma ograniczenie blokujące i nie zezwala na
Analiza składniowa lub sprawdzanie poprawności nie zostały
podstawienie.
zakończone.
9 Element nie może mieć jednocześnie atrybutu typu i
Działanie użytkownika:
obiektu potomnego z typem prostym lub zespolonym
Popraw typ używany w atrybucie xsi:type w dokumencie
XML i spróbuj ponowić operację. 10 Element musi mieć wartość domyślną lub ustaloną i
musi mieć prosty lub prosty mieszany model treści.
kod_sql: -16194
11 Element musi mieć określony atrybut
schemaLocation.
stan_sql: 2200M
12 Przestrzeń nazw elementu musi pochodzić z
przestrzeni nazw schematu.
SQL16195N Dokument XML zawiera niepoprawny
atrybut redefine. Przestrzeń nazw 13 Element ma typ, który nie jest wyprowadzony z typu
URI_przestrzeni_nazw już została włączona elementu w nagłówku grupy podstawienia.
lub przedefiniowana.
14 Element jest zadeklarowany globalnie i nie może
Objaśnienie: mieć atrybutu ref.
Podczas analizy składniowej dokumentu XML analizator
15 Nie znaleziono wyrażenia specyfikacji treści dla
napotkał niepoprawny atrybut redefine. Przestrzeń nazw
elementu.
URI_przestrzeni_nazw już została włączona lub
przedefiniowana. 16 Oczekiwano znaków ’,’ lub ’)’ albo nawiasu
zamykającego w modelu treści elementu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
17 Element nie może mieć przedrostka ’xmlns’.
zakończone.
18 Element został już zadeklarowany.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. 19 Element nie może mieć elementów potomnych w
treści typu prostego.

Rozdział 2. Komunikaty SQL 531


SQL16197N • SQL16199N

20 Element ma typ prosty, ale nie znaleziono


SQL16197N Dokument XML zawiera ograniczenie
analizatora poprawności typu danych.
zapewniające unikalność dla pola
21 Element ma klucz pasujący do elementu, który może kluczowego lub pola keyref o nazwie nazwa
przyjmować wartość null (ustawienie true). z niewystarczającą liczbą wartości
określonych dla elementu nazwa-elementu.
22 Znaleziono duplikat wartości klucza zadeklarowany
dla ograniczenia zapewniającego unikalność Objaśnienie:
elementu. Podczas analizowania składni dokumentu XML analizator
napotkał element nazwa_elementu, w którym ograniczenie
23 Znaleziono duplikat wartości unikalnej zapewniające unikalność dla pól key lub keyref o nazwie
zadeklarowany dla ograniczenia tożsamości nazwa nie ma dostatecznej liczby określonych wartości.
elementu.
24 Element ma klucz pozbawiony wartości. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
25 Nie ma dostatecznej liczby wartości określonej dla
unikalnego ograniczenia tożsamości elementu. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
26 Element był używany w deklaracji DOCTYPE, lecz
nie został zadeklarowany.
kod_sql: -16197
27 Model treści dla tego elementu jest dwuznaczny.
stan_sql: 2200M
28 Część dla typu treści nie dopuszcza opróżniania, ale
typ treści elementu jest mieszany.
SQL16198N Dokument XML zawiera deklarację obiektu
29 Treść dla elementu jest różna od ustalonej wartości
typ-obiektu o niepoprawnej nazwie nazwa.
atrybutu w deklaracji schematu elementu.
Objaśnienie:
30 Znaleziono kołową grupę podstawienia dla
Podczas analizy składniowej dokumentu XML analizator
elementu.
napotkał deklarację obiektu typ_obiektu o nazwie nazwa, która
31 Element nie jest poprawny dla powiązanego modelu nie jest poprawna.
treści.
Analiza składniowa lub sprawdzanie poprawności nie zostały
32 Wartością elementu jest ’xsi:nil’. Jest to niezgodne z
zakończone.
deklaracją elementu jako niedopuszczającego
wartości null. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
33 Element nie ma określonego typu.
34 Wskazany element musi mieć kwalifikator. kod_sql: -16198
35 Wskazany element nie może mieć kwalifikatora.
stan_sql: 2200M
36 Wskazany element nie był pusty, ale zawierał
deklarację xsi:nil=true. Każdy element z deklaracją
SQL16199N Dokument XML zawiera typ nazwa_typu,
xsi:nil=true powinien być pusty.
który ma element o treści złożonej i nie
37 Element nie jest zdefiniowany. może być wskazywany jako podstawowy dla
elementu simpleContent.
38 Element ma jednocześnie określone aspekty ’fixed’ i
’default’. Można określić jeden albo drugi z nich, ale Objaśnienie:
nie oba na raz. Podczas analizy składniowej dokumentu XML analizator
napotkał typ nazwa_typu, dla którego określono element o
Analiza składniowa lub sprawdzanie poprawności nie zostały treści złożonej jako typ podstawowy elementu
zakończone. simpleContennt.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
kod_sql: -16196 Działanie użytkownika:
Popraw dokument XML, wprowadzając inny typ jako
stan_sql: 2200M podstawowy i spróbuj ponowić operację.

kod_sql: -16199

stan_sql: 2200M

532 Komunikaty, tom 2


SQL16200N • SQL16205N

SQL16200N Dokument XML zawiera duplikat atrybutu SQL16203N Dane wejściowe w dokumencie XML
odniesienia ″przedrostek:nazwa″ w obiekcie zakończyły się zanim zostały zamknięte
typu zespolonego. wszystkie otwarte wcześniej znaczniki.
Ostatnim rozpoczętym znacznikiem był
Objaśnienie:
nazwa_znacznika.
Podczas analizowania składni dokumentu XML analizator
napotkał zduplikowany atrybut odniesienia przedrostek:nazwa Objaśnienie:
w obiekcie typu zespolonego. Podczas analizy składniowej dokumentu XML analizator
napotkał koniec danych wejściowych, zanim zostały
Analiza składniowa lub sprawdzanie poprawności nie zostały zakończone wszystkie otwarte znaczniki. Ostatni otwarty
zakończone. znacznik wskazuje nazwa_znacznika.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
kod_sql: -16200 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16203
SQL16201N Dokument XML zawiera niepoprawny znak
stan_sql: 2200M
Unicode wartość_szesnastkowa w
identyfikatorze publicznym.
SQL16204N Dokument XML zawiera odwołanie do
Objaśnienie:
deklaracji zewnętrznego obiektu
Podczas analizy składniowej dokumentu XML analizator
nazwa_zewnętrznego_obiektu w
natrafił na niepoprawny znak Unicode w identyfikatorze
autonomicznym dokumencie.
publicznym. Niepoprawny znak jest identyfikowany wartością
szesnastkową wartość_szesnastkowa. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
Analiza składniowa lub sprawdzanie poprawności nie zostały składni odwołał się do zewnętrznego obiektu
zakończone. nazwa_obiektu_zewnętrznego w autonomicznym dokumencie.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Popraw dokument XML i spróbuj ponowić operację.
zakończone.
kod_sql: -16201 Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16204
SQL16202N Dokument XML zawiera niepoprawną cyfrę
stan_sql: 2200M
wartość dla powiązanej podstawy ułamka.
Objaśnienie:
SQL16205N Dokument XML zawiera zbyt mało
Podczas analizy składniowej dokumentu XML analizator
elementów, aby pasować do modelu treści
napotkał niepoprawną cyfrę wartość dla powiązanej podstawy
nazwa.
ułamka. Podstawa mogła wynosić 10 albo 16.
Objaśnienie:
Analiza składniowa lub sprawdzanie poprawności nie zostały Podczas analizy składniowej dokumentu XML analizator
zakończone. składni nie znalazł wystarczająco wielu elementów, aby
zapewnić dopasowanie do modelu treści o nazwie nazwa.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16202
Działanie użytkownika:
stan_sql: 2200M Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16205

stan_sql: 2200M

Rozdział 2. Komunikaty SQL 533


SQL16206N • SQL16210N

Podczas analizy składniowej dokumentu XML analizator


SQL16206N Dokument XML zawiera odwołania do
napotkał brakującego członka grupy podstawienia dla
identyfikatora URI łańcuch_uri, dla którego
elementu abstrakcyjnego nazwa_elementu.
nie jest dostępna gramatyka.
Objaśnienie: Analiza składniowa lub sprawdzanie poprawności nie zostały
Podczas analizy składniowej dokumentu XML analizator zakończone.
składni próbował znaleźć gramatykę dla identyfikatora URI
łańcuch_uri. Gramatyka nie jest dostępna. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. kod_sql: -16209

Działanie użytkownika: stan_sql: 2200M


Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16206 SQL16210N Dokument XML zawiera wartość wartość,


która narusza ograniczenie dla aspektu.
Kod przyczyny = kod-przyczyny.
stan_sql: 2200M
Objaśnienie:
Podczas przetwarzania dokumentu XML analizator składni
SQL16207N Dokument XML zawiera obiekt
XML napotkał wartość, która nie spełnia testu na ograniczenie
nazwa_obiektu, który nie został
dla aspektu. Możliwe przyczyny określane przez
zdefiniowany.
kod_przyczyny to:
Objaśnienie:
1 Długość wartości przekracza aspekt maxLen.
Podczas analizy składniowej dokumentu XML analizator
składni znalazł obiekt o nazwie nazwa_obiektu, który nie był 2 Długość wartości była niższa niż aspekt minLen.
zdefiniowany.
3 Długość wartości nie była równa aspektowi len.
Analiza składniowa lub sprawdzanie poprawności nie zostały 4 Wartość nie występowała w wyliczeniu.
zakończone.
5 Liczba cyfr w wartości przekroczyła aspekt
Działanie użytkownika: totDigits.
Popraw dokument XML i spróbuj ponowić operację.
6 Liczba cyfr ułamkowych w wartości przekroczyła
aspekt fractDigits.
kod_sql: -16207
7 Wartość była większa niż aspekt maxInclusive.
stan_sql: 2200M
8 Wartość była większa lub równa aspektowi
maxExclusive.
SQL16208N Dokument XML zawiera niepoprawny typ
9 Wartość była mniejsza niż aspekt minInclusive.
nazwa_typu w definicji xsi:type.
10 Wartość była mniejsza lub równa aspektowi
Objaśnienie:
minExclusive.
Podczas analizy składniowej dokumentu XML analizator
składni znalazł niepoprawny typ nazwa_typu w definicji 11 Wartość nie jest aspektem replace ze znakami
xsi:type. Analiza składniowa lub sprawdzanie poprawności nie niedrukowalnymi.
zostały zakończone.
12 Wartość nie jest aspektem collapsed ze znakami
Działanie użytkownika: niedrukowalnymi.
Popraw dokument XML i spróbuj ponowić operację.
13 Wartość nie jest zgodna z aspektem wyrażenia
regularnego.
kod_sql: -16208
14 Wartość nie jest zgodna z żadnym z typów członków
stan_sql: 2200M w unii.
15 Wartość przekracza aspekt skali.
SQL16209N Dokument XML wymaga określenia
16 Wartość przekracza aspekt dokładności.
członka grupy podstawienia dla elementu
abstrakcyjnego nazwa_elementu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Objaśnienie: zakończone.
Działanie użytkownika:

534 Komunikaty, tom 2


SQL16211N • SQL16214N

Popraw wartość naruszającą aspekt ograniczenia w Podczas analizy składniowej dokumentu XML analizator
dokumencie XML i spróbuj ponowić operację. napotkał użycie obiektu nazwa w obrębie definicji obiektu
nazwa. Kod XML nie zezwala na definicje kołowe.
kod_sql: -16210
Analiza składniowa lub sprawdzanie poprawności nie zostały
stan_sql: 2200M zakończone.
Działanie użytkownika:
SQL16211N Dokument XML zawiera niepoprawny Popraw dokument XML i spróbuj ponowić operację.
identyfikator URI. Tokens 1=token1. Token
2=token2. Kod przyczyny = kod-przyczyny. kod_sql: -16212
Objaśnienie:
stan_sql: 2200M
Podczas analizy składniowej dokumentu XML analizator
natrafił na niepoprawny identyfikator URI. Możliwe
przyczyny określane przez kod_przyczyny to: SQL16213N Schemat XML zawiera element
nazwa-elementu, który nie może mieć reguły
1 Identyfikator URI token1 musi zawierać wszystkie
ograniczającej typu typ-ograniczenia,
wymagane składniki.
ponieważ typ ten pochodzi od
2 Identyfikator URI token1 zawiera składnik token2, identyfikatora.
który może występować jedynie w URI ogólnego
Objaśnienie:
typu.
Podczas analizy składniowej schemat XML analizator
3 Identyfikator URI token1 zawiera niepoprawną napotkał element, który nie może mieć ograniczenia
sekwencję o zmienionym znaczeniu token2. typ_ograniczenia, ponieważ jest wyprowadzony z
identyfikatora.
4 Identyfikator URI token1 zawiera niepoprawny znak
token2.
Analiza składniowa lub sprawdzanie poprawności nie zostały
5 Identyfikator URI zawiera składnik o ustawieniu zakończone.
null, który nie może mieć ustawienia null.
Działanie użytkownika:
6 Identyfikator URI token1 zawiera niezgodny Popraw dokument XML i spróbuj ponowić operację.
składnik token2.
kod_sql: -16213
7 Identyfikator URI token1 zawiera składnik token2,
który nie jest poprawny, jeśli nie określono składnika
’host’. stan_sql: 2200M

8 Identyfikator URI token1 zawiera składnik token2,


który nie jest poprawny, jeśli nie określono składnika SQL16214N Dokument XML zawiera zaimportowany
’path’. schemat uri-importu, który ma docelową
przestrzeń nazw uri-docelowej-przestrzeni-
9 Identyfikator URI token1 zawiera składnik token2, nazw inną niż zadeklarowana
który nie może występować w specyfikacji ścieżki. uri-zadeklarowanej-przestrzeni-nazw.
10 Identyfikator URI zawiera wartość portu token1, Objaśnienie:
która nie mieści się w przedziale (0, 65535). Podczas analizy składniowej dokumentu XML analizator
napotkał niezgodność przestrzeni nazw. Zaimportowany
Analiza składniowa lub sprawdzanie poprawności nie zostały schemat XML uri_importowany ma docelową przestrzeń nazw
zakończone. uri_docelowej_przestrzeni_nazw, która się różni od przestrzeni
nazw uri_zadeklarowany zadeklarowanej w dokumencie
Działanie użytkownika:
XML.
Popraw identyfikator URI w dokumencie XML i spróbuj
ponowić operację.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
kod_sql: -16211
Działanie użytkownika:
stan_sql: 2200M Popraw niezgodność przestrzeni nazw w dokumencie XML i
spróbuj ponowić operację.
SQL16212N Dokument XML nie zezwala na kołowe
kod_sql: -16214
definicje dla nazwa.
Objaśnienie: stan_sql: 2200M

Rozdział 2. Komunikaty SQL 535


SQL16215N • SQL16220N

SQL16215N Dokument XML zawiera włączony schemat SQL16218N Dokument XML zawiera globalną
uri-włączenia, który ma inną docelową deklarację dla komponentu komponent o
przestrzeń nazw uri-docelowej-przestrzeni- nazwie nazwa1, która jest zadeklarowana
nazw. więcej niż jeden raz.
Objaśnienie: Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Podczas analizowania składni dokumentu XML analizator
napotkał niezgodność przestrzeni nazw. Schemat XML napotkał zduplikowaną globalną deklarację składnika składnik
włączony za pomocą URI uri_włączany ma inny URI o nazwie nazwa. Składnik może być typu ″element″, ″group″
docelowej przestrzeni nazw uri_docelowej_przestrzeni_nazw. lub ″attributeGroup″.

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw niezgodność przestrzeni nazw w dokumencie XML i Usuń zduplikowaną deklarację z dokumentu XML i spróbuj
spróbuj ponowić operację. ponowić operację.

kod_sql: -16215 kod_sql: -16218

stan_sql: 2200M stan_sql: 2200M

SQL16216N W dokumencie XML brak atrybutu SQL16219N Dokument XML zawiera globalną
nazwa-atrybutu, który musi być obecny w deklarację typu typ1 o nazwie nazwa, która
deklaracjach typ-elementu nazwa-elementu. jest zadeklarowana więcej niż jeden raz lub
zadeklarowana również jako typ2.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał deklarację typ_elementu nazwa_elementu, w której Podczas analizowania składni dokumentu XML analizator
nie ma wymaganego atrybutu nazwa_atrybutu. napotkał zduplikowaną globalną deklarację typu typ1 o nazwie
nazwa lub typ nazwa jest zadeklarowany również jako typ2.
Analiza składniowa lub sprawdzanie poprawności nie zostały Globalne deklaracje typu mogą dotyczyć typów prostych lub
zakończone. zespolonych.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Dodaj brakujący atrybut do globalnej lub lokalnej deklaracji w
zakończone.
dokumencie XML i spróbuj ponowić operację.
Działanie użytkownika:
kod_sql: -16216 Popraw dokument XML i spróbuj ponowić operację.

stan_sql: 2200M kod_sql: -16219

stan_sql: 2200M
SQL16217N Dokument XML zawiera atrybut
nazwa-atrybutu, który nie może być obecny
w deklaracjach typ-elementu nazwa-elementu. SQL16220N Dokument XML zawiera element lub
atrybut nazwa, w którym deklaracji
Objaśnienie:
NOTATION użyto bezpośrednio w
Podczas analizy składniowej dokumentu XML analizator
schemacie tego elementu lub atrybutu.
napotkał atrybut o nazwie nazwa_atrybutu, który nie może
występować w deklaracji typ_elementu nazwa_elementu. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
Analiza składniowa lub sprawdzanie poprawności nie zostały napotkał element lub atrybut, którego schemat używał
zakończone. bezpośrednio deklaracji NOTATION.
Działanie użytkownika:
Analiza składniowa lub sprawdzanie poprawności nie zostały
Usuń atrybut z globalnej lub lokalnej deklaracji w dokumencie
zakończone.
XML i spróbuj ponowić operację.
Działanie użytkownika:
kod_sql: -16217 Popraw dokument XML i spróbuj ponowić operację.

stan_sql: 2200M kod_sql: -16220

536 Komunikaty, tom 2


SQL16221N • SQL16225N

stan_sql: 2200M kod_sql: -16223

stan_sql: 2200M
SQL16221N Dokument XML zawiera niezgodność w
definicji typu podstawowego
nazwa-typu-podstawowego i typu pochodnego SQL16224N Dokument XML zawiera niezgodność w
nazwa-typu-pochodnego. definicji elementu podstawowego
nazwa-elementu-podstawowego i elementu
Objaśnienie:
pochodnego nazwa-elementu-pochodnego.
Podczas przetwarzania dokumentu XML analizator napotkał
Kod przyczyny = kod-przyczyny.
niedopasowanie w definicji typu podstawowego
nazwa_typu_podstawowego i typu pochodnego Objaśnienie:
nazwa_typu_pochodnego. Jeśli typ treści typu podstawowego Podczas analizy składniowej dokumentu XML analizator
jest mieszany, to typ pochodny również musi mieć treść napotkał niedopasowanie w definicji elementu podstawowego
mieszaną. Jeśli typ treści typu podstawowego jest wyłącznie o nazwie nazwa_elementu_podstawowego i powiązanego
elementowy, to typ pochodny również musi mieć treść elementu pochodnego o nazwie nazwa_elementu_pochodnego.
wyłącznie elementową. Możliwe przyczyny określane przez kod_przyczyny to:
1. Element pochodny ma mniej ograniczeń tożsamości niż
Analiza składniowa lub sprawdzanie poprawności nie zostały element podstawowy.
zakończone.
2. Element pochodny ma ograniczenie zapewniające
Działanie użytkownika: unikalność, które nie wstępuje w elemencie
Popraw dokument XML i spróbuj ponowić operację. podstawowym.

kod_sql: -16221 Analiza składniowa lub sprawdzanie poprawności nie zostały


zakończone.
stan_sql: 2200M
Działanie użytkownika:
Popraw element podstawowy lub element pochodny w
SQL16222N Dokument XML zawiera globalną dokumencie XML i spróbuj ponowić operację.
deklarację typ_deklaracji bez nazwy.
kod_sql: -16224
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
stan_sql: 2200M
napotkał globalną deklarację typ_deklaracji pozbawioną
nazwy. Deklaracja globalna musi mieć nazwę.
SQL16225N Dokument XML zawiera przestrzeń nazw o
Analiza składniowa lub sprawdzanie poprawności nie zostały nazwie uri_przestrzeni_nazw, która nie jest
zakończone. dozwolona przez ograniczenie ze wzorcem
znaków wieloznacznych w typie
Działanie użytkownika:
podstawowym.
Popraw deklarację globalną w dokumencie XML i spróbuj
ponowić operację. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
kod_sql: -16222 napotkał niepoprawną przestrzeń nazw. Powodem jest typ
wyprowadzony z typu podstawowego z elementem ″any″,
stan_sql: 2200M którego definicja elementu zawiera URI przestrzeni nazw
niepasujący do uri_przestrzeni_nazw.

SQL16223N Dokument XML zawiera element Analiza składniowa lub sprawdzanie poprawności nie zostały
<redefine> z obiektem potomnym typu zakończone.
nazwa_typu, który nie jest dozwolony.
Działanie użytkownika:
Objaśnienie: Popraw dokument XML i spróbuj ponowić operację.
Podczas analizy składniowej dokumentu XML analizator
napotkał element redefine z obiektem potomnym o
kod_sql: -16225
zdefiniowanym typie nazwa_typu. Element <redefine> nie
może zawierać obiektów potomnych tego typu.
stan_sql: 2200M
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Działanie użytkownika:
Popraw element <redefine> w dokumencie XML i spróbuj
ponowić operację.

Rozdział 2. Komunikaty SQL 537


SQL16226N • SQL16231N

SQL16226N Schemat XML zawiera niepoprawną SQL16229N Dokument XML zawiera schemat
specyfikację dla grupy nazwa_grupy. Kod redefiniowania uri-schematu o innej
przyczyny = kod-przyczyny. docelowej przestrzeni nazw
uri-docelowej-przestrzeni-nazw.
Objaśnienie:
Podczas przetwarzania schematu XML analizator składni Objaśnienie:
XML napotkał niepoprawną specyfikację grupy. Możliwe Podczas analizy składniowej dokumentu XML analizator
przyczyny określane przez kod_przyczyny to: napotkał schemat redefine o innej docelowej przestrzeni nazw.
1. Grupa musi zawierać element (all | choice | sequence).
Analiza składniowa lub sprawdzanie poprawności nie zostały
2. Grupa zawiera odwołanie do grupy redefiniowanej, która
zakończone.
musi mieć ustawienie minOccurs = maxOccurs = 1.
3. Specyfikacja grupy atrybutów, która nie pasuje Działanie użytkownika:
(annotation?.((attribute | attributeGroup)*, anyAttribute?)). Popraw dokument XML i spróbuj ponowić operację.

Analiza składniowa lub sprawdzanie poprawności nie zostały kod_sql: -16229


zakończone.
stan_sql: 2200M
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
SQL16230N Dokument XML zawiera więcej niż jedno
kod_sql: -16226 ograniczenie zapewniające unikalność o
nazwie nazwa_ograniczenia.
stan_sql: 2200M Objaśnienie:
Podczas analizowania składni dokumentu XML analizator
SQL16227N Dokument XML zawiera obiekt napotkał wiele ograniczeń zapewniających unikalność, które
″typ-obiektu″ o nazwie ″uri:nazwa-obiektu″, używały tej samej nazwy nazwa_ograniczenia.
której nie znaleziono w schemacie.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Objaśnienie: zakończone.
Podczas analizy składniowej dokumentu XML analizator
napotkał obiekt typu typ_obiektu o nazwie uri:nazwa_obiektu, Działanie użytkownika:
który nie występuje w schemacie XML. Zmień zduplikowane nazwy ograniczeń zapewniających
unikalność w dokumencie XML i spróbuj ponowić operację.
Działanie użytkownika:
Popraw dokument lub schemat XML i spróbuj ponowić kod_sql: -16230
operację.
stan_sql: 2200M
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
SQL16231N Dokument XML zawiera odwołanie do
kod_sql: -16227 przestrzeni nazw uri bez deklaracji
<import>.
stan_sql: 2200M Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
SQL16228N Treść <all> może zawierać wyłącznie napotkał odwołanie do przestrzeni nazw uri bez deklaracji
elementy <xs:element>, a napotkano importu dla tej przestrzeni nazw.
element nazwa-znacznika.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Objaśnienie: zakończone.
Podczas analizowania dokumentu schematu XML analizator
składni napotkał element nazwa-znacznika. Zgodnie ze Działanie użytkownika:
schematem XML treść elementu <all> jest ograniczona do Dodaj deklarację importu dla przestrzeni nazw w dokumencie
elementów <xs:element>. XML i spróbuj ponowić operację.

Działanie użytkownika: kod_sql: -16231


Popraw dokument schematu XML i spróbuj ponowić operację.
stan_sql: 2200M
kod_sql: -16228

stan_sql: 2200M

538 Komunikaty, tom 2


SQL16232N • SQL16236N

stan_sql: 2200M
SQL16232N Dokument XML zawiera zduplikowane
ustawienie atrybutu nazwa_atrybutu w
deklaracji XML. SQL16235N Dokument XML zawiera wartość wartość,
która jest poza zakresem. Wartość zakresu
Objaśnienie:
1=wartość_zakresu_1. Wartość zakresu
Podczas analizowania składni dokumentu XML analizator
2=wartość_zakresu_2. Kod przyczyny =
napotkał w deklaracji XML zduplikowaną deklarację atrybutu
kod-przyczyny.
nazwa_atrybutu. Deklaracja XML może mieć tylko jedno
ustawienie ″version″, ″encoding″ i ″standalone″. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
Analiza składniowa lub sprawdzanie poprawności nie zostały natrafił na niepoprawną wartość. Możliwe przyczyny
zakończone. określane przez kod_przyczyny to:
Działanie użytkownika: 1. Wartość wartość jest mniejsza niż minimalna wartość
Usuń zduplikowany atrybut w deklaracji XML z dokumentu ujemna wartość_zakresu_1.
XML i spróbuj ponowić operację. 2. Wartość wartość jest większa niż maksymalna wartość
dodatnia wartość_zakresu_1.
kod_sql: -16232 3. Liczba wartość jest poza dozwolonym zakresem
wartość_zakresu_1 do wartość_zakresu_2.
stan_sql: 2200M 4. Liczba wartość musi mieć wykładnik.

SQL16233N Dokument XML zawiera zduplikowaną Analiza składniowa lub sprawdzanie poprawności nie zostały
wartość identyfikatora zakończone.
wartość_identyfikatora.
Działanie użytkownika:
Objaśnienie: Popraw wartość spoza zakresu w dokumencie XML i spróbuj
Podczas analizowania składni dokumentu XML analizator ponowić operację.
napotkał zduplikowaną wartość identyfikatora
wartość_identyfikatora. kod_sql: -16235

Analiza składniowa lub sprawdzanie poprawności nie zostały stan_sql: 2200M


zakończone.
Działanie użytkownika: SQL16236N Wystąpił błąd podczas przetwarzania
Zmień zduplikowane wartości identyfikatora na unikalne w wyrażenia regularnego. Kod przyczyny =
dokumencie XML i spróbuj ponowić operację. kod-przyczyny. Możliwy token = token.
Objaśnienie:
kod_sql: -16233
Podczas przetwarzania wyrażenia regularnego wystąpił błąd.
kod_przyczyny zawiera dodatkowe informacje na temat błędu,
stan_sql: 2200M razem z opisem możliwych wartości tokenu token, jeśli nie jest
on pusty.
SQL16234N Dokument XML zawiera niepoprawną 1 W wyrażeniu regularnym wystąpiła niepoprawna
deklarację typu danych nazwa_typu. Kod nazwa kategorii token.
przyczyny = kod-przyczyny.
2 W wyrażeniu regularnym wystąpiła nieznana opcja.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator 3 W wyrażeniu regularnym wystąpił nieznany
napotkał niepoprawną deklarację typu danych. Możliwe parametr token.
przyczyny określane przez kod_przyczyny to:
4 Argument ComplementRanges musi być obiektem
1. Nie ma analizatora poprawności dla typu danych RangeToken.
nazwa_typu.
5 Liczba odwołań musi być większa niż zero.
2. Jest to niepoprawny typ danych.
6 Nieznany typ tokenu.
Analiza składniowa lub sprawdzanie poprawności nie zostały
7 Niepoprawny indeks obiektu potomnego.
zakończone.
8 Wzorzec zastępowania jest niepoprawny lub ma
Działanie użytkownika:
zerową długość.
Popraw dokument XML i spróbuj ponowić operację.
9 Niepoprawna notacja szesnastkowa Unicode lub
kod_sql: -16234 punkt kodowy Unicode.

Rozdział 2. Komunikaty SQL 539


SQL16237N • SQL16239N

10 Punkt kodowy końca zakresu token jest mniejszy niż


SQL16237N Schemat XML zawiera zakres
początkowy punkt kodowy.
występowania dla elementu nazwa_elementu,
11 Niepoprawna składnia wyrażenia regularnego. który nie jest poprawnym ograniczeniem
Oczekiwany był łańcuch lub znak wymieniony w zakresu z elementu podstawowego.
wartości token.
Objaśnienie:
12 Przepełnienie w notacji szesnastkowej. Podczas analizowania schematu XML analizator napotkał
zakres występowania w elemencie nazwa_elementu, który nie
13 W wyrażeniu regularnym znaleziono nieoczekiwany jest poprawnym ograniczeniem zakresu występowania z
znak. elementu podstawowego.
14 Niepoprawna liczba odwołań.
Analiza składniowa lub sprawdzanie poprawności nie zostały
15 Wymagany jest znak po znaku ukośnika (’\’). zakończone.
16 Nieoczekiwany koniec wzorca w grupie Działanie użytkownika:
modyfikatora, grupie warunkowej lub w klasie Popraw dokument XML i spróbuj ponowić operację.
znaku.
17 We wzorcu warunkowym wymagane jest odwołanie kod_sql: -16237
wsteczne, podgląd wyprzedzający lub podgląd
wstecz. stan_sql: 2200M
18 W grupie warunkowej są więcej niż trzy alternatywy.
SQL16238N Schemat XML zawiera przedrostek
19 Po \c musi następować znak z zakresu U+0040 do
nazwa_przedrostka, który nie jest powiązany
u+005f.
z URI przestrzeni nazw w wartości XPath.
20 Nieoczekiwany znak meta.
Objaśnienie:
21 Nieznana właściwość. Podczas przetwarzania schematu XML analizator napotkał
przedrostek nazwa_przedrostka bez odpowiedniego
22 Nieznana nazwa klasy znaków POSIX. identyfikatora URI w wartości XPath.
23 Niepoprawne użycie znaku ’-’ w wyrażeniu
regularnym. Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
24 Zakotwiczenie w wyrażeniu regularnym znajduje się
w niewłaściwym położeniu. Działanie użytkownika:
Popraw schemat XML i spróbuj ponowić operację.
25 Użyto wyrażenia, które nie jest obsługiwane przy
aktualnym ustawieniu opcji.
kod_sql: -16238
26 Użyto niepoprawnego kwalifikatora wartości token.
Przypuszczalną przyczyną problemu może być brak stan_sql: 2200M
oczekiwane cyfry, brak znaku ’}’, niepoprawna
liczba, liczba minimalna większa od liczby
SQL16239N Dokument XML zawiera element redefine
maksymalnej lub przepełnienie wartości.
dla typu nazwa_typu, który nie ma jeszcze
27 token nie jest poprawnym zakresem znaków. deklaracji.
28 token jest niepoprawnym znakiem zmiany znaczenia. Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator
29 Wewnętrzny błąd w przetwarzaniu wyrażenia
składni nie napotkał w schemacie deklaracji odpowiadającej
regularnego. Kod błędu token. Spróbuj ponowić
typowi nazwa_typu. Żądanie redefiniowania nie może być
operację, a jeśli błąd się będzie powtarzał,
wykonane bez uprzedniej deklaracji.
powiadom dział wsparcia IBM, podając niniejszy
komunikat i wartość parametru token.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone.
Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Działanie użytkownika:
Popraw wyrażenie regularne i spróbuj ponowić operację.
kod_sql: -16239
kod_sql: -16236
stan_sql: 2200M
stan_sql: 2200M

540 Komunikaty, tom 2


SQL16240N • SQL16245N

SQL16240N Dokument XML zawiera znacznik tag, SQL16243N Dokument XML zawiera pole keyref
który jest dozwolony wyłącznie w wartość odwołujące się do klucza lub
kontekście typu elementOnly. ograniczenia przez unikalność, które jest
poza zakresem.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał treść, która jest poprawna tylko w kontekście typu Podczas analizy składniowej dokumentu XML analizator
elementOnly. napotkał niepoprawne pole keyref. Wartość keyref wartość jest
nazwą klucza lub ograniczenia przez unikalność, które jest
Analiza składniowa lub sprawdzanie poprawności nie zostały zdefiniowane, ale jest poza zakresem pola keyref.
zakończone.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Działanie użytkownika:
zakończone.
Popraw dokument XML i spróbuj ponowić operację.
Działanie użytkownika:
kod_sql: -16240 Popraw dokument XML i spróbuj ponowić operację.

stan_sql: 2200M kod_sql: -16243

stan_sql: 2200M
SQL16241N Dokument XML zawiera treść znacznik w
grupie modelu wyboru, która może
zawierać wyłącznie elementy: element, SQL16244N Dokument XML zawiera operację
group, choice, sequence i any. nazwa_operacji, która jest niepoprawna dla
danego typu specyfikacji.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał niepoprawną treść. Grupa modelu wyboru zawiera Podczas analizy składniowej dokumentu XML analizator
treść znacznik, która nie jest żadnym z elementów ’element’, napotkał operację, która jest niepoprawna dla danego typu
’group’, ’choice’, ’sequence’ lub ’any’. specyfikacji.

Analiza składniowa lub sprawdzanie poprawności nie zostały Analiza składniowa lub sprawdzanie poprawności nie zostały
zakończone. zakończone.
Działanie użytkownika: Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację. Popraw dokument XML i spróbuj ponowić operację.

kod_sql: -16241 kod_sql: -16244

stan_sql: 2200M stan_sql: 2200M

SQL16242N Dokument XML zawiera wartości nazwa1 i SQL16245N Niekwalifikowany identyfikator SQL
nazwa2, które naruszają regułę unikalnego łańcuch znaleziono w pobliżu wiersza
określania atrybutów części. nr_wiersza w dokumencie schematu XML
uri.
Objaśnienie:
Podczas analizy składniowej dokumentu XML analizator Objaśnienie:
napotkał wartości naruszające regułę unikalnego przypisania Identyfikator łańcuch jest pozbawiony nazwy schematu
części. relacyjnego, a w schemacie XML nie ma określonej globalnej
adnotacji db2-xdb:defaultSQLSchema. Dokument schematu
Analiza składniowa lub sprawdzanie poprawności nie zostały XML można określić przez znalezienie wartości uri w
zakończone. kolumnie SCHEMALOCATION w widoku katalogu
SYSCAT.XSROBJECTCOMPONENTS.
Działanie użytkownika:
Popraw dokument XML i spróbuj ponowić operację.
Schemat XML nie został aktywowany na potrzeby
dekompozycji.
kod_sql: -16242
Działanie użytkownika:
stan_sql: 2200M Musi być zdefiniowana globalna adnotacja
db2-xdb:defaultSQLSchema albo każda tabela lub pseudonim
użyte w każdym odwzorowaniu muszą być zadeklarowane z
adnotacją db2-xdb:table określającą schemat relacyjny.

Rozdział 2. Komunikaty SQL 541


SQL16246N • SQL16249N

kod_sql: -16245 Adnotacja w wierszu nr_wiersza lub w jego pobliżu w


dokumencie schematu XML uri odwzorowuje typ schematu
stan_sql: 225DE XML typ_danych_źródłowych do niezgodnego typu SQL
docelowy_typ_danych. Dokument schematu XML można
określić przez znalezienie wartości uri w kolumnie
SQL16246N Niekompletne odwzorowanie adnotacji w SCHEMALOCATION w widoku katalogu
wierszu nr_wiersza lub w jego pobliżu w SYSCAT.XSROBJECTCOMPONENTS.
dokumencie schematu XML uri. Kod
przyczyny = kod-przyczyny.
Schemat XML nie został aktywowany na potrzeby
Objaśnienie: dekompozycji.
W adnotacji odwzorowującej pozycję schematu XML w
Działanie użytkownika:
pobliżu wiersza wiersz w obiekcie uri do obiektu bazy danych
Na podstawie innej dokumentacji schematu XML z
brakuje pewnych informacji. Możliwe są następujące wartości
adnotacjami dla danej adnotacji ustal warunki zgodności
kodu przyczyny:
między typami schematu XML a typami SQL. Popraw
1. Nazwa zestawu wierszy nie została określona albo nie jest odpowiednio adnotację.
w pełni kwalifikowana.
2. W każdym odwzorowaniu musi występować albo kolumna kod_sql: -16247
docelowa, albo warunek. Nie określono ani kolumny
docelowej, ani warunku. stan_sql: 225DE
3. Określono przetwarzanie danych XML, ale nie określono
kolumny docelowej. Odwzorowanie wskazuje, że treść z SQL16248N Błąd w adnotacji w wierszu nr_wiersza lub
dokumentu XML ma zostać obcięta, znormalizowana lub w jego pobliżu w dokumencie schematu
przekształcona za pośrednictwem wyrażenia, ale XML uri. Dodatkowe informacje o błędzie:
odwzorowanie nie określa, gdzie mają zostać zapisane szczegóły-błędu.
wyniki przetwarzania.
Objaśnienie:
Dokument schematu XML można określić przez znalezienie Dokument schematu XML z adnotacjami uri zawiera błąd w
wartości uri w kolumnie SCHEMALOCATION w widoku adnotacji w wierszu nr-wiersza lub w jego pobliżu.
katalogu SYSCAT.XSROBJECTCOMPONENTS. Przykładowe typy błędów: niepoprawna wartość, nieznane
elementy lub atrybuty wewnątrz adnotacji, zniekształcony
Schemat XML nie został aktywowany na potrzeby dokument XML. Wszystkie dostępne informacje dodatkowe
dekompozycji. na temat typu błędu lub błędnej wartości: szczegóły-błędu.

Działanie użytkownika: Dokument schematu XML można określić przez znalezienie


Zmodyfikuj adnotacje w schemacie XML. Poniżej zestawiono wartości uri w kolumnie SCHEMALOCATION w widoku
możliwe działania zależne od wartości parametru katalogu SYSCAT.XSROBJECTCOMPONENTS.
kod_przyczyny:
1. Określ nazwę zestawu wierszy lub dopełnij do postaci w Schemat XML nie został aktywowany na potrzeby
pełni kwalifikowanej. dekompozycji.
2. Określ kolumnę docelową lub warunek. Działanie użytkownika:
3. Określ kolumnę docelową na dane XML powiązane ze Listę dozwolonych adnotacji i ich składnię ustal w oparciu o
wskazanym przetwarzaniem. dokumentację schematu XML z adnotacjami. Popraw lub usuń
nieznaną adnotację.
Na podstawie innej dokumentacji schematu XML z
adnotacjami dla danej adnotacji upewnij się, że wszystkie kod_sql: -16248
wymagane składniki mają określone wartości.
stan_sql: 225DE
kod_sql: -16246
SQL16249N Adnotacja db2-xdb:expression lub
stan_sql: 225DE
db2-xdb:condition łańcuch-adnotacji w
wierszu nr_wiersza lub w jego pobliżu w
SQL16247N Źródłowy typ XML źródłowy-typ-danych nie dokumencie schematu XML uri jest
może być odwzorowany na docelowy typ niepoprawna, jak wskazuje kod przyczyny
SQL docelowy-typ-danych w adnotacji w kod_przyczyny.
wierszu nr_wiersza lub w jego pobliżu w
Objaśnienie:
dokumencie schematu XML uri.
Zidentyfikowana adnotacja db2-xdb:expression lub
Objaśnienie: db2-xdb:condition nie jest poprawna, jak wskazuje jeden z
następujących kodów przyczyny:

542 Komunikaty, tom 2


SQL16250N • SQL16252N

1. Długość łańcucha wskazanego wyrażenia przekroczyła


SQL16251N Duplikat adnotacji db2-xdb:table
dozwolone maksimum.
zdefiniowano dla tabeli lub pseudonimu
2. Liczba wystąpień parametru $DECOMP_CONTENT lub nazwa-tabeli w wierszu nr_wiersza lub w jego
$DECOMP_ELEMENTID w wyrażeniu przekracza pobliżu w dokumencie schematu XML uri.
maksymalną liczbę 10 wystąpień.
Objaśnienie:
Dokument schematu XML można określić przez znalezienie Istnieje więcej niż jedna adnotacja db2-xdb:table dla tabeli lub
wartości uri w kolumnie SCHEMALOCATION w widoku pseudonimu nazwa_tabeli w schemacie XML z adnotacjami.
katalogu SYSCAT.XSROBJECTCOMPONENTS. Znaleziono drugą adnotację db2-xdb:table dla tej samej tabeli
lub pseudonimu w wierszu nr_wiersza lub w jego pobliżu w
dokumencie schematu XML uri. Dokument schematu XML
Schemat XML nie został aktywowany na potrzeby
można określić przez znalezienie wartości uri w kolumnie
dekompozycji.
SCHEMALOCATION w widoku katalogu
Działanie użytkownika: SYSCAT.XSROBJECTCOMPONENTS.
Zapoznaj się z dokumentacją opisanego schematu XML w
zakresie składni i limitów dla adnotacji db2-xdb:expression Schemat XML nie został aktywowany na potrzeby
lub db2-xdb:condition. Popraw odpowiednio wyrażenie. dekompozycji.
Działanie użytkownika:
kod_sql: -16249
Popraw schemat XML z adnotacjami, usuwając zduplikowane
adnotacje db2-xdb:table dla tabeli lub pseudonimu
stan_sql: 225DE
nazwa_tabeli z dokumentów schematu XML w schemacie
XML.
SQL16250N Adnotacja db2-xdb:defaultSQLSchema o
wartości nazwa-schematu w wierszu kod_sql: -16251
nr_wiersza lub w jego pobliżu w dokumencie
schematu XML uri koliduje z inną stan_sql: 225DE
adnotacją db2-xdb:defaultSQLSchema
określoną w jednym z dokumentów
schematu XML wewnątrz tego samego SQL16252N Zestaw wierszy db2-xdb:rowSet o nazwie
schematu XML. nazwa-zestawu-wierszy określony w wierszu
nr_wiersza lub w jego pobliżu w dokumencie
Objaśnienie: schematu XML uri jest już powiązany z
Można podać tylko jedną wartość adnotacji inną tabelą lub innym pseudonimem.
db2-xdb:defaultSQLSchema dla wszystkich dokumentów
schematu XML składających się na schemat XML z Objaśnienie:
adnotacjami. Wskazany schemat SQL o nazwie Zestaw wierszy w opisanym schemacie XML musi
nazwa_schematu w wierszu nr_wiersza lub w jego pobliżu w odpowiadać dokładnie jednej tabeli lub jednemu
dokumencie schematu XML uri stwarza konflikt z inną pseudonimowi. Deklaracja zestawu wierszy w wierszu
wartością adnotacji db2-xdb:defaultSQLSchema w tym lub w nr_wiersza lub w jego pobliżu deklaruje powiązanie między
innym dokumencie w obrębie tego samego schematu XML. zestawem wierszy nazwa-zestawu-wierszy a tabelą lub
Dokument schematu XML można określić przez znalezienie pseudonimem określonymi w obejmującej je adnotacji
wartości uri w kolumnie SCHEMALOCATION w widoku db2-xdb:table. Określony zestaw wierszy już został powiązany
katalogu SYSCAT.XSROBJECTCOMPONENTS. z inną tabelą lub innym pseudonimem w innej adnotacji
db2-xdb:table. Dokument schematu XML można określić
przez znalezienie wartości uri w kolumnie
Schemat XML nie został aktywowany na potrzeby
SCHEMALOCATION w widoku katalogu
dekompozycji.
SYSCAT.XSROBJECTCOMPONENTS.
Działanie użytkownika:
Popraw schemat XML z adnotacjami w taki sposób, aby Schemat XML nie został aktywowany na potrzeby
wszystkie specyfikacje adnotacji db2-xdb:defaultSQLSchema dekompozycji.
były spójne.
Działanie użytkownika:
Popraw opisany schemat XML tak, aby każda nazwa zestawu
kod_sql: -16250
wierszy była jednoznacznie powiązana z dokładnie jedną
tabelą lub jednym pseudonimem we wszystkich dokumentach
stan_sql: 225DE
danego opisanego schematu XML.

kod_sql: -16252

stan_sql: 225DE

Rozdział 2. Komunikaty SQL 543


SQL16253N • SQL16255N

Działanie użytkownika:
SQL16253N Adnotacja db2-xdb:condition warunek w
Zmodyfikuj adnotacje w schemacie XML. Poniżej zestawiono
wierszu nr_wiersza lub w jego pobliżu w
możliwe działania zależne od wartości parametru
dokumencie schematu XML uri jest zbyt
kod_przyczyny:
długa.
1. Upewnij się, że przedrostki przestrzeni nazw w adnotacji
Objaśnienie: db2-xdb:locationPath są poprawne lub dodaj deklarację
Długość wiersza powiązanego z adnotacją db2-xdb:condition brakującej przestrzeni nazw.
zaczynającą się od warunku warunek przekracza dopuszczalne
2. Upewnij się, że składnia wartości dla adnotacji
maksimum. Warunek db2-xdb:condition znajduje się w
db2-xdb:locationPath jest poprawną składnią ścieżki
wierszu nr_wiersza lub w jego pobliżu w dokumencie
położenia.
schematu XML uri. Dokument schematu XML można określić
przez znalezienie wartości uri w kolumnie 3. Upewnij się, że wartość dla adnotacji
SCHEMALOCATION w widoku katalogu db2-xdb:locationPath odpowiada możliwej ścieżce z węzła
SYSCAT.XSROBJECTCOMPONENTS. głównego do elementu lub atrybutu na końcu ścieżki
położenia.
Schemat XML nie został aktywowany na potrzeby 4. Upewnij się, że nazwy wszystkich elementów i atrybutów
dekompozycji. w adnotacji locationPath odpowiadają poprawnym
nazwom elementów i atrybutów w schemacie XML.
Działanie użytkownika:
Skróć łańcuch warunku dla adnotacji db2-xdb:condition w 5. Zapoznaj się z dokumentacją opisanego schematu XML w
dokumencie schematu XML. Ograniczenie dla łańcuchów zakresie limitów dla adnotacji db2-xdb:locationPath, po
zawartych w adnotacjach db2-xdb:condition można znaleźć w czym w ścieżce położenia zmniejsz liczbę kroków
dokumentacji schematu XML z adnotacjami. położenia tak, aby nie przekraczała limitu.

kod_sql: -16253 kod_sql: -16254

stan_sql: 225DE stan_sql: 225DE

SQL16254N Adnotacja db2-xdb:locationPath SQL16255N Wartość db2-xdb:rowSet


ścieżka-położenia w wierszu nr_wiersza lub w nazwa-zestawu-wierszy użyta w wierszu
jego pobliżu w dokumencie schematu XML nr_wiersza lub w jego pobliżu w dokumencie
uri nie jest poprawna; kod przyczyny schematu XML uri koliduje z adnotacją
kod-przyczyny. db2-xdb:table o tej samej nazwie.

Objaśnienie: Objaśnienie:
Wartość podana w schemacie z adnotacjami dla adnotacji Opisany schemat XML zawiera adnotację db2-xdb:table, która
db2-xdb:locationPath jest niepoprawna. Możliwe są deklaruje tabelę lub pseudonim o nazwie
następujące wartości kodu przyczyny: nazwa-zestawu-wierszy, ale opisany schemat XML nie ma
żadnej deklaracji adnotacji db2-xdb:rowSet umożliwiającej
1. Pewien element lub atrybut ma przedrostek przestrzeni
powiązanie wartości nazwa-zestawu-wierszy z którąkolwiek
nazw, który nie jest odwzorowany do identyfikatora URI.
tabelą lub którymkolwiek pseudonimem. Jeśli w żadnej
Wszystkie przedrostki przestrzeni nazw użyte w ścieżce
adnotacji db2-xdb:table nie ma zadeklarowanego zestawu
położenia powinny być powiązane z przestrzenią nazw w
wierszy, to zostaje niejawnie powiązany z tabelą lub
dokumencie schematu XML zawierającym adnotację
pseudonimem o tej samej nazwie kwalifikowanej przez
określającą tę ścieżkę.
wartość db2-xdb:defaultSQLSchema. W opisanym schemacie
2. Niepoprawna składnia ścieżki położenia. XML nie można użyć adnotacji db2-xdb:rowSet, która opiera
3. Wskazana ścieżka nie pasuje do żadnej możliwej ścieżki z się na niejawnym powiązaniu między zestawem wierszy a
węzła głównego do położenia, w którym element lub tabelą lub pseudonimem o tej samej nazwie
atrybut może pojawić się w dokumencie instancji. nazwa-zestawu-wierszy, a jednocześnie deklarować tabeli lub
4. Nazwa elementu lub atrybutu w adnotacji locationPath nie pseudonimu o nazwie nazwa-zestawu-wierszy przy użyciu
odpowiada żadnej nazwie elementu lub atrybutu w adnotacji db2-xdb:table. Dokument schematu XML można
schemacie XML. określić przez znalezienie wartości uri w kolumnie
SCHEMALOCATION w widoku katalogu
5. Liczba kroków położenia w ścieżce położenia przekracza SYSCAT.XSROBJECTCOMPONENTS.
dozwolone maksimum.
Schemat XML nie został aktywowany na potrzeby
Dokument schematu XML można określić przez znalezienie dekompozycji.
wartości uri w kolumnie SCHEMALOCATION w widoku
katalogu SYSCAT.XSROBJECTCOMPONENTS. Działanie użytkownika:
Popraw schemat XML z adnotacjami, dodając do elementu
Schemat XML nie został aktywowany na potrzeby db2-xdb:table o nazwie nazwa_zestawu_wierszy element
dekompozycji.

544 Komunikaty, tom 2


SQL16256N • SQL16259N

potomny db2-xdb:rowSet. W ten sposób zestaw wierszy W niektórych przypadkach obecność nieobsługiwanej opcji w
zostanie jawnie powiązany z tabelą lub pseudonimem. schemacie XML skutkuje niemożliwością uaktywnienia na
potrzeby dekompozycji. W innych przypadkach istnienie
kod_sql: -16255 adnotacji w przestrzeni nazw dekompozycji dla
nieobsługiwanej opcji uniemożliwia uaktywnienie na potrzeby
stan_sql: 225DE dekompozycji. Wszelkie dodatkowe dostępne informacje
dotyczące tego błędu zawierają szczegóły-błędu.

SQL16256N W schemacie XML brakuje globalnego typu Działanie użytkownika:


zespolonego, który jest wymagany, aby Usuń opcję ze schematu XML lub usuń adnotacje
uaktywnić schemat na potrzeby dekompozycji powiązane z tą opcją. Ograniczenia dotyczące
dekompozycji. zastosowania wskazanej opcji schematu XML można ustalić
na podstawie dokumentacji dekompozycji.
Objaśnienie:
Schemat XML nie zawiera globalnych elementów typu kod_sql: -16257
zespolonego, które mogłyby służyć jako potencjalne elementy
główne dokumentów instancji. Schemat XML musi zawierać
stan_sql: 225DE
przynajmniej jeden element globalny typu zespolonego, aby
mógł być aktywowany na potrzeby dekompozycji.
SQL16258N Schemat XML zawiera element
Schemat XML nie został aktywowany na potrzeby rekurencyjny, który jest opcją
dekompozycji. nieobsługiwaną w kontekście dekompozycji.
Element rekurencyjny jest identyfikowany
Działanie użytkownika: jako
Upewnij się, że schemat XML zawiera przynajmniej jeden ″przestrzeń_nazw_elementu:nazwa_elementu″
globalny element typu zespolonego przed próbą uaktywnienia typu ″przestrzeń_nazw_typu:nazwa_typu″.
tego schematu na potrzeby dekompozycji.
Objaśnienie:
kod_sql: -16256 Schematy XML z elementami rekurencyjnymi nie są
obsługiwane w kontekście dekompozycji. Znaleziono
stan_sql: 225DE przynajmniej jeden element rekurencyjny, identyfikowany jako
przestrzeń_nazw_elementu:nazwa_elementu typu
przestrzeń_nazw_typu:nazwa_typu.
SQL16257N Opcja numer-opcji w wierszu nr_wiersza lub
w jego pobliżu w dokumencie schematu Schemat XML nie został aktywowany na potrzeby
XML uri nie jest obsługiwana pod kątem dekompozycji.
dekompozycji. Wszelkie dodatkowe
informacje na temat błędu obejmują Działanie użytkownika:
szczegóły-błędu. Usuń rekurencję ze schematu XML.

Objaśnienie: kod_sql: -16258


Wykryto nieobsługiwaną funkcję zgodnie ze wskazaniem
jednego z następujących numerów funkcji:
stan_sql: 225DE
1. Odwzorowanie na kolumnę o typie nieobsługiwanym
przez dekompozycję. Dozwolone typy kolumn
docelowych ustal w oparciu o dokumentację schematu SQL16259N Niepoprawne odwzorowania ″wiele do
XML z adnotacjami. wielu″ wykryto w dokumencie schematu
XML uri1 w pobliżu wiersza nr_wiersza1
2. Odwzorowanie elementu w grupie modelu wyboru
oraz w dokumencie schematu XML uri2 w
zawierającej warunek lub wyrażenie.
pobliżu wiersza nr_wiersza2.
3. Odwzorowanie elementu lub atrybutu na pseudonim
identyfikujący tabelę w źródle danych, którym nie jest Objaśnienie:
program DB2 for LUW. Każdy pseudonim, do którego Dwie wskazane adnotacje określają niepoprawny związek
istnieje odwołanie w opisanym schemacie XML, musi wiele do wielu między elementami, które są odwzorowane do
identyfikować tabelę znajdującą się w źródle danych DB2 tego samego zestawu wierszy. Jeśli najniższym wspólnym
for LUW. przodkiem dwóch deklaracji elementów jest grupa modelu
sekwencji, to tylko w przypadku jednej ze ścieżek od
4. Opisany schemat XML zawiera odwołanie do tabeli, której
deklaracji elementu w górę do danej grupy modelu może
strona kodowa jest inna niż strona kodowa bazy danych.
zachodzić maxOccurs>1 w odniesieniu do jednej lub więcej
W konfiguracji, w której dowolna z tabel docelowych ma
niż jednej deklaracji elementów lub grup modelu w danej
inną stronę kodową niż baza danych, dekompozycja nie
ścieżce. Dokumenty schematu XML można ustalić przez
jest obsługiwana.
dopasowanie identyfikatorów uri1 i uri2 do kolumny

Rozdział 2. Komunikaty SQL 545


SQL16260N • SQL16264N

SCHEMALOCATION widoku katalogowego


SQL16262N Schemat XML z adnotacjami nie zawiera
SYSCAT.XSROBJECTCOMPONENTS.
odwzorowanych kolumn dla zestawu
wierszy nazwa_zestawu_wierszy.
Schemat XML nie został aktywowany na potrzeby
dekompozycji. Objaśnienie:
Zestaw adnotacji obejmujący zestaw wierszy
Działanie użytkownika: nazwa_zestawu_wierszy nie zawiera odwzorowań do żadnej
Popraw adnotacje tak, aby wyeliminować odwzorowania wiele kolumny. Aby zestaw wierszy mógł być celem dla wyników
do wielu. Reguły odwzorowywania elementów i atrybutów są dekompozycji, należy odwzorować przynajmniej jedną
opisane w dokumentacji schematu XML z adnotacjami. kolumnę do wybranego elementu lub atrybutu XML.

kod_sql: -16259 Działanie użytkownika:


Dodaj adnotację odwzorowującą kolumnę wskazanego
stan_sql: 225DE zestawu wierszy do wybranego elementu lub atrybutu XML.
Jeśli zestaw wierszy nie powinien być obiektem docelowym
dla wyników dekompozycji, usuń odwołania do zestawu
SQL16260N Adnotacje schematu XML nie obejmują wierszy ze schematu XML z adnotacjami.
odwzorowań na żadną kolumnę dowolnej
tabeli lub pseudonimu. kod_sql: -16262
Objaśnienie:
Schemat XML nie zawiera adnotacji, które odwzorowywałyby stan_sql: 225DE
element lub atrybut XML na którąkolwiek kolumnę dowolnej
tabeli lub pseudonimu. SQL16263N Nazwa zestawu wierszy łańcuch w wierszu
nr_wiersza lub w jego pobliżu w dokumencie
Schemat XML nie został uaktywniony na potrzeby schematu XML uri nie jest używana w
dekompozycji, ponieważ nie zawiera on żadnych informacji żadnym odwzorowaniu.
niezbędnych do wykonania dekompozycji.
Objaśnienie:
Działanie użytkownika: Nazwa zestawu wierszy łańcuch w wierszu nr_wiersza w
Do schematu XML dodaj adnotacje tak, aby przynajmniej dokumencie schematu XML uri musi być określona
jeden element lub atrybut XML był odwzorowany na kolumnę przynajmniej w jednym odwzorowaniu w schemacie XML.
tabeli lub pseudonimu.
Działanie użytkownika:
kod_sql: -16260 Upewnij się, że nazwa zestawu wierszy łańcuch jest określona
w odwzorowaniu przynajmniej jednego elementu lub atrybutu
stan_sql: 225DE w schemacie XML.

kod_sql: -16263
SQL16261N Liczba ograniczeń przestrzeni nazw
określona dla warunku ze znakami stan_sql: 225DE
wieloznacznymi przekracza limit
maksymalna_liczba_ograniczeń.
SQL16264N Nazwa zestawu wierszy łańcuch w wierszu
Objaśnienie: nr_wiersza lub w jego pobliżu w dokumencie
Liczba przestrzeni nazw jawnie wymienionych w atrybucie schematu XML uri nie może być użyta
przestrzeni nazw <xsd:any> lub <xsd:anyAttribute> jest więcej niż jeden raz w ramach adnotacji
większa niż limit maksymalna_liczba przestrzeni nazw. Jeśli nazwa-adnotacji.
lista zawiera wartości specjalne ##targetNamespace lub
##local, są one także uwzględniane w limitowanej liczbie. Objaśnienie:
Nazwa zestawu wierszy może być użyta tylko raz w ramach
Schemat XML nie został aktywowany na potrzeby adnotacji nazwa-adnotacji. Może należeć tylko do jednej
dekompozycji. hierarchii porządków operacji.

Działanie użytkownika: Działanie użytkownika:


Zmniejsz liczbę ograniczeń przestrzeni nazw określoną w Sprawdź, czy użycie tej samej nazwy zestawu wierszy w
definicji ze znakami wieloznacznymi do poziomu poniżej ramach wielu instancji elementu db2-xdb:order w ramach
maksymalna_liczba przestrzeni nazw. adnotacji nazwa-adnotacji jest uwzględnione w projekcie.

kod_sql: -16261 Jeśli tak jest według projektu, złóż odpowiednie elementy
db2-xdb:order tak, aby wynikowy porządek był spójny z
stan_sql: 225DE wymaganym porządkiem wstawiania.

kod_sql: -16264

546 Komunikaty, tom 2


SQL16265N • SQL16267N

stan_sql: 225DE Działanie użytkownika:


Sprawdź komunikat skojarzony z kodem SQLCODE.
Wykonaj działanie proponowane w komunikacie. Kompletne
SQL16265N Dokument XML nie może być poddany
informacje o błędzie zawiera dziennik db2diag.log.
dekompozycji przy użyciu schematu XML
nazwa_obiektu_xsr, który nie jest
kod_sql: -16266
uaktywniony lub jest niezdatny do
dekompozycji.
stan_sql: 225D2
Objaśnienie:
Schemat XML identyfikowany przez nazwę
nazwa_obiektu_xsr nie jest we właściwym stanie, aby SQL16267N Wartość XML łańcuch w wierszu nr_wiersza
wykonać dekompozycję. Schemat XML może być w jednym z lub w jego pobliżu w dokumencie
następujących stanów: id_dokumentu nie jest poprawna względem
zadeklarowanego typu schematu XML
v Nieuaktywniony na potrzeby dekompozycji (nigdy nazwa-typu lub wykracza poza obsługiwany
wcześniej). zakres wartości danego typu schematu
v Wyłączony z dekompozycji. XML.
v Niezdatny do dekompozycji ze względu na zmiany w Objaśnienie:
definicjach przynajmniej jednej z tabel określonych w Określona wartość XML łańcuch nie jest obsługiwana jako
adnotacjach. wartość o typie danych nazwa-typu. Ten błąd może mieć jedną
Dekompozycję można wykonać tylko przy użyciu schematów z następujących przyczyn:
XML, które są uaktywnione na potrzeby dekompozycji. v Wartość XML nie należy do przestrzeni wartości dla typu
schematu XML nazwa-typu. W takim przypadku dokument
Dekompozycja XML nie została rozpoczęta. XML jest niepoprawny zgodnie ze schematem XML
używanym do dekompozycji.
Działanie użytkownika:
Upewnij się, że schemat XML jest uaktywniony na potrzeby v Wartość XML jest spoza zakresu wartości obsługiwanych w
dekompozycji przed próbą użycia go w dekompozycji produkcie DB2 dla typu schematu XML nazwa-typu. W tym
dokumentu XML. Status dekompozycji schematu XML można przypadku wartość XML nie może być wstawiona do
sprawdzić, wybierając kolumnę DECOMPOSITION w tabeli swojej obecnie odwzorowywanej kolumny. Jednak
SYSCAT.XSROBJECTS dla schematu XML leksykalna reprezentacja tej wartości XML może zostać
identyfikowanego nazwą nazwa-obiektu-xsr. wstawiona, jeśli wartość zostanie odwzorowana na kolumnę
typu znakowego.
kod_sql: -16265
Dekompozycja dokumentu XML id_dokumentu nie została
stan_sql: 225D1 wykonana.
Działanie użytkownika:
SQL16266N Podczas dekompozycji dokumentu Na podstawie zaleceń konsorcjum W3C na temat schematu
id_dokumentu wystąpił błąd SQL przy XML ustal przestrzeń wartości dla typu schematu XML.
próbie wstawienia danych. Informacje Upewnij się, że dokument XML jest zgodny ze schematem
zwrócone w przypadku tego błędu obejmują XML z adnotacjami, który jest używany do dekompozycji.
kod SQLCODE kod_sql, stan SQLSTATE Jeśli wartość wydaje się należeć do przestrzeni wartości tego
stan_sql oraz elementy komunikatu typu, sprawdź ograniczenia zakresu dla tej wartości w
lista-elementów. produkcie DB2 opisane w dokumencie XQuery Reference.
Jeśli wartość XML jest spoza zakresu tego typu danych,
Objaśnienie: odwzoruj elementy lub atrybuty zawierające takie wartości na
Podczas dekompozycji dokumentu XML o identyfikatorze kolumnę łańcuchów znaków. Jeśli schemat XML wymaga
id_dokumentu wystąpił błąd SQL. Błąd wystąpił podczas poprawek, należy go ponownie zarejestrować w repozytorium
próby wykonania operacji SQL insert dla pewnych danych z schematów XML (XSR) i uaktywnić na potrzeby
dokumentu XML. Możliwe przyczyny to: format danych jest dekompozycji. Następnie można ponowić próbę
niezgodny z typem danych kolumny docelowej; długość dekompozycji.
danych przekracza rozmiar kolumny; próba wstawienia
wartości null do kolumny, która tego nie umożliwia. Podawane kod_sql: -16267
są: kod sql, stan sql i lista elementów komunikatów (elementy
są oddzielane pionową kreską). Znaczniki komunikatów mogą stan_sql: 225D3
zostać obcięte. Aby otrzymać dodatkowe wyjaśnienia błędu,
zapoznaj się z odpowiednim komunikatem dla kodu kod_sql.

Dekompozycja dokumentu XML id_dokumentu nie została


wykonana.

Rozdział 2. Komunikaty SQL 547


SQL16268N • SQL16271N

jest ponowne uruchomienie dekompozycji XML z włączonym


SQL16268N Specjalnych wartości liczbowych INF, -INF
sprawdzaniem poprawności, aby zweryfikować poprawność
lub wartości nieokreślonej znalezionych w
dokumentu. Należy także sprawdzić, czy nie są używane opcje
wierszu nr_wiersza lub w jego pobliżu w
nieobsługiwane przez mechanizm dekompozycji, takie jak
dokumencie id_dokumentu nie można
grupy podstawiania i deklaracje xsi:type.
przypisać do kolumny.
Objaśnienie: Jeśli schemat XML z adnotacjami wymaga poprawek, należy
Podczas wykonywania dekompozycji znaleziono jedną ze go ponownie zarejestrować w repozytorium schematów XML
specjalnych wartości liczbowych INF, -INF lub NaN w (XSR) i uaktywnić na potrzeby dekompozycji.
wierszu nr_wiersza lub w jego pobliżu w dokumencie o
identyfikatorze id_dokumentu. Te specjalne wartości dla typów kod_sql: -16269
zmiennoprzecinkowych schematu XML nie są poprawnymi
wartościami przy przypisywaniu do kolumn liczbowych. stan_sql: 225D5

Dekompozycja dokumentu XML id_dokumentu nie została


wykonana. SQL16270N Element ″przestrzeń_nazw:nazwa_elementu″
w wierszu ″nr_wiersza″ lub w jego pobliżu w
Działanie użytkownika: dokumencie ″id_dokumentu″ nie jest
Możliwe rozwiązania: poprawny w kontekście, w którym został
v Zamień wszelkie wystąpienia wartości specjalnych znaleziony.
zmiennoprzecinkowych typów ze schematu XML na
Objaśnienie:
poprawne wartości zmiennoprzecinkowe DB2.
Położenie względem elementu głównego w dokumencie XML
v Odwzoruj wartości zmiennoprzecinkowe XML do kolumny elementu przestrzeń_nazw:nazwa_elementu w wierszu
znakowej zamiast do kolumny typu double lub float. nr_wiersza lub w jego pobliżu w dokumencie
v Napisz specjalnie do tego celu funkcje zdefiniowane przez identyfikator_dokumentu nie odpowiada jego położeniu
użytkownika, które można będzie wywoływać przy użyciu względem elementu głównego w schemacie XML z
adnotacji wyrażenia w celu przekształcania tych wartości w adnotacjami używanym do dekompozycji albo element jest
dane liczbowe dające się przypisać do kolumny liczbowej. niedostępny, ponieważ narusza warunek liczności określony w
schemacie XML z adnotacjami.
kod_sql: -16268
Dekompozycja dokumentu XML id_dokumentu nie została
stan_sql: 225D4 wykonana.
Działanie użytkownika:
SQL16269N Element ″przestrzeń_nazw:nazwa_elementu″ Upewnij się, że dokument XML identyfikator_dokumentu jest
w wierszu ″nr_wiersza″ lub w jego pobliżu w spójny ze schematem XML z adnotacjami, który jest używany
dokumencie ″id_dokumentu″ nie został do dekompozycji. Jednym ze sposobów na sprawdzenie tego
rozpoznany. jest ponowne uruchomienie dekompozycji XML z włączonym
sprawdzaniem poprawności, aby zweryfikować poprawność
Objaśnienie: dokumentu.
Element przestrzeń_nazw:nazwa_elementu w wierszu
nr_wiersza lub w jego pobliżu w dokumencie Jeśli schemat XML z adnotacjami wymaga poprawek, należy
identyfikator_dokumentu nie został rozpoznany w oparciu o go ponownie zarejestrować w repozytorium schematów XML
schemat XML z adnotacjami używany do dekompozycji. (XSR) i uaktywnić na potrzeby dekompozycji.
Możliwe przyczyny:
v Element nie został zdefiniowany w zarejestrowanym kod_sql: -16270
schemacie XML z adnotacjami.
v Członek grupy podstawienia występuje w dokumencie stan_sql: 225D5
instancji w położeniu, w którym w schemacie XML
znajduje się nagłówek grupy.
SQL16271N Nieznany atrybut
v Inny element zgodnego typu został podstawiony w miejsce ″przestrzeń_nazw:nazwa_atrybutu″ w wierszu
dokumentu instancji dla elementu oczekiwanego w pozycji ″nr_wiersza″ lub w jego pobliżu w
wynikającej ze schematu XML. dokumencie ″id_dokumentu″.

Dekompozycja dokumentu XML id_dokumentu nie została Objaśnienie:


wykonana. Podany atrybut został wykryty w dokumencie, ale nie ma go w
schemacie XML z adnotacjami używanym do dekompozycji.
Działanie użytkownika:
Upewnij się, że dokument XML identyfikator_dokumentu jest Dekompozycja dokumentu XML id_dokumentu nie została
spójny ze schematem XML z adnotacjami, który jest używany wykonana.
do dekompozycji. Jednym ze sposobów na sprawdzenie tego

548 Komunikaty, tom 2


SQL16272N • SQL16275N

Działanie użytkownika: kod_sql: -16273


Upewnij się, że dokument XML jest spójny ze schematem
XML z adnotacjami, który jest używany do dekompozycji. stan_sql: 225D7
Jednym ze sposobów na sprawdzenie tego jest ponowne
uruchomienie dekompozycji XML z włączonym
sprawdzaniem poprawności, aby zweryfikować poprawność SQL16274N Wystąpił błąd SQL podczas
dokumentu. przygotowywania do wstawienia danych w
zestawie wierszy nazwa_zestawu_wierszy.
Informacje zwrócone w przypadku tego
Jeśli schemat XML z adnotacjami wymaga poprawek, należy
błędu obejmują kod SQLCODE kod_sql,
go ponownie zarejestrować w repozytorium schematów XML
stan SQLSTATE stan_sql oraz elementy
(XSR) i uaktywnić na potrzeby dekompozycji.
komunikatu lista-elementów.
kod_sql: -16271 Objaśnienie:
Wystąpił błąd SQL podczas przygotowań do wykonania
stan_sql: 225D5 operacji na tabeli lub pseudonimie skojarzonym z podanym
zestawem wierszy nazwa_zestawu_wierszy w oparciu o
schemat XML z adnotacjami. Niektóre z możliwych przyczyn
SQL16272N Schemat XML z adnotacjami wymaga to:
migracji z wersji wersja_xdb do wersji
bieżącej. v Składnia adnotacji db2-xdb:expression lub
db2-xdb:condition określonej dla zestawu wierszy nie jest
Objaśnienie: poprawnym wyrażeniem lub predykatem SQL.
Metadane wygenerowane dla schematu XML z adnotacjami v Zadeklarowany parametr funkcji SQL lub funkcji
pochodzą z wersji wersja_xdb, która nie jest poprawna dla zdefiniowanej przez użytkownika wywołanej w wyrażeniu
bieżącej wersji programu DB2. Nie można wykonać lub predykacie jest niezgodny z typem argumentu
dekompozycji dokumentów XML przy użyciu schematu XML przekazanego funkcji.
z adnotacjami; najpierw należy wykonać jego migrację do
bieżącej wersji programu. Podawane są: kod sql, stan sql i lista elementów komunikatów
(elementy są oddzielane pionową kreską). Znaczniki
Dekompozycja dokumentu XML nie została rozpoczęta. komunikatów mogą zostać obcięte. Aby otrzymać dodatkowe
wyjaśnienia błędu, zapoznaj się z odpowiednim komunikatem
Działanie użytkownika: dla kodu kod_sql.
Uruchom program db2xdbmig, aby wykonać migrację
metadanych do formatu bieżącej wersji i spróbuj ponowić Dekompozycja dokumentu XML nie została rozpoczęta.
operację migracji.
Działanie użytkownika:
kod_sql: -16272 Sprawdź komunikat skojarzony z kodem SQLCODE.
Wykonaj działanie proponowane w komunikacie. Kompletne
stan_sql: 225D6 informacje o błędzie zawiera dziennik db2diag.log.

kod_sql: -16274
SQL16273N Dokument XML ″id_dokumentu″ ma element
główny ″przestrzeń_nazw:nazwa_elementu″, stan_sql: 225D2
który nie jest elementem globalnym typu
złożonego w schemacie XML.
SQL16275N Nazwa rozpoczynająca się od łańcucha
Objaśnienie: łańcuch jest niepoprawną nazwą QName.
Aby wykonać dekompozycję dokumentu przy użyciu Należało podać nazwę QName dla
schematu XML z adnotacjami, element główny dokumentu następującego elementu: typ-struktury.
musi być jednym z globalnych elementów typu zespolonego ze
schematu XML. Element główny Objaśnienie:
przestrzeń_nazw:nazwa_elementu dokumentu id_dokumentu Podczas analizowania dokumentu XML lub schematu XML
nie jest jednym z globalnych elementów typu zespolonego pod kątem nazwy QName napotkano łańcuch rozpoczynający
zadeklarowanych w schemacie XML. się łańcuchem łańcuch, który nie jest poprawną nazwą
QName. Może on rozpoczynać się od niepoprawnego znaku
Dekompozycja dokumentu XML id_dokumentu nie została lub zawierać znaki niepoprawne dla nazwy QName.
wykonana.
Analiza składniowa lub sprawdzanie poprawności nie zostały
Działanie użytkownika: zakończone.
Upewnij się, że dokument XML jest zgodny z przypisanym
mu schematem XML. Można to ustalić, ponownie Działanie użytkownika:
uruchamiając dekompozycję XML z włączonym Popraw błędną nazwę QName w dokumencie XML lub
mechanizmem sprawdzania poprawności. schemacie XML i ponów operację.

Rozdział 2. Komunikaty SQL 549


SQL16276N • SQL20010N

kod_sql: -16275 Jeśli wyświetlany tekst błędu komunikat-o-błędzie jest obcięty,


a trzeba zapoznać się z resztą komunikatu, parametr
stan_sql: 2200M konfiguracyjny diaglevel menedżera bazy danych należy
ustawić na 4 przy użyciu komendy db2 update dbm cfg using
diaglevel 4 przed ponownym wywołaniem funkcji
SQL16276N Liczba tabel oraz pseudonimów XSLTRANSFORM. Następnie w pliku db2diag.log należy
odwzorowanych w schemacie XML z odszukać komunikat DIA11500E, aby zapoznać się
adnotacjami przekracza limit równy kompletnym komunikatem o błędzie.
maksymalna-liczba-tabel.
Działanie użytkownika:
Objaśnienie: Zbadaj dokumenty wejściowe wskazane w tekście błędu
Łączna liczba odrębnych tabel lub pseudonimów, do których komunikat-o-błędzie. Usuń problem i ponownie wprowadź
odwołują się adnotacje <db2-xdb:table> i db2-xdb:rowSet instrukcję, która wywołała procesor XSLT.
(przy czym druga odwołuje się w rzeczywistości do tabeli lub
pseudonimu bazy danych, a nie zestawu wierszy) w całym
kod_sql: -16280
schemacie XML przekracza maksymalną liczbę równą
maksymalna-liczba-tabel.
stan_sql: 225X0
Schemat XML nie został aktywowany na potrzeby
dekompozycji. SQL20005N Limit identyfikatora wewnętrznego
wynoszący limit został przekroczony w
Działanie użytkownika:
przypadku typu obiektu typ-obiektu.
Zmniejsz liczbę odrębnych tabel lub pseudonimów, do których
odwołują się te adnotacje, do liczby nie większej niż Objaśnienie:
maksymalna-liczba-tabel. Identyfikator wewnętrzny jednoznacznie identyfikuje obiekty
typu typ-obiektu. Przekroczono limit dla identyfikatorów
kod_sql: -16276 wewnętrznych dla tego typu obiektu. Sytuacja ta może
wystąpić podczas realizowania instrukcji CREATE DISTINCT
stan_sql: 225DE TYPE, CREATE TYPE, CREATE FUNCTION, CREATE
PROCEDURE, CREATE ROLE, CREATE SEQUENCE lub
CREATE VARIABLE bądź instrukcji ALTER TABLE lub
SQL16277N Adnotacja globalna łańcuch występuje w CREATE TABLE definiującej kolumnę tożsamości. Może się
schemacie XML więcej niż jeden raz. to zdarzyć podczas wykonywania instrukcji CREATE INDEX,
Kolejne wystąpienie tej adnotacji znajduje gdy przekroczono maksymalną liczbę indeksów dla tabeli.
się w wierszu nr_wiersza lub w jego pobliżu
w dokumencie schematu XML uri. Nie można wykonać instrukcji.
Objaśnienie: Działanie użytkownika:
Opisany schemat XML może zawierać co najwyżej jedno Usuń nieużywane obiekty typu typ-obiektu.
wystąpienie adnotacji łańcuch.
Działanie użytkownika: kod_sql: -20005

Złóż treść wielu adnotacji łańcuch w jedną adnotację, stan_sql: 54035


upewniając się przy tym, że wynikowa adnotacja nie zawiera
żadnych zduplikowanych informacji.
SQL20010N Metoda aktualizacji atrybutów
identyfikator-metody jest niedozwolona, gdy
kod_sql: -16277 instancja typu strukturalnego jest równa
NULL.
stan_sql: 225DE
Objaśnienie:
Metoda identyfikator-metody jest metodą mutator, która jest
SQL16280N Procesor XSLT zwrócił następujący błąd: określona dla instancji typu strukturalnego równej null. W
komunikat-o-błędzie. instancji pustej nie można przetwarzać metod mutator. W
Objaśnienie: niektórych przypadkach nazwa metody jest niedostępna.
Procesor XSLT zwrócił tekst błędu komunikat-o-błędzie,
ponieważ nie może dokonać transformacji dokumentu XML. Nie można wykonać instrukcji.
Problem może tkwić w samym dokumencie XML, w Działanie użytkownika:
powiązanym dokumencie arkusza stylów lub w dokumencie Określ instancję pustą używaną z metodą mutator. Przy użyciu
parametru. konstruktora najpierw utwórz instancję niepustą, a następnie
używaj dla niej metod mutator.
Nie można wykonać instrukcji.

550 Komunikaty, tom 2


SQL20011N • SQL20014N

Aby określić nazwę metody, powiązanej z Jeśli instrukcja będąca przyczyną błędu tworzy typ, to
identyfikator-metody, użyj następującego zapytania: nazwa-nadobiektu nie może być typem nadrzędnym dla
SELECT FUNCSHEMA, FUNCNAME, nazwa-podobiektu, ponieważ nie jest to zdefiniowany przez
SPECIFICNAME użytkownika typ strukturalny.
FROM SYSCAT.FUNCTIONS
WHERE Jeśli instrukcja będąca przyczyną błędu tworzy tabelę, to
FUNCID = INTEGER( tabela nazwa-nadobiektu nie może być tabelą nadrzędną
identyfikator-metody względem tabeli nazwa-podobiektu, ponieważ nie jest
) zdefiniowana jako tabela o typie strukturalnym albo typ tabeli
nazwa-nadobiektu nie jest bezpośrednim nadtypem typu
kod_sql: -20010 użytego w definicji tabeli nazwa-podobiektu.

stan_sql: 2202D Jeśli instrukcja będąca przyczyną błędu tworzy widok, to


widok nazwa-nadobiektu nie może być widokiem nadrzędnym
SQL20011N Grupa transformacji nazwa-grupy już jest widoku nazwa-podobiektu, ponieważ nie jest on zdefiniowany
zdefiniowana dla podtypu lub nadtypu typu jako widok określonego typu albo typ widoku
danych nazwa-typu. nazwa-nadobiektu nie jest bezpośrednim nadtypem typu
użytego w definicji widoku nazwa-podobiektu.
Objaśnienie:
Grupa transformacji o nazwie nazwa-grupy istnieje już dla Nie można wykonać instrukcji.
typu w tej samej hierarchii co nazwa-typu. Może być
zdefiniowana dla nadtypu lub podtypu nazwa-typu. Nazwa Działanie użytkownika:
grupy transformacji może być użyta tylko raz w hierarchii typu Podaj poprawne instrukcji CREATE poprawny typ, tabelę albo
strukturalnego. widok w klauzuli UNDER instrukcji CREATE.

Nie można wykonać instrukcji. kod_sql: -20013

Działanie użytkownika: stan_sql: 428DB


Zmień nazwę grupy transformacji.

kod_sql: -20011 SQL20014N Funkcja transformacji typ-transformacji


grupy transformacji nazwa-grupy dla typu
stan_sql: 42739 nazwa-typu nie jest poprawna. Kod
przyczyny = kod-przyczyny.

SQL20012N Typ nazwa-typu nie zawiera żadnych Objaśnienie:


powiązanych grup transformacji do Funkcja transformacji typ-transformacji w grupie
usunięcia. transformacji nazwa-grupy jest niepoprawna. Przyczyna jest
zależna od podanego kodu-przyczyny w sposób następujący:
Objaśnienie:
Dla nazwa-typu nie ma zdefiniowanych transformacji. Nie ma 1 Dla funkcji transformacji SQL może być tylko jeden
nic do usunięcia. parametr.
2 Parametr funkcji transformacji FROM SQL musi
Instrukcja nie usunęła żadnych grup transformacji. być typu nazwa-typu.
Działanie użytkownika: 3 Typ danych RETURNS funkcji transformacji TO
Upewnij się, że nazwa typu (zawierająca wszystkie wymagane SQL musi być typu nazwa-typu.
kwalifikatory) jest poprawnie określona w instrukcji SQL i że
taki typ istnieje. 4 Typ RETURNS funkcji transformacji FROM SQL,
który zwraca skalar, musi być wbudowanym typem
kod_sql: -20012 danych, innym niż DECIMAL.
5 Wszystkie typy RETURNS funkcji transformacji
stan_sql: 42740 FROM SQL, które zwracają skalar muszą być
wbudowanymi typami danych innymi niż
DECIMAL.
SQL20013N Obiekt nazwa-nadobiektu nie jest poprawny
jako nadtyp, nadtabela lub widok 6 W funkcji transformacji TO SQL musi być co
nadrzędny obiektu nazwa-podobiektu. najmniej jeden parametr.
Objaśnienie: 7 Typami parametrów funkcji transformacji TO SQL
mogą być wszystkie wbudowane typy danych,
oprócz typu DECIMAL.

Rozdział 2. Komunikaty SQL 551


SQL20015N • SQL20016N

8 Funkcja transformacji TO SQL musi być funkcją nazwa-typu może być jawnie określony w instrukcji, może być
skalarną. także określony niejawnie, dzięki użyciu typu strukturalnego,
który wymaga istnienia grupy transformacji dla typu danych.
9 Funkcja transformacji FROM SQL musi być
napisana przy użyciu języka LANGUAGE SQL lub
Jeśli grupa nazwa-grupy jest pusta, to nie została określona
musi korzystać z innej funkcji transformacji FROM
opcja powiązania TRANSFORM GROUP, albo specjalny
SQL napisanej przy użyciu języka LANGUAGE
rejestr CURRENT DEFAULT TRANSFORM GROUP.
SQL.
Dlatego nie było transformacji dla nazwa-typu.
10 Funkcja transformacji TO SQL musi być napisana
przy użyciu języka LANGUAGE SQL lub musi Nie można wykonać instrukcji.
korzystać z innej funkcji transformacji TO SQL
napisanej przy użyciu języka LANGUAGE SQL. Działanie użytkownika:
Zdefiniuj grupę transformacji typ-transformacji dla typu
danych nazwa-typu, korzystając z instrukcji CREATE
Nie można wykonać instrukcji.
TRANSFORM. Jeśli błąd wystąpił podczas usuwania
Działanie użytkownika: transformacji, nie trzeba wykonywać żadnych działań,
ponieważ dla typu danych nie istnieje grupa transformacji.
1 Określ funkcję transformacji FROM SQL z
sygnaturą, która ma tylko jeden parametr.
Jeśli grupa nazwa-grupy jest pusta, określ opcję powiązania
2 Określ funkcję transformacji FROM SQL, w której TRANSFORM GROUP w rejestrze specjalnym CURRENT
typ parametru jest taki sam, jak nazwa-typu. DEFAULT TRANSFORM GROUP.
3 Określ funkcję transformacji TO SQL, w której typ
kod_sql: -20015
RETURNS jest taki sam, jak nazwa-typu.
4 Określ funkcję transformacji FROM SQL z typem stan_sql: 42741
RETURNS, który jest wbudowanym typem danych
innym niż DECIMAL.
SQL20016N Wartość długości danych wstawianych
5 Określ funkcję transformacji FROM SQL, w której skojarzona z typem lub kolumną
każdy element wiersza jest typu RETURNS, który nazwa-typu-lub-kolumny jest zbyt mała.
może być każdym wbudowanym typem danych
innym niż DECIMAL. Objaśnienie:
W definicji typu strukturalnego nazwa-typu-lub-kolumny
6 Określ funkcję transformacji TO SQL z sygnaturą, określono wartość INLINE LENGTH, która jest mniejsza niż
która ma tylko jeden parametr. wartość zwracana przez funkcję konstruktora (32 + 10 *
liczba_atrybutów) dla tego typu i mniejsza niż 292. W
7 Określ funkcję transformacji TO SQL, w której
wypadku modyfikowania kolumny nazwa-typu-lub-kolumny
wszystkie typy parametrów są wbudowanymi typami
określona wartość INLINE LENGTH jest mniejsza niż bieżąca
danych innymi niż DECIMAL.
długość danych wstawianych.
8 Określ funkcję transformacji TO SQL, która jest
funkcją skalarną. Nie można wykonać instrukcji.
9 Określ funkcję transformacji FROM SQL, która Działanie użytkownika:
została napisana przy użyciu języka LANGUAGE Określ dostatecznie dużą wartość INLINE LENGTH. W
SQL lub korzysta z innej funkcji transformacji wypadku typu strukturalnego oznacza to przynajmniej wartość
FROM SQL napisanej przy użyciu języka zwracaną przez funkcję konstruktora typu lub równą
LANGUAGE SQL. przynajmniej 292. W wypadku kolumny wartość ta musi być
większa niż wartość bieżąca. Jeśli ten błąd wystąpi podczas
10 Określ funkcję transformacji TO SQL, która została
modyfikacji typu (lub pewnego nadtypu tego typu) przy
napisana przy użyciu języka LANGUAGE SQL lub
dodawaniu atrybutu, to nie można dodać atrybutu albo trzeba
korzysta z innej funkcji transformacji TO SQL
usunąć typ i utworzyć go ponownie z większą wartością
napisanej przy użyciu języka LANGUAGE SQL.
INLINE LENGTH.
kod_sql: -20014
kod_sql: -20016
stan_sql: 428DC
stan_sql: 429B2

SQL20015N Grupa transformacji nazwa-grupy nie jest


zdefiniowana dla typu danych nazwa-typu.
Objaśnienie:
Określona grupa transformacji nazwa-grupy nie została
zdefiniowana dla typu danych nazwa-typu. Typ danych

552 Komunikaty, tom 2


SQL20017N • SQL20022N

Działanie użytkownika:
SQL20017N Dodanie tego podtypu spowoduje
Usuń z instrukcji ALTER klauzulę ADD COLUMN lub
przekroczenie maksymalnej liczby
klauzulę SET DATATYPE. Kolumny można dodawać jedynie
poziomów w hierarchii typów.
ponownie definiując tabelę o typie strukturalnym, której
Objaśnienie: atrybutem jest nowa kolumna. Podobnie typ danych kolumny
Maksymalna liczba poziomów w hierarchii typów wynosi 99. można zmienić jedynie ponownie definiując tabelę zawierającą
Dodanie tego typu spowoduje przekroczenie maksymalnej kolumnę z nowym typem danych.
liczby poziomów.
kod_sql: -20020
Nie można wykonać instrukcji.
stan_sql: 428DH
Działanie użytkownika:
Nie dodawaj podtypów do tej hierarchii typów.
SQL20021N Nie można zmienić ani usunąć dziedziczonej
kod_sql: -20017 kolumny lub atrybutu nazwa.
Objaśnienie:
stan_sql: 54045
Wartość nazwa identyfikuje nazwę kolumny albo nazwę
atrybutu (w zależności od kontekstu instrukcji), który jest
SQL20018N Funkcja wierszowa nazwa-funkcji musi dziedziczony po tabeli o typie strukturalnym, widoku o typie
dawać w wyniku najwyżej jeden wiersz. strukturalnym lub typie strukturalnym znajdującym się wyżej
w hierarchii tabel, widoków lub typów.
Objaśnienie:
W definicji funkcji podano, że ma ona dawać w wyniku jeden v W instrukcji CREATE TABLE klauzula WITH OPTIONS
wiersz. Wynikiem działania funkcji jest więcej niż jeden nie może być określona dla kolumny nazwa, ponieważ jest
wiersz. ona dziedziczona z tabeli nadrzędnej w hierarchii tabel.
v Klauzula SET SCOPE ani klauzula COMPRESS nie jest
Działanie użytkownika: dozwolona w instrukcji ALTER TABLE dla kolumny
Sprawdź, czy funkcja została zdefiniowana, tak aby dawać w nazwa, ponieważ kolumna ta jest dziedziczona z tabeli na
wyniku dokładnie jeden wiersz. wyższym poziomie hierarchii.
v W instrukcji CREATE VIEW klauzula WITH OPTIONS
kod_sql: -20018
nie może być określona dla kolumny nazwa, ponieważ jest
ona dziedziczona z widoku nadrzędnego w hierarchii
stan_sql: 21505
widoków.
v W instrukcji ALTER TYPE klauzula DROP ATTRIBUTE
SQL20019N Funkcja zwraca wartość typu, który nie nie może być określona dla kolumny nazwa, ponieważ jest
może być przypisany do typu danych ona dziedziczona z tabeli nadrzędnej w hierarchii tabel.
zdefiniowanego w klauzuli RETURNS.
Objaśnienie: Nie można wykonać instrukcji.
Typ danych każdej kolumny zwracanej przez funkcję musi być Działanie użytkownika:
możliwy do przypisania do odpowiadającej mu kolumny Ta opcja dla kolumny może być zmieniona tylko dla tabeli
podanej w klauzuli RETURNS. W przypadku funkcji skalarnej albo widoku w podanej hierarchii tabel albo widoków o typie
jest to jedna kolumna. strukturalnym, do której kolumna została wprowadzona.
Działanie użytkownika: Atrybut można usunąć tylko z typu danych w hierarchii typów,
Zmień typ podany w klauzuli RETURNS lub typ zwracany w którym atrybut ten został wprowadzony.
przez funkcję, tak aby typy odpowiadających sobie kolumn
były możliwe do przypisania. kod_sql: -20021

kod_sql: -20019 stan_sql: 428DJ

stan_sql: 42866 SQL20022N Zasięg odnoszący się do kolumny odnośnej


nazwa-kolumny już jest zdefiniowany.
SQL20020N Operacja typ-operacji jest niepoprawna dla Objaśnienie:
tabel o typie strukturalnym. Nie można dodać zasięgu dla kolumny odnośnej
Objaśnienie: nazwa-kolumny, ponieważ jest on już zdefiniowany.
Na tabelach o typie strukturalnym nie można wykonać operacji
typ-operacji. Nie można wykonać instrukcji.
Działanie użytkownika:
Nie można wykonać instrukcji. Usuń klauzulę ADD SCOPE z instrukcji ALTER TABLE.

Rozdział 2. Komunikaty SQL 553


SQL20023N • SQL20027N

kod_sql: -20022 Działanie użytkownika:


W przypadku definiowania funkcji zewnętrznej, która zwraca
stan_sql: 428DK wartość typu referencyjnego, sprawdź, czy została określona
klauzula SCOPE. W przypadku definiowania funkcji
źródłowej, która zwraca wartość typu referencyjnego, sprawdź,
SQL20023N Parametr numer-param funkcji zewnętrznej czy nie została określona klauzula SCOPE.
lub potomnej ma zdefiniowany zasięg.
Objaśnienie: kod_sql: -20025
Jeśli parametr typu referencji jest używany przez zewnętrzne
lub źródłowe funkcje zdefiniowane przez użytkownika, to nie stan_sql: 428DN
powinien mieć zdefiniowanego zasięgu.
SQL20026N Typ nazwa-typu nie jest typem
Nie można wykonać instrukcji.
strukturalnym lub nie jest typem
Działanie użytkownika: strukturalnym, który może mieć instancje.
Usuń z definicji parametru specyfikację SCOPE.
Objaśnienie:
Instrukcja wymaga typu strukturalnego, który może wystąpić
kod_sql: -20023 w instancji. Typ nazwa-typu:
v nie jest typem strukturalnym lub
stan_sql: 428DL
v jest typem strukturalnym, który został zdefiniowany jako
typ nieinstancyjny.
SQL20024N Tabeli lub widoku nazwa-docelowa zasięgu
nie zdefiniowano z typem strukturalnym Nie można wykonać instrukcji.
nazwa-typu.
Działanie użytkownika:
Objaśnienie: Sprawdź, czy w instrukcji została podana poprawna nazwa
Tabela zasięgu albo widok nazwa-docelowa nie powinny być typu.
używane jako zasięg, ponieważ:
v nie jest tabelą o typie strukturalnym albo kod_sql: -20026
v nie jest widokiem o typie strukturalnym albo
v typ tabeli albo widoku nie jest takim samym typem co typ stan_sql: 428DP
docelowy typu REF.
SQL20027N Nie utworzono podtabeli lub podwidoku
Nie można wykonać instrukcji. nazwa-podobiektu, ponieważ już istnieje
Działanie użytkownika: podtabela lub podwidok nazwa-obiektu o
Podaj zasięg odwołania używając tabeli o typie strukturalnym typie nazwa-typu.
albo widoku o typie strukturalnym tego samego typu, jak typ Objaśnienie:
docelowy typu REF. W obrębie hierarchii tabeli albo widoku o typie strukturalnym
może istnieć tylko jedna podtabela lub podwidok o
kod_sql: -20024 określonym podtypie. Tabela lub widok
nazwa-obiektu-podrzędnego nie może zostać utworzona,
stan_sql: 428DM ponieważ została już zdefiniowana tabela lub widok typu
nazwa-typu. Istniejąca tabela lub widok to nazwa-obiektu.
SQL20025N Parametr SCOPE nie został podany w
Nie można wykonać instrukcji.
klauzuli RETURNS funkcji zewnętrznej lub
został podany w klauzuli RETURNS funkcji Działanie użytkownika:
źródłowej. Sprawdź, czy podtabela albo podwidok są tworzone przy
użyciu poprawnego typu i czy podtabela jest tworzona pod
Objaśnienie:
odpowiednią tabelą nadrzędną a podwidok jest tworzony pod
Dwie możliwe przyczyny:
właściwym widokiem nadrzędnym.
v Jeśli typ referencyjny jest używany jako wynik funkcji
zewnętrznej zdefiniowanej przez użytkownika, to musi mieć kod_sql: -20027
zdefiniowany zasięg.
v Jeśli typ referencyjny jest używany jako wynik funkcji stan_sql: 42742
źródłowej zdefiniowanej przez użytkownika, to nie może
mieć zdefiniowanego zasięgu. Funkcja będzie używać
zasięgu funkcji źródłowej.

Nie można wykonać instrukcji.

554 Komunikaty, tom 2


SQL20028N • SQL20032N

nazwa-typu. Mogą być także inne tabele, widoki lub


SQL20028N Tabela lub widok nazwa-tabeli nie mogą
rozszerzenia indeksu zależne od danego typu lub jednego z
mieć innych nazw schematu niż pozostałe
jego odpowiednich podtypów.
tabele lub widoki w tej samej hierarchii.
Objaśnienie: Nie można wykonać instrukcji.
Wszystkie tabele należące do hierarchii tabel o typie
strukturalnym muszą mieć tę samą nazwę schematu i Działanie użytkownika:
wszystkie widoki w hierarchii widoków o typie strukturalnym Sprawdź, czy poprawny typ był zmieniany, lub usuń wszystkie
muszą mieć tę samą nazwę schematu. tabele, widoki i rozszerzenia indeksu zależne od typu
strukturalnego nazwa-typu.
Nie można wykonać instrukcji.
kod_sql: -20030
Działanie użytkownika:
Sprawdź, czy nazwa schematu tabeli lub widoku jest stan_sql: 55043
poprawna. Jeśli podano nazwę hierarchii, sprawdź, czy nazwa
jej schematu zgadza się z nazwą schematu tabeli głównej lub
widoku głównego. Jeśli jest tworzona podtabela, sprawdź, czy SQL20031N Obiekt obiekt nie może być definiowany na
ma ona właściwą tabelę nadrzędną. Jeśli jest tworzony podtabeli.
podwidok, sprawdź, czy ma on właściwy widok nadrzędny. Objaśnienie:
Klucz główny i ograniczenie przez unikalność mogą być
kod_sql: -20028 definiowane jedynie na tabeli, która jest tabelą główną w
hierarchii tabel o typie strukturalnym. Podobnie indeksy
stan_sql: 428DQ unikalne mogą być definiowane jedynie na tabeli, która jest
tabelą główną w hierarchii tabel o typie strukturalnym.
SQL20029N operacja nie może być wykonana dla
podtabeli lub podwidoku. Nie można wykonać instrukcji.

Objaśnienie: Działanie użytkownika:


Operację operacja zastosowano do tabeli lub widoku, które nie Indeksy unikalne, klucz główny i ograniczenie przez
są elementem głównym hierarchii tabel/widoków. unikalność mogą być definiowane jedynie na tabeli, która jest
tabelą główną w hierarchii tabel określonego typu.
Nie można wykonać instrukcji.
kod_sql: -20031
Działanie użytkownika:
Określ dla operacji tabelę główną hierarchii tabel albo widok stan_sql: 429B3
główny hierarchii widoków.

kod_sql: -20029 SQL20032N Nie można zdefiniować dla podtabeli


nazwa-tabeli indeksu wykorzystującego
podane kolumny.
stan_sql: 428DR
Objaśnienie:
Kolumny podane dla indeksu zostały dodane w hierarchii tabel
SQL20030N Atrybutów typu strukturalnego nazwa-typu
o typie strukturalnym na poziomie wyższym niż podtabela
nie można dodać ani usunąć, gdy od tego
nazwa-tabeli. Dlatego nie można utworzyć indeksu dla tej
typu zależna jest tabela określonego typu,
podtabeli.
widok określonego typu lub rozszerzenie
indeksu nazwa-obiektu.
Nie można wykonać instrukcji.
Objaśnienie:
Nie można dodać ani usunąć atrybutów typu strukturalnego, Działanie użytkownika:
jeśli w danym momencie istnieje tabela o typie strukturalnym, Określ, w której tabeli w hierarchii tabel po raz pierwszy
widok określonego typu lub dowolnego z podtypów. zostały zdefiniowane wszystkie kolumny. Użyj jej nazwy
Atrybutów typu strukturalnego nie można także usunąć ani podczas tworzenia indeksu.
dodać, jeśli w tabeli istnieje kolumna, która w sposób
bezpośredni lub pośredni korzysta z typu nazwa-typu. kod_sql: -20032
Atrybutów typu strukturalnego nie można także usunąć ani
dodać, jeśli typ nazwa-typu lub jeden z jego podtypów jest stan_sql: 428DS
używany w rozszerzeniu indeksu. Tabela, widok lub
rozszerzenie indeksu nazwa-obiektu jest tabelą, widokiem lub
rozszerzeniem indeksu zależnym od typu strukturalnego

Rozdział 2. Komunikaty SQL 555


SQL20033N • SQL20037N

Lewostronny operand operatora wyłuskiwania w wyrażeniu


SQL20033N Wyrażenie zawierające wyrażenie-częściowe
określającym ścieżkę jest niepoprawny. Możliwe przyczyny
nie zawiera referencji o poprawnym
to:
zasięgu.
v Lewostronny operand zawiera funkcję kolumnową, która
Objaśnienie: używa funkcji kolumnowej jako argumentu.
Wyrażenie zawierające wyrażenie-częściowe wymaga
v Lewostronny operand zawiera funkcję kolumnową i
operandu, który jest typem referencyjnym ze zdefiniowanym
odwołanie do kolumny, która nie została podana w klauzuli
zasięgiem. Jeśli wyrażenie zawiera funkcję DEREF, jej
GROUP BY.
argument musi być typem referencyjnym ze zdefiniowanym
zasięgiem. Działanie użytkownika:
Popraw lewostronny operand operatora wyłuskiwania w
Jeśli wyrażenie zawiera operator wyłuskiwania (->), wyrażeniu określającym ścieżkę, które rozpoczyna się
lewostronny operand musi być typu referencyjnego ze wyrażeniem łańcuch-wyrażenia.
zdefiniowanym zasięgiem.
kod_sql: -20035
Nie można wykonać instrukcji.
stan_sql: 428DV
Działanie użytkownika:
Popraw składnię instrukcji SQL, tak aby operand lub argument
był typem referencyjnym ze zdefiniowanym zasięgiem. SQL20036N Nie można wykonać odwołania do kolumny
identyfikatora obiektu nazwa-kolumny przy
kod_sql: -20033 użyciu operatora wyłuskiwania.
Objaśnienie:
stan_sql: 428DT
Operator wyłuskiwania jest używany z kolumną
nazwa-kolumny jako prawostronny operand. Kolumna ta jest
SQL20034N Typ danych nazwa-typu-listy nie jest kolumną identyfikatora obiektu kolumny docelowej
uwzględniony w hierarchii wyłuskiwania i nie jest poprawna dla tego operatora.
ustrukturyzowanych typów danych
obejmującej typ danych Nie można wykonać instrukcji.
nazwa-typu-lewostronnego lewostronnego
Działanie użytkownika:
operandu predykatu TYPE.
Popraw nazwę kolumny w operacji wyłuskiwania.
Objaśnienie:
Wszystkie typy danych podane na liście predykatu TYPE kod_sql: -20036
muszą się znajdować w obrębie hierarchii typów danych
zawierającej typ danych lewostronnego operandu predykatu stan_sql: 428DW
TYPE. Typ danych nazwa-typu-lewostronnego nie jest typem
strukturalnym (nie jest częścią żadnej hierarchii typów) lub typ
danych nazwa-typu-listy nie należy do hierarchii typów danych SQL20037N Do utworzenia tabeli głównej albo widoku
zawierającej typ nazwa-typu-lewostronnego. nazwa-obiektu podanych hierarchii tabel o
typie strukturalnym albo widoków
Nie można wykonać instrukcji. wymagana jest kolumna identyfikatora
obiektu.
Działanie użytkownika:
Sprawdź, czy typ danych wyrażenia i wszystkie typy danych Objaśnienie:
wyświetlane w predykacie TYPE są strukturalnymi typami Podczas tworzenia tabeli głównej hierarchii tabel o typie
danych należącymi do tej samej hierarchii typów danych. Jeśli strukturalnym w instrukcji CREATE TABLE musi być
nazwa-typu-lewostronnego to SYSIBM.REFERENCE, użyj zdefiniowana kolumna identyfikatora obiektu (OID), przy
funkcji DEREF, aby wynikowy typ danych wyrażenia stał się użyciu klauzuli REF IS.
typem strukturalnym.
Podczas tworzenia widoku głównego hierarchii widoków o
kod_sql: -20034 typie strukturalnym w instrukcji CREATE VIEW musi być
zdefiniowana kolumna identyfikatora obiektu (OID), przy
użyciu klauzuli REF IS.
stan_sql: 428DU
Nie można wykonać instrukcji.
SQL20035N Lewostronny operand operatora
wyłuskiwania jest niepoprawny. Wyrażenie Działanie użytkownika:
określające ścieżkę zaczyna się od Dodaj wymaganą kolumnę OID (klauzula REF IS) do
wyrażenia łańcuch-wyrażenia. instrukcji CREATE TABLE albo CREATE VIEW.

Objaśnienie: kod_sql: -20037

556 Komunikaty, tom 2


SQL20038N • SQL20041N

stan_sql: 428DX
SQL20040N Występuje niespójność między liczbą lub
typem wyniku funkcji tabelowej tworzącej
SQL20038N Klauzula parametr nie może być określona z zakres nazwa-funkcji-zakresu a liczbą lub
klauzulą EXTEND USING. typem funkcji transformacji tabeli kluczy
nazwa-funkcji-transformacji dla rozszerzenia
Objaśnienie: indeksu nazwa-rozszerzenia-indeksu.
W instrukcji CREATE INDEX klauzula EXTEND USING nie
może być określona z klauzulą parametry. Objaśnienie:
Funkcja generująca zakresy musi:
Nie można wykonać instrukcji. v zwracać w wyniku co najwyżej dwa razy więcej kolumn niż
funkcja transformacji kluczy,
Działanie użytkownika:
Usuń z instrukcji CREATE INDEX specyfikację klauzuli v mieć parzystą liczbę kolumn (pierwsza połowa zwracanych
parametry lub klauzulę EXTEND USING. kolumn to dolne ograniczenia zakresu, druga połowa to
górne ograniczenia zakresu),
kod_sql: -20038 v zapewniać, aby odpowiadające sobie kolumny dolnego i
górnego ograniczenia zakresu były tego samego typu,
stan_sql: 42613 v wymuszać zgodność typów między każdą z początkowych
kolumn kluczy a odpowiednią kolumną funkcji
SQL20039N Definicja indeksu nazwa-indeksu nie jest transformacji.
zgodna z definicją rozszerzenia indeksu
nazwa-rozszerzenia-indeksu. Ściślej, niech a 1:t 1,...a n:t n będą kolumnami wynikowymi
funkcji i typami danych funkcji transformacji kluczy.
Objaśnienie: Kolumnami wynikowymi funkcji generującej zakresy muszą
Definicja indeksu i definicja rozszerzenia indeksu są być b 1:t 1,...,b m:t m,c 1:t 1,...,c m:t m, gdzie m <= n, kolumny ″b″
niezgodne. Możliwe przyczyny niezgodności definicji: są początkowymi kolumnami kluczy, a kolumny ″c″ są
v Liczba argumentów występujących po nazwie rozszerzenia końcowymi kolumnami kluczy.
indeksu w klauzuli EXTEND USING jest inna niż liczba
parametrów instancji rozszerzenia indeksu. Nie można wykonać instrukcji.
v Typy danych argumentów występujących po nazwie Działanie użytkownika:
rozszerzenia indeksu w klauzuli EXTEND USING nie są Określ funkcję generującą tabelę zakresów, która jest zgodna z
dokładnie zgodne (uwzględniając długość lub dokładność i funkcją transformacji kluczy.
skalę), jak typy danych odpowiadających im parametrów
instancji rozszerzenia indeksu. kod_sql: -20040
v Liczba kolumn podana dla indeksu nie jest taka sama, jak
liczba parametrów klauzuli SOURCE KEY rozszerzenia stan_sql: 428E1
indeksu.
v Typy danych kolumn indeksowych nie są dokładnie takie
SQL20041N Występuje niezgodność między liczbą lub
same (uwzględniając długość lub dokładność i skalę), jak
typem parametrów klucza celu a liczbą lub
typy danych odpowiadających im parametrów instancji
typem funkcji transformacji kluczy
rozszerzenia indeksu. Jest to wyjątek od dokładnej
nazwa-funkcji dla rozszerzenia indeksu
zgodności typów danych w przypadku podtypów. Kolumna
nazwa-rozszerzenia-indeksu.
indeksu może być podtypem odpowiadającego mu typu
parametru klauzuli SOURCE KEY. Objaśnienie:
Liczba parametrów klauzuli TARGET KEY nie jest zgodna z
Nie można wykonać instrukcji. liczbą wartości zwracanych przez funkcję transformacji
kluczy. Poza tym typ parametrów klauzuli TARGET KEY nie
Działanie użytkownika: jest dokładnie zgodny z typami odpowiadających mu wartości
Zmień definicję indeksu, tak aby była zgodna z rozszerzeniem funkcji.
indeksu.
Nie można wykonać instrukcji.
kod_sql: -20039
Działanie użytkownika:
stan_sql: 428E0 Podaj poprawną liczbę i typ parametrów klauzuli TARGET
KEY.

kod_sql: -20041

stan_sql: 428E2

Rozdział 2. Komunikaty SQL 557


SQL20042N • SQL20044N

SQL20042N Maksymalna dozwolona liczba parametrów SQL20044N Procedura nazwa-procedury lub wyrażenie
typu typ-parametru została przekroczona w CASE w instrukcji CREATE INDEX
rozszerzeniu indeksu nazwa-rozszerzenia- EXTENSION lub CREATE FUNCTION
indeksu. Maksymalną wartością jest jest niepoprawne. Kod przyczyny =
wartość-maksymalna. kod-przyczyny.
Objaśnienie: Objaśnienie:
Podano zbyt wiele parametrów. Jeśli typ-parametru to INDEX Procedura (funkcja lub metoda) nazwa-procedury, użyta w
EXTENSION, to można podać najwyżej wartość-maksymalna instrukcji CREATE INDEX EXTENSION lub CREATE
parametrów instancji. Jeśli typ-parametru to INDEX KEYS, to FUNCTION jest niepoprawna w miejscu jej użycia. Jeśli
można podać najwyżej wartość-maksymalna parametrów nazwa-procedury jest pusta to wyrażenie CASE użyte do
źródłowych klucza. filtrowania jest niepoprawne. Kod przyczyny wskazuje
przyczynę problemu.
Nie można wykonać instrukcji.
1 Funkcja transformacji kluczy nie jest funkcją
Działanie użytkownika: tabelową.
Podaj mniejszą liczbę parametrów niż wartość maksymalna.
2 Funkcja transformacji kluczy nie jest funkcją
zewnętrzną.
kod_sql: -20042
3 Funkcja transformacji kluczy jest funkcją
stan_sql: 54046 wariantową.
4 Funkcja transformacji kluczy jest funkcją działania
SQL20043N Argument procedury nazwa-procedury jest zewnętrznego.
niepoprawny. Kod przyczyny = 5 Funkcja generująca zakresy nie jest funkcją
kod-przyczyny. tabelową.
Objaśnienie: 6 Funkcja generująca zakresy nie jest funkcją
Procedura nazwa-procedury może być funkcją transformacji, zewnętrzną.
funkcją generującą zakresy lub procedurą (funkcją lub metodą)
do której występuje odwołanie w klauzuli FILTER USING. 7 Funkcja generująca zakresy jest funkcją wariantową.
Kod przyczyny wskazuje, dlaczego argument jest
8 Funkcja generująca zakresy jest funkcją działania
niepoprawny:
zewnętrznego.
1 W przypadku funkcji transformacji kluczy,
9 Funkcja filtrowania indeksów nie jest funkcją
argumentem nie jest metoda obserwatora ani
zewnętrzną.
parametr instancji rozszerzenia indeksu.
10 Funkcja filtrowania indeksów jest funkcją
2 Wyrażenie użyte jako argument wykorzystuje
wariantową.
procedurę, która określa LANGUAGE SQL.
11 Funkcja filtrowania indeksów jest funkcją działania
3 Wyrażenie użyte jako argument jest podzapytaniem.
zewnętrznego.
4 Typ danych wyrażenia użytego jako argument, nie
12 Typ wynikowy funkcji filtrującej lub wyrażenia
może być typem strukturalnym.
CASE nie jest typu integer.
5 Argument funkcji transformacji kluczy nie może być
13 W wyrażeniu CASE lub jako argument funkcji
typu: strukturalnego, LOB, DATALINK, XML,
filtrującej zostało użyte podzapytanie.
LONG VARCHAR i LONG VARGRAPHIC.
14 Funkcja transformacji klucza ma inny schemat
6 Wyrażenie użyte jako argument zawiera wyrażenie
kodowania niż baza danych.
XMLQUERY lub XMLEXISTS.
15 Funkcja generująca tabelę zakresów ma inny
Nie można wykonać instrukcji. schemat kodowania niż baza danych.
Działanie użytkownika: 16 Funkcja filtrowania indeksów ma inny schemat
Podaj poprawny argument funkcji. kodowania niż baza danych.
17 Funkcja filtrująca nie jest funkcją zewnętrzną.
kod_sql: -20043
20 Wyrażenie XMLQUERY lub XMLEXISTS jest
stan_sql: 428E3 użyte wyrażeniu CASE lub jako argument funkcji
filtrującej.

Nie można wykonać instrukcji.


Działanie użytkownika:

558 Komunikaty, tom 2


SQL20045N • SQL20050N

Jeśli nazwa-procedury nie jest pusta, określ procedurę, która użytkownika, musi być zgodna z jedną z metod wyszukiwania
spełnia zasady określone dla funkcji lub metody w podanych w rozszerzeniu indeksu nazwa-rozszerzenia-indeksu.
specyficznej klauzuli instrukcji CREATE INDEX
EXTENSION lub CREATE FUNCTION. W przeciwnym Nie można wykonać instrukcji.
razie określ wyrażenie CASE, które spełnia zasady dla
wyrażenia CASE w klauzuli FILTER USING. Działanie użytkownika:
Podaj metodę zdefiniowaną w rozszerzeniu indeksu.
kod_sql: -20044
kod_sql: -20047
stan_sql: 428E4
stan_sql: 42743

SQL20045N Typ danych parametru instancji


nazwa-parametru jest niepoprawny w SQL20048N Argument wyszukiwania w metodzie
rozszerzeniu indeksu nazwa-rozszerzenia- nazwa-metody nie jest zgodny z argumentem
indeksu. wyszukiwania w odpowiadającej jej
metodzie wyszukiwania w rozszerzeniu
Objaśnienie: indeksu nazwa-rozszerzenia-indeksu.
Parametr instancji musi być jednym z następujących typów
danych: VARCHAR, VARGRAPHIC, INTEGER, DECIMAL Objaśnienie:
lub DOUBLE. Argument wyszukiwania dla metody nazwa-metody jest
niezgodny z argumentem odpowiadającej metody
wyszukiwania w rozszerzeniu indeksu nazwa-rozszerzenia-
Nie można wykonać instrukcji.
indeksu. Liczba albo typ argumentów nie jest zgodna ze
Działanie użytkownika: zdefiniowaną liczbą lub typem argumentów.
Podaj poprawny typ danych dla parametru instancji
nazwa-parametru. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -20045
Określ argument wyszukiwania pasujący do parametrów
zdefiniowanych w rozszerzeniu indeksu.
stan_sql: 429B5
kod_sql: -20048
SQL20046N Klauzula SELECTIVITY występująca po
łańcuch-predykatu może być określona tylko stan_sql: 428E6
dla poprawnego predykatu zdefiniowanego
przez użytkownika.
SQL20049N Typ operandu występujący po operatorze
Objaśnienie: porównania w klauzuli AS PREDICATE
Klauzula SELECTIVITY została określona dla predykatu, WHEN nie jest dokładnie zgodny z typem
który nie zawiera poprawnej funkcji zdefiniowanej przez RETURNS.
użytkownika. Poprawna funkcja zdefiniowana przez
użytkownika zawiera klauzulę PREDICATES z klauzulą Objaśnienie:
WHEN, która jest zgodna z predykatem. Klauzula Definicja predykatu zdefiniowanego przez użytkownika jest
SELECTIVITY może być określona tylko z predykatem niepoprawna. W klauzuli AS PREDICATE WHEN typ
zdefiniowanym przez użytkownika. operandu występującego po operatorze porównania nie jest
dokładnie zgodny typem funkcji podanym w RETURNS.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Usuń klauzulę SELECTIVITY znajdującą się po predykacie. Działanie użytkownika:
Określ operand z poprawnym typem danych.
kod_sql: -20046
kod_sql: -20049
stan_sql: 428E5
stan_sql: 428E7

SQL20047N Nie znaleziono metody wyszukiwania


nazwa-metody w rozszerzeniu indeksu SQL20050N Cel wyszukiwania lub argument
nazwa-rozszerzenia-indeksu. wyszukiwania nazwa-parametru nie jest
zgodny z nazwą znajdującą się w tworzonej
Objaśnienie: funkcji.
Metoda nazwa-metody, do której odwołuje się reguła
wykorzystania w predykacie zdefiniowanym przez Objaśnienie:

Rozdział 2. Komunikaty SQL 559


SQL20051N • SQL20053N

Każdy cel wyszukiwania w zasadzie wybierania indeksu musi


SQL20053N Pełna selekcja w widoku o określonym typie
być zgodny z jakąś nazwą parametru tworzonej funkcji. Każdy
nazwa-widoku jest nieprawidłowa. Kod
argument wyszukiwania w zasadzie wybierania indeksu musi
przyczyny = kod-przyczyny.
być zgodny z nazwą wyrażenia w klauzuli EXPRESSION AS
lub z nazwą parametru tworzonej funkcji. Nazwy parametrów Objaśnienie:
muszą być określone na liście parametrów funkcji. Pełna selekcja podana w definicji widoku nazwa-widoku nie
jest zgodna z regułami pełnej selekcji dla widoku o typie
Nie można wykonać instrukcji. strukturalnym. Możliwe kody przyczyny:
Działanie użytkownika: 1 Definicja podwidoku zawiera wspólne wyrażenie
W celu wyszukiwania lub w argumencie wyszukiwania określ tabelowe lub rozgałęzienie w definicji podwidoku
tylko poprawne nazwy. nie obejmuje pojedynczej tabeli, widoku,
pseudonimu lub aliasu.
kod_sql: -20050 2 Menedżer baz danych nie może sprawdzić, czy zbiór
wierszy rozgałęzienia w hierarchii tabel jest różny
stan_sql: 428E8 od zbioru wierszy rozgałęzienia dla pozostałej części
hierarchii widoków o określonym typie.
SQL20051N Argument nazwa-parametru nie może 3 Pierwsze wyrażenie w rozgałęzieniu w hierarchii w
wystąpić w jednej regule wykorzystania widoku głównym:
jednocześnie jako parametr docelowy i jako
v nie jest to kolumna identyfikatora obiektu tabeli
argument wyszukiwania.
lub widoku o typie strukturalnym, do których
Objaśnienie: odwołuje się klauzula FROM i nie jest używana
W klauzuli wykorzystania parametr funkcji nie może być opcja UNCHECKED w klauzuli REF IS albo
podany jednocześnie jako argument klauzuli KEY i jako v jeśli tabela w klauzuli FROM nie jest tabelą o
argument metody podanej w klauzuli USE. typie strukturalnym, kolumna ta dopuszcza
wartości null lub nie ma unikalnego indeksu
Nie można wykonać instrukcji. zdefiniowanego tylko na tej kolumnie i nie jest
Działanie użytkownika: używana opcja UNCHECKED w klauzuli REF IS
Podaj nazwę parametru funkcji jako parametr docelowy albo albo
jako argument wyszukiwania. v nie jest identyczne z wyrażeniem w rozgałęzieniu
w podwidoku dla tej samej hierarchii.
kod_sql: -20051 4 Tabela lub widok, będąca obiektem potomnym
podwidoku, nie jest podtabelą tabeli lub
stan_sql: 428E9 podwidokiem widoku, do którego istnieje odwołanie
w którymś z obiektów potomnych widoku
SQL20052N Kolumna nazwa-kolumny jest kolumną nadrzędnego. Ponadto podwidok używa klauzuli
identyfikatora obiektu i nie może być EXTEND AS lub widok główny nie ma opcji
aktualizowana. UNCHECKED w klauzuli REF IS.

Objaśnienie: 5 Pełna selekcja obejmuje odwołania do funkcji


Instrukcja UPDATE próbuje zaktualizować kolumnę, która NODENUMBER lub PARTITION, funkcji
jest kolumną identyfikatora obiektu. Nie można aktualizować niedeterministycznych albo funkcji zdefiniowanych
kolumny identyfikatora obiektu. do wykonywania działań zewnętrznych.
6 Wartością obiektu potomnego nie może być tabela
Nie można wykonać instrukcji. lub widok z opcją OUTER, jeśli któryś z obiektów
Działanie użytkownika: potomnych w widoku nadrzędnym jest tabelą lub
Z instrukcji UPDATE usuń klauzulę SET kolumny widokiem, który nie ma tej opcji.
nazwa-kolumny. 7 Podwidok obejmuje zakresem widok należący do
jego własnej hierarchii.
kod_sql: -20052
8 Definicja podwidoku zawiera operację zbiorową
inną niż UNION ALL lub UNION ALL zostało
stan_sql: 428DZ
użyte bez opcji UNCHECKED w klauzuli REF IS
widoku głównego.
9 Podwidok zawiera dwa widoki potomne, które
używają UNION ALL i odnoszą się do tej samej
hierarchii tabel lub widoków.

560 Komunikaty, tom 2


SQL20054N

10 Definicja podwidoku zawiera klauzulę GROUP BY


SQL20054N Tabela nazwa-tabeli jest w stanie
lub HAVING.
nieprawidłowym dla danej operacji. Kod
Działanie użytkownika: przyczyny = kod-przyczyny.
Zmień pełną selekcję w definicji widoku, stosownie do
Objaśnienie:
wartości kod-przyczyny.
Tabela znajduje się w stanie, który uniemożliwia wykonanie
1 W klauzuli FROM użyj tylko jednej tabeli albo operacji. Kod przyczyny określa stan tabeli uniemożliwiający
widoku. Złożone selekcje zapisz jako widoki, które operację.
mieszczą się w zakresie zmienności widoku o typie
21 Tabela jest w stanie oczekiwania na uzgodnienie
strukturalnym. W tym celu skorzystaj z opcji
DATALINK (DRP) lub w stanie, w którym
UNCHECKED w klauzuli REF IS widoku
uzgodnienie DATALINK nie jest możliwe (DRNP).
głównego.
22 Wyrażenia kolumny generowanej nie można
2 Podaj inną tabelę lub widok w klauzuli FROM dla
dodawać ani zmieniać, ponieważ tabela jest w trybie
wszystkich obiektów nie umieszczonych w
sprawdzania w toku.
hierarchii lub użyj predykatów, które jednoznacznie
definiują zbiór identyfikatorów obiektów jako różny 23 Wykonano już maksymalną liczbę zmian
od zbioru identyfikatorów obiektów innych powodujących zalecenie operacji REORG. W tabeli
widoków w hierarchii o typie strukturalnym. można wprowadzić nie więcej niż trzy operacje
powodujące zalecenie operacji REORG, po których
3 Sprawdź, czy pierwsza kolumna widoku głównego
konieczna jest reorganizacja w celu zaktualizowania
jest zgodna z zasadami wymaganymi dla poprawnej
wierszy tabeli i dostosowania ich do bieżącego
kolumny identyfikatora obiektu dla widoku o typie
schematu.
strukturalnym. Rozważ możliwość użycia opcji
UNCHECKED w klauzuli REF IS. 24 Modyfikacja tabeli z dodaniem kolumny typu LOB
lub LONG nie jest dozwolona w tej samej jednostce
4 Podaj podtabelę tabeli lub podwidok widoku podany
pracy, co modyfikacja tabeli z usunięciem ostatniej
w klauzuli FROM obiektu potomnego dla widoku
kolumny typu LOB lub LONG w tabeli.
nadrzędnego. Możesz również użyć opcji
UNCHECKED w definicji widoku głównego wraz z 25 Tabela znajduje się w stanie oczekującym na
klauzulą AS (bez EXTEND) w definicji podwidoku. sprawdzenie.
5 Usuń odwołania do funkcji z pełnej selekcji. 26 Wykonywanie instrukcji ALTER TABLE ...
ATTACH PARTITION lub ALTER TABLE ...
6 Jeśli jest to pierwszy podwidok w tej hierarchii,
DETACH PARTITION w odniesieniu do tabeli,
który używa opcji OUTER, zmień klauzulę FROM,
której grupa partycji bazy danych jest w trakcie
tak aby opcja ta nie była używana. Jeśli OUTER jest
redystrybucji, jest niedozwolone.
używane w widoku nadrzędnym, umieść OUTER w
klauzuli FROM podwidoku. 27 Operacja modyfikacji tabeli lub kopiowania
schematu wywołała wewnętrzną procedurę do
7 Nie umieszczaj w widoku innych widoków tej samej
zarządzania obiektami bazy danych. Tabela
hierarchii.
SYSTOOLS.DB2LOOK_INFO używana przez tę
8 Jeśli użyto UNION ALL, skorzystaj z opcji procedurę nie jest w poprawnym stanie dla operacji
UNCHECKED w klauzuli REF IS widoku modyfikowania lub kopiowania. Tabela
głównego, aby w definicji podwidoku można było SYSTOOLS.DB2LOOK_INFO może być w starszej
podać wiele widoków potomnych. W przypadku wersji lub może być zupełnie inna od tej, jaka jest
innych operacji zbiorowych umieść je w widoku i oczekiwana przez procedurę.
użyj opcji UNCHECKED w podwidoku, aby można
było w nim korzystać ze wspólnych widoków. Nie można wykonać instrukcji.
9 Aby wykonać selekcję, ujednolicić obiekty potomne, Działanie użytkownika:
korzystając tylko z kolumn występujących w ich Działanie zależy od kodu przyczyny.
wspólnej tabeli nadrzędnej lub wspólnym widoku
21 Informacje dotyczące stanów DRP (Oczekiwanie na
nadrzędnym i użyj predykatów (na przykład
uzgodnienie Datalink) i DRNP (Uzgodnienie
predykatu typu), aby odfiltrować określone wiersze.
Datalink nie jest możliwe) zawiera podręcznik
10 Klauzule GROUP BY i HAVING umieść w widoku Administration Guide.
i użyj opcji UNCHECKED w widoku głównym, aby
22 Przed modyfikacją tabeli, użyj instrukcji SET
umożliwić wykorzystywanie widoków wspólnych.
INTEGRITY FOR <nazwa-tabeli> OFF. Następnie
zmodyfikuj tabelę i użyj instrukcji SET
kod_sql: -20053
INTEGRITY FOR <nazwa-tabeli> IMMEDIATE
CHECKED FORCE GENERATED, aby
stan_sql: 428EA wygenerować wartości dla nowej lub
zmodyfikowanej kolumny.

Rozdział 2. Komunikaty SQL 561


SQL20055N • SQL20057N

23 Zreorganizuj tabelę przy użyciu komendy reorg


SQL20056N W przetwarzaniu wykonywanym przez DB2
table.
Data Links Manager nazwa wystąpił błąd.
24 Zakończ jednostkę pracy, która spowodowała Kod przyczyny = kod-przyczyny.
usunięcie ostatniej kolumny typu LOB lub LONG i
Objaśnienie:
wydaj komendę ponownie.
W przetwarzaniu instrukcji, wykonywanym przez DB2 Data
25 Tabelę należy wyprowadzić ze stanu oczekiwania na Links Manager, wystąpił błąd określony przez jeden z
sprawdzenia za pomocą komendy ’set integrity’ następujących kodów przyczyny.
zanim będzie możliwe wykonanie modyfikacji.
01 Wykryto niespójność między danymi w programie
26 Poczekaj na wykonanie komendy REDISTRIBUTE DB2 Data Links Manager i wartością DATALINK w
DATABASE PARTITION GROUP, a następnie tabeli.
uruchom ponownie instrukcję ALTER TABLE.
02 Podczas przetwarzania program DB2 Data Links
27 Zmień nazwę lub usuń tabelę Manager osiągnął limit zasobów.
SYSTOOLS.DB2LOOK_INFO. Wewnętrzna
03 Program DB2 Data Links Manager nie obsługuje
procedura utworzy poprawną wersję tabeli
ścieżek dłuższych niż 128 znaków.
SYSTOOS.DB2LOOK_INFO. Powtórz operację
modyfikowania tabeli lub kopiowania schematu. 99 Podczas przetwarzania w programie DB2 Data Links
Manager wystąpił błąd wewnętrzny.
kod_sql: -20054
Nie można wykonać instrukcji.
stan_sql: 55019
Działanie użytkownika:
Działanie zależy od kodu przyczyny.
SQL20055N Typ danych kolumny wynikowej na liście
01 Uruchom narzędzie do uzgadniania dla tabeli.
wyboru nie jest zgodny ze zdefiniowanym
typem danych kolumny nazwa-kolumny. 02 Administrator DB2 Data Links Manager powinien
określić odpowiedni zasób na podstawie dzienników
Objaśnienie:
diagnostycznych i podjąć stosowne działanie.
Typ danych w wyrażeniu listy selekcji, odpowiadający
kolumnie nazwa-kolumny, nie jest zgodny z typem danych dla 03 Należy zadbać o to, by długość ścieżki do pliku (nie
atrybutu typu strukturalnego. Oba typy muszą być: licząc przedrostka systemu plików) przechowywanej
v liczbowe, w kolumnie DATALINK nie przekraczała 128
znaków. Na przykład w adresie URL
v znakowe,
″http://server.com/dlfiles/kat1/.../plik1″ --
v graficzne, zakładając, że przedrostkiem systemu plików DLFS
v datą lub znakowe, jest ″/dlfiles″ -- ograniczenie długości do 128
v godziną lub znakowe, znaków dotyczy ścieżki ″/kat1/.../plik1″.
v datownikiem lub znakowe, 99 Zapisz dzienniki diagnostyczne DB2 Data Links
v odsyłaczami, Manager i menedżera baz danych i skontaktuj się z
serwisem IBM.
v jednakowymi typami odrębnymi,
v typami odwołania, gdzie typ docelowy wyrażenia listy kod_sql: -20056
selekcji jest podtypem typu docelowego atrybutu.
stan_sql: 58004
Nie można wykonać instrukcji.
Działanie użytkownika: SQL20057N Kolumny nazwa-kolumny w podwidoku
Sprawdź bieżącą definicję tabeli i powiązanego z nią typu nazwa-widoku nie można zdefiniować jako
strukturalnego. Typ danych w wyrażeniu listy selekcji dla tylko do odczytu, gdy odpowiadająca jej
wskazanej kolumny musi być typem zgodnym. kolumna w nadwidoku jest dostępna do
aktualizacji.
kod_sql: -20055
Objaśnienie:
Kolumna identyfikowana jako nazwa-kolumny w podwidoku
stan_sql: 42854
nazwa-widoku jest zdefiniowana (niejawnie) jako tylko do
odczytu. Widok nadrzędny nazwa-widoku zawiera
odpowiadającą jej kolumnę, która jest aktualizowalna. W
hierarchii widoków o typie strukturalnym nie można zmienić
kolumny z możliwej do aktualizowania na tylko do odczytu.

Nie można wykonać instrukcji.

562 Komunikaty, tom 2


SQL20058N

Działanie użytkownika: v LOB, LONG, DATALINK, XML, odwołanie, typ


Zmień instrukcję CREATE VIEW tak, aby kolumna widoku strukturalny zdefiniowany przez użytkownika lub
podrzędnego nazwa-widoku była aktualizowalna, lub usuń dowolny typ odrębny oparty na powyższych
widoki nadrzędne i utwórz je na nowo, stosując klauzulę typach danych.
READ ONLY, aby kolumna stała się tylko do odczytu.
4 Pełna selekcja nie może zawierać żadnych odwołań
do kolumny ani wyrażeń bądź funkcji, które:
kod_sql: -20057
v zależą od fizycznej charakterystyki danych, na
stan_sql: 428EB przykład DBPARTITIONNUM,
HASHEDVALUE, RID_BIT, RID;
v zależą od zmian dokonywanych w danych, jak w
SQL20058N Pełna selekcja określona dla przypadku wyrażenia zmiany wiersza lub
zmaterializowanej tabeli zapytania kolumny datownika zmiany wiersza;
nazwa-tabeli jest niepoprawna. Kod
przyczyny = kod-przyczyny. v zdefiniowane jako EXTERNAL ACTION,
v zdefiniowane jako LANGUAGE SQL,
Objaśnienie: CONTAINS SQL, READS SQL DATA lub
W definicji zmaterializowanej tabeli zapytania obowiązują MODIFIES SQL DATA.
ścisłe reguły dotyczące zawartości pełnej selekcji. Niektóre
reguły uzależnione są od opcji zmaterializowanej tabeli 5 W przypadku określenia opcji REPLICATED
zapytania (REFRESH DEFERRED lub REFRESH obowiązują następujące ograniczenia:
IMMEDIATE), inne zaś zależą od tego, czy tabela jest v Niedozwolone są funkcje agregujące ani klauzule
replikowana. Pełna selekcja podana w instrukcji CREATE GROUP BY.
TABLE, która zwróciła ten warunek, narusza co najmniej
v Zmaterializowana tabela zapytania może
jedną regułę, zgodnie z opisem podanym w podręczniku SQL
odwoływać się tylko do jednej tabeli; to znaczy
Reference.
nie może zawierać łączenia, unii ani
podzapytania.
Ten błąd może wystąpić podczas tworzenia tabeli pomostowej.
Wówczas błąd dotyczy zapytania używanego w definicji v Nie można określać klauzuli PARTITIONING
zmaterializowanej tabeli zapytania, z którą skojarzona jest KEY.
tabela pomostowa. 6 W przypadku określenia klauzuli REFRESH
IMMEDIATE pełna selekcja nie może zawierać
Instrukcja nie może być wykonana, ponieważ narusza następujących elementów:
ograniczenia, w sposób opisany następującym kodem v odwołanie do pseudonimu
przyczyny:
v klauzula SELECT DISTINCT
1 Każdy element listy selekcji musi mieć nazwę. v odwołanie do rejestru specjalnego
2 Pełna selekcja nie może odwoływać się do żadnego z v odwołanie do zmiennej globalnej
następujących typów obiektów: v funkcje niedeterministyczne
v zmaterializowana tabela zapytania v funkcje OLAP, funkcje próbkujące i funkcje
v tabela pomostowa tekstowe
v tabela tymczasowa zadeklarowana jako globalna v dowolne wyrażenia używające wyników funkcji
v tabela o typie strukturalnym agregujących
v tabela katalogu systemowego v funkcja agregująca bez pełnej selekcji zawierająca
również klauzulę GROUP BY
v widok naruszający dowolne ograniczenie
zmaterializowanej tabeli zapytania v rekurencyjne wyrażenie tabelowe
v tabela chroniona v podzapytania
v pseudonim utworzony przy użyciu klauzuli 7 Gdy określona jest klauzula REFRESH
DISALLOW CACHING w instrukcji CREATE IMMEDIATE:
NICKNAME lub ALTER NICKNAME v Zmaterializowana tabela zapytania nie może
v widok bezpośrednio lub pośrednio zależny od zawierać zduplikowanych wierszy.
tabeli chronionej v Gdy określona jest klauzula GROUP BY,
3 Pełna selekcja nie może zawierać żadnych odwołań wszystkie zawarte w niej elementy muszą
do kolumn ani wyrażeń następujących typów znajdować się na liście selekcji.
danych: v Gdy określona jest klauzula GROUP BY
zawierająca frazę GROUPING SETS, CUBE lub
ROLLUP, żaden zbiór grupujący nie może się
powtarzać, a jeśli C jest elementem GROUP BY o

Rozdział 2. Komunikaty SQL 563


SQL20058N

dopuszczalnej wartości pustej i występuje w 1 Popraw instrukcję CREATE TABLE tak, aby
klauzuli GROUPING SETS, CUBE lub ROLLUP, wszystkie elementy miały nazwy (nazwy
to na liście selekcji musi znajdować się wyrażenie wyrażeniom można nadawać za pomocą klauzuli AS
GROUPING(C). albo można jawnie nazywać wszystkie kolumny na
v Gdy nie ma klauzuli GROUP BY, każda tabela liście kolumn w definicji zmaterializowanej tabeli
bazowa musi mieć zdefiniowany co najmniej zapytania).
jeden klucz unikalny i wszystkie kolumny takich 2 Popraw instrukcję CREATE TABLE tak, aby nie
kluczy muszą występować na liście selekcji w zawierała odwołań do nieobsługiwanych obiektów.
definicji zmaterializowanej tabeli zapytania.
3 Popraw instrukcję CREATE TABLE tak, aby nie
8 Gdy określona jest klauzula REFRESH zawierała odwołań do nieobsługiwanych kolumn ani
IMMEDIATE, a pełna selekcja zawiera klauzulę typów wyrażeń.
GROUP BY, obowiązują następujące ograniczenia:
4 Popraw instrukcję CREATE TABLE tak, aby nie
v Lista selekcji musi zawierać klauzulę COUNT(*)
zawierała odwołań do nieobsługiwanych kolumn,
lub COUNT_BIG(*).
wyrażeń ani funkcji.
v W przypadku każdej kolumny C z dopuszczalną
wartością pustą, jeśli lista selekcji zawiera 5 Utwórz zmaterializowaną tabelę zapytania jako
wyrażenie SUM(C), to wymagane jest też niereplikowaną lub popraw instrukcję CREATE
wyrażenie COUNT(C). TABLE tak, aby zapytanie odwoływało się do
pojedynczej tabeli i nie zawierało podzapytań,
v Musi występować co najmniej jedna z
agregacji ani klauzuli PARTITIONING.
następujących funkcji agregujących (i tylko jedna
z nich): SUM(), COUNT(), COUNT_BIG() lub 6 Utwórz zmaterializowaną tabelę zapytania jako
GROUPING(). REFRESH DEFERRED albo:
v Nie można określać klauzuli HAVING. v usuń odwołania do pseudonimów
v W środowisku partycjonowanej bazy danych v usuń słowo DISTINCT
kolumny GROUP BY nie mogą zawierać klucza v usuń rejestry specjalne
partycjonowania zmaterializowanej tabeli
zapytania. v usuń funkcję niedeterministyczną lub zastąp ją
funkcją deterministyczną
v Zagnieżdżanie funkcji agregujących nie jest
możliwe. v usuń wszystkie funkcje OLAP, funkcje
próbkujące i funkcje tekstowe
9 Gdy określona jest klauzula REFRESH v usuń funkcję agregującą z wyrażenia lub zmień
IMMEDIATE, pełna selekcja musi być podselekcją wyrażenie na proste odwołanie do funkcji
z takim wyjątkiem, że w wyrażeniu tabel agregującej
wejściowych klauzuli GROUP BY obsługiwana jest
klauzula UNION ALL. v usuń funkcje agregujące lub dodaj klauzulę
GROUP BY
10 Gdy określona jest klauzula REFRESH v popraw instrukcję CREATE TABLE tak, aby nie
IMMEDIATE, a klauzula FROM odwołuje się do zawierała odwołania do rekurencyjnego
więcej niż jednej tabeli, obsługiwane jest tylko wyrażenia tabelowego
łączenie wewnętrzne bez korzystania z jawnej
składni INNER JOIN. v usuń podzapytanie

11 Gdy określona jest klauzula REFRESH 7 Utwórz zmaterializowaną tabelę zapytania jako
IMMEDIATE, wyrażenia tabel wejściowych REFRESH DEFERRED albo:
klauzuli UNION ALL lub JOIN nie mogą zawierać v popraw instrukcję CREATE TABLE tak, aby
funkcji agregujących. wszystkie elementy klauzuli GROUP BY
znajdowały się na liście selekcji
12 Przyrostowa konserwacja tej zmaterializowanej
tabeli zapytania wymaga tymczasowej tabeli v popraw klauzulę GROUP BY tak, aby nie
systemowej z szerokością wiersza lub liczbą wierszy zawierała powtarzających się zbiorów
przekraczającą limit obszaru, jaki może pomieścić grupujących
największy tymczasowy systemowy obszar tabel v usuń kolumnę C z dopuszczalną wartością pustą
dostępny obecnie w bazie danych. albo dodaj klauzulę GROUPING(C) do listy
selekcji
Działanie użytkownika:
Zmień pełną selekcję w instrukcji CREATE TABLE, tak aby v popraw instrukcję CREATE TABLE tak, aby na
była zgodna z regułami wynikającymi z opcji liście selekcji występował co najmniej jeden klucz
zmaterializowanej tabeli zapytania oraz ze statusem replikacji unikalny z każdej tabeli, do której odwołuje się
tej tabeli. zapytanie
8 Utwórz zmaterializowaną tabelę zapytania jako
Działanie odpowiadające kodowi przyczyny jest następujące: REFRESH DEFERRED albo:

564 Komunikaty, tom 2


SQL20059W • SQL20062N

v dodaj do listy selekcji frazę COUNT(*) lub stan_sql: 01633


COUNT_BIG(*) albo usuń klauzulę GROUP BY
v dodaj do listy selekcji frazę COUNT(*), usuń SQL20060N Funkcja tabelowa transformacji kluczy
frazę SUM(C) albo zmień definicję kolumny C, używana w rozszerzeniu indeksu id-indeksu
aby nie dopuszczała wartości pustej tabeli id-tabeli w obszarze tabel
v usuń nieobsługiwane funkcje agregujące albo id-obszaru-tabel wygenerowała duplikaty
zastąp je funkcjami obsługiwanymi wierszy.
v usuń klauzulę HAVING Objaśnienie:
v popraw instrukcję CREATE TABLE tak, aby Funkcja tabelowa transformacji kluczy, określona w klauzuli
klauzula GROUP BY zawierała wszystkie GENERATE USING rozszerzenia indeksu i użyta przez
kolumny klucza partycjonowania indeks ID-indeksu, wygenerowała zduplikowane wiersze. Dla
danego wywołania tabelowej funkcji transformacji kluczy nie
9 Utwórz zmaterializowaną tabelę zapytania jako
powinny zostać utworzone żadne zduplikowane wiersze. Błąd
REFRESH DEFERRED albo zmień definicję tabeli
wystąpił podczas wstawiania lub aktualizowania wartości
na podselekcję lub na UNION ALL w wyrażeniu
klucza dla indeksu identyfikator-indeksu tabeli
tabel wejściowych klauzuli GROUP BY.
identyfikator-tabeli w obszarze tabel identyfikator-obszaru-
10 Utwórz zmaterializowaną tabelę zapytania jako tabel.
REFRESH DEFERRED albo użyj łączenia
wewnętrznego bez jawnej składni INNER JOIN. Nie można wykonać instrukcji.
11 Utwórz zmaterializowaną tabelę zapytania jako Działanie użytkownika:
REFRESH DEFERRED albo usuń funkcje Aby uniknąć tworzenia zduplikowanych wierszy, trzeba
agregujące z tabeli wejściowej klauzuli UNION zmodyfikować kod tabelowej funkcji transformacji kluczy
ALL lub JOIN. używanej przez rozszerzenie indeksu dla indeksu ID-indeksu.
12 Utwórz zmaterializowaną tabelę zapytania jako
Aby określić nazwę indeksu, użyj następującego zapytania:
REFRESH DEFERRED, zmniejsz łączną szerokość
wierszy lub liczbę kolumn albo utwórz tymczasowy SELECT IID, INDSCHEMA, INDNAME
systemowy obszar tabel o odpowiedniej wielkości FROM SYSCAT.INDEXES AS I,
strony. SYSCAT.TABLES AS T
WHERE IID = <id-indeksu>
AND TABLEID = <id-tabeli>
kod_sql: -20058 AND TBSPACEID = <id-obszaru-tabel>
AND T.TBASCHEMA = I.TABSCHEMA
stan_sql: 428EC AND T.TABNAME = I.TABNAME

kod_sql: -20060
SQL20059W Zmaterializowana tabela zapytania
nazwa-tabeli nie może być używana do
optymalizacji przetwarzania zapytań. stan_sql: 22526

Objaśnienie:
Definicja zmaterializowanej tabeli zapytania zawiera opcję SQL20062N Funkcji transformującej typ-transformacji w
REFRESH DEFERRED oraz pełną selekcję, która nie jest grupie transformacji nazwa-grupy dla typu
obecnie obsługiwana przez menedżera bazy danych przy nazwa-typu nie można użyć w przypadku
optymalizacji przetwarzania zapytań. Reguły zależą od opcji funkcji ani metody.
zmaterializowanej tabeli zapytania (REFRESH DEFERRED Objaśnienie:
lub REFRESH IMMEDIATE). Pełna selekcja podana w Funkcja transformacji, zdefiniowana w grupie transformacji
instrukcji CREATE TABLE, która zwróciła ten warunek, nazwa-grupy dla typu nazwa-typu nie może być użyta w
narusza co najmniej jedną regułę, zgodnie z opisem podanym funkcji ani w metodzie, ponieważ funkcja transformacji nie
w podręczniku SQL Reference. jest napisana w języku SQL (zdefiniowanym za pomocą
LANGUAGE SQL). Dla tej funkcji lub metody nie można
Zmaterializowana tabela zapytania została utworzona użyć grupy transformacji.
pomyślnie.
Działanie użytkownika: Nie można wykonać instrukcji.
Nie jest wymagane żadne działanie. Jeśli zmaterializowana Działanie użytkownika:
tabela zapytania miała służyć jako tabela podsumowania przy Dla typu nazwa-typu określ grupę transformacji, która ma
optymalizacji przetwarzania zapytań, zmień definicję pełnej funkcję transformacji zdefiniowaną za pomocą LANGUAGE
selekcji, przekształcając ją w podselekcję z klauzulą GROUP SQL.
BY.
kod_sql: -20062
kod_sql: +20059

Rozdział 2. Komunikaty SQL 565


SQL20063N • SQL20068N

stan_sql: 428EL TRANSFORM GROUP. Dla dynamicznego języka SQL,


określ inną grupę transformacji, używając do tego instrukcji
SET DEFAULT TRANSFORM GROUP.
SQL20063N Dla typu nazwa-typu trzeba określić klauzulę
TRANSFORM GROUP.
kod_sql: -20065
Objaśnienie:
Funkcja lub metoda zawiera parametr lub typ zwracanych
SQL20066N Nie zdefiniowano funkcji transformującej
danych nazwa-typu, dla którego nie określono grupy
typ-transformacji w grupie transformacji
transformacji.
nazwa-grupy dla typu danych nazwa-typu.
Nie można wykonać instrukcji. Objaśnienie:
Dla grupy transformacji, użytej w definicji funkcji lub metody
Działanie użytkownika:
wymagana jest typ-transformacji funkcja transformacji grupy
Określ klauzulę TRANSFORM GROUP z nazwą grupy
transformacji nazwa-grupy dla typu danych nazwa-typu.
transformacji, zdefiniowaną dla nazwa-typu.
Nie można wykonać instrukcji.
kod_sql: -20063
Działanie użytkownika:
stan_sql: 428EM Jeśli tworzysz funkcję lub metodę, to w definicji funkcji lub
metody określ inną grupę transformacji. Jeśli odwołujesz się
do typu strukturalnego w instrukcji dynamicznego języka
SQL20064N Grupa transformacji nazwa-grupy nie SQL, to określ dla rejestru specjalnego CURRENT DEFAULT
obsługuje żadnych typów danych, TRANSFORM GROUP, inną grupę transformacji. Możesz
określonych jako typ danych parametru lub również dodać typ-transformacji funkcję transformacji do
typ zwracanych danych. grupy transformacji nazwa-grupy dla typu danych nazwa-typu.
Objaśnienie:
Grupa transformacji nazwa-grupy określona w klauzuli kod_sql: -20066
TRANSFORM GROUP nie została zdefiniowana dla żadnego
typu danych, znajdującego się na liście parametrów lub w stan_sql: 42744
klauzuli RETURNS, funkcji lub metody.
SQL20067N Funkcja transformująca typ-transformacji
Nie można wykonać instrukcji.
jest zdefiniowana więcej niż jeden raz w
Działanie użytkownika: grupie transformacji nazwa-grupy dla typu
Usuń grupę transformacji z definicji funkcji lub metody. danych nazwa-typu.
Objaśnienie:
kod_sql: -20064 Funkcje transformacji TO SQL i FROM SQL mogą być
określone w grupie transformacji tylko jeden raz. Grupa
stan_sql: 428EN transformacji nazwa-grupy dla typu danych nazwa-typu ma co
najmniej dwie zdefiniowane funkcje transformacji FROM
SQL20065N Grupy transformacji nazwa-grupy dla typu SQL lub TO SQL (lub obydwie).
danych nazwa-typu nie można użyć do
transformowania typu strukturalnego na Nie można wykonać instrukcji.
potrzeby aplikacji klienckiej. Działanie użytkownika:
Objaśnienie: Usuń definicje TO SQL lub FROM SQL z grupy nazwa-grupy
Grupa transformacji nazwa-grupy dla typu danych nazwa-typu w definicji transformacji tak, aby każda z nich występowała
definiuje funkcję transformacji, której nie można użyć podczas tylko raz.
wykonywania transformacji dla aplikacji klienta. Możliwe
przyczyny tego zachowania wynikają z definicji funkcji kod_sql: -20067
transformacji, która nie jest obsługiwana dla aplikacji klienta.
Do funkcji transformacji, które nie są obsługiwane, mogą stan_sql: 42628
należeć:
v funkcja FROM SQL, która jest funkcją ROW, SQL20068N Typ strukturalny nazwa-typu nie mógł
v funkcja TO SQL, która ma więcej niż jeden parametr. zostać zdefiniowany, ponieważ jeden z jego
typów atrybutów bezpośrednio lub
Nie można wykonać instrukcji. pośrednio używa siebie samego.
Bezpośrednie lub pośrednie użycie atrybutu
Działanie użytkownika: powoduje atrybut nazwa-atrybutu.
Dla statycznego, wbudowanego języka SQL, określ inną grupę
transformacji, używając do tego opcji powiązania Objaśnienie:

566 Komunikaty, tom 2


SQL20069N • SQL20077N

Bezpośrednie użycie: Mówimy, że typ A bezpośrednio używa Nie można wykonać instrukcji. Określony indeks lub
typu B, jeśli prawdziwe jest jedno z następujących stwierdzeń: rozszerzenie indeksu nie zostało utworzone albo nie można
v Typ A ma atrybut typu B było zmienić tabeli lub pseudonimu.
v Typ B jest podtypem typu A, lub nadtypem typu A. Działanie użytkownika:
Jeśli tworzysz indeks, usuń z jego definicji daną kolumnę. Jeśli
Pośrednie użycie: Mówimy, że typ A pośrednio używa typu B, zmieniasz tabelę, zmniejsz długość nowej kolumny, tak aby
jeśli prawdziwe jest jedno z następujących stwierdzeń: nie przekraczała dozwolonego maksimum. Tworząc
v Typ A używa typu C, a typ C używa typu B. rozszerzenie indeksu określ inną funkcję GENERATE KEY
lub przedefiniuj funkcję, tak aby usunąć kolumnę.
Nie można zdefiniować typu, w którym jeden z atrybutów typu
bezpośrednio lub pośrednio używa samego siebie. Pośrednie kod_sql: -20075
lub bezpośrednie użycie atrybutu jest spowodowane przez
atrybut nazwa-atrybutu. stan_sql: 54008

Działanie użytkownika:
Sprawdź typ i usuń typ atrybutu, który powoduje pośrednie lub SQL20076N Dla określonego działania lub operacji,
bezpośrednie użycie. instancja bazy danych jest nieaktywna. Kod
przyczyny = kod-przyczyny.
kod_sql: -20068 Objaśnienie:
Wykryto błąd na poziomie instancji. Nie można zakończyć
stan_sql: 428EP operacji, ponieważ podany obszar funkcjonalny nie został
zainstalowany lub nie został udostępniony instancji.
SQL20069N Typ RETURNS podprogramu
typ-podprogramu nazwa-podprogramu nie jest Następująca lista zawiera kody przyczyny i odpowiednie
taki sam, jak typ podmiotu. obszary funkcjonalne, które można udostępnić na poziomie
instancji:
Objaśnienie: 1. Możliwość wykonania w pojedynczej instrukcji żądań
Metoda nazwa-metody określa SELF AS RESULT. Typ rozproszonych odnoszących się do wielu źródeł danych.
danych RETURNS metody, musi być taki sam jak typ danych
podmiotu metody. Działanie użytkownika:
Udostępnij w instancji obsługę żądanego działania lub
Działanie użytkownika: operacji. Jeśli obszar funkcjonalny nie istnieje, najpierw go
Zmień typ RETURNS metody nazwa-metody tak, by był zainstaluj. Następnie udostępnij go. Sposób udostępniania
zgodny z typem podmiotu. zależy od wartości kod-przyczyny:
1. W przypadku serwera stowarzyszonego zmienną DBM
kod_sql: -20069
<FEDERATED> ustaw na YES, a następnie zrestartuj
menedżera bazy danych.
stan_sql: 428EQ
kod_sql: -20076
SQL20075N Indeksu lub rozszerzenia indeksu
nazwa-indeksu nie można utworzyć lub stan_sql: 0A502
zmodyfikować, ponieważ długość kolumny
nazwa-kolumny przekracza 255 bajtów.
SQL20077N Nie można skonstruować obiektów o
Objaśnienie: strukturalnym typie danych, które mają
Nie można utworzyć lub zaktualizować indeksu, ponieważ atrybuty typu Datalink.
długość kolumny klucza przekroczyła 255 bajtów.
Objaśnienie:
v Wartość nazwa-indeksu to nazwa indeksu. Próbowano wywołać konstruktor typu strukturalnego, którego
v Wartość nazwa-kolumny to nazwa kolumny klucza. Jeśli ten atrybutem jest Datalink i/lub Reference. Takie ustawienie nie
błąd został zwrócony przez operację ALTER TABLE lub jest obecnie obsługiwane. W wersji 6.1 i wcześniejszych, błąd
ALTER NICKNAME, wówczas wartość nazwa-kolumny ten mógł także występować dla obiektów o strukturalnym
jest numerem kolumny. typie danych, z atrybutami typu Reference.

Nie można utworzyć rozszerzenia indeksu, ponieważ kolumna, Nie można wykonać instrukcji.
zwracana przez funkcję GENERATE KEY, przekracza 255
bajtów. Działanie użytkownika:
Błąd można usunąć wykonując jedną z następujących
v nazwa-indeksu jest nazwą rozszerzenia indeksu. czynności:
v nazwa-kolumny jest nazwą kolumny, zwracaną przez 1. Usuwając z programu wywołanie konstruktora typu.
funkcję GENERATE KEY.

Rozdział 2. Komunikaty SQL 567


SQL20078N • SQL20083N

2. Usuwając wszystkie atrybuty typu Datalink (lub Nie można wykonać instrukcji.
Reference) z definicji typu strukturalnego (może okazać
Działanie użytkownika:
się to niemożliwe, jeśli są tabele, zależne od tego typu).
Zmień treść metody, aby była zgodna z językiem, określonym
w specyfikacji metody.
kod_sql: -20077
kod_sql: -20081
stan_sql: 428ED
stan_sql: 428ES
SQL20078N Obiektu hierarchii nazwa-obiektu typu
typ-obiektu nie można przetworzyć przy
SQL20082N Typ dynamiczny identyfikator-typu-wyrażenia
użyciu operacji typ-operacji.
wyrażenia nie jest podtypem docelowego
Objaśnienie: typu danych identyfikator-typu-docelowego w
Próbowano wykonać operację typ-operacji na obiekcie specyfikacji TREAT.
nazwa-obiektu typu typ-obiektu. Operacja ta nie obsługuje
Objaśnienie:
obiektów w hierarchii.
Dynamiczny typ danych wyniku wyrażenia, określonego w
specyfikacji TREAT jest typu identyfikator-typu-wyrażenia.
Nie można wykonać instrukcji.
Określony typem danych celu identyfikator-typu-celu jest
Działanie użytkownika: właściwym podtypem typu identyfikator-typu-wyrażenia, który
Sprawdź, czy podano właściwą nazwę obiektu. W przypadku nie jest dozwolony.
typów obiektów TABLE lub VIEW, nazwa obiektu musi być
nazwą podtabeli w hierarchii tabel lub widoków. W niektórych Nie można wykonać instrukcji.
przypadkach obiekt musi być tabelą główną hierarchii. W
Działanie użytkownika:
przypadku obiektów typu indeks, nazwa musi być nazwą
Zmień identyfikator-typu-celu w specyfikacji TREAT na
indeksu utworzonego w podtabeli.
nadtyp typu identyfikator-typu-wyrażenia lub zmień
wyrażenie, tak aby dynamiczny typ danych wyniku był
kod_sql: -20078
podtypem typu identyfikator-typu-celu.
stan_sql: 42858
Aby określić nazwy typów danych dla identyfikator-typu-
wyrażenia i identyfikator-typu-celu, użyj następującego
SQL20080N Nie można usunąć specyfikacji metody dla zapytania:
metody nazwa-metody, ponieważ istnieje SELECT TYPEID, TYPESCHEMA, TYPENAME
treść metody. FROM SYSCAT.DATATYPES
WHERE TYPEID IN INTEGER(
Objaśnienie: identyfikator-typu-wyrażenia),
Specyfikacja metody nazwa-metody nadal zawiera treść INTEGER(
metody, którą trzeba usunąć, aby można było usunąć identyfikator-typu-docelowego
specyfikację metody. )
)
Nie można wykonać instrukcji.
kod_sql: -20082
Działanie użytkownika:
Użyj instrukcji DROP METHOD z tą samą specyfikacją
stan_sql: 0D000
metody, aby usunąć treść metody, a następnie ponownie wydaj
instrukcję ALTER TYPE, aby usunąć specyfikację metody.
SQL20083N Typ danych wartości zwracanej przez
kod_sql: -20080 typ-procedury identyfikator-procedury jest
niezgodny z typem danych, określonym jako
stan_sql: 428ER RESULT.
Objaśnienie:
SQL20081N Danej treści metody nie można zdefiniować Metoda identyfikator-procedury określa SELF AS RESULT i
dla określenia LANGUAGE typ-języka w dlatego wymaga, aby typ danych zwracanej wartości był taki
specyfikacji metody nazwa-metody. sam, jak typ danych podmiotu, użytego do wywołania metody.
Instrukcja RETURN, znajdująca się w treści metody SQL lub
Objaśnienie: w funkcji transformacji TO SQL, dla typu metody
Specyfikacja metody nazwa-metody została zdefiniowana za zewnętrznej, dała w wyniku niepoprawny typ danych.
pomocą języka LANGUAGE typ-języka. Jeśli językiem jest
SQL, to treść metody musi być instrukcją sterującą języka
Nie można wykonać instrukcji.
SQL. W przypadku innych języków trzeba określić klauzulę
EXTERNAL. Działanie użytkownika:

568 Komunikaty, tom 2


SQL20084N • SQL20087N

Zmień instrukcję RETURN metody lub funkcji transformacji,


SQL20085N Procedura zdefiniowana z PARAMETER
aby zapewnić, że typ danych zwracanej wartości, będzie
STYLE JAVA nie może mieć typu
zawsze taki sam, jak typ podmiotu, użytego do wywołania
strukturalnego nazwa-typu jako typu
metody.
parametru, ani jako typu zwracanego.
Aby określić nazwę procedury, stowarzyszoną z Objaśnienie:
identyfikator-procedury, użyj następującego zapytania: Procedura została zdefiniowana z PARAMETER STYLE
SELECT FUNCSCHEMA, FUNCNAME, JAVA i jeden z typów parametrów lub typ zwracany, zostały
SPECIFICNAME zdefiniowane przy użyciu typu strukturalnego nazwa-typu. Nie
FROM SYSCAT.FUNCTIONS są one obsługiwane w bieżącej wersji produktu DB2.
WHERE FUNCID = INTEGER(
identyfikator-procedury Nie można wykonać instrukcji.
)
Działanie użytkownika:
kod_sql: -20083 Zmień parametr w procedurze na inny styl lub usuń z definicji
procedury typ strukturalny.
stan_sql: 2200G
kod_sql: -20085

SQL20084N Podprogram nazwa-podprogramu typu stan_sql: 429B8


typ-podprogramu zdefiniowałby
przesłaniający związek z istniejącą metodą.
SQL20086N Długość wartości typu strukturalnego dla
Objaśnienie: kolumny przekracza limit systemowy.
Metoda MT, o typie podmiotu T, zdefiniowana jest jako
przesłaniająca inną metodę MS, o typie podmiotu S, jeśli Objaśnienie:
spełnione są wszystkie następujące warunki: Wartość dla kolumny typu strukturalnego przekracza 1 GB,
włącznie z danymi deskryptora dla instancji. Kolumna może
v Metody MT i MS mają tą samą niekwalifikowaną nazwę
być jedną z kolumn wstawianych lub bezpośrednio
oraz taką samą liczbę parametrów.
aktualizowanych, może to być także kolumna generowana.
v Typ T jest poprawnym podtypem typu S.
v Typy parametrów MT, niezależnych od podmiotu są takie Nie można wykonać instrukcji.
same jak odpowiednie typy parametrów niezależnych od
Działanie użytkownika:
podmiotu w metodzie MS. (Tutaj “takie same” odnosi się
Zmniejsz rozmiar wartości typu strukturalnego, która została
do typu podstawowego, takiego jak VARCHAR, niezależnie
przypisana kolumnie.
od jego długości i precyzji).
kod_sql: -20086
Funkcja i metoda nie mogą wchodzić w związek przesłaniania.
Oznacza to, że jeśli funkcja jest metodą z pierwszym
parametrem typu S, nie może ona przesłaniać innej metody stan_sql: 54049
żadnego nadtypu S i sama nie może być przesłaniana przez
inną metodę żadnego podtypu S. SQL20087N Wartości DEFAULT i NULL nie mogą być
używane w przypisaniu atrybutu.
Ponadto związki przesłaniania nie są dopuszczalne dla:
Objaśnienie:
v metod tabel i wierszy, Instrukcja UPDATE używa przypisania atrybutu, w celu
v metod zewnętrznych z opcją PARAMETER STYLE JAVA, ustawienia wartości atrybutu dla kolumny typu strukturalnego.
v metod mutator i obserwatora generowanych przez system. Taka forma instrukcji przypisania nie pozwala na użycie
parametru DEFAULT, ani parametru NULL, z prawej strony
Nie można wykonać instrukcji. przypisania.

Działanie użytkownika: Nie można wykonać instrukcji.


Zmień definiowaną procedurę, tak aby miała inną nazwę niż
nazwa-procedury lub zmień parametry procedury. Działanie użytkownika:
Określ wyrażenie po prawej stronie instrukcji przypisania
kod_sql: -20084 atrybutu lub zmień przypisanie, tak aby nie używało składni
przypisania atrybutu.
stan_sql: 42745
kod_sql: -20087

stan_sql: 428B9

Rozdział 2. Komunikaty SQL 569


SQL20089N • SQL20093N

3 Tabela jest replikowaną zmaterializowaną tabelą


SQL20089N Nazwa metody nie może być taka sama, jak
zapytania, a użyto opcji DEFINITION ONLY.
nazwa typu strukturalnego w obrębie tej
samej hierarchii typów. 4 Tabela ma zdefiniowany co najmniej jeden
wyzwalacz.
Objaśnienie:
Określona nazwa metody jest taka sama typ strukturalny, który 5 Tabela ma zdefiniowane co najmniej jedno
został zdefiniowany dla jednego z nadtypów lub podtypów ograniczenie sprawdzające.
typu strukturalnego.
6 Tabela ma zdefiniowane co najmniej jedno
ograniczenie unikalne lub indeks unikalny.
Nie można wykonać instrukcji.
7 Tabela ma zdefiniowane co najmniej jedno
Działanie użytkownika:
ograniczenie referencyjne.
Określ dla metody inną nazwę.
8 Odwołanie do tej tabeli występuje w definicji
kod_sql: -20089 istniejącej zmaterializowanej tabeli zapytania.
9 Do tabeli występuje pośrednie lub bezpośrednie
stan_sql: 42746
odwołanie (na przykład za pośrednictwem widoku)
w pełnej selekcji.
SQL20090W Użycie typu strukturalnego, mającego
10 Tabela jest już zmaterializowaną tabelą zapytania.
atrybut nazwa-atrybutu typu DATALINK
jest efektywnie ograniczone do typu tabeli o 11 liczba kolumn istniejącej tabeli nie jest zgodna z
typie strukturalnym lub do typu widoku liczbą kolumn, zdefiniowanych na liście wyboru
typu. pełnej selekcji.
Objaśnienie: 12 Typy danych istniejącej tabeli nie są dokładnie
Atrybut nazwa-atrybutu został zdefiniowany jako typ zgodne z odpowiadającymi kolumnami na liście
DATALINK lub typ odrębny, oparty na typie DATALINK. wyboru pełnej selekcji.
Typ strukturalny, który zawiera taki atrybut, może być użyty
13 Nazwy kolumn istniejącej tabeli nie są dokładnie
tylko jako typ tabeli lub widoku. Jeśli zostanie użyty jako typ
zgodne z odpowiadającymi nazwami kolumn na
kolumny tabeli lub widoku, to można mu przypisać tylko
liście wyboru pełnej selekcji.
wartość null.
14 Charakterystyka dotycząca możliwości obsługi
Instrukcja kontynuuje przetwarzanie. wartości pustych dla kolumn istniejącej tabeli nie
jest dokładnie zgodna z charakterystyką dotyczącą
Działanie użytkownika:
możliwości obsługi wartości pustych, dla
Rozważ zamierzone użycie typu strukturalnego. Jeśli typ ma
odpowiadających kolumn na liście wyboru pełnej
być użyty jako typ danych kolumny, to wtedy usuń z typu
selekcji.
strukturalnego atrybut nazwa-atrybutu lub użyj dla tego
atrybutu typu danych innego niż DATALINK. 15 Nie można wykonać konwersji jeśli w tej samej
instrukcji ALTER TABLE są inne modyfikacje
kod_sql: +20090 tabeli.
16 Odwołanie do tej tabeli występuje w definicji
stan_sql: 01641 istniejącego widoku z włączoną opcją optymalizacji
zapytań.
SQL20093N Nie można dokonać konwersji tabeli 17 Tabela jest typu chronionego.
nazwa-tabeli na lub ze zmaterializowanej
tabeli zapytania. Kod przyczyny = 18 Pełna selekcja odwołuje się do pseudonimu, na
kod-przyczyny. którym buforowanie jest niedozwolone.
Objaśnienie: Działanie użytkownika:
Próbowano użyć instrukcji ALTER TABLE w celu Działanie zależy od kodu przyczyny.
przekształcenia zmaterializowanej tabeli zapytania w tabelę
1 Tabeli nie można przekształcić w zmaterializowaną
typu DEFINITION ONLY lub w celu przekształcenia tabeli
tabelę zapytania. Zamiast tego utwórz nową
zwykłej w zmaterializowaną tabelę zapytania. Nie powiodła
zmaterializowaną tabelę zapytania.
się instrukcja ALTER TABLE, na co wskazują następujące
kody przyczyn. 2 Tej tabeli nie trzeba przekształcać. Nie jest
wymagane żadne działanie.
1 Tabela jest tabelą o typie strukturalnym lub tabelą
hierarchii. 3 Tabela replikowana może być tylko
zmaterializowaną tabelą zapytania. Zamiast tego
2 Tabela nie jest zmaterializowaną tabelą zapytania, a
utwórz nową tabelę.
użyto opcji DEFINITION ONLY.

570 Komunikaty, tom 2


SQL20094N • SQL20108N

4 Usuń wszystkie wyzwalacze i spróbuj ponownie


SQL20094N Kolumna nazwa-kolumny została
wykonać instrukcję ALTER TABLE.
wygenerowana przy użyciu wyrażenia lub
5 Usuń wszystkie ograniczenia sprawdzające i spróbuj jest typu DB2SECURITYLABEL i nie może
ponownie wykonać instrukcję ALTER TABLE. być użyta w wyzwalaczu BEFORE
nazwa-wyzwalacza.
6 Usuń wszystkie ograniczenia sprawdzające
unikalność i indeksy unikalne. Spróbuj ponownie Objaśnienie:
wykonać instrukcję ALTER TABLE. Wartość dla kolumny nazwa-kolumny została wygenerowana
za pomocą wyrażenia lub kolumna jest typu
7 Usuń wszystkie ograniczenia referencyjne i spróbuj DB2SECURITYLABEL i nie może zostać nazwana na liście
ponownie wykonać instrukcję ALTER TABLE. nazw kolumn wyzwalacza BEFORE UPDATE ani nie można
8 Usuń zmaterializowaną tabelę zapytania, która odwoływać się do niej jako do nowej zmiennej przejściowej w
odwołuje się do tej tabeli, i spróbuj ponowić wyzwalaczu BEFORE.
instrukcję ALTER TABLE. Działanie użytkownika:
9 Zmaterializowana tabela zapytania nie może Usuń odwołanie do kolumny nazwa-kolumny w wyzwalaczu
odwoływać się sama do siebie. Zmodyfikuj pełną nazwa-wyzwalacza.
selekcję lub usuń pośrednie lub bezpośrednie
odwołanie do tabeli podlegającej zmianie. kod_sql: -20094
10 Operacja nie jest dozwolona, ponieważ tabela już
stan_sql: 42989
jest zmaterializowaną tabelą zapytania.
11 Zmodyfikuj pełną selekcję, aby na liście wyboru
SQL20102N W instrukcji CREATE lub ALTER dla
umieścić poprawną liczbę kolumn.
procedury nazwa-procedury określono opcję
12 Zmodyfikuj pełną selekcję, tak aby typy danych nazwa-opcji, która nie jest dozwolona w tej
kolumn wynikowych były dokładnie zgodne z procedurze.
typami danych odpowiadających istniejących
Objaśnienie:
kolumn.
Przy tworzeniu lub modyfikowaniu procedury
13 Zmodyfikuj pełną selekcję, tak aby nazwy kolumn nazwa-procedury określono opcję nazwa-opcji. Opcja ta nie
wynikowych były dokładnie zgodne z nazwami ma zastosowania do tej procedury ze względu na jej inne
odpowiadających, istniejących kolumn. właściwości. W przypadku procedur potomnych można
określić tylko wartość ALTER PARAMETER, a wartość
14 Przekształcenie tej tabeli w zmaterializowaną tabelę ALTER PARAMETER można określić tylko w przypadku
zapytania będzie możliwe tylko pod warunkiem procedur potomnych.
dopasowania warunków dopuszczalności wartości
pustej. Zamiast tego utwórz nową tabelę ze Działanie użytkownika:
zmaterializowanego zapytania. W wypadku instrukcji ALTER upewnij się, że wskazana
została właściwa procedura. W przeciwnym razie wydaj
15 Użyj instrukcji ALTER TABLE do wykonania ponownie instrukcję, usuwając uprzednio błędną opcję.
innych modyfikacji, które nie zawierają klauzuli
SET MATERIALIZED QUERY AS.
kod_sql: -20102
16 Wyłącz widok z włączoną optymalizacją zapytań,
który odwołuje się do tej tabeli i spróbuj ponowić stan_sql: 42849
instrukcję ALTER TABLE.
17 Usuń ochronę tabeli albo nie przekształcaj jej w SQL20108N Tabela wynikowa zawiera nieobsługiwany
zmaterializowaną tabelę zapytania. typ danych na pozycji numer-pozycji w
przypadku kursora nazwa-kursora
18 Popraw pełną selekcję określoną w instrukcji
otwartego przez procedurę składowaną
ALTER TABLE tak, aby nie odwoływała się do
nazwa-procedury.
pseudonimu, na którym buforowanie jest
niedozwolone. Objaśnienie:
Procedura składowana nazwa-procedury nie może zwrócić co
kod_sql: -20093 najmniej jednej z tabel wynikowych nazwa-kursora, ponieważ
co najmniej jedna kolumna numer-pozycji zawiera typ danych,
stan_sql: 428EW który nie jest obsługiwany ani przez requester aplikacji DRDA
(klient), ani przez serwer aplikacji DRDA (serwer). Dlatego
wywołanie procedury składowanej nie powiodło się.
Działanie użytkownika:
Zmodyfikuj instrukcję OPEN (i kolejne instrukcje FETCH) dla
kursora nazwa-kursora w procedurze składowanej

Rozdział 2. Komunikaty SQL 571


SQL20109W • SQL20113N

nazwa-procedury składowanej, tak aby w wyniku nie została Usuń instrukcje SAVEPOINT, RELEASE SAVEPOINT i
umieszczona kolumna numer-pozycji zawierająca ROLLBACK TO SAVEPOINT, znajdujące się wewnątrz
nieobsługiwany typ danych. Ze względu na zmiany wyzwalacza lub transakcji globalnej.
wprowadzone w procedurze składowanej być może trzeba
będzie zmodyfikować aplikację klienta, która wywołuje tę kod_sql: -20111
procedurę.
stan_sql: 3B503
kod_sql: -20108
SQL20112N Nie można ustawić instrukcji SAVEPOINT
stan_sql: 56084
ponieważ instrukcja SAVEPOINT już
istnieje, a zagnieżdżone instrukcje
SQL20109W Błąd obsługi debugera DB2. Kod przyczyny: SAVEPOINTS nie są obsługiwane.
kod-przyczyny.
Objaśnienie:
Objaśnienie: Wystąpił błąd w instrukcji SAVEPOINT lub w niepodzielnej
W obsłudze debugera wystąpił błąd, który uniemożliwi dalsze składowej instrukcji SQL. Punkt zapisu już istnieje, a
jego działanie, ale nie zakłóci normalnego wykonania zagnieżdżone punkty zapisu nie są w tym środowisku
programu. Lista kodów przyczyny: obsługiwane.
1. Nie zainstalowano obsługi debugera. Działanie użytkownika:
2. W tabeli debugera wystąpił błąd składniowy w adresie IP Jeśli konieczne jest ponowne ustanowienie istniejącego punktu
klienta debugera. zapisu, wydaj instrukcję RELEASE SAVEPOINT, aby
3. Czas oczekiwania na połączenie między debugerem i zwolnić istniejący punkt zapisu, a następnie ponownie wydaj
klientem debugera został przekroczony. instrukcję SAVEPOINT. Dla niepodzielnego, złożonego
języka SQL, punktu zapisu SAVEPOINT nie można ustawić
4. Wystąpił problem przy dostępie do tabeli debugera
przed zakończeniem instrukcji składowej.
DB2DBG.ROUTINE_DEBUG.
Działanie użytkownika: kod_sql: -20112
1. Sprawdź, czy zainstalowano opcję debugera na serwerze
DB2. stan_sql: 3B002
2. Sprawdź, czy składnia adresu IP w tabeli debugera jest
poprawna. SQL20113N Metoda identyfikator-metody, zdefiniowana z
3. Sprawdź, czy demon debugera na komputerze klienta opcją SELF AS RESULT, nie może zwracać
został uruchomiony i czy numery portów na komputerze wartości pustej.
klienta i na serwerze są zgodne. Objaśnienie:
4. Sprawdź, czy utworzono tabele debugera o poprawnym Metoda o identyfikatorze metody identyfikator-metody została
układzie. zdefiniowana z opcją SELF AS RESULT. Wywołanie metody
używa różnej od wartości pustej, instancji typu strukturalnego,
kod_sql: +20109 dzięki czemu metoda nie może zwracać instancji równej
wartości pustej.
stan_sql: 01637
Działanie użytkownika:
Zmień implementację metody, aby mieć pewność, że wartość
SQL20111N Instrukcje SAVEPOINT, RELEASE pusta nie będzie zwracana jako wartość zwracana dla metody.
SAVEPOINT i ROLLBACK TO Jedna z możliwości polega na ustawieniu wszystkich
SAVEPOINT nie mogą być wydane w tym atrybutów zwracanego typu strukturalnego na wartości puste.
kontekście. Kod przyczyny = kod-przyczyny. Aby ustalić nazwę metody, której wykonanie się nie powiodło,
użyj następującego zapytania:
Objaśnienie:
Instrukcja nie może być wykonana, ponieważ narusza SELECT FUNCSCHEMA, FUNCNAME,
SPECIFICNAME
ograniczenia, w sposób opisany następującym kodem
FROM SYSCAT.FUNCTIONS
przyczyny: WHERE FUNCID = identyfikator-metody
1. Punktu zapisu nie można ustawić wewnątrz wyzwalacza.
2. Punktu zapisu nie można ustawić wewnątrz transakcji kod_sql: -20113
globalnej.
stan_sql: 22004
Nie można wykonać instrukcji.
Działanie użytkownika:

572 Komunikaty, tom 2


SQL20114W • SQL20117N

Jeśli cel wyszukiwania jest wbudowanego lub oddzielnego


SQL20114W Kolumna nazwa-kolumny w tabeli
typu danych, jego typ musi dokładnie odpowiadać typowi
nazwa-tabeli ma zbyt małą długość
klucza źródłowego, określonego w rozszerzeniu indeksu. Jeśli
względem zdefiniowanej długości wartości
typ danych szukanego celu jest typu strukturalnego, musi być
domyślnej USER.
w tej samej hierarchii typów strukturalnych, co typ danych
Objaśnienie: klucza źródłowego w rozszerzeniu indeksu.
Zdefiniowana długość kolumny nazwa-kolumny jest mniejsza
niż 128 bajtów. Dla tej kolumny została określona klauzula Nie można wykonać instrukcji.
DEFAULT USER. Ponieważ rejestr specjalny USER został
zdefiniowany jako VARCHAR(128), każda próba przypisania Działanie użytkownika:
wartości domyślnej dla nazwa-tabeli przez użytkownika o Określ dla szukanego celu typ danych, który jest zgodny z
identyfikatorze użytkownika dłuższym niż długość kolumny, typem danych klucza źródłowego w rozszerzeniu indeksu.
spowoduje powstanie błędu. Użytkownik o identyfikatorze
dłuższym niż długość kolumny nie będzie mógł nigdy kod_sql: -20116
wstawiać do tej kolumny wartości domyślnej ani aktualizować
kolumny wartością domyślną. stan_sql: 428EY

Działanie użytkownika:
Jeśli standardy używanego systemu nie pozwalają na SQL20117N Specyfikacja okna dla funkcji OLAP nie jest
przekraczanie długości kolumny przez identyfikator poprawna. Kod przyczyny = kod-przyczyny.
użytkownika, to ostrzeżenie to można zignorować. Aby Objaśnienie:
uniknąć tego ostrzeżenia, należy stosować kolumny o długości Specyfikacja okna (klauzula OVER) wywołania funkcji OLAP
przynajmniej 128 bajtów. Można zmienić długość kolumny, nie została określona poprawnie. Niepoprawna specyfikacja
usuwając tabelę i tworząc ją ponownie, lub jeśli typem danych wskazywana jest przez kod kod-przyczyny.
jest VARCHAR, to można do zmiany długości użyć instrukcji
ALTER TABLE. 1 W specyfikacji okna instrukcja RANGE lub ROWS
została określona bez klauzuli ORDER BY.
kod_sql: +20114 2 Została określona instrukcja RANGE, natomiast
klauzula ORDER BY okna, zawiera więcej niż jedno
stan_sql: 01642 wyrażenie klucza sortowania.
3 Instrukcja RANGE została określona, natomiast w
SQL20115N Procedury nazwa-procedury typu odejmowaniu nie można użyć typu danych wartości
typ-procedury nie można użyć jako funkcji zakresu, w połączeniu z typem danych wyrażenia
transformującej typu typ-transformacji w klucza sortowania, w klauzuli ORDER BY okna.
grupie transformacji nazwa-grupy.
4 Po instrukcji CURRENT ROW została określona
Objaśnienie: klauzula UNBOUNDED PRECEDING lub po
Jeśli typ-procedury to FUNCTION, to funkcja definiowana instrukcji UNBOUNDED FOLLOWING została
przez nazwa-procedury nie może służyć jako funkcja określona klauzula CURRENT ROW.
transformacji, ponieważ jest to funkcja wbudowana. Jeśli
typ-procedury jest METHOD, wtedy metoda zdefiniowana Nie można wykonać instrukcji.
przez nazwa-procedury nie może być użyta jako funkcja
transformacji, ponieważ jest to metoda. Działanie użytkownika:
Popraw specyfikację okna, wskazywaną przez kod
Nie można wykonać instrukcji. kod-przyczyny.

Działanie użytkownika: 1 Do każdej specyfikacji okna w której określono


Określ inną funkcję dla funkcji transformacji typ-transformacji instrukcję RANGE lub ROWS dodaj klauzulę okna
dla transformowanej grupy nazwa-grupy. ORDER BY.
2 Upewnij się, że każda specyfikacja okna, która
kod_sql: -20115 zawiera RANGE, miała w klauzuli ORDER BY
okna, dokładnie jedno wyrażenie klucza sortowania.
stan_sql: 428EX
3 Dla każdej specyfikacji okna, która zawiera
RANGE, upewnij się, że wartości zakresu mogły
SQL20116N Typ danych celu wyszukiwania być odejmowane od wyrażenia klucza sortowania w
nazwa-parametru jest niezgodny z typem klauzuli ORDER BY okna, które musi być typu
danych klucza źródła określonego w liczbowego lub typu data/godzina. Dla wyrażenia
rozszerzeniu indeksu nazwa-rozszerzenia- klucza sortowania typu data/godzina, wartość
indeksu. zakresu musi być specyficznego typu, określonego
Objaśnienie: jako przedział czasu DECIMAL, z poprawną
dokładnością i skalą.

Rozdział 2. Komunikaty SQL 573


SQL20118N • SQL20123N

4 Upewnij się, że każda specyfikacja okna z użyciem Usuń parametr TABLE z klauzuli RETURNS, aby funkcję
instrukcji “BETWEEN” i “CURRENT ROW” ma uczynić skalarną, albo w instrukcji RETURN w treści funkcji
wartość “UNBOUNDED PRECEDING” przed TABLE określ pełną selekcję.
wartością “AND CURRENT ROW” lub wartość
“UNBOUNDED FOLLOWING” po wartości kod_sql: -20120
“CURRENT ROW AND”.
stan_sql: 428F1
kod_sql: -20117
SQL20121N W wypadku kursora nazwa-kursora można
stan_sql: 428EZ
określić tylko jedną z klauzul WITH
RETURN lub SCROLL.
SQL20118N Typ strukturalny nazwa-typu ma więcej niż
Objaśnienie:
maksymalną liczbę dopuszczalnych
Dla kursora nazwa-kursora określono zarówno klauzulę WITH
atrybutów. Maksymalną wartością jest
RETURN, jak i klauzulę SCROLL, choć nie jest to
wartość-maksymalna.
dozwolone.
Objaśnienie:
Maksymalna liczba atrybutów, wraz z atrybutami Nie można wykonać instrukcji.
odziedziczonymi, dopuszczalna dla wszystkich typów
strukturalnych została przekroczona w definicji typu Działanie użytkownika:
strukturalnego nazwa-typu. Maksymalna liczba atrybutów, Zmień instrukcję DECLARE CURSOR tak, aby zawierała
wraz z atrybutami odziedziczonymi, wynosi klauzulę NO SCROLL (lub usuń parametr SCROLL) albo nie
wartość-maksymalna. zawierała klauzuli WITH RETURN.

Nie można wykonać instrukcji. kod_sql: -20121

Działanie użytkownika: stan_sql: 428F3


Upewnij się, że liczba atrybutów dla typu strukturalnego nie
przekracza limitu.
SQL20123N Wywołanie procedury składowanej
kod_sql: -20118 procedura nie powiodło się, ponieważ tabela
wynikowa zwrócona dla kursora
przewijalnego nie jest umiejscowiona przed
stan_sql: 54050
pierwszym wierszem.
Objaśnienie:
SQL20119N Funkcja ROW musi definiować co najmniej
W wyniku wywołania procedury składowanej procedura
dwie kolumny.
zwrócona została przewijalna tabela wynikowa, przy czym
Objaśnienie: przynajmniej jeden z kursorów nie jest umieszczony przed
Funkcja, która określa ROW w klauzuli RETURNS, musi pierwszym wierszem.
zawierać listę kolumn z co najmniej dwoma kolumnami.
Wywołanie procedury składowanej nie powiodło się.
Działanie użytkownika:
Wszystkie kursory tabeli wynikowej zdefiniowane w
Usuń parametr ROW z klauzuli RETURNS, aby funkcję
procedurze składowanej zostały zamknięte, po czym nastąpił
uczynić skalarną, albo na liście kolumn klauzuli RETURNS
powrót do miejsca wywołania procedury. Kursora
określ wiele kolumn.
przewijalnego nie można użyć do pobrania danych z tabeli
wynikowej. Działania wykonane w ramach procedury
kod_sql: -20119
składowanej nie są wycofywane, a wszelkie działania
zewnętrzne zainicjowane przez procedurę zostały zakończone,
stan_sql: 428F0 ponieważ ten błąd został wykryty z chwilą zakończenia
wykonywania procedury składowanej.
SQL20120N Funkcja SQL TABLE musi zwracać wynik Działanie użytkownika:
w postaci tabeli. Zmień treść procedury składowanej, tak aby kursory w tabeli
Objaśnienie: wynikowej zostały umieszczone przed pierwszym wierszem,
Funkcja SQL, która w klauzuli RETURNS zawiera parametr zanim nastąpi powrót do programu wywołującego.
TABLES, musi zwracać wynik, który jest tabelą. Z wyjątkiem
selekcji skalarnej, wyrażenie skalarne nie może zostać kod_sql: -20123
zwrócone jako wynik funkcji SQL TABLE.
stan_sql: 560B1
Działanie użytkownika:

574 Komunikaty, tom 2


SQL20128N • SQL20136N

SQL20128N Kursor nazwa-kursora jest przewijalny, ale SQL20134N Na serwerze nie można było utworzyć pliku
w tabeli wynikowej nie mogą znajdować się archiwum SQL (SAR) dla procedury
dane wynikowe funkcji tabelowej. nazwa-procedury.
Objaśnienie: Objaśnienie:
Kursor nazwa-kursora jest przewijalny według definicji, Utworzenie pliku archiwum SQL (SAR) dla procedury
jednak tabela wynikowa zawiera dane wynikowe funkcji nazwa-procedury nie powiodło się, ponieważ program DB2
tabelowej. Taka kombinacja jest niedozwolona. nie odnalazł biblioteki lub pliku powiązań dla określonej
procedury. Pliki powiązań są dostępne tylko dla procedur SQL
Nie można wykonać instrukcji. utworzonych za pomocą programu DB2 wersja 7.1 z pakietem
poprawek 2 lub późniejszym.
Działanie użytkownika:
Zmień definicję kursora, tak aby przestał być przewijalny, albo Działanie użytkownika:
spraw, aby tabela wynikowa nie zawierała danych Ponownie utwórz procedurę na serwerze za pomocą programu
wynikowych funkcji tabelowej. DB2 wersja 7.1 z pakietem poprawek 2 lub późniejszym i
spróbuj ponowić operację.
kod_sql: -20128
kod_sql: -20134
stan_sql: 428F6
stan_sql: 55045
SQL20131N Numer obiektu numer-obiektu typu
typ-obiektu został określony na liście SQL20135N Określone archiwum SQL nie odpowiada
obiektów więcej niż jeden raz. środowisku docelowemu. Kod przyczyny =
kod-przyczyny.
Objaśnienie:
Na liście nazw obiektów typu typ-obiektu obiekt o numerze Objaśnienie:
numer-obiektu występuje więcej niż jeden raz. Instrukcja Określone archiwum SQL nie odpowiada środowisku
jednak nie może zostać wykonana na obiekcie więcej niż jeden docelowemu. Może to być spowodowane jedną z poniższych
raz. przyczyn:
Działanie użytkownika: 1 System operacyjny środowiska docelowego jest inny
Usuń powtarzający się obiekt z listy nazw obiektów. (W niż system operacyjny w którym utworzono
wypadku MDC typem obiektu będzie “wymiar”). archiwum SQL.
2 Typ i poziom bazy danych środowiska docelowego
kod_sql: -20131 jest inny niż typ i poziom bazy danych w której
utworzono archiwum SQL.
stan_sql: 42713
Działanie użytkownika:
Sprawdź, czy środowisko w którym utworzono archiwum SQL
SQL20133N Operacji nazwa-operacji nie można jest zgodne ze środowiskiem docelowym i ponownie wydaj
przeprowadzić na procedurze zewnętrznej komendę. Jeśli środowiska nie są zgodne, należy ręcznie
nazwa-procedury. Operację można utworzyć procedurę SQL w środowisku docelowym.
przeprowadzać jedynie za pomocą procedur
SQL. kod_sql: -20135
Objaśnienie:
Próba przeprowadzenia operacji nazwa-operacji za pomocą stan_sql: 55046
procedury zewnętrznej nazwa-procedury. Jednak tę operację
przeprowadzać można jedynie za pomocą procedur SQL.
SQL20136N Procedura nazwa-procedury (nazwa
Operacja nie zakończyła się pomyślnie.
specyficzna nazwa-specyficzna) próbowała
Działanie użytkownika: uzyskać dostęp do obiektu stowarzyszonego.
Sprawdź, czy podana nazwa identyfikuje procedurę SQL.
Objaśnienie:
Instrukcja SQL w zewnętrznej funkcji lub metodzie próbowała
kod_sql: -20133 uzyskać dostęp do przynajmniej jednego obiektu
stowarzyszonego. Instrukcja ta jest wykonywana z procedury
stan_sql: 428F7 nazwa-procedury (o nazwie specyficznej nazwa-specyficzna).
Aktualnie dostęp do obiektów stowarzyszonych z zewnętrznej
funkcji lub metody nie jest obsługiwany.
Działanie użytkownika:
Usuń z procedury odwołania do obiektów stowarzyszonych.

Rozdział 2. Komunikaty SQL 575


SQL20138N • SQL20143N

kod_sql: -20136
SQL20140W Atrybut kolumny COMPRESS został
zignorowany, ponieważ opcja VALUE
stan_sql: 55047 COMPRESSION jest nieaktywna w
odniesieniu do tabeli.
SQL20138N Instrukcji nie można wyjaśnić, ponieważ Objaśnienie:
procedura nazwa-procedury (nazwa Wystąpiła jedna z następujących sytuacji:
specyficzna nazwa-specyficzna) nie jest
zdefiniowany jako MODIFIES SQL DATA. 1. Atrybut COMPRESS SYSTEM DEFAULT określony dla
kolumny został zignorowany, ponieważ opcja VALUE
Objaśnienie: COMPRESS jest zdezaktywowana dla tabeli.
W procedurze nazwa-procedury (o nazwie specyficznej 2. Określona została opcja DEACTIVATED VALUE
nazwa-specyficzna), zdefiniowanej jako CONTAINS SQL lub COMPRESSION, a kolumny są zdefiniowane z atrybutem
READS SQL DATA, podjęta została próba wyjaśnienia COMPRESS SYSTEM DEFAULT.
instrukcji SQL. Wyjaśnianie instrukcji SQL wiąże się z
zapisem w tabelach wyjaśniania, co jest dozwolone tylko w Działanie użytkownika:
wypadku procedur z atrybutem MODIFIES SQL DATA. Aby możliwe było określenie atrybutu COMPRESS dla
kolumny, wykonaj na tabeli instrukcję ALTER i aktywuj opcję
Działanie użytkownika: VALUE COMPRESSION dla tej tabeli.
Zrezygnuj z wyjaśniania instrukcji SQL za pośrednictwem
procedur zdefiniowanych jako CONTAINS SQL lub READS
kod_sql: 20140
SQL DATA.
stan_sql: 01648
kod_sql: -20138

stan_sql: 42985 SQL20142N Sekwencja nazwa-sekwencji nie może być


użyta w podany sposób.
SQL20139N Instrukcje SQL nie mogą być wywoływane Objaśnienie:
w procedurze nazwa-procedury (nazwa Do sekwencji nazwa-sekwencji odwołano się w
specyficzna nazwa-specyficzna), ponieważ niedozwolonym kontekście. nazwa-sekwencji jest sekwencją
poprzednia instrukcja nie powiodła się lub wygenerowaną przez system dla kolumny tożsamości. Do tych
została przerwana. sekwencji nie można się odwoływać w instrukcji COMMENT
ON SEQUENCE, DROP SEQUENCE, GRANT lub REVOKE
Objaśnienie: ani w wyrażeniu NEXT VALUE lub PREVIOUS VALUE.
Podczas wykonywania procedury nazwa-procedury (o nazwie
specyficznej nazwa-specyficzna) lub procedury zagnieżdżonej Działanie użytkownika:
wystąpiło przerwanie lub niepowodzenie w wykonywaniu W tym kontekście należy podać nazwę sekwencji
instrukcji, która teraz wymaga wycofania zmian. W tej sytuacji zdefiniowanej przez użytkownika.
wymagane jest zakończenie działania wszystkich procedur
wywołanych z instrukcji znajdującej się na zewnątrz kod_sql: -20142
zagnieżdżenia i przekazanie kontroli z powrotem do instrukcji
zewnętrznej zagnieżdżenia, dzięki czemu menedżer bazy stan_sql: 428FB
danych będzie mógł przystąpić do odtwarzania danych. Do
czasu zakończenia tej operacji odtwarzania danych dalsze
instrukcje SQL nie mogą być wykonywane. SQL20143N Funkcja szyfrowania lub deszyfrowania nie
powiodła się, ponieważ wartość
Działanie użytkownika: ENCRYPTION PASSWORD nie została
Wykonywanie procedury jest kontynuowane. Procedura nie ustawiona.
powinna już wywoływać dalszych instrukcji SQL i powinna
możliwie szybko przekazać sterowanie do instrukcji, z której Objaśnienie:
została wywołana. Wartość ENCRYPTION PASSWORD nie została ustawiona.
Działanie użytkownika:
Po zakończeniu wszystkich procedur menedżer bazy danych Wprowadź instrukcję SET ENCRYPTION PASSWORD w
rozpocznie automatycznie operację odtwarzania związaną z celu ustawienia wartości ENCRYPTION PASSWORD. Hasło
pierwotnym niepowodzeniem lub przerwaniem. musi mieć długość co najmniej 6 bajtów i co najwyżej 127
bajtów.
kod_sql: -20139
kod_sql: -20143
stan_sql: 51038
stan_sql: 51039

576 Komunikaty, tom 2


SQL20144N • SQL20150N

SQL20144N Hasło szyfrowania jest nieprawidłowe, SQL20148N W procedurze nazwa-procedury o nazwie


ponieważ długość podanego hasła była specyficznej nazwa-specyficzna instrukcja
mniejsza niż 6 bajtów lub większa niż 127 RETURN musi być ostatnią instrukcją SQL
bajtów. treści złożonej.
Objaśnienie: Objaśnienie:
Dane muszą zostać zaszyfrowane hasłem o długości od 6 do Instrukcja RETURN musi być ostatnią instrukcją SQL treści
127 bajtów. procedury w funkcji SQL ROW lub TABLE. W treści
procedury nie może występować żadna inna instrukcja
Działanie użytkownika:
RETURN.
Podaj hasło o długości od 6 do 127 bajtów.
Działanie użytkownika:
kod_sql: -20144 Zmień treść procedury tak, by występowała w niej tylko jedna
instrukcja RETURN i by była ona ostatnią instrukcją SQL.
stan_sql: 428FC
kod_sql: -20148

SQL20145N Funkcja deszyfrowania nie powiodła się.


stan_sql: 429BD
Hasło służące do deszyfrowania nie jest
zgodne z hasłem służącym do szyfrowania
danych. SQL20149W Operacja na puli buforów została
ukończona, lecz odniesie skutek dopiero po
Objaśnienie:
ponownym uruchomieniu bazy danych.
Dane muszą być deszyfrowane z wykorzystaniem tego samego
hasła, które wykorzystano do ich zaszyfrowania. Objaśnienie:
Pula buforów została pomyślnie utworzona lub
Działanie użytkownika:
zmodyfikowana, lecz zmiany nie zaczną obowiązywać
Upewnij się, że do szyfrowania i deszyfrowania danych
natychmiast. Zmiany zaczną obowiązywać, gdy baza danych
wykorzystywane jest to samo hasło.
zostanie zrestartowana.
kod_sql: -20145
Wprowadzenie zmian zostało odroczone z jednej z poniższych
przyczyn:
stan_sql: 428FD
v Użyto opcji DEFERRED.
v Jeśli użyto polecenia ALTER i w wyniku operacji zostały
SQL20146N Funkcja deszyfrowania nie powiodła się. zmienione parametry NUMBLOCKPAGES lub
Dane nie są zaszyfrowane. BLOCKSIZE, to żądanie zostało odroczone, ponieważ
Objaśnienie: wszystkie tego typu żądania są odraczane.
Dane muszą być wynikiem działania funkcji ENCRYPT. v Jeśli użyto polecenia ALTER, poprzednia operacja ALTER
względem obszaru blokowego nie zaczęła jeszcze
Działanie użytkownika:
obowiązywać (nie wykonano jeszcze ponownego
Upewnij się, że typ danych jest wynikiem działania funkcji
uruchomienia bazy danych), a nowo proponowana wielkość
ENCRYPT.
puli buforów jest mniejsza od aktualnej wielkości obszaru
blokowego w puli buforów, to operacja ALTER musi być
kod_sql: -20146
odroczona: może zacząć obowiązywać dopiero wtedy, gdy
zaczną obowiązywać zmiany w obszarze blokowym.
stan_sql: 428FE
Działanie użytkownika:
Nie są potrzebne żadne dalsze działania, aby zmiany zaczęły
SQL20147N Funkcja ENCRYPT nie powiodła się. obowiązywać po najbliższym restarcie bazy danych.
Szyfrowanie wieloprzebiegowe nie jest
obsługiwane.
kod_sql: 20149
Objaśnienie:
Dane, które zostały już zaszyfrowane, nie mogą zostać stan_sql: 01649
zaszyfrowane ponownie.
Działanie użytkownika: SQL20150N Liczba stron blokowych dla puli buforów
Upewnij się, że dane nie zostały jeszcze zaszyfrowane. jest zbyt duża w stosunku do wielkości puli
buforów.
kod_sql: -20147
Objaśnienie:
Liczba stron blokowych, określona parametrem
stan_sql: 55048 NUMBLOCKPAGES, nie może być większa niż 98 procent
liczby stron w puli buforów, określonej parametrem SIZE.

Rozdział 2. Komunikaty SQL 577


SQL20151N • SQL20155N

Działanie użytkownika: kod_sql: -20153


Wyłącz blokowe we/wy dla tej puli buforów, ustawiając
parametr NUMBLOCKPAGES na zero, albo wartość stan_sql: 55040
NUMBLOCKPAGES ustaw na nie większą niż 98 wartości
parametru SIZE.
SQL20154N Żądana operacja wstawiania lub
aktualizacji, dotycząca widoku
kod_sql: -20150
nazwa-widoku nie jest dozwolona, ponieważ
dla wiersza nie można określić żadnej tabeli
stan_sql: 54052
docelowej. Kod przyczyny = kod-przyczyny.
Objaśnienie:
SQL20151N Podana wartość parametru BLOCKSIZE
Podany widok zawiera zapytanie UNION ALL. Kod
nie mieści się w dopuszczalnym zakresie.
przyczyny kod-przyczyny wskazuje, że dany wiersz:
Objaśnienie: 1. nie spełnia ograniczenia sprawdzającego żadnej bazowej
Poprawnym zakresem wartości parametru BLOCKSIZE jest tabeli podstawowej albo
przedział od 2 do 256.
2. spełnia wszystkie ograniczenia sprawdzające więcej niż
Działanie użytkownika: jednej bazowej tabeli podstawowej.
Zmień wartość BLOCKSIZE na nie mniejszą niż 2 i
jednocześnie nie większą niż 256. Wartością optymalną będzie Użytkownicy systemu stowarzyszonego: Wstawienie wiersza
wielkość przydziału. mogą uniemożliwiać pewne inne specyficzne ograniczenia
źródeł danych.
kod_sql: -20151
Działanie użytkownika:
Upewnij się, że ograniczenie sprawdzające zastosowane do
stan_sql: 54053 bazowych tabel podstawowych w celu partycjonowania ich
zestawów wierszy pokrywa zestaw wierszy do wstawienia.
SQL20152N Podana pula buforów aktualnie nie jest Jeśli aktualizacja ma polegać na przeniesieniu wierszy z jednej
blokową pulą buforów. tabeli bazowej do innej w widoku z klauzulą UNION ALL,
sprawdź także czy dla pełnej selekcji określono klauzulę
Objaśnienie: WITH ROW MOVEMENT. Na przykład w wypadku
Opcji BLOCKSIZE użyto bez podania liczby stron, które mają ograniczeń sprawdzających (T1.c1 in (1,2)) dla tabeli T1 oraz
zostać użyte w obszarze blokowym puli buforów. (T2.c1 in (2,3)) dla tabeli T2, a także widok V1 jako unia tabel
Działanie użytkownika: T1 i T2,
Razem z opcją BLOCKSIZE podaj wartość 1. wiersz c1 = 4 nie spełnia ograniczeń sprawdzających
NUMBLOCKPAGES. żadnej z bazowych tabel podstawowych, natomiast
2. wiersz c1 = 2 spełnia ograniczenia sprawdzające obu
kod_sql: -20152 bazowych tabel podstawowych.

stan_sql: 428FF Użytkownicy systemu stowarzyszonego: Jeśli przyczyna jest


nieznana, należy zlokalizować problem do źródła danych,
SQL20153N Obraz podziału bazy danych znajduje się w które nie może zrealizować żądania (patrz podręcznik
stanie zawieszenia. Troubleshooting Guide), i zbadać definicję obiektu oraz
ograniczenia aktualizacji w przypadku tego źródła danych.
Objaśnienie:
Obrazu podziału bazy danych nie można używać w stanie kod_sql: -20154
zawieszenia.
Działanie użytkownika: stan_sql: 23513
Wprowadź komendę db2inidb z jedną z następujących trzech
opcji w celu wznowienia operacji we/wy dla tego obrazu SQL20155N Określone tabele docelowe monitora
podziału bazy danych: zdarzeń są niepoprawne. Kod przyczyny =
v db2inidb <nazwa-bazy-danych> jako kopia lustrzana kod-przyczyny.
v db2inidb <nazwa-bazy-danych> jako obraz stanu Objaśnienie:
v db2inidb <nazwa-bazy-danych> jako rezerwa Podczas przetwarzania instrukcji CREATE EVENT
MONITOR lub podczas uaktywniania monitora określono, że
W środowisku wielowęzłowym przed wykorzystaniem bazy tabela docelowa nie jest poprawna; kod-przyczyny odpowiada
danych na każdym węźle musi być uruchomione narzędzie jednej z następujących sytuacji:
db2inidb. Narzędzie db2inidb może działać jednocześnie na 1. Co najmniej jedna nazwa kolumny nie jest zgodna z
każdym węźle wielowęzłowej bazy danych. identyfikatorem elementu danych monitora zdarzeń.

578 Komunikaty, tom 2


SQL20156W • SQL20159W

2. Co najmniej jedna kolumna ma typ danych niezgodny z użytkownik mógł się połączyć z wygaszoną bazą danych lub
typem danych identyfikatora elementu danych monitora instancją, musi mieć uprawnienie QUIESCE_CONNECT.
zdarzeń.
Działanie użytkownika:
3. Co najmniej jedna nazwa kolumny jest zgodna z Poczekaj, aż operacja anulowania wygaszenia zostanie
identyfikatorem elementu danych monitora zdarzeń, lecz zakończona, lub skontaktuj się z administratorem systemu lub
element ten nie jest dozwolony w tabeli docelowej. administratorem bazy danych i zwróć się o wydanie komendy
4. Wielkość wiersza tabeli jest za duża w stosunku do GRANT QUIESCE_CONNECT dla swojego ID
wielkości strony obszaru tabel. autoryzowanego użytkownika. Wprowadź ponownie komendę.
5. Brak kolumny obowiązkowej.
kod_sql: -20157
6. Jeśli baza danych nie jest bazą danych Unicode, tabela nie
może być zadeklarowana przy użyciu klauzuli CCSID
UNICODE. stan_sql: 08004
7. Tabela jest partycjonowana.
SQL20158N Program DB2 Data Links Manager nie jest
Działanie użytkownika: obsługiwany.
Zapoznaj się ze szczegółowymi informacjami w dzienniku
powiadomień administracyjnych i skoryguj definicję tabeli. Objaśnienie:
Program DB2 Data Links Manager nie jest obsługiwany z tą
kod_sql: -20155 wersją produktu DB2, a nastąpiła próba wykonania jednej z
następujących czynności:
stan_sql: 55049 v Odtworzenie kopii zapasowej z bazy danych z włączoną
obsługą odsyłaczy Datalink.
SQL20156W Monitor zdarzeń został pomyślnie v Migracja bazy danych używającej typu danych
aktywowany, ale niektóre informacje DATALINK.
dotyczące monitorowania mogły zostać v Utworzenie obiektu bazy danych używającego typu danych
utracone. DATALINK.
Objaśnienie: v Do obiektów bazy danych używających typu danych
Monitor zdarzeń został pomyślnie aktywowany, ale DATALINK należą tabele, widoki, funkcje, metody, typy
stwierdzono, że monitor zdarzeń może utracić część informacji odrębne oraz typy danych o określonej strukturze.
ze względu na jedną z poniższych sytuacji: Działanie użytkownika:
v Typ danych jest mniejszy niż typ danych wymagany do v Odtwórz kopię zapasową przy użyciu poprzedniej wersji
przechowywania identyfikatora elementu monitora zdarzeń. produktu DB2 obsługującego odsyłacze Datalink, wyłącz
Dane zostaną obcięte. obsługę odsyłaczy Datalink, a następnie utwórz ponownie
v W SYSCAT.EVENTTABLES znaleziono tabelę docelową, kopię zapasową; dopiero wtedy ponów próbę odtworzenia
lecz tabeli tej nie ma w bazie danych. Informacje monitora przy użyciu bieżącej wersji produktu DB2.
dotyczące odpowiedniej tabeli nie zostaną zarejestrowane. v Przy użyciu poprzedniej wersji produktu DB2
v W widoku SYSCAT.EVENTTABLES znaleziono tabelę obsługującego odsyłacze Datalink wyłącz ich obsługę, a
docelową, ale tabela ta nie rezyduje we wszystkich następnie wprowadź ponownie komendę migracji bazy
partycjach bazy danych. W przypadku niektórych partycji danych.
informacje monitora nie będą rejestrowane. v Wprowadź ponownie instrukcję po usunięciu wszystkich
Działanie użytkownika: odwołań do typu danych DATALINK.
Zapoznaj się ze szczegółowymi informacjami w dzienniku
powiadomień administracyjnych. W razie potrzeby utwórz kod_sql: -20158
ponownie monitor zdarzeń, aby utworzyć wszystkie tabele
docelowe. stan_sql: 42997

kod_sql: 20156 SQL20159W Klauzula odseparowania jest ignorowana ze


względu na kontekst instrukcji.
stan_sql: 01651
Objaśnienie:
Klauzulę odseparowania określono w instrukcji zawartej w
SQL20157N Użytkownik ID-autoryzowanego-użytkownika instrukcji złożonej przetwarzanej jako wstawiona instrukcja
nie ma uprawnienia QUIESCE_CONNECT. SQL. Klauzula odseparowania jest ignorowana i we
Objaśnienie: wszystkich instrukcjach zawartych w instrukcji złożonej
Podany ID autoryzowanego użytkownika nie ma uprawnienia używany jest domyślny poziom odseparowania.
QUIESCE_CONNECT do dostępu do bazy danych lub Działanie użytkownika:
instancji będącej aktualnie w stanie wygaszonym. Aby

Rozdział 2. Komunikaty SQL 579


SQL20160W • SQL20167N

Nie trzeba podejmować żadnych działań. Aby to ostrzeżenie v jedyna pełna selekcja w instrukcji przypisania.
się nie pojawiało, usuń klauzulę odseparowania.
Jeśli w innych częściach zapytania są używane dowolne
kod_sql: 20159 zmienne wejściowe, użyta w klauzuli FROM instrukcja
INSERT dotycząca wielu wierszy nie może zawierać klauzuli
stan_sql: 01652 USING DESCRIPTOR. W dotyczącej wielu wierszy instrukcji
INSERT użytej w klauzuli FROM nie można stosować opcji
NOT ATOMIC. Pełna selekcja SQL w obrębie instrukcji
SQL20160W Nadano uprawnienia użytkownikowi USER XQuery nie może zawierać instrukcji SQL zmieniającej dane
identyfikator-użytkownika. Nie rozpatrywano w klauzuli FROM. Pełna selekcja SQL w klauzuli default
grup, ponieważ nazwa autoryzacji definicji zmiennej globalnej nie może zawierać instrukcji
przekracza 8 bajtów. zmiany danych SQL w klauzuli FROM.
Objaśnienie:
Nazwa autoryzacji przekracza 8 bajtów. Uprawnienie nadano Nie można wykonać instrukcji.
użytkownikowi o nazwie autoryzacji identyfikator-
Działanie użytkownika:
użytkownika bez rozpatrywania zdefiniowanych w systemie
Zmień instrukcję zmiany danych SQL w klauzuli FROM w
grup, które mogłyby mieć identyczną nazwę. Przetwarzanie
taki sposób, aby była ona używana w obsługiwanym
będzie kontynuowane.
kontekście i aby była jedynym odwołaniem do tabeli w
Działanie użytkownika: klauzuli FROM.
Jeśli uprawnienia miały być nadane użytkownikowi, nie jest
wymagane żadne działanie. Jeśli uprawnienia miała być kod_sql: -20165
nadane grupie, należy zastanowić się nad wybraniem innej
grupy, ponieważ nazwy grup przekraczające 8 bajtów nie są stan_sql: 428FL
obsługiwane. Aby komunikat ten nie był wyświetlany, nazwę
autoryzacji należy poprzedzić parametrem USER.
SQL20166N Instrukcja zmiany danych SQL w klauzuli
SELECT odnosi się do widoku
kod_sql: 20160
nazwa-widoku, który nie jest widokiem
symetrycznym, lub który nie mógł być
stan_sql: 01653
zdefiniowany jako widok symetryczny.
Objaśnienie:
SQL20161W Nazwa kolumny nazwa-kolumny nie jest
Widok docelowy instrukcji zmiany danych SQL w klauzuli
poprawną nazwą kolumny dla tabeli
SELECT musi mieć określoną klauzulę WITH CASCADED
monitora zdarzeń.
CHECK OPTION albo pełna selekcja w definicji tego widoku
Objaśnienie: (lub pełna selekcja w definicji widoku, do którego ten widok
Nazwa kolumny wymieniona w klauzuli INCLUDES lub się odwołuje) musi być zdefiniowana z użyciem klauzuli
EXCLUDES nie daje się dopasować do żadnej poprawnej WITH CASCADED CHECK OPTION.
kolumny tworzonej tabeli monitora zdarzeń.
Widok symetryczny to widok zdefiniowany pośrednio lub
Działanie użytkownika:
bezpośrednio z klauzulą WITH CASCADED CHECK
Sprawdź i skoryguj wskazaną nazwę kolumny.
OPTION.

kod_sql: -20161
Nie można wykonać instrukcji.
stan_sql: 428AA Działanie użytkownika:
Nie używaj instrukcji zmiany danych SQL w klauzuli
SELECT dla określonego widoku.
SQL20165N Instrukcja SQL zmiany danych w klauzuli
FROM jest niedozwolona w kontekście, w
kod_sql: -20166
jakim została użyta.
Objaśnienie: stan_sql: 428FM
Instrukcja SQL zmiany danych może być użyta w klauzuli
FROM tylko w specyficznym kontekście. Instrukcja ta musi
SQL20167N Pamięć współużytkowana jest zbyt mała,
być jedynym odwołaniem do tabeli w klauzuli FROM użytej w
aby żądanie zostało przetworzone.
następujących konstrukcjach:
v pełna selekcja zewnętrzna instrukcji SELECT, Objaśnienie:
Jest zbyt mało pamięci w zbiorze pamięci współużytkowanej
v instrukcja SELECT INTO,
dla jednego z następujących żądań dotyczącego zasobów:
v pełna selekcja zewnętrzna wspólnego wyrażenia
v wpisy połączeń menedżera FCM,
tabelowego,
v zakotwiczenia komunikatów menedżera FCM,

580 Komunikaty, tom 2


SQL20168N • SQL20178N

v bloki żądań menedżera FCM. 2 Wielkość usuwanego obszaru jest taka, że w wyniku
operacji obszar tabel miałby mniej niż wymaganych
Działanie użytkownika:
5 przydziałów.
Powtórz żądanie. Jeśli błąd nie ustaje, zatrzymaj i zrestartuj
instancję, aby zaczął obowiązywać większy zbiór pamięci Działanie użytkownika:
współużytkowanej (automatycznie aktualizowany przez
1 W celu ustalenia liczby nadających się do użycia
program DB2), po czym ponów żądanie.
stron w obszarze tabel i wskaźnika wysokiego
poziomu dla obszaru tabel użyj monitora obrazów
kod_sql: -20167
stanu. Różnica między tymi wartościami wyznacza
maksymalną liczbę stron, które można usunąć.
stan_sql: 57011
2 Ustal w obszarze tabel liczbę stron, których można
używać, oraz wielkość przydziału obszaru tabel,
SQL20168N Obecnie jest przetwarzana instrukcja korzystając z monitora obrazów stanu. Liczba
ALTER BUFFERPOOL. przydziałów nadających się do użycia w obszarze
Objaśnienie: tabel jest równa liczbie nadających się do użycia
Puli buforów nie można usunąć ani zmienić, gdy przetwarzana stron podzielonej przez wielkość przydziału. Obszar
jest operacja ALTER. tabel musi zawierać taką liczbę nadających się do
użycia stron, która będzie stanowiła równowartość
Działanie użytkownika: co najmniej 5 przydziałów.
Poczekaj, aż operacja ALTER zostanie zakończona. Do
sprawdzenia postępu bieżącej operacji ALTER użyj monitora kod_sql: -20170
obrazów stanu.
stan_sql: 57059
kod_sql: -20168

stan_sql: 55051 SQL20173W Monitor zdarzeń został utworzony


pomyślnie, lecz istnieje już co najmniej
jedna tabela docelowa monitora zdarzeń.
SQL20169W Pula buforów nie została uruchomiona.
Objaśnienie:
Objaśnienie: Podczas tworzenia monitora zdarzeń menedżer bazy danych
Instrukcja została wykonana pomyślnie, lecz zacznie próbował utworzyć co najmniej jedną tabelę docelową, lecz
obowiązywać dopiero wtedy, gdy pula buforów zostanie ustalono, że tabele o tych nazwach już istnieją. Monitor
uruchomiona. zdarzeń został pomyślnie utworzony, przy czym tabele
Działanie użytkownika: docelowe nie zostały utworzone w celu zastąpienia nimi
Instrukcja została wykonana pomyślnie i zacznie istniejących już tabel o tych samych nazwach. Gdy monitor
obowiązywać, gdy baza danych zostanie aktywowana. Stanie zdarzeń zostanie aktywowany, spróbuje użyć tych tabel.
się tak, gdy wszystkie aplikacje się rozłączą. Aby instrukcja Uaktywnianie monitora zdarzeń może się nie powieść, jeśli
zaczęła obowiązywać natychmiast, wprowadź ją ponownie po podczas procesu uaktywniania zostanie ustalone, że te tabele
uruchomieniu puli buforów. W niektórych wypadkach pulę są nieodpowiednie.
buforów można uruchomić, usuwając ją i na nowo tworząc z Działanie użytkownika:
opcją IMMEDIATE. Zapoznaj się ze szczegółowymi informacjami w dzienniku
powiadomień administracyjnych. W razie potrzeby usuń
kod_sql: +20169 wszystkie tabele docelowe i utwórz ponownie monitor
zdarzeń, aby utworzyć wszystkie tabele docelowe.
stan_sql: 01654
kod_sql: 20173
SQL20170N W obszarze tabel nazwa-obszaru-tabel jest
zbyt mało miejsca na wykonanie podanego stan_sql: 01655
działania. Kod przyczyny = kod-przyczyny.
Objaśnienie: SQL20178N Dla widoku nazwa-widoku już zdefiniowano
Przy użyciu jednego lub kilku działań DROP, REDUCE i wyzwalacz INSTEAD OF wyzwalacz.
RESIZE na kontenerze z obszaru tabel jest usuwana część Objaśnienie:
obszaru. Wynikiem tego jest jeden z następujących Dla widoku nazwa-widoku zdefiniowano już wyzwalacz
scenariuszy: INSTEAD OF dla wskazanej operacji (UPDATE, DELETE,
1 Wielkość usuwanego obszaru jest większa niż ilość INSERT). Dla każdej operacji na widoku można zdefiniować
miejsca powyżej wskaźnika wysokiego poziomu. tylko po jednym wyzwalaczu INSTEAD OF.

Rozdział 2. Komunikaty SQL 581


SQL20179N • SQL20188N

Nie można wykonać instrukcji. Wyzwalacz INSTEAD OF nie W instrukcji ALTER TABLE użyto klauzuli ADD
został utworzony. PARTITION, ALTER PARTITION, DROP PARTITION lub
DROP DISTRIBUTION, ale tabela nie jest partycjonowana,
Działanie użytkownika:
tabela jest zmaterializowaną tabelą zapytania albo dla tej tabeli
Jeśli wymagany jest nowy wyzwalacz INSTEAD OF, usuń
jest zdefiniowana zmaterializowana tabela zapytania.
istniejący wyzwalacz, a następnie utwórz nowy wyzwalacz.
W instrukcji ALTER TABLE określono klauzulę ADD
kod_sql: -20178
PARTITION dla partycji mieszających (HASH), ale tabela nie
jest partycjonowana przy użyciu kodowania mieszającego.
stan_sql: 428FP
W instrukcji ALTER TABLE użyto klauzuli DROP
SQL20179N Nie można utworzyć wyzwalacza INSTEAD PARTITION dla partycji typu RANGE, ale zastosowano też
OF, ponieważ widok nazwa-widoku jest klauzulę PRESERVE ROWS. Klauzula PRESERVE ROWS
zdefiniowany z klauzulą WITH CHECK jest poprawna tylko dla tabel partycjonowanych przy użyciu
OPTION lub jest zagnieżdżony w widoku partycjonowania mieszającego (HASH).
zdefiniowanym z klauzulą WITH ROW
Działanie użytkownika:
MOVEMENT.
Zmień instrukcję na poprawną albo podaj inną tabelę i
Objaśnienie: uruchom ponownie instrukcję.
Wyzwalacza INSTEAD OF nie można definiować dla:
v widoku definiowanego z użyciem klauzuli WITH CHECK kod_sql: -20183
OPTION,
stan_sql: 428FT
v widoku bazowego, na którym pośrednio lub bezpośrednio
zdefiniowano taki widok,
SQL20188N Klucz podstawowy lub klucz unikalny
Wyzwalacza INSTEAD OF UPDATE nie można definiować identyfikowany przez nazwa jest
dla: podzbiorem kolumn określonych w klauzuli
v widoku zagnieżdżonego w widoku zdefiniowanym z ORGANIZE BY.
klauzulą WITH ROW MOVEMENT. Objaśnienie:
Wszystkie kolumny składające się na klucz podstawowy lub
Widok nazwa-widoku może być widokiem docelowym unikalny są wymienione w klauzuli ORGANIZE BY tabeli.
wyzwalacza INSTEAD OF lub może być widokiem zależnym Sytuacja taka nie jest dopuszczalna, ponieważ wtedy każdy
bezpośrednio lub pośrednio od widoku docelowego blok stron w tabeli zawierałby tylko jeden wiersz, a pozostały
wyzwalacza. obszar bloku pozostawałby niewykorzystany.

Nie można wykonać instrukcji. Wyzwalacz INSTEAD OF nie Jeśli zostało podane ograniczenie, nazwa jest nazwą
został utworzony. ograniczenia klucza podstawowego lub ograniczenia przez
Działanie użytkownika: unikalność. Jeśli nie podano nazwy ograniczenia, nazwa jest
Jeśli widok nazwa-widoku jest zdefiniowany z użyciem nazwą pierwszej kolumny podanej w klauzuli klucza
klauzuli WITH CHECK OPTION, usuń tę klauzulę. podstawowego lub ograniczenia przez unikalność z trzema
kropkami na końcu. W wypadku tworzenia indeksu unikalnego
nazwa jest nazwą indeksu unikalnego.
Jeśli widok nazwa-widoku jest widokiem zagnieżdżonym w
widoku zdefiniowanym z klauzulą WITH ROW
MOVEMENT, usuń klauzulę WITH ROW MOVEMENT. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -20179 W miarę możliwości zmień definicję klucza podstawowego
lub unikalnego, definicję indeksu unikalnego lub klauzulę
stan_sql: 428FQ ORGANIZE BY, tak aby klucz nie stanowił podzbioru
wymiarów.
SQL20183N Tabela nazwa-tabeli jest niezgodna z
kod_sql: -20188
określoną operacją partycjonowania tabeli.
Objaśnienie: stan_sql: 429BE
Klauzula partycjonowania dla tabeli nazwa-tabeli jest
niepoprawna, ponieważ:

W instrukcji ALTER TABLE, CREATE INDEX lub CREATE


TABLE użyto klauzuli ADD PARTITION BY, ale tabela jest
już partycjonowana.

582 Komunikaty, tom 2


SQL20189W • SQL20192N

Jeśli źródło danych nie obsługuje punktu zapisu aplikacji, a


SQL20189W Z powodu niewystarczającej ilości pamięci
opcja serwera ’iud_app_svpt_enforce’ jest ustawiona na ’Y’,
operacja CREATE/ALTER na puli buforów
stowarzyszone operacje wstawienia, aktualizacji lub usunięcia
nie odniesie skutku aż do następnego
są blokowane w fazie prekompilacji. Zapobiega to potencjalnej
uruchomienia bazy danych.
niespójności danych, która mogłaby zaistnieć w trakcie
Objaśnienie: wykonywania programu w razie wystąpienia błędu podczas
Instrukcja CREATE lub ALTER BUFFERPOOL została przetwarzania stowarzyszonej operacji wstawienia,
wykonana i zakończona pomyślnie, jednak ze względu na zbyt aktualizacji lub usunięcia.
małą ilość dostępnej pamięci operacja utworzenia lub
Działanie użytkownika:
modyfikacji została wykonana z atrybutem DEFERRED
Możliwe są następujące rozwiązania:
(odroczona). Zmiana odniesie skutek dopiero po następnym
uruchomieniu bazy danych. v Zmień ustawienie opcji serwera ’iud_app_svpt_enforce’ na
’N’.
Działanie użytkownika:
v Wykonaj operację wstawienia, aktualizacji lub usunięcia
Jeśli zwlekanie ze zmianami w puli buforów do następnego
bezpośrednio na źródle danych.
uruchomienia bazy danych nie jest wskazane, można zwolnić
zajętą pamięć i spróbować ponowić operację (określając tę
samą lub inną wielkość). Możliwość zwolnienia zasobów kod_sql: -20190
pamięci dotyczy innych pól buforów, sterty bazy danych,
pamięci podręcznej katalogu, pamięci podręcznej pakietów i stan_sql: 0A503
sterty programów narzędziowych. Obszary te można
zmniejszyć, korzystając z komendy ALTER/DROP SQL20191N W przygotowanej dynamicznie instrukcji
BUFFERPOOL lub UPDATE DATABASE CALL należy dla parametru INOUT w
CONFIGURATION, odpowiednio do zasobu. Natomiast na klauzuli USING i INTO użyć tej samej
przyszłość można zarezerwować dodatkową ilość pamięci zmiennej języka macierzystego.
przydzielanej dynamicznie na potrzeby puli buforów,
zwiększając wartość parametru konfiguracyjnego bazy danych Objaśnienie:
DATABASE_MEMORY. Parametr INOUT w instrukcji CALL musi odpowiadać
pojedynczej zmiennej języka macierzystego. W wypadku
Jeśli instrukcja nie będzie ponawiana: wykonywania dynamicznie przygotowanej instrukcji CALL
należy pamiętać o umieszczeniu tej samej zmiennej języka
1. Jeśli niepowodzenie dotyczyło instrukcji ALTER
macierzystego zarówno w klauzuli USING, jak i w klauzuli
BUFFERPOOL, działanie programu będzie kontynuowane
INTO instrukcji EXECUTE.
z dotychczasową wielkością puli buforów. Aby poznać
bieżącą wielkość puli buforów można posłużyć się Działanie użytkownika:
monitorem bazy danych. Określając zmienną języka macierzystego, która odpowiada
2. Jeśli niepowodzenie dotyczyło instrukcji CREATE znacznikowi parametru INOUT, należy użyć tej samej
BUFFERPOOL, wszystkie obszary tabel tworzone w puli zmiennej w klauzuli USING i w klauzuli INTO instrukcji
buforów zostaną tymczasowo (do następnego EXECUTE. Jeśli do określenia zmiennej języka macierzystego
uruchomienia) umieszczone w ukrytej puli buforów o odpowiadającej znacznikowi parametru INOUT używany jest
odpowiedniej wielkości strony. Jako że ukryte pule mechanizm SQLDA, wskaźniki SQLDATA odpowiednich
buforów są niewielkie, fakt ten może niekorzystnie odbić zmiennych SQLVAR muszą wskazywać tę samą zmienną
się na wydajności programu. języka macierzystego.

Aby ponowić próbę: kod_sql: -20191


1. W wypadku komendy ALTER BUFFERPOOL: wydaj
stan_sql: 560BB
komendę ponownie.
2. W wypadku komendy CREATE BUFFERPOOL: usuń
pulę buforów i ponownie wydaj komendę. SQL20192N Określone tryby obsługiwane są tylko w
środowisku partycjonowanej bazy danych.
kod_sql: 20189 Objaśnienie:
Jednej z komend: RECOMMEND PARTITIONINGS lub
stan_sql: 01657 EVALUATE PARTITIONINGS, nie wywołano w środowisku
partycjonowanej bazy danych. Oba te tryby są obsługiwane
SQL20190N Z uwagi na potencjalną niespójność danych jedynie w środowisku partycjonowanej bazy danych.
nie można skompilować stowarzyszonej Działanie użytkownika:
operacji wstawienia, aktualizacji lub Wywołaj komendę RECOMMEND PARTITIONINGS lub
usunięcia. EVALUATE PARTITIONINGS w środowisku
Objaśnienie: partycjonowanej bazy danych.

Rozdział 2. Komunikaty SQL 583


SQL20193N • SQL20195N

kod_sql: -20192 partycji, dla której zdefiniowana jest już pula buforów
nazwa-puli-buforów. Jeśli pula buforów nie jest skojarzona z
stan_sql: 56038 żadną konkretną grupą partycji bazy danych, dodaj
odpowiednią partycję do wybranej grupy lub utwórz nową
grupę specjalnie dla tej partycji. Wydaj ponownie instrukcję
SQL20193N W trakcie uzyskiwania dostępu do pliku ALTER BUFFERPOOL.
nazwa-pliku wystąpił błąd. Kod przyczyny:
kod-przyczyny.
kod_sql: -20194
Objaśnienie:
Podjęto próbę dostępu do pliku nazwa_pliku na serwerze, lecz stan_sql: 53040
wystąpił błąd. W przypadku kodów przyczyny od 4 do 10
nazwa_pliku może znajdować się w katalogu określonym
SQL20195N Napotkano błąd podczas przetwarzania
przez zmienną rejestru DB2_UTIL_MSGPATH lub w
wiersza o numerze numer-wiersza w pliku
katalogu pełniącym rolę katalogu tymczasowego instancji.
konfiguracyjnym zmiany nazwy ścieżki
Wskazany błąd jest definiowany przez kod przyczyny w
plik-konfiguracyjny. Kod przyczyny =
następujący sposób:
kod-przyczyny.
1 Błąd formatu pliku.
Objaśnienie:
2 Błąd komunikacyjny. Plik konfiguracyjny zmiany nazwy ścieżki plik-konfiguracyjny
jest używany do zmiany nazw kontenerów w trakcie bieżącego
3 Błąd przydziału pamięci.
procesu odtwarzania w awarii lub odtwarzania zmian. Jednak
4 Ścieżka do katalogu wskazywana ustawieniem podczas przetwarzania instrukcji w tym pliku w wierszu
zmiennej rejestru DB2_UTIL_MSGPATH nie numer-wiersza napotkano błąd, który uniemożliwił
istnieje. kontynuowanie procesu odtwarzania. Poniższe kody wskazują
na możliwe przyczyny błędu:
5 plik nie istnieje.
1. Niepoprawna składnia.
6 Identyfikator użytkownika chronionego nie uprawnia 2. Długość ścieżki do kontenera przekracza maksymalną
do utworzenia pliku (brak praw do wykonywania dopuszczalną wartość.
programów w katalogu).
3. Podana ścieżka do kontenera została już wymieniona w
7 Identyfikator użytkownika chronionego nie uprawnia poprzednim wierszu.
do odczytu pliku (brak praw do odczytu plików w 4. Długość ścieżki do bazy danych przekracza maksymalną
katalogu). dopuszczalną wartość.
8 Identyfikator użytkownika chronionego nie uprawnia 5. Podana ścieżka do bazy danych została już wymieniona w
do zapisu pliku (brak praw do zapisu plików w poprzednim wierszu.
katalogu). 6. Ścieżka do bazy danych musi być ścieżką bezwzględną.
9 Brak miejsca na dysku (dysk jest pełny). 7. Ścieżka do bazy danych została określona nieprawidłowo.
10 Plik nie mógł zostać usunięty. 8. Znak wieloznaczny (″*″) używany jest niepoprawnie.

Działanie użytkownika: Działanie użytkownika:


Posłuż się informacją związaną z kodem przyczyny, aby Wprowadź niezbędne zmiany w pliku konfiguracyjnym w
ustalić właściwy sposób udostępnienia pliku i ponownie wydaj sposób opisany poniżej, a następnie ponownie wydaj
instrukcję. komendę.
1. Skoryguj błąd składni.
kod_sql: -20193 2. Określ krótszą ścieżkę kontenera.
3. Usuń z pliku powieloną ścieżkę do kontenera.
stan_sql: 560BC
4. Określ krótszą ścieżkę do bazy danych.
5. Usuń z pliku powieloną ścieżkę do bazy danych.
SQL20194N Pula buforów nazwa-puli-buforów nie istnieje
w partycji bazy danych 6. Użyj bezwzględnej ścieżki do bazy danych zamiast ścieżki
numer-partycji-bazy-danych. względnej.
7. Określ ścieżkę do bazy danych w postaci litery dysku, po
Objaśnienie:
której następuje dwukropek (na przykład C:).
W instrukcji ALTER BUFFERPOOL określono pulę buforów,
nazwa-puli-buforów, która nie istnieje w partycji bazy danych 8. Znak wieloznaczny może być umieszczony tylko na
numer-partycji-bazy-danych. ostatniej pozycji zarówno w starej, jak i w nowej ścieżce.

Działanie użytkownika: kod_sql: -20195


Korzystając z instrukcji ALTER DATABASE PARTITION
GROUP, dodaj partycję numer-partycji-bazy-danych do grupy stan_sql: 08504

584 Komunikaty, tom 2


SQL20196N • SQL20197N

atrybutów metody: SELF AS RESULT,


SQL20196N Przynajmniej jeden z typów wbudowanych
charakterystyka procedury SQL lub charakterystyka
zwracanych przez funkcję lub metodę
procedury zewnętrznej.
FROM SQL nie jest zgodny z odpowiednim
typem wbudowanym stanowiącym 9 Typ zwracany przez metodę przesłaniającą nie jest
parametr funkcji lub metody TO SQL. zgodny z typem zwracanym przez metodę
pierwotną.
Objaśnienie:
Typy wbudowane zwracane przez funkcję lub metodę 10 Typ zwracany metody przesłaniającej jest typem
transformacji FROM SQL muszą być zgodne z typami na strukturalnym nie będącym podtypem żadnego z
liście parametrów odpowiedniej funkcji lub metody poniższych:
transformacji TO SQL. v typu zwracanego przez metodę pierwotną,
Działanie użytkownika: v każdego z typów zwracanych przez wszystkie
Wybierz inną funkcję/metodę transformacji FROM SQL lub metody, które już przesłaniają metodę pierwotną.
inną funkcję/metodę transformacji TO SQL albo zmodyfikuj
jedną z tych funkcji lub metod, tak aby każdy z typów Działanie użytkownika:
wbudowanych zwracanych przez funkcję/metodę FROM SQL Zmień definicję metody odpowiednio do kodu-przyczyny:
był zgodny z odpowiednim typem wbudowanym, który jest 1 Użyj nazwy istniejącej metody dla nadtypu danego
parametrem funkcji/metody transformacji TO SQL. typu strukturalnego.

kod_sql: -20196 2 W metodzie przesłaniającej zdefiniuj taką samą


liczbę parametrów, jak w metodzie pierwotnej.
stan_sql: 428FU 3 Zmień typ danych parametru metody przesłaniającej,
dopasowując go do typu danych odpowiedniego
parametru metody pierwotnej.
SQL20197N Nie można zdefiniować metody
nazwa-metody jako metody przesłaniającej. 4 Zmień nazwę parametru metody przesłaniającej,
Kod przyczyny: kod-przyczyny. dopasowując ją do nazwy odpowiedniego parametru
metody pierwotnej.
Objaśnienie:
Podjęto próbę zdefiniowana metody nazwa-metody jako 5 Zmień wskazanie wskaźnika parametru metody
metody przesłaniającej. Nie można utworzyć związku przesłaniającej, dopasowując je do wskazania
przesłaniania między tą metodą a metodą pierwotną ze wskaźnika odpowiedniego parametru metody
względu na jedną z poniższych przyczyn, identyfikowaną pierwotnej.
przez kod-przyczyny:
6 Zmień wskazanie FOR BIT DATA parametru
1 Nie można znaleźć metody pierwotnej o tej samej metody przesłaniającej, dopasowując je do
nazwie. wskazania FOR BIT DATA odpowiedniego
parametru metody pierwotnej.
2 Metoda pierwotna i metoda przesłaniająca mają
różne liczby parametrów. 7 Usuń klauzulę AS LOCATOR, klauzulę CAST
FROM i klauzulę FOR BIT DATA z metody
3 Typ danych przynajmniej jednego z parametrów
przesłaniającej.
metody przesłaniającej nie jest zgodny z typem
odpowiedniego parametru metody pierwotnej. 8 Usuń atrybut metody SELF AS RESULT oraz
ewentualne charakterystyki procedury SQL lub
4 Nazwa przynajmniej jednego z parametrów metody
procedury zewnętrznej.
przesłaniającej nie jest zgodna z nazwą
odpowiedniego parametru metody pierwotnej. 9 Zmień typ zwracany procedury przesłaniającej,
dopasowując go do typu zwracanego metody
5 Wskazanie wskaźnika parametru metody
pierwotnej.
przesłaniającej nie jest zgodne ze wskazaniem
wskaźnika odpowiedniego parametru metody 10 Zmień typ zwracany metody przesłaniającej, tak aby
pierwotnej. był on podtypem metody pierwotnej i wszystkich
metod, które już przesłaniają metodę pierwotną.
6 Wskazanie FOR BIT DATA parametru metody
przesłaniającej nie jest zgodne ze wskazaniem FOR
BIT DATA odpowiedniego parametru metody kod_sql: -20197
pierwotnej.
stan_sql: 428FV
7 Klauzula RETURNS metody zastępującej zawiera
klauzulę AS LOCATOR, klauzulę CAST FROM lub
klauzulę FOR BIT DATA.
8 Określono jeden z następujących dziedziczonych

Rozdział 2. Komunikaty SQL 585


SQL20198N • SQL20203N

Ponownie uruchom procedurę instalacji lub zastąpienia,


SQL20198N Metoda nazwa-metody wywołuje
podając adres URL, który określa poprawny plik typu JAR.
rekurencyjnie samą siebie.
Objaśnienie: kod_sql: -20200
Metoda próbowała rekurencyjnie wywołać samą siebie. Mogła
to być rekurencja pośrednia lub bezpośrednia. stan_sql: 46001
Działanie użytkownika:
Zmodyfikuj definicję metody. SQL20201N Instalacja, zastąpienie lub usunięcie jar-id
nie powiodło się, gdyż nazwa pliku typu
kod_sql: -20198 JAR jest niepoprawna.
Objaśnienie:
stan_sql: 55054
Nazwa pliku typu JAR podana w procedurze instalacji,
usunięcia lub zastąpienia nie jest poprawna. Na przykład plik
SQL20199N Funkcja tabelowa transformacji kluczy typu JAR może mieć niewłaściwy format, może nie istnieć
używana w rozszerzeniu indeksu id-indeksu (więc nie można go zastąpić ani usunąć) lub nie może zostać
tabeli id-tabeli w obszarze tabel zainstalowany, ponieważ już istnieje.
id-obszaru-tabel wygenerowała duplikaty
Działanie użytkownika:
wierszy.
Sprawdź, czy plik typu JAR ma właściwy format. Jeśli on już
Objaśnienie: istnieje, może trzeba będzie go usunąć przed instalacją. W
Funkcja tabelowa transformacji kluczy, określona w klauzuli przypadku usunięcia i zastąpienia sprawdź, czy plik typu JAR
GENERATE USING rozszerzenia indeksu i użyta przez istnieje.
indeks ID-indeksu, wygenerowała zduplikowane wiersze. Dla
danego wywołania tabelowej funkcji transformacji kluczy nie kod_sql: -20201
powinny zostać utworzone żadne zduplikowane wiersze. Błąd
wystąpił podczas wstawiania lub aktualizowania wartości stan_sql: 46002
klucza dla indeksu identyfikator-indeksu tabeli
identyfikator-tabeli w obszarze tabel identyfikator-obszaru-
tabel. SQL20202N Zastąpienie lub usunięcie pliku id-pliku-jar
nie powiodło się, ponieważ klasa klasa jest
Nie można wykonać instrukcji. używana w procedurze nazwa-procedury
(nazwa specyficzna nazwa-specyficzna).
Działanie użytkownika:
Aby uniknąć tworzenia zduplikowanych wierszy, trzeba Objaśnienie:
zmodyfikować kod tabelowej funkcji transformacji kluczy Klasa podana w pliku typu JAR jest w tym momencie
używanej przez rozszerzenie indeksu dla indeksu ID-indeksu. używana przez zdefiniowaną procedurę lub plik zastąpienia
typu JAR nie zawiera tej klasy, dla której zdefiniowano
procedurę.
Aby określić nazwę indeksu, użyj następującego zapytania:
SELECT IID, INDSCHEMA, INDNAME Działanie użytkownika:
FROM SYSCAT.INDEXES AS I, Sprawdź, czy wszystkie procedury, które zawierają odwołania
SYSCAT.TABLES AS T do klas, zostały usunięte, i ponownie uruchom procedurę
WHERE IID = <id-indeksu> zastąpienia lub usunięcia.
AND TABLEID = <id-tabeli>
AND TBSPACEID = <id-obszaru-tabel> kod_sql: -20202
AND T.TBASCHEMA = I.TABSCHEMA
AND T.TABNAME = I.TABNAME
stan_sql: 46003
kod_sql: -20199
SQL20203N Funkcji lub procedurze zdefiniowanej przez
stan_sql: 22526 użytkownika nazwa-funkcji odpowiada
metoda w języku Java o niepoprawnej
sygnaturze.
SQL20200N Zainstalowanie lub zastąpienie pliku
id-pliku-jar nie powiodło się, ponieważ nie Objaśnienie:
można znaleźć adresu url. Sygnatura metody w języku Java, stanowiącej implementację
funkcji lub procedury, jest niepoprawna. Na przykład metoda
Objaśnienie:
może mieć parametry, których nie da się odwzorować na
Adres URL podany dla procedury instalacji lub zastąpienia nie
parametry w odpowiedniej instrukcji CREATE lub metoda
określa poprawnego pliku typu JAR.
odpowiadająca procedurze określa wartość powrotu.
Działanie użytkownika:
Działanie użytkownika:

586 Komunikaty, tom 2


SQL20204N • SQL20208N

Ponownie uruchom odpowiednią instrukcję CREATE podając stan_sql: 0100E


parametry, które są zgodne z parametrami metody w języku
Java, albo popraw parametry lub kod powrotu w metodzie w
SQL20207N Procedura jar id-jar instalacji lub usuwania
języku Java i ponownie utwórz klasę.
określała użycie deskryptora wdrażania.
kod_sql: -20203 Objaśnienie:
Parametr DEPLOY lub UNDEPLOY procedury instalacji lub
stan_sql: 46007 zastąpienia był różny od zera. Parametr ten nie jest
obsługiwany i musi mieć wartość zero.
SQL20204N Funkcji lub procedury zdefiniowanej przez Działanie użytkownika:
użytkownika nazwa-funkcji nie można było Ponownie uruchom procedurę z parametrem DEPLOY lub
odwzorować na jedną metodę języka Java. UNDEPLOY równym zeru.
Objaśnienie:
kod_sql: -20207
Dla funkcji lub procedury nie znaleziono odpowiedniej
metody w języku Java lub znaleziono więcej niż jedną metodę.
stan_sql: 46501
Działanie użytkownika:
Popraw metodę w języku Java lub odpowiednią instrukcję
SQL20208N Nie można utworzyć tabeli nazwa-tabeli.
CREATE, aby wywołanie funkcji lub procedury mogło zostać
Kod przyczyny = kod-przyczyny.
przetłumaczone na pojedynczą metodę w języku Java.
Objaśnienie:
kod_sql: -20204 Tabeli nie można utworzyć, ponieważ naruszałoby to
ograniczenie, na co wskazuje następujący kod przyczyny:
stan_sql: 46008 1. Tabela użyta w definicji tabeli pomostowej nie jest
zmaterializowaną tabelą zapytania z opcją REFRESH
SQL20205N Funkcja lub procedura zdefiniowana przez DEFERRED.
użytkownika nazwa-funkcji ma argument 2. Z tabelą użytą do zdefiniowania tabeli pomostowej już jest
wejściowy o wartości pustej, którego nie skojarzona tabela pomostowa.
można przesłać do metody. 3. Nie można utworzyć zmaterializowanej tabeli zapytania
Objaśnienie: będącej odwołaniem do pseudonimu jeśli instrukcja
Funkcja utworzona za pomocą ″CALLED ON NULL INPUT″ CREATE TABLE została wydana z niekatalogowej
lub procedura ma argument wejściowy o wartości pustej, a w partycji bazy danych.
języku Java typ danych tego argumentu nie dopuszcza 4. Nie można utworzyć zmaterializowanej tabeli zapytania,
wartości pustej. Przykładami typów w języku Java która odwołuje się do tabeli zabezpieczonej, widoku, który
nieobsługujących wartości pustych są typy BOOLEAN, jest zależny od tabeli zabezpieczonej, ani pseudonimu, w
BYTE, SHORT, INT, LONG i DOUBLE. przypadku którego nie jest dozwolone buforowanie.

Działanie użytkownika: 5. Strategii bezpieczeństwa nie można dodać do


Jeśli metoda ma być wywołana z wartością pustą, sprawdź, zmaterializowanej tabeli zapytania ani tabeli pomostowej.
czy typy argumentów wejściowych dopuszczają wartości
puste. W przypadku funkcji wystarczy, że utworzono je z Nie można wykonać instrukcji.
opcją ″RETURNS NULL ON NULL INPUT″. Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące:
kod_sql: -20205
1. W definicji tabeli pomostowej użyj zmaterializowanej
tabeli zapytania z opcją REFRESHED DEFERRED.
stan_sql: 39004
2. Określ zmaterializowaną tabelę zapytania, która nie jest
skojarzona z tabelą pomostową.
SQL20206W Procedura nazwa-funkcji zwróciła zbyt wiele 3. Wydaj instrukcję CREATE TABLE z katalogowej partycji
tablic wynikowych. bazy danych.
Objaśnienie: 4. Popraw pełną selekcję określoną w instrukcji CREATE
Podana procedura zwróciła więcej tablic wynikowych niż to TABLE tak, aby nie odwoływała się do pseudonimu, na
określono w instrukcji CREATE PROCEDURE. którym buforowanie jest niedozwolone.
Działanie użytkownika: 5. Usuń klauzulę SECURITY POLICY z instrukcji CREATE
Zmień procedurę tak, aby zwracała mniej tablic wynikowych TABLE.
lub usuń ją i ponownie utwórz, podając właściwą liczbę tablic
wynikowych. kod_sql: -20208

kod_sql: +20206 stan_sql: 428FG

Rozdział 2. Komunikaty SQL 587


SQL20209N • SQL20211N

jako opcję integralności w połączeniu z opcją


SQL20209N Opcja typ-opcji nie jest poprawna w
IMMEDIATE UNCHECKED.
przypadku tabeli nazwa-tabeli; kod
przyczyny kod-przyczyny. 3 Użyj opcji FULL ACCESS z opcją IMMEDIATE
CHECKED.
Objaśnienie:
Podana opcja nie jest poprawna, na co wskazują następujące 4 Użyj opcji FULL ACCESS bez opcji IMMEDIATE
kody przyczyny: UNCHECKED.
1 Opcji READ ACCESS nie można określić dla tabeli 5 Usuń z instrukcji tabelę nie będącą tabelą
będącej w stanie ustawiania integralności w toku bez pomostową.
dostępu.
6 Określ tylko jedną z opcji PRUNE lub
2 Opcja FULL ACCESS nie jest dopuszczalna, jeśli w INCREMENTAL.
tabeli są nadal określone typy integralności, które nie
są sprawdzone. 7 Zamiast określać opcję ALL, określ jawnie te opcje
integralności, które mają być niesprawdzane, za
3 Opcja FULL ACCESS jest dopuszczalna wyłącznie pomocą opcji IMMEDIATE UNCHECKED.
dla tabeli będącej w stanie normalnym bez Następnie wydaj następną instrukcję SET
przenoszenia danych lub w tabeli odłączonej. INTEGRITY z opcją IMMEDIATE CHECKED, aby
sprawdzić integralność partycjonowania danych w
4 Opcji FULL ACCESS nie można określić z opcją
tabeli.
IMMEDIATE UNCHECKED, jeśli tabela jest w
stanie normalnym bez przenoszenia danych. 8 Omiń opcję ALL lub GENERATED COLUMN
spośród tych opcji integralności, które nie powinny
5 Opcja PRUNE nie jest dopuszczalna dla tabeli nie
być zaznaczone z opcją IMMEDIATE
będącej tabelą pomostową.
UNCHECKED. Następnie wydaj następną instrukcję
6 Opcji PRUNE i INCREMENTAL nie można SET INTEGRITY z opcjami IMMEDIATE
określić jednocześnie. CHECKED i FORCE GENERATED, aby ponownie
wyliczyć wartości kolumn generowanych w oparciu
7 Opcji ALL nie można określić z opcją IMMEDIATE
o nowe wyrażenie. Opcję FORCE GENERATED
UNCHECKED, jeśli tabela wymaga sprawdzenia
można pominąć, jeśli dane w tabeli na pewno
integralności ze względu na operację związaną z
spełniają nowe wyrażenia dla kolumny generowanej.
partycjonowaniem danych.
9 Określ opcję ALLOW NO ACCESS dla tabeli.
8 Opcji ALL lub GENERATED COLUMN nie można
określić z opcją IMMEDIATE UNCHECKED, jeśli 10 Usuń opcję ALLOW QUERY OPTIMIZATION
klucz partycjonowania bazy danych tabeli, klucz USING REFRESH DEFERRED TABLES.
partycjonowania danych, klucz grupowania
wielowymiarowego albo klucz grupowania zakresów kod_sql: -20209
odwołuje się do kolumny wygenerowanej, której
wyrażenie zostało zmodyfikowane przy użyciu stan_sql: 428FH
instrukcji ALTER TABLE lub gdy tabela zawiera
przyłączone partycje danych.
SQL20211N Specyfikacja ORDER BY lub FETCH
9 Opcja ALLOW READ ACCESS ani opcja ALLOW FIRST n ROWS ONLY jest niepoprawna.
WRITE ACCESS nie może być określana dla tabeli,
której wartości w kolumnie tożsamości mają zostać Objaśnienie:
wygenerowane dla wszystkich wierszy ani dla Klauzula ORDER BY lub FETCH FIRST n ROWS ONLY nie
zmaterializowanej tabeli zapytania, która ma zostać jest dozwolona w:
w pełni odświeżona, ani dla tabeli, która została v zewnętrznej pełnej selekcji widoku,
załadowana i której wartości w kolumnie v zewnętrznej pełnej selekcji w instrukcji RETURN funkcji
generowanej lub w kolumnie tożsamości mają zostać tabelowej SQL,
obliczone.
v definicji zmaterializowanej tabeli zapytania,
10 Opcji ALLOW QUERY OPTIMIZATION USING v podselekcji, która nie jest ujęta w nawiasy.
REFRESH DEFERRED TABLES można użyć tylko
w odniesieniu do zmaterializowanej tabeli zapytania Działanie użytkownika:
w stanie REFRESH DEFERRED. W wypadku:

Działanie użytkownika: podselekcji


Ujmij podselekcję w nawiasy, łącznie ze
1 Nie określaj opcji READ ACCESS. specyfikacją ORDER BY lub FETCH FIRST n
2 Można użyć opcji FULL ACCESS w połączeniu z ROWS ONLY.
opcją IMMEDIATE CHECKED lub określić ALL

588 Komunikaty, tom 2


SQL20212N • SQL20227N

FETCH FIRST n ROWS ONLY wymienionym w systemowej ścieżce klas, lub skoryguj
Należy użyć klauzuli ROW_NUMBER() OVER() w nieprawidłowość sygnalizowaną przez wyjątek-pierwotny.
połączeniu z predykatem w klauzuli WHERE.
Przykład: kod_sql: -20212
SELECT nazwa FROM
(SELECT stan_sql: 46103
ROW_NUMBER() OVER() AS m, nazwa
FROM emp
) AS e SQL20223N Wykonanie funkcji ENCRYPT lub
WHERE m < 10 DECRYPT nie powiodło się. Mechanizm
szyfrujący nie jest dostępny.
ORDER BY
Zamiast tego użyj klauzuli ORDER BY w zapytaniu Objaśnienie:
wykorzystującym widok, zmaterializowaną tabelę Mechanizm szyfrujący nie jest dostępny, w wyniku czego
zapytania lub funkcję tabelową SQL. obsłużenie żądania szyfrowania lub deszyfrowania było
niemożliwe.
kod_sql: -20211 Działanie użytkownika:
Jeśli mechanizm szyfrujący nie jest zainstalowany, uzupełnij
stan_sql: 428FJ jego instalację przed użyciem funkcji ENCRYPT lub
DECRYPT. Jeśli mechanizm szyfrujący jest zainstalowany,
SQL20212N Procedura zdefiniowana przez użytkownika sprawdź prawidłowość jego działania.
nazwa-funkcji napotkała wyjątek podczas
próby załadowania klasy Java nazwa-klasy z kod_sql: -20223
pliku JAR nazwa-pliku-JAR. Pierwotny
wyjątek to pierwotny-wyjątek. stan_sql: 560BF
Objaśnienie:
Wystąpił wyjątek ClassNotFoundException. Wyjątek SQL20225W Operacja na puli buforów (DROP) nie
ClassNotFoundException może odwoływać się do odniesie skutku do czasu następnego
pierwotnego wyjątku języka Java, który bardziej szczegółowo uruchomienia bazy danych, ponieważ pula
opisuje przyczyny, dla których klasa nie została znaleziona. Na buforów jest używana.
przykład, pierwotnym wyjątkiem mógł być błąd
Objaśnienie:
wejścia/wyjścia, który wystąpił przy próbie odczytu pliku
Instrukcja DROP BUFFERPOOL została wydana i pomyślnie
JAR, lub błąd SQL podczas odczytywania archiwum JAR ze
wykonana, jednak ta pula buforów jest nadal używana przez
słownika danych. Jako informacje uzupełniające zwrócone
obszar tabel. Obszarowi tabel można wprawdzie przypisać
zostaną poniższe elementy w liczbie, na jaką zezwolą
inną pulę buforów, jednak taka zmiana przypisania odniesie
ograniczenia długości SQLCA.
skutek dopiero po kolejnym restarcie bazy danych. Pula
buforów może zostać usunięta z pamięci w wypadku usunięcia
nazwa-funkcji określa nazwę specyficzną zewnętrznej funkcji odpowiedniego obszaru tabel jeszcze przed zatwierdzeniem tej
lub procedury w języku Java, której wykonanie było powodem operacji. Do czasu następnego restartu bazy danych pula
wystąpienia wyjątku ClassNotFoundException. buforów może nadal pozostawać w pamięci, a ewentualne
operacje CREATE lub ALTER względem innych pul buforów,
nazwa-klasy określa nazwę klasy języka Java, której definicja które miałyby korzystać z zajętego przez tę pulę
nie została odnaleziona. identyfikatora, mogą być odraczane.

nazwa-JAR jest opcjonalnym elementem identyfikującym Działanie użytkownika:


zainstalowaną bibliotekę JAR, w której powinna się znaleźć Uruchom ponownie bazę danych, aby usunąć pulę buforów z
odpowiednia klasa. ’(brak)’ informuje, że zgodnie z definicją pamięci.
zewnętrzna funkcja lub procedura nie znajduje się w
zainstalowanym archiwum JAR. kod_sql: 20225

wyjątek-pierwotny jest opcjonalnym elementem zawierającym stan_sql: 01657


wynik wykonania metody toString() na wyjątku pierwotnym,
który był powodem wystąpienia tego wyjątku SQL20227N Brak wymaganej klauzuli dla argumentu
ClassNotFoundException, jeśli taki wyjątek został zgłoszony. numer wyrażenia wyrażenie.
’(brak)’ oznacza, że pierwotny wyjątek nie istnieje.
Objaśnienie:
Działanie użytkownika: Wyrażenie wyrażenie wymaga określenia klauzuli dla
Wykonaj instrukcję ALTER PROCEDURE, aby określić, argumentu o numerze numer. Jeśli wyrażenie to
gdzie należy szukać klasy, upewnij się, że klasa faktycznie XMLATTRIBUTES, to dla nazwy atrybutu XML wymagana
znajduje się we wskazanym archiwum JAR lub w katalogu

Rozdział 2. Komunikaty SQL 589


SQL20230N • SQL20241N

jest klauzula AS. Jeśli wyrażenie to XMLFOREST, to dla stan_sql: 560C0


nazwy elementu XML wymagana jest klauzula AS. Nie można
wykonać instrukcji.
SQL20239N Tabele utworzone w schemacie kodowania
Działanie użytkownika: Unicode nie mogą być tabelami o typie
Popraw wyrażenie, dodając wymaganą klauzulę dla strukturalnym, ani zawierać typów
argumentu. graficznych, typów XML lub typów
zdefiniowanych przez użytkownika.
kod_sql: -20227
Objaśnienie:
W bazie danych w formacie innym niż Unicode tabele
stan_sql: 42633 tworzone w schemacie kodowania Unicode nie mogą być
tabelami o typie strukturalnym, a także nie mogą zawierać
SQL20230N Prawdopodobnie nazwa procedury nie jest kolumn typów graficznych, typów XML, ani typów
określona za pomocą zmiennej języka zdefiniowanych przez użytkownika.
macierzystego w wywołaniu CALL, a Działanie użytkownika:
argumenty nie są określone za pomocą Usuń z definicji tabeli klauzulę CCSID UNICODE lub typ
klauzuli USING DESCRIPTOR. graficzny, typ XML albo typ zdefiniowany przez użytkownika.
Objaśnienie:
W instrukcji CALL wymagane jest podanie identyfikatora kod_sql: -20239
określającego nazwę procedury wraz z jawnym podaniem
argumentów po nazwie. Nazwa procedury nie może być stan_sql: 560C1
określona przez zmienną języka macierzystego. Argumenty
nie mogą być określane za pomocą klauzuli USING
SQL20240N Niepoprawna specyfikacja kolumny
DESCRIPTOR.
nazwa-kolumny typu
Działanie użytkownika: DB2SECURITYLABEL. Kod przyczyny:
Instrukcję CALL należy zapisać ponownie, podając kod-przyczyny.
identyfikator procedury i jawną listę argumentów. Jeżeli nazwa
Objaśnienie:
procedury lub jej argumenty nie są znane do czasu wykonania,
Specyfikacja atrybutu w instrukcji CREATE TABLE lub
należy korzystać z instrukcji CALL przygotowywanej
ALTER TABLE dla kolumny typu DB2SECURITYLABEL
dynamicznie.
może być niepoprawna z następującej przyczyny.
W przypadku aplikacji pochodzących z migracji z wersji 10 Kolumna typu DB2SECURITYLABEL nie może
wcześniejszych niż wersja 8 można korzystać z opcji być zdefiniowana jako kolumna generowana.
prekompilacyjnej CALL_RESOLUTION DEFERRED do
Działanie użytkownika:
czasu, gdy aplikacje te zostaną zmodyfikowane przez
Popraw specyfikację kolumny typu DB2SECURITYLABEL i
wprowadzenie dynamicznie przygotowywanych instrukcji
wprowadź ponownie tę instrukcję.
CALL.
kod_sql: -20240
kod_sql: -20230
stan_sql: 42963
stan_sql: 42601

SQL20241N Zapisywanie w pliku historii pozycji tabeli


SQL20238N Tabela nazwa-tabeli jest zdefiniowana z
usuniętej nazwa-tabeli zakończone
parametrem CCSID UNICODE i nie może
niepowodzeniem.
być używana w funkcji ani metodzie SQL.
Objaśnienie:
Objaśnienie:
W przestrzeni tabel, w której znajduje się tabela usuwana
W przypadku bazy danych w formacie innym niż Unicode w
nazwa-tabeli, włączona jest funkcja odtwarzania usuniętych
funkcji lub metodzie SQL mogą znajdować się odwołania
tabel. Gdy w obszarze tabel włączone jest odtwarzanie tabel
tylko do tabel ze schematem kodowania ASCII. Ponieważ
usuniętych, każda operacja usunięcia tabeli łączy się z wpisem
tabela nazwa-tabeli jest zdefiniowana z parametrem CCSID
do pliku historii. Plik historii zawiera dane potrzebne w celu
UNICODE, nie może być używana w funkcji ani metodzie
ewentualnego odtworzenia usuniętej tabeli. Tym razem zapis
SQL.
w pliku historii dotyczący usuwanej tabeli nie powiódł się. W
Działanie użytkownika: efekcie usunięcie tabeli nie było możliwe.
W funkcjach i metodach SQL nie należy korzystać z tabel
CCSID UNICODE. Możliwą przyczyną niepowodzenia jest brak miejsca w
systemie plików, w którym znajduje się plik historii.
kod_sql: -20238
Działanie użytkownika:

590 Komunikaty, tom 2


SQL20242N • SQL20251N

Upewnij się, że menedżer bazy danych może wprowadzać Utwórz lub zmodyfikuj tabelę tak, aby była partycjonowana
wpisy w pliku historii. Jeśli możliwość odtwarzania usuniętych albo zawierała kolumnę typu DATALINK, ale nie
tabel nie jest istotna, wyłącz tę opcję i wydaj ponownie jednocześnie.
komendę usunięcia tabeli.
kod_sql: -20247
kod_sql: -20241
stan_sql: 429BH
stan_sql: 560C2
SQL20249N Pakiet nazwa-pakietu musi zostać jawnie
SQL20242N Przykładowa wielkość określona w klauzuli poddany ponownemu wiązaniu.
TABLESAMPLE jest niepoprawna.
Objaśnienie:
Objaśnienie: Pakiet nazwa-pakietu zawiera sekcję, która musi zostać
Przykładowa wielkość określona w klauzuli TABLESAMPLE poddana ponownemu wiązaniu.
musi być wartością liczbową większą od zera i nie większą od
100. Nie można wykonać instrukcji.
Działanie użytkownika:
Instrukcja nie została wykonana.
Wykonaj jawnie ponowne wiązanie pakietu przy użyciu
Działanie użytkownika: komendy REBIND albo komendy BIND. Aby zapobiec
Zmień przykładową wielkość określoną w klauzuli tłumaczeniu typu danych i funkcji, w komendzie REBIND
TABLESAMPLE na poprawną wartość liczbową większą od określ opcję RESOLVE CONSERVATIVE.
zera i nie większą od 100.
kod_sql: -20249
kod_sql: -20242
stan_sql: 560C5
stan_sql: 2202H
SQL20250N Liczba partycji danych przekracza liczbę
SQL20243N Widok nazwa-widoku stanowi cel w obszarów tabel dla tabeli.
instrukcji MERGE, ale brak mu
Objaśnienie:
wyzwalacza INSTEAD OF dla operacji
Tabela partycjonowana została zdefiniowana przy użyciu
operacja.
klauzuli NO CYCLE, a nie ma wystarczającej liczby obszarów
Objaśnienie: tabel zdefiniowanych dla określonej liczby partycji tabeli.
Widok nazwa-widoku jest pośrednim lub bezpośrednim
obiektem docelowym instrukcji MERGE i ma zdefiniowany Nie można wykonać instrukcji.
wyzwalacz INSTEAD OF, lecz nie ma zdefiniowanych
wyzwalaczy INSTEAD OF dla wszystkich operacji. Działanie użytkownika:
Wyzwalacz dotyczący operacji operacja nie jest obecny. Określ dodatkowe obszary tabel dla tabeli w instrukcji
CREATE TABLE albo usuń klauzulę NO CYCLE użytą dla
Działanie użytkownika: tabeli.
Utwórz wyzwalacze INSTEAD OF dla operacji UPDATE,
DELETE i INSERT dotyczących widoku nazwa-widoku lub kod_sql: -20250
usuń wszystkie wyzwalacze INSTEAD OF dla widoku.
stan_sql: 428G1
kod_sql: -20243

stan_sql: 428FZ SQL20251N Ostatniej partycji danych nie można


odłączyć od tabeli nazwa-tabeli.

SQL20247N Tabela nazwa-tabeli nie może być Objaśnienie:


partycjonowana i zawiera kolumnę z W wyniku działania instrukcji ALTER TABLE od tabeli
danymi typu DATALINK. zostałaby odłączona ostatnia partycja danych. Taka operacja
jest niedopuszczalna. Tabela partycjonowana musi mieć co
Objaśnienie: najmniej jedną partycję danych, której status jest normalny lub
Podjęto próbę takiego utworzenia lub zmodyfikowania tabeli przyłączony. Tabela partycjonowana nie może mieć tylko
nazwa-tabeli, które spowodowałoby utworzenie partycji danych, której status jest odłączony. Aby określić
partycjonowanej tabeli zawierającej kolumnę z typem danych status partycji, należy użyć zapytania do widoku katalogu
DATALINK. Tabela nie może jednocześnie być SYSCAT.DATAPARTITIONS.
partycjonowana i zawierać taką kolumnę.
Działanie użytkownika: Nie można wykonać instrukcji.

Rozdział 2. Komunikaty SQL 591


SQL20253N • SQL20254N

Działanie użytkownika: w ograniczeniu nazwa-ograniczenia1, albo zmień klucz


Dopilnuj, aby instrukcja ALTER TABLE pozostawiła co obcy ograniczenia nazwa-ograniczenia2 tak, aby nie
najmniej jedną partycję danych w tabeli. zawierał kolumny generowanej.
3. Zmień definicję wyzwalacza BEFORE lub wyrażenie
kod_sql: -20251 kolumny generowanej tak, aby wykonywanie ograniczeń
nazwa-ograniczenia1 i nazwa-ograniczenia2 nie
stan_sql: 428G2 powodowało aktualizacji tej samej kolumny.

SQL20253N Nie można utworzyć lub zmienić kod_sql: -20253


wyzwalacza BEFORE albo kolumny
generowanej nazwa, ponieważ stan_sql: 42915
spowodowałoby to, że tabela, dla której
zdefiniowany jest wyzwalacz BEFORE lub SQL20254N Klauzula FOREIGN KEY nazwa jest
kolumna generowana, zostałaby powiązana niepoprawna, ponieważ spowodowałaby, że
w zakresie operacji usuwania z tabela nazwa-tabeli w przypadku usuwania
przynajmniej jedną z jej tabel nadrzędnych byłaby zależna od samej siebie w cyklu
za pośrednictwem wielu związków o zawierającym regułę usuwania typu
sprzecznych regułach usuwania. Konflikt RESTRICT albo SET NULL. Kod
istnieje między regułami usuwania w przyczyny = kod-przyczyny.
regułach ograniczających
nazwa-ograniczenia1 i nazwa-ograniczenia2. Objaśnienie:
Kod przyczyny = kod-przyczyny. Cykl referencyjny nie może zawierać reguły usuwania
RESTRICT lub SET NULL. Reguła usuwania określona w
Objaśnienie: klauzuli FOREIGN KEY nazwa w instrukcji CREATE
Definicja wyzwalacza BEFORE lub kolumny generowanej TABLE lub ALTER TABLE nie jest poprawna z przyczyny
nazwa w instrukcji CREATE TRIGGER, CREATE TABLE określonej kodem kod-przyczyny:
lub ALTER TABLE jest niepoprawna z powodu określonego
1. Wybraną regułą usuwania jest RESTRICT lub SET NULL,
w kodzie kod-przyczyny:
a związek referencyjny spowodowałby, że tabela
1. Wykonanie reguły usuwania w ograniczeniu nazwa-tabeli byłaby zależna przy usuwaniu od samej
nazwa-ograniczenia1 spowoduje uruchomienie siebie.
wyzwalacza BEFORE nazwa, a treść tego wyzwalacza
2. Wybraną regułą usuwania jest CASCADE, jednak związek
BEFORE zmodyfikuje kolumnę, która wchodzi w skład
referencyjny powodowałby, że tabela nazwa-tabeli byłaby
klucza obcego ograniczenia nazwa-ograniczenia2, lub
zależna od samej siebie przy usuwaniu poprzez cykl
zmodyfikuje kolumnę, do której odwołuje się kolumna
zawierający regułę usuwania RESTRICT lub SET NULL.
generowana wchodząca w skład klucza obcego
ograniczenia nazwa-ograniczenia2.
nazwa, o ile jest określona, jest nazwą ograniczenia w klauzuli
2. Wykonanie reguły usuwania w ograniczeniu FOREIGN KEY. Jeśli nazwa ograniczenia nie została
nazwa-ograniczenia1 wyzwoli aktualizację kolumny określona, nazwa jest nazwą pierwszej kolumny na liście
generowanej nazwa, która jest częścią klucza obcego kolumn klauzuli FOREIGN KEY z trzema kropkami na końcu.
ograniczenia nazwa-ograniczenia2.
3. Po dodaniu wyzwalacza BEFORE lub kolumny Nie można wykonać instrukcji.
generowanej nazwa wykonanie obu ograniczeń
nazwa-ograniczenia1 i nazwa-ograniczenia2 spowoduje Działanie użytkownika:
aktualizację tej samej kolumny. Działanie odpowiadające kodowi przyczyny jest następujące:
1. Zmień regułę usuwania na CASCADE lub NO ACTION
Nie można wykonać instrukcji. albo wyeliminuj daną klauzulę FOREIGN KEY z
instrukcji CREATE TABLE lub ALTER TABLE.
Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące: 2. Zmień regułę usuwania na NO ACTION, RESTRICT lub
SET NULL albo wyeliminuj daną klauzulę FOREIGN
1. Zmień definicję wyzwalacza BEFORE tak, aby nie był on KEY z instrukcji CREATE TABLE lub ALTER TABLE.
uruchamiany, gdy uruchamiana jest reguła usuwania w
ograniczeniu nazwa-ograniczenia1, albo zmień treść
kod_sql: -20254
wyzwalacza BEFORE w taki sposób, aby nie modyfikował
on kolumny wchodzącej w skład klucza obcego
stan_sql: 42915
ograniczenia nazwa-ograniczenia2 ani nie modyfikował
kolumny, do której odwołuje się kolumna generowana
wchodząca w skład klucza obcego ograniczenia
nazwa-ograniczenia2.
2. Zmień wyrażenie kolumny generowanej tak, aby nie była
ona aktualizowana, gdy wykonywana jest reguła usuwania

592 Komunikaty, tom 2


SQL20255N • SQL20256N

określona, nazwa jest nazwą pierwszej kolumny na liście


SQL20255N Klauzula FOREIGN KEY nazwa jest
kolumn klauzuli FOREIGN KEY z trzema kropkami na końcu.
niepoprawna, ponieważ spowodowałaby, że
Taka sama konwencja ma zastosowanie do ograniczeń
tabela podrzędna nazwa-tabeli-podrzędnej
nazwa-ograniczenia1 i nazwa-ograniczenia2.
byłaby w przypadku usuwania zależna od
swojej tabeli nadrzędnej
nazwa-tabeli-nadrzędnej poprzez wiele Nie można wykonać instrukcji.
związków ze sprzecznymi regułami Działanie użytkownika:
usuwania. Konflikt istnieje między regułami Działanie odpowiadające kodowi przyczyny jest następujące:
usuwania w regułach ograniczających
1. Zmień regułę usuwania na CASCADE lub NO ACTION
nazwa-ograniczenia1 i nazwa-ograniczenia2
albo wyeliminuj daną klauzulę FOREIGN KEY z
dla tabeli podrzędnej. Kod przyczyny =
instrukcji CREATE TABLE lub ALTER TABLE.
kod-przyczyny.
2. Zmień regułę usuwania na NO ACTION, RESTRICT lub
Objaśnienie: SET NULL albo wyeliminuj daną klauzulę FOREIGN
Definicja ograniczenia referencyjnego określona dla klauzuli KEY z instrukcji CREATE TABLE lub ALTER TABLE.
FOREIGN KEY nazwa w instrukcji CREATE TABLE lub
3. W definicji klucza obcego nie uwzględniaj kolumny, która
ALTER TABLE nie jest poprawna z przyczyny określonej
jest już zawarta w definicji istniejącego klucza obcego lub,
kodem kod-przyczyny:
jeśli regułą usuwania w istniejącym ograniczeniu
1. Związek ten odwołuje się sam do siebie i został określony referencyjnym jest SET NULL, zmień regułę usuwania
z użyciem reguły usuwania RESTRICT lub SET NULL, a nowego ograniczenia na taką samą.
tabela jest tabelą zależną w związku z regułą usuwania
4. Zmień regułę usuwania na NO ACTION, RESTRICT lub
CASCADE.
SET NULL albo wyeliminuj daną klauzulę FOREIGN
2. Związek został określony z użyciem reguły usuwania KEY z instrukcji CREATE TABLE lub ALTER TABLE.
CASCADE, podczas gdy dla danej tabeli istnieje już
5. W definicji klucza obcego nie określaj kolumny, która jest
związek odwołujący się sam do siebie z regułą usuwania
już zawarta w istniejącej definicji klucza partycjonowania,
RESTRICT lub SET NULL.
lub wyeliminuj daną klauzulę FOREIGN KEY z instrukcji
3. Klucz obcy pokrywa się z kluczem obcym istniejącego CREATE TABLE lub ALTER TABLE.
związku, przy czym ich reguły usuwania są różne lub
6. Zmień regułę usuwania na NO ACTION, RESTRICT lub
jedną z nich jest SET NULL.
SET NULL albo wyeliminuj daną klauzulę FOREIGN
4. Określono związek z regułą usuwania CASCADE, która KEY z instrukcji CREATE TABLE lub ALTER TABLE.
spowodowałaby, że tabela podrzędna byłaby zależna przy
7. Zmień regułę usuwania na NO ACTION lub usuń
usuwaniu od swojej tabeli nadrzędnej poprzez wiele
wyzwalacze uruchamiane przez ograniczenie referencyjne
związków, z których przynajmniej dwa miałyby
albo nie twórz nowego ograniczenia referencyjnego.
nakładające się klucze obce, a ich reguły usuwania byłyby
różne lub jedną z nich byłaby reguła SET NULL. 8. Zmień regułę usuwania na NO ACTION, RESTRICT lub
SET NULL albo wyeliminuj określoną klauzulę
5. Przynajmniej jedno z pozostających w konflikcie
FOREIGN KEY z instrukcji ALTER TABLE.
ograniczeń referencyjnych zostało wskazane w regule
usuwania SET NULL, a jego definicja klucza obcego
kod_sql: -20255
pokrywa się z kluczem partycjonowania lub z wymiarem
tabeli MDC.
stan_sql: 42915
6. Określono związek z regułą usuwania CASCADE, która
spowodowałaby, że tabela podrzędna byłaby zależna przy
usuwaniu od swojej tabeli nadrzędnej poprzez wiele SQL20256N Klauzula FOREIGN KEY nazwa jest
związków, z których przynajmniej jeden miałby określoną niepoprawna, ponieważ spowodowałaby, że
regułę usuwania SET NULL, a jego definicja klucza dwie tabele nazwa-tabeli1 i nazwa-tabeli2
obcego pokrywałaby się z kluczem partycjonowania lub z byłyby w przypadku usuwaniu wzajemnie
wymiarem tabeli MDC. od siebie zależne, podczas gdy w przypadku
7. Nowa definicja ograniczenia referencyjnego jest sprzeczna usuwania są zależne od tej samej tabeli
z istniejącymi ograniczeniami referencyjnymi po nadrzędnej nazwa-tabeli-nadrzędnej poprzez
uwzględnieniu wyzwalaczy BEFORE i kolumn związki CASCADE. Kod przyczyny =
generowanych. kod-przyczyny.
8. Nowe ograniczenie referencyjne będzie powodowało, że Objaśnienie:
podczas rozpatrywania wyzwalacza BEFORE i kolumn Kiedy dwie tabele są zależne przy usuwaniu od tej samej tabeli
generowanych w grafie powiązań operacji usuwania poprzez związki CASCADE, te dwie tabele nie mogą być
będzie współistniała kolejna para sprzecznych ograniczeń wzajemnie zależne przy usuwaniu, jeśli regułą usuwania
referencyjnych. ostatniego związku w każdej ze ścieżek jest RESTRICT lub
SET NULL. Reguła usuwania określona w klauzuli FOREIGN
nazwa, o ile jest określona, jest nazwą ograniczenia w klauzuli KEY w instrukcji CREATE TABLE lub ALTER TABLE nie
FOREIGN KEY. Jeśli nazwa ograniczenia nie została jest poprawna z przyczyny określonej kodem kod-przyczyny:

Rozdział 2. Komunikaty SQL 593


SQL20257N • SQL20261N

1. Związek jest określony przy użyciu reguły usuwania stan_sql: 428G4


RESTRICT lub SET NULL i spowodowałby, że obie
tabele byłyby wzajemnie zależne przy usuwaniu.
SQL20259N Nie można wybrać kolumny nazwa-kolumny
2. Związek został określony z użyciem reguły usuwania z obiektu docelowego instrukcji zmiany
CASCADE i spowodowałby, że dwie tabele byłyby danych w klauzuli FROM pełnej selekcji.
wzajemnie zależne przy usuwaniu, podczas gdy regułą
usuwania ostatniego związku w każdej ze ścieżek jest Objaśnienie:
RESTRICT lub SET NULL. Nie można wykonać Wybrana została kolumna, która nie może być określana na
instrukcji. liście selekcji w tym zapytaniu. Ta kolumna bazuje na
kolumnie w widoku lub w wynikach pełnej selekcji, która
Działanie użytkownika: stanowi cel instrukcji INSERT lub UPDATE zawartej w
Działanie odpowiadające kodowi przyczyny jest następujące: klauzuli FROM z użyciem parametru NEW TABLE lub
1. Zmień regułę usuwania na CASCADE lub NO ACTION FINAL TABLE. Wybrana kolumna bazuje na:
albo wyeliminuj daną klauzulę FOREIGN KEY z v podzapytaniu
instrukcji CREATE TABLE lub ALTER TABLE.
v funkcji odczytującej lub modyfikującej dane SQL
2. Zmień regułę usuwania na NO ACTION, RESTRICT lub
v funkcji deterministycznej lub mającej działanie zewnętrzne
SET NULL albo wyeliminuj daną klauzulę FOREIGN
KEY z instrukcji CREATE TABLE lub ALTER TABLE. v funkcji OLAP
v następnej wartości w sekwencji
kod_sql: -20256
Nie można wykonać instrukcji.
stan_sql: 42915
Działanie użytkownika:
Zmień listę selekcji, tak aby tę kolumnę wyeliminować.
SQL20257N Klauzula FINAL TABLE jest niepoprawna,
gdy dla widoku docelowego nazwa-widoku kod_sql: -20259
instrukcji zmiany danych SQL w pełnej
selekcji zdefiniowany jest wyzwalacz stan_sql: 428G6
INSTEAD OF.
Objaśnienie: SQL20260N Klauzula przypisania instrukcji UPDATE
Pełna selekcja zawiera instrukcję INSERT lub UPDATE musi określać co najmniej jedną kolumnę,
operującą na widoku ze zdefiniowanym wyzwalaczem która nie jest kolumną typu INCLUDE.
INSTEAD OF dla operacji zmiany danych SQL. Nie można
zwrócić wyników FINAL TABLE wyzwalacza INSTEAD OF. Objaśnienie:
W instrukcji UPDATE określono kolumny INCLUDE, a
Nie można wykonać instrukcji. jedyne przypisania dotyczą właśnie kolumn INCLUDE.
Przynajmniej jedno z przypisań w instrukcji UPDATE musi
Działanie użytkownika: dotyczyć kolumny będącej celem instrukcji UPDATE.
Zmień parametr FINAL TABLE na NEW TABLE lub usuń
wyzwalacz INSTEAD OF. Nie można wykonać instrukcji.

kod_sql: -20257 Działanie użytkownika:


Zmień instrukcję tak, aby obejmowała przypisanie do kolumny
będącej celem instrukcji UPDATE.
stan_sql: 428G3
kod_sql: -20260
SQL20258N Niepoprawne zastosowanie porządkowania
INPUT SEQUENCE. stan_sql: 428G5
Objaśnienie:
Klauzula ORDER BY określa parametr INPUT SEQUENCE, SQL20261N Niepoprawne przeniesienie wiersza do tabeli
podczas gdy klauzula FROM pełnej selekcji nie określa nazwa-tabeli wewnątrz widoku UNION ALL
instrukcji INSERT. nazwa-widoku.

Nie można wykonać instrukcji. Objaśnienie:


Ograniczenie sprawdzające dla tabeli nazwa-tabeli
Działanie użytkownika: spowodowało odrzucenie zaktualizowanego wiersza. Przy
Parametru INPUT SEQUENCE należy używać w przypadku, próbie wstawienia wiersza do innej tabeli bazowej widoku
gdy klauzula FROM pełnej selekcji zawiera instrukcję nazwa-widoku tabela nazwa-tabeli zaakceptowała wiersz.
INSERT. Tabela docelowa przenoszonego wiersza nie może być
tożsama z tabelą źródłową tego wiersza.
kod_sql: -20258

594 Komunikaty, tom 2


SQL20262N • SQL20267N

Nie można wykonać instrukcji. stan_sql: 429BJ


Działanie użytkownika:
Sprawdź interakcję między wyzwalaczami przed aktualizacją i SQL20263N Niepoprawna próba zaktualizowania
przed wstawieniem dla tabeli docelowej. W przypadku widoku nazwa-widoku1, ponieważ widok
przenoszenia wiersza program DB2 wykonuje w pierwszej nazwa-widoku2 jest zdefiniowany z klauzulą
kolejności wyzwalacze przed aktualizacją, które mogą WITH ROW MOVEMENT.
zmodyfikować wiersz. Następnie odrzucony wiersz może być
Objaśnienie:
przetworzony przez wyzwalacze przed wstawieniem, co może
Próba aktualizacji widoku nazwa-widoku1 zakończyła się
spowodować jego kolejną modyfikację, w wyniku której stanie
niepowodzeniem, ponieważ widok ten pośrednio lub
się zgodny z wymogami ograniczeń sprawdzających tabeli
bezpośrednio zawiera operator UNION ALL dotyczący
docelowej.
widoku nazwa-widoku2, którego definicja obejmuje klauzulę
WITH ROW MOVEMENT.
Zmodyfikuj wyzwalacze tak, aby wspomniana sytuacja nie
miała miejsca.
Nie można wykonać instrukcji.
kod_sql: -20261 Działanie użytkownika:
Usuń widok nazwa-widoku2 i utwórz go ponownie już bez
stan_sql: 23524 klauzuli WITH ROW MOVEMENT.

kod_sql: -20263
SQL20262N Niepoprawne użycie klauzuli WITH ROW
MOVEMENT w widoku nazwa-widoku. Kod
stan_sql: 429BK
przyczyny = kod-przyczyny.
Objaśnienie:
SQL20264N W przypadku tabeli nazwa-tabeli ID
Definicja widoku nazwa-widoku zawiera klauzulę WITH
autoryzowanego użytkownika
ROW MOVEMENT. Klauzula ta nie ma zastosowania do
id-autoryzowanego-użytkownika nie ma
widoku z jednej z poniższych przyczyn:
dostępu typ-dostępu do kolumny
1. Najbardziej zewnętrzną instrukcją pełnej selekcji widoku nazwa-kolumny.
nie jest UNION ALL.
Objaśnienie:
2. Widok zawiera zagnieżdżone operacje UNION ALL poza
Podczas uzyskiwania dostępu do tabeli o nazwie nazwa-tabeli
tą w najbardziej zewnętrznej instrukcji pełnej selekcji.
podjęto próbę uzyskania dostępu typu typ-dostępu do kolumny
3. Nie wszystkie kolumny widoku mogą być aktualizowane. nazwa-kolumny przy użyciu ID autoryzowanego użytkownika
4. Dwie kolumny widoku bazują na tej samej kolumnie tabeli id-autoryzowanego-użytkownika. Ten ID autoryzowanego
bazowej. użytkownika nie ma referencji LBAC niezbędnych do
5. Dla jednego z widoków bazowych zdefiniowano uzyskania dostępu do tej kolumny w ten sposób.
wyzwalacz INSTEAD OF UPDATE.
Jeśli ten błąd wystąpi podczas tworzenia kolumny
Nie można utworzyć widoku. wygenerowanej, należy pamiętać, że konieczne są referencje
LBAC wymagane do odczytu tej kolumny - w celu jej
Działanie użytkownika: uwzględnienia w wyrażeniu generowania.
W zależności od kodu przyczyny wykonaj następujące
czynności: Działanie użytkownika:
Skontaktuj się z użytkownikiem z uprawnieniami SECADM i
1. Wyeliminuj klauzulę WITH ROW MOVEMENT. Nie ma
poproś go o nadanie ID autoryzowanego użytkownika
ona zastosowania do widoków bez atrybutu UNION ALL.
id-autoryzowanego-użytkownika referencji LBAC
2. Zmodyfikuj zasadniczą definicję widoku, tak aby atrybut umożliwiających dostęp typu typ-dostępu do kolumny
UNION ALL występował tylko w najbardziej zewnętrznej nazwa-kolumny.
instrukcji pełnej selekcji.
3. Wyeliminuj z definicji widoku kolumny nie umożliwiające kod_sql: -20264
aktualizacji.
4. Zmodyfikuj zasadniczą definicję widoku, tak aby stan_sql: 42512
zawierała tylko pojedyncze odwołania do poszczególnych
kolumn tabeli bazowej. SQL20267N Funkcja nazwa-funkcji (nazwa specyficzna
5. Wyeliminuj klauzulę WITH ROW MOVEMENT i nazwa-specyficzna) modyfikuje dane SQL i
zastosuj dla nowo zdefiniowanego widoku wyzwalacz jest wywoływana w niedozwolonym
INSTEAD OF UPDATE. kontekście. Kod przyczyny = kod-przyczyny.
Objaśnienie:
kod_sql: -20262

Rozdział 2. Komunikaty SQL 595


SQL20268N • SQL20269N

Funkcja nazwa-funkcji o nazwie specyficznej WITH cte1 AS (SELECT c1 FROM t1,


nazwa-specyficzna zawiera w definicji właściwość MODIFIES TABLE(tf1(t1.c1) AS tf),
SQL DATA. Funkcje z taką właściwością mogą występować AS (SELECT c1 FROM t2, cte1, t3)
jedynie jako ostatnie odwołanie do tabeli w instrukcji selekcji, SELECT c1 FROM x, t4;
we wspólnym wyrażeniu tabelowym, w instrukcji RETURN
będącej podselekcją, w instrukcji SELECT INTO lub w pełnej kod_sql: -20267
selekcji wiersza w instrukcji SET. Ponadto każdy argument
funkcji tabelowej musi być skorelowany z odwołaniem do stan_sql: 429BL
tabeli w tej samej klauzuli FROM, do której należy funkcja
tabelowa, a jednocześnie każde odwołanie do tabeli musi być
SQL20268N Nie można zastosować uporządkowania.
skorelowane z jednym z argumentów funkcji tabelowej.
Kod przyczyny = kod-przyczyny.
Argument jest skorelowany z odwołaniem do tabeli, jeśli
stanowi kolumnę tej tabeli odwołań. Objaśnienie:
Nie można zastosować uporządkowania ze względu na
Kod przyczyny: przyczynę o kodzie kod-przyczyny. Kody przyczyn i ich
1. Po funkcji tabelowej występują odwołania do tabel. znaczenia są następujące:
2. Funkcja tabelowa nie stanowi celu odwołania w 1 Wynik zastosowania uporządkowania jest większy
najbardziej zewnętrznej podselekcji. niż 32 742 bajty.
3. Funkcja tabelowa jest poprzedzona odwołaniem do tabeli, 2 Uporządkowania nie można zastosować do funkcji
do której nie odwołuje się żaden argument funkcji. LOCATE, POSITION i POSSTR.
4. Funkcja tabelowa jest używana w treści definicji widoku.
3 Uporządkowania nie można zastosować do
5. Funkcja tabelowa jest użyta w wyrażeniu pełnej selekcji w predykatu LIKE ani funkcji %WLDCRD.
kontekście XQuery.
4 Uporządkowania nie można zastosować do łańcucha
6. Do funkcji tabelowej odwołuje się operator OUTER JOIN
FOR BIT DATA.
lub jest ona zagnieżdżona w innych łączeniach jawnych
(przy użyciu nawiasów w klauzulach tabel łączonych). Działanie użytkownika:
7. Do funkcji odwołuje się klauzula default dla definicji Odpowiednio do kodu przyczyny:
zmiennej globalnej. 1 Wygenerowany klucz uporządkowania jest dłuższy
niż łańcuch źródłowy i jest zależny od wybranego
Nie można wykonać instrukcji. uporządkowania. Zmniejsz długość łańcucha
Działanie użytkownika: źródłowego albo wybierz inne uporządkowanie.
1. Zmodyfikuj definicję zapytania tak, aby funkcja tabelowa 2 Pomiń daną funkcję albo określ uporządkowanie
była ostatnim odwołaniem do tabeli w klauzuli FROM. inne niż UCA.
2. Przenieś funkcję tabelową do najbardziej zewnętrznej 3 Pomiń daną funkcję albo określ uporządkowanie
podselekcji. inne niż UCA.
3. Usuń odwołanie do tabeli, z którym nie jest skorelowany
4 Nie używaj łańcucha FOR BIT DATA.
żaden argument funkcji tabelowej, lub dodaj do funkcji
tabelowej argument, który będzie skorelowany z tym
kod_sql: -20268
odwołaniem do tabeli.
4. Usuń funkcję tabelową z treści definicji widoku. stan_sql: 429BM
5. Usuń funkcję tabelową z wyrażenia pełnej selekcji w
kontekście XQuery.
SQL20269N W wymuszonym ograniczeniu
6. Usuń operator OUTER JOIN lub nie umieszczaj funkcji referencyjnym nie można odwoływać się do
tabelowej w zagnieżdżonym łączeniu jawnym. pseudonimu pseudonim.
7. Usuń funkcję z klauzuli default dla definicji zmiennej
globalnej. Objaśnienie:
Ograniczenie referencyjne w instrukcji CREATE TABLE jest
niepoprawne. W definicji ograniczenia określono opcję
W przypadku kodów przyczyn 1, 2 i 3 zapytanie można
ENFORCED, ale ograniczenie odwołuje się do pseudonimu.
przeformułować z zastosowaniem wspólnego wyrażenia
tabelowego w celu wyizolowania wywołania funkcji
tabelowej. Nie można wykonać instrukcji.

Na przykład: Działanie użytkownika:


SELECT c1 FROM Zmień ograniczenie referencyjne, aby określić opcję NOT
(SELECT c1 FROM t1, t2, ENFORCED, lub usuń odwołanie do pseudonimu.
TABLE(tf1(t1.c1) AS tf),
t3) AS x, t4 kod_sql: -20269
można przeformułować w następujący sposób:

596 Komunikaty, tom 2


SQL20271W • SQL20276N

stan_sql: 428G7 Działanie użytkownika:


Nadaj zmiennej FEDERATED menedżera bazy danych
ustawienie YES i ponownie uruchom menedżera bazy danych.
SQL20271W Nazwa na pozycji porządkowej numer w
instrukcji, o nazwie nazwa, została obcięta.
kod_sql: -20273
Objaśnienie:
Co najmniej jedna nazwa w opisanej instrukcji została obcięta. stan_sql: 55056
Pierwsza nazwa, która została obcięta, jest identyfikowana na
podstawie nazwy nazwa i pozycji porządkowej numer. Jeśli
instrukcja describe output jest wykonywana w odniesieniu do SQL20274W Część statystyki pseudonimu nie może
przygotowanego zapytania, pozycja porządkowa jest określana zostać zaktualizowana.
względem kolumny listy wyboru zapytania. Jeśli instrukcja Objaśnienie:
describe output jest wykonywana w odniesieniu do instrukcji Program DB2 nie może wykonać zapytania względem
CALL, pozycja porządkowa jest określana względem pseudonimu w celu zebrania statystyki, albo nie może zapisać
parametru OUT lub INOUT procedury, na którą tłumaczona wyników aktualizacji w katalogu systemowym stowarzyszonej
jest instrukcja CALL. Jeśli instrukcja describe input jest bazy danych.
wykonywana w odniesieniu do instrukcji CALL, pozycja
porządkowa jest określana względem parametru IN lub Działanie użytkownika:
INOUT procedury, na którą tłumaczona jest instrukcja CALL. Jeśli określono ścieżkę do pliku dziennika, błędy aktualizacji
statystyki pseudonimu są zapisywane w pliku dziennika.
Nazwa kolumny, nazwa parametru, nazwa typu
zdefiniowanego przez użytkownika lub nazwa schematu typu kod_sql: +20274
zdefiniowanego przez użytkownika była zbyt długa albo stała
się zbyt długa po konwersji strony kodowej. stan_sql: 550C8

Należy pamiętać, że długość nazwy kolumny, nazwy SQL20275N Nazwa XML nazwa-xml nie jest poprawna.
parametru, nazwy typu zdefiniowanego przez użytkownika i Kod przyczyny = kod-przyczyny.
nazwy schematu typu zdefiniowanego przez użytkownika jest
ograniczona, gdy używana jest struktura SQLDA. Objaśnienie:
Nie można przetworzyć instrukcji, ponieważ narusza ona
Działanie użytkownika: ograniczenie w sposób określony przez jeden z poniższych
Jeśli istotne jest dokładne brzmienie nazwy lub schematu, kodów:
wykonaj jedną z następujących czynności:
1. Łańcuch xmlns jest używany jako nazwa atrybutu albo
1. Użyj klienta, którego strona kodowa nie powoduje wzrostu przedrostek nazwy elementu lub atrybutu.
długości ponad obsługiwane maksimum.
2. Przedrostek przestrzeni nazw w nazwie kwalifikowanej nie
2. W przypadku nazwy kolumny zmodyfikuj tabelę, widok jest zadeklarowany w danym zasięgu.
lub pseudonim tak, aby kolumna miała krótszą nazwę.
3. Nazwa elementu lub atrybutu nie jest nazwą QName
3. W przypadku nazwy parametru zmodyfikuj procedurę tak, języka XML.
aby parametr miał krótszą nazwę.
4. Nazwa instrukcji przetwarzania XML nie jest typu XML
4. W przypadku nazwy typu zdefiniowanego przez NCName.
użytkownika lub nazwy schematu typu zdefiniowanego
5. Nazwa instrukcji przetwarzania XML nie może zawierać
przez użytkownika usuń i na nowo utwórz typ
słowa ″xml″ (w żadnej kombinacji wielkich i małych liter).
zdefiniowany przez użytkownika, nadając mu krótszą
nazwę. 6. Nazwa argumentu w wyrażeniu XMLTABLE,
XMLQUERY lub XMLEXISTS nie jest typu XML
5. W przypadku nazwy schematu zmodyfikuj tabelę, widok,
NCName.
procedurę lub typ zdefiniowany przez użytkownika.
Działanie użytkownika:
kod_sql: +20271 Skoryguj nazwę XML i ponownie wprowadź instrukcję.

stan_sql: 01665 kod_sql: -20275

stan_sql: 42634
SQL20273N Nie można zaktualizować statystyki
pseudonimu, ponieważ w bazie danych nie
uaktywniono obsługi stowarzyszania. SQL20276N Przedrostek przestrzeni nazw XML
przedrostek-przestrzeni-nazw-xml nie jest
Objaśnienie:
poprawny. Kod przyczyny = kod-przyczyny.
Wykryto błąd na poziomie instancji. Nie można ukończyć tej
operacji, ponieważ w danej instancji nie włączono Objaśnienie:
mechanizmu stowarzyszania.

Rozdział 2. Komunikaty SQL 597


SQL20277W • SQL20280W

Nie można przetworzyć instrukcji, ponieważ narusza ona usunąć lub wyłączyć optymalizację zapytań. Można także
ograniczenie w sposób określony przez jeden z poniższych rozważyć przedefiniowanie pełnej selekcji widoku, tak aby
kodów: usunąć elementy uniemożliwiające optymalizację.
1. Przedrostek przestrzeni nazw nie jest nazwą XML
NCName. kod_sql: +20278
2. Łańcuchów xml lub xmlns nie można zadeklarować
ponownie jako przedrostków przestrzeni nazw. stan_sql: 01667

3. Zadeklarowano powielone przedrostki przestrzeni nazw.


SQL20279N Widoku nazwa-widoku nie można uaktywnić
Działanie użytkownika: na potrzeby optymalizacji zapytań. Kod
Skoryguj przedrostek przestrzeni nazw XML i ponownie przyczyny = kod-przyczyny.
wprowadź instrukcję.
Objaśnienie:
kod_sql: -20276 Widok nie może zezwalać na opcję ENABLE QUERY
OPTIMIZATION, ponieważ pełna selekcja nie jest zgodna z
stan_sql: 42635 zestawem zapytań, które mogą korzystać z tej możliwości.
Instrukcja nie została poprawnie wykonana z jednego z
następujących powodów:
SQL20277W Znaki zostały obcięte podczas konwersji ze
1. Widok pośrednio lub bezpośrednio odwołuje się do
strony kodowej źródłowa-strona-kodowa na
istniejącego zapytania zmaterializowanego.
stronę kodową docelowa-strona-kodowa.
Maksymalna wielkość obszaru docelowego 2. Jest to widok określonego typu.
wynosiła maksymalna-długość. Długość 3. Widok odwołuje się do funkcji z działaniem zewnętrznym.
łańcucha źródłowego wynosiła
długość-źródła; jej reprezentacją Nie można wykonać instrukcji.
szesnastkową jest łańcuch.
Działanie użytkownika:
Objaśnienie: Działanie zależy od kodu przyczyny:
Podczas wykonywania instrukcji SQL konwersja strony 1. Usuń odwołanie do zmaterializowanej tabeli zapytania.
kodowej spowodowała utworzenie łańcucha, który jest dłuższy
niż maksymalna wielkość obiektu docelowego. Znaki zostały 2. Nie ma sposobu na określenie statystyki dla widoku
obcięte, aby wynik pasował do obszaru docelowego. określonego typu. Należy rozważyć możliwość
zdefiniowania podobnego widoku, który nie będzie
Działanie użytkownika: widokiem określonego typu, co umożliwiłoby
Jeśli obcięcie powoduje nieoczekiwane konsekwencje, optymalizację z użyciem statystyki.
zwiększ długość kolumny docelowej i ponownie wydaj 3. Usuń z zapytania widoku odwołanie do funkcji z
instrukcję. działaniem zewnętrznym.

kod_sql: +20277 kod_sql: -20279

stan_sql: 01004 stan_sql: 428G8

SQL20278W Widok nazwa-widoku nie może zostać użyty SQL20280W Brak uprawnień wymaganych do
do optymalizacji przetwarzania zapytań. utworzenia lub zapisania pliku
Objaśnienie: ścieżka-do-pliku-dziennika.
Instrukcja pełnej selekcji widoku zawiera elementy Objaśnienie:
uniemożliwiające użycie statystyki widoku do optymalizacji, Instrukcja została wykonana pomyślnie, lecz użytkownik nie
jeśli zapytanie nie odwołuje się wprost do widoku. Do takich ma uprawnień do utworzenia lub zapisania wskazanego pliku
elementów pełnej selekcji należeć mogą: dziennika, ścieżka-do-pliku-dziennika.
v funkcje agregujące
Działanie użytkownika:
v operacje odrębne (DISTINCT) Aby móc zapisać szczegóły w pliku dziennika, użytkownik
v operacje zbiorowe (union, except lub intersect) musi mieć prawa do zapisu do pliku we wskazanej ścieżce.
Można także pominąć opcjonalny plik dziennika.
Widok został pomyślnie zaktualizowany w celu umożliwienia
optymalizacji zapytań. kod_sql: -20280
Działanie użytkownika:
Nie jest wymagane żadne działanie. Jeśli widok ma zgodnie z stan_sql: 42501
zamierzeniami służyć do optymalizowania zapytań, które nie
odwołują się do widoku bezpośrednio, to widok ten można

598 Komunikaty, tom 2


SQL20282N • SQL20287W

2. Zmień składnię instrukcji, tak aby predykaty dla jednego


SQL20282N Procedura .NET lub funkcja zdefiniowana
źródła danych były oddzielone od predykatów innego
przez użytkownika nazwa, o nazwie
źródła danych operatorem AND, a nie operatorem OR.
specyficznej nazwa-specyficzna, nie mogła
załadować klasy .NET klasa. Kod
przyczyny: kod-przyczyny. kod_sql: -20284

Objaśnienie: stan_sql: 429BO


Nie można było załadować klasy .NET podanej przez klauzulę
EXTERNAL NAME instrukcji CREATE PROCEDURE lub
CREATE FUNCTION. Kody przyczyny są następujące: SQL20285N Instrukcja lub komenda nie jest dozwolona,
kiedy tabela nazwa_tabeli ma odłączone
1. Nie znaleziono zespołu procedury .NET.
tabele zależne.
2. W podanym zespole nie znaleziono klasy.
Objaśnienie:
3. W podanej klasie nie znaleziono metody z typami
Ta tabela ma odłączone tabele zależne, które muszą być
zgodnymi z określonymi w katalogach bazy danych.
przyrostowo aktualizowane z uwzględnieniem aktualnej
Działanie użytkownika: zawartości tej tabeli, aby zachować ich integralność.
1. Sprawdź, czy podany został poprawny plik zespołu, w tym Wykonanie instrukcji lub komendy nie jest dozwolone,
także rozszerzenie pliku. Jeśli nie podano pełnej ścieżki, ponieważ jej wykonanie uniemożliwiłoby przyrostowe
sprawdź, czy w ścieżce systemowej PATH istnieje tylko aktualizowanie odłączonych tabel zależnych.
jedna instancja zespołu, ponieważ pierwsza instancja Działanie użytkownika:
zespołu znaleziona w ścieżce PATH zostanie załadowana. Aby zidentyfikować odłączone tabele zależne tabeli użyj
2. Sprawdź, czy zespół został określony poprawnie, zgodnie zapytania w tabeli SYSCAT.TABDETACHEDDEP, a
z opisem w odpowiedzi 1. Sprawdź, czy poprawnie następnie wydaj instrukcję SET INTEGRITY z opcją
podano nazwę klasy, w której rozróżniana jest wielkość IMMEDIATE CHECKED dla tych odłączonych tabel
liter, i czy klasa ta istnieje w określonym zespole. zależnych przed ponownym uruchomieniem instrukcji lub
3. Sprawdź, czy klasa została określona poprawnie, zgodnie z komendy, która spowodowała błąd. Jeśli powodująca błąd
opisem w odpowiedzi 2. Sprawdź, czy poprawnie podano instrukcja lub komenda musi być wykonana natychmiast
nazwę metody, w której rozróżniana jest wielkość liter, i (zanim odłączone tabele zależne zdążą zostać zaktualizowane
czy metoda ta istnieje w podanej klasie jako metoda przy użyciu instrukcji SET INTEGRITY), wydaj instrukcję
″publiczna statyczna metoda void″. SET INTEGRITY z opcją FULL ACCESS dla tabeli, aby
wyłączyć jej właściwość detached, po czym ponownie wydaj
instrukcję lub komendę, która wywołała błąd. Należy pamiętać
kod_sql: -20282
o tym, że ten drugi sposób postępowania spowoduje
wymuszenie pełnego przetwarzania zapewniającego
stan_sql: 42724
integralność dla pozostałych odłączonych tabel zależnych przy
okazji kolejnej instrukcji SET INTEGRITY.
SQL20284N Nie było możliwe utworzenie żadnego planu
dla stowarzyszonego źródła danych Następujące zapytanie może posłużyć do zidentyfikowania
nazwa-serwera. Kod przyczyny = odłączonych tabel zależnych tabeli, gdzie <nazwa schematu>
kod-przyczyny. jest kwalifikatorem nazwy_tabeli, a <nazwa tabeli> to część
nazwy_tabeli określająca właściwą nazwę tabeli.
Objaśnienie:
Podczas budowania planu dostępu dla zapytania SELECT DEPTABSCHEMA, DEPTABNAME
stowarzyszonego fragment zapytania dla przynajmniej jednego FROM SYSCAT.TABDETACHEDDEP
WHERE TABSCHEMA=<nazwa schematu>
źródła danych nie mógł zostać przetworzony ze względu na
AND TABNAME=<nazwa tabeli>
brak predykatu lub na problem w składni zapytania zgodnie z
poniższym kodem przyczyny:
kod_sql: -20285
1. Brak wymaganego predykatu.
2. Predykat możliwy do przetworzenia przez źródło danych stan_sql: 55057
jest połączony z innym predykatem przy użyciu operatora
OR lub predykatu BETWEEN.
SQL20287W Środowisko określonej instrukcji
Działanie użytkownika: buforowanej jest inne niż środowisko
Informacje można znaleźć w dokumentacji dotyczącej bieżące. Bieżące środowisko zostanie użyte
stowarzyszeń dla tego źródła danych. Skoryguj odpowiednio do ponownej optymalizacji podanej
składnię zapytania i wprowadź instrukcję ponownie. Działanie instrukcji SQL.
odpowiadające kodowi przyczyny jest następujące:
Objaśnienie:
1. Uzupełnij brakujący predykat. Wywołano narzędzie Explain w celu wyjaśnienia instrukcji
skompilowanej wcześniej z opcją REOPT ONCE, ale bieżące
środowisko jest inne niż środowisko, w którym instrukcja

Rozdział 2. Komunikaty SQL 599


SQL20288N • SQL20296N

buforowana została pierwotnie skompilowana. Bieżące Instrukcja wywołała funkcję wbudowaną, używając jednostki
środowisko zostanie użyte do ponownej optymalizacji podanej łańcucha, która jest niepoprawna w przypadku typu danych
instrukcji. przekazywanych do funkcji. Może się to zdarzyć z
następujących powodów:
Instrukcja będzie przetwarzana. 1. Dla jawnej jednostki długości łańcucha jednostka w
Działanie użytkownika: funkcji LENGTH zostały określone dane typu innego niż
Aby zapewnić, że dany plan odpowiada planowi z pamięci łańcuch znaków. Jednostki łańcucha nie można określić
podręcznej, ponownie uruchom komendę EXPLAIN w dla danych niełańcuchowych.
środowisku zgodnym ze środowiskiem, w którym oryginalna 2. Dane bitowe lub dane binarne zostały określone z
instrukcja została zoptymalizowana i buforowana. jednostką łańcucha inną niż OCTETS. Jednostki
CODEUNITS16 i CODEUNITS32 są niepoprawne w
kod_sql: -20287 przypadku danych bitowych i łańcuchów binarnych.
3. Dla funkcji SUBSTRING z danymi graficznymi użyto
stan_sql: 01671 jednostki OCTETS, a parametr start nie jest nieparzysty
lub parametr length nie jest parzysty.
SQL20288N Nie można zaktualizować statystyki dla 4. Dla funkcji LOCATE użyto jednostki OCTETS z danymi
obiektu nazwa-obiektu typu typ-obiektu. Kod graficznymi, a parametr start ma wartość parzystą.
przyczyny = kod-przyczyny.
Nie można wykonać instrukcji.
Objaśnienie:
Nie można ustawić statystyk dla obiektu docelowego komendy Działanie użytkownika:
RUNSTATS lub UPDATE z powodów określonych przez kod Zmień wywołanie funkcji, usuwając niepoprawną jednostkę
przyczyny. Możliwe kody przyczyny są następujące: długości łańcucha albo zmieniając jednostkę na poprawną dla
przetwarzanych wartości i typu danych.
1. Statystyki nie są obsługiwane dla danego typu obiektu
docelowego.
kod_sql: -20289
2. Użyte opcje RUNSTATS są zabronione w odniesieniu do
widoku.
stan_sql: 428GC
3. Aktualizowanie pewnej statystyki docelowego typu
obiektu nie jest obsługiwane. Statystyka strony danych nie
ma zastosowania do indeksów ścieżek XML. Aby uzyskać SQL20290N Instrukcja SQL odwołuje się do procedury
więcej informacji a temat określonej statystyki, która nie nazwa-procedury (nazwa specyficzna
może zostać zaktualizowana, patrz opis widoku katalogu nazwa-specyficzna), która nie może działać
SYSSTAT.INDEXES w dokumencie SQL Reference. na partycji numer-partycji.
4. Próbkowanie systemowe nie jest obsługiwane dla definicji Objaśnienie:
widoku. Procedura nazwa-procedury (nazwa specyficzna
nazwa-specyficzna) została wywołana z niepoprawnym
Nie można wykonać instrukcji. numerem partycji: numer-partycji.
Działanie użytkownika: Działanie użytkownika:
1. Sprawdź, czy nazwa obiektu podana jako docelowa dla Aby uruchomić procedurę w bieżącej partycji, parametr
komendy RUNSTATS lub UPDATE obsługuje statystyki. numeru partycji powinien mieć wartość -1.
2. Usuń opcje RUNSTATS zabronione w przypadku
kod_sql: -20290
widoków z włączoną optymalizacją.
3. Sprawdź, czy statystyka docelowego typu obiektu może stan_sql: 560CA
być aktualizowana.
4. Jeśli próbkowanie jest wskazane, zmień opcje
SQL20296N Instrukcja ALTER TABLE nie jest
RUNSTATS, podając próbkowanie typu BERNOULLI.
dozwolona, ponieważ modyfikuje ona
pewien fizyczny atrybut tabeli nazwa_tabeli,
kod_sql: -20288
która ma odłączone partycje, a przy tym
istnieją odłączone tabele zależne, które
stan_sql: 428DY muszą być przyrostowo aktualizowane z
dostosowaniem do tych odłączonych
SQL20289N Wystąpiła niepoprawna jednostka łańcucha partycji.
jednostka w przypadku funkcji Objaśnienie:
nazwa-funkcji. Tabela ma odłączone partycje, a przy tym istnieją odłączone
Objaśnienie: tabele zależne, które muszą być przyrostowo aktualizowane z
dostosowaniem do tych odłączonych partycji. Zmiana

600 Komunikaty, tom 2


SQL20301W

jakiegokolwiek atrybutu fizycznego tej tabeli nie jest


SQL20301W Obszar tabel nazwa-obszaru-tabel1 ma inną
dozwolona, ponieważ uniemożliwiłoby to przyrostowe
wielkość pobierania z wyprzedzeniem niż
aktualizowanie tabel zależnych. Wzbroniona modyfikacja
nazwa-obszaru-tabel2.
atrybutu fizycznego może obejmować dodawanie kolumny,
modyfikację kolumny lub modyfikację jednej z wartości: data Objaśnienie:
capture, value compression, append, compact, logged, activate Wszystkie obszary tabel danych używane przez tabelę
not logged initially. partycjonowaną powinny mieć taką samą wielkość pobierania
z wyprzedzeniem, w celu zapewnienia optymalnej wydajności
Działanie użytkownika:
zapytań.
Zidentyfikuj tabele zależne wymagające przyrostowej
aktualizacji i wydaj ponownie instrukcję SET INTEGRITY z
Zapewnienie jednakowej wielkości pobierania z
opcją IMMEDIATE CHECKED dla tych tabel zależnych
wyprzedzeniem dla wszystkich obszarów tabel danych
jeszcze przed uruchomieniem instrukcji ALTER TABLE, która
używanych przez tabelę partycjonowaną pozwala zwykle
spowodowała błąd.
zwiększyć wydajność zapytań. Umożliwia to precyzyjniejsze
oszacowanie przez optymalizator kosztu alternatywnych
Następujące zapytanie może posłużyć do zidentyfikowania
planów zapytania, a przez to efektywniejszy wybór
tabel zależnych wymagających przyrostowej aktualizacji,
najlepszego planu. Znaczne różnice w wielkościach pobierania
gdzie <nazwa schematu> jest kwalifikatorem nazwy_tabeli, a
z wyprzedzeniem zmniejszają możliwości optymalizatora w
<nazwa tabeli> to część nazwy_tabeli określająca właściwą
zakresie dokładnego oszacowania kosztu alternatywnych
nazwę tabeli.
planów zapytania. Do oceny kosztu alternatywnych planów
WITH zapytania optymalizator wybiera najczęściej występującą
DEP_CNT(TOTAL_DEP) AS (SELECT COUNT(*) wielkość pobierania z wyprzedzeniem.
FROM SYSCAT.TABDEP),
DEP_TAB(SCHEMA, NAME, TYPE, PROPERTY, Działanie użytkownika:
REFRESH, STATUS, CONST_CHECKED, LEVEL) AS Wielkość pobierania z wyprzedzeniem dla obszaru tabel
(SELECT TABLES.TABSCHEMA, TABLES.TABNAME, znajduje się w tabeli SYSCAT.TABLESPACES. Aby
TABLES.TYPE, TABLES.PROPERTY, odszukać wszystkie obszary tabel danych używane przez
TABLES.REFRESH, TABLES.STATUS, tabelę ’nazwa-tabeli’ oraz ich wielkości pobierania z
TABLES.CONST_CHECKED, 0
wyprzedzeniem, wykonaj zapytanie:
FROM SYSCAT.TABLES TABLES
WHERE TABLES.TABSCHEMA=’<nazwa schematu>’ SELECT
AND TABLES.TABNAME=’<nazwa tabeli>’ SUBSTR(DATAPARTITIONNAME,1,15)
UNION ALL DATAPARTITIONNAME,
SELECT TABDEP.TABSCHEMA, TABDEP.TABNAME, SUBSTR(TBSPACE,1,15) TBSPACE,
TABDEP.DTYPE, TABLES.PROPERTY, SYSCAT.DATAPARTITIONS.TBSPACEID
TABLES.REFRESH, TABLES.STATUS, TBSPACEID,
TABLES.CONST_CHECKED, PREFETCHSIZE
DEP_TAB.LEVEL + 1 FROM
FROM SYSCAT.TABDEP TABDEP, SYSCAT.TABLESPACES,
DEP_TAB, SYSCAT.TABLES TABLES SYSCAT.DATAPARTITIONS
WHERE TABDEP.DTYPE IN (’S’, ’V’, ’W’, ’T’) WHERE
AND TABDEP.BSCHEMA = DEP_TAB.SCHEMA SYSCAT.TABLESPACES.TBSPACEID =
AND TABDEP.BNAME = DEP_TAB.NAME SYSCAT.DATAPARTITIONS.TBSPACEID
AND TABLES.TABSCHEMA = TABDEP.TABSCHEMA AND TABNAME = ’nazwa-tabeli’
AND TABLES.TABNAME = TABDEP.TABNAME
AND DEP_TAB.LEVEL < Dopasowanie wielkości pobierania z wyprzedzeniem między
(SELECT DEP_CNT.TOTAL_DEP FROM DEP_CNT)) obszarami tabel używanymi przez tabelę można uzyskać przy
SELECT DISTINCT * FROM użyciu następujących opcji, w zależności od instrukcji, która
(SELECT DEP_TAB.SCHEMA, DEP_TAB.NAME
wywołała to ostrzeżenie:
FROM DEP_TAB
WHERE STATUS=’C’ v Zmodyfikuj obszar tabel w celu ustawienia wielkości
AND (DEP_TAB.TYPE = ’S’ pobierania z wyprzedzeniem na wartość zgodną z innymi
AND DEP_TAB.REFRESH = ’I’ obszarami tabel dla tej tabeli.
AND SUBSTR(DEP_TAB.CONST_CHECKED,5,1)<>’F’
v Jeśli wydano instrukcję CREATE TABLE, usuń tabelę i
OR DEP_TAB.TYPE = ’T’
AND SUBSTR(DEP_TAB.PROPERTY,2,1) = ’Y’ utwórz ją ponownie z zestawem zgodnych obszarów tabel.
AND SUBSTR(DEP_TAB.CONST_CHECKED,7,1)<>’F’) v Jeśli wydano instrukcję ALTER TABLE z klauzulą ADD
) X; PARTITION, odłącz nowo dodaną partycję i wprowadź
ponownie instrukcję ALTER TABLE wraz z partycją w
kod_sql: -20296 zgodnym obszarze tabel.
v Jeśli wydano instrukcję ALTER TABLE z klauzulą
stan_sql: 55057 ATTACH, odłącz nowo przyłączoną partycję i wprowadź
ponownie instrukcję ALTER TABLE wraz z tabelą w
zgodnym obszarze tabel.

Rozdział 2. Komunikaty SQL 601


SQL20302W • SQL20304N

kod_sql: +20301 jest niepoprawna. Prawdopodobną przyczynę określa jeden z


następujących kodów przyczyny.
stan_sql: 01674
1 Określono jedną kolumnę zdefiniowaną jako
kolumna danych typu XML, lecz w podanej definicji
SQL20302W W klauzuli IN lub LONG IN określono brakuje klauzuli XMLPATTERN służącej do
więcej obszarów tabel niż to konieczne. określenia kluczy indeksu, które mają być
Dodatkowe obszary tabel zostaną generowane dla każdej wartości XML.
zignorowane.
2 Klauzula XMLPATTERN została użyta, lecz
Objaśnienie: określono wiele kolumn indeksu.
Jeśli tworzona tabela nie jest tabelą partycjonowaną, oznacza
3 Indeks jest zdefiniowany jako UNIQUE i w klauzuli
to, że w klauzuli IN lub LONG IN określono więcej niż jeden
XMLPATTERN występuje potomek, osie typu
obszar tabel. Pierwszy określony obszar tabel jest używany do
potomek-lub-dany-element, znak ’//’,
przechowywania danych tabeli lub danych długich. W
znaki-wieloznaczne-xml, funkcja node() lub
przypadku tabel niepartycjonowanych w klauzuli IN lub
instrukcja-przetwarzania().
LONG IN należy podać tylko jeden obszar tabel.
4 Klauzula XMLPATTERN jest obecna, lecz
Jeśli tworzona tabela jest tabelą partycjonowaną, oznacza to, określona pojedyncza kolumna indeksu nie jest
że liczba obszarów tabel określonych w klauzuli IN lub LONG zdefiniowana jako kolumna danych typu XML.
IN przekroczyła liczbę partycji zdefiniowanych dla tej tabeli.
5 Wyrażenie ścieżki określone w klauzuli
Przy dodawaniu partycji do tabeli partycjonowanej utworzonej
XMLPATTERN nie rozpoczyna się znakami ’/’ ani
z danymi długimi w tym samym obszarze tabel co zwykłe
’//’.
dane, klauzula LONG IN zawarta w klauzuli ADD
PARTITION jest ignorowana. 6 Wyrażenie wzorca nie zawiera testu nazwy ani testu
rodzaju po znaku ’/’.
Instrukcja została pomyślnie wykonana, ale nadmiarowe
7 Wyrażenie wzorca używa nieobsługiwanej osi w
obszary tabel zostały zignorowane.
kroku osi. Obsługiwane są wyłącznie następujące
Działanie użytkownika: typy osi przekazywania: child, attribute, descendant,
Nie jest potrzebne żadne działanie. self oraz descendant-or-self.
8 Wyrażenie wzorca określa niepoprawny test rodzaju
kod_sql: +20302 lub składnia nie jest poprawną składnią testu nazwy
ani testu rodzaju obsługiwaną w wyrażeniach
stan_sql: 01675 wzorca.
9 Wyrażenie wzorca określa predykat (wyrażenie ujęte
SQL20303N Unikalny indeks partycjonowany musi w nawiasy kwadratowe), ale predykaty nie są
zawierać wszystkie kolumny obsługiwane dla wyrażeń wzorca w klauzuli
partycjonowania partycjonowanej tabeli. XMLPATTERN.
Objaśnienie: 10 Wyrażenie wzorca zawiera składnię innego
Aby utworzyć unikalny indeks partycjonowany w tabeli zapytania XQuery nieobsługiwaną w klauzuli
partycjonowanej, klucz indeksowania musi zawierać wszystkie XMLPATTERN, do której nie mają zastosowania
kolumny partycjonowania. wcześniejsze kody przyczyny.
Działanie użytkownika: 11 Liczba kroków w wyrażeniu wzorca na serwerze baz
Upewnij się, że w kluczu indeksowania zostały podane danych systemu z/OS przekracza ograniczenie o
wszystkie kolumny partycjonowania. wartości 50 kroków.

kod_sql: -20303 Działanie użytkownika:


1 Określ klauzulę XMLPATTERN.
stan_sql: 42990
2 Jeśli określony indeks ma zostać kluczem dla danych
XML, upewnij się, że określono tylko jedną
SQL20304N Niepoprawna definicja indeksu, w której kolumnę zdefiniowaną jako kolumna danych typu
występuje klauzula XMLPATTERN lub XML. W przeciwnym razie usuń klauzulę
kolumna z danymi typu XML. Kod XMLPATTERN.
przyczyny = kod-przyczyny.
3 Usuń określenie UNIQUE, lub zmień definicję
Objaśnienie: klauzuli XMLPATTERN tak, aby usunąć potomka,
W kolumnach zdefiniowanych dla indeksu występuje (lub osie typu potomek-lub-dany-element, znak ’//’,
brakuje) kolumny z danymi typu XML. Taka definicja indeksu znaki-wieloznaczne-xml, funkcję node() lub
instrukcję-przetwarzania().

602 Komunikaty, tom 2


SQL20305N

4 Usuń klauzulę XMLPATTERN lub zamień Nie można kontynuować wykonywania danej instrukcji i
określoną kolumnę na pojedynczą kolumnę tabela oraz indeks pozostaną niezmienione, ponieważ wystąpił
zdefiniowaną jako kolumna danych typu XML. jeden z poniższych kodów przyczyny. Typ danych schematu
oraz identyfikator schematu nie mają zastosowania do
5 Upewnij się, że wyrażenie wzorca rozpoczyna się
wszystkich kodów przyczyny. Szczegółowe informacje można
znakami ’/’ lub ’//’. Składnia zapytania XQuery, w
znaleźć w opisach konkretnych kodów przyczyny.
której znaki ’/’ lub ’//’ są skrótem, nie jest
obsługiwana dla klauzuli XMLPATTERN instrukcji 1 We wstawianej lub aktualizowanej wartości XML
CREATE INDEX. występuje co najmniej jedna wartość węzła XML,
dla której przekroczone zostało ograniczenie
6 Dodaj test nazwy lub test rodzaju do wyrażenia
długości obowiązujące dla określonego indeksu. W
wzorca po znaku ’/’.
definicji indeksu dla kolumny XML określono
7 Usuń z wyrażenia wzorca wszystkie osie odwrócone. użycie danych typu SQL VARCHAR o określonej
Na przykład w wyrażeniu wzorca nie może zostać długości. Długość co najmniej jednej wartości
użyta oś nadrzędna. wynikowej XMLPATTERN przekracza określone
przez użytkownika ograniczenie długości dla danych
8 Sprawdź wyrażenie wzorca pod kątem testów typu VARCHAR.
rodzaju lub testów nazwy, które nie są zgodne ze
specyfikacją składni klauzuli XMLPATTERN 2 We wstawianej lub aktualizowanej wartości XML
instrukcji CREATE INDEX. Popraw lub usuń występuje co najmniej jedna wartość węzła XML,
nieobsługiwaną składnię. które jest węzłem typu danych listy i nie może
zostać poindeksowana przez określony indeks.
9 Usuń wszystkie predykaty z wyrażenia wzorca w Węzły typu danych listy nie są obsługiwane w
klauzuli XMLPATTERN. indeksie.
10 Zmień wyrażenie wzorca w celu usunięcia 3 Co najmniej jedna z wartości węzłów XML jest
wszystkich nieobsługiwanych elementów składni w poprawną wartością XML, ale nie może zostać
klauzuli XMLPATTERN instrukcji CREATE zrzutowana na typ danych schematu, ponieważ jest
INDEX. Jeśli wyrażenie wzorca zawiera gwiazdkę wartością spoza zakresu obsługiwanych wartości.
(*), upewnij się, że ten znak wieloznaczny jest Więcej informacji zawiera temat ″Data type
poprawnie używany w testach nazwy w wyrażeniu conversion for indexes over XML data″ w Centrum
wzorca. Jeśli ten znak wieloznaczny jest używany z informacyjnym DB2.
nazwą QName, przed lub za nim musi występować
dwukropek. W przeciwnym razie znak ten jest 4 Co najmniej jedna z wartości węzłów XML jest
operatorem mnożenia. Gwiazdka nie może być poprawną wartością XML, ale nie może zostać
stosowana jako operator mnożenia w wyrażeniu zrzutowana na typ danych określonego indeksu,
wzorca. Upewnij się, że klauzula XMLPATTERN ponieważ jest wartością spoza zakresu
nie zawiera żadnych innych operatorów zapytań obsługiwanych wartości. Więcej informacji zawiera
XQuery, funkcji zapytań XQuery ani wyrażeń temat ″Data type conversion for indexes over XML
FLWR zapytań XQuery (for, let, where, return). data″ w Centrum informacyjnym DB2.
11 Zmniejsz liczbę kroków w wyrażeniu wzorca. Jeśli 5 Co najmniej jedna spośród wartości węzłów XML
wartość do poindeksowania w dokumentach XML jest niepoprawną wartością XML dla danego
wymaga więcej niż 50 kroków, indeks nie może docelowego typu danych indeksu w przypadku
zostać utworzony. indeksu o podanym identyfikatorze, a według
definicji indeksu niepoprawne wartości XML muszą
kod_sql: -20304 zwracać błąd (REJECT INVALID VALUES).
Więcej informacji zawiera temat ″Invalid XML
stan_sql: 429BS values″ w Centrum informacyjnym DB2.
Działanie użytkownika:
SQL20305N Wartości XML nie można wstawić ani Określ nazwę indeksu i klauzulę wzorca XML.
zaktualizować z powodu błędu wykrytego
podczas wstawiania lub aktualizowania Nazwę indeksu (<nazwa-indeksu>,<schemat-indeksu>) można
indeksu o identyfikatorze id-indeksu dla uzyskać z tabeli SYSCAT.INDEXES za pomocą
tabeli nazwa-tabeli. Kod przyczyny = następującego zapytania i przy użyciu podanego identyfikatora
kod-przyczyny. W przypadku kodów indeksu:
przyczyny dotyczących schematu XML: SELECT INDNAME, INDSCHEMA
identyfikator schematu XML = FROM SYSCAT.INDEXES
id-schematu-xml i typ danych schematu WHERE IID =id-indeksu AND
XML = typ-danych-schematu-xml. TABSCHEMA =’schemat ’ AND
TABNAME =’nazwa-tabeli’
Objaśnienie:

Rozdział 2. Komunikaty SQL 603


SQL20306N

Po znalezieniu nazwy indeksu (<nazwa-indeksu>,<schemat- stan_sql: 23525


indeksu>) można jej użyć do uzyskania typu danych indeksu i
wzorca XML z tabeli SYSCAT.INDEXES za pomocą
SQL20306N Nie można utworzyć indeksu dla kolumny
następującego zapytania:
XML, ponieważ wykryto błąd podczas
SELECT DATATYPE, PATTERN wstawiania wartości XML do indeksu. Kod
FROM SYSCAT.INDEXXMLPATTERNS przyczyny = kod-przyczyny. W przypadku
WHERE INDSCHEMA = ’schemat-indeksu’ AND
kodów przyczyny dotyczących schematu
INDNAME = ’nazwa-indeksu’
XML: identyfikator schematu XML =
id-schematu-xml i typ danych schematu
Jeśli <id-schematu-xml> jest inny niż ″*N″, w celu uzyskania
XML = typ-danych-schematu-xml.
nazwy schematu XML zawierającego zidentyfikowany typ
danych schematu użyj następującego zapytania z Objaśnienie:
identyfikatorem <id-schematu-xml>: Nie można kontynuować wykonywania danej instrukcji i
SELECT OBJECTNAME tabela pozostanie niezmieniona, ponieważ wystąpił jeden z
FROM SYSCAT.XSROBJECTS poniższych kodów przyczyny. Typ danych schematu oraz
WHERE OBJECTID = ’id-schematu-xml’ identyfikator schematu nie mają zastosowania do wszystkich
kodów przyczyny.
1 Użyj wzorca XML do zidentyfikowania zestawu
zgodnych węzłów XML, które mają zostać zbadane 1 We wstawianej wartości XML występuje co
w celu ustalenia wartości łańcuchów najmniej jedna wartość węzła XML, dla której
przekraczających ograniczenie długości określone przekroczone zostało ograniczenie długości
przez indeks. obowiązujące dla tworzonego indeksu. W definicji
indeksu dla kolumny XML określono użycie danych
2 Użyj nazwy schematu XML i wzorca XML do typu SQL VARCHAR o określonej długości.
zidentyfikowania zestawu zgodnych węzłów XML, Długość co najmniej jednej wartości wynikowej
które mają zostać zbadane i porównane z wzorca XML przekracza określone przez
określonym typem danych schematu użytkownika ograniczenie długości dla danych typu
typ-danych-schematu-xml znalezionym w VARCHAR.
odpowiednim schemacie. Określ, które wartości
węzłów są węzłami typu danych listy. 2 W wartości XML wstawianej do indeksu podczas
jego tworzenia występuje co najmniej jedna wartość
3 Na podstawie nazwy schematu XML i wzorca XML węzła XML, która jest węzłem typu danych listy i
znajdź zestaw zgodnych węzłów XML w celu ich nie może zostać poindeksowana przez określony
zbadania i porównania ze zidentyfikowanym typem indeks. Węzły typu danych listy nie są obsługiwane
danych schematu typ-danych-schematu-xml, w indeksie.
znalezionym w odpowiednim schemacie. Określ,
które wartości węzłów wykraczają poza zakres 3 Co najmniej jedna z wartości węzłów XML jest
wartości obsługiwanych dla typu danych schematu poprawną wartością XML, ale nie może zostać
XML. zrzutowana na typ danych schematu, ponieważ jest
wartością spoza zakresu obsługiwanych wartości.
4 Użyj wzorca XML do zidentyfikowania zestawu Więcej informacji zawiera temat ″Data type
zgodnych węzłów XML, które mają zostać zbadane i conversion for indexes over XML data″ w Centrum
porównane z określonym typem danych informacyjnym DB2.
zidentyfikowanego indeksu. Określ, które wartości
węzłów wykraczają poza zakres wartości 4 Co najmniej jedna z wartości węzłów XML jest
obsługiwanych dla typu danych indeksu. poprawną wartością XML, ale nie może zostać
zrzutowana na typ danych określonego indeksu,
5 Użyj wzorca XML do zidentyfikowania zestawu ponieważ jest wartością spoza zakresu
zgodnych węzłów XML, które mają zostać zbadane i obsługiwanych wartości. Więcej informacji zawiera
porównane z określonym typem danych tworzonego temat ″Data type conversion for indexes over XML
indeksu. Określ, które wartości węzłów są data″ w Centrum informacyjnym DB2.
niepoprawne w przypadku tego typu danych
indeksu. 5 Co najmniej jedna spośród wartości węzłów XML
jest niepoprawną wartością XML dla danego
Informacje na temat rozwiązywania tego problemu zawiera docelowego typu danych indeksu w przypadku
temat ″Common XML indexing issues″ w Centrum indeksu o podanym identyfikatorze, a według
informacyjnym DB2. Jeśli komunikat o błędzie pochodzi z definicji indeksu niepoprawne wartości XML muszą
narzędzia ładującego, dodatkowe informacje zawiera temat zwracać błąd (REJECT INVALID VALUES).
″Resolving indexing errors when loading XML data″ w Więcej informacji zawiera temat ″Invalid XML
Centrum informacyjnym DB2. values″ w Centrum informacyjnym DB2.
Działanie użytkownika:
kod_sql: -20305 Na podstawie definicji indeksu określ klauzulę XML.

604 Komunikaty, tom 2


SQL20307N

Jeśli <id-schematu-xml> jest inny niż ″*N″, w celu uzyskania 2 Klauzula kompresji (VALUE COMPRESSION lub
nazwy schematu XML zawierającego zidentyfikowany typ SYSTEM COMPRESSION DEFAULT) nie jest
danych schematu użyj następującego zapytania z zgodna.
identyfikatorem <id-schematu-xml>:
3 Tryb APPEND tabel nie jest zgodny.
SELECT OBJECTNAME
FROM SYSCAT.XSROBJECTS 4 Strony kodowe tabeli źródłowej i docelowej nie są
WHERE OBJECTID = ’id-schematu-xml’ zgodne.
1 Użyj wzorca XML do zidentyfikowania zestawu 5 Tabela źródłowa jest tabelą partycjonowaną z więcej
zgodnych węzłów XML, które mają zostać zbadane niż jedną partycją danych albo z partycjami danych
w celu ustalenia wartości łańcuchów ATTACHED lub DETACHED. Partycjonowana
przekraczających ograniczenie długości określone tabela źródłowa może zostać przyłączona, jeśli ma
przez indeks. tylko jedną partycję danych oraz nie ma partycji
danych ATTACHED ani DETACHED.
2 Użyj wzorca XML do zidentyfikowania zestawu
zgodnych węzłów XML, które mają zostać zbadane i 6 Tabela źródłowa jest tabelą systemową, widokiem,
porównane z określonym typem danych schematu zmaterializowaną tabelą zapytania (MQT), tabelą o
typ-danych-schematu-xml znalezionym w typie strukturalnym, tabelą ORGANIZED BY KEY
odpowiednim schemacie. Określ, które wartości SEQUENCE lub zadeklarowaną globalną tabelą
węzłów są węzłami typu danych listy. tymczasową. Tabela źródłowa musi być tabelą
podstawową.
3 Na podstawie wzorca XML znajdź zestaw zgodnych
węzłów XML w celu ich zbadania i porównania ze 7 Tabela docelowa i źródłowa to ta sama tabela. Nie
zidentyfikowanym typem danych schematu można przyłączyć tabeli do niej samej.
typ-danych-schematu-xml, znalezionym w
8 Klauzula NOT LOGGED INITIALLY została
odpowiednim schemacie. Określ, które wartości
określona dla tabeli źródłowej lub docelowej, ale nie
węzłów wykraczają poza zakres wartości
dla obu tabel.
obsługiwanych dla typu danych schematu XML.
9 Klauzula DATA CAPTURE CHANGES została
4 Użyj wzorca XML do zidentyfikowania zestawu
określona dla tabeli źródłowej lub docelowej, ale nie
zgodnych węzłów XML, które mają zostać zbadane i
dla obu tabel.
porównane z określonym typem danych indeksu.
Określ, które wartości węzłów wykraczają poza 10 Klauzule rozdzielania tabel nie są zgodne. Klucz
zakres wartości obsługiwanych dla typu danych rozdzielania musi być taki sam dla tabeli źródłowej i
indeksu. docelowej.
5 Użyj wzorca XML do zidentyfikowania zestawu 11 Klauzule ORGANIZE BY DIMENSIONS tabel nie
zgodnych węzłów XML, które mają zostać zbadane i są zgodne. Klauzula ORGANIZE BY
porównane z określonym typem danych indeksu. DIMENSIONS została określona tylko dla jednej z
Określ, które wartości węzłów są niepoprawne w tabel lub wymiary organizacyjne są różne.
przypadku tego typu danych indeksu.
15 Zabezpieczenia na potrzeby ochrony tabel nie są
identyczne. Tabele są chronione przez różne
Informacje na temat rozwiązywania tego problemu zawiera
strategie bezpieczeństwa.
temat ″Common XML indexing issues″ w Centrum
informacyjnym DB2. 16 Klauzula kompresji (COMPRESS NO lub
COMPRESS YES) nie jest zgodna.
kod_sql: -20306
99 Tabela docelowa istnieje w obszarze tabel
przekształconym w duży obszar tabel, a jej indeksy
stan_sql: 23526
nie zostały jeszcze zreorganizowane ani
przebudowane w celu obsługi dużych
SQL20307N Tabeli nazwa-tabeli-źródłowej nie można identyfikatorów RID.
przyłączyć do tabeli nazwa-tabeli-docelowej.
Działanie użytkownika:
Kod przyczyny= kod-przyczyny.
Popraw niezgodność między tabelami, modyfikując tabelę
Objaśnienie: źródłową, aby była zgodna z parametrami tabeli docelowej,
Parametry tabeli docelowej nie są w pełni zgodne z lub modyfikując tabelę docelową, aby była zgodna z
parametrami tabeli źródłowej w instrukcji ALTER parametrami tabeli źródłowej.
TABLE...ATTACH. Typ niezgodności wskazuje
kod-przyczyny. Dla kodów przyczyny 4, 5, 6 oraz 11 ani parametry tabeli
źródłowej, ani docelowej nie mogą zostać w prosty sposób
1 Liczba kolumn (kolumna COLCOUNT w tabeli
zmodyfikowane w celu uzyskania zgodności (Dla kodu
SYSCAT.TABLES) w tabeli źródłowej i docelowej
przyczyny 5 tabela nazwa tabeli źródłowej jest
nie jest zgodna.

Rozdział 2. Komunikaty SQL 605


SQL20307N

partycjonowana, musi więc mieć dokładnie jedną widoczną - długo, aż pozostanie pojedyncza widoczna partycja
ani przyłączoną ani odłączoną - partycję danych). danych, używając instrukcji:
ALTER TABLE ... DETACH PARTITION
Jeśli zmodyfikowanie parametrów tabeli źródłowej lub
docelowej w celu zapewnienia zgodności jest trudne, można Dodaj wszystkie niezbędne instrukcje SET
utworzyć nową tabelę, która będzie zgodna z tabelą docelową, INTEGRITY. W przeciwnym przypadku utwórz
a następnie skopiować do niej dane z tabeli nową tabelę źródłową. Szczegółowe informacje na
nazwa-tabeli-źródłowej. Szczegółowe informacje na temat temat tworzenia zgodnej tabeli źródłowej zawiera
tworzenia zgodnej tabeli źródłowej zawiera zadanie zadanie ″Tworzenie nowej tabeli źródłowej″ w
″Tworzenie nowej tabeli źródłowej″ w Centrum Centrum informacyjnym DB2.
informacyjnym DB2.
6 Utwórz nową tabelę źródłową, która nie jest tabelą
1 Do tabeli, w której brakuje jednej lub większej niedozwolonego typu. Szczegółowe informacje na
liczby kolumn, można dodać kolumny przy użyciu temat tworzenia zgodnej tabeli źródłowej zawiera
instrukcji: zadanie ″Tworzenie nowej tabeli źródłowej″ w
ALTER TABLE ... ADD COLUMN ... Centrum informacyjnym DB2.
DEFAULT ...
7 Określ poprawną tabelę, która może być użyta jako
tabela źródłowa lub docelowa.
Upewnij się, że wartość domyślna dodawanej
kolumny jest taka sama, jak wartość domyślna 8 Zainicjuj rejestrowanie tabeli, która nie jest
kolumny w tabeli, w której kolumna ta już istnieje. rejestrowana, wydając instrukcję COMMIT, lub
Wykonaj w tabeli wyłącz rejestrowanie tabeli, która jest rejestrowana,
SYSCAT.COLUMNS.IMPLICITVALUE zapytanie wprowadzając instrukcję:
o tę kolumnę dla tabeli, w której kolumna ta już ALTER TABLE .... ACTIVATE
istnieje. Jeśli wartość jest różna od NULL, użyj NOT LOGGED INITIALLY
klauzuli DEFAULT instrukcji ALTER TABLE ADD
COLUMN w celu ustawienia wartości domyślnej 9 Aby włączyć przechwytywanie zmian danych dla
zgodnej z wartością w tabeli tabeli, dla której ta opcja jest wyłączona, wykonaj
SYSCAT.COLUMNS.IMPLICITVALUE. instrukcję:
ALTER TABLE ... DATA CAPTURE CHANGES
Uwaga: Kolumny można dodawać wyłącznie za
ostatnią istniejącą kolumną tabeli. Jeśli brakująca Aby wyłączyć przechwytywanie zmian danych dla
kolumna nie jest ostatnią kolumną, utwórz nową tabeli, dla której ta opcja jest włączona, wykonaj
tabelę źródłową. instrukcję:
ALTER TABLE ... DATA CAPTURE NONE
Można również usunąć kolumnę z tabeli, w której
występuje dodatkowa kolumna: 10 W takim przypadku zaleca się utworzenie nowej
tabeli źródłowej, ponieważ nie można zmienić
ALTER TABLE ... DROP COLUMN ....
klucza rozdzielania tabeli obejmującej wiele partycji
2 Aby uzyskać zgodność dla wartości kompresji bazy danych. Aby zmienić klucz rozdzielania dla
wartości, użyj jednej z następujących instrukcji: tabel w bazie danych o pojedynczej partycji,
ALTER TABLE ... ACTIVATE wykonaj instrukcje:
VALUE COMPRESSION ALTER TABLE ... DROP DISTRIBUTION
ALTER TABLE ... DEACTIVATE ALTER TABLE ... ADD DISTRIBUTION
VALUE COMPRESSION (specyfikacja-klucza)
11 Utwórz nową tabelę źródłową, dla której klauzula
Aby uzyskać zgodność dla kompresji wierszy, użyj
ORGANIZE BY DIMENSIONS jest zgodna z tą
jednej z następujących instrukcji:
klauzulą dla tabeli docelowej. Szczegółowe
ALTER TABLE ... COMPRESS YES informacje na temat tworzenia zgodnej tabeli
ALTER TABLE ... COMPRESS NO źródłowej zawiera zadanie ″Tworzenie nowej tabeli
3 Aby uzyskać zgodność dla trybu dopisywania, użyj źródłowej″ w Centrum informacyjnym DB2.
jednej z następujących instrukcji: 15 Obie tabele muszą być chronione za pomocą tych
ALTER TABLE ... APPEND ON samych strategii bezpieczeństwa, muszą mieć
ALTER TABLE ... APPEND OFF zdefiniowaną tę samą kolumnę jako typ
4 Utwórz nową tabelę źródłową. Szczegółowe SYSPROC.DB2SECURITYLABEL, a także muszą
informacje na temat tworzenia zgodnej tabeli mieć ten sam zestaw kolumn chronionych.
źródłowej zawiera zadanie ″Tworzenie nowej tabeli 16 Użyj instrukcji ALTER TABLE nazwa-tabeli
źródłowej″ w Centrum informacyjnym DB2.
5 Odłączaj partycje danych od tabeli źródłowej tak

606 Komunikaty, tom 2


SQL20308N • SQL20317N

COMPRESS [YES | NO], aby zapewnić zgodność stan_sql: 428GG


atrybutów COMPRESS dla tabeli źródłowej i
docelowej.
SQL20316N Nieprawidłowe środowisko kompilacji. Kod
99 Przekształć indeksy w tabeli docelowej, aby przyczyny = kod-przyczyny.
obsługiwały duże identyfikatory RID, wydając
Objaśnienie:
komendę: REORG INDEXES ALL FOR TABLE
Wskazane środowisko kompilacji jest niepoprawne z jednej z
nazwa-tabeli-docelowej ALLOW NO ACCESS.
następujących przyczyn (patrz kod przyczyny).
kod_sql: -20307 1. Wskazane środowisko kompilacji ma nieprawidłowy
format.
stan_sql: 428GE 2. Wskazane środowisko kompilacji ma nieobsługiwaną
wersję.
SQL20308N Analizowanie składni przy użyciu opcji 3. Wskazane środowisko kompilacji ma nieprawidłową
STRIP WHITESPACE jest niedozwolone, wielkość.
gdy wśród danych wejściowych znajduje się 4. We wskazanym środowisku kompilacji stosowana jest
wartość łańcuchowa węzła tekstowego, w strona kodowa niezgodna z tą bazą danych.
której występują tylko znaki spacji, a jej
długość jest większa niż 1000 bajtów. Nie można wykonać instrukcji.
Objaśnienie: Działanie użytkownika:
Użycie opcji STRIP WHITESPACE podczas analizowania Działanie zależy od kodu przyczyny:
danych XML spowoduje wystąpienie błędu, jeśli napotkana 1. Uzyskaj środowisko kompilacji ponownie i upewnij się, że
zostanie wartość łańcuchowa węzła tekstowego, w której przed użyciem nie zostanie ono w żaden sposób
występują tylko znaki spacji, tabulacji lub nowego wiersza i jej zmodyfikowane.
długość jest większa niż 1000 bajtów.
2. Uzyskaj środowisko kompilacji ponownie, stosując
oprogramowanie o zgodnej wersji.
Nie można wykonać instrukcji.
3. Uzyskaj środowisko kompilacji ponownie i upewnij się, że
Działanie użytkownika: przed użyciem nie zostanie ono w żaden sposób
Użyj opcji PRESERVE WHITESPACE lub zmodyfikuj dane zmodyfikowane.
wejściowe tak, aby ze wszystkich węzłów tekstowych o
4. Uzyskaj środowisko kompilacji ponownie, stosując bazę
wartości łańcuchowej składającej się wyłącznie ze znaków
danych o takiej samej stronie kodowej.
spacji, tabulacji lub nowego wiersza usunąć znaki powodujące,
że dany łańcuch jest dłuższy niż 1000 bajtów.
kod_sql: -20316
kod_sql: -20308
stan_sql: 51040
stan_sql: 54059
SQL20317N Nie zdefiniowano pamięci automatycznej
dla bazy danych.
SQL20309N Niepoprawne użycie odpornego na błędy
zagnieżdżonego wyrażenia tabelowego. Objaśnienie:
Podjęto próbę albo utworzenia obszaru tabel, w którym pamięć
Objaśnienie:
masowa jest zarządzana automatycznie, albo dodania nowych
W następujących sytuacjach nie można użyć odwołania do
ścieżek pamięci masowej do bazy danych w sytuacji, gdy dla
odpornego na błędy zagnieżdżonego wyrażenia tabelowego
tej bazy danych nie zdefiniowano automatycznej pamięci
(zagnieżdżonego wyrażenia tabelowego, w którym występuje
masowej.
klauzula RETURN DATA UNTIL):
v pełna selekcja definicji zmaterializowanego zapytania; Działanie użytkownika:
Nie można włączać automatycznej pamięci masowej dla
v ta sama instrukcja lub instrukcja złożona, w której
istniejących baz danych. Aby włączyć automatyczną pamięć
występują operacje wstawiania, aktualizacji lub usuwania;
masową dla nowej bazy danych, należy użyć klauzuli
v instrukcja SELECT dla kursora pozycyjnej instrukcji AUTOMATIC STORAGE w wywołaniu komendy CREATE
DELETE lub pozycyjnej instrukcji UPDATE. DATABASE.

Nie można wykonać instrukcji. kod_sql: -20317


Działanie użytkownika:
Usuń klauzulę RETURN DATA UNTIL z zagnieżdżonego stan_sql: 55060
wyrażenia tabelowego i wprowadź ponownie tę instrukcję.

kod_sql: -20309

Rozdział 2. Komunikaty SQL 607


SQL20318N • SQL20322N

Określ większą wielkość maksymalną zgodnie z powyższymi


SQL20318N Obszaru tabel nazwa-obszaru-tabel typu
wskazówkami.
typ-obszaru-tabel nie można zmodyfikować
przy użyciu operacji operacja.
kod_sql: -20320
Objaśnienie:
Podczas wykonywania instrukcji ALTER TABLESPACE stan_sql: 560B0
względem obszaru tabel nazwa_obszaru_tabel nastąpiła próba
wykonania operacji operacja, jednak obszar tabel jest typu
typ_obszaru_tabel. SQL20321N Nie można określać ścieżek pamięci
masowej, ponieważ automatyczna pamięć
W przypadku obszaru tabel zdefiniowanego jako MANAGED masowa nie jest włączona dla tej bazy
BY AUTOMATIC STORAGE kontenery są zarządzane przez danych.
menedżera bazy danych. Kontenerów tych nie można Objaśnienie:
modyfikować. Baza danych w kopii zapasowej nie ma uaktywnionego
Działanie użytkownika: mechanizmu automatycznej pamięci masowej, a mimo to
Nie wywołuj instrukcji ALTER TABLESPACE, ponieważ wskazano ścieżki pamięci masowej na jeden z poniższych
menedżer bazy danych będzie automatycznie poszerzać sposobów:
istniejące kontenery lub tworzyć nowe kontenery w oparciu o v Ścieżki pamięci masowej zostały uwzględnione w
automatyczną pamięć masową zdefiniowaną na potrzeby bazy wywołaniu funkcji API RESTORE DATABASE.
danych. Użyj komendy ALTER DATABASE STORAGE, aby v Ścieżki pamięci masowej podano w opcji ON w wywołaniu
dodać nowe ścieżki do kolekcji automatycznej pamięci komendy RESTORE DATABASE.
masowej bazy danych.
Działanie użytkownika:
kod_sql: -20318 Rozwiąż ten problem, wykonując odpowiednie działania:
v Nie podawaj żadnych ścieżek pamięci masowej w
stan_sql: 42858 wywołaniu funkcji API RESTORE DATABASE.
v Nie używaj opcji ON w wywołaniu komendy RESTORE
DATABASE.
SQL20319N Użycie komendy SET TABLESPACE
CONTAINERS w przypadku obszaru tabel
z automatyczną konfiguracją pamięci kod_sql: -20321
masowej jest niedozwolone.
stan_sql: 55062
Objaśnienie:
Kontenery skojarzone z obszarami tabel z automatyczną
pamięcią masową są sterowane przez bazę danych i nie można SQL20322N Podana nazwa bazy danych nie jest zgodna
zmieniać ich definicji za pomocą komendy SET z nazwa_serwera, nazwą bazy danych, z
TABLESPACE CONTAINERS. którą aplikacja jest połączona.

Działanie użytkownika: Objaśnienie:


Aby określić nowy zestaw ścieżek dla wszystkich obszarów Podana nazwa bazy danych nie jest zgodna z nazwą
tabel z automatyczną pamięcią masową w bazie danych, nazwa_serwera - nazwą bazy danych, z którą aplikacja jest
należy użyć opcji ON w komendzie RESTORE DATABASE i połączona. Nazwa bazy danych została określona jawnie lub
po niej podać dowolną liczbę ścieżek. przy użyciu aliasu bazy danych.
Działanie użytkownika:
kod_sql: -20319 Jeśli wykonana operacja miała na celu zmodyfikowanie
aktualnie przyłączonej bazy danych, należy usunąć nazwę
stan_sql: 55061 bazy danych z wywołania instrukcji albo podać prawidłową
nazwę. Jeśli operacja miała na celu zmodyfikowanie bazy
danych o podanej nazwie, a nie bazy danych, z którą
SQL20320N Maksymalna wielkość podana dla obszaru
połączenie jest aktywne, należy odłączyć się od bieżącej bazy
tabel jest niepoprawna.
danych i nawiązać połączenie ze wskazaną bazą danych, po
Objaśnienie: czym ponownie wywołać instrukcję. Jeśli wykonywana jest
Maksymalna wielkość podana w wywołaniu instrukcji operacja tworzenia kopii zapasowej lub odtwarzania bazy
CREATE TABLESPACE lub ALTER TABLESPACE jest danych, należy nawiązać połączenie z tą bazą danych i podać
niepoprawna. Podczas tworzenia obszaru tabel maksymalna poprawną nazwę bazy danych lub alias bazy danych.
wielkość musi być większa lub równa podanej wielkości
początkowej. Podczas modyfikowania istniejącego obszaru kod_sql: -20322
tabel podana wielkość maksymalna musi być większa lub
równa bieżącej wielkości obszaru tabel. stan_sql: 42961
Działanie użytkownika:

608 Komunikaty, tom 2


SQL20323N • SQL20328N

stan_sql: 54047
SQL20323N Ścieżka do pamięci masowej
ścieżka_pamięci_masowej bazy danych już
istnieje albo została określona więcej niż SQL20326N Długość nazwy elementu XML, nazwy
jeden raz. atrybutu, przedrostka przestrzeni nazw lub
identyfikatora URI zakończonego
Objaśnienie:
łańcuchem łańcuch przekracza ograniczenie
Albo dodawana ścieżka pamięci masowej już istnieje dla tej
długości do 1000 bajtów.
bazy danych, albo niektóre z dodawanych ścieżek występują
na liście więcej niż jeden raz. Objaśnienie:
System przetwarza nazwę elementu, nazwę atrybutu,
Działanie użytkownika:
przedrostek przestrzeni nazw lub identyfikator URI w celu
Usuń odpowiednią ścieżkę z wywołania komendy lub
wygenerowania wewnętrznego identyfikatora danego
instrukcji i wywołaj instrukcję lub komendę ponownie.
łańcucha. Długość danego łańcucha przekracza ograniczenie
długości do 1000 bajtów dotyczące łańcucha
kod_sql: -20323
reprezentowanego przy użyciu formatu UTF8. W wypadku
łańcucha łańcuch nastąpiło przekroczenie tego limitu długości.
stan_sql: 42748
Nie można wykonać instrukcji.
SQL20324N Operacja operacja jest już w toku.
Działanie użytkownika:
Objaśnienie: Użyj krótszych nazw elementów, nazw atrybutów,
Operacja operacja została już wywołana w tej transakcji albo przedrostków przestrzeni nazw lub identyfikatorów URI, a
w ramach osobnej niezatwierdzonej transakcji. następnie spróbuj wykonać ponownie tę operację.
Działanie użytkownika:
kod_sql: -20326
Zatwierdź transakcję z zaległą operacją i wydaj ponownie
instrukcję.
stan_sql: 54057
kod_sql: -20324
SQL20327N Liczba poziomów w wewnętrznej
stan_sql: 25502 reprezentacji ścieżki XML przekracza
ograniczenie do 125 poziomów.
SQL20325N Dodanie, rozszerzenie lub ustawienie Objaśnienie:
kontenerów w przypadku obszaru tabel Wewnętrzną reprezentację ścieżki XML generuje system.
nazwa-obszaru-tabel spowodowałoby Dana ścieżka może istnieć w analizowanym dokumencie XML
przekroczenie maksymalnej wielkości lub dokumencie, którego poprawność jest sprawdzana, albo w
równej wielkość-maksymalna. tworzonej wartości XML. Osiągnięta została liczba poziomów
przekraczająca dany limit, ponieważ w danym dokumencie
Objaśnienie: występuje za dużo zagnieżdżeń.
Obszar tabel nazwa_obszaru_tabel ma włączoną opcję
AUTORESIZE (ustawienie YES) ze zdefiniowaną wielkością
Nie można wykonać instrukcji.
maksymalną. Tymczasem wykonanie wywołanej instrukcji
ALTER TABLESPACE albo komendy SET TABLESPACE Działanie użytkownika:
CONTAINERS spowodowałoby przekroczenie wyznaczonego Zmniejsz liczbę poziomów elementów i atrybutów używanych
limitu wielkości przez ten obszar tabel. w dokumencie lub tworzonej wartości XML.
Działanie użytkownika:
kod_sql: -20327
W przypadku instrukcji ALTER TABLESPACE przed
ponownym wydaniem tej instrukcji należy zwiększyć parametr
MAXSIZE obszaru tabel, tak aby był większy lub równy stan_sql: 54058
bieżącej wielkości obszaru tabel powiększonej o wielkość
dodawaną w instrukcji. Można także parametrowi SQL20328N Dokument o docelowej przestrzeni nazw
AUTORESIZE dla obszaru tabel nadać wartość NO. Należy przestrzeń-nazw i położeniu schematu
przy tym pamiętać, że wyłączenie automatycznej zmiany położenie już został dodany w przypadku
wielkości spowoduje utratę bieżących wartości parametrów schematu XML identyfikowanego jako
MAXSIZE i INCREASESIZE. nazwa-schematu.

W przypadku komendy SET TABLESPACE CONTAINERS Objaśnienie:


należy podać zestaw kontenerów, których łączna wielkość jest Ten błąd może wystąpić podczas wywoływania procedury
nie większa od maksymalnej wielkości obszaru tabel. składowanej XSR_ADDSCHEMADOC. W pojedynczym

kod_sql: -20325

Rozdział 2. Komunikaty SQL 609


SQL20329N • SQL20332N

schemacie XML nie mogą występować dwa dokumenty o tej schemat XML. Typ typ-identyfikatora-uri1 to NAMESPACE i
samej docelowej przestrzeni nazw i tym samym położeniu identyfikator identyfikator-uri1 docelowej przestrzeni nazw
schematu. schematu XML mógł zostać określony jawnie w instrukcji
przy użyciu klauzuli ACCORDING TO XMLSCHEMA URI
Nie można wykonać instrukcji. lub może być identyfikowany w wartości XML. Jeśli zostanie
podana również opcjonalna klauzula LOCATION, wówczas
Działanie użytkownika: typ typ-identyfikatora-uri2 to LOCATION i identyfikator
Zmień przestrzeń nazw lub położenie schematu dodawanego identyfikator-uri2 wskazuje daną wartość. W przeciwnym
dokumentu. razie jest to pusty łańcuch.

kod_sql: -20328 Jeśli typ-obiektu-repozytorium-schematów-xml to EXTERNAL


ENTITY, wówczas do przeanalizowania lub sprawdzenia
stan_sql: 42749 poprawności wartości XML wymagana jest zewnętrzna encja
XML. Identyfikacja encji zewnętrznej jest oparta na typie
SQL20329N Sprawdzenie kompletności schematu XML typ-identyfikatora-uri1 identyfikatora SYSTEM ID o wartości
nie powiodło się, ponieważ brakuje jednego identyfikatora systemowego identyfikator-uri1 i typie
lub wielu dokumentów schematu XML. typ-identyfikatora-uri2 identyfikatora PUBLIC ID o wartości
Jeden brakujący dokument schematu XML identyfikatora publicznego identyfikator-uri2. Jeśli
jest identyfikowany przez typ typ-uri jako identyfikator identyfikator-uri2 jest pusty, oznacza to, że żaden
uri. identyfikator publiczny nie jest dostępny.

Objaśnienie: Nie można wykonać tej instrukcji lub komendy.


Podczas końcowego przetwarzania procesu rejestracji
schematu XML stwierdzono, że wymaganych jest więcej niż Działanie użytkownika:
jeden dokument schematu XML, aby dany schemat XML był Przed przetworzeniem danej wartości XML zarejestruj
kompletny, a w repozytorium schematów XML brakuje co schemat XML lub zewnętrzną encję XML identyfikowaną
najmniej jednego dokumentu schematu XML. Brakujący przez identyfikator identyfikator-uri1 i identyfikator-uri2.
dokument schematu XML jest identyfikowany przez docelową
przestrzeń nazw lub położenie schematu typ-identyfikatora-uri kod_sql: -20330
i wartość przestrzeni nazw lub identyfikatora identyfikator-uri
położenia schematu XML. Odwołanie do brakującego stan_sql: 22532 lub 4274A
dokumentu schematu XML może występować w jednym z
dokumentów schematu XML, zdefiniowanych dla tego
SQL20331N Niepoprawna wartość komentarza XML
schematu.
łańcuch.
Nie można wykonać instrukcji. Objaśnienie:
W komentarzu XML nie mogą występować dwa sąsiadujące
Działanie użytkownika:
ze sobą łączniki i łącznik nie może występować na końcu
Dodaj do repozytorium schematów XML wszystkie brakujące
komentarza.
dokumenty schematu XML dla danego schematu XML.
Należy dodać dokument identyfikowany przez typ Działanie użytkownika:
typ-identyfikatora-uri jako identyfikator identyfikator-uri. Upewnij się, że wartość komentarza XML jest poprawna.

kod_sql: -20329 kod_sql: -20331

stan_sql: 428GI stan_sql: 2200S

SQL20330N Obiekt typ-obiektu-xsr identyfikowany przez SQL20332N Wartość instrukcji przetwarzania XML
XML typ-identyfikatora-uri1 łańcuch jest niepoprawna.
identyfikator-uri1 oraz XML
Objaśnienie:
typ-identyfikatora-uri2 identyfikator-uri2 nie
W instrukcji przetwarzania XML nie może występować
został znaleziony w repozytorium
podłańcuch ″?>″.
schematów XML.
Działanie użytkownika:
Objaśnienie:
Upewnij się, że wartość instrukcji przetwarzania XML jest
Do przetworzenia instrukcji lub komendy wymagane jest
poprawna.
użycie pochodzącego z repozytorium schematów XML
obiektu XSROBJECT, którego nie można znaleźć.
kod_sql: -20332
Jeśli typ-obiektu-xsr to XMLSCHEMA, wówczas do
sprawdzenia poprawności wartości XML wymagany jest stan_sql: 2200T

610 Komunikaty, tom 2


SQL20333N • SQL20336N

oparta na typie typ-identyfikatora-uri1 przestrzeni nazw


SQL20333N Nie można wykonać operacji, ponieważ
NAMESPACE o docelowej przestrzeni nazw schematu XML
naruszyła ona ograniczenia spójności w
identyfikator-uri1 i typie typ-identyfikatora-uri2 położenia
źródle danych źródło_danych. Skojarzony
LOCATION z położeniem schematu XML identyfikator-uri2.
tekst i elementy zmienne to elementy.
Jeśli identyfikator identyfikator-uri2 jest pusty, oznacza to, że
Objaśnienie: nie określono położenia schematu.
Operacja wstawiania, aktualizacji lub usunięcia naruszyła
ograniczenia spójności zdefiniowane w stowarzyszonym Jeśli typ typ-obiektu-repozytorium-schematów-XML to
źródle danych. Naruszenie to może wynikać z interakcji z EXTERNAL ENTITY, wówczas identyfikacja encji
wyzwalaczem w źródle danych. zewnętrznej jest oparta na typie typ-identyfikatora-uri1
identyfikatora SYSTEM ID o wartości identyfikatora
Nie można wykonać instrukcji. Zawartość tabeli obiektów nie systemowego identyfikator-uri1 i typie typ-identyfikatora-uri2
ulega zmianie. identyfikatora PUBLIC ID o wartości identyfikatora
publicznego identyfikator-uri2. Jeśli identyfikator
Niektóre źródła danych nie przekazują szczegółowych identyfikator-uri2 jest pusty, oznacza to, że nie określono
informacji o naruszonym ograniczeniu. Inne źródła danych identyfikatora publicznego.
przekazują informacje do pliku db2diag.log.
Nie można wykonać instrukcji.
Działanie użytkownika:
Przeanalizuj ograniczenia dotyczące obiektu, do którego Działanie użytkownika:
odwołuje się operacja, aby ustalić przyczynę ich naruszenia. Jeśli zostaną określone oba identyfikatory: identyfikator-uri1 i
Zapoznaj się z zawartością pliku db2diag.log, gdyż może on identyfikator-uri2, wówczas należy usunąć z repozytorium
zawierać dodatkowe informacje o naruszonym ograniczeniu. schematów XML zduplikowane obiekty XSROBJECT typu
typ-obiektu-repozytorium-schematów-XML albo - w wypadku
kod_sql: -20333 schematów XML - należy jawnie określić identyfikator
XMLSCHEMA ID jednego z tych schematów XML. Jeśli dla
stan_sql: 23527 położenia schematu (identyfikator-uri2) określono wartość
pustą, można także jawnie określić wartość identyfikatora
XMLSCHEMA URI i wartość LOCATION, aby
SQL20334N Ze źródła danych usług WWW otrzymano jednoznacznie zidentyfikować schemat XML.
błąd protokołu SOAP, elementy. Powiązany
z nim tekst i elementy: tekst-i-elementy. kod_sql: -20335
Objaśnienie:
Ze źródła danych usług WWW nazwa-źródła-danych stan_sql: 22533 lub 4274B
wykorzystującego protokół SOAP (Simple Object Access
Protocol) wysłany został do serwera stowarzyszonego
SQL20336N Wartości o typie danych źródłowy-typ-danych
komunikat o błędzie protokołu SOAP. Dodatkowe informacje
nie można rzutować w specyfikacji
o tym błędzie można znaleźć w tokenach.
XMLCAST na typ docelowy-typ-danych.
Działanie użytkownika:
Objaśnienie:
Korzystając z informacji w elementach określ i usuń
Instrukcja zawiera wyrażenie CAST, w którym pierwszym
przyczynę błędu protokołu SOAP w źródle danych
operandem jest typ danych źródłowy-typ-danych, który ma
nazwa-źródła-danych.
zostać zrzutowany na typ danych docelowy-typ-danych.
Rzutowanie to nie jest obsługiwane.
kod_sql: -20334
Działanie użytkownika:
stan_sql: 560CB Zmień źródłowy lub docelowy typ danych, tak aby można było
wykonać rzutowanie. Dla predefiniowanych typów, informacje
można znaleźć w podręczniku SQL Reference. Dla typu
SQL20335N W repozytorium schematów XML istnieje odrębnego zdefiniowanego przez użytkownika rzutowanie
więcej niż jeden obiekt typ-obiektu-xsr można wykonać pomiędzy podstawowym typem danych i
identyfikowany przez XML typem odrębnym zdefiniowanym przez użytkownika lub z
typ-identyfikatora-uri1 identyfikator-uri1 oraz zalecanego typu danych do podstawowego typu danych, do
typ-identyfikatora-uri2 identyfikator-uri2. typu odrębnego zdefiniowanego przez użytkownika.
Objaśnienie:
Istnieje więcej niż jeden zarejestrowany obiekt XSROBJECT kod_sql: -20336
zgodny z identyfikatorem URI użytym do określenia schematu
XML lub encji zewnętrznej. stan_sql: 42846

Jeśli typ typ-obiektu-repozytorium-schematów-XML to


XMLSCHEMA, wówczas identyfikacja schematu XML jest

Rozdział 2. Komunikaty SQL 611


SQL20337N • SQL20340N

SQL20337N Brak klauzuli BY REF lub jest ona używana SQL20339N Schemat XML nazwa-schematu-xml nie jest
niepoprawnie. Kod przyczyny = w stanie odpowiednim do przeprowadzenia
kod-przyczyny. operacji operacja.
Objaśnienie: Objaśnienie:
Poniżej opisano przyczyny tego błędu w oparciu o możliwe Nie można wykonać operacji określonej przez parametr
wartości kodu kod-przyczyny. operacja na schemacie XML określonym przez identyfikator
1. Nie można użyć klauzuli BY REF, gdy typ danych schematu XML nazwa-schematu-xml, ponieważ schemat ten
odpowiedni dla argumentu funkcji XMLQUERY, nie jest w odpowiednim stanie. Na przykład dany schemat
XMLEXISTS lub XMLTABLE jest inny niż XML. Ten XML został już ukończony, a w wykonywanej operacji
błąd może wystąpić także wówczas, gdy klauzula BY REF nastąpiła próba dodania nowych dokumentów schematu XML.
zostanie użyta w definicji kolumny XMLTABLE z danymi
typu innego niż XML. Nie można wykonać instrukcji.
2. Klauzula BY REF musi zostać użyta, gdy w klauzuli Działanie użytkownika:
XMLTABLE zdefiniowana jest kolumna z danymi typu Sprawdź bieżący stan schematu XML, aby określić poprawne
XML. operacje na tym schemacie. Jeśli dany schemat XML jest
3. Klauzula BY REF musi być określona w funkcji ukończony, nie można dodać do niego nowych dokumentów
XMLQUERY, zwracającej sekwencję XML. Klauzula BY schematu XML.
REF może być określona jawnie po klauzuli RETURNING
SEQUENCE lub w klauzuli PASSING. kod_sql: -20339

Działanie użytkownika:
stan_sql: 55063
Zależnie od wartości kodu kod-przyczyny wykonaj jedno z
następujących działań.
1. Usuń klauzulę BY REF z miejsc, w których jest ona SQL20340N Schemat XML nazwa-schematu-xml zawiera
skojarzona z typem danych innym niż XML. przynajmniej jeden dokument schematu
XML w przestrzeni nazw przestrzeń-nazw z
2. Określ klauzulę BY REF w miejscach, gdzie typ danych
identyfikatorem komponentu
argumentu funkcji XMLTABLE to XML.
identyfikator-komponentu, który nie jest
3. Określ klauzulę BY REF po słowach kluczowych połączony z innymi dokumentami schematu
RETURNING SEQUENCE albo użyj klauzuli PASSING XML w tej samej przestrzeni nazw przy
BY REF. użyciu operacji włączenia lub zmiany
definicji.
kod_sql: -20337
Objaśnienie:
W schemacie XML określonym przez identyfikator
stan_sql: 42636
nazwa-schematu-xml występuje wiele dokumentów
schematów XML w przestrzeni nazw przestrzeń-nazw. Co
SQL20338N Dla operandu źródłowego lub docelowego najmniej jeden z tych dokumentów schematu XML nie został
specyfikacji XMLCAST wymagany jest typ połączony z pozostałymi dokumentami schematu XML w tej
danych XML. samej przestrzeni nazw przy użyciu operacji włączenia lub
zmiany definicji. Jeden z takich dokumentów schematu XML
Objaśnienie:
w repozytorium schematów XML jest określony przez
W specyfikacji XMLCAST musi występować jeden operand o
identyfikator komponentu identyfikator-komponentu.
typie danych XML. Podczas rzutowania XMLCAST może
nastąpić rzutowanie wartości typu XML na wartość typu SQL
Nie można wykonać instrukcji.
lub wartości typu SQL na wartość typu XML. W specyfikacji
XMLCAST można także określić typ danych XML zarówno Działanie użytkownika:
dla operandu źródłowego jaki operandu docelowego, lecz w Popraw dokumenty schematu XML tak, aby wszystkie
takim wypadku rzutowanie nie zostanie w rzeczywistości dokumenty schematu XML w pojedynczej przestrzeni nazw
wykonane. były połączone przy użyciu operacji włączenia lub zmiany
definicji. Identyfikator identyfikator-komponentu może zostać
Działanie użytkownika:
użyty do przeszukania tabeli
Jeśli dla obu operandów ma być użyty typ danych SQL inny
SYSCAT.XSROBJECTCOMPONENTS w celu uzyskania
niż XML, wówczas należy użyć specyfikacji CAST. W
dodatkowych informacji o odnośnym dokumencie schematu
przeciwnym razie należy zmienić specyfikację XMLCAST, tak
XML, który nie jest połączony w danej przestrzeni nazw.
aby co najmniej jeden operand był typu XML.
kod_sql: -20340
kod_sql: -20338
stan_sql: 22534
stan_sql: 42815

612 Komunikaty, tom 2


SQL20341W • SQL20345N

2 Nie można przekazać widoku nazwa-obiektu1 w


SQL20341W Operacja przekazania została zignorowana,
hierarchii widoków nazwa-obiektu2, ponieważ jest
ponieważ użytkownik o identyfikatorze
to widok podrzędny.
id-autoryzowanego-użytkownika jest już
właścicielem danego obiektu bazy danych. 3 Nie można przekazać indeksu nazwa-obiektu1,
ponieważ tabela nazwa-obiektu2, dla której
Objaśnienie:
zdefiniowany jest ten indeks, to zadeklarowana
Określono instrukcję TRANSFER w celu przekazania obiektu
globalna tabela tymczasowa.
bazy danych do użytkownika o ID autoryzowanego
użytkownika id-autoryzowanego-użytkownika. Użytkownik o 4 Nie można przekazać treści metody lub funkcji
podanym ID autoryzowanego użytkownika jest już nazwa-obiektu1, ponieważ została ona
właścicielem tego obiektu bazy danych. Nie ma potrzeby wygenerowana niejawnie podczas tworzenia typu
przekazywania tego obiektu bazy danych. nazwa-obiektu2 zdefiniowanego przez użytkownika.
Działanie użytkownika: 5 Nie można przekazać pakietu nazwa-obiektu1,
Nie jest wymagane żadne działanie. ponieważ zależy on od procedury SQL
nazwa-obiektu2.
kod_sql: +20341
6 Nie można przekazać monitora zdarzeń
nazwa-obiektu1, ponieważ jest on aktywny.
stan_sql: 01676
Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące:
SQL20342N Użytkownik id-autoryzowanego-użytkownika
nie ma jednego lub większej liczby 1 Przekaż całą hierarchię tabel.
wymaganych uprawnień lista-uprawnień w
2 Przekaż całą hierarchię widoków.
odniesieniu do obiektu nazwa-obiektu typu
typ-obiektu niezbędnych do zaistnienia 3 Usuń zadeklarowaną globalną tabelę tymczasową.
prawa własności do tego obiektu.
4 Usuń typ, którego wystąpienie spowodowało
Objaśnienie: utworzenie danej metody lub funkcji.
Za pomocą instrukcji TRANSFER nastąpiła próba przekazania
prawa własności do danego obiektu użytkownikowi o 5 Przekaż procedurę SQL.
identyfikatorze id-autoryzowanego-użytkownika, który nie ma 6 Ustaw monitor zdarzeń w stan nieaktywny.
wystarczających uprawnień, aby mógł być właścicielem tego
obiektu. Brakuje następujących uprawnień do obiektu kod_sql: -20344
nazwa-obiektu: lista-uprawnień.
stan_sql: 429BT
Nie można wykonać instrukcji.
Działanie użytkownika: SQL20345N Określona wartość XML nie jest poprawnie
Nadaj ID autoryzowanego użytkownika sformatowanym dokumentem z
id-autoryzowanego-użytkownika wszystkie potrzebne pojedynczym elementem głównym.
uprawnienia (zgodnie z listą uprawnień lista-uprawnień) do
obiektu nazwa-obiektu, aby użytkownik o tym identyfikatorze Objaśnienie:
mógł być właścicielem przekazywanego obiektu. Określona wartość XML nie jest poprawnie sformatowanym
dokumentem. Wartość XML, która jest zapisywana w tabeli
kod_sql: -20342 lub która ma zostać sprawdzona, musi być poprawnie
sformatowanym dokumentem XML z pojedynczym
stan_sql: 42514 elementem głównym. Węzeł dokumentu wartości XML nie
może mieć żadnych potomnych węzłów tekstowych, chociaż
może mieć potomne węzły komentarza lub węzły instrukcji
SQL20344N Przekazanie prawa własności do obiektu przetwarzania.
nazwa-obiektu1 nie powiodło się z powodu
zależności obejmującej obiekt Nie można wykonać instrukcji.
nazwa-obiektu2. Kod przyczyny =
kod-przyczyny. Działanie użytkownika:
Aby zapisać lub sprawdzić poprawność wartości XML, należy
Objaśnienie: zmodyfikować tę wartość tak, aby była poprawnie
Przekazanie prawa własności nie powiodło się z powodu sformatowanym dokumentem z pojedynczym elementem
zależności określonej przez jeden z następujących kodów głównym. Jeśli dokument jest poprawnie zbudowany, upewnij
przyczyny: się, że węzeł dokumentu wartości XML ma tylko pojedynczy
1 Nie można przekazać tabeli nazwa-obiektu1 w węzeł elementu jako element potomny i nie ma żadnego
hierarchii tabel nazwa-obiektu2, ponieważ jest to
podtabela.

Rozdział 2. Komunikaty SQL 613


SQL20346N • SQL20349N

potomnego węzła tekstowego. W przeciwnym razie nie należy stan_sql: 22536


dokonywać prób zapisania lub sprawdzenia poprawności tej
wartości XML.
SQL20349N Nie można uzyskać dostępu do odwzorowań
użytkowników w repozytorium odwzorowań
kod_sql: -20345
użytkowników dla wtyczki nazwa-wtyczki.
Kod przyczyny: kod-przyczyny.
stan_sql: 2200L
Objaśnienie:
Nie można uzyskać dostępu do odwzorowania użytkownika w
SQL20346N Schemat XML identyfikator-schematu-xml repozytorium odwzorowań użytkowników dla wtyczki
nie zawiera elementu globalnego o nazwie nazwa-wtyczki. Przyczynę błędu określa kod kod-przyczyny:
lokalna-nazwa-elementu w przestrzeni nazw
identyfikator-uri-przestrzeni-nazw. 1 Nie można załadować wtyczki odwzorowania
użytkownika.
Objaśnienie:
W specyfikacji operacji sprawdzenia poprawności określono, 2 Wersja interfejsu API wtyczki odwzorowania
że jawna nazwa lokalna elementu nazwa-lokalna-elementu w użytkownika zgłoszona przez wtyczkę
przestrzeni nazw o identyfikatorze identyfikator-uri- odwzorowania użytkownika jest niezgodna z wersją
przestrzeni-nazw powinna być elementem głównym interfejsu obsługiwaną przez oprogramowanie
sprawdzanego dokumentu XML. Jednakże w schemacie XML stowarzyszania.
o identyfikatorze SQL identyfikator-schematu-xml nie
3 Nie można nawiązać połączenia z repozytorium
występuje nazwa nazwa-lokalna-elementu zadeklarowana jako
odwzorowań użytkowników lub nastąpiło
element globalny w przestrzeni nazw o identyfikatorze
przekroczenie limitu czasu dla połączenia.
identyfikator-uri-przestrzeni-nazw.
4 Nie można znaleźć wpisu odwzorowania
Nie można wykonać instrukcji. użytkownika w danym repozytorium odwzorowań
użytkowników.
Działanie użytkownika:
Sprawdź, czy nazwa lokalna elementu nazwa-lokalna- 5 Wystąpił błąd związany z deszyfrowaniem podczas
elementu w przestrzeni nazw o identyfikatorze przetwarzania wpisu odwzorowania użytkownika
identyfikator-uri-przestrzeni-nazw jest poprawna dla danego pochodzącego z repozytorium odwzorowań
schematu XML i dokumentu XML, którego poprawność jest użytkowników.
sprawdzana. Zmień nazwę lokalną elementu, przestrzeń nazw
6 Zakończenie połączenia z repozytorium
lub schemat XML i spróbuj ponownie wykonać sprawdzenie
odwzorowań użytkowników nie powiodło się.
poprawności.
7 Przekazano niepoprawny parametr do wtyczki
kod_sql: -20346 odwzorowania użytkownika.
8 Wykryto wywołanie wtyczki odwzorowania
stan_sql: 22535 użytkownika wykonane bez odpowiednich
uprawnień.
SQL20347N Wartość XML nie zawiera elementu 9 Nie udało się zakończyć działania wtyczki
głównego o nazwie lokalna-nazwa-elementu w odwzorowania użytkowników.
przestrzeni nazw identyfikator-uri-
przestrzeni-nazw. 10 Wykryto nieoczekiwany błąd.
Objaśnienie: Działanie użytkownika:
Element główny dokumentu XML jest niezgodny z wymaganą Szczegółowe informacje o wtyczkach odwzorowań
nazwą lokalną elementu nazwa-lokalna-elementu w użytkowników można znaleźć w dokumentacji
przestrzeni nazw o identyfikatorze identyfikator-uri- stowarzyszania. Działanie użytkownika zależy od kodu
przestrzeni-nazw określoną dla operacji sprawdzenia przyczyny kod-przyczyny w następujący sposób:
poprawności.
1 Sprawdź, czy istnieje określona wtyczka
odwzorowania użytkownika i czy znajduje się ona
Nie można wykonać instrukcji. we właściwym położeniu.
Działanie użytkownika: 2 Upewnij się, że dana wtyczka odwzorowania
Podaj wartość XML, w której element główny jest zgodny z użytkownika korzysta z wersji interfejsu API
określoną nazwą lokalną elementu i przestrzenią nazw. Jeśli obsługiwanej przez oprogramowanie stowarzyszania
podana wartość XML jest poprawna, zmień określoną nazwę i że zgłasza właściwy numer wersji interfejsu.
lokalną elementu lub przestrzeń nazw.
3 Sprawdź, czy działa repozytorium odwzorowań
kod_sql: -20347 użytkowników i czy dla wtyczki odwzorowania

614 Komunikaty, tom 2


SQL20350N • SQL20353N

użytkownika określono poprawne parametry Aby zmienić opcje dotyczące wtyczki DB2_UM_PLUGIN,
połączenia z repozytorium. które są już określone dla serwera, zmień bezpośrednio opcje
serwera.
4 W repozytorium odwzorowań użytkowników utwórz
odpowiedni wpis odwzorowania użytkownika.
kod_sql: +20351
5 Upewnij się, że we wtyczce odwzorowania
użytkownika właściwie zaimplementowano logikę stan_sql: 01677
deszyfrowania.
6 Sprawdź, czy działa repozytorium odwzorowań SQL20352W Zmiany odwzorowania użytkownika
użytkowników i sieć. dotyczą tylko tabeli w katalogu
stowarzyszonym, a nie zewnętrznego
7 Upewnij się, że wszystkie wartości parametrów
repozytorium odwzorowań użytkowników.
przekazywane do wtyczki odwzorowania
użytkownika są poprawne. Objaśnienie:
Opcja DB2_UM_PLUGIN została ustawiona dla serwera.
8 Sprawdź, czy oprogramowanie stowarzyszania ma
Odwzorowania użytkowników dla tego serwera odczytywane
uprawnienia wymagane do wywoływania wtyczki
są z zewnętrznego repozytorium odwzorowań użytkowników,
odwzorowania użytkownika.
jednak użycie instrukcji CREATE USER MAPPING, ALTER
9 Sprawdź, czy mogą zostać zwolnione zasoby USER MAPPING i DROP (USER MAPPING) ma wpływ
globalne na poziomie wtyczki. tylko na odwzorowania użytkowników w tabeli w katalogu
stowarzyszonym.
10 Upewnij się, że wtyczka odwzorowuje błąd na jeden
ze zdefiniowanych błędów. Informacje śledzenia Działanie użytkownika:
dotyczące tego błędu mogą być dostępne w pliku Aby utworzyć, zmodyfikować lub usunąć odwzorowania
db2diag.log. użytkowników, użyj innego interfejsu zewnętrznego
repozytorium odwzorowań użytkowników.
kod_sql: -20349
kod_sql: +20352
stan_sql: 429BU
stan_sql: 01678
SQL20350N Uwierzytelnienie w repozytorium
odwzorowań użytkowników dla wtyczki SQL20353N W operacji polegającej na porównaniu nie
nazwa-wtyczki nie powiodło się. można użyć operandu nazwa
zdefiniowanego jako operand typu
Objaśnienie:
nazwa-typu.
Nie można uzyskać dostępu do odwzorowania użytkownika w
repozytorium odwzorowań użytkowników dla wtyczki Objaśnienie:
nazwa-wtyczki, ponieważ nie powiodło się uwierzytelnienie w Użycie wartości określonej przez nazwę nazwa zdefiniowanej
repozytorium odwzorowań użytkowników. jako wartość typu nazwa-typu jest niedozwolone w operacjach,
w których wykonywane jest porównanie wartości. Użycie
Działanie użytkownika:
wyrażenia, którego wynik jest wartością typu nazwa-typu, jest
Szczegółowe informacje o wtyczkach odwzorowań
niedozwolone w następujących sytuacjach:
użytkowników można znaleźć w dokumentacji
stowarzyszania. Popraw parametry referencji połączenia z v instrukcji SELECT DISTINCT,
repozytorium danej wtyczki. v klauzuli GROUP BY,
v klauzuli ORDER BY,
kod_sql: -20350
v funkcji agregującej z opcją DISTINCT,
stan_sql: 42516 v instrukcjach SELECT lub VALUES operatora
mnogościowego innego niż UNION.

SQL20351W Opcje opakowania zostały zignorowane dla Nie można wykonać instrukcji.
serwerów opakowania nazwa-opakowania,
dla których zdefiniowana jest już określona Działanie użytkownika:
wtyczka. Żądana operacja na danych typu nazwa-typu jest
nieobsługiwana. Prawdopodobnie możliwa jest zmiana
Objaśnienie: wartości określonego typu danych na obsługiwany typ danych
Określone dla serwera opcje dotyczące istniejącej wtyczki przy użyciu rzutowania lub innej funkcji.
DB2_UM_PLUGIN nie są zastępowane w wyniku tworzenia
lub modyfikowania opcji związanych z wtyczką kod_sql: -20353
DB2_UM_PLUGIN odpowiedniego opakowania.
Działanie użytkownika: stan_sql: 42818

Rozdział 2. Komunikaty SQL 615


SQL20354N • SQL20358N

Szczegółowe informacje można znaleźć w dzienniku


SQL20354N Niepoprawna specyfikacja kolumny
powiadomień administracyjnych. Prawdopodobnie konieczne
datownika zmiany wiersza dla tabeli
jest ręczne wykonanie działań naprawczych na
nazwa-tabeli.
stowarzyszonych serwerach źródeł danych z zatwierdzaniem
Objaśnienie: jednofazowym. Może być konieczne skorzystanie z pomocy
Specyfikacja kolumny datownika zmiany wiersza jest administratora systemu.
niepoprawna ze względu na jedną z poniższych przyczyn.
Kolumna datownika zmiany wiersza nie może: W przypadku przyczyny 5 odłącz aplikację od serwera
v być kolumną klucza podstawowego, stowarzyszonego, na przykład wydaj komendę CLP ’connect
reset’ i ponów połączenie.
v być kolumną klucza obcego,
v być kolumną klauzuli zależności funkcjonalnej DEPENDS kod_sql: -20357
ON,
v być kolumną klucza partycjonowania bazy danych, stan_sql: 40003
v być zdefiniowana dla tabeli tymczasowej.
SQL20358N Wystąpił błąd podczas przetwarzania
Nie można wykonać instrukcji. związanego z zatwierdzaniem lub
Działanie użytkownika: wycofywaniem zmian. Możliwe, że
Popraw składnię i wprowadź ponownie instrukcję. transakcja wykonywana na niektórych
stowarzyszonych serwerach źródeł danych z
kod_sql: -20354 zatwierdzaniem jednofazowym jest
wątpliwa. Można wykonywać kolejne
stan_sql: 429BV instrukcje SQL. Kod przyczyny:
kod-przyczyny.

SQL20357N Nie powiodło się przetwarzanie podczas Objaśnienie:


operacji zatwierdzenia lub wycofania zmian Serwer stowarzyszony wysłał żądanie zatwierdzenia transakcji
na jednym lub wielu stowarzyszonych lub wycofania zmian, lecz na jednym lub wielu
serwerach źródeł danych z zatwierdzaniem stowarzyszonych serwerach źródeł danych z zatwierdzaniem
jednofazowym. Dlatego efekty transakcji dwufazowym żądanie to nie mogło zostać obsłużone.
mogą być niespójne na wszystkich Przyczyną może być awaria serwera, awaria łącza
serwerach. Można wykonywać kolejne komunikacyjnego lub inna awaria. Możliwe, że transakcja
instrukcje SQL. Kod przyczyny: wykonywana na stowarzyszonym serwerze źródła danych z
kod-przyczyny. zatwierdzaniem dwufazowym jest wątpliwa.

Objaśnienie: Kod przyczyny wskazuje konkretną sytuację.


Serwer stowarzyszony wysłał żądanie zatwierdzenia transakcji
1. Brakuje potwierdzenia zatwierdzenia ze stowarzyszonego
lub wycofania zmian, lecz na jednym lub wielu
serwera źródła danych.
stowarzyszonych serwerach źródeł danych z zatwierdzaniem
jednofazowym żądanie to nie mogło zostać obsłużone. 2. Brakuje potwierdzenia anulowania ze stowarzyszonego
Przyczyną może być awaria serwera, awaria łącza serwera źródła danych.
komunikacyjnego lub inna awaria. Zatwierdzenie tej transakcji 3. Wystąpił błąd podczas wycofywania zmian. Możliwe, że
lub wycofanie zmian nie zostało ukończone. transakcja wykonywana na stowarzyszonym serwerze
źródła danych z zatwierdzaniem dwufazowym jest
Kod przyczyny wskazuje konkretną sytuację. wątpliwa.
1. Niepowodzenie przy zatwierdzaniu nie ma związku z 4. Podczas przetwarzania zatwierdzania lub wycofywania
aktualizacją stowarzyszonego źródła danych. zmian wystąpił błąd spowodowany nieprawidłowym
2. Niepowodzenie przy zatwierdzaniu jest związane z zakończeniem procesu db2fmp na serwerze
aktualizacją stowarzyszonego źródła danych. stowarzyszonym, błąd ’-430’.
3. Niepowodzenie przy wycofywaniu zmian nie ma związku Działanie użytkownika:
z aktualizacją stowarzyszonego źródła danych. Określ przyczynę błędu. Może zaistnieć konieczność
4. Niepowodzenie przy wycofywaniu zmian jest związane z zgłoszenia problemu administratorowi systemu, ponieważ
aktualizacją stowarzyszonego źródła danych. najczęstszą przyczyną tego błędu jest awaria serwera
stowarzyszonego, awaria stowarzyszonego serwera źródła
5. Podczas przetwarzania zatwierdzania lub wycofywania danych lub uszkodzenie połączenia. W wypadku awarii
zmian wystąpił błąd spowodowany nieprawidłowym serwera stowarzyszonego użycie komendy RESTART
zakończeniem procesu db2fmp na serwerze DATABASE spowoduje zakończenie procesu zatwierdzania
stowarzyszonym, błąd ’-430’. transakcji lub wycofywania zmian. W wypadku awarii
Działanie użytkownika: stowarzyszonego serwera źródła danych należy zrestartować
uszkodzone źródło danych. W wypadku awarii połączenia,

616 Komunikaty, tom 2


SQL20360W • SQL20363N

należy skonsultować się z administratorem sieci i/lub Działanie użytkownika:


specjalistą ds. komunikacji w celu określenia przyczyny Użyj ID autoryzowanego użytkownika nazwa-
problemu. autoryzowanego-użytkownika oraz przedstawionych poniżej
wyjaśnień kodu przyczyny kod-przyczyny, aby określić
W przypadku przyczyny 3 sprawdź możliwe transakcje działanie, które należy wykonać.
wątpliwe na stowarzyszonym serwerze źródła danych i, jeśli
1 ID autoryzowanego użytkownika nie jest
są, rozstrzygnij je ręcznie.
dozwolonym użytkownikiem zaufanego kontekstu.
Podaj ID autoryzowanego użytkownika, który jest
W przypadku przyczyny 4 odłącz aplikację od serwera dozwolonym użytkownikiem zaufanego kontekstu,
stowarzyszonego, na przykład wydaj komendę CLP ’connect tak jak to opisano w definicji zaufanego kontekstu.
reset’ i ponów połączenie.
2 Żądanie przełączenia użytkownika nie obejmuje
kod_sql: -20358 elementu uwierzytelniania. Udostępnij element
uwierzytelniania dla ID autoryzowanego
stan_sql: 08007 użytkownika.
3 Obiekt zaufanego kontekstu jest wyłączony, został
SQL20360W Nie można nawiązać zaufanego połączenia usunięty lub jego systemowy ID autoryzowanego
dla podanego ID autoryzowanego użytkownika został zmieniony. Dozwolony jest tylko
użytkownika. ID autoryzowanego użytkownika, który ustanowił
zaufane połączenie. Należy podać ten ID
Objaśnienie: autoryzowanego użytkownika.
Nie można nawiązać zaufanego połączenia dla podanego ID
autoryzowanego użytkownika. Obecnie nie jest zdefiniowany kod_sql: -20361
żaden pasujący zaufany kontekst lub podany serwer nie
obsługuje zaufanego kontekstu. stan_sql: 42517

Próba utworzenia zaufanego połączenia zakończyła się


niepowodzeniem i utworzone zostało zwykłe połączenie. SQL20362N Atrybutu nazwa-atrybutu o wartości wartość
nie można usunąć ani zmodyfikować,
Użytkownicy systemu stowarzyszonego: Jeśli ten komunikat ponieważ nie jest częścią definicji zaufanego
jest zwracany podczas żądania stowarzyszonego, to próba kontekstu nazwa-kontekstu.
utworzenia zaufanego połączenia między stowarzyszoną bazą Objaśnienie:
danych a zdalnym serwerem nie powiodła się i w zamian Atrybut nazwa-atrybutu został określony dla zaufanego
zostało utworzone zwykłe połączenie. kontekstu, ale w zaufanym kontekście nie ma zdefiniowanego
Działanie użytkownika: atrybutu o takiej nazwie. Nie można wykonać instrukcji.
Upewnij się, że na danym serwerze obsługiwany jest zaufany Działanie użytkownika:
kontekst i że zaufany kontekst został poprawnie zdefiniowany, Usuń nazwę nieobsługiwanego atrybutu i wywołaj ponownie
a następnie spróbuj ponownie ustanowić zaufane połączenie. instrukcję.

Użytkownicy systemu stowarzyszonego: Należy się upewnić, kod_sql: -20362


że zdalny serwer obsługuje zaufane konteksty i że zaufany
kontekst został poprawnie zdefiniowany na tym serwerze stan_sql: 4274C
zdalnym.

kod_sql: +20360 SQL20363N Atrybut nazwa-atrybutu o wartości wartość


nie jest unikalny dla zaufanego kontekstu
stan_sql: 01679 nazwa-kontekstu.
Objaśnienie:
SQL20361N Żądanie przełączenia użytkownika Podczas tworzenia lub zmiany zaufanego kontekstu
korzystające z ID autoryzowanego nazwa-kontekstu dla atrybutu nazwa-atrybutu określona
użytkownika nazwa-autoryzowanego- została podwójna wartość wartość. Każda para (nazwa
użytkownika w zaufanym kontekście atrybutu, wartość) musi być unikalna dla zaufanego kontekstu.
nazwa-kontekstu nie powiodło się z
przyczyny kod-przyczyny. Nie można wykonać instrukcji.

Objaśnienie: Działanie użytkownika:


Żądanie przełączenia użytkownika w zaufanym kontekście Usuń nieunikalną specyfikację atrybutu nazwa-atrybutu i
nazwa-kontekstu zakończyło się niepowodzeniem. Zaufane wywołaj ponownie instrukcję.
połączenie jest w stanie rozłączenia.
kod_sql: -20363

Rozdział 2. Komunikaty SQL 617


SQL20364N • SQL20372N

stan_sql: 4274D Działanie użytkownika:


Aby zapobiec stałemu zwracaniu ostrzeżenia, znajdź krotkę
lub krotki zawierające sygnalizacyjną wartość nieokreśloną i
SQL20364N Identyfikator o nazwie nazwa na pozycji
wyklucz je z zapytania.
porządkowej numer w instrukcji jest zbyt
długi.
kod_sql: +20365
Objaśnienie:
Co najmniej jeden identyfikator w opisywanej instrukcji jest stan_sql: 01565
zbyt długi, aby zmieścił się w buforze docelowym. Pierwsza
nazwa, która jest zbyt długa, jest identyfikowana przez nazwę
nazwa i pozycję porządkową numer. Jeśli instrukcja describe SQL20371W Zdolność wykorzystania zaufanego
output jest wykonywana w odniesieniu do przygotowanego kontekstu nazwa-kontekstu została usunięta z
zapytania, pozycja porządkowa jest określana względem niektórych, ale nie wszystkich, ID
kolumny listy wyboru zapytania. Jeśli instrukcja describe autoryzowanego użytkownika określonych
output jest wykonywana w odniesieniu do instrukcji CALL, w instrukcji.
pozycja porządkowa jest określana względem parametru OUT Objaśnienie:
lub INOUT procedury, na którą tłumaczona jest instrukcja Instrukcja ALTER TRUSTED CONTEXT dla zaufanego
CALL. Jeśli instrukcja describe input jest wykonywana w kontekstu nazwa-kontekstu zawierała klauzulę DROP USE
odniesieniu do instrukcji CALL, pozycja porządkowa jest FOR z wieloma parametrami ID autoryzowanego użytkownika
określana względem parametru IN lub INOUT procedury, na lub PUBLIC, ale jeden (lub więcej) ID autoryzowanego
którą tłumaczona jest instrukcja CALL. użytkownika nie został zdefiniowany do korzystania z
zaufanego kontekstu. Z definicji zaufanego kontekstu usunięto
Nazwa kolumny, nazwa parametru, nazwa typu jednego lub więcej użytkowników, ale jeden lub więcej z
zdefiniowanego przez użytkownika lub nazwa schematu typu pozostałych użytkowników nie był wcześniej uprawniony do
zdefiniowanego przez użytkownika była zbyt długa albo stała korzystania z zaufanego kontekstu.
się zbyt długa po konwersji strony kodowej. Należy pamiętać,
że długość nazwy kolumny, nazwy parametru, nazwy typu Instrukcja została wykonana.
zdefiniowanego przez użytkownika i nazwy schematu typu
zdefiniowanego przez użytkownika jest ograniczona, gdy Działanie użytkownika:
używana jest struktura SQLDA. Upewnij się, że zdolność korzystania z zaufanego kontekstu
została zgodnie z zamierzeniem usunięta ze wszystkich ID
Działanie użytkownika: autoryzowanego użytkownika.
Wykonaj jedną z następujących czynności:
1. Użyj klienta, którego strona kodowa nie powoduje wzrostu kod_sql: +20371
długości ponad obsługiwane maksimum.
2. W przypadku nazwy kolumny zmodyfikuj tabelę, widok stan_sql: 01682
lub pseudonim tak, aby kolumna miała krótszą nazwę.
3. W przypadku nazwy parametru zmodyfikuj procedurę tak, SQL20372N Zaufany kontekst nazwa-kontekstu określił
aby parametr miał krótszą nazwę. ID autoryzowanego użytkownika
4. W przypadku nazwy typu zdefiniowanego przez nazwa-autoryzowanego-użytkownika, który
użytkownika lub nazwy schematu typu zdefiniowanego już został określony dla innego zaufanego
przez użytkownika usuń i na nowo utwórz typ kontekstu.
zdefiniowany przez użytkownika, nadając mu krótszą Objaśnienie:
nazwę. W instrukcji CREATE TRUSTED CONTEXT lub ALTER
5. W przypadku nazwy schematu zmodyfikuj tabelę, widok, TRUSTED CONTEXT dla zaufanego kontekstu
procedurę lub typ zdefiniowany przez użytkownika. nazwa-kontekstu określono SYSTEM AUTHID
nazwa-autoryzowanego-użytkownika, ale ten ID
kod_sql: -20364 autoryzowanego użytkownika jest już zdefiniowany do
korzystania z innego zaufanego kontekstu. Systemowy ID
stan_sql: 42622 autoryzowanego użytkownika, który jest zdefiniowany jako
SYSTEM AUTHID dla zaufanego kontekstu, nie może być
powiązany z innym zaufanym kontekstem jako SYSTEM
SQL20365W Napotkano sygnalizacyjną wartość AUTHID.
nieokreśloną w operacji arytmetycznej lub
funkcji uwzględniającej typ DECFLOAT.
Użyj następującego zapytania, aby określić, który zaufany
Objaśnienie: kontekst korzysta już z ID autoryzowanego użytkownika:
Napotkano sygnalizacyjną wartość nieokreśloną (sNaN) w SELECT CONTEXTNAME FROM SYSCAT.CONTEXTS
wyrażeniu, operacji arytmetycznej lub funkcji uwzględniającej WHERE SYSTEMAUTHID =
kolumnę lub wartość typu DECFLOAT. Wynikiem jest <nazwa-autoryzowanego-użytkownika>
wartość nieokreślona.

618 Komunikaty, tom 2


SQL20373N • SQL20377N

Nie można wykonać instrukcji. korzystania z zaufanego kontekstu, ale podany parametr ID
autoryzowanego użytkownika lub PUBLIC nie ma aktualnie
Działanie użytkownika:
zdefiniowanej możliwości korzystania z zaufanego kontekstu.
Zmień ID autoryzowanego użytkownika na systemowy ID
autoryzowanego użytkownika dla zaufanego kontekstu i
Nie można wykonać instrukcji.
wywołaj ponownie instrukcję CREATE lub ALTER.
Działanie użytkownika:
kod_sql: -20372 Jeśli instrukcja ALTER TRUSTED CONTEXT zawierała
klauzulę REPLACE USE FOR i zaufany kontekst nie został
stan_sql: 428GL jeszcze zdefiniowany jako możliwy do użycia przez ten ID
autoryzowanego użytkownika lub w trybie PUBLIC, to w
zamian użyj klauzuli ADD USE FOR, aby zaufany kontekst
SQL20373N W instrukcji CREATE TRUSTED zdefiniować jako możliwy do użycia przez określonych
CONTEXT lub ALTER TRUSTED użytkowników. Jeśli instrukcja ALTER TRUSTED
CONTEXT określono CONTEXT zawierała klauzulę DROP USE FOR, dla żadnego
nazwa-autoryzowanego-użytkownika więcej z określonych parametrów ID autoryzowanego użytkownika
niż jeden raz lub zaufany kontekst jest już lub PUBLIC nie zdefiniowano możliwości korzystania z
zdefiniowany do użycia przez ten parametr zaufanego kontekstu.
ID autoryzowanego użytkownika lub
PUBLIC.
kod_sql: -20374
Objaśnienie:
W instrukcji określono, że nazwa-autoryzowanego- stan_sql: 428GN
użytkownika może korzystać z zaufanego kontekstu, ale
określony parametr ID autoryzowanego użytkownika lub
SQL20377N Niedozwolony znak XML
PUBLIC jest już zdefiniowany do korzystania z zaufanego
szesnastkowa-wartość-znaku został znaleziony
kontekstu lub ID autoryzowanego użytkownika został
w wyrażeniu SQL/XML lub argumencie
określony w instrukcji więcej niż jeden raz. Parametr ID
funkcji zaczynającym się łańcuchem
autoryzowanego użytkownika lub PUBLIC nie może korzystać
łańcuch-początkowy.
z zaufanego kontekstu i w instrukcji dla zaufanego kontekstu
może być określony tylko raz. Objaśnienie:
Podczas obsługi wyrażenia SQL/XML lub funkcji nastąpiła
Nie można wykonać instrukcji. próba przekształcenia wartości łańcucha SQL jednego z
argumentów na łańcuch XML, lecz w łańcuchu tym
Działanie użytkownika:
występował znak o punkcie kodowym Unicode
Jeśli parametr ID autoryzowanego użytkownika lub PUBLIC
szesnastkowa-wartość-znaku, który według specyfikacji XML
został określony więcej niż jeden raz, usuń dodatkową
1.0 jest znakiem niedozwolonym. Znak ten znajduje się w
specyfikację parametru nazwa-autoryzowanego-użytkownika i
łańcuchu, w którym na początku występuje łańcuch
wykonaj ponownie instrukcję. Jeśli instrukcja ALTER
łańcuch-początkowy. Wartość szesnastkowa-wartość-znaku,
TRUSTED CONTEXT zawierała klauzulę ADD USE FOR, a
która jest punktem kodowym Unicode o wartości ″#xH″ (gdzie
zaufany kontekst już został zdefiniowany pod kątem użycia
H to jeden lub więcej znaków wartości szesnastkowej),
przez dany ID autoryzowanego użytkownika lub w trybie
reprezentuje niedozwolony znak. Dozwolone są znaki z
PUBLIC, użyj w zamian klauzuli REPLACE USE FOR, aby
następującego zestawu znaków Unicode (zdefiniowane przy
przedefiniować charakterystykę użycia tak, aby tego
użyciu wyrażenia regularnego): #x9 | #xA | #xD |
zaufanego kontekstu używali określeni użytkownicy.
[#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF].
Przykładowe wyrażenia SQL/XML lub funkcje, w których
kod_sql: -20373 może wystąpić ten błąd, to: XMLCAST, XMLELEMENT,
XMLFOREST, XMLAGG, XMLDOCUMENT, XMLTEXT,
stan_sql: 428GM XMLATTRIBUTES, XMLQUERY lub XMLTABLE.

SQL20374N Za pomocą instrukcji ALTER TRUSTED Nie można wykonać instrukcji.


CONTEXT dla kontekstu nazwa-kontekstu Działanie użytkownika:
określono nazwa-autoryzowanego- Usuń niedozwolony znak szesnastkowa-wartość-znaku lub
użytkownika, ale definicja tego zaufanego zastąp go dozwolonym znakiem.
kontekstu nie umożliwia aktualnie używania
go przez ten ID autoryzowanego
kod_sql: -20377
użytkownika lub w trybie PUBLIC.
Objaśnienie: stan_sql: 0N002
W instrukcji ALTER TRUSTED CONTEXT dla zaufanego
kontekstu nazwa-kontekstu próbowano zastąpić lub usunąć
zdolność użytkownika nazwa-autoryzowanego-użytkownika do

Rozdział 2. Komunikaty SQL 619


SQL20379N • SQL20388N

SQL20379N Użytkownik o danym ID autoryzowanego SQL20386N W instrukcji DECLARE CURSOR nie


użytkownika nie może użyć swojego można użyć wyrażenia XQuery.
uprawnienia SECADM do przekazania
Objaśnienie:
samemu sobie prawa własności do obiektu.
W instrukcji DECLARE CURSOR użycie wyrażenia XQuery
Objaśnienie: bezpośrednio po słowie kluczowym FOR jest niedozwolone.
Użytkownik o ID autoryzowanego użytkownika z Wyrażenie XQuery może zostać skojarzone z kursorem
uprawnieniem SECADM nie może przekazać prawa własności wyłącznie przy użyciu nazwy przygotowanej instrukcji.
do obiektu, jeśli nie jest jego właścicielem. Może on jednak
Działanie użytkownika:
przekazać prawo własności do obiektu użytkownikowi o
Usuń wyrażenie XQuery z instrukcji DECLARE CURSOR i
innym ID autoryzowanego użytkownika.
zastąp je nazwą instrukcji. Przygotuj wyrażenie XQuery za
pomocą instrukcji PREPARE z tą samą nazwą instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika: kod_sql: -20386
Jako nowego właściciela obiektu wybierz użytkownika o
innym ID autoryzowanego użytkownika. stan_sql: 42637

kod_sql: -20379
SQL20387N Dla komponentu etykiety bezpieczeństwa
nazwa-komponentu zostały określone dwa lub
stan_sql: 42502
więcej elementów.
Objaśnienie:
SQL20383W Wystąpiły błędy i zostały pominięte zgodnie
W etykiecie bezpieczeństwa nie może występować wiele
z klauzulą RETURN DATA UNTIL.
elementów dla komponentu typu ARRAY.
Objaśnienie:
Działanie użytkownika:
Podczas przetwarzania napotkano i zignorowano co najmniej
Podaj tylko jeden element dla komponentu etykiety
jeden błąd - zgodnie ze specyfikacją w klauzuli RETURN
bezpieczeństwa nazwa-komponentu.
DATA UNTIL - i realizacja zapytania nie została przerwana.
Wyniki dla danego zapytania mogą różnić się od wyników,
kod_sql: -20387
które zostałyby uzyskane, gdyby ten błąd nie wystąpił.
Działanie użytkownika: stan_sql: 428GP
Należy pamiętać, że wyniki danego zapytania mogą być
niekompletne. Jeśli jest to wskazane, należy określić
przyczynę wystąpienia tolerowanego błędu i usunąć ją. SQL20388N Podano zbyt wiele elementów dla
komponentu etykiety bezpieczeństwa
nazwa-komponentu.
kod_sql: +20383
Objaśnienie:
stan_sql: 02506 Dla komponentu etykiety bezpieczeństwa typu SET lub TREE
można określić co najwyżej 64 elementy. Dla komponentu
etykiety bezpieczeństwa nazwa-komponentu określono więcej
SQL20384W Podane ustawienia narodowe nie są
elementów.
obsługiwane. Komunikat został zwrócony
przy użyciu angielskich ustawień
Dla komponentu etykiety bezpieczeństwa typu ARRAY
narodowych.
maksymalna liczba elementów wynosi 65 535. Jeśli elementy
Objaśnienie: są dodawane za pomocą instrukcji ALTER SECURITY
Podane ustawienia narodowe nie są obsługiwane przez LABEL COMPONENT, rzeczywisty limit może być niższy
menedżer bazy danych. niż maksymalny z powodu sposobu, w jaki baza danych DB2
przypisuje wartość kodowaną do każdego nowego elementu.
Działanie użytkownika:
Zapoznaj się z sekcją dotyczącą planowania pod kątem Działanie użytkownika:
obsługiwanych stron kodowych i terytoriów w podręczniku Dla komponentów etykiety bezpieczeństwa TREE i SET usuń
Administration Guide lub odszukaj informacje na temat niektóre elementy, tak aby pozostało nie więcej niż 64
obsługiwanych języków serwera i odpowiadających im elementy. Jeśli dla komponentów bezpieczeństwa typu
wartości ustawień narodowych w Centrum informacyjnym ARRAY wartość maksymalna nie została osiągnięta, usuń i
DB2. utwórz komponent ponownie, określając wszystkie żądane
elementy.
kod_sql: +20384
kod_sql: -20388
stan_sql: 01684
stan_sql: 54061

620 Komunikaty, tom 2


SQL20389N • SQL20393N

kod_sql: -20390
SQL20389N Element komponentu element nie jest
zdefiniowany w komponencie etykiety
bezpieczeństwa nazwa-komponentu. stan_sql: 4274G

Objaśnienie:
Dany element komponentu element nie istnieje w definicji SQL20391N Nie można zastosować kontroli dostępu
komponentu etykiety bezpieczeństwa nazwa-komponentu. opartej na etykietach względem kolumny
nazwa-kolumny, ponieważ nie ma strategii
Działanie użytkownika: bezpieczeństwa powiązanej z daną tabelą.
Podaj poprawny element komponentu. Do uzyskania listy
poprawnych elementów dla komponentów etykiety Objaśnienie:
bezpieczeństwa można użyć poniższego zapytania: Aby użyć klauzuli SECURED WITH z kolumną
nazwa-kolumny lub zdefiniować ją z typem danych
SELECT ELEMENTVALUE FROM DB2SECURITYLABEL, z tabelą musi być powiązana
SYSCAT.SECLABELCOMPONENTELEMENTS
strategia bezpieczeństwa.
WHERE COMPID=(SELECT COMPID FROM
SYSCAT.SECLABELCOMPONENTS Działanie użytkownika:
WHERE COMPNAME = nazwa-komponentu ) Dodaj do tabeli strategię bezpieczeństwa, korzystając z
klauzuli SECURITY POLICY w instrukcji CREATE TABLE
Jeśli ten błąd został zwrócony podczas wykonywania funkcji lub z klauzuli ADD SECURITY POLICY w instrukcji ALTER
skalarnej SECLABEL, wówczas należy dodatkowo sprawdzić TABLE.
łańcuch etykiety bezpieczeństwa, aby się upewnić, że
porządek wartości na liście jest zgodny z porządkiem kod_sql: -20391
odpowiednich komponentów w strategii bezpieczeństwa.
stan_sql: 55064
kod_sql: -20389

stan_sql: 4274F SQL20392N Tabela tabela już ma strategię


bezpieczeństwa.

SQL20390N Komponent etykiety bezpieczeństwa Objaśnienie:


nazwa-komponentu nie jest zdefiniowany w Z tabelą może być powiązana co najwyżej jedna strategia
strategii bezpieczeństwa bezpieczeństwa. Po skojarzeniu strategii bezpieczeństwa z
strategia-bezpieczeństwa, więc tego tabelą, strategii tej nie można zmienić.
komponentu nie można użyć w etykiecie Działanie użytkownika:
bezpieczeństwa etykieta-bezpieczeństwa. Nie próbuj powiązać innej strategii bezpieczeństwa z daną
Objaśnienie: tabelą.
Etykiety bezpieczeństwa mogą zawierać wyłącznie wartości
dla komponentów zdefiniowanych w strategii bezpieczeństwa, kod_sql: -20392
której dana etykieta jest częścią. Komponent etykiety
bezpieczeństwa nazwa-komponentu nie jest częścią strategii stan_sql: 55065
bezpieczeństwa strategia-bezpieczeństwa. Etykieta
bezpieczeństwa etykieta-bezpieczeństwa jest częścią innej
SQL20393N Przekroczono maksymalną liczbę
strategii bezpieczeństwa, dlatego komponent
komponentów w strategii bezpieczeństwa
nazwa-komponentu nie może zostać użyty w tej etykiecie
strategia-bezpieczeństwa.
bezpieczeństwa.
Objaśnienie:
Działanie użytkownika:
W strategii bezpieczeństwa może występować co najwyżej 16
Podaj komponent etykiety bezpieczeństwa, który jest częścią
komponentów.
strategii bezpieczeństwa strategia-bezpieczeństwa. Użyj
poniższego zapytania, aby uzyskać listę komponentów Działanie użytkownika:
etykiety bezpieczeństwa, które są częścią strategii Zmniejsz liczbę komponentów określonych dla strategii
bezpieczeństwa: bezpieczeństwa strategia-bezpieczeństwa.
SELECT COMPNAME FROM
SYSCAT.SECURITYLABELCOMPONENTS kod_sql: -20393
WHERE
COMPID=(SELECT COMPID FROM stan_sql: 54062
SYSCAT.SECURITYPOLICYCOMPONENTRULES
WHERE SECPOLICYID = (SELECT
SECPOLICYID FROM
SYSCAT.SECURITYPOLICIES
WHERE SECPOLICYNAME =
’<strategia-bezpieczeństwa>’) )

Rozdział 2. Komunikaty SQL 621


SQL20394N • SQL20397W

dotyczącej dostępu dla operacji WRITE należą do zbioru


SQL20394N Reguła dostępu reguła-dostępu nie istnieje w
wartości poddrzewa etykiety bezpieczeństwa dotyczącej
zestawie reguł używanym w strategii
dostępu dla operacji READ.
bezpieczeństwa nazwa-strategii.
Objaśnienie: kod_sql: -20395
Reguła dostępu reguła-dostępu określona w instrukcji GRANT
EXEMPTION lub REVOKE EXEMPTION nie jest częścią stan_sql: 428GQ
zestawu reguł LBAC używanego przez strategię
bezpieczeństwa nazwa-strategii.
SQL20396N Nie można znaleźć etykiety bezpieczeństwa
Działanie użytkownika: o nazwie nazwa-etykiety-bezpieczeństwa dla
Podana reguła dostępu nie istnieje w zestawie reguł używanym strategii bezpieczeństwa nazwa-strategii.
przez określoną strategię bezpieczeństwa.
Objaśnienie:
kod_sql: -20394 Nie można znaleźć etykiety bezpieczeństwa o nazwie
nazwa-etykiety-bezpieczeństwa dla strategii bezpieczeństwa
nazwa-strategii. Dlatego wykonywanie wbudowanej funkcji
stan_sql: 4274H
SECLABEL_BY_NAME nie powiodło się.
Działanie użytkownika:
SQL20395N Nadanie etykiety bezpieczeństwa
Sprawdź pisownię nazwy nazwa-etykiety-bezpieczeństwa.
etykieta-bezpieczeństwa-1 koliduje z etykietą
Upewnij się, że używana jest poprawna nazwa strategii
bezpieczeństwa etykieta-bezpieczeństwa-2,
bezpieczeństwa.
która jest również nadana identyfikatorowi
nazwa-autoryzowanego-id.
kod_sql: -20396
Objaśnienie:
Jeśli jednemu użytkownikowi, grupie lub roli nadano dwie stan_sql: 4274I
różne etykiety, jedną dotyczącą dostępu dla operacji WRITE i
inną dotyczącą dostępu dla operacji READ, muszą one
spełniać następujące kryteria: SQL20397W Wykonywanie procedury nazwa-procedury
zostało zakończone, ale podczas jej
1. W wypadku komponentów etykiet bezpieczeństwa typu
wykonywania napotkano co najmniej jeden
ARRAY dana wartość musi być taka sama w obu
błąd kod-błędu. Dostępne są dodatkowe
etykietach bezpieczeństwa.
informacje na ten temat.
2. W wypadku komponentów etykiet bezpieczeństwa typu
SET wartości podane dla etykiety bezpieczeństwa Objaśnienie:
dotyczącej dostępu dla operacji WRITE muszą być Wykonywanie procedury nazwa-procedury zostało
podzbiorem wartości podanych w etykiecie zakończone. Podczas wewnętrznego wykonywania żądanej
bezpieczeństwa dotyczącej dostępu dla operacji READ. funkcji wystąpił co najmniej jeden błąd. Ostatni napotkany
błąd to błąd o kodzie kod-błędu. Dostępne są dodatkowe
3. W wypadku komponentów etykiet bezpieczeństwa typu
szczegółowe informacje o napotkanych błędach.
TREE obie wartości muszą być sobie równe lub wartości
podane w etykiecie bezpieczeństwa dotyczącej dostępu dla
W wypadku procedury ADMIN_CMD zapełniony został jej
operacji WRITE muszą należeć do zbioru wartości
parametr wyjściowy i tabela wynikowa (o ile została użyta
poddrzewa etykiety bezpieczeństwa dotyczącej dostępu dla
jakakolwiek tabela wynikowa).
operacji READ.
Działanie użytkownika:
Działanie użytkownika:
Aby uzyskać więcej informacji o napotkanych błędach,
Nadaj użytkownikowi inną etykietę bezpieczeństwa lub
pobierz parametr wyjściowy i tabelę wynikową (o ile jest
zmodyfikuj nadawaną etykietę bezpieczeństwa w jeden z
dostępna). Jeśli podczas wykonywania wygenerowane zostały
następujących sposobów:
pliki komunikatów, sprawdź ich zawartość i usuń przyczyny
1. Dla komponentów etykiet bezpieczeństwa typu ARRAY błędów. Jeśli jest to wskazane, wykonaj ponownie daną
należy upewnić się, że podana wartość jest taka sama w procedurę.
obu etykietach bezpieczeństwa.
2. Dla komponentów etykiet bezpieczeństwa typu SET kod_sql: +20397
należy upewnić się, że wartości podane dla etykiety
bezpieczeństwa dotyczącej dostępu dla operacji WRITE są stan_sql: 01H52
podzbiorem wartości podanych w etykiecie
bezpieczeństwa dotyczącej dostępu dla operacji READ.
3. W wypadku komponentów etykiet bezpieczeństwa typu
TREE, należy upewnić się, że obie wartości są sobie
równe lub że wartości podane w etykiecie bezpieczeństwa

622 Komunikaty, tom 2


SQL20401N • SQL20404N

została już nadana ID autoryzowanego użytkownika


SQL20401N Tej tabeli nie można zabezpieczyć za
id-autoryzowanego-użytkownika dla dostępu typ-dostępu.
pomocą strategii bezpieczeństwa, ponieważ
zmaterializowana tabela zapytania (MQT) Działanie użytkownika:
lub tabela pomostowa o nazwie Jeśli chcesz zmienić etykietę bezpieczeństwa dla dostępu
nazwa-obiektu zależy od tej tabeli. typ-dostępu, musisz najpierw odebrać etykietę bezpieczeństwa
etykieta-bezpieczeństwa ID autoryzowanego użytkownika
Objaśnienie:
id-autoryzowanego-użytkownika za pomocą instrukcji
Tabela nie może być chroniona przez obiekt LBAC, ponieważ
REVOKE SECURITY LABEL.
od tej tabeli zależy zmaterializowana tabela zapytania (MQT)
lub tabela pomostowa.
kod_sql: -20403
Działanie użytkownika:
Jeśli to możliwe, usuń zmaterializowaną tabelę zapytania lub stan_sql: 428GR
tabelę pomostową nazwa-obiektu i uruchom ponownie
instrukcję.
SQL20404N Nie można usunąć obiektu etykiety
kod_sql: -20401 bezpieczeństwa nazwa-strategii.nazwa-
obiektu, ponieważ jest obecnie w użyciu. Kod
przyczyny: kod-przyczyny.
stan_sql: 55067
Objaśnienie:
Nie można usunąć obiektu etykiety bezpieczeństwa
SQL20402N ID autoryzowanego użytkownika
nazwa-obiektu. Przyczynę niemożliwości usunięcia określono
id-autoryzowanego-użytkownika nie ma
za pomocą kodu przyczyny kod-przyczyny:
referencji LBAC umożliwiających
wykonywanie operacji nazwa-operacji na 1. Jest nadana co najmniej jednemu użytkownikowi, grupie
tabeli nazwa-tabeli. lub roli.
2. Jest używana do ochrony co najmniej jednej kolumny.
Objaśnienie:
ID autoryzowanego użytkownika id-autoryzowanego- Działanie użytkownika:
użytkownika nie ma zezwolenia na wykonywanie operacji Działanie użytkownika odpowiadające temu kodowi
nazwa-operacji na tabeli nawa-tabeli. Użytkownik nie ma przyczyny:
zezwolenia na wstawianie, aktualizowanie lub usuwanie 1. Odbierz tę etykietę wszystkim użytkownikom, grupom lub
wiersza w tabeli chronionej lub modyfikowanie tabeli w celu rolom, którym ta etykieta bezpieczeństwa została nadana
przekształcenia jej w tabelę chronioną, jeśli nie ma w tej strategii bezpieczeństwa. Poniższe zapytanie
odpowiedniej etykiety bezpieczeństwa i/lub referencji umożliwia znalezienie wszystkich użytkowników, którym
wyłączenia z reguły. nadano tę etykietę.
Działanie użytkownika: SELECT GRANTEE FROM SYSCAT.SECURITYLABELACCESS
Poproś administratora bezpieczeństwa bazy danych o nadanie WHERE SECLABELID = (SELECT SECLABELID
ID autoryzowanego użytkownika id-autoryzowanego- FROM SYSCAT.SECURITYLABELS
użytkownika odpowiedniej etykiety bezpieczeństwa lub WHERE SECLABELNAME = ’<nazwa-obiektu>’ AND
wyłączeń z reguły wymaganych do wykonania operacji SECPOLICYID = (SELECT SECPOLICYID FROM
wstawienia, aktualizacji lub usunięcia. Aby zmodyfikować SYSCAT.SECURITYPOLICIES
WHERE SECPOLICYNAME =
tabelę w celu przekształcenia jej w tabelę chronioną,
’<nazwa-strategii>’ ) )
wymagane jest nadanie etykiety bezpieczeństwa dla dostępu
typu WRITE. 2. Dla każdej tabeli, w przypadku której ta etykieta jest
używana do ochrony kolumny, usuń tę etykietę
kod_sql: -20402 bezpieczeństwa albo usuń daną tabelę. Poniższe zapytanie
umożliwia znalezienie wszystkich chronionych tabel i
wszystkich kolumn chronionych przy użyciu tej etykiety.
stan_sql: 42519
SELECT TABNAME, COLNAME FROM SYSCAT.COLUMNS
WHERE SECLABELNAME = ’<nazwa-obiektu>’ AND
SQL20403N ID autoryzowanego użytkownika TABNAME = (SELECT TABNAME FROM
id-autoryzowanego-użytkownika już ma SYSCAT.TABLES
etykietę bezpieczeństwa WHERE SECPOLICYID = (SELECT
(etykieta-bezpieczeństwa) dla dostępu typu SECPOLICYID FROM SYSCAT.SECURITYPOLICIES
typ-dostępu. WHERE SEPOLICYNAME =
’<nazwa-strategii>’ ) )
Objaśnienie:
Każdy ID autoryzowanego użytkownika może mieć kod_sql: -20404
maksymalnie jedną etykietę bezpieczeństwa dla dostępu w
trybie zapisu (WRITE) i jedną dla dostępu w trybie odczytu stan_sql: 42893
(READ). Etykieta bezpieczeństwa etykieta-bezpieczeństwa

Rozdział 2. Komunikaty SQL 623


SQL20405N • SQL20408N

SQL20405N Nie można usunąć obiektu strategii SQL20406N Nie można usunąć obiektu nazwa-obiektu
bezpieczeństwa nazwa-obiektu, ponieważ jest będącego komponentem etykiety
obecnie w użyciu. Kod przyczyny: bezpieczeństwa, ponieważ stanowi część
kod-przyczyny. strategii bezpieczeństwa.
Objaśnienie: Objaśnienie:
Nie można usunąć obiektu bezpieczeństwa nazwa-obiektu. Nie można usunąć obiektu składowego etykiety
Przyczynę niemożliwości usunięcia określono za pomocą kodu bezpieczeństwa nazwa-obiektu, ponieważ odwołuje się do
przyczyny kod-przyczyny: niego co najmniej jedna strategia bezpieczeństwa.
1. Jest używany do ochrony co najmniej jednej tabeli. Działanie użytkownika:
2. Używa go co najmniej jedna etykieta bezpieczeństwa. Usuń wszystkie strategie zabezpieczeń odwołujące się do tego
3. Jednej lub większej liczbie jego reguł nadano co najmniej składnika bezpieczeństwa. Poniższe zapytanie umożliwia
jedno wyłączenie. znalezienie wszystkich strategii zabezpieczeń odwołujących
się do tego składnika bezpieczeństwa:
Działanie użytkownika:
SELECT SECPOLICYNAME FROM
Działanie użytkownika odpowiadające temu kodowi SYSCAT.SECURITYPOLICIES
przyczyny: WHERE SECPOLICYID = (SELECT
1. Usuń strategię bezpieczeństwa z zabezpieczanych nią SECPOLICYID FROM
tabel, używając instrukcji ALTER TABLE. Do znalezienia SYSCAT.SECURITYPOLICYCOMPONENTRULES
wszystkich tabel zabezpieczonych daną strategią WHERE COMPID = (SELECT COMPID
bezpieczeństwa można użyć następującego zapytania: FROM SYSCAT.SECURITYLABELCOMPONENTS
WHERE COMPNAME = ’<nazwa-obiektu>’ ) )
SELECT TABNAME FROM SYSCAT.TABLES
WHERE SECPOLICYID=(SELECT
kod_sql: -20406
SECPOLICYID FROM
SYSCAT.SECURITYPOLICIES
WHERE SECPOLICYNAME = stan_sql: 42893
’<nazwa-obiektu>’ )
2. Usuń wszystkie etykiety bezpieczeństwa wchodzące w SQL20408N Tabeli nazwa-tabeli-źródłowej nie można
skład tej strategii bezpieczeństwa. Poniższe zapytanie przyłączyć do tabeli nazwa-tabeli-docelowej,
umożliwia znalezienie wszystkich etykiet bezpieczeństwa ponieważ kolumna nazwa-kolumny-źródłowej
należących do tej strategii bezpieczeństwa: tabeli źródłowej i powiązana z nią kolumna
SELECT SECLABELNAME FROM nazwa-kolumny-docelowej tabeli docelowej
SYSCAT.SECURITYLABELS nie są zgodne. Kod przyczyny =
WHERE SECPOLICYID=(SELECT kod-przyczyny.
SECPOLICYID FROM
SYSCAT.SECURITYPOLICIES Objaśnienie:
WHERE SECPOLICYNAME = Jeden z atrybutów kolumny tabeli docelowej jest niezgodny z
’<nazwa-obiektu>’ ) atrybutem odpowiedniej kolumny (wyrównanie według
3. Odbierz wszystkim użytkownikom wszystkie nadane numeru pozycji) z tabeli źródłowej w instrukcji ALTER
wyłączenia od reguł używanych przez tę strategię TABLE ... ATTACH PARTITION. Kod kod-przyczyny
bezpieczeństwa. Do znalezienia wszystkich wskazuje typ niezgodności oraz kolumnę widoku
użytkowników, którym nadano wyłączenia z reguł SYSCAT.COLUMNS, w której można znaleźć ten atrybut
używanych w tej strategii bezpieczeństwa, można użyć tabeli.
następującego zapytania.
W przypadku, gdy zmodyfikowanie parametrów tabeli
SELECT GRANTEE, ACCESSRULENAME
FROM SYSCAT.SECURITYPOLICYEXEMPTIONS źródłowej lub docelowej w celu zapewnienia zgodności jest
WHERE SECPOLICYID=(SELECT trudne lub niemożliwe, można utworzyć nową tabelę, która
SECPOLICYID FROM będzie zgodna z tabelą docelową, a następnie skopiować do
SYSCAT.SECURITYPOLICIES niej dane z tabeli nazwa-tabeli-źródłowej. Szczegółowe
WHERE SECPOLICYNAME = informacje na temat tworzenia zgodnej tabeli źródłowej
’<nazwa-obiektu>’ ) zawiera zadanie ″Tworzenie nowej tabeli źródłowej″ w
Centrum informacyjnym DB2.
kod_sql: -20405
1 Niezgodność typu danych (TYPENAME) kolumn.
stan_sql: 42893 2 Niezgodność zakresów dopuszczalności wartości
pustych (NULL) dla kolumn.
3 Niezgodność niejawnych wartości domyślnych
(IMPLICITVALUE) kolumn.

624 Komunikaty, tom 2


SQL20409N • SQL20412N

Niejawne wartości domyślne muszą być dokładnie 7 Gdy kolumna nazwa-kolumny-docelowej tabeli
zgodne, jeśli dla kolumny tabeli źródłowej i docelowej jest zdefiniowana jako kolumna
kolumny tabeli docelowej zostały podane niejawne datownika zmiany wiersza, kolumna
wartości domyślne (jeśli atrybut IMPLICITVALUE nazwa-kolumny-źródłowej również musi być
nie jest równy NULL). Więcej informacji na temat zdefiniowana jako kolumna datownika zmiany
interpretowania wartości IMPLICITVALUE można wiersza.
znaleźć w podręczniku SQL Reference.
kod_sql: -20408
4 Niezgodność stron kodowych
(COMPOSITE_CODEPAGE) kolumn.
stan_sql: 428GE
5 Niezgodność klauzul domyślnej kompresji
systemowej (COMPRESS).
SQL20409N Dokument XML lub konstruowana wartość
6 Etykieta bezpieczeństwa chroniąca kolumnę XML zawiera kombinację węzłów XML,
nazwa-kolumny-źródłowej tabeli źródłowej różni się która powoduje przekroczenie limitu
od etykiety kolumny nazwa-kolumny-docelowej identyfikatorów wewnętrznych.
tabeli docelowej. Obie tabele muszą mieć identyczny
zestaw chronionych kolumn, a każda para Objaśnienie:
odpowiadających sobie kolumn musi być chroniona Nie można wygenerować identyfikatora wewnętrznego, który
przez taką samą etykietę bezpieczeństwa. musi być powiązany z każdym węzłem XML wartości XML,
ponieważ kombinacja liczby poziomów węzłów XML i liczby
7 Występuje niezgodność atrybutu datownika zmiany węzłów potomnych na tych poziomach powoduje
wiersza tych kolumn. przepełnienie identyfikatorów.
Działanie użytkownika: Działanie użytkownika:
Popraw niezgodności w tabelach. Zmniejsz dla dokumentu lub konstruowanej wartości XML
liczbę poziomów węzłów XML albo liczbę węzłów
1 Popraw niezgodność typów danych i wydaj
potomnych, szczególnie na głębszych poziomach węzłów
ponownie instrukcję:
XML.
ALTER TABLE ... ALTER COLUMN ...
SET DATA TYPE ...
kod_sql: -20409
2 Zmień dopuszczalność wartości pustych dla
niezgodnej kolumny w jednej z tabel, wydając jedną stan_sql: 560CG
z następujących instrukcji:
ALTER TABLE... ALTER COLUMN... SQL20410N Liczba węzłów potomnych węzła XML w
DROP NOT NULL wartości XML przekroczyła limit
ALTER TABLE... ALTER COLUMN...
wartość-limitu węzłów potomnych.
SET NOT NULL
Objaśnienie:
3 Utwórz nową tabelę źródłową. Szczegółowe
Wyrażenie wygenerowało wartość XML z węzłem XML,
informacje na temat tworzenia zgodnej tabeli
który ma liczbę węzłów potomnych przekraczającą limit
źródłowej zawiera zadanie ″Tworzenie nowej tabeli
wartość-limitu węzłów potomnych.
źródłowej″ w Centrum informacyjnym DB2.
Działanie użytkownika:
4 Utwórz nową tabelę źródłową. Szczegółowe
Przebuduj wyrażenie generujące wartość XML tak, aby liczba
informacje na temat tworzenia zgodnej tabeli
węzłów potomnych nie przekraczała limitu.
źródłowej zawiera zadanie ″Tworzenie nowej tabeli
źródłowej″ w Centrum informacyjnym DB2.
kod_sql: -20410
5 Aby zmienić kompresję systemową kolumny, wydaj
jedną z następujących instrukcji, w celu usunięcia stan_sql: 560CH
niezgodności:
ALTER TABLE ... ALTER COLUMN ...
SQL20412N Na skutek szeregowania wartości XML
COMPRESS SYSTEM DEFAULT
ALTER TABLE ... ALTER COLUMN ... zaistniały znaki, które nie mają
COMPRESS OFF reprezentacji w kodowaniu docelowym.

6 Aby zmodyfikować zabezpieczenie tych kolumn, Objaśnienie:


wydaj jedną z następujących instrukcji: Szeregowanie danych XML może wymagać konwersji na
kodowanie inne niż źródłowe kodowanie UTF-8. Jeśli w
ALTER TABLE ... ALTER COLUMN ...
kodowaniu źródłowym istnieją znaki, które nie mają
SECURED WITH ...
ALTER TABLE ... ALTER COLUMN ... reprezentacji w kodowaniu docelowym, to na skutek konwersji
DROP COLUMN SECURITY strony kodowej powstają znaki podstawiane, które nie są
dozwolone w wyniku szeregowania XML.

Rozdział 2. Komunikaty SQL 625


SQL20413N • SQL20417W

Działanie użytkownika: Aktualizacje, usunięcia i wstawienia nie są dozwolone w


Wybierz kodowanie docelowe, w którym mogą być widoku UNION ALL, jeśli widok ten został utworzony na
reprezentowane wszystkie znaki występujące w danej wartości podstawie co najmniej jednej tabeli chronionej.
XML. Zalecane są kodowania Unicode, ponieważ mogą w
nich być reprezentowane wszystkie znaki. Nie można wykonać instrukcji.
Działanie użytkownika:
kod_sql: -20412
Nie wykonuj operacji aktualizacji, usuwania ani wstawiania w
widoku UNION ALL.
stan_sql: 2200W
kod_sql: -20415
SQL20413N Nie można wykonać wbudowanej funkcji
SECLABEL_TO_CHAR, ponieważ ID stan_sql: 429BZ
autoryzowanego użytkownika
id-autoryzowanego-użytkownika została
odebrana etykieta bezpieczeństwa dla SQL20416N Podanej wartości (etykieta-bezpieczeństwa)
dostępu typu READ. nie można przekształcić w etykietę
bezpieczeństwa. Etykiety dla strategii
Objaśnienie: bezpieczeństwa o identyfikatorze strategii
Aby uruchomić wbudowaną funkcję SECLABEL_TO_CHAR, id-strategii powinny mieć długość
ID autoryzowanego użytkownika musi mieć etykietę poprawna-długość znaków. Wartość ma
bezpieczeństwa dla dostępu typu READ. Etykieta długość długość-wartości znaków.
bezpieczeństwa dla dostępu typu READ została odebrana ID
autoryzowanego użytkownika id-autoryzowanego- Objaśnienie:
użytkownika. W instrukcji INSERT lub UPDATE określono wartość dla
kolumny typu DB2SECURITYLABEL. Ta wartość nie może
Działanie użytkownika: zostać przekształcona w poprawną etykietę bezpieczeństwa,
Skontaktuj się z administratorem bezpieczeństwa bazy danych ponieważ jej długość nie jest poprawną długością etykiet
lub użytkownikiem z uprawnieniem SECADM i poproś o bezpieczeństwa będących częścią strategii bezpieczeństwa
ponowne nadanie tej etykiety bezpieczeństwa. chroniącej tę tabelę. Jeśli wartość etykieta-bezpieczeństwa jest
równa *N, rzeczywista wartość zostanie zapisana w pliku
kod_sql: -20413 db2diag.log.
Działanie użytkownika:
stan_sql: 42520
Sprawdź instrukcję INSERT lub UPDATE i upewnij się, że
wartość ustawiana w kolumnie etykiet bezpieczeństwa jest
SQL20414N Uprawnienia uprawnienie nie można nadać poprawna dla strategii bezpieczeństwa używanej do ochrony
dla ID autoryzowanego użytkownika tabeli. Czasami niepoprawna wartość może zostać
ID-autoryzowanego-użytkownika. wygenerowana w wyniku użycia instrukcji SELECT
wykonanej z poziomu tabeli niechronionej przy użyciu tej
Objaśnienie: samej strategii bezpieczeństwa, która używana jest względem
Przy użyciu instrukcji GRANT próbowano nadać uprawnienie tabeli docelowej. Etykiety bezpieczeństwa można kopiować
lub uprawnienie grupowe dla nazwy autoryzacji, która nie tylko między tabelami chronionymi przez tę samą strategię
może otrzymać takich uprawnień. Nie można nadać bezpieczeństwa. Aby uzyskać nazwę strategii bezpieczeństwa
uprawnienia SECADM nazwie autoryzacji określającej grupę. dla podanego identyfikatora strategii, należy użyć tego
zapytania SQL. Należy zastąpić id-strategii numerem
Nie można wykonać instrukcji. identyfikatora strategii podanym w komunikacie o błędzie.
Działanie użytkownika: SELECT SECPOLICYNAME
Nadaj inne uprawnienie lub uprawnienie grupowe albo nadaj FROM SYSCAT.SECURITYPOLICIES
je ID autoryzowanego użytkownika, który może otrzymać to WHERE SECPOLICYID = id-strategii
uprawnienie.
kod_sql: -20416
kod_sql: -20414
stan_sql: 23523
stan_sql: 42521
SQL20417W Kompilacja SQL została zakończona bez
SQL20415N Nie powiodła się aktualizacja, usunięcie lub łączenia się ze źródłem danych
wstawienie do widoku UNION ALL, nazwa-źródła-danych. Wystąpił błąd
ponieważ jedna z tabel bazowych jest połączenia tekst-błędu.
chroniona. Objaśnienie:
Objaśnienie:

626 Komunikaty, tom 2


SQL20418N • SQL20422N

Serwer stowarzyszony nie mógł nawiązać połączenia ze Poproś administratora bezpieczeństwa bazy danych o nadanie
źródłem danych nazwa-źródła-danych podczas kompilacji ID autoryzowanego użytkownika id-autoryzowanego-
SQL w celu określenia opcji obsługiwanych przez to źródło użytkownika referencji LBAC umożliwiających zapis do
danych. Zapytanie SQL zostało skompilowane przy użyciu kolumny chronionej przez etykietę bezpieczeństwa
ustawień domyślnych. W czasie wykonywania może wystąpić nazwa-etykiety-bezpieczeństwa.
błąd, ponieważ możliwości zdalnego serwera nie zostały
poprawnie określone w czasie kompilacji. Komunikat kod_sql: -20419
tekst-błędu zawiera informacje na temat napotkanego błędu
połączenia. stan_sql: 42522
Działanie użytkownika:
Zrekompiluj instrukcję lub powiąż pakiet ponownie, gdy SQL20420N W przypadku tabeli nazwa-tabeli ID
źródło danych będzie dostępne, albo - jeśli w instrukcji SQL autoryzowanego użytkownika
używane jest zagnieżdżone wyrażenie tabelowe odporne na id-autoryzowanego-użytkownika nie ma
błędy - wykonaj pakiet od razu po kompilacji, aby zmniejszyć referencji LBAC umożliwiających usunięcie
prawdopodobieństwo zmiany stanu połączenia między czasem etykiety bezpieczeństwa
kompilacji a wykonywania. Użyj informacji podanych w nazwa-etykiety-bezpieczeństwa z kolumny
komunikacie tekst-błędu, aby w razie konieczności usunąć nazwa-kolumny.
błąd dotyczący połączenia ze źródłem danych. Informacje na
temat testowania połączenia z serwerem źródła danych można Objaśnienie:
znaleźć w Centrum informacyjnym, wyszukując tekst Aby możliwe było usunięcie lub zastąpienie etykiety
″testowanie połączenia z serwerem″. bezpieczeństwa chroniącej kolumnę, ID autoryzowanego
użytkownika musi mieć referencje LBAC umożliwiające
kod_sql: +20417 zarówno odczyt, jak i zapis w kolumnie. ID autoryzowanego
użytkownika id-autoryzowanego-użytkownika nie ma
referencji LBAC umożliwiających odczyt i zapis w kolumnie
stan_sql: 01689
chronionej przez etykietę bezpieczeństwa
nazwa-etykiety-bezpieczeństwa i nie może usunąć ani zastąpić
SQL20418N Grupa partycji bazy danych została już tej etykiety bezpieczeństwa.
przypisana do puli buforów.
Działanie użytkownika:
Objaśnienie: Poproś administratora bezpieczeństwa bazy danych o nadanie
Grupa partycji bazy danych, którą próbujesz dodać, jest już ID autoryzowanego użytkownika id-autoryzowanego-
przypisana do puli buforów. użytkownika referencji LBAC umożliwiających dostęp do
zapisu i odczytu do kolumny chronionej przez etykietę
Działanie użytkownika:
bezpieczeństwa nazwa-etykiety-bezpieczeństwa.
Wybierz inną grupę partycji bazy danych i spróbuj ponownie.
kod_sql: -20420
kod_sql: -20418
stan_sql: 42522
stan_sql: 4274J

SQL20421N Tabela nazwa-tabeli nie jest chroniona za


SQL20419N W przypadku tabeli nazwa-tabeli ID
pomocą strategii bezpieczeństwa.
autoryzowanego użytkownika
id-autoryzowanego-użytkownika nie ma Objaśnienie:
referencji LBAC umożliwiających używanie Nie można usunąć strategii bezpieczeństwa z tabeli, która nie
etykiety bezpieczeństwa jest chroniona przez strategię bezpieczeństwa.
nazwa-etykiety-bezpieczeństwa do ochrony
Działanie użytkownika:
kolumny nazwa-kolumny.
Podaj tabelę chronioną przez strategię bezpieczeństwa.
Objaśnienie:
Użytkownik nie może użyć etykiety bezpieczeństwa do kod_sql: -20421
ochrony kolumny, jeśli nie ma referencji LBAC
umożliwiających zapis w kolumnie chronionej przez tę stan_sql: 428GT
etykietę bezpieczeństwa. ID autoryzowanego użytkownika
id-autoryzowanego-użytkownika nie ma referencji LBAC
umożliwiających zapis danych chronionych przez etykietę SQL20422N Za pomocą instrukcji CREATE TABLE lub
bezpieczeństwa nazwa-etykiety-bezpieczeństwa i nie może jej DECLARE GLOBAL TEMPORARY
użyć do ochrony kolumny nazwa-kolumny w tabeli TABLE próbowano utworzyć tabelę
nazwa-tabeli. nazwa-tabeli ze wszystkimi kolumnami
zdefiniowanymi jako niejawnie ukryte.
Działanie użytkownika:
Objaśnienie:

Rozdział 2. Komunikaty SQL 627


SQL20423N • SQL20426N

Za pomocą instrukcji CREATE TABLE lub DECLARE


SQL20424N Nie jest dostępna obsługa wyszukiwania
GLOBAL TEMPORARY TABLE próbowano utworzyć tabelę
tekstu. Kod przyczyny = kod-przyczyny.
nazwa-tabeli, w której wszystkie kolumny są traktowane jako
niejawnie ukryte. Może się to zdarzyć w następujących Objaśnienie:
sytuacjach: Podczas próby użycia wyszukiwania tekstowego wystąpił
v W instrukcji CREATE TABLE określono IMPLICITLY błąd.
HIDDEN w definicjach wszystkich kolumn.
Więcej informacji na temat błędu zawiera kod przyczyny:
v W instrukcji CREATE TABLE lub DECLARE GLOBAL
TEMPORARY TABLE określono AS (pełna selekcja) i 11 Komunikacja przy użyciu gniazda z serwerem
wszystkie kolumny tabeli wynikowej pełnej selekcji są wyszukiwania nie powiodła się.
zdefiniowane jako niejawnie ukryte.
12 Podczas operacji wyszukiwania wystąpił
nienaprawialny błąd.
Przynajmniej jedna kolumna w tabeli musi być zdefiniowana
nie jako niejawnie ukryta. Działanie użytkownika:
Zrestartuj serwer wyszukiwania tekstowego i spróbuj
Działanie użytkownika:
ponownie wykonać operację. Jeśli błąd wystąpi ponownie,
Upewnij się, że w definicji tabeli uwzględniona jest
skontaktuj się z administratorem systemu, aby upewnić się,
przynajmniej jedna kolumna, która nie jest zdefiniowana jako
czy obsługa dla wyszukiwania tekstowego została
niejawnie ukryta.
zainstalowana, poprawnie skonfigurowana i uruchomiona.
kod_sql: -20422
kod_sql: -20424
stan_sql: 428GU
stan_sql: 38H11

SQL20423N Podczas przetwarzania wyszukiwania


SQL20425N Jako argument funkcji wyszukiwania
tekstowego na serwerze nazwa-serwera za
tekstowego została podana kolumna
pomocą indeksu nazwa-indeksu wystąpił
nazwa-kolumny w tabeli nazwa-tabeli, ale
błąd. Komunikat o błędzie to:
indeks wyszukiwania tekstowego dla tej
komunikat-o-błędzie-wyszukiwania-
kolumny nie istnieje.
tekstowego.
Objaśnienie:
Objaśnienie:
W funkcji wyszukiwania tekstowego, takiej jak CONTAINS
Podczas przetwarzania funkcji wyszukiwania tekstowego,
lub SCORE, podano kolumnę jako argument, ale dla tej
która użyła indeksu wyszukiwania tekstowego nazwa-indeksu,
kolumny nie istnieje indeks wyszukiwania tekstowego. Nie
wystąpił błąd komunikat-o-błędzie-wyszukiwania-tekstowego.
można przeprowadzić wyszukiwania tekstowego dla tej
Działanie użytkownika: kolumny.
Za pomocą komunikatu komunikat-o-błędzie-wyszukiwania-
Działanie użytkownika:
tekstowego określ przyczynę błędu. Jeśli komunikat o błędzie
Sprawdź, czy dla bazy danych włączona jest opcja
jest przycięty, można przejrzeć plik db2diag.log.
wyszukiwania tekstowego, a dla określonej kolumny został
utworzony indeks wyszukiwania tekstowego.
Pierwsze słowo w komunikacie komunikat-o-błędzie-
wyszukiwania-tekstowego to identyfikator błędu. Jeśli
kod_sql: -20425
identyfikator błędu rozpoczyna się od znaków ’CIE’, użyj
komendy db2ts, aby uzyskać więcej szczegółów, na przykład
db2ts help identyfikator-błędu. stan_sql: 38H12

Jeśli identyfikator błędu nie rozpoczyna się od łańcucha ’CIE’, SQL20426N Dla tego samego indeksu są uruchomione
użyj dokumentacji funkcji wyszukiwania tekstowego DB2, procedury lub komendy administracyjne
aby uzyskać więcej szczegółów na temat komunikatu wyszukiwania tekstowego, które powodują
komunikat-o-błędzie-wyszukiwania-tekstowego. konflikt.
Objaśnienie:
kod_sql: -20423
Dwie lub więcej procedury lub komendy administracyjne
uruchomione dla tego samego indeksu powodują konflikt.
stan_sql: 38H10
Działanie użytkownika:
Wywołaj procedurę lub komendę administracyjną dopiero po
zakończeniu działania aktualnie uruchomionej procedury lub
komendy. Jeśli operacja ma status DISABLE, spróbuj
ponownie później lub użyj opcji FORCE dla komendy.

628 Komunikaty, tom 2


SQL20427N • SQL20431N

kod_sql: -20426 Określonej operacji nie można było wykonać na łańcuchu,


ponieważ nie jest on określony jako FOR BIT DATA.
stan_sql: 38H13 nazwa-operacji to XMLPARSE albo nazwa innej
niedozwolonej operacji.
SQL20427N Podczas wykonywania procedury lub Działanie użytkownika:
komendy administracyjnej wyszukiwania Parametr konfiguracyjny bazy danych ENABLE_XMLCHAR
tekstowego wystąpił błąd. Komunikat o jest ustawiony na NO. Aby operacja XMLPARSE mogła
błędzie to: komunikat-o-błędzie- działać na łańcuchach, które nie są określone jako FOR BIT
wyszukiwania-tekstowego. DATA, parametr ENABLE_XMLCHAR ustaw na YES.
Należy pamiętać, że może wystąpić podstawienie znaku, jeśli
Objaśnienie: baza danych nie ma kodowania Unicode, a analizowana
Operacja administracyjna wyszukiwania tekstowego nie wartość XML zawiera znaki nieobecne w stronie kodowej
powiodła się i zgłoszony został komunikat o błędzie: bazy danych.
komunikat-o-błędzie-wyszukiwania-tekstowego.
Działanie użytkownika: Ewentualnie popraw instrukcję tak, aby zawierała zmienną
Za pomocą komunikatu o błędzie komunikat-o-błędzie- języka macierzystego, wyrażenie lub znacznik parametru typu
wyszukiwania-tekstowego określ przyczynę błędu. Jeśli XML.
komunikat jest przycięty, można przejrzeć plik db2diag.log.
kod_sql: -20429
Pierwsze słowo w komunikacie komunikat-o-błędzie-
wyszukiwania-tekstowego to identyfikator błędu. Jeśli stan_sql: 428GW
identyfikator błędu rozpoczyna się od znaków ’CIE’, użyj
komendy db2ts, aby uzyskać więcej szczegółów, na przykład
SQL20430N Zmiennej globalnej nazwa-zmiennej nie
db2ts help identyfikator-błędu.
można ustawić w tym kontekście.
Jeśli identyfikator błędu nie rozpoczyna się od łańcucha ’CIE’, Objaśnienie:
użyj dokumentacji funkcji wyszukiwania tekstowego DB2, Za pomocą instrukcji SET, SELECT INTO lub VALUES
aby uzyskać więcej szczegółów na temat komunikatu INTO próbowano ustawić zmienną globalną nazwa-zmiennej,
komunikat-o-błędzie-wyszukiwania-tekstowego. ale nie jest to możliwe w następujących kontekstach:
v dynamiczne instrukcje złożone,
kod_sql: -20427
v funkcje,
stan_sql: 38H14 v metody,
v wyzwalacze
SQL20428N Identyfikator URI określony w klauzuli lub wewnątrz procedury, która jest bezpośrednio lub pośrednio
ACCORDING TO XMLSCHEMA jest wywoływana w jednym z powyższych kontekstów.
łańcuchem pustym.
Nie można wykonać instrukcji.
Objaśnienie:
Identyfikator URI docelowej przestrzeni nazw określony po Działanie użytkownika:
słowie kluczowym URI lub identyfikator URI położenia Usuń ustawianie zmiennej globalnej.
schematu określony po słowie kluczowym LOCATION jest
łańcuchem pustym. kod_sql: -20430
Działanie użytkownika:
Upewnij się, że każdy identyfikator URI docelowej przestrzeni stan_sql: 428GX
nazw i każdy identyfikator URI położenia schematu w klauzuli
ACCORDING TO XMLSCHEMA jest poprawnym SQL20431N Zwrócenie ROW CHANGE TIMESTAMP
identyfikatorem URI niebędącym łańcuchem pustym. FOR specyfikator-tabeli nie jest możliwe w
przypadku danego specyfikatora tabeli.
kod_sql: -20428
Objaśnienie:
Wyrażenie ROW CHANGE TIMESTAMP FOR
stan_sql: 428GV
specyfikator-tabeli nie jest poprawne w przypadku tabeli, która
nie ma kolumny zdefiniowanej jako kolumna datownika
SQL20429N Operacja XML nazwa-operacji nie jest zmiany wiersza.
dozwolona w odniesieniu do łańcuchów,
które nie są określone jako FOR BIT DATA Nie można wykonać instrukcji.
dla tej bazy danych.
Działanie użytkownika:
Objaśnienie:

Rozdział 2. Komunikaty SQL 629


SQL20432N

Usuń wyrażenie ROW CHANGE TIMESTAMP FOR z anonimowego typu prostego wartość
instrukcji lub zmodyfikuj tabelę i dodaj kolumnę datownika komponent-schematu jest pusta.
zmiany wiersza.
4 (INCOMPATIBLE TYPE)
Typ elementu lub atrybutu został zmieniony w
kod_sql: -20431
sposób, który skutkuje niepowodzeniem
sprawdzania poprawności dokumentu instancji lub
stan_sql: 55068 który nie jest zgodny z powodu zmiany adnotacji
typu prostego. Wartość komponent-schematu jest
SQL20432N Oryginalny schemat XML zawiera nazwą typu w oryginalnym schemacie XML, a
komponent komponent-schematu, który jest wartość obejmujący-komponent-schematu jest nazwą
ujęty wewnątrz komponentu elementu lub atrybutu, który odwołuje się do danego
obejmujący-komponent-schematu niezgodnego typu. W przypadku typu anonimowego wartość
z aktualizowanym schematem XML lub do komponent-schematu jest pusta.
którego ten komponent się odwołuje. 5 (MIXED INTO NOT MIXED CONTENT)
Przyczyna niezgodności: kod-przyczyny Model treści typu złożonego, który jest
(łańcuch-przyczyny). zadeklarowany jako mieszany w oryginalnym
Objaśnienie: schemacie XML, został zmieniony na treść
Określony schemat XML, który ma posłużyć do niemieszaną w aktualizowanym schemacie XML.
zaktualizowania innego istniejącego schematu XML, nie Wartość komponent-schematu jest nazwą typu
spełnia kryteriów aktualizacji zgodnego schematu XML. złożonego w oryginalnym schemacie XML, a
Oryginalny schemat XML zawiera element, atrybut lub typ wartość obejmujący-komponent-schematu jest nazwą
komponent-schematu, który jest ujęty wewnątrz elementu lub elementu, który odwołuje się do danego typu
atrybutu obejmujący-komponent-schematu niezgodnego z złożonego. W przypadku anonimowego typu
aktualizowanym schematem XML lub do którego on się złożonego wartość komponent-schematu jest pusta.
odwołuje. Konkretną przyczynę niezgodności wskazuje 6 (NILLABLE INTO NOT NILLABLE)
kod-przyczyny (łańcuch-przyczyny). Atrybut nillable w deklaracji elementu jest włączony
1 (ATTRIBUTE CONTENT) w oryginalnym schemacie XML, ale zostaje
Atrybut zadeklarowany lub mający odwołanie wyłączony w aktualizowanym schemacie XML.
wewnątrz typu złożonego został usunięty lub pewne Wartość komponent-schematu jest nazwą elementu
wymagane atrybuty zostały dodane jako część w oryginalnym schemacie XML, a wartość
modelu treści. Wartość komponent-schematu jest obejmujący-komponent-schematu jest pusta.
nazwą obejmującego typu złożonego w oryginalnym 7 (REMOVED ELEMENT)
schemacie XML, a wartość obejmujący-komponent- Element globalny zadeklarowany w komponencie
schematu jest nazwą elementu, który odwołuje się do komponent-schematu został usunięty z
danego typu złożonego. W przypadku anonimowego aktualizowanego schematu XML albo został
typu złożonego wartość komponent-schematu jest zmieniony w abstrakcyjny. Wartość
pusta. obejmujący-komponent-schematu jest pusta.
2 (ELEMENT CONTENT) 8 (REMOVED TYPE)
Element zadeklarowany lub mający odwołanie Oryginalny schemat XML zawiera typ globalny w
wewnątrz typu złożonego został usunięty lub pewne komponencie komponent-schematu, który pochodzi
wymagane elementy zostały dodane jako część od innego typu, a typ globalny zostaje usunięty z
modelu treści. Wartość komponent-schematu jest aktualizowanego schematu XML. Wartość
nazwą obejmującego typu złożonego w oryginalnym obejmujący-komponent-schematu jest pusta.
schemacie XML, a wartość obejmujący-komponent-
schematu jest nazwą elementu, który odwołuje się do 9 (SIMPLE TO COMPLEX)
danego typu złożonego. W przypadku anonimowego Typu złożonego, który zawiera treść prostą w
typu złożonego wartość komponent-schematu jest oryginalnym schemacie XML, nie można
pusta. przedefiniować tak, aby zawierał treść złożoną w
aktualizowanym schemacie XML. Wartość
3 (FACET CONFLICT) komponent-schematu jest nazwą typu złożonego w
Wartość aspektu typu prostego została zmieniona w oryginalnym schemacie XML, a wartość
sposób, który nie jest zgodny z zakresem wartości obejmujący-komponent-schematu jest nazwą
dla danego typu prostego. Wartość elementu, który odwołuje się do danego typu
komponent-schematu jest nazwą typu prostego złożonego. W przypadku anonimowego typu
definiującego ten aspekt w oryginalnym schemacie złożonego wartość komponent-schematu jest pusta.
XML, a wartość obejmujący-komponent-schematu
jest nazwą elementu lub atrybutu, który odwołuje się 10 (SIMPLE CONTENT)
do danego typu prostego. W przypadku Typ prosty zdefiniowany w oryginalnym schemacie
XML i aktualizowanym schemacie XML ma różne

630 Komunikaty, tom 2


SQL20435N • SQL20440N

typy podstawowe. Wartość komponent-schematu jest


SQL20437N Nie można zastosować operacji
nazwą typu prostego w oryginalnym schemacie
podindeksowania dla obiektu, który nie jest
XML, a wartość obejmujący-komponent-schematu
typu ARRAY.
jest nazwą elementu lub atrybutu, który odwołuje się
do danego typu prostego. W przypadku Objaśnienie:
anonimowego typu prostego wartość Operacji podindeksowania w postaci obiekt[podindeks] nie
komponent-schematu jest pusta. można zastosować do obiektu, który nie jest typu ARRAY.
Działanie użytkownika: Działanie użytkownika:
Zestaw powyższe wyjaśnienia z wartością kod-przyczyny Zmień typ zmiennej lub parametru na ARRAY.
(łańcuch-przyczyny) i zidentyfikuj przyczynę niezgodności.
Następnie usuń problem, po czym ponownie wprowadź kod_sql: -20437
komendę, aby zaktualizować schemat XML.
stan_sql: 428H0
kod_sql: -20432
SQL20438N Typ danych wyrażenia podindeksowania nie
stan_sql: 22538
jest dokładnym typem liczbowym ze skalą
zero.
SQL20435N Nie wszystkie określone instancje kluczy
Objaśnienie:
sortowania w klauzuli SELECT dla funkcji
Typ wyrażenia podindeksowania w wyrażeniu w postaci
ARRAY_AGG i XMLAGG są identyczne.
obiekt[podindeks] musi być typu SMALLINT, INTEGER,
Objaśnienie: BIGINT lub odpowiadać wartości dziesiętnej o skali zero.
Gdy klucz sortowania jest jawnie określony dla funkcji
Działanie użytkownika:
ARRAY_AGG lub XMLAGG, wtedy wszystkie jawne
Zmień typ danych wyrażenia podindeksowania na jeden z
specyfikacje kluczy sortowania w tej samej klauzuli SELECT
obsługiwanych.
dla tych funkcji muszą być identyczne.
Działanie użytkownika: kod_sql: -20438
Zmień klucze sortowania tak, aby były identyczne, albo usuń
specyfikację klucza sortowania ze wszystkich wywołań funkcji stan_sql: 428H1
oprócz jednego.

kod_sql: -20435 SQL20439N Podindeks o wartości wartość jest spoza


zakresu.
stan_sql: 428GZ Objaśnienie:
Wartość podindeksu dla specyfikacji elementu tablicy lub
drugi argument funkcji TRIM_ARRAY jest spoza zakresu.
SQL20436N Typ danych określony dla tablicy w
instrukcji CREATE TYPE, konstruktorze Działanie użytkownika:
tablicy lub argumencie funkcji Jeśli wartość jest podindeksem używanym w specyfikacji
ARRAY_AGG jest niepoprawny. elementu tablicy będącej celem instrukcji przypisania, zmień
wartość na inną niż wartość pusta, nie mniejszą niż 1 i nie
Objaśnienie:
większą niż maksymalna liczność zdefiniowana dla danej
Określony został niepoprawny typ danych w przypadku tego
tablicy. Jeśli wartość jest podindeksem używanym w
typu tablicowego. Następujące typy danych nie są
specyfikacji elementu tablicy stanowiącej część wyrażenia lub
obsługiwane: LONG VARCHAR, LONG VARGRAPHIC,
jest drugim argumentem funkcji TRIM_ARRAY, zmień
REFERENCE, XML oraz każdy typ danych zdefiniowany
wartość na nie mniejszą niż 1 i nie większą niż liczność danej
przez użytkownika.
tablicy.
Działanie użytkownika:
Określ tylko takie typy danych, które są obsługiwane w kod_sql: -20439
instrukcji CREATE TYPE (tablica), w przypadku konstruktora
tablicy lub w przypadku argumentu funkcji ARRAY_AGG. stan_sql: 2202E

kod_sql: -20436
SQL20440N Wartość tablicowa o liczności liczność jest
zbyt długa. Maksymalna dozwolona liczność
stan_sql: 429C2
wynosi maksymalna-liczność.
Objaśnienie:
Wartość tablicowa o liczności liczność wymaga obcięcia do
maksymalnej liczności wynoszącej maksymalna-liczność. W
celu poddania tej wartości pewnej transformacji wywołano

Rozdział 2. Komunikaty SQL 631


SQL20441N • SQL20447N

systemowe (wbudowane) rzutowanie lub funkcję stan_sql: 57011


dostosowawczą. Obcięcie jest niedozwolone tam, gdzie
wartość jest używana. Poddawaną transformacji wartością
SQL20443N Wartość atrybutu nazwa-atrybutu nie może
tablicową jest jedna z następujących:
przekraczać długość.
v argument wywołania procedury składowanej,
Objaśnienie:
v wynik wywołania funkcji ARRAY_AGG,
Określony atrybut dla zaufanego kontekstu lub definicji
v wynik użycia konstruktora tablicy po prawej stronie obciążenia jest zbyt długi. Określony został atrybut
instrukcji SET, nazwa-atrybutu, ale wartość przekracza maksymalną długość
v argument funkcji rzutowania. wynoszącą długość.
Działanie użytkownika: Działanie użytkownika:
Sprawdź w instrukcji SQL, gdzie transformacja ma miejsce. Określ poprawną wartość o długości nie większej niż długość.
Dane wejściowe do transformacji są za długie lub łańcuch
docelowy jest za krótki. Jawnie zmniejsz liczność danych kod_sql: -20443
wejściowych lub zwiększ liczność możliwą do obsłużenia
przez element docelowy. stan_sql: 42907

kod_sql: -20440
SQL20445N Nazwa etykiety bezpieczeństwa nazwa nie
jest poprawna w określonej postaci.
stan_sql: 2202F
Objaśnienie:
Nazwa etykiety bezpieczeństwa w kontekście, w którym
SQL20441N Typ tablicowy nie jest obsługiwany w
została określona, musi być jawnie kwalifikowana za pomocą
kontekście, w jakim jest wykorzystywany.
istniejącej nazwy strategii bezpieczeństwa.
Objaśnienie:
Działanie użytkownika:
Typu tablicowego można używać tylko w następujących
Podaj nazwę etykiety bezpieczeństwa jawnie kwalifikowaną za
kontekstach:
pomocą istniejącej nazwy strategii bezpieczeństwa.
v parametry procedur SQL lub Java;
v zmienne SQL deklarowane w procedurach SQL; kod_sql: -20445
v operacja rzutowania stosowana do konstruktora tablicy, do
funkcji ARRAY_AGG lub znacznika parametru. stan_sql: 42704

Działanie użytkownika:
Usuń wszelkie typy tablicowe używane w kontekstach innych SQL20447N Łańcuch formatowania
niż wyżej wymienione. łańcuch-formatowania nie jest poprawny dla
funkcji nazwa-funkcji.
kod_sql: -20441 Objaśnienie:
Dla funkcji nazwa-funkcji określono niepoprawny łańcuch
stan_sql: 428H2 formatowania. Dla funkcji nazwa-funkcji powinna być
ustawiona wartość VARCHAR_FORMAT lub
SQL20442N Zbyt mało pamięci na reprezentację TIMESTAMP_FORMAT, nawet jeśli do wywołania funkcji
wartości tablicowej. użyta została nazwa TO_CHAR, TO_DATE lub
TO_TIMESTAMP.
Objaśnienie:
Ilość pamięci wymagana do reprezentowania wartości Poprawny łańcuch formatowania dla funkcji
tablicowej jest większa niż maksymalna dozwolona w VARCHAR_FORMAT musi:
systemie.
v mieć atrybut długości typu danych, który nie jest większy
Działanie użytkownika: niż 254 bajty,
Możliwe są następujące rozwiązania: v zawierać tylko obsługiwane elementy formatowania oraz
v Popraw instrukcję, za pomocą której tworzona jest dana obsługiwane znaki separatora,
wartość tablicowa. v nie dawać w wyniku łańcucha, którego rzeczywista długość
v Zmniejsz liczbę elementów tablicy lub wielkość niektórych jest większa niż atrybut długości wyniku.
elementów.
v Zwiększ wartość APPLHEAPSZ lub APPL_MEMORY, Poprawny łańcuch formatowania dla funkcji
jeśli nie są ustawione na AUTOMATIC. TIMESTAMP_FORMAT musi:
v Zwiększ ilość pamięci fizycznej dostępnej w systemie. v mieć atrybut długości typu danych, który nie jest większy
niż 254 bajty,
kod_sql: -20442 v zawierać przynajmniej jeden element formatowania,

632 Komunikaty, tom 2


SQL20448N • SQL20456N

v zawierać tylko obsługiwane elementy formatowania oraz Nie można wykonać instrukcji.
obsługiwane znaki separatora,
Działanie użytkownika:
v określać tylko wartość liczbową dla elementu formatowania Zmień argument łańcucha formatowania funkcji
FF, który jest liczbą całkowitą z zakresu od 1 do 6, lub TIMESTAMP_FORMAT. Więcej informacji można znaleźć w
określać element FF bez liczby, opisie funkcji TIMESTAMP_FORMAT w podręczniku SQL
v nie zawierać wielu elementów formatowania, które Reference.
reprezentują ten sam komponent wartości datownika. Na
przykład: kod_sql: -20448
– wartości YYYY i YY nie mogą być określone
jednocześnie w łańcuchu formatowania, stan_sql: 22007
– wartość YY nie może być określona więcej niż jeden raz,
– wartość J nie może być określona w połączeniu z innym SQL20449N Element drzewa wartość-elementu nie jest
elementem formatowania dla dnia, miesiąca lub roku, poprawny dla miejsca, w którym został
– wartość SSSSS nie może być określona w połączeniu z określony.
innym elementem formatowania dla godzin, minut lub Objaśnienie:
sekund. Element drzewa wartość-elementu istnieje w drzewie, ale nie
jest poprawny w miejscu, gdzie został określony w instrukcji.
Nie można wykonać instrukcji. Struktura drzewa komponentu drzewa musi zostać zachowana.
Działanie użytkownika:
Zmień argument łańcucha formatowania funkcji Na przykład w instrukcji ALTER SECURITY LABEL
nazwa-funkcji. Więcej informacji można znaleźć w opisie COMPONENT element nazwa-elementu określony w klauzuli
odpowiedniej funkcji w podręczniku SQL Reference. OVER klauzuli ADD ELEMENT nie jest bezpośrednim
elementem potomnym elementu drzewa określonego
bezpośrednio po parametrze UNDER.
kod_sql: -20447
Działanie użytkownika:
stan_sql: 22007 Podaj poprawny element drzewa, który zachowa strukturę
drzewa. Na przykład określ tylko istniejące elementy drzewa,
które są bezpośrednimi elementami potomnymi elementu
SQL20448N Wyrażenie wyrażenie-łańcuchowe nie może
drzewa określonego bezpośrednio po parametrze UNDER.
być interpretowane za pomocą łańcucha
formatowania łańcuch-formatowania dla
kod_sql: -20449
funkcji TIMESTAMP_FORMAT.
Objaśnienie: stan_sql: 428H3
Funkcja TIMESTAMP_FORMAT została wywołana z
wyrażeniem wyrażenie-łańcuchowe oraz łańcuchem
łańcuch-formatowania. Nazwą użytą do wywołania funkcji SQL20453N Nie można usunąć zadania nazwa-zadania,
powinna być TO_DATE lub TO_TIMESTAMP. Aby zwrócić ponieważ jest aktualnie wykonywane.
wartość datownika, wartość wyrażenie-łańcuchowe nie może Objaśnienie:
być interpretowana za pomocą łańcucha formatowania Próba usunięcia zadania nazwa-zadania nie powiodła się,
łańcuch-formatowania. Ten błąd może wystąpić z ponieważ jest ono aktualnie wykonywane.
następujących przyczyn:
Działanie użytkownika:
v Wyrażenie wyrażenie-łańcuchowe jest za krótkie dla
Poczekaj, aż zadanie zostanie zakończone, a następnie użyj
określonego łańcucha formatowania.
procedury SYSPROC.ADMIN_TASK_REMOVE, aby je
v Wyrażenie wyrażenie-łańcuchowe jest za długie dla usunąć. Widok SYSTOOLS.ADMIN_TASK_STATUS można
określonego łańcucha formatowania. wykorzystać do sprawdzenia statusu wykonania zadania.
v Wyrażenie wyrażenie-łańcuchowe nie spełnia wymagań
szablonu określonych w łańcuchu formatowania. Na kod_sql: -20453
przykład:
– W wyrażeniu wyrażenie-łańcuchowe określono zbyt stan_sql: 5UA01
wiele cyfr dla odpowiedniego elementu formatowania w
łańcuchu formatowania, tak jak w przypadku, gdzie SQL20456N Operacja wstawiania lub aktualizowania
wartość 92007 nie jest poprawna dla YYYY. wielu wierszy nie powiodła się, ponieważ dla
– Wartość wyrażenia wyrażenie-łańcuchowe nie jest kolumny zdefiniowanej jako ROW
poprawna dla odpowiedniego elementu formatowania w CHANGE TIMESTAMP i GENERATED
łańcuchu formatowania, tak jak w przypadku, gdzie 45 BY DEFAULT nie można określać wartości
nie jest poprawna dla DD. typu DEFAULT oraz wartości jawnych.
Objaśnienie:

Rozdział 2. Komunikaty SQL 633


SQL20457N • SQL20461W

Operacja wstawiania lub aktualizowania wielu wierszy danych


SQL20459W Procedura nazwa_procedury napotkała
próbowała wstawić lub zaktualizować wiersze, określając
wewnętrzny błąd przetwarzania. Wartość
wartość DEFAULT dla niektórych wierszy oraz wartości
parametru numer zawiera dalsze informacje
jawne dla innych wierszy w kolumnie, która jest zdefiniowana
o błędzie.
przez oba atrybuty ROW CHANGE TIMESTAMP i
GENERATED BY DEFAULT. Objaśnienie:
Wystąpił błąd podczas przetwarzania żądania przez procedurę
Działanie użytkownika:
nazwa_procedury. Parametr wyjściowy określony na pozycji
Zmień instrukcję tak, aby dla wszystkich wierszy kolumny
porządkowej numer zawiera informacje o sposobie reakcji na
określona była wartość DEFAULT lub dla wszystkich wierszy
błąd.
kolumny były udostępnione wartości jawne. Alternatywnie dla
tej operacji użyj dwóch instrukcji: jedną do ustawienia Działanie użytkownika:
wartości kolumny na DEFAULT, a drugiej do ustawienia Informacji w parametrze wyjściowym określonym na pozycji
wartości kolumny na jawnie udostępnione wartości. porządkowej numer można użyć do poprawienia błędu i
ponownego wywołania procedury.
kod_sql: -20456
kod_sql: +20459
stan_sql: 560CP
stan_sql: 01H55
SQL20457N Procedura nazwa_procedury napotkała
nieobsługiwaną wersję, wersja, dla SQL20460W Procedura nazwa_procedury obsługuje
parametru numer. wyższą wersję wersja1 niż określona wersja,
wersja2, dla parametru numer.
Objaśnienie:
Wersja, wersja, określona dla parametru na pozycji Objaśnienie:
porządkowej numer nie jest obsługiwana przez procedurę Wyższa wersja, wersja1, dla parametru na pozycji
nazwa_procedury. porządkowej numer jest obsługiwana przez procedurę
nazwa_procedury. Określona wersja, wersja2, jest
Działanie użytkownika:
obsługiwana dla danego parametru.
Wywołaj procedurę i podaj numer obsługiwanej wersji dla
parametru. Najwyższy obsługiwany numer wersji dla Działanie użytkownika:
parametru można uzyskać po wywołaniu procedury i Przejrzyj dokumentację procedury i znajdź informacje na
określeniu wartości NULL jako wartości tego parametru. temat dodatkowych funkcji obsługiwanych przez nowszą
wersję parametru. Przeprowadź aktualizację do bieżącej
kod_sql: -20457 wersji, aby skorzystać z tych dodatkowych funkcji.

stan_sql: 38554 kod_sql: +20460

stan_sql: 01H56
SQL20458W Procedura nazwa_procedury napotkała błąd
wewnętrznego przetwarzania parametru w
parametrze numer1. Wartość parametru SQL20461W Procedura nazwa_procedury zwróciła dane
numer2 zawiera dalsze informacje o błędzie. wyjściowe dla alternatywnych ustawień
narodowych, ustawienia_narodowe1, zamiast
Objaśnienie:
dla ustawień narodowych,
Format lub zawartość parametru na pozycji porządkowej
ustawienia_narodowe2, określonych w
numer1 w wywołaniu procedury nazwa_procedury jest
parametrze numer.
niepoprawna. Parametr wyjściowy określony na pozycji
porządkowej numer2 zawiera informacje o sposobie reakcji na Objaśnienie:
błąd. Ustawienia narodowe, ustawienia_narodowe2, określone w
parametrze na pozycji porządkowej numer były niedostępne
Działanie użytkownika:
dla danych wyjściowych procedury nazwa_procedury. Dane
Informacji w parametrze wyjściowym określonym na pozycji
wyjściowe zostały zwrócone przy użyciu ustawień
porządkowej numer2 można użyć do poprawienia formatu lub
narodowych ustawienia_narodowe1.
zawartości parametru i ponownego wywołania procedury.
Działanie użytkownika:
kod_sql: +20458 Zainstaluj obsługę pliku komunikatów na serwerze dla
określonych ustawień narodowych, ustawienia_narodowe2,
stan_sql: 01H54 lub podaj obsługiwane ustawienia narodowe.

kod_sql: +20461

stan_sql: 01H57

634 Komunikaty, tom 2


SQL21000N • SQL22007N

Jeśli działanie konfiguracji domyślnej jest prawidłowe, nie


SQL21000N Opcja wyszukiwania tekstu nie jest
trzeba podejmować żadnych działań.
zainstalowana lub nie jest poprawnie
skonfigurowana.
SQL22001W Nie można odnaleźć domyślnej konfiguracji
Objaśnienie:
obiektu nazwa-obiektu. Zostanie zwrócona
Opcja wyszukiwania tekstu DB2 lub program DB2 Net Search
konfiguracja instalacyjna dla typu
Extender nie jest zainstalowany lub nie jest poprawnie
typ-obiektu.
skonfigurowany na tym serwerze. Aby korzystać z funkcji
wyszukiwania tekstu, takich jak CONTAINS, SCORE lub Objaśnienie:
NUMBEROFMATCHES, w systemie musi być poprawnie Ten obiekt nie ma własnej konfiguracji, dlatego zwrócona
skonfigurowana i uruchomiona jedna z następujących opcji. zostanie konfiguracja instalacyjna dla odpowiedniego typu
obiektu.
Działanie użytkownika:
Upewnij się, czy opcja wyszukiwania tekstu DB2 lub program Działanie użytkownika:
DB2 Net Search Extender są poprawnie zainstalowane i Jeśli konfiguracja instalacyjna zapewnia prawidłowe działanie,
skonfigurowane oraz czy baza danych umożliwia nie są wymagane żadne dalsze działania.
wyszukiwanie tekstu.
SQL22004N Nie można odnaleźć żądanej konfiguracji
kod_sql: -21000
danego obiektu. Zostanie zwrócona
domyślna konfiguracja dla obiektu
stan_sql: 42724
nazwa-obiektu.
Objaśnienie:
SQL21002N Tworzenie kopii zapasowej obrazu stanu
Obiekt nie ma przypisanej konfiguracji indywidualnej, zatem
zakończyło się niepowodzeniem. Baza
zwrócona zostanie domyślna konfiguracja dla danego typu
danych, dla której tworzona jest kopia
obiektu.
zapasowa, jest skonfigurowana w celu
korzystania z surowych dzienników, ale Działanie użytkownika:
surowe dzienniki nie są obsługiwane przez Jeśli działanie konfiguracji domyślnej jest prawidłowe, nie
opcję tworzenia kopii zapasowej obrazu trzeba podejmować żadnych działań.
stanu.
Objaśnienie: SQL22005N Nie można odnaleźć domyślnej konfiguracji
Nie można przeprowadzić tworzenia kopii zapasowej obrazu danego obiektu. Zostanie zwrócona
stanu dla bazy danych, która korzysta z urządzenia surowego konfiguracja instalacyjna dla obiektu
do rejestrowania w dzienniku. nazwa-obiektu.
Objaśnienie:
Tworzenie kopii zapasowej obrazu stanu zakończyło się
Ten obiekt nie ma własnej konfiguracji, dlatego zwrócona
niepowodzeniem.
zostanie konfiguracja instalacyjna dla odpowiedniego typu
Działanie użytkownika: obiektu.
Dostępne są dwie opcje:
Działanie użytkownika:
v Nawet jeśli nie można przeprowadzić tworzenia kopii Jeśli konfiguracja instalacyjna zapewnia prawidłowe działanie,
zapasowej obrazu stanu dla bazy danych, która korzysta z nie są wymagane żadne dalsze działania.
urządzenia surowego do rejestrowania w dzienniku, można
przeprowadzić tworzenie tradycyjnej kopii zapasowej bazy
danych. SQL22006N Nie można zaktualizować elementu
nazwa-działania-na-obiekcie-lub-kontaktu,
v Można tak skonfigurować ścieżkę dziennika bazy danych,
ponieważ nie istnieje.
aby była ścieżką do pliku zamiast do urządzenia surowego,
a następnie uruchomić tworzenie kopii zapasowej obrazu Objaśnienie:
stanu. Próbowano użyć funkcji API do zmiany konfiguracji
elementu, który nie istnieje.
SQL22000W Nie można odnaleźć żądanej konfiguracji Działanie użytkownika:
obiektu nazwa-obiektu. Zostanie zwrócona Utwórz odpowiedni obiekt, po czym ponownie wywołaj
domyślna konfiguracja dla typu typ-obiektu. funkcję API.
Objaśnienie:
Obiekt nie ma przypisanej konfiguracji indywidualnej, zatem SQL22007N Użyty identyfikator lub nazwa indykatora
zwrócona zostanie domyślna konfiguracja dla danego typu poprawności, nazwa-indykatora-poprawności,
obiektu. jest niepoprawna.
Działanie użytkownika: Objaśnienie:

Rozdział 2. Komunikaty SQL 635


SQL22008N • SQL22016N

Wybrane działanie można wykonać tylko w odniesieniu do


SQL22012W Niejawne dołączenie instancji nie powiodło
prawidłowego indykatora poprawności. Wskazany indykator
się.
poprawności nie istnieje.
Objaśnienie:
Działanie użytkownika:
Jawne dołączenie instancji nie istnieje, a niejawne dołączenie
Ustal prawidłowy identyfikator lub nazwę i ponownie prześlij
do instancji domyślnej nie powiodło się. Nie można wykonać
żądanie.
komendy.
Działanie użytkownika:
SQL22008N Wartość wartość-parametru parametru
Program DB2 musi być uruchomiony, zmienne środowiskowe
nazwa-parametru nie ma poprawnego
muszą być prawidłowo ustawione.
formatu, typu lub wartości.
Objaśnienie:
SQL22013N Nie można dodać nazwa-obiektu-czynności-
Nie można wykonać żądanego działania, ponieważ podana
lub-kontaktu, ponieważ odpowiedni element
wartość tego parametru ma niewłaściwy format, typ lub
już istnieje.
wartość.
Objaśnienie:
Działanie użytkownika:
Zażądano dodania działania lub powiadomienia, które już
Ustal prawidłowy format, typ lub wartość dla danego
istnieje.
parametru i ponownie prześlij żądanie.
Działanie użytkownika:
Zmień lub usuń istniejące działania lub powiadomienia.
SQL22009N W tej instancji nie określono informacji o
kontaktach powiadamianych w razie
problemów z poprawnością. SQL22014W Monitor poprawności nie zwrócił żadnych
danych dotyczących poprawności.
Objaśnienie:
W tej instancji nie określono informacji o kontaktach Objaśnienie:
powiadamianych w razie problemów z poprawnością. Brak danych dotyczących poprawności dla tej instancji lub
monitor poprawności jest wyłączony.
Działanie użytkownika:
Jeśli bieżące dane o kontaktach są poprawne, nie trzeba Działanie użytkownika:
podejmować żadnych działań. Sprawdź, czy monitor poprawności jest uruchomiony w tej
instancji.
SQL22010N Wartość wartość-parametru parametru
nazwa-parametru nie mieści się w zakresie SQL22015N Określona nazwa lub identyfikator
wartości dopuszczalnych dla tego indykatora poprawności
parametru, czyli jest większa niż nazwa-indykatora-poprawności jest
maksymalna-wartość-parametru lub mniejsza niepoprawna dla tego typu obiektu.
niż minimalna-wartość-parametru.
Objaśnienie:
Objaśnienie: Podany indykator poprawności nie istnieje dla tego typu
Nie można wykonać żądanego działania, ponieważ wybrana obiektu.
wartość tego parametru jest poza dozwolonym zakresem.
Działanie użytkownika:
Działanie użytkownika: Sprawdź typ obiektu oraz identyfikator lub nazwę i ponów
Ponownie prześlij żądanie, używając wartości z dozwolonego żądanie.
zakresu.
SQL22016N Monitor poprawności nie zwrócił zaleceń
SQL22011W Nie można odnaleźć konfiguracji dla dla indykatora poprawności
nazwa-lub-typ-obiektu. nazwa-indykatora-poprawności. Kod
przyczyny = kod-przyczyny.
Objaśnienie:
Obiekt lub typ obiektu nie ma przypisanej konfiguracji Objaśnienie:
indywidualnej lub domyślnej. Monitor poprawności nie zwrócił żadnych zaleceń.
Wyjaśnienie odpowiadające kodowi przyczyny:
Działanie użytkownika:
Nie jest wymagane żadne działanie. 1. Indykator poprawności nie jest w stanie alertu.
2. Indykator poprawności nie został jeszcze oceniony.
3. Indykator poprawności jest wyłączony.
Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące:

636 Komunikaty, tom 2


SQL22017N • SQL22200N

1. Sprawdź, czy indykator poprawności jest w stanie alertu.


SQL22021N Automatyzacja jest wyłączona.
Być może problem został już rozwiązany. Możliwe
również, że indykator poprawności oscyluje między Objaśnienie:
stanem alertu i stanem normalnym. Może to oznaczać, że Wymagany program narzędziowy nie może być wykonany,
jego poziom rozpoznania jest zbyt niski i reaguje on w ten ponieważ w danej chwili przełącznik automatyzacji jest
sposób na zmiany w wykorzystaniu systemu. W takiej wyłączony.
sytuacji rozważ zwiększenie poziomu rozpoznania za
Działanie użytkownika:
pomocą komendy UPDATE ALERT CONFIGURATION.
Spróbuj wykonać jedną z następujących czynności:
2. Poczekaj przez co najmniej jeden pełny okres odświeżania
v Rozwiąż problem zgodnie z zaleceniami przedstawionymi
indykatora poprawności, aby sprawdzić, czy indykator
przez monitor poprawności.
poprawności został oceniony. Następnie ponownie
wprowadź żądanie. v Włącz odpowiedni przełącznik automatyzacji.
3. Włącz indykator poprawności przy użyciu komendy
UPDATE ALERT CONFIGURATION. Poczekaj, aż SQL22022N Przedział czasu okna konserwacji jest za
indykator poprawności zostanie oceniony, a następnie mały, aby można było wykonać czynności
ponownie wprowadź żądanie. obsługowe.
Objaśnienie:
Jeśli problem nadal występuje, powiadom dział wsparcia IBM.
Wymagany program narzędziowy nie może być wykonany,
ponieważ okno konserwacji zdefiniowane w konfiguracji
SQL22017N Podczas generowania zaleceń w monitorze automatycznej konserwacji nie ma odpowiedniego przedziału
poprawności wystąpił drobny błąd. czasu.
SQLCODE = kod_sql.
Działanie użytkownika:
Objaśnienie: Spróbuj wykonać jedną z następujących czynności:
Monitor poprawności napotkał drobny błąd podczas próby v Rozwiąż problem zgodnie z zaleceniami przedstawionymi
pobrania zaleceń dla określonego indykatora poprawności. przez monitor poprawności.
Działanie użytkownika: v Zwiększ przedział czasu okna konserwacji dla odpowiedniej
Popraw błąd wskazany w SQLCODE. Następnie ponownie czynności automatycznej konserwacji.
wprowadź żądanie zalecenia.
SQL22025N Podano niepoprawny argument wejściowy
Jeśli problem nadal występuje, powiadom dział wsparcia IBM.
dla procedury składowanej reorgchk.
Objaśnienie:
SQL22018W Dla tego indykatora poprawności nie można
Jako pierwszy argument procedury składowanej obsługiwane
pobrać danych kolekcji.
są tylko wartości ’T’ i ’S’. Jeśli jako pierwszy argument
Objaśnienie: zostanie podana wartość ’T’, drugi argument procedury
Dane kolekcji są przechowywane w tabelach w bazie danych. składowanej musi być pełną nazwą tabeli w postaci
Danych z tabeli nie można pobrać, ponieważ nie ma dostępu <schemat.nazwa-tabeli>.
do tabeli lub oryginalna definicja tabeli została zmieniona i
Działanie użytkownika:
odpowiednie kolumny nie istnieją.
Wprowadź ponownie z poprawnymi argumentami
Działanie użytkownika: wejściowymi.
Jeśli problem nadal występuje, powiadom dział wsparcia IBM.
SQL22200N Nie można zatrzymać Serwera
SQL22019N Przetwarzanie w monitorze poprawności administracyjnego DB2.
zostało zatrzymane z powodu
Objaśnienie:
nieoczekiwanego błędu. Kod przyczyny =
Nie można zatrzymać Serwera administracyjnego DB2,
kod-przyczyny.
ponieważ jest on teraz zajęty obsługą przynajmniej jednego
Działanie użytkownika: żądania klienta.
Jeśli problem nadal występuje, powiadom dział wsparcia IBM.
Działanie użytkownika:
Komenda DB2ADMIN STOP z opcją /FORCE pozwala
SQL22020N Przetwarzanie w monitorze poprawności anulować wszystkie żądania realizowane obecnie przez Serwer
zostało zatrzymane, ponieważ osiągnięto administracyjny DB2 i wymusić zatrzymanie tego serwera.
górny limit jego segmentu pamięci
współużytkowanej. Bieżąca wielkość wynosi
rozmiar.
Działanie użytkownika:
Jeśli problem nadal występuje, powiadom dział wsparcia IBM.

Rozdział 2. Komunikaty SQL 637


SQL22201N • SQL22205C

SQL22201N Serwer administracyjny DB2 nie SQL22203W Nie można anulować wygaszenia Serwera
uwierzytelnił użytkownika administracyjnego DB2. Kod przyczyny:
id-autoryzowanego-użytkownika na hoście kod-przyczyny.
nazwa-hosta. Kod przyczyny: kod-przyczyny.
Objaśnienie:
Objaśnienie: Operacja anulowania wygaszenia Serwera administracyjnego
Serwer administracyjny DB2 nie mógł uwierzytelnić DB2 nie powiodła się z uwagi na jedną z poniższych przyczyn:
użytkownika id-autoryzowanego-użytkownika dla jednej z 1. Serwer administracyjny DB2 nie jest wygaszony.
poniższych przyczyn:
2. Realizowane jest przynajmniej jedno żądanie
1. Niepoprawny identyfikator lub hasło użytkownika. administracyjne.
2. Hasło przestało być aktualne.
Działanie użytkownika:
3. Konto użytkownika zostało wyłączone. Spróbuj zastosować jedno z poniższych rozwiązań,
4. Na konto użytkownika nałożone są ograniczenia. odpowiednio do przyczyny niepowodzenia:
5. Serwer administracyjny DB2 nie może przetwarzać żądań 1. Nie jest wymagane żadne działanie.
zleconych przez administratora. 2. Poczekaj, aż Serwer administracyjny DB2 zakończy
6. Autoryzacja nie powiodła się. przetwarzanie wszystkich żądań administracyjnych, lub
ponownie wydaj komendę anulowania wygaszenia z opcją
Działanie użytkownika:
wymuszającą (force). Wymuszenie anulowania
W zależności od kodu przyczyny wykonaj następujące
wygaszenia pozwoli na równoległe wykonywanie żądań
czynności:
zwykłych i żądań administracyjnych, co jednak może
1. Sprawdź, czy podana została poprawna nazwa i hasło uniemożliwić pomyślną realizację żądań
użytkownika dla hosta nazwa-hosta. administracyjnych.
2. Zmień hasło użytkownika id-autoryzowanego-użytkownika
na hoście nazwa-hosta. Poproś o pomoc administratora
SQL22204N W trakcie realizacji żądania na Serwerze
systemu. Po zmianie hasła spróbuj ponowić żądanie.
administracyjnym DB2 napotkano błąd nie
3. Skontaktuj się z administratorem systemu w celu zaliczany do kategorii poważnych.
odblokowania konta.
Objaśnienie:
4. Skontaktuj się z administratorem systemu, aby uzyskać
Podczas przetwarzania żądania w Serwerze administracyjnym
informacje o ograniczeniach nałożonych na konto.
DB2 wystąpił błąd nie zaliczany do kategorii poważnych.
5. Wyślij żądanie ponownie jako użytkownik inny niż
administrator. Działanie użytkownika:
Dodatkowe informacje można znaleźć w dzienniku Serwera
6. Wystąpił wewnętrzny błąd uwierzytelnienia.
administracyjnego DB2: First Failure Data Capture Log.
Jeśli po zastosowaniu zalecanych rozwiązań komunikat o tym
Jeśli śledzenie było aktywne, wywołaj program Independent
błędzie jest nadal zgłaszany, skontaktuj się z działem wsparcia
Trace Facility z wiersza komend systemu operacyjnego.
IBM.
Skontaktuj się z działem wsparcia IBM, podając następujące
wymagane informacje:
SQL22202W Nie można wygasić Serwera v Opis problemu
administracyjnego DB2. Kod przyczyny:
v Kod SQLCODE lub numer komunikatu
kod-przyczyny.
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
Objaśnienie: możliwe)
Operacja wygaszenia Serwera administracyjnego DB2 nie
v Plik śledzenia (jeśli jest to możliwe)
powiodła się ze względu na jedną z poniższych przyczyn:
1. Serwer administracyjny DB2 już jest wygaszony.
SQL22205C W trakcie realizacji żądania na Serwerze
2. Serwer administracyjny DB2 jest obecnie zajęty
administracyjnym DB2 napotkano
przetwarzaniem żądań w imieniu klientów DB2.
nieoczekiwany błąd.
Działanie użytkownika:
Objaśnienie:
Spróbuj zastosować jedno z poniższych rozwiązań,
Podczas przetwarzania żądania w Serwerze administracyjnym
odpowiednio do przyczyny niepowodzenia:
DB2 wystąpił nieoczekiwany błąd.
1. Nie jest wymagane żadne działanie.
Działanie użytkownika:
2. Poczekaj, aż Serwer administracyjny DB2 zakończy
Dodatkowe informacje można znaleźć w dzienniku Serwera
przetwarzanie żądań lub wydaj ponownie komendę
administracyjnego DB2: First Failure Data Capture Log.
wygaszenia z opcją wymuszającą (force). Wygaszenie
wymuszone powoduje zakończenie wszystkich
przetwarzanych obecnie żądań.

638 Komunikaty, tom 2


SQL22206N • SQL22209N

Jeśli śledzenie było aktywne, wywołaj program Independent 2. Zweryfikuj poprawność katalogu roboczego na hoście
Trace Facility z wiersza komend systemu operacyjnego. nazwa-hosta.
Skontaktuj się z działem wsparcia IBM, podając następujące 3. Sprawdź treść skryptu i spróbuj ponowić żądanie.
wymagane informacje:
4. Dodatkowe informacje można znaleźć w dzienniku
v Opis problemu Serwera administracyjnego DB2: First Failure Data
v Kod SQLCODE lub numer komunikatu Capture Log.
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe) Jeśli komunikat o błędzie pojawiać się będzie nadal mimo
zastosowania sugerowanego rozwiązania, należy szukać
v Plik śledzenia (jeśli jest to możliwe)
dodatkowych informacji w dzienniku przechwyconych danych
o błędach Serwera administracyjnego DB2 lub skontaktować
SQL22206N Podczas dostępu do kolejki komunikatów się z działem wsparcia IBM.
wystąpił błąd. Kod przyczyny:
kod-przyczyny.
SQL22208N Serwer administracyjny DB2 nie wykonał
Objaśnienie: funkcji/metody nazwa-funkcji z
Wystąpił nieoczekiwany błąd lub odebrano niewłaściwy biblioteki/klasy nazwa-biblioteki na hoście
komunikat w kolejce komunikatów. Lista kodów przyczyny: nazwa-hosta. Kod przyczyny: kod-przyczyny.
1. Nie można utworzyć kolejki komunikatów. Dopuszczalna Objaśnienie:
liczba kolejek komunikatów mogła zostać przekroczona. Przy próbie wykonania przez Serwer administracyjny DB2
2. Podczas odczytu z kolejki komunikatów wystąpił błąd. funkcji lub metody zawartej w bibliotece lub klasie napotkano
3. Podczas zapisu do kolejki komunikatów wystąpił błąd. błąd spowodowany jedną z poniższych przyczyn:
4. Z kolejki komunikatów odebrano nieprawidłowy 1. Nie znaleziono biblioteki lub klasy nazwa-biblioteki.
komunikat. 2. Nie znaleziono funkcji/metody nazwa-funkcji w bibliotece
5. Podczas otwierania kolejki komunikatów wystąpił błąd. lub klasie nazwa-biblioteki.
6. Podczas zamykania kolejki komunikatów wystąpił błąd. 3. Wersja funkcji lub metody wywołanej przez Serwer
administracyjny DB2 nie jest obsługiwana.
7. Podczas przeszukiwania kolejki komunikatów wystąpił
błąd. Działanie użytkownika:
8. Podczas usuwania kolejki komunikatów wystąpił błąd. Spróbuj zastosować jedno z poniższych rozwiązań,
odpowiednio do przyczyny niepowodzenia:
Działanie użytkownika:
1. Sprawdź, czy biblioteka nazwa-biblioteki istnieje na hoście
Sprawdź, czy nie została przekroczona dopuszczalna liczba
nazwa-hosta.
kolejek komunikatów. Jeśli będzie to konieczne zmniejsz
liczbę kolejek komunikatów i ponów żądanie. 2. W celu uzyskania dodatkowych informacji sprawdź
dziennik przechwyconych danych o błędach Serwera
Jeśli po zastosowaniu zalecanych rozwiązań komunikat o tym administracyjnego DB2. Jeśli śledzenie było aktywne,
błędzie jest nadal zgłaszany, skontaktuj się z działem wsparcia wywołaj program Independent Trace Facility z wiersza
IBM. komend systemu operacyjnego. Skontaktuj się z działem
wsparcia IBM, podając następujące wymagane informacje:
v Opis problemu
SQL22207N Serwer administracyjny DB2 nie może
wykonać skryptu na hoście nazwa-hosta. v Kod SQLCODE lub numer komunikatu
Kod przyczyny: kod-przyczyny. v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe)
Objaśnienie:
Wykonanie skryptu przez Serwer administracyjny DB2 nie v Plik śledzenia (jeśli jest to możliwe)
powiodło się z jednego z poniższych powodów: 3. Patrz: zalecenie dotyczące kodu przyczyny 2.
1. Skrypt określony przez użytkownika nie istnieje.
2. Katalog roboczy skryptu jest niepoprawny. SQL22209N Serwer administracyjny DB2 napotkał
3. Nie powiodło się wykonanie ostatniego wiersza skryptu, nieoczekiwany błąd języka Java na hoście
ponieważ nie znaleziono znaku kończącego instrukcję. nazwa-hosta.
4. Podczas próby wykonania skryptu wystąpił błąd Objaśnienie:
systemowy. Wystąpił błąd podczas próby uruchomienia przez Serwer
administracyjny DB2 interpretera języka Java lub próby
Działanie użytkownika: porozumienia się z nim. Przyczyna problemu może być
Spróbuj zastosować jedno z poniższych rozwiązań, następująca:
odpowiednio do przyczyny niepowodzenia:
1. Środowisko Java na hoście nazwa-hosta zostało
1. Sprawdź, czy wskazany skrypt istnieje na hoście nieprawidłowo zainstalowane lub skonfigurowane.
nazwa-hosta i znajduje się w odpowiednim katalogu.

Rozdział 2. Komunikaty SQL 639


SQL22210N • SQL22213N

2. Parametr konfiguracyjny jdk_path Serwera 3. W celu uzyskania dodatkowych informacji sprawdź


administracyjnego DB2 został ustawiony nieprawidłowo. dziennik przechwyconych danych o błędach Serwera
administracyjnego DB2 lub skontaktuj się z działem
Działanie użytkownika:
wsparcia IBM.
Spróbuj zastosować jedno z poniższych rozwiązań:
1. Skontaktuj się z administratorem systemu hosta
nazwa-hosta w celu sprawdzenia, czy środowisko Java jest SQL22212N Wykryto błąd komunikacyjny Serwera
prawidłowo zainstalowane i skonfigurowane. administracyjnego DB2. System klienta:
adres-ip-klienta. System serwera:
2. Sprawdź, czy parametr konfiguracyjny Serwera
adres-ip-serwera.
administracyjnego DB2 jdk_path jest ustawiony
poprawnie. Wartość parametru jdk_path można Objaśnienie:
wyświetlić, korzystając z procesora wiersza komend. Wykryto błąd komunikacyjny Serwera administracyjnego
Parametr ten powinien określać katalog instalacyjny DB2. Możliwe są następujące przyczyny:
środowiska Java na hoście nazwa-hosta. 1. Serwer administracyjny DB2 w systemie serwera został
zamknięty przez administratora systemu.
Jeśli komunikat o tym błędzie jest nadal zgłaszany mimo
2. Działanie Serwera administracyjnego DB2 w systemie
zastosowania proponowanego rozwiązania, skontaktuj się z
serwera zostało zakończone ze względu na błąd
działem wsparcia IBM.
wewnętrzny lub systemowy.
3. Serwer administracyjny DB2 nie jest zainstalowany w
SQL22210N Serwer administracyjny DB2 nie może systemie serwera.
zrealizować określonego żądania, gdy jest
4. Serwer administracyjny DB2 nie został prawidłowo
wygaszony.
wpisany do katalogu w systemie klienta.
Objaśnienie: 5. Podsystem komunikacyjny w systemie klienta lub w
Realizacja żądania przez Serwer administracyjny DB2 nie była systemie serwera nie został prawidłowo skonfigurowany
możliwa, ponieważ Serwer administracyjny jest obecnie lub prawidłowo uruchomiony.
wygaszony. W stanie wygaszenia Serwer administracyjny
6. Błąd sieciowy spowodował przerwanie połączenia.
może realizować wyłącznie żądania administracyjne.
7. Błąd wewnętrzny Serwera administracyjnego DB2
Działanie użytkownika: spowodował zerwanie połączenia.
Spróbuj ponowić żądanie, gdy Serwer administracyjny DB2
nie będzie już w stanie wygaszenia. Aby dowiedzieć się, kiedy Działanie użytkownika:
serwer przestanie być wygaszony, skontaktuj się z Sprawdź:
administratorem bazy danych. 1. Czy Serwer administracyjny DB2 nie został zamknięty?
2. Czy działanie Serwera administracyjnego DB2 nie zostało
SQL22211N Wystąpił błąd podczas ustawiania lub zakończone?
pobierania parametru konfiguracyjnego 3. Czy Serwer administracyjny DB2 został zainstalowany w
element-parametru Serwera systemie serwera?
administracyjnego DB2. Kod przyczyny: 4. Czy zdalny Serwer administracyjny DB2 jest prawidłowo
kod-przyczyny. wpisany do katalogu w systemie klienta?
Objaśnienie: 5. Czy podsystem komunikacyjny w systemach serwera i
Podczas aktualizowania lub odczytywania konfiguracji klienta jest prawidłowo skonfigurowany i czy został
Serwera administracyjnego DB2 wystąpił następujący błąd: uruchomiony?
1. Parametr konfiguracyjny nie jest znany. 6. Czy sieć działa prawidłowo?
2. Wartość parametru konfiguracyjnego jest poza 7. Brak elementów do sprawdzenia.
dozwolonym zakresem.
3. Podczas aktualizacji parametrów konfiguracyjnych Jeśli problem nie ustąpi, skontaktuj się z administratorem sieci
Serwera administracyjnego DB2 wystąpił błąd systemowy. lub z działem wsparcia IBM.

Działanie użytkownika:
Spróbuj zastosować poniższe rozwiązania, odpowiednio do SQL22213N Przetwarzanie komendy DB2ADMIN
kodu przyczyny: powiodło się. Program planujący nie został
uruchomiony pomyślnie.
1. Sprawdź, czy dany parametr konfiguracyjny istnieje.
2. Sprawdź, czy określona wartość parametru należy do Objaśnienie:
dozwolonego zakresu. Wykaz dopuszczalnych zakresów Serwer administracyjny DB2 został pomyślnie uruchomiony
parametrów można znaleźć w podręczniku DB2 komendą DB2ADMIN, jednak próba uruchomienia programu
Administration Guide, w tomie Performance (wydajność). planującego nie powiodła się.
Działanie użytkownika:
Sprawdź:

640 Komunikaty, tom 2


SQL22214N • SQL22221N

v Upewnij się, że parametry konfiguracyjne serwera Wystąpił nieoczekiwany błąd podczas wykonywania operacji.
administracyjnego DB2 poprawnie określają konfigurację Możliwe kody przyczyny:
bazy danych katalogu narzędzi. Instrukcje na temat
1 Nazwa konsoli użyta do jej uaktywnienia ma więcej
konfigurowania bazy danych katalogu narzędzi zawiera
niż 8 znaków.
podręcznik DB2 Administration Guide w sekcji
poświęconej serwerowi administracyjnemu DB2. 2 Długość wydanej przez operatora komendy
v Uruchom menedżera bazy danych zawierającego bazę przekracza 126 znaków.
danych katalogu narzędzi. 3 Wysłano żądanie aktywowania, a żądający nie ma
v Jeśli baza danych katalogu narzędzi jest zdalna względem prawa do odczytu zasobu o nazwie
tej instancji katalogu narzędzi, identyfikator i hasło MVS.MCSOPER.*, gdzie * jest nazwą konsoli.
użytkownika programu planującego muszą być poprawnie
ustawione. Identyfikator użytkownika programu 4 Wysłano żądanie aktywowania, podczas gdy konsola
planującego musi mieć uprawnienie SYSADM względem była już aktywna.
bazy danych katalogu narzędzi. Zmiana identyfikatora i Działanie użytkownika:
hasła użytkownika programu planującego jest możliwa za Działanie odpowiadające kodowi przyczyny jest następujące:
pośrednictwem komendy DB2ADMIN SETSCHEDID.
1 Sprawdź, czy nazwa użytkownika podana jako
v Baza danych katalogu narzędzi nie może być używana
nazwa konsoli nie zawiera więcej niż 8 znaków.
przez inny program planujący.
2 Sprawdź, czy długość wydanej przez operatora
Po sprawdzeniu powyższych punktów spróbuj zatrzymać i
komendy nie przekracza 126 znaków.
ponownie uruchomić serwer administracyjny DB2. Jeśli
komunikat o tym błędzie jest nadal zgłaszany mimo 3 Nadaj wymagane uprawnienie do odczytu zasobu
zastosowania proponowanego rozwiązania, skontaktuj się z MVS.MCSOPER.*, gdzie * jest nazwą konsoli.
działem wsparcia IBM.
4 Sprawdź, czy aktywowana konsola rozszerzona nie
jest już aktywna.
SQL22214N Węzeł administracyjny nazwa-węzła nie
istnieje w katalogu węzłów DB2.
SQL22220N Na Serwerze administracyjnym DB2
Objaśnienie: napotkano błąd skryptu. Kod błędu skryptu
Węzeł administracyjny nazwa-węzła jest niepoprawny. Nazwa to kod-błędu.
węzła nie figuruje w katalogu węzłów DB2.
Objaśnienie:
Działanie użytkownika: Podczas wykonywania skryptu przez Serwer administracyjny
Sprawdź, czy węzeł o nazwie nazwa-węzła jest wpisany do DB2 wystąpił błąd skryptu. Wykonanie skryptu zostało
katalogu węzłów administracyjnych, korzystając z komendy zakończone z kodem błędu kod-błędu.
LIST ADMIN NODE DIRECTORY. Jeśli węzeł
Działanie użytkownika:
administracyjny nie jest zarejestrowany w katalogu, użyj
Zweryfikuj poprawność skryptu.
komendy CATALOG ADMIN ... NODE w celu wpisania
węzła do katalogu. Jeśli komunikat o tym błędzie jest nadal
zgłaszany mimo zastosowania proponowanego rozwiązania, Jeśli komunikat o błędzie pojawiać się będzie nadal mimo
skontaktuj się z działem wsparcia IBM. zastosowania sugerowanego rozwiązania, należy szukać
dodatkowych informacji w dzienniku przechwyconych danych
o błędach Serwera administracyjnego DB2 lub skontaktować
SQL22215W Parametry konfiguracyjne serwera się z działem wsparcia IBM.
administracyjnego DB2 zostały
zaktualizowane pomyślnie.
SQL22221N Program planujący nie jest aktywny. Kod
Objaśnienie: przyczyny: kod-przyczyny.
Aktualizacja parametrów konfiguracyjnych przebiegła
pomyślnie, jednak zmiany odniosą skutek dopiero po restarcie Objaśnienie:
serwera administracyjnego DB2. Program planujący nie mógł obsłużyć żądania, ponieważ nie
jest aktywny z jednego z poniższych powodów:
Działanie użytkownika: 1. Program planujący nie jest włączony.
Zrestartuj serwer administracyjny DB2, aby zmiany odniosły
skutek. 2. Program planujący nie został prawidłowo skonfigurowany.
Działanie użytkownika:
SQL22216N Wystąpił błąd w czasie wykonywania Sprawdź, co następuje:
operacji na konsoli rozszerzonej. Kod 1. Sprawdź, czy program planujący został włączony. Do
przyczyny = kod-przyczyny. włączania programu planującego służy parametr
konfiguracyjny Serwera administracyjnego DB2
Objaśnienie: SCHED_ENABLE. Sprawdź bieżące ustawienie
parametru SCHED_ENABLE, korzystając z komendy

Rozdział 2. Komunikaty SQL 641


SQL22222N • SQL22232N

GET ADMIN CONFIGURATION w celu wyświetlenia


SQL22230N W systemie nie można znaleźć zestawu
parametrów konfiguracyjnych Serwera administracyjnego
danych zestaw-danych.
DB2. Do zmiany wartości dowolnego z parametrów
konfiguracyjnych Serwera administracyjnego DB2 służy Objaśnienie:
komenda UPDATE ADMIN CONFIGURATION. Błąd może wynikać z jednej z poniższych przyczyn:
2. Sprawdź, czy program planujący jest prawidłowo 1. Zestaw danych nie został wpisany do katalogu.
skonfigurowany. Opis prawidłowej konfiguracji programu 2. Wolumin, na którym znajduje się zestaw danych, nie jest
planującego znajduje się w sekcji dotyczącej Serwera podłączony.
administracyjnego DB2 w podręczniku DB2
3. Zestaw danych nie istnieje na woluminie określonym w
Administration Guide.
katalogu.
Jeśli komunikat o błędzie pojawiać się będzie nadal mimo 4. Nie określono nazwy zestawu danych lub nazwy elementu
zastosowania sugerowanego rozwiązania, należy szukać PDS/E, wymaganej do przeprowadzenia tej operacji.
dodatkowych informacji w dzienniku przechwyconych danych 5. Nazwa zestawu danych lub elementu PDS/E zawiera
o błędach Serwera administracyjnego DB2 lub skontaktować niedozwolone znaki lub jej długość przekracza
się z działem wsparcia IBM. maksymalną długość dozwoloną w systemie.

Więcej informacji na temat pierwszych trzech przyczyn


SQL22222N Konto logowania użytkownika dla
zawierają komunikaty systemu MVS o numerach IGW01021T,
programu planującego jest niepoprawne.
IGW01508T i IGW01511E.
Objaśnienie:
Działanie użytkownika:
Program planujący musi korzystać z poprawnego konta
Upewnij się, że nazwa zestawu danych została wprowadzona
logowania przy nawiązywaniu połączenia z bazą danych
poprawnie oraz że zestaw danych został wpisany do katalogu,
katalogu narzędzi, jeśli Serwer administracyjny DB2
a jego wolumin jest podłączony do systemu.
współpracuje ze zdalnym katalogiem narzędzi. Ten błąd
wynika z braku konta lub z faktu, że konto nie zawiera
poprawnego identyfikatora użytkownika DB2. SQL22231N Żądana operacja dotycząca zestawu danych
zestaw-danych nie jest obsługiwana.
Działanie użytkownika:
Jeśli konto użytkownika ma prawidłowe ustawienia, należy Objaśnienie:
sprawdzić, czy używa ono prawidłowego identyfikatora DB2. Niektóre właściwości określonego zestawu danych
Do utworzenia konta logowania na potrzeby programu uniemożliwiają użycie go w kontekście wybranej operacji.
planującego można użyć następującej komendy: Może to wynikać z niewłaściwego formatu rekordu lub typu
DB2ADMIN SETSCHEDID <id-użytkownika> danych. Na przykład, nie jest możliwe określenie nazwy
<hasło> elementu w wypadku zbioru danych PS.
Działanie użytkownika:
SQL22223N Instancja nazwa-instancji nie istnieje na Właściwości zbioru danych powinny być zgodne z wymogami
hoście nazwa-hosta. danej operacji. Dodatkowe informacje można znaleźć w
dzienniku przechwyconych danych o błędach Serwera
Objaśnienie: administracyjnego DB2.
Serwer administracyjny DB2 na hoście nazwa-hosta nie mógł
zrealizować żądania, ponieważ instancja nazwa-instancji
wskazana w żądaniu nie istnieje na hoście. SQL22232N Nie odnaleziono identyfikatora zadania
identyfikator-zdania w podsystemie Job
Działanie użytkownika: Entry Subsystem.
Sprawdź:
v Czy lokalny katalog węzłów zawiera poprawny wpis Objaśnienie:
dotyczący instancji nazwa-instancji na zdalnym węźle? Możliwe są następujące przyczyny:

v Czy instancja nazwa-instancji istnieje na hoście 1. Zadanie o określonym identyfikatorze nie zostało
nazwa-hosta? przesłane do podsystemu JES.
2. Zadanie o określonym identyfikatorze zostało usunięte z
Jeśli komunikat o błędzie pojawiać się będzie nadal mimo podsystemu JES.
zastosowania sugerowanego rozwiązania, należy szukać Działanie użytkownika:
dodatkowych informacji w dzienniku przechwyconych danych Upewnij się, że identyfikator skojarzony jest z zadaniem, które
o błędach Serwera administracyjnego DB2 lub skontaktować zostało przesłane do podsystemu JES i które nie zostało
się z działem wsparcia IBM. jeszcze z niego usunięte.

642 Komunikaty, tom 2


SQL22236N • SQL22245N

1 Określ nieistniejącą ścieżkę.


SQL22236N Wystąpił błąd we/wy pliku. Kod przyczyny:
kod-przyczyny. 2 Określ istniejącą ścieżkę.
Objaśnienie: 3 Upewnij się, że podany plik lub katalog nie jest
Wystąpił błąd przy próbie dostępu do systemu plików. dostępny tylko do odczytu.
Możliwe są następujące kody przyczyn:
4 Upewnij się, że podany plik lub katalog nie jest
1. Określono niesprawny katalog. używany przez inną aplikację.
2. Podjęto próbę otwarcia nieistniejącego pliku.
5 Upewnij się, że podany plik lub katalog jest
3. Podjęto próbę utworzenia istniejącego pliku. dostępny dla bieżącego użytkownika.
Działanie użytkownika: 6 Upewnij się, że podana ścieżka lub urządzenie są
Działanie zależy od kodu przyczyny. nadal dostępne.
1. Podaj poprawny katalog.
7 Upewnij się, że podany katalog jest pusty.
2. Podaj plik, który istnieje.
3. Podaj plik, który jeszcze nie istnieje. 8 Upewnij się, że podana ścieżka wskazuje katalog.
9 Upewnij się, że podana ścieżka jest poprawna.
SQL22237N Wystąpił błąd systemu plików podczas 10 Upewnij się, że długość podanej ścieżki nie
wykonywania operacji w ścieżce ścieżka. przekracza maksymalnej długości dopuszczanej
Kod przyczyny = kod-przyczyny. przez używany system operacyjny.
Objaśnienie: 11 Upewnij się, że w systemie plików jest dostępne
Wystąpił błąd przy próbie dostępu do systemu plików. wolne miejsce.
Wyjaśnienie odpowiadające kodowi przyczyny:
12 Zamknij część plików i ponów operację.
1 Podana ścieżka już istnieje.
13 Upewnij się, że w ramach operacji nie jest
2 Podana ścieżka nie istnieje. podejmowana próba odczytu lub przeniesienia
3 Podjęto próbę zmodyfikowania podanego pliku lub kursora poza koniec pliku.
katalogu, który obecnie jest dostępny tylko do 14 Powtórz operację. Jeśli problem nadal występuje,
odczytu. powiadom dział wsparcia IBM.
4 Podjęto próbę zmodyfikowania lub usunięcia 15 Powtórz operację. Jeśli problem nadal występuje,
podanego pliku lub katalogu, który obecnie jest powiadom dział wsparcia IBM.
używany przez inną aplikację.
16 Podaj nazwę katalogu, który nie istnieje.
5 Podany plik lub katalog nie jest dostępny.
6 Podana ścieżka lub urządzenie nie są dostępne. SQL22245N Generowanie kodu JCL nie powiodło się.
7 Podany niepusty katalog został wymieniony w Przyczyna (kod[, element]) = kod-przyczyny.
nieodpowiednim kontekście. Przykładem może być Objaśnienie:
próba nierekurencyjnego usunięcia niepustego Generowanie skryptu JCL nie powiodło się z jednej z
katalogu. poniższych przyczyn:
8 Podana ścieżka nie wskazuje katalogu. 01 Karta z zastrzeżonym parametrem szkieletu JCL
9 Podana ścieżka jest niepoprawna. &JOB nie została znaleziona lub została
niewłaściwie umieszczona w głównym szkielecie
10 Podana ścieżka jest zbyt długa. JCL. Karta ta w szkielecie JCL powinna być
pierwszą kartą nie będącą komentarzem,
11 W systemie plików brakuje wolnego miejsca.
występującą po karcie TEMPLATE.
12 Osiągnięto maksymalną dopuszczalną liczbę
02 Zastrzeżony parametr szkieletu JCL został
otwartych plików.
niewłaściwie użyty. Element zmienny w tym
13 Osiągnięto koniec podanego pliku. komunikacie zawiera nazwę parametru, który stał się
przyczyną problemu.
14 Wystąpił fizyczny błąd we/wy.
03 Główny szkielet JCL zawiera więcej wystąpień
15 Wystąpił niezidentyfikowany błąd.
zastrzeżonego parametru szkieletu JCL
16 Katalog o podanej nowej nazwie już istnieje. &CTLSTMT, niż oczekiwano. Element zmienny w
tym komunikacie informuje o oczekiwanej liczbie
Działanie użytkownika: parametrów &CTLSTMT.
Działanie użytkownika odpowiadające temu kodowi
przyczyny: 04 Główny szkielet JCL zawiera więcej wystąpień
zastrzeżonego parametru szkieletu JCL &STEPLIB,

Rozdział 2. Komunikaty SQL 643


SQL22247N • SQL22250N

niż oczekiwano. Element zmienny w tym uniemożliwia przydzielenie buforu na jego potrzeby.
komunikacie informuje o oczekiwanej liczbie Element zmienny w tym komunikacie zawiera
parametrów &STEPLIB. informację o żądanej wielkości buforu, która stała
się przyczyną problemu. Aby uniknąć tego błędu,
05 Główny szkielet JCL nie zaczyna się od instrukcji
zmniejsz liczbę obiektów bazy danych wybranych
TEMPLATE. Instrukcja ta powinna być w głównym
do przetwarzania.
szkielecie JCL pierwszą instrukcją nie będącą
komentarzem. Działanie użytkownika:
Skoryguj problem zgodnie ze stosownymi zaleceniami. Jeśli
06 Parametr jobname lub stepname w szkielecie JCL
problem nie ustąpi, skontaktuj się z administratorem bazy
nie zawiera funkcji wbudowanej &SEQ, wymaganej
danych lub z działem wsparcia IBM.
przy określaniu sekwencji zadań lub kroków.
Funkcja wbudowana &SEQ szkieletu JCL musi być
określona w nazwie zadania lub nazwie kroku w SQL22247N Operacja wykrywania znanych elementów
szkielecie JCL. Element zmienny w tym nie powiodła się.
komunikacie zawiera fragment nieprawidłowej
Objaśnienie:
instrukcji JCL.
Na docelowym Serwerze administracyjnym DB2 wykrywanie
07 W pierwszej nie będącej komentarzem instrukcji jest wyłączone.
szkieletu JCL dla //JOB-statement nie znaleziono
Działanie użytkownika:
parametru JOB. Parametr ten mógł zostać
Włącz funkcję wykrywania, modyfikując wartość parametru
poprzedzony znakiem komentarza, wpisany z
konfiguracyjnego DISCOVER na Serwerze administracyjnym
błędem lub bez oddzielających spacji, zwłaszcza
DB2. Zmień wartość na KNOWN, jeśli włączone mają być
spacji po tym parametrze.
tylko operacje wykrywania znanych elementów. Zmień
08 Główny szkielet JCL jest niepełny lub ma wartość na SEARCH, jeśli włączona ma być funkcja
nieprawidłową strukturę. Jedna ze standardowo wykrywania znanych elementów i wykrywanie z
wymaganych instrukcji JCL mogła zostać wyszukiwaniem. Do zmiany wartości parametrów
poprzedzona znakiem komentarza, pominięta lub konfiguracyjnych Serwera administracyjnego DB2 służy
wpisana w niewłaściwym miejscu, zwłaszcza jeśli w komenda UPDATE ADMIN CONFIGURATION.
danym szkielecie JCL używane są wbudowane
procedury JCL.
SQL22250N Zastosowanie: DASMIGR to program
09 W szkielecie JCL zastosowano niepoprawną narzędziowy służący do migrowania
składnię parametrów jobname, stepname lub serwera administracyjnego DB2 do
ddname. Możliwe przyczyny tego błędu, to działania w ramach kopii produktu DB2, w
nieprawidłowa długość pola nazwy lub użycie w nim której wywołany został ten program
znaków innych niż alfanumeryczne. Element narzędziowy.
zmienny w tym komunikacie zawiera fragment
Objaśnienie:
nieprawidłowej instrukcji JCL.
Składnia komendy DASMIGR jest następująca:
10 Niewłaściwe użycie znaku ampersand w szkielecie DASMIGR [-h | -p [ścieżka do profilu DAS]]
JCL. Szkielet JCL zawiera przynajmniej jeden
samodzielny znak ampersand. Ampersand jest Opcje komendy są następujące:
znakiem, od którego rozpoczynają się nazwy
wszystkich parametrów szkieletu JCL i nie powinien -h Wyprowadza ten komunikat.
być stosowany bez towarzyszącego mu
-p Przenosi katalog roboczy serwera DAS do katalogu
identyfikatora. Element zmienny w tym komunikacie
instalacyjnego bieżącej kopii produktu DB2.
zawiera fragment nieprawidłowej instrukcji JCL.
Ścieżka do profilu serwera DAS
11 W szkielecie JCL nie znaleziono zastrzeżonego
Wymusza domyślne położenie, do którego ma zostać
parametru &OBJECT.
przeniesiony katalog roboczy serwera DAS. Ta opcja
12 W szkielecie JCL nie powinien występować pewien jest brana pod uwagę tylko w przypadku użycia opcji
parametr szkieletu zdefiniowany przez użytkownika. ″-p″.
Element zmienny w tym komunikacie zawiera
nazwę parametru szkieletu JCL, który był przyczyną Przykład:
problemu. dasmigr -p "C:\PROFILE DB2"
13 W szkielecie JCL nie powinien występować pewien Działanie użytkownika:
zastrzeżony parametr szkieletu. Element zmienny w Wprowadź komendę DASMIGR z jedną z poprawnych opcji
tym komunikacie zawiera nazwę zastrzeżonego komendy.
parametru szkieletu JCL, który był przyczyną
problemu.
14 Wygenerowany kod JCL jest zbyt długi, co

644 Komunikaty, tom 2


SQL22251N • SQL22264N

SQL22251N Migracja Serwera administracyjnego DB2 z SQL22255W Składnia: dasauto [-h|-?] -on|-off
serwera nazwa-źródłowego-serwera-das do
Objaśnienie:
serwera nazwa-docelowego-serwera-das nie
Podano niepoprawny argument. Poprawne argumenty dla tej
powiodła się. Kod przyczyny: kod-przyczyny.
komendy to:
Objaśnienie:
-h|-? wyświetlenie informacji o składni.
Operacja migracji Serwera administracyjnego DB2
nazwa-źródłowego-serwera-das nie była możliwa z jednej z -on|-off włącza lub wyłącza automatyczne uruchamianie
poniższych przyczyn: serwera administracyjnego DB2.
1. Na docelowym Serwerze administracyjnym DB2 nie Działanie użytkownika:
utworzono bazy danych katalogu narzędzi. Wprowadź ponownie komendę w następujący sposób:
2. Na docelowym Serwerze administracyjnym DB2 dasauto [-h|-?] -on|-off
nieprawidłowo skonfigurowano bazę danych katalogu
narzędzi.
SQL22256W Komenda dasauto została wykonana
Działanie użytkownika: pomyślnie.
Spróbuj wykonać następujące operacje na docelowym
Serwerze administracyjnym DB2 nazwa-docelowego-serwera- Objaśnienie:
das: Całe przetwarzanie zakończyło się prawidłowo.
1. Sprawdź, czy istnieje baza danych katalogu narzędzi. Działanie użytkownika:
2. Zweryfikuj poprawność parametrów konfiguracyjnych Nie jest wymagane żadne działanie.
TOOLSCAT_DB i TOOLSCAT_SCHEMA Serwera
administracyjnego DB2. Powinny one określać SQL22260I Serwer administracyjny DB2 został
odpowiednio nazwę i schemat bazy danych katalogu pomyślnie zaktualizowany.
narzędzi. Bieżące wartości parametrów TOOLSCAT_DB i
TOOLSCAT_SCHEMA można wyświetlić za pomocą
komendy GET ADMIN CONFIGURATION. W celu SQL22261N Komenda aktualizacji serwera
zmiany wartości parametrów konfiguracyjnych Serwera administracyjnego DB2 napotkała
administracyjnego DB2 należy użyć komendy UPDATE nieoczekiwany błąd.
ADMIN CONFIGURATION. Objaśnienie:
Wystąpił nieoczekiwany błąd podczas próby aktualizacji
Jeśli komunikat o tym błędzie jest nadal zgłaszany mimo serwera administracyjnego DB2.
zastosowania proponowanego rozwiązania, skontaktuj się z
działem wsparcia IBM. Działanie użytkownika:
Skontaktuj się z działem wsparcia IBM i, jeśli to możliwe,
dostarcz plik śledzenia.
SQL22252N Migracja serwera DAS nie powiodła się.
Kod przyczyny: kod-przyczyny.
SQL22262N Aktualizacja serwera administracyjnego
Objaśnienie: DB2 między wersjami głównymi nie jest
Wystąpił błąd podczas migracji serwera administracyjnego obsługiwana.
DB2. Kody przyczyny są następujące:
Objaśnienie:
1. Dostępne zasoby systemu były niewystarczające do
Serwer administracyjny DB2 może być aktualizowany
zakończenia migracji.
wyłącznie między podwersjami produktu DB2.
2. Parametry konfiguracyjne serwera administracyjnego DB2
nie wskazują poprawnego katalogu narzędzi. Działanie użytkownika:
Użyj komendy migracji serwera administracyjnego DB2
3. Podczas migracji wystąpił błąd niebędący błędem
(dasmigr) w celu przeprowadzenia aktualizacji między
poważnym.
wersjami głównymi.
Działanie użytkownika:
1. Sprawdź, czy dostępne zasoby systemowe są SQL22263I Serwer administracyjny DB2 został
wystarczające do przeprowadzenia migracji serwera DAS. pomyślnie zmigrowany.
2. Sprawdź, czy katalog narzędzi został utworzony, oraz czy
jest on prawidłowo identyfikowany przez parametry
SQL22264N Komenda migracji serwera
konfiguracyjne serwera administracyjnego DB2.
administracyjnego DB2 napotkała
3. Dodatkowe informacje można znaleźć w dzienniku nieoczekiwany błąd.
Serwera administracyjnego DB2: First Failure Data
Capture Log. Objaśnienie:
Wystąpił nieoczekiwany błąd podczas próby migracji serwera
administracyjnego DB2.

Rozdział 2. Komunikaty SQL 645


SQL22265N • SQL22281N

Działanie użytkownika:
SQL22270N Do listy kontaktów nie można dodać
Skontaktuj się z działem wsparcia IBM i, jeśli to możliwe,
kontaktu lub grupy kontaktów o nazwie
dostarcz plik śledzenia.
nazwa.
Objaśnienie:
SQL22265N Migracja serwera administracyjnego DB2
Kontakt lub grupa kontaktów o podanej nazwie już występuje
między wersjami pobocznymi nie jest
na liście.
obsługiwana.
Działanie użytkownika:
Objaśnienie:
Utwórz nowy kontakt lub grupę kontaktów o unikalnej nazwie.
Serwer administracyjny DB2 może być migrowany wyłącznie
między głównymi wersjami produktu DB2.
SQL22271N Nie można odnaleźć kontaktu lub grupy
Działanie użytkownika:
kontaktów o nazwie nazwa.
Użyj komendy aktualizacji serwera administracyjnego DB2
(dasupdt) w celu przeprowadzenia aktualizacji między Objaśnienie:
wersjami pobocznymi. Na liście nie można odnaleźć wskazanego kontaktu lub grupy
kontaktów.
SQL22266N Serwer administracyjny DB2 jest już Działanie użytkownika:
zainstalowany w ramach bieżącej kopii Sprawdź i ewentualnie skoryguj nazwę, po czym spróbuj
DB2. ponownie.
Objaśnienie:
Serwer administracyjny DB2 jest już zainstalowany w kopii SQL22272N Nie można wstawić rekordu z kluczem klucz.
produktu DB2, z której uruchomiono komendę aktualizacji
Objaśnienie:
serwera administracyjnego DB2.
Podczas próby wstawienia nowego rekordu stwierdzono, że
Działanie użytkownika: klucz tego rekordu (klucz) już istnieje w systemie.
Uruchom komendę aktualizacji serwera administracyjnego
Działanie użytkownika:
DB2 z kopii produktu DB2, do której ma zostać przeniesiony
Usuń powielony rekord z systemu lub wstaw nowy rekord z
serwer administracyjny DB2.
innym kluczem.

SQL22267W Zastosowanie: DASUPDT to program


SQL22273N Nie można odnaleźć rekordu z kluczem
narzędziowy służący do aktualizowania
klucz.
serwera administracyjnego DB2 do
działania w ramach kopii produktu DB2, w Objaśnienie:
której wywołany został ten program Nie można odnaleźć rekordu z kluczem klucz, ponieważ rekord
narzędziowy. taki nie istnieje.
Objaśnienie: Działanie użytkownika:
Składnia komendy DASUPDT jest następująca: Sprawdź i ewentualnie skoryguj klucz, po czym spróbuj
DASUPDT [-h | -p [ścieżka do profilu DAS]] ponownie.

Opcje komendy są następujące: SQL22280N Nie można wykonać tego działania,


-h Wyprowadza ten komunikat. ponieważ program planujący jest
wygaszony.
-p Przenosi katalog roboczy serwera DAS do katalogu
instalacyjnego bieżącej kopii produktu DB2. Objaśnienie:
Do czasu aktywowania programu planującego nie jest możliwe
Ścieżka do profilu serwera DAS wykonywanie żadnych działań.
Wymusza domyślne położenie, do którego ma zostać
przeniesiony katalog roboczy serwera DAS. Ta opcja Działanie użytkownika:
jest brana pod uwagę tylko w przypadku użycia opcji Aktywuj program planujący.
″-p″.
SQL22281N Program planujący jest już aktywny.
Przykład:
Objaśnienie:
dasupdt -p "C:\PROFILE DB2"
Nie można uaktywnić programu planującego, ponieważ jest on
Działanie użytkownika: już aktywny.
Wydaj komendę DASUPDAT z jedną z poprawnych opcji
Działanie użytkownika:
komendy.
Nie są wymagane żadne dalsze działania.

646 Komunikaty, tom 2


SQL22282N • SQL22287N

Skontaktuj się z działem wsparcia IBM, jeśli podane


SQL22282N Program planujący nie może uzyskać
rozwiązania nie przyniosą rezultatów.
dostępu do bazy danych katalogu narzędzi.
Kod przyczyny = kod-przyczyny i kod
SQLCODE = kod_sql. SQL22283N Zadanie identyfikator-zadania.przyrostek nie
istnieje w bazie danych katalogu narzędzi.
Objaśnienie:
Program planujący nie może wykonać określonej funkcji ze Objaśnienie:
względu na brak dostępu do bazy danych katalogu narzędzi. Program planujący nie może pobrać zadania z bazy danych
Przyczynę określa kod-przyczyny: katalogu narzędzi. Zadanie to mogło zostać usunięte z
1. Podany identyfikator użytkownika lub hasło są katalogu narzędzi lub nigdy nie istniało.
niepoprawne. Działanie użytkownika:
2. Nieprawidłowa konfiguracja bazy danych katalogu Sprawdź, czy zadanie istnieje, korzystając z Centrum zadań.
narzędzi w parametrach konfiguracyjnych Serwera
administracyjnego DB2. Nieprawidłowy jest przynajmniej
jeden z następujących parametrów konfiguracyjnych SQL22284N Zadania identyfikator-zadania.przyrostek nie
Serwera administracyjnego DB2: ma w harmonogramie.
v TOOLSCAT_DB Objaśnienie:
v TOOLSCAT_SCHEMA Nie można wykonać wskazanego działania (wykonanie
zaplanowanego zadania teraz), ponieważ wykonanie tego
3. Baza danych katalogu narzędzi jest już używana przez zadania nie jest obecnie zaplanowane.
inny program planujący w tym samym systemie.
4. Połączenie z bazą danych katalogu narzędzi można Działanie użytkownika:
nawiązać tylko za pośrednictwem protokołu Spróbuj wykonać jedną z następujących czynności:
komunikacyjnego TCP/IP. v Użyj czynności Uruchom teraz.
5. Nieoczekiwane błędy. Więcej informacji można uzyskać v Aktywuj wszystkie harmonogramy tego zadania i ponownie
na podstawie kodu SQLCODE kod_sql. użyj czynności Uruchom zaplanowane zadanie teraz.

Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące: SQL22285N Program planujący nie może uzyskać
1. Zweryfikuj poprawność używanej nazwy i hasła odpowiedniej nazwy hosta z
użytkownika i spróbuj ponownie. partycjonowanej bazy danych w partycji
numer numer-partycji.
2. Zweryfikuj poprawność ustawienia parametrów
konfiguracyjnych TOOLSCAT_DB i Objaśnienie:
TOOLSCAT_SCHEMA Serwera administracyjnego DB2. Partycja o żądanym numerze nie istnieje w partycjonowanej
Bieżące wartości parametrów TOOLSCAT_DB i bazie danych.
TOOLSCAT_SCHEMA można wyświetlić za pomocą
Działanie użytkownika:
komendy GET ADMIN CONFIGURATION. W celu
Sprawdź, czy dany numer partycji istnieje, wyświetlając listę
zmiany wartości parametrów konfiguracyjnych Serwera
węzłów przy użyciu komendy LIST DBPARTITIONNUMS.
administracyjnego DB2 należy użyć komendy UPDATE
ADMIN CONFIGURATION. Jeśli komunikat o tym
błędzie jest nadal zgłaszany mimo zastosowania SQL22286N Nie można wykonać wymaganego zadania.
proponowanego rozwiązania, skontaktuj się z działem
Objaśnienie:
wsparcia IBM.
Program planujący nie mógł wykonać zadania z powodu
3. Skontaktuj się z administratorem systemu. wystąpienia nieoczekiwanego błędu.
4. Spróbuj zastosować jedno z poniższych rozwiązań:
Działanie użytkownika:
v Jeśli program planujący korzysta z lokalnej bazy danych Dodatkowe informacje można znaleźć w dzienniku Serwera
katalogu narzędzi, skonfiguruj instancję określoną przez administracyjnego DB2: First Failure Data Capture Log.
parametr konfiguracyjny toolscat_inst Serwera
administracyjnego DB2 w taki sposób, aby korzystał z Jeśli śledzenie było aktywne, wywołaj program Independent
protokołu TCP/IP. Trace Facility z wiersza komend systemu operacyjnego.
v Jeśli program planujący korzysta ze zdalnej bazy
danych katalogu narzędzi, to węzeł określony przez
parametr konfiguracyjny toolscat_db powinien SQL22287N Użytkownik id-użytkownika nie ma
obsługiwać protokół komunikacyjny TCP/IP. uprawnienia do wykonania zadania
identyfikator-zadania.przyrostek.
5. Dodatkowe informacje można znaleźć w dzienniku
Serwera administracyjnego DB2: First Failure Data Objaśnienie:
Capture Log. Wykonanie zadania zakończyło się niepowodzeniem,
ponieważ użytkownik nie miał uprawnień niezbędnych do jego
wykonania.

Rozdział 2. Komunikaty SQL 647


SQL22295N • SQL22403N

Działanie użytkownika: Aby zmiana odniosła skutek po następnym uruchomieniu


Aby użytkownik mógł wykonać zadanie, właściciel zadania serwera administracyjnego DB2, nie są wymagane żadne
musi nadać mu odpowiednie uprawnienia. dalsze działania.

SQL22295N Nie można pomyślnie nawiązać komunikacji SQL22400N Nazwa funkcji lub opcji
z serwerem SMTP na hoście nazwa-hosta nazwa-funkcji-lub-opcji jest niepoprawna.
przy użyciu portu numer-portu. Kod
Objaśnienie:
przyczyny = kod-przyczyny.
Nazwa funkcji lub opcji nazwa-funkcji-lub-opcji jest
Objaśnienie: niepoprawna. Poprawne nazwy funkcji lub opcji można
Serwer SMTP na hoście nazwa-hosta, korzystający z portu znaleźć w dokumentacji programu DB2.
numer-portu, nie zakończył pomyślnie negocjacji protokołu
Działanie użytkownika:
przy wysyłaniu poczty. Poniższe kody wskazują na możliwe
Określ poprawną nazwę funkcji lub opcji i spróbuj ponowić
przyczyny błędu:
żądanie.
1. Nie istnieje serwer SMTP działający na hoście
nazwa-hosta i korzystający z portu numer-portu. kod_sql: -22400
2. Podczas komunikacji z serwerem SMTP napotkano
nieoczekiwany błąd. stan_sql: 5U001
Działanie użytkownika:
1. Sprawdź, czy nazwa serwera SMTP została określona SQL22401N Aplikacja o identyfikatorze agenta
prawidłowo, oraz czy port SMTP określony w pliku identyfikator-agenta nie istnieje.
Services odpowiada numerowi portu faktycznie
Objaśnienie:
używanego przez serwer SMTP.
W danym momencie aplikacja o identyfikatorze agenta
2. Wywołaj program Independent Trace Facility z wiersza identyfikator-agenta nie istnieje. Aby wyświetlić listę
komend systemu operacyjnego. Jeśli problem nie ustąpi, wszystkich aktywnych aplikacji bazy danych, użyj komendy
skontaktuj się z działem wsparcia IBM. LIST APPLICATIONS.
Działanie użytkownika:
SQL22296N Nie można wysłać poczty przy użyciu Określ identyfikator agenta dla aktywnej aplikacji i spróbuj
protokołu SMTP, ponieważ adresy ponowić żądanie.
odbiorców są niepoprawne.
Objaśnienie: kod_sql: -22401
Serwer SMTP nie zakończył pomyślnie negocjacji protokołu
wysyłania poczty dla wszystkich określonych adresatów. stan_sql: 5U002

Działanie użytkownika:
Sprawdź, czy adresy odbiorców podane są poprawnie. SQL22402N Nie można znaleźć żadnych raportów
Monitora aktywności.
Powodem sygnalizowania tego błędu mogą być także Objaśnienie:
przeszkody, jakie serwer SMTP napotyka w dotarciu do adresu Nie znaleziono żadnych raportów Monitora aktywności,
docelowego. Problemy tego typu można wykryć, korzystając z ponieważ podany identyfikator lub typ raportu jest
dowolnego innego klienta poczty do wysłania poczty przy niepoprawny.
użyciu tego samego serwera SMTP. Jeśli próba ta się
powiedzie, uruchom narzędzie Independent Trace Facility z Działanie użytkownika:
wiersza komend systemu operacyjnego. Jeśli problem nie Określ poprawny identyfikator lub typ raportu i spróbuj
ustąpi, skontaktuj się z działem wsparcia IBM. ponowić żądanie.

kod_sql: -22402
SQL22297I Zmiany konfiguracji zostaną uwzględnione
dopiero po zrestartowaniu Serwera
stan_sql: 5U003
administracyjnego DB2.
Objaśnienie:
SQL22403N Jedna lub więcej niż jedna wartość podana
Serwer administracyjny DB2 został pomyślnie
podczas zapisywania lub usuwania zadania
skonfigurowany, jednak wprowadzone zmiany nie odniosą
monitorowania nazwa-zadania-
natychmiastowego skutku. Zmiany zaczną obowiązywać
monitorowania jest niepoprawna. Kod
dopiero po restarcie Serwera administracyjnego DB2.
przyczyny: kod.
Działanie użytkownika:
Objaśnienie:

648 Komunikaty, tom 2


SQL22404N • SQL27903I

Co najmniej jedna wartość podana podczas zapisywania Tryb działania tryb-działania jest niepoprawny. Aby utworzyć
zadania monitora nazwa-zadania-monitora jest niepoprawna z obiekty bazy danych dla nazwa-funkcji-lub-opcji, określ tryb
powodów określonych przez kod przyczyny kod_przyczyny. działania C. Aby usunąć obiekty bazy danych dla
Możliwe kody przyczyny: nazwa-funkcji-lub-opcji, określ tryb działania D.
v Tryb działania tryb-działania jest niepoprawny. Działanie użytkownika:
v Żądanie utworzenia zadania monitora nie powiodło się, Określ poprawny tryb działania i spróbuj ponowić żądanie.
ponieważ podana nazwa nazwa-zadania-monitora jest
niepoprawna. kod_sql: -22404
v Żądanie utworzenia zadania monitora nie powiodło się,
ponieważ znaleziono zadanie o tej samej nazwie stan_sql: 5U005
nazwa-zadania-monitora.
v Żądanie utworzenia zadania monitora nie powiodło się, SQL22405N Monitor aktywności nie może zebrać
ponieważ wartość podana dla dostępności łańcuchów wymaganych danych obrazu stanu,
blokad aplikacji jest niepoprawna. ponieważ przełącznik monitorowania
v Żądanie zapisania zadania monitora nie powiodło się. Co przełącznik-monitorowania nie jest włączony
najmniej jeden identyfikator raportu w zestawie na poziomie menedżera bazy danych.
identyfikatory-raportów jest niepoprawny, ponieważ nie ma
Objaśnienie:
powiązanego z nim raportu.
Monitor aktywności nie może zebrać wymaganych danych
v Żądanie zmodyfikowania lub usunięcia zadania monitora obrazu stanu, ponieważ przełącznik monitorowania
nie powiodło się, ponieważ podany identyfikator zadania przełącznik-monitorowania nie jest włączony na poziomie
identyfikator-zadania-monitora jest niepoprawny. menedżera bazy danych.
Powiązane zadanie monitora nie istnieje lub jest zadaniem
monitora zdefiniowanym przez system. Zadania Działanie użytkownika:
zdefiniowanego przez system nie można zmodyfikować ani Włącz określony przełącznik monitorowania, używając
usunąć. parametru konfiguracyjnego menedżera bazy danych, a
następnie spróbuj ponowić żądanie.
Działanie użytkownika:
Działanie odpowiadające kodowi przyczyny jest następujące: kod_sql: -22405
v Aby utworzyć nowe zadanie monitora określ, tryb działania
C. Aby zmodyfikować istniejące zadanie monitorowania, stan_sql: 5U006
określ tryb działania M. Następnie spróbuj powtórzyć
żądanie.
SQL27902N Wykonanie operacji LOAD
v Nazwa zadania monitora nie może być łańcuchem pustym RESTART/TERMINATE względem tabeli,
ani znakiem odstępu, a jej długość nie może przekraczać która nie znajduje się w stanie ładowania w
128 znaków. Określ poprawną nazwę zadania monitora i toku (LOAD PENDING), jest niedozwolone.
spróbuj ponowić żądanie.
v Zadania monitorowania muszą mieć unikalne nazwy. Określ Objaśnienie:
unikalną nazwę nowego zadania monitora i spróbuj Nie jest wymagane wykonywanie operacji RESTART ani
ponowić żądanie. TERMINATE. Tryby RESTART i TERMINATE modułu
ładującego LOAD służą do wznawiania lub anulowania
v Aby udostępnić łańcuchy blokad aplikacji dla tego zadania wcześniej wykonywanej operacji LOAD, która została
monitora, określ ’T’; w przeciwnym razie określ ’N’. przerwana lub zakończyła się niepowodzeniem. Mają one
Powtórz żądanie. zastosowanie tylko względem tabel, w których poprzednia
v Określ co najmniej jeden identyfikator dla istniejącego operacja ładowania była nieudana i spowodowała przejście
raportu Monitora aktywności i spróbuj ponowić żądanie. tabeli w stan LOAD PENDING. W wypadku tabel, które nie
v Określ identyfikator istniejącego zadania monitora znajdują się w stanie LOAD PENDING, dopuszczalne są tylko
zdefiniowanego przez użytkownika i spróbuj ponowić tryby INSERT i REPLACE modułu ładującego LOAD.
żądanie. Działanie użytkownika:
Aby zapełnić tabelę zawartością źródła wejściowego, wydaj
kod_sql: -22403 ponownie komendę LOAD w trybie INSERT lub REPLACE.
Do odczytania bieżącego stanu tabeli można użyć programu
stan_sql: 5U004 narzędziowego LOAD QUERY.

SQL22404N Tryb działania tryb-działania określony SQL27903I Agent typ-agenta rozpoczął działanie na
podczas tworzenia lub usuwania obiektów partycji numer-partycji o datownik.
bazy danych dla funkcji lub opcji
nazwa-funkcji-lub-opcji jest niepoprawny. Objaśnienie:
To jest komunikat informacyjny wskazujący, że agent DB2
Objaśnienie: właśnie zaczyna działanie na danej partycji.

Rozdział 2. Komunikaty SQL 649


SQL27904I • SQL27916I

Działanie użytkownika:
SQL27911I Plik wejściowej mapy partycjonowania
Nie jest wymagane żadne działanie.
nazwa_pliku został pomyślnie otwarty do
odczytu.
SQL27904I Nie można odnaleźć pliku wejściowego.
Objaśnienie:
Zostanie użyte wejście standardowe.
Ten komunikat informuje, że plik wejściowej mapy
Objaśnienie: partycjonowania został pomyślnie otwarty do odczytu.
To jest komunikat informacyjny wskazujący, że agent DB2
Działanie użytkownika:
właśnie zaczyna działanie na danej partycji.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27912I Trwa odczyt wejściowej mapy
partycjonowania.
SQL27907I Maksymalna długość rekordu wejściowego
Objaśnienie:
długość-rekordu.
Ten komunikat informuje o trwającym odczycie pliku
Objaśnienie: wejściowej mapy partycjonowania.
To jest komunikat informujący o długości rekordu stosowanej
Działanie użytkownika:
w operacji ładowania.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27913I Wejściowa mapa partycjonowania została
odczytana pomyślnie.
SQL27908I Program narzędziowy działa na poziomie
Objaśnienie:
sprawdzania: poziom-sprawdzania.
Ten komunikat informuje, że plik wejściowej mapy
Objaśnienie: partycjonowania został odczytany pomyślnie.
To jest komunikat informacyjny wskazujący, czy włączone jest
Działanie użytkownika:
sprawdzanie obcinania danych.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27914I Tryb pracy to tryb.
Objaśnienie:
SQL27909I Trwa śledzenie liczba-rekordów rekordów
Ten komunikat informacyjny określa tryb pracy agenta
bez ograniczników.
partycjonującego.
Objaśnienie:
To jest komunikat informujący, że włączono śledzenie dla Możliwe są dwa różne tryby pracy:
pierwszych liczba-rekordów rekordów. v partycjonowanie,
Działanie użytkownika: v analiza.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27910I Ogranicznikiem łańcucha jest
ogranicznik-znakowy, ogranicznikiem
SQL27915I Plik wyjściowej mapy partycjonowania nie
kolumny jest ogranicznik-kolumny, a
jest używany.
znakiem pozycji dziesiętnej jest
pozycja-dziesiętna. Śledzenie liczba-rekordów Objaśnienie:
rekordów z ogranicznikami. Ten komunikat informuje, że plik wyjściowej mapy
partycjonowania nie jest używany.
Objaśnienie:
To jest komunikat informacyjny wskazujący, jakie Działanie użytkownika:
ograniczniki są używane dla oznaczenia granic łańcuchów, Nie jest wymagane żadne działanie.
kolumn i miejsc dziesiętnych. Ten sam komunikat informuje
ponadto, że włączono funkcję śledzenia dla pierwszych
liczba-rekordów rekordów. SQL27916I Plik wyjściowej mapy partycjonowania
nazwa_pliku został otwarty pomyślnie.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Objaśnienie:
Ten komunikat informuje o pomyślnym otwarciu pliku
wyjściowej mapy partycjonowania.
Działanie użytkownika:
Nie jest wymagane żadne działanie.

650 Komunikaty, tom 2


SQL27918I • SQL27930N

SQL27918I Nazwa pliku rozkładu: nazwa_pliku. SQL27927I Przetworzono liczba-rekordów rekordów


(lub wierszy).
Objaśnienie:
Ten komunikat informuje o nazwie pliku rozkładu użytego Objaśnienie:
przez program narzędziowy. Ten komunikat informuje o tym, że przetworzonych zostało
liczba-rekordów rekordów lub wierszy.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27919I Plik rozkładu nazwa_pliku został pomyślnie
otwarty do zapisu. SQL27928I Przetwarzanie rekordu numer numer.
Objaśnienie: Objaśnienie:
Ten komunikat informuje o pomyślnym otwarciu pliku Ten komunikat informuje o numerze rekordu, który jest
rozkładu do zapisu. obecnie przetwarzany. Komunikat ten może być zgłaszany
tylko w razie użycia opcji TRACE.
Działanie użytkownika:
Nie jest wymagane żadne działanie. Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27920I Ten program narzędziowy używa
liczba-kluczy kluczy partycjonowania. SQL27929I Numer partycjonowania zwrócony przez
funkcję mieszającą: wartość-szesnastkowa
Objaśnienie:
(szesnastkowo), wartość-dziesiętna
Ten komunikat informacyjny określa liczbę kluczy
(dziesiętnie).
partycjonowania używanych przez program narzędziowy.
Objaśnienie:
Działanie użytkownika:
Ten komunikat przedstawia wyniki działania funkcji
Nie jest wymagane żadne działanie.
mieszającej w formacie szesnastkowym i dziesiętnym.
Działanie użytkownika:
SQL27921I nazwa-klucza, początek: indeks, długość:
Nie jest wymagane żadne działanie.
długość, pozycja: pozycja, typ: typ.
Objaśnienie:
SQL27930N Podczas partycjonowania został odrzucony
Ten komunikat informacyjny opisuje atrybuty klucza
rekord z podanym kodem przyczyny
partycjonowania.
kod-przyczyny i numerem rekordu względem
Działanie użytkownika: partycji nr-rekordu.
Nie jest wymagane żadne działanie.
Objaśnienie:
Rekord został odrzucony podczas ładowania, gdy próbowano
SQL27922I Nie zostały utworzone wyjściowe pliki określić, do której partycji należy ten rekord. Jeśli określono
danych, ponieważ używany jest tryb pracy modyfikator ładowania ’dumpfile’, odrzucony rekord można
ANALYZE. znaleźć w pliku zrzutu względnym w stosunku do partycji pod
względnym numerem rekordu w partycji nr-rekordu
Objaśnienie: wymienionym powyżej.
Ten komunikat informuje o tym, że nie utworzono
wynikowych plików danych, ponieważ agent działa w trybie
Objaśnienie błędu określonego przez kod-przyczyny jest
ANALYZE.
następujące:
Działanie użytkownika: 1. Reprezentacja łańcuchowa typu danych kolumny
Nie jest wymagane żadne działanie. partycjonowania jest niepoprawna. Może to być błąd
składni lub wartość spoza zakresu.
SQL27926I Dane wyjściowe partycji numer-partycji 2. W pierwszych 32 kB rekordu nie ma wartości kolumn
zostaną wysłane do standardowego wyjścia. odpowiadających kluczom partycjonowania.
Objaśnienie: 3. Rekord jest pusty (same znaki spacji).
Ten komunikat informuje o tym, że dane wynikowe dla 4. Długość rekordu nie odpowiada oczekiwanej długości.
partycji numer-partycji zostaną wysłane do standardowego 5. Rekord jest niekompletny.
wyjścia.
6. Wystąpił błąd podczas przetwarzania wygenerowanej
Działanie użytkownika: wartości kolumny.
Nie jest wymagane żadne działanie.
Działanie użytkownika:
Wykonaj działanie odpowiadające kodowi kod-przyczyny:

Rozdział 2. Komunikaty SQL 651


SQL27931I • SQL27947I

1. Sprawdź, czy reprezentacja łańcuchowa typu danych jest


SQL27939I Liczba rekordów w partycjach
poprawna.
wyjściowych: partycja numer
2. Wartości kolumny składające się na klucze numer-partycji. Liczba rekordów:
partycjonowania muszą być zawarte w pierwszych 32 kB liczba-rekordów.
rekordu.
Objaśnienie:
3. Jeśli rekord jest pusty, choć nie powinien, sprawdź
Ten komunikat informacyjny określa liczbę rekordów
poprawność danych.
przetworzonych dla danej partycji.
4. Sprawdź, czy długość rekordu nie różni się od długości
oczekiwanej. Działanie użytkownika:
Nie jest wymagane żadne działanie.
5. Sprawdź, czy plik danych wejściowych jest kompletny.
6. Sprawdź, czy wygenerowana wartość kolumny jest
poprawna i zgodna. SQL27941I Program zakończył działanie
nieprawidłowo.

SQL27931I Trwa zapisywanie wyjściowej mapy Objaśnienie:


partycjonowania w pliku nazwa_pliku. Ten komunikat informuje o nieprawidłowym zakończeniu
programu narzędziowego.
Objaśnienie:
Ten komunikat informuje o tym, że wyjściowa mapa Działanie użytkownika:
partycjonowania jest zapisywana w pliku nazwa_pliku. Nie jest wymagane żadne działanie.

Działanie użytkownika:
Nie jest wymagane żadne działanie. SQL27942I Liczba istniejących komunikatów
ostrzegawczych wynosi liczba-ostrzeżeń, a
liczba odrzuconych rekordów wynosi
SQL27932I Trwa zapisywanie mapy rozdzielania w liczba-odrzuconych-rekordów.
pliku nazwa_pliku.
Objaśnienie:
Objaśnienie: Ten komunikat informuje, że w trakcie pracy programu zostało
Ten komunikat informuje o tym, że mapa rozdzielania jest wygenerowanych liczba-ostrzeżeń komunikatów
zapisywana w pliku nazwa_pliku. ostrzegawczych oraz nastąpiło odrzucenie
Działanie użytkownika: liczba-rekordów-odrzuconych rekordów.
Nie jest wymagane żadne działanie. Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27935I Agent typ-agenta zakończył działanie na
partycji numer-partycji o datownik. SQL27945I Indeks klucza: indeks. Dane: dane1 dane2
Objaśnienie: dane3 dane4 dane5.
Ten komunikat informuje o tym, że agent DB2 właśnie Objaśnienie:
zakończył działanie w danej partycji. Ten komunikat informacyjny określa atrybuty danego klucza
Działanie użytkownika: partycjonowania.
Nie jest wymagane żadne działanie. Działanie użytkownika:
Nie jest wymagane żadne działanie.
SQL27936I Upłynęło: godz godzin, min minut, sek
sekund. SQL27947I Wejściowy plik danych określony w wierszu
Objaśnienie: numer-wiersza w pliku konfiguracyjnym
Ten komunikat informuje o łącznym czasie, jaki upłynął. został zignorowany.

Działanie użytkownika: Objaśnienie:


Nie jest wymagane żadne działanie. Wejściowy plik danych określony w wierszu numer-wiersza w
pliku konfiguracyjnym został zignorowany. Użyta zostanie
opcja wiersza komend, jeśli została podana. W przeciwnym
SQL27937I Przepustowość: przepustowość rekordów/s. razie użyty zostanie wejściowy plik danych określony jako
pierwszy w pliku konfiguracyjnym.
Objaśnienie:
Ten komunikat informacyjny określa przepustowość danego Działanie użytkownika:
agenta DB2. Nie jest wymagane żadne działanie.
Działanie użytkownika:
Nie jest wymagane żadne działanie.

652 Komunikaty, tom 2


SQL27948I • SQL27959N

SQL27948I Wyjściowy plik danych określony w wierszu SQL27953I Składnia: db2split [-c nazwa-pliku-
numer-wiersza w pliku konfiguracyjnym konfiguracyjnego] [-d
został zignorowany. nazwa-pliku-rozkładu] [-i
nazwa-pliku-wejściowego] [-o
Objaśnienie:
nazwa-pliku-wyjściowego] [-h komunikat
Wyjściowy plik danych określony w wierszu numer-wiersza w
pomocy]
pliku konfiguracyjnym został zignorowany. Użyta zostanie
opcja wiersza komend, jeśli została podana. W przeciwnym Objaśnienie:
razie użyty zostanie wyjściowy plik danych określony jako
-c powoduje uruchomienie tego programu z użyciem
pierwszy w pliku konfiguracyjnym.
wskazanego przez użytkownika pliku
Działanie użytkownika: konfiguracyjnego;
Nie jest wymagane żadne działanie.
-d pozwala określić plik rozdzielania danych;
-i pozwala określić plik wejściowy;
SQL27949I Plik rozdzielania danych określony w
wierszu numer-wiersza w pliku -o pozwala określić plik wyjściowy;
konfiguracyjnym został zignorowany.
-h powoduje wygenerowanie komunikatu pomocy.
Objaśnienie:
Plik rozdzielania określony w wierszu numer-wiersza w pliku
konfiguracyjnym został zignorowany. Użyta zostanie opcja SQL27959N Opcja konfiguracji partycjonowanej bazy
wiersza komend, jeśli została określona. W przeciwnym razie danych nazwa-opcji jest niepoprawna. Kod
użyty zostanie plik rozdzielania danych określony jako przyczyny = kod-przyczyny.
pierwszy w pliku konfiguracyjnym. Objaśnienie:
Działanie użytkownika: Opcja konfiguracji partycjonowanej bazy danych o nazwie
Nie jest wymagane żadne działanie. wskazanej w komunikacie została użyta w niewłaściwy sposób
lub jest niezgodna z jedną z innych użytych opcji ładowania.

SQL27950I Typ wejściowego pliku danych to typ-pliku. Możliwe kody przyczyny:


Objaśnienie: 1 Opcje konfiguracji partycjonowanej bazy danych nie
To jest komunikat informujący, że dane wejściowe są mogą być używane w środowisku
zapisywane w formacie typ-pliku. niepartycjonowanej bazy danych ani w sytuacji, gdy
v 0-ASC zmienna rejestru
v 1-DEL DB2_PARTITIONEDLOAD_DEFAULT jest
ustawiona na OFF.
v 2-BIN
v 3-CUR 2 Każda opcja konfiguracji partycjonowanej bazy
danych może zostać określona tylko jeden raz.
Działanie użytkownika:
Nie jest wymagane żadne działanie. 3 W strukturze wejściowej piPartLoadInfoIn
przekazanej w wywołaniu API db2Load wykryto
niepoprawny wskaźnik.
SQL27951I Flaga NEWLINE jest ignorowana w
przypadku plików wejściowych danych 4 W strukturze wynikowej poPartLoadInfoOut
binarnych lub z ogranicznikami. przekazanej w wywołaniu API db2Load wykryto
niepoprawny wskaźnik.
Objaśnienie:
Ten komunikat informuje o tym, że w plikach wejściowych 5 Argument podany jako ustawienie opcji MODE
typu binarnego lub z ogranicznikami flaga nowego wiersza musi mieć jedną z poniższych wartości:
(NEWLINE) jest ignorowana. v PARTITION_AND_LOAD
Działanie użytkownika: v PARTITION_ONLY
Nie jest wymagane żadne działanie. v LOAD_ONLY
v LOAD_ONLY_VERIFY_PART
SQL27952I Flaga NEWLINE jest włączona. v ANALYZE
Objaśnienie: 6 Maksymalna liczba agentów partycjonujących nie
Ten komunikat informuje, że flaga NEWLINE jest może być większa niż maksymalna liczba partycji
uwzględniana. dozwolona w klastrze.
Działanie użytkownika: 7 Maksymalna liczba numerów partycji na liście
Nie jest wymagane żadne działanie. partycji nie może być większa niż maksymalna
liczba partycji dozwolona w klastrze.

Rozdział 2. Komunikaty SQL 653


SQL27960N • SQL27967W

8 Argument podany jako ustawienie opcji Działanie użytkownika:


ISOLATE_PART_ERRS musi mieć jedną z Wydaj ponownie komendę LOAD z poprawnym argumentem
poniższych wartości: opcji konfiguracji PART_FILE_LOCATION.
v SETUP_ERRS_ONLY
v LOAD_ERRS_ONLY SQL27961N W środowisku partycjonowanej bazy
v SETUP_AND_LOAD_ERRS danych nie można określić opcji
ROWCOUNT, jeśli nie jest używany tryb
v NO_ISOLATION
ANALYZE.
9 Wartość podana jako ustawienie opcji
Objaśnienie:
STATUS_INTERVAL musi zawierać się w zakresie
Opcja ROWCOUNT komendy ładowania jest obsługiwana
od 1 do 4000.
wyłącznie w trybie ANALYZE.
10 Maksymalny numer portu nie może być mniejszy niż
Działanie użytkownika:
minimalny numer portu.
Wydaj ponownie komendę ładowania bez opcji ROWCOUNT.
11 Jedynymi dozwolonymi argumentami opcji
CHECK_TRUNCATION, NEWLINE i
SQL27965N Wartość zmiennej rejestrowej
OMIT_HEADER są argumenty TRUE i FALSE.
DB2_LOAD_COPY_NO_OVERRIDE
12 Argument opcji RUN_STAT_DBPARTNUM musi wartość jest niepoprawna.
być poprawnym numerem partycji.
Objaśnienie:
13 W wypadku trybu ANALYZE należy określić opcję Wydano komendę Load z właściwością odtwarzalności COPY
MAP_FILE_OUTPUT. NO, jednak wartość zmiennej rejestru
DB2_LOAD_COPY_NO_OVERRIDE nie była poprawna.
14 Jeśli używany jest klient zdalny, a trybem jest
PARTITION_ONLY lub LOAD_ONLY, należy Działanie użytkownika:
zastosować opcję PART_FILE_LOCATION. Jeśli Poszukaj informacji na temat zmiennej rejestru w Centrum
stosowany jest tryb PARTITION_ONLY lub informacyjnym DB2 lub usuń ustawienie tej zmiennej, aby nie
LOAD_ONLY, to w przypadku typu pliku CURSOR przesłaniać operacji Load z odtwarzalnością COPY NO.
należy użyć opcji PART_FILE_LOCATION
wskazującej nazwę pliku.
SQL27966W Wartość zmiennej rejestrowej
15 Działania ładowania RESTART i TERMINATE DB2_LOAD_COPY_NO_OVERRIDE
mogą być użyte tylko w trybie wartość przesłania parametr COPY NO
PARTITION_AND_LOAD, LOAD_ONLY lub określony w komendzie Load.
LOAD_ONLY_VERIFY_PART.
Objaśnienie:
16 Opcja HOSTNAME może być używana tylko razem Wydano komendę ładowania z parametrem odtwarzalności
z opcją FILE_TRANSFER_CMD. COPY NO, jednak wartość rejestru
DB2_LOAD_COPY_NO_OVERRIDE przesłania ten
17 Tryby błędów izolacji partycji parametr.
LOAD_ERRS_ONLY i
SETUP_AND_LOAD_ERRS nie mogą być Działanie użytkownika:
stosowane w przypadku użycia opcji komendy Poszukaj informacji na temat zmiennej rejestru
ładowania ALLOW READ ACCESS i COPY YES. DB2_LOAD_COPY_NO_OVERRIDE w Centrum
informacyjnym DB2 lub usuń ustawienie tej zmiennej, aby nie
18 Tryby LOAD_ONLY i przesłaniać operacji Load z odtwarzalnością COPY NO.
LOAD_ONLY_VERIFY_PART nie są zgodne z
opcją CLIENT w komendzie ładowania.
SQL27967W Parametr odtwarzalności COPY NO
Działanie użytkownika: komendy ładowania został przekształcony w
Wydaj ponownie komendę LOAD, korzystając z poprawnych ustawienie NONRECOVERABLE w
opcji konfiguracji partycjonowanej bazy danych. środowisku HADR.
Objaśnienie:
SQL27960N Gdy używany jest typ pliku CURSOR, w Parametr odtwarzalności COPY NO komendy ładowania
parametrze PART_FILE_LOCATION musi został przekształcony na wartość NONRECOVERABLE.
zostać określona pełna podstawa nazwy Przyczyną tego jest użycie modułu ładującego w środowisku
pliku. HADR, w którym nie ustawiono zmiennej rejestru
Objaśnienie: DB2_LOAD_COPY_NO_OVERRIDE.
Przy ładowaniu z pliku wejściowego typu CURSOR opcja Działanie użytkownika:
PART_FILE_LOCATION musi określać pełną podstawę Parametr COPY NO w komendzie Load nie jest poprawny w
nazwy pliku, a nie tylko katalog. środowisku HADR. Można ustawić zmienną rejestru
DB2_LOAD_COPY_NO_OVERRIDE w taki sposób, by

654 Komunikaty, tom 2


SQL27970N • SQL27980W

parametr COPY NO był przesłaniany, albo można 5. Ponownie uruchom komendę, nie określając opcji importu
zaakceptować przekształcenie parametru COPY NO w ALLOW WRITE ACCESS albo zmień tabelę przy użyciu
parametr NONRECOVERABLE. opcji LOCKSIZE ROW.
6. Ponownie uruchom komendę, nie określając opcji
SQL27970N Określono niezgodną kombinację opcji automatycznego zliczania zatwierdzeń albo ponownie
importu. Kod przyczyny = kod-przyczyny. powiąż pakiety importu (pliki powiązań db2uimtb.bnd i
db2uimpm.bnd) bez użycia opcji INSERT BUF.
Objaśnienie:
7. Nie próbuj używać tej opcji komendy w odniesieniu do
Użytkownik określił niezgodną kombinację opcji importu.
niezgodnego serwera.
Nie można wykonać komendy. 8. Nie próbuj używać tej opcji komendy w odniesieniu do
niezgodnego serwera.
Objaśnienie błędu określonego przez kod-przyczyny jest
następujące: SQL27971N Od czasu uruchomienia modułu
1. Opcje SKIPCOUNT i RESTARTCOUNT wzajemnie się importującego tabela docelowa zmieniła się.
wykluczają. Objaśnienie:
2. Import w trybie z połączeniem (ALLOW WRITE Podczas trwania importu w trybie z połączeniem działająca
ACCESS) jest niezgodny z opcjami importu REPLACE, współbieżnie aplikacji usunęła tabelę docelową i utworzyła
CREATE i REPLACE_CREATE. nową tabelę o tej samej nazwie.
3. Określono import w trybie z połączeniem (ALLOW
WRITE ACCESS) dla komendy importu korzystającej z Program narzędziowy zatrzymuje przetwarzanie.
buforowanych operacji wstawiania.
Działanie użytkownika:
4. Określono import w trybie z połączeniem (ALLOW Jeśli to konieczne, ponownie uruchom operację w odniesieniu
WRITE ACCESS) dla komendy importu wstawiającej do nowo utworzonej tabeli.
dane do widoku.
5. Określono import w trybie z połączeniem (ALLOW
SQL27972N Wiersze z pliku wejściowego, z zakresu od
WRITE ACCESS) dla tabeli docelowej z określoną
pierwszy-nieudany-wiersz do
wielkością blokady tabeli.
ostatni-nieudany-wiersz, nie zostały
6. Określono opcję zliczania transakcji zatwierdzania wstawione do tabeli. SQLCODE = kod_sql.
AUTOMATIC dla komendy importu korzystającej z
buforowanych operacji wstawiania. Objaśnienie:
Niepodzielna, złożona operacja bazy danych, która miała
7. Określono opcję zliczania transakcji zatwierdzania
wstawić sekwencję wierszy danych wczytanych z pliku
AUTOMATIC, ale serwer nie obsługuje tej opcji. Serwery
wejściowego, nie powiodła się. Co najmniej jedno z pól w
obsługujące automatyczne zliczanie transakcji
tabeli wejściowej jest niezgodne z polem bazy danych, do
zatwierdzania to DB2 UDB dla systemów Linux, Unix i
którego pole to jest wstawiane.
Windows, wersja 8.1 z pakietem poprawek 4 i nowsze.
8. Określono import w trybie z połączeniem (ALLOW Przetwarzanie będzie kontynuowane od następnego wiersza
WRITE ACCESS) dla komendy importu, ale serwer nie danych wejściowych.
obsługuje tej opcji. Import w trybie z połączeniem
obsługują serwery w systemach Linux, Unix i Windows, Działanie użytkownika:
zSeries i iSeries. Sprawdź plik wejściowy i zawartość bazy danych. Jeśli to
konieczne, zmodyfikuj bazę danych lub plik wejściowy i
Działanie użytkownika: ponownie uruchom operację.
W zależności od kodu przyczyny należy podjąć następujące
działania:
SQL27980W Program narzędziowy wykrył w tabeli
1. Ponownie uruchom komendę z opcją SKIPCOUNT albo
docelowej lub źródłowej przyłączone lub
RESTARTCOUNT.
odłączone partycje danych.
2. Ponownie uruchom komendę, nie określając opcji importu
ALLOW WRITE ACCESS albo użyj opcji importu Objaśnienie:
INSERT lub INSERT_UPDATE. Niektóre partycje danych są w stanie przyłączonym lub
odłączonym. Program narzędziowy traktuje te partycje danych
3. Ponownie uruchom komendę, nie określając opcji importu
jako niewidoczne. Wszystkie rekordy źródeł wejściowych
ALLOW WRITE ACCESS albo ponownie powiąż pakiety
należące do tych partycji danych będą odrzucane przez moduł
importu (pliki powiązań db2uimtb.bnd i db2uimpm.bnd)
importujący lub moduł ładujący. Wiersze odrzucone przez
bez użycia opcji INSERT BUF.
moduł ładujący można odzyskać z tabeli wyjątków, o ile
4. Ponownie uruchom komendę, nie określając opcji importu zostanie ona określona. Moduł eksportujący nie będzie
ALLOW WRITE ACCESS. przetwarzał żadnych danych, które mogą znajdować się w tych
partycjach danych.

Rozdział 2. Komunikaty SQL 655


SQL27981W • SQL27985N

Działanie użytkownika:
SQL27984W Komenda eksportu została zakończona
Nie jest wymagane żadne działanie.
pomyślnie. Podczas operacji eksportu
niektóre informacje na potrzeby ponownego
SQL27981W Program narzędziowy nie może tworzenia nie zostały zapisane w pliku
zweryfikować obecności przyłączonych lub PC/IXF. Ten plik nie będzie obsługiwany w
odłączonych partycji danych w tabeli trybie Import CREATE. Kod przyczyny =
docelowej lub źródłowej. kod-przyczyny.
Objaśnienie: Objaśnienie:
Niektóre partycje danych mogą być w stanie przyłączonym lub Kody przyczyny:
odłączonym, ale program narzędziowy nie może tego
1 Informacje indeksu nie zostały zapisane, ponieważ w
potwierdzić. Program narzędziowy traktuje te partycje danych
nazwach kolumn indeksu występują wartości
jako niewidoczne. Wszystkie rekordy źródeł wejściowych
szesnastkowe 0x2B lub 0x2D.
należące do tych partycji danych będą odrzucane przez moduł
importujący lub moduł ładujący. Wiersze odrzucone przez 2 Definicje kolumn XML nie są zapisywane do
moduł ładujący można odzyskać z tabeli wyjątków, o ile ponownego utworzenia.
zostanie ona określona. Moduł eksportujący nie będzie
3 Definicja klucza MDC nie została zapisana.
przetwarzał żadnych danych, które mogą znajdować się w tych
partycjach danych. 4 Definicja klucza partycjonowania tabeli nie została
zapisana.
Działanie użytkownika:
Nie jest wymagane żadne działanie. 5 Nazwa indeksu została obcięta podczas konwersji
strony kodowej.
SQL27982N Funkcja API sqluvtld (Vendor Load) nie 6 Tabele chronione nie są obsługiwane.
jest już obsługiwana.
7 Łańcuchy działania inne niż ’SELECT * FROM
Objaśnienie: <NAZWA-TABELI>’ nie są obsługiwane.
Funkcja API sqluvtld (Vendor Load) nie jest już obsługiwana.
Jedynym obsługiwanym programem narzędziowym do 8 Metoda N jest nieobsługiwana.
masowego ładowania danych jest moduł ładujący programu 9 Nazwa kolumny była zbyt długa dla formatu
DB2. Moduł ładujący programu DB2 można uruchomić za PC/IXF. Został on obcięty w celu dopasowania.
pomocą funkcji API db2Load.
10 Nazwa UDT była zbyt długa dla formatu PC/IXF.
Działanie użytkownika: Został on obcięty w celu dopasowania.
Nie należy używać funkcji API sqluvtld ani żadnych aplikacji,
które ją wywołują. 11 Informacje tabeli o typie strukturalnym zostały
obcięte ze względu na konwersję strony kodowej.

SQL27983N Moduł ładujący nie może odbudować 12 Schemat powiązany z typem UDT był zbyt długi dla
indeksu. formatu PC/IXF. Został on obcięty w celu
dopasowania.
Objaśnienie:
Tabela docelowa komendy LOAD ma odłączone partycje 13 Definicje kolumn z dziesiętnymi wartościami
danych i zależne zmaterializowane tabele zapytań lub zależne zmiennopozycyjnymi nie są zapisywane do
tabele pomostowe, które nie zostały przyrostowo odświeżone ponownego utworzenia.
w celu uwzględnienia odłączonej partycji danych. Ta sytuacja Działanie użytkownika:
uniemożliwia modułowi ładującemu LOAD, który pracuje w Podczas operacji eksportu dane nie uległy zmianie, lecz nie
trybie wstawiania lub w trybie restartu odbudowanie indeksu można użyć pliku w operacji CREATE wykonywanej podczas
unikalnego. importu w celu odtworzenia tabeli, ponieważ brakuje
Działanie użytkownika: niektórych informacji. Dla kodów przyczyny 1, 3, 4, 5, 7, 8, 9 i
Nie określaj trybu indeksowania REBUILD w komendzie 11 użytkownik może użyć modyfikatora typu pliku
LOAD INSERT, dopóki zmaterializowane tabele zapytań lub FORCECREATE w celu wymuszenia operacji CREATE dla
tabele pomostowe nie zostaną odświeżone. Użyj innego trybu tego pliku. Dla kodów przyczyny 2, 6, 10, 12 i 13 użytkownik
indeksowania w komendzie LOAD albo wykonaj instrukcję może użyć narzędzia db2look do wyodrębnienia informacji
SET INTEGRITY z opcją IMMEDIATE CHECKED, aby tabeli i wykonania operacji importu INSERT lub REPLACE.
zaktualizować zależne zmaterializowane tabele zapytań lub
zależne tabele pomostowe informacjami o dołączonej partycji SQL27985N Plik wykonywalny programu AutoLoader
danych. Jeśli komenda LOAD restart nie może przyrostowo (db2atld) nie jest już obsługiwany.
aktualizować indeksów, operacja LOAD zakończona
poprzednio niepowodzeniem musi zostać zakończona, zanim Objaśnienie:
będzie można odświeżyć zależne zmaterializowane tabele Plik wykonywalny programu AutoLoader (db2atld) nie jest już
zapytań lub zależne tabele pomostowe. obsługiwany. Jedynym obsługiwanym programem

656 Komunikaty, tom 2


SQL27986W • SQL27993W

narzędziowym do masowego ładowania danych jest moduł wszelkie wiersze znajdujące się na niewłaściwych partycjach
ładujący. Moduł ładujący można uruchomić za pomocą funkcji są odrzucane. W razie użycia modyfikatora ″dumpfile″
API db2Load, komendy CLP LOAD albo procedury odrzucane wiersze są na bieżąco zapisywane w pliku zrzutu.
składowanej SYSPROC.ADMIN_CMD. Komunikat ten jest wyświetlany tylko jeden raz dla danej
partycji i danej operacji ładowania, nawet jeśli stwierdzonych
Działanie użytkownika:
zostanie więcej nieprawidłowości tego typu.
Nie należy używać pliku wykonywalnego db2atld.
Działanie użytkownika:
Jeśli odrzucane wiersze są zapisywane w pliku zrzutu, można
SQL27986W Podczas eksportu nazwa kolumny została
je załadować do poprawnej partycji, wydając kolejną komendę
obcięta w pliku PC/IXF. Ten plik nie będzie
ładowania, przy czym opcji MODE należy nadać ustawienie
obsługiwany w operacji importu
PARTITION_AND_LOAD.
korzystającej ze specyfikacji Method N.
Objaśnienie:
SQL27991W W komendzie ładowania określona została
Podczas eksportu dane nie zostały naruszone, ale pliku nie
zbyt duża liczba agentów partycjonujących.
można użyć w operacji importu korzystającej ze specyfikacji
Method N, ponieważ brak niektórych informacji o kolumnach. Objaśnienie:
W opcji konfiguracji PARTITIONING_DBPARTNUMS
Działanie użytkownika:
komendy ładowania wymienionych zostało zbyt wielu
Jeśli specyfikacja Method N nie jest używana w operacji
agentów partycjonujących. Maksymalna liczba agentów
importu, to żadne działanie nie jest wymagane. Jeśli
partycjonujących określona jest opcją ładowania
specyfikacja Method N zostanie użyta, ponownie wykonaj
MAX_NUM_PART_AGENTS, której wartość domyślna
eksport przy użyciu klauzuli Method N, ale tym razem jawnie
wynosi 25.
określ krótsze nazwy kolumn. Mimo że plik PC/IXF będzie
zawierał krótsze nazwy kolumn, nie wpłynie to na import Działanie użytkownika:
danych do istniejącej tabeli. Ewentualnie zmień nazwy kolumn Wydaj komendę ponownie, podając poprawną liczbę agentów
w oryginalnej tabeli tak, aby były krótsze, i ponownie partycjonujących. Opcję PARTITIONING_DBPARTNUMS
wyeksportuj dane. można też w ogóle pominąć - w takim wypadku moduł
ładujący automatycznie dobierze właściwą liczbę agentów
kod_sql: +27986 partycjonujących.

stan_sql: 5U036 SQL27992N Plik danych zawiera poprawną mapę


partycjonowania, ale trybem ładowania nie
SQL27987N Ten plik PC/IXF nie jest obsługiwany w jest LOAD_ONLY.
operacji importu korzystającej ze Objaśnienie:
specyfikacji Method N. Program ładujący wykrył obecność prawidłowej mapy
Objaśnienie: partycjonowania na początku pliku. W określonym trybie
Podczas eksportu dane nie zostały naruszone, ale pliku nie ładowania narzędzie potraktowałoby te dane, jak dane
można użyć w operacji importu korzystającej ze specyfikacji użytkownika, co prawdopodobnie wywołałoby niepożądane
Method N, ponieważ brak niektórych informacji o kolumnach. skutki.

Działanie użytkownika: Działanie użytkownika:


Wykonaj import przy użyciu klauzuli Method innej niż N. Jeśli obecność mapy partycjonowania w nagłówku oznacza, że
Ewentualnie ponownie wykonaj eksport przy użyciu klauzuli dane w tym pliku już zostały poddane partycjonowaniu, przy
Method N, ale tym razem jawnie określ krótsze nazwy ładowaniu pliku należy użyć trybu LOAD_ONLY. W takim
kolumn. Mimo że plik PC/IXF będzie zawierał krótsze nazwy przypadku konieczne też będzie użycie opcji
kolumn, nie wpłynie to na import danych do istniejącej tabeli. OUTPUT_DBPARTNUMS, której ustawienie określa
Ewentualnie zmień nazwy kolumn w oryginalnej tabeli tak, docelową partycję dla ładowania danych.
aby były krótsze, i ponownie wyeksportuj dane.
Jeśli mapa partycjonowania wykryta na początku pliku jest
kod_sql: -27987 rzeczywiście częścią danych użytkownika, należy użyć
modyfikatora IGNOREHEADER. Spowoduje to wyłączenie
stan_sql: 5U015 wykrywania mapy partycjonowania i załadowanie całego pliku
danych.

SQL27990W W trakcie ładowania napotkano co najmniej


jeden wiersz znajdujący się w niewłaściwej SQL27993W Określono opcję STATISTICS USE
partycji. PROFILE modułu ładującego, ale profil
statystyk nie istnieje.
Objaśnienie:
Podczas ładowania partycjonowanej bazy danych za pomocą Objaśnienie:
modułu ładującego w trybie LOAD_ONLY_VERIFY_PART

Rozdział 2. Komunikaty SQL 657


SQL27994W • SQL29000N

W tabeli katalogu SYSIBM.SYSTABLES nie istnieje profil 3 Określono jeden z następujących nieobsługiwanych
statystyk. Profil statystyk musi być utworzony przed modyfikatorów typu pliku: indexixf lub
uruchomieniem modułu ładującego. indexschema.
4 Użyto modyfikatora dldelfiletype, który jest
Moduł ładujący kontynuuje przetwarzanie.
nieobsługiwany.
Działanie użytkownika:
5 Określono jeden z następujących nieobsługiwanych
Aby utworzyć profil statystyk, użyj opcji SET PROFILE lub
modyfikatorów typu pliku: nodefaults lub
SET PROFILE ONLY w programie narzędziowym
usedefaults.
RUNSTATS. Szczegółowy opis opcji programu
narzędziowego RUNSTATS można znaleźć w dokumentacji 6 Użyto modyfikatora no_type_idfiletype, który jest
tego programu. nieobsługiwany.
07 Określono jeden z następujących nieobsługiwanych
SQL27994W Długość kolumny domyślnej rejestru modyfikatorów typu pliku: generatedignore,
specjalnego jest mniejsza niż długość generatedmissing, identityignore lub identitymissing.
kolumny docelowej. Podczas ładowania
8 Nie określono klauzuli COMMITCOUNT albo
może nastąpić obcięcie wartości w tej
określono ją z wartością AUTOMATIC. W
kolumnie (numer-kolumny).
przypadku stosowania klauzuli COMMITCOUNT
Objaśnienie: należy podać niezerową liczbę.
Dla kolumny numer-kolumny określono klauzulę
9 Nie określono klauzuli ALLOW WRITE ACCESS,
SESSION_USER, CURRENT_USER, SYSTEM_USER lub
która jest wymagana.
CURRENT_SCHEMA, ale albo kolumna ta nie została
zdefiniowana z długością mniejszą niż 128 bajtów (tylko 10 Określono nieobsługiwany typ pliku. Obsługiwane
SESSION_USER) albo wartość-kolumny wstawiona do tej są tylko pliki typu IXF, ASC i DEL.
kolumny może spowodować przekroczenie długości docelowej
po konwersji strony kodowej. Podczas operacji ładowania 11 Określono nieobsługiwane działanie importu.
wartość-kolumny może zostać obcięta. Obsługiwane są tylko działania INSERT INTO i
INSERT_UPDATE INTO.
Działanie użytkownika:
Jeśli standardy używanego systemu nie pozwalają na 12 Tabela docelowa zawiera jeden z nieobsługiwanych
przekraczanie długości kolumny przez identyfikator typów kolumn: kolumny LOB, kolumny XML,
użytkownika (SESSION_USER), ostrzeżenie to można kolumny generowane lub kolumny Datalink albo
zignorować. Aby uniknąć tego ostrzeżenia, należy stosować tabela docelowa jest tabelą hierarchiczną (o typie
kolumny o długości przynajmniej 128 bajtów. Jeśli w wyniku strukturalnym).
konwersji strony kodowej doszło do powiększenia tej kolumny 13 Określono modyfikator typu pliku lobsinfile, który
domyślnej rejestru, zwiększ długość kolumny tak, aby jest nieobsługiwany.
uwzględnić to powiększenie.
14 Zdalny cel nie jest tabelą albo niedostateczne
uprawnienia uniemożliwiają programowi
SQL27999N Nie można wykonać operacji IMPORT do narzędziowemu dostęp do pseudonimu. Operacja
zdalnej bazy docelowej (pseudonimu). Kod importu jest dozwolona tylko wtedy, gdy pseudonim
przyczyny = kod-przyczyny. jest zdefiniowany w odniesieniu do tabeli i danemu
Objaśnienie: użytkownikowi nadano uprawnienie PASSTHRU.
Obiekt docelowy żądanej operacji IMPORT znajduje się w 15 Brak niezbędnych procedur składowanych dla
zdalnej bazie danych, a lokalne odwołania do niego używają docelowej bazy danych. Uruchom program
pseudonimu. Opcje określone dla komendy IMPORT nie narzędziowy db2updv8 w odniesieniu do docelowej
spełniają wymaganych ograniczeń, uniemożliwiając bazy danych, aby utworzyć procedurę składowaną.
wykonanie operacji. Operacja została odrzucona.
Działanie użytkownika:
Wyjaśnienie odpowiadające kodowi przyczyny: Popraw określone opcje i ponów komendę IMPORT.

1 Stowarzyszone opakowanie zarządzające operacjami


na pseudonimie jest nierelacyjne. Obsługiwane są SQL29000N Wartość określona dla parametru
tylko pseudonimy zarządzane przez opakowania DYN_QUERY_MGMT jest nieprawidłowa.
relacyjne. Opakowanie ODBC również nie jest Program DB2 Query Patroller nie jest
obsługiwane. zainstalowany na tym serwerze.

2 Użyto klauzuli DATALINK SPECIFICATION, Objaśnienie:


która jest nieobsługiwana. Próba zmiany ustawienia parametru konfiguracyjnego bazy
danych DYN_QUERY_MGMT na ENABLE zakończyła się
niepowodzeniem, ponieważ serwer DB2 Query Patroller nie
jest zainstalowany.

658 Komunikaty, tom 2


SQL29001N • SQL29009N

Działanie użytkownika:
SQL29006N Napotkano wyjątek języka Java
Zainstaluj serwer DB2 Query Patroller.
łańcuch-wyjątku.
Objaśnienie:
SQL29001N Poziom tego klienta bazy danych nie jest
Zgłoszono wyjątek łańcuch-wyjątku języka Java.
zgodny z poziomem serwera DB2 Query
Patroller, na którym uruchomiona jest Działanie użytkownika:
aplikacja. Jeśli problem się powtarza, skontaktuj się z przedstawicielem
serwisu technicznego.
Objaśnienie:
Kody klienta i serwera są niezgodne.
SQL29007N Nie jest możliwa komunikacja z programem
Query Controller.
SQL29002N Program DB2 Query Patroller nie jest
zainstalowany na tym serwerze. Objaśnienie:
Program Query Controller może nie być uruchomiony lub
Objaśnienie:
komunikacja została zerwana po przekroczeniu limitu czasu.
Na tym serwerze nie istnieją tabele serwera DB2 Query
Patroller. Działanie użytkownika:
Skontaktuj się z administratorem bazy danych w sprawie
Działanie użytkownika:
uruchomienia programu Query Controller.
Zainstaluj serwer DB2 Query Patroller.

SQL29008N Wystąpił błąd podczas generowania numeru


SQL29003N Program DB2 Query Patroller nie może
kolejnego dla zadania.
załadować klasy Java nazwa-klasy; kod
przyczyny: kod-przyczyny. Objaśnienie:
Wystąpił błąd podczas generowania numeru kolejnego dla
Objaśnienie:
zadania.
Podczas próby załadowania klasy nazwa-klasy języka Java
wystąpił błąd. Kody przyczyny są następujące: Działanie użytkownika:
Jeśli problem się powtarza, skontaktuj się z przedstawicielem
1 Nie znaleziono klasy w CLASSPATH.
serwisu technicznego.
Działanie użytkownika:
Upewnij się, że klasa nazwa-klasy jest zainstalowana w
SQL29009N Zapytanie zostało odrzucone. Kod
CLASSPATH.
przyczyny: kod-przyczyny.
Objaśnienie:
SQL29004N Klasa nazwa-klasy programu DB2 Query
Zapytanie zostało odrzucone. Kody przyczyny są następujące:
Patroller nie może wywołać metody
nazwa-metody o sygnaturze sygnatura. 1. Program DB2 nie zezwala na generowanie tabeli
wynikowej przez zapytanie lub zapytanie to zawiera
Objaśnienie: zmienne języka bazowego, znaczniki parametrów, rejestry
Nie można znaleźć metody nazwa-metody języka Java. specjalne, deklarowane globalne tabele tymczasowe,
Działanie użytkownika: zmienne sesji, funkcję IDENTITY_VAL_LOCAL,
Upewnij się, że zainstalowana jest poprawna wersja klienta wyrażenie NEXT VALUE lub wyrażenie PREVIOUS
DB2 Query Patroller. VALUE. Z tego względu zapytanie nie może zostać
wstrzymane ani wykonane w tle, ponieważ w czasie
rzeczywistego wykonania zapytania stan może nie być już
SQL29005N Użytkownik ID-użytkownika nie ma poprawny.
efektywnego profilu wprowadzania 2. Zapytanie spowoduje aktualizację tabeli DB2 i z tego
programu Query Patroller. powodu nie może zostać wstrzymane ani uruchomione w
Objaśnienie: tle, ponieważ w czasie rzeczywistego wykonania zapytania
Użytkownik ID-użytkownika nie ma skutecznego profilu stan może nie być już poprawny.
wprowadzania programu Query Patroller. Może to być 3. Zapytanie nie może być umieszczone w kolejce, ponieważ
spowodowane jedną z następujących przyczyn: zawiera procedury zagnieżdżone.
1. użytkownik może wcale nie mieć profilu wprowadzania, 4. Zapytanie nie może zostać wstrzymane ani działać w tle,
2. odpowiednie profile wprowadzania użytkownika i/lub gdyż zawiera procedury zagnieżdżone.
grupy mogły zostać zawieszone. 5. Program DB2 nie zezwala na umieszczenie tego zapytania
w kolejce. Sytuacja taka może mieć miejsce, gdy zapytanie
Działanie użytkownika:
zawiera tablicowe operacje wstawienia.
Skontaktuj się z administratorem bazy danych w sprawie
utworzenia profilu wprowadzania lub ponownego 6. Program DB2 nie zezwala na kolejkowanie zapytania, gdy
uaktywnienia istniejącego profilu. włączony jest koncentrator.

Rozdział 2. Komunikaty SQL 659


SQL29010N • SQL29020N

7. Program DB2 nie zezwala na kolejkowanie zapytania, gdy


SQL29015N Wystąpił błąd podczas anulowania zadania.
dla zapytania jest włączona opcja REOPT ALWAYS.
Kod przyczyny = kod-przyczyny.
Działanie użytkownika:
Objaśnienie:
Skontaktuj się z administratorem bazy danych, aby wyjaśnić
Wystąpił błąd podczas próby anulowania zadania. Kod
znaczenie kodu przyczyny i odpowiednio zwiększyć stosowny
przyczyny mapuje się do komunikatu SQL lub DB2.
próg kosztu.
Działanie użytkownika:
Sprawdź kod przyczyny, popraw błąd i powtórz działanie.
SQL29010N Przedłożenie zapytania zostało anulowane.
Objaśnienie:
SQL29016N Źródło danych u klienta nie jest zgodne ze
Użytkownik anulował przedłożenie zapytania. Nie
źródłem danych na serwerze DB2 Query
przedłożono żadnego zapytania.
Patroller.
Objaśnienie:
SQL29011I Zapytanie ID-zapytania zostanie
Źródło danych, z którym jest połączony klient nie jest zgodne
uruchomione w tle.
ze źródłem danych, używanym przez serwer DB2 Query
Objaśnienie: Patroller.
Użytkownik zdecydował się uruchomić zapytanie w tle.
Działanie użytkownika:
Upewnij się, że zmienna DB2DBDFT profilu na serwerze
SQL29012N Zapytanie ID-zapytania zostało przerwane. DB2 Query Patroller jest zgodna z nazwą źródła danych u
klienta.
Objaśnienie:
Zapytanie ID-zapytania zostało przerwane.
SQL29017N Zapytanie identyfikator-zapytania zostało
Objaśnienie: anulowane.
Uruchom Centrum Query Patroller lub wydaj komendę qp, aby
ustalić przyczynę przerwania realizacji zapytania. Objaśnienie:
Użytkownik anulował zapytanie.
SQL29013I Zapytanie ID-zapytania zostało wstrzymane.
SQL29018N Klient DB2 Query Patroller jest
Objaśnienie: niezainstalowany.
Zapytanie zostało przełączone w stan wstrzymania przez
program Query Patroller. Objaśnienie:
Użytkownik wysyła zapytanie do bazy danych, która ma
Działanie użytkownika: włączony parametr konfiguracyjny DYN_QUERY_MGMT.
Skontaktuj się z administratorem bazy danych, aby uwolnić Jednak kod klienta DB2 Query Patroller nie jest zainstalowany
zapytanie. na komputerze klienta.
Działanie użytkownika:
SQL29014N Wartość określona dla zmiennej Należy zainstalować komponent QueryEnabler klienta DB2
zmienna-rejestru rejestru DB2 jest Query Patroller.
niepoprawna.
Objaśnienie: SQL29019N Na serwerze DB2 Query Patroller
Zmienna określona dla zmienna-rejestru jest niepoprawna, z zaplanowano zadania.
powodu następujących ograniczeń dla zmienna-rejestru:
Objaśnienie:
DQP_NTIER Na serwerze DB2 Query Patroller zaplanowano zadania.
Wartością zmiennej musi być jedna z następujących
wartości: OFF, RUN[:czas-oczekiwania] lub Działanie użytkownika:
CHECK[:czas-oczekiwania]. Nie jest potrzebne żadne działanie.
DQP_LAST_RESULT_DEST
Długość nie może przekraczać 32 znaków. SQL29020N Wystąpił błąd wewnętrzny. Błąd = błąd.
DQP_TRACEFILE Objaśnienie:
Długość nie może przekraczać 256 znaków. W trakcie przetwarzania wewnętrznego wystąpił błąd.
Działanie użytkownika: Działanie użytkownika:
Za pomocą komendy db2set popraw wartość zmiennej Skontaktuj się z działem wsparcia IBM, przedstawiając pliki
zmienna-rejestru rejestru DB2 i wprowadź zapytanie db2diag.log i qpdiag.log.
ponownie.

660 Komunikaty, tom 2


SQL29021N • SQL30005N

v Rozproszony klient korzystający z DRDA uruchomił


SQL29021N Użytkownik ID-użytkownika jest zawieszony.
instrukcję OPEN, która czeka na przetwarzanie przez
Objaśnienie: PREPARE, ale instrukcja PREPARE odebrała kod
Użytkownik ID-użytkownika został zawieszony w SQLCODE +1140.
czynnościach przedkładania zapytań w bazie danych.
Nie można uruchomić instrukcji w ten sposób (jako element
Działanie użytkownika:
ciągu instrukcji).
Skontaktuj się z administratorem bazy danych w celu
ponownej aktywacji profilu wprowadzania użytkownika. Działanie użytkownika:
Należy ponownie wysłać instrukcję jako odrębne żądanie.
SQL30000N Wykonanie nie powiodło się z powodu błędu
protokołu rozproszonego, co jednak nie kod_sql: -30002
będzie mieć wpływu na pomyślne
wykonanie kolejnych komend lub instrukcji stan_sql: 57057
SQL; kod przyczyny: kod-przyczyny(kod-
podrzędny)(tekst). SQL30005N Wykonanie nie powiodło się, ponieważ
Objaśnienie: funkcja nie jest obsługiwana przez serwer;
Wystąpił błąd systemowy, który spowodował zatrzymanie miejsce miejsce, identyfikator produktu
przetwarzania bieżącej komendy środowiskowej lub instrukcji pppvvrrm, kod przyczyny
SQL. Komunikat ten (SQLCODE) jest generowany w czasie kod-przyczyny(kod-podrzędny).
kompilacji lub wykonania. Objaśnienie:
Wykonanie bieżącej instrukcji SQL nie powiodło się,
Komenda lub instrukcja nie może zostać wykonana. Bieżąca ponieważ została ona skierowana do serwera, który nie
transakcja nie została wycofana i aplikacja pozostaje obsługuje żądanej funkcji. Błąd ten nie przekreśla możliwości
połączona ze zdalną bazą danych. pomyślnego wykonywania dalszych instrukcji SQL.
Działanie użytkownika:
Należy zapisać numer komunikatu i kod przyczyny. Jeśli jest Nie można wykonać instrukcji. Obszar SQLCA jest
to możliwe, należy zapisać wszystkie informacje dotyczące sformatowany.
błędu z obszaru komunikacyjnego SQL. Należy podjąć próbę Działanie użytkownika:
ponownego uruchomienia aplikacji. Skontaktuj się z administratorem bazy danych, aby udzielił
pomocy w analizowaniu instrukcji SQL, która zwróciła ten
Jeśli zasoby pamięci są wystarczające, a problem nadal kod SQL.
występuje, wywołaj narzędzie Independent Trace Facility z
wiersza komend systemu operacyjnego. Miejsce identyfikuje nazwę serwera, który nie obsługuje
wymaganych protokołów bazy danych i nie może wykonać
Wymagane informacje: żądanej funkcji. Identyfikator produktu ma postać
v Opis problemu <pppwwrrm>. Jest to ośmiobajtowe pole zawierające znaki
v Wartość SQLCODE i kod przyczyny alfanumeryczne i identyfikujące produkt, który nie obsługuje
danej funkcji. ppp oznacza konkretny produkt bazy danych.
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to ww oznacza wersję tego produktu. rr oznacza wydanie tego
możliwe) produktu. m oznacza poziom modyfikacji tego produktu.
v Plik śledzenia (jeśli jest to możliwe).
Możliwe wartości identyfikatora ppwwrrm:
kod_sql: -30000
ppp DSN oznacza system zOS, ARI oznacza system
VM/VSE, SQL oznacza system
stan_sql: 58008
Linux/Unix/Windows, QSQ oznacza system iSeries,
a JCC oznacza środowisko Java.
SQL30002N Instrukcja nie może zostać wykonana ze
ww Numer wersji
względu na wcześniejszy warunek, który
wystąpił w szeregu instrukcji. rr Numer wydania
Objaśnienie: m Poziom modyfikacji
Instrukcja SQL oczekuje na przetwarzanie przez PREPARE,
ale instrukcja PREPARE odebrała ostrzeżenie SQLCODE Aby usunąć problem, zidentyfikuj nieobsługiwaną funkcję.
wymagające od programu lub użytkownika końcowego Aby określić, jaka funkcja nie jest obsługiwana i dlaczego,
ponownego uruchomienia instrukcji lub uruchomienia innej przeanalizuj określony kod kod-przyczyny. Oto możliwe
instrukcji SQL. Ten błąd może wystąpić tylko w środowisku wartości kodu kod-przyczyny i odpowiadające im funkcje:
klient/serwer.
0010 LONG_STMTS

Rozdział 2. Komunikaty SQL 661


SQL30020N

0020 LONG255_IDS Oto niektóre z możliwych kodów przyczyny:


0030 EXTENDED_DESCRIBE 121C Wskazuje, że użytkownik nie ma uprawnień do
wykonania żądanej komendy.
0040 EXTENDED_DIAGNOSTICS
124C Strumień danych DRDA dla żądania zawiera błąd
0050 KEEP_DYNAMIC
składniowy.
0060 MULTI_ROW_FETCH
1232 Komenda nie może być wykonana z powodu stałego
0070 MULTI_ROW_INSERT błędu. W większości przypadków, serwer
przeprowadzi proces zakończenia awaryjnego.
0080 SQL_CANCEL
1254 Komenda wysłana przez klienta wywołała na
0090 SCROLLABLE_CURSORS serwerze zdalnym stan nieprzewidziany i
0100 CURSOR_ATTRIBUTES specyficzny dla implementacji, z którym nie jest
związany żaden gotowy komunikat, który można by
0110 MONITORING przesłać w odpowiedzi klientowi.
0120 SELECT_WITH_INSERT Jeśli zdalnym serwerem jest program DB2 UDB for
0130 DATA_ENCRYPTION OS/390 lub zOS, informacje na temat tego błędu
można znaleźć w dzienniku konsoli.
0140 PACKAGE_PATH
Jeśli zdalny serwer to serwer DB2 UDB for iSeries,
0150 2PC_INCOMPATIBILITY to do określenia przyczyny błędu potrzebny jest
zazwyczaj dziennik zadania serwera i/lub plik
Ostatnią możliwością jest zidentyfikowanie problemu przy buforowy dziennika przechwyconych danych o
użyciu kodu podrzędnego. Jeśli kod podrzędny ma wartość błędach (FFDC).
różną od zera, wówczas składa się on z jednobajtowego kodu
oznaczającego, jak błąd został wykryty w sieci: Jeśli zdalnym serwerem jest produkt DB2 dla
systemu Linux, UNIX lub Windows, sprawdź
v Kod ’01’x oznacza, że błąd wykrył lokalny program DB2 dziennik powiadomień administracyjnych zdalnego
działający jako requester. Miejsce oraz identyfikator PRDID serwera bazy danych pod kątem tego błędu.
określają serwer, na którym wystąpił błąd.
v Kod ’02’x oznacza, że błąd wykrył serwer. Miejsce oraz 220A Serwer docelowy otrzymał nieprawidłowy opis
identyfikator PRDID identyfikują położenie i poziom danych. Jeśli użytkownik obszaru deskryptorów
lokalnego serwera DB2. SQL jest określony, należy się upewnić, czy pola są
inicjowane poprawnie. Należy również się upewnić,
v Kod ’03’x oznacza, że błąd wykrył serwer pośredni (serwer że długość danych nie przekracza dozwolonego
przeskoku); serwer, na którym wystąpił błąd, identyfikują: maksimum dla używanego typu danych.
błąd, miejsce i identyfikator PRDID.
v Kod ’04’x oznacza, że błąd wykrył serwer pośredni (serwer Jeśli używasz produktu DB2 Connect w środowisku,
przeskoku); serwer, na którym wystąpił błąd, identyfikują: w którym działa serwer gatewaya i końcowe klienty,
błąd, miejsce i identyfikator PRDID. ten błąd może wystąpić wtedy, gdy zmienne języka
macierzystego aplikacji nie zgadzają się z opisami
v Kod ’05’x oznacza, że błąd został wykryty przez serwer kolumn tabeli, której dotyczy zapytanie.
pośredni (serwer przeskoku). Błąd odwzorowania
SYNCLOG. Nie można odwzorować adresu IPv6 serwera Działanie użytkownika:
końcowego na adres IPv4. v W przypadku kodu przyczyny 121C skontaktuj się ze
swoim administratorem DBA i dowiedz się, czy masz
kod_sql: -30005 uprawnienia do wykonywania żądanej komendy.
v W przypadku kodu przyczyny 220A i bezpośredniego
stan_sql: 56072 programowania obszaru SQLDA, upewnij się, że pola są
poprawnie inicjowane i że długość nie przekracza
SQL30020N Wykonanie komendy lub instrukcji SQL nie dopuszczalnego maksimum dla używanego typu danych.
powiodło się z powodu błędu składniowego Jeśli używany jest program DB2 Connect, jak opisano w
w strumieniu danych komunikacyjnych, wyjaśnieniu, sprawdź, czy zmienne języka macierzystego
który będzie miał wpływ na poprawne aplikacji zgadzają się z opisami kolumn tabeli.
wykonanie kolejnych komend i instrukcji v W przypadku kodu przyczyny 124C typowym przypadkiem
SQL: Kod przyczyny kod-przyczyny jest wykonywanie procedury składowanej. W takim
(kod-podrzędny). przypadku należy dopilnować, aby parametry procedury
składowanej były poprawnie zdefiniowane, tzn. aby ich
Objaśnienie:
typy i długości zgadzały się z typami odpowiednich kolumn
Komenda lub instrukcja nie może zostać wykonana. Bieżąca
tabeli.
transakcja została wycofana i aplikacja została rozłączona ze
zdalną bazą danych.

662 Komunikaty, tom 2


SQL30021N • SQL30041N

Jeśli nie możesz rozwiązać tego problemu (albo jeśli wystąpił Zapisz numer komunikatu i wartości menedżer i poziom. Jeśli
kod przyczyny nieomówiony powyżej), skontaktuj się ze jest to możliwe, należy zapisać wszystkie informacje
swoim administratorem DBA i wykonaj następujące dotyczące błędu z obszaru komunikacyjnego SQL. Ponownie
instrukcje: spróbuj połączyć się ze zdalną bazą danych.
v Poszukaj w serwisie http://www.ibm.com/software/data/
support/ raportów APAR, które mogą dotyczyć danej Jeśli problem powtarza się, należy wywołać program
sytuacji. Independent Trace Facility w wierszu komend systemu
operacyjnego. Następnie skontaktuj się z przedstawicielem
v Podejmij próbę połączenia zdalnej bazy danych i
serwisu i podaj następujące informacje:
ponownego uruchomienia aplikacji. Zanotuj następujące
informacje dla działu wsparcia IBM. v Opis problemu
– W przypadku produktu DB2 for z/OS Data Server v Wartość SQLCODE i kod przyczyny
wywołaj narzędzie Independent Trace Facility i ponów v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
cały scenariusz, aby zebrać informacje śledzenia. możliwe)
Zgromadź plik śledzenia systemu z/OS, dziennik konsoli v Plik śledzenia (jeśli jest to możliwe).
systemu z/OS, dane wyjściowe komendy db2support z
serwera DB2 Connect Server i dane wyjściowe komendy
kod_sql: -30021
db2support z klienta IBM Data Server Client
znajdującego się w tym samym miejscu co aplikacja
stan_sql: 58010
(jeśli nie ma go w tym samym miejscu co serwer DB2
Connect Server).
– W przypadku produktu DB2 for iSeries Data Server SQL30040N Wykonanie nie powiodło się z powodu
zbierz dane FFDC wygenerowane przez zadanie serwera niedostępnych zasobów, co jednak nie
DRDA, w którym wystąpił błąd, dane wyjściowe będzie mieć wpływu na pomyślne
komendy db2support z serwera DB2 Connect Server i wykonywanie kolejnych komend oraz
dane wyjściowe komendy db2support z klienta IBM instrukcji SQL; przyczyna przyczyna, typ
Data Server Client znajdującego się w tym samym zasobu typ-zasobu, nazwa zasobu
miejscu co aplikacja (jeśli nie ma go w tym samym nazwa-zasobu, identyfikator produktu
miejscu co serwer DB2 Connect Server). identyfikator-produktu.
– Opis problemu Objaśnienie:
– Wartość SQLCODE i kod przyczyny Aplikacja nie może uruchomić komendy lub instrukcji SQL,
ponieważ brak podanych zasobów. Bieżąca transakcja nie
– Jeśli to możliwe, zawartość obszaru komunikacyjnego
została wycofana i aplikacja pozostaje połączona ze zdalną
SQL
bazą danych.
– Plik śledzenia klienta IBM Data Server Client i serwera
DB2 Connect Server (jeśli to możliwe). Nie można wykonać komendy.
v Skontaktuj się z działem wsparcia IBM i dostarcz powyższe
informacje. Działanie użytkownika:
Należy zwiększyć wielkość określonych zasobów i
wprowadzić ponownie komendę.
kod_sql: -30020
kod_sql: -30040
stan_sql: 58009
stan_sql: 57012
SQL30021N Wykonanie nie powiodło się z powodu błędu
protokołu rozproszonego, co będzie mieć
wpływ na pomyślne wykonanie kolejnych SQL30041N Wykonanie nie powiodło się z powodu
komend lub instrukcji SQL; menedżer niedostępnych zasobów, co będzie mieć
menedżer na poziomie poziom nie jest wpływ na pomyślne wykonywanie kolejnych
obsługiwany. komend oraz instrukcji SQL; przyczyna
przyczyna, typ zasobu typ-zasobu, nazwa
Objaśnienie: zasobu nazwa-zasobu, identyfikator
Wystąpił błąd systemowy, który spowodował przerwanie produktu identyfikator-produktu.
połączenia ze zdalną bazą danych. Komunikat ten
(SQLCODE) dotyczy instrukcji SQL CONNECT. Menedżer i Objaśnienie:
poziom to wartości liczbowe określające niezgodności między Aplikacja nie może uruchomić komendy lub instrukcji SQL,
klientem i serwerem. ponieważ brakuje określonych zasobów dla zdalnej bazy
danych. Błąd o tym kodzie SQLCODE pojawia się w czasie
kompilacji lub realizacji instrukcji.
Nie można wykonać komendy.
Działanie użytkownika: Użytkownicy systemu stowarzyszonego: Ta sytuacja może
również zostać wykryta przez źródło danych.

Rozdział 2. Komunikaty SQL 663


SQL30050N • SQL30051N

Jeśli wartością nazwa-zasobu jest “Encrypt” lub “Decrypt”, Jeśli zasoby pamięci są wystarczające, a problem nadal
obsługa zewnętrzna użytkownika dla szyfrowania lub występuje, wywołaj narzędzie Independent Trace Facility z
deszyfrowania hasła nie jest dostępna lub wywołuje błąd. wiersza komend systemu operacyjnego.

Komenda lub instrukcja nie może zostać wykonana. Skontaktuj się z przedstawicielem działu technicznego i
przekaż mu następujące informacje:
Działanie użytkownika:
Sprawdź środowisko zdalnej bazy danych.
Wymagane informacje:
Użytkownicy systemu stowarzyszonego: v Opis problemu
v Jeśli nie powiodła się obsługa zewnętrzna szyfrowania lub v Wartość SQLCODE i kod przyczyny
deszyfrowania, przyczyna jest liczbą całkowitą, którą serwer v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
stowarzyszony odebrał podczas wywoływania obsługi możliwe)
zewnętrznej użytkownika. Sprawdź, czy podczas połączenia v Plik śledzenia (jeśli jest to możliwe).
obsługi zewnętrznej szyfrowania lub deszyfrowania z
serwerem stowarzyszonym nie wystąpiły żadne błędy. kod_sql: -30050
Jeśli obsługa zewnętrzna została dostarczona przez
użytkownika, należy sprawdzić kod źródłowy tej obsługi, stan_sql: 58011
aby określić, dlaczego została zwrócona wartość przyczyna.
Jeśli w kodzie źródłowym obsługi zewnętrznej zostanie
znaleziony błąd, należy go poprawić, połączyć kod SQL30051N Proces wiązania z określoną nazwą pakietu i
obiektowy z serwerem stowarzyszonym i wprowadzić elementem zgodności nie jest aktywny.
ponownie komendę lub instrukcję. Objaśnienie:
v We wszystkich innych przypadkach należy zlokalizować Podjęto próbę wywołania operacji prekompilacji/wiązania, gdy
problem do źródła danych, które nie jest w stanie nie była ona aktywna, lub użycia nieprawidłowej nazwy
zrealizować żądania (w celu ustalenia, w którym źródle pakietu i/lub znacznika zgodności podczas aktywnej operacji
danych nie można przetworzyć instrukcji SQL, można prekompilacji/wiązania.
skorzystać z podręcznika Troubleshooting Guide), usunąć
problem w źródle danych i ponownie wprowadzić Komenda lub instrukcja nie może zostać wykonana.
niedziałającą dotąd komendę lub instrukcję.
Działanie użytkownika:
Jeśli aplikacja nie jest prekompilatorem lub programem
kod_sql: -30041
wiążącym menedżera bazy danych, przed rozpoczęciem
operacji powiązania należy sprawdzić, czy opcja
stan_sql: 57013
prekompilacji/powiązania jest aktywna i czy informacje
przesyłane do operacji powiązania są poprawne.
SQL30050N Podczas trwania wiązania wystąpiła
nieprawidłowa komenda lub instrukcja Jeśli aplikacja jest prekompilatorem/programem wiążącym
SQL numer. menedżera baz danych, zapisz numer komunikatu
(SQLCODE) i - jeśli to możliwe - wszystkie informacje o
Objaśnienie:
błędzie umieszczone w obszarze komunikacyjnym SQL.
Aplikacja usiłowała wywołać komendę lub instrukcję SQL,
Należy spróbować przeprowadzić ponownie operację.
która nie jest poprawna w czasie trwania operacji
prekompilowania/wiązania. Wartość <numer> jest wartością
Jeśli zasoby pamięci są wystarczające, a problem nadal
liczbową określającą błędną komendę lub instrukcję SQL.
występuje, wywołaj narzędzie Independent Trace Facility z
wiersza komend systemu operacyjnego.
Instrukcja nie jest wykonywana.
Działanie użytkownika: Skontaktuj się z przedstawicielem działu technicznego i
Jeśli aplikacja nie jest prekompilatorem/programem wiążącym przekaż mu następujące informacje:
menedżera baz danych, przed przystąpieniem do wywoływania
komendy lub instrukcji SQL należy sprawdzić, czy wiązanie Wymagane informacje:
nie jest aktywne. v Opis problemu
v Wartość SQLCODE i kod przyczyny
Jeśli aplikacja jest prekompilatorem/programem wiążącym
menedżera baz danych, zapisz numer komunikatu v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
(SQLCODE) i wartość <numer>. Jeśli jest to możliwe, należy możliwe)
zapisać wszystkie informacje dotyczące błędu z obszaru v Plik śledzenia (jeśli jest to możliwe).
komunikacyjnego SQL. Należy spróbować przeprowadzić
ponownie operację wiązania. kod_sql: -30051

664 Komunikaty, tom 2


SQL30052N • SQL30070N

stan_sql: 58012 stan_sql: 08004

SQL30052N Założenia do przygotowania programu są SQL30061N Alias lub nazwa nazwa bazy danych nie
niepoprawne. została znaleziona na zdalnym węźle.
Objaśnienie: Objaśnienie:
Kompilowana instrukcja SQL nie jest rozpoznawana przez Nazwa bazy danych nie reprezentuje istniejącej bazy danych w
prekompilator i nie może być przetworzona przez bazę węźle zdalnej bazy danych.
danych.
Nie można wykonać instrukcji.
Nie można wykonać instrukcji.
Działanie użytkownika:
Działanie użytkownika: Wprowadź ponownie komendę, podając poprawną nazwę bazy
Należy upewnić się, że instrukcja jest poprawna i spróbować danych lub alias.
przeprowadzić operację ponownie. Jeśli problem powtarza się,
trzeba usunąć instrukcję z programu. Użytkownicy systemu stowarzyszonego: Należy sprawdzić,
czy wpis w tabeli SYSCAT.SERVERS poprawnie określa
kod_sql: -30052 nazwę bazy danych źródła danych.

stan_sql: 42932 kod_sql: -30061

stan_sql: 08004
SQL30053N Sprawdzanie uprawnień do zdalnej bazy
danych dla wartości OWNER nie powiodło
się. SQL30070N Komenda identyfikator-komendy nie jest
obsługiwana.
Objaśnienie:
Sprawdzanie uprawnień do zdalnej bazy danych dla wartości Objaśnienie:
opcji OWNER określonej dla prekompilacji/wiązania nie Zdalna baza danych otrzymała komendę, której nie
powiodło się. Błąd o tym kodzie SQLCODE powstaje podczas rozpoznaje. Bieżąca komenda środowiskowa lub instrukcja
prekompilacji/wiązania. Nie wywołuje go SQL, jak również dowolna kolejna komenda lub instrukcja
prekompilator/program wiążący menedżera baz danych. SQL, nie może być pomyślnie przetworzona.

Operacja prekompilacji/wiązania nie może być wykonana. Bieżąca transakcja została wycofana i aplikacja została
rozłączona ze zdalną bazą danych. Nie można wykonać
Działanie użytkownika:
instrukcji.
Sprawdź, czy masz uprawnienia do używania identyfikatora
określonego dla opcji OWNER, lub nie używaj tej opcji. Działanie użytkownika:
Należy zapisać numer komunikatu (SQLCODE) i identyfikator
kod_sql: -30053 komendy. Jeśli jest to możliwe, należy zapisać wszystkie
informacje dotyczące błędu z obszaru komunikacyjnego SQL.
stan_sql: 42506 Należy podjąć próbę podłączenia się do zdalnej bazy danych i
ponownego uruchomienia aplikacji.
SQL30060N ID-autoryzowanego-użytkownika nie ma
Jeśli zasoby pamięci są wystarczające, a problem nadal
uprawnienia do wykonania operacji
występuje, wywołaj narzędzie Independent Trace Facility z
operacja.
wiersza komend systemu operacyjnego.
Objaśnienie:
Dla ID autoryzowanego użytkownika <ID-autoryzowanego- Skontaktuj się z przedstawicielem działu technicznego i
użytkownika> podjęto próbę wykonania operacji <operacja> przekaż mu następujące informacje:
bez właściwych uprawnień. Błąd o tym kodzie SQLCODE
pojawia się w czasie kompilacji lub realizacji instrukcji. Wymagane informacje:
v Opis problemu
Nie można wykonać instrukcji.
v Wartość SQLCODE i identyfikator komendy
Działanie użytkownika: v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
Sprawdź, że <ID-autoryzowanego-użytkownika> ma możliwe)
przyznane uprawnienia konieczne do wykonania danej
v Plik śledzenia (jeśli jest to możliwe).
operacji.
kod_sql: -30070
kod_sql: -30060
stan_sql: 58014

Rozdział 2. Komunikaty SQL 665


SQL30071N • SQL30073N

Jeśli zasoby pamięci są wystarczające, a problem nadal


SQL30071N Obiekt identyfikator-obiektu nie jest
występuje, wywołaj narzędzie Independent Trace Facility z
obsługiwany.
wiersza komend systemu operacyjnego.
Objaśnienie:
Zdalna baza danych otrzymała dane, których nie rozpoznaje. Skontaktuj się z przedstawicielem działu technicznego i
Bieżąca komenda środowiskowa lub instrukcja SQL, jak przekaż mu następujące informacje:
również dowolna kolejna komenda lub instrukcja SQL, nie
może być pomyślnie przetworzona. Wymagane informacje:
v Opis problemu
Bieżąca transakcja została wycofana i aplikacja została
rozłączona ze zdalną bazą danych. Nie można wykonać v Wartość SQLCODE i identyfikator parametru
komendy. v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
możliwe)
Działanie użytkownika:
Należy zapisać numer komunikatu (SQLCODE) i identyfikator v Plik śledzenia (jeśli jest to możliwe).
obiektu. Jeśli jest to możliwe, należy zapisać wszystkie
informacje dotyczące błędu z obszaru komunikacyjnego SQL. kod_sql: -30072
Należy podjąć próbę podłączenia się do zdalnej bazy danych i
ponownego uruchomienia aplikacji. stan_sql: 58016

Jeśli istnieją wystarczające zasoby pamięci i problem powtarza SQL30073N Wartość wartość parametru
się, należy wywołać program Independent Trace Facility w identyfikator-parametru nie jest obsługiwana.
wierszu komend systemu operacyjnego.
Objaśnienie:
Jeśli śledzenie było aktywne, wywołaj program Independent Zdalna baza danych otrzymała dane, których nie rozpoznaje.
Trace Facility z wiersza komend systemu operacyjnego. Bieżąca komenda środowiskowa lub instrukcja SQL, jak
również dowolna kolejna komenda lub instrukcja SQL, nie
Skontaktuj się z przedstawicielem działu technicznego i może być pomyślnie przetworzona.
przekaż mu następujące informacje:
Bieżąca transakcja została wycofana i aplikacja została
Wymagane informacje: rozłączona ze zdalną bazą danych. Nie można wykonać
komendy.
v Opis problemu
v Wartość SQLCODE i identyfikator obiektu Działanie użytkownika:
Należy zapisać numer komunikatu (SQLCODE) i identyfikator
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to parametru. Jeśli jest to możliwe, należy zapisać wszystkie
możliwe) informacje dotyczące błędu z obszaru komunikacyjnego SQL.
v Plik śledzenia (jeśli jest to możliwe). Należy podjąć próbę podłączenia się do zdalnej bazy danych i
ponownego uruchomienia aplikacji.
kod_sql: -30071
Jeśli istnieją wystarczające zasoby pamięci i problem powtarza
stan_sql: 58015 się, należy wywołać program Independent Trace Facility w
wierszu komend systemu operacyjnego.
SQL30072N Parametr identyfikator-parametru nie jest
Jeśli śledzenie było aktywne, wywołaj program Independent
obsługiwany.
Trace Facility z wiersza komend systemu operacyjnego.
Objaśnienie: Skontaktuj się z przedstawicielem działu technicznego i
Zdalna baza danych otrzymała dane, których nie rozpoznaje. przekaż mu następujące informacje:
Bieżąca komenda środowiskowa lub instrukcja SQL, jak
również dowolna kolejna komenda lub instrukcja SQL, nie Wymagane informacje:
może być pomyślnie przetworzona. v Opis problemu
v Wartość SQLCODE, identyfikator parametru i wartość
Nie można wykonać tej komendy. Bieżąca transakcja została
wycofana i aplikacja została rozłączona ze zdalną bazą v Zawartość obszaru komunikacyjnego SQL (jeśli jest to
danych. możliwe)
v Plik śledzenia (jeśli jest to możliwe).
Działanie użytkownika:
Należy zapisać numer komunikatu (SQLCODE) i identyfikator
parametru. Jeśli jest to możliwe, należy zapisać wszystkie Poniżej przedstawiono niektóre możliwe identyfikatory
informacje dotyczące błędu z obszaru komunikacyjnego SQL. parametru:
Należy podjąć próbę podłączenia się do zdalnej bazy danych i 002F Serwer docelowy nie obsługuje typu danych
ponownego uruchomienia aplikacji. zażądanego przez requester aplikacji. Na przykład,

666 Komunikaty, tom 2


SQL30074N • SQL30081N

gdy połączenie z produktem DB2 2.3 jest stan_sql: 58018


nawiązywane przy użyciu programu DB2 Connect,
to błąd ten będzie zwracany, jeśli do produktu DB2
SQL30080N Podczas wysyłania lub otrzymywania
2.3 nie zastosowano właściwej poprawki PTF.
danych ze zdalnej bazy danych wystąpił
Należy się upewnić, czy poziom serwera jest
błąd komunikacyjny kod-przyczyny.
obsługiwany przez requester.
Objaśnienie:
119C, 119D, 119E
Wartość kod-przyczyny zawiera oryginalne kody błędów
Serwer docelowy nie obsługuje identyfikatora
zanotowane przez program Communications Manager.
kodowanego zestawu znaków (CCSID) żądanego
przez requester aplikacji. Należy się upewnić, czy
serwer obsługuje identyfikator zestawu znaków Format kodów błędów w komunikacji APPC wygląda
(CCSID) używany przez requester. następująco: pppp-ssssssss-dddddddd, gdzie pppp oznacza
podstawowy kod powrotu, ssssssss oznacza dodatkowy kod
v 119C - Należy sprawdzić identyfikator zestawu powrotu, a dddddddd oznacza dane rozpoznania. Wszystkie
znaków jednobajtowych (CCSID). wartości kodów błędów są przedstawiane w postaci
v 119D - Należy sprawdzić identyfikator zestawu szesnastkowej. Możliwe podstawowe i dodatkowe kody
znaków dwubajtowych (CCSID). błędów zawierają wartości 0003-00000004 i 0003-00000005,
v 119E - Należy sprawdzić identyfikator zestawu które wskazują, iż konwersacja z serwerem baz danych nie
znaków mieszanych (CCSID). może być przydzielona. Odczytywane dane będą wyświetlone
jedynie w przypadku wystąpienia błędu APPC ALLOCATE.
kod_sql: -30073
Nie można wykonać komendy. Próba połączenia się z bazą
stan_sql: 58017 danych nie powiodła się lub bieżąca transakcja dotycząca
podłączonej bazy danych została wycofana i aplikacja została
rozłączona ze zdalną bazą danych.
SQL30074N Odpowiedź identyfikator-odpowiedzi nie jest
obsługiwana. Objaśnienia podstawowych i dodatkowych kodów powrotu
Objaśnienie: APPC można znaleźć w dokumencie IBM Communications
Klient otrzymał odpowiedź, której nie rozpoznaje. Bieżąca Manager 1.0 APPC Programming Guide and Reference
komenda środowiskowa lub instrukcja SQL, jak również (SC31-6160). Szczegóły dotyczące danych rozpoznania w
dowolna kolejna komenda lub instrukcja SQL, nie może być komunikacji APPC można znaleźć w podręczniku IBM
pomyślnie przetworzona. Communications Manager 1.0 Problem Determination Guide
(SC31-6156).
Bieżąca transakcja została wycofana i aplikacja została Działanie użytkownika:
rozłączona ze zdalną bazą danych. Nie można wykonać Należy upewnić się, że zarówno menedżer baz danych jak i
instrukcji. menedżer komunikacji są uruchamiane na serwerze baz
Działanie użytkownika: danych i że wszystkie parametry konfiguracyjne menedżera
Należy zapisać numer komunikatu (SQLCODE) i identyfikator komunikacji są prawidłowe.
odpowiedzi. Jeśli jest to możliwe, należy zapisać wszystkie
informacje dotyczące błędu z obszaru komunikacyjnego SQL. Uwaga: Jeśli kod przyczyny umieszczony w komunikacie jest
Należy podjąć próbę podłączenia się do zdalnej bazy danych i równy 0003-084C0001, to przyczyną tego komunikatu może
ponownego uruchomienia aplikacji. być próba nawiązania zdalnego połączenia ze stacją roboczą,
która nie jest serwerem. Należy sprawdzić, czy ta zdalna stacja
Jeśli zasoby pamięci są wystarczające, a problem nadal robocza jest serwerem. Jeśli tak nie jest, należy zainstalować
występuje, wywołaj narzędzie Independent Trace Facility z menedżera baz danych jako serwer.
wiersza komend systemu operacyjnego. kod_sql: -30080

Skontaktuj się z przedstawicielem działu technicznego i stan_sql: 08001


przekaż mu następujące informacje:
SQL30081N Wykryto błąd komunikacyjny. Używany
Wymagane informacje: protokół komunikacyjny: protokół. Używany
v Opis problemu komunikacyjny interfejs API: interfejs.
Miejsce wykrycia błędu: miejsce. Funkcja
v Wartość SQLCODE i identyfikator odpowiedzi
komunikacyjna wykrywająca błąd: funkcja.
v Zawartość obszaru komunikacyjnego SQL (jeśli jest to Kody błędów specyficzne dla protokołu:
możliwe) kod-powrotu1, kod-powrotu2, kod-powrotu3.
v Plik śledzenia (jeśli jest to możliwe).
Objaśnienie:
Podsystem komunikacyjny wykrył błąd.
kod_sql: -30074

Rozdział 2. Komunikaty SQL 667


SQL30081N

Poniżej przedstawiono opis wartości elementów: v Jeśli <protokół> = TCP/IP, <funkcja> = connect, <kp1> =
ECONNREFUSED/WSAECONNREFUSED, AIX (79),
<protokół>, <miejsce>
Windows (10061), Linux (111), SUN (146), HP (239),
Używany protokół komunikacyjny oraz informacje
próba nawiązania połączenia została odrzucona. Możliwe
jednoznacznie identyfikujące węzeł, który wykrył
przyczyny:
błąd. Jeśli informacje o miejscu są niedostępne w
chwili wystąpienia błędu, element <miejsce> nie jest – Serwer zdalnej bazy danych nie został poprawnie
wypełniany. Poprawne wartości elementów to: wpisany do katalogu u klienta. W scenariuszu
klient-gateway-serwer dopilnuj, aby definicje hostów
v protokół - TCP/IP, miejsce - adres IPv4 lub IPv6;
były poprawnie wpisane do katalogu w gatewayu.
v protokół - APPC, miejsce - pełna nazwa jednostki Dodatkowe informacje można znaleźć w podręczniku
logicznej (IDsieci.nazwaJednostkiLogicznej); Krótkie wprowadzenie.
v protokół - MQ, miejsce - nazwa kolejki MQ; – Plik konfiguracyjny menedżera bazy danych na serwerze
v protokół - SOAP, SSL, SOCKS, HTTP, miejsce - nie został poprawnie skonfigurowany przy użyciu
adres internetowy w zapisie z kropkami. prawidłowych parametrów komunikacji. Sprawdź, czy w
parametrze svcename skonfigurowano poprawnie nazwę
<interfejs> usługi lub numer portu TCP/IP i czy numer portu jest
Aplikacyjny interfejs programistyczny używany do unikalny. Jeśli parametry konfiguracyjne menedżera
wywoływania powyższych usług protokołu. bazy danych zostały zaktualizowane na serwerze, należy
Poprawnymi wartościami elementu są: SOCKETS, zatrzymać i ponownie uruchomić menedżera bazy
SOCKS, CPI-C, MQI-CLIENT, GSKit, HTTP. danych, aby zmiany te zostały uwzględnione. Być może
<funkcja> występuje niezgodność nazwy usługi lub numeru portu
Nazwa funkcji podsystemu komunikacyjnego, która TCP/IP określonych na serwerze i kliencie. Dopilnuj,
zwraca kody błędów. aby nazwa usługi odpowiadała właściwemu numerowi
portu, sprawdzając plik services. Można to sprawdzić w
Jeśli element <protokół> ma wartość TCP/IP: pliku services lub sprawdzając dane wyjściowe komendy
″netstat -a″.
v Kody przyczyny <kp1>, <kp2>, <kp3> oznaczają:
– Firewall na zdalnym serwerze bazy danych uniemożliwił
– Wartość <kp1>, jeśli występuje, zawiera wartość errno
ustanowienie połączenia. Sprawdź, czy firewall jest
zwróconą przez funkcję TCP/IP. W systemie Windows
poprawnie skonfigurowany w celu akceptowania żądań
jest to numer błędu WSA.
połączenia od klienta.
– Wartość <kp2>, jeśli występuje, zawiera wartość h_errno
– Zmienna środowiskowa DB2COMM na serwerze nie
zwróconą przez funkcję tłumaczenia nazw protokołu
określa protokołu komunikacyjnego używanego przez
TCP/IP. W systemie Windows jest to numer błędu WSA.
klienta. Sprawdź, czy określono protokół TCPIP. Wydaj
– Jeśli wartość <kp3> występuje i zawiera wartość ″0″, komendę db2set, aby sprawdzić ustawioną wartość.
zdalna strona zakończyła połączenie. Jeśli błąd wystąpił Wydaj komendę db2set DB2COMM = TCPIP, aby
po stronie klienta, zdalną stroną może być serwer lub ustawić wartość.
gateway. Jeśli błąd wystąpił po stronie gatewaya, zdalną
– Menedżer bazy danych na serwerze nie został
stroną może być klient lub serwer.
uruchomiony, nie został uruchomiony pomyślnie albo
v Jeśli element <protokół>=TCP/IP, <kp1>=*, <kp2>=* i został wyłączony. Serwer powinien był zwrócić kod
<kp3>=0, możliwe są następujące przyczyny: SQL1063, a nie SQL5043. Jeśli przed wydaniem
– Agent bazy danych na serwerze został zmuszony do komendy db2start parametr konfiguracyjny diaglevel
wyłączenia się przez administratora systemu. menedżera bazy danych zostanie ustawiony na wartość 4
– Agent bazy danych nie mógł zostać uruchomiony na za pomocą komendy db2 update dbm cfg using diaglevel
serwerze, ponieważ zostało osiągnięte ograniczenie 4, w dzienniku powiadomień administracyjnych znajdą
pamięci tego systemu. się szczegółowe informacje na temat pomyślnie
uruchomionych protokołów. Sprawdź dziennik
– Połączenie mogło zostać zamknięte przez zdalny serwer powiadomień administracyjnych.
na poziomie protokołu TCP/IP.
– Być może serwer jest chwilowo zbyt zajęty, aby móc
– Agent bazy danych na serwerze został zatrzymany z obsłużyć przychodzącą liczbę połączeń.
powodu nieprawidłowego zakończenia kluczowego
procesu menedżera bazy danych. – Błąd sieci. Skontaktuj się z administratorem sieci.
Można spróbować wykonać test, używając testera
v Jeśli w systemie Windows element <protokół> = TCP/IP, protokołów pctt, aby upewnić się, że nie jest to problem
<funkcja> = WSAStartup i <kp1> = 0, wówczas element związany z produktem DB2.
<kp2> zawiera wersję specyfikacji Windows Sockets
Specification wymaganą przez produkt DB2, a element v Jeśli <protokół> = TCP/IP, <funkcja> = connect, <kp1> =
<kp3> zawiera wersję specyfikacji Windows Sockets ETIMEDOUT/WSAETIMEDOUT, AIX (78), Windows
Specification obsługiwaną przez bibliotekę DLL Windows (10060), Linux (110), SUN (145), HP (238), przekroczony
Sockets. Przyczyna: Wystąpiła niezgodność wersji. został limit czasu dla próby nawiązania połączenia.
Możliwe przyczyny:

668 Komunikaty, tom 2


SQL30081N

– Do katalogu w polu hostname katalogu węzłów na AIX (55), Windows (0), Linux (115), SUN (150), HP (245),
kliencie i/lub gatewayu wpisano niepoprawną nazwę przekroczony został limit czasu żądania połączenia.
hosta lub adres IP. Możliwe przyczyny:
– Sieć działa wolno albo serwer jest zbyt zajęty, aby móc – Przekroczenie limitu czasu spowodował systemowy limit
obsłużyć żądania połączenia w rozsądnym czasie. Może czasu połączenia albo ustawiona wartość limitu czasu
być konieczne skorygowanie wartości limitu czasu DB2TCP_CLIENT_CONTIMEOUT. Spróbuj
połączeń TCP w systemie i/lub wartości dostosować te wartości.
DB2TCP_CLIENT_CONTIMEOUT. v Jeśli <protokół> = TCP/IP, <funkcja> =
v Jeśli <protokół> = TCP/IP, <funkcja> = recv, <kp1> = selectForRecvTimeout, <kp1> bez znaczenia, przekroczony
ECONNRESET/WSAECONNRESET, AIX (73), Windows został limit czasu odbioru. Możliwe przyczyny:
(10054), Linux (104), SUN (131), HP (232), połączenie – Przekroczenie czasu spowodował systemowy limit czasu
zostało zresetowane przez zdalną stronę przez przerwanie odbioru albo ustawiona wartość limitu czasu
lub nagłe zamknięcie. Możliwe przyczyny: DB2TCP_CLIENT_RCVTIMEOUT. Spróbuj
– Połączenie mogło zostać zamknięte przez zdalny dostosować te wartości.
gateway lub serwer na poziomie TCP/IP (np. problem z
firewallem, awaria zasilania, błąd sieci). Przedstawiona powyżej lista błędów protokołu TCP/IP i
– Zestawianie połączeń po stronie klienta jest włączone i przyczyn nie jest kompletna; aby uzyskać więcej informacji na
nie obsługuje awarii połączeń. Kod aplikacji powinien temat konkretnych kodów błędów komunikacyjnych protokołu
ponawiać połączenie, jeśli wystąpi niepowodzenie TCP/IP, przeszukaj Centrum informacyjne
podczas próby połączenia się z bazą danych przy (http://publib.boulder.ibm.com/infocenter/db2luw/v9),
włączonym zestawianiu połączeń. szukając fraz takich jak ″błędy -30081″.
– Być może wystąpiło przekroczenie limitu czasu wątku
na komputerze hosta. Sprawdź, czy w dzienniku Jeśli element <protokół> ma wartość APPC
systemowym hosta nie ma komunikatu IDTHTOIN. v Wartość <kp1> zawiera kod powrotu z funkcji CPI-C.
Skoryguj odpowiednie ustawienie, jeśli to konieczne. v Jeśli występuje element <kp2>, zawiera globalną wartość
Jeśli nie można go skorygować, wyłącz zestawianie błędu errno wywołania funkcji CPI-C.
połączeń w gatewayu albo dopilnuj, aby wszystkie
v Wartość <kp3> nie ma w tym przypadku znaczenia.
obiekty były prawidłowo zamykane (np. kursory ze
wstrzymaniem, gdy aplikacja zakończy działanie).
Jeśli element <protokół> ma wartość MQ
– Administrator bazy danych wymusił wyłączenie agenta
v Kod <kp1> zawiera kod wykonania funkcji: 1 oznacza
bazy danych na serwerze.
ostrzeżenie, a 2 oznacza błąd.
– Agent bazy danych na serwerze został zatrzymany z
v Kod <kp2> zawiera kod błędu właściwy dla protokołu MQ.
powodu nieprawidłowego zakończenia kluczowego
procesu menedżera bazy danych. v Kod <kp3> nie jest używany dla protokołu MQ.
v Jeśli <protokół> = TCP/IP, <funkcja> = recv, <kp1> =
ETIMEDOUT/WSAETIMEDOUT, AIX (78), Windows Jeśli element <protokół> ma wartość SOAP, element <kp1>
(10060), Linux (110), SUN (145), HP (238), połączenie zawiera kod powrotu z funkcji komunikacyjnej SOAP.
zostało zerwane, ponieważ zdalny system nie odpowiedział.
Możliwe przyczyny: Jeśli element <protokół> ma wartość SSL, element <kp1>
zawiera kod powrotu z pakietu Secure Socket Layer (GSKit).
– W aplikacji CLI wywołana została funkcja SQLCancel(),
ponieważ aplikacja ustawiła wartość limitu czasu
Jeśli element <protokół> ma wartość SOCKS
zapytań lub wystąpiło jawne żądanie anulowania.
Skoryguj wartość limitu czasu zapytań ustawioną przez v Wartość <kp1> zawiera kod powrotu z serwera proxy
aplikację. Jeśli nie jest to możliwe, skoryguj ustawienie SOCKS.
QueryTimeoutInterval w pliku db2cli.ini. Umieść w v Wartość <kp2> zawiera wersję (4 lub 5) protokołu.
pliku db2cli.ini parametr QueryTimeoutInterval=0 (brak v Wartość <kp3> zawiera stosowaną metodę uwierzytelniania
limitu czasu), aby sprawdzić, czy źródłem problemów (SOCKS, wersja 5).
aplikacji jest limit czasu zapytań. W tym scenariuszu
przewidziane jest niepowodzenie istniejącego
Jeśli element <protokół> ma wartość HTTP, element <kp1>
połączenia.
zawiera kod powrotu HTTP ze zdalnego serwera HTTP.
– Sieć działa wolno albo serwer jest zbyt zajęty, aby móc
odpowiedzieć na żądanie recv w rozsądnym czasie. Działanie użytkownika:
Może być konieczne skorygowanie wartości limitu czasu Usuń problem określony przez kombinację zwróconych kodów
odbioru TCP w systemie. przyczyny i wartości elementów (patrz wyżej).
v Jeśli <protokół> = TCP/IP, <funkcja> =
kod_sql: -30081
selectForConnectTimeout, <kp1> = EINPROGRESS/0,
stan_sql: 08001

Rozdział 2. Komunikaty SQL 669


SQL30082N

15 (PROCESSING FAILURE)
SQL30082N Przetwarzanie związane z bezpieczeństwem
Przetwarzanie związane z bezpieczeństwem na
nie powiodło się; przyczyna: kod-przyczyny
serwerze nie powiodło się.
(łańcuch-przyczyny).
16 (NEW PASSWORD INVALID)
Objaśnienie:
Hasło podane przy żądaniu zmiany hasła nie
Wystąpił błąd podczas przetwarzania związanego z
odpowiada wymaganiom serwera.
zabezpieczeniami. Przyczyna błędu zabezpieczeń opisana jest
przez wartość kod-przyczyny i odpowiadającą jej wartość 17 (UNSUPPORTED FUNCTION)
łańcuch-przyczyny. Mechanizm zabezpieczeń podany przez klienta jest
nieprawidłowy dla tego serwera. Kilka typowych
Poniżej przedstawiono listę kodów przyczyn i przykładów:
odpowiadających im łańcuchów przyczyn: v Klient przesłał nową wartość hasła do serwera,
0 (NOT SPECIFIED) który nie obsługuje funkcji zmiany hasła.
Określony błąd zabezpieczeń nie jest określony. v Klient wysłał dane uwierzytelniające
SERVER_ENCRYPT do serwera, który nie
1 (PASSWORD EXPIRED)
obsługuje szyfrowania haseł. Informacje z
Hasło określone w żądaniu straciło ważność.
katalogu dotyczące typu uwierzytelniania na
2 (PASSWORD INVALID) serwerze muszą pokrywać się z informacjami po
Hasło określone w żądaniu jest nieprawidłowe. stronie klienta.
3 (PASSWORD MISSING) v Klient przesłał do serwera, który nie obsługuje
Żądanie nie zawiera hasła. uwierzytelniania na podstawie wyłącznie
identyfikatora użytkownika, ID użytkownika (lecz
4 (PROTOCOL VIOLATION) nie przesłał hasła).
Żądanie naruszyło protokoły zabezpieczeń. v Klient nie określił typu uwierzytelnienia, a serwer
5 (USERID MISSING) nie odpowiedział żadnym z obsługiwanych typów.
Żądanie nie zawiera identyfikatora użytkownika. Serwer mógł również zwrócić kilka typów, z
których klient nie mógł wybrać żadnego.
6 (USERID INVALID)
Identyfikator użytkownika określony w żądaniu jest 18 (NAMED PIPE ACCESS DENIED)
niepoprawny. Nazwany potok jest niedostępny z powodu
naruszenia zabezpieczeń.
7 (USERID REVOKED)
Identyfikator użytkownika określony w żądaniu 19 (USERID DISABLED lub RESTRICTED)
został unieważniony. Identyfikator użytkownika został wyłączony lub
nałożono na niego ograniczenie uniemożliwiające
8 (GROUP INVALID) dostęp do środowiska operacyjnego w tym czasie.
Grupa określona w żądaniu jest nieprawidłowa.
20 (MUTUAL AUTHENTICATION FAILED)
9 (USERID REVOKED IN GROUP) Serwer, z którym nawiązano kontakt, nie przeszedł
Identyfikator użytkownika określony w żądaniu pomyślnie etapu wzajemnego uwierzytelniania.
został usunięty w grupie. Serwer jest oszustem albo bilet zwrotny był
10 (USERID NOT IN GROUP) uszkodzony.
Identyfikator użytkownika określony w żądaniu nie 21 (RESOURCE TEMPORARILY UNAVAILABLE)
należy do grupy. Przetwarzanie zabezpieczeń na serwerze zostało
11 (USERID NOT AUTHORIZED AT REMOTE LU) przerwane, ponieważ zasób był chwilowo
Identyfikator użytkownika podany w żądaniu nie ma niedostępny. Na przykład w systemie AIX, mogły
uprawnień do korzystania ze zdalnej jednostki być niedostępne licencje użytkowników.
logicznej. 24 (USERNAME AND/OR PASSWORD INVALID)
12 (USERID NOT AUTHORIZED FROM LOCAL LU) Podana nazwa użytkownika, hasło lub obie te
Identyfikator użytkownika podany w żądaniu nie ma wartości są niepoprawne. Oto niektóre z możliwych
uprawnień do korzystania ze zdalnej jednostki przyczyn:
logicznej, jeśli pochodzi z lokalnej jednostki
1. Jeśli zmieniono ostatnio uprawnienia w
logicznej.
odniesieniu do newralgicznych plików DB2,
13 (USERID NOT AUTHORIZED TO TP) takich jak db2ckpw, lub zastosowano nowy
Identyfikator użytkownika określony w żądaniu nie pakiet poprawek, mogła nie zostać uruchomiona
ma uprawnień dostępu do programu transakcyjnego. komenda db2iupdt służąca do aktualizowania
instancji.
14 (INSTALLATION EXIT FAILED)
Wyjście z instalacji nie powiodło się. 2. Używana nazwa użytkownika może mieć
niepoprawny format. Na przykład na

670 Komunikaty, tom 2


SQL30082N

platformach UNIX i Linux nazwy 36 (UNEXPECTED CLIENT ERROR)


użytkowników muszą się składać z samych We wtyczce zabezpieczeń klienta wystąpił
małych liter. nieoczekiwany błąd.
3. Podczas określania informacji katalogowych 37 (INVALID SERVER PRINCIPAL NAME)
mógł zostać popełniony błąd. Na przykład We wtyczce zabezpieczeń serwera napotkano
określono niepoprawny typ uwierzytelniania niepoprawną nazwę główną.
albo zdalny serwer nie został wpisany do
katalogu w systemie lokalnym. Aby uzyskać 38 (INVALID CLIENT CREDENTIAL)
więcej informacji na temat uwierzytelniania, We wtyczce zabezpieczeń klienta napotkano
przeszukaj Centrum informacyjne DB2 niepoprawną referencję klienta.
(http://publib.boulder.ibm.com/infocenter/ 39 (EXPIRED CLIENT CREDENTIAL)
db2luw/v9) pod kątem takich terminów, jak We wtyczce zabezpieczeń klienta napotkano
″uwierzytelnianie″. nieważną referencję klienta.
25 (CONNECTION DISALLOWED) 40 (INVALID SERVER SECURITY TOKEN)
Wtyczka zabezpieczeń nie zezwala na połączenie. We wtyczce zabezpieczeń klienta napotkano
26 (UNEXPECTED SERVER ERROR) niepoprawny znacznik bezpieczeństwa wysłany
przez serwer.
We wtyczce zabezpieczeń serwera wystąpił
nieoczekiwany błąd. Bardziej konkretne informacje 41 (SWITCH USER INVALID)
na temat tego problemu zawiera plik dziennika Klient został skonfigurowany tak, aby żądać
powiadomień administracyjnych na serwerze. połączeń zaufanych i przełączać użytkownika do
Poniżej przedstawiono przykładowe przyczyny połączeń zaufanych. Zaufane połączenie nie zostało
problemów: nawiązane, dlatego żądanie przełączenia
użytkownika jest niepoprawne.
v Nie uruchomiono usługi bezpieczeństwa.
v Identyfikator użytkownika uruchamiający usługę 42 (INVALID SERVER SECURITY TOKEN)
DB2 nie ma uprawnień administratora. Uwierzytelnianie za pomocą haseł klienta lub
serwera lokalnego nie jest obecnie włączone.
27 (INVALID SERVER CREDENTIAL)
We wtyczce zabezpieczeń serwera napotkano 43 (NON-DB2 QUERY MANAGER PRODUCT
niepoprawną referencję serwera. DISALLOWED CONNECTION)
Menedżer zapytań inny niż DB2 uniemożliwił
28 (EXPIRED SERVER CREDENTIAL) połączenie.
We wtyczce zabezpieczeń serwera napotkano
nieważną referencję serwera. Działanie użytkownika:
Należy się upewnić, czy posiadane hasło i/lub identyfikator
29 (INVALID CLIENT SECURITY TOKEN) użytkownika są prawidłowe.
We wtyczce zabezpieczeń serwera napotkano
niepoprawny znacznik bezpieczeństwa wysłany Identyfikator użytkownika może być wyłączony, może mieć
przez klienta. dostęp ograniczony do określonych stacji roboczych lub może
30 (CLIENT PLUGIN MISSING API) mieć możliwość działania ograniczoną do konkretnych godzin.
We wtyczce zabezpieczeń klienta brakuje 17 Ponów komendę z obsługiwanym typem
wymaganej funkcji API. uwierzytelniania. Dopilnuj, aby w informacjach
31 (WRONG CLIENT PLUGIN TYPE) katalogowych znajdował się poprawny typ
Wtyczka zabezpieczeń klienta ma niewłaściwy typ uwierzytelniania. Aby uzyskać więcej informacji na
wtyczki. temat uwierzytelniania, przeszukaj Centrum
informacyjne DB2 (http://publib.boulder.ibm.com/
32 (UNKNOWN CLIENT GSS-API PLUGIN) infocenter/db2luw/v9) pod kątem takich terminów,
Wtyczce zabezpieczeń klienta nie odpowiada jak ″uwierzytelnianie″.
wtyczka zabezpieczeń GSS-API dostępna dla
połączenia z bazą danych. 20 Sprawdź, czy uruchomiony został mechanizm
uwierzytelniania serwera i ponów próbę.
33 (UNABLE TO LOAD CLIENT PLUGIN)
Nie można załadować wtyczki zabezpieczeń klienta. 24

34 (INVALID CLIENT PLUGIN NAME) Poniżej opisano rozwiązania konkretnych


Nazwa wtyczki zabezpieczeń klienta jest problemów opisanych powyżej:
niepoprawna. 1. Uruchom komendę DB2IUPDT
<NazwaInstancji>, aby zaktualizować instancję.
35 (INCOMPATIBLE CLIENT PLUGIN API VERSION)
Wtyczka zabezpieczeń klienta zgłasza wersję 2. Sprawdź, czy utworzona nazwa użytkownika jest
interfejsu API niezgodną z produktem DB2. poprawna. Przejrzyj ogólne reguły nazewnictwa
produktu DB2.

Rozdział 2. Komunikaty SQL 671


SQL30082N

3. Sprawdź, czy informacje katalogowe są Skoryguj nieprawidłowość wskazaną komunikatem


poprawne. o błędzie w dzienniku powiadomień
administracyjnych.
25 Zmień stosowaną nazwę bazy danych lub adres
TCP/IP używane do łączenia się z tą bazą danych. 34 Określ poprawną nazwę wtyczki zabezpieczeń.
Nazwa nie powinna zawierać żadnych informacji o
26
ścieżce i katalogu.
Skoryguj problem wskazany przez komunikat o
35 Upewnij się, że wtyczka zabezpieczeń korzysta z
błędzie wtyczki w dzienniku powiadomień
obsługiwanych wersji interfejsów API oraz że
administracyjnych. Aby uzyskać więcej informacji
zgłasza właściwy numer wersji. Aby uzyskać więcej
na temat korzystania z wtyczek zabezpieczeń,
informacji na temat obsługiwanych wersji, przejdź
poznać przykłady wtyczek zabezpieczeń i uzyskać
do Centrum informacyjnego DB2
dodatkowe informacje w zakresie rozwiązywania
(http://publib.boulder.ibm.com/infocenter/db2luw/
problemów, przeszukaj Centrum informacyjne DB2
v9) i poszukaj frazy ″wersje interfejsu API wtyczki
(http://publib.boulder.ibm.com/infocenter/db2luw/
zabezpieczeń″.
v9), używając fraz takich, jak ″wtyczki
zabezpieczeń″. 36 Więcej informacji można znaleźć w pliku dziennika
powiadomień administracyjnych po stronie klienta.
Jeśli nie możesz usunąć problemu, wywołaj
Skoryguj nieprawidłowość wskazaną komunikatem
narzędzie Independent Trace Facility i ponów cały
o błędzie w dzienniku powiadomień
scenariusz, aby zebrać informacje dla działu
administracyjnych.
wsparcia IBM.
37 Sprawdź zawartość pliku dziennika powiadomień
27 Upewnij się, że podczas inicjowania wtyczki
administracyjnych pod kątem nazwy głównej.
zabezpieczeń przekazywana jest referencja serwera
Upewnij się, że nazwa główna jest w formacie
oraz że ma ona format rozpoznawany przez wtyczkę
rozpoznawanym przez wtyczkę zabezpieczeń.
zabezpieczeń. Ponieważ referencja posłuży do
akceptowania kontekstów, musi to być referencja 38 Sprawdź, czy referencja klienta (generowana przez
typu ACCEPT lub BOTH. procedurę db2secGenerateInitialCred lub
dostarczona jako delegowana referencja
28 Skontaktuj się z administratorem DBA. Przed
przychodząca) ma format rozpoznawany przez
ponownym wydaniem komendy trzeba odnowić
wtyczkę zabezpieczeń. Ponieważ referencja posłuży
referencję serwera. Jeśli odświeżanie powoduje
do inicjowania kontekstów, musi być typu
zmodyfikowania uchwytu referencji, konieczne
INITIATE lub BOTH.
będzie wykonanie komend db2stop i db2start.
Informacje na temat sposobu odnawiania referencji 39 Użytkownik wprowadzający instrukcję musi uzyskać
serwera zawiera dostępna dokumentacja odpowiednie referencje (lub ponownie uzyskać
mechanizmu uwierzytelniania używanego przez początkowe referencje), a następnie ponownie
wtyczkę zabezpieczeń. wprowadzić tę instrukcję.
29 Wydaj ponownie komendę. Jeśli problem nadal 40 Wydaj ponownie komendę. Jeśli problem nadal
występuje, sprawdź, czy wtyczka zabezpieczeń występuje, sprawdź, czy wtyczka zabezpieczeń
klienta generuje poprawny znacznik bezpieczeństwa. generuje poprawny znacznik bezpieczeństwa.
30 Sprawdź zawartość dziennika powiadomień 41 Nawiąż ponownie zaufane połączenie, używając
administracyjnych pod kątem nazwy brakującego poprawnych referencji, i wprowadź ponownie
interfejsu API. Uzupełnij wtyczkę zabezpieczeń o żądanie przełączenia użytkownika.
brakujący interfejs API.
42 Aby włączyć uwierzytelnianie klienta i serwera
31 Określ właściwy typ wtyczki zabezpieczeń w lokalnego dla instalacji użytkownika innego niż
odpowiednim parametrze konfiguracyjnym administrator, administrator systemu musi
menedżera bazy danych. Na przykład nie należy uruchomić skrypt db2rfe. Alternatywnie
podawać wtyczki zabezpieczeń na bazie uwierzytelnianie może być realizowane za pomocą
identyfikatora i hasła w ustawieniu parametru wtyczki zabezpieczeń.
SRVCON_GSSPLUGIN_LIST.
43 Jeśli konieczne będą dodatkowe objaśnienia, należy
32 Zainstaluj właściwą wtyczkę zabezpieczeń, której skontaktować się z administratorem menedżera
serwer bazy danych używał na kliencie. Upewnij się, zapytań.
że wskazana wtyczka zabezpieczeń znajduje się w
katalogu wtyczek na kliencie. kod_sql: -30082
33 Więcej informacji można znaleźć w pliku dziennika
powiadomień administracyjnych po stronie klienta. stan_sql: 08001

672 Komunikaty, tom 2


SQL30083N • SQL30090N

musi być wpisana do katalogu przy użyciu łańcucha


SQL30083N Próba zmiany hasła dla identyfikatora
parametrów ,,,,,,,CHGPWD_SDN. Łańcuch
użytkownika identyfikator-użytkownika nie
parametrów ,,,,,,,CHGPWD_SDN identyfikuje
powiodła się ze względów bezpieczeństwa;
symboliczną nazwę docelową dla funkcji Password
kod przyczyny: kod-przyczyny
Expiration Management (PEM).
(łańcuch-przyczyny).
24 (USERNAME AND/OR PASSWORD INVALID)
Objaśnienie:
Podana nazwa użytkownika, hasło lub obie te
Próba zmiany hasła została odrzucona z powodu
wartości są niepoprawne.
nieprawidłowych informacji związanych z bezpieczeństwem.
Przyczyna błędu zabezpieczeń jest opisywana przez kod Działanie użytkownika:
przyczyny kod-przyczyny i odpowiadające mu wartości Sprawdź, czy został podany prawidłowy identyfikator
łańcucha łańcuch-przyczyny. użytkownika oraz bieżące i nowe hasło.

Poniżej przedstawiono listę kodów przyczyn i Identyfikator użytkownika może być wyłączony, może mieć
odpowiadających im łańcuchów przyczyn: dostęp ograniczony do określonych stacji roboczych lub może
mieć możliwość działania ograniczoną do konkretnych godzin.
0 (NOT SPECIFIED)
Określony błąd zabezpieczeń nie jest określony.
Poniżej zamieszczono instrukcje dotyczące określonych
1 (CURRENT PASSWORD INVALID) kodów przyczyny:
Podane w żądaniu stare hasło nie jest poprawne.
14 Sprawdź plik db2pem.log w podkatalogu instancji
2 (NEW PASSWORD INVALID) (zwykle ″db2″) w poszukiwaniu szczegółowego
Hasło podane w żądaniu jest niezgodne z zasadami opisu problemu.
dotyczącymi haseł określonymi przez system, na
którym ma być zmienione hasło. 23 Wpisz do katalogu bazę danych DCS z
wykorzystaniem parametru ,,,,,,,CHGPWD_SDN,
3 (CURRENT PASSWORD MISSING) zgodnie z opisem w Podręczniku użytkownika DB2
Żądanie nie zawiera poprzedniego hasła. Connect.
4 (NEW PASSWORD MISSING)
Żądanie nie zawiera nowego hasła. kod_sql: -30083

5 (USERID MISSING) stan_sql: 08001


Żądanie nie zawiera identyfikatora użytkownika.
6 (USERID INVALID) SQL30090N Operacja nie jest poprawna dla środowiska
Identyfikator użytkownika określony w żądaniu jest pracy aplikacji. Kod przyczyny =
niepoprawny. kod-przyczyny.
7 (USERID REVOKED) Objaśnienie:
Identyfikator użytkownika określony w żądaniu Operacja jest nieprawidłowa dla środowiska pracy aplikacji.
został unieważniony. Nie można zmieniać haseł dla Operacja może nie być poprawna dla aplikacji narzucających
usuniętych użytkowników. specjalne ograniczenia na instrukcje lub funkcje API: na
14 (INSTALLATION EXIT FAILED) przykład aplikacje działające w środowisku rozproszonego
Zakończenie instalowania zabezpieczeń nie przetwarzania transakcji XA (na przykład CICS), aplikacje
powiodło się. działające z ustawieniami połączenia CONNECT typu 2 lub
aplikacje korzystające z funkcji systemu stowarzyszonego przy
15 (PROCESSING FAILURE) aktualizacji wielu różnych źródeł danych. Operacja została
Przetwarzanie związane z bezpieczeństwem na odrzucona.
serwerze nie powiodło się.
17 (UNSUPPORTED FUNCTION) Możliwe kody przyczyny to:
Funkcja zmiany hasła jest nieobsługiwana przez 01 Żądanie SQL, które zmienia dane (takie, jak
system albo nie jest obsługiwana w danym INSERT lub CREATE), zostało uruchomione dla
momencie z powodu ograniczeń konta użytkownika. bazy danych tylko do odczytu lub procedura
19 (USERID DISABLED lub RESTRICTED) składowana została wywołana dla bazy danych tylko
Identyfikator użytkownika został wyłączony lub do odczytu. Bazy danych tylko do odczytu zawierają
nałożono na niego ograniczenie uniemożliwiające następujące typy:
dostęp do środowiska operacyjnego w tym czasie. v Poziomu 2 protokołu DRDA nie obsługują bazy
danych, do których dostęp jest realizowany w
23 (CHGPWD_SDN w pozycji DCS nie jest architekturze DRDA w trakcie jednostki pracy z
skonfigurowane) parametrem połączenia SYNCPOINT
Aby możliwa była zmiana hasła MVS w systemie TWOPHASE, działające w środowisku innym niż
hosta połączonym poprzez SNA, baza danych DCS

Rozdział 2. Komunikaty SQL 673


SQL30090N

XA/DTP - gdy nie jest używany ani program danych, operacja wstawiania/aktualizowania/
Synchpoint Manager, ani zdalna baza danych usuwania wymaga, aby istniała kolumna datownika
DRDA. oraz indeks unikalny. Dla operacji
v Bazy danych z dostępem przy użyciu DRDA w aktualizacji/usuwania z dostępem do źródeł danych:
środowisku XA/DTP, kiedy gateway Synchpoint v Fujitsu RDB2 wymaga istnienia unikalnego
Manager jest niedostępny lub zdalna baza danych indeksu.
DRDA nie obsługuje poziomu 2 protokołu
13 Pozycjonowana operacja UPDATE lub DELETE
DRDA.
wymaga istnienia kolumny w liście SELECT
v Bazy danych, które nie były aktualizowane jako kursora, ale ta kolumna nie istnieje.
pierwsze po rozpoczęciu działania, gdy aktywne
jest ustawienie połączenia SYNCPOINT 14 Istnieje niedozwolona kombinacja aktualizowalnych
ONEPHASE dla jednostki pracy. kursorów, wstrzymanie kursora i poziomu
odseparowania typu Powtarzalny odczyt.
02 Funkcja API, taka jak Precompile, Bind lub Niedozwolonymi kombinacjami są:
Reorganize Table, która powoduje wewnętrzne
v Poziom odseparowania typu Powtarzalny odczyt i
zatwierdzenie, została wywołana w aplikacji, która
kursor WITH HOLD
ma ustawienie CONNECT typu 2 lub działa w
środowisku XA/DTP. v Kursor WITH HOLD z FOR UPDATE

03 W środowisku XA/DTP wprowadzono komendę 15 Zarezerwowane do wykorzystania w przyszłości.


SQL OPEN dla wstrzymanego kursora, podczas 16 Niedopuszczalna kombinacja kolumny typu i
korzystania z monitora przetwarzania transakcji kolumny protokołu w SYSCAT.SERVERS.
ENCINA lub TUXEDO.
17 Program użytkowy REORG nie może być
04 Wywołano instrukcję DISCONNECT w środowisku wywoływany dla nazwy zastępczej.
XA/DTP.
18 Podano żądanie aktualizacji (albo operację DDL,
05 Wywołano złożoną instrukcję SQL, która zawiera której wynikiem była aktualizacja tabeli katalogów
instrukcję COMMIT, w środowisku CONNECT type systemowych), którego rezultatem byłoby
2 lub XA/DTP. zaktualizowanie wielu źródeł danych, podczas gdy
06 Wywołano SET CLIENT API w środowisku jedno lub więcej źródeł danych w obrębie jednostki
XA/DTP. pracy obsługuje tylko zatwierdzanie jednofazowe.
Możliwe przyczyny to:
07 Otwierana jest druga baza danych w jednostce pracy,
v Próbowano aktualizować źródło danych, które
dla której koordynacja zatwierdzania dwufazowego
obsługuje tylko zatwierdzanie jednofazowe, ale
nie jest zapewniana przez menedżer transakcji. Aby
inne źródło danych zostało już zaktualizowane w
zapewnić spójność danych, operacja została
tej samej jednostce pracy.
zabroniona.
v Próbowano aktualizować źródło danych, które
08 Podjęto próbę dostępu do bazy danych przy obsługuje tylko zatwierdzanie dwufazowe, ale
wykorzystaniu koordynacji zatwierdzeń z innego inne źródło danych, które obsługuje tylko
źródła niż równocześnie podłączona baza danych. zatwierdzanie jednofazowe, zostało już
Dwa typy koordynacji nie mogą być używane zaktualizowane w tej samej jednostce pracy.
jednocześnie i dlatego operacje dotyczące bieżącej
v Próbowano zaktualizować lokalną tabelę serwera
bazy danych zostały odrzucone.
stowarzyszonego, ale źródło danych, które
09 Próbowano wykonać lokalną transakcję XA/DTP dla obsługuje tylko zatwierdzanie jednofazowe,
bazy danych, do której dostęp koordynowany jest w zostało już zaktualizowane w tej samej jednostce
programie Synchpoint Manager. pracy.
10 Wprowadzono komendę SQL OPEN dla v Próbowano aktualizować źródło danych, które
wstrzymanego kursora w jednym z następujących obsługuje tylko zatwierdzanie jednofazowe,
przypadków: podczas gdy aplikacja działa z ustawieniem
CONNECT typu 2.
v używane jest środowisko XA/DTP albo
v serwer stowarzyszony uzyskał dostęp do 19 Typ danych zmiennej języka macierzystego aplikacji
pseudonimu zdefiniowanego w źródle danych z nie jest obsługiwany przez źródło danych w sesji
zatwierdzaniem dwufazowym. tranzytowej.
20 Podczas trwania jednostki pracy została wydana
Wstrzymanie kursora nie jest obsługiwane w tych komenda SET CLIENT INFORMATION.
środowiskach.
21 Operacja, którą próbowano wykonać na określonym
11 Operacja nie jest obsługiwana dla tranzytu. źródle danych (źródłach danych) nie jest
12 Z powodu ograniczenia, jakiemu podlega źródło obsługiwana przez opakowanie, za pomocą którego

674 Komunikaty, tom 2


SQL30090N

produkt DB2 uzyskuje dostęp do źródła danych. Aby zewnętrznego menedżera transakcji. Jeśli w
dowiedzieć się, jakie operacje obsługuje to jednostce pracy musi być dostęp do wielu baz
opakowanie, zajrzyj do dokumentacji. danych, należy wykorzystać interfejs sterowania
zatwierdzaniem transakcji, dostarczony przez
22 Stowarzyszona operacja wstawiania, aktualizacji lub
zewnętrzny menedżer transakcji.
usuwania albo wywołanie procedury stowarzyszonej
ze wskazaniem dostępu do danych SQL typu Dla przyczyny 08
MODIFIES SQL DATA w funkcji, odwołaniu do sprawdź, czy wszystkie bazy danych, z których
tabeli zmieniającym dane, dynamicznej instrukcji korzysta się w jednostce pracy, mają kontrolę
złożonej, wyzwalaczu lub środowisku zatwierdzania tego samego typu: wykonywaną przez
wykonawczym aplikacji jest niepoprawne, gdy: zewnętrzny monitor przetwarzania transakcji (taki,
v aktywny jest punkt zapisu (SAVEPOINT), jak CICS SYNCPOINT) lub w lokalnych
instrukcjach COMMIT oraz ROLLBACK EXEC
v używany jest kursor przewijalny,
SQL.
v widok docelowy zawiera wiele tabel lub
pseudonimów, Dla przyczyny 09
wykonaj jedną z następujących czynności:
23 Nieobsługiwana funkcja API, struktura danych lub
v Uruchom transakcję jako globalną transakcję
ustawienie.
XA/DTP.
24 Podane opakowanie nie obsługuje odwzorowania v Wejdź do bazy danych w środowisku innym niż
typów danych. XA/DTP.
25 Podane opakowanie nie obsługuje odwzorowania v Nie używaj obsługi Synchpoint Manager dla
funkcji. połączenia z bazą danych, jeśli transakcja jest
tylko do odczytu.
26 W połączeniu zaufanym, w którym jest używany
SPM i jest włączony koncentrator, aplikacja może W przypadku przyczyn od 10 do 17 (użytkownicy serwera
tylko przełączyć zaufany identyfikator użytkownika stowarzyszonego)
po zakończonym przetwarzaniu zlokalizuj problem do źródła danych, które nie może
zatwierdzenia/wycofywania zmian. zrealizować żądania (patrz podręcznik
Troubleshooting Guide), i sprawdź ograniczenia,
27 Użyto wielu serwerów zatwierdzania dwufazowego jakim podlega to źródło danych.
z tej samej biblioteki opakowań w tym samym
połączeniu w sytuacji, gdy biblioteka klienta Dla przyczyny 18
ogranicza taką możliwość. wykonaj jedną z następujących czynności:
28 Użyto serwera zatwierdzania jednofazowego i v Wywołaj COMMIT lub ROLLBACK przed
serwera zatwierdzania dwufazowego z tej samej wywołaniem aktualizacji innego źródła danych.
biblioteki opakowań w tym samym połączeniu w v Jeśli wiele źródeł danych ma być
sytuacji, gdy biblioteka klienta ogranicza taką aktualizowanych w jednostce pracy, upewnij się,
możliwość. że opcja serwera db2_two_phase_commit została
ustawiona na ’Y’ dla wszystkich źródeł danych,
29 Próbowano z aplikacji wystosować żądanie które mają być aktualizowane. Informacje na
przełączenia użytkownika z wewnątrz procedury temat ustawiania wartości używanych w
składowanej. przypadku opcji db2_two_phase_commit można
Działanie użytkownika: znaleźć w podręczniku SQL Reference.
Rozwiąż problem wykonując jedną z następujących czynności: v Jeśli źródło danych, które ma zostać
zaktualizowane, obsługuje tylko zatwierdzanie
W przypadku przyczyn 01, 02, 03, 04, 06, 19 lub 29
jednofazowe, a aplikacja działa z ustawieniem
usuń instrukcję lub funkcję API, która nie jest
CONNECT typu 2, zmień aplikację, tak aby
obsługiwana.
działała z ustawieniem CONNECT typu 1.
Ewentualnie w przypadku przyczyn 01, 02, 03, 04, 06 lub
Dla przyczyny 20
29 uruchom aplikację w innym środowisku, które
przed wywołaniem funkcji API wprowadź komendę
obsługuje nie wykonaną instrukcję lub funkcję API.
Commit lub Rollback.
Dla przyczyny 05
Dla przyczyny 22
przesuń żądanie COMMIT na zewnątrz złożonej
Usuń operację stowarzyszonego wstawienia,
instrukcji.
aktualizacji lub usunięcia albo wywołanie procedury
Dla przyczyny 07 stowarzyszonej ze wskazaniem dostępu do danych
upewnij się, że dostęp istnieje tylko do jednej bazy SQL typu MODIFIES SQL DATA lub:
danych w jednostce pracy, dla której wywołane v wykonaj stowarzyszoną operację wstawiania,
zostaną EXEC SQL COMMIT lub EXEC SQL aktualizacji lub usuwania poza funkcją,
ROLLBACK zamiast żądania syncpoint do

Rozdział 2. Komunikaty SQL 675


SQL30101W • SQL30106N

odwołaniem do tabeli zmieniającym dane,


SQL30101W Zignorowano opcje wiązania określone w
dynamiczną instrukcją złożoną lub wyzwalaczem;
żądaniu REBIND.
v wywołaj procedurę stowarzyszoną ze wskazaniem
dostępu do danych SQL typu MODIFIES SQL Objaśnienie:
DATA poza funkcją, złożoną instrukcją W żądaniu REBIND podano opcje wiązania, chociaż serwer
dynamiczną lub wyzwalaczem; baz danych nie obsługuje ponownej specyfikacji żadnych opcji
wiązania. Podane opcje zostaną zignorowane, a użyte będą
v zwolnij aktywny punkt zapisu;
opcje z pierwotnego żądania BIND.
v wyłącz kursor przewijalny;
Działanie użytkownika:
v zmień definicję widoku docelowego, tak aby
Nie jest wymagane żadne działanie. Jest to tylko ostrzeżenie.
odwoływał się tylko do jednej tabeli lub
pseudonimu;
Jeżeli serwer bazy danych zwróci dodatkowe ostrzeżenie
v wykonaj operację stowarzyszonego wstawienia, obszaru komunikacyjnego SQL, znaczniki ″sqlerrmc″ wskażą
aktualizacji lub usunięcia poza obrębem następujące informacje dotyczące tego dodatkowego obszaru
wyzwalacza. komunikacyjnego SQL w następującym porządku:
W wypadku wystąpienia kodu przyczyny 23 v sqlcode (kod powrotu SQL)
Listę obsługiwanych funkcji API, struktur danych i v sqlstate (uniwersalny kod powrotu SQL)
ustawień zawiera podręcznik Administrative API
v sqlerrp (nazwa produktu)
Reference.
v sqlerrmc (znaczniki komunikatu SQL)
W przypadku wystąpienia kodu przyczyny 24
Jeśli nieudana instrukcja to CREATE TYPE kod_sql: +30101
MAPPING, nie należy wysyłać jej ponownie. Jeśli
nieudana instrukcja to CREATE SERVER, znajdź w
stan_sql: 01599
katalogu stowarzyszania odwzorowania typów dla
używanego typu serwera i usuń je. W każdym
przypadku poszukaj w dokumentacji źródła danych SQL30104N Błąd w opcji parametru BIND lub
informacji o typach i odwzorowaniach typów PRECOMPILE nazwa-opcji o wartości
obsługiwanych przez to źródło danych. nazwa-wartości.
W przypadku wystąpienia kodu przyczyny 25 Objaśnienie:
Jeśli nieudana instrukcja to CREATE Podczas przetwarzania parametrów BIND lub PRECOMPILE
FUNCTIONMAPPING, nie należy wysyłać jej napotkano niedozwoloną opcję, wartość lub parę
ponownie. Jeśli nieudana instrukcja to CREATE opcja-wartość.
SERVER, znajdź w katalogu stowarzyszania
odwzorowania funkcji dla używanego typu serwera i Nie można wykonać instrukcji.
usuń je. W każdym przypadku poszukaj w
dokumentacji źródła danych informacji o funkcjach i Działanie użytkownika:
odwzorowaniach funkcji obsługiwanych przez to Zidentyfikuj błąd, sprawdzając opcje i wartości komendy, i
źródło danych. wprowadź komendę ponownie.

W przypadku wystąpienia kodu przyczyny 26 kod_sql: -30104


Dopilnuj, aby zaufany identyfikator użytkownika nie
był przełączany podczas transakcji. stan_sql: 56095
W przypadku wystąpienia kodu przyczyny 27
Aplikacja nie może uzyskiwać dostępu do wielu SQL30106N Wykryto niepoprawne dane wejściowe
serwerów zatwierdzania dwufazowego tego samego operacji wstawiania (INSERT) wielu
źródła danych w tym samym połączeniu. Uruchom wierszy.
aplikację w innym środowisku.
Objaśnienie:
W przypadku wystąpienia kodu przyczyny 28 Wystąpił błąd dotyczący danych wejściowych podczas
Aplikacja nie może uzyskiwać dostępu do serwera wykonywania jedno- lub wielowierszowej operacji
zatwierdzania jednofazowego w czasie, gdy jest wstawiania. Dalsze wiersze nie będą wstawiane. W wypadku
aktywne połączenie z serwerem zatwierdzania operacji niepodzielnej wszystkie wstawione wiersze zostaną
dwufazowego, ani na odwrót. Uruchom aplikację w wycofane. W wypadku operacji nie będącej operacją
innym środowisku. niepodzielną wiersze wstawione pomyślnie przed napotkaniem
niepoprawnych danych wejściowych nie zostaną wycofane.
kod_sql: -30090
Działanie użytkownika:
stan_sql: 25000 Skoryguj wiersz zawierający błędne dane wejściowe i
ponownie wydaj instrukcję wielowierszowego wstawienia,
obejmującą wiersze, które nie zostały wstawione.

676 Komunikaty, tom 2


SQL30108N • SQL32766N

kod_sql: -30106 nazwa-usługi. Serwer alternatywny, w przypadku którego


podjęta została ostatnia próba nawiązania połączenia, ma
stan_sql: 22527 poziom wersji id-produktu1, niezgodny z poziomem wersji
serwera pierwotnego, id-produktu2.
SQL30108N Połączenie zostało zerwane, lecz później Działanie użytkownika:
nawiązane ponownie. Nazwą hosta lub Jeśli przełączenie awaryjne występuje w ramach mieszanej
adresem IP jest nazwa-hosta, a nazwą usługi grupy współużytkowania danych produktu DB2 for z/OS,
lub numerem portu jest nazwa-usługi. ponowne połączenie z bazą danych należy nawiązać ręcznie.
Ponowna próba ustawienia rejestrów Jeśli przełączenie awaryjne dokonywane jest na serwer
specjalnych może, lecz nie musi zostać alternatywny, upewnij się, że dany serwera alternatywny jest
podjęta (kod przyczyny = kod-przyczyny). skonfigurowany pod kątem obsługi przełączenia awaryjnego.
Objaśnienie:
kod_sql: -30109
Połączenie z serwerem zostało zerwane, jednak klient zdołał je
nawiązać ponownie. Wszystkie zasoby sesji zostały
stan_sql: 08507
przywrócone do początkowych wartości domyślnych z
wyjątkiem wartości niektórych rejestrów specjalnych.
Szczegółowe informacje zawiera Podręcznik administratora. SQL32765W Ostrzeżenie lub komunikat informacyjny z
Aplikacja została wycofana do stanu, w jakim była po produktu innego niż DB2: lista_elementów.
wykonaniu ostatniej instrukcji COMMIT.
Objaśnienie:
Oprogramowanie, które współpracuje z produktem DB2, ale
Zostanie przywrócone połączenie z hostem o nazwie lub
nie jest jego częścią, zwraca informacje o sytuacji
adresie nazwa-hosta i z usługą lub portem nazwa-usługi.
wymagającej ostrzeżenia lub poinformowania za pomocą
listy_elementów.
Ponowna próba ustawienia rejestrów specjalnych może zostać
podjęta lub nie, w zależności od poniższych kodów przyczyny: Działanie użytkownika:
1. Pierwotny serwer obsługuje zwrot zestawu rejestrów Informacji na liście_elementów należy użyć łącznie z wszelką
specjalnych dla zerwanego połączenia. Zostanie podjęta dostępną dokumentacją produktu zwracającego dane
ponowna próba wykonania instrukcji dotyczących tych informacje, aby dobrze zrozumieć zgłaszaną sytuację.
rejestrów specjalnych.
kod_sql: +32765
2. Pierwotny serwer nie obsługuje zwrotu zestawu rejestrów
specjalnych dla zerwanego połączenia. Nie zostanie
podjęta ponowna próba wykonania instrukcji dotyczących sqlstate: (może zostać zwrócony dowolny stan SQLSTATE)
tych rejestrów specjalnych.
Działanie użytkownika: SQL32766N Komunikat o błędzie z produktu innego niż
Aplikacja jest odpowiedzialna za odbudowanie zasobów sesji. DB2: lista_elementów.
Operacje wycofane w ramach aplikacji powinny zostać Objaśnienie:
ponowione. Oprogramowanie, które współpracuje z produktem DB2, ale
nie jest jego częścią, zwraca informacje o błędzie za pomocą
kod_sql: -30108 listy_elementów.
Działanie użytkownika:
stan_sql: 08506
Informacji na liście_elementów należy użyć łącznie z wszelką
dostępną dokumentacją produktu zwracającego dane
SQL30109N Próba ponownego nawiązania połączenia z informacje w celu określenia sposobu usunięcia błędu.
serwerem o nazwie hosta lub adresie IP
nazwa-hosta oraz nazwie usługi lub numerze kod_sql: -32766
portu nazwa-usługi nie powiodła się,
ponieważ poziom wersji id-produktu1 sqlstate: (może zostać zwrócony dowolny stan SQLSTATE)
żadnego serwera alternatywnego nie jest
zgodny z poziomem wersji id-produktu2
serwera pierwotnego.
Objaśnienie:
Połączenie z serwerem nie powiodło się i nie udało się
ponownie nawiązać połączenia z którymkolwiek serwerem
alternatywnym, ponieważ żaden z serwerów alternatywnych
nie miał poziomu wersji zgodnego z pierwotnym połączeniem.
Nazwą hosta lub adresem IP serwera pierwotnego jest
nazwa-hosta, a nazwą usługi lub numerem portu jest

Rozdział 2. Komunikaty SQL 677


678 Komunikaty, tom 2
Rozdział 3. Komunikaty SQLSTATE
W tej sekcji podano kody SQLSTATE i ich znaczenie. Kody SQLSTATE są pogrupowane
według klasy kodu; informacje o kodach podrzędnych znajdują się w odpowiadającej jej
tabeli.
Tabela 1. Kody klas SQLSTATE
Kod klasy Znaczenie Informacje na temat kodów
podrzędnych można znaleźć w...
00 Niesklasyfikowane pomyślne zakończenie Tabela 2 na stronie 680
01 Ostrzeżenie Tabela 3 na stronie 680
02 Brak danych Tabela 4 na stronie 684
07 Błąd dynamicznego SQL Tabela 5 na stronie 685
08 Wyjątek połączenia Tabela 6 na stronie 685
09 Wyjątek działania wyzwalanego Tabela 7 na stronie 685
0A Nieobsługiwana opcja Tabela 8 na stronie 686
0D Niepoprawna specyfikacja typu docelowego Tabela 9 na stronie 686
0F Nieprawidłowy znacznik Tabela 11 na stronie 686
0K Niepoprawna instrukcja RESIGNAL Tabela 12 na stronie 686
0N Błąd odwzorowania SQL/XML Tabela 13 na stronie 686
20 Nie znaleziono opcji dla instrukcji CASE Tabela 15 na stronie 688
21 Naruszenie liczności Tabela 16 na stronie 688
22 Wyjątek dotyczący danych Tabela 17 na stronie 688
23 Naruszenie ograniczenia Tabela 18 na stronie 690
24 Nieprawidłowy stan kursora Tabela 19 na stronie 691
25 Nieprawidłowy stan transakcji Tabela 20 na stronie 691
26 Nieprawidłowy identyfikator instrukcji SQL Tabela 21 na stronie 692
28 Nieprawidłowa specyfikacja uprawnień Tabela 23 na stronie 692
2D Nieprawidłowe zakończenie transakcji Tabela 24 na stronie 692
2E Nieprawidłowa nazwa połączenia Tabela 25 na stronie 692
34 Nieprawidłowa nazwa kursora Tabela 26 na stronie 692
36 Wyjątek dotyczący poziomu rozpoznania kursora Tabela 27 na stronie 693
38 Wyjątek dotyczący funkcji zewnętrznej Tabela 28 na stronie 693
39 Wyjątek podczas wywołania funkcji zewnętrznej Tabela 29 na stronie 694
3B Niepoprawna wartość SAVEPOINT Tabela 30 na stronie 694
40 Wycofanie zmian w transakcji Tabela 31 na stronie 695
42 Błąd syntaktyczny lub naruszenie zasad dostępu Tabela 32 na stronie 695
44 Naruszenie opcji WITH CHECK OPTION Tabela 33 na stronie 707
46 Język definicji danych Java Tabela 34 na stronie 707
51 Nieprawidłowy stan aplikacji Tabela 35 na stronie 708
53 Niepoprawny operand lub niespójna specyfikacja Tabela 36 na stronie 709

© Copyright IBM Corp. 1993, 2007 679


Tabela 1. Kody klas SQLSTATE (kontynuacja)
Kod klasy Znaczenie Informacje na temat kodów
podrzędnych można znaleźć w...
54 Przekroczone ograniczenia języka SQL lub Tabela 37 na stronie 709
produktu
55 Obiekt nie spełnia warunków wstępnych Tabela 38 na stronie 710
56 Inny błąd języka SQL lub produktu Tabela 39 na stronie 712
57 Zasoby są niedostępne lub nastąpiła interwencja Tabela 40 na stronie 713
operatora
58 Błąd systemowy Tabela 41 na stronie 714
5U Programy narzędziowe Tabela 42 na stronie 715

Kod klasy 00: Niesklasyfikowane pomyślne zakończenie


Tabela 2. Kod klasy 00: Niesklasyfikowane pomyślne zakończenie
Wartość Znaczenie
SQLSTATE
00000 Wykonanie operacji zakończyło się pomyślnie i nie spowodowało żadnych ostrzeżeń
ani sytuacji wyjątkowych.

Kod klasy 01: Ostrzeżenie


Tabela 3. Kod klasy 01: Ostrzeżenie
Wartość Znaczenie
SQLSTATE
01002 Wystąpił błąd rozłączania (DISCONNECT).
01003 Wartości puste zostały usunięte z argumentu funkcji kolumnowej.
01004 Wartość łańcucha została obcięta podczas przypisywania do innego typu danych
łańcuchowych o mniejszej długości.
01005 Niewystarczająca liczba pozycji w obszarze deskryptorów SQL.
01007 Uprawnienie nie zostało nadane.
0100C Jedna lub kilka doraźnych tabel wynikowych zostało zwróconych z procedury.
0100D Kursor, który był zamknięty, został ponownie otwarty w następnej tabeli wynikowej w
łańcuchu.
0100E Procedura wygenerowała więcej tabel wynikowych niż maksymalna dopuszczalna
liczba. Do programu żądającego zostały zwrócone tabele wynikowe w liczbie
określonej przez pierwszą liczbę całkowitą.
01503 Liczba kolumn wynikowych jest większa niż liczba dostępnych zmiennych języka
macierzystego.
01504 Instrukcja UPDATE lub DELETE nie zawiera klauzuli WHERE.
01506 Dopasowano wartość typu DATE lub TIMESTAMP, aby poprawić nieprawidłową datę
będącą wynikiem operacji arytmetycznej.
01509 Łączenie w bloki dla kursora zostało anulowane z powodu niewystarczającej pamięci w
wirtualnej maszynie użytkownika.
01515 Zmiennej języka macierzystego została przypisana wartość pusta, ponieważ wartość
kolumny inna niż pusta jest poza zakresem tej zmiennej.
01516 Nie nadająca się do zastosowania opcja WITH GRANT OPTION została zignorowana.

680 Komunikaty, tom 2


Tabela 3. Kod klasy 01: Ostrzeżenie (kontynuacja)
Wartość Znaczenie
SQLSTATE
01517 Znak, który nie mógł być przetworzony, został zamieniony na znak zastępczy.
01519 Zmiennej języka macierzystego została przypisana wartość pusta, ponieważ wartość
numeryczna jest poza zakresem.
01524 Wynik funkcji kolumnowej nie zawiera wartości pustych, które są wynikiem wyrażenia
arytmetycznego.
01526 Wzrósł poziom odseparowania.
01527 Instrukcja SET odwołuje się do rejestru specjalnego, którego nie ma w systemie AS.
01539 Połączenie działa prawidłowo, ale należy używać jedynie zestawu znaków
jednobajtowych (SCBS).
01543 Powielone ograniczenie zostało zignorowane.
01545 Niekwalifikowaną nazwę kolumny zinterpretowano jako referencję skorelowaną.
01550 Obiekt nie został utworzony, ponieważ obiekt z podanym opisem już istnieje.
01560 Nadmiarowa klauzula GRANT została zignorowana.
01562 Nowa ścieżka do dziennika (newlogpath) w pliku konfiguracyjnym bazy danych jest
niepoprawna.
01563 Bieżąca ścieżka do pliku dziennika jest niepoprawna. Ścieżkę do pliku dziennika
ustawiono ponownie na domyślną.
01564 Zmiennej języka macierzystego została przypisana wartość pusta, ponieważ wystąpiło
dzielenie przez zero.
01565 Wartość sNaN, która została napotkana w zapytaniu, została zastąpiona wartością
nieokreśloną (NaN) zanim przetwarzanie zapytania zostało wznowione.
01586 Instrukcja spowodowała, że co najmniej jedna tabela została automatycznie
wprowadzona w stan ustawiania integralności w toku.
01589 Instrukcja zawiera specyfikacje nadmiarowe.
01592 W instrukcji CREATE FUNCTION, która odwołuje się do funkcji SOURCE, mogą
zaistnieć następujące zjawiska:
v parametr wejściowy ma większą długość, dokładność lub skalę niż odpowiadający
mu parametr funkcji źródłowej; albo
v parametr RETURNS lub CAST FROM ma mniejszą długość, dokładność lub skalę
niż parametr w funkcji źródłowej; albo
v parametr CAST FROM w instrukcji CREATE FUNCTION ma większą długość,
dokładność lub skalę niż parametr RETURNS.
Podczas uruchamiania może nastąpić obcięcie (i w związku z tym może pojawić się
błąd).
01594 Niewystarczająca ilość pozycji w obszarze deskryptorów SQL dla informacji ALL (tzn.
zbyt mało deskryptorów, aby zwrócić odrębną nazwę).
01595 Dany widok zastąpił istniejący, unieważniony widok.
01596 Funkcje porównań dla typu odrębnego opartego na typie danych długi łańcuch nie
zostały utworzone.
01598 Próba uruchomienia aktywnego lub wyłączenia nieaktywnego monitora zdarzeń.
01599 Opcje wiązania dla komendy REBIND zostały zignorowane.
01602 Poziom optymalizacji został zredukowany.
01603 Podczas sprawdzania danych program wykrył naruszenia ograniczeń i przeniósł je do
tabel wyjątków.

Rozdział 3. Komunikaty SQLSTATE 681


Tabela 3. Kod klasy 01: Ostrzeżenie (kontynuacja)
Wartość Znaczenie
SQLSTATE
01604 Instrukcja SQL została wyjaśniona i nie została uruchomiona.
01605 Rekurencyjne wyrażenie tabelowe może zawierać nieskończoną pętlę.
01606 Katalog węzłów lub systemowy katalog baz danych jest pusty.
01607 Różnica czasu na węzłach w transakcjach tylko do odczytu (read-only) przekracza
zdefiniowaną wartość graniczną.
01608 Nieobsługiwana wartość została zastąpiona.
01609 Procedura wygenerowała więcej tabel wynikowych niż maksymalna dopuszczalna
liczba. Do programu żądającego zostały zwrócone tabele wynikowe w liczbie
określonej przez pierwszą liczbę całkowitą.
01610 Jedna lub kilka tabel wynikowych ad hoc zostało zwróconych z procedury.
01611 Kursor, który był zamknięty, został ponownie otwarty w następnej tabeli wynikowej w
łańcuchu.
01614 Liczba wskaźników jest mniejsza od liczby tabel wynikowych.
01616 Szacunkowy koszt CPU przekracza limit zasobu.
01618 Aby zmienić partycjonowanie danych, należy przeprowadzić redystrybucję grupy
węzłów.
01620 Niektóre z tabel podstawowych instrukcji UNION ALL mogą być tożsame.
01621 Pobrana wartość dużego obiektu (LOB) mogła zostać zmieniona.
01622 Instrukcja zakończona poprawnie, ale po jej zakończeniu wystąpił błąd systemowy.
01623 Wartość DEGREE została zignorowana.
01625 Nazwa schematu w instrukcji CURRENT PATH występuje więcej niż jeden raz.
01626 Baza danych ma tylko jedną aktywną pulę buforów.
01627 Wartość DATALINK może być niepoprawna, ponieważ tabela jest w stanie uzgadniania
w toku lub w stanie niemożliwym do uzgodnienia.
01632 Liczba jednoczesnych połączeń przekroczyła ograniczenia zdefiniowane dla produktu.
01633 Zmaterializowanej tabeli zapytania nie można używać do optymalizacji przetwarzania
zapytań.
01636 Integralność danych innych niż przyrostowe pozostaje niesprawdzona przez menedżera
baz danych.
01637 Umiejscawianie błędów nie jest udostępnione.
01639 Obiekt stowarzyszony może wymagać, aby użytkownik wywołujący miał niezbędne
uprawnienia dla obiektów źródła danych.
01641 Atrybuty typu Datalink ograniczają używanie typu strukturalnego.
01642 Kolumna nie jest wystarczająco długa dla największej możliwej wartości domyślnej
USER.
01643 Przypisanie zmiennej SQLSTATE lub SQLCODE w procedurze SQL mogło zostać
zastąpione i nie aktywuje żadnej procedury obsługi.
01645 Kod wykonywalny procedury SQL nie jest zapisany w katalogu bazy danych.
01648 Atrybut kolumny COMPRESS został zignorowany, ponieważ opcja VALUE
COMPRESSION jest nieaktywna w odniesieniu do tabeli.
01649 Operacja na puli buforów została ukończona, lecz odniesie skutek dopiero po
ponownym uruchomieniu bazy danych.
01650 Statystyki indeksu i tabeli są niespójne.

682 Komunikaty, tom 2


Tabela 3. Kod klasy 01: Ostrzeżenie (kontynuacja)
Wartość Znaczenie
SQLSTATE
01651 Monitor zdarzeń został pomyślnie aktywowany, ale niektóre informacje dotyczące
monitorowania mogły zostać utracone.
01652 Klauzula odseparowania jest ignorowana ze względu na kontekst instrukcji.
01653 Nadano uprawnienia użytkownikowi USER. Nie rozpatrywano grup, ponieważ nazwa
autoryzacji przekracza 8 bajtów.
01654 Pula buforów nie została uruchomiona.
01655 Monitor zdarzeń został utworzony pomyślnie, lecz istnieje już co najmniej jedna tabela
docelowa monitora zdarzeń.
01657 Operacja na puli buforów odniesie skutek dopiero po następnym uruchomieniu bazy
danych.
01665 Nazwa kolumny lub etykieta została obcięta.
01667 Widok nie może zostać użyty do optymalizacji przetwarzania zapytań.
01669 Nie zaktualizowano do końca statystyki wskazanych pseudonimów ze względu na
niespójności między schematami katalogu zdalnego i lokalnego.
01670 Nie istnieje domyślny podstawowy obszar tabel dla nowej tabeli.
01671 Środowisko określonej instrukcji buforowanej jest inne niż środowisko bieżące. Bieżące
środowisko zostanie użyte do ponownej optymalizacji podanej instrukcji.
01674 Atrybuty obszaru tabel nie są optymalne z punktu widzenia wydajności zapytań.
01675 Określono więcej obszarów tabel niż to konieczne. Dodatkowe obszary tabel zostaną
zignorowane.
01676 Operacja przesyłania została zignorowana, ponieważ ID autoryzowanego użytkownika
jest już właścicielem obiektu bazy danych.
01677 Opcje opakowania zostały zignorowane dla serwerów, dla których wtyczka jest już
zdefiniowana.
01678 Zmiany odwzorowania użytkownika dotyczą tylko tabeli w katalogu stowarzyszonym, a
nie zewnętrznego repozytorium odwzorowań użytkowników.
01679 Nie można nawiązać zaufanego połączenia dla podanego ID autoryzowanego
użytkownika.
01682 Zdolność wykorzystania zaufanego kontekstu została usunięta z niektórych, ale nie
wszystkich, ID autoryzowanego użytkownika określonych w instrukcji.
01684 Podane ustawienia narodowe nie są obsługiwane. Komunikat został zwrócony przy
użyciu angielskich ustawień narodowych.
01686 Obszar tabel jest przekształcany z typu REGULAR w typ LARGE. Aby zapewnić
obsługę identyfikatorów RID typu LARGE, należy zreorganizować lub odbudować
indeksy dla tabel w tym obszarze tabel.
01689 Kompilację SQL zakończono bez łączenia się ze źródłem danych.
0168A Treść pakietu procedury źródłowej w źródle danych nie została odnaleziona lub jest
niepoprawna.
0168C Operacja na dziesiętnej liczbie zmiennopozycyjnej dała niedokładny wynik.
0168D Operacja na dziesiętnej liczbie zmiennopozycyjnej była niepoprawna.
0168E Operacja na dziesiętnej liczbie zmiennopozycyjnej spowodowała przepełnienie lub
niedomiar.
0168F Operacja na dziesiętnej liczbie zmiennopozycyjnej spowodowała dzielenie przez zero.
0168H Produkt działa w trybie próbnym. Nie zainstalowano poprawnego klucza licencyjnego.

Rozdział 3. Komunikaty SQLSTATE 683


Tabela 3. Kod klasy 01: Ostrzeżenie (kontynuacja)
Wartość Znaczenie
SQLSTATE
0168M Zmiana parametru konfiguracyjnego bazy danych DECFLT_ROUNDING może
spowodować niezamierzone działanie.
0168O Serwer stowarzyszony odebrał ze źródła danych nieznane ostrzeżenie.
0168Q Opakowanie obsługuje wymienione bieżące wersje serwera źródła danych. Użycie
opakowania z nowszymi wersjami może spowodować powstanie błędów lub
nieoczekiwanych wyników.
0168S Zadanie nie zostało usunięte.
01H51 Komunikat interfejsu MQSeries Application Messaging Interface został obcięty.
01H52 Procedura została wykonana, ale podczas jej wykonywania wystąpił co najmniej jeden
błąd lub jedno ostrzeżenie. Dostępne są dodatkowe informacje na ten temat.
01H53 Podczas wykonywania procedury wystąpiło ostrzeżenie. Szczegółowe informacje
można uzyskać na podstawie kodu SQLCODE.
01H54 Procedura zakończyła się pomyślnie, ale napotkała błąd w formacie lub zawartości
parametru. Informacja o błędzie w wartości parametru została zwrócona w parametrze
wyjściowym.
01H55 Procedura zakończyła się pomyślnie, ale napotkała wewnętrzny błąd przetwarzania.
Informacja o błędzie wewnętrznym została zwrócona w parametrze wyjściowym.
01H56 Procedura zakończyła się pomyślnie, ale obsługuje wyższą wersję parametru niż
określona.
01H57 Procedura zwróciła dane wyjściowe dla alternatywnych ustawień narodowych zamiast
dla określonych.
01HXX Poprawne ostrzeżenie SQLSTATE zwrócone przez funkcję zdefiniowaną przez
użytkownika lub przez wywołanie (CALL) procedury zewnętrznej.

Kod klasy 02: Brak danych


Tabela 4. Kod klasy 02: Brak danych
Wartość Znaczenie
SQLSTATE
02000 Wystąpił jeden z następujących wyjątków:
v Wynikiem działania instrukcji SELECT INTO lub podselekcji instrukcji INSERT
jest pusta tabela.
v Liczba wierszy zidentyfikowanych w przeszukiwanych instrukcjach UPDATE lub
DELETE jest równa zero.
v Pozycja kursora, do której odwołuje się instrukcja FETCH znajdowała się poza
ostatnim wierszem tabeli wynikowej.
02501 Położenie kursora jest nieprawidłowe dla instrukcji FETCH dotyczącej bieżącego
wiersza.
02502 Wykryto dziurę po usunięciu lub aktualizacji
02506 Wystąpiły błędy i zostały pominięte zgodnie z klauzulą RETURN DATA UNTIL.

684 Komunikaty, tom 2


Kod klasy 07: Błąd dynamicznego SQL
Tabela 5. Kod klasy 07: Błąd dynamicznego SQL
Wartość Znaczenie
SQLSTATE
07001 Liczba zmiennych języka macierzystego nie odpowiada liczbie znaczników
parametrów.
07002 Lista parametrów wywołania lub blok sterowania jest nieprawidłowy.
07003 Instrukcja podana w instrukcji EXECUTE jest instrukcją wyboru lub nie jest w stanie
przygotowania.
07004 Dla parametrów dynamicznych wymagana jest klauzula USING lub klauzula INTO.
07005 Nazwa instrukcji kursora identyfikuje przygotowaną instrukcję, która nie może być
powiązana z kursorem.
07006 Wejściowa zmienna języka macierzystego nie może być użyta z powodu jej typu
danych.

Kod klasy 08: Wyjątek dotyczący połączenia


Tabela 6. Kod klasy 08: Wyjątek dotyczący połączenia
Wartość Znaczenie
SQLSTATE
08001 Requester aplikacji nie może ustanowić połączenia.
08002 Połączenie już istnieje.
08003 Połączenie nie istnieje.
08004 Serwer aplikacji odrzucił połączenie.
08007 Rozwiązanie transakcji nie jest znane.
08502 Instrukcja CONNECT wywołana przez uruchomiony przy pomocy instrukcji
SYNCPOINT komendy TWOPHASE proces aplikacji nie została zrealizowana,
ponieważ menedżer transakcji jest niedostępny.
08504 Wystąpił błąd w trakcie przetwarzania określonego pliku konfiguracyjnego zmiany
nazwy ścieżki.
08505 Zainicjowanie środowiska o ciągłej dostępności nie powiodło się.
08506 Połączenie zostało zerwane, lecz później nawiązane ponownie.
08507 Ponowne nawiązanie połączenia z serwerem nie powiodło się z powodu niezgodnych
poziomów wersji.

Kod klasy 09: Wyjątek dotyczący działania wyzwalanego


Tabela 7. Kod klasy 09: Wyjątek dotyczący działania wyzwalanego
Wartość Znaczenie
SQLSTATE
09000 Wyzwalana instrukcja SQL nie powiodła się.

Rozdział 3. Komunikaty SQLSTATE 685


Kod klasy 0A: Nie obsługiwana opcja
Tabela 8. Kod klasy 0A: Nie obsługiwana opcja
Wartość Znaczenie
SQLSTATE
0A001 Instrukcja CONNECT jest nieprawidłowa, ponieważ proces nie jest w stanie zdolnym
do połączenia.
0A502 Działanie lub operacja nie jest dostępna dla tej instancji bazy danych.
0A503 Z uwagi na potencjalną niespójność danych nie można skompilować stowarzyszonej
operacji wstawienia, aktualizacji lub usunięcia.

Kod klasy 0D: Niepoprawna specyfikacja typu docelowego


Tabela 9. Kod klasy 0D: Niepoprawna specyfikacja typu docelowego
Wartość Znaczenie
SQLSTATE
0D000 Specyfikacja docelowego strukturalnego typu danych jest właściwym podtypem
źródłowego strukturalnego typu danych.

Kod klasy 0E: Niepoprawna specyfikacja typu docelowego


Tabela 10. Kod klasy 0E: Niepoprawna specyfikacja listy nazw schematu
Wartość Znaczenie
SQLSTATE
0E000 Lista nazw ścieżek jest niepoprawna.

Kod klasy 0F: Nieprawidłowy znacznik


Tabela 11. Kod klasy 0F: Nieprawidłowy znacznik
Wartość Znaczenie
SQLSTATE
0F001 Zmienna zawierająca znacznik dużego obiektu (LOB) nie ma aktualnie żadnej wartości.

Kod klasy 0K: Niepoprawna instrukcja RESIGNAL


Tabela 12. Kod klasy 0K: Niepoprawna instrukcja RESIGNAL
Wartość Znaczenie
SQLSTATE
0K000 Instrukcja RESIGNAL nie występuje w obrębie procedury obsługi.

Kod klasy 0N: Błąd odwzorowania SQL/XML


Tabela 13. Kod klasy 0N: Błąd odwzorowania SQL/XML
Wartość Znaczenie
SQLSTATE
0N002 Nie można odwzorować znaku na poprawny znak XML.

686 Komunikaty, tom 2


Kod klasy 10: Błąd XQuery
Tabela 14. Kod klasy 10: Błąd XQuery
Wartość Znaczenie
SQLSTATE
10000 Błąd XQuery.
10501 W wyrażeniu XQuery brakuje przypisania statycznego lub dynamicznego komponentu
kontekstu.
10502 Wystąpił błąd w prologu wyrażenia XQuery.
10503 W wyrażeniu XQuery lub XPath zdefiniowano zduplikowaną nazwę.
10504 W deklaracji przestrzeni nazw XQuery podano niepoprawny identyfikator URI.
10505 W wyrażeniu XQuery brakuje znaku, leksemu lub klauzuli albo są one niepoprawne.
10506 W wyrażeniu XQuery występuje odwołanie do niezdefiniowanej nazwy.
10507 Podczas przetwarzania wyrażenia XPath lub XQuery wystąpił błąd typu.
10508 Wyrażenie XQuery zawiera niepoprawne wyrażenie nazwy lub wyrażenie treści.
10509 Podano nieobsługiwaną opcję języka XQuery.
10510 Literał łańcucha nie został podany jako operand wyrażenia rzutowania lub jako
argument funkcji konstruktora.
10601 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd arytmetyczny.
10602 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd rzutowania.
10603 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd obsługi znaku.
10604 Nie dostarczono kontekstu dokumentu na potrzeby przetwarzania funkcji XQuery.
10605 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd daty-godziny.
10606 Brak elementu kontekstu na potrzeby przetwarzania funkcji lub operatora XQuery.
10607 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd przestrzeni nazw.
10608 Wystąpił błąd w argumencie funkcji lub operatora XQuery.
10609 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd wyrażenia
regularnego.
10610 Podczas przetwarzania funkcji lub operatora XQuery wystąpił błąd typu.
10611 Podczas przetwarzania funkcji lub operatora XQuery wystąpił niezidentyfikowany błąd.
10701 Wyrażenie aktualizacyjne XQuery jest wykorzystywane poza klauzulą modyfikacji
wyrażenia transformacji.
10702 Wyrażenie XQuery w klauzuli modyfikacji wyrażenia transformacji nie jest
wyrażeniem aktualizacyjnym ani wyrażeniem pustej sekwencji.
10703 Węzeł docelowy podstawowego wyrażenia aktualizacyjnego XQuery jest niepoprawny.
10704 Wyrażenie transformacji XQuery zawiera niezgodne podstawowe wyrażenia
aktualizacyjne.
10705 Wyrażenie transformacji XQuery zawiera w klauzuli kopiowania wartość przypisaną,
która nie jest pojedynczym węzłem XML.
10706 Sekwencja wymiany wyrażenia zastępowania XQuery zawiera niepoprawne węzły.
10707 Wynik wyrażenia transformacji XQuery nie jest poprawną instancją modelu danych
XQuery i XPath.
10708 Wyrażenie aktualizujące XQuery wprowadza nowe wiązanie przestrzeni nazw, które
powoduje konflikty z innym wyrażeniem aktualizującym lub przestrzeniami nazw w
zasięgu węzła elementu.

Rozdział 3. Komunikaty SQLSTATE 687


Tabela 14. Kod klasy 10: Błąd XQuery (kontynuacja)
Wartość Znaczenie
SQLSTATE
10709 Zmiana nazwy węzła instrukcji przetwarzania określa nazwę QName z przedrostkiem,
który nie jest pusty.
10901 Wartość atomowa XQuery jest poza zakresem typu danych DB2 XQuery.
10902 Wartość atomowa XQuery przekracza limit długości dla operatora lub funkcji DB2
XQuery.
10903 Przekroczono wewnętrzny limit liczby zgodnych węzłów XQuery.

Kod klasy 20: Nie znaleziono opcji dla instrukcji CASE


Tabela 15. Kod klasy 20: Nie znaleziono opcji dla instrukcji CASE
Wartość Znaczenie
SQLSTATE
20000 Nie znaleziono opcji dla instrukcji CASE.

Kod klasy 21: Naruszenie liczności


Tabela 16. Kod klasy 21: Naruszenie liczności
Wartość Znaczenie
SQLSTATE
21000 Wynikiem instrukcji SELECT INTO jest tabela wynikowa zawierająca więcej niż jeden
wiersz lub wynikiem podzapytania predykatu podstawowego jest więcej niż jedna
wartość.
21501 Wielowierszowa instrukcja INSERT w tabeli odwołującej się do siebie jest
nieprawidłowa.
21502 Wielowierszowa instrukcja UPDATE klucza podstawowego jest nieprawidłowa.
21504 Wielowierszowa instrukcja DELETE dla tabeli odwołującej się do siebie z regułą
usuwania RESTRICT lub SET NULL jest nieprawidłowa.
21505 Funkcja wierszowa musi zwrócić nie więcej niż jeden wiersz.
21506 Ten sam wiersz tabeli nie może być obiektem docelowym dla więcej niż jednej operacji
aktualizacji, usuwania lub wstawiania.
21507 W wyniku instrukcji SQL określonej dla zadań administracyjnych jest więcej niż jeden
wiersz lub niepoprawna liczba kolumn.

Kod klasy 22: Wyjątek dotyczący danych


Tabela 17. Kod klasy 22: Wyjątek dotyczący danych
Wartość Znaczenie
SQLSTATE
22001 Wystąpiło prawidłowe obcięcie danych znakowych; np. wartość aktualizowana lub
wstawiana jest łańcuchem, który jest zbyt długi dla kolumny, lub wartość data-godzina
nie może być przypisana do zmiennej języka macierzystego, ponieważ jest zbyt mała.
22002 Wykryto wartość pustą lub brak parametru indykacyjnego; np. wartości pustej nie
można przypisać do zmiennej języka macierzystego, ponieważ nie określono żadnej
zmiennej indykacyjnej.
22003 Wartość numeryczna jest spoza zakresu.

688 Komunikaty, tom 2


Tabela 17. Kod klasy 22: Wyjątek dotyczący danych (kontynuacja)
Wartość Znaczenie
SQLSTATE
22004 Wartość pusta nie może być zwrócona z procedury zdefiniowanej jako PARAMETER
STYLE GENERAL ani z metody zachowującej typ wywołanej z argumentem różnym
od wartości pustej.
22007 Wykryto nieprawidłowy format zmiennej data-godzina; tzn. określono nieprawidłową
wartość lub reprezentację łańcucha.
22008 Wystąpiło przekroczenie zakresu pola data-godzina; np. operacja arytmetyczna
przeprowadzona na dacie lub datowniku daje wynik, który nie mieści się w poprawnym
zakresie dat.
2200G Najściślej określony typ jest niezgodny.
2200L Wartość XML nie jest poprawnie zbudowanym dokumentem z pojedynczym elementem
głównym.
2200M Zanalizowanie wartości jako poprawnie zbudowanego dokumentu XML lub
sprawdzenie poprawności zgodnie ze schematem XML nie powiodło się.
2200S Komentarz XML jest niepoprawny.
2200T Instrukcja przetwarzania XML jest niepoprawna.
2200W Wartość XML zawierała dane, których nie można przekształcić do postaci szeregowej.
22011 Wystąpił błąd podłańcucha; np. argument instrukcji SUBSTR jest spoza zakresu.
22012 Dzielenie przez zero jest nieprawidłowe.
22018 Wartość znakowa dla funkcji skalarnych CAST, DECIMAL, FLOAT lub INTEGER jest
nieprawidłowa.
22019 Predykat LIKE ma nieprawidłowy znak ESC.
22021 Brak znaku w zestawie znaków kodowanych.
22024 Wejściowa zmienna języka macierzystego lub parametr zakończony znakiem NUL nie
zawiera NUL.
22025 Wzór łańcucha predykatu LIKE zawiera nieprawidłowo użyty znak ESC.
2202D Instancja o wartości pustej jest używana z metodą mutator.
2202E Błąd elementu tablicy.
2202F Prawostronne obcięcie danych tablicy.
2202H Przykładowa wielkość w klauzuli TABLESAMPLE jest niepoprawna.
22501 Pole kontrolne długości łańcucha o zmiennej długości ma wartość ujemną lub jest
większe niż wartość maksymalna.
22504 Wartość mieszanych danych jest nieprawidłowa.
22506 Odwołanie do specjalnego rejestru data-godzina jest nieprawidłowe, ponieważ zegar
TOD źle funkcjonuje lub parametr strefy czasowej systemu operacyjnego jest spoza
zakresu.
22522 Wartość identyfikatora kodowanego zestawu znaków (CCSID) nie jest poprawna w
ogóle, albo nie jest poprawna dla określonego typu lub podtypu danych albo nie jest
poprawna dla schematu kodowania.
22525 Wartość klucza partycjonowania danych jest niepoprawna.
22526 Funkcja transformacji kluczy nie wygenerowała żadnych lub wygenerowała klucze
zduplikowane.
22527 Wykryto niepoprawne dane wejściowe operacji wstawiania wielowierszowego.
22531 Argument procedury wbudowanej lub udostępnionej przez system spowodował błąd.
22532 W repozytorium schematów XML nie znaleziono obiektu XSROBJECT.

Rozdział 3. Komunikaty SQLSTATE 689


Tabela 17. Kod klasy 22: Wyjątek dotyczący danych (kontynuacja)
Wartość Znaczenie
SQLSTATE
22533 W repozytorium schematów XML nie znaleziono unikalnego obiektu XSROBJECT.
22534 Dokument schematu XML nie jest połączony z innymi dokumentami schematów XML
przy użyciu słowa kluczowego include lub redefine.
22535 W schemacie XML nie jest zadeklarowany podany element globalny.
22536 Wartość XML nie zawiera wymaganego elementu głównego.
22538 Aktualizacja schematu XML jest niezgodna z istniejącym schematem XML.
225D1 Podany schemat XML nie umożliwia dekompozycji.
225D2 Wystąpił błąd SQL podczas dekompozycji dokumentu XML.
225D3 Podczas dekompozycji dokumentu XML napotkano wartość, która jest niepoprawna dla
typu schematu XML.
225D4 Podczas dekompozycji dokumentu XML napotkano wartość, która jest niepoprawna dla
docelowego typu SQL.
225D5 Podczas dekompozycji dokumentu XML napotkano węzeł XML nieznany lub
niepoprawny w danym kontekście.
225D6 Podany schemat XML wymaga migracji do bieżącej wersji w celu obsługi
dekompozycji.
225D7 Podczas dekompozycji dokumentu XML napotkano element główny, który nie jest
elementem globalnym typu zespolonego w schemacie XML.
225DE Nie można aktywować schematu XML w celu dekompozycji.
225X0 Procesor XSLT zwrócił błąd.

Kod klasy 23: Naruszenie ograniczenia


Tabela 18. Kod klasy 23: Naruszenie ograniczenia
Wartość Znaczenie
SQLSTATE
23001 Aktualizacja lub usuwanie klucza nadrzędnego jest zabezpieczone przez opcję
RESTRICT dla aktualizacji lub przez regułę usuwania.
23502 Wartość aktualizacji lub wstawiania jest wartością pustą, a kolumna nie może zawierać
wartości pustych.
23503 Wartość aktualizacji lub wstawiania dla klucza obcego jest nieprawidłowa.
23504 Aktualizacja lub usuwanie klucza nadrzędnego jest zabezpieczone przez opcję NO
ACTION dla aktualizacji lub przez regułę usuwania.
23505 Wystąpiło naruszenie ograniczenia narzuconego przez indeks unikalny lub ograniczenie
przez unikalność (UNIQUE).
23510 Wystąpiło narzucenie ograniczenia przez tabelę RLST na używanie komendy.
23511 Nie można usunąć wiersza nadrzędnego, ponieważ ograniczenie sprawdzenia (CHECK)
zabezpiecza przed usunięciem.
23512 Ograniczenie sprawdzenia (CHECK) nie może być dodane, ponieważ tabela zawiera
wiersze, które nie spełniają definicji ograniczenia.
23513 Wiersz wynikowy instrukcji INSERT lub UPDATE nie jest zgodny z definicją
ograniczenia sprawdzenia (CHECK).
23514 Podczas procesu sprawdzania danych wystąpiło naruszenie ograniczeń.

690 Komunikaty, tom 2


Tabela 18. Kod klasy 23: Naruszenie ograniczenia (kontynuacja)
Wartość Znaczenie
SQLSTATE
23515 Indeks unikalny nie może być utworzony lub ograniczenie przez unikalność (UNIQUE)
nie może być dodane, ponieważ tabela zawiera powtórzone wartości podanego klucza.
23520 Klucz obcy nie może być zdefiniowany, ponieważ wszystkie jego wartości różnią się od
wartości klucza nadrzędnego w tabeli nadrzędnej.
23521 Aktualizacja tabeli katalogu narusza ograniczenia wewnętrzne.
23522 Zakres wartości dla kolumny lub sekwencji tożsamości został przekroczony.
23523 Podano niepoprawną wartość dla kolumny etykiet bezpieczeństwa.
23524 Niepoprawne przeniesienie wiersza w widoku typu UNION ALL.
23525 Nie można wstawić ani zaktualizować wartości XML, ponieważ podczas wstawiania
lub aktualizacji indeksu dla kolumny XML wykryto błąd.
23526 Nie można utworzyć indeksu dla kolumny XML, ponieważ wykryto błąd podczas
wstawiania wartości XML do indeksu.

Kod klasy 24: Nieprawidłowy stan kursora


Tabela 19. Kod klasy 24: Nieprawidłowy stan kursora
Wartość Znaczenie
SQLSTATE
24501 Podany kursor nie jest otwarty.
24502 Kursor podany w instrukcji OPEN został już otwarty.
24504 Kursor podany w instrukcji UPDATE, DELETE, SET lub GET nie jest ustawiony na
wiersz.
24506 Instrukcja podana w PREPARE dotyczy otwartego kursora.
24510 Próbowano wykonać operację UPDATE lub DELETE w odniesieniu do dziury po
usunięciu lub dziury po aktualizacji.
24512 Wynikowa tabela nie zgadza się z tabelą bazową.
24513 Instrukcja FETCH NEXT, PRIOR, CURRENT lub RELATIVE jest niedozwolona z
powodu nieznanej pozycji kursora.
24514 Poprzedni błąd unieruchomił (zablokował) kursor.
24516 Kursor został już przypisany do tabeli wynikowej.
24517 Zewnętrzna funkcja lub metoda pozostawiła otwarty kursor.

Kod klasy 25: Nieprawidłowy stan transakcji


Tabela 20. Kod klasy 25: Nieprawidłowy stan transakcji
Wartość Znaczenie
SQLSTATE
25000 Operacja wstawiania, aktualizowania lub usuwania jest niepoprawna w kontekście, w
którym została użyta.
25001 Instrukcja może wystąpić jedynie jako pierwsza instrukcja w jednostce pracy.
25501 Instrukcja może wystąpić jedynie jako pierwsza instrukcja w jednostce pracy.
25502 Operacja nie może występować wielokrotnie w ramach pojedynczej transakcji.

Rozdział 3. Komunikaty SQLSTATE 691


Kod klasy 26: Nieprawidłowy identyfikator instrukcji SQL
Tabela 21. Kod klasy 26: Nieprawidłowy identyfikator instrukcji SQL
Wartość Znaczenie
SQLSTATE
26501 Podana instrukcja nie istnieje.

Kod klasy 27: Naruszenie wyzwalanej zmiany danych


Tabela 22. Kod klasy 27: Naruszenie wyzwalanej zmiany danych
Wartość Znaczenie
SQLSTATE
27000 W ramach tej samej instrukcji SQL próbowano więcej niż jeden raz zmienić ten sam
wiersz w tej samej tabeli.

Kod klasy 28: Nieprawidłowa specyfikacja uprawnień


Tabela 23. Kod klasy 28: Nieprawidłowa specyfikacja uprawnień
Wartość Znaczenie
SQLSTATE
28000 Nieprawidłowa nazwa uprawnienia.

Kod klasy 2D: Nieprawidłowe zakończenie transakcji


Tabela 24. Kod klasy 2D: Nieprawidłowe zakończenie transakcji
Wartość Znaczenie
SQLSTATE
2D521 Instrukcje SQL COMMIT lub ROLLBACK są nieprawidłowe w bieżącym środowisku
operacyjnym.
2D522 W atomowej instrukcji złożonej nie są dozwolone instrukcje COMMIT i ROLLBACK.
2D528 Dynamiczna instrukcja COMMIT jest nieprawidłowa dla środowiska uruchamiania
aplikacji.
2D529 Dynamiczna instrukcja ROLLBACK jest nieprawidłowa dla środowiska uruchamiania
aplikacji.

Kod klasy 2E: Nieprawidłowa nazwa połączenia


Tabela 25. Kod klasy 2E: Nieprawidłowa nazwa połączenia
Wartość Znaczenie
SQLSTATE
2E000 Nieprawidłowa nazwa połączenia.

Kod klasy 34: Nieprawidłowa nazwa kursora


Tabela 26. Kod klasy 34: Nieprawidłowa nazwa kursora
Wartość Znaczenie
SQLSTATE
34000 Nieprawidłowa nazwa kursora.

692 Komunikaty, tom 2


Kod klasy 36: Niepoprawna specyfikacja kursora
Tabela 27. Kod klasy 36: Niepoprawna specyfikacja kursora
Wartość Znaczenie
SQLSTATE
36001 Dla podanej instrukcji Select nie można zdefiniować kursora typu SENSITIVE.

Kod klasy 38: Wyjątek dotyczący funkcji zewnętrznej


Tabela 28. Kod klasy 38: Wyjątek dotyczący funkcji zewnętrznej
Wartość Znaczenie
SQLSTATE
38XXX Poprawne błędy SQLSTATE zwrócone przez zewnętrzną procedurę lub przez
wyzwalacz.
38001 Procedura zewnętrzna nie ma możliwości uruchamiania instrukcji SQL.
38002 Procedura zewnętrzna usiłowała zmodyfikować dane, ale procedura ta nie została
zdefiniowana jako MODIFIES SQL DATA.
38003 Instrukcja ta nie jest dozwolona w procedurze.
38004 Procedura zewnętrzna usiłowała odczytać dane, ale procedura ta nie została
zdefiniowana jako READS SQL DATA.
38501 Błąd wystąpił podczas wywoływania funkcji zdefiniowanej przez użytkownika,
zewnętrznej procedury lub wyzwalacza (używanie konwencji wywoływania SIMPLE
CALL lub SIMPLE CALL WITH NULLS).
38502 Funkcja zewnętrzna nie ma możliwości uruchamiania instrukcji SQL.
38503 Funkcja zdefiniowana przez użytkownika zakończyła się nieprawidłowo (abend).
38504 Funkcja zdefiniowana przez użytkownika została przerwana przez użytkownika, aby
zatrzymać prawdopodobny stan zapętlenia.
38505 W procedurze końcowego wywołania nie jest dozwolone użycie instrukcji SQL.
38506 Wykonanie funkcji nie powiodło się z błędem od dostawcy OLE DB.
38552 Funkcja w schemacie SYSFUN (dostarczanym przez IBM) zakończyła się
nieprawidłowo.

W tekście komunikatu znajduje się jeden z następujących kodów przyczyny:


01 wartość numeryczna spoza zakresu,
02 dzielenie przez zero,
03 arytmetyczny niedomiar lub przekroczenie zakresu,
04 niepoprawny format daty,
05 niepoprawny format godziny,
06 niepoprawny format datownika,
07 niepoprawna reprezentacja znakowa przedziału datownika,
08 niepoprawny typ przerwania (dopuszczalne to: 1, 2, 4, 8, 16, 32, 64, 128,
256),
09 zbyt długi łańcuch,
10 długość lub pozycja funkcji łańcucha spoza zakresu,
11 niepoprawna reprezentacja znakowa liczby zmiennopozycyjnej.

Rozdział 3. Komunikaty SQLSTATE 693


Tabela 28. Kod klasy 38: Wyjątek dotyczący funkcji zewnętrznej (kontynuacja)
Wartość Znaczenie
SQLSTATE
38553 Wykonanie procedury w schemacie systemowym zakończyło się błędem.
38554 Procedura napotkała nieobsługiwany numer wersji parametru.
38H01 Nie powiodła się inicjacja funkcji MQSeries.
38H02 Interfejsowi MQSeries Application Messaging Interface nie udało się zakończyć sesji.
38H03 Interfejsowi MQSeries Application Messaging Interface nie udało się prawidłowo
przetworzyć komunikatu.
38H04 Interfejsowi MQSeries Application Messaging Interface nie udało się wysłać
komunikatu.
38H05 Interfejsowi MQSeries Application Messaging Interface nie udało się odczytać lub
odebrać komunikatu.
38H06 Nie powiodło się żądanie subskrypcji (lub anulowania subskrypcji) interfejsu MQSeries
Application Messaging Interface.
38H07 Interfejs MQSeries Application Messaging Interface nie mógł zatwierdzić jednostki
pracy.
38H08 Błąd strategii interfejsu MQSeries Application Messaging Interface.
38H09 Błąd wywołania API MQSeries XA (zatwierdzanie dwufazowe).
38H0A Interfejs MQSeries Application Messaging Interface nie mógł wycofać zmian
związanych z jednostką pracy.
38H10 Podczas przetwarzania wyszukiwania tekstu wystąpił błąd.
38H11 Nie jest dostępna obsługa wyszukiwania tekstu.
38H12 Wyszukiwanie tekstu w kolumnie nie jest dozwolone, ponieważ w kolumnie nie istnieje
indeks wyszukiwania tekstu.
38H13 Dla tego samego indeksu wyszukiwania tekstu uruchomiona jest procedura lub
komenda administracyjna serwera wyszukiwania, która powoduje konflikt.
38H14 Błąd procedury lub komendy administracyjnej serwera wyszukiwania.

Kod klasy 39: Wyjątek podczas wywołania funkcji zewnętrznej


Tabela 29. Kod klasy 39: Wyjątek podczas wywołania funkcji zewnętrznej
Wartość Znaczenie
SQLSTATE
39001 Funkcja zdefiniowana przez użytkownika zwróciła nieprawidłową instrukcję
SQLSTATE.
39004 Wartość pusta jest niedozwolona dla argumentów IN i INOUT.
39501 Znaczek powiązany z argumentem został zmodyfikowany.

Kod klasy 3B: Niepoprawna wartość SAVEPOINT


Tabela 30. Kod klasy 3B: Niepoprawna wartość SAVEPOINT
Wartość Znaczenie
SQLSTATE
3B001 Punkt zapisu jest niepoprawny.
3B002 Osiągnięta została maksymalna liczba punktów zapisu.
3B501 Wykryto zduplikowaną nazwę punktu zapisu.

694 Komunikaty, tom 2


Tabela 30. Kod klasy 3B: Niepoprawna wartość SAVEPOINT (kontynuacja)
Wartość Znaczenie
SQLSTATE
3B502 Określono instrukcję RELEASE lub ROLLBACK TO SAVEPOINT, ale punkt zapisu
nie istnieje.
3B503 Instrukcje SAVEPOINT, RELEASE SAVEPOINT i ROLLBACK TO SAVEPOINT nie
są dozwolone w wyzwalaczu ani w transakcji globalnej.

Kod klasy 40: Wycofanie zmian w transakcji


Tabela 31. Kod klasy 40: Wycofanie zmian w transakcji
Wartość Znaczenie
SQLSTATE
40001 Podczas automatycznego wycofywania zmian nastąpiło zakleszczenie lub przekroczenie
czasu.
40003 Zakończenie instrukcji jest nieznane.
40504 Błąd systemowy spowodował wycofanie jednostki pracy.
40506 Bieżąca transakcja została wycofana z powodu błędu SQL.
40507 Bieżąca transakcja została wycofana z powodu błędu przy tworzeniu indeksu.

Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu
Wartość Znaczenie
SQLSTATE
42501 ID autoryzowanego użytkownika nie ma prawa do przeprowadzenia określonej operacji
na podanym obiekcie.
42502 ID autoryzowanego użytkownika nie ma prawa do przeprowadzenia operacji według
podanych specyfikacji.
42504 Określone uprawnienie, etykieta bezpieczeństwa, wyłączenie z reguły lub rola nie może
być odebrana danej nazwie autoryzacji.
42506 Wystąpił błąd uprawnienia właściciela.
42508 Określone uprawnienia do bazy danych nie mogą być nadane grupie PUBLIC.
42509 Instrukcja SQL nie jest autoryzowana z powodu opcji STATICRULES.
42511 Nie można pobrać wartości DATALINK.
42512 ID autoryzowanego użytkownika nie ma dostępu do chronionej kolumny.
42514 ID autoryzowanego użytkownika nie ma uprawnienia niezbędnego do bycia
właścicielem obiektu.
42516 Uwierzytelnianie w repozytorium odwzorowań użytkowników nie powiodło się.
42517 Podany ID autoryzowanego użytkownika nie może używać zaufanego kontekstu.
42519 ID autoryzowanego użytkownika nie ma zezwolenia na wykonanie operacji na
chronionej tabeli.
42520 Wbudowanej funkcji nie można wykonać, ponieważ ID autoryzowanego użytkownika
nie ma etykiety bezpieczeństwa.
42521 Podanemu ID autoryzowanego użytkownika nie można nadać uprawnienia lub
uprawnienia grupowego.

Rozdział 3. Komunikaty SQLSTATE 695


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42522 ID autoryzowanego użytkownika nie ma referencji do ustanowienia lub usunięcia
ochrony kolumny.
42601 Znak, element lub instrukcja jest nieprawidłowa lub jej brakuje.
42602 Wykryto nieprawidłowy znak w nazwie.
42603 Wykryto stałą łańcuchową bez znaku końca.
42604 Wykryto nieprawidłową stałą numeryczną lub łańcuchową.
42605 Liczba argumentów określonych dla funkcji skalarnej jest nieprawidłowa.
42606 Wykryto nieprawidłową stałą szesnastkową.
42607 Operand funkcji kolumnowej jest nieprawidłowy.
42608 Nieprawidłowe użycie wartości NULL lub DEFAULT w instrukcji VALUES lub
nieprawidłowa instrukcja przypisania.
42609 Wszystkie operandy operatora lub predykatu są znacznikami parametru.
42610 Znacznik parametru jest niedozwolony.
42611 Kolumna, argument, parametr lub definicja zmiennej globalnej jest niepoprawna.
42612 Łańcuch instrukcji jest instrukcją SQL, której nie można zaakceptować w kontekście, w
jakim wystąpiła.
42613 Instrukcje wykluczają się wzajemnie.
42614 Powtórzenie parametru jest nieprawidłowe.
42615 Wykryto nieprawidłową alternatywę.
42616 Określono niepoprawne opcje.
42617 Łańcuch instrukcji nie zawiera informacji lub jest pusty.
42618 Zmienna języka macierzystego jest niedozwolona.
42620 Atrybutu SCROLL typu tylko do odczytu użyto z klauzulą UPDATE.
42621 Ograniczenie sprawdzenia (CHECK) jest nieprawidłowe.
42622 Nazwa lub etykieta jest zbyt długa.
42623 Nie można określić klauzuli DEFAULT.
42625 Wyrażenie CASE jest nieprawidłowe.
42627 Klauzulę RETURNS należy podać przed określeniem predykatu przy użyciu klauzuli
EXPRESSION AS.
42628 Funkcja transformacji TO SQL lub FROM SQL jest zdefiniowana więcej niż raz w
definicji transformacji.
42629 Dla procedur SQL muszą być określone nazwy parametrów.
42630 Deklaracja zmiennej SQLSTATE lub SQLCODE nie może występować w
zagnieżdżonej instrukcji złożonej.
42631 Instrukcja RETURN w funkcji lub metodzie SQL musi zawierać wartość zwracaną.
42633 Argument operatora XMLATTRIBUTES lub XMLFOREST wymaga użycia klauzuli
AS.
42634 Nazwa XML nie jest poprawna.
42635 Przedrostek przestrzeni nazw XML nie jest poprawny.
42636 Brak klauzuli BY REF lub jest ona używana niepoprawnie.
42637 W instrukcji DECLARE CURSOR nie można użyć wyrażenia XQuery.

696 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42701 Wykryto powieloną nazwę kolumny w operacji wstawienia lub aktualizacji albo
instrukcję SET dla zmiennej przejściowej.
42702 Odwołanie kolumny jest niejednoznaczne z powodu powtórzonych nazw.
42703 Wykryto niezdefiniowaną nazwę kolumny, atrybutu lub parametru.
42704 Wykryto niezdefiniowany obiekt lub nazwę ograniczenia.
42705 Wykryto niezdefiniowaną nazwę serwera.
42707 Nazwa kolumny w instrukcji ORDER BY nie odpowiada kolumnie w tabeli wynikowej.
42709 Na liście kolumn klucza podano zduplikowaną nazwę kolumny.
42710 Wykryto powtórzony obiekt lub nazwę ograniczenia.
42711 W definicji obiektu lub w instrukcji ALTER wykryto powtórzoną nazwę kolumny lub
atrybutu.
42712 Wykryto powtórzony specyfikator tabeli w klauzuli FROM.
42713 Na liście obiektów wykryto powielony obiekt.
42720 W katalogu węzłów nie znaleziono nazwy węzła zdalnej bazy danych.
42723 W schemacie istnieje już funkcja z taką samą sygnaturą.
42724 Brak dostępu do programu zewnętrznego używanego przez funkcję zdefiniowaną przez
użytkownika lub przez procedurę.
42725 Napotkano bezpośrednie (a nie przy użyciu sygnatury lub konkretnej nazwy instancji)
odwołanie do procedury, ale istnieje wiele instancji tej procedury.
42726 Wykryto powtórzone nazwy dla nazwanych tabel pochodnych.
42727 Nie istnieje główny domyślny obszar tabel dla nowej tabeli.
42728 W definicji grupy węzłów wykryto powtórzony węzeł.
42729 Węzeł nie jest zdefiniowany.
42730 Nazwa kontenera jest już używana przez inny obszar tabel.
42731 Nazwa kontenera jest już używana przez ten obszar tabel.
42732 W instrukcji SET CURRENT PATH wykryto powtórzoną nazwę schematu.
42734 Wykryto duplikat nazwy-parametru, nazwy-zmiennej SQL, nazwy kursora, nazwy
warunku lub etykiety.
42735 Dla obszaru buforów nie została zdefiniowana grupa węzłów dla obszaru tabel.
42736 Etykieta określona w instrukcji LEAVE nie została znaleziona lub nie jest poprawna.
42737 Warunek określony w procedurze obsługi nie jest zdefiniowany.
42738 W instrukcji DECLARE CURSOR instrukcji FOR podano zduplikowaną nazwę
kolumny lub kolumnę bez nazwy.
42739 Wykryto zduplikowaną transformację.
42740 Nie znaleziono żadnych transformacji dla określonego typu. Żadne przekształcenie nie
zostało usunięte.
42741 Nie zdefiniowano grupy transformacji dla typu danych.
42742 W tabel lub w hierarchii widoków o typie strukturalnym istnieje już podtabela lub
podwidok tego samego typu.
42743 W rozszerzeniu indeksu nie znaleziono metody wyszukiwania.
42744 Funkcja transformacji TO SQL lub FROM SQL nie jest zdefiniowana w grupie
transformacji.

Rozdział 3. Komunikaty SQLSTATE 697


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42745 Procedura ta określiłaby związek przesłaniania z istniejącą metodą.
42746 Nazwa metody nie może być taka sama, jak nazwa typu strukturalnego w obrębie tej
samej hierarchii typów.
42748 Ścieżka pamięci masowej bazy danych już istnieje albo została określona więcej niż
jeden raz.
42749 Dla schematu XML już istnieje dokument z tą samą docelową przestrzenią nazw i
położeniem schematu.
4274A W repozytorium schematów XML nie znaleziono obiektu XSROBJECT.
4274B W repozytorium schematów XML nie znaleziono unikalnego obiektu XSROBJECT.
4274C W zaufanym kontekście nie znaleziono podanego atrybutu.
4274D Podany atrybut już istnieje w zaufanym kontekście.
4274F W komponencie etykiety bezpieczeństwa nie zdefiniowano elementu komponentu.
4274G W strategii używanej przez daną etykietę bezpieczeństwa nie zdefiniowano komponentu
etykiety bezpieczeństwa.
4274H Podana reguła dostępu nie istnieje w podanej strategii bezpieczeństwa.
4274I Dla podanej strategii bezpieczeństwa nie istnieje etykieta bezpieczeństwa.
4274J Grupa partycji bazy danych została już przypisana do tej puli buforów.
42802 Ilość wartości wstawianych lub aktualizowanych nie jest równa ilości kolumn.
42803 Odwołanie kolumny w klauzuli SELECT lub HAVING jest nieprawidłowe, ponieważ
nie jest to kolumna grupująca lub odwołanie kolumny w klauzuli GROUP BY jest
nieprawidłowe.
42804 Wyrażenia wynikowe w wyrażeniu CASE nie są zgodne.
42805 Liczba całkowita w klauzuli ORDER BY nie odpowiada kolumnie w tabeli wynikowej.
42806 Wartość nie może być przypisana do zmiennej języka macierzystego, ponieważ typy
danych nie są zgodne.
42807 Instrukcje INSERT, UPDATE lub DELETE nie są dozwolone dla tego obiektu.
42808 Kolumna wskazana w operacji wstawienia lub aktualizacji nie pozwala na
wprowadzanie modyfikacji.
42809 Podany obiekt nie jest typem obiektu, do którego odnosi się instrukcja.
42810 W klauzuli FOREIGN KEY nie została określona tabela bazowa.
42811 Podana liczba kolumn nie jest równa liczbie kolumn w klauzuli SELECT.
42813 Opcja WITH CHECK OPTION nie może być użyta dla podanego widoku.
42814 Nie można usunąć kolumny, ponieważ jest to jedyna kolumna w tabeli.
42815 Nieprawidłowy typ danych, długość, skala, wartość lub identyfikator CCSID.
42816 Nieprawidłowa wartość data-godzina lub przedział czasu w wyrażeniu.
42817 Kolumny nie można usunąć, ponieważ zależy od niej widok lub reguła ograniczająca i
został określony parametr RESTRICT albo kolumna jest częścią klucza
partycjonowania lub kolumną etykiety bezpieczeństwa.
42818 Operandy operatora lub funkcji są niezgodne lub nieporównywalne.
42819 Operand operacji arytmetycznej lub operand funkcji, który musi być liczbą, nie jest
liczbą.
42820 Stała numeryczna jest zbyt długa lub ma wartość, która nie mieści się w zakresie dla
tego typu danych.

698 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42821 Wartość wstawiana lub aktualizowana nie jest zgodna z kolumną.
42823 Z podzapytania dopuszczającego tylko jedną kolumnę zwracanych jest wiele kolumn.
42824 Operand operacji LIKE nie jest łańcuchem lub pierwszy operand nie jest kolumną.
42825 Wiersze klauzuli UNION, INTERSECT, EXCEPT lub VALUES nie mają zgodnych
kolumn.
42826 Wiersze klauzuli UNION, INTERSECT, EXCEPT lub VALUES nie mają takiej samej
ilości kolumn.
42827 Tabela podana w instrukcji UPDATE lub DELETE nie jest tabelą wskazywaną przez
kursor.
42828 Tabela wskazywana przez kursor instrukcji UPDATE lub DELETE nie może być
modyfikowana lub kursor jest w trybie tylko do odczytu (read-only).
42829 Klauzula FOR UPDATE OF jest nieprawidłowa, ponieważ tabela wynikowa
wskazywana przez kursor nie może być zmodyfikowana.
42830 Klucz obcy nie jest zgodny z opisem klucza nadrzędnego.
42831 Kolumna klucza podstawowego, klucza unikalnego, ROWID lub ROW CHANGE
TIMESTAMP nie zezwala na wartości puste.
42832 Operacja nie może być przeprowadzana na obiektach systemowych.
42834 Nie można użyć instrukcji SET NULL, ponieważ żadnej kolumnie klucza obcego nie
można przypisać wartości pustej.
42835 Cykliczne odwołania nie mogą być określone pomiędzy nazwanymi tabelami
pochodnych.
42836 Specyfikacja rekurencyjnej nazwanej tabeli pochodnej jest nieprawidłowa.
42837 Nie można zmodyfikować kolumny, ponieważ jej atrybuty nie są zgodne z bieżącymi
atrybutami kolumny.
42838 Nieprawidłowe użycie obszaru tabel.
42839 Indeksy i długie kolumny nie mogą znajdować się w obszarach tabel innych niż tabela.
42840 Wykryto nieprawidłowe użycie opcji AS CAST.
42841 Typ znacznika parametru nie może być typem zdefiniowanym przez użytkownika ani
typem odwołania.
42842 Definicja kolumny jest nieprawidłowa, ponieważ określona opcja jest niezgodna z
opisem kolumny.
42845 Wykryto nieprawidłowe użycie funkcji VARIANT lub EXTERNAL ACTION.
42846 Rzutowanie z typu źródłowego do typu docelowego nie jest możliwe.
42849 Podana opcja nie jest obsługiwana w przypadku procedur zewnętrznych.
42852 Uprawnienia określone w klauzulach GRANT lub REVOKE są nieprawidłowe lub
sprzeczne. (Na przykład, klauzula GRANT ALTER dla widoku).
42853 Podano oba elementy alternatywne opcji lub tą samą opcję podano więcej niż raz.
42854 Na liście selekcji typ danych kolumny wynikowej jest niezgodny ze zdefiniowanym
widokiem określonego typu lub z definicją dla zmaterializowanej tabeli zapytania.
42855 Przypisanie dużego obiektu (LOB) do tej zmiennej języka macierzystego nie jest
dopuszczalne. Docelowa zmienna języka macierzystego dla wszystkich ładowań tej
wartości dużego obiektu (LOB) dla danego kursora musi być wskaźnikiem lub zmienną
LOB.
42858 Nie można wykonać operacji na podanym obiekcie.

Rozdział 3. Komunikaty SQLSTATE 699


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42863 W instrukcji REXX wykryto niezdefiniowaną zmienną języka macierzystego.
42866 Typ danych w klauzuli RETURNS lub klauzuli CAST FROM instrukcji CREATE
FUNCTION nie jest odpowiedni dla typu danych zwróconego przez funkcję źródłową
lub instrukcję RETURN w ciele funkcji.
42867 Określono opcje, dla których występuje konflikt.
42872 Klauzule instrukcji FETCH nie są zgodne z definicją kursora.
42875 Obiekt, który ma być utworzony przy pomocy instrukcji CREATE SCHEMA musi
mieć ten sam kwalifikator, co nazwa schematu.
42877 Nazwa kolumny nie może być kwalifikowana.
42878 Użyto nieprawidłowej nazwy procedury lub funkcji wraz z parametrem EXTERNAL.
42879 Typ danych jednego lub więcej parametrów wejściowych w instrukcji CREATE
FUNCTION nie jest odpowiedni dla odpowiadającego mu typu danych funkcji
źródłowej.
42880 Typy danych CAST TO i CAST FROM nie są zgodne lub będą kończyły się obcięciem
stałego łańcucha.
42881 Nieprawidłowe użycie funkcji wierszowej.
42882 Określony kwalifikator nazwy instancji nie jest równy kwalifikatorowi nazwy funkcji.
42883 Nie znaleziono żadnej procedury ze zgodną sygnaturą.
42884 Nie znaleziono procedury o określonej nazwie i ze zgodnymi argumentami.
42885 Liczba parametrów wejściowych określona w instrukcji CREATE FUNCTION nie jest
równa ilości zadeklarowanej przez funkcję nazwaną w klauzuli SOURCE.
42886 Atrybuty parametru IN, OUT lub INOUT nie są zgodne.
42887 Funkcja jest nieprawidłowa w kontekście, w którym występuje.
42888 Tabela nie ma klucza podstawowego.
42889 Tabela ma już klucz podstawowy.
42890 Lista kolumn została określona w klauzuli odwołania, ale podana tabela nadrzędna nie
ma ograniczenia przez unikalność z określonymi nazwami kolumn.
42891 Powtórzone ograniczenie UNIQUE już istnieje.
42893 Nie można usunąć, zmienić ani przekazać obiektu lub ograniczenia, nie można także
odwołać uprawnień do obiektu, ponieważ istnieją obiekty zależne od tego obiektu.
42894 Wartość DEFAULT jest nieprawidłowa.
42895 Dla statycznego SQL wejściowa zmienna języka macierzystego nie może być użyta,
ponieważ jej typ danych nie jest zgodny z parametrem procedury lub funkcją
zdefiniowaną przez użytkownika.
428A0 Błąd funkcji źródłowej, na której bazuje funkcja zdefiniowana przez użytkownika.
428A1 Brak możliwości dostępu do pliku, do którego odwołuje się zmienna plikowa hosta.
428A2 Nie można przypisać tabel do wielowęzłowej grupy węzłów, ponieważ nie ma ona
klucza partycjonowania.
428A3 Dla monitora zdarzeń określono nieprawidłową ścieżkę.
428A4 Dla opcji monitora zdarzeń określono nieprawidłową wartość.
428A5 Tabela wyjątków określona w instrukcji SET INTEGRITY albo nie ma właściwej
struktury, albo została zdefiniowana przy użyciu wygenerowanych kolumn, ograniczeń
lub wyzwalaczy.

700 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
428A6 Tabela wyjątków określona w instrukcji SET INTEGRITY nie może być taka sama, jak
jedna z tabel sprawdzanych.
428A7 Występuje niezgodność między liczbą obecnie sprawdzanych tabel a liczbą tabel
wyjątków podanych w instrukcji SET INTEGRITY.
428A8 Nie można zresetować stanu oczekiwania na ustawienie integralności przy użyciu
instrukcji SET INTEGRITY dla tabeli podrzędnej, gdy tabela nadrzędna lub tabela
bazowa znajduje się w stanie oczekiwania na ustawienie integralności.
428A9 Zakres węzła jest niepoprawny.
428AA Nazwa kolumny nie określa poprawnej kolumny tabeli monitora zdarzeń.
428B0 Niedozwolone zagnieżdżenie ROLLUP, CUBE lub GROUPING SETS.
428B1 Niepoprawna liczba specyfikacji kontenera obszaru tabel, które nie oznaczają
określonych węzłów.
428B2 Nieprawidłowa nazwa ścieżki dla kontenera.
428B3 Określono niepoprawny kod SQLSTATE.
428B7 Liczba podana w instrukcji SQL nie należy do poprawnego zakresu.
428BO Nie było możliwe utworzenie żadnego planu dla stowarzyszonego źródła danych.
428C0 Węzeł nie może być usunięty, ponieważ jest to jedyny węzeł w grupie węzłów.
428C1 Typ danych lub atrybut kolumny może być określony tylko raz dla tabeli.
428C2 Po sprawdzeniu ciała funkcji okazało się, że dana klauzula powinna zostać podana w
instrukcji CREATE FUNCTION.
428C4 Liczba elementów po obu stronach operatora predykatu jest różna.
428C5 Nie znaleziono odwzorowania dla typu danych ze źródła danych.
428C9 Kolumna ROWID nie może być określona jako kolumna docelowa instrukcji INSERT
lub UPDATE.
428CA Tabela w trybie dołączania nie może mieć indeksów klastrowych.
428CB Wielkość strony obszaru tabel musi odpowiadać wielkości strony powiązanej z nim puli
buforów.
428D1 Nie można uzyskać dostępu do pliku przez wartość DATALINK.
428D4 W instrukcjach OPEN, CLOSE i FETCH nie może być odwołania do kursora
określonego w instrukcji FOR.
428D5 Etykieta końcowa nie odpowiada etykiecie początkowej.
428D6 Instrukcja UNDO nie jest dozwolona dla instrukcji NOT ATOMIC.
428D7 Wartość warunku nie jest dozwolona.
428D8 Deklaracja lub użycie zmiennej SQLSTATE lub SQLCODE jest niepoprawne.
428DB Obiekt nie jest prawidłowym typem nadrzędnym, tabelą nadrzędną lub widokiem
nadrzędnym.
428DC Określona funkcja lub metoda nie jest poprawnym transformatorem dla określonego
typu.
428DD Żądana transformacja nie jest zdefiniowana.
428DE Wartość PAGESIZE nie jest obsługiwana.
428DF Typy danych podane w klauzuli CREATE CAST są nieprawidłowe.
428DG Funkcja podana w klauzuli CREATE CAST jest nieprawidłowa.

Rozdział 3. Komunikaty SQLSTATE 701


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
428DH Operacja jest niepoprawna dla tabel o typie strukturalnym.
428DJ Dziedziczona kolumna lub atrybut nie może zostać zmieniony ani usunięty.
428DK Zasięg kolumny odwołania jest już zdefiniowany.
428DL Parametr funkcji zewnętrznej lub źródłowej ma zdefiniowany zasięg.
428DM Tabela lub widok zasięgu są nieprawidłowe dla typu referencyjnego.
428DN Parametr SCOPE nie został podany w klauzuli RETURNS funkcji zewnętrznej lub
został podany w klauzuli RETURNS funkcji źródłowej.
428DP Typ nie jest typem strukturalnym.
428DQ Podtabela lub podwidok nie mogą mieć innej nazwy schematu niż tabela nadrzędna lub
widok nadrzędny.
428DR Nie można zastosować operacji do podtabeli lub podwidoku.
428DS Nie można zdefiniować dla podtabeli indeksu zawierającego podane kolumny.
428DT Operand wyrażenia nie jest typem referencyjnym o poprawnym zasięgu.
428DU Typ nie należy do żądanej hierarchii typów.
428DV Lewostronny operand operatora wyłuskiwania jest niepoprawny.
428DW Nie można wykonać odwołania do kolumny identyfikatora obiektu przy użyciu
operatora wyłuskiwania.
428DX Kolumna identyfikatora obiektu jest niezbędna do zdefiniowania tabeli głównej lub
głównego widoku hierarchii tabel lub widoków o typie strukturalnym.
428DY Nie można zaktualizować statystyk dla danego typu obiektu docelowego.
428DZ Nie można aktualizować kolumny identyfikatora obiektu.
428E0 Definicja indeksu nie jest zgodna z definicją rozszerzenia indeksu.
428E1 Wynik funkcji generującej tabelę zakresów jest niezgodny z tabelą zwracaną przez
funkcję transformacji tabeli kluczy dla rozszerzenia indeksu.
428E2 Liczba lub typ parametrów TARGET KEY nie jest zgodny z liczbą lub typem funkcji
transformacji klucza dla rozszerzenia indeksu.
428E3 Argument funkcji w rozszerzeniu indeksu jest niepoprawny.
428E4 Funkcja nie jest obsługiwana przez instrukcję CREATE INDEX EXTENSION.
428E5 Klauzula SELECTIVITY może być określona tylko z predykatem zdefiniowanym przez
użytkownika.
428E6 Argument wyszukiwania podany dla metody w predykacie zdefiniowanym przez
użytkownika jest niezgodny z argumentem odpowiadającej mu metody wyszukiwania w
rozszerzeniu indeksu.
428E7 Typ operandu następującego po operatorze porównania w predykacie zdefiniowanym
przez użytkownika jest niezgodny z typem danych RETURNS.
428E8 Parametr docelowy lub argument wyszukiwania nie jest zgodny z nazwą parametru
tworzonej funkcji.
428E9 Parametr nie może wystąpić w jednej regule jednocześnie jako parametr docelowy i
jako argument wyszukiwania.
428EA Pełna selekcja w widoku o typie strukturalnym jest nieprawidłowa.
428EB Kolumna w podwidoku nie może być tylko do odczytu, gdy odpowiadająca jej kolumna
w widoku nadrzędnym jest dostępna do aktualizacji.
428EC Pełna selekcja określona dla zmaterializowanej tabeli zapytania jest niepoprawna.

702 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
428ED Nie można skonstruować typów strukturalnych o atrybutach Datalink lub Reference.
428EE Dla tego źródła danych opcja nie jest poprawna.
428EF Dla tego źródła danych wartość opcji nie jest poprawna.
428EG Brak wymaganej opcji dla tego źródła danych.
428EH Nie można dodać (ADD) opcji, którą już zdefiniowano.
428EJ Nie można użyć instrukcji SET lub DROP w odniesieniu do opcji, która nie została
dodana.
428EK Kwalifikatorem dla zadeklarowanej, globalnej nazwy tabeli tymczasowej musi być
SESSION.
428EL Użycie funkcji transformacji z funkcją lub metodą jest niepoprawne.
428EM Wymagana jest klauzula TRANSFORM GROUP.
428EN Określono grupę transformacji, która nie jest używana.
428EP Typ strukturalny nie może zależeć od samego siebie, ani bezpośrednio, ani pośrednio.
428EQ Typ zwracany przez procedurę nie jest taki sam, jak typ podmiotu.
428ER Specyfikacja metody nie może zostać usunięta przed usunięciem treści metody.
428ES Treść metody nie odpowiada typowi języka specyfikacji metody.
428EU W definicji serwera nie ma określonej wartości TYPE lub VERSION.
428EV Narzędzie tranzytu nie jest obsługiwane dla danego typu źródła danych.
428EW Nie można przekonwertować tabeli na lub ze zmaterializowanej tabeli zapytania.
428EX Procedura nie może być używana jako funkcja transformacji, ponieważ jest ona albo
funkcją wbudowaną, albo metodą.
428EY Typ danych celu wyszukiwania w predykacie zdefiniowanym przez użytkownika nie
odpowiada typowi danych klucza źródłowego określonego rozszerzenia indeksu.
428EZ Specyfikacja okna dla funkcji OLAP nie jest poprawna.
428F0 Funkcja ROW musi obejmować co najmniej dwie kolumny.
428F1 Funkcja SQL TABLE musi zwracać wynik w postaci tabeli.
428F2 Typem danych wartości instrukcji RETURN w procedurze SQL musi być INTEGER.
428F3 SCROLL i WITH RETURN wykluczają się nawzajem.
428F4 Atrybut SENSITIVITY podany w instrukcji FETCH jest niedozwolony dla tego
kursora.
428F6 Kursor jest przewijalny, ale w tabeli wynikowej nie mogą znajdować się dane
wyjściowe funkcji tabelowej.
428F7 Na procedurze zewnętrznej próbowano przeprowadzić operację, którą można stosować
jedynie do procedur SQL.
428F9 W tym kontekście nie można użyć wyrażenia sekwencji.
428FA Skalą liczby dziesiętnej musi być zero.
428FB Nazwa-sekwencji nie może być sekwencją wygenerowaną przez system dla kolumny
tożsamości.
428FC Nieprawidłowa długość hasła szyfrowania.
428FD Hasło służące do deszyfrowania nie jest zgodne z hasłem służącym do szyfrowania
danych.
428FE Dane nie zostały uzyskane z funkcji ENCRYPT.

Rozdział 3. Komunikaty SQLSTATE 703


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
428FF Specyfikacja puli buforów nie jest poprawna.
428FG Definicja tabeli pomostowej lub zmaterializowanej tabeli zapytania jest niepoprawna.
428FH Opcja SET INTEGRITY nie jest poprawna.
428FI Określono opcję ORDER OF, lecz specyfikator tabeli nie zawiera klauzuli ORDER BY.
428FJ W zewnętrznej pełnej selekcji widoku lub zmaterializowanej tabeli zapytania instrukcja
ORDER BY jest niedozwolona.
428FL Instrukcja SQL zmiany danych jest niedozwolona w kontekście, w jakim została użyta.
428FM Instrukcja INSERT w klauzuli SELECT odnosi się do widoku, który nie jest widokiem
symetrycznym.
428FP Dozwolony jest jeden wyzwalacz INSTEAD OF dla każdego rodzaju operacji na
widoku przedmiotu.
428FQ Wyzwalacz INSTEAD OF nie może odwoływać się do widoku zdefiniowanego z
klauzulą WITH CHECK OPTION, widoku zdefiniowanego w oparciu o inny widok
zdefiniowany z klauzulą WITH CHECK OPTION ani widoku zagnieżdżonego w
widoku zdefiniowanym z klauzulą WITH ROW MOVEMENT.
428FT Tabela jest niezgodna z określoną operacją partycjonowania danych.
428FU Typ wbudowany zwrócony z funkcji transformacji lub metody FROM SQL jest
niezgodny z odpowiednim typem wbudowanym funkcji transformacji lub metody TO
SQL.
428FV Nie można zdefiniować określonej metody jako metody przesłaniającej.
428FZ Widok z wyzwalaczami INSTEAD OF zdefiniowanymi tylko dla niektórych operacji
nie może być elementem docelowym instrukcji MERGE.
428G1 Liczba partycji danych przekracza liczbę obszarów tabel dla tabeli.
428G2 Nie można usunąć z tabeli ostatniej partycji danych.
428G3 Tabela FINAL TABLE jest niepoprawna, gdy widok docelowy instrukcji SQL zmiany
danych w pełnej selekcji ma zdefiniowany wyzwalacz INSTEAD OF.
428G4 Niepoprawne zastosowanie porządkowania INPUT SEQUENCE.
428G5 Klauzula przypisania instrukcji UPDATE musi określać co najmniej jedną kolumnę,
która nie jest kolumną typu INCLUDE.
428G6 Określono kolumnę, której nie można wybrać z obiektu docelowego instrukcji zmiany
danych w klauzuli FROM pełnej selekcji.
428G8 Widoku nie można uaktywnić na potrzeby optymalizacji zapytań.
428GA Opcji stowarzyszonych nie można dodawać, usuwać lub zmieniać.
428GD Klauzula PARTITION BY musi zawierać pojedynczą kolumnę, taką samą, jak pierwsza
kolumna klauzuli ORGANIZE BY.
428GE Nie można przyłączyć tabeli źródłowej do partycjonowanej tabeli docelowej.
428GF Nadanie roli jest niepoprawne, ponieważ spowodowałoby utworzenie cyklu.
428GG Niepoprawne użycie odpornego na błędy zagnieżdżonego wyrażenia tabelowego.
428GI Schemat XML jest niekompletny, ponieważ brakuje dokumentu schematu XML.
428GL Systemowy ID autoryzowanego użytkownika określony dla zaufanego kontekstu jest
już określony w innym zaufanym kontekście.
428GM Zaufany kontekst jest już zdefiniowany do użycia przez ten parametr ID
autoryzowanego użytkownika lub PUBLIC.

704 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
428GN Określony parametr ID autoryzowanego użytkownika lub PUBLIC nie jest
zdefiniowany w określonym zaufanym kontekście.
428GO Opcja kolumny jest niepoprawna w przezroczystej instrukcji DDL.
428GP Nie można określić wielu elementów dla komponentu typu ARRAY.
428GR ID autoryzowanego użytkownika nadano już etykietę bezpieczeństwa z tym samym
typem dostępu (READ lub WRITE).
428GQ Nadana etykieta bezpieczeństwa spowodowała konflikt z inną nadaną wcześniej
etykietą bezpieczeństwa.
428GS Wartość opcji określona dla procedury nie jest zgodna z odpowiednią opcją procedury
źródłowej.
428GT Tabela nie jest chroniona za pomocą strategii bezpieczeństwa.
428GU Tabela musi zawierać przynajmniej jedną kolumnę, która nie jest niejawnie ukryta.
428GV Adres URI jest pustym łańcuchem.
428GZ Nie wszystkie określone w klauzuli SELECT instancje kluczy sortujących są
identyczne.
428H0 Nie można zastosować operacji podindeksowania dla obiektu, który nie jest typu
ARRAY.
428H1 Typ danych wyrażenia podindeksowania nie jest dokładnym typem liczbowym ze skalą
zero.
428H2 Typ tablicowy nie jest obsługiwany w kontekście, w jakim jest wykorzystywany.
428H3 Element drzewa nie jest poprawny dla miejsca, w którym został określony.
428H4 Konstrukcja zapytania hierarchicznego została użyta poza kontekstem.
428H5 Niepoprawne użycie operatora łączenia zewnętrznego.
42901 Funkcja kolumnowa nie zawiera nazwy kolumny.
42903 Klauzula WHERE lub SET zawiera nieprawidłowe odwołanie, takie jak funkcja
kolumnowa.
42904 Procedura SQL nie została utworzona z powodu błędu kompilacji.
42907 Łańcuch jest zbyt długi.
42908 Instrukcja nie zawiera wymaganej listy kolumn.
42910 Użycie określonej instrukcja w instrukcji złożonej jest niedozwolone.
42911 Operacja dzielenia dziesiętnego jest nieprawidłowa, ponieważ wynik będzie miał
ujemną skalę.
42912 Kolumna nie może zostać zaktualizowana, ponieważ nie została zidentyfikowana w
klauzuli UPDATE instrukcji wybierania dla kursora.
42914 Instrukcja DELETE jest nieprawidłowa, ponieważ operacja może mieć wpływ na
tabelę, do której odwołania znajdują się w podzapytaniu.
42915 Wykryto nieprawidłowe ograniczenie referencyjne.
42916 Alias nie może być utworzony, ponieważ w wyniku może powstać powtarzalny łańcuch
aliasów.
42917 Obiekt nie może być jawnie usunięty lub zmieniony.
42918 Typ danych definiowanych przez użytkownika nie może być utworzony przy pomocy
nazwy typu danych definiowanych przez system (na przykład, INTEGER).
42919 Złożone instrukcje zagnieżdżone są niedozwolone.

Rozdział 3. Komunikaty SQLSTATE 705


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
42921 Kontenery nie mogą zostać dodane do obszaru tabel.
42925 Rekurencyjnie nazwane tabele pochodne nie mogą zawierać SELECT DISTINCT, ale
muszą zawierać UNION ALL.
42928 Klauzula WITH EMPTY TABLE nie może zostać określona dla tabeli.
42932 Założenia do przygotowania programu są niepoprawne.
42939 Nazwa nie może zostać użyta, ponieważ podany identyfikator jest zarezerwowany dla
systemu.
42961 Podana nazwa serwera nie jest zgodna z nazwą bieżącego serwera.
42962 W indeksie, kluczu lub ograniczeniu nie można używać kolumny długiej, kolumny
LOB, kolumny XML lub kolumny typu strukturalnego.
42963 Niepoprawna specyfikacja kolumny etykiety bezpieczeństwa.
42968 Połączenie nie powiodło się, ponieważ brak jest aktualnej licencji na oprogramowanie.
42969 Nie utworzono pakietu.
42972 Wyrażenie w warunku łączenia lub w klauzuli ON instrukcji MERGE odwołuje się do
kolumn z więcej niż jednej tabel operandów.
42985 Instrukcja ta nie jest dozwolona w procedurze.
42987 Instrukcja ta nie jest dozwolona w procedurze ani w wyzwalaczu.
42989 Kolumny, która została wygenerowana za pomocą wyrażenia lub jest kolumną etykiety
bezpieczeństwa, nie można użyć w wyzwalaczu BEFORE.
42990 Indeks unikalny lub ograniczenie przez unikalność jest niedozwolone, ponieważ
kolumny klucza nie są nadzbiorem partycjonowanych kolumn klucza.
42991 Typy danych BOOLEAN, BINARY i VARBINARY są obecnie obsługiwane tylko
wewnętrznie.
42993 Zdefiniowana kolumna jest zbyt duża, aby mogła być rejestrowana.
42994 Kontenery urządzeń surowych nie są obsługiwane.
42995 Żądana funkcja nie odnosi się do globalnych tabel tymczasowych.
42997 Ta funkcja nie jest obsługiwana przez tę wersję requestera aplikacji DB2, serwera
aplikacji DB2 lub przez ich kombinację.
429A1 Grupa węzłów jest nieprawidłowa dla obszaru tabel.
429A9 Instrukcja SQL nie może być przetwarzana przez DataJoiner.
429B2 Określona wartość długości wstawiania dla typu strukturalnego lub kolumny jest zbyt
mała.
429B3 Obiekt nie może być definiowany na podtabeli.
429B4 Funkcja filtrowania danych nie może być funkcją LANGUAGE SQL.
429B5 Typ danych parametru instancji w rozszerzeniu indeksu jest niepoprawny.
429B8 Procedura zdefiniowana przy użyciu klauzuli PARAMETER STYLE JAVA nie może
mieć typu strukturalnego jako parametru ani jako typu zwracanego.
429B9 Wartości DEFAULT i NULL nie mogą być używane w przypisaniu atrybutu.
429BA W odwołaniu do obiektu stowarzyszonej bazy danych musi zostać użyty parametr
FEDERATED.
429BB Typ danych określony dla parametru lub zmiennej nie jest obsługiwany w procedurze
SQL.
429BC W instrukcji ALTER TABLESPACE są działania wielu kontenerów.

706 Komunikaty, tom 2


Tabela 32. Kod klasy 42: Błąd syntaktyczny lub naruszenie zasad dostępu (kontynuacja)
Wartość Znaczenie
SQLSTATE
429BE Klucz podstawowy lub klucz unikalny to podzbiór kolumn w klauzuli wymiarów.
429BG Ta funkcja nie jest obsługiwana dla tabel grupowanych zakresowo.
429BH Tabela partycjonowana zawiera definicję nieobsługiwanej kolumny, która może być
kolumną tożsamości, kolumną typu DATALINK lub kolumną XML.
429BJ Niepoprawne użycie klauzuli WITH ROW MOVEMENT w widoku.
429BK Próba aktualizacji widoku jest niepoprawna ze względu na operację przeniesienia
wierszy w widokach, na których ten widok bazuje.
429BL Funkcja modyfikująca dane SQL została wywoływana w niedozwolonym kontekście.
429BM W tym kontekście zestawianie nie może być użyte.
429BO Nie było możliwe utworzenie żadnego planu dla stowarzyszonego źródła danych.
429BP Niepoprawne wyrażenie kolumny pseudonimu.
429BS Niepoprawna definicja indeksu, zawierająca klauzulę XMLPATTERN lub kolumnę
zdefiniowaną z typem danych XML.
429BT Przekazanie praw własności nie powiodło się z powodu zależności.
429BU Nie można uzyskać dla wtyczki dostępu do odwzorowań użytkowników z repozytorium
odwzorowań użytkowników.
429BV Niepoprawna specyfikacja kolumny ROW CHANGE TIMESTAMP.
429BZ Nie powiodła się aktualizacja, usunięcie lub wstawienie do widoku UNION ALL,
ponieważ jedna z tabel bazowych jest chroniona.
429C0 Zapytanie musi zawierać predykat używający wskazanej kolumny.
429C2 Typ danych określony dla tablicy jest niepoprawny w kontekście, w którym został
określony.

Kod klasy 44: Naruszenie opcji WITH CHECK OPTION


Tabela 33. Kod klasy 44: Naruszenie opcji WITH CHECK OPTION
Wartość Znaczenie
SQLSTATE
44000 Operacje wstawiania ani usuwania są niedozwolone, ponieważ wynikowy wiersz nie
spełnia definicji widoku.

Kod klasy 46: Język definicji danych Java


Tabela 34. Kod klasy 46: Język definicji danych Java
Wartość Znaczenie
SQLSTATE
46001 Język definicji danych Java - Niepoprawny adres URL.
46002 Język definicji danych Java - Niepoprawna nazwa pliku typu JAR.
46003 Język definicji danych Java - Niepoprawne usuwanie klasy.
46007 Język definicji danych Java - Niepoprawny podpis.
46008 Język definicji danych Java - Niepoprawna specyfikacja metody.
46103 W procedurze języka Java wystąpił wyjątek ClassNotFound.
46501 Język definicji danych Java - Nie zaimplementowano opcjonalnego komponentu.

Rozdział 3. Komunikaty SQLSTATE 707


Kod klasy 51: Nieprawidłowy stan aplikacji
Tabela 35. Kod klasy 51: Nieprawidłowy stan aplikacji
Wartość Znaczenie
SQLSTATE
51002 Nie znaleziono pakietu, który odpowiada żądaniu wykonania instrukcji SQL.
51003 Znaczniki spójności nie są zgodne.
51004 Nieprawidłowy adres w obszarze deskryptorów SQL.
51005 Poprzedni błąd systemowy uniemożliwił działanie tej funkcji.
51008 Numer wydania prekompilowanego programu jest nieprawidłowy.
51015 Próbowano uruchomić sekcję, która była w stanie błędu podczas wiązania.
51017 Użytkownik nie jest zalogowany do systemu.
51018 Błąd spowodował pozostawienie aplikacji w stanie rozłączenia.
51021 Instrukcje SQL nie mogą zostać uruchomione, dopóki proces aplikacji nie wykona
operacji wycofywania zmian.
51022 Instrukcja CONNECT określająca nazwę uprawnienia jest nieprawidłowa, gdy
połączenie (bieżące lub uśpione) już istnieje w serwerze określonym w instrukcji
CONNECT.
51023 Baza danych jest już używana przez inną instancję menedżera bazy danych.
51024 Widok nie może zostać użyty, ponieważ został oznaczony jako nieoperatywny.
51025 Aplikacja w środowisku przetwarzającym transakcję XA nie jest powiązana z instrukcją
SYNCPOINT TWOPHASE.
51026 Monitor zdarzeń nie może być włączony, ponieważ jego ścieżka docelowa jest już
używana przez inny monitor zdarzeń.
51027 Opcja IMMEDIATE CHECKED instrukcji SET INTEGRITY jest niepoprawna,
ponieważ tabela jest obsługiwaną przez użytkownika zmaterializowaną tabelą zapytania
lub znajduje się w stanie innym niż ustawianie integralności w toku.
51028 Pakiet nie może zostać użyty, ponieważ został oznaczony jako nieoperatywny.
51030 Procedura, do której odwołuje się instrukcja ALLOCATE CURSOR lub ASSOCIATE
LOCATORS, nie została jeszcze wywołana w procesie aplikacji.
51034 Procedura zdefiniowana przy użyciu instrukcji MODIFIES SQL DATA jest
niepoprawna w kontekście, w którym jest wywoływana.
51035 Wyrażenie PREVIOUS VALUE nie może być użyte, ponieważ w tej sesji nie
wygenerowana została żadna wartość dla tej sekwencji.
51038 W określonej procedurze nie mogą zostać wywołane żadne instrukcje SQL.
51039 Wartość ENCRYPTION PASSWORD nie została ustawiona.
51040 Nieprawidłowe środowisko kompilacji.
51041 Nie można wywołać instrukcji SQL wewnątrz transakcji XA.
51042 Nie można zebrać statystyk, ponieważ nie ma aktywnego monitora zdarzeń dla
statystyk.

708 Komunikaty, tom 2


Niepoprawny operand kodu klasy 53 lub niespójna specyfikacja
Tabela 36. Kod klasy 53: Niepoprawny operand lub niespójna specyfikacja
Wartość Znaczenie
SQLSTATE
53038 Liczba wartości granicznych klucza jest równa zero lub jest większa niż liczba kolumn
klucza.
53040 Nie można zastosować podanych zmian do puli buforów.
53045 Typ danych stałej ograniczającej klucz jest inny niż typ danych kolumny.
53090 W jednej instrukcji SQL można odwoływać się do danych zakodowanych tylko w
jednym schemacie kodowania: ASCII, EBCDIC albo Unicode.
53091 Określony schemat kodowania nie jest identyczny z obecnie używanym schematem
kodowania obiektu zawierającego.

Kod klasy 54: Przekroczone ograniczenia języka SQL lub


produktu
Tabela 37. Kod klasy 54: Przekroczone ograniczenia języka SQL lub produktu
Wartość Znaczenie
SQLSTATE
54001 Instrukcja jest zbyt długa lub zbyt złożona.
54002 Stała łańcuchowa jest zbyt długa.
54004 Instrukcja ma za dużo nazw tabel lub elementów w listach SELECT lub INSERT.
54006 Wynik konkatenacji jest zbyt długi.
54008 Klucz jest za długi, ma za dużo kolumn lub kolumna klucza jest za długa.
54010 Długość rekordu w tabeli jest za duża.
54011 Określono za dużą liczbę kolumn dla tabeli lub widoku.
54023 Przekroczono maksymalną ilość parametrów lub argumentów dla funkcji lub procedury.
54028 Osiągnięto maksymalną ilość równoczesnych uchwytów dużego obiektu (LOB).
54029 Osiągnięto maksymalną ilość przeszukań otwartych katalogów.
54030 Maksymalna ilość monitorów zdarzeń jest już aktywna.
54031 Do monitora zdarzeń została już przyporządkowana maksymalna ilość plików.
54032 Osiągnięto maksymalną wielkość tabeli.
54033 Osiągnięto maksymalną ilość map partycjonowania.
54034 Łączna długość wszystkich nazw kontenerów dla obszaru tabel jest za duża.
54035 Przekroczono wewnętrzne ograniczenie obiektu.
54036 Ścieżka kontenera lub pamięci masowej jest zbyt długa.
54037 Mapa kontenera dla obszaru tabel jest zbyt skomplikowana.
54038 Przekroczono maksymalny poziom zagnieżdżenia procedur lub wyzwalaczy.
54040 Zbyt dużo odwołań do zmiennych przejściowych i kolumn zakładek przejściowych lub
zbyt długie wiersze dla tych odwołań.
54045 Przekroczono maksymalne poziomy hierarchii typów.
54046 W rozszerzeniu indeksu została przekroczona maksymalna dopuszczalna liczba
parametrów.

Rozdział 3. Komunikaty SQLSTATE 709


Tabela 37. Kod klasy 54: Przekroczone ograniczenia języka SQL lub produktu (kontynuacja)
Wartość Znaczenie
SQLSTATE
54047 Przekroczono maksymalną wielkość obszaru tabel.
54048 Tymczasowy obszar tabel o odpowiedniej wielkości strony nie istnieje.
54049 Długość instancji typu strukturalnego przekracza limit systemu.
54050 W typie strukturalnym przekroczona została maksymalna liczba dopuszczalnych
atrybutów.
54052 Liczba stron blokowych dla puli buforów jest zbyt duża w stosunku do wielkości puli
buforów.
54053 Podana wartość parametru BLOCKSIZE nie mieści się w dopuszczalnym zakresie.
54054 Przekroczono liczbę partycji lub kombinację liczby partycji obszarów tabel i
odpowiedniej długości klucza ograniczającego partycjonowania.
54057 Za długa nazwa elementu XML, nazwa atrybutu, przedrostek przestrzeni nazw lub
identyfikator URI.
54058 Wewnętrzna reprezentacja ścieżki XML jest za długa.
54059 Wartość tekstowa łańcucha węzła, zawierająca tylko znaki spacji, tabulacji lub nowego
wiersza, jest za długa i nie może być przetwarzana przy użyciu instrukcji STRIP
WHITESPACE.
54061 Dla komponentu etykiety bezpieczeństwa podano zbyt wiele elementów.
54062 Przekroczono maksymalną liczbę komponentów w strategii bezpieczeństwa.
54063 Osiągnięto limit PCTDEACTIVATE dla monitora zdarzeń.
54064 Otwarto ponad 65 533 instancje kursora.
54066 W zapytaniu hierarchicznym przekroczono limit rekurencji.

Kod klasy 55: Obiekt nie spełnia warunków wstępnych


Tabela 38. Kod klasy 55: Obiekt nie spełnia warunków wstępnych
Wartość Znaczenie
SQLSTATE
55001 Musi nastąpić migracja bazy danych.
55002 Tabela wyjaśnień jest niepoprawnie zdefiniowana.
55006 Nie można usunąć obiektu, ponieważ jest obecnie w użyciu.
55007 Obiekt nie może zostać zmieniony, ponieważ używa go aktualnie ten sam proces
aplikacji.
55009 Wystąpiła systemowa próba zapisu do pliku przeznaczonego tylko do odczytu
(read-only) lub na dyskietkę zabezpieczoną przed zapisem.
55012 Indeks klastrowy dla tabeli już istnieje.
55019 Tabela jest w stanie nieprawidłowym dla danej operacji.
55022 Serwer plików nie został zarejestrowany z tą bazą danych.
55023 Podczas wywołania procedury wystąpił błąd.
55024 Obszar tabel nie może zostać usunięty, ponieważ dane powiązane z tabelą znajdują się
również w innym obszarze tabel.
55025 Baza danych musi zostać zrestartowana.
55026 Tymczasowy obszar tabel nie może zostać usunięty.
55031 Format pliku odwzorowania błędów jest niepoprawny.

710 Komunikaty, tom 2


Tabela 38. Kod klasy 55: Obiekt nie spełnia warunków wstępnych (kontynuacja)
Wartość Znaczenie
SQLSTATE
55032 Instrukcja CONNECT jest nieprawidłowa, ponieważ menedżer bazy danych został
zatrzymany po uruchomieniu danej aplikacji.
55033 Monitor zdarzeń nie może zostać aktywowany w tej samej jednostce pracy, w której
został utworzony lub modyfikowany.
55034 Monitor zdarzeń jest w stanie nieprawidłowym dla danej operacji.
55035 Nie można usunąć tabeli, ponieważ jest zabezpieczona.
55036 Węzeł nie może zostać usunięty, ponieważ nie został usunięty z mapy partycjonowania.
55037 Klucz partycjonowania nie może zostać usunięty, ponieważ tabela jest w wielowęzłowej
grupie węzłów.
55038 Grupa węzłów nie może zostać użyta, ponieważ przeprowadza się jej ponowne
równoważenie.
55039 Dostęp lub przemiana stanu nie jest dozwolona, ponieważ obszar tabel nie jest w
odpowiednim stanie.
55041 Kontenery nie mogą być dodawane do obszaru tabel podczas ponownego
przeprowadzania równoważenia.
55043 Nie można zmienić atrybutu typu strukturalnego, jeśli istnieje oparta na nim tabela lub
widok typu strukturalnego.
55045 Nie można utworzyć pliku archiwum SQL (SAR) dla tej procedury, ponieważ
niezbędny komponent nie jest dostępny na serwerze.
55046 Określone archiwum SQL nie odpowiada środowisku docelowemu.
55047 Zewnętrzna funkcja lub metoda próbowała uzyskać dostęp do obiektu stowarzyszonego.
55048 Nie można zaszyfrować zaszyfrowanych danych.
55049 Tabela monitora zdarzeń nie jest poprawnie zdefiniowana.
55051 Obecnie jest przetwarzana instrukcja ALTER BUFFERPOOL.
55054 Nie można zdefiniować określonej metody jako metody przesłaniającej.
55056 Nie można zaktualizować statystyki pseudonimu, ponieważ w bazie danych nie
uaktywniono obsługi stowarzyszania.
55057 Instrukcja jest niedozwolona, ponieważ unieważni ona przyrostową konserwację
niektórych tabel zależnych.
55060 Nie zdefiniowano pamięci automatycznej dla bazy danych.
55061 Nie można zmienić pamięci masowej dla obszaru tabeli z automatyczną konfiguracją
pamięci masowej.
55062 Nie można określać ścieżek pamięci masowej, ponieważ automatyczna pamięć masowa
nie jest włączona dla tej bazy danych.
55063 Schemat XML nie jest w poprawnym stanie dla danej operacji.
55064 Nie można zastosować kontroli dostępu opartej na etykietach, ponieważ tabela nie ma
strategii bezpieczeństwa.
55065 Z tabelą może być powiązana co najwyżej jedna strategia bezpieczeństwa.
55066 Tabeli nie można przydzielić nowej strony, ponieważ indeks nie obsługuje jeszcze
dużych identyfikatorów RID.
55067 Nie można przekształcić tabeli w tabelę chronioną, ponieważ zależy od niej
zmaterializowana tabela zapytania (MQT) lub tabela pomostowa.
55068 Nie można użyć wyrażenia datownika zmiany wiersza, ponieważ tabela nie ma
datownika zmiany wiersza.

Rozdział 3. Komunikaty SQLSTATE 711


Tabela 38. Kod klasy 55: Obiekt nie spełnia warunków wstępnych (kontynuacja)
Wartość Znaczenie
SQLSTATE
55069 Tworzenie lub wywoływanie procedury potomnej za pomocą opakowania
zdefiniowanego jako chronione nie jest obsługiwane.
55070 Tabela zadań administracyjnych nie została poprawnie zdefiniowana.

Kod klasy 56: Inne błędy języka SQL lub produktu


Tabela 39. Kod klasy 56: Inne błędy języka SQL lub produktu
Wartość Znaczenie
SQLSTATE
56016 Podano niepoprawny zakres dla partycji danych.
56031 Klauzula lub funkcja skalarna jest nieprawidłowa, ponieważ dane zestawu DBCS i dane
mieszane nie są obsługiwane przez ten system.
56033 Wartość aktualizacji lub wstawiania dla kolumny zawierającej długie łańcuchy musi być
zmienną języka macierzystego lub wynosić NULL.
56038 W tym środowisku żądana opcja nie jest obsługiwana.
56072 Wykonanie zakończone niepowodzeniem ze względu na wystąpienie funkcji
nieobsługiwanej przez serwer niższej wersji. Nie wpłynie to na wykonywanie
następnych instrukcji SQL.
56084 Na liście wyboru lub liście wejściowej napotkano nieobsługiwany typ SQLTYPE.
56091 W wyniku uruchomienia złożonej instrukcji SQL wystąpiło wiele błędów.
56092 Ten typ autoryzacji nie może być określony, ponieważ nazwa autoryzacji nie
identyfikuje unikalnie identyfikatora użytkownika, identyfikatora grupy ani roli.
56095 Opcja wiązania jest niepoprawna.
56097 W obszarach tabel (TABLESPACE) dla urządzeń (DEVICE) nie dopuszcza się
występowania pól typu LONG VARCHAR i LONG VARGRAPHIC.
56098 Błąd podczas niejawnego ponownego wiązania lub przygotowania.
56099 Typ danych REAL nie jest obsługiwany przez docelową bazę danych.
560A0 Nie powiodło się działanie na wartości dużego obiektu (LOB).
560AA Użycie tej klauzuli lub funkcji skalarnej jest obsługiwane tylko w przypadku danych
graficznych bazy danych w kodzie Unicode.
560AC Definicja opakowania nie może zostać użyta dla określonego typu lub wersji źródła
danych.
560AF Instrukcja PREPARE nie jest obsługiwana jeśli używany jest koncentrator gatewaya.
560B0 W poleceniu zmiany wielkości obszaru tabel lub kontenera obszaru tabel podano
nieprawidłową nową wielkość.
560B1 Niepoprawna specyfikacja kursora w procedurze składowanej.
560B7 Dla wielowierszowej instrukcji INSERT postać wyrażenia sekwencji musi być taka
sama dla każdego wiersza.
560BB W przygotowanej dynamicznie instrukcji CALL należy dla parametru INOUT w
klauzuli USING i INTO użyć tej samej zmiennej języka macierzystego.
560BC Wystąpił błąd w trakcie uzyskiwania dostępu do pliku.
560BD Na serwerze stowarzyszonym został odebrany nieoczekiwany kod błędu pochodzący ze
źródła danych.
560BF Mechanizm szyfrujący nie jest dostępny.

712 Komunikaty, tom 2


Tabela 39. Kod klasy 56: Inne błędy języka SQL lub produktu (kontynuacja)
Wartość Znaczenie
SQLSTATE
560C0 Tabel utworzonych w schemacie kodowania Unicode nie można używać w funkcjach
ani metodach SQL.
560C1 Tabele utworzone w schemacie kodowania Unicode nie mogą być tabelami o typie
strukturalnym ani zawierać typów graficznych lub typów zdefiniowanych przez
użytkownika.
560C2 Zapisywanie w pliku historii pozycji odpowiadającej usuniętej tabeli zakończone
niepowodzeniem.
560C3 Wyzwalacz AFTER nie może modyfikować wiersza wstawianego dla instrukcji
INSERT.
560C5 Pakiet musi być ponownie powiązany, aby został pomyślnie wykonany.
560C6 Ograniczenie referencyjne nie może modyfikować wiersza modyfikowanego instrukcją
SQL zmiany danych w pełnej selekcji.
560C8 Część statystyki pseudonimu nie może zostać zaktualizowana.
560C9 Nie można wyjaśnić podanej instrukcji.
560CB Serwer stowarzyszony odebrał błąd SOAP ze źródła danych usług WWW.
560CD Istnieje jedna lub więcej niepoprawnych wartości określonych podczas pobierania
ustawień konfiguracyjnych alertów.
560CE Nie można się odwołać do zmiennej SQL ze względu na ostatnią operację zatwierdzania
lub wycofywania zmian.
560CF Nie można przekształcić obszaru tabel w obszar tabel typu LARGE.
560CG Wartość XML zawiera kombinację węzłów XML, która powoduje przekroczenie limitu
identyfikatorów wewnętrznych.
560CH Przekroczono maksymalną liczbę węzłów potomnych węzła XML w wartości XML.
560CI Zestaw wynikowy określony do zwrócenia klientowi jest niepoprawny.
560CJ Obszar tabel musi zostać utworzony w grupie partycji bazy danych IBMCATGROUP.
560CL Tworzenie lub modyfikowanie procedury potomnej nie jest obsługiwane w tym źródle
danych.
560CN Opakowanie nie jest zgodne z wydaniem programu DB2 zainstalowanego na serwerze
stowarzyszonym.
560CO W zapytaniu hierarchicznym wykryto cykl.
560CP Operacja wstawiania lub aktualizowania wielu wierszy nie powiodła się, ponieważ dla
kolumny zdefiniowanej jako ROW CHANGE TIMESTAMP i GENERATED BY
DEFAULT nie można określać wartości typu DEFAULT oraz wartości jawnych.

Kod klasy 57: Zasoby są niedostępne lub nastąpiła interwencja


operatora
Tabela 40. Kod klasy 57: Zasoby są niedostępne lub nastąpiła interwencja operatora
Wartość Znaczenie
SQLSTATE
57001 Tabela jest niedostępna, ponieważ nie ma klucza podstawowego.
57003 Podana pula buforów nie została aktywowana.
57007 Obiekt nie może być użyty, ponieważ instrukcje DROP lub ALTER jeszcze się nie
zakończyły.
57009 Pamięć wirtualna lub zasoby bazy danych są chwilowo niedostępne.

Rozdział 3. Komunikaty SQLSTATE 713


Tabela 40. Kod klasy 57: Zasoby są niedostępne lub nastąpiła interwencja
operatora (kontynuacja)
Wartość Znaczenie
SQLSTATE
57011 Pamięć wirtualna lub zasoby bazy danych są niedostępne.
57012 Zasoby inne niż bazy danych są niedostępne. Nie ma to wpływu na poprawne
wykonanie kolejnych instrukcji.
57013 Zasoby inne niż bazy danych są niedostępne. Wpływa to na poprawne wykonanie
kolejnych instrukcji.
57014 Przetwarzanie zostało anulowane na żądanie.
57016 Brak dostępu do tabeli, ponieważ jest ona nieaktywna.
57017 Konwersja znaków nie jest zdefiniowana.
57019 Instrukcja nie została wykonana z powodu problemów z zasobami.
57020 Dysk zawierający bazę danych jest zablokowany.
57021 Napęd dyskietek jest otwarty.
57022 Tabela nie została utworzona, ponieważ ID autoryzowanego użytkownika instrukcji nie
jest właścicielem żadnych odpowiednich obszarów baz danych.
57030 Połączenie z serwerem aplikacji przekroczy limit ustalony podczas instalacji.
57032 Uruchomiono maksymalną liczbę równoległych baz danych.
57033 Wystąpił błąd zakleszczenia lub upływu czasu bez automatycznego wycofania zmian.
57036 Dziennik transakcji nie należy do bieżącej bazy danych.
57046 Nowa transakcja nie może być uruchomiona, rozpocząć baza danych lub instancja jest
wygaszona.
57047 Wewnętrzna baza danych nie może być utworzona, ponieważ katalog jest niedostępny.
57048 Wystąpił błąd podczas dostępu do kontenera dla obszaru tabel.
57049 Osiągnięto maksymalną liczbę procesów systemu operacyjnego.
57050 Serwer plików jest teraz niedostępny.
57051 Szacunkowy koszt CPU przekracza limit zasobu.
57052 Węzeł jest niedostępny, ponieważ nie ma kontenerów dla wszystkich tymczasowych
obszarów tabel.
57053 Z powodu konfliktu operacji wykonanie określonej operacji na określonej tabeli nie jest.
57055 Tymczasowy obszar tabel o odpowiedniej wielkości strony jest niedostępny.
57056 Pakiet jest niedostępny, ponieważ baza danych jest w trybie NO PACKAGE LOCK.
57057 Instrukcja SQL nie może być wykonana wskutek uprzedniego warunku dotyczącego
łańcucha DRDA w instrukcjach SQL.
57059 W obszarze tabel jest za mało miejsca, aby wykonać określone działanie.

Kod klasy 58: Błąd systemowy


Tabela 41. Kod klasy 58: Błąd systemowy
Wartość Znaczenie
SQLSTATE
58004 Wystąpił błąd systemowy (który niekoniecznie musi uniemożliwić poprawne
uruchomienie kolejnych instrukcji SQL).
58005 Wystąpił błąd systemowy (który uniemożliwia poprawne uruchomienie kolejnych
instrukcji SQL).

714 Komunikaty, tom 2


Tabela 41. Kod klasy 58: Błąd systemowy (kontynuacja)
Wartość Znaczenie
SQLSTATE
58008 Uruchomienie nie powiodło się z powodu błędu protokołu dystrybucyjnego, który nie
będzie miał wpływu na poprawne uruchomienie kolejnych komend DDM lub instrukcji
SQL.
58009 Uruchomienie nie powiodło się z powodu błędu protokołu dystrybucyjnego, który
spowodował przerwanie połączenia.
58010 Uruchomienie nie powiodło się z powodu błędu protokołu dystrybucyjnego, który
będzie miał wpływ na poprawne uruchomienie kolejnych komend DDM lub instrukcji
SQL.
58011 Komenda DDM jest nieprawidłowa podczas działającego procesu wiązania.
58012 Proces wiązania z podaną nazwą pakietu i elementem zgodności nie jest aktywny.
58014 Nieobsługiwana komenda DDM.
58015 Nieobsługiwany obiekt DDM.
58016 Nieobsługiwany parametr DDM.
58017 Nieobsługiwana wartość parametru DDM.
58018 Nieobsługiwany komunikat odpowiedzi DDM.
58023 Błąd systemowy spowodował anulowanie działania bieżącego programu.
58030 Wystąpił błąd we/wy.
58031 Połączenie się nie powiodło z powodu błędu systemowego.
58032 Nie można używać procesu do funkcji zdefiniowanej przez użytkownika w trybie
chronionym.
58034 Błąd podczas próby wyszukania stron dla obiektu w obszarze tabel DMS.
58035 Błąd podczas próby zwolnienia stron dla obiektu w obszarze tabel DMS.
58036 Nie istnieje podany identyfikator wewnętrznego obszaru tabel.
58038 Uruchomienie nie powiodło się z powodu błędu menedżera klastra, który nie będzie
miał wpływu na poprawne uruchomienie kolejnych instrukcji SQL.

Kod klasy 5U: Programy narzędziowe


Tabela 42. Kod klasy 5U: Programy narzędziowe
Wartość Znaczenie
SQLSTATE
5U001 Podana funkcja lub opcja nie jest obsługiwana.
5U002 Podana aplikacja obecnie nie istnieje.
5U003 Nie można znaleźć żadnych raportów Monitora aktywności.
5U004 Co najmniej jedna wartość podana podczas zapisywania zadania monitora jest
niepoprawna.
5U005 Podany tryb działania jest niepoprawny.
5U006 Wymagany parametr monitorowania nie jest włączony.
5U007 Zwrócono błąd procesora CLP. Szczegółowe informacje można znaleźć w dokumentacji
komunikatów procesora CLP.
5U008 Niepoprawny identyfikator operacji programu narzędziowego.
5U009 Osiągnięto maksymalną liczbę ścieżek pamięci masowej.

Rozdział 3. Komunikaty SQLSTATE 715


Tabela 42. Kod klasy 5U: Programy narzędziowe (kontynuacja)
Wartość Znaczenie
SQLSTATE
5U010 W operacji odtwarzania wykonywanej na niekatalogowej partycji bazy danych nie
można określić automatycznych ścieżek pamięci masowej.
5U011 W operacji odtwarzania muszą być określone automatyczne ścieżki pamięci masowej.
5U012 Niepoprawne użycie wyrażenia partycji bazy danych w ścieżce.
5U013 Nie można kontynuować odtwarzania, ponieważ partycja bazy danych jest niedostępna.
5U014 ID autoryzowanego użytkownika nie ma referencji LBAC niezbędnych do
uruchomienia komendy LOAD dla tabeli.
5U015 Plik PC/IXF nie jest obsługiwany w operacji importu korzystającej ze specyfikacji
Method N.
5U016 W tym momencie nie można anulować określonego działania.
5U017 Dla bazy danych lub nadklasy usługi można zdefiniować tylko jeden zestaw działania
pracy.
5U018 Podklasa usługi określona w działaniu pracy odwzorowania nie może być domyślną
podklasą usługi.
5U019 Zakres określony w parametrach FROM i TO jest niepoprawny.
5U020 Obciążenie nie może obsłużyć tego żądania, ponieważ jest wyłączone lub dostęp do
bazy danych jest zabroniony.
5U021 Instrukcje SQL nie mogą zostać uruchomione, dopóki proces aplikacji nie wykona
operacji zatwierdzania lub wycofywania zmian.
5U022 Z definicji obciążenia nie można usunąć ostatniego atrybutu połączenia.
5U023 Nie można usunąć obciążenia, ponieważ nie jest wyłączone lub ma aktywne
wystąpienia obciążenia.
5U024 Monitor zdarzeń nie został aktywowany, ponieważ jest już aktywny monitor zdarzeń
tego samego typu.
5U025 Nie można usunąć progu, ponieważ nie jest wyłączony, ma kolejkę, która nie jest pusta,
lub pod kontrolą progu uruchomione jest działanie.
5U026 Próg został przekroczony. Wykonywanie zostało zatrzymane.
5U027 Dla bazy danych lub nadklasy usługi została przekroczona maksymalna liczba klas
usługi.
5U028 Nie można wykonać żądania, ponieważ klasa usługi jest wyłączona.
5U029 Pod domyślną klasą usługi nie można utworzyć podklasy usługi.
5U030 Wystąpił błąd podczas komunikacji z zewnętrznym menedżerem obciążenia.
5U031 Nie można usunąć klasy usługi, ponieważ ma ona podklasy, powiązane obciążenia,
zestawy działania pracy, działania pracy, połączenia, działania albo progi lub nie jest
wyłączona bądź jest domyślną klasą usługi.
5U032 Nie można zastosować podanych zmian do domyślnej klasy usługi.
5U033 Działanie pracy PREVENT EXECUTION jest stosowane do działania, dlatego
działanie nie zostało uruchomione.
5U034 Określony typ działania pracy nie jest poprawny dla działania pracy.
5U035 Działanie nie istnieje.
5U036 Nazwa kolumny w pliku PC/IXF została obcięta podczas eksportu.
5U037 Nie można utworzyć progu, ponieważ narusza ograniczenie.
5U038 Próg nie został utworzony, ponieważ istnieje już próg o zgodnej definicji.

716 Komunikaty, tom 2


Tabela 42. Kod klasy 5U: Programy narzędziowe (kontynuacja)
Wartość Znaczenie
SQLSTATE
5U039 Wartość atrybutu połączenia już istnieje dla tego atrybutu połączenia lub wykryto
zduplikowaną wartość.
5U040 Nie można usunąć określonej wartości atrybutu połączenia, ponieważ nie jest
zdefiniowana dla atrybutu połączenia.
5U041 Strategia kontroli jest już używana dla podanego obiektu.
5U042 Strategia kontroli nie jest powiązana z podanym obiektem.
5U043 Podana klauzula nie jest obsługiwana dla nadklas usługi.
5U0ZZ Podczas wykonywania procedury wystąpił błąd. Szczegółowe informacje można
uzyskać na podstawie kodu SQLCODE.
5UA01 Nie można usunąć zadania, ponieważ jest ono aktualnie wykonywane.

Rozdział 3. Komunikaty SQLSTATE 717


718 Komunikaty, tom 2
Rozdział 4. Błędy komunikacji (komunikat SQL30081N)
Jeśli aplikacja zwróci komunikat o błędzie SQL30081N (kod_sql -30081), oznacza to że
wykryty został błąd komunikacji. Rzeczywisty błąd, który wystąpił w podsystemie
komunikacyjnym jest zwracany na liście tokenów błędów dla komunikatu o błędzie -30081.
Poniżej przedstawiono listę potencjalnych błędów komunikacji.

Kody błędów są pogrupowane według protokołu w następujący sposób:


v “TCP/IP”
v “APPC” na stronie 723
v “SOAP” na stronie 725
v “MQ” na stronie 726
v “SSL” na stronie 726
v “SOCKS” na stronie 727
v “HTTP” na stronie 727

TCP/IP

Poniższa tabela zawiera listę najczęściej spotykanych numerów błędów (errno)


występujących w przypadku korzystania z protokołu TCP/IP w systemach UNIX. To nie jest
pełna lista numerów errno. Numery errno znajdują się w pliku /usr/include/sys/errno.h. W
systemie Linux, numery errno znajdują się w pliku /usr/include/asm/errno.h. Numer errno
jest wskazywany dla każdego systemu operacyjnego.
Tabela 43. Kody errno dla protokołu TCP/IP w systemie Unix.
Numer kodu errno
Errno Opis
AIX HP-UX Solaris Linux
Podana funkcja została
EINTR 4 4 4 4
przerwana przez sygnał.
Złe gniazdo. Gniazdo może być
EBADF 9 9 9 9
uszkodzone.
EAGAIN 11 11 11 11 Zasób tymczasowo niedostępny.
Błędny adres.

W przypadku próby połączenia,


podano błędny adres.
EFAULT 14 14 14 14 W przypadku odbierania danych,
dane miały być odebrane przez
nieistniejącą lub zabezpieczoną
część przestrzeni adresowej
procesu. Bufor jest niepoprawny.
EBUSY 16 16 16 16 Zasób zajęty.
Do funkcji przekazano
niepoprawny argument lub
gniazdo zostało zamknięte. Ten
EINVAL 22 22 22 22
błąd może być zgłoszony, jeśli
wystąpiło przepełnienie buforu
lub nadpisanie pamięci.

© Copyright IBM Corp. 1993, 2007 719


Tabela 43. Kody errno dla protokołu TCP/IP w systemie Unix. (kontynuacja)
Numer kodu errno
Errno Opis
AIX HP-UX Solaris Linux
W systemie jest zbyt wiele
ENFILE 23 23 23 23
otwartych plików.
Tabela deskryptorów plików
według procesów jest pełna.
EMFILE 24 24 24 24 Przekroczono liczbę
deskryptorów pliku lub gniazd
dla procesu.
Brak miejsca w urządzenia lub
ENOSPC 28 28 28 28
tabeli systemowej.
EPIPE 32 32 32 32 Zerwany potok.
Przy połączeniu, zakres
przydzielony dla portów
efemerycznych TCP/UDP został
EWOULDBLOCK 54 246 11 11
wyczerpany. (Na niektórych
platformach zwraca taki sam kod
errno jak EAGAIN.)
Operacja gniazda na obiekcie nie
ENOTSOCK 57 216 95 88
będącym gniazdem.
ENOPROTOOPT 61 220 99 92 Nieznana opcja.
Określony adres jest już
używany. Być może poprzedni
proces, który nawiązał
EADDRINUSE 67 226 125 98 połączenie został nieprawidłowo
zakończony lub procedura
czyszcząca nie została wykonana
poprawnie.
Podana nazwa hosta lub adres IP
EADDRNOTAVAIL 68 227 126 99 nie jest dostępny z lokalnego
komputera.
ENETDOWN 69 228 127 100 Sieć jest wyłączona.
Brak dostępnej trasy do sieci lub
ENETUNREACH 70 229 128 101
hosta.
Sieć zerwała połączenie po
ENETRESET 71 230 129 102
zresetowaniu.
Połączenie zostało zresetowane
ECONNRESET 73 232 131 104
przez partnera.
Wywołanie nie zostało
zakończone ze względu na
ENOBUFS 74 233 132 105
niewystarczającą pamięć lub
zasoby.
EISCONN 75 234 133 106 Gniazdo jest już podłączone.
ENOTCONN 76 235 134 107 Gniazdo nie jest podłączone.
Połączenie przekroczyło limit
ETIMEDOUT 78 238 145 110
czasu.

720 Komunikaty, tom 2


Tabela 43. Kody errno dla protokołu TCP/IP w systemie Unix. (kontynuacja)
Numer kodu errno
Errno Opis
AIX HP-UX Solaris Linux
Nastąpiła odmowa połączenia.
W przypadku próby połączenia z
bazą danych należy sprawdzić,
czy menedżer bazy danych i
obsługa protokołu TCP/IP
zostały pomyślnie uruchomione
ECONNREFUSED 79 239 146 111 na serwerze.

Jeśli wykorzystywana jest


obsługa protokołu SOCKS,
należy także sprawdzić, czy
serwer SOCKS został pomyślnie
uruchomiony.
EHOSTDOWN 80 241 147 112 Host jest wyłączony.
EHOSTUNREACH 81 242 148 113 Brak dostępnej trasy do hosta.

Dodatkowe informacje na temat błędów komunikacyjnych protokołu TCP/IP w systemie


Unix można znaleźć w przewodnikach technicznych do poszczególnych systemów
operacyjnych. Można także użyć następującej komendy:
man nazwa-funkcji

gdzie nazwa_funkcji to nazwa funkcji, która zwróciła komunikat o błędzie. Strony programu
man zawierają dodatkowe informacje o błędach zwracanych przez poszczególne funkcje.

Poniżej przedstawiono listę najczęściej spotykanych błędów komunikacji dla protokołu


TCP/IP w systemie operacyjnym Windows. To nie jest pełna lista numerów errno. Zwracane
błędy można znaleźć w pliku winsock2.h. Pliku tego może nie być w systemie operacyjnym,
w którym nie zainstalowano środowiska programistycznego. Szczegółowe informacje o
błędach zwracanych przez poszczególne funkcje zawiera dokumentacja biblioteki Windows
Sockets 2 Application Programming Interface. Kopię tej specyfikacji można pobrać z
następującego serwisu WWW: http://www.sockets.com/winsock2.htm.
v WSAEINTR (10004): Przerwane wywołanie funkcji. Blokująca operacja została
przerwana.
v WSAEFAULT (10014): Zły adres. System wykrył niepoprawny adres wskaźnika podczas
wywołania funkcji. Ten błąd występuje gdy aplikacja przekazuje niepoprawną wartość
wskaźnika, lub gdy bufor jest zbyt mały.
v WSAEINVAL (10022): Do funkcji przekazano niepoprawny argument. Ten błąd może
także oznaczać, że gniazdo nie jest poprawne, lub że bieżący stan gniazda nie jest zgodny z
wywoływaną funkcją TCP (na przykład jeśli próbowano wydać instrukcję SQL zanim
nawiązane zostało połączenie z bazą danych).
v WSAEMFILE (10024): Zbyt wiele otwartych plików. Zbyt wiele otwartych gniazd. Każda
implementacja ma maksymalną liczbę dostępnych uchwytów gniazd globalnie, na proces
albo na wątek.
v WSAEWOULDBLOCK (10035): Zasób tymczasowo niedostępny. Błąd ten jest zwracany
w przypadku operacji na gniazdach niepołączonych w bloki, których nie można zakończyć
natychmiast.
v WSAEINPROGRESS (10036): Operacja blokowania gniazd systemu Windows jest w
toku. Mechanizm gniazd systemu Windows zezwala na oczekiwanie tylko jednej operacji
blokowania przypadającej na zadanie (lub wątek) i jeśli nastąpi wywołanie jakiejkolwiek
innej funkcji, zostanie zwrócony błąd WSAEINPROGRESS.

Rozdział 4. Błędy komunikacji 721


v WSAENOTSOCK (10038): Operacja gniazda na obiekcie nie będącym gniazdem.
Próbowano przeprowadzić operację na obiekcie, który nie jest gniazdem. Parametr gniazda
nie odwołuje się do poprawnego gniazda, lub w instrukcji select() element fd_set nie był
poprawny.
v WSAENOPROTOOPT (10042): Zła opcja protokołu. W wywołaniu getsockopt() lub
setsockopt() użyto nieznanej, niepoprawnej lub nieobsługiwanej opcji lub wersji.
v WSAEADDRINUSE (10048): Adres jest już używany. Normalnie dopuszczalne jest tylko
jedno wykorzystanie adresu każdego gniazda (protokół/adres IP/port). Błąd ten zdarza się,
gdy aplikacja próbuje użyć funkcji bind() w celu powiązania gniazda z adresem IP/portem,
które już zostały użyte dla istniejącego gniazda, dla gniazda, które nie zostało poprawnie
zamknięte lub dla gniazda, dla którego proces zamykania jest w toku.
v WSAEADDRNOTAVAIL (10049): Nie można przypisać żądanego adresu. Żądany adres
nie jest poprawny w swoim kontekście. Błąd ten zwykle zgłaszany jest gdy próbowano
wykonać funkcję bind() w stosunku do adresu, który nie jest poprawny dla lokalnego
komputera. Może być także zgłoszony jako rezultat funkcji connect(), sendto() kiedy adres
lub port zdalny nie jest poprawny dla komputera zdalnego.
v WSAENETDOWN (10050): Sieć jest wyłączona. Operacja dotycząca gniazda wykryła
nieczynną sieć. Może to oznaczać poważną awarię systemu sieci (to jest stosu protokołów,
w oparciu o który działa biblioteka DLL WinSock).
v WSAENETUNREACH (10051): Sieć jest nieosiągalna. Operacja dotycząca gniazda
próbowała połączyć się z siecią, która jest nieosiągalna. Zwykle oznacza to, że lokalne
oprogramowanie nie zna trasy do zdalnego hosta.
v WSAENETRESET (10052): Sieć zerwała połączenie po zresetowaniu. Połączenie zostało
przerwane w związku z wykryciem awarii przez działanie sprawdzające połączenie w
chwili, gdy operacja była aktywna. Błąd ten może być również zwrócony przez funkcję
stsockopt() w przypadku próby ustawienia flagi SO_KEEPALIVE dla połączenia, którego
nie udało się nawiązać.
v WSAECONNABORTED (10053): Oprogramowanie spowodowało przerwanie połączenia.
Nawiązane połączenie zostało przerwane przez oprogramowanie lokalnego komputera, być
może z powodu przekroczenia limitu czasu operacji transmisji danych lub z powodu błędu
protokołu.
v WSAECONNRESET (10054): Połączenie zresetowane przez węzeł sieci. Nastąpiło
wymuszenie zamknięcia połączenia przez zdalny węzeł sieci. Ma to zwykle miejsce w
przypadku nagłego zatrzymania aplikacji sieciowej na zdalnym komputerze, restartowania
tego komputera lub ″twardego zamknięcia″ zdalnego gniazda przez aplikację sieciową.
Błąd ten może być również spowodowany przerwaniem połączenia w związku z
wykryciem awarii przez działanie sprawdzające połączenie w chwili, gdy przynajmniej
jedna operacja była w toku. W przypadku niepowodzenia operacji w toku generowany jest
błąd WSAENETRESET. Niepowodzenie kolejnych operacji powoduje zgłoszenie błędu
WSAECONNRESET.
v WSAENOBUFS (10055): Brak dostępnego obszaru buforu. Nie można było wykonać
operacji na gnieździe z powodu braku w systemie wystarczającego obszaru buforów lub
dlatego, że kolejka była pełna.
v WSAEISCONN (10056): Gniazdo jest już podłączone. Zgłoszono żądanie połączenia dla
gniazda, które jest już podłączone.
v WSAENOTCONN (10057): Gniazdo nie jest podłączone.
v WSAETIMEDOUT (10060): Przekroczono limit czasu połączenia. Próba połączenia nie
powiodła się ponieważ druga strona nie odpowiedziała w określonym czasie, lub
nawiązane połączenie nie powiodło się z powodu braku odpowiedzi zdalnego węzła. Brak
odpowiedzi może być spowodowany błędem sieciowym lub awarią systemu zdalnego.
v WSAECONNREFUSED (10061): Odmowa połączenia. Nie można nawiązać połączenia
ponieważ jest ono odrzucane przez komputer docelowy. Jest to najczęściej spowodowane
próbą nawiązania połączenia z usługą na zdalnym hoście, która jest nieaktywna. W

722 Komunikaty, tom 2


przypadku próby połączenia z instancją lub z bazą danych należy sprawdzić, czy na
serwerze pomyślnie uruchomiono menedżera bazy danych i obsługę protokołu TCP/IP.
Błąd ten może wystąpić także wtedy, gdy firewall na komputerze docelowym odrzucił
żądanie połączenia. Aby usunąć ten problem, sprawdź, czy czy firewall jest poprawnie
skonfigurowany w celu akceptowania żądań połączeń.
v WSAEHOSTUNREACH (10065): Brak trasy do hosta. Operacja dotycząca gniazda
próbowała połączyć się z komputerem, który jest nieosiągalny.
v WSASYSNOTREADY (10091): Bazowy podsystem sieciowy nie jest gotowy do
komunikacji sieciowej. Ten błąd jest zwracany przez funkcję WSAStartup() kiedy
implementacja Windows Sockets nie może działać, gdyż system udostępniający jej usługi
sieciowe jest niedostępny. Sprawdź, czy biblioteka DLL Windows Sockets jest w bieżącej
ścieżce oraz czy w tym samym czasie używana jest tylko jedna implementacja WinSock.
Jeśli w systemie jest więcej niż jedna biblioteka DLL WinSock, sprawdź czy ta, która jest
wymieniona w ścieżce jako pierwsza, jest właściwa dla używanego podsystemu
sieciowego, oraz czy wszystkie wymagane komponenty są zainstalowane i poprawnie
skonfigurowane.
v WSAVERNOTSUPPORTED (10092): Żądana wersja biblioteki API dla mechanizmu
Windows Sockets nie jest obsługiwana przez tę implementację mechanizmu Windows
Sockets. Należy sprawdzić, czy nie są wykorzystywane żadne przestarzałe pliki DLL dla
mechanizmu Windows Sockets.
v WSANOTINITIALISED (10093): Aplikacja nie wywołała funkcji WSAStartup(),lub
funkcja WSAStartup() nie powiodła się. Aplikacja może mieć dostęp do gniazda, którego
nie posiada aktywne zadanie (na przykład przy próbie współużytkowania gniazd przez
różne zadania), lub funkcja WSACleanup() została wywołana zbyt wiele razy. Inną
przyczyną może być przerwanie połączenia.
v WSA_E_NO_MORE (10110), WSAENOMORE (10102): Brak dostępnych danych. W
wersji 2 mechanizmu Windows Sockets zdefiniowano dwa pozostające w konflikcie kody
błędów WSAENOMORE i WSA_E_NO_MORE. Kod błędu WSAENOMORE zostanie
usunięty w przyszłej wersji i pozostanie tylko kod WSA_E_NO_MORE.
v WSAHOST_NOT_FOUND (11001): Nie znaleziono hosta.
v WSATRY_AGAIN (11002): Nie znaleziono hosta. Próba pobrania adresu IP dla nazwy
hosta z serwera nazw nie powiodła się, ponieważ lokalny komputer nie otrzymał
odpowiedzi od serwera nazw.
v WSANO_DATA (11004): Poprawna nazwa, brak rekordu danych żądanego typu. Serwer
nazw lub plik hosts nie zawiera nazwy hosta albo nazwa usługi nie została określona w
pliku usług.

Więcej informacji na temat błędów komunikacji TCP/IP w systemie Windows można znaleźć
w dokumentacji mechanizmu Windows Sockets.

APPC

Poniżej przedstawiono listę najczęściej występujących kodów powrotu funkcji CPI-C. To nie
jest pełna lista kodów powrotu. Numer w nawiasach odpowiada kodowi powrotu.
v CM_ALLOCATE_FAILURE_NO_RETRY (1): Przydzielenie nie powiodło się z powodu
trwałego błędu. Na przykład nie można było uaktywnić sesji w związku z błędem definicji
systemu lub błędem protokołu aktywacji sesji. Ten kod powrotu jest także zwracany po
dezaktywacji sesji z powodu błędu protokołu sesji, który wystąpił przed przydzieleniem
konwersacji.
v CM_ALLOCATE_FAILURE_RETRY (2): Przydzielenie nie powiodło się z powodu
tymczasowego błędu. Na przykład nie można było uaktywnić sesji w związku z
tymczasowym brakiem zasobów w systemie lokalnym lub zdalnym.

Rozdział 4. Błędy komunikacji 723


v CM_CONVERSATION_TYPE_MISMATCH (3): Przydzielenie nie powiodło się ze
względu na brak obsługi przez zdalny program typu konwersacji w żądaniu przydziału.
Oznacza to najprawdopodobniej problem z programem TP na serwerze. Należy sprawdzić,
czy dla programu TP na serwerze skonfigurowano obsługę konwersacji typu basic.
v CM_TPN_NOT_RECOGNIZED (9): Ten błąd występuje w przypadku żądania przydziału
wysłanego do zdalnego systemu. Wskazuje on, że zdalny system nie rozpoznaje nazwy
programu transakcyjnego określonej w żądaniu. Jeśli nie korzysta się z globalnych usług
katalogowych, należy sprawdzić, czy nazwa programu TP określona w profilu CPI-C Side
Information na kliencie jest zgodna z nazwą programu TP określoną na serwerze. Jeśli
natomiast korzysta się z globalnych usług katalogowych, należy poprosić administratora
bazy danych o pomoc w uzgodnieniu nazwy programu TP wpisanej do globalnego
katalogu z nazwą określoną na serwerze.
v CM_TP_NOT_AVAILABLE_NO_RETRY (10): Ten błąd występuje w przypadku żądania
przydziału wysłanego do zdalnego systemu. Wskazuje on, że zdalna jednostka logiczna
rozpoznaje wysłaną nazwę programu TP, ale nie może go uruchomić. Należy sprawdzić,
czy identyfikator użytkownika określony w profilu TPN na serwerze jest poprawny.
v CM_TP_NOT_AVAILABLE_RETRY (11): Ten błąd występuje w przypadku żądania
przydziału wysłanego do zdalnego systemu. Wskazuje on, że zdalna jednostka logiczna
rozpoznaje wysłaną nazwę programu TP, ale z pewnych przyczyn, być może
przejściowych, nie może go uruchomić. Należy sprawdzić, czy na serwerze pomyślnie
uruchomiono menedżera baz danych oraz obsługę protokołu APPC.
v CM_DEALLOCATED_ABEND (17): Ten błąd występuje, kiedy zdalny program
likwiduje przydział konwersacji. Może się to zdarzyć w przypadku nieprawidłowego
zakończenia zdalnego programu lub wystąpienia błędu krytycznego.
v CM_PRODUCT_SPECIFIC_ERROR (20): Wykryto błąd dotyczący konkretnego
produktu, a opis błędu został zapisany w protokole błędów tego produktu. Należy
sprawdzić, czy lokalny podsystem APPC został uruchomiony pomyślnie. W przypadku
programu Communication Server dla systemu AIX uzyskanie dodatkowych informacji o
błędzie konkretnego produktu wymaga sprawdzenia wartości globalnej zmiennej errno.
Poniższa sekcja zawiera więcej informacji o wartościach zmiennych errno, które mogą być
zwracane.
v CM_RESOURCE_FAILURE_NO_RETRY (26): Ten błąd występuje, gdy konwersacja
zostanie przerwana zbyt wcześnie (po stronie zdalnej albo lokalnej) z powodu błędu
dotyczącego zasobów (takich jak sesje lub łącza).
v CM_RESOURCE_FAILURE_RETRY (27): Ten błąd występuje, gdy konwersacja
zostanie przerwana zbyt wcześnie (po stronie zdalnej albo lokalnej) z powodu takich
samych błędów, jak w przypadku kodu NO_RETRY opisanego powyżej. Jedyna różnica
polega na tym, że w tym przypadku błąd może mieć charakter przejściowy.

W większości przypadków kody powrotu interfejsu CPI Communications wystarczają do


wnioskowania o przyczynach błędów. Kiedy jednak zwracany jest kod
CM_PRODUCT_SPECIFIC_ERROR, udostępniane są dodatkowe informacje.

W przypadku programu Communication Server dla systemu AIX dodatkowe informacje


dostępne są w zmiennej errno. Poniżej przedstawiono listę częściej występujących wartości
zmiennej errno. Lista ta NIE jest kompletna. Kody errno o wartościach 101 i wyższych
można znaleźć w pliku /usr/include/luxsna.h, który zawiera wartości kodów errno właściwe
dla programu Communication Server dla systemu AIX. Większość tych kodów errno
powstała w wyniku translacji z kodów powrotu funkcji CPI-C. Kody błędów errno o niskich
numerach są związane z problemami w systemie AIX i można je znaleźć w pliku
/usr/include/sys/errno.h. Numer errno umieszczony jest w nawiasach.
v EBADF (9): Jest to błąd ″niepoprawny deskryptor pliku″. Jeśli błąd ten występuje podczas
próby połączenia z bazą danych, oznacza on zwykle, że podsystem SNA na serwerze nie
został uruchomiony lub że wystąpił jakiś problem z profilami konfiguracji SNA. Należy

724 Komunikaty, tom 2


sprawdzić, czy na serwerze został uruchomiony podsystem SNA. Ponadto należy
sprawdzić, czy uaktywniono stację łącza do węzła serwera.
v EACCESS (13): Jest to błąd ″odmowa uprawnienia″. Jeśli błąd ten występuje podczas
próby połączenia z bazą danych, oznacza on zwykle jakiś problem z profilami konfiguracji
SNA.

Dla programu SNAPlus2 w systemie HP-UX należy sprawdzić opis błędu w pliku
/usr/include/sys/errno.h.

Więcej informacji na temat błędów interfejsu CPI Communications zawiera publikacja


Systems Application Architecture Common Programming Interface Communications
Reference.

SOAP

Poniższa lista zawiera kody niektórych błędów występujących podczas korzystania z


protokołu SOAP. Numer w nawiasach odpowiada kodowi powrotu.
v SOAP_UNEXPECTED_NULL (38301): Jedna z danych wejściowych dla funkcji
komunikacyjnych SOAP (działanie SOAP, punkt końcowy SOAP lub treść SOAP) miała
wartość NULL.
v HTTP_INITSOCKET (38303): Błąd podczas inicjowania gniazda.
v HTTP_ERROR_UNKNOWN_PROTOCOL (38304): Nieznany protokół wykorzystywany
w adresie URL.
v HTTP_INVALID_URL (38305): Nieprawidłowa składnia adresu URL.
v HTTP_ERROR_CREATE_SOCKET (38306): Błąd podczas tworzenia gniazda.
v HTTP_ERROR_BIND_SOCKET (38307): Błąd podczas wiązania gniazda (funkcja bind).
v HTTP_ERROR_RESOLVE_HOSTNAME (38308): Nie można dokonać translacji
określonej nazwy hosta.
v HTTP_ERROR_SOCKET_CONNECT (38309): Błąd podczas łączenia się z gniazdem.
v HTTP_ERROR_GET_PROTO (38310): Błąd podczas uzyskiwania nazwy protokołu TCP
(funkcja getprotobyname).
v HTTP_ERROR_SET_SOCKOPT (38311): Błąd podczas ustawiania opcji gniazda (funkcja
setsockopt).
v HTTP_ERROR_UNEXPECTED_RETURN (38312): Nieoczekiwany kod powrotu HTTP.
v HTTP_ERROR_RETURN CONTENTTYPE (38313): Nieoczekiwana wartość atrybutu
nagłówka HTTP Content-type.
v SOAP_SAX_INIT (38314): Błąd podczas inicjowania analizatora składni SAX.
v SOAP_SAX_CREATE_PARSER (38315): Błąd podczas tworzenia analizatora składni
SAX.
v SOAP_SAX_CREATE_HANDLER (38316): Błąd podczas tworzenia uchwytu analizatora
składni SAX.
v SOAP_SAX_ERROR (38317): Błąd podczas analizy XML protokołu SOAP.
v SOAP_SAX_OUTENCODING (38318): Błąd podczas konwersji strony kodowej
komunikatu XML.
v HTTP_ERROR_WRITE_SOCKET (39820): Błąd podczas zapisu do gniazda.
v HTTP_ERROR_READ_SOCKET (38322): Błąd podczas odczytu z gniazda.
v HTTP_ERROR_SELECT_WAITREAD (38323):Błąd gniazda w funkcji wybierania.
v SOAP_ERROR_XML_SERIALIZE (38324): Błąd zapisu komunikatu XML protokołu
SOAP.
v SOAP_ERROR_NO_NS_END (38325): Błąd podczas przetwarzania przestrzeni nazw.

Rozdział 4. Błędy komunikacji 725


v SOAP_ERROR_FAULT (38326): Usługa WWW zwróciła błąd protokołu SOAP.

MQ

Poniższa lista zawiera kody niektórych błędów występujących podczas korzystania z


protokołu MQ. Nie jest to pełna lista. Numer w nawiasach odpowiada kodowi powrotu.
Więcej szczegółów można znaleźć w dokumentacji protokołu MQ.
v MQRC_CHAR_ATTR_LENGTH_ERROR (2006)
v MQRC_CONNECTION_BROKEN (2009)
v MQRC_HANDLE_NOT_AVAILABLE (2017)
v MQRC_HCONN_ERROR (2018)
v MQRC_HOBJ_ERROR (2019)
v MQRC_MSG_TOO_BIG_FOR_Q (2030)
v MQRC_MSG_TOO_BIG_FOR_Q_MGR (2031)
v MQRC_NO_MSG_AVAILABLE (2033)
v MQRC_OBJECT_CHANGES (2041)
v MQRC_Q_FULL (2053)
v MQRC_Q_SPACE_NOT_AVAILABLE (2056)
v MQRC_Q_MGR_NAME_ERROR (2058)
v MQRC_Q_MGR_NOT_AVAILABLE (2059)
v MQRC_UNKNOWN_OBJECT_NAME (2085)

SSL

Podczas korzystania z protokołu SSL, oprogramowanie GSKit może zgłaszać błędy. Poniższa
lista zawiera błędy które mogą zostać zgłoszone.
v 4: Brak pamięci.
v 6: W pliku kluczy nie znaleziono podanej etykiety pliku kluczy.
v 7: Nie otrzymano certyfikatu od partnera.
v 8: Błąd sprawdzania poprawności certyfikatu.
v 102: Błąd wejścia/wyjścia podczas czytania pliku kluczy.
v 103: Plik kluczy ma niepoprawny format. Utwórz plik kluczy ponownie.
v 104: Plik kluczy zawiera zduplikowane klucze.
v 105: Plik kluczy zawiera zduplikowane etykiety.
v 106: Niepoprawne hasło pliku kluczy lub plik kluczy został uszkodzony.
v 107: Domyślny klucz w pliku kluczy posiada certyfikat, który utracił ważność.
v 108: Błąd podczas ładowania bibliotek GSKit. Sprawdź, czy program GSKit został
poprawnie zainstalowany.
v 201: Nie podano hasła pliku kluczy.
v 202: Błąd podczas otwierania pliku kluczy. Sprawdź, czy ścieżka pliku kluczy jest
poprawna.
v 401: Ustawiono niepoprawną wartości daty systemowej.
v 403: Nie otrzymano wymaganego certyfikatu od partnera.
v 404: Otrzymano wymagany certyfikat od partnera, ale format certyfikatu jest zły.
v 405: Otrzymano certyfikat nieobsługiwanego typu.
v 406: Podczas komunikacji z partnerem napotkano błąd wejścia/wyjścia.
v 407: W pliku kluczy nie znaleziono podanej etykiety certyfikatu klienta.

726 Komunikaty, tom 2


v 408: Hasło podane dla pliku kluczy nie było poprawne.
v 409: Niepoprawna długość klucza (klucz jest za długi).
v 410: Otrzymano niepoprawnie sformatowany komunikat SSL od partnera.
v 412: Otrzymano nieobsługiwany typ protokołu lub certyfikatu.
v 413: Otrzymany certyfikat zawiera niepoprawny podpis.
v 414: Otrzymano niepoprawnie sformatowany certyfikat.
v 415: Otrzymano niepoprawny protokół SSL.
v 417: Samopodpisany certyfikat jest niepoprawny.
v 420: Partner zamknął gniazdo komunikacyjne przed zakończeniem protokołu SSL.
v 428: Podany klucz nie zawiera klucza prywatnego.

SOCKS

Podczas korzystania z protokołu SOCKS, mogą zostać zgłoszone następujące błędy:


v 01: Ogólny błąd serwera SOCKS
v 02: Połączenie nie jest dozwolone przez reguły zdefiniowane na serwerze SOCKS
v 03: Sieć docelowa jest niedostępna
v 04: Host docelowy jest niedostępny
v 05: Połączenie zostało odrzucone przez zdalny host
v 06: TTL utraciło ważność (zdalny host jest zbyt daleko)
v 07: Nieobsługiwana komenda. (Błąd wewnętrzny)
v 08: Nieobsługiwany typ adresu. (Błąd wewnętrzny)
v 91: Żądanie zostało odrzucone lub nie powiodło się. Użytkownik lub program źródłowy
nie ma prawa dostępu do serwera proxy.
v 92: Żądanie zostało odrzucone ponieważ serwer SOCKS nie mógł nawiązać kontaktu z
″identd″ (serwerem IDENT).
v 93: Żądanie zostało odrzucone ponieważ program kliencki i identd zgłosiły różne
tożsamości użytkownika.

Poniższe wartości wskazują na użytą metodę uwierzytelniania:


v 00: Brak uwierzytelniania.
v 01: GSSAPI
v 02: USERNAME/PASSWORD
v FF: Nie znaleziono żadnych dopuszczalnych metod.

HTTP

Podczas korzystania z protokołu HTTP, mogą zostać zgłoszone następujące błędy:


v 400: Błędne żądanie
v 401: Brak autoryzacji
v 403: Brak dostępu
v 404: Nie znaleziono
v 407: Wymagane uwierzytelnianie proxy
v 408: Przekroczono limit czasu żądania
v 413: Zbyt duży element w żądaniu
v 414: Adres URL jest zbyt długi
v 502: Błędna brama. Wskazuje że serwer lub proxy otrzymał niepoprawną odpowiedź od
innego serwera (lub proxy).

Rozdział 4. Błędy komunikacji 727


v 503: Usługa niedostępna. Wskazuje na czasowy niedobór zasobów.
v 504: Przekroczono limit czasu bramy.
v 505: Nieobsługiwana wersja HTTP.

728 Komunikaty, tom 2


Dodatek A. Przegląd informacji technicznych o programie DB2
Dokumentacja techniczna DB2 jest dostępna za pośrednictwem następujących narzędzi i
metod:
v Centrum informacyjne DB2
– tematy (zadanie, opis i informacje dodatkowe)
– pomoc dotycząca narzędzi DB2
– programy przykładowe
– kursy
v podręczniki DB2
– pliki PDF (możliwe do pobrania)
– pliki PDF (z dysku DVD z dokumentacją programu DB2 w formacie PDF)
– podręczniki drukowane
v pomoc dostępna z wiersza komend
– pomoc dotycząca komend
– pomoc dotycząca komunikatów

Uwaga: Tematy Centrum informacyjnego DB2 są aktualizowane częściej niż jakiekolwiek


podręczniki w formacie PDF czy w postaci drukowanej. Aby mieć dostęp do najbardziej
aktualnych informacji, należy instalować aktualizacje dokumentacji, gdy tylko staną się one
dostępne, albo korzystać z wersji Centrum informacyjnego DB2 oferowanej w serwisie
ibm.com.

Dodatkowe informacje techniczne dla produktu DB2, takie jak noty techniczne, raporty i
dokumentacja techniczna IBM Redbooks są dostępne w postaci elektronicznej w serwisie
ibm.com. Serwis biblioteki oprogramowania DB2 Information Management jest dostępny pod
adresem http://www.ibm.com/software/data/sw-library/.

Opinia na temat dokumentacji

Opinia użytkowników na temat dokumentacji DB2 jest dla nas bardzo ważna. Wszelkie
sugestie dotyczące możliwości ulepszenia dokumentacji produktu DB2 można wysyłać pocztą
elektroniczną na adres db2docs@ca.ibm.com. Zespół odpowiedzialny za dokumentację DB2
czyta wszystkie nadesłane opinie, ale nie wysyła indywidualnych odpowiedzi. Jeśli jest to
możliwe, prosimy o zamieszczenie konkretnych przykładów, które pomogą nam w lepszym
zrozumieniu nadesłanej opinii. Jeśli opinia dotyczy konkretnego tematu lub pliku pomocy,
należy podać jego tytuł oraz adres URL.

Powyższego adresu email nie należy używać w celu skontaktowania się z działem wsparcia
dla Klientów DB2. W przypadku problemów technicznych dotyczących produktu DB2, dla
których nie można znaleźć rozwiązania w dokumentacji, w celu uzyskania pomocy należy
skontaktować się z lokalnym centrum obsługi IBM.

© IBM Corporation 1993, 2007 729


Biblioteka techniczna produktu DB2 w formacie PDF lub w postaci
drukowanej
W poniższych tabelach przedstawiono bibliotekę programu DB2 dostępną w serwisie IBM
Publications Center pod adresem www.ibm.com/shop/publications/order. Angielskie wersje
podręczników produktu DB2 wersja 9.5 w formacie PDF oraz ich przetłumaczone wersje
można pobrać z serwisu WWW pod adresem www.ibm.com/support/docview.wss?rs=71
&uid=swg2700947.

Poniższe tabele zawierają informacje, które z podręczników są dostępne w postaci


drukowanej, jednak nie wszystkie z nich mogą być dostępne w danym kraju.
Tabela 44. Informacje techniczne dotyczące programu DB2
Dostępne w postaci
Nazwa Numer zamówienia drukowanej
Administrative API Reference SC23-5842-00 Tak
Administrative Routines and Views SC23-5843-00 Nie
Call Level Interface Guide and SC23-5844-00 Tak
Reference, Volume 1
Call Level Interface Guide and SC23-5845-00 Tak
Reference, Volume 2
Command Reference SC23-5846-00 Tak
Data Movement Utilities Guide SC23-5847-00 Tak
and Reference
Data Recovery and High SC23-5848-00 Tak
Availability Guide and Reference
Data Servers, Databases, and SC23-5849-00 Tak
Database Objects Guide
Database Security Guide SC23-5850-00 Tak
Developing ADO.NET and OLE SC23-5851-00 Tak
DB Applications
Developing Embedded SQL SC23-5852-00 Tak
Applications
Developing Java Applications SC23-5853-00 Tak
Developing Perl and PHP SC23-5854-00 Nie
Applications
Developing User-defined Routines SC23-5855-00 Tak
(SQL and External)
Getting Started with Database GC23-5856-00 Tak
Application Development
DB2 - Wprowadzenie do GC85-0298-00 Tak
instalowania i administrowania w
środowisku Linux i Windows
Internationalization Guide SC23-5858-00 Tak
Komunikaty, tom 1 GI11-8368-00 Nie
Komunikaty, tom 2 GI11-8369-00 Nie
Podręcznik migracji GC85-0299-00 Tak

730 Komunikaty, tom 2


Tabela 44. Informacje techniczne dotyczące programu DB2 (kontynuacja)
Dostępne w postaci
Nazwa Numer zamówienia drukowanej
Net Search Extender SC23-8509-00 Tak
Administration and User’s Guide
Uwaga: Ten dokument nie jest
dostępny w Centrum
informacyjnym DB2
Partitioning and Clustering Guide SC23-5860-00 Tak
Query Patroller Administration SC23-8507-00 Tak
and User’s Guide
Klienty serwera danych IBM - GC85-0301-00 Nie
Krótkie wprowadzenie
Serwery DB2 - Krótkie GC85-0300-00 Tak
wprowadzenie
Spatial Extender and Geodetic SC23-8508-00 Tak
Data Management Feature User’s
Guide and Reference
SQL Reference, Volume 1 SC23-5861-00 Tak
SQL Reference, Volume 2 SC23-5862-00 Tak
System Monitor Guide and SC23-5865-00 Tak
Reference
Text Search Guide SC23-5866-00 Tak
Troubleshooting Guide GI11-7857-00 Nie
Tuning Database Performance SC23-5867-00 Tak
Kurs Visual Explain SC85-0305-00 Nie
What’s New SC23-5869-00 Tak
Workload Manager Guide and SC23-5870-00 Tak
Reference
pureXML Guide SC23-5871-00 Tak
XQuery Reference SC23-5872-00 Nie

Tabela 45. Informacje techniczne dotyczące produktu DB2 Connect


Dostępne w postaci
Nazwa Numer zamówienia drukowanej
DB2 Connect Personal Edition - GC85-0302-00 Tak
Krótkie wprowadzenie
Serwery DB2 Connect - Krótkie GC85-0303-00 Tak
wprowadzenie
DB2 Connect - Podręcznik SC85-0304-00 Tak
użytkownika

Tabela 46. Informacje techniczne dotyczące produktów z rodziny Information Integration


Dostępne w postaci
Nazwa Numer zamówienia drukowanej
Information Integration: SC19-1020-01 Tak
Administration Guide for
Federated Systems

Dodatek A. Przegląd informacji technicznych o programie DB2 731


Tabela 46. Informacje techniczne dotyczące produktów z rodziny Information
Integration (kontynuacja)
Dostępne w postaci
Nazwa Numer zamówienia drukowanej
Information Integration: ASNCLP SC19-1018-02 Tak
Program Reference for Replication
and Event Publishing
Information Integration: SC19-1034-01 Nie
Configuration Guide for Federated
Data Sources
Information Integration: SQL SC19-1030-01 Tak
Replication Guide and Reference
Information Integration: SC19-1028-01 Tak
Introduction to Replication and
Event Publishing

Zamawianie drukowanych podręczników z biblioteki DB2


W wielu, choć nie we wszystkich krajach, istnieje możliwość zamówienia drukowanych
podręczników DB2 przez Internet. Drukowane podręczniki DB2 można również zamówić u
lokalnego przedstawiciela IBM. Należy pamiętać, że nie wszystkie podręczniki umieszczone
na dysku DVD DB2 PDF Documentation są dostępne w postaci drukowanej. Na przykład
żaden z tomów podręcznika Komunikaty DB2 nie jest dostępny w postaci drukowanej.

Drukowane wersje wielu podręczników DB2 znajdujących się na dysku DVD z dokumentacją
DB2 w formacie PDF, można bezpłatnie zamówić w firmie IBM. W zależności od tego skąd
składane jest zamówienie, podręczniki można zamówić przez Internet korzystając z serwisu
WWW IBM Publications Center. Jeśli elektroniczne składanie zamówień nie jest dostępne w
danym kraju, drukowane podręczniki DB2 można zamówić u lokalnego przedstawiciela IBM.
Należy pamiętać, że nie wszystkie podręczniki umieszczone na dysku DVD z dokumentacją
DB2 w formacie PDF są dostępne w postaci drukowanej.

Uwaga: Najbardziej aktualna i pełna dokumentacja DB2 znajduje się w Centrum


informacyjnym DB2 pod adresem http://publib.boulder.ibm.com/infocenter/db2luw/v9r5.

Aby zamówić drukowane podręczniki DB2:


v Aby sprawdzić czy w danym kraju jest możliwość zamówienia podręczników DB2 poprzez
Internet, połącz się z serwisem WWW IBM Publications Center pod adresem
http://www.ibm.com/shop/publications/order. Wybierz kraj lub język, aby uzyskać dostęp
do informacji na temat zamawiania książek, a następnie postępuj zgodnie z wyświetlanymi
instrukcjami.
v Aby zamówić drukowane podręczniki DB2 u lokalnego przedstawiciela IBM:
1. Odszukaj informacje kontaktowe lokalnego przedstawiciela IBM za pomocą jednego z
następujących serwisów WWW:
– IBM Directory of World Wide Contacts pod adresem www.ibm.com/planetwide
– IBM Publications pod adresem http://www.ibm.com/shop/publications/order.
Wybierz kraj lub język, aby przejść do strony głównej publikacji odpowiedniej dla
wybranego kraju lub języka. Na tej stronie kliknij odsyłacz ″About this site″.
2. Podczas rozmowy telefonicznej, zaznacz że chcesz zamówić książki DB2 w postaci
drukowanej.

732 Komunikaty, tom 2


3. Podaj przedstawicielowi IBM tytuły i numery zamówienia podręczników, które chcesz
zamówić. Informacje o tytułach i numerach zamówień można znaleźć w sekcji
“Biblioteka techniczna produktu DB2 w formacie PDF lub w postaci drukowanej” na
stronie 730.

Wyświetlanie pomocy dotyczącej stanu SQL przy użyciu procesora


wiersza komend
Program DB2 zwraca wartość SQLSTATE w sytuacji, która mogła zaistnieć na skutek
wykonania instrukcji SQL. Pomoc dotycząca wartości SQLSTATE zawiera wyjaśnienia
znaczenia stanów SQL i opisy kodów klas stanów SQL.

Aby wyświetlić pomoc dotyczącą stanów SQL, otwórz procesor wiersza komend i wpisz:
? stan sql lub ? kod klasy

gdzie stan sql reprezentuje poprawny pięciocyfrowy stan SQL, a kod klasy reprezentuje
pierwsze dwie cyfry stanu SQL.

Na przykład: ? 08003 wyświetla pomoc dotyczącą stanu SQL 08003, a ? 08 wyświetli


pomoc dotyczącą kodu klasy 08.

Uzyskiwanie dostępu do różnych wersji Centrum informacyjnego DB2


Tematy dotyczące produktu DB2, wersja 9.5, znajdują się w Centrum informacyjnym DB2
pod adresem URL http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/.

Tematy dotyczące produktu DB2, wersja 9, znajdują się w Centrum informacyjnym DB2 pod
adresem URL http://publib.boulder.ibm.com/infocenter/db2luw/v9/.

Tematy dotyczące produktu DB2, wersja 8, znajdują się w Centrum informacyjnym dla wersji
8 pod adresem URL: http://publib.boulder.ibm.com/infocenter/db2luw/v8/.

Wyświetlanie tematów w Centrum informacyjnym DB2 w preferowanym


języku użytkownika
Jeśli jest to możliwe, tematy w Centrum informacyjnym DB2 są wyświetlane w języku
określonym w preferencjach przeglądarki. Jeśli dany temat nie został przetłumaczony na
preferowany język użytkownika, temat ten jest wyświetlany w Centrum informacyjnym DB2
w języku angielskim.
v Aby wyświetlić tematy w preferowanym języku w przeglądarce Internet Explorer:
1. W programie Internet Explorer kliknij kolejno opcje: Narzędzia —> Opcje
internetowe —> Języki.... Zostanie otwarte okno Preferencje językowe.
2. Sprawdź, czy na liście języków jako pierwszy wyświetlany jest preferowany język.
– Aby dodać do listy nowy język, kliknij przycisk Dodaj....

Uwaga: Dodanie języka nie powoduje dodania do systemu czcionek niezbędnych


do wyświetlania tematów w preferowanym języku.
– Aby przenieść język na początek listy, wybierz język i klikaj przycisk Przenieś w
górę do momentu, gdy język znajdzie się na początku listy.
3. Wyczyść pamięć podręczną przeglądarki a następnie odśwież stronę, aby wyświetlić
Centrum informacyjne DB2 w wybranym języku.
v Aby wyświetlić tematy w wybranym języku w przeglądarce Firefox lub Mozilla:

Dodatek A. Przegląd informacji technicznych o programie DB2 733


1. Naciśnij przycisk w sekcji Języki okna dialogowego Narzędzia —> Opcje —>
Zaawansowane. W oknie Preferences (Preferencje) zostanie wyświetlony panel
Languages (Języki).
2. Sprawdź, czy na liście języków jako pierwszy wyświetlany jest preferowany język.
– Aby dodać do listy nowy język, kliknij przycisk Add... (Dodaj...), co pozwoli
wybrać język w oknie Add Languages (Dodaj języki).
– Aby przenieść język na początek listy, wybierz język i klikaj przycisk Przenieś w
górę do momentu, gdy język znajdzie się na początku listy.
3. Wyczyść pamięć podręczną przeglądarki a następnie odśwież stronę, aby wyświetlić
Centrum informacyjne DB2 w wybranym języku.

W niektórych kombinacjach przeglądarki i systemu operacyjnego może być konieczna


zmiana ustawień regionalnych systemu operacyjnego na wybrane ustawienia narodowe i
język.

Aktualizowanie Centrum informacyjnego DB2 zainstalowanego na


komputerze lokalnym lub serwerze intranetowym
W przypadku lokalnie zainstalowanego Centrum informacyjnego DB2 można pobierać i
instalować aktualizacje udostępniane przez firmę IBM.

Aby zaktualizować lokalnie zainstalowane Centrum informacyjne DB2:


1. Zatrzymaj Centrum informacyjne DB2 na komputerze i zrestartuj je w trybie
autonomicznym. Uruchomienie Centrum informacyjnego w trybie autonomicznym
uniemożliwia dostęp do niego innym użytkownikom w sieci, umożliwiając pobranie i
zastosowanie aktualizacji.
2. Aby sprawdzić dostępne aktualizacje, należy użyć funkcji Aktualizuj. Jeśli istnieją
aktualizacje, które użytkownik chciałby zainstalować, funkcji Aktualizuj można użyć do
ich pobrania i zainstalowania.

Uwaga: Jeśli dane środowisko wymaga zainstalowania aktualizacji Centrum


informacyjnego DB2 na komputerze, który nie jest podłączony do sieci, należy utworzyć
lokalną kopię ośrodka aktualizacyjnego za pomocą komputera podłączonego do sieci i z
zainstalowanym Centrum informacyjnym DB2. Jeśli w danej sieci aktualizację będzie
instalować wielu użytkowników, można skrócić czas wymagany do zainstalowania
aktualizacji na komputerze danej osoby, tworząc lokalną kopię ośrodka aktualizującego i
konfigurując dla niego serwer proxy.
Jeśli pakiety aktualizacyjne są dostępne, należy je pobrać za pomocą opcji Aktualizuj.
Opcja Aktualizuj jest dostępna tylko w trybie autonomicznym.
3. Zatrzymaj autonomiczne Centrum informacyjne i zrestartuj Centrum informacyjne DB2
na komputerze.

Uwaga: W systemie Windows Vista wymienione niżej komendy muszą być uruchamiane
przez administratora. Aby uruchomić wiersz komend lub program graficzny z pełnymi
uprawnieniami administratora, kliknij skrót prawym przyciskiem myszy i wybierz opcję
Uruchom jako.

Aby zaktualizować Centrum informacyjne DB2 zainstalowane na komputerze lub serwerze


intranetowym:
1. Zatrzymaj Centrum informacyjne DB2.
v W systemie Windows kliknij kolejno opcje: Start → Panel sterowania → Narzędzia
administracyjne → Usługi. Następnie kliknij prawym przyciskiem myszy usługę
Centrum informacyjne DB2 i wybierz opcję Zatrzymaj.

734 Komunikaty, tom 2


v W systemie Linux wprowadź następującą komendę:
/etc/init.d/db2icdv95 stop
2. Uruchom Centrum informacyjne w trybie autonomicznym.
v W systemie Windows:
a. Otwórz okno komend.
b. Przejdź do katalogu, w którym zainstalowane jest Centrum informacyjne.
Domyślnie Centrum informacyjne DB2 jest instalowane w katalogu <Program
Files>\IBM\DB2 Information Center\Version 9.5, gdzie <Program Files>
reprezentuje położenie katalogu Program Files.
c. Przejdź z katalogu instalacyjnego do podkatalogu doc\bin.
d. Uruchom plik help_start.bat:
help_start.bat
v W systemie Linux:
a. Przejdź do katalogu, w którym zainstalowane jest Centrum informacyjne.
Domyślnie Centrum informacyjne DB2 jest instalowane w katalogu
/opt/ibm/db2ic/V9.5.
b. Przejdź z katalogu instalacyjnego do podkatalogu doc/bin.
c. Uruchom skrypt help_start:
help_start
Zostanie uruchomiona domyślna przeglądarka WWW systemu, a w niej autonomiczne
Centrum informacyjne.
3. Kliknij przycisk Aktualizuj ( ). W prawym panelu Centrum informacyjnego kliknij
opcję Znajdź aktualizacje. Zostanie wyświetlona lista aktualizacji dla istniejącej
dokumentacji.
4. Aby zainicjować proces pobierania, zaznacz elementy, które chcesz pobrać, a następnie
kliknij przycisk Zainstaluj aktualizacje.
5. Po zakończeniu procesu pobierania i instalowania, kliknij przycisk Zakończ.
6. Zatrzymaj autonomiczne Centrum informacyjne.
v W systemie Windows należy przejść do podkatalogu doc\bin w katalogu instalacyjnym
i uruchomić plik help_end.bat:
help_end.bat

Uwaga: Plik wsadowy help_end zawiera komendy wymagane do bezpiecznego


zakończenia procesów, które zostały uruchomione za pomocą pliku wsadowego
help_start. Do zakończenia działania pliku help_start.bat nie należy używać kombinacji
klawiszy Ctrl-C lub jakiejkolwiek innej metody.
v W systemie Linux, przejdź do podkatalogu doc/bin w katalogu instalacyjnym i
uruchom skrypt help_end:
help_end

Uwaga: Skrypt help_end zawiera komendy wymagane do bezpiecznego zakończenia


procesów, które zostały uruchomione za pomocą skryptu help_start. Do zakończenia
działania skryptu help_start nie należy używać żadnej innej metody.
7. Zrestartuj Centrum informacyjne DB2.
v W systemie Windows kliknij kolejno opcje: Start → Panel sterowania → Narzędzia
administracyjne → Usługi. Następnie kliknij prawym przyciskiem myszy usługę
Centrum informacyjne DB2 i wybierz opcję Uruchom.
v W systemie Linux wprowadź następującą komendę:
/etc/init.d/db2icdv95 start

Dodatek A. Przegląd informacji technicznych o programie DB2 735


Zostanie wyświetlone zaktualizowane Centrum informacyjne DB2 z nowymi,
zaktualizowanymi tematami.

Kursy DB2
Kursy DB2 pomagają w poznawaniu różnych aspektów dotyczących produktów DB2. Lekcje
zawierają szczegółowe instrukcje krok po kroku.

Zanim rozpoczniesz

Kurs w wersji XHTML można wyświetlić w Centrum informacyjnym pod adresem:


http://publib.boulder.ibm.com/infocenter/db2help/.

W niektórych lekcjach wykorzystano przykładowe dane lub kod programu. Opisy wymagań
wstępnych dla wykonania konkretnych zadań znajdują się w treści kursu.

Kursy DB2

Aby wyświetlić kurs, kliknij jego tytuł.


“pureXML” w pureXML Guide
Konfigurowanie bazy danych DB2 do przechowywania danych XML i
przeprowadzania podstawowych operacji na składnicy rodzimych danych XML.
“Visual Explain” w Kurs Visual Explain
Poprawianie wydajności drogą analizy, optymalizacji i dostrajania instrukcji SQL za
pomocą programu Visual Explain.

Informacje dotyczące rozwiązywania problemów z programem DB2


Podczas korzystania z produktów DB2 użytkownik ma do dyspozycji wiele różnych
informacji dotyczących diagnozowania i rozwiązywania problemów.
Dokumentacja DB2
Informacje na temat rozwiązywania problemów można znaleźć w podręczniku DB2
Troubleshooting Guide lub w sekcji dotyczącej wsparcia i rozwiązywania
problemów w Centrum informacyjnym DB2. Znajdują się tam informacje na temat
wyodrębniania i identyfikowania problemów przy użyciu diagnostycznych narzędzi
DB2, opisy rozwiązań najczęstszych problemów, oraz inne porady dotyczące
rozwiązywania problemów, które mogą wystąpić podczas korzystania z produktów
DB2.
Serwis WWW wsparcia technicznego dla programu DB2
W razie wystąpienia problemów i konieczności uzyskania pomocy w znalezieniu
prawdopodobnych przyczyn i możliwych rozwiązań, należy odwiedzić serwis
WWW wsparcia technicznego dla programu DB2. Serwis ten zawiera odsyłacze do
najnowszych publikacji dotyczących programu DB2, not technicznych, raportów
APAR (Authorized Program Analysis Reports), pakietów poprawek i innych
zasobów. Użytkownik może przeszukiwać tę bazę wiedzy, aby znaleźć możliwe
rozwiązania określonych problemów.
Serwis WWW wsparcia technicznego dla programu DB2 jest dostępny pod adresem:
http://www.ibm.com/software/data/db2/udb/support.html

Warunki
Zezwolenie na korzystanie z tych publikacji jest przyznawane na poniższych warunkach.

736 Komunikaty, tom 2


Użytek osobisty: Użytkownik ma prawo kopiować te publikacje do własnego,
niekomercyjnego użytku pod warunkiem zachowania wszelkich uwag dotyczących praw
własności. Użytkownik nie ma prawa dystrybuować ani wyświetlać tych publikacji czy ich
części, ani też wykonywać na ich podstawie prac pochodnych bez wyraźnej zgody IBM.

Użytek służbowy: Użytkownik ma prawo kopiować te publikacje, dystrybuować je i


wyświetlać wyłącznie w ramach przedsiębiorstwa Użytkownika pod warunkiem zachowania
wszelkich uwag dotyczących praw własności. Użytkownik nie ma prawa wykonywać na
podstawie tych publikacji ani ich części prac pochodnych, kopiować ich, dystrybuować ani
wyświetlać poza przedsiębiorstwem Użytkownika bez wyraźnej zgody IBM.

Z wyjątkiem zezwoleń wyraźnie udzielonych w niniejszym dokumencie, nie udziela się


jakichkolwiek innych zezwoleń, licencji ani praw, wyraźnych czy domniemanych,
odnoszących się do tych publikacji czy jakichkolwiek informacji, danych, oprogramowania
lub innej własności intelektualnej, o których mowa w niniejszym dokumencie.

IBM zastrzega sobie prawo do anulowania zezwolenia przyznanego w niniejszym


dokumencie w każdej sytuacji, gdy, według uznania IBM, korzystanie z tych publikacji jest
szkodliwe dla IBM lub jeśli IBM uzna, że warunki niniejszego dokumentu nie są
przestrzegane.

Użytkownik ma prawo pobierać, eksportować lub reeksportować niniejsze informacje pod


warunkiem zachowania bezwzględnej i pełnej zgodności z obowiązującym prawem i
przepisami, w tym ze wszelkimi prawami i przepisami eksportowymi Stanów Zjednoczonych.

IBM NIE UDZIELA JAKICHKOLWIEK GWARANCJI, W TYM TAKŻE RĘKOJMI,


DOTYCZĄCYCH TREŚCI TYCH PUBLIKACJI. PUBLIKACJE TE SĄ DOSTARCZANE
W STANIE, W JAKIM SIĘ ZNAJDUJĄ (″AS-IS″) BEZ UDZIELANIA JAKICHKOLWIEK
GWARANCJI, W TYM TAKŻE RĘKOJMI, WYRAŹNYCH CZY DOMNIEMANYCH, A
W SZCZEGÓLNOŚCI DOMNIEMANYCH GWARANCJI PRZYDATNOŚCI
HANDLOWEJ CZY PRZYDATNOŚCI DO OKREŚLONEGO CELU.

Dodatek A. Przegląd informacji technicznych o programie DB2 737


738 Komunikaty, tom 2
Dodatek B. Uwagi
Niniejsza publikacja została przygotowana z myślą o produktach i usługach oferowanych w
Stanach Zjednoczonych.

Produktów, usług lub opcji opisywanych w tym dokumencie firma IBM nie musi oferować w
innych krajach. Informacje o produktach i usługach dostępnych w danym kraju można
uzyskać od lokalnego przedstawiciela firmy IBM. Jakakolwiek wzmianka na temat produktu,
programu lub usługi firmy IBM nie oznacza, że może być zastosowany jedynie ten produkt,
ten program lub ta usługa firmy IBM. Zamiast nich można zastosować ich odpowiednik
funkcjonalny, pod warunkiem, że nie narusza to praw własności intelektualnej firmy IBM.
Jednakże cała odpowiedzialność za ocenę przydatności i sprawdzenie działania produktu,
programu lub usługi pochodzących od producenta innego niż IBM spoczywa na użytkowniku.

IBM może posiadać patenty lub złożone wnioski patentowe na towary i usługi, o których
mowa w niniejszej publikacji. Używanie tego dokumentu nie daje żadnych praw do tych
patentów. Wnioski o przyznanie licencji można zgłaszać na piśmie pod adresem:

IBM Director of Licensing


IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

Zapytania dotyczące zestawów znaków dwubajtowych (DBCS) należy kierować do lokalnych


działów własności intelektualnej firmy IBM (IBM Intellectual Property Department) lub
wysłać je na piśmie na adres:

IBM World Trade Asia Corporation


Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

Poniższy akapit nie obowiązuje w Wielkiej Brytanii, a także w innych krajach, w


których jego treść pozostaje w sprzeczności z przepisami prawa miejscowego: FIRMA
INTERNATIONAL BUSINESS MACHINES CORPORATION DOSTARCZA TĘ
PUBLIKACJĘ W TAKIM STANIE, W JAKIM SIĘ ZNAJDUJE “AS IS” BEZ
UDZIELANIA JAKICHKOLWIEK GWARANCJI (W TYM TAKŻE RĘKOJMI),
WYRAŹNYCH LUB DOMNIEMANYCH, A W SZCZEGÓLNOŚCI DOMNIEMANYCH
GWARANCJI PRZYDATNOŚCI HANDLOWEJ ORAZ PRZYDATNOŚCI DO
OKREŚLONEGO CELU LUB GWARANCJI, ŻE PUBLIKACJA NIE NARUSZA PRAW
OSÓB TRZECICH. Ustawodawstwa niektórych krajów nie dopuszczają zastrzeżeń
dotyczących gwarancji wyraźnych lub domniemanych w odniesieniu do pewnych transakcji;
w takiej sytuacji powyższe zdanie nie ma zastosowania.

Informacje zawarte w niniejszej publikacji mogą zawierać nieścisłości techniczne lub błędy
drukarskie. Informacje te są okresowo aktualizowane, a zmiany te zostaną ujęte w kolejnych
wydaniach tej publikacji. IBM zastrzega sobie prawo do wprowadzania ulepszeń i/lub zmian
w produktach i/lub programach opisanych w tej publikacji w dowolnym czasie, bez
wcześniejszego powiadomienia.

Niniejszy dokument może zawierać odsyłacze lub odniesienia do serwisów WWW i zasobów
stron trzecich. IBM nie dokonuje jakichkolwiek ustaleń, nie udziela gwarancji (w tym także

© IBM Corporation 1993, 2007 739


rękojmi) i nie podejmuje jakichkolwiek zobowiązań dotyczących serwisów WWW
nienależących do IBM oraz zasobów stron trzecich, które mogą być przywołane w niniejszym
dokumencie, z niego dostępne bądź do których odsyłacz tenże dokument może zawierać.
Odsyłacz do serwisu WWW strony trzeciej nie oznacza, że IBM wyraża swoją zgodę na
zawartość lub używanie takiego serwisu WWW bądź że udziela poparcia jego właścicielowi.
Ponadto IBM nie jest stroną jakichkolwiek transakcji, które użytkownik może zawrzeć ze
stronami trzecimi, ani też nie ponosi za takie transakcje odpowiedzialności, nawet jeśli
dowiedział się o takich stronach trzecich (lub używał odsyłacza do ich serwisu) za
pośrednictwem serwisu WWW IBM. W związku z tym użytkownik potwierdza i zgadza się
ze stwierdzeniem, że IBM nie ponosi odpowiedzialności za dostępność takich zewnętrznych
serwisów WWW czy zasobów ani też za treści, usługi, produkty bądź inne materiały
znajdujące się w takich serwisach i zasobach bądź z nich dostępne. Wszelkie oprogramowanie
dostarczane przez strony trzecie podlega warunkom licencji dołączonych to takiego
oprogramowania.

IBM ma prawo do korzystania i rozpowszechniania informacji przysłanych przez


użytkownika w dowolny sposób, jaki uzna za właściwy, bez żadnych zobowiązań wobec ich
autora.

Licencjobiorcy tego programu, którzy chcieliby uzyskać informacje na temat programu w


celu: (i) wdrożenia wymiany informacji między niezależnie utworzonymi programami i
innymi programami (łącznie z tym opisywanym) oraz (ii) wykorzystywania wymienianych
informacji, powinni skontaktować się z:

IBM Canada Limited


Office of the Lab Director
8200 Warden Avenue
Markham, Ontario
L6G 1C7
CANADA

Informacje takie mogą być udostępnione, o ile spełnione zostaną odpowiednie warunki, w
tym, w niektórych przypadkach, uiszczenie odpowiedniej opłaty.

Licencjonowany program opisany w tym dokumencie oraz wszystkie inne licencjonowane


materiały dostępne dla tego programu są dostarczane przez IBM na warunkach określonych w
Umowie IBM z Klientem, Międzynarodowej Umowie Licencyjnej IBM na Program lub w
innych podobnych umowach zawartych między IBM i użytkownikami.

Wszelkie dane dotyczące wydajności zostały zebrane w kontrolowanym środowisku. W


związku z tym rezultaty uzyskane w innych środowiskach operacyjnych mogą się znacząco
różnić. Niektóre pomiary mogły być dokonywane na systemach będących w fazie rozwoju i
nie ma gwarancji, że pomiary te wykonane na ogólnie dostępnych systemach dadzą takie
same wyniki. Niektóre z pomiarów mogły być estymowane przez ekstrapolację. Rzeczywiste
wyniki mogą być inne. Użytkownicy powinni we własnym zakresie sprawdzić odpowiednie
dane dla ich środowiska.

Informacje dotyczące produktów innych firm zostały uzyskane od dostawców tych produktów
z opublikowanych przez nich zapowiedzi lub innych powszechnie dostępnych źródeł. Firma
IBM nie testowała tych produktów i nie może potwierdzić dokładności pomiarów wydajności,
kompatybilności ani żadnych innych danych związanych z tymi produktami. Pytania
dotyczące możliwości produktów innych firm należy kierować do dostawców tych
produktów.

Jakiekolwiek wzmianki na temat kierunków rozwoju firmy IBM mogą ulec zmianie lub
anulowaniu bez uprzedzenia i dotyczą jedynie ogólnych celów i założeń.

740 Komunikaty, tom 2


Publikacja ta może zawierać przykładowe dane i raporty używane w codziennej działalności
biznesowej. W celu kompleksowego zilustrowania tej działalności podane przykłady
zawierają nazwy osób, firm i ich produktów. Wszystkie te nazwiska/nazwy są fikcyjne i
jakakolwiek ich zbieżność z prawdziwymi nazwiskami/nazwami jest całkowicie
przypadkowa.

LICENCJA NA PRAWA AUTORSKIE:

Niniejsza publikacja może zawierać przykładowe aplikacje w kodzie źródłowym, ilustrujące


techniki programowania w różnych systemach operacyjnych. Użytkownik może kopiować,
modyfikować i rozpowszechniać te programy przykładowe w dowolnej formie bez uiszczania
opłat na rzecz firmy IBM, w celu rozbudowy, użytkowania, handlowym lub w celu
rozpowszechniania aplikacji zgodnych z aplikacyjnym interfejsem programowym dla tego
systemu operacyjnego, dla którego napisane były programy przykładowe. Programy
przykładowe nie zostały gruntownie przetestowane. Firma IBM nie może zatem gwarantować
lub sugerować niezawodności, użyteczności i funkcjonalności tych programów.

Każda kopia lub dowolna część programów przykładowych, albo też dowolna praca
pochodna, musi zawierać poniższą informację o prawach autorskich:

© (nazwa_firmy_użytkownika) (rok). Części niniejszego kodu pochodzą z programów


przykładowych IBM Corp. Sample Programs. © Copyright IBM Corp. _rok_lub_lata_.
Wszelkie prawa zastrzeżone.

Znaki towarowe

Nazwy firm, produktów i usług występujące w dokumentacji produktu DB2 wersja 9.5 mogą
być znakami towarowymi lub znakami usług firmy International Business Machines
Corporation lub innych firm. Informacje na temat znaków towarowych firmy IBM
Corporation znajdują się pod adresem http://www.ibm.com/legal/copytrade.shtml.

Poniższe nazwy są znakami towarowymi lub zastrzeżonymi znakami towarowymi innych


firm i zostały użyte w co najmniej jednym dokumencie z biblioteki DB2:

Microsoft, Windows, Windows NT i logo Windows są znakami towarowymi firmy Microsoft


Corporation w Stanach Zjednoczonych i/lub innych krajach.

Intel, logo Intel, logo Intel Inside, Intel Centrino, logo Intel Centrino, Celeron, Intel Xeon,
Intel SpeedStep, Itanium i Pentium są znakami towarowymi Intel Corporation w Stanach
Zjednoczonych i/lub innych krajach.

Java i wszystkie znaki towarowe związane z Java są znakami towarowymi firmy Sun
Microsystems, Inc. w Stanach Zjednoczonych i/lub innych krajach.

UNIX jest zastrzeżonym znakiem towarowym The Open Group w Stanach Zjednoczonych i
innych krajach.

Linux jest zastrzeżonym znakiem towarowym Linusa Torvaldsa w Stanach Zjednoczonych


i/lub innych krajach.

Adobe, logo Adobe, PostScript i logo PostScript są zastrzeżonymi znakami towarowymi lub
znakami towarowymi Adobe Systems Incorporated w Stanach Zjednoczonych i/lub innych
krajach.

Inne nazwy firm, produktów i usług mogą być znakami towarowymi lub znakami usług
innych firm.

Dodatek B. Uwagi 741


742 Komunikaty, tom 2
Indeks
A V
aktualizacje Visual Explain
Centrum informacyjne 734 kurs 736
Centrum informacyjne DB2 734

W
C warunki
Centrum informacyjne korzystanie z publikacji 736
aktualizowanie 734
wersje 733
wyświetlanie w różnych językach
Centrum informacyjne DB2
733 Z
zamawianie podręczników do programu DB2 732
aktualizowanie 734
wersje 733
wyświetlanie w różnych językach 733

D
diagnozowanie problemów
informacje w postaci elektronicznej 736
kursy 736
dokumentacja
w formacie PDF lub drukowana 730
warunki używania 736

I
IBM Data Server
komunikaty 1, 719
instrukcje SQL
wyświetlanie pomocy 733

K
komunikaty 1, 719
kursy
określanie i rozwiązywanie problemów 736
Visual Explain 736

P
podręczniki drukowane
zamawianie 732
pomoc
dotycząca instrukcji SQL 733
wyświetlanie 733
przegląd dokumentacji 729

R
rozwiązywanie problemów
informacje w postaci elektronicznej 736
kursy 736

U
uwagi 739

© Copyright IBM Corp. 1993, 2007 743


744 Komunikaty, tom 2
򔻐򗗠򙳰

GI11-8369-00

You might also like