JDBC

edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008 - 21 nov. 2005 à 15:00
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008 - 22 nov. 2005 à 12:03
Bonjour
J'ai un applet de connexion à une base (voir code plus bas) qui fonctionne très bien, lancé à partir d'eclipse. Mais si je la lance à partir d'un navigateur (safari, firefox, netscape et explorer sur mac os x 10.4.3 j'ai le message suivant :
"java.lang.NoClassDefFoundError:java/sql/Savepoint" sur mon serveur local MAMP
et sur un serveur distant, chaineconnexion modifié bien sur, j'ai le message suivant :
"no suitable driver"

On m'a dit de mettre le fichier "mysql-connector-java-3.1.11-bin.jar" dans le même repertoire mais ça ne fonctionne toujours pas.
Je débute en JAVA, si quelqu'un pouvait m'aider, ce serait super sympa
merci d'avance

import java.applet.Applet;

import java.sql.*;
import javax.swing.*;

public class ConnectMySqlApplet extends Applet {

static Connection connec;

static String chaineconnexion = "jdbc:mysql://localhost:8889/courses";

static String login = "root";

static String pass = "root";

public static Connection getConnec() throws Throwable {
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(chaineconnexion, login, pass);
}

public void init() {
JFrame myFrame = new JFrame();
try {
connec = getConnec();

Statement instruction2 = connec.createStatement();
ResultSet resultat = instruction2
.executeQuery("SELECT * FROM produits");

while (resultat.next()) {
JOptionPane.showMessageDialog(null, resultat.getString("nom"));
}
resultat.close();
} catch (Throwable exception) {
JOptionPane.showMessageDialog(null, "Erreur : " + exception);
}

}

public void start() {

}

}

19 réponses

luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 15:07
Comment lances-tu ton application?
Avec quelle ligne de commande?
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 15:12
je tape le nom du fichier html dans la barre d'adresse du navigateur ?
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 15:18
J'imagine que ta page html est ton applet...
Je peux voir le code de ta page html ?
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 15:23
Voila
<html>




</html>

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 15:26
Voila le problème
tu dois spécifier ton jar dans ton applet

<html>

</html>
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 15:40
ça ne fonctionne toujours pas :
"java.lang.ClassNotFoundExeption: ConnectMySqlApplet.class"
en enlevant le code="." j'ai le message habituel "java.lang.NoClassDefFoundError:java/sql/Savepoint"
l'archive ne change rien
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 15:52
désolé j'vais mis code"." sans le =
voici mon code

<html>




</html>

mais j'ai toujours ce message :
"java.lang.NoClassDefFoundError:java/sql/Savepoint"
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 15:52
désolé j'vais mis code"." sans le =
voici mon code

<html>




</html>

mais j'ai toujours ce message :
"java.lang.NoClassDefFoundError:java/sql/Savepoint"
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 15:58
Ok

On va vérifier si toutes les conditions sont respectées :

1) As-tu bien placer ton jar dans le même répertoire que ton fichier html?
2) Ta classe SavePoint se trouve-t-elle bien dans ton jar?

Si oui cette ligne de commande ça devrait fonctionner...

Lancer le fichier html directement au lieu de l'appeler par internet si c'est le cas... Ptet que ce ne réagirait pas de la même façon
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 16:08
petite précision :
sur le serveur distant FREE, j'ai ce message : "no suitable driver"
avec le code html :
<html>




</html>
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 16:17
1) As-tu bien placer ton jar dans le même répertoire que ton fichier html?
-> oui
2) Ta classe SavePoint se trouve-t-elle bien dans ton jar?
-> oui elle s'appelle MysqlSavepoint.class elle est dans mysql-connector-java-3.1.11-bin.jar/com/mysql/jdbc

Lancer le fichier html directement au lieu de l'appeler par internet si c'est le cas... Ptet que ce ne réagirait pas de la même façon
-> en double cliquant dessus ? même message
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 16:21
Attention, on parle de Savepoint.class ou MySqlSavepoint.class?
Pcq il s'agit de 2 classes différentes à mon avis...
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 16:55
je confirme il n'y a pas de "Savepoint.class" dans mysql-connector-java-3.1.11-bin.jar
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 16:58
Voila le problème ...
Si il y a cette erreur c'est que tu utilise à un moment la classe SavePoint
Regarde dans quel package se trouve cette classe et tu fais le même travail...

Tu peux spécifier plusieurs package dans ton fichier html comme suivant:

exemple :

<html>

</html>
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
21 nov. 2005 à 17:08
le problème c'est qu'elle n'est nulle part, je n'ai pas de classe SavePoint ?
0
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
21 nov. 2005 à 17:15
Euh la il y a un problème...


T'es sur que tu n'as nulle part dans ton code source java de classe SavePoint?


Même un import java.sql.SavePoint sans faire exprès ou quoi... Pcq la je ne peux pas t'aider... Je n'ai pas ton code devant les yeux... Pour moi cette erreur dit qu'il y a un endroit dans ton code ou on trouve cette classe SavePoint...

A moins que le problème viendrait du fait que la classe MysqlSavePoint utilise Savepoint...

Ecoute ce que je te suggère, c'est que, vu que sous Eclipse ça tourne, met tous les jar que tu utilise dans Eclipse dans le dossier ou se trouve ton fichier html... Et la tu les ajoute dans ton code html

Et la si ca va pas ... y a un stud
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
22 nov. 2005 à 11:43
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
22 nov. 2005 à 11:54
Enfin j'ai trouvé !!!!!!!!!!!

Pour ceux que ça intéresse, j'ai tout simplement virer "mysql-connector-java-3.1.11-bin.jar" pour le remplacer par "mysql-connector-java-3.0.17-ga-bin.jar" et ça fonctionne

il est indiqué dans la doc :
Because of the implementation of java.sql.Savepoint, Connector/J 3.1.0 and newer will not run on JDKs
older than 1.4 unless the class verifier is turned off (-Xverify:none), as the class verifier will try to load
the class definition for java.sql.Savepoint even though it is not accessed by the driver unless you actually
use savepoint functionality.
Caching functionality provided by Connector/J 3.1.0 or newer is also not available on JVMs older than
1.4.x, as it relies on java.util.LinkedHashMap which was first available in JDK-1.4.0.

ce qui est bizarre, c'est que j'ai la 1.4.2
si quelqu'un a une explication ?
0
edaunye Messages postés 17 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 17 septembre 2008
22 nov. 2005 à 12:03
Par contre ça ne fonctionne toujours pas sur une base distante avec le code plus bas
j'ai le message suivant : No Suiteable driver
Est-ce que ça veut dire que c'est free qui n'a pas les bon drivers ?!
quelqu'un a une explication, ce serait sympa
merci d'avance

import java.applet.Applet;

import java.sql.*;
import javax.swing.*;

public class FreeConnectMySqlApplet extends Applet {

static Connection connec;

static String chaineconnexion = "jdbc:mysql:http://sql.free.fr/####";

static String login = "######";

static String pass = "######";

public static Connection getConnec() throws Throwable {
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(chaineconnexion, login, pass);
}

public void init() {
JFrame myFrame = new JFrame();
try {
connec = getConnec();

Statement instruction2 = connec.createStatement();
ResultSet resultat = instruction2
.executeQuery("SELECT * FROM produits");

while (resultat.next()) {
JOptionPane.showMessageDialog(null, resultat.getString("nom"));
}
resultat.close();
} catch (Throwable exception) {
JOptionPane.showMessageDialog(null, "Erreur : " + exception);
}

}

public void start() {

}

}
0
Rejoignez-nous