You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Jean-Pierre Pelletier <pe...@sympatico.ca> on 2005/05/06 15:48:21 UTC
[commons-dbcp] BasicDataSource.getConnection(username, password) fails where setUsername(u), setPassword() succeed
Hi, I am new to this list but I'll try to describe this clearly.
I had an tomcat application running fine with a single user name & password specified
in server.xml.
It now needs the user name and password to be specified at run time, so I
removed the user name and password from server.xml and change my connection code
to use DataSource.getConnection(username, password) instead of DataSource.getConnection().
final InitialContext ctx = new InitialContext();
final DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/claimDatasource");
final Connection connection = ds.getConnection("postgres","mypassword");
this throwed PSQLException Connection rejected: FATAL: no postgreSQL user name specified
Then I tried coding to class BasicDataSource using other methods not part of the
DataSource interface:
final InitialContext ctx = new InitialContext();
final BasicDataSource ds = (BasicDataSource) ctx.lookup("java:comp/env/jdbc/claimDatasource");
ds.setUsername("postgres");
ds.setPassword("mypassword");
final Connection connection = ds.getConnection();
This worked fine, but I prefer to use a standard interface method DataSource.getConnection(u,p)
rather than non standard class methods BasicDataSource.setUsername(u) and .setPassword(p).
Is this a bug or am I doing something wrong?
My environment is:
- Windows XP Home Edition with Service Pack 2
- PostgreSQL 8.0.1
- JDBC PostgreSQL 8.0 JDBC 3 Build 311
- commons-dbcp 1.2.1 (bundled with Tomcat 5.0.27)
- sun java 1.4.2_05
Thanks
Jean-Pierre Pelletier