Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OGSi Java Discussion :

MySQL-Connector dans un environnement OSGi


Sujet :

OGSi Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut MySQL-Connector dans un environnement OSGi
    Bonjour,

    A l'heure actuelle je n'arrive pas à utiliser MySQL-Connector dans un environnement OSGi. Voila comment je procède:

    - Je telecharge le JAR MySQLConnector, puis via BND, j'en fait un bundle que je deploie sur mon serveur apache felix.
    - Dans un autre Bundle (MySQLService) je tente de me connecter à la base de données. Voici les différentes parties de ce bundle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.1
    Created-By: 14.1-b02-90 (Apple Inc.)
    Bundle-ManifestVersion: 2
    Bundle-Name: MySQLService_Service Plug-in
    Bundle-SymbolicName: MySQL_Service
    Bundle-Version: 1.0.0
    Bundle-Activator: service.Activator
    Import-Package: org.osgi.framework;version="1.3.0", org.osgi.util.tracker;version="1.3.1", com.mysql.jdbc, com.mysql.jdbc.exceptions, com.mysql.jdbc.exceptions.jdbc4, com.mysql.jdbc.integration.c3p0, com.mysql.jdbc.integration.jboss, com.mysql.jdbc.interceptors, com.mysql.jdbc.jdbc2.optional, com.mysql.jdbc.log, com.mysql.jdbc.profiler, com.mysql.jdbc.util, org.gjt.mm.mysql
    Export-Package: mysqlservice
    Bundle-RequiredExecutionEnvironment: J2SE-1.5
    Ensuite voici le code du service du bundle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    package mysqlservice;
     
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.util.List;
     
    import mysqlservice.DatabaseService;
     
    public class MySQLService extends DatabaseService{
     
    	private Connection connection;
    	private Statement stmt;
    	private String tableName;
    	private List<String>keywords;
     
    	public MySQLService() {
     
    	}
     
    	/**
             * @param args
             */
     
    	public void connection()
    	{
    		System.out.println("Tentative de connection...");
    		try {
    		    this.connection =
    		       DriverManager.getConnection("jdbc:mysql://"+this.getServer()+"/"+this.getDatabase()+"?user="+this.getUser()+"&password="+this.getPassword());
    		    this.stmt = this.connection.createStatement();
    		}
    		catch (SQLException ex) 
    		{
    			System.out.println("Erreur lors de la connexion à la base de données:" +ex);
    		}
    	}
     
    	public void setTableName(String tableName) {
    		this.tableName = tableName;
    	}
     
    	public ResultSet getRows()
    	{
    		ResultSet rs = null;
     
    		try {
    			rs = this.stmt.executeQuery("SELECT * FROM "+tableName);
    			return rs;
    		}catch(Exception e)
    		{
    			return rs;
    		}
     
    	}
    Mais lorsque je tente de démarrer mon bundle j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No suitable driver found for jdbc:mysql://localhost/...
    Cette erreur intervient généralement lorsque le driver n'est pas chargé correctement, pourtant là je récupère bien tout ce qu'il faut selon moi.

    Quelqu'un aurait-il déjà rencontré ce problème?

    Merci d'avance pour votre aide.

  2. #2
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    DriverManager ne marche pas tres bien dans un environnement OSGi.
    Peut etre peux tu essayer en installant ce bundle (qu'il faudra compiler au préalable):
    http://svn.apache.org/viewvc/felix/s....service.jdbc/

    Il suffit ensuite de mettre, dans le MANIFEST de ton driver MySQL une entrée 'JDBC-Drivers' avec comme valeur le nom de la classe Driver de MySQL.

    Je n'ai pas testé moi meme, mais ca me semble une solution elegante

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2011, 12h14
  2. [VB6] Command dans Data Environnement
    Par damned3 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/09/2005, 09h39
  3. Réponses: 9
    Dernier message: 16/05/2005, 17h43
  4. [VB.NET] [MySQL Connector Net 1.0.4] Pb de MySqlConnection
    Par toxine dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/03/2005, 13h44
  5. Serveur Linux dans un environnement Windows
    Par Loth dans le forum Réseau
    Réponses: 6
    Dernier message: 29/05/2004, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo