CÓMO
En el artículo anterior sobre la creación de reglas de atributos para acceder a clases de entidades en una base de datos diferente, hemos explorado la creación y el registro de una vista que accede a una clase de entidad en una geodatabase corporativa diferente en la misma instancia de SQL Server. Posteriormente, la vista se utilizó para crear una regla de atributos. Este artículo adopta un enfoque ligeramente diferente al crear la vista en una instancia separada de SQL Server. Esto es muy útil cuando no tiene los permisos necesarios para consultar la clase de entidad que desea usar en la creación de su regla de atributos.
En este ejemplo, utilizando Microsoft SQL Server, intentamos acceder a la clase de entidad FAVORITEFOODANDLOCALE propiedad de DataLabOwner almacenada en la base de datos geográficos DataLab en una instancia diferente, en la misma red. Para lograrlo, debemos crear un vínculo de base de datos para acceder a los datos de la instancia independiente.
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')
En este ejemplo, sqlDatabase es la base de datos activa en mi instancia y el nombre de la vista es vw_FavoriteFoodandLocale_LS1 con el propietario del esquema como DataAdmin. Se está pasando el método OPENQUERY para permitirnos ejecutar una consulta de paso a las tablas de acceso en el servidor vinculado [10.150.51.50].
La vista se registra en la base de datos geográficos y se puede acceder a ella mediante Arcade con la función $datastore al configurar una Regla de atributos, como se muestra en el ejemplo y la imagen siguientes.
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

Esta Regla de atributos rellena un campo (FnL) en una clase de rasgo poligonal (DATAADMIN.Counties) con el topónimo de una capa de vista (DATAADMIN.vw_FavoriteFoodandLocale_LS1) que se interseca, como se muestra en la imagen siguiente.

En este artículo, hemos explorado la creación de una vista en la base de datos SQL Server que hace referencia a una clase de entidad de otra base de datos en una instancia diferente de SQL Server. Hemos creado un servidor vinculado a la instancia de destino mientras nos conectábamos como propietarios de los datos, lo que nos dio permiso para acceder y consultar la capa en nuestra instancia activa.
Después de registrar la vista en la base de datos, pudimos hacer referencia a la vista a través de una expresión de Arcade al configurar una regla de atributos para generar información basada en los atributos de la clase de entidad en la otra instancia.
Id. de artículo: 000032575
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora