在 ArcGIS 中的数据库之间复制和粘贴数据

在 Standard 或 Advanced 许可等级下可用。

可以通过 ArcGIS Pro 复制数据库中的数据,并将其粘贴至另一个数据库或企业级地理数据库中。

将数据从一个数据库类型移动到另一个数据库类型时,可能会改变表中属性所用的数据类型。例如,如果从 Microsoft SQL Server 复制包含 UniqueIdentifier 字段的表,则将其粘贴到 PostgreSQL 数据库时,该字段将变为 Varchar 字段。

请注意,ArcGIS 无法粘贴其不支持的数据类型或定义。这意味着粘贴至数据库中的表或要素类将包含以下内容:

  • ArcGIS 支持的数据类型

    任何无法映射到 ArcGIS 数据类型的列都不会在目标数据库的要素类中创建。

  • 一个空间列

    对于要素类,ArcGIS 会使用其遇到的第一个空间列;不会在目标要素类中创建第二个空间列。如果要使用第二个空间列,则需要在只包含第二个空间列的源表上定义视图或查询图层。如果要创建视图,可从源数据库中复制视图,然后将其作为要素类粘贴至目标数据库中。如果要定义查询图层,可将数据从查询图层导出到目标数据库的新要素类中。

  • 一种几何类型

    ArcGIS 会读取源要素类中第一个要素的几何类型(点、线、面或多点)。只有与第一行几何类型相匹配的要素才会被粘贴至目标数据库的要素类中。如果源要素类包含多个几何类型,且您希望控制在目标要素类中使用的几何类型,请创建源要素类的查询图层并定义查询图层的几何类型。然后,将数据从查询图层导出到目标数据库的要素类中。在目标数据库中创建的要素类将仅包含与为查询图层定义的几何类型相匹配的要素。

  • 一个坐标设置

    ArcGIS 会读取源要素类中随第一个要素而存储的空间坐标属性(xy、xyz、xym、xyzm)。要素类中粘贴至目标数据库的要素均具有坐标属性。例如,如果源要素类中第一个要素具有 x,y 和 z 坐标但无 m 坐标,则源要素类中具有 m 坐标信息的所有要素在目标要素类中都不会具有 m 坐标。同样,源要素类中仅有 x,y 坐标的任何要素在目标要素类中将具有 x,y 和 z 坐标(z 坐标被设置为 0)。

    要确保在目标要素类中保留所有坐标信息,请创建源要素类的查询图层并定义其空间属性以包含 m 和 z 值。然后,从查询图层中将数据导出到目标数据库的要素类中。要素类中于目标数据库中创建的所有要素都将使用您为查询图层定义的空间坐标设置。

  • 一个空间参考

    如果源要素类具有 ArcGIS 可识别的已定义空间参考,则目标数据库中的要素类将使用相同的空间参考。如果没有为要素类定义空间参考,ArcGIS 则会使用位于表中第一行的空间参考。不会在目标数据库的要素类中创建与该空间参考不匹配的记录。然而,如果无法识别要素类或第一行的空间参考(例如,当使用自定义空间参考时),则目标要素类中使用的空间参考将取决于您的数据库管理系统。

以下步骤说明了如何在数据库之间或在地理数据库和数据库之间通过复制和粘贴移动表、要素类或视图。

  1. 连接到源数据库和目标数据库。
  2. 确保连接到源数据库的用户具有访问源数据库中数据的权限,并且连接到目标数据库的用户具有足够的权限来创建表。
  3. 如有必要,请准备要移动的数据。
    • 要移动包含具有不同维数、几何类型或空间参考的记录的要素类,可将表拖动到地图上并通过选择维数、几何类型或空间参考修改生成的查询图层。要将数据移动到目标数据库,请导出查询图层。(不能复制和粘贴查询图层。)
    • 如果要素类有多个空间列,则需创建数据库视图(所创建的数据库视图仅包含其中一个空间列),然后继续其余步骤以复制和粘贴视图。
  4. 右键单击源数据库中的表、要素类或视图,然后单击复制
  5. 右键单击目录窗格中的目标数据库,然后单击粘贴

    目标数据库中数据的所有者是您连接数据库时使用的登录帐户。

    注:

    要将数据粘贴到 PostgreSQLSQL Server 数据库中,连接到目标数据库的用户必须具有名称与数据库用户名相同的方案。

新的表或要素类即在目标数据库中创建。