首页 / 浏览问题 / 桌面GIS / 问题详情
数据库型数据源建的库能进行sql查询吗
216EXP 2019年03月27日
在超图桌面端建立了一个数据库型数据源,用于存储矢量数据集及专题图。

问题1:数据库型数据源也是想普通的文件型数据源一样发布成为场景缓存服务和数据服务吗?

问题2:数据库型数据源如果能发布场景缓存服务和数据服务,那么数据库型数据源能当普通的关系型数据库使用吗(利用sql对数据库中的矢量数据集进行查询,供前端请求调用)?如果能像普通的关系型数据库一样进行sql查询,那么怎么去请求呢?有没有相关的接口???

1个回答

可以发布的;

数据库型数据源和文件型数据源是一样的。

您说的在数据库中查询SQL查询供前端使用是什么意思?前端可以直接进行SQL查询。

如果您在数据库中查询的话,查询出来的结果并不是以表的形式存在的,所以前端没办法直接调用。除非您将结果保存成表,再从前端调用
6,215EXP 2019年03月27日

1.“如果您在数据库中查询的话,查询出来的结果并不是以表的形式存在的,所以前端没办法直接调用。除非您将结果保存成表,再从前端调用”这句话的意思是在超图桌面端建立的数据库型数据源没有办法像普通的关系型数据库那样查询对吗?

下面是我建立的mysql数据库类型数据源:
2.我建立的mysql类型数据源发布场景缓存服务也需要和文件型的udb一样先切缓存吗?

3.我发布mysql类型数据源,但是没有mysql这个选项。

1.可以像其他数据库一样查询,但是没办法直接在前端调用。

2.数据库型工作空间发布三维场景的话也需要切缓存

3.iserver不支持发布mysql的工作空间,建议您换成文件型的

“1.可以像其他数据库一样查询,但是没办法直接在前端调用。”这里的“像其它数据库一样的查询”是指可以像其它关系型数据库表一样用sql查询(下图的这些自动生成的表怎么在Navicat中写sql语句查询呢)?还是指在超图桌面端加载,然后右键数据集查看属性表这样的操作。

可以像其它关系型数据库表一样用sql查询

我在桌面端建立了一个mysql数据库型工作空间,里面包含了一个mysql类型的数据源,数据源里面有一个CAD矢量数据集T11。

问题1:如果我用sql查询此数据集的属性表,怎么找到其对应的表(表名称)呢(手动查看属性是下面的这个表smdtv_1)?

问题2:数据库型工作空间对应的这些表,有没有相关的介绍文档?

问题3:不同数据库型的工作空间(mysql类型、SQL Server类型、Oracle类型、pgsql类型),生成的这些表名称一样吗?

如果您是新版本的9.1.1桌面,您可以在环境中进行设置。如图

如果您是旧版本的,您可以安装目录的Bin文件下找到Supermap.xml中的DTNameTableNameSame节点,将false修改为true

...