2013-10-12 2 views
0

내 안드로이드 응용 프로그램에 문제가 있습니다. 여기 코드 조각이 있습니다. 누구나 저에게 해결책을 제시 할 수 있습니다.이 연결 유형은 안전하지 않지만이 애플리케이션은 내 모바일에서만 사용하고 있습니다.추적 파일 열기 오류 : 해당 파일 또는 디렉토리 없음 | java.lang.ClassNotFoundException : net.sourceforge.jtds.jdbc.Driver

public class testConnection 
{ 
    public void doConnect() 
    { 
     DB db = new DB(); 
     db.dbConnect("jdbc:jtds:sqlserver://192.168.1.3/Test","sa","@[email protected]"); 
    } 
} 

class DB 
{ 
    public DB() {} 

    public void dbConnect(String db_connect_string, String db_userid, String db_password) 
    { 
     try 
     { 
      Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection(
      db_connect_string, db_userid, db_password); 
      System.out.println("connected"); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
}; 

오류 다음과 같이 :

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver 
    at java.lang.Class.classForName(Native Method) 
    at java.lang.Class.forName(Class.java:217) 
    at java.lang.Class.forName(Class.java:172) 
    at info.elshan.sqlserver.SqlServer$DB.dbConnect(SqlServer.java:118) 
    at info.elshan.sqlserver.SqlServer$testConnection.doConnect(SqlServer.java:106) 
    at info.elshan.sqlserver.SqlServer$RetreiveFeedTask.doInBackground(SqlServer.java:48) 
    at info.elshan.sqlserver.SqlServer$RetreiveFeedTask.doInBackground(SqlServer.java:1) 
    at android.os.AsyncTask$2.call(AsyncTask.java:287) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
    at java.lang.Thread.run(Thread.java:856) 
Caused by: java.lang.NoClassDefFoundError: net/sourceforge/jtds/jdbc/Driver 
    13 more 
Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sourceforge.jtds.jdbc.Driver" on path: /data/app/info.elshan.sqlserver-1.apk 
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 

또한 다음과 같이 라이브러리를 추가했다.

External Libs Added! External Libs Added!

답변

2

ClassNotFoundError은 특정 클래스를 찾을 수없는 클래스 로더에 의해 슬로우됩니다. 이 경우 net.sourceforge.jtds.jdbc.Driver 클래스입니다. 즉, jtds.jar이 클래스 경로에 없음을 의미합니다. 당신은 응용 프로그램이 점점하는 경우 서블릿에서이 문제가 발생하는 경우/JSP 당신이 편집하여 예 웹 응용 프로그램의 클래스 경로 (에 jtds.jar를 추가해야합니다

java -cp <path_to_jtds>/jtds.jar <main_class> 

사용하여 응용 프로그램을 시작 응용 프로그램의 web.xml 파일 또는 응용 프로그램의/서버의/lib 디렉토리에 jar 파일을 복사하여).

주 : jTDS jar 파일의 이름은 jtds-1.2.jar 또는 이와 유사한 것일 수 있습니다. 이 경우 위의 예에서 jtds.jar을 jtds-1.2.jar로 바꾸거나 특정 파일 이름을 대체하십시오.

관련 문제