我可以从SpatiaLite表创建SpatiaLite图层。但是,我想创建一个基于SpatiaLite视图的图层。我从“新建层”屏幕上单击“配置新的Sql视图”。然后我可以创建sql视图。但是,在基于SpatiaLite视图创建新图层之后,我无法获得针对SpatiaLite表的运行查询。如果我去到新创建的层,我点击“编辑SQL视图”,我在已知的工作SQL此SpatiaLite DB如键入:在GeoServer中为SpatiaLite创建视图
select * from lines
然后在属性,我点击“刷新”和它没有显示任何字段。另外,如果我点击“层预览”,选择图层,点击GML,我得到以下错误:
error:java.lang.RuntimeException: java.io.IOException java.lang.RuntimeException: java.io.IOException java.io.IOExceptionjava.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error) [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error)
不知怎的,它没有找到sqlite的表。任何帮助,将不胜感激。
更新#1
我发现这个在geoserver.log文件:
Could not find mapping for 'GEOMETRY', ignoring the column and setting the feature type read only
我认为这个问题更适合在gis.stackexchange.com – HimBromBeere
谢谢,我看了一下我在网上找到的所有信息,它看起来是GEOSERVER的SpatiaLite提供者的限制,因为它不允许创建自定义视图。 –