I’m using Migrator.NET with a DB2 database and my current migration executes an
ALTER TABLE statement, which causes the table to go into the “reorg pending state”. This state requires the reorganisation of the table with
> REORG TABLE TableName before I can do anything else with it.
I tried executing this with
Database”DB2″.ExecuteNonQuery(“REORG TABLE MyTable”);
but it failed because apparently the
REORG command is server side only and can’t be called from the client. Then I tried creating a stored procedure which calls the REORG statement but am struggling with the correct syntax.
Can anyone suggest a solution to this problem?
I found a solution:
Database"DB2".ExecuteNonQuery("call SYSPROC.ADMIN_CMD ('REORG TABLE MyTable')");
In DB2 9.7 it’s also possible to use this procedure: ADMIN_REVALIDATE_DB_OBJECTS()