1

これは私の最近の質問に関連しています: Force Oracle error on fetch

Oracle OLEDB Provider で ADO を使用するシナリオを再現できるようになり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
4

1 に答える 1

0

SQLCODE と SQLERRM は、SQL 呼び出しで返される必要があります。これにアクセスするためのインターフェイスは ADO Error のようです。

于 2010-05-18T00:06:50.293 に答える