備考
このプロパティは、Oracle Call Interface(OCI)データベース・ファンクションからのゼロ以外の最後の戻り値を表し、最後のLastServerErrReset
要求以降エラーが発生していない場合はゼロになります。効率化のためにゼロ以外の戻り値のみが戻されるため、ゼロ以外の値であっても、必ずしも、直近にコールされたOCIデータベース・ファンションでエラーが発生したというわけではありません(戻り値ゼロはLastServerErr
メソッドによって戻されないため)。
Orasession.LastServerErr
OpenDatabase
、BeginTrans
、CommitTrans
、Rollback
およびResetTrans
メソッドでのエラーなど、接続に関連するすべてのエラーを戻します。
Oradatabase.LastServerErr
ダイナセットやExecuteSQL
メソッドでのエラーなど、Oracleカーソルに関連するすべてのエラーを戻します。
例
この例では、LastServerErr
およびLastServerErrText
プロパティを使用して、CreateDynaset
メソッドの使用時にOracleエラーが発生したかどうかを判断し、各エラー・メッセージを表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Set up an error handler. On Error GoTo errhandler 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Attempt to Create the OraDynaset Object. 'Notice that the FROM keyword is missing from the SQL statement. Set OraDynaset = OraDatabase.CreateDynaset("select * emp", 0&) Exit Sub errhandler: 'Check to see if an Oracle error has occurred. If OraDatabase.LastServerErr <> 0 Then MsgBox OraDatabase.LastServerErrText Else 'Must be some non-Oracle error MsgBox "VB:" & Err & " " & Error(Err) End If Exit Sub End Sub