Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Работа с InterBase Добавлено: 17.02.06 01:52  

Автор вопроса:  KLN
Собственно, сначала покажу код, который я накорябал, потом задам вопрос
Итак

' Form1
Option Explicit
Dim Status_array(20) As Byte
Dim PStatusArray As Long
Dim db_name As String
Dim db_name_s() As Byte
Dim Pdb_name As Long
Dim a As String
Dim db_name_length As Integer
Dim db_handle As Long
Dim isc_db_handle As Long
Dim dpb_length As Integer
Dim dpb(1 To 255) As Byte
Dim dpbIndex As Integer
Dim dpb_s() As Byte
Dim dpbValue As String
Dim TempParamName As String
Dim MyPos As Integer
Dim ParamName As String
Dim ParamValue As Integer
Dim StrParamValue As String
Dim Request_Buffer(0 To 255) As Byte
Dim Request_Buffer_Size As Integer
Dim Result_Buffer(0 To 40) As Byte
Dim Result_Buffer_Size As Integer
Dim PRequestBuffer
Dim PResBuffer
Dim DPBConstantNames(1 To 67) As String
Dim Length As Integer
Dim s() As Byte
Dim x As Long
Dim i As Integer
Dim j As Integer
Dim z As Integer
Dim lngLib As Long
Dim lngCall As Long
Dim ErrMessage(512) As Byte
Dim ErrMessageScript As String
Dim Page_size As Integer
Dim Num_Buffers As Integer
Dim db_ID As Long
Dim Mem_Used As Long
Private Declare Function isc_detach_database Lib "gds32" (ByVal PStatusArray As Long, ByVal Pdb_handle As Long) As Long

Private Sub Command1_Click()

DPBConstantNames(1) = "isc_dpb_cdd_pathname"
DPBConstantNames(2) = "isc_dpb_allocation"
DPBConstantNames(3) = "isc_dpb_journal"
DPBConstantNames(4) = "isc_dpb_page_size"
DPBConstantNames(5) = "isc_dpb_num_buffers"
DPBConstantNames(6) = "isc_dpb_buffer_length"
DPBConstantNames(7) = "isc_dpb_debug"
DPBConstantNames(8) = "isc_dpb_garbage_collect"
DPBConstantNames(9) = "isc_dpb_verify"
DPBConstantNames(10) = "isc_dpb_sweep"
DPBConstantNames(11) = "isc_dpb_enable_journal"
DPBConstantNames(12) = "isc_dpb_disable_journal"
DPBConstantNames(13) = "isc_dpb_dbkey_scope"
DPBConstantNames(14) = "isc_dpb_number_of_users"
DPBConstantNames(15) = "isc_dpb_trace"
DPBConstantNames(16) = "isc_dpb_no_garbage_collect"
DPBConstantNames(17) = "isc_dpb_damaged"
DPBConstantNames(18) = "isc_dpb_license"
DPBConstantNames(19) = "isc_dpb_sys_user_name"
DPBConstantNames(20) = "isc_dpb_encrypt_key"
DPBConstantNames(21) = "isc_dpb_activate_shadow"
DPBConstantNames(22) = "isc_dpb_sweep_interval"
DPBConstantNames(23) = "isc_dpb_delete_shadow"
DPBConstantNames(24) = "isc_dpb_force_write"
DPBConstantNames(25) = "isc_dpb_begin_log"
DPBConstantNames(26) = "isc_dpb_quit_log"
DPBConstantNames(27) = "isc_dpb_no_reserve"
DPBConstantNames(28) = "isc_dpb_user_name"
DPBConstantNames(29) = "isc_dpb_password"
DPBConstantNames(30) = "isc_dpb_password_enc"
DPBConstantNames(31) = "isc_dpb_sys_user_name_enc"
DPBConstantNames(32) = "isc_dpb_interp"
DPBConstantNames(33) = "isc_dpb_online_dump"
DPBConstantNames(34) = "isc_dpb_old_file_size"
DPBConstantNames(35) = "isc_dpb_old_num_files"
DPBConstantNames(36) = "isc_dpb_old_file"
DPBConstantNames(37) = "isc_dpb_old_start_page"
DPBConstantNames(38) = "isc_dpb_old_start_seqno"
DPBConstantNames(39) = "isc_dpb_old_start_file"
DPBConstantNames(40) = "isc_dpb_drop_walfile"
DPBConstantNames(41) = "isc_dpb_old_dump_id"
DPBConstantNames(42) = "isc_dpb_wal_backup_dir"
DPBConstantNames(43) = "isc_dpb_wal_chkptlen"
DPBConstantNames(44) = "isc_dpb_wal_numbufs"
DPBConstantNames(45) = "isc_dpb_wal_bufsize"
DPBConstantNames(46) = "isc_dpb_wal_grp_cmt_wait"
DPBConstantNames(47) = "isc_dpb_lc_messages"
DPBConstantNames(48) = "isc_dpb_lc_ctype"
DPBConstantNames(49) = "isc_dpb_cache_manager"
DPBConstantNames(50) = "isc_dpb_shutdown"
DPBConstantNames(51) = "isc_dpb_online"
DPBConstantNames(52) = "isc_dpb_shutdown_delay"
DPBConstantNames(53) = "isc_dpb_reserved"
DPBConstantNames(54) = "isc_dpb_overwrite"
DPBConstantNames(55) = "isc_dpb_sec_attach"
DPBConstantNames(56) = "isc_dpb_disable_wal"
DPBConstantNames(57) = "isc_dpb_connect_timeout"
DPBConstantNames(58) = "isc_dpb_dummy_packet_interval"
DPBConstantNames(59) = "isc_dpb_gbak_attach"
DPBConstantNames(60) = "isc_dpb_sql_role_name"
DPBConstantNames(61) = "isc_dpb_set_page_buffers"
DPBConstantNames(62) = "isc_dpb_working_directory"
DPBConstantNames(63) = "isc_dpb_SQL_dialect"
DPBConstantNames(64) = "isc_dpb_set_db_readonly"
DPBConstantNames(65) = "isc_dpb_set_db_SQL_dialect"
DPBConstantNames(66) = "isc_dpb_gfix_attach"
DPBConstantNames(67) = "isc_dpb_gstat_attach"

Status_array(0) = Hex(0)
PStatusArray = VarPtr(Status_array(0))
db_name = Me.edDataBase.Text
Pdb_name = StrPtr(db_name)
db_name_s = StrConv(db_name, vbFromUnicode)
db_name_length = Len(db_name)

isc_db_handle = Hex(0)
db_handle = VarPtr(isc_db_handle)

'Building DPB on the fly
dpbIndex = 1
dpb_length = dpbIndex
dpb(dpbIndex) = Hex(1)
dpbIndex = dpbIndex + 1
'dpb(dpbIndex) = 0
'dpbIndex = dpbIndex + 1
For i = 0 To Form1.List1.ListCount - 1
 TempParamName = Me.List1.List(i)
 MyPos = InStr(1, TempParamName, "=", vbTextCompare)
 ParamName = Mid(TempParamName, 1, MyPos - 1)
 For j = 1 To 67
   If ParamName = DPBConstantNames(j) Then
     ParamValue = j
   End If
 Next j
 StrParamValue = Mid(TempParamName, MyPos + 1, Len(TempParamName) - MyPos)
   dpbValue = ParamValue
   Select Case ParamName
      Case "isc_dpb_user_name", "isc_dpb_password", "isc_dpb_password_enc", "isc_dpb_sys_user_name", "isc_dpb_license", "isc_dpb_encrypt_key", "isc_dpb_lc_messages, isc_dpb_lc_ctype", "isc_dpb_sql_role_name", "isc_dpb_sql_dialect"
      If ParamName = "isc_dpb_sql_dialect" Then
        dpb(dpbIndex) = dpbValue
        dpbIndex = dpbIndex + 1
        dpb(dpbIndex) = Hex(Len(ParamValue))
        dpbIndex = dpbIndex + 1
        dpb(dpbIndex) = Hex((Asc(ParamValue) - 48))
        dpbIndex = dpbIndex + 1
      Else
        dpb(dpbIndex) = dpbValue
        dpbIndex = dpbIndex + 1
        dpb(dpbIndex) = Hex(Len(StrParamValue))
        dpbIndex = dpbIndex + 1
        For j = 1 To Len(StrParamValue)
           a = Mid(StrParamValue, j, 1)
           z = Asc(a)
           dpb(dpbIndex) = z
           dpbIndex = dpbIndex + 1
        Next j
        dpb_length = dpbIndex - 1
      End If
   End Select

Next i

'isc_info_page_size             =         14;
'isc_info_num_buffers           =         15;

s = StrConv(db_name, vbFromUnicode)

PRequestBuffer = VarPtr(Request_Buffer(0))
PResBuffer = VarPtr(Result_Buffer(0))

Call CallApiByName("gds32", "isc_attach_database", PStatusArray, db_name_length, VarPtr(db_name_s(0)), db_handle, dpb_length, VarPtr(dpb(1)))

If Status_array(0) = 1 And Status_array(1) = 0 Then
    x = CallApiByName("gds32", "isc_print_status", PStatusArray)
    If x > 0 Then
      a = CStr(x) + "=" + Display_Error_Code(x)
      MsgBox a
    End If
End If

Request_Buffer(0) = 14 'isc_info_page_size
Request_Buffer_Size = 1
Result_Buffer_Size = 40
x = CallApiByName("gds32", "isc_database_info", PStatusArray, db_handle, Request_Buffer_Size, PRequestBuffer, Result_Buffer_Size, PResBuffer)
Me.Label1.Caption = ""
Length = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(1)), 2)
Page_size = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(3)), Length)
Me.Label1.Caption = Me.Label1.Caption & "Page_size=" & CStr(Page_size) & vbCrLf

Request_Buffer(0) = 15 'isc_info_num_buffers
Request_Buffer_Size = 1
Result_Buffer_Size = 40
x = CallApiByName("gds32", "isc_database_info", PStatusArray, db_handle, Request_Buffer_Size, PRequestBuffer, Result_Buffer_Size, PResBuffer)
Length = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(1)), 2)
Num_Buffers = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(3)), Length)
Me.Label1.Caption = Me.Label1.Caption & "Num_Buffers=" & CStr(Num_Buffers) & vbCrLf

Request_Buffer(0) = 52 'isc_info_db_id = 4
Request_Buffer_Size = 1
Result_Buffer_Size = 40
x = CallApiByName("gds32", "isc_database_info", PStatusArray, db_handle, Request_Buffer_Size, PRequestBuffer, Result_Buffer_Size, PResBuffer)
Length = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(1)), 2)
db_ID = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(3)), Length)
a = ""
For i = 0 To 40
  a = a + CStr(Result_Buffer(i)) + "+"
Next i
MsgBox a
Me.Label1.Caption = Me.Label1.Caption & "db_ID=" & CStr(db_ID) & vbCrLf

Request_Buffer(0) = 17 'isc_info_current_memory        =         17;
Request_Buffer_Size = 1
Result_Buffer_Size = 40
x = CallApiByName("gds32", "isc_database_info", PStatusArray, db_handle, Request_Buffer_Size, PRequestBuffer, Result_Buffer_Size, PResBuffer)
Length = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(1)), 2)
Mem_Used = CallApiByName("gds32", "isc_vax_integer", VarPtr(Result_Buffer(3)), Length)
Me.Label1.Caption = Me.Label1.Caption & "mem_Used=" & CStr(Mem_Used) & vbCrLf

x = x
Exit Sub

ErrHandler:
  Err.Description = Err.Description
  MsgBox CStr(Err.Description)
End Sub

Private Sub Command3_Click()
  x = isc_detach_database(PStatusArray, db_handle)
End Sub

Private Sub Command4_Click()
 'x = CallApiByName("gds32", "isc_drop_database", PStatusArray, db_handle)
End Sub

Private Sub Form_Load()
List1.AddItem ("isc_dpb_user_name=" + Me.edUserName.Text)
List1.AddItem ("isc_dpb_password=" + Me.edPassword.Text)
List1.AddItem ("isc_dpb_sql_role=" + Me.edSQLRole.Text)
List1.AddItem ("isc_dpb_lc_ctype=" + "WIN1251")
End Sub



Теперь модуль DirectCall


Option Explicit

'***********************************************

'* This module use excelent solution from

'* http://www.vbdotcom.com/FreeCode.htm

'* how to implement assembly calls directly

'* into VB code.

'***********************************************

Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long

Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)

Private mlngParameters() As Long 'list of parameters

Private mlngAddress As Long 'address of function to call

Private mbytCode() As Byte 'buffer for assembly code

Private mlngCP As Long 'used to keep track of latest byte added to code

Public Function CallApiByName(libName As String, funcName As String, ParamArray FuncParams()) As Long

Dim lb As Long, i As Integer

ReDim mlngParameters(0)

ReDim mbytCode(0)

mlngAddress = 0

lb = LoadLibrary(ByVal libName)

If lb = 0 Then

MsgBox "DLL not found", vbCritical

Exit Function

End If

mlngAddress = GetProcAddress(lb, ByVal funcName)

If mlngAddress = 0 Then

MsgBox "Function entry not found", vbCritical

FreeLibrary lb

Exit Function

End If

ReDim mlngParameters(UBound(FuncParams) + 1)

On Error GoTo ErrHandler

For i = 1 To UBound(mlngParameters)

mlngParameters(i) = CLng(FuncParams(i - 1))

Next i

CallApiByName = CallWindowProc(PrepareCode, 0, 0, 0, 0)
  FreeLibrary lb
  Exit Function
ErrHandler:
  FreeLibrary lb
  MsgBox Error
End Function

Private Function PrepareCode() As Long

Dim lngX As Long, codeStart As Long

ReDim mbytCode(18 + 32 + 6 * UBound(mlngParameters))

codeStart = GetAlignedCodeStart(VarPtr(mbytCode(0)))

mlngCP = codeStart - VarPtr(mbytCode(0))

For lngX = 0 To mlngCP - 1

mbytCode(lngX) = &HCC

Next

AddByteToCode &H58 'pop eax

AddByteToCode &H59 'pop ecx

AddByteToCode &H59 'pop ecx

AddByteToCode &H59 'pop ecx

AddByteToCode &H59 'pop ecx

AddByteToCode &H50 'push eax

For lngX = UBound(mlngParameters) To 1 Step -1

AddByteToCode &H68 'push wwxxyyzz

AddLongToCode mlngParameters(lngX)

Next

AddCallToCode mlngAddress

AddByteToCode &HC3

AddByteToCode &HCC

PrepareCode = codeStart

End Function

Private Sub AddCallToCode(lngAddress As Long)

AddByteToCode &HE8

AddLongToCode lngAddress - VarPtr(mbytCode(mlngCP)) - 4

End Sub

Private Sub AddLongToCode(lng As Long)

Dim intX As Integer

Dim byt(3) As Byte

CopyMemory byt(0), lng, 4

For intX = 0 To 3

AddByteToCode byt(intX)

Next

End Sub

Private Sub AddByteToCode(byt As Byte)

mbytCode(mlngCP) = byt

mlngCP = mlngCP + 1

End Sub

Private Function GetAlignedCodeStart(lngAddress As Long) As Long

GetAlignedCodeStart = lngAddress + (15 - (lngAddress - 1) Mod 16)

If (15 - (lngAddress - 1) Mod 16) = 0 Then GetAlignedCodeStart = GetAlignedCodeStart + 16

End Function


Ну и модуль IB_Errors


Option Explicit
Public Function Display_Error_Code(ByVal x As Long) As String
  Select Case x
        Case 335544321
        Display_Error_Code = "isc_arith_except"
        Case 335544322
        Display_Error_Code = "isc_bad_dbkey"
        Case 335544323
        Display_Error_Code = "isc_bad_db_format"
        Case 335544324
        Display_Error_Code = "isc_bad_db_handle"
        Case 335544325
        Display_Error_Code = "isc_bad_dpb_content"
        Case 335544326
        Display_Error_Code = "isc_bad_dpb_form"
        Case 335544327
        Display_Error_Code = "isc_bad_req_handle"
        Case 335544328
        Display_Error_Code = "isc_bad_segstr_handle"
        Case 335544329
        Display_Error_Code = "isc_bad_segstr_id"
        Case 335544330
        Display_Error_Code = "isc_bad_tpb_content"
        Case 335544331
        Display_Error_Code = "isc_bad_tpb_form"
        Case 335544332
        Display_Error_Code = "isc_bad_trans_handle"
        Case 335544333
        Display_Error_Code = "isc_bug_check"
        Case 335544334
        Display_Error_Code = "isc_convert_error"
        Case 335544335
        Display_Error_Code = "isc_db_corrupt"
        Case 335544336
        Display_Error_Code = "isc_deadlock"
        Case 335544337
        Display_Error_Code = "isc_excess_trans"
        Case 335544338
        Display_Error_Code = "isc_from_no_match"
        Case 335544339
        Display_Error_Code = "isc_infinap"
        Case 335544340
        Display_Error_Code = "isc_infona"
        Case 335544341
        Display_Error_Code = "isc_infunk"
        Case 335544342
        Display_Error_Code = "isc_integ_fail"
        Case 335544343
        Display_Error_Code = "isc_invalid_blr"
        Case 335544344
        Display_Error_Code = "isc_io_error"
        Case 335544345
        Display_Error_Code = "isc_lock_conflict"
        Case 335544346
        Display_Error_Code = "isc_metadata_corrupt"
        Case 335544347
        Display_Error_Code = "isc_not_valid"
        Case 335544348
        Display_Error_Code = "isc_no_cur_rec"
        Case 335544349
        Display_Error_Code = "isc_no_dup"
        Case 335544350
        Display_Error_Code = "isc_no_finish"
        Case 335544351
        Display_Error_Code = "isc_no_meta_update"
        Case 335544352
        Display_Error_Code = "isc_no_priv"
        Case 335544353
        Display_Error_Code = "isc_no_recon"
        Case 335544354
        Display_Error_Code = "isc_no_record"
        Case 335544355
        Display_Error_Code = "isc_no_segstr_close"
        Case 335544356
        Display_Error_Code = "isc_obsolete_metadata"
        Case 335544357
        Display_Error_Code = "isc_open_trans"
        Case 335544358
        Display_Error_Code = "isc_port_len"
        Case 335544359
        Display_Error_Code = "isc_read_only_field"
        Case 335544360
        Display_Error_Code = "isc_read_only_rel"
        Case 335544361
        Display_Error_Code = "isc_read_only_trans"
        Case 335544362
        Display_Error_Code = "isc_read_only_view"
        Case 335544363
        Display_Error_Code = "isc_req_no_trans"
        Case 335544364
        Display_Error_Code = "isc_req_sync"
        Case 335544365
        Display_Error_Code = "isc_req_wrong_db"
        Case 335544366
        Display_Error_Code = "isc_segment"
        Case 335544367
        Display_Error_Code = "isc_segstr_eof"
        Case 335544368
        Display_Error_Code = "isc_segstr_no_op"
        Case 335544369
        Display_Error_Code = "isc_segstr_no_read"
        Case 335544370
        Display_Error_Code = "isc_segstr_no_trans"
        Case 335544371
        Display_Error_Code = "isc_segstr_no_write"
        Case 335544372
        Display_Error_Code = "isc_segstr_wrong_db"
        Case 335544373
        Display_Error_Code = "isc_sys_request"
        Case 335544374
        Display_Error_Code = "isc_stream_eof"
        Case 335544375
        Display_Error_Code = "isc_unavailable"
        Case 335544376
        Display_Error_Code = "isc_unres_rel"
        Case 335544377
        Display_Error_Code = "isc_uns_ext"
        Case 335544378
        Display_Error_Code = "isc_wish_list"
        Case 335544379
        Display_Error_Code = "isc_wrong_ods"
        Case 335544380
        Display_Error_Code = "isc_wronumarg"
        Case 335544381
        Display_Error_Code = "isc_imp_exc"
        Case 335544382
        Display_Error_Code = "isc_random"
        Case 335544383
        Display_Error_Code = "isc_fatal_conflict"
        Case 335544384
        Display_Error_Code = "isc_badblk"
        Case 335544385
        Display_Error_Code = "isc_invpoolcl"
        Case 335544386
        Display_Error_Code = "isc_nopoolids"
        Case 335544387
        Display_Error_Code = "isc_relbadblk"
        Case 335544388
        Display_Error_Code = "isc_blktoobig"
        Case 335544389
        Display_Error_Code = "isc_bufexh"
        Case 335544390
        Display_Error_Code = "isc_syntaxerr"
        Case 335544391
        Display_Error_Code = "isc_bufinuse"
        Case 335544392
        Display_Error_Code = "isc_bdbincon"
        Case 335544393
        Display_Error_Code = "isc_reqinuse"
        Case 335544394
        Display_Error_Code = "isc_badodsver"
        Case 335544395
        Display_Error_Code = "isc_relnotdef"
        Case 335544396
        Display_Error_Code = "isc_fldnotdef"
        Case 335544397
        Display_Error_Code = "isc_dirtypage"
        Case 335544398
        Display_Error_Code = "isc_waifortra"
        Case 335544399
        Display_Error_Code = "isc_doubleloc"
        Case 335544400
        Display_Error_Code = "isc_nodnotfnd"
        Case 335544401
        Display_Error_Code = "isc_dupnodfnd"
        Case 335544402
        Display_Error_Code = "isc_locnotmar"
        Case 335544403
        Display_Error_Code = "isc_badpagtyp"
        Case 335544404
        Display_Error_Code = "isc_corrupt"
        Case 335544405
        Display_Error_Code = "isc_badpage"
        Case 335544406
        Display_Error_Code = "isc_badindex"
        Case 335544407
        Display_Error_Code = "isc_dbbnotzer"
        Case 335544408
        Display_Error_Code = "isc_tranotzer"
        Case 335544409
        Display_Error_Code = "isc_trareqmis"
        Case 335544410
        Display_Error_Code = "isc_badhndcnt"
        Case 335544411
        Display_Error_Code = "isc_wrotpbver"
        Case 335544412
        Display_Error_Code = "isc_wroblrver"
        Case 335544413
        Display_Error_Code = "isc_wrodpbver"
        Case 335544414
        Display_Error_Code = "isc_blobnotsup"
        Case 335544415
        Display_Error_Code = "isc_badrelation"
        Case 335544416
        Display_Error_Code = "isc_nodetach"
        Case 335544417
        Display_Error_Code = "isc_notremote"
        Case 335544418
        Display_Error_Code = "isc_trainlim"
        Case 335544419
        Display_Error_Code = "isc_notinlim"
        Case 335544420
        Display_Error_Code = "isc_traoutsta"
        Case 335544421
        Display_Error_Code = "isc_connect_reject"
        Case 335544422
        Display_Error_Code = "isc_dbfile"
        Case 335544423
        Display_Error_Code = "isc_orphan"
        Case 335544424
        Display_Error_Code = "isc_no_lock_mgr"
        Case 335544425
        Display_Error_Code = "isc_ctxinuse"
        Case 335544426
        Display_Error_Code = "isc_ctxnotdef"
        Case 335544427
        Display_Error_Code = "isc_datnotsup"
        Case 335544428
        Display_Error_Code = "isc_badmsgnum"
        Case 335544429
        Display_Error_Code = "isc_badparnum"
        Case 335544430
        Display_Error_Code = "isc_virmemexh"
        Case 335544431
        Display_Error_Code = "isc_blocking_signal"
        Case 335544432
        Display_Error_Code = "isc_lockmanerr"
        Case 335544433
        Display_Error_Code = "isc_journerr"
        Case 335544434
        Display_Error_Code = "isc_keytoobig"
        Case 335544435
        Display_Error_Code = "isc_nullsegkey"
        Case 335544436
        Display_Error_Code = "isc_sqlerr"
        Case 335544437
        Display_Error_Code = "isc_wrodynver"
        Case 335544438
        Display_Error_Code = "isc_funnotdef"
        Case 335544439
        Display_Error_Code = "isc_funmismat"
        Case 335544440
        Display_Error_Code = "isc_bad_msg_vec"
        Case 335544441
        Display_Error_Code = "isc_bad_detach"
        Case 335544442
        Display_Error_Code = "isc_noargacc_read"
        Case 335544443
        Display_Error_Code = "isc_noargacc_write"
        Case 335544444
        Display_Error_Code = "isc_read_only"
        Case 335544445
        Display_Error_Code = "isc_ext_err"
        Case 335544446
        Display_Error_Code = "isc_non_updatable"
        Case 335544447
        Display_Error_Code = "isc_no_rollback"
        Case 335544448
        Display_Error_Code = "isc_bad_sec_info"
        Case 335544449
        Display_Error_Code = "isc_invalid_sec_info"
        Case 335544450
        Display_Error_Code = "isc_misc_interpreted"
        Case 335544451
        Display_Error_Code = "isc_update_conflict"
        Case 335544452
        Display_Error_Code = "isc_unlicensed"
        Case 335544453
        Display_Error_Code = "isc_obj_in_use"
        Case 335544454
        Display_Error_Code = "isc_nofilter"
        Case 335544455
        Display_Error_Code = "isc_shadow_accessed"
        Case 335544456
        Display_Error_Code = "isc_invalid_sdl"
        Case 335544457
        Display_Error_Code = "isc_out_of_bounds"
        Case 335544458
        Display_Error_Code = "isc_invalid_dimension"
        Case 335544459
        Display_Error_Code = "isc_rec_in_limbo"
        Case 335544460
        Display_Error_Code = "isc_shadow_missing"
        Case 335544461
        Display_Error_Code = "isc_cant_validate"
        Case 335544462
        Display_Error_Code = "isc_cant_start_journal"
        Case 335544463
        Display_Error_Code = "isc_gennotdef"
        Case 335544464
        Display_Error_Code = "isc_cant_start_logging"
        Case 335544465
        Display_Error_Code = "isc_bad_segstr_type"
        Case 335544466
        Display_Error_Code = "isc_foreign_key"
        Case 335544467
        Display_Error_Code = "isc_high_minor"
        Case 335544468
        Display_Error_Code = "isc_tra_state"
        Case 335544469
        Display_Error_Code = "isc_trans_invalid"
        Case 335544470
        Display_Error_Code = "isc_buf_invalid"
        Case 335544471
        Display_Error_Code = "isc_indexnotdefined"
        Case 335544472
        Display_Error_Code = "isc_login"
        Case 335544473
        Display_Error_Code = "isc_invalid_bookmark"
        Case 335544474
        Display_Error_Code = "isc_bad_lock_level"
        Case 335544475
        Display_Error_Code = "isc_relation_lock"
        Case 335544476
        Display_Error_Code = "isc_record_lock"
        Case 335544477
        Display_Error_Code = "isc_max_idx"
        Case 335544478
        Display_Error_Code = "isc_jrn_enable"
        Case 335544479
        Display_Error_Code = "isc_old_failure"
        Case 335544480
        Display_Error_Code = "isc_old_in_progress"
        Case 335544481
        Display_Error_Code = "isc_old_no_space"
        Case 335544482
        Display_Error_Code = "isc_no_wal_no_jrn"
        Case 335544483
        Display_Error_Code = "isc_num_old_files"
        Case 335544484
        Display_Error_Code = "isc_wal_file_open"
        Case 335544485
        Display_Error_Code = "isc_bad_stmt_handle"
        Case 335544486
        Display_Error_Code = "isc_wal_failure"
        Case 335544487
        Display_Error_Code = "isc_walw_err"
        Case 335544488
        Display_Error_Code = "isc_logh_small"
        Case 335544489
        Display_Error_Code = "isc_logh_inv_version"
        Case 335544490
        Display_Error_Code = "isc_logh_open_flag"
        Case 335544491
        Display_Error_Code = "isc_logh_open_flag2"
        Case 335544492
        Display_Error_Code = "isc_logh_diff_dbname"
        Case 335544493
        Display_Error_Code = "isc_logf_unexpected_eof"
        Case 335544494
        Display_Error_Code = "isc_logr_incomplete"
        Case 335544495
        Display_Error_Code = "isc_logr_header_small"
        Case 335544496
        Display_Error_Code = "isc_logb_small"
        Case 335544497
        Display_Error_Code = "isc_wal_illegal_attach"
        Case 335544498
        Display_Error_Code = "isc_wal_invalid_wpb"
        Case 335544499
        Display_Error_Code = "isc_wal_err_rollover"
        Case 335544500
        Display_Error_Code = "isc_no_wal"
        Case 335544501
        Display_Error_Code = "isc_drop_wal"
        Case 335544502
        Display_Error_Code = "isc_stream_not_defined"
        Case 335544503
        Display_Error_Code = "isc_wal_subsys_error"
        Case 335544504
        Display_Error_Code = "isc_wal_subsys_corrupt"
        Case 335544505
        Display_Error_Code = "isc_no_archive"
        Case 335544506
        Display_Error_Code = "isc_shutinprog"
        Case 335544507
        Display_Error_Code = "isc_range_in_use"
        Case 335544508
        Display_Error_Code = "isc_range_not_found"
        Case 335544509
        Display_Error_Code = "isc_charset_not_found"
        Case 335544510
        Display_Error_Code = "isc_lock_timeout"
        Case 335544511
        Display_Error_Code = "isc_prcnotdef"
        Case 335544512
        Display_Error_Code = "isc_prcmismat"
        Case 335544513
        Display_Error_Code = "isc_wal_bugcheck"
        Case 335544514
        Display_Error_Code = "isc_wal_cant_expand"
        Case 335544515
        Display_Error_Code = "isc_codnotdef"
        Case 335544516
        Display_Error_Code = "isc_xcpnotdef"
        Case 335544517
        Display_Error_Code = "isc_except"
        Case 335544518
        Display_Error_Code = "isc_cache_restart"
        Case 335544519
        Display_Error_Code = "isc_bad_lock_handle"
        Case 335544520
        Display_Error_Code = "isc_jrn_present"
        Case 335544521
        Display_Error_Code = "isc_wal_err_rollover2"
        Case 335544522
        Display_Error_Code = "isc_wal_err_logwrite"
        Case 335544523
        Display_Error_Code = "isc_wal_err_jrn_comm"
        Case 335544524
        Display_Error_Code = "isc_wal_err_expansion"
        Case 335544525
        Display_Error_Code = "isc_wal_err_setup"
        Case 335544526
        Display_Error_Code = "isc_wal_err_ww_sync"
        Case 335544527
        Display_Error_Code = "isc_wal_err_ww_start"
        Case 335544528
        Display_Error_Code = "isc_shutdown"
        Case 335544529
        Display_Error_Code = "isc_existing_priv_mod"
        Case 335544530
        Display_Error_Code = "isc_primary_key_ref"
        Case 335544531
        Display_Error_Code = "isc_primary_key_notnull"
        Case 335544532
        Display_Error_Code = "isc_ref_cnstrnt_notfound"
        Case 335544533
        Display_Error_Code = "isc_foreign_key_notfound"
        Case 335544534
        Display_Error_Code = "isc_ref_cnstrnt_update"
        Case 335544535
        Display_Error_Code = "isc_check_cnstrnt_update"
        Case 335544536
        Display_Error_Code = "isc_check_cnstrnt_del"
        Case 335544537
        Display_Error_Code = "isc_integ_index_seg_del"
        Case 335544538
        Display_Error_Code = "isc_integ_index_seg_mod"
        Case 335544539
        Display_Error_Code = "isc_integ_index_del"
        Case 335544540
        Display_Error_Code = "isc_integ_index_mod"
        Case 335544541
        Display_Error_Code = "isc_check_trig_del"
        Case 335544542
        Display_Error_Code = "isc_check_trig_update"
        Case 335544543
        Display_Error_Code = "isc_cnstrnt_fld_del"
        Case 335544544
        Display_Error_Code = "isc_cnstrnt_fld_rename"
        Case 335544545
        Display_Error_Code = "isc_rel_cnstrnt_update"
        Case 335544546
        Display_Error_Code = "isc_constaint_on_view"
        Case 335544547
        Display_Error_Code = "isc_invld_cnstrnt_type"
        Case 335544548
        Display_Error_Code = "isc_primary_key_exists"
        Case 335544549
        Display_Error_Code = "isc_systrig_update"
        Case 335544550
        Display_Error_Code = "isc_not_rel_owner"
        Case 335544551
        Display_Error_Code = "isc_grant_obj_notfound"
        Case 335544552
        Display_Error_Code = "isc_grant_fld_notfound"
        Case 335544553
        Display_Error_Code = "isc_grant_nopriv"
        Case 335544554
        Display_Error_Code = "isc_nonsql_security_rel"
        Case 335544555
        Display_Error_Code = "isc_nonsql_security_fld"
        Case 335544556
        Display_Error_Code = "isc_wal_cache_err"
        Case 335544557
        Display_Error_Code = "isc_shutfail"
        Case 335544558
        Display_Error_Code = "isc_check_constraint"
        Case 335544559
        Display_Error_Code = "isc_bad_svc_handle"
        Case 335544560
        Display_Error_Code = "isc_shutwarn"
        Case 335544561
        Display_Error_Code = "isc_wrospbver"
        Case 335544562
        Display_Error_Code = "isc_bad_spb_form"
        Case 335544563
        Display_Error_Code = "isc_svcnotdef"
        Case 335544564
        Display_Error_Code = "isc_no_jrn"
        Case 335544565
        Display_Error_Code = "isc_transliteration_failed"
        Case 335544566
        Display_Error_Code = "isc_start_cm_for_wal"
        Case 335544567
        Display_Error_Code = "isc_wal_ovflow_log_required"
        Case 335544568
        Display_Error_Code = "isc_text_subtype"
        Case 335544569
        Display_Error_Code = "isc_dsql_error"
        Case 335544570
        Display_Error_Code = "isc_dsql_command_err"
        Case 335544571
        Display_Error_Code = "isc_dsql_constant_err"
        Case 335544572
        Display_Error_Code = "isc_dsql_cursor_err"
        Case 335544573
        Display_Error_Code = "isc_dsql_datatype_err"
        Case 335544574
        Display_Error_Code = "isc_dsql_decl_err"
        Case 335544575
        Display_Error_Code = "isc_dsql_cursor_update_err"
        Case 335544576
        Display_Error_Code = "isc_dsql_cursor_open_err"
        Case 335544577
        Display_Error_Code = "isc_dsql_cursor_close_err"
        Case 335544578
        Display_Error_Code = "isc_dsql_field_err"
        Case 335544579
        Display_Error_Code = "isc_dsql_internal_err"
        Case 335544580
        Display_Error_Code = "isc_dsql_relation_err"
        Case 335544581
        Display_Error_Code = "isc_dsql_procedure_err"
        Case 335544582
        Display_Error_Code = "isc_dsql_request_err"
        Case 335544583
        Display_Error_Code = "isc_dsql_sqlda_err"
        Case 335544584
        Display_Error_Code = "isc_dsql_var_count_err"
        Case 335544585
        Display_Error_Code = "isc_dsql_stmt_handle"
        Case 335544586
        Display_Error_Code = "isc_dsql_function_err"
        Case 335544587
        Display_Error_Code = "isc_dsql_blob_err"
        Case 335544588
        Display_Error_Code = "isc_collation_not_found"
        Case 335544589
        Display_Error_Code = "isc_collation_not_for_charset"
        Case 335544590
        Display_Error_Code = "isc_dsql_dup_option"
        Case 335544591
        Display_Error_Code = "isc_dsql_tran_err"
        Case 335544592
        Display_Error_Code = "isc_dsql_invalid_array"
        Case 335544593
        Display_Error_Code = "isc_dsql_max_arr_dim_exceeded"
        Case 335544594
        Display_Error_Code = "isc_dsql_arr_range_error"
        Case 335544595
        Display_Error_Code = "isc_dsql_trigger_err"
        Case 335544596
        Display_Error_Code = "isc_dsql_subselect_err"
        Case 335544597
        Display_Error_Code = "isc_dsql_crdb_prepare_err"
        Case 335544598
        Display_Error_Code = "isc_specify_field_err"
        Case 335544599
        Display_Error_Code = "isc_num_field_err"
        Case 335544600
        Display_Error_Code = "isc_col_name_err"
        Case 335544601
        Display_Error_Code = "isc_where_err"
        Case 335544602
        Display_Error_Code = "isc_table_view_err"
        Case 335544603
        Display_Error_Code = "isc_distinct_err"
        Case 335544604
        Display_Error_Code = "isc_key_field_count_err"
        Case 335544605
        Display_Error_Code = "isc_subquery_err"
        Case 335544606
        Display_Error_Code = "isc_expression_eval_err"
        Case 335544607
        Display_Error_Code = "isc_node_err"
        Case 335544608
        Display_Error_Code = "isc_command_end_err"
        Case 335544609
        Display_Error_Code = "isc_index_name"
        Case 335544610
        Display_Error_Code = "isc_exception_name"
        Case 335544611
        Display_Error_Code = "isc_field_name"
        Case 335544612
        Display_Error_Code = "isc_token_err"
        Case 335544613
        Display_Error_Code = "isc_union_err"
        Case 335544614
        Display_Error_Code = "isc_dsql_construct_err"
        Case 335544615
        Display_Error_Code = "isc_field_aggregate_err"
        Case 335544616
        Display_Error_Code = "isc_field_ref_err"
        Case 335544617
        Display_Error_Code = "isc_order_by_err"
        Case 335544618
        Display_Error_Code = "isc_return_mode_err"
        Case 335544619
        Display_Error_Code = "isc_extern_func_err"
        Case 335544620
        Display_Error_Code = "isc_alias_conflict_err"
        Case 335544621
        Display_Error_Code = "isc_procedure_conflict_error"
        Case 335544622
        Display_Error_Code = "isc_relation_conflict_err"
        Case 335544623
        Display_Error_Code = "isc_dsql_domain_err"
        Case 335544624
        Display_Error_Code = "isc_idx_seg_err"
        Case 335544625
        Display_Error_Code = "isc_node_name_err"
        Case 335544626
        Display_Error_Code = "isc_table_name"
        Case 335544627
        Display_Error_Code = "isc_proc_name"
        Case 335544628
        Display_Error_Code = "isc_idx_create_err"
        Case 335544629
        Display_Error_Code = "isc_wal_shadow_err"
        Case 335544630
        Display_Error_Code = "isc_dependency"
        Case 335544631
        Display_Error_Code = "isc_idx_key_err"
        Case 335544632
        Display_Error_Code = "isc_dsql_file_length_err"
        Case 335544633
        Display_Error_Code = "isc_dsql_shadow_number_err"
        Case 335544634
        Display_Error_Code = "isc_dsql_token_unk_err"
        Case 335544635
        Display_Error_Code = "isc_dsql_no_relation_alias"
        Case 335544636
        Display_Error_Code = "isc_indexname"
        Case 335544637
        Display_Error_Code = "isc_no_stream_plan"
        Case 335544638
        Display_Error_Code = "isc_stream_twice"
        Case 335544639
        Display_Error_Code = "isc_stream_not_found"
        Case 335544640
        Display_Error_Code = "isc_collation_requires_text"
        Case 335544641
        Display_Error_Code = "isc_dsql_domain_not_found"
        Case 335544642
        Display_Error_Code = "isc_index_unused"
        Case 335544643
        Display_Error_Code = "isc_dsql_self_join"
        Case 335544644
        Display_Error_Code = "isc_stream_bof"
        Case 335544645
        Display_Error_Code = "isc_stream_crack"
        Case 335544646
        Display_Error_Code = "isc_db_or_file_exists"
        Case 335544647
        Display_Error_Code = "isc_invalid_operator"
        Case 335544648
        Display_Error_Code = "isc_conn_lost"
        Case 335544649
        Display_Error_Code = "isc_bad_checksum"
        Case 335544650
        Display_Error_Code = "isc_page_type_err"
        Case 335544651
        Display_Error_Code = "isc_ext_readonly_err"
        Case 335544652
        Display_Error_Code = "isc_sing_select_err"
        Case 335544653
        Display_Error_Code = "isc_psw_attach"
        Case 335544654
        Display_Error_Code = "isc_psw_start_trans"
        Case 335544655
        Display_Error_Code = "isc_invalid_direction"
        Case 335544656
        Display_Error_Code = "isc_dsql_var_conflict"
        Case 335544657
        Display_Error_Code = "isc_dsql_no_blob_array"
        Case 335544658
        Display_Error_Code = "isc_dsql_base_table"
        Case 335544659
        Display_Error_Code = "isc_duplicate_base_table"
        Case 335544660
        Display_Error_Code = "isc_view_alias"
        Case 335544661
        Display_Error_Code = "isc_index_root_page_full"
        Case 335544662
        Display_Error_Code = "isc_dsql_blob_type_unknown"
        Case 335544663
        Display_Error_Code = "isc_req_max_clones_exceeded"
        Case 335544664
        Display_Error_Code = "isc_dsql_duplicate_spec"
        Case 335544665
        Display_Error_Code = "isc_unique_key_violation"
        Case 335544666
        Display_Error_Code = "isc_srvr_version_too_old"
        Case 335544667
        Display_Error_Code = "isc_drdb_completed_with_errs"
        Case 335544668
        Display_Error_Code = "isc_dsql_procedure_use_err"
        Case 335544669
        Display_Error_Code = "isc_dsql_count_mismatch"
        Case 335544670
        Display_Error_Code = "isc_blob_idx_err"
        Case 335544671
        Display_Error_Code = "isc_array_idx_err"
        Case 335544672
        Display_Error_Code = "isc_key_field_err"
        Case 335544673
        Display_Error_Code = "isc_no_delete"
        Case 335544674
        Display_Error_Code = "isc_del_last_field"
        Case 335544675
        Display_Error_Code = "isc_sort_err"
        Case 335544676
        Display_Error_Code = "isc_sort_mem_err"
        Case 335544677
        Display_Error_Code = "isc_version_err"
        Case 335544678
        Display_Error_Code = "isc_inval_key_posn"
        Case 335544679
        Display_Error_Code = "isc_no_segments_err"
        Case 335544680
        Display_Error_Code = "isc_crrp_data_err"
        Case 335544681
        Display_Error_Code = "isc_rec_size_err"
        Case 335544682
        Display_Error_Code = "isc_dsql_field_ref"
        Case 335544683
        Display_Error_Code = "isc_req_depth_exceeded"
        Case 335544684
        Display_Error_Code = "isc_no_field_access"
        Case 335544685
        Display_Error_Code = "isc_no_dbkey"
        Case 335544686
        Display_Error_Code = "isc_jrn_format_err"
        Case 335544687
        Display_Error_Code = "isc_jrn_file_full"
        Case 335544688
        Display_Error_Code = "isc_dsql_open_cursor_request"
        Case 335544689
        Display_Error_Code = "isc_ib_error"
        Case 335544690
        Display_Error_Code = "isc_cache_redef"
        Case 335544691
        Display_Error_Code = "isc_cache_too_small"
        Case 335544692
        Display_Error_Code = "isc_log_redef"
        Case 335544693
        Display_Error_Code = "isc_log_too_small"
        Case 335544694
        Display_Error_Code = "isc_partition_too_small"
        Case 335544695
        Display_Error_Code = "isc_partition_not_supp"
        Case 335544696
        Display_Error_Code = "isc_log_length_spec"
        Case 335544697
        Display_Error_Code = "isc_precision_err"
        Case 335544698
        Display_Error_Code = "isc_scale_nogt"
        Case 335544699
        Display_Error_Code = "isc_expec_short"
        Case 335544700
        Display_Error_Code = "isc_expec_long"
        Case 335544701
        Display_Error_Code = "isc_expec_ushort"
        Case 335544702
        Display_Error_Code = "isc_like_escape_invalid"
        Case 335544703
        Display_Error_Code = "isc_svcnoexe"
        Case 335544704
        Display_Error_Code = "isc_net_lookup_err"
        Case 335544705
        Display_Error_Code = "isc_service_unknown"
        Case 335544706
        Display_Error_Code = "isc_host_unknown"
        Case 335544707
        Display_Error_Code = "isc_grant_nopriv_on_base"
        Case 335544708
        Display_Error_Code = "isc_dyn_fld_ambiguous"
        Case 335544709
        Display_Error_Code = "isc_dsql_agg_ref_err"
        Case 335544710
        Display_Error_Code = "isc_complex_view"
        Case 335544711
        Display_Error_Code = "isc_unprepared_stmt"
        Case 335544712
        Display_Error_Code = "isc_expec_positive"
        Case 335544713
        Display_Error_Code = "isc_dsql_sqlda_value_err"
        Case 335544714
        Display_Error_Code = "isc_invalid_array_id"
        Case 335544715
        Display_Error_Code = "isc_extfile_uns_op"
        Case 335544716
        Display_Error_Code = "isc_svc_in_use"
        Case 335544717
        Display_Error_Code = "isc_err_stack_limit"
        Case 335544718
        Display_Error_Code = "isc_invalid_key"
        Case 335544719
        Display_Error_Code = "isc_net_init_error"
        Case 335544720
        Display_Error_Code = "isc_loadlib_failure"
        Case 335544721
        Display_Error_Code = "isc_network_error"
        Case 335544722
        Display_Error_Code = "isc_net_connect_err"
        Case 335544723
        Display_Error_Code = "isc_net_connect_listen_err"
        Case 335544724
        Display_Error_Code = "isc_net_event_connect_err"
        Case 335544725
        Display_Error_Code = "isc_net_event_listen_err"
        Case 335544726
        Display_Error_Code = "isc_net_read_err"
        Case 335544727
        Display_Error_Code = "isc_net_write_err"
        Case 335544728
        Display_Error_Code = "isc_integ_index_deactivate"
        Case 335544729
        Display_Error_Code = "isc_integ_deactivate_primary"
        Case 335544730
        Display_Error_Code = "isc_cse_not_supported"
        Case 335544731
        Display_Error_Code = "isc_tra_must_sweep"
        Case 335544732
        Display_Error_Code = "isc_unsupported_network_drive"
        Case 335544733
        Display_Error_Code = "isc_io_create_err"
        Case 335544734
        Display_Error_Code = "isc_io_open_err"
        Case 335544735
        Display_Error_Code = "isc_io_close_err"
        Case 335544736
        Display_Error_Code = "isc_io_read_err"
        Case 335544737
        Display_Error_Code = "isc_io_write_err"
        Case 335544738
        Display_Error_Code = "isc_io_delete_err"
        Case 335544739
        Display_Error_Code = "isc_io_access_err"
        Case 335544740
        Display_Error_Code = "isc_udf_exception"
        Case 335544741
        Display_Error_Code = "isc_lost_db_connection"
        Case 335544742
        Display_Error_Code = "isc_no_write_user_priv"
        Case 335544743
        Display_Error_Code = "isc_token_too_long"
        Case 335544744
        Display_Error_Code = "isc_max_att_exceeded"
        Case 335544745
        Display_Error_Code = "isc_login_same_as_role_name"
        Case 335544747
        Display_Error_Code = "isc_usrname_too_long"
        Case 335544748
        Display_Error_Code = "isc_password_too_long"
        Case 335544749
        Display_Error_Code = "isc_usrname_required"
        Case 335544750
        Display_Error_Code = "isc_password_required"
        Case 335544751
        Display_Error_Code = "isc_bad_protocol"
        Case 335544752
        Display_Error_Code = "isc_dup_usrname_found"
        Case 335544753
        Display_Error_Code = "isc_usrname_not_found"
        Case 335544754
        Display_Error_Code = "isc_error_adding_sec_record"
        Case 335544755
        Display_Error_Code = "isc_error_modifying_sec_record"
        Case 335544756
        Display_Error_Code = "isc_error_deleting_sec_record"
        Case 335544757
        Display_Error_Code = "isc_error_updating_sec_db"
        Case 335544758
        Display_Error_Code = "isc_sort_rec_size_err"
        Case 335544759
        Display_Error_Code = "isc_bad_default_value"
        Case 335544760
        Display_Error_Code = "isc_invalid_clause"
        Case 335544761
        Display_Error_Code = "isc_too_many_handles"
        Case 335544762
        Display_Error_Code = "isc_optimizer_blk_exc"
        Case 335544763
        Display_Error_Code = "isc_invalid_string_constant"
        Case 335544764
        Display_Error_Code = "isc_transitional_date"
        Case 335544765
        Display_Error_Code = "isc_read_only_database"
        Case 335544766
        Display_Error_Code = "isc_must_be_dialect_2_and_up"
        Case 335544767
        Display_Error_Code = "isc_blob_filter_exception"
        Case 335544768
        Display_Error_Code = "isc_exception_access_violation"
        Case 335544769
        Display_Error_Code = "isc_exception_datatype_missalignment"
        Case 335544770
        Display_Error_Code = "isc_exception_array_bounds_exceeded"
        Case 335544771
        Display_Error_Code = "isc_exception_float_denormal_operand"
        Case 335544772
        Display_Error_Code = "isc_exception_float_divide_by_zero"
        Case 335544773
        Display_Error_Code = "isc_exception_float_inexact_result"
        Case 335544774
        Display_Error_Code = "isc_exception_float_invalid_operand"
        Case 335544775
        Display_Error_Code = "isc_exception_float_overflow"
        Case 335544776
        Display_Error_Code = "isc_exception_float_stack_check"
        Case 335544777
        Display_Error_Code = "isc_exception_float_underflow"
        Case 335544778
        Display_Error_Code = "isc_exception_integer_divide_by_zero"
        Case 335544779
        Display_Error_Code = "isc_exception_integer_overflow"
        Case 335544780
        Display_Error_Code = "isc_exception_unknown"
        Case 335544781
        Display_Error_Code = "isc_exception_stack_overflow"
        Case 335544782
        Display_Error_Code = "isc_exception_sigsegv"
        Case 335544783
        Display_Error_Code = "isc_exception_sigill"
        Case 335544784
        Display_Error_Code = "isc_exception_sigbus"
        Case 335544785
        Display_Error_Code = "isc_exception_sigfpe"
        Case 335544786
        Display_Error_Code = "isc_ext_file_delete"
        Case 335544787
        Display_Error_Code = "isc_ext_file_modify"
        Case 335544788
        Display_Error_Code = "isc_adm_task_denied"
        Case 335544789
        Display_Error_Code = "isc_extract_input_mismatch"
        Case 335544790
        Display_Error_Code = "isc_insufficient_svc_privileges"
        Case 335544791
        Display_Error_Code = "isc_file_in_use"
        Case 335544792
        Display_Error_Code = "isc_service_att_err"
        Case 335544793
        Display_Error_Code = "isc_ddl_not_allowed_by_db_sql_dial"
        Case 335544794
        Display_Error_Code = "isc_cancelled"
        Case 335544795
        Display_Error_Code = "isc_unexp_spb_form"
        Case 335740929
        Display_Error_Code = "isc_gfix_db_name"
        Case 335740930
        Display_Error_Code = "isc_gfix_invalid_sw"
        Case 335740932
        Display_Error_Code = "isc_gfix_incmp_sw"
        Case 335740933
        Display_Error_Code = "isc_gfix_replay_req"
        Case 335740934
        Display_Error_Code = "isc_gfix_pgbuf_req"
        Case 335740935
        Display_Error_Code = "isc_gfix_val_req"
        Case 335740936
        Display_Error_Code = "isc_gfix_pval_req"
        Case 335740937
        Display_Error_Code = "isc_gfix_trn_req"
        Case 335740940
        Display_Error_Code = "isc_gfix_full_req"
        Case 335740941
        Display_Error_Code = "isc_gfix_usrname_req"
        Case 335740942
        Display_Error_Code = "isc_gfix_pass_req"
        Case 335740943
        Display_Error_Code = "isc_gfix_subs_name"
        Case 335740944
        Display_Error_Code = "isc_gfix_wal_req"
        Case 335740945
        Display_Error_Code = "isc_gfix_sec_req"
        Case 335740946
        Display_Error_Code = "isc_gfix_nval_req"
        Case 335740947
        Display_Error_Code = "isc_gfix_type_shut"
        Case 335740948
        Display_Error_Code = "isc_gfix_retry"
        Case 335740951
        Display_Error_Code = "isc_gfix_retry_db"
        Case 335740991
        Display_Error_Code = "isc_gfix_exceed_max"
        Case 335740992
        Display_Error_Code = "isc_gfix_corrupt_pool"
        Case 335740993
        Display_Error_Code = "isc_gfix_mem_exhausted"
        Case 335740994
        Display_Error_Code = "isc_gfix_bad_pool"
        Case 335740995
        Display_Error_Code = "isc_gfix_trn_not_valid"
        Case 335741012
        Display_Error_Code = "isc_gfix_unexp_eoi"
        Case 335741018
        Display_Error_Code = "isc_gfix_recon_fail"
        Case 335741036
        Display_Error_Code = "isc_gfix_trn_unknown"
        Case 335741038
        Display_Error_Code = "isc_gfix_mode_req"
        Case 335741039
        Display_Error_Code = "isc_gfix_opt_SQL_dialect"
        Case 336003074
        Display_Error_Code = "isc_dsql_dbkey_from_non_table"
        Case 336003075
        Display_Error_Code = "isc_dsql_transitional_numeric"
        Case 336003076
        Display_Error_Code = "isc_dsql_dialect_warning_expr"
        Case 336068796
        Display_Error_Code = "isc_dyn_role_does_not_exist"
        Case 336068797
        Display_Error_Code = "isc_dyn_no_grant_admin_opt"
        Case 336068798
        Display_Error_Code = "isc_dyn_user_not_role_member"
        Case 336068799
        Display_Error_Code = "isc_dyn_delete_role_failed"
        Case 336068800
        Display_Error_Code = "isc_dyn_grant_role_to_user"
        Case 336068801
        Display_Error_Code = "isc_dyn_inv_sql_role_name"
        Case 336068802
        Display_Error_Code = "isc_dyn_dup_sql_role"
        Case 336068803
        Display_Error_Code = "isc_dyn_kywd_spec_for_role"
        Case 336068804
        Display_Error_Code = "isc_dyn_roles_not_supported"
        Case 336068812
        Display_Error_Code = "isc_dyn_domain_name_exists"
        Case 336068813
        Display_Error_Code = "isc_dyn_field_name_exists"
        Case 336068814
        Display_Error_Code = "isc_dyn_dependency_exists"
        Case 336068815
        Display_Error_Code = "isc_dyn_dtype_invalid"
        Case 336068816
        Display_Error_Code = "isc_dyn_char_fld_too_small"
        Case 336068817
        Display_Error_Code = "isc_dyn_invalid_dtype_conversion"
        Case 336068818
        Display_Error_Code = "isc_dyn_dtype_conv_invalid"
        Case 336330753
        Display_Error_Code = "isc_gbak_unknown_switch"
        Case 336330754
        Display_Error_Code = "isc_gbak_page_size_missing"
        Case 336330755
        Display_Error_Code = "isc_gbak_page_size_toobig"
        Case 336330756
        Display_Error_Code = "isc_gbak_redir_ouput_missing"
        Case 336330757
        Display_Error_Code = "isc_gbak_switches_conflict"
        Case 336330758
        Display_Error_Code = "isc_gbak_unknown_device"
        Case 336330759
        Display_Error_Code = "isc_gbak_no_protection"
        Case 336330760
        Display_Error_Code = "isc_gbak_page_size_not_allowed"
        Case 336330761
        Display_Error_Code = "isc_gbak_multi_source_dest"
        Case 336330762
        Display_Error_Code = "isc_gbak_filename_missing"
        Case 336330763
        Display_Error_Code = "isc_gbak_dup_inout_names"
        Case 336330764
        Display_Error_Code = "isc_gbak_inv_page_size"
        Case 336330765
        Display_Error_Code = "isc_gbak_db_specified"
        Case 336330766
        Display_Error_Code = "isc_gbak_db_exists"
        Case 336330767
        Display_Error_Code = "isc_gbak_unk_device"
        Case 336330772
        Display_Error_Code = "isc_gbak_blob_info_failed"
        Case 336330773
        Display_Error_Code = "isc_gbak_unk_blob_item"
        Case 336330774
        Display_Error_Code = "isc_gbak_get_seg_failed"
        Case 336330775
        Display_Error_Code = "isc_gbak_close_blob_failed"
        Case 336330776
        Display_Error_Code = "isc_gbak_open_blob_failed"
        Case 336330777
        Display_Error_Code = "isc_gbak_put_blr_gen_id_failed"
        Case 336330778
        Display_Error_Code = "isc_gbak_unk_type"
        Case 336330779
        Display_Error_Code = "isc_gbak_comp_req_failed"
        Case 336330780
        Display_Error_Code = "isc_gbak_start_req_failed"
        Case 336330781
        Display_Error_Code = "isc_gbak_rec_failed"
        Case 336330782
        Display_Error_Code = "isc_gbak_rel_req_failed"
        Case 336330783
        Display_Error_Code = "isc_gbak_db_info_failed"
        Case 336330784
        Display_Error_Code = "isc_gbak_no_db_desc"
        Case 336330785
        Display_Error_Code = "isc_gbak_db_create_failed"
        Case 336330786
        Display_Error_Code = "isc_gbak_decomp_len_error"
        Case 336330787
        Display_Error_Code = "isc_gbak_tbl_missing"
        Case 336330788
        Display_Error_Code = "isc_gbak_blob_col_missing"
        Case 336330789
        Display_Error_Code = "isc_gbak_create_blob_failed"
        Case 336330790
        Display_Error_Code = "isc_gbak_put_seg_failed"
        Case 336330791
        Display_Error_Code = "isc_gbak_rec_len_exp"
        Case 336330792
        Display_Error_Code = "isc_gbak_inv_rec_len"
        Case 336330793
        Display_Error_Code = "isc_gbak_exp_data_type"
        Case 336330794
        Display_Error_Code = "isc_gbak_gen_id_failed"
        Case 336330795
        Display_Error_Code = "isc_gbak_unk_rec_type"
        Case 336330796
        Display_Error_Code = "isc_gbak_inv_bkup_ver"
        Case 336330797
        Display_Error_Code = "isc_gbak_missing_bkup_desc"
        Case 336330798
        Display_Error_Code = "isc_gbak_string_trunc"
        Case 336330799
        Display_Error_Code = "isc_gbak_cant_rest_record"
        Case 336330800
        Display_Error_Code = "isc_gbak_send_failed"
        Case 336330801
        Display_Error_Code = "isc_gbak_no_tbl_name"
        Case 336330802
        Display_Error_Code = "isc_gbak_unexp_eof"
        Case 336330803
        Display_Error_Code = "isc_gbak_db_format_too_old"
        Case 336330804
        Display_Error_Code = "isc_gbak_inv_array_dim"
        Case 336330807
        Display_Error_Code = "isc_gbak_xdr_len_expected"
        Case 336330817
        Display_Error_Code = "isc_gbak_open_bkup_error"
        Case 336330818
        Display_Error_Code = "isc_gbak_open_error"
        Case 336330934
        Display_Error_Code = "isc_gbak_missing_block_fac"
        Case 336330935
        Display_Error_Code = "isc_gbak_inv_block_fac"
        Case 336330936
        Display_Error_Code = "isc_gbak_block_fac_specified"
        Case 336330940
        Display_Error_Code = "isc_gbak_missing_username"
        Case 336330941
        Display_Error_Code = "isc_gbak_missing_password"
        Case 336330952
        Display_Error_Code = "isc_gbak_missing_skipped_bytes"
        Case 336330953
        Display_Error_Code = "isc_gbak_inv_skipped_bytes"
        Case 336330965
        Display_Error_Code = "isc_gbak_err_restore_charset"
        Case 336330967
        Display_Error_Code = "isc_gbak_err_restore_collation"
        Case 336330972
        Display_Error_Code = "isc_gbak_read_error"
        Case 336330973
        Display_Error_Code = "isc_gbak_write_error"
        Case 336330985
        Display_Error_Code = "isc_gbak_db_in_use"
        Case 336330990
        Display_Error_Code = "isc_gbak_sysmemex"
        Case 336331002
        Display_Error_Code = "isc_gbak_restore_role_failed"
        Case 336331005
        Display_Error_Code = "isc_gbak_role_op_missing"
        Case 336331010
        Display_Error_Code = "isc_gbak_page_buffers_missing"
        Case 336331011
        Display_Error_Code = "isc_gbak_page_buffers_wrong_param"
        Case 336331012
        Display_Error_Code = "isc_gbak_page_buffers_restore"
        Case 336331014
        Display_Error_Code = "isc_gbak_inv_size"
        Case 336331015
        Display_Error_Code = "isc_gbak_file_outof_sequence"
        Case 336331016
        Display_Error_Code = "isc_gbak_join_file_missing"
        Case 336331017
        Display_Error_Code = "isc_gbak_stdin_not_supptd"
        Case 336331018
        Display_Error_Code = "isc_gbak_stdout_not_supptd"
        Case 336331019
        Display_Error_Code = "isc_gbak_bkup_corrupt"
        Case 336331020
        Display_Error_Code = "isc_gbak_unk_db_file_spec"
        Case 336331021
        Display_Error_Code = "isc_gbak_hdr_write_failed"
        Case 336331022
        Display_Error_Code = "isc_gbak_disk_space_ex"
        Case 336331023
        Display_Error_Code = "isc_gbak_size_lt_min"
        Case 336331025
        Display_Error_Code = "isc_gbak_svc_name_missing"
        Case 336331026
        Display_Error_Code = "isc_gbak_not_ownr"
        Case 336331031
        Display_Error_Code = "isc_gbak_mode_req"
        Case 336723983
        Display_Error_Code = "isc_gsec_cant_open_db"
        Case 336723984
        Display_Error_Code = "isc_gsec_switches_error"
        Case 336723985
        Display_Error_Code = "isc_gsec_no_op_spec"
        Case 336723986
        Display_Error_Code = "isc_gsec_no_usr_name"
        Case 336723987
        Display_Error_Code = "isc_gsec_err_add"
        Case 336723988
        Display_Error_Code = "isc_gsec_err_modify"
        Case 336723989
        Display_Error_Code = "isc_gsec_err_find_mod"
        Case 336723990
        Display_Error_Code = "isc_gsec_err_rec_not_found"
        Case 336723991
        Display_Error_Code = "isc_gsec_err_delete"
        Case 336723992
        Display_Error_Code = "isc_gsec_err_find_del"
        Case 336723996
        Display_Error_Code = "isc_gsec_err_find_disp"
        Case 336723997
        Display_Error_Code = "isc_gsec_inv_param"
        Case 336723998
        Display_Error_Code = "isc_gsec_op_specified"
        Case 336723999
        Display_Error_Code = "isc_gsec_pw_specified"
        Case 336724000
        Display_Error_Code = "isc_gsec_uid_specified"
        Case 336724001
        Display_Error_Code = "isc_gsec_gid_specified"
        Case 336724002
        Display_Error_Code = "isc_gsec_proj_specified"
        Case 336724003
        Display_Error_Code = "isc_gsec_org_specified"
        Case 336724004
        Display_Error_Code = "isc_gsec_fname_specified"
        Case 336724005
        Display_Error_Code = "isc_gsec_mname_specified"
        Case 336724006
        Display_Error_Code = "isc_gsec_lname_specified"
        Case 336724008
        Display_Error_Code = "isc_gsec_inv_switch"
        Case 336724009
        Display_Error_Code = "isc_gsec_amb_switch"
        Case 336724010
        Display_Error_Code = "isc_gsec_no_op_specified"
        Case 336724011
        Display_Error_Code = "isc_gsec_params_not_allowed"
        Case 336724012
        Display_Error_Code = "isc_gsec_incompat_switch"
        Case 336724044
        Display_Error_Code = "isc_gsec_inv_username"
        Case 336724045
        Display_Error_Code = "isc_gsec_inv_pw_length"
        Case 336724046
        Display_Error_Code = "isc_gsec_db_specified"
        Case 336724047
        Display_Error_Code = "isc_gsec_db_admin_specified"
        Case 336724048
        Display_Error_Code = "isc_gsec_db_admin_pw_specified"
        Case 336724049
        Display_Error_Code = "isc_gsec_sql_role_specified"
        Case 336789504
        Display_Error_Code = "isc_license_no_file"
        Case 336789523
        Display_Error_Code = "isc_license_op_specified"
        Case 336789524
        Display_Error_Code = "isc_license_op_missing"
        Case 336789525
        Display_Error_Code = "isc_license_inv_switch"
        Case 336789526
        Display_Error_Code = "isc_license_inv_switch_combo"
        Case 336789527
        Display_Error_Code = "isc_license_inv_op_combo"
        Case 336789528
        Display_Error_Code = "isc_license_amb_switch"
        Case 336789529
        Display_Error_Code = "isc_license_inv_parameter"
        Case 336789530
        Display_Error_Code = "isc_license_param_specified"
        Case 336789531
        Display_Error_Code = "isc_license_param_req"
        Case 336789532
        Display_Error_Code = "isc_license_syntx_error"
        Case 336789534
        Display_Error_Code = "isc_license_dup_id"
        Case 336789535
        Display_Error_Code = "isc_license_inv_id_key"
        Case 336789536
        Display_Error_Code = "isc_license_err_remove"
        Case 336789537
        Display_Error_Code = "isc_license_err_update"
        Case 336789538
        Display_Error_Code = "isc_license_err_convert"
        Case 336789539
        Display_Error_Code = "isc_license_err_unk"
        Case 336920577
        Display_Error_Code = "isc_gstat_unknown_switch"
        Case 336920578
        Display_Error_Code = "isc_gstat_retry"
        Case 336920579
        Display_Error_Code = "isc_gstat_wrong_ods"
        Case 336920580
        Display_Error_Code = "isc_gstat_unexpected_eof"
        Case 336920605
        Display_Error_Code = "isc_gstat_open_err"
        Case 336920606
        Display_Error_Code = "isc_gstat_read_err"
        Case 336920607
        Display_Error_Code = "isc_gstat_sysmemex"
        Case 660
        Display_Error_Code = "isc_err_max"
  
  End Select
End Function



Сервер - Yaffil 887
Проблема вот в чем, с какого хрена Basic выпадает в даун, если я пытаюсь отсоединиться от базы данных, или же ее удалить? Хотя в действительности отключение от базы данных происходит, впрочем как и удаление - проверено
А может кто уже пытался работать с InterBase на низком уровне, то если можно, продемонстрируйте код.
Да, пожелание юзать ADO не прокатит, есть нюансы ;)

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Константин



Вопросов: 0
Ответов: 1
 Профиль | | #1 Добавлено: 11.11.08 21:18
У меня подключение - отключение работает (FireBird и IB-7, если делать всё степ бай степ).
Удаление не проверял...
Вот что делать дальше, не знаю. Ну, стартану транзакцию, ну закоммичу её!
А SQL-запрос то как передать и как получить данные - пока не разобрался...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам