Tart
Tart

Reputation: 13

Migrate from JavaDB to PostgreSQL and cant access database any longer

I have an application on Glassfish v2 ( on Mac OS 10.5.8 and Java 1.6 ) that uses JavaDB and Toplinks that comes with the Glassfish bundle. Everything works fine.

I have installed PostgreSQL 8.4 and the JDBC v4 driver. Both Glassfish and Postgres server run on localhost. From Netbeans, I create a connection to a database on the Postgres server, and it works fine, I can manually create and delete tables.

I create a connection pool, resource and persistence unit for this connection to the Posgres server. When I deploy I have the following error :

ADM1041:Sent the event to instance:
    [ResourceDeployEvent -- reference-added jdbc/jdbc/MyDatasource]
CORE5004: Resource Deployed: [jdbc:jdbc/MyDatasource].
TopLink, version: Oracle TopLink Essentials - 2.1 (Build b60e-fcs (12/23/2008))
Server: unknown
RAR5038:Unexpected exception while creating resource for pool MyConnectionPool.  
Exception : Connection could not be allocated because: 
    FATAL: database "null" does not exist

I read that with Postgres 8.4, localhost request are accepted by default, so I haven't changed anything in postgres.conf.

I am missing something, but I cant see what. Thanks in advance for any hint.

Tart

Upvotes: 1

Views: 1831

Answers (2)

Lars Tackmann
Lars Tackmann

Reputation: 20865

First ensure that MacOSX/GlassFish really uses the specified Java version (test with: java -version). Then try the following:

asadmin create-jdbc-connection-pool 
   --datasourceclassname org.postgresql.ds.PGSimpleDataSource 
   --restype javax.sql.DataSource --property portNumber=5432:password=secret:user=postgres:serverName=localhost:databaseName=postgres 
   test-pool

and

asadmin create-jdbc-resource --connectionpoolid test-pool jdbc/Postgres

remember to change the username, password, server, port and database to reflect your setup. Then test the datasource using:

asadmin ping-connection-pool test-pool

if this does not work then you have miss-configured your data source.

Upvotes: 2

Magnus Hagander
Magnus Hagander

Reputation: 25138

I don't know the stack, but it sounds like you haven't specified the database name in the connection. See http://jdbc.postgresql.org/documentation/84/connect.html for a list of parameters you can/should set on the connection.

Upvotes: 0

Related Questions