2017-03-07 89 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詢問如何循環連接。 –