ArcGIS Pro のデータベース接続

ArcGIS からデータベースに接続して、データベースのデータを表示、クエリ、解析することができます。 アクセスするデータベースの一部には、ジオデータベース テーブル、関数、プロシージャを含めることができますが、それらがなくてもかまいません。ArcGIS Pro から、サポートされている任意のデータベースにアクセスして、データを表示することができます。

ほとんどのタイプのデータベースでは、データベースに接続するコンピューター上にデータベース クライアントをインストールして構成する必要があります。

データベース接続

ArcGIS Pro でデータベースに接続する場合、接続プロパティを指定する必要があります。 これらのプロパティは、ArcGIS Pro がデータベースを検索し、ユーザーがデータベースのコンテンツにアクセスできるように認証情報を提供するために役立ちます。

注意:

認証タイプ

サポートされているほとんどのデータベースおよびデータベース サービス製品では、データベースまたはエンタープライズ ジオデータベースへの接続を確立するには、データベース認証とオペレーティング システム認証の 2 つのログイン オプションがあります。

Microsoft Azure Active Directory を使用するように構成されている Microsoft Azure SQL Managed Instance および Microsoft Azure SQL Database インスタンスには、追加の Azure Active Directory 認証オプションがあります。

データベース認証

[データベース認証] を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ [ユーザー名][パスワード] テキスト ボックスに指定する必要があります。 ユーザー名には、最大で 30 文字まで入力できます。

注意:

ArcGIS の外部では、特殊文字を含むユーザー名を Microsoft SQL Server に作成することができます。 これらのユーザー名を使用する際は、常に区切り文字が必要となります。 ArcGIS は SQL Server に渡すユーザー名に自動的に区切り文字を追加するため、ユーザー名に区切り文字を含める必要はありません。 たとえば、ユーザー名が map.user である場合は、[ユーザー名] テキスト ボックスに「map.user」と入力します。「"map.user"」と入力する必要はありません。 通常の識別子と区切り文字が追加された識別子の詳細については、SQL Server のドキュメントをご参照ください。

ログイン情報を接続の一部として保存しない場合は、[ユーザー名/パスワードの保存] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。 ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。 また、コネクション ファイルをデータベースまたはジオデータベースへアクセスする ArcGIS サービスに使用する場合や、[カタログ] ウィンドウを使用してコネクション ファイル経由でアクセスするデータを検索する場合は、[ユーザー名とパスワードを保存する] をオンにする必要があります。

オペレーティング システム認証

[オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのサイン インに使用されたログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。 現在、ArcGIS は、Microsoft SQL ServerOracleIBM Db2、および PostgreSQL に接続する際にオペレーティング システム認証をサポートしています。

注意:

  • Security Support Provider Interface (SSPI) および Lightweight Directory Access Protocol (LDAP) は、PostgreSQL によるオペレーティング システム認証がサポートされています。
  • Oracle でオペレーティング システム認証を使用する場合は、オペレーティング システムのログインに os_authent_prefix 文字列 (デフォルトでは OPS$) の接頭辞が付加されて、データベース内の USERNAME テーブルに格納されます。 ジオデータベースに接続するときに入力できるユーザー名の最大文字数は、30 文字です。 これらの場合、ArcGIS はユーザー名を引用符で囲んでデータベースに渡します。 30 文字の制限には、それらの引用符も含まれます。

Azure Active Directory オプション

Azure SQL Database または SQL Managed Instance に接続する場合、次のいずれかの Azure Active Directory 認証オプションを使用できます。

  • Azure Active Directory - Universal with MFA (多要素認証) - データベース接続ダイアログ ボックスの [Azure Active Directory - Universal with MFA] オプションを使用して接続する場合、Azure Active Directory のユーザー名を指定する必要があり、認証プロセスを完了するためのコードがテキスト メッセージ、電子メール、または MFA デバイスに送信されます。 データベース接続ダイアログ ボックスでパスワードを指定する必要はありません。 ネットワークと認証プロトコルの構成によっては、指紋認証を使用できることもあります。

    注意:

    ユーザー名を保存するオプションを選択することもできますが、データベース接続ファイル (.sde) を他のユーザーと共有する場合、接続ファイルに保存したログイン アカウントではなく、そのユーザーのログイン アカウントを使用して接続が行われます。

    このデータベース接続は ArcGIS Server サイトに登録できません。

  • Azure Active Directory - Password - データベース接続ダイアログ ボックスの [Azure Active Directory - Password] オプションを使用して接続する場合、有効な Azure Active Directory のユーザー名とパスワードをそれぞれ [ユーザー名][パスワード] テキスト ボックスに指定する必要があります。 ユーザー名には、最大で 30 文字まで入力できます。

    このデータベース接続を ArcGIS Server サイトに登録する場合、データベース接続とともにユーザー名とパスワードを保存する必要があります。

データベース プラットフォームとプロパティ

[データベース プラットフォーム] ドロップダウン リストで選択した値は、接続先のデータベースの種類を示しています。 ダイアログ ボックスで使用するアイテムと接続を確立するために指定する必要がある情報は、選択したデータベース プラットフォームのタイプによって変わります。

次のセクションでは、各データベース プラットフォームを選択するタイミングと、接続に必要な追加情報について説明します。

Dameng

Dameng への接続例

  • データベース プラットフォーム

    Dameng データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [Dameng] を選択します。

  • データ ソース

    Dameng に接続する場合は、[データ ソース] テキスト ボックスに、Dameng がインストールされているサーバーの名前を入力します。

  • 認証タイプ

    [データベース認証] を選択して、接続する有効なユーザー名とパスワードを入力します。 オペレーティング システム認証はサポートされません。

Db2

カタログ化されたデータベースを使用する Db2 接続の例

  • データベース プラットフォーム

    Linux、UNIX、または Windows サーバー上で IBM Db2 データベースに接続するか、Db2 データベース内にあるジオデータベースに接続するには、[データベース プラットフォーム] ドロップダウン リストから [DB2] を選択します。

  • データ ソース

    Db2 に接続する際には、カタログに表示される Db2 データベースの名前を [データ ソース] テキスト ボックスに入力する必要があります。 データベースがカタログに表示されない場合には、次の構文を使用して接続できます。

    HostName=<ホスト名>;Port=<ポート番号>;Database=<データベース名>;

    お使いの環境に合った情報を指定します。 たとえば、Db2 データベースが cube サーバー上にあり、通信が DBMS のポート 50000 を使用して行われ、データベース名が spdata の場合、接続文字列は次のようになります。

    HostName=cube;Port=50000;Database=spdata;

    このタイプの接続文字列は、DSNless 接続と呼ばれます。

  • 認証タイプ

    [データベース認証] を選択して、有効なユーザー名とパスワードを入力するか、[オペレーティング システム認証] を使用して接続します。

Oracle

Oracle 簡易接続文字列を使用した Oracle 接続の例

  • データベース プラットフォーム

    Oracle データベースに接続したり、Oracle データベース内にあるジオデータベースに直接接続したりするには、[データベース プラットフォーム] ドロップダウンリストから [Oracle] を選択します。

  • インスタンス

    Oracle データベースに接続する際に、[インスタンス] テキスト ボックスに Oracle TNS 名を入力するか、次のいずれかの Oracle 簡易接続文字列を入力します。

    • Oracle サーバーの名前/Oracle のサービス名または ID

      たとえば、Oracle が myserver にインストールされており、Oracle サービス名が myosvc である場合には、次のように入力します。

      myserver/myosvc

    • Oracle サーバーの名前: Oracle のポート番号/Oracle のサービス名または ID

      この例では、Oracle は myserver にインストールされ、ポート 60000 で接続を待ち受けます。また、Oracle サービス名は myoservice です。

      myserver:60000/myoservice
    • Oracle サーバーの URL

      最後の例で示された同じインスタンスの URL は、次のようになります。

      //myserver:60000/myoservice
    • Oracle サーバーの名前 (サーバー上の Oracle リスナーがデフォルト インスタンスを指すように構成されている場合に使用できます)
    • Oracle サーバーの IP アドレス/Oracle のサービス名または ID

      たとえば、サーバーのアドレスが 10:10:10:10 で、Oracle サービス名が orasvc の場合、「10:10:10:10/orasvc」と入力します。

      IPV6 アドレスの場合はアドレスを括弧で囲みます。たとえば、次のとおりです。 [4000:vu5:0:0:f666:h191:77f5:i2rs]/orasvc

    • Oracle サーバーの IP アドレス: Oracle のポート番号/Oracle のサービス名または ID

      この例では、IP アドレスは 10:20:30:40、ポートは 59999、Oracle サービスは myomy1: 10:20:30:40:59999/myomy1 です。

      同じポートおよびサービスの IPV6 アドレスは、[6543:eo4:0:1:f587:l249:12f9:w3ud]:59999/myomy110:20:30:40:59999/myomy1 のようになります。

    必ず、簡易接続が許可されるように Oracle インスタンスを構成してください。 Oracle クライアントを完全にインストールするが、接続に Easy Connect (簡易接続) 構文を使用する場合、Easy Connect (簡易接続) の使用を許可するため、クライアント側で sqlnet.ora ファイルを構成し、Easy Connect (簡易接続) 構文を許可するように Oracle サーバーを構成してください。 また、Oracle インスタンスがデフォルトの Oracle ポート番号以外で接続を待ち受ける場合は、そのポート番号を含む接続構文を使用する必要がありますので注意してください。

    Amazon Relational Database Service (RDS) for Oracle インスタンスに接続するには、<database_instance_identifier>.<region_id>.rds.amazonaws.com の形式でインスタンス名を指定します。 たとえば、識別子が ords.id123 のインスタンスを us-west-2 Amazon Web Services リージョンに作成した場合、[インスタンス] テキスト ボックスに「ords.id123.us-west-2.rds.amazonaws.com」と入力します。

    Oracle Autonomous Database に接続するには、ネット サービス名を指定します。 たとえば、myoatp_medium というネット サービス名を使用して接続するには、[インスタンス] テキスト ボックスに「myoatp_medium」と入力します。

  • 認証タイプ

    [データベース認証] を選択して、有効なユーザー名とパスワードを入力するか、[オペレーティング システム認証] を使用して接続します。

PostgreSQL

PostgreSQL への接続の例

PostgreSQL に接続する場合は、インスタンスとデータベースを指定する必要があります。

  • データベース プラットフォーム

    PostgreSQL データベース、サポートされている PostgreSQL データベース サービス インスタンス、またはいずれかのデータベース内にあるジオデータベースに接続するには、[データベース プラットフォーム] ドロップダウンリストから [PostgreSQL] を選択します。

  • インスタンス

    インスタンスには、PostgreSQL がインストールされているサーバーの名前または IP アドレス、または PostgreSQL DBaaS インスタンスの URL を指定します。

    次のようなケースがあります。

    • PostgreSQL データベース クラスターが ficus という名前のサーバーに存在する場合、[インスタンス] テキスト ボックスに「ficus」と入力します。
    • PostgreSQL データベース クラスターがデフォルト (5432) 以外のポートで接続を待ち受ける場合は、インスタンスにポート番号を含める必要があります。 たとえば、PostgreSQL が mamabear というサーバーにインストールされており、ポート 49200 で接続を待ち受ける場合は、[インスタンス] テキスト ボックスに「mamabear,49200」と入力します。
    • IPV6 アドレスを使用して、PostgreSQL がインストールされているサーバーにアクセスするには、アドレスを括弧で囲みます。 たとえば、サーバーの IPV6 アドレスが 1111:aa1:0:1:f111:a222:33f3:b4bb の場合、[インスタンス] テキスト ボックスに「[1111:aa1:0:1:f111:a222:33f3:b4bb]」と入力します。
    • Amazon Aurora (PostgreSQL-compatible edition) インスタンスまたは Amazon RDS for PostgreSQL インスタンスの場合、<database_instance_identifier>.<region_id>.rds.amazonaws.com の形式でインスタンス名を指定します。 たとえば、識別子が mypgrdsdb のインスタンスを us-east-1 Amazon Web Services リージョンに作成した場合、[インスタンス] テキスト ボックスに「mypgrdsdb.us-east-1.rds.amazonaws.com」と入力します。
    • Google Cloud SQL for PostgreSQL インスタンスの場合、[インスタンス] テキスト ボックスにインスタンスのパブリック IP アドレスを入力します。
    • Microsoft Azure Cosmos DB for PostgreSQL インスタンスの場合、接続文字列の形式は c.<cluster_name>.postgres.database.azure.com です。 たとえば、作成時にクラスターに allmydata という名前を付けた場合、[インスタンス] テキスト ボックスに「c.allmydata.postgres.database.azure.com」と入力します。
    • Microsoft Azure Database for PostgreSQL インスタンスの場合、インスタンス名の形式は <server_name>.postgres.database.azure.com です。 たとえば、作成時にサーバーに spatialdata という名前を付けた場合、[インスタンス] テキスト ボックスに「spatialdata.postgres.database.azure.com」と入力します。
  • 認証タイプ

    [データベース認証] を選択して、有効なユーザー名とパスワードを入力するか、[オペレーティング システム認証] を使用して接続します。

  • データベース

    データベースは、PostgreSQL データベース クラスター上の接続する特定のデータベースの名前です。 [データベース] テキスト ボックスにデータベース名を入力するか、ドロップダウン リストから選択します。 データベース名の長さは 31 文字以下に制限されています。

SAP HANA

SAP HANA データベースへの接続例

  • データベース プラットフォーム

    SAP HANA データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [SAP HANA] を選択します。

  • データ ソース

    SAP HANA がサーバーにインストールされている場合、[データ ソース] テキスト ボックスに ODBC データ ソースの名前を入力します。

    SAP HANA Cloud に接続するには、<database_identifier>.hana.<region_id>.hanacloud.ondemand.com port <port number> の形式で接続文字列とポート番号を指定します。 たとえば、データベース ID が 72294abc-0d16-41e5-fg77-h6088532i24j であり、インスタンスがリージョン prod-us10 で実行し、ポート 443 上で通信する場合、[データ ソース] テキスト ボックスに「72294abc-0d16-41e5-fg77-h6088532i24j.hana.prod-us10.hanacloud.ondemand.com port 443」と入力します。

  • 認証タイプ

    [データベース認証] を選択して、接続する有効なユーザー名とパスワードを入力します。 オペレーティング システム認証はサポートされません。

SQL Server

データベース認証を使用した SQL Server の名前付きインスタンス上にあるデータベースへの接続例

  • データベース プラットフォーム

    Microsoft SQL Server のデータベース、SQL Server データベース サービス インスタンス、またはいずれかのデータベース内にあるジオデータベースに接続するには、[データベース プラットフォーム] ドロップダウンリストから [SQL Server] を選択します。

  • インスタンス

    インスタンスは、SQL Server またはデータベース サービス インスタンスの名前です。

    次のようなケースがあります。

    • terra\gis という SQL Server の名前付きインスタンスの場合、[インスタンス] テキスト ボックスに「terra\gis」と入力します。
    • デフォルトの SQL Server インスタンスを使用する場合は、[インスタンス] テキスト ボックスにサーバーのインスタンス名または IP アドレスを指定することができます。 IPV6 アドレスを指定する場合には、アドレスを括弧で囲みます。 たとえば、サーバーの IPV6 アドレスが 2000:ab1:0:2:f333:c432:55f6:d7zz の場合、[インスタンス] テキスト ボックスに「[2000:ab1:0:2:f333:c432:55f6:d7zz]」と入力します。
    • SQL Server データベースがデフォルト (1433) 以外のポートで接続を待ち受ける場合は、インスタンスにポート番号を含める必要があります。 たとえば、SQL Server インスタンス名が basset\spatial であり、ポート 61000 で接続を待ち受ける場合には、[インスタンス] テキスト ボックスに「basset\spatial,61000」と入力します。
    • Amazon RDS for SQL Server インスタンスの場合、インスタンスの形式は <database_instance_identifier>.<region_id>.rds.amazonaws.com になります。
    • Google Cloud SQL for SQL Server インスタンスの場合、[インスタンス] テキスト ボックスにインスタンスのパブリック IP アドレスを入力します。
    • Microsoft Azure SQL Managed Instance インスタンスまたは Microsoft Azure SQL Database インスタンスの場合、[インスタンス] テキスト ボックスにサーバー名を指定します。 たとえば、サーバー名が cloudy4u.dbid123.database.windows.net の場合、[インスタンス] テキスト ボックスに「cloudy4u.dbid123.database.windows.net」と入力します。

    SQL Server インスタンスがフェイルオーバー クラスターを使用している場合は、インスタンスの文字列に条件を追加して、冗長なインスタンスを利用することができます。

    SQL Server インスタンスへの暗号化された接続を要求するために、インスタンス名にさらに条件を追加することができます。

  • 認証タイプ

    接続先のデータベースに適した認証タイプを選択します。

  • データベース

    データベースは、SQL Server インスタンス上の接続する特定のデータベースの名前です。 [データベース] テキスト ボックスにデータベース名を入力するか、ドロップダウン リストから選択します。 DBaaS に接続する場合は、[データベース] テキスト ボックスに名前を入力する必要があります。

    SQL Server インスタンスへ接続する場合にはデータベース名の入力は任意です。ただし、入力が不要なのは、SQL Server インスタンスのデフォルトのデータベースとして割り当てられているデータベースへ接続する場合に限られます。 DBaaS に接続する場合、データベース名は必須です。

Teradata Vantage

ODBC データ ソース名を使用した Teradata への接続の例

  • データベース プラットフォーム

    Teradata Vantage のデータベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [Teradata] を選択します。

  • データ ソース

    [データ ソース] テキスト ボックスに ODBC データ ソースの名前を指定します。

    ODBC データ ソース名を構成していない場合は、Teradata サーバーの IP アドレスを「dbcName=<IP アドレス>」の形式で入力できます。 たとえば、サーバーの IPV4 アドレスが 200.30.200.10 である場合は、「dbcName=200.30.200.10」と入力します。 サーバーで IPV6 アドレスを使用している場合は、アドレスを括弧で囲みます。 たとえば、サーバーの IPV6 アドレスが 3020:12z3:y4xw:5099:0:v678:u111:ts22 である場合は、「dbcName=[3020:12z3:y4xw:5099:0:v678:u111:ts22]」と入力します。

  • 認証タイプ

    [データベース認証] を選択して、接続する有効なユーザー名とパスワードを入力します。 オペレーティング システム認証はサポートされません。