Android到SQLServer连接的连接字符串形成

时间:2013-09-07 06:04:58

标签: android sql-server-2008

我正在尝试连接到Android的SqlServer 2008r2数据库。

似乎我的连接字符串没有正确形成。

我遇到以下错误:

  

com.microsoft.sqlserver.jdbc.SQLServerException:与...的连接   主机10.0.2.2,命名实例14graficali \ mssqlserver20081433失败。   错误:“java.net.SocketException:Permission denied”。验证   服务器和实例名称,并检查没有防火墙阻止UDP   到端口1434的流量。对于SQL Server 2005或更高版本,请验证   SQL Server Browser Service正在主机上运行。

我的SqlInstance:

enter image description here

我形成的连接字符串:

String dbName = "AndroidDB";
     String serverip="10.0.2.2";
     String serverport="1433";
     String url = "jdbc:sqlserver://"+serverip+"\\14GRAFICALI\\MSSQLSERVER2008"+serverport+";databaseName="+dbName+"";

我正在实施的整个代码:

public class MainActivity extends Activity {


     String dbName = "AndroidDB";
     String serverip="10.0.2.2";
     String serverport="1433";
     String url = "jdbc:sqlserver://"+serverip+"\\14GRAFICALI\\MSSQLSERVER2008"+serverport+";databaseName="+dbName+"";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TextView tvData=(TextView)findViewById(R.id.tvSelectedData);

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
            Connection conn =DriverManager.getConnection(url);                   

            Statement statement=conn.createStatement();
            ResultSet resultSet=statement.executeQuery("select * from UserMaster");
            while(resultSet.next()){
                tvData.setText(" Data1 : "+resultSet.getString(1)+"  Data 2 : "+resultSet.getNString(2));
            }

        } catch (Exception e) {
            e.printStackTrace();
            tvData.setText(e.getMessage());
        }



    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

2 个答案:

答案 0 :(得分:1)

转到Android项目下的AndroidManifest.xml文件,打开它并添加以下行:

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

答案 1 :(得分:1)

当我们将Android连接到SQLServer时,有一些步骤需要愚蠢。

我已经在这里提到了我的答案中的每一个详细步骤:

Class not found although particular jar is added in project (android to sqlserver without webservice)

请按照各个阶段进行操作,我相信您将克服所有错误。