EDMIService: Add ConnectionString for Config Database

This commit is contained in:
Jonathan Jenne 2022-06-22 09:29:39 +02:00
parent 74d8aeb503
commit 702d783c34
3 changed files with 31 additions and 5 deletions

View File

@ -1,6 +1,8 @@
Imports DigitalData.Modules.Config.ConfigAttributes Imports DigitalData.Modules.Config.ConfigAttributes
Public Class Config Public Class Config
<ConnectionString>
Public Property ConnectionString_Config As String = String.Empty
<ConnectionString> <ConnectionString>
Public Property ConnectionString_IDB As String = String.Empty Public Property ConnectionString_IDB As String = String.Empty
<ConnectionString> <ConnectionString>

View File

@ -21,12 +21,12 @@ Public Class Scheduler
Private Const JOB_GROUP As String = "DatatableJobs" Private Const JOB_GROUP As String = "DatatableJobs"
Public Sub New(LogConfig As LogConfig, MSSQL_ECM As MSSQLServer, TableStore As DataSet) Public Sub New(pLogConfig As LogConfig, pMSSQL_Config As MSSQLServer, pTableStore As DataSet)
MyBase.New(LogConfig) MyBase.New(pLogConfig)
_Factory = New StdSchedulerFactory(_Props) _Factory = New StdSchedulerFactory(_Props)
_MSSQL = MSSQL_ECM _MSSQL = pMSSQL_Config
_JobListener = New JobListener(LogConfig, _MSSQL, TableStore) _JobListener = New JobListener(pLogConfig, _MSSQL, pTableStore)
Logging.LogProvider.SetCurrentLogProvider(New LogProvider(Logger)) Logging.LogProvider.SetCurrentLogProvider(New LogProvider(Logger))
End Sub End Sub

View File

@ -18,6 +18,7 @@ Public Class WindowsService
Private Firebird As Firebird Private Firebird As Firebird
Private MSSQL_ECM As MSSQLServer Private MSSQL_ECM As MSSQLServer
Private MSSQL_IDB As MSSQLServer Private MSSQL_IDB As MSSQLServer
Private MSSQL_Config As MSSQLServer
Private ConfigManager As ConfigManager(Of Config) Private ConfigManager As ConfigManager(Of Config)
Private Config As Config Private Config As Config
@ -69,6 +70,7 @@ Public Class WindowsService
Firebird = StartFirebird() Firebird = StartFirebird()
MSSQL_ECM = GetMSSQL_ECM(LogConfig) MSSQL_ECM = GetMSSQL_ECM(LogConfig)
MSSQL_IDB = GetMSSQL_IDB(LogConfig) MSSQL_IDB = GetMSSQL_IDB(LogConfig)
MSSQL_Config = GetMSSQL_Config(LogConfig)
Logger.Info("Connection to Databases established!") Logger.Info("Connection to Databases established!")
Logger.Debug("Initializing EDMI Functions") Logger.Debug("Initializing EDMI Functions")
@ -76,7 +78,7 @@ Public Class WindowsService
Filesystem = New Filesystem.File(LogConfig) Filesystem = New Filesystem.File(LogConfig)
GlobalState = New GlobalState(LogConfig, MSSQL_IDB, MSSQL_ECM) 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) Scheduler = New Scheduler(LogConfigScheduler, oMSSQLServer, GlobalState.TableStore)
Logger.Info("Loading Global Data") Logger.Info("Loading Global Data")
@ -163,6 +165,11 @@ Public Class WindowsService
Private Function GetMSSQL_ECM(pLogConfig As LogConfig) As MSSQLServer Private Function GetMSSQL_ECM(pLogConfig As LogConfig) As MSSQLServer
Logger.Debug("Connecting to ECM MSSQL") 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) Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_ECM)
Logger.Info("Database connection to ECM Database established.") Logger.Info("Database connection to ECM Database established.")
Return oMSSQL Return oMSSQL
@ -170,11 +177,28 @@ Public Class WindowsService
Private Function GetMSSQL_IDB(pLogConfig As LogConfig) As MSSQLServer Private Function GetMSSQL_IDB(pLogConfig As LogConfig) As MSSQLServer
Logger.Debug("Connecting to IDB MSSQL") 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) Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_IDB)
Logger.Info("Database connection to IDB Database established.") Logger.Info("Database connection to IDB Database established.")
Return oMSSQL Return oMSSQL
End Function 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() Protected Overrides Sub OnStop()
GracefullyStop() GracefullyStop()
End Sub End Sub