Получение программного доступа к исключению PostgreSQL

2

У меня есть следующая проблема. Я вставляю данные в базу данных Postgres через интерфейс javafx.

Когда я импортирую некоторые данные в свою базу данных, иногда первичный ключ нарушается, и я получаю следующую ошибку стека:

 catch(PSQLException e){

       System.out.println(e.getLocalizedMessage());
}


 duplicate key value violates unique constraint "importedDocumentPK"
 Detail: Key (part_id, supplier_id, temp_id, qty, color, sign_id, state_id)=(41A213752P9, 750, 7049, 48, 5, 1, 1) already exists.

Мой вопрос. Как сохранить информацию о этой строке (41A213752P9, 750, 7049, 48, 5, 1, 1) в моей программе?

Теги:
javafx

1 ответ

1

Эта информация доступна только как текстовая строка в сообщении об ошибке в текущих версиях PostgreSQL. Однако предстоящий выпуск 9.3 будет раскрывать это как более подробные поля, см. Http://www.postgresql.org/docs/9.3/static/libpq-exec.html#LIBPQ-PQRESULTERRORFIELD для деталей. Я бы предположил, что драйвер JDBC будет показывать те же поля, хотя я не уверен, что они уже определили интерфейс.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню