SQL0401N | Typy danych dla operandów operacji "<operacja>" nie są zgodne. |
Objaśnienie: Operacja "<operacja>", która wystąpiła w instrukcji SQL, zawiera jednocześnie operandy liczbowe i operandy nieliczbowe albo operandy biorące udział w operacji nie są zgodne.
Użytkownicy systemów stowarzyszeń: Naruszenie typu danych może mieć miejsce w źródle danych lub w bazie serwera stowarzyszonego.
Niektóre źródła danych nie dostarczają poprawnych wartości parametru "<operator>". W takim przypadku element komunikatu ma format : "<źródło danych>:UNKNOWN", co oznacza, że właściwa wartość dla określonego źródła danych nie jest znana.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź typy danych wszystkich operandów, aby upewnić się, że są one porównywalne i zgodne ze sposobem wykorzystania w instrukcji.
Jeśli wszystkie operandy w instrukcji SQL są poprawne i instrukcja dotyczy widoku, sprawdź typy danych wszystkich operandów widoku.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i sprawdź ograniczenia dotyczące typów danych właściwe dla tego źródła danych.
sqlcode: -401
sqlstate: 42818
SQL0402N | Typ danych operandu dla funkcji arytmetycznej lub operacji "<operator>" nie jest liczbowy. |
Objaśnienie: Dla funkcji arytmetycznej albo operacji "<operator>" został podany operand, który nie jest liczbowy.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw składnię instrukcji SQL, tak aby wszystkie podane funkcje lub operandy były typu numerycznego.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i sprawdź operacje wykonane na tym źródle danych.
sqlcode: -402
sqlstate: 42819
SQL0403W | Nowo zdefiniowany alias "<nazwa>" prowadzi do obiektu "<nazwa2>", który nie jest aktualnie zdefiniowany. |
Objaśnienie: Alias "<nazwa>" został zdefiniowany dla:
Obiekt <nazwa2> jest niezdefiniowanym obiektem. Obiekt ten musi istnieć, zanim dowolna instrukcja SQL (inna niż CREATE ALIAS) będzie mogła poprawnie korzystać z nowo utworzonego aliasu. Zostanie utworzony podany alias <nazwa>.
Podczas tworzenia aliasu widok nieoperatywny jest uważany za niezdefiniowany.
Działanie użytkownika: Sprawdź, czy niezdefiniowany obiekt <nazwa2> został zdefiniowany przed użyciem nowo utworzonego aliasu w instrukcji SQL (innej niż CREATE ALIAS).
sqlcode: +403
sqlstate: 01522
SQL0404N | Łańcuch w instrukcji UPDATE lub INSERT jest zbyt długi dla kolumny "<nazwa>". |
Objaśnienie: Instrukcja INSERT lub UPDATE podała wartość, która jest dłuższa niż maksymalna długość łańcucha, który może być przechowany w podanej kolumnie.
Nie można wykonać instrukcji.
Uwaga: | "<nazwa>" może być lub może nie być zwrócona w obszarze komunikacyjnym SQL, w zależności od składni instrukcji INSERT lub UPDATE. |
Działanie użytkownika: Sprawdź długość obiektu kolumny i popraw program lub instrukcję SQL, tak aby wstawiany bądź aktualizowany łańcuch nie przekraczał maksymalnej długości.
sqlcode: -404
sqlstate: 22001
SQL0405N | Literał numeryczny "<literał>" jest niepoprawny, ponieważ jego wartość jest spoza dopuszczalnego zakresu. |
Objaśnienie: Podany literał numeryczny nie mieści się w dopuszczalnym zakresie.
Poniżej podane zostały poprawne zakresy wartości języka SQL:
W określonych kontekstach literały mogą mieć dodatkowe ograniczenia, których efektem może być wystąpienie niniejszego błędu. Więcej informacji na ten temat zawierają opisy instrukcji i klauzul w podręczniku SQL Reference.
Użytkownicy systemów stowarzyszeń: przekroczenie zakresu może mieć miejsce w źródle danych lub w serwerze stowarzyszonym. Odpowiednie zakresy wartości SQL, umieszczonych w tabeli źródeł danych, zależą od określonego źródła danych. Poprawne zakresy można znaleźć w dokumentacji źródła danych. Niektóre źródła danych nie dostarczają poprawnych wartości parametru "<literał>". W takim przypadku element komunikatu ma format : "<źródło danych>:UNKNOWN", co oznacza, że właściwa wartość dla określonego źródła danych nie jest znana.
Nie można wykonać instrukcji.
Działanie użytkownika: Zmniejsz wartość literału do dopuszczalnej wartości.
Użytkownicy systemów stowarzyszeń: jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nie obsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i zakresy wartości danych właściwe dla tego źródła danych.
sqlcode: -405
sqlstate: 42820
SQL0406N | Wartość liczbowa w instrukcji UPDATE lub INSERT jest spoza zakresu kolumny docelowej. |
Objaśnienie: Wartość zmiennej języka bazowego lub wartość liczbowa obliczona podczas przetwarzania instrukcji SQL UPDATE lub INSERT nie mieści się w zakresie kolumny docelowej. Ten problem może być spowodowany przez wartości znajdujące się w obiekcie kolumny, wykonywane z ich udziałem instrukcje SQL lub oba te przypadki.
Nie można wykonać instrukcji.
Działanie użytkownika: Zapoznaj się z opisem komunikatu SQL0405 zawierającym dopuszczalne zakresy liczbowych typów danych.
INFORMACJA: Przy aktualizacjach katalogu systemowego zapoznaj się z podręcznikiem SQL Reference, która zawiera informacje o dopuszczalnych zakresach kolumn możliwych do zaktualizowania.
sqlcode: -406
sqlstate: 22003
SQL0407N | Przypisanie wartości NULL do kolumny NOT NULL "<nazwa>" jest niedopuszczalne. |
Objaśnienie: Wystąpiła jedna z następujących sytuacji:
Jeśli wartość "<nazwa>" ma postać "TBSPACEID=n1, TABLEID=n2, COLNO=n3" oznacza to, że nazwa kolumny z instrukcji SQL nie była dostępna w czasie powstania błędu. Udostępniona wartość identyfikuje obszar tabel, tabelę oraz numer kolumny tabeli podstawowej, która nie dopuszcza wartości NULL.
Użytkownicy systemów stowarzyszeń: Sytuacja ta może zostać wykryta przez serwer stowarzyszony lub przez źródło danych. Niektóre źródła danych nie dostarczają poprawnych wartości parametru "<nazwa>". W takim przypadku element komunikatu ma format : "<źródło danych>:UNKNOWN", co oznacza, że właściwa wartość dla określonego źródła danych nie jest znana.
Nie można wykonać instrukcji.
Uwaga: | W niektórych okolicznościach element "<nazwa>" może nie zostać wypełniony (niewypełnione pole sqlerrmc obszaru komunikacyjnego SQL). |
Działanie użytkownika: Popraw instrukcję języka SQL po sprawdzeniu definicji tabeli obiektów, aby określić, które kolumny tabeli mają atrybut NOT NULL i nie mają atrybutu WITH DEFAULT.
Jeśli wartość "<nazwa>" ma postać "TBSPACEID=n1, TABLEID=n2, COLNO=n3", można określić nazwę tabeli i nazwę kolumny, korzystając z następującego zapytania:
SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME FROM SYSCAT.TABLES AS T, SYSCAT.COLUMNS AS C WHERE T.TBSPACEID = n1 AND T.TABLEID = n2 AND C.COLNO = n3 AND C.TABSCHEMA = T.TABSCHEMA AND C.TABNAME = T.TABNAME
Tabela i kolumna, określona przez to zapytanie, może być tabelą podstawową widoku, dla którego instrukcja SQL zakończyła się niepowodzeniem.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i sprawdź definicję obiektu dla tego źródła danych. Pamiętaj, że wartości domyślne (NULL i NOT NULL) nie muszą być takie same w różnych źródłach danych.
sqlcode: -407
sqlstate: 23502
SQL0408N | Wartość nie jest zgodna z typem danych przypisanego celu . Nazwą celu jest "<nazwa>". |
Objaśnienie: Typ danych wartości, która ma być przeniesiona za pomocą instrukcji SQL do kolumny, parametru, zmiennej SQL lub zmiennej przejściowej jest niezgodna z zadeklarowanym typem danych przypisanego celu. Oba typy muszą być:
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź instrukcję i dodatkowo tabelę docelową lub widok, aby określić typ danych docelowych. Upewnij się, że przypisana wartość zmiennej, wyrażenia lub literału miała typ danych właściwy dla docelowego przypisania.
sqlcode: -408
sqlstate: 42821
SQL0409N | Operand funkcji COUNT jest niepoprawny. |
Objaśnienie: Operand funkcji COUNT podany w instrukcji SQL nie jest zgodny z regułami składni języka SQL. Dopuszczalne postaci to COUNT(*) i COUNT(DISTINCT kolumna).
Nie można wykonać instrukcji.
Działanie użytkownika: Podaj jedną z postaci: COUNT(*) lub COUNT(DISTINCT kolumna).
INFORMACJA: Ten błąd odnosi się tylko do wydań DB2 wcześniejszych niż DB2 wersja 2.
sqlcode: -409
sqlstate: 42607
SQL0410N | Literał zmiennopozycyjny "<literał>" zawiera więcej niż 30 znaków. |
Objaśnienie: Podany literał zmiennopozycyjny składa się z więcej niż 30 znaków, nie licząc zer wiodących. Literał zmiennopozycyjny może mieć maksymalnie 30 znaków.
Nie można wykonać instrukcji.
Działanie użytkownika: Skróć podany literał.
sqlcode: -410
sqlstate: 42820
SQL0412N | Podzapytanie, któremu wolno zwrócić tylko jedną kolumnę, zwróciło wiele kolumn. |
Objaśnienie: W kontekście instrukcji SQL określona została pełna selekcja, która w wyniku może mieć tylko jedną kolumnę.
Nie można wykonać instrukcji.
Działanie użytkownika: Gdy dozwolona jest tylko selekcja skalarna, określ tylko jedną kolumnę.
sqlcode: -412
sqlstate: 42823
SQL0413N | Podczas konwersji numerycznych typów danych nastąpiło przepełnienie. |
Objaśnienie: Podczas przetwarzania instrukcji języka SQL w trakcie konwersji z jednego typu liczbowego na inny wystąpiło przepełnienie. Konwersja liczbowa jest wykonywana zgodnie ze standardowymi regułami języka SQL.
Użytkownicy systemów stowarzyszeń: Konwersja liczbowa może zachodzić na serwerze stowarzyszonym, w źródłach danych lub w obu przypadkach.
Nie można wykonać instrukcji. Żadne dane nie zostały odczytane, zaktualizowane ani usunięte.
Działanie użytkownika: Prześledź składnię instrukcji SQL, aby określić przyczynę problemu. Jeśli problem wynika z danych, może być niezbędne sprawdzenie danych przetwarzanych w momencie wystąpienia błędu.
Użytkownicy systemów stowarzyszeń: jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nie obsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i zakresy wartości danych właściwe dla tego źródła danych.
sqlcode: -413
sqlstate: 22003
SQL0415N | Typy danych odpowiadających sobie kolumn w pełnej selekcji zawierającej operator mnogościowy w klauzuli VALUES w instrukcji INSERT lub w pełnej selekcji nie są zgodne. |
Objaśnienie: Istnieje wiele instrukcji, w których może wystąpić ten błąd.
Kolumny nie są zgodne z jednej z następujących przyczyn:
Jeśli typ danych kolumny jest znakiem, datą, czasem lub datownikiem, odpowiadająca mu kolumna może być stałym łańcuchem znaków.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw nazwy kolumn używane w instrukcjach SELECT lub wyrażenia w klauzuli VALUES, tak aby wszystkie odpowiadające sobie kolumny były zgodnych typów.
sqlcode: -415
sqlstate: 42825
SQL0416N | W instrukcjach SELECT lub VALUES połączonych operatorem mnogościowym innym niż UNION ALL nie można podać kolumny wynikowej o długości elementów przekraczającej 254 bajty. |
Objaśnienie: Jedna z instrukcji SELECT lub VALUES połączona operatorem mnogościowym podała kolumnę o długości elementów przekraczającej 254 bajty. Kolumny wynikowe VARCHAR lub VARGRAPHIC dłuższe od 254 bajtów mogą być używane tylko z operatorem mnogościowym UNION ALL.
Nie można wykonać instrukcji.
Działanie użytkownika: Użyj operatora UNION ALL zamiast UNION lub usuń kolumny wynikowe dłuższe od 254 bajtów z instrukcji SELECT albo VALUES.
sqlcode: -416
sqlstate: 42907
SQL0417N | Łańcuch instrukcji, który ma zostać przygotowany, zawiera znaczniki parametrów jako operandy tego samego operatora. |
Objaśnienie: Łańcuch instrukcji podany jako obiekt instrukcji PREPARE lub EXECUTE IMMEDIATE zawiera predykat lub wyrażenie, w którym znaczniki parametrów zostały użyte jako operandy tego samego operatora bez użycia specyfikacji CAST. Na przykład:
? > ?
Nie można wykonać instrukcji.
Działanie użytkownika: Taka składnia nie jest obsługiwana. Użyj specyfikacji CAST, aby nadać co najmniej jednemu ze znaczników parametrów typ danych.
sqlcode: -417
sqlstate: 42609
SQL0418N | Instrukcja zawiera niepoprawny znacznik parametru. |
Objaśnienie: Znaczniki parametrów o nieokreślonym typie nie mogą być używane:
Znaczników parametrów nie można nigdy używać:
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw składnię instrukcji. Jeśli nie są dopuszczalne znaczniki parametrów o nieokreślonym typie, użyj specyfikacji CAST, aby określić typ danych dla znacznika parametru.
sqlcode: -418
sqlstate: 42610
SQL0419N | Operacja dzielenia dziesiętnego jest niepoprawna, ponieważ jej wynik miałby ujemną skalę. |
Objaśnienie: Podana operacja dzielenia dziesiętnego jest niepoprawna, ponieważ jej wynik miałby ujemną skalę.
Wewnętrzny wzór, używany do obliczania skali wyników dzielenia dziesiętnego ma postać:
Zakres wyniku = 31 - np + ns - ds
gdzie np jest dokładnością licznika, ns jest skalą licznika, a ds jest skalą mianownika.
Użytkownicy systemów stowarzyszeń: Dzielenie dziesiętne może zachodzić na serwerze stowarzyszonym, w źródłach danych, lub w obu przypadkach. Wynik podanej operacji dzielenia dziesiętnego nie mieści się w skali dopuszczalnej dla źródła danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź i przetestuj dokładność i skalę dla wszystkich kolumn, które mogą brać udział w dzieleniu dziesiętnym. W przypadku tej operacji wartości typu integer lub small integer można poddać konwersji do postaci dziesiętnej.
Użytkownicy systemów stowarzyszeń: jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nie obsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i zakresy wartości danych właściwe dla tego źródła danych.
sqlcode: -419
sqlstate: 42911
SQL0420N | W łańcuchu znaków stanowiącym argument funkcji "<nazwa-funkcji>" znaleziono niepoprawny znak. |
Objaśnienie: Funkcja "<nazwa-funkcji>" ma argument będący łańcuchem znaków, który zawiera znak niewłaściwy w stałej liczbowej języka SQL. Funkcja ta mogła zostać wywołana w wyniku użycia specyfikacji CAST z "<nazwa-funkcji>" jako docelowym typem danych. Funkcja lub typ danych używany w instrukcji SQL może być synonimem dla "<nazwa-funkcji>".
Jeśli w funkcji DECIMAL został podany separator dziesiętny, jest to znak, który musi zostać użyty zamiast domyślnego separatora dziesiętnego.
Działanie użytkownika: Sprawdź, czy łańcuchy znaków, które są przekształcane do postaci liczbowej zawierają tylko takie znaki, które są dopuszczalne w zmiennych liczbowych języka SQL oraz separator dziesiętny, jeśli został podany.
sqlcode: -420
sqlstate: 22018
SQL0421N | Operandy operatorów mnogościowych lub klauzuli VALUES nie mają takiej samej liczby kolumn. |
Objaśnienie: Operandy operatorów mnogościowych takich jak UNION, EXCEPT lub INTERSECT muszą mieć taką samą liczbę kolumn. Wiersze w klauzuli VALUES muszą mieć taką samą liczbę kolumn.
Nie można wykonać instrukcji.
Działanie użytkownika: Zmień instrukcję SQL, tak aby każdy operand lub każdy wiersz klauzuli VALUES miał dokładnie taką samą liczbę kolumn.
sqlcode: -421
sqlstate: 42826
SQL0423N | Wskaźnik dużego obiektu (LOB) "<pozycja-zmiennej>" nie ma żadnej wartości. |
Objaśnienie: Zmienna wskaźnikowa jest błędna. Nie została do niej przypisana wartość LOB albo wskaźnik przypisany do tej zmiennej został zwolniony.
Jeśli została podana "<pozycja-zmiennej>", podaje ona pozycję błędnej zmiennej w podanym zbiorze zmiennych. W zależności od tego, kiedy błąd został wykryty, menedżer baz danych będzie w stanie określić, jaka jest "<pozycja-zmiennej>".
Pozycja "<pozycja-zmiennej>" może także mieć wartość "nazwa-funkcji RETURNS", co oznacza, że wartość wskaźnika zwrócona z definiowanej przez użytkownika funkcji nazwa-funkcji jest błędna.
Działanie użytkownika: Popraw program, tak aby wskaźnik dużego obiektu (LOB) używany w instrukcji SQL wskazywał na poprawne wartości LOB przed rozpoczęciem wykonywania instrukcji. Wartość LOB może zostać przypisana do zmiennej wskaźnikowej za pomocą instrukcji SELECT INTO, VALUES INTO albo FETCH.
sqlcode: -423
sqlstate: 0F001
SQL0426N | Dynamiczne zatwierdzanie jest niepoprawne w środowisku, w którym aplikacja jest wykonywana. |
Objaśnienie: Aplikacja działająca w środowisku CONNECT TYPE 2 lub DTP (Distributed Transaction Processing - DTP), takim jak CICS, próbowała wykonać dynamiczną instrukcję COMMIT języka SQL. Dynamiczna instrukcja COMMIT języka SQL nie może zostać wykonana w tym środowisku.
Użytkownicy systemów stowarzyszeń: Instrukcje COMMIT dynamicznego języka SQL nie mogą być wykonywane podczas sesji tranzytowej.
Działanie użytkownika:
Użytkownicy systemów stowarzyszeń: Umieść instrukcję COMMIT w komentarzu albo zakoduj ją jako instrukcję statyczną. Następnie wprowadź ponownie program.
sqlcode: -426
sqlstate: 2D528
SQL0427N | Dynamiczne wycofanie zmian jest niepoprawne w środowisku, w którym aplikacja jest wykonywana. |
Objaśnienie: Aplikacja działająca w środowisku CONNECT TYPE 2 lub w środowisku rozproszonym (Distributed Transaction Processing - DTP), takim jak CICS, próbowała wykonać dynamiczną instrukcję ROLLBACK języka SQL. Dynamiczna instrukcja ROLLBACK języka SQL nie może zostać wykonana w tym środowisku.
Użytkownicy systemów stowarzyszeń: Instrukcje ROLLBACK dynamicznego języka SQL nie mogą być wykonywane podczas sesji tranzytowej.
Działanie użytkownika:
Użytkownicy systemów stowarzyszeń: Umieść instrukcję ROLLBACK w komentarzu albo zakoduj ją jako instrukcję statyczną. Następnie wprowadź ponownie program.
sqlcode: -427
sqlstate: 2D529
SQL0428N | Instrukcja SQL jest dopuszczalna tylko jako pierwsza instrukcja w jednostce pracy. |
Objaśnienie: Wydana instrukcja SQL musi być wykonana przed wszystkimi innymi instrukcjami SQL, które inicjują jednostkę pracy. Poniżej przedstawiono możliwe sytuacje:
Należy zauważyć, że gdy instrukcją jest DISCONNECT ALL, powoduje ona wysłanie instrukcji DISCONNECT do wszystkich połączeń, w związku z czym żądanie nie powiedzie się, jeśli któreś z połączeń narusza powyższe ograniczenia.
Działanie użytkownika: Przed przetworzeniem instrukcji SQL wydaj instrukcję COMMIT lub ROLLBACK. Jeśli są jakieś kursory WITH HOLD, muszą zostać zamknięte. Jeśli instrukcją jest SET INTEGRITY, usuń klauzulę COMMIT THRESHOLD.
sqlcode: -428
sqlstate: 25001
SQL0429N | Przekroczono maksymalną liczbę równoczesnych wskaźników obiektów LOB. |
Objaśnienie: DB2 obsługuje maksymalną liczbę 32000 równoczesnych wskaźników dużych obiektów (LOB).
Działanie użytkownika: Zmodyfikuj program, tak aby wymagał mniejszej liczby równoczesnych wskaźników dużych obiektów (LOB) i powtórz próbę.
sqlcode: -429
sqlstate: 54028
SQL0430N | Funkcja zdefiniowana przez użytkownika "<nazwa-funkcji>" (o nazwie "<podana-nazwa>") zakończyła się niepoprawnie. |
Objaśnienie: W trakcie wykonywania podanej funkcji UDF wystąpiło niepoprawne zakończenie.
Działanie użytkownika: Należy poprawić tę funkcję. Skontaktuj się z jej autorem oraz z administratorem bazy danych. Do momentu wprowadzenia poprawek nie należy korzystać z tej funkcji.
sqlcode: -430
sqlstate: 38503
SQL0431N | Funkcja zdefiniowana przez użytkownika "<nazwa-funkcji>" (o nazwie "<podana-nazwa>") została przerwana przez użytkownika. |
Objaśnienie: Wystąpiło przerwanie użytkownika/klienta podczas sterowania nazwaną funkcją zdefiniowaną przez użytkownika.
Działanie użytkownika: Może to spowodować problem w funkcji zdefiniowanej przez użytkownika, taki jak nieskończona pętla lub oczekiwanie. Jeśli problem występuje nadal (tzn. przerwanie powoduje zawsze ten sam błąd), skontaktuj się z autorem funkcji zdefiniowanej przez użytkownika lub z administratorem bazy danych. Nie można używać funkcji zdefiniowanej przez użytkownika aż do rozwiązania problemu.
sqlcode: -431
sqlstate: 38504
SQL0432N | Znacznik parametru nie może mieć nazwy typu zdefiniowanego przez użytkownika lub docelowego typu referencyjnego "<nazwa-udt>". |
Objaśnienie: 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 "<nazwa-udt>". Typem danych znacznika parametru nie może być typ zdefiniowany przez użytkownika lub typ referencyjny, jeśli znacznik ten nie jest częścią przypisania (klauzula VALUES w instrukcji INSERT lub klauzula SET w instrukcji UPDATE) lub nie jest jawnie rzutowany za pomocą instrukcji CAST na odrębny typ danych zdefiniowany przez użytkownika lub typ referencyjny.
Nie można wykonać instrukcji.
Działanie użytkownika: Użyj jawnego rzutowania znacznika parametru na odrębny typ zdefiniowany przez użytkownika lub typ referencyjny. Inną możliwością jest rzutowanie kolumn zawierających dane typu źródłowego zdefiniowanego przez użytkownika na dane odpowiadającego mu typu źródłowego lub rzutowanie kolumn zawierających dane typu referencyjnego na dane odpowiadającego mu typu reprezentacji.
sqlcode: -432
sqlstate: 42841
SQL0433N | Wartość "<wartość>" jest za długa. |
Objaśnienie: Wartość "<wartość>" wymagała obcięcia przez rzutowanie systemowe (wbudowane) lub funkcję dopasowania, która została wywołana do konwersji wartości. Obcięcie nie jest dopuszczalne dla tej wartości.
Wartości poddawane konwersji:
Instrukcja nie powiodła się.
Działanie użytkownika: Jeśli "<wartość>" jest ciągiem znaków w instrukcji SQL, jest on za długi w danej sytuacji.
Jeśli "<wartość>" nie jest ciągiem znaków, prześledź instrukcję SQL, aby określić miejsce transformacji. Dane wejściowe do transformacji są za długie lub łańcuch docelowy jest za krótki.
Popraw problem i ponownie uruchom instrukcję.
sqlcode: -433
sqlstate: 22001
SQL0434W | Nieobsługiwana wartość dla klauzuli "<klauzula>" została zastąpiona przez wartość "<wartość>". |
Objaśnienie: Wartość podana dla klauzuli "<klauzula>" nie jest obsługiwana i została zastąpiona przez zidentyfikowaną obsługiwaną wartość "<wartość>".
Działanie użytkownika: Jeśli wybrana wartość jest akceptowalna, nie są wymagane żadne zmiany. W przeciwnym wypadku podaj wartość, która jest poprawna dla "<klauzula>".
sqlcode: +434
sqlstate: 01608
SQL0435N | W funkcji RAISE_ERROR podano niepoprawną wartość SQLSTATE "<sqlstate>". |
Objaśnienie: SQLSTATE podana w funkcji RAISE_ERROR nie odpowiada regułom zmiennej SQLSTATE zdefiniowanej w aplikacji.
Działanie użytkownika: Popraw wartość SQLSTATE podaną w funkcji RAISE_ERROR. Wartość SQLSTATE musi być łańcuchem znakowym zawierającym 5 znaków. Musi on zostać zdefiniowany jako typ CHAR o długości 5 lub jako typ VARCHAR o długości 5 lub większej. Wartości SQLSTATE muszą być zgodne z następującymi regułami dla SQLSTATE zdefiniowanych w aplikacji:
sqlcode: -435
sqlstate: 428B3
SQL0436N | W zmiennej języka bazowego będącej łańcuchem znakowym zakończonym znakiem NULL, używanej w języku C, brakuje kończącego znaku NULL. |
Objaśnienie: Wartość zmiennej wejściowej języka bazowego w języku programowania C wymaga znaku NULL jako znaku końca łańcucha.
Nie można wykonać instrukcji.
Działanie użytkownika: Wartość zmiennej wejściowej języka bazowego powinna zostać zakończona znakiem NULL.
sqlcode: -436
sqlstate: 22024
SQL0437W | Wydajność złożonego zapytania może być mniejsza niż optymalna. Kod przyczyny: "<kod-przyczyny>". |
Objaśnienie: Instrukcja może osiągnąć wydajność mniejszą niż optymalna, jeśli złożoność zapytania wymaga zasobów, które nie są dostępne lub napotkano graniczne warunki optymalizacji. Lista kodów przyczyny:
Instrukcja będzie przetwarzana.
Działanie użytkownika: Wykonaj jedną lub więcej z następujących czynności:
sqlcode: +437
sqlstate: 01602
SQL0438N | Aplikacja przekazała błąd z tekstem diagnostycznym: "<tekst>". |
Objaśnienie: Błąd ten jest wynikiem wywołania funkcji RAISE_ERROR lub instrukcji SIGNAL SQLSTATE w wyzwalaczu.
Działanie użytkownika: Przejrzyj dokumentację dotyczącą aplikacji.
sqlcode: -438
sqlstate: zdefiniowany w applikacji
SQL0439N | Funkcja zdefiniowana przez użytkownika "<nazwa-funkcji>" została pośrednio zaimplementowana przez funkcję "<funkcja-źródłowa>", co spowodowało błąd "<sqlcode>". |
Objaśnienie: Odwołanie do funkcji "<nazwa-funkcji>" nastąpiło w instrukcji użytkownika. Ponieważ jednak klauzula SOURCE została użyta w definicji tej funkcji, okazało się, że funkcja "<funkcja-źródłowa>" już zaimplementowała tę funkcję. (Może to być bezpośrednia lub pośrednia ścieżka z "<nazwa-funkcji>" do "<funkcja-źródłowa>".) Podczas kompilacji zamykacz (encapsulator) (kod DB2 pracujący zamiast funkcji) dla "<funkcji-źródłowej>" zwrócił błąd identyfikowany przez "<sqlcode>".
Działanie użytkownika: Przed podjęciem działań naprawczych należy przeprowadzić dokładniejsze rozpoznanie sytuacji. Przejrzyj wyjaśnienie dla "<sqlcode>". Jeśli "<funkcja-źródłowa>" jest funkcją wbudowaną, "<sqlcode>" powinien wskazywać problem, jak w przypadku, gdy w instrukcji użytkownika jest bezpośrednie odniesienie do wbudowanej funkcji. Jeśli "<funkcja-źródłowa>" jest funkcją zdefiniowaną przez użytkownika, komunikat najprawdopodobniej wskazuje na problem dotyczący jednego z argumentów lub wyniku otrzymanego z funkcji.
Usuń problem i spróbuj ponownie.
sqlcode: -439
sqlstate: 428A0
SQL0440N | W podanej ścieżce dla funkcji nie znaleziono funkcji o nazwie "<nazwa-funkcji>" ze zgodnymi argumentami. |
Objaśnienie: Zachodzi to w odniesieniu do funkcji "<nazwa-funkcji>", gdzie "<nazwa-funkcji>" może odnosić się do metody w sytuacji, gdy menedżer bazy danych nie może znaleźć funkcji lub metody, której mógłby użyć do zaimplementowania odniesienia. Możliwe przyczyny występowania tego problemu:
Działanie użytkownika: Rozwiąż problem i powtórz działanie. Może to dotyczyć dostępu do katalogu, zmiany instrukcji, dodania nowych funkcji i/lub zmiany ścieżki do funkcji.
sqlcode: -440
sqlstate: 42884
SQL0441N | Niepoprawne użycie parametru DISTINCT lub ALL z funkcją "<nazwa-funkcji>". |
Objaśnienie: Może być kilka przyczyn tego błędu.
Działanie użytkownika:
Napraw błąd i spróbuj ponownie.
sqlcode: -441
sqlstate: 42601
SQL0442N | Błąd w odniesieniu do procedury "<nazwa-procedury>". Osiągnięto maksymalną liczbę dopuszczalnych argumentów (90). |
Objaśnienie: W odniesieniu do procedury "<nazwa-procedury>" określono zbyt wiele argumentów. Dozwolonych jest maksymalnie 90.
Działanie użytkownika: Popraw instrukcję, zapewniając użycie poprawnej liczby argumentów i powtórz działanie.
sqlcode: -442
sqlstate: 54023
SQL0443N | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") zwróciła błąd SQLSTATE wraz z tekstem diagnostycznym "<tekst>". |
Objaśnienie: Do DB2 został zwrócony przez procedurę "<nazwa-procedury>" (nazwa specyficzna"<nazwa-specyficzna>") błąd SQLSTATE w formie 38xxx wraz z tekstem komunikatu "<tekst>". Procedurą może być funkcja zdefiniowana przez użytkownika lub metoda zdefiniowana przez użytkownika.
Działanie użytkownika: Użytkownik powinien rozumieć znaczenie błędu. Skontaktuj się z administratorem bazy danych lub z autorem procedury.
Wszystkie błędy wykryte przez funkcje IBM w schemacie SYSFUN zwróciły dla zmiennej SQLSTATE wartość 38552. Część tekstu komunikatu ma formę:
SYSFUN:nn
gdzie nn określa znaczenie kodu przyczyny:
sqlcode: -443
sqlstate: 38xxx (zmienna SQLSTATE zwrócona przez procedurę).
SQL0444N | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") jest zaimplementowana wraz z kodem w bibliotece lub na ścieżce "<biblioteka-lub-ścieżka>", funkcja "<funkcja-kod-id>", do której nie można uzyskać dostępu. Kod przyczyny: "<kod>". |
Objaśnienie: Menedżer DBMS usiłował uzyskać dostęp do treści kodu, służącego do implementacji procedury "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") i nie mógł tego dostępu uzyskać. Przyczyna niepowodzenia określona jest kodem przyczyny "<kod>" (kody wymienione są na następującej liście). Plik implementujący procedurę określony jest przez "<biblioteka-lub-ścieżka>", natomiast funkcja przez "<kod-funkcji>".
(Zauważ, że dwa ostatnie znaczniki mogą zostać obcięte w związku z ograniczeniami dotyczącymi całkowitej długości znacznika. Jeśli zajdzie taka sytuacja, może okazać się konieczny dostęp do definicji procedury w katalogach, po to, aby określić pełną bibliotekę lub ścieżkę oraz identyfikator kodu funkcji, zdefiniowane dla tej procedury.)
Działanie użytkownika: Odpowiednie dla każdego kodu przyczyny:
W systemie OS/2 ten kod przyczyny może zostać zwrócony, jeśli biblioteka DLL funkcji zdefiniowanych przez użytkownika ma nazwę dłuższą niż (8.3). Na przykład nazwa "abcdefgh99.dll" ma format (10.3) i wywoła ten komunikat z kodem przyczyny równym 4. Należy zmienić nazwę, tak aby zgadzała się z dopuszczalnym formatem, na przykład "abcdef99.dll".
Oprócz powyższego kod przyczyny może zostać zwrócony, jeśli procedura wymaga współużytkowanej biblioteki lub pliku DLL i nie można współużytkowanej biblioteki znaleźć (wykorzystując połączenia katalogów, określonych w zmiennej środowiskowej LIBPATH w systemach opartych na systemie UNIX lub w zmiennej środowiskowej PATH, w systemach opartych na środowisku INTEL). Pomiędzy bibliotekami mogą występować wielopoziomowe powiązania. Na przykład można znaleźć treść procedury X wymagającej współużytkowanej biblioteki Y, którą także można znaleźć. Y wymaga jednak Z, a Z nie można odnaleźć, w efekcie czego będzie zgłoszony błąd SQL0444N z kodem przyczyny 4.
Jeśli za pomocą informacji znajdujących się w tym komunikacie nie można rozpoznać błędu, plik protokołu diagnostycznego db2diag.log zawiera informacje o niepowodzeniu, które mogą okazać się pomocne przy wyodrębnianiu problemu. Może być konieczne skorzystanie z pomocy administratora systemu.
Użytkownicy systemów stowarzyszeń: Jeśli funkcja zdefiniowana przez użytkownika stanowi szablon funkcji (a więc nie jest wymagany kod w serwerze stowarzyszonym), można rozważyć zmodyfikowanie instrukcji SQL lub statystyk, aby umożliwić wykonanie tej funkcji w zdalnym źródle danych.
sqlcode: -444
sqlstate: 42724
SQL0445W | Wartość "<wartość>" została obcięta. |
Objaśnienie: Wartość "<wartość>" została obcięta przez rzutowanie systemowe (wbudowane) lub funkcję dopasowania, która została wywołana do konwersji wartości. Jest to ostrzeżenie.
Wartość podlegająca transformacji jest daną wyjściową procedury (funkcji zdefiniowanej przez użytkownika lub metody) i jest transformowana, ponieważ w definicji procedury znajduje się specyfikacja CAST FROM lub dlatego, że funkcja zdefiniowana przez użytkownika jest źródłem dla innej funkcji i wynik musi zostać przetransformowany.
Działanie użytkownika: Należy się upewnić, że wynik jest taki, jakiego należało się spodziewać i że pominięcie ostrzeżenia nie spowodowało nieoczekiwanych konsekwencji.
sqlcode: +445
sqlstate: 01004
SQL0447W | Instrukcja zawiera nadmiarowe specyfikacje wywołujące klauzulę "<klauzula>". |
Objaśnienie: Parametr "<klauzula>" występuje w instrukcji więcej niż raz. Jest to ostrzeżenie.
Działanie użytkownika: Jeśli nadmiarowość jest zamierzona lub jeśli nie powoduje żadnych uszkodzeń, wtedy nie jest wymagane żadne działanie. Dopuszczalnym typem "uszkodzenia" może być, na przykład pominięcie innego wymaganego klucza.
sqlcode: +447
sqlstate: 01589
SQL0448N | Błąd w definiowaniu procedury "<nazwa-procedury>". Została przekroczona maksymalna liczba dozwolonych parametrów (90 dla funkcji i metod definiowanych przez użytkownika, 32767 dla procedur zapisanych w bazie). |
Objaśnienie: Podczas definiowania procedury "<nazwa-procedury>", podano zbyt wiele parametrów. Instrukcją definiującą procedurę może być: CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (definicja metody) lub ALTER TYPE (definicja metody).
Działanie użytkownika: Zmień instrukcję, tak aby zawierała mniej parametrów.
sqlcode: -448
sqlstate: 54023
SQL0449N | Instrukcja definiująca procedurę "<nazwa-procedury>" zawiera w klauzuli EXTERNAL NAME niepoprawnie sformatowaną identyfikację biblioteki lub funkcji. |
Objaśnienie: Znaleziono błąd w klauzuli EXTERNAL NAME instrukcji CREATE, w funkcji zdefiniowanej przez użytkownika (UDF), w metodzie zdefiniowanej przez użytkownika lub w procedurze "<nazwa-procedury>" zapisanej w bazie. Podczas identyfikacji bibliotek/funkcji obowiązują następujące zasady:
Nazwa ma format '<a>!<b>' lub '<a>'. Między apostrofami nie może być spacji. <a> może być:
Jeśli <b> zostało pominięte, wartością domyślną jest punkt wejścia zdefiniowany podczas dołączania pliku. Jeśli <b> jest obecne, to identyfikuje punkt wejściowy (funkcję) wewnątrz <a>, która może zostać wywołana jako treść procedury.
Działanie użytkownika: Usuń problem i spróbuj ponownie. Prawdopodobną przyczyną jest dodanie spacji lub znaku '!' na początku lub końcu nazwy.
sqlcode: -449
sqlstate: 42878
SQL0450N | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") wygenerowała wartość wyniku, wartość SQLSTATE, tekst komunikatu lub scratchpad, który jest zbyt długi. |
Objaśnienie: Po powrocie z procedury "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") DB2 wykrył, że zwrócono więcej bajtów niż było przydzielonych dla jednej z następujących pozycji:
Definicja argumentu wynikowego w procedurze musi spełniać wymagania nałożone na typ danych. Więcej informacji na ten temat znajduje się w podręczniku Application Development Guide.
Jest to niedozwolone.
Błąd ten może być również zwrócony, jeśli długości pola scratchpad jest zmieniane przez procedurę.
Działanie użytkownika: Skontaktuj się z administratorem bazy danych lub z autorem procedury.
sqlcode: -450
sqlstate: 39501
SQL0451N | Definicja "<elementu danych>" w instrukcji, która definiuje procedurę "<nazwa-procedury>" zawiera typ danych "<typ>", który nie jest odpowiedni dla procedury bez źródła, napisanej w danym języku. |
Objaśnienie: W "<elemencie-danych>", który jest częścią instrukcji definiującej procedurę "<nazwa-procedury>" został zrobiony błąd. Instrukcja użytkownika zawiera niepoprawny typ "<typ>" lub typ definiowany przez użytkownika (typ UDT) oparty na niepoprawnym typie "<typ>". Definicją procedury może być: CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (definicja metody) lub ALTER TYPE (definicja metody).
"<element-danych>" jest elementem, który identyfikuje obszar błędu w instrukcji. Na przykład "PARAMETER 2", "RETURNS" lub "CAST FROM".
Działanie użytkownika: Określ, która sytuacja wystąpiła i podejmij działania naprawcze. Możliwe działania naprawcze to:
sqlcode: -451
sqlstate: 42815
SQL0452N | Brak dostępu do pliku, do którego odwołuje się zmienna języka bazowego "<pozycja-zmiennej>". Kod przyczyny: "<kod-przyczyny>". |
Objaśnienie: Błąd podczas próby dostępu lub w trakcie dostępu do pliku, do którego odwołuje się "n-ta" zmienna języka bazowego, gdzie n = "<pozycja-zmiennej>", z przyczyny określonej przez "<kod-przyczyny>". Jeśli nie można określić pozycji zmiennej języka bazowego, <pozycja-zmiennej> jest ustawiana na 0. Oto możliwe wartości kodów przyczyny:
SQL_FILE_READ -odczytaj z istniejącego pliku, SQL_FILE_CREATE -utwórz nowy plik do zapisu, SQL_FILE_OVERWRITE -zastąp istniejący plik. jeśli plik nie istnieje, utworzenie go, SQL_FILE_APPEND -dopisz do istniejącego pliku. jeśli plik nie istnieje, utworzenie go,
Działanie użytkownika:
Dla kodu przyczyny 01 popraw długość nazwy pliku, nazwę i/lub ścieżkę do pliku.
Dla kodu przyczyny 02 podaj poprawną opcję pliku.
Dla kodu przyczyny 03 przed próbą dostępu do podanego pliku sprawdź, czy on istnieje.
Dla kodu przyczyny 04 albo usuń plik, jeśli nie jest wymagany, albo podaj nieistniejącą obecnie nazwę pliku.
Dla kodu przyczyny 05 zapewnij użytkownikowi dostęp do pliku (zmień uprawnienia).
Dla kodu przyczyny 06 użyj innego pliku lub, jeśli plik musi być używany, zmodyfikuj aplikację, aby zapewnić, że plik nie jest używany współbieżnie.
Dla kodu przyczyny 07 usuń niepotrzebne pliki, aby zwolnić miejsce na dysku lub podaj plik, który jest umieszczony na innym dysku/systemie plików z wystarczającą ilością wolnego miejsca. Upewnij się także, że nie osiągnięto limitów wielkości dla systemu operacyjnego lub pliku użytkownika. Jeśli strona kodowa aplikacji używa wielobajtowego schematu kodowania, możliwe jest, że zostanie zapisana tylko część ostatnich znaków, sprawdź, czy plik zawiera tylko znaki w pełni sformatowane.
Dla kodu przyczyny 08 jeśli plik ma być używany jako plik wejściowy, sprawdź, czy plik nie został zmodyfikowany przed odczytaniem całego pliku.
Dla kodu przyczyny 09 popraw wszystkie błędy na nośniku, na którym znajduje się plik.
Dla kodu przyczyny 10 sprawdź, czy plik zawiera poprawne znaki wielobajtowe w stronie kodowej aplikacji lub wpisz do kolejki żądanie w trakcie pracy z tą samą stroną kodową, jaką ma zawartość pliku.
Dla kodu przyczyny 11 sprawdź, czy zainstalowano obsługę konwersji znaków pomiędzy stroną kodową pliku, na przykład Japanese EUC i graficzną stroną kodową aplikacji, na przykład UCS-2.
sqlcode: -452
sqlstate: 428A1
SQL0453N | Problem zidentyfikowano w klauzuli RETURNS, w instrukcji, która definiuje procedurę "<nazwa-procedury>". |
Objaśnienie: Został zidentyfikowany problem z rzutowaniem wyniku procedury "<nazwa-procedury>". Typu danych CAST FROM nie można rzutować na typ danych RETURNS, a jest to wymagane. Szczegóły dotyczące rzutowania zawiera podręcznik SQL Reference.
Działanie użytkownika: Zmień klauzulę RETURNS lub CAST FROM, tak aby typ danych CAST FROM można było rzutować na typ danych RETURNS.
sqlcode: -453
sqlstate: 42880
SQL0454N | Podpis dostarczony w definicji procedury "<nazwa-procedury>" jest zgodny z podpisem innej procedury, istniejącej już w schemacie lub dla typów. |
Objaśnienie: Podpis funkcji składa się z nazwy funkcji, liczby parametrów zdefiniowanych dla tej funkcji oraz uporządkowanej listy typów tych parametrów (bez uwzględniania żadnych parametrów tych typów).
Podpis metody składa się z nazwy metody, typu podmiotu metody, liczby parametrów zdefiniowanych dla tej metody oraz uporządkowanej listy typów parametrów (bez uwzględniania żadnych parametrów tych typów).
Sygnatura procedury składa się z nazwy procedury i liczby parametrów zdefiniowanych dla procedury (typy danych nie są uwzględniane).
W takim przypadku albo:
Nie można wykonać instrukcji.
Działanie użytkownika: Ustalić, czy istniejąca procedura ma już żądaną funkcjonalność. Jeśli takiej funkcjonalności nie ma, to podpis procedury należy zmienić, zmieniając na przykład nazwę procedury.
sqlcode: -454
sqlstate: 42723
SQL0455N | W procedurze "<nazwa-procedury>" nazwa schematu "<nazwa-schematu>" udostępniona dla nazwy SPECYFICZNEJ nie jest zgodna z nazwą schematu "<nazwa-schematu2>" procedury. |
Objaśnienie: 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 fragment "<nazwa-schematu2>" z "<nazwa-procedury>" może być określony bezpośrednio, może mieć także wartość domyślną ID autoryzowanego użytkownika dla tej instrukcji. Jeśli procedura jest metodą, to "<nazwa-schematu>" odnosi się do nazwy schematu typu podmiotu tej metody.
Działanie użytkownika: Popraw instrukcję i powtórz działanie.
sqlcode: -455
sqlstate: 42882
SQL0456N | W definicji procedury "<nazwa-procedury>" nazwa SPECYFICZNA "<nazwa-specyficzna>" istnieje już w schemacie. |
Objaśnienie: Użytkownik dostarczył bezpośrednią nazwę SPECYFICZNĄ "<nazwa-specyficzna>" w definicji procedury "<nazwa-procedury>", lecz taka sama nazwa istnieje już w schemacie jako nazwa SPECYFICZNA dla funkcji, metody lub procedury.
Działanie użytkownika: Wybierz nową nazwę SPECIFIC i spróbuj ponownie.
sqlcode: -456
sqlstate: 42710
SQL0457N | Funkcja, metoda, typ danych definiowany przez użytkownika lub atrybut typu danych strukturalnych nie może nazywać się "<nazwa>", ponieważ nazwa ta jest zastrzeżona do wykorzystania przez system. |
Objaśnienie: Nie można utworzyć funkcji zdefiniowanej przez użytkownika, metody, typu danych zdefiniowanego przez użytkownika lub typu danych strukturalnych, ponieważ dana nazwa jest zastrzeżona do wykorzystania przez system. Jako nazw funkcji, typów odrębnych, typów strukturalnych nie można używać następujących nazw:
"=","<",">",">=","<=","&=","&>",,"&<", "!=","!>","!<","<>", SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR i MATCH.
Działanie użytkownika: Wybierz nazwę dla funkcji, metody, typu danych zdefiniowanego przez użytkownika lub atrybutu typu danych strukturalnych, która nie jest zastrzeżona do wykorzystania przez system.
sqlcode: -457
sqlstate: 42939
SQL0458N | W odniesieniu do procedury "<nazwa-procedury>" wyszukując według podpisu, nie można znaleźć procedury zgodnej. |
Objaśnienie: W odniesieniu według podpisu do funkcji, metody lub procedury "<nazwa-procedury>", zapisanej w bazie, nie można znaleźć funkcji, metody lub procedury zapisanej w bazie.
Jeśli używany jest typ danych, który może akceptować parametr, wtedy parametr dla tego typu jest opcjonalny. Na przykład dla CHAR(12) można określić parametr CHAR(12) albo go pominąć CHAR(). Jeśli podano parametr, wtedy DBMS zaakceptuje tylko dokładną zgodność typu danych ORAZ parametru typu danych. Jeśli pominięto parametr, DBMS zaakceptuje tylko zgodność typu danych. Składnia CHAR() jest sposobem na poinformowanie systemu DBMS, aby zignorował parametry określające typ danych, jeśli znajdzie zgodną funkcję.
W instrukcjach DROP FUNCTION/PROCEDURE i COMMENT ON FUNCTION/PROCEDURE niekwalifikowane odwołanie jest kwalifikowane identyfikatorem uprawnienia instrukcji i jest to schemat, w którym mógł wystąpić błąd. W klauzuli SOURCE funkcji CREATE kwalifikacja pochodzi z bieżącej ścieżki do funkcji. W takim przypadku w całej ścieżce brak odpowiedniej funkcji.
Funkcja nie może być funkcją opartą na wbudowanych funkcjach COALESCE, NULLIF, NODENUMBER, PARTITION, TYPE_ID, TYPE_NAME, TYPE_SCHEMA lub VALUE.
Nie można wykonać instrukcji.
Działanie użytkownika: Możliwe rozwiązania:
sqlcode: -458
sqlstate: 42883
SQL0461N | Nie można wykonać rzutowania (CAST) z wartości typu "<źródłowy-typ-danych>" na typ "<docelowy-typ-danych>". |
Objaśnienie: 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>". Rzutowanie to nie jest obsługiwane.
Działanie użytkownika: 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 dokumentacji dotyczącej SQL. Dla typu odrębnego zdefiniowanego przez użytkownika rzutowanie można wykonać pomiędzy podstawowym typem danych i typem odrębnym zdefiniowanym przez użytkownika lub z zalecanego typu danych do podstawowego typu danych, do typu odrębnego zdefiniowanego przez użytkownika.
sqlcode: -461
sqlstate: 42846
SQL0462W | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") zwróciła ostrzeżenie SQLSTATE wraz z tekstem diagnostycznym "<tekst>". |
Objaśnienie: Do DB2 został zwrócony przez procedurę "<nazwa-procedury>" (nazwa specyficzna"<nazwa-specyficzna>") błąd SQLSTATE w formie 01Hxx wraz z tekstem komunikatu "<tekst>".
Działanie użytkownika: Użytkownik powinien rozumieć znaczenie ostrzeżenia. Skontaktuj się z administratorem bazy danych lub autorem procedury.
sqlcode: +462
sqlstate: 01Hxx
SQL0463N | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa specyficzna>") zwróciła niepoprawną wartość SQLSTATE "<stan>" z tekstem diagnostycznym "<tekst>". |
Objaśnienie: Poprawna wartość SQLSTATE, którą procedura może zwrócić to: 38xxx (błąd), 38502 (błąd) lub 01Hxx (ostrzeżenie). Ta procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa specyficzna>") zwróciła niepoprawną wartość SQLSTATE "<stan>" wraz z tekstem diagnostycznym "<tekst>". Procedura jest w stanie błędu.
Działanie użytkownika: Procedura musi być poprawiona. Skontaktuj się z administratorem bazy danych lub autorem procedury. O znaczeniu, jakie dla aplikacji ma zła wartość SQLSTATE, można dowiedzieć się także od autora procedury.
sqlcode: -463
sqlstate: 39001
SQL0464W | Procedura "<proc>" zwróciła "<liczba>" tabel wynikowych. Został przekroczony zdefiniowany limit "<maks>". |
Objaśnienie: Procedura zapisana w bazie, której nazwę określa wartość proc, została zakończona w normalny sposób. Przekroczyła jednak zdefiniowany limit liczby tabel wynikowych, które może zwrócić procedura.
Prawdopodobna przyczyna: Procedura zapisana w bazie nie może zwrócić liczby tabel wynikowych ze względu na ograniczenia DRDA, narzucone przez klienta. Klient DRDA ustala limit tabel wynikowych w punkcie kodowym MAXRSLCNT DDM.
Działanie użytkownika: Instrukcja SQL została wykonana pomyślnie. Pole SQLWARN9 ma wartość 'Z'.
sqlcode: +464
sqlstate: 0100E
SQL0465N | Nie można uruchomić, zainicjować lub komunikować się z procesem w trybie chronionym. Kod przyczyny "<kod>". |
Objaśnienie: Jest to problem związany z systemem i dotyczy działania procedury w trybie chronionym (dla funkcji lub metody definiowanej przez użytkownika). Właściwa natura problemu została wskazana przez "<kod>". NIE jest to problem użytkownika. Możliwe kody przyczyny:
Błędy przetwarzania procedury:
Błędy przetwarzania agenta:
Działanie użytkownika: Skontaktuj się z administratorem bazy danych lub administratorem systemu.
sqlcode: -465
sqlstate: 58032
SQL0466W | Procedura "<nazwa-procedury>" zwróciła z procedury zapisanej w bazie "<liczba-wyniki>" tabelę wynikową. |
Objaśnienie: Komunikat ten jest wynikiem wywołania instrukcji SQL CALL. Oznacza to, że procedura zapisana w bazie "<nazwa-procedury>" ma stowarzyszoną tabelę wynikową "<liczba-wynik>".
Instrukcja została zakończona pomyślnie.
Działanie użytkownika: Nie jest wymagane żadne działanie.
sqlcode: +466
sqlstate: 0100C
SQL0467W | Procedura "<nazwa-procedury>" zawiera jeszcze jedną tabelę wynikową. Łącznie jest tam "<liczba-wynik>" tabel wynikowych. |
Objaśnienie: Komunikat ten jest zwracany podczas zamykania kursora. Oznacza to, że dla procedury zapisanej w bazie "<nazwa-procedury>" istnieje jeszcze jedna tabela wynikowa i kursor został ponownie otwarty na następnej tabeli wynikowej. Łącznie jest tam "<liczba-wynik>" tabel wynikowych z procedury zapisanej w bazie.
Instrukcja została zakończona pomyślnie.
Działanie użytkownika: Nie jest wymagane żadne działanie. Pobranie można kontynuować dla następnej tabeli wynikowej.
sqlcode: +467
sqlstate: 0100D
SQL0469N | Tryb parametru (IN, OUT lub INOUT) jest niepoprawny dla parametru w procedurze "<nazwa-procedury>" o nazwie specyficznej "<nazwa-specyficzna>" (numer parametru "<numer>", nazwa "<nazwa-parametru>"). |
Objaśnienie: Wystąpił jeden z następujących błędów:
Działanie użytkownika: Zmień atrybut parametru na INOUT lub zmień sposób użycia parametru wewnątrz procedury.
sqlcode: -469
sqlstate: 42886
SQL0470N | Argument "<argument>" procedury zdefiniowanej przez użytkownika "<nazwa-procedury>" (o nazwie "<nazwa-konkretna>") ma wartość pustą dla argumentu, którego nie można przekazać. |
Objaśnienie: Argument wejściowy procedury ma wartość pustą, a wartości pustych nie dopuszcza styl parametrów procedury lub typ danych parametru.
Działanie użytkownika: Jeśli metoda ma być wywołana z wartością pustą, sprawdź, czy styl parametrów i typy wejściowe dopuszczają wartości puste. W przypadku funkcji wystarczy, że utworzono je z opcją "RETURNS NULL ON NULL INPUT".
sqlcode: -470
sqlstate: 39004
SQL0471N | Wywołanie procedury "<nazwa>" nie powiodło się z powodu "<kod-przyczyny>". |
Objaśnienie: Procedur "<nazwa>" została wywołana na serwerze DB2 Universal Database for OS/390. Wywołanie procedury nie powiodło się z powodu warunku opisanego kodem przyczyny DB2 "<kod-przyczyny>".
Nie można uruchomić instrukcji. Komunikat DSNX9xx opisujący błąd może być wyświetlony na konsoli systemowej MVS.
Działanie użytkownika: Należy zapoznać się z dokumentacją serwera DB2 Universal Database for OS/390 i poprawić warunek opisany kodem przyczyny DB2.
sqlcode: -471
sqlstate: 55023
SQL0473N | Nie można utworzyć typu danych zdefiniowanego przez użytkownika o takiej samej nazwie, jak predefiniowany typ systemowy. |
Objaśnienie: Nazwa typu danych, który ma zostać utworzony, ma niekwalifikowaną nazwę taką samą, jak predefiniowany typ danych systemowych lub BOOLEAN. Jest to niedopuszczalne. Dodanie ograniczników nie sprawi, że nazwa będzie poprawna.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw instrukcję, aby używała innego identyfikatora.
sqlcode: -473
sqlstate: 42918
SQL0475N | Typ wyniku "<typ-1>" funkcji SOURCE nie może być rzutowany do typu RETURNS "<typ-2>" funkcji definiowanej przez użytkownika "<nazwa-funkcji>". |
Objaśnienie: Aby instrukcja CREATE funkcji zdefiniowanej przez użytkownika była poprawna, typ wyniku ("<typ-1>") funkcji źródłowej musi dać się zrzutować do typu RETURNS ("<typ-2>") tworzonej funkcji. Rzutowanie pomiędzy tymi typami nie jest obsługiwane. Szczegóły dotyczące rzutowania zawiera podręcznik SQL Reference.
Działanie użytkownika: Zmień typ danych RETURNS lub identyfikację funkcji SOURCE, tak aby typ wyniku funkcji SOURCE można było rzutować do typu danych RETURNS.
sqlcode: -475
sqlstate: 42866
SQL0476N | Odwołanie do procedury "<nazwa-funkcji>" zostało utworzone bez podpisu, lecz procedura nie jest unikalna w schemacie. |
Objaśnienie: Odwołania do funkcji lub procedury zapisanej w bazie bez sygnatury jest dozwolone, jednak podana funkcja lub procedura "<nazwa-funkcji>" musi być unikalna w schemacie, a nie jest. Jeśli procedura jest metodą, odwołanie bez podpisu jest dozwolone, jednak nazwana metoda musi być unikalna dla typu danych.
Zauważ, że w instrukcjach DROP FUNCTION/PROCEDURE i COMMENT ON FUNCTION/PROCEDURE niekwalifikowane odwołanie jest kwalifikowane identyfikatorem uprawnienia instrukcji i jest to schemat, w którym mógł wystąpić błąd. W klauzuli SOURCE instrukcji CREATE FUNCTION kwalifikacja pochodzi z bieżącej ścieżki do funkcji. W takim przypadku, pierwszy schemat w ścieżce zawierający funkcję o tej nazwie zawiera inne funkcje o tej samej nazwie.
Użytkownicy systemów stowarzyszeń: W sesji tranzytowej w przypadku instrukcji CREATE FUNCTION MAPPING błąd ten oznacza, że próbowano utworzyć odwzorowanie z jednej funkcji zdalnej na więcej niż jedną funkcję lokalną.
Działanie użytkownika: Popraw odwołanie, wykonując jedno z następujących działań:
i powtórz działanie.
sqlcode: -476
sqlstate: 42725
SQL0478N | Nie można usunąć obiektu typu "<typ_1-obiektu>", ponieważ istnieje zależny od niego obiekt "<nazwa-obiektu>" typu "<typ_2-obiektu>". |
Objaśnienie: Nie można usunąć obiektu podstawowego, który jest obiektem typu "<typ_1-obiektu>", ponieważ inny obiekt jest od niego zależny. Istnieje narzucająca ograniczenia zależność zdefiniowana dla obiektów typu "<typ_2-obiektu>" (przykładem jest obiekt "<nazwa-obiektu>").
Zależność ta może być pośrednia. Oznacza to, że nazwany obiekt jest zależny od innego obiektu, który z kolei jest zależny od usuwanego obiektu.
Na przykład:
Działanie użytkownika: Nie usuwaj tego obiektu, albo przed jego usunięciem usuń obiekty od niego zależne.
sqlcode: -478
sqlstate: 42893
SQL0480N | Procedura "<nazwa-procedury>" nie była jeszcze wywoływana. |
Objaśnienie: Procedura zidentyfikowana w instrukcji ASSOCIATE LOCATORS nie była jeszcze wywoływana z procesu aplikacji albo procedura była wywoływana, lecz przed instrukcją wystąpiło jawne lub niejawne zatwierdzenie.
Działanie użytkownika: Popraw instrukcje, tak aby dokładna składnia użyta do określenia nazwy procedury w instrukcji CALL, była taka sama, jak w instrukcji ASSOCIATE LOCATORS. Jeśli do WYWOŁANIA procedury użyta została niekwalifikowana nazwa, to w innych instrukcjach także musi być użyta nazwa jednoczęściowa. Wprowadź ponownie instrukcje.
sqlcode: -0480
sqlstate: 51030
SQL0481N | Klauzula GROUP BY zawiera "<element 1>" zagnieżdżony wewnątrz "<element 2>". |
Objaśnienie: Wewnątrz klauzuli GROUP BY są niedozwolone następujące typy zagnieżdżeń:
gdzie GEL reprezentuje element pokazany jako lista wyrażeń grupujących w diagramie składniowym klauzuli GROUP BY.
W niektórych przypadkach dla "<element 2>" zostanie pokazana wartość "---". W tym przypadku wartość "---" reprezentuje jeden z elementów CUBE, ROLLUP, GROUPING SET lub GEL.
Nie można wykonać instrukcji.
Działanie użytkownika: Zmodyfikuj klauzulę GROUP BY, usuwając zagnieżdżenia.
sqlcode: -481
sqlstate: 428B0
SQL0483N | W instrukcji CREATE w funkcji zdefiniowanej przez użytkownika "<nazwa-funkcji>" liczba parametrów nie jest zgodna z liczbą parametrów funkcji SOURCE. |
Objaśnienie: Próbowano wykonać instrukcję CREATE dla funkcji zdefiniowanej przez użytkownika "<nazwa-funkcji>", która jest źródłowa w innej funkcji. Wykryto jedną z następujących sytuacji:
Działanie użytkownika: Liczba parametrów dla funkcji SOURCE i dla tworzonej funkcji musi być taka sama. Należy zmienić identyfikację funkcji SOURCE, aby:
Możliwe, że aby można było znaleźć właściwą funkcję, należy poprawić ścieżkę do funkcji.
sqlcode: -483
sqlstate: 42885
SQL0486N | Typ danych BOOLEAN jest obecnie obsługiwany jedynie wewnętrznie. |
Objaśnienie: W instrukcji jest jeden lub więcej typów danych BOOLEAN. Nie można ich obsługiwać w bieżącej wersji DB2.
Działanie użytkownika: Zmień typ(y) danych, a następnie wprowadź ponownie instrukcję.
sqlcode: -486
sqlstate: 42991
SQL0487N | Procedura "<nazwa-procedury>" (nazwa specyficzna"<nazwa-specyficzna>") próbowała wykonać instrukcję SQL. |
Objaśnienie: Program użyty do zaimplementowania treści procedury nie może wykonywać instrukcji SQL. Ta procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") zawiera instrukcje SQL.
Działanie użytkownika: Usuń wszystkie funkcje SQL, następnie ponownie skompiluj program. Sprawdź dozwolony poziom SQL, który określono w instrukcji definiującej procedurę.
sqlcode: -487
sqlstate: 38001
SQL0489N | Funkcja "<nazwa-funkcji>" na pozycji listy dla SELECT lub VALUES zwróciła wynik typu BOOLEAN. |
Objaśnienie: Funkcja "<nazwa-funkcji>" została zdefiniowana jako predykat zwracający wynik typu boolean. Wynik taki jest niepoprawny na liście wyboru.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw nazwę funkcji lub usuń funkcję.
sqlcode: -489
sqlstate: 42844
SQL0491N | Definicja procedury "<nazwa-procedury>" musi zawierać klauzulę RETURNS oraz jeden z następujących elementów: klauzulę EXTERNAL (wraz z innymi wymaganymi parametrami), instrukcję RETURN lub klauzulę SOURCE. |
Objaśnienie: W definicji procedury "<nazwa-procedury>" brak wymaganej klauzuli. Jeśli wyspecyfikowano klauzulę EXTERNAL, trzeba także wyspecyfikować następujące elementy: LANGUAGE, PARAMETER STYLE, DETERMINISTIC lub NOT DETERMINISTIC, NO SQL oraz EXTERNAL ACTION lub NO EXTERNAL ACTION.
Działanie użytkownika: Dodaj brakującą klauzulę i powtórz operację.
sqlcode: -491
sqlstate: 42601
SQL0492N | W instrukcji CREATE dla funkcji zdefiniowanej przez użytkownika "<nazwa-funkcji>" z numerem parametru "<numer>" wystąpił błąd. Może to spowodować niezgodność w funkcji SOURCE. |
Objaśnienie: Parametr na pozycji "<numer>" funkcji "<nazwa-funkcji>" jest błędny i nie można wykonać instrukcji CREATE. Nie można zrzutować parametru na pozycji "<numer>" funkcji źródłowej do odpowiedniego parametru tworzonej funkcji.
Działanie użytkownika: Możliwe rozwiązania:
sqlcode: -492
sqlstate: 42879
SQL0493N | Procedura "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") zwróciła wartość daty, godziny lub datownika, która jest niepoprawna składniowo lub liczbowo. |
Objaśnienie: Treść funkcji zdefiniowanej przez użytkownika (UDF) lub metody "<nazwa-procedury>" (nazwa specyficzna "<nazwa-specyficzna>") zwróciła niepoprawną wartość daty, godziny lub datownika.
Przykładem daty niepoprawnej składniowo jest '1994-12*25': zamiast '*' powinno być '-'. Przykładem numerycznie niepoprawnej wartości godziny jest '11.71.22':, ponieważ godzina ma mniej niż 71 minut.
Działanie użytkownika: Procedura wymaga poprawienia. Skontaktuj się z administratorem bazy danych lub autorem procedury.
sqlcode: -493
sqlstate: 22007
SQL0495N | Szacunkowy koszt procesora "<szacunkowa-wielkość1>" sekund czasu pracy procesora ("<szacunkowa-wielkość2>" jednostek usług) w kategorii kosztów "<kategoria-kosztów>" przekracza wartość progową błędu dla limitu zasobów "<wielkość-limitu>" jednostek usług. |
Objaśnienie:
Podczas przygotowania dynamicznej instrukcji SQL: INSERT, UPDATE, DELETE lub SELECT szacowany koszt wykorzystania procesora przekroczył progową wartość błędu określoną w tabeli specyfikacji limitu zasobów (RLST).
Błąd ten pojawia się również wtedy, gdy wartością kategorii kosztów DB2 jest "B", a działaniem domyślnym określonym w kolumnie RLF_CATEGORY_B w tabeli RLST jest wywołanie błędu.
Przygotowanie instrukcji INSERT, UPDATE, DELETE lub SELECT nie zostało zakończone pomyślnie.
Działanie użytkownika: Jeśli zwrócono wartość SQLCODE dlatego, że wartością kategorii jest "B", instrukcja może zawierać znaczniki parametrów lub niektóre statystyki mogą być niedostępne dla odpowiednich tabel i kolumn. Sprawdź, czy administrator uruchomił program RUNSTATS dla tabel, do których występują odwołania w instrukcji SQL. Przyczyną błędu może być również to, że funkcje zdefiniowane przez użytkownika będą wywoływane podczas uruchamiania instrukcji lub - w przypadku instrukcji INSERT, UPDATE i DELETE - że wyzwalacze zdefiniowano w zmienionej tabeli. Aby stwierdzić, dlaczego instrukcja SQL została umieszczona w kategorii kosztów "B", sprawdź DSN_STATEMNT_TABLE lub rekord IFCID 22 dla tej instrukcji. Jeśli nie można zmienić programu lub jeśli nie można otrzymać statystyk, poproś administratora o ustalenie w kolumnie RLF_CATEGORY_B tabeli RLST wartości "Y", która umożliwi wykonanie instrukcji lub wartości "W", która zwróci ostrzeżenie zamiast błędu.
Jeśli ostrzeżenie jest spowodowane instrukcją SQL, która wykorzystuje zbyt wiele czasu procesora, spróbuj zapisać instrukcję, tak aby jej działanie było bardziej efektywne. Inna możliwość to zwiększenie przez administratora wartości progowej błędu w tabeli RLST.
sqlcode: -495
sqlstate: 57051
SQL0499N | Kursor "<nazwa-kursora>" został już przypisany do tej lub innej tabeli wynikowej w procedurze "<nazwa-procedury>". |
Objaśnienie: Podjęto próbę przypisania kursora do tabeli wynikowej, ale dla procedury "<nazwa-procedury>" przydzielono wiele kursorów.
Działanie użytkownika: Sprawdź, czy tabela wynikowa była poprzednio przypisana dla kursora. Jeśli w procedurze "<nazwa-procedury>" przydzielono wiele kursorów, sprawdź, czy do przetwarzania tabel wynikowych procedury zapisanej w bazie jest używany tylko jeden kursor.
sqlcode: -499
sqlstate: 24516