首頁 > 軟體

SpringBoot如何正確連線SqlServer

2023-04-04 06:00:41

一、正確的設定方式

第一種:

maven依賴

<!-- https://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
<dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.3.1</version>
</dependency>

application.yml

spring:
  datasource:
    driverClassName: net.sourceforge.jtds.jdbc.Driver
    url: jdbc:jtds:sqlserver://ip地址:埠號;database=資料庫名字
    username: 賬號
    password: 密碼

第二種: 

maven依賴

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
</dependency>

application.yml

spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://ip地址:埠號;database=資料庫名字;encrypt=false
    username: 賬號
    password: 密碼

二、常見問題

1、驅動程式無法通過使用安全通訊端層(SSL)加密與 SQL Server 建立安全連線

詳細報錯:

nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程式無法通過使用安全通訊端層(SSL)加密與 SQL Server 建立安全連線。錯誤:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:91ed7412-600a-4739-b527-1c083c3aa53e ### The error may exist in com/ruoyi/project/oldoa/mapper/NewsMapper.java (best guess) ### The error may involve com.ruoyi.project.oldoa.mapper.NewsMapper.selectList ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程式無法通過使用安全通訊端層(SSL)加密與 SQL Server 建立安全連線。錯誤:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:91ed7412-600a-4739-b527-1c083c3aa53e

 這個問題是因為沒有選用好idea的jdk工具包,之前我一直使用的是Oracle OpenJDK,應該選用紅框當中的JDK開發工具包就好了,設定方式如下:

2、物件名 'DUAL' 無效

詳細報錯:

com.microsoft.sqlserver.jdbc.SQLServerException: 物件名 ‘DUAL‘ 無效。

 你應該使用了RuoYi的框架,全域性搜尋一下

validationQuery: SELECT 1 FROM DUAL

改成

validationQuery: SELECT 1

因為SQL server 沒有物件DUAL,也就是這個語句在SQL server下面是不能執行的,所以報錯了。

三、總結

以上就是我目前對於SpringBoot連線SqlServer的方式和常見的錯誤的彙總。

到此這篇關於SpringBoot如何正確連線SqlServer的文章就介紹到這了,更多相關SpringBoot連線SqlServer內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com