Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't connect application to database

I have a problem connecting my Web app to the database using Eclipses datasource explorer.

This is what I did:

enter image description here

Maybe i did configure wrong the driver. This is how i configurated the driver definition from eclipse Helios. Window->Preferences->DataManagement->Conectivity->Driver Definitions:

1

enter image description here

2

enter image description here

3

enter image description here

4

enter image description here

I am able to start the application server and even access the application throgh the browser. But i cannot interact with the db. This is how the config files of the webapp look like:

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="jdbc/GroupBuySystem">
<class>entities.Administ</class>
<class>entities.Buyer</class>
<class>entities.Comment</class>
<class>entities.Log</class>
<class>entities.Offer</class>
<class>entities.Seller</class>
</persistence-unit>
    </persistence>

sun-resources.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0  Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
<resources>
<jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="Derby_groupbuydb_userPool"/>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.ClientDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="Derby_groupbuydb_userPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
<property name="serverName" value="localhost"/>
    <property name="PortNumber" value="1527"/>
    <property name="DatabaseName" value="groupbuydb"/>
    <property name="User" value="user"/>
    <property name="Password" value="pwd"/>
    <property name="URL" value="jdbc:derby://localhost:1527/groupbuydb;create=true"/>
<property name="driverClass" value="org.apache.derby.jdbc.ClientDriver"/>
</jdbc-connection-pool>
</resources>

Also i want to mention that i start the database from the console with this command:

C:\glassfishv3\bin>asadmin start-database

enter image description here

What am I doing wrong? Why can't I connect to the DB?

like image 550
javing Avatar asked Apr 01 '11 14:04

javing


People also ask

How do you connect your application to database?

Applications get a database connection from a connection pool by looking up a data source using the Java Naming and Directory Interface (JNDI) and then requesting a connection. The connection pool associated with the data source provides the connection for the application.

How can I check connection between application and database server?

How to Check Connectivity between Application Server and Database Server. Simply, you can use Ping cmdlet to verify that the Application Server can communicate and reach properly with the Database Server over the network.

How do I connect an app to SQL Server?

In Power Apps Studio, open the app that you want to update. Click or tap Data sources on the View tab of the ribbon. In the right-hand pane, click or tap Add a data source. Click or tap New connection, click or tap SQL Server, and then click or tap Connect.


1 Answers

You have the wrong jar file. Use derbyclient.jar and not derby.jar for your driver.

derby.jar is for derby in embedded mode. derbyclient.jar is for network/server mode and that's what you have defined in your connection string:

<property name="URL" value="jdbc:derby://localhost:1527/groupbuydb;create=true"/>
like image 51
Matt Handy Avatar answered Sep 20 '22 05:09

Matt Handy