错误连接Mule连接器中的数据库Sqlite

问题描述:

我想连接并选择Mule AnypointStudio上的数据库Sqlite。但它错误。请帮帮我。谢谢大家。 发现JDBC没有合适的驱动程序:sqlite的 这里我的代码:错误连接Mule连接器中的数据库Sqlite

@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

您遇到的错误是什么?请提供详细信息(堆栈跟踪,异常消息,任何有用的信息),以便人们可以帮助您。 –

+0

当我运行项目时这是错误的。我的连接器找不到Class.forName(“org.sqlite.JDBC”),但我在Mule Project中测试它成功。 java.lang.ClassNotFoundException:org.sqlite.JDBC –

+0

好的。从我的理解你有这个问题与Mule连接器项目。你在使用Maven吗? –

确保你在你的项目的classpath有效的JAR /驱动器。

打开新的骡子项目工作室,然后按照以下步骤添加/创建骡子流数据源:

一个。导入驱动程序

b。创建数据源,

c。创建一个使用我们的数据源的连接器,最后使用我们的数据源,最后使用

d。创建一个使用我们的连接器的简单流程。

看来你缺少项目类路径中的驱动程序jar。

如何导入驱动程序?

一旦你的jar文件(你可以下载JAR各自的一些回购协议sqllite,EG-maven_repo),接下来的步骤很简单:

在Package Explorer中,

右对齐在项目文件夹中单击

查找在构建路径菜单>添加外部档案...

寻找在你的硬盘驱动器的jar文件,然后单击打开。

现在,你应该在Package Explorer JAR文件存在于看到“引用的库。”

这将允许您创建一个斯塔 NCE您需要的对象驱动程序。

+0

感谢您的帮助。我做到了。但我想在Connector Project中导入jdbc。它错误:( –

+0

我在Mule项目中导入sqlite-jdbc-3.8.11.2.jar可以。但是当导入到连接器项目错误 –

+0

请粘贴你正在收到的错误和代码你正在面临的问题。 –

这可能是一个类路径问题。如果您正在使用Maven您的项目,只需将依赖于你的pom.xml(并右键单击项目>骡>更新项目的依赖):

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

确保您了解如何Maven的工作原理以及如何操纵你的pom.xml文件。 Maven getting startedPOM Introduction可能会有所帮助。

如果您没有使用Maven,则需要在类路径中手动导入依赖项。 @Malesh_Loya答案应该有所帮助。