From 71c4a70a44ef1960fb6d35e5d9b7621f8ccae383 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 6 Oct 2017 10:31:13 +0200 Subject: [PATCH] ms --- DD_PROXY_SYNC/My Project/AssemblyInfo.vb | 2 +- DD_PROXY_SYNC/Service1.vb | 43 +++++++----- DD_PROXY_SYNC/clsDatabase.vb | 15 ++-- DD_PROXY_SYNC/clsLogger.vb | 66 ++++++++++-------- .../DD_PROXY_SYNC.vbproj.FileListAbsolute.txt | 10 +++ .../DesignTimeResolveAssemblyReferences.cache | Bin 1487 -> 1492 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6946 -> 7011 bytes .../My Project.Resources.Designer.vb.dll | Bin 8192 -> 8192 bytes 8 files changed, 82 insertions(+), 54 deletions(-) diff --git a/DD_PROXY_SYNC/My Project/AssemblyInfo.vb b/DD_PROXY_SYNC/My Project/AssemblyInfo.vb index 19581fb..c702b05 100644 --- a/DD_PROXY_SYNC/My Project/AssemblyInfo.vb +++ b/DD_PROXY_SYNC/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/DD_PROXY_SYNC/Service1.vb b/DD_PROXY_SYNC/Service1.vb index 8b9b54f..d4a72cd 100644 --- a/DD_PROXY_SYNC/Service1.vb +++ b/DD_PROXY_SYNC/Service1.vb @@ -11,7 +11,7 @@ Public Class DD_PROXY_SERV ' Start the thread. Try clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "logPROXY_SYNC_") - clsLogger.Add("## PMO-Service started - " & Now & " ## ", False) + clsLogger.Add("## PMO-PROXYService started ## ", False) If My.Settings.MyConnectionString = String.Empty Then clsLogger.Add("NO CONNECTIONSTRING CONFIGURED.", True) @@ -40,7 +40,6 @@ Public Class DD_PROXY_SERV Private Shared Sub Thread_Completed(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) 'Handles threadDateiimport.RunWorkerCompleted ' This event fires when the DoWork event completes Try - Dim result As String = "" If e.Cancelled Then clsLogger.Add("## The thread was cancelled", False) ElseIf e.Error IsNot Nothing Then @@ -56,9 +55,7 @@ Public Class DD_PROXY_SERV ' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen. ' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen. 'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestoppt") - clsLogger.Add("", False) - clsLogger.Add("## Service was stopped - " & Now & " ## ", False) - clsLogger.Add("", False) + clsLogger.Add("## Service was stopped ## ", False) clsLogger.WriteLog() End Sub Public Shared Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) @@ -68,19 +65,38 @@ Public Class DD_PROXY_SERV Dim DT_PROCEDURES As DataTable = clsDatabase.Return_Datatable(sql) If Not IsNothing(DT_PROCEDURES) Then If DT_PROCEDURES.Rows.Count > 0 Then + Dim sw As New Stopwatch + sw.Start() + Dim error_While_executing As Boolean = False + Dim upd = "" + upd = "UPDATE TBPROXY_CONFIG SET SYNC_RUNNING = 1 WHERE GUID = 1" + clsDatabase.Execute_non_Query(upd) 'Wenn Zeilen enthalten..... For Each syncRow As DataRow In DT_PROCEDURES.Rows Dim GUID = syncRow.Item("GUID") clsLogger.AddDetailLog(">> Executing Procedure: " & syncRow.Item("PROC_NAME").ToString & " ...") clsLogger.WriteLog() - Dim upd = "UPDATE TBPROXY_SYNC_PROCEDURES SET SYNCHRONIZED_WHEN = NULL WHERE GUID = " & GUID + upd = "UPDATE TBPROXY_SYNC_PROCEDURES SET SYNCHRONIZED_WHEN = NULL WHERE GUID = " & GUID clsDatabase.Execute_non_Query(upd) If EXECUTE_ROCEDURE(syncRow.Item("PROC_NAME").ToString) = True Then upd = "UPDATE TBPROXY_SYNC_PROCEDURES SET SYNCHRONIZED_WHEN = GETDATE() WHERE GUID = " & GUID clsDatabase.Execute_non_Query(upd) + Else + clsLogger.Add(">> An error occured while executing procedure: " & syncRow.Item("PROC_NAME").ToString & " ...", False) + error_While_executing = True End If clsLogger.WriteLog() Next + upd = "UPDATE TBPROXY_CONFIG SET SYNC_RUNNING = 0, LAST_SYNC = GETDATE() WHERE GUID = 1" + clsDatabase.Execute_non_Query(upd) + Dim elapsed As Double + elapsed = sw.Elapsed.TotalSeconds + sw.Stop() + sw.Reset() + If error_While_executing = False Then + clsLogger.Add(">> All procedures executed without errors!", False) + clsLogger.Add(">> Execution-time: " & Format(elapsed, "0.000000000") & " seconds", False) + End If End If Else clsLogger.Add("- NO SYNC PROCEDURES!", False) @@ -93,17 +109,10 @@ Public Class DD_PROXY_SERV End Try End Sub Public Shared Function EXECUTE_ROCEDURE(PROXY_PROCEDURE As String) - Dim sel = String.Format("DECLARE @return_value int" & vbNewLine & _ - "EXEC @return_value = [dbo].[{0}]" & vbNewLine & _ - "SELECT 'Return Value' = @return_value", PROXY_PROCEDURE) - clsLogger.AddDetailLog(">> ExecuteCommand: " & sel) - Dim Result As DataTable = clsDatabase.Return_Datatable(sel) - If Not IsNothing(Result) Then - If Result.Rows(0).Item(0) = 0 Then - Return True - Else - Return False - End If + Dim executesql = String.Format("EXEC [dbo].[{0}]", PROXY_PROCEDURE) + If clsDatabase.Execute_non_Query(executesql) = True Then + clsLogger.AddDetailLog(">> Procedure executed successfull - Command: " & executesql) + Return True Else Return False End If diff --git a/DD_PROXY_SYNC/clsDatabase.vb b/DD_PROXY_SYNC/clsDatabase.vb index 4225e65..af6cc80 100644 --- a/DD_PROXY_SYNC/clsDatabase.vb +++ b/DD_PROXY_SYNC/clsDatabase.vb @@ -24,7 +24,7 @@ SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand SQLcommand.CommandText = Select_anweisung - SQLcommand.CommandTimeout = 180 + SQLcommand.CommandTimeout = 240 Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand) Dim dt As DataTable = New DataTable() @@ -33,7 +33,7 @@ Return dt Catch ex As Exception clsLogger.Add("Unexpected Error in Return_Datatable: " & ex.Message, True) - clsLogger.Add("SQL: " & Select_anweisung, False) + clsLogger.Add("##SQL-Return_Datatable: " & Select_anweisung, False) Return Nothing End Try End Function @@ -44,6 +44,7 @@ SQLconnect.ConnectionString = connectionString SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand + SQLcommand.CommandTimeout = 240 'Update Last Created Record in Foo SQLcommand.CommandText = ExecuteCMD SQLcommand.ExecuteNonQuery() @@ -52,7 +53,9 @@ Return True Catch ex As Exception clsLogger.Add("Unexpected Error in Execute_non_Query: " & ex.Message, True) - clsLogger.Add("SQL: " & ExecuteCMD, False) + clsLogger.Add("###############################", False) + clsLogger.Add("##SQL-Execute_non_Query: " & ExecuteCMD, False) + clsLogger.Add("###############################", False) Return False End Try End Function @@ -71,8 +74,10 @@ SQLconnect.Close() Return result Catch ex As Exception - clsLogger.Add("Unexpected Error Execute_Scalar: " & ex.Message, True) - clsLogger.Add("SQL: " & cmdscalar, False) + clsLogger.Add("Unexpected Error ExecuteScalar: " & ex.Message, True) + clsLogger.Add("###############################", False) + clsLogger.Add("##SQL-ExecuteScalar: " & cmdscalar, False) + clsLogger.Add("###############################", False) Return Nothing End Try End Function diff --git a/DD_PROXY_SYNC/clsLogger.vb b/DD_PROXY_SYNC/clsLogger.vb index 5307fe4..8cbf10f 100644 --- a/DD_PROXY_SYNC/clsLogger.vb +++ b/DD_PROXY_SYNC/clsLogger.vb @@ -25,22 +25,19 @@ Public Class clsLogger Loop LogFilename = logf_name Try - 'Veruch das Log zu öffnen + 'Create the file. Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write) - ' --- Stream öffnen - Dim w As StreamWriter = New StreamWriter(fs) - ' --- Anfügen am Ende - w.BaseStream.Seek(0, SeekOrigin.End) - ' --- Zeilen schreiben - w.WriteLine("") - ' --- Writer und Stream schließen - w.Close() + If fs.CanWrite = False Then + LogEscalation_Error("The Logfile can not be written - Check read/write") + End If fs.Close() + Return False Catch ex As Exception LogEscalation_Error("The Logfile could not be created - Error: " & ex.Message) Return False End Try 'Alles Ok + log_string = "" Return True Catch ex As Exception LogEscalation_Error("Unexpected Error in init Logger - Error: " & ex.Message) @@ -74,19 +71,22 @@ Public Class clsLogger LogPath = My.Application.Info.DirectoryPath & "\Log\" End Sub Public Shared Sub Add(ByVal text As String, ByVal _error As Boolean, Optional ByVal Funktion As String = "") - Dim msg As String + Dim msg As String = Now.ToString If log_string <> "" Then log_string &= vbNewLine End If 'Präfixe schreiben If _error = True And Funktion <> "" Then - msg = ">> Achtung Fehler in Funktion '" & Funktion & "'" & vbNewLine & "Fehlermeldung: " + msg = " >> Error in function '" & Funktion & "'" & vbNewLine & "errormessage: " ElseIf _error = True Then - msg = ">> Achtung Fehler:" & vbNewLine & "Fehlermeldung: " + msg = " >> Unexpected error(2):" & vbNewLine & "errormessage: " End If 'Präfix und Meldung zusammenstellen - msg &= text - log_string &= msg + If text <> "" Then + msg &= text + log_string &= msg + End If + End Sub Public Shared Sub AddError(ByVal error_string As String, Optional ByVal Funktion As String = "") Try @@ -96,9 +96,9 @@ Public Class clsLogger Dim msg As String 'Präfixe schreiben If Funktion <> "" Then - msg = ">> Achtung Fehler in Funktion '" & Funktion & "'" & vbNewLine & "Fehlermeldung: " + msg = Now.ToString & " >> Achtung Fehler in Funktion '" & Funktion & "'" & vbNewLine & "Fehlermeldung: " Else - msg = ">> Achtung Fehler:" & vbNewLine & "Fehlermeldung: " + msg = Now.ToString & " >> Unexpected error(1):" & vbNewLine & "errormessage: " End If 'Präfix und Meldung zusammenstellen msg &= error_string @@ -125,7 +125,7 @@ Public Class clsLogger If log_string <> "" Then log_string &= vbNewLine End If - log_string &= " >> " & text + log_string &= Now.ToString & " >> " & text End If Catch ex As Exception LogEscalation_Error("Unexpected Error in AddDetailLog - Error: " & ex.Message) @@ -134,20 +134,24 @@ Public Class clsLogger Public Shared Sub WriteLog() Try - 'Veruch das Log zu öffnen - Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write) - ' --- Stream öffnen - Dim w As StreamWriter = New StreamWriter(fs) - ' --- Anfügen am Ende - w.BaseStream.Seek(0, SeekOrigin.End) - ' --- Zeilen schreiben - w.WriteLine(log_string) - ' --- Writer und Stream schließen - w.Close() - fs.Close() - SetSpeicherort() - 'Den Meldungsstring wieder leeren - log_string = "" + If log_string <> String.Empty Then + SetSpeicherort() + 'Veruch das Log zu öffnen + Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write) + ' --- Stream öffnen + Dim w As StreamWriter = New StreamWriter(fs) + ' --- Anfügen am Ende + w.BaseStream.Seek(0, SeekOrigin.End) + ' --- Zeilen schreiben + w.WriteLine(log_string) + ' --- Writer und Stream schließen + w.Close() + fs.Close() + + 'Den Meldungsstring wieder leeren + log_string = "" + End If + Catch ex As Exception LogEscalation_Error("Unexpected Error in WriteLog - Error: " & ex.Message) End Try diff --git a/DD_PROXY_SYNC/obj/Debug/DD_PROXY_SYNC.vbproj.FileListAbsolute.txt b/DD_PROXY_SYNC/obj/Debug/DD_PROXY_SYNC.vbproj.FileListAbsolute.txt index 5ccd2bb..c5d93f3 100644 --- a/DD_PROXY_SYNC/obj/Debug/DD_PROXY_SYNC.vbproj.FileListAbsolute.txt +++ b/DD_PROXY_SYNC/obj/Debug/DD_PROXY_SYNC.vbproj.FileListAbsolute.txt @@ -10,3 +10,13 @@ E:\SchreiberM\Visual Studio\GIT\DD_PROXY_SYNC\DD_PROXY_SYNC\obj\Debug\DD_PROXY_S E:\SchreiberM\Visual Studio\GIT\DD_PROXY_SYNC\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.xml E:\SchreiberM\Visual Studio\GIT\DD_PROXY_SYNC\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.pdb E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\bin\Debug\DD_PROXY_SYNC.exe.config +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\bin\Debug\DD_PROXY_SYNC.exe +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\bin\Debug\DD_PROXY_SYNC.pdb +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\bin\Debug\DD_PROXY_SYNC.xml +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.Resources.resources +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.ProjectInstaller.resources +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.DD_PROXY_SERV.resources +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.vbproj.GenerateResource.Cache +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.exe +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.xml +E:\SchreiberM\Visual Studio\GIT\DDProxySync\DD_PROXY_SYNC\obj\Debug\DD_PROXY_SYNC.pdb diff --git a/DD_PROXY_SYNC/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/DD_PROXY_SYNC/obj/Debug/DesignTimeResolveAssemblyReferences.cache index d58fd74b594168e7404146a4a54442f9b560ba75..661f6b42781f947b1e4e7b88f1dde2be293474d4 100644 GIT binary patch delta 133 zcmX@leT9317-QVzJQgt_=lr5n9fh#eqTb%7 delta 147 zcmcb@eV%)Qm{z=RW^z$}aei8fo>OUNPKsVgVsUn{UYVhho`H@+SZYymW`3S6h_}%` zhjDTXQzk1r0|P_iWCf;Bq1@u+{Gy!9B)ycJ95xQ1a2ilJX7Wj9ZdOhpFBi-+Wf5d! l;{tN?KwQ4?)FeIEijvekkio^1&oie@_G9MT?94Ke5dhmyDsun; diff --git a/DD_PROXY_SYNC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DD_PROXY_SYNC/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 6b1c13cb31e6122ffcb3606875d139c142a379ce..dc3768ff90ac7387f6d3ea8d631764e48bd50fd2 100644 GIT binary patch delta 317 zcmZ2v_SkHK6Qk+mLRQU*IlhdN8+TbUIZBikrv{~_r52^;C8rj<73Jp!6y;~7CYSIP z!9)WROEQYtnAn)v*ccd?fg}?nBO@CS14#y^&3+sUnKrLxbzx;>ocx}vOCi_QDkeBN zqbM~qDYeKqCM>hKG%-gZxTG{CGe5@NGi35Rap}n$xaTu5a835-F;@s9M*UtMMPe0l aPgdX+Q*a@|)XllPsaynAZhj|j!VCbhbZIaE delta 252 zcmaECw#aOP6Qj}OKo-r3IlheI8+TbUNwP7qF|)BTFfap2CPqd^HXsI)^I0c9WZtw{ zhw~ld=4-6ZtdpgdjsR_vT4N5JUvoyec{;x(7o-UsBg>L1WhiEnXVOuukPp(U zJ{i8tDM^OGa8=gC0ug_Lh$^IE1=?sp4cA2jF5+|1f($5VfeJfNf&}c*%zB$L>!jDG z4KZv5Jj!}P>nSoCIlg$0PP-i2g??nc%5wtRLXYlm2!Ko%sOJuM-Vj7gz$VR%pX7Lw zb97{CIx+{H-|EQJ(m2g?2~%R4BNpGXFf%}@HivASCSM|>_<;P5Xc2BHFiSGt{|z&t zGBBr*hw38)qQveDpBR7L*xuHyr|;fC-nBpc6?{S@!Vp$+?*=SG|x@Vo~_vD&AR7ylXk1< zIcC-Iyj$11tzxTXl2qI}aFYIx|8a@+$v`_ORP%ur3tz;qA^94whS5WRMd3z1+&}gM HgJa4+Zt#gT delta 747 zcmY*XPe>F|82`R`&Ca%4>&hruOEt@aDgMDw^k564j?|EXG`m_9V*FE8ptRtNEOx}VO%9A2Ln>P*G*XjI)Uy@Iu#+PJOZYS&vzb|*7$KS}$ z8WZp|i~ zL#c^F*v%$G>&Z~+P~#8yb}SteZGa?N;<5NQyb$cg$CYNQY!{uvjAi>iJ;Q)cuQ65e zZTKJOhI*I3SLc%N`o1=i46U8k?)hOL~{KW4k0