No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID

Bortecin

Mitglied
Hallo, beim Ausführen des unten stehenden Codes, stosse ich auf die folgende Fehlermeldung:

Oracle JDBC driver loaded ok.
java.sql.SQLException: No suitable driver found for jdbc😱racle:thin😡$HOST:$PORT:$SID
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at example.Client.getData(Client.java:31)
at example.Client.main(Client.java:54)

Was kann der Grund sein?

Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.jws.WebMethod;

import example.stackoverflow.Greeting;
import example.stackoverflow.GreetingImplService;

public class Client {
	
	@WebMethod
	{
	public static void getData()  {
		String user="DB";
		String pwd = "password";
		String url="jdbc:oracle:thin:@xxx.yy.zz.zz:1521:ABC";
		String OracleDriver = "oracle.jdbc.OracleDriver";
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		
 		try {	
 			 
 			 DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
 			 System.out.println("Oracle JDBC driver loaded ok.");
 			 conn = DriverManager.getConnection(url, user, pwd);
 			 System.out.println("Connected");
 			
 			 stmt = conn.createStatement();
 			 
 			
 		} catch (SQLException e) {
 			e.printStackTrace();
 		}
				
	}
 
Die Syntax der jdbc-thin-Url schein nicht korrekt zu sein. Laut der Doku hier 3 Datasources and URLs müsste der Teil nach dem "@" so aussehen:
Code:
@//host_name:port_number/service_name
. Bei Dir also:
Java:
String url="jdbc:oracle:thin:@//xxx.yy.zz.zz:1521/ABC";
 
Zuletzt bearbeitet von einem Moderator:
auch diese Antwort läßt strenggenommen nicht erkennen, ob du die Tragweite erkannt, die Zeile geändert hast,
aber das eher als Hinweis zum deutlichen Schreiben, kann nicht wirklich annehmen, dass der Tipp noch was taugt

um noch ein bisschen den Platz zu nutzen, aber bin eher nicht Experte:
ist die DB auf einem fremden Rechner oder unter localhost?
hat schon ein anderes Tool erfolgreich Zugriff?

schon reine kopierte Tutorials mit lokalen DBs getestet?
 
Versuch mal den Treiber dynamisch suchen zu lassen, dazu packst du die jar mit dem Connector in den classpath und führst das hier aus:

Java:
Class.forName("com.mysql.jdbc.Driver");
try {
	Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/settingscm",
					usr, pw);
        Statement stmt = conn.createStatement();

} catch (SQLException e) {
}
 

Zurück
Oben