2011-04-01 15 views
7

Mam problem z połączeniem mojej aplikacji internetowej z bazą danych za pomocą eksploratora źródeł danych Eclipses.Nie można połączyć aplikacji z bazą danych

To co zrobiłem:

enter image description here

Może źle zrobiłem skonfigurować sterownik. W ten sposób skonfigurowałem definicję sterownika z Eclipse Helios. Window-> Preferencje-> DataManagement-> Conectivity-> Definicje Sterownik:

enter image description here

enter image description here

enter image description here

enter image description here

jestem w stanie uruchomić serwer aplikacji, a nawet dostęp do aplikacji throgh przeglądarce. Ale nie mogę współpracować z db. W ten sposób pliki konfiguracyjne z webapp wyglądać następująco:

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> 

słońcem 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> 

Również chcę wspomnieć, że zacznę baza danych z konsoli za pomocą następującego polecenia:

C: \ glassfishv3 \ bin> asadmin uruchomienie bazy danych

enter image description here

Co robię źle? Dlaczego nie mogę połączyć się z bazą danych?

+0

+1 dla obrazów – Ophidian

+1

Tnx :) Mam nadzieję, że znajdę sposób aby to naprawić siedzę z to i nie mogę kontynuować programowania. Jakieś pomysły? – sfrj

+0

Czy można połączyć się z serwerem z innej aplikacji?Na przykład z 'ij' lub narzędzia Konsola z [bazy danych H2] (http://h2database.com)? –

Odpowiedz

6

Masz nieprawidłowy plik JAR. Użyj derbyclient.jar, a nie derby.jar dla swojego sterownika.

derby.jar jest dla derby w trybie wbudowanym. derbyclient.jar jest tryb sieciowy/serwer i to, co zostało zdefiniowane w ciągu połączenia:

<property name="URL" value="jdbc:derby://localhost:1527/groupbuydb;create=true"/> 
Powiązane problemy