问题描述
我在 oracle 中有一个程序,当从 oracle 运行时,它会在大约 40 分钟内运行。 我在 ms access 中有一个直通查询,看起来像这样
开始 我的程序; 结束;
这个确切的代码在 oracle 中运行得很好,但在 MS 访问中挂起。我不知道它会不会完成,它已经进行了6个小时,我想它是否完成都没有关系,这是不可接受的。 有人可以解释一下从 oracle 和 MS 访问运行它之间的区别以及我如何解决这个问题
解决方法
我认为 MyProcedure
是一个 Oracle 存储过程。
如果是这样,我建议您包括登录。如何?创建一个自治事务过程(以便它可以将日志信息插入某个 log 表并提交)并从 MyProcedure
调用它,例如在它包含的每个语句之前(一些讨厌的选择,更新, 任何)。这样做,您将能够跟踪 MyProcedure
的执行并查看花费了多少时间。
除此之外,查看是否有未提交(或回滚)的事务持有某些行(表?)锁定,所以 - 当你调用 MyProcedure
时 - 它等待另一个会话提交(或回滚)以便能够继续执行。