2012-04-03 27 views
0

我是Android的新手,對於這個問題我完全是Java,而且我有一段時間試圖將我的Android應用連接到SQL Server 2005.我知道首選的處理方式數據是通過使用Web服務的,但爲了我的目的,我選擇通過直接的SQL連接進行連接。也就是說,我將JDBC4 jar文件添加到我的項目中,並確保在我的sql服務器上打開了端口1433(我使用Windows桌面應用程序以及我有用的Windows移動應用程序對此進行了測試),但對於我似乎無法讓我的Android應用程序連接做一個權限被拒絕的錯誤:Android上的JDBC

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 
10.0.0.217, port 1433 has failed. Error: "Permission denied. Verify the connection 
properties. Make sure that an instance of SQL Server is running on the host and 
accepting TCP/IP connections at the port. Make sure that TCP connections to the 
port are not blocked by a firewall.". 

我用我的SA用戶名/密碼,再次我在不同的平臺進行測試,所以我在概念上知道至少,它應該工作。以下是連接代碼,我在Eclipse:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
con = DriverManager.getConnection("jdbc:sqlserver://10.0.0.217;databaseName=star","sa","MyPassword"); 

基於我一直在讀什麼,每個人的解決辦法是增加1433到他們的SQL配置,但我已經是,而且我也保證了IP地址已啓用。我感到茫然,但希望有人遇到類似的問題,並提出解決方案。

任何幫助將是偉大的。謝謝。

+0

確保在SQL Server上啓用了TCP/IP網絡庫。默認情況下,它只偵聽命名管道IIRC。 – 2012-04-03 12:35:44

+0

這是,我檢查了本地客戶端和網絡配置,但都確實啓用,並且他們的默認端口設置爲1433. – Aaj 2012-04-03 12:38:55

回答

1
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

你在你的android清單文件中有那條線嗎?

+0

我沒有,沒有看到我需要在任何地方的文檔。我會試一試。 – Aaj 2012-04-03 12:42:14

+0

這工作... sorta。現在它留下了以下錯誤:'com.microsoft.sqlserver.jdbc.SQLServerException:驅動程序無法使用安全套接字層(SSL)加密與SQL Server建立安全連接。錯誤:「套接字已關閉」。「有沒有辦法在清單或連接字符串中禁用SSL(我在網上沒有看到任何內容)? – Aaj 2012-04-03 12:55:23

+0

在相關說明中,將「encrypt = false」放在我的連接字符串中似乎沒有做到。 – Aaj 2012-04-03 13:04:57