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