Output.mdb Internals (Tables and Columns) for V7.8 and v8.x
Within the output.mdb database are 8 related tables.
The Main table has column values that are keys to id's in the other 7 tables.
| Table | Columns |
| Actions | Action_ID, Action_Name (such as vuser_Init) |
| ErrorHelp | ? |
| ErrorMessages | Message_ID, Message_String |
| ErrorSummary | Type, Error_Code, Error_Template, Total_Messages, Area, #Vusers, #Scripts, #Generators |
| Injectors | Injector_ID, Injector_Name (such as IP number) |
| Main | Row_ID, Iteration, Area, Line, Script_ID, Vuser_ID, Injector_ID, Action_ID, Type, Time, Message_ID, Error_Code |
| MaxSize | cMaxSize, cDeletionQuota |
| Scripts | Script_ID, Script_Name |
| VusersID | Vuser_ID, Vuser_ID_Name |
strSQL =
"SELECT Main.Row_ID , Main.Time, Main.Type, Main.Iteration " & _
" , Main.Message_ID ,Main.Error_Code ,ErrorMessages.Message_String " & _
" , Main.Action_ID , Actions.Action_Name " & _
" , Main.Injector_ID, Injectors.Injector_Name " & _
" , Main.Vuser_ID, VusersID.Vuser_ID_name " & _
" , Main.Script_ID, Scripts.Script_Name " & _
" FROM ((((Main INNER JOIN ErrorMessages ON Main.Message_ID = ErrorMessages.Message_ID) " & _
" INNER JOIN Actions ON Main.Action_ID = Actions.Action_ID) " & _
" INNER JOIN Injectors ON Main.Injector_ID = Injectors.Injector_ID) " & _
" INNER JOIN VusersID ON Main.Vuser_ID = VusersID.Vuser_ID) " & _
" INNER JOIN Scripts ON Main.Script_ID = Scripts.Script_ID "
Tables for V8.1
Within the output.mdb database for v8.1 are 2 tables for error messages.
The ErrorMessage table has an "Error Message" column that is keyed by the "Error ID" column,
which is referenced by the "Error_meter" table:
| Column | Sample Value | Description | Joint Table |
| Event Instance ID | - | - | nil |
| Event ID | 0 | - | Event_map |
| End Time | 1211.906 | # days from ... | nil |
| Group ID | - | - | VuserGroup |
| Error ID | - | 0... | ErrorMessage |
| Vuser ID | - | - | VuserId |
| Host ID | - | - | Host |
| Script ID | - | - | Script |
| Result ID | - | - | Result |
| Line Number | - | - | nil |
| Parent Handle | - | - | nil |
| Action ID | - | - | ScriptActions |
| Father ID | -1 | - | nil |
| Iteration Number | 1 | - | nil |
| Amaximum | 1 | - | nil |
| Aminimum | 1 | - | nil |
| AsumSq | 1 | - | nil |
| Account | 1 | - | nil |
| Value | 1 | - | nil |
The "Join Table Name" was obtained from the "MetaData" table.
Since the Time is stored as a number of days since an epoch, it must be converted into
human-readable text.
The new schema has a "MastersMap" table that contains the SQL query used to create the "T" tables.
strSQL =
"SELECT Main.Row_ID , Main.Time, Main.Type, Main.Iteration " & _
" , Main.Message_ID ,Main.Error_Code ,ErrorMessages.Message_String " & _
" , Main.Action_ID , Actions.Action_Name " & _
" , Main.Injector_ID, Injectors.Injector_Name " & _
" , Main.Vuser_ID, VusersID.Vuser_ID_name " & _
" , Main.Script_ID, Scripts.Script_Name " & _
" FROM ((((Main INNER JOIN ErrorMessages ON Main.Message_ID = ErrorMessages.Message_ID) " & _
" INNER JOIN Actions ON Main.Action_ID = Actions.Action_ID) " & _
" INNER JOIN Injectors ON Main.Injector_ID = Injectors.Injector_ID) " & _
" INNER JOIN VusersID ON Main.Vuser_ID = VusersID.Vuser_ID) " & _
" INNER JOIN Scripts ON Main.Script_ID = Scripts.Script_ID "
|
|