加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java-ee – Glassfish:缺少数据源的驱动程序类的名称

发布时间:2020-12-15 05:12:13 所属栏目:Java 来源:网络整理
导读:(滚动到结尾以查找与此相关的可能错误.) 这个连接池似乎是正确的,至少ping是成功的,但它是如何由EJB模块实际引用的? thufir@dur:~$thufir@dur:~$glassfish-4.1/glassfish/bin/asadminUse "exit" to exit and "help" for online help.asadmin asadmin list-j
(滚动到结尾以查找与此相关的可能错误.)

这个连接池似乎是正确的,至少ping是成功的,但它是如何由EJB模块实际引用的?

thufir@dur:~$
thufir@dur:~$glassfish-4.1/glassfish/bin/asadmin
Use "exit" to exit and "help" for online help.
asadmin> 
asadmin> list-jdbc-connection-pools
CLI031: Warning: Option "target" is obsolete and will be ignored.
CLI031: Warning: Option "target" is obsolete and will be ignored.
__TimerPool
DerbyPool
SamplePool
connectionPool
legacy_on_glassfish
Command list-jdbc-connection-pools executed successfully.
asadmin> 
asadmin> ping-connection-pool legacy_on_glassfish
Command ping-connection-pool executed successfully.
asadmin> 
asadmin> list-jdbc-resources
jdbc/sample
jdbc/__TimerPool
jdbc/__default
jdbc/local
jdbc/legacy_resource
Command list-jdbc-resources executed successfully.
asadmin>

(我不知道如何用asadmin输出jdbc连接属性)

使用Netbeans向导,这是生成的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="EnterpriseLegacyJDBC-ejbPU" transaction-type="JTA">
    <jta-data-source>jdbc/legacy_resource</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>

但是,从数据库中选择“新实体类”会导致:

从Glassfish控制台,数据源的驱动程序类的名称是什么?

在控制台中查找,数据源类名是com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource,而驱动程序类名不可编辑:

– – – – – – – – – – – – – – – – – – -错误报告 – – – – – – ——————————-

strayan@netbeans.org 2013-11-25 09:13:49 UTC

Sorry for the confusion,when you create the DataSource from the
NetBean IDE like mentioned in the tutorial it works fine like you
said. But when selecting a DataSource that is created outside (using
GlassFish Server Admin console) of the IDE which shows in the IDE we
see the error.

https://netbeans.org/bugzilla/show_bug.cgi?id=238667#c19

但是,我不确定使用GlassFish Server管理控制台创建的DataSource是什么意思 – 只是找不到该选项.

也可以看看:

http://computingat40s.wordpress.com/how-to-setup-a-jdbc-connection-in-glassfish/

解决方法

在PostgreSQL的情况下,我遇到了同样的问题,并执行了以下步骤,以便与Netbean成功连接数据库:

>使用管理控制台从GlassFish中删除您创建的所有连接池和数据源
>在NetBeans中右键单击项目名称.
>选择New-> Other-> Glassfish-> JDBC连接池.
>单击下一步.
>给池名称.
>使用数据库选择新配置.
>从下拉列表中选择Postgres.
>在下一步中输入以下六个参数及其值:

>用户 – postgres;
> DatabaseName – (您的数据库名称);
> ServerName – localhost;
> PortNumber – 5432;
>密码 – (postgre的密码);
> URL – jdbc:postgresql:// localhost:5432 / DBname

>右键单击项目
>选择New-> Other-> Glassfish-> JDBC Resource.
>选择“使用现有JDBC池”.
>选择您在上一个项目符号中创建的池名称.
>设置资源名称
>单击“完成”.

现在基于此资源,您可以毫无问题地创建实体和整个EJB资源.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读