Android上的JDBC

问题描述:

我是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

<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