使用 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 命令直连到 Oracle 中的地理数据库 (geodatabase)

–s

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

–D

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

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

–u

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

–p

指定用户密码。

–N

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

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

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

注意注意:

通过迁移操作迁移 Oracle 数据库中的数据存储类型时,将在数据要复制到的数据库中创建一个新段。迁移完成后,元数据会重新指向新段,旧段将被删除。这意味着在迁移过程中的某一时刻会有两个数据副本。因此,数据库必须具有足够空间可存储这两个副本。

步骤:
  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