ArcGIS からデータベースに接続して、データベースのデータを表示、クエリ、解析することができます。アクセスするデータベースの一部には、ジオデータベース テーブル、関数、プロシージャを含めることができますが、それらがなくてもかまいません。ArcMap から、サポートされている任意のデータベースにアクセスして、データを表示することができます。
ほとんどのタイプのデータベースでは、データベースに接続するコンピューター上にデータベース クライアントをインストールして構成する必要があります。
SQLite を除く、サポートされるすべてのデータベースの場合、カタログ ツリー内の [データベース接続] の下のデータベースに接続します。このとき、指定したデータベースの接続情報を含むファイルがクライアント コンピューターに作成されます。ファイルのデフォルトの場所は \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog ですが、その接続ファイルを別の場所に移動することができます。ただし、接続ファイルを置くディレクトリに対して、接続する必要のあるユーザーおよびアプリケーションが読み取り権限を持っていることを確認してください。
この接続からのデータを、ジオプロセシングやジオコード サービスなどのサービスのソースとして使用する場合は、ネットワーク上の共有の場所に接続ファイルを置くことが必要な場合があります。接続ファイルの共有の詳細については、「データを ArcGIS Server でアクセス可能にする」をご参照ください。
データベースに接続するときは、接続先のデータベースの種類を選択してから、ArcGIS がデータベースを特定するための情報を指定し、データベースにログインするための認証情報を指定します。
データベース プラットフォームとプロパティ
[データベース プラットフォーム] ドロップダウン リストで選択した値は、接続先のデータベースの種類を示しています。ダイアログ ボックスで使用するフィールドと接続を確立するために指定する情報は、選択したデータベース プラットフォームのタイプによって変わります。
次のセクションでは、各データベース プラットフォームを選択するタイミングと、接続に必要な追加情報について説明し、データベース固有のトピックへのリンクを掲載しています。
ALTIBASE
ALTIBASE HDB データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [ALTIBASE] を選択します。
[データ ソース] テキスト ボックスに、クライアントと通信する ALTIBASE データベースが使用するサーバーの名前とポートを入力します。この情報は次の形式で入力します。
DSN=<サーバー名>;PORT_NO=<ポート>
たとえば、サーバー名が ahdb で、データベースと通信するポート番号が 20301 の場合、[データ ソース] テキスト ボックスに「DSN=ahdb;PORT_NO=20301」と入力します。
[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。オペレーティング システム認証はサポートされません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から ALTIBASE への接続」をご参照ください。
Dameng
Dameng データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [Dameng] を選択します。
Dameng に接続する場合は、[データ ソース] テキスト ボックスに、Dameng がインストールされているサーバーの名前を入力します。
[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。オペレーティング システム認証はサポートされません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Dameng への接続」をご参照ください。
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 接続と呼ばれます。
接続を完了するには、データベースへのログインに使用する [認証タイプ] を選択し、必要に応じて認証情報を入力します。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Db2 への接続」をご参照ください。
Db2 for z/OS
z オペレーティング システム (z/OS) 上の Db2 データベース サブシステム、または z/OS 上の Db2 データベース サブシステム内にあるジオデータベースに接続するには、[データベース プラットフォーム] ドロップダウン リストから [DB2 for z/OS] を選択します。
Db2 for z/OS データベース サブシステムに接続する際には、カタログに表示される Db2 データベース サブシステムの名前を [データ ソース] テキスト ボックスに入力する必要があります。
データベース サブシステムがカタログに表示されない場合は、Db2 に関するセクションで説明した接続文字列を使用できます。
接続を完了するには、データベースへのログインに使用する [認証タイプ] を選択し、必要に応じて認証情報を入力します。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から 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 接続と呼ばれます。
接続を完了するには、データベースへのログインに使用する [認証タイプ] を選択し、必要に応じて認証情報を入力します。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Informix への接続」をご参照ください。
Netezza
Netezza データ ウェアハウス アプライアンスでデータベースに接続するには、[データベース プラットフォーム] ドロップダウンリストから [Netezza] を選択します。
Netezza データベースへ接続する場合は、Netezza データベースの ODBC データ ソース名を [データ ソース] テキスト ボックスに入力する必要があります。
ODBC データ ソース名を設定していない場合は、次の構文を使用して接続できます。
ServerName=<ホスト>;Port=<ポート番号>;Database=<データベース名>
お使いの環境に合った情報を指定します。たとえば、Netezza データ ウェアハウス アプライアンスが ndwa サーバー上にあり、通信がポート 5480 を使用して行われ、データベース名が spatial の場合、接続文字列は次のようになります。
ServerName=ndwa;Port=5480;Database=spatial
[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。オペレーティング システム認証はサポートされません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Netezza への接続」をご参照ください。
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 ポート番号以外で接続を待ち受ける場合は、そのポート番号を含む接続構文を使用する必要がありますので注意してください。
接続を完了するには、データベースへのログインに使用する [認証タイプ] を選択し、必要に応じて認証情報を入力します。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Oracle への接続」をご参照ください。
PostgreSQL
PostgreSQL データベース、Microsoft Azure Database for 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]」と入力します。
Microsoft Azure Database for PostgreSQL または Microsoft Azure Database for PostgreSQL 内のジオデータベースの場合、Azure インスタンスの URL (pgazure.postgres.database.azure.com など) を指定します。
PostgreSQL データベース クラスターがデフォルト (5432) 以外のポートで接続を待ち受ける場合は、インスタンスにポート番号を含める必要があります。たとえば、PostgreSQL がサーバー mamabear にインストールされており、ポート 49200 で接続を待ち受ける場合は、[インスタンス] テキスト ボックスに「mamabear,49200」と入力します。
データベースは、PostgreSQL データベース クラスター上の接続する特定のデータベースの名前です。[データベース] テキスト ボックスにデータベース名を入力するか、ドロップダウン リストから選択します。データベース名の長さは 31 文字以下に制限されています。
[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。Microsoft Azure Database for PostgreSQL に接続する場合、ユーザー名にはアットマーク (@) とインスタンスが含まれている必要があります。たとえば、ユーザーが editor1、Azure インスタンスが pgazure.postgres.database.azure.com の場合、ユーザー名を「editor1@pgazure」と入力します。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から PostgreSQL への接続」をご参照ください。
SAP HANA
SAP HANA データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [SAP HANA] を選択します。
[データ ソース] テキスト ボックスに ODBC データ ソースの名前を入力します。
[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。オペレーティング システム認証はサポートされません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から SAP HANA への接続」をご参照ください。
SQL Server
Microsoft SQL Server または Microsoft Azure SQL データベースに接続するには、[データベース プラットフォーム] ドロップダウンリストから [SQL Server] を選択します。
SQL Server または Azure SQL データベースに接続する場合、インスタンスおよびデータベースを指定する必要があります。
インスタンスには、SQL Server または Azure SQL データベースのインスタンス名を指定します。たとえば、Azure 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 または Azure SQL データベース インスタンス上の接続する特定のデータベース名です。[データベース] テキスト ボックスにデータベース名を入力するか、(SQL Server を使用する場合は) ドロップダウン リストからデータベース名を選択します。データベース名の長さは 31 文字以下に制限されています。
SQL Server インスタンスへ接続する場合にはデータベース名の入力は任意です。ただし、入力が不要なのは、SQL Server インスタンスのデフォルトのデータベースとして割り当てられているデータベースへ接続する場合に限られます。Azure SQL データベースへ接続する場合には、データベース名を入力する必要があります。
SQL Server データベースへの接続を完了するには、データベースへのログインに使用する [認証タイプ] を選択し、必要に応じて認証情報を入力します。
Azure SQL データベースへ接続している場合は、[データベース認証] を使用して、接続する有効なユーザー名とパスワードを入力します。Azure SQL データベースへ接続している場合、オペレーティング システム認証はサポートされていません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から SQL Server への接続」をご参照ください。
Teradata
Teradata データベースに接続する場合は、[データベース プラットフォーム] ドロップダウン リストから [Teradata] を選択します。
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]」と入力します。
[データベース認証] を使用して、有効なユーザー名とパスワードを入力します。オペレーティング システム認証はサポートされません。
別の ArcGIS クライアントから接続する具体的な手順については、「ArcGIS から Teradata への接続」をご参照ください。
認証タイプ
データベースまたはエンタープライズ ジオデータベースへの接続を確立するには、データベース認証とオペレーティング システム認証の 2 つのログイン オプションがあります。一部のデータベースでは、オペレーティング システム認証の使用をサポートしていないことにご注意ください。
データベース認証
[データベース認証] を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ [ユーザー名] と [パスワード] テキスト ボックスに指定する必要があります。ユーザー名には、最大で 30 文字まで入力できます。
上述したように、データベース認証を使用して、ALTIBASE、Azure SQL データベース、Demang、PostgreSQL、Netezza、SAP HANA、または Teradata データベースに接続する必要があります。
ログイン情報を接続の一部として保存しない場合は、[ユーザー名とパスワードを保存する] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。また、データベースまたはジオデータベースへのアクセスを ArcGIS サービスに提供する接続ファイルの場合、あるいは、カタログ検索を使用してこの接続ファイル経由でアクセスするデータを検索する場合は、[ユーザー名とパスワードを保存する] をオンにする必要があります。
オペレーティング システム認証
[オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのログインに使用されたログイン名とパスワードを使用して確立されます。オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。一部のデータベース管理システムは、オペレーティング システム認証をサポートしません。