2017-03-07 83 views
0

有时候,我们收到以下错误,同时调用SQL适配器MobileFirst SQL适配器引发错误

ORA-06508:PL/SQL:无法找到程序单元被调用。

所有对象在oracle数据库中均有效/已编译并可用。

如果我们更改了oracle数据库上的任何包或过程,我们会收到该错误。所以问题是:我们是否需要重新部署调用该数据库对象的SQL适配器?

回答

0

发生这种情况的原因是您的连接持有指向RAM中不再存在的过程的指针,因为它已重新编译。

我已经看到了很多年,你可以在飞行中重新创建它。

  1. 调用Oracle过程
  2. 重新编译程序
  3. 再次调用它,你会得到“无法找到程序单元被称为”。
  4. 再次调用它,它会工作。

如果您关闭#2后的连接,然后打开连接,叫你永远不会得到这个错误的程序。

在您调用该proc并完成之后,请在再次调用之前关闭连接。

+0

谢谢,这是我们如何能在oracle方面做,但它将如何通过Mobilefirst sql适配器,这是什么主要问题是?如何在通过mobilefirst sql adapter重新调用之前关闭连接? – MichealSmith

+0

MichealSmith:我查看了SQL Adapter文档,并且非常监督我没有看到打开/关闭连接,但是他们的JAVA适配器有它。我知道close/open解决了这个问题,您可能需要联系IBM询问如何循环连接。 –

相关问题