【问题标题】:Migrate from JavaDB to PostgreSQL and cant access database any longer从 JavaDB 迁移到 PostgreSQL,无法再访问数据库
【发布时间】:2010-12-28 16:59:32
【问题描述】:

我在 Glassfish v2 上(在 Mac OS 10.5.8 和 Java 1.6 上)有一个应用程序,它使用 Glassfish 捆绑包附带的 JavaDB 和 Toplinks。一切正常。

我已经安装了 PostgreSQL 8.4 和 JDBC v4 驱动程序。 Glassfish 和 Postgres 服务器都在 localhost 上运行。在 Netbeans 中,我在 Postgres 服务器上创建了一个到数据库的连接,它工作正常,我可以手动创建和删除表。

我为此与 Posgres 服务器的连接创建了一个连接池、资源和持久性单元。部署时出现以下错误:

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

我在 Postgres 8.4 中读到过,默认情况下接受 localhost 请求,所以我没有更改 postgres.conf 中的任何内容。

我错过了一些东西,但我看不到什么。 提前感谢您的任何提示。

馅饼

【问题讨论】:

    标签: postgresql jpa jdbc glassfish


    【解决方案1】:

    首先确保 MacOSX/GlassFish 确实使用指定的 Java 版本(测试:java -version)。然后尝试以下操作:

    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
    

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

    记得更改用户名密码服务器端口数据库 以反映您的设置。然后使用以下命令测试数据源:

    asadmin ping-connection-pool test-pool
    

    如果这不起作用,则说明您的数据源配置错误。

    【讨论】:

    • 第一句话没有意义。 JDBC4 需要 Java SE 6,而不是 Java EE 6。Java EE 5 可以在 Java SE 6 之上完美运行。这不是问题。
    • 谢谢。驱动程序实际上是正确的,但是直接在 JavaEE 服务器中创建 ConnectionPool 而不是通过 Netbeans 进行创建是可行的。我不确定我在 Netbeans 中通过向导设置 ConnectionPool 做错了什么,但至少问题得到了解决:o)
    • 修复了 JDBC 驱动程序版本部分,正如 BalusC 正确指出的那样。
    【解决方案2】:

    我不知道堆栈,但听起来您没有在连接中指定数据库名称。有关您可以/应该在连接上设置的参数列表,请参阅http://jdbc.postgresql.org/documentation/84/connect.html

    【讨论】:

    • 我认为连接没问题,因为我可以使用它手动访问数据库。它是这样定义的:
    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2011-07-16
    • 2016-11-02
    • 2019-06-09
    • 2016-09-04
    • 2017-06-19
    相关资源
    最近更新 更多