Anda menyatakan bahwa Anda menjalankan kumpulan pernyataan SQL, jadi saya berasumsi bahwa Anda menggunakan executeBatch
. Saat Anda executeBatch
sekumpulan pernyataan, beberapa pernyataan mungkin berhasil dan beberapa pernyataan mungkin gagal. Jika satu pernyataan gagal, itu tidak berarti bahwa driver JDBC mengembalikan pernyataan yang berhasil. Driver JDBC dapat memilih untuk mencoba mengeksekusi semua pernyataan dalam batch jika satu pernyataan gagal atau mungkin memilih untuk berhenti mengeksekusi pernyataan dalam batch setelah pernyataan gagal (kedengarannya seperti driver yang Anda gunakan memilih untuk berhenti mengeksekusi pernyataan sebagai segera setelah terjadi kegagalan).
Ketika satu pernyataan dalam satu batch gagal, Anda akan mendapatkan BatchUpdateException
. Di penangan pengecualian Anda, Anda perlu memanggil getUpdateCounts
. Itu akan memberi Anda array int
yang memberi tahu Anda berapa banyak baris pernyataan yang diperbarui, sebuah Statement.SUCCESS_NO_INFO
menunjukkan pernyataan berhasil tetapi tidak ada jumlah baris yang tersedia, atau Statement.EXECUTE_FAILED
menunjukkan bahwa pernyataan tersebut gagal. Jika 99 pernyataan pertama berhasil, pernyataan ke-100 menghasilkan kesalahan, dan pernyataan lainnya tidak dieksekusi, Anda harus mendapatkan kembali larik 100 elemen di mana 99 elemen pertama menunjukkan keberhasilan dan elemen ke-100 menunjukkan Statement.EXECUTE_FAILED
. Kode Anda kemudian perlu mencoba kembali pernyataan yang tidak dieksekusi (dalam hal ini, pernyataan 101-1000).