2017-10-10 169 views
1

我想連接並選擇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嗎? –

回答

0

確保你在你的項目的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

請粘貼你正在收到的錯誤和代碼你正在面臨的問題。 –

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答案應該有所幫助。