2011-10-03 184 views

回答

5

在ANDROID上使用JTDS直接訪問SQLSERVER時出現錯誤「ClassNotFoundException」?

經過3個小時的RND,找出解決方案以上相同的錯誤。我沒有得到代碼中沒有錯誤,我也有導入「jtds-1.3.0」庫正常繼續調試代碼仍然一次又一次地得到相同的錯誤。

{ 
Class.forName("net.sourceforge.jtds.jdbc.Driver"); 

Connection conn = DriverManager.getConnection(
db_connect_string, db_userid, db_password); 
} 

我試圖替代,改變線

...... Class.forName("net.sourceforge.jtds.jdbc.Driver"); 

...... (new Driver()).getClass(); 

...... (new Driver()) 

,當我嘗試了所有的這些,我因子評分有可能是JTDS-1.3.0庫中的問題,我做了什麼,只需下載舊版本jtds-1.2.5並導入;並解決問題。

所以,那裏的朋友如果你得到相同的錯誤,並嘗試不同的方式已經嘗試過。

+2

注意我試着'jtds-1.3.0',並測試它通過使JAVA應用程序,它工作正常,但它不工作與ANDROID。 .. 完成知道爲什麼! – smkrn110

+0

我有同樣的錯誤,我使用1.3.0,並使其Java應用程序的工作,但沒有在Android上工作,所以我下載jtds-1.2.5.jar並用jtds-1.3.0替換。它的工作。 – smkrn110

3

這很奇怪,有就是JTDS網站上沒有的示例代碼。我發現這一點,它可能是有益的:

http://www.java-tips.org/other-api-tips/jdbc/how-to-connect-microsoft-sql-server-using-jdbc-3.html

import java.sql.*; 

public class testConnection 
{ 
    public static void main(String[] args) 
    { 
     DB db = new DB(); 
     db.dbConnect("jdbc:jtds:sqlserver://localhost:1433/tempdb","sa",""); 
    } 
} 

class DB 
{ 
    public DB() {} 

    public voidn 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(); 
     } 
    } 
}; 

編輯:
你會得到ClassNotFoundException異常,當你的主類不能被發現。找到你AndroidManifest.xml以下行確保它們是正確的:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.ezee.app" 
/*...*/ 
<activity android:name=".connect12" 

還要確保類存在於your_project_folder/src/com/ezee/app/connect12(區分大小寫我認爲)

+1

我運行你的代碼我得到錯誤我發佈logcat如下 – Piyush

+0

@Piyush看到我的編輯 – Caner

0
以我的經驗

,如果你使用的是Android與SQL Server的獨立安裝,根據Android的具體情況,您必須使用10.0.2.2地址而不是「localhost」或「127.0.0.1」來訪問本地主機服務器。

我試過了,並已成功連接到我的SQL Server。

0
Exception in thread "main" java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at com.test.objectref.GroupBy.main(GroupBy.java:12) 

要解決此問題,必須添加Jtds lib

相關問題