Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
データベースサーバーとテンポラリディレクトリを必要とする SQL Anywhere コマンドラインユーティリティが使用するテンポラリファイルのロケーションを指定します。
SATMP=directory-name
SQL Anywhere では、データベースサーバー関連のテンポラリファイル (すべてのプラットフォームで作成) と通信関連のテンポラリファイル (UNIX のクライアントとサーバーでのみ作成) の 2 種類のテンポラリファイルが作成されます。
SATMP 環境変数には、データベースサーバーとテンポラリディレクトリを必要とする SQL Anywhere コマンドラインユーティリティが使用するテンポラリファイルのロケーションが指定されます。このファイルは、データベースサーバーをサービスとして実行する場合に役立ちます。テンポラリファイルをほかのプログラムがアクセスできないディレクトリに保存できるからです。
データベースサーバーの起動時に -dt オプションでテンポラリファイルのロケーションを指定しなかった場合は、SATMP 環境変数の値に基づいてテンポラリファイルの保存場所が決定されます。SATMP 環境変数が設定されていない場合は、環境変数 TMP、TMPDIR、TEMP のうち、最初に見つかった変数の値が使用されます。Windows では、これらの環境変数がいずれも存在しない場合、現在のディレクトリが使用されます。UNIX では、これらの環境変数のいずれも存在しない場合、/tmp が使用されます。
Windows Mobile では、サーバーのテンポラリフォルダーとして使用するディレクトリをレジストリに指定できます。 Windows Mobile 上のテンポラリファイルのロケーションについては、Windows Mobile でのレジストリ設定を参照してください。
UNIX では、共有メモリを介して接続する場合、クライアントとデータベースサーバーの両方で SATMP を同じ値に設定する必要があります。
SQL Anywhere バージョン 9 以前では、環境変数 ASTMP が SATMP に相当します。共有メモリを使用してバージョン 9 とバージョン 10 のソフトウェアに接続する場合は、SATMP と ASTMP 環境変数を設定して、テンポラリフォルダーとして (同じ) ロケーションを指定する必要があります。
データベースサーバーや UNIX 上のクライアントで作成されたテンポラリファイルのパーミッションを制限する場合は、この環境変数に次のリストにないディレクトリを設定します。
上記のリストにないディレクトリが SATMP に設定されている場合、データベースサーバーは、現在のユーザーが所有し、パーミッションが 770、707、700 のいずれかに設定されているディレクトリで指定のディレクトリパスを検索します。パーミッションがそれ以外の値に設定されている場合は、パーミッションを 777 に設定してファイルを作成します。データベースサーバーは、検出された各ディレクトリについて、該当するパーミッション (それぞれ other、group、other+group に対応) をテンポラリファイルの作成に使用するパーミッションマスクから削除します。
上記のリストにないディレクトリを SATMP に設定すると、別の UNIX アカウントを使用するユーザーが共有メモリを介してデータベースサーバーに接続できなくなる場合があります。
UNIX での共有メモリ接続の保護については、SATMP 環境変数をユニークなディレクトリに設定 (UNIX)を参照してください。