2

DB2 データベースでMigrator.NETを使用していますが、現在の移行でALTER TABLEステートメントを実行すると、テーブルが "再編成保留状態" になります。> REORG TABLE TableNameこの状態では、他の操作を行う前に、テーブルを再編成する必要があります。

これを実行してみました

Database["DB2"].ExecuteNonQuery("REORG TABLE MyTable");

REORGしかし、どうやらコマンドはサーバー側のみであり、クライアントから呼び出すことができないため、失敗しました。次に、REORG ステートメントを呼び出すストアド プロシージャを作成しようとしましたが、正しい構文に苦労しています。

誰でもこの問題の解決策を提案できますか?

4

1 に答える 1

5

私は解決策を見つけました:

Database["DB2"].ExecuteNonQuery("call SYSPROC.ADMIN_CMD ('REORG TABLE MyTable')");

ADMIN_CMDドキュメントへのリンク

DB2 9.7では、次の手順を使用することもできます。ADMIN_REVALIDATE_DB_OBJECTS()

于 2010-10-20T15:12:19.687 に答える