No suitable driver found for jdbc:microsoft:sqlserver...

aso7b71

Mitglied
Hallo,
ich versuche eine Verbindung aus meinem JAVA-Programm heraus zur Microsoft SQLServer 2008 aufzubauen...Den Treiber kann ich soweit schon wohl laden, aber wenn ich eine Verbindung zur Datenbank aufbauen will, dann läuft das Programm in einen Fehler.

Code:
*Driver.connect (jdbc:microsoft:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor;)
    trying driver[className=com.microsoft.sqlserver.jdbc.SQLServerDriver,SQLServerDriver:1]
getConnection: no suitable driver found for jdbc:microsoft:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor;
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor;
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at udpserver.Main.initialisierungSQL(Main.java:73)
        at udpserver.Main.main(Main.java:35)
SQLException: SQLState(08001)
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor;

Frage ist nun, habe ich überhaupt den richtigen Treiber geladen? Ich habe bei Microsoft den Microsoft SQL Server JDBC Driver 3.0 heruntergeladen und per Eigenschaften->Bibliotheken->JAR-Files in Netbeas mit dem Projekt verknüpft.



Code sieht so aus:
Java:
private static void initialisierungSQL()
    {
        //Erstellen der Verbindung zur Sql-Datenbank


        //Alle Derzeit aktiven Treiber anzeigen
        for(Enumeration<Driver> e = DriverManager.getDrivers();e.hasMoreElements(); )
            System.out.println(e.nextElement().getClass().getName());
        try
        {
           //Informationsausgabe
            Class.forName(DRIVER);
            DriverManager.setLogWriter(new PrintWriter(System.out));
            System.out.println("Microsoft Treiber geladen");
            try
            {
                con = DriverManager.getConnection(getConnectionUrl(), USERNAME, PASSWORT);
                if(con!=null) System.out.println("Verbdindung zu SQL-Server hergestellt");
            }
            catch(Exception e)
            {
                System.out.println(e+" \nTreiberfehler");
            }
        }
        catch(ClassNotFoundException e)
        {
            System.out.println("ERROR: Treiber konnte nicht geladen werden");
            e.printStackTrace();
            System.exit(1);
        }
Ich wäre echt dankbar, wenn mir jemand in dieser Sache helfen könnte.

Gruß Robin
 
J

JohannisderKaeufer

Gast
Hallo Robin,

die Fehlermeldung wird oft Fehlinterpretiert.

No Suitable Driver Found For ...

heißt nicht das es am Treiber liegt!

JDBC geht bei DriverManager.getConnection() der Reihe nach alle mit Class.forName(DRIVER) registrierten Datenbanktreiber durch, bis es einen gefunden hat der mit dem ConnectionString eine Verbindung zu Stande bringt. Ist der DB- Server down oder eine Firewall blockt, so wird kein Treiber gefunden der eine Verbindung zu Stande bringt. Es fliegt daher nach meiner Erfahrung dieselbe Exception.

Also, ConnectionString überprüfen!

MS schreibt Erstellen der Verbindungs-URL hier für SQL 2005

Code:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

bei dir steht in der Exception

Code:
jdbc:microsoft:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor;

ich würde wenn ich das vergleiche folgendes Versuchen

Code:
jdbc:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor
 
Zuletzt bearbeitet von einem Moderator:

aso7b71

Mitglied
Erstmal danke für die Tipps...werd das alles am Montag mal ausprobieren
@ haox: werd dann auch mal den Namen des ms Treiber nachliefern
Gruß
 

aso7b71

Mitglied
Der Treiber, den ich geladen habe, ist der Microsoft SQL Server JDBC Driver 3.0. Ich habe dann sowohl das jar-File sqljdbc und sqljdbc4 ausprobiert. Beide haben allerdings nicht funktioniert.
Gruß Robin
 
J

JohannisderKaeufer

Gast
Code:
jdbc:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor

Hast du das auch schon versucht.

Also das "microsoft" rauswerfen?

den ";" am Ende Weglassen?
 

aso7b71

Mitglied
ja...jetzt gerade hab ich´s versucht und es hat auf Anhieb geklappt...vielen dank für die Hilfe...Nu geht die Reise weiter. Jetzt steh ich vor dem nächsten Problem. In meiner Lektüre bin ich gerade über die sog. Persistenz API gestolpert. Hier wird die Verbindung zur Datenbank über Objekte und nicht SQL-Code hergestellt. Ohne mich jetzt wirklich reingelesen zu haben...Was meint ihr? Wie sollte ich die Verbindung aufbauen? Achja, in meinem Programm läuft die Speicherung der Daten in eigenen Threads, aber ich habe ja nur eine Verbindung zur DB...kann das Probleme machen?

Gruß Robin
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Hallo Robin,

die Fehlermeldung wird oft Fehlinterpretiert.

No Suitable Driver Found For ...

heißt nicht das es am Treiber liegt!

JDBC geht bei DriverManager.getConnection() der Reihe nach alle mit Class.forName(DRIVER) registrierten Datenbanktreiber durch, bis es einen gefunden hat der mit dem ConnectionString eine Verbindung zu Stande bringt. Ist der DB- Server down oder eine Firewall blockt, so wird kein Treiber gefunden der eine Verbindung zu Stande bringt. Es fliegt daher nach meiner Erfahrung dieselbe Exception.

Dann übersetz doch mal die Meldung. Die sollte genau dann kommen, wenn der URL kein Treiber zugeordnet werden kann. Wenn die Meldung dann kommt, wenn der Host nicht erreichbar ist, aber die URL zum Treiber passt, dann ist das schlicht und einfach ein Bug im Treiber!

Btw. registriert Class#forName nicht den Treiber, sondern es bewirkt dass sich der Treiber selber registriert. Es gibt auch Möglichkeiten ohne Class#forName.
 
M

maretz

Gast
Moin,

also ich nehm dafür jtds:

Java:
package pk_shipping;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class MSSqlConnector {
	public void dbConnect() {
		String db_password="PW";
		String db_connect_string="jdbc:jtds:sqlserver://192.100.100.35";
		String db_userid="USER";
		
      try {
         Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
         Connection conn = DriverManager.getConnection(db_connect_string,
                  db_userid, db_password);
         System.out.println("connected");
         Statement statement = conn.createStatement();
         String queryString = "select * from Testtabelle";
         ResultSet rs = statement.executeQuery(queryString);
         while (rs.next()) {
            System.out.println(rs.getInt(1)+" "+rs.getString(2));
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }

}

Haut super hin - und der jtds hat den Vorteil das man damit auch noch andere DBMS ansprechen darf :)
 
Ä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
N Derby/JavaDB No suitable driver found Datenbankprogrammierung 14
StYxXx Microsoft-SQL: No suitable driver found Datenbankprogrammierung 11
G Das tolle "No suitable driver found" Datenbankprogrammierung 4
Y Java und MySql... "No suitable Driver..." Datenbankprogrammierung 16
S SQLException: No suitable driver bei DB2 Datenbankprogrammierung 4
G No suitable driver Datenbankprogrammierung 8
G No suitable driver Datenbankprogrammierung 16
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
Maxim6394 JPA: IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST Datenbankprogrammierung 1
Kirby.exe SQL-Exception: Column not found Datenbankprogrammierung 6
D HSQLDB user lacks privilege or object not found Datenbankprogrammierung 6
M User lacks privilege or object not found Datenbankprogrammierung 3
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
F GWT und Hibernate - gwt.dev.Compler not found Datenbankprogrammierung 3
algebraiker Eclipse RCP - no persistent classes found for query class Datenbankprogrammierung 4
T org.hibernate.MappingException: entity class not found Datenbankprogrammierung 4
I java.sql.SQLException: No data found Datenbankprogrammierung 3
D MySQConnextor Class not found obwohl BuildPfad konfiguriert Datenbankprogrammierung 6
N Hsqldb und text tables source not found Datenbankprogrammierung 5
N Class not found Exception Datenbankprogrammierung 2
B Source not found // Java MySQL (eclipse) Datenbankprogrammierung 4
P Fehlermeldung "source not found" Datenbankprogrammierung 2
M java.sql.SQLException: No data found Datenbankprogrammierung 9

Ähnliche Java Themen


Oben