开发者

Migrate from JavaDB to PostgreSQL and cant access database any longer

开发者 https://www.devze.com 2022-12-14 17:34 出处:网络
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 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 MyC开发者_Python百科onnectionPool.  
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


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.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消