Anfängerfrage

Status
Nicht offen für weitere Antworten.
B

bfr

Gast
Hey ho ..

ich hoffe mein Problem wird noch nirgends erklärt, hab zumindest nichts gefunden.
Wenns doch so ist, verweist mich doch bitte..

Ich möchte mit eclipse auf eine oracle datenbank zugreifen, und zwar weiß ich nun nicht welchen jdbc treiber ich hierfür brauche..

ich hab zwar auf der page von oracle die ojdbc14.jar (g10 .. jdk1.5) runter geladen. aber ich hab keine ahnung ob es die richtige ist. da es ja nur eine file ist. und ich hab mit einer ganzen bibliothek gerechnet.
ich hab auch keine ahnung, wo ich die hin packen muss.

ich danke schon mal im vorraus für eure hilfe..

Greets bfr
 
T

tuxedo

Gast
Jars enthalten in der Regel eine ganze Bibliothek. Hast du überhaupt schon mal in eine JAR reingeschaut, oder weißt du was eine JAR ist?

Ob's die richtige ist, kann ich dir nicht sagen. Kommt wohlmöglich auf deine Oracle-DB an: Wenn die Oracle-Seite dir für deine Oracle-Version diese Bibliothek angebiten hat, dann wird's wohl die richtige sein.

Du solltest die Jar in deinen Classpath stecken, damit sie von der VM und somit von deiner Anwendung gefunden wird.

- Alex
 

insertcoin

Aktives Mitglied
ok ..
ich denke ich hab nun den richtigen treiber.

aber nun kann ich ihn nicht mal anmelden, wie gesagt möchte ich auf eine oracle dtanebank zugreifen. udn wenn ich im internet nach vorlagen such, finde ich x verschiedene sachen..

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

DriverManager.registerDriver(new OracleDriver());

und egal was ich versuche, es kommt immer eine classNotFound exception ..
hab ich den treiber falsch eingesetzt?? oder muss ich etwas ganz anderes eingeben??

kann mir vielleicht jemand erklären, auf was es hier ankommt? komm echt nicht weiter..

Greeetz bfr
 

P3AC3MAK3R

Top Contributor
Lege besser ein neues Unterverzeichnis in Deinem Eclipse-Projekt an (z. B. "lib") und lege den Treiber dort ab. Zusätzlich solltest Du dann das JAR-File unter (Rechtsklick auf das Projekt) - Properties - Libraries eintragen.
 

Murray

Top Contributor
insertcoin hat gesagt.:
hab mir die jar file in meinen jdk/lib ordner gepackt, das müsste doch reichen oder??
Nein, das reicht nicht. Es würde allerdings reichen, das jar-File in das Verzeichnis jre/lib/ext zu packen; besser ist es aber , das Jar-File sauber in den Classpath einzutragen (bzw. das wie von P3AC3MAK3R vorgeschlagen der IDE zu überlassen).
 

insertcoin

Aktives Mitglied
ok .. ich hab die jar file in den jre/lib/ext gesteckt, und auch in den projektordner.
anmelden mit rechtsklick auf projekt --> properties --> libraries geht doch nicht oder?? .. hab die jar file halt in window -->preferences --> installed JREs --> meinem jdk zugefügt ..

wenn ich jetzt echt nur die anmeldung versuchen möchte ..

public class test1 {


public static void main(String args[]){

// 1.JDBC Treiber laden

try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (ClassNotFoundException e) {
System.err.println (e) ;
System.exit (-1) ;
}
}

dann kommt die fehlermeldung Thread [main] (suspended(exception ClassNotFoundException) ..

komm mir langsam echt bescheuert vor ..

kann es doch am treiber liegen??
ich hab den ojdbc14.jar für Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 .. aber ich hab ja noch nicht mal auf die datenbank zugegriffen..
 

Murray

Top Contributor
insertcoin hat gesagt.:
anmelden mit rechtsklick auf projekt --> properties --> libraries geht doch nicht oder??
Doch, eigentlich wäre das der richtige Weg - Projekt selektieren->Rechtsklick->Properties->Java Build Path->Libraries und dann entweder Add Jars oder Add External Jars
 

insertcoin

Aktives Mitglied
achso .. ok, das geht .. aber da ist die file leider schon drin ..

kann mir jetzt nicht mehr helfen, hab alles erdenkliche versucht.
 

sparrow

Top Contributor
Hast du denn mal geschaut ob in der .jar überhaupt eine entsprechende Datei drin ist?
: oracle.jdbc.driver.OracleDriver

Wobei die Punkte die Untersverzeichnisse trennen und OracleDriver eine .class sein müsste.
 

HLX

Top Contributor
Führst du das Programm in Eclipse aus?

Falls ja: unter Menüpunkt Run/Run... bzw. Run/Open Run Dialog... die entsprechende Java Application auswählen un die Registerkarte "Classpath" anklicken. Hier unter "User Entries" das JAR hinzufügen.

Der Build-Path in den Projekteinstellungen gilt nur zur "Entwicklungszeit".
 
T

tuxedo

Gast
Also die Run/Open Einstellung hab ich noch nie anpassen müssen. Es hat immer gereicht die Lib, die bei mir in einem Projekt-Unterordner "lib" liegt, mit rechter Maustaste anzuklicken und "Build Path -> Add to Build Path" auszuwählen.

- Alex
 

HLX

Top Contributor
Klar. Geht natürlich. Da war ich mal wieder zu voreilig.

@bfr: setzt du wirklich mind. JRE 1.4 zur Ausführung ein?
 

insertcoin

Aktives Mitglied
ja schon, ich benutze die 1.5.. müsste ja auch gehen ..

ich bekom das jetzt in eclipse irgendwie nicht zum laufen .. in meiner anderen entwicklungsumgebung läuft der treiber ..

ist echt dumm .. hätte gern mit eclipse gearbeitet .. hab mir aber auch gleich das leichteste thema ausgesucht, um einzusteigen .. :bahnhof:
wenn ich wieder den nerv hab, setz ich mich wieder hin und schau dass das läuft.. werd mich dann melden wenn ich den fehler hab.

auf jeden fall, vielen dank für die vielen tips ..
 

insertcoin

Aktives Mitglied
ok .. das thema ist gegessen .. jetzt läufts, vor mir hat ein anderer user mit dem installierten eclipse gearbeitet .. und der hat da da mit irgendwas anderem compilieren lassen.
echt dumm, musste das nur wieder umschalten.. aber wusste ja gar nicht dass das so ist.
sorry fürs viele stressen..

und könnte bitte jemand diesen thread schließen .. danke!!

Greeetz
 

insertcoin

Aktives Mitglied
da der thread noch nicht geschlossen ist hau ich noch eine frage rein ..

bezieht sich direkt auf sql, hoffe das ist ok ..

ich suche einen befehl der mir in meiner relation eine neue spalte anlegt, wenn das übergebene attribut noch nicht vorhanden ist. ansonsten soll er nichts machen ..
ich würde ja ADD nehmen, aber da legt er ja ein neues leeres datenfeld mit evtl. standardwerten in die vorhandene spalte .. das möchte ich nicht.

Kennt da jemand was??
 
M

maki

Gast
Hä?

Du hast aber hoffentlich nicht vor, während der Programmausführung das DB Schema zu ändern, oder?
 

insertcoin

Aktives Mitglied
ich frage einen bestimmten datensatz ab, wenn attribute auftauchen die in der DB noch nicht als spalten angelegt sind sollen diese ergänzt werden. ALso, ich ändere die Relation ..
aber die daten werden erst danach eingelesen..
 
M

maki

Gast
Ich versteh dich immer noch nicht...

ich frage einen bestimmten datensatz ab,
Ok, falls der Datensatz vorhanden ist, bekommst du ihn im ResultSet zurück, samt aller abgefragter Attribute (festgelegt durch die SELECT Anweisung).

wenn attribute auftauchen die in der DB noch nicht als spalten angelegt sind sollen diese ergänzt werden.
Woher sollten denn diese Attribute kommen, wenn nicht aus der Tabelle selbst?

Möchtest du vielleicht ein leeres (ohne Daten) DB Schema per JAVA/JDBC ändern, bevor es mit Daten gefüllt wird?

Den ADD Befehl kenne ich in SQL nicht, ist das PL/SQL?
ALTER TABLE wäre ansonsten in SQL eine Möglichkeit, eine Tabelle zu ändern.
 

insertcoin

Aktives Mitglied
ich frage die attribute in einer txt file über java ab ..
dann schicke ich den befehl die neue spalte einzufügen über jdcb an die datenbank ..

ja, ich mein ja alter table add(attribute format);
mit diesem befehl geht es normal, aber ich habe nachgelesen.. wenn das attribut schon vorhanden ist wird ein neuer leerer datensatz mit evtl. standardwerten soweit das eingestellt ist, angelegt. und das möchte ich eben nicht, deshalb wollte ich fragen ob nicht jemand einen anderen befehl kennt um spalten dazu zu fügen.. bei dem nichts passiert, sollte sie schon existieren..
 
T

tuxedo

Gast
Wieso prüfst du nicht vorher ob es die spalte schon gibt? Wäre ja auch eine Lösung...
 

Murray

Top Contributor
insertcoin hat gesagt.:
... ich habe nachgelesen.. wenn das attribut schon vorhanden ist wird ein neuer leerer datensatz mit evtl. standardwerten soweit das eingestellt ist, angelegt.
Wo hast du diese Information her?
 

insertcoin

Aktives Mitglied
hab die info aus so nem lehrbuch, für oracle datenbanken.
aber ich mach jetzt einfach eine abfrage rein. ist mehr zu tun, aber dann hat sich das erledigt.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben