Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The name of the driver class for the datasource is missing (Netbeans+ PostgreSql + Glassfish)

I'm trying to develop an EJB application using Netbeans 8 on a Postgres 9.2 db and Glassfish 4 server.

Once I created connection pool and JDBC resources in the glassfish admin panel, I'm not able to add entities using the datasource. Netbeans still giving me an error:

The name of the driver class for the datasource is missing

I've already tried adding libraries to the project. I copied postgresql-9.2-1002.jdbc4.jar and postgresql-9.2-1002.jdbc3.jar files in C:\Program Files\glassfish-4.0\glassfish\domains\domain1\lib folder.

Screenshot: http://imageshack.com/a/img843/6884/w3ko.png

If I create entities using a connection created before(in NB Services/Databases), it works, but result set after any query is empty. Any idea?

Here the connection pool I created: http://imageshack.com/a/img838/8286/bkw8.png

This is my 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>
like image 521
albertosky86 Avatar asked Apr 23 '14 21:04

albertosky86


1 Answers

Apologies for being straightforward, but I believe that on this specific situation, you are all wrong. What should be done is:

  • Go to your Glassfish server administration panel (Link should look like this: http://localhost:4848/common/index.jsf (Under Additional Properties tab)
    • Click on Services in Netbeans
    • Click on Server
    • Right-click on your server name [A pop-up contextual menu appears]
    • Click on View Domain Admin Console [Note: Your server must be running in order to see that feature. A browser tab is automatically launched, if the server is running. You know that your server is running if you see a greenish arrow pointing to the right on the right of the server instance]
  • Click on resources
  • Click on JDBC
  • Click on JDBC Connection Pools
  • Add the following properties by clicking every time on the button Add Property (After selecting the pool name and editing it):

    • driverClass: com.mysql.jdbc.Driver
    • URL : jdbc:mysql://localhost/your_database_name
    • password : your_password to the database management system
    • serverName : localhost or your_server_name
    • user : root or your_username to access the database management system
    • databaseName : your_database_name
  • Set up your JDBC Resources [jdbc/your_pool_name]

  • Point to the specific connection pool you just setup by selecting it in the drop down box.

Save everything (The button usually is on the upper-right corner of your Internet browser) Don't forget that the JDBC Resources is always connected to a connection pool. So ensure that it is the case for you. They, JDBC Connection Pools and JDBC Resources, are usually located under JDBC in the left pane menu of your server administration panel. Go back to whatever you were doing, and try again. Please also note that this works for MySQL Database Management Systems. You might need to change the driver class as well as the URL if using another DBMS. You may find additional information on YouTube [http://www.youtube.com/].

I believe this is the answer.

like image 176
Iragi KNJ Avatar answered Sep 17 '22 15:09

Iragi KNJ