【发布时间】:2013-06-09 23:39:14
【问题描述】:
我正在使用全新的正在开发的 PC,需要测试在本地 GlassFish 服务器 3.1.2 上运行的个人应用程序,并且应该连接名为“funkOneDB”的本地 SQL 数据库(我的 IDE 是 NetBeans 7.2.1)。但是我无法让 GlassFish 服务器与数据库连接,并且问题似乎与 GlassFish 服务器目录中的 SQL 驱动程序(位置)有关(几行中的更多问题细节)。
我相当肯定我在 GlassFish 服务器上正确设置了相关的 JDBC 资源和连接池(因为我模仿了已经存在的设置并且在另一台正在开发的 PC 上正常工作)。
资源细节是:
- jndi 名称:jdbc/FunkResource
- 池名称:FunkPool
(最重要的)池细节是:
- 池名称:FunkPool
- 资源类型:javax.sql.Datasource
- 数据源类名:com.mysql.jdbc.jdbc2.optional.MysqlDataSource
- 其他属性对应于应用程序的 XML GlassFish 资源中的细节(用户名、密码、url 等;没有问题)
我首先将必要的 SQL 驱动程序放在 GlassFish Server 的目录中,即 ..\GlassFish3\GlassFish\domains\domain1\lib\ext 中的文件 mysql-connector-java-5.1.18-bin.jar。
然而,当我从 GlassFish 服务器上的 JDBC 池“FunkPool”执行 ping 测试时,我收到以下错误:
FunkPool 的 Ping 连接池失败。 WEB9031:WebappClassLoader 无法加载资源 [com.mysql.jdbc.SQLError],因为它尚未启动,或已停止。请查看 server.log 了解更多详细信息。
在 server.log 中,我只找到以下额外的日志记录异常和失败信息:
(i) 为池 [FunkPool] 创建非池化 [test] 连接时出现异常,WEB9031:WebappClassLoader 无法加载资源 [com.mysql.jdbc.SQLError],因为它尚未启动,或者已经停止了
(ii) RestResponse.getResponse() 失败。端点 = 'http://localhost:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=FunkPool}'
但是请注意,当我从我的 IDE NetBeans 通过jdbc:mysql://localhost:33066/funkOneDB ping 数据库 funkOneDB 时,它是成功的。如前所述,我用于此基于 IDE 的 ping 的凭据和其他数据与我在 JDBC 连接池中使用的数据相同。
我也在stackoverflow上搜索了一些问题。我确实发现有些人在谈论它,比如
Glassfisch MySQL ping ERROR(没有人回答),或者
Struggling to create MySQL Connection Pool on Glassfish(尝试了该解决方案,即将 SQL 驱动程序放在 ..\GlassFish3\GlassFish\domains\domain1\lib\ 中,但这会产生其他错误,即使在重新启动 Glassfish 服务器后也是如此),或
GlassFish not loading connector (甚至尝试过这个解决方案,没有成功)。
有人可以帮我解决这个问题吗?提前谢谢了!
致以诚挚的问候,
亨氏
【问题讨论】:
标签: java sql netbeans glassfish connection