mp89
Mitglied
Hallo,
zur Zeit arbeite ich (im Rahmen des Informatikunterichts) an einer kleinen Software die quasi eine Art Bibliotheksprogramm darstellt. Dazu benutze ich NetBeans IDE 6 und dort den Projekttyp Java => Desktop Application => Database App.
So weit so gut. Im IDE läuft das Programm bis jetzt einwandfrei mit fast allen Funktionen die es können soll. Also Einträge in die Datenbank schreiben, lesen etc. Schaue ich per IDE in der Datenbank nach also lese per SQL Kommando alles aus sehe ich auch die editierten/hinzugefügten Einträge. Nur würde ich gerne das Programm auch auf einem Rechner zum laufen bringen ohne vorher NetBeans installieren/starten zu müssen und dem IDE zu sagen "starte den DatenbankServer etc...". Weiß zufällig irgendwer wie ich meine Java Applikation mit der Datenbank verbinde? Am liebsten wäre mir wenn ich daraus dann auch gleich eine .bat machen könnte, damit der Benutzer lediglich diese Datei ausführen muss um alles zu starten... Sicherheit ist insofern auch erst einmal zweitrangig, zumal die Applikation eh nur auf einem Desktoprechner ausgeführt werden soll.
Folgendes habe ich ausprobiert damits vielleicht klapp (tut es aber nicht =( )
Ich starte den JavaDB Server via "startNetworkServer" (in JavaDB/bin)
Für user und password setz ich natürlich das richtige ein, sonst würde ja eh ein Fehler kommen...
Jetzt versuche ich meine Jar Datei zu starten:
Und genau hier taucht das Problem auf, dass die Applikation nicht startet. Weiß jemand warum? Hab ich irgendwas vergessen einzurichten? Ich meine ja das Programm gibt aus "Verbindung steht", das tut es sobald es mit dem NetzwerkServer verbunden wurde. Der Server gibt übrigens nichts weiter per Konsole aus.
Irgendjemand eine Idee? Für mich ist das die erste Datenbankapplikation und unser Informatiklehrer kennt sich nur mit "Access" aus und mit Java schon gar nicht...
Thx schon mal für jede Idee die mir weiterhelfen kann!
Gruß Max
zur Zeit arbeite ich (im Rahmen des Informatikunterichts) an einer kleinen Software die quasi eine Art Bibliotheksprogramm darstellt. Dazu benutze ich NetBeans IDE 6 und dort den Projekttyp Java => Desktop Application => Database App.
So weit so gut. Im IDE läuft das Programm bis jetzt einwandfrei mit fast allen Funktionen die es können soll. Also Einträge in die Datenbank schreiben, lesen etc. Schaue ich per IDE in der Datenbank nach also lese per SQL Kommando alles aus sehe ich auch die editierten/hinzugefügten Einträge. Nur würde ich gerne das Programm auch auf einem Rechner zum laufen bringen ohne vorher NetBeans installieren/starten zu müssen und dem IDE zu sagen "starte den DatenbankServer etc...". Weiß zufällig irgendwer wie ich meine Java Applikation mit der Datenbank verbinde? Am liebsten wäre mir wenn ich daraus dann auch gleich eine .bat machen könnte, damit der Benutzer lediglich diese Datei ausführen muss um alles zu starten... Sicherheit ist insofern auch erst einmal zweitrangig, zumal die Applikation eh nur auf einem Desktoprechner ausgeführt werden soll.
Folgendes habe ich ausprobiert damits vielleicht klapp (tut es aber nicht =( )
Ich starte den JavaDB Server via "startNetworkServer" (in JavaDB/bin)
Jetzt starte ich "ij.bat" auch in JavaDB/binC:\Programme\Sun\JavaDB\bin>startNetworkServer
DRDA_SecurityInstalled.I
Apache Derby Network Server 10.3.1.4 - (561794) wurde gestartet und ist seit 200
8-02-15 16:08:20.283 GMT bereit, Verbindungen am Port 1527 zu akzeptieren.
IJ Version 10.3
ij> connect 'jdbc:derby://localhost:1527/C:\DatenbankProjekt\.netbeans_derby\Buc
hDB;user=********;password=********';
ij>
Für user und password setz ich natürlich das richtige ein, sonst würde ja eh ein Fehler kommen...
Jetzt versuche ich meine Jar Datei zu starten:
java -jar JBookDBApp.jar
Verbindung steht =)
[TopLink Info]: 2008.02.15 05:14:19.570--ServerSession(17478435)--TopLink, versi
on: Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))
15.02.2008 17:14:19 org.jdesktop.application.Application$1 run
SCHWERWIEGEND: Application class jbookdbapp.JBookDBApp failed to launch
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07
/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLTransientConnectionException: Die Verbindung wur
de zur³ckgewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
Error Code: -4499
at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(D
atabaseException.java:305)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultCo
nnector.java:102)
at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasourc
e(DatasourceLogin.java:184)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.login
AndDetectDatasource(DatabaseSessionImpl.java:582)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login
(EntityManagerFactoryProvider.java:280)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.de
ploy(EntityManagerSetupImpl.java:229)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.getServerSession(EntityManagerFactoryImpl.java:93)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.
createEntityManager(EntityManagerFactoryImpl.java:91)
at jbookdbapp.JBookDBView.initComponents(JBookDBView.java:317)
at jbookdbapp.JBookDBView.<init>(JBookDBView.java:39)
at jbookdbapp.JBookDBApp.startup(JBookDBApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.sql.SQLTransientConnectionException: Die Verbindung wurde zur³ck
gewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unkn
own Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Sourc
e)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultCo
nnector.java:100)
... 20 more
Caused by: org.apache.derby.client.am.DisconnectException: Die Verbindung wurde
zur³ckgewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
at org.apache.derby.client.net.NetConnectionReply.parseRDBNFNRM(Unknown
Source)
at org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(Un
known Source)
at org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(Unkno
wn Source)
at org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(Unk
nown Source)
at org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessR
db(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessR
db(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown
Source)
at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConne
ction(Unknown Source)
... 24 more
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class jbookd
bapp.JBookDBApp failed to launch
at org.jdesktop.application.Application$1.run(Application.java:177)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b58g
-fcs (09/07/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLTransientConnectionException: Die Verbindung wur
de zur³ckgewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
Error Code: -4499
at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(D
atabaseException.java:305)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultCo
nnector.java:102)
at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasourc
e(DatasourceLogin.java:184)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.login
AndDetectDatasource(DatabaseSessionImpl.java:582)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login
(EntityManagerFactoryProvider.java:280)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.de
ploy(EntityManagerSetupImpl.java:229)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.getServerSession(EntityManagerFactoryImpl.java:93)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactory
Impl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.
createEntityManager(EntityManagerFactoryImpl.java:91)
at jbookdbapp.JBookDBView.initComponents(JBookDBView.java:317)
at jbookdbapp.JBookDBView.<init>(JBookDBView.java:39)
at jbookdbapp.JBookDBApp.startup(JBookDBApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
... 8 more
Caused by: java.sql.SQLTransientConnectionException: Die Verbindung wurde zur³ck
gewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unkn
own Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Sourc
e)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultCo
nnector.java:100)
... 20 more
Caused by: org.apache.derby.client.am.DisconnectException: Die Verbindung wurde
zur³ckgewiesen, weil die Datenbank BuchDB nicht gefunden wurde.
at org.apache.derby.client.net.NetConnectionReply.parseRDBNFNRM(Unknown
Source)
at org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(Un
known Source)
at org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(Unkno
wn Source)
at org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(Unk
nown Source)
at org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessR
db(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessR
db(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown
Source)
at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConne
ction(Unknown Source)
... 24 more
Und genau hier taucht das Problem auf, dass die Applikation nicht startet. Weiß jemand warum? Hab ich irgendwas vergessen einzurichten? Ich meine ja das Programm gibt aus "Verbindung steht", das tut es sobald es mit dem NetzwerkServer verbunden wurde. Der Server gibt übrigens nichts weiter per Konsole aus.
Irgendjemand eine Idee? Für mich ist das die erste Datenbankapplikation und unser Informatiklehrer kennt sich nur mit "Access" aus und mit Java schon gar nicht...
Thx schon mal für jede Idee die mir weiterhelfen kann!
Gruß Max