中文
漏洞编号 BUG-000096129
已提交 Apr 27, 2016
Modified Jul 31, 2020
严重性 High
应用于 ArcGIS GIS Server
找到的版本 10.4
程序语言 N/A
服务器平台 Windows 2008 R2
客户端平台 Windows 2008 R2
数据库 Oracle
区域设置 N/A
状态 Implemented
修正版本 10.5.0
SP 修复 10.5 Approved

漏洞 BUG-000096129

摘要

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."


附加信息

N/A


备用解决方案

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;