当前位置: 首页 > 知识库问答 >
问题:

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

公冶龙野
2023-03-14

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

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

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个答案

艾骏喆
2023-03-14

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

运行ngrok并输入ngrok http 80,它会给你一个如下图所示的地址。

只需在您的应用程序中使用您的ip地址的地方使用url。最好用。

巩衡
2023-03-14

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

试试看,可能这就是问题所在。

 类似资料:
  • 我正在使用Firebase GMS服务开发android应用程序。 我试着按照他们的教程去做,我按照他们说的做了项目,下载了json文件。 但当我尝试将我的应用程序连接到Firebase时。他们告诉我错误 无法解析Android应用程序模块的Gradle配置。解析gardle构建issuse和/或重新同步。 然而,我认为我的等级脚本是完美的(我会把它们写在页面的底部) 这是我的等级构建控制台 这是

  • 免责声明:我知道人们通常不会这样做,我使用SQL数据库是出于成本原因,而且我对编程比较陌生。 我正在尝试从我的Android Studio应用程序向我的MariaDB数据库发送SQL脚本。我目前正在为MariaDB实现一个Java数据库连接(JDBC)驱动程序,但我不确定需要包括什么。 我去了JDBC MariaDB驱动程序的下载网站,但是有很多jar文件,我可以选择下载。你怎么知道你需要哪一个,

  • 我有一个Spring boot应用程序,里面有一个非常简单的Kafka制作人。如果我在没有加密的情况下连接到Kafka集群,一切都会很好。但如果我尝试使用SSL连接到kafka群集,就会超时。在producer中是否需要其他配置,或者需要定义其他属性,以允许spring正确使用所有配置? 我有以下属性设置: 应用程序启动时,将以下结果打印为ProducerConfig: 我的制作人非常简单: 使用

  • 我是Django的新手。我已经创建了一个名为,它在浏览器和邮递员应用程序中都能完美运行。 然而,当我试图从Android应用程序访问API时,它返回NULL。 当API如下所示时,android代码可以工作。 但是,当API为以下API时,它不起作用,即使以下API在同一台PC上运行的浏览器和Postman应用程序中运行良好。 我将代码附加到进行API调用的地方。 有人能帮我吗?提前感谢。

  • 我在Android Studio做了一个登录和注册系统。每当我启动应用程序并登录或向数据库添加新用户时,都会出现以下错误: runtimeException:执行doInBackground()时发生错误 在这里输入代码02-04 16:51:58.079 123 63-12496/com.example.app e/AndroidRuntime:致命异常:AsyncTask#1 java.lan

  • 我设法将我的应用程序连接到firebase存储,我设法看到我上传到它的文档。但我不能把它链接到实时数据库。 数据库的规则: