RM新时代国际平台

  • <div id="r605l"></div>
      1. <th id="r605l"></th>
      2. JDBC連接數(shù)據(jù)庫時出現(xiàn)的常見錯誤解決辦法

        技術更新往往是比較快的,最近在學習JDBC時就因為學習資料比較舊導致出了不少小問題,我使用的mysql版本是8.0.x,mysql-connector版本8.0.x

        應該改為Class.forName("com.mysql.cj.jdbc.Driver");新版本,系統(tǒng)可以自動加載,不用書寫也可以

        老版本url="

        jdbc:mysql://localhost:3306/databaseName"

        新版本url="

        jdbc:mysql://localhost:3306/databaseName?serverTimezone=GMT"這是對時區(qū)的設置,不設置就拋錯,同時這種寫法會有警告,是要求你主動設置是否進行加密校驗,即useSSL=false或者useSSL=true //url中的?之后的是屬性設置

        推薦url="

        jdbc:mysql://localhost:3306/databaseName?useSSL=false&serverTimezone=GMT"

        練習時寫了一個程序拋出這個錯誤,錯誤指向url那一行,仔細與之前程序的程序?qū)Ρ劝l(fā)現(xiàn)沒錯,而且執(zhí)行之前的程序也同樣拋出了這個錯,網(wǎng)上搜索有在url中添加屬性allowPublicKeyRetrieval=true,運行后確實可行,但并不能解釋我之前程序可以運行的程序為什么突然報錯。后來發(fā)現(xiàn)是新版本中ResultSet默認是不可滾動的(行指針只可以用next()方法),而你可能使用了可滾動ResultSet的方法,如isFirst(),isLast(),previous(),relative(),absolute()方法

        解決辦法:要么不用這些方法,要么選擇createStatement(int resultSetType, int resultSetConcurrency)方法而不是createStatement()方法,至于具體參數(shù)可以查APIClass.forName("com.mysql.jdbc.Driver");老版本DriverManager.getConnection(url, userName,password);中 Public Key Retrieval is not allowed錯誤


        下一篇:Linux環(huán)境中Oracle數(shù)據(jù)庫ORA
        RM新时代国际平台
      3. <div id="r605l"></div>
          1. <th id="r605l"></th>
          2. <div id="r605l"></div>
              1. <th id="r605l"></th>
              2. 新时代RM|国际平台 新时代软件下载 RM新时代官网网址 rm新时代是正规平台 新时代rm平台入口