如何改善 SQL 连接

How To Improve SQL Connection

大家好我正在开发的应用程序将数据从 android 应用程序发送到 MS-SQL 服务器和 C# 中的主要 windows 软件,它从MS-SQl 服务器。 问题是程序需要花费太多时间来建立连接,尤其是在 android 应用程序中,有时它会使应用程序崩溃。 顺便说一句,在我们国家,互联网速度有时会变慢。 我搜索了一个解决方案,但在互联网上找不到,我想不出任何解决方法。 我看到 Viber、Watsapp、Massenger 等即使互联网速度很慢,它也会立即或同步发送数据。 所以我可以得到一些帮助和建议。 还有一个连接助手方法:


public 连接 connections(){

    IP="www.examlple.net";
    DB="DB_test";
    DBUserName="admin";
    DBPassword="*****";    
    StrictMode.ThreadPolicy policy= new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    Connection connection=null;
    String connectionURL=null;
    try {
        Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
        connectionURL ="jdbc:jtds:sqlserver://"+IP+";DatabaseName="+DB+";integratedSecurity=true;user="+DBUserName+";password="+DBPassword;

        connection = DriverManager.getConnection(connectionURL);

    } catch (SQLException | ClassNotFoundException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    }
    return connection;
}

为了完整起见,使用 JTDS,您可以在连接字符串上同时设置 loginTimeoutsocketTimeout。参考这些here.

的备注

但正如其他人所说,您应该浏览某种网络 API。您真的要将 SQL 服务器公开到 Internet 吗?

此外,我刚刚注意到您指定了 integrated security=true,并且您还指定了用户名和密码。你不能那样做。一个用于 windows auth(集成安全性),另一个用于 SQL auth(用户和密码)。您将必须使用用户名和密码。但是不要。不要这样做。浏览网页 API.