我的Android应用程序未连接到我的SQL Server

时间:2018-08-19 07:18:17

标签: android sql-server

我正在制作一个用于用户登录的应用程序,执行模拟器时,我可以注册用户,并验证我在数据库中的用户库存,但是当我在手机上执行该应用程序时,它不会连接到我的数据库

这是我与数据库的连接代码:

public class ConnectionDB extends AppCompatActivity {

Connection connection;
    private static String ip = "192.168.1.9";  //"192.168.33.1";
    private static String port = "1433";
    private static String classs = "net.sourceforge.jtds.jdbc.Driver";
    private static String db = "PHOTOGO";
    private static String user = "mizrahijulio";
    private static String password = "julio1207";

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        }

    //Connection method
    public Connection connectBD(){
         connection=null;
        try {
            //Acces Permition to DB
            StrictMode.ThreadPolicy policicy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policicy);

            Class.forName(classs).newInstance();
            connection= DriverManager.getConnection("jdbc:jtds:sqlserver://"+ip+":"+port+";databaseName="+db+";user="+user+";password="+password+";instance=SQLEXPRESS;");


        }catch(SQLException sq){
            Toast.makeText(getApplicationContext(),sq.getMessage(),Toast.LENGTH_SHORT).show();
        }
        catch (ClassNotFoundException cfe){
            Toast.makeText(getApplicationContext(),cfe.getMessage(),Toast.LENGTH_SHORT).show();
        }
        catch (Exception e){
            Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show();
        }

        return connection;
    }

    public Connection CloseConnection() throws SQLException {
try{
        if(connection!=null){
             connection.close();}
}
        catch(SQLException sq){
            Toast.makeText(getApplicationContext(),sq.getMessage(),Toast.LENGTH_SHORT).show();
        }
        return connection;
}

2 个答案:

答案 0 :(得分:0)

如果您的数据库是本地数据库,则您的手机和服务器计算机必须连接到同一网络。可能就是问题所在,如果您的电话连接到SIM网络或与服务器计算机网络不同的任何其他网络,而您尝试访问它,则不会。在谈论您的模拟器时,它显然已连接到服务器网络,因此可以正常工作。

尝试一下,可能就是问题所在。

答案 1 :(得分:0)

如果您具有wifi,并且计算机和真实设备(移动设备)已连接到同一wifi,则可以使用NGROK软件工具在真实设备中运行和调试您的应用。

运行ngrok.exe并输入 ngrok http 80 ,它将为您提供一个如下图所示的地址。

Click

只需在您使用IP地址的应用中使用该网址即可。 最好使用。