Ric*_*alo 8 java postgresql postgis
我正在尝试将几何对象存储到我的postgist数据库中,该数据库有一个带有几何列的表.我从另一个带有几何列的表中获取了几何值,然后打印出我之前得到的值,这没关系.要存储几何值,我使用下一个函数:
static void insertaGeometria( Geometry geom, int idInstalacion) throws ClassNotFoundException, SQLException{
Connection congeom = conectarPGA();
String geomsql ="INSERT INTO georrepositorio.geometria(id, point) VALUES (?,?)";
PreparedStatement psSE= congeom.prepareStatement(geomsql);
psSE.setInt(1, idInstalacion);
psSE.setObject(2, geom);
psSE.execute();
psSE.close();
congeom.close();
}
Run Code Online (Sandbox Code Playgroud)
但我总是得到这个错误:
org.postgresql.util.PSQLException:无法推断用于org.postgis.Point实例的SQL类型.使用带有显式Types值的setObject()来指定要使用的类型.
有谁知道如何存储它?='(
提前致谢!
请参阅 Java客户端的手册.从这里我看到两个想法.尝试使用PGgeometry而不是Geometry类型geom.然后,将几何类型添加到连接congeom:
((org.postgresql.PGConnection)congeom).addDataType("geometry",Class.forName("org.postgis.PGgeometry"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6824 次 |
| 最近记录: |