Skip To Content

ArcGIS から Oracle への接続

ArcGIS クライアントから Oracle に接続するには、Oracle クライアントを ArcGIS クライアント コンピューターにインストールし、Oracle を参照する環境変数を設定し、ArcGIS からデータベースに接続します。

すべての ArcGIS クライアント コンピューター上で Oracle クライアントが構成されたら、ArcGIS Pro または ArcMap でデータベース接続ファイルを作成します。Oracle データベースでデータを参照する ArcGIS Server Web サービスを公開するには、データベース接続ファイルを ArcGIS Server サイトに登録します。

ArcGIS Proからの接続

ArcGIS Pro プロジェクトから Oracle に接続するには、Oracle クライアントを ArcGIS Pro コンピューターにインストールし、PATH 変数を Oracle クライアントの場所に設定して、データベース接続を作成します。

Oracle クライアントのインストール

クライアント コンピューターから Oracle データベースへの接続を作成するためには、クライアント コンピューターに Oracle クライアント アプリケーションをインストールする必要があります。インストールする Oracle クライアント アプリケーションのリリースが、接続先のデータベースのリリースと互換性があることを確認してください。

Oracle のドキュメントに記載されている手順に従って、Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、クライアント コンピューターにインストールできます。

PATH 変数の設定

ArcGIS Pro コンピューター上の PATH 環境変数に、Oracle Client のインストール場所を設定します。PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。

備考:

ArcMapArcGIS Pro が同じコンピューター上にインストールされている場合、32 ビット クライアントを読み込む前に 64 ビット クライアントを読み込むように PATH 変数を設定します。たとえば、32 ビットの Oracle Instant Client が c:\Program Files (x86)\Oracle にインストールされており、64 ビットの Oracle Instant Client が c:\Program Files\Oracle にインストールされている場合は、PATH 変数値の先頭に C:\Program Files\Oracle;C:\Program Files (x86)\Oracle; を付加します。

PATH 変数を設定する前に ArcGIS Pro がコンピューター上で開かれた場合、再起動して新しい設定を有効にします。

データベースへの接続

データベース接続を追加するには、[データベース コネクション] ダイアログ ボックスまたは [データベース接続の作成 (Create Database Connection)] ツールを使用します。[データベース接続] ダイアログ ボックスを使用する場合の手順を次に示します。

  1. [カタログ] ウィンドウの [データベース] を右クリックして、[新しいデータベース コネクション] をクリックします。
  2. [データベース プラットフォーム] ドロップダウン リストから [Oracle] を選択します。
  3. [インスタンス] テキスト ボックスに 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:ab5:0:0:f666:d191:77f5:e2bd]/orasvc)。

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

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

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

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

  4. データベースに接続する際に使用する認証タイプとして、 [データベース認証] または [オペレーティング システム認証] のいずれかを選択します。
    • [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのログインに使用されたログイン名とパスワードを使用して確立されます。オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。Oracle インスタンス クライアントを使用している場合、オペレーティング システム認証を使用できないことに注意してください。
      備考:

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

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

      ログイン情報を接続の一部として保存しない場合は、[ユーザー名/パスワードの保存] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。

    備考:

    データベース認証を使用してデータベースへのアクセス権を ArcGIS Web サービスに付与する接続ファイルの場合やこの接続ファイルを経由してアクセスするデータを ArcGIS Pro で検索する場合は、[ユーザー名とパスワードを保存する] チェックボックスをオンにする必要があります。

  5. [OK] をクリックして接続します。

ArcMapからの接続

ArcMap から Oracle のデータベースまたはジオデータベースに接続するには、32 ビット Oracle クライアントを ArcMap コンピューターにインストールし、PATH 環境変数を Oracle クライアントの場所に設定し、カタログ ツリーに接続ファイルを作成します。

Oracle クライアントのインストール

クライアント コンピューターから Oracle データベースへの接続を作成するためには、クライアント コンピューターに Oracle クライアント アプリケーションをインストールする必要があります。インストールする Oracle クライアント アプリケーションのリリースが、接続先のデータベースのリリースと互換性があることを確認してください。

備考:

32 ビット ArcGIS クライアントから接続する場合、32 ビット Oracle クライアントをインストールする必要があります。これは、ArcGIS クライアント アプリケーションを 64 ビット オペレーティング システムのコンピューターにインストールしていて、データベースとサーバーのオペレーティング システムが 64 ビットの場合も、該当します。

Oracle のドキュメントに記載されている手順に従って、Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、クライアント コンピューターにインストールできます。

PATH 変数の設定

ArcMap コンピューター上の PATH 環境変数に、Oracle Client のインストール場所を設定します。PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。

備考:

ArcMapArcGIS Server が同じ Windows コンピューター上にインストールされている場合、32 ビット クライアントを読み込む前に 64 ビット クライアントを読み込むように PATH 変数を設定します。たとえば、32 ビットの Oracle Instance Client が c:\Program Files (x86)\Oracle にインストールされており、64 ビットの Oracle Instance Client が c:\Program Files\Oracle にインストールされている場合は、WindowsPATH 変数値の先頭に C:\Program Files\Oracle;C:\Program Files (x86)\Oracle; を付加します。

PATH 変数を設定する前に ArcMap がコンピューター上で開かれていた場合、ArcMap を再起動して新しい設定を有効にします。

データベースへの接続

ArcMap または ArcCatalog のカタログ ツリーの [データベース接続] ノードでデータベース接続を追加して、Oracle のデータベースまたはジオデータベースに接続できます。

  1. ArcMap または ArcCatalog の [カタログ] ツリーで [データベース接続] を展開して、[データベース接続の追加] をダブルクリックします。
  2. [データベース プラットフォーム] ドロップダウン リストから [Oracle] を選択します。
  3. [インスタンス] テキスト ボックスに 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:ab5:0:0:f666:d191:77f5:e2bd]/orasvc)。

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

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

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

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

  4. データベースに接続する際に使用する認証タイプとして、 [データベース認証] または [オペレーティング システム認証] のいずれかを選択します。
    • [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのログインに使用されたログイン名とパスワードを使用して確立されます。オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。Oracle インスタンス クライアントを使用している場合、オペレーティング システム認証を使用できないことに注意してください。
      備考:

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

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

      ログイン情報を接続の一部として保存しない場合は、[ユーザー名/パスワードの保存] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。ただし、オフにした場合、デスクトップ クライアントからの接続時にユーザー名とパスワードを入力するよう求められます。

    備考:

    データベース認証を使用してデータベースへのアクセス権を ArcGIS サービスに付与する接続ファイルの場合や、この接続ファイルを経由してアクセスするデータを ArcGIS Desktop で検索する場合は、[ユーザー名とパスワードを保存する] チェックボックスをオンにする必要があります。

    以下の例では、データベース認証を使用して oracl/dbdataOracle インスタンスへの接続を確立しています。

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

  5. [OK] をクリックして接続します。

ファイルが \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog に作成されます。

接続を別の場所に移動することができます。ただし、接続ファイルを置くディレクトリに対して、接続する必要のあるユーザーおよびアプリケーションが読み取り権限を持っていることを確認してください。

この接続からのデータを、ジオプロセシングやジオコード サービスなどのサービスのソースとして使用する場合は、ネットワーク上の共有の場所に接続ファイルを置くことが必要な場合があります。接続ファイルの共有の詳細については、「データを ArcGIS Server でアクセス可能にする」をご参照ください。

ArcGIS Server からの接続

OracleArcGIS Server が別々のサーバー上で実行されている場合は、64 ビット Oracle クライアントを ArcGIS Server サイトのすべてのコンピューターにインストールします。Windows コンピューター上で、Oracle クライアント ディレクトリを PATH 変数に追加します。

ArcGIS ServerLinux サーバー上にインストールされている場合、ArcGIS Server にインストールされている init_user_param.sh スクリプトを Oracle クライアントおよびインスタンスに関する情報を含むように編集して、ArcGIS Server を再起動します。

ArcGIS Server で公開するサービスが、Oracle のデータベースまたはジオデータベースのデータを使用する場合、データベースを ArcGIS Server サイトに登録します。

Oracle クライアントのインストール

ArcGIS ServerOracle が異なるサーバーにインストールされている場合、Oracle クライアント アプリケーションを ArcGIS Server サイトの各コンピューターにインストールする必要があります。インストールする Oracle クライアント アプリケーションのリリースが、接続先のデータベースのリリースと互換性があることを確認してください。

Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、ArcGIS Server コンピューターにインストールできます。Oracle のドキュメントの指示に従って、Oracle クライアントをインストールします。

PATH 環境変数の設定 (Windows のみ)

ArcGIS Server Windows サーバー上の PATH 環境変数に、Oracle クライアントのインストール場所を設定します。PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。

備考:

ArcGIS ServerArcGIS Desktop が同じ Windows コンピューター上にインストールされている場合、32 ビット クライアントを読み込む前に 64 ビット クライアントを読み込むように PATH 変数を設定します。たとえば、32 ビットの Oracle Instant Client が c:\Program Files (x86)\Oracle にインストールされており、64 ビットの Oracle Instant Client が c:\Program Files\Oracle にインストールされている場合は、WindowsPATH 変数値の先頭に C:\Program Files\Oracle;C:\Program Files (x86)\Oracle; を付加します。

Oracle クライアントを構成して PATH 変数を設定する前に ArcGIS Server を実行していた場合、ArcGIS Server を再起動する必要があります。Windows[サービス] インターフェイスから ArcGIS Server を再起動できます。

init_user_param.sh スクリプトの変更 (Linux のみ)

データベース クライアント ファイルをインストールしたら、ArcGIS Server にインストールされている init_user_param.sh スクリプトを、それらのクライアント ファイルを参照するように変更します。このスクリプトにアクセスするには、<ArcGIS Server installation directory>/arcgis/server/usr ディレクトリを参照します。

備考:

ユーザー プロファイルが Oracle クライアントを参照していて、ユーザー プロファイルと init_user_param.sh でクライアント情報が異なる場合は、データベースに接続しようとしたときに ArcGIS Server に問題が発生する可能性があります。接続の問題を軽減するには、ユーザー プロファイルから参照情報を削除し、以下の手順に従ってデータベース クライアント ライブラリを再参照します。

  1. 各コンピューターの ArcGIS Server のインストール所有者がデータベース クライアント ライブラリに対する読み取りおよび実行以上の権限を持っていることを確認します。
  2. テキスト エディターで init_user_param.sh スクリプトを開きます。
  3. #」で始まる各行からコメント記号 (export) を削除します。

    Oracle Administrator、Developer、または Runtime クライアントがインストールされている場合、export で始まるすべての Oracle の行からコメント記号を削除します。

    #
    # To connect to Oracle
    #
    export ORACLE_BASE=<Oracle_Installdir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    Oracle Database Instant Client ライブラリを使用している場合は、次の例のように、コメントを外して $LD_LIBRARY_PATH を設定するだけで済みます。

    #
    # To connect with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient>:$LD_LIBRARY_PATH

  4. export 変数の値を設定します。
    • Oracle Administrator、Developer、または Runtime クライアントの場合、以下の変数のコメントを解除し、実装に固有の情報を使用して値を設定します。
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> は、Oracle クライアントがインストールされている最上位ディレクトリのパスと名前です。

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        これは、Oracle クライアント ライブラリ ファイルのパスです。ORACLE_HOME を、これらが存在するディレクトリに設定します。デフォルトでは、ディレクトリ名は client_1 ですが、使用しているインストールのディレクトリ名は異なっている場合があります。

      • Oracle システム ID (SID) を使用して接続する場合は、ORACLE_SID= を、使用しているデータベースの Oracle システム ID に設定します。Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。
      • TNS_ADMIN= を、Oracle クライアントの TNS 管理ファイルの場所に設定します。簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。
    • Oracle Instant クライアントの場合、LD_LIBRARY_PATH 変数のみをコメント解除して値を設定し、<Location_to_instantclient> を、Oracle Instant クライアント ファイルが存在する場所のパスとディレクトリ名に置き換えます。
    • ArcGIS ServerOracle が同じコンピューター上にインストールされている場合は、次の変数のコメントを解除して値を設定します。
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> は、Oracle がインストールされている場所の最上位ディレクトリのパスおよび名前です。

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        これは、Oracle ライブラリ ファイルのパスです。ORACLE_HOME を、これらが存在するディレクトリに設定します。デフォルトでは、ディレクトリ名は db_<n> ですが、使用しているインストールのディレクトリ名は異なっている場合があります。

      • Oracle システム ID (SID) を使用して接続する場合は、ORACLE_SID= を、使用しているデータベースの Oracle システム ID に設定します。Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。
      • TNS_ADMIN= を、Oracle クライアントの TNS 管理ファイルの場所に設定します。簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。
  5. スクリプトを保存して閉じます。
  6. ArcGIS Server サイトの各コンピューターで init_user_param.sh を構成したら、各コンピューターで startserver.sh スクリプトを実行して ArcGIS Server を再起動します。

    ./startserver.sh

データベースの登録

Web サービスで、Oracle に格納された Oracle データベースまたはジオデータベース内のデータを使用する場合は、そのデータベースまたはジオデータベースを ArcGIS Server サイトに登録します。詳しい手順については、ArcGIS Pro ヘルプの「登録済みデータ ストアの管理」、「Server Manager を使用したデータの ArcGIS Server への登録」または ArcGIS Enterprise ポータル ユーザー ヘルプの「アイテムの追加」をご参照ください。