使用 ArcSDE 命令迁移栅格列

要更改栅格数据的存储类型,请使用 sdetable 命令的 migrate 操作。这将会使栅格块表 (sde_blk_<id>) block_data 列和栅格辅助表 (sde_aux_<id>) 对象列中的数据从 LONG RAW 数据存储转换为 BLOB,或者从 BLOB 转换为 Oracle 中的 ST_RASTER 或转换为 PostgreSQL 和 SQL Server 中的 ST_RASTER。语法如下:

sdetable –o migrate –l <table,raster_column> –k <config_keyword> 
[–i {<service> | <direct_connection>] [–s <server>] [–D <database>] 
–u <user> [–p <password>] [–N]

根据以下说明使用各选项:

选项

描述

–o

此选项指定要执行的操作,在本示例中为 migrate。

–l

使用此选项可指定包含待迁移栅格列的表名称。

–k

使用此选项可指定 DBTUNE 配置关键字,该关键字用于定义栅格目录将迁移到的栅格存储类型。指定的关键字必须包含设置为 BLOB(仅限 Oracle)或 ST_RASTER 的 RASTER_STORAGE 参数。

–i

提供直连语法,或者提供用于连接到地理数据库的 ArcSDE 服务的端口号或名称。

请参阅通过 ArcSDE 命令直连到 SQL Server 中的地理数据库 (geodatabase)

–s

指定数据库所在的服务器的名称。

–D

指定数据库或数据源的名称。

此选项不适用于 Oracle 数据库。

–u

指定要素类所有者登录数据库使用的用户名。

–p

指定用户密码。

–N

如果要禁止显示要求用户确认操作的提示,则指定此选项。

使用 sdetable 命令的 migrate 操作时,如果以下任一情况为真,则将显示一条错误消息:

使用 sdelayer 命令的 migrate 操作时,如果以下任一情况为真,则将显示一条错误消息:

步骤:
  1. 对要迁移的数据创建备份。

    对要迁移的数据创建备份副本,可以确保在迁移因任何原因失败后,您仍然具有一份原始数据。

  2. 打开 DOS 命令提示符 (Windows) 或 shell 命令提示符(UNIX 或 Linux)。
  3. 执行 sdetable 命令的 migrate 操作。例如:
    sdetable –o migrate –l watershed,raster –k ST_RASTER 
    –i sde:sqlserver:mainserver\ssdb –s mainserver –D mydb –u bjar 
    –p mine.all.mine

    务必指定一个包含 RASTER_STORAGE 值(数据将转换为该值)的配置关键字。


3/7/2012