適用対象
説明
指定したオブジェクトに対してOracle Databaseファンクションによって生成された、ゼロ以外の最後のエラー・コードを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
error_number = oradatabase.LastServerErr error_number = orasession.LastServerErr
データ型
Long Integer
備考
このプロパティは、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