2017-10-10 19 views
1

Mule AnypointStudio에서 데이터베이스 Sqlite에 연결하고 선택하려고합니다. 그러나 그것은 오류입니다. 도와주세요. 모두에게 감사드립니다. JDBC에 대한 발견 없음 적합한 드라이버가 없습니다 : SQLite는 여기 내 코드 :오류 데이터베이스 Sqlite를 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

발생하는 오류는 무엇입니까? 사람들이 당신을 도울 수 있도록 세부 정보 (스택 추적, 예외 메시지, 유용한 정보)를 제공해주십시오. –

+0

프로젝트를 실행하면이 오류가 발생합니다. 내 커넥터가 Class.forName ("org.sqlite.JDBC")을 찾을 수 없지만 Mule 프로젝트에서 성공했는지 테스트합니다. java.lang.ClassNotFoundException : org.sqlite.JDBC –

+0

좋습니다. 내가 뮬 (Mule) 커넥터 프로젝트에이 문제가 있다고 이해합니다. Maven을 사용하고 있습니까? –

답변

0

당신은 프로젝트의 클래스 경로에 유효한 항아리/드라이버가 있는지 확인합니다.

Studio에서

열기 새 뮬 프로젝트를 누른 다음 추가/노새 흐름에서 데이터 소스를 만들려면 다음 단계를 수행하십시오

을 수행합니다. 드라이버 가져 오기

b. 데이터 소스 생성,

c. 데이터 소스를 사용하는 커넥터를 만들고 마지막으로

d. 우리 커넥터를 사용하는 간단한 흐름을 만듭니다.

프로젝트 클래스 경로에 드라이버 jar가 누락 된 것 같습니다.

드라이버를 가져 오는 방법은 무엇입니까? 당신이 jar 파일이 있으면

(당신은, 일부의 repo에서 sqllite에 각각의 항아리를 다운로드 할 수 있습니다 예 - maven_repo), 다음 단계는 매우 간단하다 : 패키지 탐색기에서

,

마우스 오른쪽 버 ... 외부 아카이브 추가> 프로젝트 폴더를 통해 하드 드라이브에있는 jar 파일에 대한

봐 빌드 경로에 대한 메뉴에서

룩을 클릭하고 열기를 클릭합니다.

이제 JAR 파일에 존재하는 패키지 탐색기에서 볼 수 "참조 된 라이브러리."

이것은 당신이 필요로하는 오브젝트 드라이버의 인스 타 후부를 만들 수 있습니다.

+0

도움 주셔서 감사합니다. 나는 그것을했다.하지만 Connector Project에서 jdbc를 가져 오려고합니다. 오류 :( –

+0

Mule 프로젝트에서 sqlite-jdbc-3.8.11.2.jar을 가져옵니다.하지만 커넥터 프로젝트 오류 –

+0

으로 가져올 때 문제가 발생한 곳에서 코드를 붙여넣고 코드를 붙여주십시오. –

0

아마도 클래스 경로 문제 일 수 있습니다. 당신이 당신의 프로젝트에 메이븐을 사용하는 경우, 단순히 (프로젝트> 뮬> 업데이트 프로젝트 종속성에 오른쪽 클릭)하여 pom.xml의 종속성을 추가 :

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

을 어떻게 조작하는 방법 메이븐 작품을 이해하고 있는지 확인하여 pom.xml 파일. Maven getting startedPOM Introduction이 도움이 될 수 있습니다.

Maven을 사용하지 않는 경우 클래스 경로에서 종속성을 수동으로 가져와야합니다. @Malesh_Loya 대답이 도움이 될 것입니다.