diff --git a/app/.vs/windream-Result-Handler/FileContentIndex/read.lock b/app/.vs/windream-Result-Handler/FileContentIndex/read.lock deleted file mode 100644 index e69de29..0000000 diff --git a/app/ClassWMResulthandler/DD_WMResulthandler.vbproj b/app/ClassWMResulthandler/DD_WMResulthandler.vbproj index 86b682f..f4e0b1e 100644 --- a/app/ClassWMResulthandler/DD_WMResulthandler.vbproj +++ b/app/ClassWMResulthandler/DD_WMResulthandler.vbproj @@ -44,30 +44,33 @@ On - - ..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - - + False - ..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + ..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - - ..\..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll + + False + ..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll - - P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll + + False + ..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll + + + False False + M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll - P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll + M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll True - P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll + M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll True - P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll + M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll True diff --git a/app/ClassWMResulthandler/My Project/AssemblyInfo.vb b/app/ClassWMResulthandler/My Project/AssemblyInfo.vb index f99d976..7f85ae5 100644 --- a/app/ClassWMResulthandler/My Project/AssemblyInfo.vb +++ b/app/ClassWMResulthandler/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/app/ClassWMResulthandler/clsDatabase.vb b/app/ClassWMResulthandler/clsDatabase.vb index 3db3ea6..01576cb 100644 --- a/app/ClassWMResulthandler/clsDatabase.vb +++ b/app/ClassWMResulthandler/clsDatabase.vb @@ -26,103 +26,6 @@ Public Class clsDatabase End Try End Function - - Public Function ExecuteonOracleDb(CONSTRING As String, ByVal plsqlcommand As String) - Try - Logger.Debug("plsqlcommand: " & plsqlcommand) - ' die nötigen Variablen definieren - Dim result As Object = Nothing - Dim conn As New OracleConnectionStringBuilder - - Dim Oracle_Conn As OracleConnection = New OracleConnection(CONSTRING) - Dim Oracle_Command As OracleCommand = Nothing - Dim DataAdapter As OracleDataAdapter = Nothing - - ' Verbindung zur Datenbank aufbauen - Try - Oracle_Conn.Open() - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonOracleDb(OpenConnection)") - Return False - End Try - - - ' SQL-Abfrage definieren - Try - Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn) - Oracle_Command.AddToStatementCache = True - - Catch ex As Exception - Logger.Warn($"PLSQL-Command: [{plsqlcommand}]") - Logger.Error(ex) - 'clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine") - Oracle_Conn.Close() - Return False - End Try - - - ' *** Ausführen des Command *** - If Command() IsNot Nothing Then - Try - - Oracle_Command.ExecuteNonQuery() - ' DB-Connection schliessen - Oracle_Conn.Close() - Return True - - Catch ex As Exception - Logger.Warn($"PLSQL-Command: [{plsqlcommand}]") - Logger.Error(ex) - 'clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb") - Oracle_Conn.Close() - - Return False - End Try - - Else - Logger.Info("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")") - ' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte - ' Eintrag in Logdatei machen - 'clsLogger.Add("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb") - Return False - End If - - - Catch ex As Exception - Logger.Warn($"PLSQL-Command: [{plsqlcommand}]") - Logger.Error(ex) - 'clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "SQL: " & plsqlcommand, True, "clsDatatabase.ExecuteonOracleDb") - ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden - Return False - End Try - - End Function - Public Function Oracle_CS_Test(CONSTRING As String) - Try - Dim conn As New OracleConnectionStringBuilder - - Dim Oracle_Conn As OracleConnection = New OracleConnection(CONSTRING) - - ' Verbindung zur Datenbank aufbauen - Try - Oracle_Conn.Open() - - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add(ex.Message, True, "clsDatatabase.Oracle_CS_Test(OpenConnection)") - Return False - End Try - Oracle_Conn.Close() - Return True - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add("Unexpected Error in Oracle_CS_Test: " & ex.Message, True, "clsDatatabase.Oracle_CS_Test") - ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden - Return False - End Try - - End Function Public Function MSSQL_CS_Test(CONSTRING As String) Try @@ -331,71 +234,4 @@ Public Class clsDatabase Return Nothing End Try End Function - Public Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String) - Dim result - Try - Logger.Debug("cmdscalar: " & cmdscalar) - Dim SQLconnect As New OracleConnection - Dim SQLcommand As New OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - 'Update Last Created Record in Foo - SQLcommand.CommandText = cmdscalar - result = SQLcommand.ExecuteScalar() - SQLcommand.Dispose() - SQLconnect.Close() - Return result - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add("Error in OracleExecute_Scalar: " & ex.Message, True) - 'clsLogger.Add("#SQL: " & cmdscalar, False) - Return Nothing - End Try - End Function - Public Function OracleExecute_non_Query(ExecuteCMD As String, OracleConnection As String, Optional userInput As Boolean = False) - Try - Logger.Debug("ExecuteCMD: " & ExecuteCMD) - Dim SQLconnect As New OracleConnection - Dim SQLcommand As OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - 'Update Last Created Record in Foo - SQLcommand.CommandText = ExecuteCMD - SQLcommand.ExecuteNonQuery() - SQLcommand.Dispose() - SQLconnect.Close() - Return True - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add("Error in OracleExecute_non_Query: " & ex.Message, True) - 'clsLogger.Add("#SQL: " & ExecuteCMD, False) - - Return False - End Try - End Function - - Public Function Oracle_Return_Datatable(Select_anweisung As String, OracleConnection As String, Optional userInput As Boolean = False) - Try - Logger.Debug("Select_anweisung: " & Select_anweisung) - Dim SQLconnect As New OracleConnection - Dim SQLcommand As OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = Select_anweisung - - Dim adapter1 As OracleDataAdapter = New OracleDataAdapter(SQLcommand) - Dim dt As DataTable = New DataTable() - adapter1.Fill(dt) - SQLconnect.Close() - Return dt - Catch ex As Exception - Logger.Error(ex) - 'clsLogger.Add("Error in Oracle_Return_Datatable: " & ex.Message, True) - 'clsLogger.Add("#SQL: " & Select_anweisung, False) - Return Nothing - End Try - End Function End Class diff --git a/app/ClassWMResulthandler/clsDateiverarbeitung.vb b/app/ClassWMResulthandler/clsDateiverarbeitung.vb index 4bd9cae..702d7f2 100644 --- a/app/ClassWMResulthandler/clsDateiverarbeitung.vb +++ b/app/ClassWMResulthandler/clsDateiverarbeitung.vb @@ -531,16 +531,11 @@ Public Class clsDateiverarbeitung Return False End If - - If _database.ExecuteonOracleDb(OracleCS, result) = True Then - Return True - Else - Return False - End If + Logger.Warn($"Executing Oracle Command is no longer implemented") + Return False Catch ex As Exception Logger.Error(ex) - Return False End Try End Function diff --git a/app/ClassWMResulthandler/clsWindream_Allgemein.vb b/app/ClassWMResulthandler/clsWindream_Allgemein.vb index 9aa19f5..2b07f3a 100644 --- a/app/ClassWMResulthandler/clsWindream_Allgemein.vb +++ b/app/ClassWMResulthandler/clsWindream_Allgemein.vb @@ -10,7 +10,7 @@ Imports WMOSRCHLib Imports System.IO Imports DigitalData.Modules.Logging -Public Class clsWindream_allgemein +Public Class ClsWindream_allgemein Dim Logger As Logger #Region "+++++ Konstanten +++++" Const DEBUG = AUS @@ -59,54 +59,60 @@ Public Class clsWindream_allgemein Try Dim oHourDifference As Integer oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now)) - 'If IsNothing(CURRENToWMConnect) Or oHourDifference >= 2 Then + + If Not IsNothing(CURRENToWMSession) AndAlso CURRENToWMSession.aLoggedin AndAlso oHourDifference < 2 Then + Logger.Debug("oWMSession already created!") + oWMSession = CURRENToWMSession + Return True + End If + Try - 'Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen - oWMSession = CreateObject("Windream.WMSession", GetCurrentServer) - ' Connection-Objekt instanziieren - oConnect = CreateObject("Windream.WMConnect") + 'Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen + oWMSession = CreateObject("Windream.WMSession", GetCurrentServer) + ' Connection-Objekt instanziieren + oConnect = CreateObject("Windream.WMConnect") Catch ex As Exception - Logger.Warn("Could not create WMObjects Session or Connect: " & ex.Message) + Logger.Warn("Could not create WMObjects Session or Connect: " & ex.Message) + Return False + End Try + 'wenn windream nicht angemeldet ist + If Not IsLoggedIn() Then + 'Art der Anmeldung an windream festlegen + '0x0L (also 0) = Standard windream Benutzer + 'WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.) + 'WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen + oConnect.ModuleID = 0 + 'setzt die minimal erwartete windream-Version + oConnect.MinReqVersion = "3" + ' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen + oConnect.LoginSession(oWMSession) + Logger.Debug("windream-UserName: '" & oConnect.UserName & "'") + If oWMSession.aLoggedin = False Then + Logger.Warn("Es konnte keine Verbindung mit dem windream-Server hergestellt werden") Return False - End Try - 'wenn windream nicht angemeldet ist - If Not IsLoggedIn() Then - 'Art der Anmeldung an windream festlegen - '0x0L (also 0) = Standard windream Benutzer - 'WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.) - 'WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen - oConnect.ModuleID = 0 - 'setzt die minimal erwartete windream-Version - oConnect.MinReqVersion = "3" - ' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen - oConnect.LoginSession(oWMSession) - Logger.Debug("windream-UserName: '" & oConnect.UserName & "'") - If oWMSession.aLoggedin = False Then - Logger.Warn("Es konnte keine Verbindung mit dem windream-Server hergestellt werden") + End If + + Try + If Not IsNothing(oWMSession) Then + oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False) + ' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine + ' Ordnertypen ausgelesen werden + oDokumentTypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument) + Else + Logger.Warn("Unexpected...but the WMSession is nothing...") Return False End If - Try - If Not IsNothing(oWMSession) Then - oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False) - ' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine - ' Ordnertypen ausgelesen werden - oDokumentTypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument) - Else - Logger.Warn("Unexpected...but the WMSession is nothing...") - Return False - End If - - Catch ex As Exception - Logger.Warn("Problem beim Auslesen der Objekttypen: " & ex.Message) - Return False - End Try - End If - Logger.Debug("Alles OK - Erfolgreich angemeldet und Session aufgebaut") - CURRENToWMSession = oWMSession - CURRENToWMSession_Created = Now - Return True + Catch ex As Exception + Logger.Warn("Problem beim Auslesen der Objekttypen: " & ex.Message) + Return False + End Try + End If + Logger.Debug("Alles OK - Erfolgreich angemeldet und Session aufgebaut") + CURRENToWMSession = oWMSession + CURRENToWMSession_Created = Now + Return True 'Else ' Logger.Debug("oWMSession already created!") ' oWMSession = CURRENToWMSession @@ -260,7 +266,8 @@ Public Class clsWindream_allgemein For Each index As String In indexnamen If index = indexname Then Return True Next - + Logger.Warn($"Index '{indexname}' does not exist in Objecttype '{objekttyp}'") + Return False Catch ex As Exception Logger.Error(ex) diff --git a/app/DDWDResultHandler/App.config b/app/DDWDResultHandler/App.config index 819f882..3545e2c 100644 --- a/app/DDWDResultHandler/App.config +++ b/app/DDWDResultHandler/App.config @@ -19,8 +19,8 @@ Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd - - 2 + + 1 diff --git a/app/DDWDResultHandler/DDWDResultHandler.vb b/app/DDWDResultHandler/DDWDResultHandler.vb index a6891f3..e6abc60 100644 --- a/app/DDWDResultHandler/DDWDResultHandler.vb +++ b/app/DDWDResultHandler/DDWDResultHandler.vb @@ -67,7 +67,7 @@ Public Class DDWDResultHandler ' Set the Interval Timer_Durchlauf.Interval = 60000 Timer_Durchlauf.Enabled = True - Logger.Debug("Timer gestartet") + Logger.Debug("Timer Resulthandler gestartet") ' Und den Durchlauf das erste Mal starten @@ -84,9 +84,11 @@ Public Class DDWDResultHandler AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun ' Set the Interval - TimerPMRefresh.Interval = 120000 '2 minutes + Dim oIntervallMS = (My.Settings.PMREFRESH_INTERVALL_MIN * 60000) + TimerPMRefresh.Interval = oIntervallMS 'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False) TimerPMRefresh.Enabled = True + Logger.Debug($"Timer PM Refresh gestartet, mit Intervall {My.Settings.PMREFRESH_INTERVALL_MIN} Minuten ") 'End If If My.Settings.SQLSERVER_CS_RH = "" And My.Settings.SQLSERVER_CS_PMRefresh <> "" Then Logger.Info("Thread PM Refresh will now be started for initial Run as Resulthandler's ConnString is empty...") diff --git a/app/DDWDResultHandler/My Project/AssemblyInfo.vb b/app/DDWDResultHandler/My Project/AssemblyInfo.vb index c15dd4e..37ae15d 100644 --- a/app/DDWDResultHandler/My Project/AssemblyInfo.vb +++ b/app/DDWDResultHandler/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/app/DDWDResultHandler/My Project/Settings.Designer.vb b/app/DDWDResultHandler/My Project/Settings.Designer.vb index 1619ffa..503e773 100644 --- a/app/DDWDResultHandler/My Project/Settings.Designer.vb +++ b/app/DDWDResultHandler/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -76,10 +76,10 @@ Namespace My _ - Public ReadOnly Property PMREFRESH_INTERVALL() As Integer + Global.System.Configuration.DefaultSettingValueAttribute("1")> _ + Public ReadOnly Property PMREFRESH_INTERVALL_MIN() As Integer Get - Return CType(Me("PMREFRESH_INTERVALL"),Integer) + Return CType(Me("PMREFRESH_INTERVALL_MIN"),Integer) End Get End Property End Class diff --git a/app/DDWDResultHandler/My Project/Settings.settings b/app/DDWDResultHandler/My Project/Settings.settings index 932e076..acffe0d 100644 --- a/app/DDWDResultHandler/My Project/Settings.settings +++ b/app/DDWDResultHandler/My Project/Settings.settings @@ -8,8 +8,8 @@ Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd - - 2 + + 1 \ No newline at end of file diff --git a/app/DDWDResultHandler/ServiceDDWDResultHandler.vbproj b/app/DDWDResultHandler/ServiceDDWDResultHandler.vbproj index 9a63c11..1dff073 100644 --- a/app/DDWDResultHandler/ServiceDDWDResultHandler.vbproj +++ b/app/DDWDResultHandler/ServiceDDWDResultHandler.vbproj @@ -52,8 +52,9 @@ On - - ..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + False + ..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll