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 上为客户端和服务器创建)。
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 的文件。对每个找到的目录,数据服务器会从用于创建临时文件的权限掩码中删除相应的权限(分别是其它、组和其它 + 组)。
将 SATMP 设置为不在上述列表中的目录,可能会对用户以不同的 Unix 帐户通过共享内存连接到数据库服务器的能力造成影响。
有关保护 Unix 上共享内存连接的信息,请参见将 SATMP 环境变量设置为唯一目录 (Unix)。