Standard または Advancedのライセンスで利用可能。
ジオデータベース管理者は、時々、ジオデータベースに接続しているユーザーや、リソースをロックしている接続を確認する必要があります。特定の接続を削除することが必要な場合もあります。たとえば、ある編集者が編集セッションを開いたままにしたため、編集セッション中のデータがロックされ、他の編集者がそのデータにアクセスできなくなる場合があります。ジオデータベースに対して作成できる接続の数に制限がある場合、ログアウトしていないユーザーの接続を切断して接続を解除する必要があります。または、データベースにパッチを適用したり、データベースを復元したり、ジオデータベースを圧縮したりするために、すべてのユーザーをログアウトすることが必要な場合もあります。
If the users are not present to log out themselves, you can connect to the geodatabase as the sde user from ArcGIS Desktop or an ArcPy function, and drop the users' connections.
To disconnect users from a geodatabase in IBM Informix, the sde user must be granted CONNECT privileges on the sysadmin database.
まず、ジオデータベースに接続しているユーザーを確認します。必要に応じてそれらの接続を削除できます。
Identify and remove connections from ArcMap
ArcMap で sde としてジオデータベースに接続し、[ジオデータベース管理] ダイアログ ボックス内に接続を表示できます。
- ArcMap または ArcCatalog を起動します。
- Connect to the geodatabase as the sde user.
- カタログ ツリーでデータベース接続を右クリックし、[管理] をポイントして [ジオデータベースの管理] をクリックします。
- [接続] タブをクリックします。
現在ジオデータベースに接続しているすべてのセッションを示すリストが表示されます。自分のセッションは、斜体のテキストで表示されます。
- 各ユーザーに連絡して、セッションを閉じるように要求します。ユーザーと連絡が取れず、それでもそのユーザーをジオデータベースから切断する必要がある場合は、次の手順に進みます。
- ジオデータベースから削除する特定のユーザー セッションを右クリックし、[切断] をクリックします。
セッションが、即座にジオデータベースから削除されます。
Identify and remove connections using ArcPy
Python 関数を実行して、ジオデータベース管理者用のジオデータベース接続ファイルを作成し、その接続ファイルを使用してジオデータベースに接続し、現在のすべてのジオデータベース接続を取得し、必要に応じてジオデータベースから接続を削除できます。
- Create a database connection file by running the CreateDatabaseConnection_management function in a Python window. Save the user name and password with the file.
In this example, a connection file (idsgdb.sde) is created in the temp folder. The connection is to the ODBC data source name spids, logging in as the sde user.
import arcpy arcpy.CreateDatabaseConnection_management ("c:\\temp", "idsgdb.sde", "INFORMIX", "spids", "DATABASE_AUTH", "sde", "mysdepwd", "SAVE_USERNAME")
- Run the ListUsers function to get a list of all current connections to the spids geodatabase.
Specify the connection file you created in the previous step.
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.ListUsers("c:\\temp\idsgdb.sde")
A list of user connections is returned.
[user(ClientName=u'PC4', ConnectionTime=datetime.datetime(2014, 2, 18, 8, 30, 19), ID=18, IsDirecConnection=True, Name=u'publisher1')] [user(ClientName=u'PC25', ConnectionTime=datetime.datetime(2014, 2, 21, 14, 10, 43), ID=33, IsDirecConnection=True, Name=u'editor2')] [user(ClientName=u'PC11', ConnectionTime=datetime.datetime(2014, 2, 22, 9, 18, 26), ID=39, IsDirecConnection=True, Name=u'reader5')] [user(ClientName=u'PCA2', ConnectionTime=datetime.datetime(2014, 2, 22, 11, 21, 2), ID=41, IsDirecConnection=True, Name=u'sde')]
- 各ユーザーに連絡して、セッションを閉じるように要求します。ユーザーと連絡が取れず、それでもそのユーザーをジオデータベースから切断する必要がある場合は、次の手順に進みます。
- Use the information obtained from the ListUsers function to identify which connection to remove using the DisconnectUser function.
Specify the ID of the connection to remove. Here, the connection with ID 33 is removed:
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.DisconnectUser("c:\\temp\idsgdb.sde",33)
セッションが、即座にジオデータベースから削除されます。