Page 1 of 1
					
				Problem with MySQLMonitor
				Posted: Mon  10 Jan 2005 18:41
				by Hostonet
				Hello, 
I Have the follwing error when I use MySQLMonitor in 
Microsoft Visual Basic 2003 :
Failure of QueryInterface for interface CoreLab.DbMonitor.h.
 
 
Cordially, 
Didier Lombet
HOSTONET
 
			
					
				Re: Problem with MySQLMonitor
				Posted: Tue  11 Jan 2005 14:38
				by Oleg
				In what application do you use MySQLMonitor?
If in ASP.NET please read an article "Using DBMonitor" in the documentation.
This article has a full instruction how to configure DBMonitor.
Try to download DBMonitor 2.10. You need certainly remove old version of DBMonitor before installing a new one.
			 
			
					
				
				Posted: Tue  11 Jan 2005 17:27
				by Hostonet
				Hi, 
Thanks for your reply , but my solution is not ASP.net
See my class below : 
Code: Select all
Public Class MySQLState
    Inherits CoreLab.MySql.MySqlMonitor
#Region "Windows Form"[...]
    Public Enum State
        Disconected = 0
        Connected = 1
        Connecting = 2
        Disconecting = 3
        Executing = 4
        Selecting = 5
        Updating = 6
        Deleting = 7
        Inserting = 8
        Dumping = 9
        Fetching = 10
        Uploading = 11
        Downloading = 12
        FlushingPrivileges = 13
        FlushingTable = 14
        Ready = 15
        Broken = 16
        CreatingTable = 17
        DropingTable = 18
        Undefined = 19
    End Enum
    Public Event StateChanged(ByVal sender As Object, ByVal e As MySQLState.State)
    Private mState As State = State.Disconected
    Public Property CurrentState() As State
        Get
            Return mState
        End Get
        Set(ByVal Value As State)
            If Value = mState Then Return
            If Not DesignMode Then      '// If not in design mode the propertie can be change
                mState = Value
                RaiseEvent StateChanged(Me, Value)
            End If
        End Set
    End Property
    Private Function FindText(ByVal searchText As String, ByVal Text As String) As Boolean
        Dim TmpTextBox As New RichTextBox
        TmpTextBox.Text = Text
        Dim indexToText As Integer = TmpTextBox.Find(searchText, 0, Len(TmpTextBox.Text), RichTextBoxFinds.MatchCase)
        If indexToText >= 0 Then
            TmpTextBox.Dispose()
            Return True
        Else
            TmpTextBox.Dispose()
            Return False
        End If
    End Function
    Private Sub MySQLState_TraceEvent(ByVal sender As Object, ByVal e As CoreLab.Common.MonitorEventArgs) Handles MyBase.TraceEvent
        Select Case e.TracePoint
            Case CoreLab.Common.MonitorTracePoint.BeforeEvent
                If FindText("INSERT INTO", UCase(e.Description)) = True Then
                    If Not CurrentState = State.Inserting Then
                        CurrentState = State.Inserting
                    End If
                ElseIf FindText("DELETE", UCase(e.Description)) = True Then
                    If Not CurrentState = State.Deleting Then
                        CurrentState = State.Deleting
                    End If
                ElseIf FindText("UPDATE", UCase(e.Description)) = True Then
                    If Not CurrentState = State.Updating Then
                        CurrentState = State.Updating
                    End If
                ElseIf FindText(UCase("Disconnect"), UCase(e.Description)) = True Then
                    If Not CurrentState = State.Disconected Then
                        CurrentState = State.Disconected
                    End If
                ElseIf FindText(UCase("Can't connect to MySQL server"), UCase(e.Description)) = True Then
                    If Not CurrentState = State.Disconected Then
                        CurrentState = State.Disconected
                    End If
                ElseIf FindText(UCase("ConnectionString"), UCase(e.Description)) = True Then
                    If Not CurrentState = State.Connecting Then
                        CurrentState = State.Connecting
                    End If
                ElseIf FindText("SELECT", UCase(e.Description)) = True Then
                    If Not CurrentState = State.Selecting Then
                        CurrentState = State.Selecting
                    End If
                ElseIf FindText("CREATE TABLE", UCase(e.Description)) = True Then
                    If Not CurrentState = State.CreatingTable Then
                        CurrentState = State.CreatingTable
                    End If
                ElseIf FindText("DROP TABLE", UCase(e.Description)) = True Then
                    If Not CurrentState = State.DropingTable Then
                        CurrentState = State.DropingTable
                    End If
                Else
                    If Not CurrentState = State.Undefined Then
                        CurrentState = State.Undefined
                    End If
                End If
            Case CoreLab.Common.MonitorTracePoint.AfterEvent
                ' Nothing at this time
        End Select
    End Sub
    Protected Overrides ReadOnly Property ProductName() As String
        Get
            Return "Hostonet Advanced MySQL Monitoring"
        End Get
    End Property
End Class
I put my custom control in my project, it work perfectly but when the solution is wait short time with no action , he return this error.
The same problem with directly use MySQLMonitor.traceevent instead of my custom control.
Cordialy , 
Didier Lombet
HOSTONET
 
			
					
				
				Posted: Thu  13 Jan 2005 16:11
				by Oleg
				DBMonitor version installed at you doesn't correspond to MySQLDirect .NET.
Please test it with MySQLDirect .NET 2.70.2 and DBMonitor 2.10.