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

时间:2012-12-13 22:59:46

标签: java oracle jdbc glassfish

有没有办法检查我的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. 财产:“url”
  6. 保存,重置服务器(只是肯定),ping ....并且错误:类名错误或类路径未设置为:oracle.jdbc.pool.OracleDataSource

    我已经做了什么:

    1. 首先检查ojdbc jar。从我的Oracle目录中,我将名称中包含“ojdbc”的每个jar复制到“C:\ glassfish3 \ glassfish \ domains \ domain1 \ lib”中。

    2. 其次,检查网址的正确性。在Netbeans内部,切换到Services选项卡,右键单击Databases,New connection ...设置数据连接(首先我必须添加,jodbc6.jar ..所以我添加完全相同的文件 - 来自glassfish文件夹)。有用!连接还可以。我查看了Netbeans数据库URL - 与我在glassfish gui中的url相同。我也用\来试过网址,但没有用。

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

      EDIT。 当我运行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]

6 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:2)

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

  

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

From here

答案 2 :(得分:1)

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

在我的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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

重启glassfish服务器

答案 5 :(得分:0)

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