不同存储类型之间的数据迁移

可以使用迁移存储地理处理工具、ArcSDE 管理命令、ArcObjects 或 ArcSDE API 将现有的二进制列、空间列或栅格列从一种存储类型迁移到另一种存储类型。为此,可以指定一个包含 ATTRBUTE_BINARY、GEOMETRY_STORAGE 或 RASTER_STORAGE 参数的配置关键字,并将参数设置为数据转换的目标存储类型。

正确创建关键字,并使关键字包含正确的参数和值,这一点非常重要。如果指定的关键字中包含不正确的信息或缺少必要的信息,将会从 DEFAULTS 关键字读取所需信息。因此,ESRI 建议您专门为迁移创建一个自定义关键字并确保其包含数据要迁移的目标存储类型的参数和值以及 UI_TEXT 参数。UI_TEXT 参数使关键字也可用于 ArcGIS 客户端。

提示提示:

要了解有关配置关键字和参数的详细信息,请参阅什么是 DBTUNE 配置关键字和参数?及其相关主题。

以下是数据库管理系统 (DBMS) 所支持的迁移路径:

DBMS

配置参数

迁移路径

Oracle

ATTRIBUTE_BINARY

从 LONG RAW 到 BLOB

GEOMETRY_STORAGE

从 LONG RAW (SDEBINARY) 到 BLOB (SDELOB)

从 LONG RAW 到 ST_GEOMETRY

从 BLOB 到 ST_GEOMETRY

从 SDO_GEOMETRY 到 ST_GEOMETRY

RASTER_STORAGE

从 LONG RAW 到 BLOB

从 LONG RAW 到 ST_RASTER*

从 BLOB 到 ST_RASTER*

PostgreSQL

RASTER_STORAGE

从 BYTEA 到 ST_RASTER*

SQL Server

RASTER_STORAGE

从 IMAGE 到 ST_RASTER*

GEOMETRY_STORAGE

从 SDEBINARY 到 GEOMETRY

从 SDEBINARY 到 GEOGRAPHY

从 OGCWKB 到 GEOMETRY

从 OGCWKB 到 GEOGRAPHY

*地理数据库中必须安装 ST_Raster。有关说明,请参阅在 Oracle 中安装 ST_Raster 类型在 PostgreSQL 中安装 ST_Raster 类型在 SQL Server 中安装 ST_Raster 类型

提示提示:

如果要迁移的表已注册为版本,则将该表迁移到其他存储类型时也将更新 Adds 表中的相应列。如果要素类启用了存档,也将更新存档表中的相应列。

迁移数据的原因

迁移数据的原因有以下两个:1) 能够使用结构化查询语言 (SQL) 访问空间数据或栅格数据;2) 从将来可能不受支持的数据类型迁移到受支持的数据类型。

SQL 访问

通过 SQL 访问地理数据库中的信息使得外部应用程序(不是在 ArcObjects 环境中开发的应用程序)可以使用地理数据库管理的表格数据。如果这些外部应用程序需要访问地理数据库中的空间数据或栅格数据,您必须将空间数据或栅格数据存储为允许 SQL 访问的数据类型。例如,ST_Raster 存储类型允许通过 SQL 访问栅格数据。如果将栅格数据存储在 BLOB、LONG RAW、IMAGE、BINARY 或 BYTEA 字段中,将无法轻松访问这些数据。

从将来版本可能不支持的数据类型迁移数据

Oracle 建议在其数据库中使用 BLOB 或 BFILE 数据类型,不建议使用 LONG RAW 数据类型。尽管目前仍支持 LONG RAW 列,但为了以防该数据类型将来不受支持,应将 Oracle 中当前 ArcSDE 地理数据库的 LONG RAW 类型属性、几何或栅格字段迁移到其他类型。

地理数据库中属性列、几何列和栅格列的存储分别由 DBTUNE 参数 ATTRIBUTE_BINARY、GEOMETRY_STORAGE 和 RASTER_STORAGE 控制。这些参数在 DBTUNE DEFAULTS 配置关键字下的默认值并不相同,具体取决于创建地理数据库时使用的 ArcGIS 的版本。下表显示了 Oracle 中 ArcSDE 地理数据库的 DBTUNE 表在 DEFAULTS 关键字下的默认设置。

参数

ArcGIS 9.3 及更高版本的默认设置

ArcGIS 9.2 的默认设置

ArcGIS 9.2 之前版本的默认设置

ATTRIBUTE_BINARY

BLOB

BLOB

LONG RAW

GEOMETRY_STORAGE

ST_GEOMETRY

LONG RAW (SDEBINARY)

LONG RAW (SDEBINARY)

RASTER_STORAGE

BLOB

LONG RAW

LONG RAW

注意注意:

在新安装的(未升级的)9.3 版本或更高版本地理数据库中使用默认参数设置创建的数据不使用 LONG RAW 存储类型。但是,将任意一个或全部参数设置为 LONG RAW 而创建的现有数据,或者升级的地理数据库中将全部参数均设置为 LONG RAW 而创建的新数据,仍将包含 LONG RAW 列。要更改这些列的数据类型,必须更改 DBTUNE 设置并迁移数据。

要更改 DBTUNE 设置,请使用 sdedbtune 命令向现有关键字添加参数,或者导出 DBTUNE 表的内容,对其进行更改,然后导入。有关使用 sdedbtune 命令的信息,请参阅《ArcSDE 管理命令参考》。

迁移的前提条件

转换数据之前必须满足以下条件:

迁移工具

有关如何迁移数据的信息,请参阅以下主题:

相关主题


3/7/2012