PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Firebird Datenbank und Java


moki65
2007-03-17, 16:59:01
Hallo!

Hab mich gerade angemeldet und will euch erst mal alle recht herzlich begrüßen!

Doch bevor ich mit meinem Problem anfange kurz zu meiner Lage:
Ich habe an der Fachhochschule in Wien ein kleines Projekt am Laufen, bei dem es darum geht, Syslogmeldungen in eine Firebird Datenbank zu speichern und sie dort mit hilfe von Java auszulesen und zu verwalten.

Jetzt stehe ich vor dem Problem, dass ich Firebird usw. alles installiert und lauffähig habe. Hab mir auch schon den Treiber Jaybird-2.1.1JDK_1.5.zip heruntergeladen.
Hab mich mittlerweile schon schlau gemacht, dass ich jetzt diesen Treiber in den java-classpath einfügen muss. Allerdings hab ich es bis jetzt noch nicht geschafft.
Kann mir vielleicht jemand auf newbee ebene erklären, wie ich das machen muss?

Im Internet steht zwar viel über die Treiber und classpath - aber nicht wirlich was, was mir bis jetzt weiter helfen konnte.


ICh habs bis jetzt mit ungefähr so etwas versucht:

C:\>java -cp Javadriver/Jaybird-2.1.1JDK_1.5.zip
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM

aber es kommt immer wieder das gleiche mit usage... kann mir wer weiter helfen?

Grüße
Markus

Köppchen
2007-03-18, 16:58:02
Der classpath beschreibt aus welchen Verzeichnissen/jars/zips deine Klassen geladen werden. Das bedeutet: Wenn du dein Programm ausführst, das auf die Datenbank zugreift, so muss sich Firebird.zip mit im Klassenpfad befinden. Das machst du entweder so das du z.B. das Firebird zip mit in die Verkettungen des Environment hängst (in Windows z.B. anzusehen mit ECHO %CLASSPATH%, setzen mit SET CLASSPATH=...). Du kannst aber auch beim starten deines Programs den Klassenpfad mit -cp resp. -classpath festlegen. Wenn die Firebird Klassen zur Laufzeit ladbar sind dann hast du alles richtig gemacht.

Gruß Markus

moki65
2007-03-18, 20:29:53
Hallo!

Danke erst mal für deine Antwort!
Wenn ich das also richtg verstanden habe, dann muss ich die ZIP datei mit dem treiber in die CLASSPATH Variable bringen.

Wo ist aber diese Variable? Die kann ich nicht finden.
Ich gebe in der Windows Kommandozeile "set" ein und da kommen die ganzen Variablen. Die CLASSPATH ist aber nicht darunter.

Ich habe die Treiberdatei in C:\Javadriver\Jaybird-2.1.1JDK_1.5.zip gespeichert.
Was müsste ich dann in die Kommandozeile eingeben, damit das klappt?

Wie hast du das gemeind mit -cp? Wenn ich das richtig verstanden habe, bräuchte ich damit nicht auf jedem Rechner, auf der ich das Programm laufen lassen will die CLASSPATH variable zu ändern. Klingt interessant!
Wo müsste ich das -cp eingeben?

Grüße
Markus

PS: sorry für die vielleicht noob mäßigen Fragen. Aber ich steh momentan wirklich etwas auf der Leitung... :rolleyes: :smile:

Köppchen
2007-03-18, 21:10:05
Das schreckt mich wirklich ziemlich ab. Programmieren und diese Fragen, das passt nicht zusammen.

1. Die Environmentvariable CLASSPATH kannst du einfach ergänzen. Wenn du set kennst weisst du hoffentlich auch wie du damit den Classpath setzen kannst.
2. Du kannst den Classpatch statt für das gesamte System auch für einen einzelnen Java aufruf setzen. Dafür gibt es -cp resp. -classpath

Das ganze kannst du dir auch direkt bei Sun ansehen: http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html
Dazu war eine Suche notwendig: http://www.google.de/search?hl=en&q=site%3Ajava.sun.com+classpath&btnG=Google+Search
Wenn man programmiert kann ein klein wenig Eigeninitiative nicht schaden.


Gruß Markus

moki65
2007-03-19, 10:20:26
Hallo!

So. Jetzt hab ichs geschafft! Wenn man weiß, was man zu tun hat ist es ja auch ganz einfach und klar. :rolleyes:

Also für alle, die das Gleiche Problem haben und genau so hilflos wie ich sind hier eine kleine Stepbystep Anleitung:

Das einzige was man machen muss ist dem Programm zu sagen, wo die Treiberklassen gespeichert sind.
Mit Eclipse ist das eigentlich ganz einfach und zwar:
1.) jaybird-full-2.1.1.jar in dem Eclipsearbeitsverzeichnis in das Verzeichnis /bin speichern.
2.) In Eclipse PackageEditor rechtsklick auf das Projekt und dann "Build Path" -> "Configure Build Path" und dann unter Libraries das .jar File hinzufügen. Dannach klappt es.

Hier die CLASSPATH datei von meinem Projekt:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/jaybird-full-2.1.1.jar"/>
<classpathentry kind="output" path=""/>
</classpath>

Und hier mein Testprogramm:

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("org.firebirdsql.jdbc.FBDriver"); // Treiber Laden
}
catch (Exception E) // wenn treiber nicht geladen werden kann
// Fehlermeldung ausgeben
{
System.err.println("Unable to load driver.");
E.printStackTrace();
}
}

}


Danke für deine Hilfe!

Grüße
Markus

Köppchen
2007-03-19, 21:12:10
Klar, hättest ja direkt in deiner Anfrage schreiben können das du den Code in Eclipse ausführen willst und nicht als eigenes Programm.

Gruß Markus