2017-10-10 5 views
1

Je veux connecter et sélectionner la base de données Sqlite sur Mule AnypointStudio. Mais c'est une erreur. Aidez-moi, s'il vous plaît. Merci a tous. Aucun pilote approprié trouvé pour jdbc: sqlite ici mon code:Erreur Connexion Sqlite de base de données dans le connecteur Mule

@Processor (name="select" ,friendlyName ="select") 
    public void select() { 
     ArrayList<Story> list = new ArrayList<Story>(); 
     String sql = "select * from chat"; 
     try (Connection conn = this.connect(); 
       Statement stmt = conn.createStatement(); 
       ResultSet rs = stmt.executeQuery(sql)){ 

       // loop through the result set 
       while (rs.next()) { 
        Story s = new Story(); 
        s.setStory(rs.getInt("id"), rs.getString("user_chat"),rs.getString("bot_chat")); 
        list.add(s); 
       } 
      } catch (SQLException | ClassNotFoundException e) { 
       System.out.println(e.getMessage()); 
      } 
    for (int i =0 ; i < list.size(); i++){ 
      System.out.print(list.get(i).GetID() +"| "+ list.get(i).GetUserChat() + "| "+ list.get(i).GetBotChat() +"\n"); 


    } 
    } 
    private Connection connect() throws ClassNotFoundException { 
     // SQLite connection string 
     Class.forName("org.sqlite.JDBC"); 
     String url = "jdbc:sqlite:C:\\data.db"; 
     Connection conn = null; 
     try { 
      conn = DriverManager.getConnection(url); 
     } catch (SQLException e) { 
      System.out.println(e.getMessage()); 
     } 
     return conn; 
    } 


} 
+0

Quelle est l'erreur que vous rencontrez? S'il vous plaît fournit des détails (trace de pile, message d'exception, quelque chose d'utile) afin que les gens peuvent vous aider. –

+0

Ceci est une erreur lorsque j'exécute un projet. Mon connecteur ne peut pas trouver Class.forName ("org.sqlite.JDBC"), mais j'ai testé le succès de Mule Project. java.lang.ClassNotFoundException: org.sqlite.JDBC –

+0

Ok. D'après ce que je comprends, vous avez ce problème avec un projet Mule Connector. Utilisez-vous Maven? –

Répondre

0

Assurez-vous que vous avez pot valide/pilote dans votre classpath du projet.

Ouvrir un nouveau projet Mule dans Studio, puis procédez comme suit pour ajouter/créer une source de données en flux mule:

a. Importer le pilote

b. Créer une source de données,

c. Créez un connecteur qui utilise notre source de données, et enfin

d. Créez un flux simple qui utilise notre connecteur.

Il semble qu'il vous manque un fichier de pilote dans le classpath du projet.

Comment importer le pilote?

Une fois que vous avez le fichier jar (vous pouvez télécharger jar respectif SqlLite de certaines prises en pension, EG- maven_repo), les prochaines étapes sont très simples:

Dans l'explorateur de paquet,

bouton droit cliquez sur le dossier du projet

Rechercher dans le menu Build Path> Ajouter Archives externes ...

Recherchez le fichier jar dans votre disque dur et cliquez sur Ouvrir.

Maintenant, vous devriez voir dans l'explorateur de package que le fichier jar est présent dans « Référencés bibliothèques. »

Cela vous permettra de créer un insta nce du pilote d'objets dont vous aurez besoin.

+0

Merci pour votre aide. Je l'ai fait.Mais je veux importer jdbc dans le projet de connecteur. Il erreur :( –

+0

J'importent sqlite-jdbc-3.8.11.2.jar dans Mule Project que d'accord Mais lors de l'importation au connecteur Erreur de projet –

+0

Veuillez coller l'erreur que vous obtenez et le code où vous êtes confrontés au problème. –

0

Il s'agit probablement d'un problème de chemin de classe. Si vous utilisez Maven avec votre projet, ajoutez simplement la dépendance dans votre pom.xml (et clic droit sur votre projet> Mule> Mise à jour des dépendances du projet):

<dependency> 
    <groupId>org.xerial</groupId> 
    <artifactId>sqlite-jdbc</artifactId> 
    <version>3.20.1</version> 
    <scope>test</scope> 
</dependency> 

Assurez-vous de comprendre comment fonctionne Maven et comment manipuler votre fichier pom.xml. Maven getting started et POM Introduction pourrait aider.

Si vous n'utilisez pas Maven, vous devez importer manuellement la dépendance dans votre chemin de classe. @Malesh_Loya réponse devrait aider.