スキーマ ロック

注意注意:

ほとんどの場合、ArcGIS は、ジオデータベースでのデータセットの共有ロックと排他ロックの適用と解放を自動的に処理し、他のユーザと競合せずに変更を管理できるようにします。このルールの 1 つの例外が、ArcCatalog でジオデータベースを選択解除する場合です。ジオデータベースのロックを解除するには、ジオデータベースを含むフォルダを手動で更新する必要があります。このセクションでは、これらのスキーマ ロックの仕組みについて説明します。

ArcSDE ジオデータベースでは、複数のユーザが同時に同じデータを参照/編集する場合があります。ArcMap などのアプリケーションでジオデータベースのデータを操作できるようにするには、アプリケーションがジオデータベースのコンテンツの操作中に、ジオデータベースのスキーマが固定され変更されないという原則に従って作業に当たる必要があります。たとえば、ジオデータベースのフィーチャクラスをマップに追加する際、ユーザ自身または他のユーザによってそのスキーマが変更されることがあってはなりません。マップからフィーチャクラスを削除し、そのフィーチャクラスを検索または編集しているユーザが他にいない場合にのみ、スキーマを変更することができます。

スキーマ ロックの概要

ジオデータベースとそれらのデータセットが静的であることはまれです。ほとんどのデータセットは、常時、編集または更新されています。さまざまな理由で、新しいデータセットが追加され、既存のデータセットが削除されます。さらに、既存のデータセットのスキーマが変更され、属性列の追加、トポロジ ルールの変更、カートグラフィック リプレゼンテーションの追加などが行われます。

シングルユーザのジオデータベースを操作している場合、これらの変更を加えるのは簡単であり、それが他のユーザにどのような影響を与えるかについて考慮する必要はありません。これに対し、複数のユーザによって使用されているジオデータベースに変更を加えたい場合は、スキーマを変更するためのワークフローを設定する必要があります。たとえば、他のユーザに影響を与えずに変更を加えるために、他のユーザがシステムを使用していない時間帯にスキーマの変更作業をスケジュールする必要があります。

ArcGIS では、ジオデータベースの変更管理に役立つように、自動化されたスキーマ ロック メカニズムを提供しています。作業計画を立てる際には、このロックメカニズムを考慮にいれた計画を検討する必要があります。

共有ロック

ArcGIS では、ユーザがフィーチャクラスまたはテーブルのコンテンツを編集または検索するなど、個々のデータセットが使用されるたびに、それらに共有ロックを自動的に適用します。このメカニズムは、データセットの使用中は、他のユーザが元のデータセットやそのスキーマを変更できないようにするために使用されます。

単一のフィーチャクラスまたはテーブルに一度に設定できる共有ロックの数に制限はありません。ArcGIS を使用してジオデータベース スキーマを変更する際(フィールドを追加する、ルールを変更するなど)、ArcGIS は変更対象のデータに排他ロックを設定しようとします。ただし、そのデータセットにすでに共有ロックが設定されている場合、排他ロックを設定することはできません。

排他ロック

排他ロックは、データセットのスキーマを変更するなど、ジオデータベースのデータセットに必要な変更を加えるために、他のユーザがそのデータセットを使用できないようにロックするために使用されます。適切な権限を持つユーザがジオデータベースのデータセットに対して変更を開始すると、ArcGIS は、個々の属性テーブル、フィーチャクラス テーブル、ラスタ テーブル、またはその他のデータセットに排他ロックを自動的に設定します。

ジオデータベースのスキーマを変更する場合、そのデータセットが他のユーザによって使用されていない必要があります。つまり、すでに共有ロックが設定されているデータセットは変更できません。

パーソナル ジオデータベースでのロックの使用

パーソナル ジオデータベースでは、すべてのロックがジオデータベース全体のすべてのコンテンツに適用されます。パーソナル ジオデータベースのアイテムに排他ロックまたは共有ロックが設定されると、そのロックはジオデータベース全体に適用されます。これは、パーソナル ジオデータベースを編集できるユーザが常に 1 人だけであることを意味します。

パーソナル ジオデータベースが格納された Microsoft Access データベース ファイル(.mdb)への読み取り/書き込みアクセスが可能なユーザは、そのスキーマ コンテンツを編集して変更することができます。

ネットワーク ドライブ上にまたは UNC パスを介して格納されたパーソナル ジオデータベースにアクセスするときは、パーソナル ジオデータベースの格納フォルダに対する書き込み権限またはそれ以上の権限をすべてのユーザが持っていることを確認してください。書き込み権限を持たないユーザが 1 人でもいた場合、1 人のユーザしかパーソナル ジオデータベースを開けません。以降にパーソナル ジオデータベースを開こうとするとスキーマ ロック エラーが発生します。原因は、Microsoft Jet Database Engine が、.mdb ファイルへのアクセスを制御する .ldb ファイルを開いて修正できないためです。

ファイル ジオデータベースでのロックの使用

ファイル ジオデータベースのスキーマを変更するには、ファイル ジオデータベース フォルダへの読み取り/書き込み権限が必要です。

スキーマ ロック(共有および排他)は、次に示すように、ファイル ジオデータベースのデータセットと関連テーブルに個別に適用されます。たとえば、

ArcSDE ジオデータベースでのロックの使用

ArcSDE ジオデータベースのスキーマを変更するには、ArcSDE ジオデータベースへの適切なユーザ権限が必要です。ArcSDE での権限の設定と管理の方法については、「ユーザ権限」をご参照ください。

スキーマ ロック(共有および排他)は、次に示すように、ArcSDE ジオデータベースのデータセットと関連テーブルに個別に適用されます。たとえば、


7/10/2012