使用JDBC从MATLAB将数据插入到PostgreSQL表中会抛出BatchUpdateException

时间:2011-09-03 17:24:27

标签: sql matlab postgresql jdbc

我正在尝试从MATLAB写入PostgreSQL数据库表。我已经使用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.

但我不知道如何从MATLAB调用getNextException

任何想法导致问题的原因或我如何能够找到有关异常的更多信息?

修改

原来我正在查看新版MATLAB的文档而不是我的文档。我已从fastinsert更改为insert,现在正在运作。但是,我仍然有兴趣知道我是否可以使用MATLAB中的getNextException

1 个答案:

答案 0 :(得分:1)

这应该有效:

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语句的情况下为您提供最后一个错误。该函数已弃用,但您可以在提供的链接中找到替换文档。