【问题标题】:How To Improve SQL Connection如何改善 SQL 连接
【发布时间】:2020-10-26 11:36:40
【问题描述】:

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


公共连接连接(){

    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;
}

【问题讨论】:

  • 如果您的连接速度较慢,您无能为力。但是可以实现一个重试流程medium.com/@pramodsachintha/…
  • @pix 好的,我同意你的观点,但即使互联网很好,建立连接也需要时间>
  • 使用连接池。更好的是,不要通过网络从移动设备执行 SQL,而是让移动设备与网络服务通信,网络服务反过来执行 SQL 语句。这就是你提到的所有应用程序正在做的事情。
  • @Andreas 是对的,您应该/必须使用专用的网络服务。
  • 用于与数据库“对话”的通信协议通常不适用于高延迟网络。这使得直接使用数据库存在问题:速度慢并且可能不安全。这也是人们几乎总是创建“API*:处理数据库的 Web 服务”的原因之一。

标签: java c# android sql-server mssql-jdbc


【解决方案1】:

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

但正如其他人所说,您应该通过某种 Web API。您真的想将您的 SQL 服务器暴露在互联网上吗?

另外,我刚刚注意到您指定了integrated security=true,并且您还指定了用户名和密码。你不能那样做。一种用于 Windows 身份验证(集成安全),另一种用于 SQL 身份验证(用户和密码)。您必须使用用户名和密码。但是不要。不要这样做。通过网络 API。

【讨论】:

  • 谢谢你和其他人说我可能会使用网络服务而不是直接 SQL 连接。
猜你喜欢
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多