六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 908|回复: 0

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

[复制链接]

升级  16%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
8
 楼主| 发表于 2013-1-6 06:54:47 | 显示全部楼层 |阅读模式
使用GeoTools遇到的两个小问题:nvarchar类型字段无法识别,主键字段无法识别

<div class="postbody"><div id="cnblogs_post_body">问题一,无法识别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’即可。也就是说,你可以选择是否将主键暴露出来,默认是不暴露。

特此记录。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表