From e6fcd5a3f91957167899ddd0d759b2fd870211c4 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 4 May 2026 17:32:24 +0200 Subject: [PATCH] MS NoLock und Referenzen nach TEst bei SWE --- app/DD_Clipboard_Searcher/App.config | 6 ++- app/DD_Clipboard_Searcher/ClassDataASorDB.vb | 2 +- app/DD_Clipboard_Searcher/ClassInit.vb | 18 +++---- app/DD_Clipboard_Searcher/ClassLicense.vb | 4 +- .../ctrlApplicationAssignment.vb | 4 +- app/DD_Clipboard_Searcher/easyFLOW.vbproj | 3 -- .../frmAdministration.vb | 10 ++-- app/DD_Clipboard_Searcher/frmGhostUser.vb | 2 +- app/SetupVS19/Product.wxs | 51 ++++++++++++++++--- 9 files changed, 69 insertions(+), 31 deletions(-) diff --git a/app/DD_Clipboard_Searcher/App.config b/app/DD_Clipboard_Searcher/App.config index 15d02e6..b488e68 100644 --- a/app/DD_Clipboard_Searcher/App.config +++ b/app/DD_Clipboard_Searcher/App.config @@ -103,7 +103,11 @@ - + + + + + diff --git a/app/DD_Clipboard_Searcher/ClassDataASorDB.vb b/app/DD_Clipboard_Searcher/ClassDataASorDB.vb index 67dc6a3..8ed92ee 100644 --- a/app/DD_Clipboard_Searcher/ClassDataASorDB.vb +++ b/app/DD_Clipboard_Searcher/ClassDataASorDB.vb @@ -113,7 +113,7 @@ Public Class ClassDataASorDB End Function Public Sub Refresh_Connections() Try - Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION") + Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION WITH (NOLOCK)") Dim oDatatable As New MyDataset.TBDD_CONNECTIONDataTable() Dim oResult As DataTable oResult = GetDatatable(oSql, "TBDD_CONNECTION", "", "", "") diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index 6ce8943..fb3c759 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -219,7 +219,7 @@ Public Class ClassInit MsgBox(msg, MsgBoxStyle.Exclamation) Return False End If - oSql = "select CAT_TITLE,CAT_STRING from TBDD_CATALOG" + oSql = "select CAT_TITLE,CAT_STRING from TBDD_CATALOG WITH (NOLOCK)" Dim DT_CATALOG As DataTable DT_CATALOG = MyDB_DDECM.GetDatatable(oSql) For Each oROW As DataRow In DT_CATALOG.Rows @@ -442,14 +442,14 @@ Public Class ClassInit ' pageAdmin.Visible = True End If - WD_UNICODE = MyDB_DDECM.GetScalarValue("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WHERE GUID = 1") - oSQL = $"SELECT COALESCE(MAX(LICENSE),'') FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE' + WD_UNICODE = MyDB_DDECM.GetScalarValue("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WITH (NOLOCK) WHERE GUID = 1") + oSQL = $"SELECT COALESCE(MAX(LICENSE),'') FROM TBDD_3RD_PARTY_MODULES WITH (NOLOCK) WHERE NAME = 'GDPICTURE' and VERSION = '{My.Settings.GDPICTURE_VERSION}' AND ACTIVE = 1" GDPICTURE_LICENSE = MyDB_DDECM.GetScalarValue(oSQL) If GDPICTURE_LICENSE = String.Empty Then _Logger.Info($"ATTENTION: GDPICTURE VERSION is nothing. [{oSQL}]") End If - oSQL = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WHERE ACTIVE = 1 ORDER BY LANG_CODE" + oSQL = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WITH (NOLOCK) WHERE ACTIVE = 1 ORDER BY LANG_CODE" BASEDATA_DT_LANGUAGE = MyDB_DDECM.GetDatatable(oSQL) @@ -484,7 +484,7 @@ Public Class ClassInit Public Sub Refresh_Connections() Try - Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION") + Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION WITH (NOLOCK) ") Dim oDatatable As New MyDataset.TBDD_CONNECTIONDataTable() Dim oResult As DataTable oDatatable = _DataASorDB.GetDatatable(oSql, "TBDD_CONNECTION", "", "", "") @@ -508,11 +508,11 @@ Public Class ClassInit End Sub Public Shared Function Refresh_Profile_Links() As String - Dim ProfileSQL As String = $"SELECT DISTINCT PROFIL_ID [GUID], PROFIL_ID, PROFIL_NAME,REGEX_EXPRESSION,COMMENT,PROFILE_TYPE FROM VWCW_USER_PROFILE WHERE USER_ID = {USER_ID}" - Dim oProcessSQL As String = $"SELECT DISTINCT T.GUID, T1.PROFIL_ID, T.PROC_NAME FROM TBCW_PROFILE_PROCESS T, VWCW_USER_PROFILE T1 WHERE T.PROFILE_ID = T1.PROFIL_ID AND USER_ID = {USER_ID}" - Dim oWindowSQL As String = $"SELECT DISTINCT T.* FROM VWCW_PROFILE_REL_WINDOW T INNER JOIN VWCW_USER_PROFILE T1 ON T.PROFILE_ID = T1.PROFIL_ID AND T1.USER_ID = T.USER_ID + Dim ProfileSQL As String = $"SELECT DISTINCT PROFIL_ID [GUID], PROFIL_ID, PROFIL_NAME,REGEX_EXPRESSION,COMMENT,PROFILE_TYPE FROM VWCW_USER_PROFILE WITH (NOLOCK) WHERE USER_ID = {USER_ID}" + Dim oProcessSQL As String = $"SELECT DISTINCT T.GUID, T1.PROFIL_ID, T.PROC_NAME FROM TBCW_PROFILE_PROCESS T WITH (NOLOCK), VWCW_USER_PROFILE T1 WITH (NOLOCK) WHERE T.PROFILE_ID = T1.PROFIL_ID AND USER_ID = {USER_ID}" + Dim oWindowSQL As String = $"SELECT DISTINCT T.* FROM VWCW_PROFILE_REL_WINDOW T WITH (NOLOCK) INNER JOIN VWCW_USER_PROFILE T1 WITH (NOLOCK) ON T.PROFILE_ID = T1.PROFIL_ID AND T1.USER_ID = T.USER_ID WHERE T.USER_ID = {USER_ID}" - Dim oControlSQL As String = $"SELECT DISTINCT T.* FROM VWCW_PROFILE_REL_CONTROL T INNER JOIN VWCW_USER_PROFILE T1 + Dim oControlSQL As String = $"SELECT DISTINCT T.* FROM VWCW_PROFILE_REL_CONTROL T WITH (NOLOCK) INNER JOIN VWCW_USER_PROFILE T1 WITH (NOLOCK) ON T.PROFILE_ID = T1.PROFIL_ID AND T.USER_ID = T1.USER_ID WHERE T1.USER_ID = {USER_ID} " Try diff --git a/app/DD_Clipboard_Searcher/ClassLicense.vb b/app/DD_Clipboard_Searcher/ClassLicense.vb index a14dc41..266f81d 100644 --- a/app/DD_Clipboard_Searcher/ClassLicense.vb +++ b/app/DD_Clipboard_Searcher/ClassLicense.vb @@ -5,11 +5,11 @@ Public Class ClassLicense Private Shared lic_string As String Private Shared Sub Get_License(CLIENT_ID As Integer) Try - Dim sql As String = String.Format("SELECT LICENSE FROM TBDD_MODULES WHERE SHORT_NAME = 'CW'") + Dim sql As String = String.Format("SELECT LICENSE FROM TBDD_MODULES WITH (NOLOCK) WHERE SHORT_NAME = 'CW'") lic_string = MyDB_DDECM.GetScalarValue(sql) Catch ex As Exception Try - Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID) + Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WITH (NOLOCK) WHERE GUID = {0}", CLIENT_ID) lic_string = MyDB_DDECM.GetScalarValue(sql) Catch ex1 As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in Get_License:") diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb index f7b1452..20c0e28 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb @@ -72,7 +72,7 @@ Public Class ctrlApplicationAssignment If MyDB_DDECM.ExecuteNonQuery(oSQL) = False Then Return False Else - Dim oNewProcessId = MyDB_DDECM.GetScalarValue("SELECT MAX(GUID) FROM TBCW_PROFILE_PROCESS") + Dim oNewProcessId = MyDB_DDECM.GetScalarValue("SELECT MAX(GUID) FROM TBCW_PROFILE_PROCESS WITH (NOLOCK)") oSQL = String.Format("INSERT INTO TBCW_PROF_REL_WINDOW (DESCRIPTION, REGEX, ADDED_WHO, PROCESS_ID) VALUES ('{0}', '^{1}$', '{2}' ,{3})", oWindowTitle, oWindowTitle, Environment.UserName, oNewProcessId) If MyDB_DDECM.ExecuteNonQuery(oSQL) = False Then @@ -370,7 +370,7 @@ Public Class ctrlApplicationAssignment Public Function Control_DeleteAssignment() As Boolean Try Dim oGuid = GridView_Control.GetFocusedRowCellValue(GridView_Control.Columns("GUID")) - Dim oSQL = String.Format("DELETE FROM TBCW_PROF_REL_CONTROL WHERE GUID = {0}", oGuid) + Dim oSQL = String.Format("DELETE FROM TBCW_PROF_REL_CONTROL WITH (NOLOCK) WHERE GUID = {0}", oGuid) If MyDB_DDECM.ExecuteNonQuery(oSQL) Then Window_Load() Return True diff --git a/app/DD_Clipboard_Searcher/easyFLOW.vbproj b/app/DD_Clipboard_Searcher/easyFLOW.vbproj index df7bd44..71be47e 100644 --- a/app/DD_Clipboard_Searcher/easyFLOW.vbproj +++ b/app/DD_Clipboard_Searcher/easyFLOW.vbproj @@ -98,9 +98,6 @@ False - - ..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll - ..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.RegexEditor\bin\Debug\DigitalData.Controls.RegexEditor.dll diff --git a/app/DD_Clipboard_Searcher/frmAdministration.vb b/app/DD_Clipboard_Searcher/frmAdministration.vb index 283844a..bd835cc 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.vb @@ -251,7 +251,7 @@ Public Class frmAdministration End Sub Sub Refresh_Free_Users(PROFILE_ID As Integer) - Dim Sql = String.Format("SELECT DISTINCT * FROM VWDD_USER_MODULE_CW WHERE GUID NOT IN (SELECT USER_ID FROM TBCW_USER_PROFILE WHERE PROFILE_ID = {0}) ORDER BY USERNAME", PROFILE_ID) + Dim Sql = String.Format("SELECT DISTINCT * FROM VWDD_USER_MODULE_CW WHERE GUID NOT IN (SELECT USER_ID FROM TBCW_USER_PROFILE WITH (NOLOCK) WHERE PROFILE_ID = {0}) ORDER BY USERNAME", PROFILE_ID) Dim DT_USER = MyDB_DDECM.GetDatatable(Sql) @@ -281,7 +281,7 @@ Public Class frmAdministration End Sub Sub Refresh_Free_Groups(PROFILE_ID As Integer) - Dim Sql = String.Format("SELECT DISTINCT * FROM TBDD_GROUPS WHERE GUID NOT IN (SELECT GROUP_ID FROM TBCW_GROUP_PROFILE WHERE PROFILE_ID = {0}) ORDER BY NAME", PROFILE_ID) + Dim Sql = String.Format("SELECT DISTINCT * FROM TBDD_GROUPS WITH (NOLOCK) WHERE GUID NOT IN (SELECT GROUP_ID FROM TBCW_GROUP_PROFILE WITH (NOLOCK) WHERE PROFILE_ID = {0}) ORDER BY NAME", PROFILE_ID) Dim oDataTable = MyDB_DDECM.GetDatatable(Sql) Try @@ -738,7 +738,7 @@ Public Class frmAdministration Dim oRow As MyDataset.VWCW_GROUP_PROFILERow = DirectCast(GridViewGroupInProfile.GetRow(oRowHandle), DataRowView).Row Dim oProfileId As Integer = oRow.PROFIL_ID Dim oGroupId As Integer = oRow.GROUP_ID - Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WHERE PROFILE_ID = {oProfileId} AND GROUP_ID = {oGroupId}" + Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WITH (NOLOCK) WHERE PROFILE_ID = {oProfileId} AND GROUP_ID = {oGroupId}" If MyDB_DDECM.ExecuteNonQuery(oSQL) = False Then MsgBox("Could not delete the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation) @@ -843,7 +843,7 @@ Public Class frmAdministration Dim oRow As MyDataset.VWCW_GROUP_PROFILERow = DirectCast(GridViewGroupInProfile.GetRow(oRowHandle), DataRowView).Row Dim oProfileId As Integer = oRow.PROFIL_ID Dim oGroupId As Integer = oRow.GROUP_ID - Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WHERE PROFILE_ID = {oProfileId} AND GROUP_ID = {oGroupId}" + Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WITH (NOLOCK) WHERE PROFILE_ID = {oProfileId} AND GROUP_ID = {oGroupId}" If MyDB_DDECM.ExecuteNonQuery(oSQL) = False Then MsgBox("Could not delete the Group-Definition via contextmenu....Check the logfile!", MsgBoxStyle.Exclamation) @@ -874,7 +874,7 @@ Public Class frmAdministration For Each oRowHandle As Integer In oSelectedRows Dim oRow As DataRow = GridViewUserInProfile.GetDataRow(oRowHandle) Dim oGuid As Integer = oRow.Item("USER_ID") - Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE PROFILE_ID = {0} AND USER_ID = {1}", PROFILE_IDTextBox.Text, oGuid) + Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WITH (NOLOCK) WHERE PROFILE_ID = {0} AND USER_ID = {1}", PROFILE_IDTextBox.Text, oGuid) If MyDB_DDECM.ExecuteNonQuery(del) = False Then MsgBox("Error while adding user!", MsgBoxStyle.Exclamation) End If diff --git a/app/DD_Clipboard_Searcher/frmGhostUser.vb b/app/DD_Clipboard_Searcher/frmGhostUser.vb index 613b13a..f948b39 100644 --- a/app/DD_Clipboard_Searcher/frmGhostUser.vb +++ b/app/DD_Clipboard_Searcher/frmGhostUser.vb @@ -1,7 +1,7 @@ Public Class frmGhostUser Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If TextBox1.Text <> String.Empty Then - Dim osql = $"SELECT COALESCE(MAX(GUID),0) FROM TBDD_USER WHERE USERNAME = '{TextBox1.Text}'" + Dim osql = $"SELECT COALESCE(MAX(GUID),0) FROM TBDD_USER WITH (NOLOCK) WHERE USERNAME = '{TextBox1.Text}'" Dim oUSERID = MyDB_DDECM.GetScalarValue(osql) If oUSERID = 0 Then MsgBox("Username unbekannt!", MsgBoxStyle.Information) diff --git a/app/SetupVS19/Product.wxs b/app/SetupVS19/Product.wxs index b347d02..e9f43ac 100644 --- a/app/SetupVS19/Product.wxs +++ b/app/SetupVS19/Product.wxs @@ -166,13 +166,50 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +