操作方法

操作方法:在 SQL Server 中使用 SQL 将值插入企业级地理数据库版本化视图中的全局 ID 或 GUID 列中

Last Published: November 11, 2020

摘要

提供的说明介绍了如何在 Microsoft SQL Server 中使用结构化查询语言 (SQL) 将值插入企业级地理数据库版本化视图的全局 ID 或全局唯一标识符 (GUID) 列中。

过程

全局 ID 和 GUID 数据类型可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。 这些字符串用于唯一识别单个地理数据库中和跨多个地理数据库的要素或表行。 这是在单向和双向地理数据库复制中追踪要素以及在关系或者需要全局唯一标识符的任何应用程序中使用要素的方式。

在某关系中,如果“全局 ID”字段是原始键,则 GUID 字段必须为目标键。 通过右键单击某个要素类,然后单击“添加全局 ID”,即可将全局 ID 添加到该要素类。 地理数据库将自动保留这些值。 在 ArcCatalog 中创建 GUID 字段并保留其值。

在使用 SQL 将行插入包含“全局ID”列的版本化视图中时,需要为“全局 ID”列提供唯一 GUID 值。 如以下过程所述:

注: 有关全局 ID、GUID 和地理数据库复制的详细信息,请参阅“相关信息”部分中的 ArcGIS Desktop 帮助。
提供的示例特定于 Microsoft SQL Server;步骤类似于其他受支持的数据库。
  1. 将要素类注册为版本时,软件将自动创建版本化视图。 假设要素类“parcels”具有全局 ID 字段并注册为版本,请通过查看要素类属性来标识版本化视图。 版本化视图名称列在选项卡下方,如下图所示。
要素类属性的图像
  1. 打开 SQL Server 查询分析器,然后以具有编辑“parcels”要素类权限的用户身份进行登录。
  2. 创建新版本:
exec sde.create_version N'sde.default', N'parcels_42',2, 2, 'Parcels Version' -- parcels_42 是要创建的版本名称,“Parcels Version”是描述。
  1. 设置当前版本以进行编辑:
exec sde.set_current_version 'parcels_42'
  1. 启动编辑会话:
exec sde.edit_version 'parcels_42', 1
注: newid() 是 SQL Server 中用于创建新的唯一 GUID 的内置函数。
  1. 插入一条记录。
insert into sde.parcels_evw (parcel_id,Globalid) values (87701578, newid())
  1. 关闭编辑会话。
exec sde.edit_version 'parcels_42', 2

文章 ID:000009543

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容