I am using 10.2 ArcGIS and SOL Server 2008 R2. I have created a cross database spatial view in sql server using following syntax:
USE [pipelines] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [gis].[parcels_test] AS SELECT a.Shape, a.asmt as ASMT, meg_assor_rep.gis.megaview_ext.Owner, meg_assor_rep.gis.megaview_ext.StreetNum, meg_assor_rep.gis.megaview_ext.StreetDir, meg_assor_rep.gis.megaview_ext.Street, meg_assor_rep.gis.megaview_ext.StreetType, meg_assor_rep.gis.megaview_ext.SpaceApt, meg_assor_rep.gis.megaview_ext.Community, meg_assor_rep.gis.megaview_ext.Zip, meg_assor_rep.gis.megaview_ext.Mail1, meg_assor_rep.gis.megaview_ext.Mail2, meg_assor_rep.gis.megaview_ext.Mail3, meg_assor_rep.gis.megaview_ext.Mail4, meg_assor_rep.gis.megaview_ext.Acres, meg_assor_rep.gis.megaview_ext.LandUse1, meg_assor_rep.gis.megaview_ext.TRA, a.floor as Floor, a.OBJECTID, meg_assor_rep.gis.megaview_ext.Notes, meg_assor_rep.gis.megaview_ext.StreetAddr,a.Shape.STArea() as Prcl_Size_SqFt,meg_assor_rep.gis.landuse.Descr FROM pipelines.gis.prcl a INNER JOIN meg_assor_rep.gis.megaview_ext ON a.asmt = meg_assor_rep.gis.megaview_ext.Asmt LEFT OUTER JOIN meg_assor_rep.gis.landuse ON meg_assor_rep.gis.megaview_ext.LandUse1 = meg_assor_rep.gis.LandUse.LandUseCode GO view created successfully however, when i am trying to register it with sde using following command it is giving me invalid entity(29) error.
sdelayer -o register -l pipeline_test,SHAPE -e a -k Geometry -t Geometry -i sde:SQLSERVER:GISDATA -D pipelines -p *** -u gis This view includes a feature class of a parcel fabric dataset. The interesting fact is that when i am trying to register view created on different feature classes (other than parcel fabric) using above command its getting registered successfully.
So, Its most probably the issue with parcel fabric.
Is there any specific prerequisite to follow before creating view on a parcel fabric feature class?
sdelayer -o describe_longandsdelayer -o statsreport on the source layer? Do the inner or outer joins result in a one-to-many relationship? Yourregisteris missing some important flags.