Abfangen von Fehlern beim Löschen von Sql Verbindungen - frmConnecitons
This commit is contained in:
parent
b2aba07644
commit
131383ff9d
@ -369,10 +369,128 @@ Public Class frmConnections
|
|||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Error in Save Connection:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
MsgBox("Error in Save Connection:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||||
End Try
|
End Try
|
||||||
|
'Catch ex As Exception
|
||||||
|
|
||||||
|
' Dim oConnectionGuid As Integer
|
||||||
|
' oConnectionGuid = CurrentGuid
|
||||||
|
|
||||||
|
' ' StringBuilder VORHER deklarieren!
|
||||||
|
' Dim beingUsedAt As New Text.StringBuilder()
|
||||||
|
|
||||||
|
' If oConnectionGuid <> 0 Then
|
||||||
|
' Dim oSql As String =
|
||||||
|
' "SELECT DA.BEZEICHNUNG AS Profil,
|
||||||
|
' IM.NAME AS IndexName,
|
||||||
|
' 'Manuell' AS IndexTyp
|
||||||
|
' FROM TBDD_DOKUMENTART DA (NOLOCK)
|
||||||
|
' INNER JOIN TBDD_INDEX_MAN IM
|
||||||
|
' ON DA.GUID = IM.DOK_ID
|
||||||
|
' WHERE IM.CONNECTION_ID = @connectionGuid
|
||||||
|
|
||||||
|
' UNION ALL
|
||||||
|
|
||||||
|
' SELECT DA.BEZEICHNUNG AS Profil,
|
||||||
|
' IA.INDEXNAME AS IndexName,
|
||||||
|
' 'Automatisch' AS IndexTyp
|
||||||
|
' FROM TBDD_DOKUMENTART DA (NOLOCK)
|
||||||
|
' INNER JOIN TBDD_INDEX_AUTOM IA
|
||||||
|
' ON DA.GUID = IA.DOCTYPE_ID
|
||||||
|
' WHERE IA.CONNECTION_ID = @connectionGuid;"
|
||||||
|
|
||||||
|
' Dim oDataTable As New DataTable()
|
||||||
|
' oSql = oSql.Replace("@connectionGuid", oConnectionGuid.ToString)
|
||||||
|
' oDataTable = DATABASE_ECM.GetDatatable(oSql)
|
||||||
|
|
||||||
|
' For Each oRow As DataRow In oDataTable.Rows
|
||||||
|
' beingUsedAt.AppendLine($"- Profil: {oRow("Profil")} | {oRow("IndexTyp")}er Index: {oRow("IndexName")}")
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' Dim msg As String = "Fehler beim Löschen der SQL-Verbindung:" & vbNewLine &
|
||||||
|
' "Die SQL-Verbindung ist noch in Verwendung."
|
||||||
|
|
||||||
|
' If beingUsedAt.Length > 0 Then
|
||||||
|
' msg &= vbNewLine & vbNewLine & "Verwendet in:" & vbNewLine & beingUsedAt.ToString()
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' MsgBox(msg, MsgBoxStyle.Critical)
|
||||||
|
'End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||||
TBDD_CONNECTIONBindingSource.RemoveCurrent()
|
|
||||||
|
Dim oCurrentRow As DataRowView = TryCast(TBDD_CONNECTIONBindingSource.Current, DataRowView)
|
||||||
|
Dim oConnectionGuid As Integer
|
||||||
|
If oCurrentRow IsNot Nothing AndAlso oCurrentRow("GUID") IsNot DBNull.Value Then
|
||||||
|
oConnectionGuid = oCurrentRow("GUID")
|
||||||
|
End If
|
||||||
|
|
||||||
|
' StringBuilder VORHER deklarieren!
|
||||||
|
Dim oBeingUsedAt As New Text.StringBuilder()
|
||||||
|
Dim oAppJobExist As Integer = 0
|
||||||
|
|
||||||
|
If oConnectionGuid <> 0 Then
|
||||||
|
Dim oSql As String = "
|
||||||
|
SELECT DA.BEZEICHNUNG AS Profil,
|
||||||
|
IM.NAME AS IndexName,
|
||||||
|
'Manuell' AS IndexTyp
|
||||||
|
FROM TBDD_DOKUMENTART DA (NOLOCK)
|
||||||
|
INNER JOIN TBDD_INDEX_MAN IM
|
||||||
|
ON DA.GUID = IM.DOK_ID
|
||||||
|
WHERE IM.CONNECTION_ID = @connectionGuid
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT DA.BEZEICHNUNG AS Profil,
|
||||||
|
IA.INDEXNAME AS IndexName,
|
||||||
|
'Automatisch' AS IndexTyp
|
||||||
|
FROM TBDD_DOKUMENTART DA (NOLOCK)
|
||||||
|
INNER JOIN TBDD_INDEX_AUTOM IA
|
||||||
|
ON DA.GUID = IA.DOCTYPE_ID
|
||||||
|
WHERE IA.CONNECTION_ID = @connectionGuid;"
|
||||||
|
|
||||||
|
Dim oDataTable As New DataTable()
|
||||||
|
oSql = oSql.Replace("@connectionGuid", oConnectionGuid.ToString)
|
||||||
|
oDataTable = DATABASE_ECM.GetDatatable(oSql)
|
||||||
|
|
||||||
|
For Each oRow As DataRow In oDataTable.Rows
|
||||||
|
oBeingUsedAt.AppendLine($"- Profil: {oRow("Profil")} | {oRow("IndexTyp")}er Index: {oRow("IndexName")}")
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim oSql2 As String = "
|
||||||
|
IF (EXISTS (SELECT * FROM [INFORMATION_SCHEMA].[TABLES] (NOLOCK) WHERE [TABLE_NAME] = 'TBAPPSERV_CRON_DETAIL')) BEGIN
|
||||||
|
SELECT Count(CD.DT_NAME)
|
||||||
|
FROM TBAPPSERV_CRON_DETAIL AS CD
|
||||||
|
INNER JOIN TBDD_CONNECTION AS CO
|
||||||
|
ON CD.CON_ID = CO.GUID
|
||||||
|
WHERE CON_ID = @connectionGuid
|
||||||
|
END; ELSE BEGIN
|
||||||
|
SELECT 0
|
||||||
|
END;"
|
||||||
|
|
||||||
|
oSql2 = oSql2.Replace("@connectionGuid", oConnectionGuid.ToString)
|
||||||
|
oAppJobExist = DATABASE_ECM.GetScalarValue(oSql2)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim oMsg As String = "SQL-Verbindung kann nicht gelöscht werden:" & vbNewLine & vbNewLine &
|
||||||
|
"Die SQL-Verbindung ist noch in Verwendung." & vbNewLine
|
||||||
|
|
||||||
|
If oBeingUsedAt.Length = 0 AndAlso oAppJobExist = 0 Then
|
||||||
|
TBDD_CONNECTIONBindingSource.RemoveCurrent()
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
If oBeingUsedAt.Length > 0 Then
|
||||||
|
oMsg &= vbNewLine & vbNewLine & "Verwendet in:" & vbNewLine & oBeingUsedAt.ToString()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If oAppJobExist > 0 Then
|
||||||
|
oMsg &= vbNewLine & vbNewLine & "Verwendet in:" & vbNewLine & oAppJobExist.ToString() & " Cron Details"
|
||||||
|
End If
|
||||||
|
|
||||||
|
MsgBox(oMsg, MsgBoxStyle.Critical)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick
|
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user