1
這涉及到我最近的問題時的「未指定的錯誤」,而不是實際的錯誤:Force Oracle error on fetchADO獲取服務器端遊標
我現在能夠重現,其中使用ADO與Oracle OLEDB提供一個方案,我可以強制錯誤例如ORA-01722: invalid number
在調用Recordset.MoveNext
時發生但是,這不是返回給應用程序的錯誤。相反,該應用程序看到Provider error '80004005' Unspecified error
。我怎樣才能讓應用程序看到數據庫中真正的錯誤?這與Oracle 10g(客戶端和服務器)有關。
示例代碼大致如下:
Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
con.ConnectionString = "Provider=OraOLEDB.ORACLE;Data Source=xxx;User Id=yyy;Password=zzz"
con.CursorLocation = adUseServer
con.Open
Set cmd.ActiveConnection = con
cmd.CommandText = "select * from table(ret_err)"
cmd.Prepared = True
Set rs = cmd.Execute
While Not rs.EOF
rs.MoveNext
Wend
它在明顯的情況下不起作用。 「錯誤」集合只包含一個元素,並且一個元素具有「未指定錯誤」的描述。還有另一個竅門嗎? – Dan 2010-05-18 14:34:47