国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

解決idea [08S01] 無法連接 sql server 數(shù)據(jù)庫,報(bào)錯(cuò):驅(qū)動(dòng)程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接

這篇具有很好參考價(jià)值的文章主要介紹了解決idea [08S01] 無法連接 sql server 數(shù)據(jù)庫,報(bào)錯(cuò):驅(qū)動(dòng)程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

因?yàn)閟ql server在jdbc連接的時(shí)候需要一定的安全驗(yàn)證,只需要在dbURL中把;trustServerCertificate=true加上后令其跳過就行了

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
 
public class Main {
    private static Connection dbConn = null;
 
    public static void main(String[] args) {
        String dbURL = "jdbc:sqlserver://localhost:1433;database=sjkjc;";//這里輸入自己的數(shù)據(jù)庫名稱(即將Stu改為你自己的數(shù)據(jù)庫名稱)其余都可以不做修改
        try {
            //1.加載驅(qū)動(dòng)
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("加載驅(qū)動(dòng)成功!");
            //2.連接
            dbConn = DriverManager.getConnection(dbURL, "sa", "123");//這里的密碼改為第一步你所修改的密碼,用戶名一般就為"sa"
            System.out.println("連接數(shù)據(jù)庫成功!");
            String sql="select Sname from Student";//這個(gè)語句就是表的查詢語句,按照你所建的表修改名稱
            PreparedStatement statement=null;
            statement=dbConn.prepareStatement(sql);
            ResultSet res=null;
            res=statement.executeQuery();
            while(res.next()){
                String title=res.getString("sname");
                System.out.println(title);
            }
        }catch(Exception e) {
            e.printStackTrace();
            System.out.println("連接數(shù)據(jù)庫失??!");
        }
 
    }
}

上面的代碼報(bào)錯(cuò)如下:

D:\JDK\jdk-11.0.18\bin\java.exe "-javaagent:D:\idea\IntelliJ IDEA 2023.1\lib\idea_rt.jar=54456:D:\idea\IntelliJ IDEA 2023.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\張藝達(dá)\IdeaProjects\untitled\out\production\untitled;D:\JDBC\sqljdbc_12.2\chs\mssql-jdbc-12.2.0.jre11.jar Main
加載驅(qū)動(dòng)成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 驅(qū)動(dòng)程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接。錯(cuò)誤:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。 ClientConnectionId:90f72b77-2a96-4ca6-b51f-995cd5499215
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3937)
	at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1950)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3456)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:3077)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2919)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1787)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1229)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
	at Main.main(Main.java:15)
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:369)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:478)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:456)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:199)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1296)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:416)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:388)
	at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1839)
	... 8 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
	at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
	at java.base/sun.security.validator.Validator.validate(Validator.java:264)
	at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:233)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:110)
	at com.microsoft.sqlserver.jdbc.HostNameOverrideX509TrustManager.checkServerTrusted(SQLServerTrustManager.java:86)
	at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:1510)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
	... 20 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
	at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
	... 28 more
連接數(shù)據(jù)庫失敗!
 
進(jìn)程已結(jié)束,退出代碼0

在dbURL中把;trustServerCertificate=true加上后就沒有報(bào)錯(cuò)了

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
 
public class Main {
    private static Connection dbConn = null;
 
    public static void main(String[] args) {
        String dbURL = "jdbc:sqlserver://localhost:1433;database=sjkjc;trustServerCertificate=true";//這里輸入自己的數(shù)據(jù)庫名稱(即將Stu改為你自己的數(shù)據(jù)庫名稱)其余都可以不做修改
        try {
            //1.加載驅(qū)動(dòng)
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("加載驅(qū)動(dòng)成功!");
            //2.連接
            dbConn = DriverManager.getConnection(dbURL, "sa", "123");//這里的密碼改為第一步你所修改的密碼,用戶名一般就為"sa"
            System.out.println("連接數(shù)據(jù)庫成功!");
            String sql="select Sname from Student";//這個(gè)語句就是表的查詢語句,按照你所建的表修改名稱
            PreparedStatement statement=null;
            statement=dbConn.prepareStatement(sql);
            ResultSet res=null;
            res=statement.executeQuery();
            while(res.next()){
                String title=res.getString("sname");
                System.out.println(title);
            }
        }catch(Exception e) {
            e.printStackTrace();
            System.out.println("連接數(shù)據(jù)庫失敗!");
        }
 
    }
}

無報(bào)錯(cuò)

因?yàn)閟ql server在jdbc連接的時(shí)候需要一定的安全驗(yàn)證,
只需要在dbURL中把;trustServerCertificate=true加上后令其跳過就行了文章來源地址http://www.zghlxwxcb.cn/news/detail-842784.html

到了這里,關(guān)于解決idea [08S01] 無法連接 sql server 數(shù)據(jù)庫,報(bào)錯(cuò):驅(qū)動(dòng)程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包