Класс BatchUpdateException

Все реализованные интерфейсы:
Serializable, Iterable<Throwable>
public class BatchUpdateException
extends SQLException

Подкласс SQLException, выбрасываемый при возникновении ошибки во время операции пакетного обновления. Помимо информации, предоставляемой SQLException, массив BatchUpdateException содержит количество обновлений для всех команд, успешно выполненных во время пакетного обновления, то есть для всех команд, выполненных до возникновения ошибки. Порядок элементов в массиве счётов обновлений соответствует порядку добавления команд в пакет.

После того, как команда в пакетном обновлении не выполняется корректно, и выбрасывается BatchUpdateException, драйвер может или не может продолжить обработку оставшихся команд в пакете. Если драйвер продолжает обработку после ошибки, массив, возвращаемый методом BatchUpdateException.getUpdateCounts, будет содержать элемент для каждой команды в пакете, а не только для команд, успешно выполненных до ошибки. В случае, если драйвер продолжает обработку команд, элемент массива для любой команды, которая не выполнилась, будет Statement.EXECUTE_FAILED.

Реализация JDBC-драйвера должна использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) вместо конструкторов, принимающих int[] для счётов обновлений, чтобы избежать возможности переполнения.

Если вызывается метод Statement.executeLargeBatch, рекомендуется вызвать getLargeUpdateCounts вместо getUpdateCounts, чтобы избежать возможного переполнения целого счёта обновления.

С:
1.2
См. также:
Сериализованная форма

Конструкторы

Конструктор Описание
BatchUpdateException()

Создаёт объект BatchUpdateException.

BatchUpdateException​(int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным updateCounts.

BatchUpdateException​(int[] updateCounts, Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным cause и updateCounts.

BatchUpdateException​(String reason, int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason и updateCounts.

BatchUpdateException​(String reason, int[] updateCounts, Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, cause и updateCounts.

BatchUpdateException​(String reason, String SQLState, int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState и updateCounts.

BatchUpdateException​(String reason, String SQLState, int[] updateCounts, Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, cause и updateCounts.

BatchUpdateException​(String reason, String SQLState, int vendorCode, int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode и updateCounts.

BatchUpdateException​(String reason, String SQLState, int vendorCode, int[] updateCounts, Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode cause и updateCounts.

BatchUpdateException​(String reason, String SQLState, int vendorCode, long[] updateCounts, Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode cause и updateCounts.

BatchUpdateException​(Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным cause.

Методы

Модификатор и тип Метод Описание
long[] getLargeUpdateCounts()

Возвращает количество обновлений для каждой инструкции обновления в пакетном обновлении, успешно выполненной до возникновения этой исключения.

int[] getUpdateCounts()

Возвращает количество обновлений для каждой инструкции обновления в пакетном обновлении, успешно выполненной до возникновения этой исключения.

Методы, объявленные в классе java.sql.SQLException

getErrorCode, getNextException, getSQLState, iterator, setNextException

Методы, объявленные в классе java.lang.Throwable

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.lang.Iterable

forEach, spliterator

Конструкторы

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, vendorCode и updateCounts. cause не инициализирован и может быть инициализирован позднее вызовом метода Throwable.initCause(java.lang.Throwable).

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
reason - описание ошибки
SQLState - код XOPEN или SQL:2003, идентифицирующий исключение
vendorCode - код исключения, используемый конкретным поставщиком базы данных
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для драйверов JDBC, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для драйверов JDBC, которые останавливают обработку после ошибки команды
С:
1.2
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState и updateCounts. cause не инициализирован и может быть инициализирован позднее вызовом метода Throwable.initCause(java.lang.Throwable). Код поставщика инициализирован значением 0.

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
reason - описание исключения
SQLState - код XOPEN или SQL:2003, идентифицирующий исключение
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для JDBC-драйверов, которые останавливают обработку после ошибки команды
С:
1.2
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным reason и updateCounts. cause не инициализирован и может быть инициализирован позднее вызовом метода Throwable.initCause(java.lang.Throwable). SQLState инициализирован значением null, а код поставщика — значением 0.

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
reason - описание исключения
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для JDBC-драйверов, которые останавливают обработку после ошибки команды
С:
1.2
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(int[] updateCounts)

Создаёт объект BatchUpdateException, инициализированный заданным updateCounts. Инициализируется вызовом метода Throwable.initCause(java.lang.Throwable). reason и SQLState инициализированы значениями null, а код поставщика — значением 0.

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для JDBC-драйверов, которые останавливают обработку после ошибки команды
С:
1.2
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException()

Создаёт объект BatchUpdateException. reason, SQLState и updateCounts инициализированы значением null, а код поставщика — значением 0. cause не инициализирован и может быть инициализирован позднее вызовом метода Throwable.initCause(java.lang.Throwable).

С:
1.2
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным cause. SQLState и updateCounts инициализированы значением null, а код поставщика — значением 0. reason инициализируется значением null, если cause==null, или значением cause.toString(), если cause!=null.

Параметры:
cause - основная причина этого SQLException (сохраняется для последующего извлечения методом getCause()); может быть null, что указывает на отсутствие или неизвестность причины.
С:
1.6
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(int[] updateCounts,
                            Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным cause и updateCounts. SQLState инициализируется значением null, а код поставщика — значением 0. reason инициализируется значением null, если cause==null, или значением cause.toString(), если cause!=null.

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для JDBC-драйверов, которые останавливают обработку после ошибки команды
cause - основная причина этого SQLException (сохраняется для последующего извлечения методом getCause()); может быть null, что указывает на отсутствие или неизвестность причины.
С:
1.6
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            int[] updateCounts,
                            Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, cause и updateCounts. SQLState инициализируется значением null, а код поставщика — значением 0.

Примечание: Валидация updateCounts на переполнение отсутствует, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

Параметры:
reason - описание исключения
updateCounts - массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после ошибки команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции перед ошибкой для JDBC-драйверов, которые останавливают обработку после ошибки команды
cause - основная причина этого SQLException (сохраняется для последующего извлечения методом getCause()); может быть null, что указывает на отсутствие или неизвестность причины.
С:
1.6
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int[] updateCounts,
                            Throwable cause)

Создаёт объект BatchUpdateException, инициализированный заданным reason, SQLState, cause и updateCounts. Код поставщика инициализирован значением 0.

Параметры:
reason — описание исключения
SQLState — код XOPEN или SQL:2003, определяющий исключение
updateCounts — массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после сбоя команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции до сбоя для JDBC-драйверов, которые прекращают обработку после сбоя команды

Примечание: Нет проверки updateCounts на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

cause — основная причина этого SQLException (которая сохраняется для последующего извлечения методом getCause()); может быть null, указывая на отсутствие или неизвестность причины.
С момента:
1.6
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            int[] updateCounts,
                            Throwable cause)

Создаёт объект BatchUpdateException с заданным reason, SQLState, vendorCode cause и updateCounts.

Параметры:
reason — описание ошибки
SQLState — код XOPEN или SQL:2003, определяющий исключение
vendorCode — код исключения, используемый конкретным поставщиком базы данных
updateCounts — массив int, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после сбоя команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции до сбоя для JDBC-драйверов, которые прекращают обработку после сбоя команды

Примечание: Нет проверки updateCounts на переполнение, поэтому рекомендуется использовать конструктор BatchUpdateException(String reason, String SQLState, int vendorCode, long []updateCounts,Throwable cause) .

cause — основная причина этого SQLException (которая сохраняется для последующего извлечения методом getCause()); может быть null, указывая на отсутствие или неизвестность причины.
С момента:
1.6
См. также:
BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)

BatchUpdateException

public BatchUpdateException(String reason,
                            String SQLState,
                            int vendorCode,
                            long[] updateCounts,
                            Throwable cause)

Создаёт объект BatchUpdateException с заданным reason, SQLState, vendorCode cause и updateCounts.

Этот конструктор следует использовать, когда возвращаемое количество обновлений может превысить Integer.MAX_VALUE.

Параметры:
reason — описание ошибки
SQLState — код XOPEN или SQL:2003, определяющий исключение
vendorCode — код исключения, используемый конкретным поставщиком базы данных
updateCounts — массив long, каждый элемент которого указывает количество обновлений, Statement.SUCCESS_NO_INFO или Statement.EXECUTE_FAILED для каждой SQL-команды в пакетной операции для JDBC-драйверов, которые продолжают обработку после сбоя команды; количество обновлений или Statement.SUCCESS_NO_INFO для каждой SQL-команды в пакетной операции до сбоя для JDBC-драйверов, которые прекращают обработку после сбоя команды
cause — основная причина этого SQLException (которая сохраняется для последующего извлечения методом getCause()); может быть null, указывая на отсутствие или неизвестность причины.
С момента:
1.8

Методы

getUpdateCounts

public int[] getUpdateCounts()

Возвращает количество обновлений для каждой операцией обновления в пакетной операции, успешно выполненной до возникновения этого исключения. Драйвер, реализующий пакетные операции, может или не может продолжить обработку оставшихся команд в пакетной операции, когда одна из команд не выполняется должным образом. Если драйвер продолжает обработку команд, возвращаемый этим методом массив будет содержать столько элементов, сколько команд в пакетной операции; в противном случае он будет содержать количество обновлений для каждой команды, успешно выполненной до возникновения BatchUpdateException.

Возможные значения возврата для этого метода были изменены для Java 2 SDK, Standard Edition, версии 1.3. Это было сделано для поддержки новой возможности продолжения обработки команд в пакетной операции после того, как был сгенерирован объект BatchUpdateException.

Возвращает:
массив int, содержащий количества обновлений для успешно выполненных обновлений до возникновения этой ошибки. Или, если драйвер продолжает обрабатывать команды после ошибки, одно из следующих значений для каждой команды в пакетной операции:
  1. количество обновлений
  2. Statement.SUCCESS_NO_INFO для указания того, что команда была успешно выполнена, но количество затронутых строк неизвестно
  3. Statement.EXECUTE_FAILED для указания того, что команда не была успешно выполнена
С момента:
1.3
См. также:
getLargeUpdateCounts()

getLargeUpdateCounts

public long[] getLargeUpdateCounts()

Возвращает количество обновлений для каждой операцией обновления в пакетной операции, успешно выполненной до возникновения этого исключения. Драйвер, реализующий пакетные операции, может или не может продолжить обработку оставшихся команд в пакетной операции, когда одна из команд не выполняется должным образом. Если драйвер продолжает обработку команд, возвращаемый этим методом массив будет содержать столько элементов, сколько команд в пакетной операции; в противном случае он будет содержать количество обновлений для каждой команды, успешно выполненной до возникновения BatchUpdateException.

Этот метод следует использовать, когда вызывается Statement.executeLargeBatch и возвращаемое количество обновлений может превысить Integer.MAX_VALUE.

Возвращает:
массив long содержащий количества обновлений для успешно выполненных обновлений до возникновения этой ошибки. Или, если драйвер продолжает обрабатывать команды после ошибки, одно из следующих значений для каждой команды в пакетной операции:
  1. количество обновлений
  2. Statement.SUCCESS_NO_INFO для указания того, что команда была успешно выполнена, но количество затронутых строк неизвестно
  3. Statement.EXECUTE_FAILED для указания того, что команда не была успешно выполнена
С момента:
1.8

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.sql/java/sql/BatchUpdateException.html

Spec-Zone .ru
спецификации, руководства, описания, API