DB2 REORG TABLE со стороны клиента с Migrator.NET
Я использую Migrator.NET с базой данных DB2, и моя текущая миграция выполняет ALTER TABLE
оператор, приводящий к тому, что таблица переходит в "состояние ожидания реорганизации". Это состояние требует реорганизации таблицы с > REORG TABLE TableName
прежде чем я могу сделать что-нибудь еще с этим.
Я пытался выполнить это с
База данных ["DB2"].ExecuteNonQuery("REORG TABLE MyTable");
но это не удалось, потому что, по-видимому, REORG
Команда только на стороне сервера и не может быть вызвана с клиента. Затем я попытался создать хранимую процедуру, которая вызывает оператор REORG, но борется с правильным синтаксисом.
Кто-нибудь может предложить решение этой проблемы?
1 ответ
Я нашел решение:
Database["DB2"].ExecuteNonQuery("call SYSPROC.ADMIN_CMD ('REORG TABLE MyTable')");
Ссылка на документацию ADMIN_CMD
В DB2 9.7 также можно использовать эту процедуру: ADMIN_REVALIDATE_DB_OBJECTS ()