Вставка данных в таблицу PostgreSQL из MATLAB с помощью JDBC создает исключение BatchUpdateException - PullRequest
3 голосов
/ 03 сентября 2011

Я пытаюсь записать в таблицу базы данных PostgreSQL из MATLAB. Я установил соединение, работающее с использованием JDBC, и создал таблицу, но получаю исключение BatchUpdateException при попытке вставить запись.

Запрос MATLAB для вставки данных:

user_table = 'rm_user';
colNames = {user_id};
data = {longRecords(iterator)};
fastinsert(conn, user_table, colNames, data);

Исключение говорит:

java.sql.BatchUpdateException: Batch entry 0 INSERT INTO rm_user (user_id) VALUES ( '4') was aborted.  Call getNextException to see the cause.

Но я не знаю, как позвонить getNextException из MATLAB.

Есть идеи, что является причиной проблемы или как я могу узнать больше об исключении?

EDIT

Оказывается, я искал документацию для более новой версии MATLAB, чем моя. Я изменил с fastinsert на insert и теперь он работает. Тем не менее, мне все еще интересно узнать, есть ли способ использовать getNextException от MATLAB.

1 Ответ

1 голос
/ 13 ноября 2012

Это должно работать:

try
   user_table = 'rm_user';
   colNames = {user_id};
   data = {longRecords(iterator)};
   fastinsert(conn, user_table, colNames, data);
catch err
   err.getNextException ()
end

Либо просто посмотрите на обнаруженную ошибку, она должна содержать ту же информацию.

Также в Matlab есть функция lasterr , которая выдаст вам последнюю ошибку без оператора catch. Эта функция устарела, но документацию по заменам можно найти по предоставленной ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...