環境変数
環境変数は、接続元クライアントの環境における特定の設定に関する情報を保存します。環境変数には、特定のディレクトリまたはファイルのパス、ポート番号、ユーザ名などが保存されます。
dbinit.sde ファイルまたは Windows のシステム変数で設定または設定を無効にする環境変数、または ArcGIS Desktop などのクライアント アプリケーションからジオデータベースに接続するときにダイレクト コネクション構文で指定する環境変数を、次に示します。
-
GIOMGRLOGREFRESH
ArcSDE サービスが起動するたびに giomgr.log ファイルを上書きしたい場合に true に設定します。ログ メッセージを蓄積したい場合(デフォルト)、この変数を設定しないでください。
set GIOMGRLOGREFRESH=TRUE
-
LOCATION_ERRLOG
ArcSDE ロケーション エラーが記録されるファイルを定義します。この環境変数の値には、ログ ファイルの完全修飾名を使用します。このファイルはロケーション フレームワークによって自動的に作成されるため、この環境変数を設定する前に存在している必要はありません。ArcSDE ロケーション エラーは、LOCATION_VERBOSE 環境変数が true に設定されるたびに、このファイルに記録されます。
set LOCATION_ERRLOG=c:\temp\location.errlog
-
LOCATION_VERBOSE
ArcSDE ロケーション エラーを記録する場合に true に設定します。LOCATION_ERRLOG 環境変数も設定すると、ロケーション エラーは指定されたファイルに記録されます。LOCATION_ERRLOG 環境変数が設定されていない、または指定されたファイルを作成できない場合、ロケーション エラーは SDEHOME\etc\location.errlog に記録されます。
set LOCATION_VERBOSE=TRUE
-
PGHOST または PGHOSTADDR
(PostgreSQL のみ)PGHOST 変数では、リモート PostgreSQL データベース クラスタがインストールされているサーバの名前を設定します。
set PGHOST=orwell
または、PGHOSTADDR をリモート データベース サーバの IP アドレスに設定します。
set PGHOSTADDR=162.44.100.22
この 2 つの設定は主に、Linux 上の ArcSDE インストールからリモートの PostgreSQL データベースに接続する場合に便利です。リモート PostgreSQL データベースがデフォルトのポート番号または UNIX ドメインのソケットを使用しない場合は、PGPORT 変数も設定する必要があります。
-
PGPORT
(PostgreSQL のみ)PGPORT 変数では、接続したいリモートの PostgreSQL データベース クラスタについて、TCP ポート番号または UNIX ドメインのソケット ファイル拡張子を設定します。
set PGPORT=6000
PostgreSQL の環境変数については、PostgreSQL のドキュメントをご参照ください。
-
SDEATTEMPTS
セッションで ArcSDE サービスへの接続を試みる回数を設定します。正常な環境では、試行回数は 1 回で十分です。ただし、大勢のユーザから同時に接続リクエストが送信された場合には、ArcSDE サービスがそれらの要求を満たせなくなるので、セッションが接続を確立できるまで何度か接続を試みる必要があります。セッションは、接続に失敗するたびに、IP タイムアウトになるまで待機します。IP タイムアウトはネットワーク管理者によって設定されますが、ほとんどのオペレーティング システムでは、デフォルトで 75 秒に設定されています。デフォルトでは 4 に設定されます。ほとんどの環境では、これで十分でしょう。
set SDEATTEMPTS=4
-
SDE_DATABASE
SDE_DATABASE は DBMS に対して入力可能で、単一のアプリケーション サーバで複数のデータベース接続を可能にします。アプリケーションからデータベースを指定すると、この変数はオーバーライドされます。これらの変数が設定されておらず、かつ接続時にデータベースが指定されなかった場合、ArcSDE クライアントはデフォルトのデータベースに接続します。
set SDE_DATABASE=city_eng
メモ:Windows の ArcSDE for DB2 および Informix の 9.2 以降のリリースでは、ADMIN_DATABASE レジストリ キーワードに指定されたデータベースが、dbinit の SDE_DATABASE 変数に指定されたデータベースよりも優先されます。
-
SDEDBECHO
ArcSDE の起動時に、dbinit.sde ファイルの内容をエコーします。UNIX システムで ArcSDE サーバをローカルで起動すると、SDEDBECHO の出力は画面に書き込まれます。リモートの UNIX ArcSDE アプリケーション サーバから ArcSDE アプリケーション サーバを起動すると、SDEDBECHO の出力はリモートの sde.errlog ファイルに書き込まれます。
set SDEDBECHO=TRUE
-
SDEHOME
SDEHOME は、ArcSDE ファイルのインストール場所を指定します。管理コマンドで操作する ArcSDE サービスの場所もこの変数で定義されます。この変数は、コマンドの -H オプションで上書きすることができます。
set SDEHOME=d:\arcgis\arcsde
-
SDEINSTANCE
クライアント アプリケーションの環境で設定され、接続先の ArcSDE サービスの名前を決定します。アプリケーションからサービスを指定すると、この変数はオーバーライドされます。この変数が設定されておらず、かつアプリケーションにサービス名が指定されていない場合、サービス名はデフォルトで esri_sde になります。
set SDEINSTANCE=esri_sde
-
SDEINTERCEPT
クライアントまたはサーバが TCP/IP ポートを介して送信する情報を取得する必要がある場合には、SDEINTERCEPT 変数を設定します(SDEINTERCEPTLOC 変数も設定する必要があります)。問題の種類によっては、Esri カスタマー サポートがトラブルシューティングのためにこの情報を要求する場合があります。ブロードキャストには対称性があるため、クライアントとサーバ両方のネットワーク ブロードキャストを収集すると、テクニカル サポートのアナリストが、クライアントとサーバのどちらに固有の問題かを診断しやすくなります。ブロードキャストが非対象であれば、どちらか一方で受信されなかった情報であることが分かります。
この変数と SDEINTERCEPTLOC 変数を設定した場合は、ArcSDE サービスを再起動して問題の手順を再現する必要があります。
次のフラグで SDEINTERCEPT 変数を設定すると、ネットワーク ブロードキャストをインターセプトできます。c - API コマンド名をインターセプトします。r - 読み込み専用のチャネル ブロードキャストをインターセプトします。w - 書き込み専用のチャネル ブロードキャストをインターセプトします。t - ログ 時間(分:秒)をインターセプトします。T - ログ時間(時:分:秒)をインターセプトします。f - インターセプトを即座にフラッシュします。
set SDEINTERCEPT=crwtf
情報のインターセプトが不要になったら、dbinit.sde ファイルで該当行の先頭にシャープ記号(#)を追加して SDEINTERCEPT 変数と SDEINTERCEPTLOC 変数をコメント アウトし、サービスを再起動します。
-
SDEINTERCEPTLOC
クライアントまたはサーバが TCP/IP ポートを介して送信する情報を取得する必要がある場合には、SDEINTERCEPTLOC 変数を設定します(SDEINTERCEPT 変数も設定する必要があります)。
クライアントとサーバ両方をインターセプトする場合は、SDEINTERCEPTLOC 変数を、情報を受信するファイル名接頭辞の完全パス名に設定します。インターセプトが有効な場合は、アプリケーションが ArcSDE サービスに接続するたびに新しいファイルが作成されて書き込まれます。アプリケーションが切断するとファイルはクローズされます。ArcSDE は、SDEINTERCEPTLOC で指定された接頭辞に、.001 から始まってファイルの作成ごとに増分される番号を追加してファイル名を生成します。
set SDEINTERCEPTLOC=D:\tmp\sde_server
Esri テクニカル サポートのアナリストがクライアントとサーバ両方のインターセプトの出力を求めた場合、それぞれの接頭辞名を使用してクライアントとサーバを区別します。たとえば、dbinit.sde ファイルで SDEINTERCEPTLOC を d:\tmp\sde_server に設定すると、サーバ ネットワークのブロードキャストが取得されます。アプリケーションの環境で SDEINTERCEPTLOC を d:\tmp\sde_client に設定すると、同じディレクトリにあるが接頭辞の異なるクライアント ネットワークのブロードキャストが取得されます。
-
SDELOGAPPEND
メモ:UNIX のみ
SDE エラー ログ ファイルにログ メッセージを蓄積し、サービスの再起動のたびに削除しない場合は、この変数を true に設定します。SDE エラー ログ ファイルをサービスの起動時に削除したい場合は、この変数を設定しないでください。
set SDELOGAPPEND=TRUE
-
SDENOIPTEST
ArcSDE に HOSTS ファイルで SERVER 名が指定されているかどうかを評価させたくない場合は、この変数を true に設定します。デフォルトでは、この変数は設定されていません。この変数は、HOSTS ファイルをセットアップしていない場合に役立ちます。その場合、クライアントは SDEATTEMPTS のサーバに接続を試みます(デフォルトでは 4 回)。
set SDENOIPTEST=TRUE
-
SDEPASSWORD
ArcSDE クライアント アプリケーションによって入力されたユーザ名のパスワードを指定します。アプリケーション接続ツールでパスワードを指定すると、この変数はオーバーライドされます。この変数が設定されておらず、かつアプリケーションにパスワードが指定されていない場合、アプリケーションがパスワードの入力を要求することがあります。アプリケーションがパスワードの入力を要求しなかった場合は、エラーが返されます。
set SDEPASSWORD=fools.gold
この変数を設定した場合、この環境変数で設定されたパスワードを使用して接続が試みられます。OS(オペレーティング システム)認証を使用している場合は、OS ログインのパスワードを使用しようとしているため、認証が失敗します。これは、SQL Server Express Edition(ArcSDE データベース サーバ)上の ArcSDE データベースに接続する場合は常に適用されます。
メモ:SDEPASSWORD 環境変数へのパスワードの保存は安全ではないため推奨されません。 -
SDESERVER
クライアント アプリケーションを接続する ArcSDE サービスのホストを決定します。アプリケーションでホストを指定すると、この変数をオーバーライドすることができます。接続時にホストが指定されず、かつ SDESERVER 変数が設定されていない場合、クライアント アプリケーションはローカル ホストで実行されている ArcSDE サービスへの接続を試みます。
set SDESERVER=bruno
-
SDETMP
サーバの一時ディレクトリを設定することができます。ただし、この変数がチェックされるのは、sde_server_config テーブルで TEMP キーワードが設定されていない場合だけです。
set SDETMP=c:\temp
-
SDETRACELOC
接続アプリケーションのトレースとトレース ファイルの場所を指定します。トレースは、アプリケーションが最初に接続したときに開始され、アプリケーションが接続を切断したときに終了します。
set SDETRACELOC=<path_to_trace_results_file>
-
SDETRACEMODE
トレース ファイルに書き込む情報の種類と量を設定します。トレース モードは次のパラメータで設定します。
ArcSDE トレース モードのコードコード
定義
説明
b
Brief モード
関数名のみを出力します。
v
Verbose モード
関数の名前、入力、出力、およびリターンを出力します。
m
Minute モード
関数呼び出しの時間を [分:秒] 形式で出力します。
h
Hour モード
関数呼び出しの時間を [時:分:秒] 形式で出力します。
f
Force モード
データをトレース ファイルに強制的に書き出します。
Verbose モードは Brief モードよりも優先され、Hour モードは Minute モードよりも優先されます。したがって、Brief モードと Verbose モードが指定された場合は Verbose モードが適用され、Minute モードと Hour モードが指定された場合は Hour モードが適用されます。5 つのモードがすべて指定された場合は、「vhf」が適用されます。SDETRACEMODE 変数を設定しない場合、デフォルトでは「vhf」になります(Verbose、Hour、Force モード)。SDETRACEMODE 変数に不正なパラメータ値を指定すると、デフォルトでは「b」モードになります(Brief モード)。
-
SDEUSER
ArcSDE クライアント アプリケーションの接続に使用される名前を指定します。アプリケーションからユーザ名を指定すると、この変数はオーバーライドされます。この変数が設定されておらず、かつアプリケーションに名前が指定されていない場合は、エラーが返されます。ユーザ名は必ず指定する必要があります。
set SDEUSER=bob
ジオデータベース コネクションにオペレーティング システム認証を使用する場合は、この環境変数を設定しないでください。SDEUSER 変数を設定すると、変数に設定されたユーザ名に基づいて接続が試みられますが、オペレーティング システム認証を使用しようとしているため、接続が失敗します。
-
SDEVERBOSE
サービスの起動時に内部メッセージを画面上に表示し、gsrvr プロセスの起動時と終了時のメッセージを sde.errlog に書き出します。
set SDEVERBOSE=TRUE