Ошибка обновления таблицы в db2 с помощью SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 7;

Я использую db2 9.5 я создал столбец в таблице, который успешно создан, но я не могу обновить столбец таблицы и получить следующую ошибку

[ошибка] строки сценария: 1-1 -------------------------- DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 7;DB2ADMIN.XCATENTRYEXT Сообщение: Операция не разрешена по причине кода " 7 "в таблице" DB2ADMIN.XCATENTRYEXT".

после некоторых блогов / сайтов в google я нашел Команда REORG как решение, как указано в следующей ссылке http://bytes.com/topic/db2/answers/508869-reorg-tablespace

я попробовал следующие запросы для запуска в базе данных для решения проблемы.

Database["DB2"].ExecuteNonQuery("call SYSPROC.ADMIN_CMD ('REORG TABLE DB2ADMIN.XCATENTRYEXT index CATENTRY_ID INPLACE')")

REORG TABLE DB2ADMIN.XCATENTRYEXT index CATENTRY_ID INPLACE

REORG TABLE DB2ADMIN.XCATENTRYEXT 
REORG INDEXES I0000908 FOR TABLE DB2ADMIN.XCATENTRYEXT

но все запросы имеют одну и ту же ошибку в результате, как

 DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: Database;BEGIN-OF-STATEMENT;<variable_set>
 Message: An unexpected token "Database" was found following "BEGIN-OF-STATEMENT".  Expected tokens may include:  "<variable_set>".

Я застрял на этой ошибке, даже я не могу обновить какой-либо colomn этой таблицы particuler. Быстрый ответ будет высоко оцененный.

спасибо -Джунаид!--3-->

2 ответов


из сообщения об ошибке следует, что вы каким-то образом отправляете всю строку Database["DB2"].ExecuteNonQuery("call SYSPROC.ADMIN_CMD ('REORG TABLE DB2ADMIN.XCATENTRYEXT index CATENTRY_ID INPLACE')") как оператор SQL, что, очевидно, неверно.

просто введите их в командной строке оболочки:

db2 connect to <your database name here>
db2 REORG TABLE DB2ADMIN.XCATENTRYEXT

можно сделать РЕОРГ через инструкцию SQL:

CALL SYSPROC.ADMIN_CMD('REORG TABLE SCHEMA.TABLENAME');