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

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

ArcGIS Pro 中,您可以从数据库或地理数据库中复制表、要素类和视图(以下统称为表),并将其粘贴到另一个数据库或地理数据库中。

当您从某个位置复制表并将其粘贴至其他位置时,表中属性所使用的数据类型可能发生变化。 例如,如果从 Microsoft SQL Server 复制包含 UniqueIdentifier 字段的表,并将其粘贴至 PostgreSQL 数据库,则在 PostgreSQL 中创建的表中的字段将为 Varchar 字段。

同样,如果源表包含在目标表中不支持的属性,则这些属性将被删除。 例如,从企业级地理数据库复制包含 m 值的表并将其粘贴到不支持 m 值的数据库中时,将从在目标数据库中创建的表中删除 m 值。

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

  • ArcGIS 支持的数据类型

    在目标数据库或地理数据库的表中,不会创建任何无法映射到 ArcGIS 数据类型的列。

  • 一个空间参考

    如果源表定义了 ArcGIS 可识别的空间参考,则会为目标位置处的表使用相同的空间参考。 如果没有为源表定义空间参考,则 ArcGIS 会使用表中第一行的空间参考。 未使用该空间参考的要素将不会包含在目标位置的表中。 如果无法识别源表的空间参考(例如,如果使用了自定义空间参考),则目标表中使用的空间参考将取决于目标数据库管理系统。

    如果目标位置不支持所识别的源表空间参考,则粘贴操作将失败。

  • 一个空间列

    当表中包含超过一个空间列时,ArcGIS 将使用所遇到的第一个空间列;目标表中不会创建其他空间列。

  • 一种几何类型

    ArcGIS 会读取源表中第一个要素的几何类型(点、线、面或多点)。 仅与第一行的几何类型匹配的要素才会被粘贴到目标位置的表中。

  • 一个坐标设置

    ArcGIS 会读取源表中随第一个要素而存储的空间坐标属性(xy、xyz、xym、xyzm)。 在目标位置创建的表中的所有要素都将具有源表中第一个要素包含的坐标属性。 例如,如果源表中第一个要素具有 x,y 和 z 坐标但无 m 坐标,则源表中具有 m 坐标信息的所有要素在目标表中都没有 m 坐标。 同样,源表中任何仅有 x,y 坐标的要素在目标表中都将具有 x,y 和 z 坐标。 这些要素的 z 坐标将设置为 0。

    如果目标位置不支持坐标设置,则粘贴操作将失败。 例如,如果源表中的第一个要素存储 x、y、z 和 m 坐标,但目标位置不支持 z 和 m 坐标,则无法将数据复制到目标位置。

如果源表不满足这些要求,可以在复制数据之前按照下表所述准备数据:

源表包含控制目标中使用的内容

不支持的数据类型

如果可能,在源表上定义一个可将不受支持的数据类型转换为受支持数据类型的视图。 可以转换的内容取决于数据类型和数据库管理系统。

从数据源复制视图并将其粘贴到目标位置,从而创建包含 ArcGIS 支持的数据类型的表。

多个空间列

在源表上定义一个仅包含目标表中所需列的视图或查询图层。 仅包含一个空间列。

如果创建了视图,即可从数据源复制视图并将其粘贴至目标位置,以创建一个包含视图中所含空间列的表。

如果在源表上定义了查询图层,则可以从查询图层导出数据,以在目标数据库或企业级地理数据库中创建表。

多个几何类型

创建源表的查询图层并定义查询图层的几何类型(点、多点、线或面)。 从查询图层将数据导出至目标数据库或企业级地理数据库。 在目标位置创建的表中将仅包含与您为查询图层定义的几何类型匹配的要素。

多个坐标设置

要确保在目标表中保留所有坐标信息,请创建源表的查询图层并定义其空间属性以包含 m 和 z 值。 接下来,从查询图层将数据导出至目标数据库或企业级地理数据库中的表中。 在目标数据库或企业级数据库中创建的表中的所有要素都将使用您为查询图层定义的空间坐标设置。

您可以使用复制和粘贴菜单功能或复制地理处理工具在数据库和地理数据库之间复制数据。

以下步骤解释了如何在 ArcGIS Pro 中使用复制并粘贴菜单功能从一个数据库或企业级地理数据库复制表、要素类或视图,并将其粘贴至另一个数据库或企业级地理数据库:

  1. 连接到源和目标。
  2. 确保连接到数据源的用户具有访问数据的权限,并且连接到目标的用户具有足够的权限来创建表。
  3. 如有必要,请准备数据,使要移动的数据满足 ArcGIS 要求。
  4. 右键单击源数据库连接中的表、要素类或视图,然后单击复制
  5. 右键单击目录窗格中的目标数据库连接,然后单击粘贴

    目标数据库中数据的所有者是您在数据库连接文件中指定的登录帐户。

    注:

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

在目标数据库或企业级地理数据库中,将创建一个新表或要素类。