sdeservice 命令
sdeservice 管理工具在 Windows 平台上管理 ArcSDE 服务和注册表项。创建服务会增加 Windows 注册表项。
使用“修改”选项可修改现有注册表项,如 SDEHOME 或 SDE_DBA_PASSWORD。使用“注册”选项可注册默认情况下未提供的新条目,如 ADMIN_DATABASE。“取消注册”选项可从服务器注册表中移除条目。
删除操作会删除 ArcSDE 服务和所有相关注册表项。
使用语法
ArcSDE 管理命令行工具使用符合以下约定的 UNIX 风格的命令语法和标记:
- - <字母> 或 - <词>:指定命令选项,例如 -o、-a 或 -interleave
字母区分大小写,因此输入正确的大小写十分重要。
- 用大于号和小于号 (< >) 括起的文本:所需参数;用合适的值替换。
例如,-u <DB_user_name> 可替换为 -u mlogin。
- 竖线 ( | ):相互排斥的参数的列表;从列表中选择一个参数。
- 方括号 ([ ]):可选参数;如果未提供任何值,将使用默认值。
- 大括号 ({ }):括起用竖线符号分隔的选择列表
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 是可选的,用于标识本地或远程数据库的实例。
|
-h 或 -? | 使用任一选项可查看命令的语法。 如果从 C shell 运行命令,则使用 -h 或“-\?”。 |
-H | ArcSDE 主目录 (SDEHOME);仅在未设置 SDEHOME 变量或使用多个服务时需要此选项。 |
-i | ArcSDE 服务名称;在未使用默认值 esri_sde 的情况下需要此选项。 |
-n | 从依赖于 ArcSDE 的服务列表中排除数据库服务。 |
-N | 不执行任何验证;调用后立即开始操作 |
-o | 指定操作。 |
-p | 地理数据库管理员的 DBMS 密码 |
-P | ArcSDE 服务用户密码(Windows 服务登录账户密码) |
-r | 注册/取消注册/修改以下 Windows 注册表关键字:
|
-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