我正在使用D2k 6i表單並從存儲數據庫(oracle9i)過程獲取表單上的錯誤ORA-00001:唯一約束(。)違反,但無法追查它將來到的程序。 有沒有人可以幫我解決這個問題如何找到PL/SQL中的行號,過程名稱,以防出現錯誤
1
A
回答
0
用你的問題發佈你的異常會給我們一個更好的想法,你會遇到什麼。
通常,一個例外會告訴你錯誤信息中的包和行號。從這裏,您可以查詢USER_SOURCE表:
SELECT text
FROM user_source
WHERE type = 'PACKAGE BODY'
AND name = 'myProcName'
AND line = [the line number];
瞭解更多關於觸發錯誤的上下文可能很有用。對於您可以使用'」之間的操作:
SELECT text
FROM user_source
WHERE type = 'PACKAGE BODY'
AND name = 'myProcName'
AND line BETWEEN [the line number - 5] AND [the line number +5];
1
對於後人,這裏是解決方案的OP發現:
在D2K形式確定有一個ON誤差觸發,你可以使用功能DBMS_ERROR_TEXT擺脫語句的過程中,包名行號錯誤來了
1
我遇到這種模式經過反覆研究,撞頭和咬牙切齒:
CREATE OR REPLACE PACKAGE BODY my_schema.package_name
IS
PROCEDURE foo
IS
BEGIN
-- Call stored procedures/functions that throw unhandled exceptions
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR! - '
|| DBMS_UTILITY.FORMAT_ERROR_STACK
|| DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END foo;
END;
的DBMS_UTILITY.FORMAT_ERROR_STACK
功能似乎給錯誤代碼和消息,並且DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
似乎給一個誠實善良棧跟蹤條件,且在至少Oracle 10g的行號和存儲的過程的名稱。
我不確定Oracle 9i中是否提供了這些功能。即使對於Oracle 10g,我也找不到有關此類信息的很多信息,所以我認爲我至少會發布這樣的答案,因爲9i已經很老了(所以對於這個問題它就是10g)。
相關問題
- 1. 如何從sqlplus中返回錯誤代碼以防出現plsql編譯錯誤
- 2. 錯誤:Typescript發現以下錯誤:找不到名稱'require'
- 3. 錯誤:00103的PLSQL過程
- 4. 無類防守找到錯誤(錯誤名稱:成分/ FileChooserDemo)
- 5. 錯誤從PLSQL過程
- 6. 錯誤在過程體+ PLSQL
- 7. 如何防止python中的名稱錯誤錯誤?
- 8. 執行存儲過程時出現「找不到存儲過程」錯誤消息
- 9. 如何找到行號和錯誤
- 10. 如何找出mysql中引發錯誤的確切名稱node.js
- 11. 如何防止以下代碼中出現StackOverflow錯誤?
- 12. 現有名稱的名稱錯誤
- 13. 如何從序號(按序號導出)找到導出的函數名稱?
- 14. PLSQL錯誤無效號碼
- 15. 爲什麼會出現名稱錯誤?
- 16. PLSQL程序錯誤
- 17. 觸發器以防止salesforce中出現重複記錄名稱
- 18. 如何防止「_OBJC_IVAR _ $ _ UIPickerView._backgroundView符號未找到」錯誤?
- 19. 防止升級到ObservableCollection出現錯誤
- 20. 如何找到應用程序之間出現的活動的包名稱
- 21. 如何在Makefile中找到錯誤的行號?
- 22. 錯誤:無法找到名稱ionViewDidLeave
- 23. 分型角找不到名稱錯誤
- 24. 錯誤:connot找到名稱'ContactField'in ionic 2
- 25. 錯誤:DB找不到名稱
- 26. 錯誤TS2304:找不到名稱'$ event'
- 27. 錯誤TS2304:找不到名稱 '頁'
- 28. 角4找不到名稱錯誤
- 29. plsql中的表的行號
- 30. 打字稿編譯器拋出錯誤:「錯誤TS2304:找不到名稱」中
實際上我想找出錯誤發生的過程和行號的名稱。只有當您知道過程名稱,包裝名稱時,您提供的查詢纔有用。 – bhagwat 2010-05-10 12:07:45
謝謝我得到了答案 – bhagwat 2010-05-10 12:52:28
@bhagwat - 如果你找到了答案,然後把它張貼在這裏。既是老師,又是學生。 – APC 2010-05-10 14:24:41