最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDBC 程序的常見錯誤及調(diào)試方法

 更新時間:2009年06月04日 17:44:15   作者:  
本文是《Java Web開發(fā)教程——入門與提高篇(JSP+Servlet)》一書《第9章 JDBC技術(shù)》的補充內(nèi)容。
數(shù)據(jù)庫:MySQL

在編寫應(yīng)用的時候,為了調(diào)試程序方便,可以在異常處理代碼中把異常信息顯示出來,這樣可以根據(jù)錯誤提示調(diào)試代碼。異常處理代碼通??梢詫懗蛇@樣:
try{

}catch(Exception e){
System.out.println(e.toString());
}
下面是一些常見的錯誤信息:
(1)驅(qū)動程序不存在
提示的錯誤信息如下:
java.lang.ClassNotFoundException: com.mysql.jdbc.Drive
后半部分是您在程序中寫的驅(qū)動程序的名字。
解決方法:仔細(xì)檢查類名是否寫錯,如果類名沒有寫錯,則是驅(qū)動程序所在的壓縮包沒有引入工程,想辦法引入。
(2)URL寫錯
提示的錯誤信息如下:
java.sql.SQLException: No suitable driver
解決方法:仔細(xì)檢查URL的格式是否正確,不同數(shù)據(jù)庫的URL格式不同。
(3)主機IP地址不正確或者網(wǎng)絡(luò)不通
提示的錯誤信息如下:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection timed out: connect

STACKTRACE:

java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:132)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:273)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1639)
at com.mysql.jdbc.Connection.<init>(Connection.java:393)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:262)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.JDBCTest.oracleTest(JDBCTest.java:25)
at test.JDBCTest.main(JDBCTest.java:12)
** END NESTED EXCEPTION **
解決方法:查看IP地址是否正確,網(wǎng)絡(luò)是否有問題。
(4)端口錯誤或者數(shù)據(jù)庫服務(wù)器沒有啟動
提示的錯誤信息如下:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection refused: connect

STACKTRACE:

java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:132)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:273)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1639)
at com.mysql.jdbc.Connection.<init>(Connection.java:393)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:262)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.JDBCTest.oracleTest(JDBCTest.java:25)
at test.JDBCTest.main(JDBCTest.java:12)


** END NESTED EXCEPTION **
解決方法:查看端口是否正確,數(shù)據(jù)庫服務(wù)器是否啟動。
(5)數(shù)據(jù)庫名字不正確
提示的錯誤信息如下:
java.sql.SQLException: Unknown database 'test2'
解決方法:查看數(shù)據(jù)庫是否存在。
(6)用戶名或者口令不正確
提示的錯誤信息如下:
java.sql.SQLException: Access denied for user 'roo'@'localhost' (using password: YES)
解決方法:確認(rèn)用戶名和口令是否正確。
(7)表名錯誤
提示的錯誤信息如下:
java.sql.SQLException: Table 'test.student1' doesn't exist
解決方法:查看表是否存在,表名是否寫錯。
(8)列名錯誤
提示的錯誤信息如下:
java.sql.SQLException: Unknown column 'sid' in 'field list'
解決方案:仔細(xì)查看數(shù)據(jù)庫表中的列名。
(9)處理結(jié)果集的時候,要獲取的列的序號大于列數(shù),或者小于0
提示的錯誤信息如下:
java.sql.SQLException: Column Index out of range, 4 > 3.
這個錯誤產(chǎn)生的背景是:數(shù)據(jù)庫表中只有3列,而在取信息的時候使用了rs.getString(4),尤其是在使用循環(huán)處理的時候容易犯這樣的錯誤。
(10)執(zhí)行insert語句的時候,表中的列數(shù)與插入語句中的不相同
提示的錯誤信息如下:
java.sql.SQLException: Column count doesn't match value count at row 1
該錯誤產(chǎn)生的背景是:數(shù)據(jù)庫表中有3列,而插入的時候給了4個值,SQL語句如下:
insert into student values('0011323','李旭',22,99)。
(11)執(zhí)行insert語句的時候,主鍵重復(fù)。
提示的錯誤信息如下:
java.sql.SQLException: Duplicate entry '0011323' for key 1
該錯誤產(chǎn)生的背景是:1條SQL語句連續(xù)執(zhí)行了兩遍,第二遍就出錯了。
(12)執(zhí)行insert語句的時候,值過長
提示的錯誤信息如下:
java.sql.SQLException: Data too long for column 'id' at row 1
解決方案,查看數(shù)據(jù)庫中列的長度。

相關(guān)文章

  • springboot訪問請求404的原因及解決辦法

    springboot訪問請求404的原因及解決辦法

    在使用Spring Boot開發(fā)應(yīng)用程序時,有時可能會遇到訪問請求出現(xiàn)404錯誤的情況,即請求的資源未找到,這篇文章主要給大家介紹了關(guān)于springboot訪問請求404的原因及解決辦法,需要的朋友可以參考下
    2023-09-09
  • Java點餐小程序之黑心商人

    Java點餐小程序之黑心商人

    這篇文章主要介紹了一個Java編程的小程序-點餐系統(tǒng),算是對之前所學(xué)習(xí)的Java基礎(chǔ)知識作了一個匯總,需要的朋友可以參考下
    2017-09-09
  • 一種新的日期處理方式之JavaScript Temporal API

    一種新的日期處理方式之JavaScript Temporal API

    JavaScript Temporal API是一種為Web開發(fā)人員提供了一種新的處理日期和時間數(shù)據(jù)類型的方式。它的目的是使操作日期和時間更加簡單和可靠,而且不用擔(dān)心歷史時區(qū)問題或全球化協(xié)調(diào)時間(UTC)之類的問題,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • Java基于JDBC連接數(shù)據(jù)庫及顯示數(shù)據(jù)操作示例

    Java基于JDBC連接數(shù)據(jù)庫及顯示數(shù)據(jù)操作示例

    這篇文章主要介紹了Java基于JDBC連接數(shù)據(jù)庫及顯示數(shù)據(jù)操作,結(jié)合實例形式分析了Java使用jdbc進行mysql數(shù)據(jù)庫連接與數(shù)據(jù)讀取、顯示等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • java 全角半角字符轉(zhuǎn)換如何實現(xiàn)

    java 全角半角字符轉(zhuǎn)換如何實現(xiàn)

    在java中可能會用到過全角半角字符轉(zhuǎn)換問題,于是網(wǎng)上搜索整理了一下,曬出來和大家分享,希望可以幫助你們
    2012-12-12
  • 三種簡單排序算法(使用java實現(xiàn))

    三種簡單排序算法(使用java實現(xiàn))

    下面小編就為大家?guī)硪黄N簡單排序算法(使用java實現(xiàn))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • java調(diào)用FFmpeg實現(xiàn)視屏壓縮功能的詳細(xì)步驟

    java調(diào)用FFmpeg實現(xiàn)視屏壓縮功能的詳細(xì)步驟

    這篇文章主要介紹了java調(diào)用FFmpeg實現(xiàn)視屏壓縮功能,本文簡單的展示了java調(diào)用FFmpeg命令實現(xiàn)視屏的壓縮的詳細(xì)步驟,需要的朋友可以參考下
    2021-09-09
  • 一篇文章帶你Java多線程入門

    一篇文章帶你Java多線程入門

    這篇文章主要為大家介紹了Java多線程入門,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java實現(xiàn)隨機抽獎的三種方法

    Java實現(xiàn)隨機抽獎的三種方法

    在Java中實現(xiàn)隨機抽獎的方法,通常我們會使用java.util.Random類來生成隨機數(shù),然后基于這些隨機數(shù)來選擇中獎?wù)?以下將給出幾種常見的隨機抽獎實現(xiàn)方式,需要的朋友可以參考下
    2024-09-09
  • Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    本文主要介紹了Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

星座| 体育| 肥东县| 施甸县| 南投市| 曲靖市| 增城市| 焦作市| 乌兰察布市| 靖宇县| SHOW| 葫芦岛市| 扶余县| 岳普湖县| 兴宁市| 巴中市| 日喀则市| 巨野县| 茌平县| 阜阳市| 吉安县| 韩城市| 永川市| 泽州县| 广州市| 贞丰县| 安丘市| 天水市| 田东县| 望奎县| 黄山市| 大竹县| 昆山市| 兴业县| 公主岭市| 新巴尔虎左旗| 彭山县| 瓮安县| 宝清县| 绍兴市| 嘉定区|