无法使用Glassfish3上的JDBC连接到数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用Glassfish3上的JDBC连接到数据库相关的知识,希望对你有一定的参考价值。

有没有办法检查我的Glassfish是否正常看到ojdbc6.jar?

我正在使用Netbeans 7.2.1,使用JSF 2,Glassfish 3.1.2和Oracle 11g。我想连接到这个数据库。

首先,我需要在Glassfish中创建连接池。我打开localhost:4848设置5件事:

  1. 资源类型:javax.sql.DataSource
  2. 数据源的类名:oracle.jdbc.pool.OracleDataSource
  3. 财产:“用户”
  4. 财产:“密码”
  5. 财产:“网址”

保存,重置服务器(只是肯定),ping ....和错误:类名错误或类路径未设置为:oracle.jdbc.pool.OracleDataSource

我做了什么:

  1. 首先检查ojdbc罐子。从我的Oracle目录中,我将名称中包含“ojdbc”的每个jar复制到“C: glassfish3 glassfish domains domain1 lib”中。
  2. 其次,检查网址的正确性。在Netbeans内部,切换到Services选项卡,右键单击Databases,New connection ...设置数据连接(首先我必须添加,jodbc6.jar ..所以我添加完全相同的文件 - 来自glassfish文件夹)。有用!连接还可以。我查看了Netbeans数据库URL - 与我在glassfish gui中的url相同。我也用来试过网址,但它没有帮助。

那么,还有什么呢?也许1号不行。所以这是我的问题:如何检查我的Glassfish是否正常看到ojdbc6.jar?

编辑。当我运行Glassfish时,我收到一些警告:

警告:存在多个[2] JMX MBeanServer实例,我们将使用索引[0]处的服务器:[com.sun.enterprise.v3.admin.DynamicInterceptor@704d54]。

警告:正在使用的JMX MBeanServer:索引[0]中的[com.sun.enterprise.v3.admin.DynamicInterceptor@704d54]

警告:正在使用的JMX MBeanServer:索引[1]中的[com.sun.jmx.mbeanserver.JmxMBeanServer@ed312d]

答案

将所有必需的jar文件(ojdbc6.jar .....)复制到'domains domain1 lib ext'文件夹。然后重启你的玻璃鱼。然后尝试从glassfish ping,它会工作

另一答案

“..但你怎么知道它是'ext'文件夹?而不只是'lib'?一个人说lib,其他分机......”

使JDBC驱动程序JAR文件可访问要将JDBC驱动程序集成到GlassFish Server域中,请将JAR文件复制到domain-dir / lib目录中,然后重新启动服务器。这使得可以访问部署在共享相同配置的服务器上的所有应用程序或模块的类。有关GlassFish Server类加载器的更多信息,请参阅“GlassFish Server开源版应用程序开发指南”中的“类加载器”。如果您正在使用带有EclipseLink扩展的Oracle数据库,请将JAR文件复制到domain-dir / lib / ext目录中,然后重新启动服务器。有关详细信息,请参阅“GlassFish Server开源版应用程序开发指南”中的“Oracle数据库增强功能”

From here

另一答案

请注意,当NetBeans在Windows上运行glassfish时,它使用的“域”目录位于您的主目录中,而不是在C:glassfishC:Program Filesglassfish

在我的Windows 7上运行带有Glassfish 4.1的NetBeans 8.0.2,我不得不将Oracle驱动程序jar(ojdbc6.jar)放入

c:/Users/t823517/AppData/Roaming/NetBeans/8.0.2/config/GF_4.1/domain1
另一答案

如果您从IDE运行glassfish,可能是netbeans创建虚拟应用程序。试试这种添加罐子的方式:http://netbeans.org/kb/docs/javaee/entappclient.html

另一答案

将ojdbc6-11.1.0.jar(ojdbc6版本可能与您的情况不同)复制到glassfish_installation glassfish lib

重启glassfish服务器

另一答案

对于payara服务器我将ojdbc jar复制到{payara_installation_folder} glassfish lib,它的工作正常

以上是关于无法使用Glassfish3上的JDBC连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 JDBC 连接到远程 oracle 数据库

测试所有建议的解决方案时无法连接到 jdbc

无法使用 JDBC 连接到 docker 中的本地 MySQL

android中的jdbc问题 - 无法连接到数据库

无法使用 jdbc 和 spark 连接器从 databricks 集群连接到 Azure 数据库 for MySQL 服务器

无法使用 jdbc 驱动程序连接到 mysql