使用JDBC从MATLAB向PostgreSQL表插入数据会抛出BatchUpdateException异常

3

我可以帮您将以下内容翻译为中文:我正在尝试使用JDBC在MATLAB中向PostgreSQL数据库表写入数据。我已经成功连接并创建了该表,但是在插入记录时出现了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个回答

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语句。该功能已弃用,但您可以在提供的链接中找到替代品的文档。


谢谢你的回答。不幸的是,我不再拥有MATLAB了(我在攻读硕士学位时有一张学生许可证),所以我无法测试你的建议。 - Pikaling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接