【问题标题】:SQL server connection failed from application应用程序的 SQL 服务器连接失败
【发布时间】:2017-07-31 04:39:42
【问题描述】:

当我运行试图将数据存储到 MS SQL 服务器数据库中的 Spring Boot 应用程序时,它无法连接到 Microsoft SQL 数据库。

我在运行时遇到以下异常:

原因:com.microsoft.sqlserver.jdbc.SQLServerException:与主机 /sqlexpress、端口 1433 的 TCP/IP 连接失败。错误:“null。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止。”。

在代码中,在具有main方法的java类中,bean方法“dataSource()”的实现如下所示:

@豆 公共数据源 dataSource(){

    final DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    dataSource.setUrl("jdbc:sqlserver://<system_name>/sqlexpress:1433;databaseName=databasename");
    dataSource.setUsername("username");
    dataSource.setPassword("password");
    return dataSource;
}

我正在尝试使用 JdbcTemplate 进行连接。 在gradle依赖中,添加了如下依赖:

编译("org.springframework:spring-jdbc") 编译("com.microsoft.sqlserver:sqljdbc4:4.0")

从 Microsoft SQL Server 2014 Management Studio,我可以连接到主机 system_name/sqlexpress,端口为 1433。 我检查了 SQL 服务器配置管理器 --> SQL Server 网络配置 --> SQLEXPRESS 的协议 --> TCP/IP 。 它已启用,并且在 TCP/IP 属性中,IPAll 的 TCP 端口仅设置为 1433。

从 springboot 应用程序尝试连接时,我无法确定为什么它没有连接。

如果您对此 MSSQL 连接问题有任何可能的解决方案,我们将非常感激。

谢谢

【问题讨论】:

    标签: sql-server spring-boot


    【解决方案1】:

    基本上,您需要以硬编码的方式配置 TCP/IP。 如何做到这一点在这里得到很好的解释configuring SpringBoot for MSSQL

    • 从“开始”菜单中,打开 SQL Server 2014 配置管理器。
    • 单击左侧窗格中 SQL Server 网络配置下的 SQLEXPRESS 协议。
    • 在右窗格中,右键单击 TCP/IP,然后选择属性。
    • 在出现的 TCP/IP 属性对话框中,单击 IP 地址选项卡。向下滚动以找到 IPALL 节点。
    • 删除任何值(如果 TCP 动态端口存在)并为 TCP 指定 1433 港口。
    • 现在单击“确定”并重新启动 SQL Server。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 2021-04-28
      • 2014-10-24
      • 1970-01-01
      • 2017-11-09
      • 2016-06-12
      • 1970-01-01
      相关资源
      最近更新 更多