环境变量
环境变量用于存储连接的客户端环境中特定设置的信息。可存储诸如特定目录或文件的路径、端口号和用户名等信息。
以下是一个环境变量列表,可以在 dbinit.sde 文件或 Windows 系统变量中设置或取消设置这些环境变量,或者从某个客户端应用程序(例如 ArcGIS Desktop)连接到地理数据库时,在所提供的直连语法中指定这些环境变量。
- GIOMGRLOGREFRESH
如果希望每次启动 ArcSDE 服务时都覆盖 giomgr.log 文件,请将 GIOMGRLOGREFRESH 设置为 true。如果希望累积日志消息(默认),请不要设置该变量。
set GIOMGRLOGREFRESH=TRUE
- LOCATION_ERRLOG
LOCATION_ERRLOG 可定义用于记录 ArcSDE 位置错误的文件。该环境变量的值应包含日志文件完全限定的名称。设置环境变量之前不需要该文件存在,因为位置框架会自动创建它。每当 LOCATION_VERBOSE 环境变量设置为 true 时,ArcSDE 位置错误都将记录到该文件中。
set LOCATION_ERRLOG=c:\temp\location.errlog
- LOCATION_VERBOSE
将 LOCATION_VERBOSE 环境变量设置为 true 可记录 ArcSDE 位置错误。如果还设置了 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
如果要从 Linux 上的 ArcSDE 安装连接到远程 PostgreSQL 数据库,这两个设置十分有用。如果远程 PostgreSQL 数据库不使用默认端口号或 Unix 域套接字,您还需要设置 PGPORT 变量。
- PGPORT
(仅限 PostgreSQL)使用 PGPORT 变量可设置 TCP 端口号或要连接的远程 PostgreSQL 数据库群集的 Unix 域套接字文件扩展名。
set PGPORT=6000
有关 PostgreSQL 环境变量的详细信息,请参阅 PostgreSQL 文档。
- SDEATTEMPTS
将 SDEATTEMPTS 设置为希望会话尝试与 ArcSDE 服务进行连接的次数。正常条件下只需一次尝试;但是,如果 ArcSDE 服务太忙而无法满足同一时间很多用户的连接请求,则可能需要多次尝试会话才能建立连接。每次会话建立连接失败时,将一直等到发生 IP 超时。IP 超时由网络管理员设置,但大多数操作系统中默认为 75 秒。默认情况下,SDEATTEMPTS 设置为 4。这对于大多数环境来说应该足够了。
set SDEATTEMPTS=4
- SDE_DATABASE
可为 DBMS 输入 SDE_DATABASE,它在单个应用程序服务器内可能有多个数据库连接。通过应用程序指定数据库将覆盖该变量。如果未设置该变量且未在连接时指定数据库,ArcSDE 客户端将连接到默认数据库。
set SDE_DATABASE=city_eng
注意:在 Windows 上基于 DB2 和 Informix 的 ArcSDE 9.2 和以后的版本中,ADMIN_DATABASE 注册表项中指定的数据库优先于使用 dbinit SDE_DATABASE 变量指定的数据库。
- SDEDBECHO
SDEDBECHO 会在启动时回应 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
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
设置 SDEINTERCEPTLOC 变量以及 SDEINTERCEPT 变量可捕获客户端或服务器通过 TCP/IP 端口发送的信息。
对于客户端截获和服务器截获,将 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 错误日志文件累积日志消息且不会在每次重新启动服务时被截断,请将 SDELOGAPPEND 设置为 true。如果希望 sde 错误日志文件在启动时被截断,请不要设置该变量。
set SDELOGAPPEND=TRUE
- SDENOIPTEST
如果不希望 ArcSDE 测试 HOSTS 文件中的 SERVER 名称是否存在,请将 SDENOIPTEST 设置为 true。默认情况下,不设置 SDENOIPTEST。如果尚未设置 HOSTS 文件,则设置该变量十分有用。客户端将尝试连接到 SDEATTEMPTS 的服务器(默认情况下尝试四次)。
set SDENOIPTEST=TRUE
- SDEPASSWORD
SDEPASSWORD 用于指定 ArcSDE 客户端应用程序所输入的用户名的密码。对应用程序连接工具指定密码可覆盖该变量。如果未设置变量且应用程序中未指定密码,应用程序可能会提示您输入密码。如果应用程序不提示输入密码,则会返回错误。
set SDEPASSWORD=fools.gold
如果设置了该变量,则会使用通过该环境变量设置的密码尝试进行连接。如果正在使用操作系统 (OS) 身份验证,连接将失败,因为您正在尝试使用 OS 登录的密码。当连接到 SQL Server Express 中的 ArcSDE 地理数据库(ArcSDE 数据库服务器)时总是如此。
注意:使用 SDEPASSWORD 环境变量存储密码是不安全的,因此不建议使用。 - SDESERVER
SDESERVER 用于为连接的客户端应用程序确定 ArcSDE 服务的主机。通过在应用程序中指定主机可覆盖此变量。如果连接期间未指定主机且未设置 SDESERVER 变量,客户端应用程序将尝试与本地主机上运行的 ArcSDE 服务进行连接。
set SDESERVER=bruno
- SDETMP
SDETMP 用于为使用该变量的服务器设置临时目录,但仅当 sde_server_config 表中未设置 TEMP 关键字时才能选中它。
set SDETMP=c:\temp
- SDETRACELOC
SDETRACELOC 可启用追踪并将连接的应用程序引导至追踪文件的位置。追踪在应用程序第一次连接时开始,在应用程序终止连接时结束。
set SDETRACELOC=<path_to_trace_results_file>
- SDETRACEMODE
SDETERACEMODE 用于设置写入追踪文件的信息类型和信息量。该模式通过以下参数设置:
ArcSDE 追踪模式编码编码
定义
描述
b
简要模式
仅打印函数名
v
详细模式
打印名称、输入、输出和返回值
m
分钟模式
使用 [分钟:秒] 格式打印函数调用之间的时间
h
小时模式
使用 [小时:分钟:秒] 格式打印时间
f
强制模式
强制将数据写入追踪文件
详细模式优先于简要模式,小时模式优先于分钟模式。因此,如果模式设置为简要和详细,则会应用详细模式;如果模式设置为分钟和小时,则会应用小时模式。如果设置了所有五个模式,则会应用 vhf 模式。如果不设置 SDETRACEMODE,它将默认为 vhf:详细、小时模式、强制模式。如果将无效的参数值用于 SDETRACEMODE,则该值将默认为 b:简要模式。
- SDEUSER
SDEUSER 指定连接 ArcSDE 客户端应用程序时使用的用户名。在应用程序中指定用户名将覆盖此变量。如果未设置该变量且应用程序中未指定用户名,则会返回错误。必须指定用户名。
set SDEUSER=bob
如果要将操作系统身份验证用于地理数据库连接,请不要设置该环境变量。如果设置该变量,将使用通过此环境变量设置的用户尝试进行连接且连接将会失败,因为您正在尝试使用操作系统身份验证。
- SDEVERBOSE
SDEVERBOSE 用于在启动时将内部消息报告给屏幕,并将 gsrvr 进程启动和关闭消息写入 sde.errlog。
set SDEVERBOSE=TRUE