Это относится к моему недавнему вопросу: Принудительная ошибка Oracle при получении
Теперь я могу воспроизвести сценарий, в котором при использовании 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