2013-03-04 85 views
0

我是Android开发的初学者。现在我试图通过在另一台(服务器)机器上运行的emulator.MS SQL 2008 R2连接MS SQL 2008 R2。我得到以下错误:如何在Android模拟器中使用jdbc连接到mssql服务器?

The TCP/IP connection to the host xxx.xxx.xx.x\SQL2008R2DEV has failed; 
error: null; 
verify connection properties. 
make sure that instance of SQL server running on the host and accepting TCP/IP connection to the port are not blocked by Windows Firewall. 

注意我已经在java应用程序中做了这个。也可以访问我的数据库。 但为什么不能在android程序中? 有什么想法?

注意:两个服务器和我的PC都通过LAN连接。

+0

在您之前的问题中,建议您不要使用JDBC。在这个问题中,你正在问同样的事情。我们不欢迎多次提出同样的问题,给出不同的标题,但解释相同的问题。 – NewUser 2013-03-04 09:23:18

+0

@ Dibya,对不起,我是新来的stackoverflow,所以我不知道如何使用它。 – 2013-03-04 09:54:40

回答

1

您无法直接访问远程数据库,只能通过android中的web服务访问。也不会在主线程中使用Asynctask编写任何与网络相关的任务。如果发布代码,您将如何访问更有用。

+0

你可以给一些样本webservice – 2013-03-04 06:21:56

+0

你可以谷歌它实际上不知道如何编写web服务你可以按照你的要求在JAVA或.NET中搜索它 – Narendra 2013-03-04 06:31:41

+0

k谢谢我会尝试 – 2013-03-04 06:36:35

5

是的,它可以从android模拟器连接到MSSQL。例如,如果其他系统具有IP 192.168.1.2,那么您可以在模拟器中使用相同的IP连接到数据库。无论如何,在Android中使用JDBC是不鼓励的。 Thislink将解释为什么不建议在Android中使用JDBC。这是如何使用JDBC连接MSSQL数据库:

try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 
     Connection conn =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=msdibya;user=dibya;password=dibya;");     

     System.out.println("connected"); 
     Statement statement=conn.createStatement(); 
     ResultSet resultSet=statement.executeQuery("select * from [user]"); 
     while(resultSet.next()){ 
      System.out.println(" "+resultSet.getString(1)+" "+resultSet.getNString(2)); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

我希望你有正确的jar文件。不要忘记导入它们。

+0

你可以给一些样本?我尝试这个,但得到一些错误。你能帮我吗 – 2013-03-04 07:08:35

+0

@Imran:你想和JDBC连接还是改变了主意? – NewUser 2013-03-04 07:10:54

+0

不,我想使用jdbc连接.. – 2013-03-04 07:11:44

0

不建议从android创建MSSQL连接,它更好地在服务器中创建Web服务并在android中使用Web服务。

相关问题