我安装了最新的PostgreSQL版本:9.6
我使用的是postgresql驱动版本9.4-1206-jdbc42 - 我无法在maven资源库中找到更新版本。
当我尝试连接时,我得到一个例外:
[{
type: 'line',
name: 'AssaultCrimeTheme',
data: [3, 2, 1, 3, 4]
}, {
type: 'line',
name: 'BurglaryCrimeTheme',
data: [2, 3, 5, 7, 6]
}, {
type: 'column',
name: 'AssaultCrimeTheme',
data: [3, 2, 1, 3, 4]
}, {
type: 'column',
name: 'BurglaryCrimeTheme',
data: [2, 3, 5, 7, 6]
},]
应用程序部署在OSGi容器中,数据源使用PAX配置文件配置:
-(void)mapView:(NMAMapView *)mapView didSelectObjects:(NSArray *)objects
{
for (int j=0; j<[objects count]; j++) {
if ([[objects objectAtIndex:j] isKindOfClass:[NMAMapRoute class]]) {
NSLog(@"NMAMapRoute:");
}
}
}
这里有什么问题?这是驱动程序版本和数据库安装之间的不兼容吗?我应该降级吗?
数据库使用UTF-8编码。
在独立的Java应用程序中,以下代码成功:
Caused by: java.io.IOException: Ungültige UTF-8-Sequenz: das erste Byte ist 10xxxxxx: 179
at org.postgresql.core.UTF8Encoding.decode(UTF8Encoding.java:98)
at org.postgresql.core.PGStream.ReceiveString(PGStream.java:327)
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:424)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:203)
... 49 more
所以它看起来更像是PAX问题......
答案 0 :(得分:1)
实际问题出在其他地方。在pg_hba.conf中将授权方法从'md5'更改为'trust'后,我收到了真正的错误消息:无法找到角色“test”。
PAX已将尾随空格附加到用户名,这很容易监控,PostgreSQL驱动程序无法解码来自服务器的错误消息。