2015-09-15 58 views
7

我在嘗試運行或調試一個包時,Oracle SQL Developer不顯示沒有輸入參數的公共成員(過程)時遇到問題。空包<包名>定義(無公共成員)

有幾個過程,有些過載,但是Oracle SQL Developer不顯示無法調用的成員。

enter image description here

我試着用以下的Oracle SQL Developer的版本

  • 4.1.1.19鏈接到一篇文章,說這個版本解決了這個問題,但它並沒有
  • 4.0.3.16 - 同行爲
  • 4.0.0.13 - 相同的行爲
  • 3.2.20.09 - 此版本實際顯示可調用的成員,但調試器不工作。

這是Oracle的版本:

select * from v$version; 

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 
PL/SQL Release 11.2.0.4.0 - Production 
"CORE 11.2.0.4.0 Production" 
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production 
NLSRTL Version 11.2.0.4.0 - Production 

有沒有人成功地解決了類似的情況又如何呢? (升級數據庫不是一個選項ATM)

回答

-1

請確保該封裝/程序試圖運行之前編譯:

對象資源管理器>右鍵單擊「{數據庫名稱}>連接>右鍵點擊包>新建包「

編寫代碼,然後單擊兩個齒輪(編譯)按鈕。

+0

真的嗎?/facepalm ... –

3

我發現2可能的原因可能導致沒有公共成員問題

1)SQL Developer的命中某種錯誤本身。 這可以通過完全關閉並重新啓動SQL開發

2)在你的代碼中使用的一些關鍵字(例如SQL語句中的字段名),該作品在編譯的執行罰款,但會破壞功能列表的顯示來解決。

我解決了我的問題,對使用名爲「CASE」的字段的整個包應用雙引號。

即 SELECT table1.case FROM表1

變化

選擇table1。 「CASE」 FROM表1

亞歷

+0

我認爲這發生在編譯軟件包後通常會出現短暫的數據庫超時。開發商然後完全停止。 –

+1

不知道爲什麼這個錯誤可以通過甲骨文QA的手。我真的希望甲骨文能夠解決這個問題。特別是如果您將此產品與SQL Server進行比較,這是非常煩人的。 – user3454439

1

肯定晚了,但在同樣的問題&思想來張貼什麼幫助我。

處理程序包含在屬於另一個用戶的程序包中 & 沒有爲調用proc的用戶提供授權。

撥款完成時有效。

+0

謝謝,但這不是問題 –

1

有點晚了,但我可以幫忙。有一個SqlDeveloper錯誤。我要做的就是在編譯之前「保存」它...

希望它有幫助

相關問題