使用GeoTools遇到的两个小问题:nvarchar类型字段无法识别,主键字段无法识别

问题一,无法识别nvarchar字段。

版本,2.7.4及以前。

问题描述:数据库中定义了nvarchar字段,但是GT没有识别。原因是2.7.4及其之前版本的Sqlserver扩展忽略了nvarchar类型,导致程序获得数据库字段时忽略该类型字段。这个问题已经被提交并且得到解决,具体见http://jira.codehaus.org/browse/GEOT-3609

解决方法:自己手动增加识别代码,见org.geotools.jdbc.SQLDialect.registerSqlTypeToClassMappings(Map<Integer, Class<?>>),或者下载新版本,2.7.5及以后的版本已经修正该问题。

 

问题二,无法识别主键字段。

版本,一切版本。

问题描述:数据库表中定义了主键,但是GT没有识别。严格的说这不是一个BUG,如果你仔细阅读GeoTools关于JDBC的说明,就会发现解决之道(可惜我不够仔细,我是通过查找代码发现的),见http://docs.geotools.org/stable/userguide/library/jdbc/datastore.html最下面。

解决方法:在连接参数中增加一个参数“Expose primary keys”,注意中间的空格,值为‘true’即可。也就是说,你可以选择是否将主键暴露出来,默认是不暴露。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值