From 702d783c34d10af3652931679584611b85a08000 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 22 Jun 2022 09:29:39 +0200 Subject: [PATCH] EDMIService: Add ConnectionString for Config Database --- Service.EDMIService/Config.vb | 2 ++ Service.EDMIService/Scheduler/Scheduler.vb | 8 +++---- Service.EDMIService/WindowsService.vb | 26 +++++++++++++++++++++- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/Service.EDMIService/Config.vb b/Service.EDMIService/Config.vb index 33026e0e..8ae2cc8c 100644 --- a/Service.EDMIService/Config.vb +++ b/Service.EDMIService/Config.vb @@ -1,6 +1,8 @@ Imports DigitalData.Modules.Config.ConfigAttributes Public Class Config + + Public Property ConnectionString_Config As String = String.Empty Public Property ConnectionString_IDB As String = String.Empty diff --git a/Service.EDMIService/Scheduler/Scheduler.vb b/Service.EDMIService/Scheduler/Scheduler.vb index f5b76388..3d14e59f 100644 --- a/Service.EDMIService/Scheduler/Scheduler.vb +++ b/Service.EDMIService/Scheduler/Scheduler.vb @@ -21,12 +21,12 @@ Public Class Scheduler Private Const JOB_GROUP As String = "DatatableJobs" - Public Sub New(LogConfig As LogConfig, MSSQL_ECM As MSSQLServer, TableStore As DataSet) - MyBase.New(LogConfig) + Public Sub New(pLogConfig As LogConfig, pMSSQL_Config As MSSQLServer, pTableStore As DataSet) + MyBase.New(pLogConfig) _Factory = New StdSchedulerFactory(_Props) - _MSSQL = MSSQL_ECM - _JobListener = New JobListener(LogConfig, _MSSQL, TableStore) + _MSSQL = pMSSQL_Config + _JobListener = New JobListener(pLogConfig, _MSSQL, pTableStore) Logging.LogProvider.SetCurrentLogProvider(New LogProvider(Logger)) End Sub diff --git a/Service.EDMIService/WindowsService.vb b/Service.EDMIService/WindowsService.vb index 3f5ba419..c672730d 100644 --- a/Service.EDMIService/WindowsService.vb +++ b/Service.EDMIService/WindowsService.vb @@ -18,6 +18,7 @@ Public Class WindowsService Private Firebird As Firebird Private MSSQL_ECM As MSSQLServer Private MSSQL_IDB As MSSQLServer + Private MSSQL_Config As MSSQLServer Private ConfigManager As ConfigManager(Of Config) Private Config As Config @@ -69,6 +70,7 @@ Public Class WindowsService Firebird = StartFirebird() MSSQL_ECM = GetMSSQL_ECM(LogConfig) MSSQL_IDB = GetMSSQL_IDB(LogConfig) + MSSQL_Config = GetMSSQL_Config(LogConfig) Logger.Info("Connection to Databases established!") Logger.Debug("Initializing EDMI Functions") @@ -76,7 +78,7 @@ Public Class WindowsService Filesystem = New Filesystem.File(LogConfig) GlobalState = New GlobalState(LogConfig, MSSQL_IDB, MSSQL_ECM) - Dim oMSSQLServer = GetMSSQL_ECM(LogConfigScheduler) + Dim oMSSQLServer = GetMSSQL_Config(LogConfigScheduler) Scheduler = New Scheduler(LogConfigScheduler, oMSSQLServer, GlobalState.TableStore) Logger.Info("Loading Global Data") @@ -163,6 +165,11 @@ Public Class WindowsService Private Function GetMSSQL_ECM(pLogConfig As LogConfig) As MSSQLServer Logger.Debug("Connecting to ECM MSSQL") + If Config.ConnectionString_ECM = String.Empty Then + Logger.Warn("Configuration for ConnectionString_ECM is missing.") + Throw New ArgumentNullException("ConnectionString_ECM") + End If + Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_ECM) Logger.Info("Database connection to ECM Database established.") Return oMSSQL @@ -170,11 +177,28 @@ Public Class WindowsService Private Function GetMSSQL_IDB(pLogConfig As LogConfig) As MSSQLServer Logger.Debug("Connecting to IDB MSSQL") + If Config.ConnectionString_IDB = String.Empty Then + Logger.Warn("Configuration for ConnectionString_IDB is missing.") + Throw New ArgumentNullException("ConnectionString_IDB") + End If + Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_IDB) Logger.Info("Database connection to IDB Database established.") Return oMSSQL End Function + Private Function GetMSSQL_Config(pLogConfig As LogConfig) As MSSQLServer + Logger.Debug("Connecting to Config MSSQL") + If Config.ConnectionString_Config = String.Empty Then + Logger.Warn("Configuration for ConnectionString_Config is missing.") + Throw New ArgumentNullException("ConnectionString_Config") + End If + + Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_Config) + Logger.Info("Database connection to Config Database established.") + Return oMSSQL + End Function + Protected Overrides Sub OnStop() GracefullyStop() End Sub