日本語

FAQ: Python スクリプトが実行されている間に、ジオデータベース管理接続プロパティを CPU のメモリに格納することはできますか?

質問

Python スクリプトが実行されている間に、ジオデータベース管理接続プロパティを CPU のメモリに格納することはできますか?

答え

Python スクリプトを使用して、ジオデータベース接続に関する管理タスク (たとえば、ログインの追加やユーザー アクセスの管理) を実行することができます。 ジオデータベースのユーザーを接続したり切り離したりするには、ArcSDE 接続ファイルがジオデータベース管理者として機能する必要があります。 ArcPy 関数 CreateArcSDEConnectionFile_management() を使用して Python スクリプトを開始するときに、ArcSDE 接続ファイルが作成され、*.sde ファイルとしてハード ドライブに保存されます。 詳細については、Web ヘルプ ドキュメント「ArcGIS Desktop: ArcSDE 接続ファイルの作成 (Create ArcSDE Connection File)」をご参照ください。

ArcSDE 接続ファイルは、ログイン認証情報などの機密情報を保持するジオデータベース管理接続プロパティを含んでいます。 ほとんどの場合、SDE ファイルをハード ドライブ内に配置することは、このファイルおよびその情報を複数のユーザーに公開することになるため、お勧めしません。

ユーザーの切り離しに使用される ArcPy ジオプロセシング ツールが SDE ファイルを入力として必要とするため、ArcSDE 接続ファイルを CPU のメモリに格納することはできません。 SDE 接続ファイルがハード ドライブ内に残るのを防ぐための対処法は、Python スクリプトの最後で SDE 接続ファイルを削除することです。 これは、os.remove() Python 関数を使用して実行できます。

次のサンプルは、os.remove() 関数を使用する方法を示しています。

import arcpy

folderName = r"c:\connectionFiles"
fileName = "SDE_connection.sde"
serverName = "gpserver"

SDE_connection = arcpy.CreateArcSDEConnectionFile_management (folderName, fileName, serverName)
...
... 
os.remove("SDE_connection.sde")

 

Related Information