Basis Data: MySQL
Saat menulis aplikasi, untuk kenyamanan men-debug program, informasi pengecualian dapat ditampilkan dalam kode penanganan pengecualian, sehingga kode tersebut dapat di-debug sesuai dengan petunjuk kesalahan. Kode penanganan pengecualian biasanya dapat ditulis seperti ini:
mencoba{
…
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
}
Berikut adalah beberapa pesan kesalahan umum:
(1) Pesan error yang muncul saat driver tidak ada adalah sebagai berikut:
java.lang.ClassNotFoundException: com.mysql.jdbc.Drive
Bagian kedua adalah nama driver yang Anda tulis di program.
Solusi: Periksa dengan teliti apakah nama kelas yang ditulis salah. Jika nama kelas tidak salah ditulis, berarti paket terkompresi tempat driver berada belum dimasukkan ke dalam proyek.
(2) Pesan kesalahan yang muncul ketika URL salah ditulis adalah sebagai berikut:
java.sql.SQLException: Tidak ada driver yang sesuai
Solusi: Periksa dengan teliti apakah format URL sudah benar. Format URL dari database yang berbeda berbeda.
(3) Pesan kesalahan yang muncul ketika alamat IP host salah atau jaringan tidak tersedia adalah sebagai berikut:
com.mysql.jdbc.CommunicationsException: Kegagalan tautan komunikasi karena pengecualian mendasar:
** MULAI PENGECUALIAN BERSARANG **
java.net.ConnectException
PESAN: Waktu koneksi habis: sambungkan
STACKTRACE:
java.net.ConnectException: Waktu koneksi habis: koneksi
di java.net.PlainSocketImpl.socketConnect(Metode Asli)
di java.net.PlainSocketImpl.doConnect (Sumber Tidak Dikenal)
di java.net.PlainSocketImpl.connectToAddress (Sumber Tidak Dikenal)
di java.net.PlainSocketImpl.connect (Sumber Tidak Dikenal)
di java.net.SocksSocketImpl.connect (Sumber Tidak Dikenal)
di java.net.Socket.connect (Sumber Tidak Dikenal)
di java.net.Socket.connect (Sumber Tidak Dikenal)
di java.net.Socket.<init>(Sumber Tidak Dikenal)
di java.net.Socket.<init>(Sumber Tidak Dikenal)
di com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:132)
di com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:273)
di com.mysql.jdbc.Connection.createNewIO(Connection.java:1639)
di com.mysql.jdbc.Connection.<init>(Connection.java:393)
di com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:262)
di java.sql.DriverManager.getConnection (Sumber Tidak Dikenal)
di java.sql.DriverManager.getConnection (Sumber Tidak Dikenal)
di tes.JDBCTest.OracleTest(JDBCTest.java:25)
di tes.JDBCTest.main(JDBCTest.java:12)
** AKHIR PENGECUALIAN BERSARANG **
Solusi: Periksa apakah alamat IP sudah benar dan apakah ada masalah dengan jaringan.
(4) Pesan kesalahan jika port salah atau server database tidak dimulai adalah sebagai berikut:
com.mysql.jdbc.CommunicationsException: Kegagalan tautan komunikasi karena pengecualian mendasar:
** MULAI PENGECUALIAN BERSARANG **
java.net.ConnectException
PESAN: Koneksi ditolak: sambungkan
STACKTRACE:
java.net.ConnectException: Koneksi ditolak: koneksi
di java.net.PlainSocketImpl.socketConnect(Metode Asli)
di java.net.PlainSocketImpl.doConnect (Sumber Tidak Dikenal)
di java.net.PlainSocketImpl.connectToAddress (Sumber Tidak Dikenal)
di java.net.PlainSocketImpl.connect (Sumber Tidak Dikenal)
di java.net.SocksSocketImpl.connect (Sumber Tidak Dikenal)
di java.net.Socket.connect (Sumber Tidak Dikenal)
di java.net.Socket.connect (Sumber Tidak Dikenal)
di java.net.Socket.<init>(Sumber Tidak Dikenal)
di java.net.Socket.<init>(Sumber Tidak Dikenal)
di com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:132)
di com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:273)
di com.mysql.jdbc.Connection.createNewIO(Connection.java:1639)
di com.mysql.jdbc.Connection.<init>(Connection.java:393)
di com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:262)
di java.sql.DriverManager.getConnection (Sumber Tidak Dikenal)
di java.sql.DriverManager.getConnection (Sumber Tidak Dikenal)
di tes.JDBCTest.OracleTest(JDBCTest.java:25)
di tes.JDBCTest.main(JDBCTest.java:12)
** AKHIR PENGECUALIAN BERSARANG **
Solusi: Periksa apakah port sudah benar dan apakah server database telah dimulai.
(5) Pesan error yang muncul ketika nama database salah adalah sebagai berikut:
java.sql.SQLException: Basis data 'test2' tidak diketahui
Solusi: Periksa apakah databasenya ada.
(6) Pesan kesalahan yang muncul ketika nama pengguna atau kata sandi salah adalah sebagai berikut:
java.sql.SQLException: Akses ditolak untuk pengguna 'roo'@'localhost' (menggunakan kata sandi: YA)
Solusi: Konfirmasikan bahwa nama pengguna dan kata sandi sudah benar.
(7) Pesan kesalahan yang muncul dari kesalahan nama tabel adalah sebagai berikut:
java.sql.SQLException: Tabel 'test.student1' tidak ada
Solusi: Periksa apakah tabel tersebut ada dan apakah nama tabel yang ditulis salah.
(8) Pesan kesalahan yang muncul dari kesalahan nama kolom adalah sebagai berikut:
java.sql.SQLException: Kolom 'sid' tidak diketahui di 'daftar bidang'
Solusi: Perhatikan lebih dekat nama kolom pada tabel database.
(9) Saat memproses kumpulan hasil, nomor urut kolom yang akan diperoleh lebih besar dari jumlah kolom, atau kurang dari 0
Pesan kesalahan yang diminta adalah sebagai berikut:
java.sql.SQLException: Indeks Kolom di luar jangkauan, 4 > 3.
Latar belakang kesalahan ini adalah hanya ada 3 kolom dalam tabel database, dan rs.getString(4) digunakan saat mengambil informasi. Kesalahan ini mudah dilakukan, terutama saat menggunakan pemrosesan loop.
(10) Saat menjalankan pernyataan penyisipan, jika jumlah kolom dalam tabel berbeda dengan pernyataan penyisipan, pesan kesalahan yang diminta adalah sebagai berikut:
java.sql.SQLException: Jumlah kolom tidak cocok dengan jumlah nilai di baris 1
Latar belakang kesalahan ini adalah: ada 3 kolom dalam tabel database, dan 4 nilai diberikan saat memasukkan.
masukkan ke dalam nilai siswa('0011323','Li Xu',22,99).
(11) Saat menjalankan pernyataan penyisipan, kunci utama diulang.
Pesan kesalahan yang diminta adalah sebagai berikut:
java.sql.SQLException: Entri duplikat '0011323' untuk kunci 1
Latar belakang kesalahan ini adalah: pernyataan SQL dieksekusi dua kali berturut-turut, dan kesalahan terjadi untuk kedua kalinya.
(12) Saat menjalankan pernyataan penyisipan, pesan kesalahan jika nilainya terlalu panjang adalah sebagai berikut:
java.sql.SQLException: Data terlalu panjang untuk kolom 'id' di baris 1
Solusinya, periksa panjang kolom di database.