方法

ジオデータベースから feature class extension を削除する

Last Published: April 25, 2020

サマリー

コンピューター A (ArcGIS Desktop がインストール済み) 上に feature class extension が作成された場合、ユーザーは次の 2 ステップのワークフローに従います。

  1. ArcGIS Desktop に class extension の DLL を登録します。
  2. プログラミングで次のコードを使用して class extension を特定のフィーチャクラスに適用します。
    IClassSchemaEdit2.AlterClassExtensionCLSID(extUID, extensionProperties)
    これは、ArcObjects .NET Web ヘルプ ドキュメント「Creating class extensions」に基づいています。
ArcGIS Desktop がインストールされているセカンダリ コンピューターまたは仮想コンピューター (コンピューター B) 上では、エンタープライズ ジオデータベースに対する class extension をこのもう 1 つのコンピューターから削除することが困難になります。この理由は、このコンピューターが、feature class extension の登録に使用されたコンピューターではないからです。 プログラミングで次のコードを適用して、class extension を削除しようとしても (ArcGIS Engine コンソール アプリまたは ArcMap アドインを使用)、処理が成功しません。
classSchemaEdit.AlterClassExtensionCLSID(null, null)
これは、class extension を削除する前に、ArcGIS Desktop または ArcGIS Engine がその class extension で登録されている必要があるためです。 下記の手順は、ジオデータベースから feature class extension を削除する方法を示しています。

手順

  1. 新しいコンピューターに class extension の DLL をコピーし、Desktop または Engine に対して EsriRegAsm.exe を実行してその class extension を登録します。
  2. class extension が関連付けられたフィーチャクラスを含むエンタープライズ ジオデータベースに接続し (ダイレクト コネクション SDE 接続を使用)、プログラミングで次のコードを呼び出して、class extension を削除します。
    classSchemaEdit.AlterClassExtensionCLSID(null, null)
    上記のコード行は、スタンドアロン コンソール アプリケーションまたは ArcMap アドインの OnClick イベントから呼び出すことができます。
  3. Desktop または Engine に対して EsriRegAsm を使用してクラス エクステンションを登録解除します。
  4. Visual Studio で新しい class extension を作成し、上述の 2 ステップのワークフローに従って、同じフィーチャクラスに対して class extension を有効化します。
    1. 新しい class extension を ArcGIS Desktop または ArcGIS Engine に登録します。
    2. コンソールまたはデスクトップ アプリケーションで次のコードを実行して、class extension を 1 つ以上のフィーチャクラスに適用します。
      IClassSchemaEdit2.AlterClassExtensionCLSID(extUID, extensionProperties)

記事 ID:000015312

ArcGIS の専門家からヘルプを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動

関連情報

このトピックについてさらに調べる