RM新时代国际平台

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

        技術(shù)更新往往是比較快的,最近在學(xué)習(xí)JDBC時(shí)就因?yàn)閷W(xué)習(xí)資料比較舊導(dǎo)致出了不少小問(wèn)題,我使用的mysql版本是8.0.x,mysql-connector版本8.0.x

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

        老版本url="

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

        新版本url="

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

        推薦url="

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

        練習(xí)時(shí)寫了一個(gè)程序拋出這個(gè)錯(cuò)誤,錯(cuò)誤指向url那一行,仔細(xì)與之前程序的程序?qū)Ρ劝l(fā)現(xiàn)沒(méi)錯(cuò),而且執(zhí)行之前的程序也同樣拋出了這個(gè)錯(cuò),網(wǎng)上搜索有在url中添加屬性allowPublicKeyRetrieval=true,運(yùn)行后確實(shí)可行,但并不能解釋我之前程序可以運(yùn)行的程序?yàn)槭裁赐蝗粓?bào)錯(cuò)。后來(lái)發(fā)現(xiàn)是新版本中ResultSet默認(rèn)是不可滾動(dòng)的(行指針只可以用next()方法),而你可能使用了可滾動(dòng)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錯(cuò)誤


        下一篇:Linux環(huán)境中Oracle數(shù)據(jù)庫(kù)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平台入口