ArcGIS for Desktop でのデータベース接続

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

ArcGIS for Desktop でカタログ ツリーの [Database Connections] ノードの下にデータベース接続を追加すると、指定したデータベースへの接続情報を持つファイルがクライアント コンピュータに作成されます。このファイルのデフォルトの場所は、\\<コンピュータ名>\Users\<ユーザ名>\AppData\Roaming\ESRI\Desktop<リリース番号>\ArcCatalog ですが、別の場所に移動することもできます。ただし、接続ファイルを置くディレクトリに対して、接続する必要のあるユーザが読み取り権限を持っていることを確認してください。

ヒントヒント:

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

データベースに接続するときは、接続先のデータベースの種類を選択してから、ArcGIS がデータベースを特定するための情報と、データベースにログインするための認証情報を指定します。PostgreSQL データベースに接続する例を次に示します。

データベース接続の例

ヒントヒント:

ArcSDE サービスを使用してエンタープライズ ジオデータベースに接続する必要がある場合は、[ArcSDE 接続ファイルの作成(Create ArcSDE Connection File)] ジオプロセシング ツールを使用します。

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

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

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

DB2

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

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

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

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

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

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

注意注意:

ジオデータベース機能を有効化するとき、またはジオデータベースをアップグレードするときに、DSNless 接続は使用できません。

DB2 for z/OS

z オペレーティング システム(z/OS)上の DB2 データベース サブシステム、または z/OS 上の DB2 データベース サブシステム内にあるジオデータベースに接続するには、[データベース プラットフォーム] ドロップダウン リストから [DB2 for z/OS] を選択します。

DB2 for z/OS データベース サブシステムに接続する際には、カタログに表示される DB2 データベース サブシステムの名前を [データ ソース] テキスト ボックスに入力する必要があります。

データベース サブシステムがカタログに表示されない場合は、DB2 に関するセクションで説明した接続文字列を使用できます。

Informix

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

Informix へ接続する場合は、Informix データベースの ODBC(Open Database Connectivity)データ ソース名を [データ ソース] テキスト ボックスに入力する必要があります。

ODBC データ ソース名を設定していない場合は、次の構文を使用して接続できます。

HostName<Informix がインストールされているサーバ>;ServerName=<Informix サーバ>ServiceName=<services ファイルで定義されているサービス名>;Database=<Informix データベース名>

お使いの環境に合った情報を指定します。たとえば、Informix のインスタンスが hirise サーバ上にあり、インスタンス名が superids で、通信がポート 54321 を介して行われ、データベース名が gisdata の場合、接続文字列は次のようになります。

HostName=hirise;ServerName=superids;ServiceName=54321;Database=gisdata

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

注意注意:

DSNless 接続を使用するために ODBC データ ソース名を設定する必要はありませんが、SetNet32 を使用して Informix サーバを登録する必要はあります。また、DSNless 接続を使用して、Informix データベースでのジオデータベース機能の有効化、またはジオデータベースのアップグレードは行えませんで注意してください。

Netezza

Netezza データ ウェアハウス アプライアンスでデータベースに接続するには、[データベース プラットフォーム] ドロップダウンリストから [Netezza] を選択します。

Netezza データベースへ接続する場合は、Netezza データベースの ODBC データ ソース名を [データ ソース] テキスト ボックスに入力する必要があります。

注意注意:

Windows で ODBC データ ソース名を設定するときは、必ず [Optimize for ASCII character set] オプションをオンにしてください。Linux で ODBC データ ソース名を設定するときは、CharacterTranslationOption を「latin9」に設定し、UnicodeTranslationOption を「utf16」に設定します。

ODBC データ ソース名を設定していない場合は、次の構文を使用して接続できます。

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

お使いの環境に合った情報を指定します。たとえば、Netezza データ ウェアハウス アプライアンスが ndwa サーバ上にあり、通信がポート 5480 を介して行われ、データベース名が spatial の場合、接続文字列は次のようになります。

ServerName=ndwa;Port=5480;Database=spatial

Oracle

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

Oracle へ接続する際には、[インスタンス] テキスト ボックスに、次のいずれかの 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 クライアントを完全にインストールするが、接続に簡易接続構文を使用する場合、簡易接続の使用を許可するため、クライアント側で sqlnet.ora ファイルを構成し、簡易接続構文を許可するように Oracle サーバを構成してください。また、Oracle インスタンスがデフォルトの Oracle ポート番号以外で接続を待ち受ける場合は、そのポート番号を含む接続構文を使用する必要がありますので注意してください。

簡易接続構文を使用しない場合は、ArcGIS の以前のバーションで使用されていた直接接続の構文を使用できます。詳細については、ArcGIS 10 のドキュメントをご参照ください。

PostgreSQL

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

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

インスタンスは、PostgreSQL がインストールされているサーバの名前または IP アドレスです。たとえば、PostgreSQL データベース クラスタがサーバ ficus に存在する場合、[インスタンス] テキスト ボックスに「ficus」と入力します。IPV6 アドレスを指定する場合には、アドレスを括弧で囲みます。たとえば、サーバの IPV6 アドレスが 1111:aa1:0:1:f111:a222:33f3:b4bb の場合、[インスタンス] テキスト ボックスに「[1111:aa1:0:1:f111:a222:33f3:b4bb]」と入力します。

PostgreSQL データベース クラスタがデフォルト(5432)以外のポートで接続を待ち受ける場合は、インスタンスにポート番号を含める必要があります。たとえば、PostgreSQL がサーバ mamabear にインストールされており、ポート 49200 で接続を待ち受ける場合は、[インスタンス] テキスト ボックスに「mamabear,49200」と入力します。

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

SQL Server

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

SQL Server または SQL データベース に接続する場合、インスタンスおよびデータベースを指定する必要があります。

インスタンスには、SQL Server または SQL データベースのインスタンス名を指定します。たとえば、SQL データベースのインスタンス名が cloudy4u.database.windows.net の場合、[サービス] テキスト ボックスに「cloudy4u.database.windows.net」と入力します。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]」と入力します。

データベースがデフォルト(1433)以外のポートで接続を待ち受ける場合は、インスタンスにポート番号を含める必要があります。たとえば、SQL Server インスタンスが basset\spatial であり、ポート 61000 で接続を待ち受ける場合には、[インスタンス] テキスト ボックスに「basset\spatial,61000」と入力します。

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

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

認証タイプ

データベースまたはエンタープライズ ジオデータベースへ接続するには、2 つのログイン オプションがあります。データベース認証とオペレーティング システム認証との 2 つです。

データベース認証

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

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

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

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

注意注意:

SQL Server でオペレーティング システムの認証を使用した場合、オペレーティング システム ログインは、データベース ユーザにマッピングされます。Oracle の場合、オペレーティング システム ログインに os_authent_prefix 文字列(デフォルト値は OPS$)の接頭辞が付加されて、USERNAME テーブルに格納されます。ジオデータベースに接続するときに入力できるユーザ名の最大文字数は、30 文字です。ArcGIS では、ユーザ名に特殊文字またはエスケープ文字(ドル記号やバックスラッシュなど)が含まれる場合、ユーザ名を引用符で囲む必要があります。30 文字の制限には、それらの引用符も含まれます。

関連トピック

9/14/2013