首页 / 浏览问题 / 组件GIS / 问题详情
DatasetVector.query 查询结果为null
sk
9EXP 2022年02月21日

使用产品:iserver 9i  操作系统:linux
问题重现步骤: 

this.recordset=((DatasetVector)this.dataSet).query(geometry,bufferDistance,where,CursorType.STATIC);

 查询数据集,但是返回结果为recordset = null,什么情况下会出现这种问题

2 个回答

两天了》》》》中终于找到问题了,是数据库权限的问题,supermap IDesktop 使用的数据库账号和项目的账号不同,实施在添加数据的时候都是生成的新表,项目账号没有权限,由于数据这块使用的方法都是native的方法,项目中没有异常,获取结果为null
sk
9EXP 2022年02月22日
1、你可以查看一下里面的每个对象是否存在异常?

2、如果不存在异常的话,你可以先在桌面中使用同样的参数,去对数据进行空间查询看一下是否存在结果?

注意:空间查询需要注意一点的是:数据集的坐标系和对象的坐标系要一致才能进行查询。比如,比如数据集坐标系如果是投影坐标系下的,但是geometry对象的坐标是经纬度下的坐标,这样查询是无效的。
4,620EXP 2022年02月21日
线上环境有这个问题,开始以为是数据的问题,把线上环境的数据拷贝到线下测试,也没有问题,只有线上的有问题,会不会是iObjects许可的问题,玩那个上也没找到怎么确定许可是否过期

坐标系都是投影坐标系,没有问题,找问题中排除了iobjects 许可过期问题,排除了数据问题,由于环境在客户现场,内网环境,没法连接测试,现在完全不知道该咋办了crying

...