操作方法

操作方法:创建属性规则以访问不同数据库中的要素类

Last Published: April 5, 2024

描述

属性规则当前设置为在特定地理数据库上运行。 在某些情况下,属性规则必须有权访问其他企业级地理数据库中的要素类。 当两个数据库位于同一实例上时,可以通过创建数据库视图并将其注册到地理数据库来完成此操作。 本文提供了工作流,允许用户在一个数据库中创建视图,引用位于另一个数据库中的数据。 请务必注意,创建这些视图的用户必须具有访问和查询其他数据库中的要素类所需的权限。

在本例中,我们尝试从 J_Database 访问 PHARMACIES_TAMALE 要素类,以用于在 TestingEnvironment 数据库中的要素类上创建属性规则。 两个数据库都位于 SQL Server 中。

解决方案或解决方法

  1. 打开 SQL Server Management Studio (SSMS) 并以数据库管理员或数据所有者身份进行连接。
  2. 在 SSMS 的功能区上,单击新建查询以打开查询窗口。

在 SQL Server Management Studio 中新建查询

  1. 在查询窗口中,编写以下表达式以创建视图以从 J_Database 访问 PHARMACIES_TAMALE 要素类。
Use <Active database>
GO
Create view <name of the view>
as
Select * from [Target Database].[Schema Owner].[Name of Feature Class]

根据数据库和表名定义查询

在此示例中:

    • J_Database 是包含正在访问的 PHARMACIES_TAMALE 要素类的数据库。
    • DataAdmin.vw_pharmacies_JDB 是视图的名称,而
    • TestingEnvironment 是活动数据库。
  1. 运行查询以创建数据库视图。接下来是在 ArcGIS Pro 中访问视图:
  2. 打开 ArcGIS Pro 工程。
  3. 如有必要,在目录窗格中,右键单击数据库,然后通过新建数据库连接连接到正在使用的数据库。
  4. 展开数据库并确认您创建的视图可用。

确认视图

  1. 将视图注册到地理数据库:
  2. 目录窗格的数据库中,右键单击视图,然后选择注册到地理数据库
  3. 注册到地理数据库地理处理工具窗格中,设置所需参数,然后运行工具。

在地理数据库中注册视图

视图已注册到地理数据库,现在可以在设置属性规则时使用 Arcade 和 $datastore 函数进行访问。

构建使用带有 $datastore 函数的视图的表达式

在本文中,我们探讨了如何在数据库中创建视图并在同一实例上引用来自另一个数据库的数据,以及将视注册到地理数据库。 随后,在创建用于分析的属性规则时,已注册的视图被用于构建 Arcade 表达式。 我们基于不同数据库中的要素类创建视图,然后将该视图注册到活动数据库。

在某些情况下,您尝试访问的要素类/表存储在不同的数据库实例或不同的数据存储 (Oracle/PostgreSQL) 中。 在这种情况下,必须创建数据库链接才能访问这些表。

文章 ID: 000032146

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项