当前位置: 首页 > 知识库问答 >
问题:

GlassFishServer没有连接到SQL数据库(错误w. r. t.SQL驱动程序)

羊冠玉
2023-03-14

我正在使用一台全新的开发pc,需要测试一个在本地GlassFish服务器3.1上运行的个人应用程序。2,并应连接到名为“funkOneDB”的本地SQL数据库(我的IDE是NetBeans 7.2.1)。但我无法让GlassFish服务器与数据库连接,问题似乎与GlassFish服务器目录中的SQL驱动程序(位置)有关(几行中有更多问题细节)。

我相当肯定我在GlassFishServer上正确地设置了相关的JDBC资源和连接池(因为我模仿了一个已经存在的设置,并在另一台开发中的电脑上正常工作)。

资源细节是:

  • jndi名称:jdbc/FunkResource

(最重要的)泳池细节是:

  • 池名称:Funkpool
  • 资源类型:javax.sql.数据源
  • 数据源类名:com.mysql.jdbc.jdbc2.optional.MySQL
  • 附加属性对应于应用程序的XML GlassFishe-资源中的细节(用户名、密码、url等;没有问题)

我首先将必要的SQL驱动程序放在GlassFishServer的目录中,即文件mysql-connector-java-5.1.18-bin.jar...\GlassFish3\Glass \Domain1\lib\ext3.

然而,当我在Glassfish服务器上的JDBC池Funkpool执行ping测试时,我得到以下错误:

为FunkPool Ping连接池失败。WEB9031:WebappClassLoader无法加载资源[com.mysql.jdbc.SQLError],因为它尚未启动或已停止。请检查服务器。登录以了解更多详细信息。

在服务器中。日志I仅找到以下额外的日志异常和故障信息:

(i)异常,而创建一个unpooled[test]连接池[Funkpool],WEB9031:WebappClassLoader无法加载资源[com.mysql.jdbc.SQLError],因为它尚未启动,或已经停止

(ii)restResponse.get响应()给出了失败。endpoint='http://localhost:4848/management/domain/resources/ping-connection-pool.json'; attrs='{id=Funkpool}'

但是请注意,当我通过jdbc:mysql://localhost:33066/funkOneDB从我的IDE NetBeans ping数据库funkOneDB时,它是成功的。如前所述,我在这个基于IDE的ping中使用的凭据和其他数据与我在JDBC连接池中使用的数据相同。

我也在stackoverflow上搜索了一些问题。我确实发现有人在谈论它,比如

Glassfisch MySQL ping错误(任何人都没有回答),或

努力在Glassfish上创建MySQL连接池(尝试了该解决方案,即将SQL驱动程序放在..\Glassfish 3\Glassfish\domains\domain1\lib\中一级,但这会导致其他错误,即使在重新启动Glassfish服务器之后),或者

GlassFish未加载连接器(即使尝试了此解决方案,也没有成功)。

有人能帮我解决这个问题吗?非常感谢提前!

带着亲切的问候,

亨氏

共有3个答案

东门新立
2023-03-14

我对SQL server和Netbeans也有同样的问题。为了解决这个问题,我使用了sqljdbc。jar位于java目录“java\jdk1.8.0_121\lib目录”中,它可以工作:)

我刚刚花了10个小时在这个问题上。

漆雕嘉茂
2023-03-14

我的朋友,我也有同样的例外:

重新响应。getResponse()给出失败消息。endpointhttp://localhost:4848/management/domain/resources/ping-连接池。json';attrs='{id=FunkPool}'

我出错的原因是,我放错了凭据。在客户端DB App(例如SQLDeveloper)中检查凭据。

訾高飞
2023-03-14

mysql驱动程序放在项目的lib文件夹中。然后做一个清洁和建设。让netbean直接与数据库通信也很有帮助。这将允许您直接从IDE查看数据库结构和数据库内容。如需帮助将MySQL与netbean集成,请查看此处:netbeans.org/kb/docs/ide/mysql.html

 类似资料:
  • 我正在尝试在android应用程序中使用JDBC连接到SQL Server。我导入了sqljdbc4。jar进入我的应用程序,但当我 conn=驾驶员管理器。getConnection(连接字符串); 我得到下面的错误:连接字符串是 jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;加密=快速;用户=用户名;密码=密码; 谁能告诉我出了什么问题吗?如果我将相同的代码放入常

  • 我想从Linux实例使用TLS1.2连接到我的数据库实例,但我无法这样做。我使用以下配置: < Li > Java JDK:Amazon corretto open JDK版本:" 1.8.0_252" < li>JDBC驱动程序:Microsoft SQL server MSSQL-JDBC:8 . 2 . 2 . JRE 8 < li >连接字符串:JDBC:SQL server://[我的数

  • 2006年,我为Oracle连接编写了自己的JDBC连接池。我将集合存储在一个向量中,每天晚上我都实例化一个新的向量对象来初始化连接池: 连接=新向量(池大小); 因此,垃圾收集器删除了所有现有连接,Oracle删除了这些连接。 老实说,这是一个非常糟糕的解决方案,但它可以正常工作12年! 今年,我们将Oracle版本更新为12.2.0.1.0,我在我的高级程序中更新了Oracle JDBC驱动程

  • 应用程序属性 应用程序主程序 错误 启动ApplicationContext时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-03-03 17:42:47.183错误10344-[restartedMain]O.S.Boot.SpringApplication :应用程序运行失败 几乎每个站点/YouTube我都试过了,但问题还在。

  • 问题内容: 我正在尝试使用android应用中的JDBC连接到SQL Server。我将sqljdbc4.jar导入到我的应用程序中,但是当我进入 conn = DriverManager.getConnection(connString); 我得到以下错误:连接字符串是 jdbc:sqlserver://xxx.xxx.xxx.xxx:1433; encrypt = fasle; user =

  • 我下面的文档连接PHP到火鸟数据库。我在php.ini激活了分机 我在xampp上重新启动了apache,并复制粘贴了文档的代码以进行测试。当我运行代码时,我发现 我错过了什么? 环境: 使用PHP7.4的XAMPP 视窗10