sdeservice 命令

sdeservice 管理工具在 Windows 平台上管理 ArcSDE 服务和注册表项。创建服务会增加 Windows 注册表项。

使用“修改”选项可修改现有注册表项,如 SDEHOME 或 SDE_DBA_PASSWORD。使用“注册”选项可注册默认情况下未提供的新条目,如 ADMIN_DATABASE。“取消注册”选项可从服务器注册表中移除条目。

删除操作会删除 ArcSDE 服务和所有相关注册表项。

使用语法

ArcSDE 管理命令行工具使用符合以下约定的 UNIX 风格的命令语法和标记:

sdeservice -o create -p <ArcSDE_admin_password> [-n] [-H <sde_directory>]
[-d {ORACLE,SID | SQLSERVER,SQLSERVERINSTANCE | DB2,DB2INSTANCE | INFORMIX | POSTGRESQL,PGINSTANCE}]
[-i <service>] [-u <service_user>] [-P <service_user_password>] [-s <data_source>]

sdeservice -o delete [-d {ORACLE,SID | SQLSERVER,SQLSERVERINSTANCE | DB2,DB2INSTANCE | INFORMIX | POSTGRESQL}]
[-i <service>] [-N]

sdeservice -o list [-i <service>]

sdeservice -o modify -r <registry_keyword> -p <ArcSDE_admin_password> -v <new_value> [-i <service>]
[-d {ORACLE,SID | SQLSERVER,SQLSERVERINSTANCE | DB2,DB2INSTANCE | INFORMIX | POSTGRESQL}]

sdeservice -o register -r <registry_keyword> -v <value> -p <ArcSDE_admin_password> [-i <service>]
[-d <ORACLE,SID | SQLSERVER,SQLSERVERINSTANCE | DB2,DB2INSTANCE | INFORMIX | POSTGRESQL>]

sdeservice -o unregister -r <registry_keyword> -p <ArcSDE_admin_password> [-i <service>]
[-d {ORACLE,SID | SQLSERVER,SQLSERVERINSTANCE | DB2,DB2INSTANCE | INFORMIX | POSTGRESQL}]

sdeservice -h

sdeservice -?

行动

操作将执行与命令有关的特定任务,并通过 -o 选项进行指定。sdeservice 命令提供以下操作:

操作

描述

create

在 Windows 服务器上创建 ArcSDE 服务。

delete

从 Windows 服务器中删除 ArcSDE 服务。

必须先停止服务,然后才能将其删除。这可通过 Windows 服务列表或使用 sdemon 命令来完成。

list

显示所有或指定 ArcSDE 服务的服务信息。

modify

修改现有注册表关键字。

register

向 Windows 注册表添加注册表关键字。

unregister

从 Windows 注册表中移除注册表关键字。

选项

每个操作都有一组选项。由于选项前面带有特定字母,因此可以用任意顺序传递选项。选项区分大小写,因此请确保使用正确的大小写。

根据操作的不同,一些选项是必需的,一些则不是,使用方括号 ([ ]) 进行指示。sdeservice 命令提供以下选项:

选项

描述

-d

标识与服务连接的 DBMS 和服务依存关系。

服务依存关系标识在 ArcSDE 服务启动之前应启动的服务。DB2INSTANCE、SQLSERVERINSTANCE、SID 和 PGINSTANCE 是可选的,用于标识本地或远程数据库的实例。

  • SID(默认:ORCL)
  • DB2INSTANCE(默认:DB2-0)
  • SQLSERVERINSTANCE:SQL Server 命名实例或数据源(默认:MSSQLServer)
  • PGINSTANCE(默认:postgresql-x64-9.0)

-h 或 -?

使用任一选项可查看命令的语法。

如果从 C shell 运行命令,则使用 -h 或“-\?”。

-H

ArcSDE 主目录 (SDEHOME);仅在未设置 SDEHOME 变量或使用多个服务时需要此选项。

-i

ArcSDE 服务名称;在未使用默认值 esri_sde 的情况下需要此选项。

-n

从依赖于 ArcSDE 的服务列表中排除数据库服务。

-N

不执行任何验证;调用后立即开始操作

-o

指定操作。

-p

地理数据库管理员的 DBMS 密码

-P

ArcSDE 服务用户密码(Windows 服务登录账户密码)

-r

注册/取消注册/修改以下 Windows 注册表关键字:

  • ADMIN_DATABASE:使用 ArcSDE 服务的数据库
  • SDEHOME:ArcSDE 软件位置
  • SDE_DBA_USER:地理数据库管理员的用户名
  • SDE_DBA_PASSWORD:ArcSDE 管理员数据库用户的密码

-s

与 ArcSDE 服务连接的 DBMS 实例的名称

-u

ArcSDE Windows 服务帐户用户

指定用户必须是在服务器计算机上具有管理员权限或被授予以服务权限登录的 Windows 用户。可根据需要包含域名。例如,如果您登录到 LAMBERT 域,用户名为 joe,则输入 LAMBERT\joe。在创建服务时,应以此用户登录。

对 DBMS 使用 Windows 身份验证时,服务用户还必须具有替换进程级别令牌的权限,以将 gsrvr.exe 进程的安全上下文切换到正在连接的用户。

-v

正在设置或修改的注册表值

示例

创建 ArcSDE 服务

使用创建操作可在具有 Windows 操作系统的计算机上建立新的 ArcSDE 服务。在所有创建示例中,都必须手动编辑 %windir%\system32\drivers\etc\services 和 %SDEHOME%\etc\services.sde,以添加服务名称和端口号。

以下示例针对 Informix 创建一个新的 ArcSDE 服务:

sdeservice -o create -d INFORMIX -p sde.space -i esri_inf 
-u informix -P sde.inf

以下示例为 Microsoft SQL Server 创建一个新的 ArcSDE 服务:

sdeservice -o create -d SQLSERVER -p spatial.data 
-i arcsde -H z:\arcgis\arcsde\sqlexe

以下示例在名为 server4 的计算机上为 PostgreSQL 地理数据库创建一个名为 esri_psql 的新 ArcSDE 服务。PostgreSQL 实例的名称为 postgresql-x64-9.0。

sdeservice -o create -d POSTGRESQL,postgresql-x64-9.0 
-i esri_psql -s server4

Please enter SDE DBA password:

Successfully created and registered esri_psql

请注意,在上述示例中,ArcSDE 管理员密码未包含在带有 -p 选项的命令中。如果忽略,系统将提示您提供密码。

以下示例创建一个指向名为 Oceans\GIS1 的命名实例的新 SQL Server ArcSDE 服务:

sdeservice -o create -d SQLSERVER,Oceans\GIS1 -p spatial.data 
-i esri_sde01 -H z:\arcgis\arcsde\sqlexe

上述语句中的实例名称可能已通过 -s 选项进行指定,因为对于 SQL Server 来说,实例名称和数据源是相同的。例如:

sdeservice -o create -d SQLSERVER -s Oceans\GIS1 
-p spatial.data -i esri_sde01 -H z:\arcgis\arcsde\sqlexe

注注:

假设您为其提供密码的 ArcSDE 管理员用户为 SDE。同时假设应用服务的数据库名称为 SDE。如果 ArcSDE 管理员用户不是 SDE(例如,在 SQL Server 中使用 DBO 方案时),必须使用 sdeservice -o register 将 SDE_DBA_USER 注册表项设置为 DBO 用户的登录名。如果数据库名称不是 SDE,必须使用 sdeservice -o register 命令将 ADMIN_DATABASE 注册键设置为您的数据库名称。

删除 ArcSDE 服务

删除操作可从 Windows 服务器中删除现有 ArcSDE 服务。

以下示例在 PostgreSQL 上删除 ArcSDE 服务:

sdeservice -o delete -i esri_pgs -d POSTGRESQL

显示服务信息

列表操作可显示所有 ArcSDE 服务或命令中指定的某个 ArcSDE 服务的服务信息。下面将为 miss 服务列出信息:

sdeservice –o list –i miss

SDE service Information
----------------------------------
RDBMS: SQLServer
Name: ArcSde Services(miss)
SDEHOME: C:\ArcGIS\ArcSDE\sqlexe
Datasource: MOOSE
Admin_database: gisdb
Version: 10.0.0
Status: SERVICE_RUNNING

提示提示:

如果服务名称是 esri_sde,则不需指定 -i 选项;只需输入 sdeservice -o list

向 Windows 注册表添加关键字

以下示例注册一个名为 Seamounts 的 ADMIN_DATABASE(带系统表的数据库):

sdeservice -o register -d SQLSERVER -r ADMIN_DATABASE 
-v Seamounts -i sde2 -p spatial.dat

修改注册表关键字

使用修改操作可修改现有 Windows 注册表关键字。以下示例会更改注册表中 SDEHOME 位置的设置:

sdeservice -o modify -r SDEHOME -p spatial.data 
-v c:\ArcSDE2\ora10gexe -d ORACLE,ORCL

从 Windows 注册表中移除关键字

取消注册操作可从 Windows 注册表中移除现有关键字。此处取消注册了在上一示例中添加的注册表关键字:

sdeservice -o unregister -r ADMIN_DATABASE -d SQLSERVER 
-i sde2 -p spatial.data

9/15/2013