缺少数据源的驱动程序类的名称(Netbeans + PostgreSql + Glassfish)

alb*_*y86 8 postgresql netbeans jdbc driver glassfish

我正在尝试在Postgres 9.2 db和Glassfish 4服务器上使用Netbeans 8开发EJB应用程序.

一旦我在glassfish管理面板中创建了连接池和JDBC资源,我就无法使用数据源添加实体.Netbeans仍然给我一个错误:

缺少数据源的驱动程序类的名称

我已经尝试过向项目添加库了.我复制了postgresql-9.2-1002.jdbc4.jar和postgresql-9.2-1002.jdbc3.jar文件 C:\Program Files\glassfish-4.0\glassfish\domains\domain1\lib folder.

截图:http://imageshack.com/a/img843/6884/w3ko.png

如果我使用之前创建的连接(在NB服务/数据库中)创建实体,它可以工作,但任何查询后的结果集都是空的.任何的想法?

这里是我创建的连接池:http://imageshack.com/a/img838/8286/bkw8.png

这是我的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="Esempio-ejbPU" transaction-type="JTA">
    <jta-data-source>try_</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

Ira*_*KNJ 9

道歉是直截了当的,但我相信在这种特殊情况下,你都错了.应该做的是:

  • 转到Glassfish服务器管理面板(链接应如下所示:http:// localhost:4848/common/index.jsf(在"其他属性"选项卡下)
    • 单击Netbeans中的服务
    • 单击" 服务器"
    • 右键单击您的服务器名称[出现弹出的上下文菜单]
    • 单击"查看域管理控制台"[注意:您的服务器必须正在运行才能看到该功能.如果服务器正在运行,则会自动启动浏览器选项卡.如果您看到指向服务器实例右侧右侧的绿色箭头,则表示您的服务器正在运行]
  • 点击资源
  • 单击JDBC
  • 单击JDBC连接池
  • 通过单击按钮添加属性上的每次添加以下属性(选择池名称并进行编辑后):

    • driverClass:com.mysql.jdbc.Driver
    • URL :jdbc:mysql:// localhost/your_database_name
    • 密码 :your_password到数据库管理系统
    • serverName:localhost或your_server_name
    • user :root或your_username,用于访问数据库管理系统
    • databaseName :your_database_name
  • 设置JDBC资源[jdbc/your_pool_name]

  • 通过在下拉框中选择它,指向您刚刚设置的特定连接池.

保存所有内容(该按钮通常位于Internet浏览器的右上角)不要忘记JDBC资源始终连接到连接池.因此,请确保适合您.它们,JDBC连接池和JDBC资源通常位于服务器管理面板左窗格菜单中的JDBC下.回到你正在做的事情,然后再试一次.另请注意,这适用于MySQL数据库管理系统.如果使用其他DBMS,您可能需要更改驱动程序类和URL.您可以在YouTube [ http://www.youtube.com/]上找到更多信息.

我相信这就是答案.


alb*_*y86 0

解决:这是一个连接池问题。在 glassfish 管理面板中创建一个驱动程序我没有再遇到任何问题。