我試圖從查詢失敗並返回遊標失敗狀態時,從數據庫調用中返回SQL查詢。該查詢字符串將用於記錄目的。Oracle - 在發生異常時將字符串作爲字符串獲取
執行此操作的一種方法是將包含SQL查詢的變量保存爲字符串,然後用異常處理程序將每個查詢包裝在PL/SQL塊中,如果發生異常,則返回查詢字符串UI組件的失敗狀態。
有沒有更好的方法來做到這一點? Oracle異常對象或任何其他包是否支持此功能?
這個問題似乎是線程重複:Obtain the Query/CommandText that caused a SQLException
但是,我沒有找到該線程解決這個問題,我想知道是否存在由甲骨文支持的任何新的軟件包爲我們提供了導致異常發生的查詢字符串。
http://stackoverflow.com/a/493590/409172可能會有所幫助。儘管如果您調用運行SQL的過程,它可能會記錄該過程調用,而不是真正導致失敗的SQL。 –
你正在尋找這樣做_outside_ PL/SQL塊或外部塊嗎?即如果您運行'select * from duala;'在SQL * Plus中它會被記錄在某處? – Ben
@jonearles,我會通讀它並讓你知道它是否有效,謝謝! – Shankar