Integration von classes12.jar

GGK_01

Bekanntes Mitglied
Hallo,

ich bin ein total JAVA Neuling und versuche eine DB Connection zu einer Oracle DB aufzubauen.

Java:
package oracle;

import java.sql.*;

public class TestDBOracle {

	/**
	 * @param args
	 */
	public static void main(String[] args)
		// TODO Auto-generated method stub
		throws ClassNotFoundException, SQLException
		{
		Class.forName("oracle.jdbc.driver.OracleDriver");
		
		//*String url = "jdbc:oracle:thin:@//server.local:1521/prodsid";
		String url = "jdbc:oracle:thin:@//myserver:1521:RIS";
		
		Connection conn = DriverManager.getConnection(url,"pacs","pacs");
		
		conn.setAutoCommit(false);
		Statement stmt = conn.createStatement();
		ResultSet rset = stmt.executeQuery("select count(*) from st_v2");
		while (rset.next()) {
			System.out.println(rset.getString(1));
		}
		stmt.close();
		System.out.println("OK.");
	}

}

ich habe mir dazu die classes12.jar auf C:\Programme\Java\jre6\other\classes12.jar runtergeladen und in den classpath (CLASSPATH=C:\Programme\Java\jre6\other\Prog1Tools.zip;C:\Programme\Java\jre6\other\classes12.jar)

Beim compilieren erhalte ich nachfolgende Fehlermeldung:
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:eek:racle:thin:mad://myserver:1521:RIS
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.TestDBOracle.main(TestDBOracle.java:19)


Ich wäre über Eure Hilfe dankbar

GGK_01
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Was bitte ist die class12.jar und woher kommt sie? Hast du den Treiber für die Datenbank auch kopiert oder nur irgendeine Quelldatei mit diesem ominösen Text (wo du schon noch einige Anpassungen machen musst)?
Überdies: Code gehört in JAVA-Tags (das Werkzeug mit der Kaffeetasse in der Lsiet über der Textbox, in der du deine Nachrichten schreibst).
Fängst du gerade erst mit JAVA an? Denn dann würde ich dir Datenbankprogrammierung nicht gleich als erstes empfehlen...
 

GGK_01

Bekanntes Mitglied
Hi,

den ersten Post habe ich angepasst..danke für den Hinweis (stünde eh ganz oben....).
Classes12.jar hab ich von der Oracle JDBC Download-Seite für SDK 1.3. Für den SDK 1.6. gibts die ojdbc6.jar. (
HTML:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html
Mit beiden habe ich das gleiche Problem.

Ich fang gerade mit JAVA an...ich möchte keine DB programmieren sondern nur sql Queries ablaufen lassen.

THX, GGK_01
 
Zuletzt bearbeitet:
A

Andgalf

Gast
Dein Connection String sieht verdächtig aus.

Ich meine der müsste etwa so in der Art aussehen:

jdbc:eek:racle:thin:mad:{host}:1521:{Servicename}

ist Dein Host wirklich //myserver??
 

GGK_01

Bekanntes Mitglied
der sieht konkret so aus:
Java:
String url = "jdbc:oracle:thin:@i1ar01:1521:RIS"

LG, GGK
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Ich glaube, in deiner URL sind einfach nur zweo Schrägstriche zu viel:
So müsste es heißen:
Code:
jdbc:oracle:thin:@<host>:<port>:<db>
 

GGK_01

Bekanntes Mitglied
Ja klar. das mach ich über Toad und tnsnames.ora.
die Fehlermeldung ich glaub das Problem liegt mehr an meinen JAVA Kenntnissen...nämlich, dass ich den jdbc Driver nicht korrekt eingebunden habe...kann ich das irgendwie überprüfen?

GGK
 
A

Andgalf

Gast
Also ich habe zwar schon eine halbe Ewigkeit nicht mehr mit plain JDBC gearbeitet, aber wenn ich mich recht entsinne wird

No suitable driver found

entweder durch einen falschen Connection String hervorgerufen, oder der "richtige" Treiber liegt nicht im Classpath.

Wie du das Treiber jar einbindest geht ja leider aus deinem Posting nicht so wirklich hervor. Benutzt du eine IDE Eclipse IntelliJ o.ä.
 

GGK_01

Bekanntes Mitglied
wie connectest du dich auf eine Oracle DB?

Ich habe Eclipse...dort unter den Projekt Preferences -> Java Build Path -> Reiter Libraries und dann Add External JARs...classes12.jar und ojdbc6.jar sind eingefügt...
 
A

Andgalf

Gast
Also beide Treiber gleichzeitig im Classpath zu haben ist sicher keine gute Idee.

wie connectest du dich auf eine Oracle DB?
Ich benutze mittlerweile persistenz Frameworks. Stichwort hierzu wäre JPA ... aber als Anfänger lass da erstmal die finger von und bleib bei Plain JDBC
 

GGK_01

Bekanntes Mitglied
Anbei hab ich deinen Screenshot der Eclipse Preferences .
Die Variable ist laut "set" wie angeführt definiert:
CLASSPATH=C:\Programme\Java\jre6\other\Prog1Tools.zip;C:\Programme\Java\jre6\other\ojdbc6.jar

irgendwie stehen wir an....?

LG, GGK
 

Anhänge

  • JDBC.jpg
    JDBC.jpg
    96,9 KB · Aufrufe: 24
A

Andgalf

Gast
Die Variable ist laut "set" wie angeführt definiert:
CLASSPATH=C:\Programme\Java\jre6\other\Prog1Tools.zip;C:\Programme\Java\jre6\other\ojdbc6.jar

Verstehe ich nicht`? Der CLASSPATH ist keine Umgebungsvariable !!!!

Oder was meinst Du mit laut "set" ?

Du hast da noch eine jar im Classpath lässt sich aber im Screenshot leider nicht wirklich erkennen was das ist. Wie ich bereits sagte nur eine Version des Treibers einbinden.

Ich gehe davon aus, das die Frage überflüssig ist, aber ich stelle sie trotzdem. Startest Du das Programm auch mit Eclipse?

Hast Du schon versucht dich mit einem anderen client zb SQL-Developer (ob das mit TOAD geht weiß ich leider nicht) mit exakt dem gleichen Connection String gegen die Datenbank zu verbinden also nicht über tnsNames o.ä?
 

GGK_01

Bekanntes Mitglied
OK..das mit set hab ich verstanden...dort ist der Classpath raus...

die im noch im Classpath verbleibende JAR-Datei ist nur mehr die ojdbc6.jar.

hier die TNSNAMES...mit dem Eintrag ich mich über Toad connecten kann.
Code:
Host.ar01 = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
        (ADDRESS = 
          (COMMUNITY =  tcp.world)
          (PROTOCOL = TCP)
          (Host = i1ar01)
          (Port = 1521)
        )
    )
    (CONNECT_DATA = (SID = RIS)
    )
  )

SQL-Developer hab ich jetzt nicht....
 
A

Andgalf

Gast
SQL-Developer hab ich jetzt nicht....

gibts bei Oracle ... kost nix :)

Der TNSNAMES Eintrag (bzw. der von Dir gebaute Connection String) sieht für micht soweit gut aus bin aber auch kein Oracle Profi.

Leider kann ich Dir jetzt auch nicht mehr Hinweise geben. Vielleicht weiß ja noch jemand anderes Rat.

Da du es nicht beantwortet hast, frage ich nochmal startest Du dein Programm auch mit Eclipse?
 
A

Andgalf

Gast
Doch eine Idee habe ich noch.

Recherchiere mal ob ojdbc6.jar auch die richtige Version des Treibers, abhängig von der verwendeten Version der Oracle Datenbank ist.
 

GGK_01

Bekanntes Mitglied
du bist der Beste!!! Genau daran lag es...jdbc14.jar war die für die DB korrekte Driver Version.

Danke für deine Beharrlichkeit und Hilfe...

Beste Grüße

GGK
 

Neue Themen


Oben