English
Bug Number BUG-000096129
Submitted Apr 27, 2016
Modified Jul 31, 2020
Severity High
Applies To ArcGIS GIS Server
Version Found 10.4
Prog Language N/A
Server Platform Windows 2008 R2
Client Platform Windows 2008 R2
Database Oracle
Locale N/A
Status Implemented
Version Fixed 10.5.0
SP Fixed 10.5 Approved

Bug BUG-000096129

Synopsis

When publishing a map service containing a XY event layer that is created from an enterprise geodatabase table, the layer fails to publish and results in this error: "Error 001487: Failed to update the published service with the server-side data location."


Additional Information

N/A


Alternate Solution

SQL Server work around:


Instead of using the XY event layer, construct a geometry or geography field based on the X and Y data in the database, and create a query layer using the new table.


Oracle work around:


--Create function to return the XY data as SDO shape (REQUIRED)

create or replace function get_long_lat_pt(longitude in number,

latitude in number,

srid in number)

return SDO_GEOMETRY deterministic is

begin

return sdo_geometry(2001, srid,

sdo_point_type(longitude, latitude, NULL),NULL, NULL);

end;

/


--Create sample data

create table xy (x number(38), y number(38), oid number(10));


insert into xy values (1,1,1);

insert into xy values (2,2,2);

insert into xy values (3,3,3);

insert into xy values (4,4,4);



--Enter the geographic metadata info

insert into user_sdo_geom_metadata values('XY',

'sde.get_long_lat_pt(x,y,4326)',

sdo_dim_array(

sdo_dim_element('Longitude', -180, 180, 0.005),

sdo_dim_element('Latitude', -90, 90, 0.005)), 4326);


--Create Function Based Index to work around ArcMap limitation of Spatial Index requirement

create index xy_spidx on

xy(get_long_lat_pt(x,y,4326))

indextype is mdsys.spatial_index;



--Query Layer:

select get_long_lat_pt(x,y,4326) as shape, oid from xy;