Я создаю службу Windows с таймером, который будет отмечаться каждые несколько секунд, а затем запрашивать базу данных. Таймер службы работает нормально, но как только я добавляю какие-либо подробности MySql, он перестает работать.
Простое добавление нескольких строк ниже останавливает его работу
Dim ConnectionString As String = "Data Source=localhost;User ID=root;Password=******;database=******;"
Dim sqlConn As MySqlConnection
sqlConn = New MySqlConnection(ConnectionString)
Без этих строк таймер продолжает тикать (я пишу EventLog
, чтобы посмотреть, что происходит)
Я думал, что это может быть проблема со ссылками, но я добавил ссылку MySql.Data
.
Любая помощь будет оценена, спасибо.
EDIT:
Весь метод добавлен по запросу
Imports MySql.Data
Imports MySql.Data.MySqlClient
Public Class Service1
Protected Overrides Sub OnStart(ByVal args() As String)
serviceTimer.Enabled = True
serviceTimer.Start()
EventLog.WriteEntry("MyService Started and Timer started")
End Sub
Protected Overrides Sub OnStop()
serviceTimer.Stop()
EventLog.WriteEntry("Out OnStop", EventLogEntryType.Information)
End Sub
Private Sub serviceTimer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles serviceTimer.Elapsed
Dim MyLog As New EventLog()
If Not EventLog.SourceExists("MyService") Then
EventLog.CreateEventSource("MyService", "Myservice Log")
End If
MyLog.Source = "MyService"
EventLog.WriteEntry("MyService Log", "This is log on " & CStr(TimeOfDay), EventLogEntryType.Information)
Dim ConnectionString As String = "Data Source=localhost;User ID=root;Password=******;database=******;"
Using sqlConn As New MySqlConnection(ConnectionString)
Dim sqlComm As MySqlCommand
Dim outputParam As Integer
sqlConn.Open()
sqlComm = New MySqlCommand("uspTest", sqlConn)
sqlComm.CommandType = CommandType.StoredProcedure
sqlComm.Parameters.Add(New MySqlParameter("Test", "100"))
outputParam = CInt(sqlComm.ExecuteScalar)
sqlConn.Close()
End Using
End Sub
End Class