0

我在 tomcat7 上实现连接池时遇到问题。出于某种原因,tomcat 试图连接我的机器用户名。我已经用谷歌搜索了一段时间,但没有运气。

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory 
(FATAL: role "caspinol" does not exist)
Cant connect to db
Log In failed: An Exception has occurred! java.lang.NullPointerException
java.lang.NullPointerException
 at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)...

我的 context.xml 如下所示:

<Resource auth="Container" name="jdbc/postgres" type="javax.sql.DataSource" user="biller" password="biller" 
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432" maxActive="150"
            schema="biller" maxIdle="4"/>

和 web.xml:

<resource-ref>
    <description>postgreSQL Datasource</description>
    <res-ref-name>jdbc/postgres</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

我正在使用 jdbc4.jar postgres 驱动程序。如果有人可以查看并指出错误是什么,我将不胜感激

提前致谢

4

2 回答 2

0

网址似乎是错误的。试试这个网址:

jdbc:postgresql://localhost:5432/<db_name>

将 替换为<db_name>实际的数据库名称。

于 2012-04-26T06:26:05.043 回答
0

这不是该问题的正确解决方案,但可以帮助使用正确连接字符串搜索相同问题的人。

检查您的网络连接访问:像连接字符串

jdbc:postgresql://[::1]:5432/<db_name>

uses IPv6, This will break other connections like accessing wsdl urls from application that are available only via IPv4. Please hava a look on network connection especially windows 8.

于 2014-04-16T04:16:08.727 回答