0

每次我尝试获取表的 DDL 时,都会出现此错误

无法创建临时表“#tmp”。前缀名称“#tmp”已被另一个临时表“#tmp”使用。
在嵌套级别“0”处已经有另一个名为“ccolumn”的游标。
在嵌套级别“0”处已经有另一个名为“cindex”的游标。
在嵌套级别“0”处已经有另一个名为“indexes”的游标。
在嵌套级别“0”处已经有另一个名为“cprotect”的游标。
尝试在具有唯一索引“_tmp_19748930791”的对象“#tmp00000450018282794”中插入重复的键行

我该如何解决?

4

1 回答 1

0

#tmp表是应用程序用来存储正在操作的数据的会话特定的临时工作表。如果您收到表已存在的错误,则表明在启动新的 DDL 时之前尝试生成 DDL 尚未完成,或者之前的尝试已挂起,需要终止。

假设您在开发环境中,我将首先尝试关闭并重新启动 Powerbuilder 以查看是否可以清除错误。如果不清楚,接下来要尝试的是重新启动 Powerbuilder 用作其数据源的数据库服务器。

或者,您可以手动连接到数据库(通过 isql)并尝试终止未关闭的进程,然后手动删除 #tmp 表。

于 2013-05-21T13:17:44.977 回答