又说oracle spatial 将Geometry转为gml

在我的上一篇博文中介绍了Oracle spatial 将Geometry转换为gml字符串(http://www.cnblogs.com/likehua/archive/2012/10/18/2730172.html),里面主要用了三个函数get_wkt()、sdo_util.TO_GMLGEOMETRY()和to_char()。其实这三个函数都没有问题,就像上一篇博文测试一样。但是如果这个Geometry特别大(也就是它的点特别多)这时to_char函数就会报错。因为get_wkt()和to_gmlgeometry()函数返回结果都是clob类型,而to_char转为字符型,如果数据庞大就会出错。就像我今天遇到的问题一样:threw a java.sql.SQLException: ORA-22835: 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小 (实际: 24453, 最大: 4000)。所以解决这样的问题还是用java老老实实将clob转为string类型的数据以供openlayers使用。

欢迎交流指正!转载请说明出处:http://www.cnblogs.com/likehua/archive/2012/10/20/2732161.html

你可能感兴趣的:(oracle)