DatenarchivArchiv, log
This commit is contained in:
@@ -47,6 +47,8 @@ Partial Class frmDatenarchivarchiv
|
|||||||
Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
|
Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
|
||||||
Me.Label11 = New System.Windows.Forms.Label()
|
Me.Label11 = New System.Windows.Forms.Label()
|
||||||
Me.Label12 = New System.Windows.Forms.Label()
|
Me.Label12 = New System.Windows.Forms.Label()
|
||||||
|
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
|
||||||
|
Me.Label13 = New System.Windows.Forms.Label()
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'ProgressBar1
|
'ProgressBar1
|
||||||
@@ -58,12 +60,12 @@ Partial Class frmDatenarchivarchiv
|
|||||||
'
|
'
|
||||||
'Label1
|
'Label1
|
||||||
'
|
'
|
||||||
Me.Label1.AutoSize = True
|
Me.Label1.Location = New System.Drawing.Point(528, 196)
|
||||||
Me.Label1.Location = New System.Drawing.Point(350, 177)
|
|
||||||
Me.Label1.Name = "Label1"
|
Me.Label1.Name = "Label1"
|
||||||
Me.Label1.Size = New System.Drawing.Size(24, 13)
|
Me.Label1.Size = New System.Drawing.Size(165, 55)
|
||||||
Me.Label1.TabIndex = 1
|
Me.Label1.TabIndex = 1
|
||||||
Me.Label1.Text = "0/0"
|
Me.Label1.Text = "0/0"
|
||||||
|
Me.Label1.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||||
'
|
'
|
||||||
'Label2
|
'Label2
|
||||||
'
|
'
|
||||||
@@ -131,7 +133,7 @@ Partial Class frmDatenarchivarchiv
|
|||||||
'Button1
|
'Button1
|
||||||
'
|
'
|
||||||
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||||
Me.Button1.Location = New System.Drawing.Point(278, 198)
|
Me.Button1.Location = New System.Drawing.Point(528, 259)
|
||||||
Me.Button1.Name = "Button1"
|
Me.Button1.Name = "Button1"
|
||||||
Me.Button1.Size = New System.Drawing.Size(165, 33)
|
Me.Button1.Size = New System.Drawing.Size(165, 33)
|
||||||
Me.Button1.TabIndex = 14
|
Me.Button1.TabIndex = 14
|
||||||
@@ -405,12 +407,31 @@ Partial Class frmDatenarchivarchiv
|
|||||||
Me.Label12.TabIndex = 21
|
Me.Label12.TabIndex = 21
|
||||||
Me.Label12.Text = "Monat:"
|
Me.Label12.Text = "Monat:"
|
||||||
'
|
'
|
||||||
|
'RichTextBox1
|
||||||
|
'
|
||||||
|
Me.RichTextBox1.Location = New System.Drawing.Point(29, 196)
|
||||||
|
Me.RichTextBox1.Name = "RichTextBox1"
|
||||||
|
Me.RichTextBox1.Size = New System.Drawing.Size(493, 96)
|
||||||
|
Me.RichTextBox1.TabIndex = 23
|
||||||
|
Me.RichTextBox1.Text = ""
|
||||||
|
'
|
||||||
|
'Label13
|
||||||
|
'
|
||||||
|
Me.Label13.AutoSize = True
|
||||||
|
Me.Label13.Location = New System.Drawing.Point(26, 180)
|
||||||
|
Me.Label13.Name = "Label13"
|
||||||
|
Me.Label13.Size = New System.Drawing.Size(46, 13)
|
||||||
|
Me.Label13.TabIndex = 24
|
||||||
|
Me.Label13.Text = "Errorlog:"
|
||||||
|
'
|
||||||
'frmDatenarchivarchiv
|
'frmDatenarchivarchiv
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
Me.BackColor = System.Drawing.Color.White
|
Me.BackColor = System.Drawing.Color.White
|
||||||
Me.ClientSize = New System.Drawing.Size(722, 239)
|
Me.ClientSize = New System.Drawing.Size(722, 304)
|
||||||
|
Me.Controls.Add(Me.Label13)
|
||||||
|
Me.Controls.Add(Me.RichTextBox1)
|
||||||
Me.Controls.Add(Me.Label11)
|
Me.Controls.Add(Me.Label11)
|
||||||
Me.Controls.Add(Me.Label12)
|
Me.Controls.Add(Me.Label12)
|
||||||
Me.Controls.Add(Me.MyTextBox1)
|
Me.Controls.Add(Me.MyTextBox1)
|
||||||
@@ -468,4 +489,6 @@ Partial Class frmDatenarchivarchiv
|
|||||||
Friend WithEvents MyTextBox1 As VERAG_PROG_ALLGEMEIN.MyTextBox
|
Friend WithEvents MyTextBox1 As VERAG_PROG_ALLGEMEIN.MyTextBox
|
||||||
Friend WithEvents Label11 As Label
|
Friend WithEvents Label11 As Label
|
||||||
Friend WithEvents Label12 As Label
|
Friend WithEvents Label12 As Label
|
||||||
|
Friend WithEvents RichTextBox1 As RichTextBox
|
||||||
|
Friend WithEvents Label13 As Label
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ Public Class frmDatenarchivarchiv
|
|||||||
|
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||||
Try
|
Try
|
||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
@@ -17,6 +19,7 @@ Public Class frmDatenarchivarchiv
|
|||||||
If Not Date.TryParse(txtVon._value, datumVon) Then Exit Sub
|
If Not Date.TryParse(txtVon._value, datumVon) Then Exit Sub
|
||||||
If Not Date.TryParse(txtBis._value, datumBis) Then Exit Sub
|
If Not Date.TryParse(txtBis._value, datumBis) Then Exit Sub
|
||||||
If datumVon.Date > datumBis.Date Then Exit Sub
|
If datumVon.Date > datumBis.Date Then Exit Sub
|
||||||
|
If datumBis.Date = Date.MaxValue.Date Then Exit Sub
|
||||||
If String.IsNullOrWhiteSpace(txtKategorie.Text) Then Exit Sub
|
If String.IsNullOrWhiteSpace(txtKategorie.Text) Then Exit Sub
|
||||||
If String.IsNullOrWhiteSpace(txtOrdner.Text) Then Exit Sub
|
If String.IsNullOrWhiteSpace(txtOrdner.Text) Then Exit Sub
|
||||||
|
|
||||||
@@ -38,23 +41,39 @@ Public Class frmDatenarchivarchiv
|
|||||||
|
|
||||||
Dim DT = SQL.loadDgvBySql(sqlText, "FMZOLL")
|
Dim DT = SQL.loadDgvBySql(sqlText, "FMZOLL")
|
||||||
|
|
||||||
If DT Is Nothing OrElse DT.Rows.Count = 0 Then Exit Sub
|
If DT Is Nothing OrElse DT.Rows.Count = 0 Then
|
||||||
|
MsgBox("Keine Einträge gefunden.", vbInformation)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
If MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) <> vbYes Then Exit Sub
|
If MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) <> vbYes Then Exit Sub
|
||||||
|
|
||||||
|
Button1.Enabled = False
|
||||||
|
RichTextBox1.Clear()
|
||||||
|
|
||||||
ProgressBar1.Minimum = 0
|
ProgressBar1.Minimum = 0
|
||||||
ProgressBar1.Maximum = DT.Rows.Count
|
ProgressBar1.Maximum = DT.Rows.Count
|
||||||
ProgressBar1.Value = 0
|
ProgressBar1.Value = 0
|
||||||
|
|
||||||
Dim erfolgreich As Integer = 0
|
Dim erfolgreich As Integer = 0
|
||||||
Dim fehler As Integer = 0
|
Dim fehler As Integer = 0
|
||||||
|
Dim fehlerListe As New List(Of String)
|
||||||
|
Dim angezeigteFehler As Integer = 0
|
||||||
|
|
||||||
|
Dim logOrdner = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "AVISO", "ArchivMigration")
|
||||||
|
System.IO.Directory.CreateDirectory(logOrdner)
|
||||||
|
|
||||||
|
Dim logPfad As String = System.IO.Path.Combine(logOrdner, "ArchivFehler_" & Date.Now.ToString("yyyyMMdd_HHmmss") & ".txt")
|
||||||
|
System.IO.File.WriteAllText(logPfad, "Archivmigration gestartet: " & Date.Now.ToString("dd.MM.yyyy HH:mm:ss") & Environment.NewLine & Environment.NewLine, System.Text.Encoding.UTF8)
|
||||||
|
|
||||||
|
Dim sw As Stopwatch = Stopwatch.StartNew()
|
||||||
|
|
||||||
For Each ROW As DataRow In DT.Rows
|
For Each ROW As DataRow In DT.Rows
|
||||||
Try
|
Try
|
||||||
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(ROW("da_id"))
|
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(ROW("da_id"))
|
||||||
|
|
||||||
If DS.DATA_LIST.LIST.Count > 0 Then
|
If DS.DATA_LIST.LIST.Count > 0 Then
|
||||||
If DS.moveTo_ARCHIVARCHIV() Then
|
If DS.moveTo_ARCHIVARCHIV(fehlerListe, logPfad) Then
|
||||||
erfolgreich += 1
|
erfolgreich += 1
|
||||||
Else
|
Else
|
||||||
fehler += 1
|
fehler += 1
|
||||||
@@ -63,30 +82,68 @@ Public Class frmDatenarchivarchiv
|
|||||||
|
|
||||||
Catch ex2 As Exception
|
Catch ex2 As Exception
|
||||||
fehler += 1
|
fehler += 1
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex2.Message, "da_id: " & ROW("da_id").ToString() & vbNewLine & ex2.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
Dim eintrag = Date.Now.ToString("dd.MM.yyyy HH:mm:ss") & " | FEHLER | da_id=" & ROW("da_id").ToString() & " | " & ex2.Message
|
||||||
|
fehlerListe.Add(eintrag)
|
||||||
|
System.IO.File.AppendAllText(logPfad, eintrag & Environment.NewLine, System.Text.Encoding.UTF8)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
ProgressBar1.Value += 1
|
' Neue Fehler laufend in RichTextBox1 anzeigen
|
||||||
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count & " | Fehler: " & fehler
|
If fehlerListe.Count > angezeigteFehler Then
|
||||||
|
For i As Integer = angezeigteFehler To fehlerListe.Count - 1
|
||||||
If DT.Rows.Count < 10 OrElse ProgressBar1.Value Mod 20 = 0 Then
|
RichTextBox1.AppendText(fehlerListe(i) & Environment.NewLine)
|
||||||
Me.Refresh()
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
angezeigteFehler = fehlerListe.Count
|
||||||
|
RichTextBox1.SelectionStart = RichTextBox1.TextLength
|
||||||
|
RichTextBox1.ScrollToCaret()
|
||||||
|
RichTextBox1.Refresh()
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Fortschritt und Statistik aktualisieren
|
||||||
|
ProgressBar1.Value += 1
|
||||||
|
|
||||||
|
Dim laufzeit As TimeSpan = sw.Elapsed
|
||||||
|
Dim dauer As String = String.Format("{0:00}:{1:00}:{2:00}", CInt(Math.Floor(laufzeit.TotalHours)), laufzeit.Minutes, laufzeit.Seconds)
|
||||||
|
|
||||||
|
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count & vbNewLine &
|
||||||
|
"Erfolgreich: " & erfolgreich & vbNewLine &
|
||||||
|
"Fehler: " & fehler & vbNewLine &
|
||||||
|
"Laufzeit: " & dauer
|
||||||
|
|
||||||
|
ProgressBar1.Refresh()
|
||||||
|
Label1.Refresh()
|
||||||
|
|
||||||
|
' UI-Ereignisse verarbeiten, damit die Anzeige aktuell bleibt
|
||||||
|
Application.DoEvents()
|
||||||
|
Next
|
||||||
|
|
||||||
|
sw.Stop()
|
||||||
|
|
||||||
|
System.IO.File.AppendAllText(logPfad, Environment.NewLine &
|
||||||
|
"Archivmigration beendet: " & Date.Now.ToString("dd.MM.yyyy HH:mm:ss") &
|
||||||
|
" | Erfolgreich: " & erfolgreich &
|
||||||
|
" | Fehler: " & fehler &
|
||||||
|
" | Laufzeit: " & sw.Elapsed.ToString("hh\:mm\:ss") &
|
||||||
|
Environment.NewLine, System.Text.Encoding.UTF8)
|
||||||
|
|
||||||
MsgBox("Archivierung abgeschlossen." & vbNewLine &
|
MsgBox("Archivierung abgeschlossen." & vbNewLine &
|
||||||
"Erfolgreich: " & erfolgreich & vbNewLine &
|
"Erfolgreich: " & erfolgreich & vbNewLine &
|
||||||
"Fehler: " & fehler, vbInformation)
|
"Datensätze mit Fehlern: " & fehler & vbNewLine &
|
||||||
|
"Einzelne Fehler: " & fehlerListe.Count & vbNewLine &
|
||||||
|
"Laufzeit: " & sw.Elapsed.ToString("hh\:mm\:ss") & vbNewLine & vbNewLine &
|
||||||
|
"Fehlerprotokoll: " & logPfad, vbInformation)
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
||||||
Finally
|
Finally
|
||||||
|
Button1.Enabled = True
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub frmDatenarchivarchiv_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub frmDatenarchivarchiv_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
Dim monate As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
|
Dim monate As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user