SQL Server连接从应用程序失败

时间:2017-07-31 04:39:42

标签: sql-server spring-boot

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

运行时遇到以下异常:

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

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

@Bean     public 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:弹簧JDBC”) 编译( “com.microsoft.sqlserver:sqljdbc4:4.0”)

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

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

如果您对此MSSQL连接问题有任何可能的解决方案,那将非常值得注意。

由于

1 个答案:

答案 0 :(得分:1)

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

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