java - 无法使用 JDBC 驱动程序连接到 PostgreSQL

标签 java mysql spring postgresql jdbc

我有我的 Spring MVC 应用程序。

dispatcher-servlet.xml

<bean id="dataSource"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://localhost:5432/dailyjob"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>

当我的应用程序尝试连接到数据库时,出现异常

Caused by: org.postgresql.util.PSQLException: ?????: ???????????? "root" ?? ?????? ???????? ??????????? (?? ??????) at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) at org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:136) at org.postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:29) at org.postgresql.jdbc3g.AbstractJdbc3gConnection.(AbstractJdbc3gConnection.java:21) at org.postgresql.jdbc4.AbstractJdbc4Connection.(AbstractJdbc4Connection.java:31) at org.postgresql.jdbc4.Jdbc4Connection.(Jdbc4Connection.java:24) at org.postgresql.Driver.makeConnection(Driver.java:393) at org.postgresql.Driver.connect(Driver.java:267) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:208) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:153) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ... 46 more

如果我尝试连接到 mysql

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://localhost/dailyjob"
p:username="root"
p:password="root" />

一切正常!

我的应用程序有两个(mysql 和 postgres)的 jdbc 驱动程序。

最佳答案

我之前也使用 postgresql 和 Java 我也面临同样的问题,
我解决了问题并找到了解决方案,
请您尝试将以下语句添加到 bean“dataSource”

<property name="defaultAutoCommit" value="false"/>

关于java - 无法使用 JDBC 驱动程序连接到 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25485434/

相关文章:

java - 删除 'Allow' 响应 header

java - 什么时候 CDI 注入(inject) POJO 应该起作用? ( Glassfish v3)

mysql - 如何在 MySQL 中将 BLOB 转换为文本?

java - 特定线程数

php - 大量空格进入数据库......(PHP,Mysql)

c# - 让 BLToolkit 与 MySQL 一起工作

java - 没有定义名为 'persistenceUnit' 的 bean

spring - 如何在 Spring MVC 应用程序中终止 Firebase 线程

java - 为 Karaf Jetty 中的特定上下文路径启用 SSL

java - Collections.sort 抛出 IllegalArgumentException