ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

DB2 でのジオデータベースの設定

Standard または Advancedのライセンスで利用可能。

  • DB2 の設定
  • ArcGIS クライアントの構成
  • ジオデータベースの作成

IBM DB2 をインストールおよび構成し、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを使用して DB2 データベースにジオデータベースを作成します。

このトピックは、Linux、UNIX、または Windows サーバー上の DB2 でのジオデータベースの作成を対象にしています。z/OS (z オペレーティング システム) 上の DB2 のジオデータベースの設定手順については、「z/OS 上の DB2 でのジオデータベースの設定」をご参照ください。

DB2 の設定

[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ツールまたはスクリプトを実行して DB2 にジオデータベースを作成するには、まず、DB2 データベース管理システムをインストールして構成する必要があります。ジオデータベースを設定する前に、使用するデータベース、ArcGIS、およびハードウェアの組み合わせがサポートされていることを、ArcGIS のシステム要件から確認してください。

DB2 インスタンスをインストールおよび構成する場合は、IBM から提供された手順に従ってください。その後、ジオデータベースを使用するために、以下の手順に従ってデータベースとログインを構成します。

  1. DB2 サーバー上に sde というオペレーティング システム ログイン名を作成します。

    ジオデータベースを作成するために、sde ログインを使用してデータベースに接続します。

  2. DB2 データベースを作成し、Spatial Extender モジュールに登録します。
  3. sde ユーザーに、データベースの DBADM 権限を付与します。

次に、ArcGIS クライアントを設定し、そこから DB2 データベースに接続してジオデータベースを作成します。

ArcGIS クライアントの構成

ArcGIS for Desktop (Standard または Advanced)、ArcGIS Engine Runtime と Geodatabase Update エクステンション、または ArcGIS for Server (Standard または Advanced) から Python スクリプトを実行して、ジオデータベースを作成できます。スクリプトの代わりに [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールを実行する場合は、ArcGIS for Desktop を使用します。

注意:

次のセクションでは、ArcGIS Server のキーコード ファイルを使用してジオデータベースを認証する必要があります。ArcGIS Server コンピューターから Python スクリプトを実行してジオデータベースを作成しない場合でも、ArcGIS for Server をインストールして認証し、キーコード ファイルを取得する必要があります。

  1. ジオデータベースの作成に使用する ArcGIS クライアントをインストールします。

    ソフトウェア インストール ガイドに記載されている手順に従います。

  2. ほとんどの場合、ArcGIS クライアントは、DB2 サーバーとは異なるコンピューターにインストールされます。そのため、DB2 クライアントを ArcGIS クライアント コンピューターにインストールして構成します。

    IBM Data Server Runtime Client for DB2 を My Esri からダウンロードするか、DB2 クライアントの独自のインストールを使用することができます。インストール手順については、DB2 のドキュメントをご参照ください。DB2 クライアントを 64 ビット オペレーティング システムにインストールする場合、64 ビットの実行可能ファイルを実行します。これによって、32 ビットと 64 ビットの両方のファイルがインストールされます。

  3. DSNless 接続文字列を使用して ArcGIS から DB2 データベースに接続できます。ただし、代わりにデータ ソース名を使用して接続する場合、データベースをカタログ化し、それによってデータ ソース名を構成する必要があります。データ ソース名の作成手順については、IBM DB2 のドキュメントをご参照ください。

これで、ジオデータベースを作成できるようになりました。

ジオデータベースの作成

以下のいずれかの方法を使用して、DB2 データベースにジオデータベースを作成します。

エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)ツールの使用

ArcGIS for Desktop をインストールして DB2 データベースに接続するように構成してある場合、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ツールを実行できます。

  1. ArcMap または ArcCatalog を起動します。
  2. カタログ ツリーから DB2 データベースに接続します。sde ログインを使用して接続します。

    [データベース コネクション] ダイアログ ボックスで、必ず sde ユーザーのパスワードを保存してください。

    注意:

    ArcGIS 10.3 以前は、ジオデータベース機能の有効化やジオデータベースのアップグレードを行う場合に、DSNless 接続を使用できませんでした。

  3. データベース接続を右クリックして、[ジオデータベースの有効化] をクリックします。

    [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ツールが開きます。

  4. DB2 データベースのデータベース接続ファイルを [入力データベース] テキスト ボックスに追加します。
  5. ArcGIS for Server を認証したときに作成された ArcGIS for Server のキーコード ファイルを参照して選択し、それを [認証ファイル] テキスト ボックスに追加します。

    ウィザードを使用して ArcGIS for Server を認証する際に、ソフトウェアがインストールされているサーバーに keycodes ファイルが書き込まれます。Linux ボックス上で ArcGIS for Server を認証した場合、このファイルは /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen に作成されています。Windows サーバーで認証した場合、このファイルは Program Files\ESRI\License<release>\sysgen に作成されています。まだ keycodes ファイルを作成していない場合には、ArcGIS for Server を認証して作成します。

  6. [OK] をクリックして、このツールを実行します。

    ジオデータベース作成のログ ファイル (GDBCreateGeodatabase<#>.log) が、ツールを実行したコンピューター上の %TEMP% 変数で指定された、ディレクトリに書き込まれます。ツールの実行時に問題が発生した場合は、このログ ファイルを確認して問題を解決します。

ジオデータベースが DB2 データベース内に作成されます。

次に、ジオデータベースにデータを読み込むユーザーを作成します。ユーザーの作成手順については、IBM DB2 Information Center をご参照ください。

Python スクリプトの使用

ArcGIS for Desktop (Standard または Advanced)、ArcGIS for Server (Standard または Advanced)、または ArcGIS Engine (と Geodatabase Update エクステンション) クライアント コンピューターから Python スクリプトを実行して、DB2 データベースにジオデータベースを作成できます。

以下の手順に従って Python スクリプトを実行し、DB2 データベースにジオデータベースを作成します。

  1. ArcGIS クライアント コンピューター上でテキスト ファイルを作成し、そのファイルに以下のスクリプトをコピーします。

    """
    Name: enable_enterprise_gdb.py
    Description: Provide connection information to an enterprise database
    and enable enterprise geodatabase.
    Type enable_enterprise_gdb.py -h or enable_enterprise_gdb.py --help for usage
    Author: Esri
    """
    
    # Import system modules
    import arcpy, os, optparse, sys
    
    
    # Define usage and version
    parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 1.0 for " + arcpy.GetInstallInfo()['Version'] )
    
    #Define help and options
    parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS', ''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, POSTGRESQL, DB2, INFORMIX, or DB2ZOS.")
    parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
    parser.add_option ("--auth", dest="account_authentication", type ="choice", choices=['DATABASE_AUTH', 'OPERATING_SYSTEM_AUTH'], default='DATABASE_AUTH', help="Authentication type options (case-sensitive):  DATABASE_AUTH, OPERATING_SYSTEM_AUTH.  Default=DATABASE_AUTH")
    parser.add_option ("-u", dest="User", type="string", default="", help="Geodatabase administrator user name")
    parser.add_option ("-p", dest="Password", type="string", default="", help="Geodatabase  administrator password")
    parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
    parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file")
    
    
    # Check if value entered for option
    try:
    	(options, args) = parser.parse_args()
    
    	
    #Check if no system arguments (options) entered
    	if len(sys.argv) == 1:
    		print "%s: error: %s\n" % (sys.argv[0], "No command options given")
    		parser.print_help()
    		sys.exit(3)
    	
    
    	#Usage parameters for spatial database connection
    	database_type = options.Database_type.upper()
    	instance = options.Instance
    	account_authentication = options.account_authentication.upper()
    	username = options.User.lower() 
    	password = options.Password	
    	database = options.Database.lower()
    	license = options.Authorization_file
    
    
    	if( database_type ==""):	
    		print " \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified.")
    		parser.print_help()
    		sys.exit(3)		
    		
    	if (license == ""):
    		print " \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")
    		parser.print_help()
    		sys.exit(3)
    
    	if (database_type == "SQLSERVER"):
    		database_type = "SQL_SERVER"
    		
    	# Get the current product license
    	product_license=arcpy.ProductInfo()
    	
    	if (license == ""):
    		print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")
    		parser.print_help()
    		sys.exit(3)
    	
    	# Checks required license level
    	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
    		print "\n" + product_license + " license found!" + "  Enabling enterprise geodatabase functionality requires an ArcGIS for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS for Server license."
    		sys.exit("Re-authorize ArcGIS before enabling an enterprise geodatabase.")
    	else:
    		print "\n" + product_license + " license available!  Continuing to enable..."
    		arcpy.AddMessage("+++++++++")
    	
    	# Local variables
    	instance_temp = instance.replace("\\","_")
    	instance_temp = instance_temp.replace("/","_")
    	instance_temp = instance_temp.replace(":","_")
    	Conn_File_NameT = instance_temp + "_" + database + "_" + username    
    	
    	if os.environ.get("TEMP") == None:
    		temp = "c:\\temp"	
    	else:
    		temp = os.environ.get("TEMP")
    	
    	if os.environ.get("TMP") == None:
    		temp = "/usr/tmp"		
    	else:
    		temp = os.environ.get("TMP")  
    	
    
    	Connection_File_Name = Conn_File_NameT + ".sde"
    	Connection_File_Name_full_path = temp + os.sep + Conn_File_NameT + ".sde"
    	
    	# Check for the .sde file and delete it if present
    	arcpy.env.overwriteOutput=True
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    	
    	print "\nCreating Database Connection File...\n"	
    	# Process: Create Database Connection File...
    	# Usage:  out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true)
    	arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE")
            for i in range(arcpy.GetMessageCount()):
    		if "000565" in arcpy.GetMessage(i):   #Check if database connection was successful
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("\n+++++++++")
    			arcpy.AddMessage("Exiting!!")
    			arcpy.AddMessage("+++++++++\n")
    			sys.exit(3)            
    		else:
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("+++++++++\n")
    	
    	
    	# Process: Enable geodatabase...
    	try:
    		print "Enabling Enterprise Geodatabase...\n"
    		arcpy.EnableEnterpriseGeodatabase_management(input_database=Connection_File_Name_full_path, authorization_file=license)
    		for i in range(arcpy.GetMessageCount()):
    			arcpy.AddReturnMessage(i)
    		arcpy.AddMessage("+++++++++\n")
    	except:
    		for i in range(arcpy.GetMessageCount()):
    			arcpy.AddReturnMessage(i)
    			
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    			
    #Check if no value entered for option	
    except SystemExit as e:
    	if e.code == 2:
    		parser.usage = ""
    		print "\n"
    		parser.print_help() 
    		parser.exit(2)
    

  2. 拡張子 .py を付けてファイルを保存します。
  3. ユーザーの環境に固有のオプションと情報を指定して、スクリプトを実行します。

    以下の例では、Windows コンピューターから実行しています。enable_gdb.py ファイルは、インスタンス db2prod 上のデータベース spdata に対して実行されます。パスワード Tgdbst@rtsh3r3 を使用して SDE ログインで接続が確立されます。ジオデータベースを認証するために、ArcGIS Server のデフォルトの場所の keycodes ファイルが指定されます。

    enable_gdb.py --DBMS DB2 -i db2prod --auth DATABASE_AUTH 
    -u sde -p Tgdbst@rtsh3r3 -D spdata -l \\Program Files\ESRI\License10.3\sysgen\keycodes
    

    次の例では、Linux コンピューター上でスクリプトを実行しています。

    /enable_gdb.py --DBMS DB2 -i db2prod --auth DATABASE_AUTH 
    -u sde -p Tgdbst@rtsh3r3 -D spdata -l /usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.3/sysgen/keycodes
    
    ヒント:

    構文のヘルプを取得するには、コマンド プロンプトに「-h」または「--help」と入力します。

    ジオデータベース作成のログ ファイル (GDBCreateGeodatabase<#>.log) が、スクリプトを実行したコンピューターの TEMP または TMP 変数で指定されたディレクトリに書き込まれます。

ジオデータベースが DB2 データベース内に作成されます。

次に、ジオデータベースにデータを読み込むユーザーを作成します。ユーザーの作成手順およびデータを読み込むための権限の付与については、IBM DB2 Information Center をご参照ください。

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル