[IReport]ClassNotFoundError

maxlegrand
[IReport]ClassNotFoundError

Bonjour,

j'ai essayé de tester la connection à une base de donnée SQL-Server en ayant avant ça télécharger le JDBC pour sql-server et ajouter le fichier jar dans le classpath de IReport.
Le souci c'est que j'obtiens l'erreur suivante :
http://img172.imageshack.us/my.php?image=image5nh0.jpg

Est-ce que quelqu'un pourrait m'indiquer comment il faut procéder car j'ai essayé plusieurs trucs sans succès.

Merci

fredericmazue

Quote:
ajouter le fichier jar dans le classpath de IReport.

Que veux tu dire ?
Faut que le driver JDBC soit dans le classpath vu par la JVM.
Quote:
Est-ce que quelqu'un pourrait m'indiquer comment il faut procéder car j'ai essayé plusieurs trucs sans succès.

Aucun truc à essayer. Le message d'erreur (ClassNotFoundException) est tout ce qu'il y a de clair. La classe com.microsoft.jdbc.sqlserfver.SQLDriver n'est pas dans le classpath. Même si tu crois l'y avoir mise.
Tu corriges ce point et ça va marcher.
Pierro

Salut,

J'ai eu à peu près le même problème que toi (moi c'était avec mon histoire de ma classe bean qu'il ne trouvait pas en utilisant l'assistant alors qu'il la trouvait lors de la création de la source de donnée). Je pense que que l'assistant de iReport utilise un autre classpath que celui que tu peux modifier dans les options. Je ne sais pas comment le modifier mais j'ai une solution. Par contre c'est laid :D :

Tu créer un dossier 'classes' dans ton dossier iReport puis tu extrais ton jar dans ce dossier (enfin moi j'avais créé un dossier pour mon package puis mis mes .class dedans). Je ne sais si ça peux marcher en y mettant directement le jar dedans.

Ne me demande pas pourquoi faire comme ça, j'ai trouver ça sur un forum. Je suppose que ce fameux classpath que je ne trouve pas comprend ce chemin mais... :?:

En tout cas pour moi ça a fonctionné.

Si tu trouves une autre solution moins 'à l'arrache' je suis preneur :roll: .

fredericmazue

Quote:
(moi c'était avec mon histoire de ma classe bean qu'il ne trouvait pas en utilisant l'assistant alors qu'il la trouvait lors de la création de la source de donnée).

Je m'en souviens :)
Mais est-ce que dans ta phrase "il" et "il" sont les mêmes ?
Parce que si "il" a la classe dans son classpath, alors "il" l'a tout le temps :D
Ou alors tu as inventé le classpath aléatoire. :lol:

Bon pour résumer, il me semble que IReport *ET* la JVM doivent voir le driver JSDBC dans leur classpath qui peuvent effectivement être différents.

maxlegrand

fredericmazue wrote:
Quote:
ajouter le fichier jar dans le classpath de IReport.

Que veux tu dire ?

Dans IReport, j'ai fait :
Option -> chemin de classe -> ajouter jar
puis j'ai indiquer ou se trouvait le .jar.
Cette méthode n'a pas fonctionner.
Quote:
Faut que le driver JDBC soit dans le classpath vu par la JVM.
Aucun truc à essayer. Le message d'erreur (ClassNotFoundException) est tout ce qu'il y a de clair. La classe com.microsoft.jdbc.sqlserfver.SQLDriver n'est pas dans le classpath. Même si tu crois l'y avoir mise.
Tu corriges ce point et ça va marcher.

Ca se fait comment pour mettre le driver jdbc dans le classpath?
fredericmazue

Quote:
Ca se fait comment pour mettre le driver jdbc dans le classpath?

M'enfin le driver JDBC ce sont des classes Java commes les autres, probablement emballées dans un jar comme les autres. Donc tu fais pour un driver JDBC comme n'importe quel classe ou jar.