エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase) (データ管理)

サマリー

データベース、格納場所、およびジオデータベース管理者またはジオデータベースの所有者としての役割を果たすデータベース ユーザーを作成します。 機能は、使用されるデータベース管理システムによって異なります。 このツールは、まずジオデータベース管理者にジオデータベースの作成に必要な権限を与えます。次にデータベースにジオデータベースを作成します。

使用法

  • 次の表は、各データベース管理システムにおけるツールの機能を示しています。

    関数データベース

    データベースの作成

    PostgreSQL および Microsoft SQL Server

    表領域の作成

    Oracle

    データベースにジオデータベース管理ユーザーを作成

    OraclePostgreSQL、および SQL Server

    sde スキーマのジオデータベースを作成した場合、このツールは SQL Server のユーザーしか作成しません。

    ジオデータベースの作成、ジオデータベースのアップグレード、およびデータベース接続の削除に必要なジオデータベース管理者権限を付与します。

    Oracle および PostgreSQL

    ジオデータベースの作成およびデータベース接続の削除に必要なジオデータベース管理者権限の付与

    SQL Server (sde スキーマのジオデータベースを作成する場合)

    Oracle Data Pump を使用してデータをインポートするために必要な権限をジオデータベース管理者に付与します。

    Oracle 12c 以降のリリース

    指定されたデータベースにジオデータベースを作成

    OraclePostgreSQL、および SQL Server

  • ジオデータベースを作成するコンピューターには、ArcGIS Desktop (Standard または Advanced)、ArcGIS Pro (Standard または Advanced)、ArcGIS Engine と Geodatabase Update エクステンション、または ArcGIS Server をインストールしておく必要があります。 また、Oracle または SQL Server を使用する場合は、ArcGIS クライアントがインストールされているコンピューターで、データベース管理システム クライアントをインストールして構成する必要もあります。

  • Oracle 内にジオデータベースを作成する前に、My Esri から DatabaseSupport.zip ファイル (Windows) または DatabaseSupport.tar ファイル (Linux) をダウンロードして、st_shapelib ライブラリ (Windows) または libst_shapelib ライブラリ (Linux) を取得する必要があります。 そのライブラリを Oracle サーバー上に配置します。 必ず、Oracle がインストールされているオペレーティング システムに適したライブラリをコピーしてください。

  • ジオデータベースを作成する前に、PostgreSQL データベース クラスターで空間タイプを使用できるようにする必要があります。 ST_Geometry タイプを使用するには、My Esri から DatabaseSupport.zip ファイル (Windows) または DatabaseSupport.tar ファイル (Linux) をダウンロードして、st_geometry ライブラリを取得する必要があります。 そのライブラリを PostgreSQL サーバー上の %PostgreSQL%\lib ディレクトリ (Windows) または $PKGLIBDIR ディレクトリ (Linux) に配置します。 必ず、使用している PostgreSQL のバージョンと PostgreSQL がインストールされているオペレーティング システムに適したライブラリをコピーしてください。 PostGIS 空間タイプを使用するには、PostgreSQL データベース クラスターに PostGIS をインストールする必要があります。

  • このツールは、データベース サービスではサポートされていません。

  • ジオデータベースの作成後、そのジオデータベースが格納されているデータベースの名前を変更することはできません。 データベース名は、ジオデータベース システム テーブルに格納され、テーブル名とフィーチャクラス名を完全修飾するために使用されます。データベース ツールを使用してデータベース名を変更すると、ジオデータベースのデータにアクセスできなくなります。

パラメーター

ラベル説明データ タイプ
データベース プラットフォーム

ジオデータベースを作成するために接続する、データベース管理システムの種類を指定します。

  • OracleOracle インスタンスへの接続が確立されます。
  • PostgreSQLPostgreSQL データベース クラスターへの接続が確立されます。
  • SQL ServerMicrosoft SQL Server インスタンスへの接続が確立されます。
String
インスタンス

インスタンスの名前。

SQL Server の場合は、SQL Server インスタンス名を指定します。 大文字/小文字が区別される照合順序とバイナリ照合順序の SQL Server インスタンスはサポートされていません。

Oracle の場合は、TNS 名または Oracle 簡易接続文字列を指定します。

PostgreSQL の場合は、PostgreSQL がインストールされているサーバーの名前を指定します。

String
データベース
(オプション)

データベースの名前。

このパラメーターは、PostgreSQLSQL Server に有効です。 すでに構成されている既存のデータベースの名前を指定するか、このツールで作成されるデータベースの名前を指定することができます。

このツールを使用して SQL Server にデータベースを作成する場合、ファイル サイズは SQL Server モデル データベースに定義されたサイズと同じになるか、500 MB (*.mdf ファイルの場合) / 125 MB (*.ldf ファイルの場合) のどちらか大きい方になります。 *.mdf ファイルと *.ldf ファイルはいずれも、データベース サーバー上のデフォルトの SQL Server の場所に作成されます。 データベースに sde という名前を付けないでください。

このツールを使用して PostgreSQL にデータベースを作成する場合は、template1 データベースがデータベースのテンプレートとして使用されます。 別のテンプレートが必要な場合 (たとえば、PostGIS に有効なテンプレート)、このツールを実行する前にデータベースを作成し、既存のデータベースの名前を指定する必要があります。 データベース名には必ず小文字を使用します。 大文字を使用すると、このツールで小文字に変換されます。

String
オペレーティング システム認証
(オプション)

データベース接続に使用する認証の種類を指定します。

  • オン - オペレーティング システム認証が使用されます。 このツールを実行しているコンピューターで指定したログイン情報がデータベース接続の認証に使用されます。 データベース管理システムがオペレーティング システム認証を許可するように構成されていないと、認証に失敗します。
  • オフ - データベース認証が使用されます。 データベースの認証のために、有効なデータベース ユーザー名とパスワードを指定する必要があります。 これがデフォルトです。 データベース管理システムがデータベース認証を許可するように構成されていないと、認証に失敗します。

Boolean
データベース管理者
(オプション)

データベース認証を使用する場合は、データベース管理者ユーザーを指定します。 Oracle の場合は、sys ユーザーを使用します。 PostgreSQL の場合は、ステータスがスーパーユーザーのユーザーを指定します。 SQL Server の場合は、sysadmin 固定サーバー ロールのメンバーを指定します。

String
データベース管理者のパスワード
(オプション)

データベース認証を使用する場合、データベース管理者のパスワードを指定します。

Encrypted String
SDE 所有スキーマ
(オプション)

このパラメーターは、SQL Server の場合にのみ有効であり、ジオデータベースがデータベース内に sde ユーザーのスキーマで作成されるか、dbo スキーマで作成されるかを指定します。 。

  • オン - ジオデータベースは sde ユーザーのスキーマに作成されます。
  • オフ - インスタンス内で dbo であるユーザーとして SQL Server インスタンスにログインする必要があります。この場合、ジオデータベースはデータベース内に dbo スキーマで作成されます。

Boolean
ジオデータベース管理者
(オプション)

ジオデータベース管理者ユーザーの名前。

PostgreSQL を使用する場合は、この値を sde にする必要があります。 sde ログイン ロールが存在しない場合、このツールはロールを作成し、それにデータベース クラスターのスーパーユーザー ステータスを付与します。 sde ログイン ロールが存在する場合、このロールにスーパーユーザー ステータスが付与されていない場合は付与します。 また、このツールは、データベース内に sde スキーマも作成し、スキーマでの使用権限を一般ユーザーに付与します。

Oracle を使用する場合、この値は sde です。 sde ユーザーが Oracle データベース内に存在しない場合は、ツールでこのユーザーが作成され、ジオデータベースの作成およびアップグレードとデータベースからのユーザーの接続の切断に必要な権限がこのユーザーに付与されます。 このツールを Oracle 12c 以降のリリースのデータベースで実行する場合、ツールによって Oracle Data Pump を使用したデータのインポートを許可する権限も付与されます。 sde ユーザーが存在する場合は、このツールで同じ権限が既存のユーザーに付与されます。

注意:

Oracle でのユーザースキーマ ジオデータベースの作成またはアップグレードのサポートは終了しました。

SQL Server を使用しており、sde スキーマのジオデータベースを指定した場合は、この値を sde にする必要があります。 このツールは、sde ログイン、データベース ユーザー、およびスキーマを作成し、ジオデータベースを作成する権限と SQL Server インスタンスからの接続を削除する権限を付与します。 dbo スキーマを指定した場合、このパラメーターに値を指定しないでください。

String
ジオデータベース管理者のパスワード
(オプション)

ジオデータベース管理者ユーザーのパスワード。 ジオデータベース管理者ユーザーがデータベース管理システムに存在する場合は、指定するパスワードが既存のパスワードと一致しなければなりません。 ジオデータベース管理者ユーザーが存在していない場合、新規ユーザーのための有効なデータベース パスワードを指定します。 パスワードは、データベースで設定されたパスワード ポリシーを満たしている必要があります。

パスワードは、暗号化された文字列です。

Encrypted String
表領域名
(オプション)

表領域の名前。

このパラメーターは、データベース管理システム タイプが Oracle および PostgreSQL の場合にのみ有効です。 Oracle の場合は、次のいずれかを実行します。

  • 既存の表領域の名前を指定します。 これは、ジオデータベース管理者ユーザーのデフォルトの表領域として使用されます。
  • 新しい表領域に有効な名前を指定します。 このツールは、400 MB の表領域を Oracle のデフォルトの格納場所に作成し、ジオデータベース管理者のデフォルトの表領域として設定します。
  • 表領域は空白のままにします。 このツールは SDE_TBS という名前の 400 MB の表領域を Oracle のデフォルトの格納場所に作成します。 SDE_TBS 表領域は、ジオデータベース管理者のデフォルトの表領域として設定されます。

このツールは、表領域を PostgreSQL に作成しません。 既存の表領域の名前を指定してデータベースのデフォルトの表領域として使用するか、このパラメーターを空白にしておく必要があります。 パラメーターを空白のままにした場合、ツールによって pg_default 表領域にデータベースが作成されます。

String
認証ファイル

ArcGIS Server を認証した際に作成されたキーコード ファイルのパスとファイル名。 このファイルは、\\Program Files\ESRI\License<release#>\sysgen フォルダー (Windows の場合) または /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen ディレクトリ (Linux の場合) にあります。 まだ作成していない場合には、ArcGIS Server を認証して作成します。

キーコード ファイルを ArcGIS Server コンピューターからツールがアクセスできる場所にコピーする必要がある場合があります。

File
空間タイプ
(オプション)

使用する空間タイプを指定します。 これは、PostgreSQL データベースにのみ適用されます。

  • ST_GeometryST_Geometry 空間タイプが使用されます。 これがデフォルトです。
  • POSTGISPostGIS 空間タイプが使用されます。
String

派生した出力

ラベル説明データ タイプ
エンタープライズ ジオデータベースの作成に成功しました

エンタープライズ ジオデータベースが正常に作成されたかどうかを示します。

Boolean

arcpy.management.CreateEnterpriseGeodatabase(database_platform, instance_name, {database_name}, {account_authentication}, {database_admin}, {database_admin_password}, {sde_schema}, {gdb_admin_name}, {gdb_admin_password}, {tablespace_name}, authorization_file, {spatial_type})
名前説明データ タイプ
database_platform

ジオデータベースを作成するために接続する、データベース管理システムの種類を指定します。

  • OracleOracle インスタンスへの接続が確立されます。
  • PostgreSQLPostgreSQL データベース クラスターへの接続が確立されます。
  • SQL_ServerMicrosoft SQL Server インスタンスへの接続が確立されます。
String
instance_name

インスタンスの名前。

SQL Server の場合は、SQL Server インスタンス名を指定します。 大文字/小文字が区別される照合順序とバイナリ照合順序の SQL Server インスタンスはサポートされていません。

Oracle の場合は、TNS 名または Oracle 簡易接続文字列を指定します。

PostgreSQL の場合は、PostgreSQL がインストールされているサーバーの名前を指定します。

String
database_name
(オプション)

データベースの名前。

このパラメーターは、PostgreSQLSQL Server に有効です。 すでに構成されている既存のデータベースの名前を指定するか、このツールで作成されるデータベースの名前を指定することができます。

このツールを使用して SQL Server にデータベースを作成する場合、ファイル サイズは SQL Server モデル データベースに定義されたサイズと同じになるか、500 MB (*.mdf ファイルの場合) / 125 MB (*.ldf ファイルの場合) のどちらか大きい方になります。 *.mdf ファイルと *.ldf ファイルはいずれも、データベース サーバー上のデフォルトの SQL Server の場所に作成されます。 データベースに sde という名前を付けないでください。

このツールを使用して PostgreSQL にデータベースを作成する場合は、template1 データベースがデータベースのテンプレートとして使用されます。 別のテンプレートが必要な場合 (たとえば、PostGIS に有効なテンプレート)、このツールを実行する前にデータベースを作成し、既存のデータベースの名前を指定する必要があります。 データベース名には必ず小文字を使用します。 大文字を使用すると、このツールで小文字に変換されます。

String
account_authentication
(オプション)

データベース接続に使用する認証の種類を指定します。

  • OPERATING_SYSTEM_AUTHオペレーティング システム認証が使用されます。 このツールを実行しているコンピューターで指定したログイン情報がデータベース接続の認証に使用されます。データベース管理システムがオペレーティング システム認証を許可するように構成されていないと、認証に失敗します。
  • DATABASE_AUTHデータベース認証が使用されます。 データベースの認証のために、有効なデータベース ユーザー名とパスワードを指定する必要があります。 これがデフォルトです。データベース管理システムがデータベース認証を許可するように構成されていないと、認証に失敗します。
Boolean
database_admin
(オプション)

データベース認証を使用する場合は、データベース管理者ユーザーを指定します。 Oracle の場合は、sys ユーザーを使用します。 PostgreSQL の場合は、ステータスがスーパーユーザーのユーザーを指定します。 SQL Server の場合は、sysadmin 固定サーバー ロールのメンバーを指定します。

String
database_admin_password
(オプション)

データベース認証を使用する場合、データベース管理者のパスワードを指定します。

Encrypted String
sde_schema
(オプション)

このパラメーターは SQL Server にのみ適用され、ジオデータベースをデータベース内に sde ユーザーのスキーマで作成するか、dbo スキーマで作成するかを指定します。 dbo スキーマのジオデータベースを作成する場合は、SQL Server インスタンス内で dbo であるユーザーとして接続します。

  • SDE_SCHEMAジオデータベース リポジトリは sde というユーザーに所有され、そのスキーマに格納されます。 これがデフォルトです。
  • DBO_SCHEMAジオデータベース リポジトリはデータベースの dbo スキーマに格納されます。
Boolean
gdb_admin_name
(オプション)

ジオデータベース管理者ユーザーの名前。

PostgreSQL を使用する場合は、この値を sde にする必要があります。 sde ログイン ロールが存在しない場合、このツールはロールを作成し、それにデータベース クラスターのスーパーユーザー ステータスを付与します。 sde ログイン ロールが存在する場合、このロールにスーパーユーザー ステータスが付与されていない場合は付与します。 また、このツールは、データベース内に sde スキーマも作成し、スキーマでの使用権限を一般ユーザーに付与します。

Oracle を使用する場合、この値は sde です。 sde ユーザーが Oracle データベース内に存在しない場合は、ツールでこのユーザーが作成され、ジオデータベースの作成およびアップグレードとデータベースからのユーザーの接続の切断に必要な権限がこのユーザーに付与されます。 このツールを Oracle 12c 以降のリリースのデータベースで実行する場合、ツールによって Oracle Data Pump を使用したデータのインポートを許可する権限も付与されます。 sde ユーザーが存在する場合は、このツールで同じ権限が既存のユーザーに付与されます。

注意:

Oracle でのユーザースキーマ ジオデータベースの作成またはアップグレードのサポートは終了しました。

SQL Server を使用しており、sde スキーマのジオデータベースを指定した場合は、この値を sde にする必要があります。 このツールは、sde ログイン、データベース ユーザー、およびスキーマを作成し、ジオデータベースを作成する権限と SQL Server インスタンスからの接続を削除する権限を付与します。 dbo スキーマを指定した場合、このパラメーターに値を指定しないでください。

String
gdb_admin_password
(オプション)

ジオデータベース管理者ユーザーのパスワード。 ジオデータベース管理者ユーザーがデータベース管理システムに存在する場合は、指定するパスワードが既存のパスワードと一致しなければなりません。 ジオデータベース管理者ユーザーが存在していない場合、新規ユーザーのための有効なデータベース パスワードを指定します。 パスワードは、データベースで設定されたパスワード ポリシーを満たしている必要があります。

パスワードは、暗号化された文字列です。

Encrypted String
tablespace_name
(オプション)

表領域の名前。

このパラメーターは、データベース管理システム タイプが Oracle および PostgreSQL の場合にのみ有効です。 Oracle の場合は、次のいずれかを実行します。

  • 既存の表領域の名前を指定します。 これは、ジオデータベース管理者ユーザーのデフォルトの表領域として使用されます。
  • 新しい表領域に有効な名前を指定します。 このツールは、400 MB の表領域を Oracle のデフォルトの格納場所に作成し、ジオデータベース管理者のデフォルトの表領域として設定します。
  • 表領域は空白のままにします。 このツールは SDE_TBS という名前の 400 MB の表領域を Oracle のデフォルトの格納場所に作成します。 SDE_TBS 表領域は、ジオデータベース管理者のデフォルトの表領域として設定されます。

このツールは、表領域を PostgreSQL に作成しません。 既存の表領域の名前を指定してデータベースのデフォルトの表領域として使用するか、このパラメーターを空白にしておく必要があります。 パラメーターを空白のままにした場合、ツールによって pg_default 表領域にデータベースが作成されます。

String
authorization_file

ArcGIS Server を認証した際に作成されたキーコード ファイルのパスとファイル名。 このファイルは、\\Program Files\ESRI\License<release#>\sysgen フォルダー (Windows の場合) または /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen ディレクトリ (Linux の場合) にあります。 まだ作成していない場合には、ArcGIS Server を認証して作成します。

キーコード ファイルを ArcGIS Server コンピューターからツールがアクセスできる場所にコピーする必要がある場合があります。

File
spatial_type
(オプション)

使用する空間タイプを指定します。 これは、PostgreSQL データベースにのみ適用されます。

  • ST_GEOMETRYST_Geometry 空間タイプが使用されます。 これがデフォルトです。
  • POSTGISPostGIS 空間タイプが使用されます。
String

派生した出力

名前説明データ タイプ
out_result

エンタープライズ ジオデータベースが正常に作成されたかどうかを示します。

Boolean

コードのサンプル

CreateEnterpriseGeodatabase (エンタープライズ ジオデータベースの作成) の例 1 (Python ウィンドウ)

次のスクリプトは、ジオデータベースを Oracle データベース内に作成します。

sde ユーザーを作成し、sde ユーザーに対してデフォルトの表領域である sdetbs を作成します。

キーコード ファイルは、リモート Linux サーバー上にあります。

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", 
    "manager", "", "sde", "supersecret", "sdetbs", 
    "//myserver/mymounteddrive/myaccessibledirectory/keycodes")
CreateEnterpriseGeodatabase (エンタープライズ ジオデータベースの作成) の例 2 (Python ウィンドウ)

このスクリプトは、SQL Server のインスタンス (tor\ssinstance) に接続し、sp_data という名前のデータベースを作成して、そのデータベース内に sde スキーマのジオデータベースを作成します。

オペレーティング システム認証を使用して接続します。 キーコード ファイルは、リモート Windows サーバー上にあります。

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", 
    "SDE_SCHEMA", "sde", "sde", "", "//myserver/myaccessibledirectory/keycodes")
CreateEnterpriseGeodatabase (エンタープライズ ジオデータベースの作成) の例 3 (Python ウィンドウ)

このスクリプトは、feldspar という名前のサーバー上の PostgreSQL データベース クラスターに接続します。

既存の表領域 gdbspace に sde ユーザーとデータベース pggdb が作成されます。

キーコード ファイルは、ローカル Linux サーバー上にあります。

ジオデータベースでは、ST_Geometry 空間タイプが使用されます。

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "POSTGRESQL", "feldspar", "pggdb", "DATABASE_AUTH", "postgres", "averturis", 
    "", "sde", "nomira", "gdbspace", 
    "//arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes" "ST_GEOMETRY")
CreateEnterpriseGeodatabase (エンタープライズ ジオデータベースの作成) の例 4 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトにより、オプションを使用して各サイトに固有の情報を提供できます。

"""
Name: create_enterprise_gdb.py
Description: Provide connection information to a DBMS instance and create an enterprise geodatabase.
Type  create_enterprise_gdb.py -h or create_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 10.1 and higher releases")

#Define help and options
parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', ''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, or POSTGRESQL.")
parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
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="Dbms_admin", type="string", default="", help="DBMS administrator user")
parser.add_option ("-P", dest="Dbms_admin_pwd", type="string", default="", help="DBMS administrator password")
parser.add_option ("--schema", dest="Schema_type", type="choice", choices=['SDE_SCHEMA', 'DBO_SCHEMA'], default="SDE_SCHEMA", help="Schema Type for SQL Server geodatabase, SDE or DBO. Default=SDE_SCHEMA")
parser.add_option ("-u", dest="Gdb_admin", type="string", default="", help="Geodatabase administrator user name")
parser.add_option ("-p", dest="Gdb_admin_pwd", type="string", default="", help="Geodatabase administrator password")
parser.add_option ("-t", dest="Tablespace", type="string", default="", help="Tablespace name")
parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file")
parser.add_option ("--type", dest="Spatial_type", type="choice", choices=['ST_GEOMETRY', 'POSTGIS'], default="ST_GEOMETRY", help="Spatial Type for PostgreSQL geodatabase, ST_GEOMETRY or POSTGIS. Default=ST_GEOMETRY")

# 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
	database = options.Database.lower()	
	account_authentication = options.Account_authentication.upper()
	dbms_admin = options.Dbms_admin
	dbms_admin_pwd = options.Dbms_admin_pwd
	schema_type = options.Schema_type.upper()
	gdb_admin = options.Gdb_admin
	gdb_admin_pwd = options.Gdb_admin_pwd	
	tablespace = options.Tablespace
	license = options.Authorization_file
	spatial_type = options.Spatial_type.upper()
	
	
	if (database_type == "SQLSERVER"):
		database_type = "SQL_SERVER"
	
	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 == "SQL_SERVER"):
		if(schema_type == "SDE_SCHEMA" and gdb_admin.lower() != "sde"):
			print("\n%s: error: %s\n" % (sys.argv[0], "To create SDE schema on SQL Server, geodatabase administrator must be SDE."))
			sys.exit(3)
		if (schema_type == "DBO_SCHEMA" and gdb_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring geodatabase administrator specified when creating DBO schema..."))
		if( account_authentication == "DATABASE_AUTH" and dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified with database authentication"))
			sys.exit(3)
		if( account_authentication == "OPERATING_SYSTEM_AUTH" and dbms_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring DBMS administrator specified when using operating system authentication..."))	
	else:
		if (schema_type == "DBO_SCHEMA"):
			print("\nWarning: %s %s, %s\n" % ("Only SDE schema is supported on", database_type, "switching to SDE schema..." ))
			
		if( gdb_admin.lower() == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "Geodatabase administrator must be specified."))
			sys.exit(3)
	
		if( dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified!"))
			sys.exit(3)

		if (account_authentication == "OPERATING_SYSTEM_AUTH"):
			print("Warning: %s %s, %s\n" % ("Only database authentication is supported on", database_type, "switching to database authentication..." ))

	# Get the current product license
	product_license=arcpy.ProductInfo()
	
	
	# Checks required license level
	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
		print("\n" + product_license + " license found!" + " Creating an enterprise geodatabase 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 creating enterprise geodatabase.")
	else:
		print("\n" + product_license + " license available!  Continuing to create...")
		arcpy.AddMessage("+++++++++")
	
	
	try:
		print("Creating enterprise geodatabase...\n")
		arcpy.management.CreateEnterpriseGeodatabase(database_platform=database_type,instance_name=instance, database_name=database, account_authentication=account_authentication, database_admin=dbms_admin, database_admin_password=dbms_admin_pwd, sde_schema=schema_type, gdb_admin_name=gdb_admin, gdb_admin_password=gdb_admin_pwd, tablespace_name=tablespace, authorization_file=license, spatial_type=spatial_type)
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
		arcpy.AddMessage("+++++++++\n")
	except:
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
			
#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)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック