【问题标题】:Ms access pass through query that calls a procedure hangsMs access pass through 调用过程的查询挂起
【发布时间】:2021-04-02 01:35:03
【问题描述】:

我在 oracle 中有一个程序,从 oracle 运行大约需要 40 分钟。 我在 ms 访问中有一个直通查询,看起来像这样

开始 我的程序; 结束;

这个确切的代码在 oracle 中运行得很好,但在 MS 访问中挂起。我不知道它是否会完成,它已经进行了6个小时,我想它是否完成并不重要,这是不可接受的。 有人可以解释从 oracle 和 MS 访问运行它之间的区别以及我如何解决这个问题

【问题讨论】:

    标签: oracle odbc ms-access-2016 pass-through


    【解决方案1】:

    我假设 MyProcedure 是一个 Oracle 存储过程。

    如果是这样,我建议您包括登录。如何?创建一个自治事务过程(以便它可以将日志信息插入到某个 log 表中并提交)并从MyProcedure 调用它,例如在它包含的每个语句之前(一些讨厌的选择、更新等) )。这样做,您就可以跟踪MyProcedure 的执行情况,看看是什么花费了这么多时间。

    除此之外,查看是否有未提交(或回滚)的事务持有某些行(表?)锁定所以 - 当你调用 MyProcedure - 它等待另一个会话提交(或回滚)以便能够继续执行。

    【讨论】:

    • 我在每次查询后都会痴迷地提交。是的,这是一个存储过程。但是为什么它在 oracle 中运行良好呢?是的,我会添加日志记录,谢谢!
    • 没有记录,你甚至不知道它(MyProcedure)是否启动了。也许它在某处等待某事。哪里什么?我不知道,但我祝你好运,希望你能找到罪魁祸首。记录可能会有所帮助,所以 - 不客气 :)
    • 嘿,我现在将其标记为答案。出于某种奇怪的原因,它现在运行良好。是的,完全同意,日志记录有帮助,我在其他项目中使用它,但在重新启动后运行时甚至没有编写它。很奇怪。
    猜你喜欢
    • 2015-10-21
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多