2017-07-31 77 views
1

雖然我運行我的彈簧啓動應用程序,它試圖將數據存儲到MS SQL服務器數據庫,但無法連接到Microsoft SQL數據庫。SQL服務器連接失敗應用程序

我得到以下異常運行時:

產生的原因:com.microsoft.sqlserver.jdbc.SQLServerException:在TCP/IP連接到主機/ SQLEXPRESS,1433端口出現故障。錯誤:「null。驗證連接屬性,確保SQL Server的一個實例正在主機上運行,​​並在端口上接受TCP/IP連接,確保與端口的TCP連接不被防火牆阻止。

在代碼中,在java類具有主要方法,bean方法 「數據源()」 是如下所示執行:

@Bean 公共數據源數據源(){

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管理工作室,我可以連接到主機system_name/sqlexpress,具有端口1433. 我已檢查SQL服務器配置管理器 - > SQL Server網絡配置 - > SQLEXPRESS協議 - > TCP/IP。 它已啓用,並且在TCP/IP屬性中,IPAll的TCP端口僅設置爲1433。

我無法確定在連接嘗試從springboot應用程序連接時爲什麼沒有連接。

如果您對此MSSQL連接問題有任何可能的解決方案,這是非常可觀的。

感謝

回答

0

基本上你需要配置TCP/IP中的硬編碼的方式。 如何做到這一點是很好這裏configuring SpringBoot for MSSQL explaned:

  • 從開始菜單,打開SQL Server 2014配置管理器。
  • 單擊左窗格中「SQL Server網絡配置」下SQLEXPRESS的協議。
  • 在右側窗格中,右鍵單擊「TCP/IP」,然後選擇「屬性」。
  • 在出現的TCP/IP屬性對話框中,單擊IP地址選項卡。向下滾動以找到IPALL節點。
  • 刪除TCP動態端口的任何值(如果存在),併爲TCP端口指定1433。
  • 現在單擊確定並重新啓動您的SQL Server。