Spec-Zone.ru › OpenJDK 17

Класс BatchUpdateException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.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, рекомендуется вместо вызова getUpdateCounts использовать getLargeUpdateCounts, чтобы избежать возможного переполнения целого числа количества обновлений.

С момента:
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. 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.
Parameters:
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, указывая на отсутствие или неизвестность причины.
Since:
1.6
See Also:
  • 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.
Parameters:
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, указывая на отсутствие или неизвестность причины.
Since:
1.6
See Also:
  • 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.

Parameters:
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, указывая на отсутствие или неизвестность причины.
Since:
1.8

Методы

getUpdateCounts

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

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

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

getLargeUpdateCounts

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

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

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

© 1993, 2021, 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/17/docs/api/java.sql/java/sql/BatchUpdateException.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API