database.vbs - vbscript script by ActiveXperts Software
database.vbs checks a database by executing an SQL query.
Use database.vbs directly from ActiveXperts Network Monitor; in the Manager's 'Monitor' menu, select 'New Check (Script)' and select database.vbs. Configure the required parameter, or press 'Load a working sample'.
In ActiveXperts Network Monitor, Administrators can use three different scripting languages: Powershell, VBScript and SSH.
database.vbs script code
' /////////////////////////////////////////////////////////////////////////////// ' // ActiveXperts Network Monitor - VBScript based checks ' // For more information about ActiveXperts Network Monitor and VBScript, visit ' // http://www.activexperts.com/support/network-monitor/online/vbscript/ ' /////////////////////////////////////////////////////////////////////////////// Option Explicit ' Declaration of global variables Dim SYSDATA, SYSEXPLANATION ' SYSDATA is displayed in the 'Data' column in the Manager; SYSEXPLANATION in the 'LastResponse' column ' Constants - return values Const retvalUnknown = 1 ' ActiveXperts Network Monitor functions should always return True (-1, Success), False (0, Error) or retvalUnknown (1, Uncertain) ' // To test a function outside Network Monitor (e.g. using CSCRIPT from the ' // command line), remove the comment character (') in the following lines: ' Dim bResult ' bResult = CheckDatabase( "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Program Files (x86)\ActiveXperts\Network Monitor\Samples\Northwind.sdf", "SELECT * FROM Customers", 1 ) ' WScript.Echo "Return value: [" & bResult & "]" ' WScript.Echo "SYSDATA: [" & SYSDATA & "]" ' WScript.Echo "SYSEXPLANATION: [" & SYSEXPLANATION & "]" Function CheckDatabase( strConnectionString, strSqlQuery, nMinimumNumRecords ) ' Description: ' Checks database existence by counting the number of records in a database table ' Parameters: ' 1) strConnectionString As String - An OLE/DB connection string ' 2) strQuery As String - SQL Query to be executed ' 3) nMinimumNumRecords As Number - Minimum number of records retrieved by executing query 'strQuery' ' Usage: ' CheckDatabase( "<OLE/DB Connection String>"", "<Query>", <Minimum_Num_Records> ) ' Sample: ' CheckDatabase( "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Program Files (x86)\ActiveXperts\Network Monitor\Samples\Northwind.sdf", "SELECT * FROM Customers", 1 ) Dim objConn, RS, nNumRecords CheckDatabase = retvalUnknown ' Default return value, and will be shown as a yellow (uncertain) icon in the Manager SYSDATA = "" ' SYSDATA displayed in the 'Data' column in the Manager SYSEXPLANATION = "" ' SYSEXPLANATION displayed in the 'LastResponse' column in the Manager nNumRecords = 0 Set objConn = CreateObject( "ADODB.Connection" ) On Error Resume Next objConn.Open strConnectionString If( Err.Number <> 0 ) Then CheckDatabase = retvalUnknown SYSDATA = "" SYSEXPLANATION = "Open database failed; Error 0x" & Hex( Err.Number ) & ": " & Err.Description Exit Function End If On Error Goto 0 On Error Resume Next Set RS = objConn.Execute( strSqlQuery ) If( Err.Number <> 0 ) Then CheckDatabase = retvalUnknown SYSDATA = "" SYSEXPLANATION = "Execute query failed; Error 0x" & Hex( Err.Number ) & ": " & Err.Description Exit Function End If On Error Goto 0 While( Not RS.EOF ) nNumRecords = nNumRecords + 1 RS.MoveNext WEnd if( nNumRecords >= nMinimumNumRecords ) Then CheckDatabase = True Else CheckDatabase = False End If SYSDATA = nNumRecords SYSEXPLANATION = "Database checked, #records found=[" & nNumRecords & "], minimum required=[" & nMinimumNumRecords & "]" RS.Close objConn.Close Set RS = Nothing Set objConn = Nothing End Function