2013-05-14 75 views
0

首先,也許這可能是一個轉發:https://stackoverflow.com/questions/13078271/trying-to-use-jtds-in-android-project,不知道,但似乎沒有答案,在這篇文章中我會嘗試在這裏,問題是,即時嘗試連接到一個MS SQL 2k5通過 JTDS(雖然JTDS連接是好的,我嘗試了一個純java測試 ,並可以連接成功)在android與ADT(eclipse),它無法找到類的類路徑獲取典型異常ClassNotFoundException,因爲我沒有遇到這個問題之前,我做了所有我知道的解決它(除了通過命令行運行程序與「java -cp」,因爲我不知道如何做到這一點與達爾維克,所以我通過「構建路徑」eclipse選項設置類路徑 ,將jar放在libs /下,在發生異常的xxx次失敗後,我清除libs /和remo中的所有jar通過「構建路徑」選項將所有罐子打包,清理項目並重新啓動eclipse,再次設置罐子,仍然有相同的異常,仍然待定;配置變量通過Windows的classpath變量,任何其他想法傢伙?JTDS爲MS SQL在Android與ADT

軟件: Windows 7專業版32位 JDK 1.7 ADT蝕 JTDS 1.3(最新現在在他們的網頁) MS SQL 2K5 的Android 4.2.2

注意:如果需要的代碼,要求它(我不認爲是必要的,相同的代碼在純Java中通過netbeans運行完美的 )。

回答

1

似乎這是一個難以觸及的話題(無法回答的原因),無論如何,我解決了這個問題,在這裏我會一步一步離開它。

1:安裝MS SQL 2K5(注意穿上混合(窗口AUTH和SQL用戶DB訪問的/傳遞和extrictly置於SA用戶這是強制性的)的密碼

2:安裝MS SQL管理工作室(如果你想讓事情變得更簡單,這是可選的)通過GUI創建數據庫並證明你正在插入的東西(或者你正在做的任何事情)與Android設備是真的正在完成。 :配置您的MS SQL,轉到:SQL服務器配置管理器; SQL Express協議; TCP/IP 在第一個選項卡(協議)中將「啓用」設置爲yes,然後在IP選項卡中,將ipv4設置爲啓用YES,啓用ipv2是的在IPALL把TCP端口1433

4:現在去你JTDS-1.2.x的-dist的文件夾,進入到86(如果32位操作系統的情況下,到64,然後64 文件夾),那麼SSO和複製ntlmauth。 dll給你jdk/bin或者jre/bin文件夾。

5:我不會在這裏貼上我的所有代碼,但字符串連接是一件重要的事情:

conn = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.3.67:1433/androiddb", "sa", "1013") 

6:注意,用於從Android設備連接ip是ipv2,而不是如果使用ipv4默認的127.0.0.1或localhost,那麼它將無法工作,請使用ipv2版本。

我測試從一個真正的Android設備,完全三星銀河標籤,如果你嘗試從 模擬器也許你必須使用10.0.2.2 IP,不知道這一點,因爲我沒有測試它,一更重要的是,當我寫這個1.3.0 jtds不適用於android 4.2時,這就是爲什麼我在jtds中說要查看你的jtds-1.2.x-dist,現在你必須使用1.2.x版本。

希望這有助於任何人,問候。

+0

嗨,我可以知道你是否收到任何錯誤,如「字符集0x0904000128/Cp850不被JVM支持。」在發展過程中?我在android中遇到這個錯誤,並且當我在純JAVA上測試它時,它工作正常。你有什麼想法如何解決這個問題?謝謝 – AuroraBlaze