0

嗨,我有多个 Java 进程,它们依次启动。此过程将数据加载到 tablexyz 中,然后加载到 tablefinal 中。第一个进程完成其工作后,我收到以下错误

SQL Anywhere 错误 - 210:用户“另一个用户”锁定了“tablexyz”中的行。

它是这样的:

流程1:创建表tablexyz并将数据加载到其中进行一些处理,然后最终将数据复制到tablefinal中。在所有步骤之后,我在这里提交事务。

过程2:删除/清空表tablexyz,如果它在那里,然后再次创建表tablexyz并将数据加载到其中进行一些处理,然后最后将数据复制到tablefinal。在所有步骤之后,我在这里提交事务。

我的应用程序在过程 2 中失败,它使 tablexyz 锁定。我不明白这两个进程都使用相同的数据库用户 myuser 那么为什么第二个进程无法删除由第一个进程创建的 tablexyz。请指导我是 Sybase IQ 的新手。提前致谢。

4

1 回答 1

0

此错误的原因是用户可能使用此“已经存在”的视图/表。

只需查看 sp_iqlock。

如果它被锁定,则 dba/admin/creator 必须解锁它或删除锁定表的用户。

于 2015-07-01T12:21:36.713 回答