HOW TO
Im vorherigen Artikel zum Erstellen von Attributregeln für den Zugriff auf Feature-Classes in einer anderen Datenbank haben wir uns mit der Erstellung und Registrierung einer Sicht befasst, die auf eine Feature-Class in einer anderen Enterprise-Geodatabase auf derselben SQL Server-Instanz zugreift. Die Sicht wurde anschließend beim Erstellen einer Attributregel verwendet. In diesem Artikel wird ein geringfügig anderer Ansatz verfolgt, indem die Sicht auf einer separaten SQL Server-Instanz erstellt wird. Dies ist insbesondere dann nützlich, wenn Sie nicht die erforderlichen Berechtigungen haben, um die Feature-Class abzufragen, die Sie beim Erstellen der Attributregel verwenden möchten.
In diesem Beispiel versuchen wir mit Microsoft SQL Server auf die Feature-Class FAVORITEFOODANDLOCALE im Besitz von DataLabOwner zuzugreifen, die in der Geodatabase DataLab auf einer anderen Instanz im selben Netzwerk gespeichert ist. Dazu müssen wir eine Datenbankverknüpfung erstellen, um auf die Daten der separaten Instanz zugreifen zu können.
Use sqlDatabase
Go
Create view DataAdmin.vw_FavoriteFoodandLocale_LS1
as
Select *
from
OPENQUERY([10.150.51.50],
'Select
OBJECTID,
Place,
Item,
IsBeverage,
State,
Shape,
GlobalID,
GDB_GEOMATTR_DATA
From DataLab.DataLabOwner.FAVORITEFOODANDLOCALE')
In diesem Beispiel ist sqlDatabase die aktive Datenbank in der eigenen Instanz, und der Name der Sicht lautet vw_FavoriteFoodandLocale_LS1 mit dem Schemabesitzer DataAdmin. Die OPENQUERY-Methode wird übergeben, um eine Passthrough-Abfrage für den Zugriff auf Tabellen auf dem Verbindungserver [10.150.51.50] zu ermöglichen.
Die Sicht ist in der Geodatabase registriert und kann über Arcade mit der $datastore-Funktion beim Einrichten einer Attributregel aufgerufen werden, wie im Beispiel und in der Abbildung unten gezeigt.
var fnl = FeatureSetByName
($datastore,"DATAADMIN.vw_FavoriteFoodandLocale_LS1, ["Place"])
var ffnl = Intersects(fnl, $feature)
var F = First(ffnl)
//var NPharma = NearestCoordinate(Fpharma, $feature)
if (F == null) return {"errorMessage: "Outside the county"}
return F.Place

Diese Attributregel füllt ein Feld (FnL) in einer Polygon-Feature-Class (DATAADMIN.Counties) mit dem Ortsnamen eines überschneidenden Sicht-Layers (DATAADMIN.vw_FavoriteFoodandLocale_LS1), wie in der nächsten Abbildung gezeigt.

In diesem Artikel haben wir uns mit dem Erstellen einer Sicht in einer SQL Server-Datenbank befasst, die eine Feature-Class aus einer anderen Datenbank in einer anderen SQL Server-Instanz referenziert. Wir haben einen Verbindungsserver für die Zielinstanz erstellt, während wir die Verbindung als Datenbesitzer hergestellt haben. Auf diese Weise waren wir berechtigt, auf den Layer in der aktiven Instanz zuzugreifen und diesen abzufragen.
Nach dem Registrieren der Sicht in der Datenbank konnten wir beim Einrichten einer Attributregel zur Generierung von Informationen auf der Grundlage der Attribute in der Feature-Class in einer anderen Instanz über einen Arcade-Ausdruck auf die Sicht verweisen.
Artikel-ID: 000032575
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten