Справочник на съобщенията

SQL0400 - SQL0499

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

SQL0428NSQL операторът е разрешен само като първи оператор в единица работа.

Обяснение: Подаденият 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Изпълнението на това комплексно запитване може да не е оптимално. Код на причина: "<код-на-причина>".

Обяснение: Изпълнението на оператора може да не е оптимално, тъй като комплексността на запитването изисква ресурси, които не са на разположение, или са достигнати граничните условия за оптимизация. Следва списък с кодове на причините:

1
Методът с изброяване на свързванията е променен вследствие на ограничения в паметта.

2
Методът с изброяване на свързванията е променен вследствие сложността на запитването.

3
Стойността е под цената на оптимизатора.

4
Стойността е над цената на оптимизатора.

5
Класът на оптимизация на запитването е твърде нисък.

6
Оптимизаторът е игнорирал невалидна статистическа информация.

Операторът ще бъде изпълнен.

Отговор на потребителя: Опитайте едно или повече от следните действия:

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 е значението на кода на причината:

01
Числовата стойност е извън допустимия обхват

02
Деление на нула

03
Аритметично препълване или отпадане на младши значещи цифри

04
Невалиден формат за дата

05
Невалиден формат за час

06
Невалидна системна променлива за час/дата

07
Невалидно символно представяне на продължителността на системното време

08
Невалиден тип за интервал (трябва да е 1, 2, 4, 8, 16, 32, 64, 128, 256)

09
Твърде дълъг низ

10
Дължина или позиция в низова функция е извън допустимия обхват

11
Невалидно символно представяне на число с плаваща запетая

sqlcode: -443

sqlstate: 38xxx (SQLSTATE, върнато от процедурата).

SQL0444NПроцедура "<име-на-процедура>" (специфично име "<специфично-име>") е реализирана с код в библиотека или пътека "<библиотека-или-пътека>", функция "<идентификатор-на-код>", до която не може да се осъществи достъп. Код на причина: "<код>".

Обяснение: DBMS се опитва да осъществи достъп до тялото на кода, който реализира процедурата "<име-на-процедура>" (специфично име "<специфично-име>") и не може да го направи поради причина, дадена с код на причина "<код>" (списък на кодовете е даден по-долу). Файлът, реализиращ процедурата, се посочва от "<библиотека-или-пътека>", и функцията - от "<идентификатор-на-код>".

(Обърнете внимание, че последните две лексеми може да бъдат отрязани вследствие на ограничения в общата дължина на лексемите, които може да бъдат подавани. Ако това се случи, тогава може да се наложи да се осъществи достъп до дефиницията на процедурата в каталозите, за да се определи пълната библиотека или пътека и идентификаторът на кода на функцията, която е била дефинирана за процедурата.

Отговор на потребителя: За всеки код на причина е дадено:

1
Името на пътека "<библиотека-или-пътека>" е по-дълго от максимално възможното (255 байта). Или трябва да се смени дефиницията на процедурата, за да сочи по-къса пътека, или името на пътеката на DB2 модела е твърде дълго. Погледнете в дефиницията на каталога, за да определите кой от двата случая имате. Може да е необходимо да преместите тялото на функцията в директория с по-късо име на пътека.

2
Името на пътеката на потребителския модел на DB2 не може да бъде възстановено от DB2. Обърнете се към системния администратор.

3
Пътеката "<библиотека-или-пътека>" не може да бъде намерена. Обърнете се към създателя на процедурата или към администратора на базата данни. Дефиницията на процедурата или разположението на самата процедура ще трябва да се коригират.

4
Файлът в "<библиотека-или-пътека>" не може да бъде намерен. Обърнете се към създателя на процедурата или към администратора на базата данни. Дефиницията на процедурата или разположението на самата процедура може би трябва да се коригират или може би процедурата трябва да се свърже отново.

В 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.

5
Няма достатъчно памет, за да се зареди библиотеката, съдържаща функцията или един или повече символа не могат да се получат. Обърнете се към създателя на процедурата или към администратора на базата данни, за да се уверите, че библиотеката е свързана правилно. Трябва да са достъпни всички необходими библиотеки за получаване на споменати символи, например като външни функции. Може да се наложи да се смени конфигурацията на системата, за да се остави повече памет, достъпна за DB2.

6
Функцията "<идентификатор-на-код>" не може да бъде намерена в посочения модул. Обърнете се към създателя на процедурата или към администратора на базата данни. Дефиницията на процедурата или самата функция ще трябва да се коригират.

7
Символът, даден като име на функцията ("<идентификатор-на-код>"), не е име на валидна функция в именуваната библиотека. Обърнете се към създателя на процедурата или към администратора на базата данни. Дефиницията на процедурата или самата функция ще трябва да се коригират.

8
Системната функция зареждане ("load") не е изпълнена поради причини, различни от дадените по-горе. Възможно е модулът въобще да не е свързан или да не е свързан коректно.

9
Няма достатъчно памет, за да се разреши името на функцията "<идентификатор-на-код>" в библиотеката, идентифицирана в "<библиотека-или-пътека>". Обърнете се към създателя на процедурата или към администратора на базата данни, за да се уверите, че библиотеката, съдържаща функцията, е свързана правилно. Може да се наложи да се смени конфигурацията на системата, за да се остави повече памет, достъпна за DB2 Server.

10
Неуспешно системно loadquery извикване. Това може да се случи само в системи, работещи под unix, и е симптом, че самият мениджър на базата данни не е бил инсталиран правилно. Обърнете се към системния администратор.

11
Процесът на агента търси определена функция на мениджъра на базата данни, която би трябвало да бъде в библиотеката libdb2.a, и не може да я намери. Това може да се случи само в системи, работещи под unix, и е симптом, че мениджърът на базата данни не е инсталиран правилно. Обърнете се към системния администратор.

15
Достъпът е отказан. Това може да се случи в Windows NT обкръжения, ако спецификацията EXTERNAL NAME в оператора за дефиниране на процедурата не задава пълна пътека или функцията не съществува в директорията име-на-модел\функция, като е необходимо търсене, използващо променливата на обкръжението PATH. Например, ако PATH съдържа LAN устройство преди директорията, съдържаща функцията ви, и DB2 моделът е пуснат под акаунта SYSTEM, може да се получи този код на причина.

друг:
Възникнал е неидентифициран системен отказ. Отбележете си кода и се обърнете към системния администратор.

Ако не можете да диагностицирате грешката, като използвате информацията в това съобщение, диагностичният журнален файл 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, ако позицията на хост-променливата не може да бъде определена. Възможните кодове за причина са следните:

Отговор на потребителя:

При код на причина 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Процедура "<процедура>" е върнала "<брой>" резултатни набора от запитване, което надвишава дефинираната граница "<число>".

Обяснение: Запомнената процедура е изпълнена нормално. Запомнената процедура обаче е надвишила дефинираната граница на броя резултатни набори от запитване, който процедурата може да върне.

брой
показва броя резултатни набори от запитване, върнати от запомнената процедура.

число
показва дефинираната граница на броя резултатни набора от запитване за запомнената процедура.
Само първите "число" резултатни набори от запитване са върнати на SQL програмата, която е издала оператора SQL CALL.

Възможните причини са, както следва: Запомнената процедура не може да върне "брой" резултатни набора поради DRDA ограничения, наложени от клиента. DRDA клиентът установява това ограничение с кодовия шаблон MAXRSLCNT DDM.

Отговор на потребителя: Изпълнението на SQL оператора е успешно. Полето SQLWARN9 е установено в 'Z'.

sqlcode: +464

sqlstate: 0100E

SQL0465NНе може да се стартира, инициализира или комуникира с процес в ограничен режим. Код на причина "<код>".

Обяснение: Има проблем, свързан със системата, отнасящ се до изпълнението на процедура в ограничен режим (потребителски дефинирана функция или метод). Точната същност на проблема е показана със "<състояние>". Това НЕ е проблем на потребителя. Възможните кодове на причини са:

Грешки в процес на процедура

21:
Отказ при инициализиране на вътрешни данни или данни на приложението.

22:
Отказ при регистрирането на манипулатори на сигнали.

23:
Отказ да се предостави разрешение за достъп до REQUEST QUEUE на процеса на агента.

24:
Отказ за свързване към процеса Shared Memory (Поделена памет).

25:
Отказ при отваряне на REPLY QUEUE.

26:
Отказ при запис в REPLY QUEUE.

27:
Отказ при създаване на REQUEST QUEUE.

28:
Отказ при четене от REQUEST QUEUE.

29:
Процесът на процедурата увисва (замира).

30:
Процеса на процедурата улавя сигнал USER INTERRUPT signal.

31:
Отказ да се освободи модулът на процедурата.

32:
Отказ да се задели памет за контролните блокове, използвани в модула зареждане/освобождаване.

33:
Отказ да се изпрати SIGINT от процес на агент към процеса на процедурата.

34:
Отказ при инициализиране на OLE библиотека.

35:
Отказ при инициализиране на OLE DB Компонент за обслужване на инициализирането.

40:
Вътрешна грешка, възникнала в процеса на процедурата.

Грешки в процеса на агента

41:
Отказ да се породи процеса на процедурата.

42:
Отказ при създаване на REPLY QUEUE.

43:
Отказ при четене от REPLY QUEUE.

44:
Отказ при отваряне на REQUEST QUEUE.

45:
Отказ при запис в REQUEST QUEUE.

47:
Отказ да се предоставят права на процеса на процедурата за разрешение за достъп до UDFP набор поделена памет.

48:
Отказ да се предоставят права на процеса на процедурата за разрешение за достъп до REPLY QUEUE.

49:
Отказ да се задели памет за контролните блокове, използвани в модула зареждане/освобождаване.

50:
Процес на агент "умира", докато изпълнява код на процедура или код на агент.

51:
Процес на агент улавя USER INTERRUPT, докато изпълнява код на неограничена процедура.

60:
Вътрешна грешка, възникнала в процеса на процедурата.

Отговор на потребителя: Обърнете се към системния администратор или към администратора на базата данни.

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, е да се изведе съобщение за грешка.

очаквана_стойност1
Очакваната цена (в процесорни секунди) за изпълнение на подготвения INSERT, UPDATE, DELETE или SELECT оператор.

очаквана_стойност2
Очакваната цена (в сервизни единици) за изпълнение на подготвения INSERT, UPDATE, DELETE или SELECT оператор.

ценова-категория
Ценовата категория на DB2 за този SQL оператор. Възможните стойности са A и B.

гранична-стойност
Прагът на грешката (в сервизни единици), указан в колоната RLFASUERR на 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


[ Начало на страницата | Предишна страница | Следваща страница ]