aller chercher du côté serveur Cela concerne ma question récente: Force Oracle error on fetchADO « Erreur non spécifiée » au lieu d'erreur réelle lorsque le curseur
Je suis maintenant en mesure de reproduire un scénario où l'utilisation d'ADO avec le fournisseur Oracle OLEDB, je peux forcer une erreur telle que ORA-01722: invalid number
à se produire lors de l'appel Recordset.MoveNext
Cependant, ce n'est pas l'erreur qui est renvoyée à l'application. Au lieu de cela, l'application voit Provider error '80004005' Unspecified error
. Comment puis-je obtenir l'application pour voir la vraie erreur de la base de données? C'est avec Oracle 10g (client et serveur), si c'est important.
Exemple de code est à peu près comme suit:
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
Cela ne fonctionne pas dans le cas évident. La collection 'Errors' contient uniquement un élément et un élément a une Description de" Erreur non spécifiée ". Y a-t-il un autre truc? – Dan