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

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

提示提示:

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

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

使用 sdedbtune 命令添加关键字或更改现有关键字和参数设置。ArcSDE 管理命令工具及文档可与 ArcSDE 应用程序服务器一同安装。

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

DBMS

配置参数

迁移路径

Oracle

ATTRIBUTE_BINARY

从 LONG RAW 到 BLOB

GEOMETRY_STORAGE

从 LONG RAW (SDEBINARY) 到 BLOB (SDELOB)

从 LONG RAW (SDEBINARY) 到 ST_GEOMETRY

从 BLOB (SDELOB) 到 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 表中的相应列。如果要素类启用了存档,也将更新存档表中的相应列。

迁移数据的原因

迁移数据的原因有以下两个:

使用 SQL 访问数据

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

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

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

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

从 ArcGIS 10.1 开始,在 SQL Server 的地理数据库中创建的要素类默认使用 Microsoft 几何类型。要将现有要素类移动到几何存储类型,请使用迁移存储地理处理工具或 Python 脚本。

迁移的前提条件

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

相关主题

5/10/2014