在SQL Server中无法看到数据库中的新数据

1903
6
跳到解决方案
05-24-2021上午11:35
LLCCG
通过
新贡献者III

请原谅我,我对我的工作和ArcGIS企业都是新手。

我有一个带有一些多边形的特征类。当我在ArcGIS Pro中右键单击图层并选择属性时,该窗口显示数据源是企业地理数据库特征类。它提供了服务器位置、实例(XYZ_Database)、名称(XYZ_Database. dbo . mylayer)和其他一些数据。

如果我打开Microsoft SQL Server Management Studio,我可以去数据库>XYZ_Database>表>DBO。我的图层,右键单击“选择前1000行”,我可以看到一些数据。在其中,objectid是有序有序的。然而,我只有45行,但是如果我在ArcGIS Pro中打开属性表,该层有97行(其中OBJECTID是顺序的,最多45行,但之后似乎是随机的)。

如果我在那个图层中添加一个新的多边形,它会同时出现在ArcGIS Pro的地图和属性表中。我可以在同一个数据库的网络地图上查看。然而,我不能在SQL Server中看到它。

另一方面,如果我回到MS SQL Server管理工作室,我打开“视图”而不是“表”,有一个dbo。MyLayer_evw包含所有97行。

如果我查看正在创建视图的查询,它会引用一些其他表,如dbo。SDE_states dbo。sde_state_linages,以及一些具有DBO格式的字母数字名称的表。a123和DBO.d123。SDE_states和sde_state_lineage看起来像是由ArcGIS创建的,但我不知道它们中的任何一个是做什么的。

有人能给我解释一下吗?或者至少给我指个方向?

0荣誉
1解决方案

接受的解决方案
ReeseFacendini
Esri贡献者

听起来好像特性类被注册为版本化的,它创建了该表的视图,以便让多人同时编辑。您所经历的是我们称之为A和D表中的编辑(添加和删除)没有被推回父表。运行压缩工具(链接在这里)将把这些编辑推回主表,下一次在SSMS中打开该表时,它将显示所有97条记录。

在原帖子中查看解决方案

6个回答
ReeseFacendini
Esri贡献者

听起来好像特性类被注册为版本化的,它创建了该表的视图,以便让多人同时编辑。您所经历的是我们称之为A和D表中的编辑(添加和删除)没有被推回父表。运行压缩工具(链接在这里)将把这些编辑推回主表,下一次在SSMS中打开该表时,它将显示所有97条记录。

LLCCG
通过
新贡献者III

好的,很酷。我试试,看看能不能修好。谢谢!

0荣誉
Todd_Metzler
通过
临时贡献者III

记住:

1.启用为FGDB的SQL Server DB的构造不同于“正常”的SQL DB。最好在ArcGIS平台环境中与EGDB交互,正如您所发现的,当使用另一个应用程序访问EGDB中的相同数据时,可能会产生混淆。

多亏了@ReeseFacendini为了这个职位。我最初认为,由于您在SSMS中访问了EGDB作为DBO,因此您可能通过使用SSMS而不是通过ArcGIS应用程序访问而损坏了EGDB。

0荣誉
LLCCG
通过
新贡献者III

我不需要通过SQL Server更改任何数据,我只需要能够与非gis部门共享它。GIS正在决定一个位置是否可用,而市场营销需要能够看到这个属性。有没有更好的方式来共享这些数据?从SQL Server中读取数据(而不是编辑数据)是否存在风险?

0荣誉
ReeseFacendini
Esri贡献者

从SQL Server工具而不是ArcGIS Desktop / Pro中查看数据没有风险。

0荣誉
Todd_Metzler
通过
临时贡献者III

同意@ReeseFacendini.只读访问没有风险。我们做你想做的事。我们的主EGDB被设置为允许我们的知识/业务工作者使用任何适合他们的方法,通过AD的OS认证进行连接/选择读访问。

0荣誉