No suitable driver

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo,

ich versuche verzweifelt, über java eine verbindung zur datenbank herzustellen.

in meiner Klasse habe ich ein

Code:
import java.sql.*;

mein connect string sieht so aus:

Code:
String odb_url = "jdbc:oracle:thin:@<hostname>:<port>:<SID>";

habe mir die beiden Dateien

classes12.jar
ojdbc14.jar

von Oracle runtergeladen und in Eclipse unter "Add External JARs" hinzugefügt.

wenn ich versuche mein programm auszuführen, dann erhalte ich jedesmal den Fehler:

Exception in thread "main" java.sql.SQLException: No suitable driver

woran kann das noch liegen?

mfg, guni
 

tfa

Top Contributor
Code:
Class.forName("name.deines.jdbc.treibers");
 

guni

Bekanntes Mitglied
hmm ... danke!
ich bild mir ein, dass ich das Ganze schon mal ohne Class.forName zum Laufen gebracht habe ...

jetzt habe ich noch die Alternative
Code:
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
gefunden; aber irgendwie hab ich so dunkel in Erinnerung, mal ein Script geschrieben zu haben, dass ohne diese Zusätze eine Verbindung hergestellt hat ... kann aber natürlich auch Blödsinn sein ...

Wie auch immer - danke für deine Antwort ...

was ist denn der Unterschied zwischen Class.forName / DriverManager.registerDriver?
Was sind die Vor und Nachteile der einzelnen Möglichkeiten??

lg, guni
 

guni

Bekanntes Mitglied
was ist denn der Unterschied zwischen Class.forName / DriverManager.registerDriver?

lg, guni
 

tfa

Top Contributor
Class.forName(name) versucht eine Klasse zu laden, also z.B. die JDBC-Treiberklasse. Diese Klasse hat einen sog. statischen Initialisierer, der beim Laden der Klasse automatisch ausgeführt wird. In diesem Initialisierer passiert u.a. das DriverManager.registerDriver(). Es nochmal hinzuschreiben ist also überflüssig.

Hier der entsprechende Quelltext des Oracle V9 Treibers (Dekompilat):

Code:
static 
    {
        m_driverAccess = new Properties();
        m_driverAccess.put("thin", "oracle.jdbc.ttc7.TTC7Protocol");
        m_defaultDriver = null;
        Timestamp timestamp = Timestamp.valueOf("2000-01-01 00:00:00.0");
        try
        {
            if(m_defaultDriver == null)
            {
                m_defaultDriver = new OracleDriver();
                DriverManager.registerDriver(m_defaultDriver);
            }
        }
        catch(RuntimeException _ex) { }
        catch(SQLException _ex) { }
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
AMStyles No suitable driver found for Datenbankprogrammierung 4
A No suitable driver found for jdbc:microsoft:sqlserver... Datenbankprogrammierung 9
N Derby/JavaDB No suitable driver found Datenbankprogrammierung 14
StYxXx Microsoft-SQL: No suitable driver found Datenbankprogrammierung 11
Y Java und MySql... "No suitable Driver..." Datenbankprogrammierung 16
S SQLException: No suitable driver bei DB2 Datenbankprogrammierung 4
G No suitable driver Datenbankprogrammierung 16
G Das tolle "No suitable driver found" Datenbankprogrammierung 4
S no suitable driver Datenbankprogrammierung 2
G MySQL: Login-Problem: No suitable Driver Datenbankprogrammierung 13
D MySQL No Suitable Drivers found Datenbankprogrammierung 4
Maxim6394 EclipseLink + SQLite | Unable to acquire a connection from driver [null] Datenbankprogrammierung 6
ralfb1105 Oracle Zwei ojdbc Driver in einer Applikation? Datenbankprogrammierung 13
thet1983 Derby/JavaDB Embedded Driver Datenbankprogrammierung 7
thet1983 MySQL ODBC Driver zuweisen unter Mac OX Mav Datenbankprogrammierung 2
T JAR keine H2 driver? Datenbankprogrammierung 3
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
K JDBC Driver not found Datenbankprogrammierung 10
Y java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state Datenbankprogrammierung 2
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
S Access 2007 zugreifen- ODBC Driver Manger Datenbankprogrammierung 3
K org.gjt.mm.mysql.driver wird nicht gefunden Datenbankprogrammierung 11
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
S java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 10
F DBConnect schläg fehl: not suitble Driver ?!? Datenbankprogrammierung 4
N MS-acces JDBC driver Datenbankprogrammierung 3
D Jdbc: Unable to load Driver! Datenbankprogrammierung 11
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
G MySQL Driver Bug? Datenbankprogrammierung 6
H Konnte den Treiber com.mysql.jdbc.Driver nicht laden. Datenbankprogrammierung 19
L Wo bekomme ich: "org.gjt.mm.mysql.Driver"? Datenbankprogrammierung 1
zilti java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 3
D java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 5
B Oracle Driver Probleme Datenbankprogrammierung 2
E Problem beim laden des JDBC Driver bzw der Database Datenbankprogrammierung 8
R NetBeans und com.mysql.jdbc.Driver Datenbankprogrammierung 2
N [Microsoft][ODBC Microsoft Access Driver]COUNT field incorre Datenbankprogrammierung 13
K Mysql Driver Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben