Announcement

Collapse
No announcement yet.

Hintergundienst mit SQL Update

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hintergundienst mit SQL Update

    Ein freudiges Moin an alle Leser und an die Foren Mitglieder

    Ich versuche gerade einen Hintergund dienst zu erstellen der alle T Sec eine Datenbank updatet.
    Installieren und Deinstall, Starten geht alles schon auch der Time Intervall funtz aber meine Datenbank bekommt immer noch kein Update unten auch mal der Code:

    Konrekt zu meiner frage: Wie oder was muss ich noch machen damit der Code ausgeführt wird.

    [highlight=vbnet]
    Imports System.IO
    Imports System.Timers

    Public Class MUpdateservice

    Dim myTimer As New System.Timers.Timer

    Public Sub New()
    MyBase.New()
    InitializeComponent()
    If Not System.Diagnostics.EventLog.SourceExists("TestCate gory") Then
    System.Diagnostics.EventLog.CreateEventSource("Tes tCategory", "TestLog")
    End If
    EventLog1.Source = "TestCategory"
    EventLog1.Log = "TestLog"
    End Sub

    Protected Overrides Sub OnStart(ByVal args() As String)
    Dim mymAConnector As New mAConnector
    EventLog1.WriteEntry("Update Dienst wurde gestartet")
    myTimer = New System.Timers.Timer()
    myTimer.Interval = 10000 ' 10 Sekunden
    myTimer.Enabled = True
    ' Dem Timer eine Ereignisroutine zuordnen
    AddHandler myTimer.Elapsed, AddressOf OnTimerEvent
    End Sub
    Protected Overrides Sub OnStop()
    EventLog1.WriteEntry("Update Dienst wurde beendet")
    myTimer.Enabled = False
    End Sub

    Protected Overrides Sub OnContinue()
    EventLog1.WriteEntry("In OnContinue.")
    End Sub

    Protected Sub OnTimerEvent(ByVal source As Object, ByVal e As System.Timers.ElapsedEventArgs)
    Dim mymAConnector As New mAConnector
    mymAConnector.getUpdate()
    EventLog1.WriteEntry("Zeitgesteuerter Eintrag " & _
    "Quickie.", _
    EventLogEntryType.Information)
    End Sub
    End Class

    Imports System.Threading
    Imports System

    Public Class mAConnector

    Public Function getUpdate() As Boolean
    setUpdateTime()
    End Function

    Private Function setUpdateTime() As Boolean
    Dim myaUpdateTableAdapter As New dsAConnectorTableAdapters.aUpdateTableAdapter
    Dim myaUpdateDataTable As New dsAConnector.aUpdateDataTable
    myaUpdateTableAdapter.UpdateQueryUpdateTime(Now)

    Return Nothing
    End Function

    End Class

    [/highlight]
    Zuletzt editiert von Schocker; 29.07.2009, 16:35.

  • #2
    ich sehe nirgends wo deine Updateroutine aufgerufen wird also wie solll denn setUpdateTime aufgerufen werden
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Sorry hatte ich vergessen da ich in der Funktion alles andere aus geklammert habe zum testen ist jetzt oben aber mit drin ;-) sorry !

      Comment


      • #4
        Funktioniert den der Datenbankupdate wenn du den DB Code als normale Anwendung ausführst? Wenn ja was für ein Connection (Ole, Odbc, nativ) steckt hinter dem Tableadapter und unter welchem Account wird der Dienst ausgeführt?

        Bekommst du irgendwelche Fehlermeldungen? Taucht deine "irgendwas Quickie"-Meldung regelmäßig im EventLog auf? Wenn ja wie oft?

        Comment


        • #5
          Das Datenbankupdate Funktioniert in der Normale Anwendung

          Connection String ist ein OLE SQL 2005 Server

          Später muss ich ein Update über einen Webverweis mit hinein bringen der Funktionert aber in der Normalen Anwendung auch schon.
          Ehm ist halt über das normale Dataset Table... erstellt

          Account = LocalService Ehm stimmt laut beschriebung von der MSDN ein User ohne Rechte und mein SQL Server nimmt ja nur die aus der Active Dir.

          EventLog wird immer wieder alle N sec gefüllt

          keine Fehler meldung

          Comment


          • #6
            Ich verweise auf einen (für mich) interessanten Artikel:
            //TODONT: Use a Windows Service just to run a scheduled process


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Ich bedanke mich für die Hilfe jetzt läuft alles.
              Es lang nur an denn Account Rechten für denn dienst !

              Ich wünsche schon mal ein schönes Wochenende

              Comment

              Working...
              X