JDBC Driver not found

Kaguro

Mitglied
Hallo,

ich arbeite mit der Entwicklungsumgebung eclipse und habe mir dort eine neues Projekt mit einem Apple angelegt. Dort habe ich die "mysql-connector-java-5.1.18-bin.jar" als Library eingefügt..alles kein Problem. Ich greife mit meinem Applet auf die lokale Datenbank vom meinem Xampp zu. Wenn ich aber jetzt das Projekt (alle dateien + index.html) kopiere und z.B. in die Xampp Server reinmache oder sonst nicht über eclipse, bekomme ich die Meldung, das der Treiber nicht gefunden wurde.

Hier mal mein Code von der MySQL-Klasse:
Java:
import java.sql.*;

public class MySQL
{
	private Connection conn = null;
	private String username;
	private String password;
	private String port;
	private String host;
	private String database;
	public static String Error = null;
	
	public MySQL(String username, String password, String database, String host, String port)
	{
		this.username = username;
		this.password = password;
		this.host = host;
		this.port = port;
		this.database = database;
		
		try
		{
			Class.forName("com.mysql.jdbc.Driver");//.newInstance();
			
			conn = DriverManager.getConnection("jdbc:mysql://"+this.host+":"+this.port+"/"+this.database+"?user="+this.username+"&password="+this.password);
			Error = "Verbindung erfolgreich";
		}
		catch(ClassNotFoundException classE)
		{
			Error = "Treiber nicht gefunden.";
			classE.printStackTrace();
		}
		catch(SQLException sqlE)
		{
			Error = "Verbindung nicht möglich.";
		}
		catch(Exception e)
		{
			Error = "Driver not found.";
		}
	}
	
	public User[] GetUsers()
	{
		User[] users = new User[5];
		if(conn != null)
		{
			Statement query;
			try
			{
				query = conn.createStatement();
				String sql = "SELECT * FROM user";
				ResultSet result = query.executeQuery(sql);
				
				int i = 0;
				while(result.next())
				{
					users[i] = new User();
					users[i].Id = result.getString("id");
					users[i].Username = result.getString("name");
					users[i].Code = result.getString("code");
					users[i].Admin = GetTrueOrFalse(Integer.parseInt(result.getString("admin")));
					users[i].State = GetTrueOrFalse(Integer.parseInt(result.getString("aktiv")));
					users[i].Email = result.getString("e_mail");
					users[i].IP = result.getString("ip_adress");
					i++;
					Error = "Alles okay :D";
				}
				return users;
			}
			catch(SQLException sqlE)
			{
				Error = "Shitt ;D";
				return users;
			}
		}
		return users;
	}
	
	private Boolean GetTrueOrFalse(int zahl)
	{
		if(zahl == 1)
		{
			return true;
		}
		return false;
	}
}

dann hier mal der Code meines Applet:
Java:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
 
public class Administration extends JApplet
{
	public Administration() {
	}
    private static final long serialVersionUID = 1L;
    private JTabbedPane TabCollection = new JTabbedPane();
    private JLabel lblShit;
    private MySQL mysql = null;
 
    // initialize components
    public void init()
    {
    	setSize(500, 300);
    	
    	SetTabs();
    	
    	SpringLayout springLayout = new SpringLayout();
        JMenuBar menuBar = new JMenuBar();
 
        springLayout.putConstraint(SpringLayout.EAST, TabCollection, 0, SpringLayout.EAST, menuBar);
        springLayout.putConstraint(SpringLayout.NORTH, TabCollection, 6, SpringLayout.SOUTH, menuBar);
        springLayout.putConstraint(SpringLayout.WEST, TabCollection, 0, SpringLayout.WEST, getContentPane());
        springLayout.putConstraint(SpringLayout.SOUTH, TabCollection, 300, SpringLayout.NORTH, getContentPane());
        springLayout.putConstraint(SpringLayout.WEST, menuBar, 0, SpringLayout.WEST, getContentPane());
        springLayout.putConstraint(SpringLayout.EAST, menuBar, 0, SpringLayout.EAST, getContentPane());
        springLayout.putConstraint(SpringLayout.NORTH, menuBar, 0, SpringLayout.NORTH, getContentPane());
 
        getContentPane().setLayout(springLayout);
        getContentPane().add(menuBar);
 
        JMenu MenuStart = new JMenu("Start");
        menuBar.add(MenuStart);
 
        JMenuItem StartItem = new JMenuItem("Start");
        ActionStart(StartItem, 0);
        
        MenuStart.add(StartItem);
 
        JMenu EinstellungenChildMenu = new JMenu("Einstellungen");
        MenuStart.add(EinstellungenChildMenu);
 
        JMenuItem UserItem = new JMenuItem("Benutzer bearbeiten");
        ActionEditUser(UserItem, 1);
        
        EinstellungenChildMenu.add(UserItem);
 
        JMenu MenuInfo = new JMenu("Info");
        menuBar.add(MenuInfo);
 
        JMenuItem HelpItem = new JMenuItem("Help");
        MenuInfo.add(HelpItem);
 
        JMenuItem AboutItem = new JMenuItem("About");
        MenuInfo.add(AboutItem);
        
        mysql = new MySQL("root", "", "db_1", "localhost", "3306");
        lblShit.setText(MySQL.Error);
    }
    
    private void SetTabs()
    {
    	JPanel Users = new JPanel();
    	JPanel EditUser = new JPanel();
        JPanel Admins = new JPanel();
        
        // Add Tab to TabCollection
        TabCollection.addTab("Benutzer", Users);
        SpringLayout sl_Users = new SpringLayout();
        Users.setLayout(sl_Users);
        
        lblShit = new JLabel("Shit");
        sl_Users.putConstraint(SpringLayout.NORTH, lblShit, 10, SpringLayout.NORTH, Users);
        sl_Users.putConstraint(SpringLayout.WEST, lblShit, 10, SpringLayout.WEST, Users);
        sl_Users.putConstraint(SpringLayout.EAST, lblShit, 485, SpringLayout.WEST, Users);
        Users.add(lblShit);
        TabCollection.addTab("Benutzer bearbeiten", EditUser);
        TabCollection.addTab("Admins", Admins);
        
        // Change Event
        TabCollection.addChangeListener(new ChangeListener()
        {
            public void stateChanged(ChangeEvent e)
            {
                TabCollection.getSelectedIndex();
            }
        });
        
        // Add Tabs
        getContentPane().add(TabCollection);
    }
    
    /*
     * All Event-Handlers!
     * ----------------------------------------------
     */
    
    private void ActionStart(JMenuItem menuItem, final int selectIdex)
    {
    	menuItem.addActionListener(new ActionListener()
        {
        	public void actionPerformed(ActionEvent arg0)
        	{
        		//getAppletContext().showDocument(getDocumentBase(), "_self");
        		TabCollection.setSelectedIndex(selectIdex);
        	}
        });
    }
    
    private void ActionEditUser(JMenuItem menuItem, final int selectIdex)
    {
    	menuItem.addActionListener(new ActionListener()
        {
        	public void actionPerformed(ActionEvent arg0)
        	{
        		User[] users = mysql.GetUsers();
        		lblShit.setText(users[0].Username + MySQL.Error);
        		//TabCollection.setSelectedIndex(selectIdex);
        	}
        });
    }
}

und dann falls interessant auch die index.html:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Test</title>
</head>
<body>
	<applet width="500" height="300" code="Administration.class" style="border:solid 1px #000" />
</body>
</html>

Ich habe da einen Label auf meinem Applet der mir jeh nach Exception nen einfachen Fehler ausgibt. Er findet bei mir den Treiber nur wenn ich mein Applet über eclpise debugge. Was muss ich nun machen, damit das Applet auch auf meinem WebSpace funktioniert.

Danke im Voraus.
 

Kaguro

Mitglied
Okayy :D
ich hatte das schon ausprobiert aber das funktionierte irgendwie auch net. Ich habe jetzt mal die .jar Datei in des gleiche verzeichnis gelegt wo alle anderen class dateien des project sind und die html datei ist..meine datei sieht nun so aus:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Test</title>
</head>
<body>
	<applet width="500" height="300" code="Administration.class" archive="mysql-connector-java-5.1.18-bin.jar" style="border:solid 1px #000"></applet>
</body>
</html>

Nachdem ich das jetzt gemacht habe und theoretisch der Pfad stimmt, bekomme ich gesagt das die anwendung nicht gestartet werden kann :D

PS: Macht es was dann dabei wenn ich die .jar Datei umbenenne?^^
 

Kaguro

Mitglied
Wie funktioniert das in eclipse?^^

Ich habe ein JavaProjekt in eclipse:

Ordnerstruktur
Applet
--src
----default package
------Administration.java
------MySQL.java
------User.java
----index.html
----Standard Library
----Referenced Library
------mysql-connector-java-5.1.18-bin.jar

was muss ich nun machen in eclipse?^^
 

Kaguro

Mitglied
okay...ich habe mich ebend nicht gut ausgesprochen..ich müsste eher wissen, wie html code danach aussehen müsste und welche dateien alle in der jar sein müsse :D
 

tuttle64

Bekanntes Mitglied
Angenommen im Wurzelverzeichnis deines Projektes gibt es ein Verzeichnis lib, welches "mysql-connector-java-5.1.18-bin.jar" enthält, dann muss dein manifest-file auch sowas enthalten

Class-Path: . lib/mysql-connector-java-5.1.18-bin.jar

und damit die Klasse mit main() gefunden wird, auch ein

Main-Class: full.package.path/className

enthalten.
 
Zuletzt bearbeitet:

Kaguro

Mitglied
Es hat ja alles soweit funktioniert blos findet der auf meinem webspace den driver nicht und wenn ich im applet tag den archive tag reinmachen gehts auch net mehr..^^

kann mir eventuell noch jemand helfen?^^
Beispiel?^^
 

L-ectron-X

Gesperrter Benutzer
"Es geht nicht", ist keine mir bekannte Fehlermeldung. ;)
Poste mal die Fehlermeldung aus deiner Java-Konsole! Ich tippe auf eine [JAPI]AccessControlException[/JAPI].

Dein Applet muss in einer Jar-Datei gespeichert sein. Die Jar-Datei und auch die Jar-Datei des MySQL-Treibers müssen signiert sein und im Applet- bzw. Object-Tag aufgelistet werden.

BTW: Ein Applet, das auf eine Datenbank zugreift, ist eine ganz unsichere Sache, weil die Zugangsdaten u.U. durch dekompilieren ermittelt werden können.
 

Kaguro

Mitglied
Es funktioniert nun wunderbar. Mir ist aber nun aufgefallen, dass die MySQL-Datenbank einen externen Zugriff erlauben muss. Sobal die Datenbank keinen externen Zugriff erlaubt, bekommt mein Applet keine Daten.:lol:
 
Ä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
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
A No suitable driver found for jdbc:microsoft:sqlserver... Datenbankprogrammierung 9
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
S java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 10
N MS-acces JDBC driver Datenbankprogrammierung 3
D Jdbc: Unable to load Driver! Datenbankprogrammierung 11
H Konnte den Treiber com.mysql.jdbc.Driver nicht laden. Datenbankprogrammierung 19
zilti java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 3
D java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 5
E Problem beim laden des JDBC Driver bzw der Database Datenbankprogrammierung 8
R NetBeans und com.mysql.jdbc.Driver Datenbankprogrammierung 2
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben