SQL0401N | Типовете данни на операндите за операцията "<оператор>" са несъвместими. |
Обяснение: В операцията "<оператор>", която се среща в SQL оператора, са смесени цифрови или нецифрови операнди, или операндите на операцията не са съвместими.
Потребители на обединени системи: това нарушение на типа данни може да е на източник на данни или на обединен сървър.
Някои източници на данни не предоставят правилните стойности за "<оператор>". В тези случаи токенът на съобщението ще има следният формат: "<източник на данни>:UNKNOWN", показващ, че действителната стойност за указания източник на данни е неизвестна.
Операторът не може да бъде обработен.
Отговор на потребителя: Проверете всички типове данни на операндите, за да е сигурно, че те са сравними и съвместими с използването на оператора.
Ако всички операнди на SQL оператори са правилни и се осъществява достъп до производна таблица, проверете типовете данни на всички операнди на производната таблица.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте Ръководство за определяне на проблеми за процедурите, които трябва да следвате, за да идентифицирате неуспешния източник на данни) и проучете ограниченията за типовете данни за този източник на данни.
sqlcode: -401
sqlstate: 42818
SQL0402N | Типът данни на операнд на аритметична функция или на операция "<оператор>" не е цифров. |
Обяснение: За аритметичната функция или оператора "<оператор>" е зададен нецифров операнд.
Операторът не може да бъде обработен.
Отговор на потребителя: Коригирайте синтаксиса на SQL оператора така, че всички зададени операнди на функции или оператори да са цифрови.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте в Ръководството за определяне на проблеми процедурите, които да следвате, за да идентифицирате неуспешния източник на данни) и проучете операторите, приложими за този източник на данни.
sqlcode: -402
sqlstate: 42819
SQL0403W | Новодефинираният псевдоним "<име>" се отнася към обекта "<име>", който в момента е недефиниран. |
Обяснение: Псевдонимът <име> е дефиниран за:
Обектът <име> е недефиниран обект. Този обект трябва да съществува преди всеки SQL оператор (различен от CREATE ALIAS), за да може успешно да използва новосъздадения псевдоним. Създаден е указаният псевдоним <име>.
Неоперативна производна таблица се приема за недефинирана при създаването на псевдоним.
Отговор на потребителя: Уверете се, че недефинираният обект <име> е дефиниран, преди да се използва новосъздаденият псевдоним в SQL оператор (различен от CREATE ALIAS).
sqlcode: +403
sqlstate: 01522
SQL0404N | Низ в оператора UPDATE или INSERT е твърде дълъг за колоната "<име>". |
Обяснение: Оператор INSERT или UPDATE задава стойност, по-дълга от низа с максимална дължина, който може да бъде запомнен в посочената колона.
Операторът не може да бъде обработен.
Забележка: | "<име>" може да се върне или не в SQLCA в зависимост от синтаксиса на оператора INSERT или UPDATE. |
Отговор на потребителя: Проверете дължината на колоната на обекта и коригирайте програмата или SQL оператора така, че вмъкнатият или обновен низ да не надвишава максималната дължина.
sqlcode: -404
sqlstate: 22001
SQL0405N | Цифровият литерал "<литерал>" не е валиден, защото стойността му е извън допустимия обхват. |
Обяснение: Зададеният цифров литерал не е в допустимия обхват.
Правилните интервали за SQL стойности са, както следва:
В някои контексти за литерала може да има и други ограничения, различни от посочените при тази грешка. За допълнителна информация направете справка за оператора или клаузата в SQL Справочник.
Потребители на обединени системи: това нарушение на обхвата може да е на източник на данни или на обединен сървър. Правилните интервали за SQL стойности, разположени в таблиците на източник на данни, зависят от източник на данни. За да определите правилния обхват, вижте съответната документация за източник на данни. Някои източници на данни не предоставят правилните стойности за "<литерал>". В тези случаи токенът на съобщението ще има следният формат: "<източник на данни>:UNKNOWN", показващ, че действителната стойност за указания източник на данни е неизвестна.
Операторът не може да бъде обработен.
Отговор на потребителя: Намалете стойността на литерала до подходящия размер.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте Ръководството за определяне на проблеми за процедури, които да следвате при идентифицирането на неуспешния източник на данни) и проучете ограниченията за обхватите на данните за този източник на данни.
sqlcode: -405
sqlstate: 42820
SQL0406N | Цифрова стойност в оператора UPDATE или INSERT не е в обхвата на колоната приемник. |
Обяснение: Стойността на хост-променлива или цифрова стойност, изчислена по време на изпълнението на SQL оператор UPDATE или INSERT, е извън обхвата на колоната приемник. Този проблем може да бъде причинен от стойности, срещащи се в колоната на обекта, от SQL операция, изпълнена върху тези стойности, или и от двете.
Операторът не може да бъде обработен.
Отговор на потребителя: Вж. обяснението на съобщение SQL0405 за разрешените обхвати на цифровите типове данни.
ЗАБЕЛЕЖКА: При обновявания на системни каталози вижте SQL Справочник за валидните обхвати на различните колони на обновяваните каталози.
sqlcode: -406
sqlstate: 22003
SQL0407N | Не е разрешено присвояването на стойност NULL на NOT NULL колона "<име>". |
Обяснение: Възникнала е една от следните ситуации:
Ако стойността за "<име>" е във вида "TBSPACEID=n1, TABLEID=n2, COLNO=n3", то името на колоната от SQL оператора липсва, когато се издава съобщението за грешка. Предоставените стойности посочват пространството за таблици, таблица и номер на колона на базова таблица, която не разрешава стойност NULL.
Потребители на обединени системи: тази ситуация може да бъде открита от обединен сървър или от източник на данни. Някои източници на данни не предоставят правилните стойности за "<име>". В тези случаи токенът на съобщението ще има следният формат: "<източник на данни>:UNKNOWN", показващ, че действителната стойност за указания източник на данни е неизвестна.
Операторът не може да бъде обработен.
Забележка: | При някои обстоятелства токенът "<име>" може да не бъде запълнен (не е запълнено поле sqlerrmc на SQLCA). |
Отговор на потребителя: Коригирайте SQL оператора, след като проверите дефиницията на обектната таблица, за да определите кои колони на таблицата имат атрибут NOT NULL и нямат атрибут WITH DEFAULT.
Ако стойността за "<име>" е във вида "TBSPACEID=n1, TABLEID=n2, COLNO=n3", можете да определите името на таблицата и името на колоната, като използвате следното запитване:
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
Таблицата и колоната, посочени от това запитване, може да бъдат базовата таблица на производна таблица, за която SQL операторът е неуспешен.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте в Ръководството за определяне на проблеми процедурите, които да следвате, за да идентифицирате неуспешния източник на данни) и проучете дефиницията на обекти за този източник на данни. Не забравяйте, че стойностите по подразбиране (NULL и NOT NULL) не са непременно едни и същи между източниците на данни.
sqlcode: -407
sqlstate: 23502
SQL0408N | Стойност не е съвместима с типа данни на присвоения й приемник. Името на приемника е "<име>". |
Обяснение: Типът данни на стойността, която ще се присвои на колона, параметър, SQL променлива или преходна променлива от SQL оператора, е несъвместим с декларирания тип данни на присвоявания приемник. И двата типа трябва да са:
Операторът не може да бъде обработен.
Отговор на потребителя: Проверете оператора и може би таблицата или производната таблица приемник, за да определите типа данни на приемника. Уверете се, че присвоената стойност на променлива, израз или литерал е с правилния тип данни за приемника, на който се присвоява.
sqlcode: -408
sqlstate: 42821
SQL0409N | Операндът на функция COUNT не е валиден. |
Обяснение: По начина, по който е зададен в SQL оператора, операндът на функцията COUNT не отговаря на синтактичните правила на SQL. Разрешени са само COUNT(*) и COUNT(DISTINCT колони).
Операторът не може да бъде обработен.
Отговор на потребителя: Задайте COUNT(*) или COUNT(DISTINCT колона).
ЗАБЕЛЕЖКА: Това съобщение е приложимо за версиите на DB2 преди Версия 2.
sqlcode: -409
sqlstate: 42607
SQL0410N | Литералът с плаваща запетая "<литерал>" съдържа повече от 30 символа. |
Обяснение: Зададеният литерал с плаваща запетая има дължина, по-голяма от 30 символа, като се изключат водещите нули. Литерал с плаваща запетая може да има максимална дължина 30 символа.
Операторът не може да бъде обработен.
Отговор на потребителя: Намалете дължината на зададения литерал.
sqlcode: -410
sqlstate: 42820
SQL0412N | От подзапитване, което позволява само една колона, са върнати множество колони. |
Обяснение: В контекста на SQL оператора е зададен фулселект, резултатът от който може да е само една колона.
Операторът не може да бъде обработен.
Отговор на потребителя: Задайте само една колона, когато е разрешено само пълно скаларно запитване.
sqlcode: -412
sqlstate: 42823
SQL0413N | Възникнало е препълване при преобразуване на цифров тип данни. |
Обяснение: При изпълнението на SQL оператора се е получило условие за препълване, когато един цифров тип данни е бил преобразуван в друг. Цифровото преобразуване е изпълнено в съответствие със стандартните правила на SQL.
Потребители на обединени системи: цифрово преобразуване може да възникне в обединен сървър, в източника на данни или и на двете места.
Операторът не може да бъде обработен. Няма възстановени, обновени или изтрити данни.
Отговор на потребителя: Проверете синтаксиса на SQL оператора, за да определите причината за грешката. Ако проблемът е зависим от данните, може да се наложи да проверите данните, обработвани при възникването на грешката.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте Ръководството за определяне на проблеми за процедури, които да следвате при идентифицирането на неуспешния източник на данни) и проучете ограниченията за обхватите на данните за този източник на данни.
sqlcode: -413
sqlstate: 22003
SQL0415N | Типовете данни на съответстващите колони не са съвместими във фулселект, който включва оператор за комбиниране, или в множество редове на клауза VALUES на INSERT или фулселект. |
Обяснение: Тази грешка може да възникне в различни оператори.
Колоните са несъвместими по една от следните причини:
Ако типът данни на колона е символен, дата, час или системна променлива за час/дата, съответстващата колона може да е константа символен низ.
Операторът не може да бъде обработен.
Отговор на потребителя: Коригирайте имената на колоните, използвани в операторите SELECT или в изразите в клаузата VALUES, така че всички съответстващи колони да са със съвместими типове.
sqlcode: -415
sqlstate: 42825
SQL0416N | Не можете да зададете резултатна колона, по-дълга от 254 байта, в оператори SELECT или VALUES, които са свързани от оператор за комбиниране, различен от UNION ALL. |
Обяснение: Един от операторите SELECT или VALUES, свързани от оператор за комбиниране, задава резултатна колона, която е по-дълга от 254 байта. Резултатни колони VARCHAR или VARGRAPHIC, които са по-дълги от 254 байта, могат да се използват само с оператор за комбиниране UNION ALL.
Операторът не може да бъде обработен.
Отговор на потребителя: Използвайте оператор UNION ALL вместо UNION или отстранете резултатните колони, които са по-дълги от 254 байта, от операторите SELECT или VALUES.
sqlcode: -416
sqlstate: 42907
SQL0417N | Низът на оператор, който трябва да бъде подготвен, съдържа маркери за параметри като операнди на същия оператор. |
Обяснение: Низът на оператор, зададен като обекта на PREPARE или EXECUTE IMMEDIATE, съдържа предикат или израз, в който маркерите за параметри са използвани като операнди на същия оператор без спецификация CAST. Например:
? > ?
Операторът не може да бъде обработен.
Отговор на потребителя: Този синтаксис не се поддържа. Използвайте спецификацията CAST, за да зададете тип данни на поне един от маркерите за параметри.
sqlcode: -417
sqlstate: 42609
SQL0418N | Оператор съдържа маркер за параметър, който не е валиден. |
Обяснение: Не могат да се използват маркери за параметри без тип:
Маркери за параметри не могат никога да се използват:
Операторът не може да бъде обработен.
Отговор на потребителя: Коригирайте синтаксиса на оператора. Ако не са разрешени маркери за параметри без тип, използвайте спецификацията CAST, за да зададете тип данни на маркера за параметър.
sqlcode: -418
sqlstate: 42610
SQL0419N | Операция за десетично делене е невалидна, защото резултатът би бил с отрицателен брой цифри след десетичната запетая. |
Обяснение: Зададено десетично деление е невалидно, защото резултатът ще е с отрицателен брой цифри след десетичната запетая.
Формулата, която се използва вътрешно за изчисляване на броя знаци след десетичната запетая на резултата от десетичното деление, е:
Брой знаци след дес. запетая на резултата = 31 - np + ns - ds
където np е точността на числителя, ns е броят знаци след десетичната запетая на числителя и ds е броят знаци след десетичната запетая на знаменателя.
Потребители на обединени системи: Десетично деление може да възникне в обединен сървър, в източника на данни или и на двете места. Зададеното десетично деление води до невалиден брой знаци след десетичната запетая за този източник на данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Проверете точността и броя знаци след десетичната запетая на всички колони, които могат да участват в десетичното деление. Обърнете внимание, че целочислена или малка целочислена стойност може да бъде преобразувана в десетична за това изчисление.
Потребители на обединени системи: ако причината е неизвестна, изолирайте проблема до източник на данни, провалящ заявката (вижте Ръководството за определяне на проблеми за процедури, които да следвате при идентифицирането на неуспешния източник на данни) и проучете ограниченията за обхватите на данните за този източник на данни.
sqlcode: -419
sqlstate: 42911
SQL0420N | Открит е невалиден знак в аргумент символен низ на функцията "<име-на-функция>". |
Обяснение: Функцията "<име-на-функция>" има аргумент символен низ, който съдържа невалиден символ за цифрова SQL константа. Функцията може да е извикана като резултат от използването на спецификация CAST с "<име-на-функция>" като тип данни на приемника. Функцията или използваният тип данни в SQL оператор може да бъдат синоними за "<име-на-функция>".
Ако във функцията DECIMAL е зададен десетичен знак, то това е знакът, който трябва да се използва на мястото на подразбиращия се десетичен знак.
Отговор на потребителя: Уверете се, че символните низове, които се преобразуват в цифрови типове, съдържат само валидни символи за цифрови SQL константи, използващи десетичния знак, ако е зададен.
sqlcode: -420
sqlstate: 22018
SQL0421N | Операндите на оператор за комбиниране или на клауза VALUES нямат един и същи брой колони. |
Обяснение: Операндите на оператор за комбиниране като UNION, EXCEPT или INTERSECT трябва да имат един и същи брой колони. Редовете в клауза VALUES трябва да имат един и същи брой колони.
Операторът не може да бъде обработен.
Отговор на потребителя: Променете SQL оператора така, че всеки операнд или всеки ред на клауза VALUES да имат един и същи брой колони.
sqlcode: -421
sqlstate: 42826
SQL0423N | Променливата на LOB локатор "<позиция-на-променлива>" не представя никаква стойност в момента. |
Обяснение: Грешна променлива на локатор. Към нея не е присвоена LOB стойност или локаторът, асоцииран с променливата, е бил освободен.
Ако е определена "<позиция-на-променлива>", тя дава позицията по ред на грешната променлива в набора от зададените променливи. В зависимост от това кога е открита грешката, възможно е мениджърът на базата данни да не може да определи "<позиция-на-променлива>".
Вместо позицията по ред "<позиция-на-променлива>" може да има стойността "име-на-функция RETURNS", което означава, че стойността на локатора, върната от потребителски дефинираната функция, означена с име-на-функция, е грешна.
Отговор на потребителя: Коригирайте програмата така, че променливите на LOB локатори, използвани в SQL оператора, да имат валидни LOB стойности преди изпълнението на оператора. LOB стойност може да се присвои на променлива на локатор с операторите SELECT INTO, VALUES INTO или FETCH.
sqlcode: -423
sqlstate: 0F001
SQL0426N | Динамично записване на промените е невалидно за среда, в която се изпълнява приложението. |
Обяснение: При изпълнение на приложение в среда CONNECT TYPE 2 или в среда за разпределена обработка на транзакции (DTP) като например CICS е направен опит за изпълнение на динамичен SQL оператор COMMIT. Динамичният SQL оператор COMMIT не може да се изпълнява в тази среда.
Потребители на обединени системи: SQL динамични COMMIT оператори не могат да бъдат изпълнявани по време на транзитна сесия.
Отговор на потребителя:
Потребители на обединени системи: Или коментирайте оператора COMMIT, или го кодирайте като статичен оператор. След това подайте отново програмата си за изпълнение.
sqlcode: -426
sqlstate: 2D528
SQL0427N | Динамичен ролбек е невалиден за средата, в която се изпълнява приложението. |
Обяснение: При изпълнение на приложение в среда CONNECT TYPE 2 или в среда за разпределена обработка на транзакции (DTP) като например CICS е направен опит за изпълнение на динамичен SQL оператор ROLLBACK. Динамичният SQL оператор ROLLBACK не може да се изпълнява в тази среда.
Потребители на обединени системи: SQL динамични ROLLBACK оператори не могат да бъдат изпълнявани по време на транзитна сесия.
Отговор на потребителя:
Потребители на обединени системи: Или коментирайте оператора ROLLBACK, или го кодирайте като статичен оператор. След това подайте отново програмата си за изпълнение.
sqlcode: -427
sqlstate: 2D529
SQL0428N | SQL операторът е разрешен само като първи оператор в единица работа. |
Обяснение: Подаденият SQL оператор трябва да се изпълни преди всеки друг SQL оператор, който инициира единица работа. Възможните ситуации са следните:
Обърнете внимание, че когато операторът е DISCONNECT ALL, той предизвиква DISCONNECT да бъде насочен към всички свързвания, така че заявката ще е неуспешна, ако някои от връзките нарушават горните ограничения.
Отговор на потребителя: Издайте COMMIT или ROLLBACK, преди да обработите SQL оператора. Ако има някакви WITH HOLD курсори, те трябва да бъдат затворени. Ако операторът е SET INTEGRITY, отстранете клаузата COMMIT THRESHOLD.
sqlcode: -428
sqlstate: 25001
SQL0429N | Надвишен е максималният възможен брой едновременни локатори на LOB. |
Обяснение: DB2 поддържа максимум 32 000 едновременни локатори на LOB за единица работа.
Отговор на потребителя: Модифицирайте програмата така, че тя да изисква по-малко едновременни локатори на LOB, и опитайте отново.
sqlcode: -429
sqlstate: 54028
SQL0430N | Потребителски дефинирана функция "<име-на-функция>" (специфично име "<специфично-име>") е прекъсната аварийно. |
Обяснение: Аварийното прекъсване е възникнало, докато управлението е било дадено на потребителски дефинираната функция.
Отговор на потребителя: Потребителски дефинираната функция трябва да бъде поправена. Обърнете се към автора на потребителски дефинираната функция или към администратора на базата данни. Докато се поправя, потребителски дефинираната функция не трябва да се използва.
sqlcode: -430
sqlstate: 38503
SQL0431N | Потребителски дефинирана функция "<име-на-функция>" (специфично име "<специфично-име>") е прекъсната от потребителя. |
Обяснение: Прекъсване от потребителя/клиента е възникнало, докато управлението е било дадено на потребителски дефинираната функция.
Отговор на потребителя: Това може да показва някакъв проблем в потребителски дефинираната функция, като например безкраен цикъл или изчакване. Ако проблемът се повтаря (т.е. необходимостта от прекъсване води до една и съща грешка), се обърнете към автора на потребителски дефинираната функция или администратора на базата данни. Докато проблемът се решава, потребителски дефинираната функция не трябва да се използва.
sqlcode: -431
sqlstate: 38504
SQL0432N | Маркер за параметър не може да има име на потребителски дефиниран тип или име на тип на приемник препратка "<име>". |
Обяснение: Въз основа на контекста, в който е използван, маркер за параметър в оператора е определен като имащ потребителски дефиниран тип "<име>" или тип препратка с тип на приемника "<име>". Маркер за параметър не може да има потребителски дефиниран тип или тип препратка като неговите типове данни, освен ако не е част от присвояване (клауза VALUES на INSERT или клауза SET на UPDATE) или не е бил преобразуван явно със спецификацията CAST в потребителски дефиниран отделен тип данни или тип данни препратка.
Операторът не може да бъде обработен.
Отговор на потребителя: Използвайте явно преобразуване на маркера за параметър в потребителски дефиниран отделен тип данни или тип данни препратка. Алтернативата е да преобразувате колоните, които са с потребителски дефинирани отделени типове данни, към съответния тип данни на източника или колоните, които са типове данни препратка, към съответстващия им тип представяне.
sqlcode: -432
sqlstate: 42841
SQL0433N | Стойност "<стойност>" е твърде дълга. |
Обяснение: Стойността "<стойност>" е отрязана от системна (вградена) функция за преобразуване или настройка, която е извикана, за да преобразува стойността по някакъв начин. Там, където се използва тази стойност, не се разрешава отрязване.
Трансформираната стойност е един от следните видове:
Изпълнението на оператора е неуспешно.
Отговор на потребителя: Ако "<стойност>" е литерален низ в SQL оператора, той е твърде дълъг за това, за което се използва.
Ако "<стойност>" не е литерален низ, проверете SQL оператора, за да определите къде става преобразуването. Или входът за преобразуването е твърде дълъг, или приемникът - твърде къс.
Коригирайте проблема и изпълнете отново оператора.
sqlcode: -433
sqlstate: 22001
SQL0434W | Неподдържана стойност за клауза "<клауза>" е била заменена със стойността "<стойност>". |
Обяснение: Стойността, която е зададена за клауза "<клауза>", не се поддържа и е заменена с посочената поддържана стойност "<стойност>".
Отговор на потребителя: Не се изисква промяна, ако избраната стойност е приемлива. В противен случай задайте стойност, която е валидна за "<клауза>".
sqlcode: +434
sqlstate: 01608
SQL0435N | Невалидно SQLSTATE "<sqlstate>" е зададено за функцията RAISE_ERROR. |
Обяснение: Състоянието SQLSTATE, зададено във функцията RAISE_ERROR, не отговаря на правилата за SQLSTATE, дефинирано от приложение.
Отговор на потребителя: Коригирайте SQLSTATE, зададено във функцията RAISE_ERROR. SQLSTATE трябва да бъде символен низ, съдържащ точно 5 символа. Той трябва да е от тип CHAR, дефиниран с дължина 5, или от тип VARCHAR, дефиниран с дължина 5 или по-голяма. Стойността SQLSTATE трябва да отговаря на правилата за SQLSTATE, дефинирани от приложение, както следва:
sqlcode: -435
sqlstate: 428B3
SQL0436N | Липсва завършващ знак NUL от хост-променлива - низ на езика C, който трябва да завършва със знак NUL. |
Обяснение: Стойността на кода на входна хост променлива на езика за програмиране C изисква символ за край NULL в края на низа.
Операторът не може да бъде обработен.
Отговор на потребителя: Уверете се, че стойността на входната хост-променлива завършва със символ за край NULL.
sqlcode: -436
sqlstate: 22024
SQL0437W | Изпълнението на това комплексно запитване може да не е оптимално. Код на причина: "<код-на-причина>". |
Обяснение: Изпълнението на оператора може да не е оптимално, тъй като комплексността на запитването изисква ресурси, които не са на разположение, или са достигнати граничните условия за оптимизация. Следва списък с кодове на причините:
Операторът ще бъде изпълнен.
Отговор на потребителя: Опитайте едно или повече от следните действия:
sqlcode: +437
sqlstate: 01602
SQL0438N | Приложение е предизвикало грешка с диагностичен текст: "<текст>". |
Обяснение: Тази грешка възниква като резултат от изпълнението на функцията RAISE_ERROR или на оператора SIGNAL SQLSTATE в тригер.
Отговор на потребителя: Вж. документацията на приложението
sqlcode: -438
sqlstate: дефинирано от приложение
SQL0439N | Потребителски дефинирана функция "<име-на-функция>" е изпълнена индиректно от функция "<функция-източник>", което е довело до грешка "<sqlcode>". |
Обяснение: Функцията ";<име-на-функция>" е спомената в оператор на потребителя. Тъй като в дефиницията на тази функция е използвана клаузата SOURCE, изключено е функцията "<функция-източник>" действително да изпълни функцията. (Пътеката за дефиниране от "<име-на-функция>" към "<функция-източник>" може да е директна или индиректна.) По време на компилирането енкапсулаторът (DB2 код, който действа от името на функцията) за "<функция-източник>" е върнал грешка с код "<sqlcode>".
Отговор на потребителя: Преди да се предприемат действия за коригиране, трябва да се разбере по-добре реалната ситуация на възникване на грешката. Потърсете обяснението за "<sqlcode>". Ако "<функция-източник>" е вградена функция, "<sqlcode>" трябва да сочи проблема както в случая, когато към вградена функция се прави директно обръщение от оператор на потребителя. Ако "<функция-източник>" е потребителски дефинирана функция, най-вероятно съобщението показва проблем с един от аргументите или с резултата от функцията.
Коригирайте проблема и опитайте отново.
sqlcode: -439
sqlstate: 428A0
SQL0440N | В пътеката на функцията не е намерена функция "<име-на-функция>", която има съвместими аргументи. |
Обяснение: Това възниква в препратка към функция "<име-на-функция>", в която "<име-на-функция>" може да препраща към метод, когато мениджърът на базата данни не може да намери функция или метода, за да изпълни заявката. Грешката може да възникне по няколко причини:
Отговор на потребителя: Отстранете проблема и опитайте отново. Това може да означава достъп до каталога, смяна на оператора, добавяне на нови функции и/или смяна на пътеката към функцията.
sqlcode: -440
sqlstate: 42884
SQL0441N | Невалидна употреба на ключова дума DISTINCT или ALL с функция "<име-на-функция>". |
Обяснение: Възможни са няколко причини.
Отговор на потребителя:
Коригирайте грешката и опитайте отново.
sqlcode: -441
sqlstate: 42601
SQL0442N | Грешка при обръщението към процедура "<име-на-процедура>". Надвишен е максималният брой разрешени аргументи (90). |
Обяснение: Твърде много аргументи са зададени в препратката към процедура "<име-на-процедура>". Максимално разрешеният брой е 90.
Отговор на потребителя: Коригирайте оператора, уверете се, че е използван правилен брой аргументи, и опитайте отново.
sqlcode: -442
sqlstate: 54023
SQL0443N | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е върнала грешно SQLSTATE с диагностичен текст "<текст>". |
Обяснение: SQLSTATE от вида 38xxx е върнато към DB2 от процедура "<име-на-процедура>" (специфично име "<специфично-име>"), заедно със съобщение "<текст>". Процедурата би могла да е потребителски дефинирана функция или потребителски дефиниран метод.
Отговор на потребителя: Потребителят трябва да разбере значението на грешката. Обърнете се към Администратора на базата данни или към автора на процедурата.
Всички грешки, намерени от функциите, предоставени от IBM, в схемата SYSFUN, връщат SQLSTATE 38552. Частта с текста на съобщението е във вида:
SYSFUN:nn
където nn е значението на кода на причината:
sqlcode: -443
sqlstate: 38xxx (SQLSTATE, върнато от процедурата).
SQL0444N | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е реализирана с код в библиотека или пътека "<библиотека-или-пътека>", функция "<идентификатор-на-код>", до която не може да се осъществи достъп. Код на причина: "<код>". |
Обяснение: DBMS се опитва да осъществи достъп до тялото на кода, който реализира процедурата "<име-на-процедура>" (специфично име "<специфично-име>") и не може да го направи поради причина, дадена с код на причина "<код>" (списък на кодовете е даден по-долу). Файлът, реализиращ процедурата, се посочва от "<библиотека-или-пътека>", и функцията - от "<идентификатор-на-код>".
(Обърнете внимание, че последните две лексеми може да бъдат отрязани вследствие на ограничения в общата дължина на лексемите, които може да бъдат подавани. Ако това се случи, тогава може да се наложи да се осъществи достъп до дефиницията на процедурата в каталозите, за да се определи пълната библиотека или пътека и идентификаторът на кода на функцията, която е била дефинирана за процедурата.
Отговор на потребителя: За всеки код на причина е дадено:
В OS/2 този код на причина може да се получи, ако UDF DLL име е по-дълго от формата (8.3). Например име "abcdefgh99.dll" има формат (10.3) и ще доведе до появата на това съобщение с код на причина 4. Решението е да промените името в приемлив формат, например "abcdef99.dll".
В допълнение към горното, този код на причина може да се получи, ако процедурата изисква поделена библиотека или DLL, а поделената библиотека не може да бъде локализирана (като се използва конкатенацията на директориите, посочени в променливата на обкръжението LIBPATH в UNIX-базирани системи, променливата на обкръжението PATH в INTEL системи). Възможни са много нива на подобно пренасочване, които водят до този код на причина. Например тяло на процедура X може да се намери и то се нуждае от поделена библиотека Y, която също може да се намери. Но Y изисква Z, а местоположението на Z не може да бъде определено, това ще доведе до SQL0444N код на причина 4.
Ако не можете да диагностицирате грешката, като използвате информацията в това съобщение, диагностичният журнален файл db2diag.log съдържа информация за отказа, която може да ви помогне да определите проблема. Може да се наложи да се обърнете за помощ към системния ви администратор.
Потребители на обединени системи: ако тази потребителски дефинирана функция е шаблон на функция (и следователно не й е необходим код, за да се намира на обединен сървър), можете да помислите за модифицирането на SQL оператора или на статистиката, за да разрешите тази функция да бъде пресметната на отдалечения източник на данни.
sqlcode: -444
sqlstate: 42724
SQL0445W | Стойността "<стойност>" е била отрязана. |
Обяснение: Стойността "<стойност>" е отрязана от системна (вградена) функция за преобразуване или настройка, която е извикана, за да преобразува стойността по някакъв начин. Това е предупреждение.
Стойността, която се трансформира, е изходът на процедура (потребителски дефинирана функция (UDF) или метод) и се трансформира заради спецификацията CAST FROM в дефиницията на процедурата или защото UDF е източник на друга функция и резултатът трябва да бъде трансформиран.
Отговор на потребителя: Уверете се, че изходът е такъв, какъвто се очаква, и че отрязването не е предизвикало някакви неочаквани последствия.
sqlcode: +445
sqlstate: 01004
SQL0447W | Операторът съдържа повтарящи се спецификации, които включват клаузата "<клауза>". |
Обяснение: Ключовата дума "<оператор>" е включена повече от един път в оператора. Това е предупреждение.
Отговор на потребителя: Ако повторението е преднамерено или ако се определи, че от него няма "вреда", не е необходимо да правите нищо. Въпросната "вреда" може да е например пропускане на някаква друга желана ключова дума.
sqlcode: +447
sqlstate: 01589
SQL0448N | Грешка при дефинирането на процедура "<име-на-процедура>". Надвишен е максималният брой разрешени параметри (90 за потребителски дефинирани функции и методи, 32767 за запомнени процедури). |
Обяснение: Твърде много параметри са зададени при дефинирането на процедурата "<име-на-процедура>". Операторът за дефиниране на процедурата може да е CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (дефиниция на метод), или ALTER TYPE (дефиниция на метод).
Отговор на потребителя: Променете оператора така, че да включва по-малко параметри.
sqlcode: -448
sqlstate: 54023
SQL0449N | Операторът, дефиниращ процедура "<име-на-процедура>" съдържа невалидно форматирана идентификация на библиотека/функция в клаузата EXTERNAL NAME. |
Обяснение: Открита е грешка в клаузата EXTERNAL NAME на оператора CREATE за потребителски дефинирана функция (UDF), потребителски дефиниран метод, или запомнена процедура "<име-на-процедура>". Правилата за идентификация на библиотека/функция са следните:
Името има формата '<a>!<b>' или '<a>'. Не са разрешени интервали вътре в единичните кавички. <a> е едно от следните:
Ако <b> е пропуснато, за него по подразбиране се приема входната точка, дефинирана при свързването на именувания файл. Ако <b> е зададено, то посочва входната точка (функция) в <a>, която ще бъде извикана като тяло на процедурата.
Отговор на потребителя: Коригирайте проблема и опитайте отново. Възможната причина е включването на интервал или наличието на '!' в началото или в края на името.
sqlcode: -449
sqlstate: 42878
SQL0450N | Процедурата "<име-на-процедура>" (специфично име "<специфично-име>") е генерирала резултатна стойност SQLSTATE стойност, текст на съобщение или бележник, които са твърде дълги. |
Обяснение: След връщането от процедурата "<име-на-процедура>" (специфично име "<специфично-име>") DB2 е установила, че за едно от следните са върнати повече байтове, отколкото са били заделени:
Дефиницията на аргумент на резултата в процедурата трябва да се съобразява с изискването за типа данни. Обърнете се към Ръководство за разработка на приложения за повече информация.
Това не е разрешено.
Тази грешка ще бъде върната също и ако полето за дължината на бележника се променя от процедурата.
Отговор на потребителя: Обърнете се към Администратора на базата данни или към автора на процедурата.
sqlcode: -450
sqlstate: 39501
SQL0451N | Дефиницията на "<елемент>" в оператора, който дефинира процедурата "<име-на-процедура>", съдържа тип данни "<тип>", който не е подходящ за не-сорсифицирана процедура, написана на дадения език. |
Обяснение: Направена е грешка в частта "<елемент>" на оператора, дефиниращ процедурата "<име-на-процедура>". Потребителският оператор съдържа невалиден тип "<тип>" или съдържа потребителски дефиниран тип (UDT), който се базира на невалиден тип "<тип>". Дефиницията на процедурата може да е CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (дефиниция на метод) или ALTER TYPE (дефиниция на метод).
"<елемент>" е токен, който посочва мястото на проблема в оператора. Например "PARAMETER 2" или "RETURNS" или "CAST FROM".
Отговор на потребителя: Определете коя от двете ситуации е възникнала и я коригирайте. Възможните действия за корекция са:
sqlcode: -451
sqlstate: 42815
SQL0452N | Не може да се осъществи достъп до файл, посочен от хост-променлива "<позиция-на-променлива>". Код на причина: "<код-на-причина>". |
Обяснение: Възникнала е грешка при опит за достъп или по време на достъп до файла, посочен от n-тата хост-променлива, където n = "<позиция-на-променлива>", поради причина, означена с "<код-на-причина>". <позиция-на-променлива> се установява в 0, ако позицията на хост-променливата не може да бъде определена. Възможните кодове за причина са следните:
SQL_FILE_READ -чете от съществуващ файл SQL_FILE_CREATE -създава нов файл за запис SQL_FILE_OVERWRITE -записва върху съществуващ файл. Ако файлът не съществува, той се създава. SQL_FILE_APPEND -добавя към съществуващ файл. Ако файлът не съществува, той се създава.
Отговор на потребителя:
При код на причина 01 - коригирайте дължината на името на файла, името на файла и/или пътеката.
При код на причина 02 - задайте валидна опция за файла.
При код на причина 03 - уверете се, че зададеният файл съществува преди да опитате да осъществите достъп до него.
При код на причина 04 - изтрийте файла, ако той не е необходим повече, или задайте име на файл, който в момента съществува.
При код на причина 05 - уверете се, че потребителят има достъп (правилни разрешения за файла) до файла.
При код на причина 06 - използвайте различен файл или ако до файла трябва да се осъществи достъп, модифицирайте приложението, за да е сигурно, че до този файл няма да се осъществява едновременен достъп.
При код на причина 07 - изтрийте ненужни файлове, за да освободите пространство на диска, или задайте файл, който е на друго устройство/файлова система с достатъчно дисково пространство. Уверете се също, че не са достигнати ограниченията за размер на потребителски файл или на операционната система. Ако кодовата страница на приложението използва многобайтова схема за кодиране, възможно е да е записана само част от последния символ; уверете се, че файлът съдържа само пълни символи.
При код на причина 08 - ако даден файл трябва да се използва като вход, уверете се, че файлът не е модифициран, преди да е бил прочетен целият файл.
При код на причина 09 - коригирайте всички грешки в носителя, на който е записан файлът.
При код на причина 10 - уверете се, че файлът съдържа валидни многобайтови символи, базирани на кодовата страница на приложението, или подайте заявката, докато работите в същата кодова страница, в която е съдържанието на файла.
При код на причина 11 - уверете се, че поддръжката на преобразуването на символи между кодовата страница на файла, например Japanese EUC, и графичната кодова страница на приложението, например UCS-2, е инсталирана.
sqlcode: -452
sqlstate: 428A1
SQL0453N | Открит е проблем с клаузата RETURNS в оператора, който дефинира процедурата "<име-на-процедура>". |
Обяснение: Открит е проблем, засягащ резултата от процедурата "<име-на-процедура>". Типът данни CAST FROM не може да се преобразува до типа данни RETURNS, а трябва да може. Вижте SQL Справочник за повече информация относно преобразуването между типовете данни.
Отговор на потребителя: Променете клаузата RETURNS или CAST FROM, така че типът данни CAST FROM да може да се преобразува до типа данни RETURNS.
sqlcode: -453
sqlstate: 42880
SQL0454N | Сигнатурата, предоставена в дефиницията за процедура "<име-на-процедура>" съвпада със сигнатурата на някоя друга процедура, която вече съществува в схемата или за типа. |
Обяснение: Сигнатурата на функция се състои от име на функцията, броя параметри, дефинирани за функцията, и подреден списък на типовете на параметрите (без да се съпоставят някакви параметри на типовете).
Сигнатурата на метод се състои от име на метода, типа на субекта на метода, броя параметри, дефинирани за метода, и подреден списък на типовете на параметрите (без да се съпоставят някакви параметри на типовете).
Сигнатурата на процедура се състои от името на процедурата и броя параметри, дефинирани за процедурата (типове данни не се разглеждат).
В този случай, или:
Операторът не може да бъде обработен.
Отговор на потребителя: Определете дали съществуващата функция вече предоставя исканата функционалност. Ако не, то сигнатурата на процедурата ще трябва да се промени; например, като се промени името на процедурата.
sqlcode: -454
sqlstate: 42723
SQL0455N | В процедура "<име-на-процедура>" името на схема "<име-на-схема1>", предоставено за SPECIFIC името не съответства на името на схемата "<име-на-схема2>" на процедурата. |
Обяснение: Ако SPECIFIC името е зададено като име от две части, частта "<име-на-схема1>" трябва да е същата като частта "<име-на-схема2>" на "<име-на-процедура>". Обърнете внимание, че частта "<име-на-схема2>" на "<име-на-процедура>" може да е била зададена директно или може да е подразбираща се за идентификатора за оторизация на оператора. Ако процедурата е метод, "<име-на-схема>" се отнася до името на схемата на тип на субекта на метода.
Отговор на потребителя: Коригирайте оператора и опитайте отново.
sqlcode: -455
sqlstate: 42882
SQL0456N | В дефиницията на процедура "<име-на-процедура>", SPECIFIC името "<специфично-име>" вече съществува в схемата. |
Обяснение: Потребителят е подал явно SPECIFIC име "<специфично-име>" в дефиницията на процедура "<име-на-процедура>", но това име вече съществува като SPECIFIC име за функция, метод или процедура в схемата.
Отговор на потребителя: Изберете ново SPECIFIC име и опитайте отново.
sqlcode: -456
sqlstate: 42710
SQL0457N | Функция, метод, потребителски дефиниран тип данни или атрибут на структурен тип данни не може да бъде наречен "<име>", тъй като това име е резервирано за системно използване. |
Обяснение: потребителски дефинираната функция, метод, потребителски дефиниран тип данни или структурен тип данни не може да бъде създаден, защото зададеното за него име е резервирано за системата. Имената, които не могат да се използват като имена на функции, имена на отделени типове, имена на структурирани типове или имена на атрибути, са:
"=","<",">",">=","<=","&=","&>",,"&<", "!=","!>","!<","<>", SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR и MATCH.
Отговор на потребителя: Изберете име за функцията, метода, потребителски дефинирания тип данни или атрибута на структурния тип данни, което не е резервирано за системно използване.
sqlcode: -457
sqlstate: 42939
SQL0458N | В препратка чрез сигнатура към процедура "<име-на-процедура>" не може да бъде намерена съответстваща процедура. |
Обяснение: В препратка чрез сигнатура към функция, метод или запомнена процедура "<име-на-процедура>" не може да бъде намерена съответстваща функция, метод или запомнена процедура.
Ако се използва тип данни, който може да приема параметър, то параметърът за типа не е задължителен. Например, за CHAR(12) можете или да зададете параметъра (CHAR(12), или да го пропуснете (CHAR()). Ако зададете параметъра, DBMS ще приема само точно съответствие на типа данни И параметъра на типа данни. Ако пропуснете параметъра, DBMS ще приема съответствие сама на типа данни. Синтаксисът CHAR() предоставя възможност да се укаже на DBMS да игнорира параметрите за типовете данни при намирането на съответстваща функция.
Обърнете също внимание, че в операторите DROP FUNCTION/PROCEDURE и COMMENT ON FUNCTION/PROCEDURE неопределена препратка се определя с идентификатора за оторизация на оператора, и това е схемата, в която може да се срещне проблема. В клаузата SOURCE на CREATE FUNCTION определянето става чрез пътеката на текущата функция. В този случай в цялата пътека липсва съответстваща функция.
Функция не може да бъде подавана от вградените функции COALESCE, NULLIF, NODENUMBER, PARTITION, RAISE_ERROR, TYPE_ID, TYPE_NAME, TYPE_SCHEMA, или VALUE.
Операторът не може да бъде обработен.
Отговор на потребителя: Възможните действия са:
sqlcode: -458
sqlstate: 42883
SQL0461N | Стойност с тип данни "<тип-данни-източник>" не може да бъде преобразувана към тип "<тип-данни-приемник>". |
Обяснение: Операторът съдържа CAST, като първият операнд има тип данни "<тип-данни-източник>", който трябва да се преобразува в тип данни "<тип-данни-приемник>". Това преобразуване не се поддържа.
Отговор на потребителя: Променете типа на източника или на приемника така, че исканото преобразуване да се поддържа. Допустимите преобразувания за предварително дефинираните типове данни са документирани в Справочник за SQL. За преобразуване, включващо потребителски дефиниран отделен тип, преобразуването може да е между основния тип данни и потребителски дефинирания отделен тип данни или от типа данни, който произлиза от основния тип, към потребителски дефинирания отделен тип.
sqlcode: -461
sqlstate: 42846
SQL0462W | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е върнала SQLSTATE предупреждение с диагностичен текст "<текст>". |
Обяснение: SQLSTATE от вида 01Hxx е върнато към DB2 от процедура "<име-на-процедура>" (със специфично име "<специфично-име>"), заедно със съобщение "<текст>".
Отговор на потребителя: Потребителят трябва да разбере значението на предупреждението. Обърнете се към администратора на базата данни или към автора на процедурата.
sqlcode: +462
sqlstate: 01Hxx
SQL0463N | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е върнала невалидно SQLSTATE "<състояние>" с диагностичен текст "<текст>". |
Обяснение: Валидните SQLSTATEs, които процедурата може да върне, са 38xxx (грешка), 38502 (грешка) и 01Hxx (предупреждение). Тази процедура "<име-на-процедура>" (специфично име "<специфично-име>") е върнала невалидно SQLSTATE "<състояние>" с диагностичен текст "<текст>". Процедурата е грешна.
Отговор на потребителя: Процедурата трябва да се коригира. Обърнете се към администратора на базата данни или към автора на процедурата. Значението за приложението на лошо SQLSTATE също може да се научи от автора на процедурата.
sqlcode: -463
sqlstate: 39001
SQL0464W | Процедура "<процедура>" е върнала "<брой>" резултатни набора от запитване, което надвишава дефинираната граница "<число>". |
Обяснение: Запомнената процедура е изпълнена нормално. Запомнената процедура обаче е надвишила дефинираната граница на броя резултатни набори от запитване, който процедурата може да върне.
Възможните причини са, както следва: Запомнената процедура не може да върне "брой" резултатни набора поради DRDA ограничения, наложени от клиента. DRDA клиентът установява това ограничение с кодовия шаблон MAXRSLCNT DDM.
Отговор на потребителя: Изпълнението на SQL оператора е успешно. Полето SQLWARN9 е установено в 'Z'.
sqlcode: +464
sqlstate: 0100E
SQL0465N | Не може да се стартира, инициализира или комуникира с процес в ограничен режим. Код на причина "<код>". |
Обяснение: Има проблем, свързан със системата, отнасящ се до изпълнението на процедура в ограничен режим (потребителски дефинирана функция или метод). Точната същност на проблема е показана със "<състояние>". Това НЕ е проблем на потребителя. Възможните кодове на причини са:
Грешки в процес на процедура
Грешки в процеса на агента
Отговор на потребителя: Обърнете се към системния администратор или към администратора на базата данни.
sqlcode: -465
sqlstate: 58032
SQL0466W | Процедурата "<име-на-процедура>" връща "<брой-резултати>" резултатни набори от запомнената процедура. |
Обяснение: Това съобщение е върнато като резултата от издаване на SQL оператор CALL. То показва, че запомнената процедура "<име-на-процедура>" има "<брой-резултати>" резултатни набора, асоциирани с него.
Операторът е изпълнен успешно.
Отговор на потребителя: Не е необходимо да предприемате действия.
sqlcode: +466
sqlstate: 0100C
SQL0467W | Процедурата "<име-на-процедура>" включва друг резултатен набор. Общо има "<брой-резултати>" резултатни набори. |
Обяснение: Това съобщение е върнато в резултат от затваряне на указател. То показва, че за запомнена процедура "<име-на-процедура>" съществува друг резултатен набор и указателят е бил отворен отново на следващия резултатен набор. Общо има "<брой-резултати>" резултатни набори от запомнената процедура.
Операторът е изпълнен успешно.
Отговор на потребителя: Не е необходимо да предприемате действия. Извличанията могат да продължат от следващия резултатен набор.
sqlcode: +467
sqlstate: 0100D
SQL0469N | Режимът на параметър (IN, OUT или INOUT) не е валиден за параметър в процедура "<име-на-процедура>" със специфично име "<специфично-име>" (номер на параметър "<номер>", име "<име-на-параметър>"). |
Обяснение: Възникнала е една от следните грешки:
Отговор на потребителя: Сменете атрибута на параметъра на INOUT или сменете използването на параметъра в рамките на процедурата.
sqlcode: -469
sqlstate: 42886
SQL0470N | Дефинираната от потребителя процедура "<име-на-процедура>" (специфично име "<специфично-име>") име стойност null за аргумент "<аргумент>", която не може да бъде подадена. |
Обяснение: Процедурата има входен аргумент със стойност null, но е дефинирана със стил на параметрите, който не позволява подаването на null индикатори, или типът данни на този параметър не поддържа null стойности.
Отговор на потребителя: Ако процедурата трябва да бъде извиквана с null стойности, уверете се, че входните типове могат да приемат стойност null. За функции - функция може да бъде създадена също и с "RETURNS NULL ON NULL INPUT".
sqlcode: -470
sqlstate: 39004
SQL0471N | Извикването на процедура "<име>" е неуспешно поради причина "<код-на-причина>". |
Обяснение: Процедура "<име>" е извикана на DB2 Universal Database за OS/390 сървър. Обръщението към процедурата е неуспешно поради условието, описано от DB2 код на причина "<код-на-причина>".
Операторът не може да бъде изпълнен. Съобщение DSNX9xx, описващо грешката, може да се изведе на MVS системната конзола.
Отговор на потребителя: Консултирайте се с документацията за DB2 Universal Database за OS/390 сървър и коригирайте условието, описано от DB2 кода на причината.
sqlcode: -471
sqlstate: 55023
SQL0473N | Не може да се създаде потребителски дефиниран тип данни, който има същото име като предварително дефиниран системен тип. |
Обяснение: В името на тип данни, който трябва да бъде създаден, има неопределено име, което е същото като на предварително дефиниран системен тип данни или е BOOLEAN. Това не е разрешено. Добавянето на ограничители не прави името валидно.
Операторът не може да бъде изпълнен.
Отговор на потребителя: Коригирайте оператора така, че да използва друг идентификатор.
sqlcode: -473
sqlstate: 42918
SQL0475N | Резултатният тип "<тип-1>" на функцията SOURCE не може да бъде преобразуван към RETURNS типа "<тип-2>" на потребителски дефинираната функция "<име-на-функция>". |
Обяснение: За да бъде валиден оператор CREATE за потребителски дефинирана функция (UDF) източник, резултатният тип ("<тип-1>") на функцията приемник трябва да може да се преобразува до RETURNS типа ("<тип-2>") на създаваната функция. Преобразуването между тези типове данни не се поддържа. Вижте SQL Справочник за повече информация относно преобразуването между типовете данни.
Отговор на потребителя: Променете типа данни в RETURNS или идентификацията на функцията в SOURCE, така че резултатният тип на функцията в SOURCE да може да се преобразува до типа данни в RETURNS.
sqlcode: -475
sqlstate: 42866
SQL0476N | Препратка към програма "<име-на-функция>" е направена без сигнатура, но процедурата не е уникална в своята схема. |
Обяснение: Препратки към функция или запомнената процедура без сигнатура са разрешени, но посочената функция или запомнена процедура "<име-на-функция>" трябва да е уникална в схемата си, а тя не е. Ако процедурата е метод, препратка без сигнатура е разрешена, но посоченият метод трябва да е уникален за типа данни.
Обърнете внимание, че в операторите DROP FUNCTION/PROCEDURE и COMMENT ON FUNCTION/PROCEDURE неопределена препратка се определя с идентификатора за оторизация на оператора, и това е схемата, в която може да се срещне проблема. В клаузата SOURCE на CREATE FUNCTION определянето става чрез пътеката на текущата функция. В този случай в първата схема в пътеката, съдържаща функция с това име, има и други функции със същото име.
Потребители на обединени системи: За транзитна сесия - ако операторът е оператор CREATE FUNCTION MAPPING, тази грешка показва, че е направен опит да се създаде функция, изпълняваща координатно преобразуване от една отдалечена функция към повече от една локална функция.
Отговор на потребителя: Коригирайте препратката по един от следните начини:
и опитайте отново.
sqlcode: -476
sqlstate: 42725
SQL0478N | Типът на обекта "<тип1-на-обект>" не може да бъде пропуснат, защото има обект "<име-на-обект>" от тип "<тип2-на-обект>", който зависи от него. |
Обяснение: Базовият обект, който е обект от тип "<тип1-на-обект>" не може да бъде пропуснат, защото друг обект зависи от него. Съществува зависимост от ограничение, дефинирана с обекти от тип "<тип2-на-обект>" (пример за които е обектът "<име-на-обект>").
Възможно е зависимостта да е непряка. Това означава, че именуваният обект е зависим от друг обект, който пък е зависим от пропуснатия обект.
Например:
Отговор на потребителя: Не пропускайте този обект или първо пропуснете зависимите обекти.
sqlcode: -478
sqlstate: 42893
SQL0480N | Процедурата "<име-на-процедура>" още не е извикана. |
Обяснение: Или процедурата, посочена в оператор ASSOCIATE LOCATORS още не е извикана в рамките на процеса на приложението, или процедурата е била извикана, но преди оператора е възникнал явен или неявен комит.
Отговор на потребителя: Коригирайте операторите, така че точният използван синтаксис да задава името на процедурата в оператора CALL да е същото като това в оператора ASSOCIATE LOCATORS. Ако за CALL на процедурата се използва не напълно определено име, в другите оператори също трябва да се използва име от една част. Подайте операторите отново.
sqlcode: -0480
sqlstate: 51030
SQL0481N | Клаузата GROUP BY съдържа "<елемент1>", вложен в "<елемент2>". |
Обяснение: Следните типове влагане не са разрешени в клаузата GROUP BY:
където GEL представлява елементът, означен като списък-групиращи-изрази в синтактичната диаграма на клаузата GROUP BY.
В някои потребителски модели стойността "---" ще бъде показана за "<елемент2>". В този случай "---" представлява CUBE, ROLLUP, GROUPING SET или GEL.
Операторът не може да бъде обработен.
Отговор на потребителя: Променете клаузата GROUP BY, за да отстраните влагането.
sqlcode: -481
sqlstate: 428B0
SQL0483N | В оператора CREATE за потребителски дефинираната функция "<име-на-функция>" броят на параметрите не съответства на броя на параметрите в SOURCE функцията. |
Обяснение: Направен е опит да се създаде (CREATE) потребителски дефинирана функция "<име-на-функция>", която е с източник друга функция. Открита е една от следните ситуации:
Отговор на потребителя: Броят на параметрите за функцията в SOURCE за създаваната функция трябва да бъде един и същ. Идентификацията на функцията в SOURCE трябва да бъде сменена, за да
Възможно е също да трябва да се коригира пътеката към функцията, за да се разреши правилно функцията.
sqlcode: -483
sqlstate: 42885
SQL0486N | Типът данни BOOLEAN в момента се поддържа само вътрешно. |
Обяснение: Един или повече типове данни в оператора са BOOLEAN. Това не се поддържа от текущата версия на DB2.
Отговор на потребителя: Променете типа (типовете) данни и след това подайте оператора отново.
sqlcode: -486
sqlstate: 42991
SQL0487N | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е направила опит да изпълни SQL оператор. |
Обяснение: Програмата, използвана за реализирането тялото на процедурата, не е разрешена за изпълнение на SQL оператори. Тази процедура "<име-на-процедура>" (специфично име "<специфично-име>") съдържа SQL оператори.
Отговор на потребителя: Отстранете SQL операторите и след това компилирайте програмата отново. Проучете разрешеното ниво на SQL, както е зададено в оператора, дефиниращ процедурата.
sqlcode: -487
sqlstate: 38001
SQL0489N | Резултатът от функцията "<име-на-функция>" в елемент на SELECT или VALUES списък е BOOLEAN. |
Обяснение: Функцията "<име-на-функция>" е дефинирана да се използва като предикат, който връща булев резултат. Такъв резултат не е валиден в селект списък.
Операторът не може да бъде обработен.
Отговор на потребителя: Коригирайте името на функцията или премахнете използването на функцията.
sqlcode: -489
sqlstate: 42844
SQL0491N | Дефиницията на процедура "<име-на-процедура>" трябва да има клауза RETURNS и една от следните: клауза EXTERNAL (с други необходими ключови думи); оператор RETURN; или клауза SOURCE. |
Обяснение: Задължителна клауза липсва в дефиницията на процедурата "<име-на-процедура>". Ако е зададено EXTERNAL, трябва да се зададе също и следното: LANGUAGE, PARAMETER STYLE, DETERMINISTIC или NOT DETERMINISTIC, NO SQL и EXTERNAL ACTION или NO EXTERNAL ACTION.
Отговор на потребителя: Добавете липсващата клауза и след това опитайте отново.
sqlcode: -491
sqlstate: 42601
SQL0492N | В оператора CREATE за потребителски дефинираната функция "<име-на-функция>" има проблем с броя на параметрите "<брой>". Проблемът може да е свързан с несъответствие в SOURCE функция. |
Обяснение: Параметърът в позиция "<брой>" на функцията "<име-на-функция>" е грешен и операторът CREATE не може да бъде изпълнен. Параметърът в позиция "<брой>" на функцията-източник не може да се преобразува в съответстващия параметър на създаваната функция.
Отговор на потребителя: Възможните корекции са:
sqlcode: -492
sqlstate: 42879
SQL0493N | Процедура "<име-на-процедура>" (специфично име "<специфично-име>") е върнала стойност на дата, час или времеви индикатор, която е синтактично или числово невалидна. |
Обяснение: Тялото на потребителски дефинирана функция (UDF) или метод "<име-на-процедура>" (специфично име "<специфично-име>") е върнала невалидна стойност на дата, час или времеви индикатор.
Пример за стойност на дата, която е невалидна синтактично, е '1994-12*25': '*' трябва да е '-'. Пример за час с невалидна цифрова стойност е '11.71.22': в часа няма 71-ва минута.
Отговор на потребителя: Процедурата трябва да се поправи. Обърнете се към администратора на базата данни или към автора на процедурата.
sqlcode: -493
sqlstate: 22007
SQL0495N | Очакваната процесорна цена от "<очаквана-стойност1>" процесорни секунди ("<очаквана-стойност2>" сервизни единици) в ценовата категория "<ценова-категория>" надвишава прага за ограничение на ресурсите от "<гранична-стойност>" сервизни единици. |
Обяснение:
Подготовката на динамичен INSERT, UPDATE, DELETE или SELECT SQL оператор е довела до оценка на цената, която надвишава стойността за прага на грешката, указана в спецификационната таблица за ресурсния лимит (RLST).
Тази грешка възниква и ако DB2 категорията за цената е била "B" и действието по подразбиране, указано в колоната RLF_CATEGORY_B в RLST, е да се изведе съобщение за грешка.
Подготовката на динамичен INSERT, UPDATE, DELETE или SELECT оператор е неуспешна.
Отговор на потребителя: Ако този SQLCODE е върнат защото стойността на ценовата категория е "B", може операторът да използва маркери за параметри или някои статистики да не са достъпни за реферираните таблици и колони. Уверете се, че администраторът е изпълнил помощната програма RUNSTATS на реферираните таблици. Може още да се използва UDF при изпълнение на оператора или (за INSERT, UPDATE или DELETE оператори) да са дефинирани тригери в променената таблица. Проверете DSN_STATEMNT_TABLE или записа IFCID 22 за този оператор, за да откриете причините, които този SQL оператор е поставил в ценовата категория "B". Ако програмата не може да бъде променена, или не може да бъде получена статистика, помолете администратора да промени стойността в колоната RLF_CATEGORY_B в RLST на "Y", което позволява операторът да се изпълни, или на "W", което връща предупреждение, а не грешка.
Ако предупреждението е причинено от SQL оператор, който консумира твърде много процесорни ресурси, опитайте се да напишете оператора отново така, че да се изпълнява по-ефективно. Друга възможност е да помолите администратора да увеличи прага на грешката в RLST.
sqlcode: -495
sqlstate: 57051
SQL0499N | Указателят "<име-на-указател>" е вече свързан с този или друг резултатен набор от процедурата "<име-на-процедура>". |
Обяснение: Направен е опит за свързване на указател с резултатен набор, но са заделени много указатели за процедурата "<име-на-процедура>".
Отговор на потребителя: Вижте дали резултатният набор е бил преди това свързан с указател. Ако са били заделени много указатели за процедурата "<име-на-процедура>", уверете се, че само един указател се използва за обработка на резултатните набори на запомнена процедура.
sqlcode: -499
sqlstate: 24516