Use Database from Monorepo, Add initial ODBC Support

This commit is contained in:
Jonathan Jenne 2019-08-06 15:41:02 +02:00
parent 6e6a483602
commit 43d3ba5ef2
15 changed files with 237 additions and 364 deletions

View File

@ -1,233 +0,0 @@
Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client
Public Class ClassDatabase
Private Shared SQLSERVERConnectionString As String
Private Shared OracleConnectionString As String
Public Shared Function Get_ConnectionString(id As Integer)
Dim connectionString As String = ""
Try
'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id)
Dim DTConnection As DataTable = Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id)
If DTConnection.Rows.Count = 1 Then
Select Case DTConnection.Rows(0).Item("SQL_PROVIDER")
Case "MS-SQL"
If DTConnection.Rows(0).Item("USERNAME") = "WINAUTH" Then
connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";Trusted_Connection=True;"
Else
connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
End If
' connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
Case "Oracle"
If DTConnection.Rows(0).Item("BEMERKUNG").ToString.Contains("without tnsnames") Then
connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & DTConnection.Rows(0).Item("SERVER") & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" &
DTConnection.Rows(0).Item("DATENBANK") & ")));User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
Else
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Persist Security Info=True;User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";Unicode=True"
End If
'Case "ODBC"
' Dim conn As New OdbcConnection("dsn=" & DTConnection.Rows(0).Item("SERVER") & ";uid=" & DTConnection.Rows(0).Item("USERNAME") & ";pwd=" + DTConnection.Rows(0).Item("PASSWORD"))
' connectionString = conn.ConnectionString
Case Else
LOGGER.Info(" - ConnectionType nicht integriert", False)
MsgBox("ConnectionType nicht integriert", MsgBoxStyle.Critical, "Bitte Konfiguration Connection überprüfen!")
End Select
Else
LOGGER.Info(" No entry for Connection-ID: " & id.ToString, True)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info(" - Error in bei Get ConnectionString - Fehler: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Get ConnectionString:")
End Try
Return connectionString
End Function
Public Shared Function Init()
Try
SQLSERVERConnectionString = MyConnectionString
Dim SQLconnect As New SqlConnection
SQLconnect.ConnectionString = SQLSERVERConnectionString
SQLconnect.Open()
SQLconnect.Close()
Return True
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Fehler bei Database-Init: " & ex.Message, True)
Return False
End Try
End Function
Public Shared Function Return_Datatable(Select_anweisung As String, Optional userInput As Boolean = False)
Try
Dim SQLconnect As New SqlConnection
Dim SQLcommand As SqlCommand
Logger.Debug(">>> ReturnDatatable: " & Select_anweisung)
SQLconnect.ConnectionString = SQLSERVERConnectionString
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = Select_anweisung
LOGGER.Debug(">>> Execute ReturnDatatable: " & Select_anweisung)
Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(SQLcommand)
Dim dt As DataTable = New DataTable()
adapter1.Fill(dt)
SQLconnect.Close()
Return dt
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in Return Datatable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & Select_anweisung, MsgBoxStyle.Critical)
End If
'Clipboard.SetText("Error: " & ex.Message & vbNewLine & "SQL: " & Select_anweisung)
Logger.Info("Fehler bei Return_Datatable: " & ex.Message, True)
LOGGER.Info("#SQL: " & Select_anweisung, False)
Return Nothing
End Try
End Function
Public Shared Function Return_Datatable_CS(SQLCommand As String, Conn_ID As Integer, Optional userInput As Boolean = False)
Try
Dim oConString As String = Get_ConnectionString(Conn_ID)
LOGGER.Debug(">>> ReturnDatatable: " & SQLCommand)
Dim oSQLconnect As New SqlConnection
Dim oSQLcommand As SqlCommand
oSQLconnect.ConnectionString = oConString
oSQLconnect.Open()
oSQLcommand = oSQLconnect.CreateCommand
oSQLcommand.CommandText = SQLCommand
Dim oSQLAdapter As SqlDataAdapter = New SqlDataAdapter(oSQLcommand)
Dim oReturnDatatable As DataTable = New DataTable()
oSQLAdapter.Fill(oReturnDatatable)
oSQLconnect.Close()
Return oReturnDatatable
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in Return_Datatable_CS - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & SQLCommand, MsgBoxStyle.Critical)
End If
LOGGER.Info("Fehler bei Return_Datatable_CS: " & ex.Message, True)
LOGGER.Info("#SQL: " & SQLCommand, False)
Return Nothing
End Try
End Function
Public Shared Function Execute_non_Query(ExecuteCMD As String, Optional userInput As Boolean = False)
Try
Dim SQLconnect As New SqlConnection
Dim SQLcommand As SqlCommand
SQLconnect.ConnectionString = SQLSERVERConnectionString
LOGGER.Debug(">>> Execute_non_Query: " & ExecuteCMD)
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = ExecuteCMD
LOGGER.Debug(">>> Execute NonQuery: " & ExecuteCMD)
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical)
End If
'Clipboard.SetText("Error ExecuteCMD: " & ex.Message & vbNewLine & "SQL: " & ExecuteCMD)
Logger.Info("Fehler bei Execute_non_Query: " & ex.Message, True)
LOGGER.Info("#SQL: " & ExecuteCMD, False)
Return False
End Try
End Function
Public Shared Function Execute_Scalar(cmdscalar As String, ConString As String, Optional userInput As Boolean = False)
Dim result
Try
Dim SQLconnect As New SqlConnection
Dim SQLcommand As SqlCommand
SQLconnect.ConnectionString = ConString
Logger.Debug(">>> Execute_non_Query: " & cmdscalar)
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = cmdscalar
Logger.Debug(">>> Execute Scalar: " & cmdscalar)
result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose()
SQLconnect.Close()
Return result
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in Execute Scalar - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & cmdscalar, MsgBoxStyle.Critical)
End If
' Clipboard.SetText("Error Execute_Scalar: " & ex.Message & vbNewLine & "SQL: " & cmdscalar)
Logger.Info("Fehler bei Execute_Scalar: " & ex.Message, True)
LOGGER.Info("#SQL: " & cmdscalar, False)
Return Nothing
End Try
End Function
Public Shared Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String)
Dim result
Try
Dim SQLconnect As New OracleConnection
Dim SQLcommand As New OracleCommand
SQLconnect.ConnectionString = OracleConnection
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = cmdscalar
result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose()
SQLconnect.Close()
Return result
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Fehler bei OracleExecute_Scalar: " & ex.Message, True)
LOGGER.Info("#SQL: " & cmdscalar, False)
Return Nothing
End Try
End Function
Public Shared Function OracleExecute_non_Query(ExecuteCMD As String, OracleConnection As String, Optional userInput As Boolean = False)
Try
Dim SQLconnect As New OracleConnection
Dim SQLcommand As OracleCommand
SQLconnect.ConnectionString = OracleConnection
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = ExecuteCMD
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in OracleExecute_non_Query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical)
End If
LOGGER.Info("Fehler bei OracleExecute_non_Query: " & ex.Message, True)
LOGGER.Info("#SQL: " & ExecuteCMD, False)
Return False
End Try
End Function
Public Shared Function Oracle_Return_Datatable(Select_anweisung As String, OracleConnection As String, Optional userInput As Boolean = False)
Try
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)
If userInput = True Then
MsgBox("Error in Oracle Return Datatable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & Select_anweisung, MsgBoxStyle.Critical)
End If
LOGGER.Info("Fehler bei Oracle_Return_Datatable: " & ex.Message, True)
LOGGER.Info("#SQL: " & Select_anweisung, False)
Return Nothing
End Try
End Function
End Class

View File

@ -2,9 +2,12 @@
Imports DD_LIB_Standards
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Public Class ClassInit
Public _lizenzManager As clsLicenseManager
Public _database As MSSQLServer
Public Sub InitLogger()
LogConfig = New LogConfig(LogConfig.PathType.AppData)
Logger = LogConfig.GetLogger()
@ -29,6 +32,23 @@ Public Class ClassInit
Return True
End If
End Function
Public Function InitDatabase_New() As Boolean
If MyConnectionString = String.Empty Then
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
ERROR_INIT = "NO DB-CONNECTION"
frmConfig_Basic.ShowDialog()
End If
Try
Database = New MSSQLServer(LogConfig, MyConnectionString)
Return True
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function
Public Function InitBasics()
ConfigManager = New ConfigManager(Of ClassConfig)(LogConfig, Application.UserAppDataPath, Application.CommonAppDataPath)
@ -74,7 +94,7 @@ Public Class ClassInit
USER_USERNAME = _User
End If
Try
DT_CLIENT_USER = clsDatabase.Return_Datatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False)
DT_CLIENT_USER = Database.GetDatatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False)
If DT_CLIENT_USER.Rows.Count > 1 Then
frmClientLogin.ShowDialog()
ElseIf DT_CLIENT_USER.Rows.Count = 1 Then
@ -92,7 +112,7 @@ Public Class ClassInit
'ClassLogger.Add(">> Username: " & USER_USERNAME, False)
Dim sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','CW',{1})", USER_USERNAME, CLIENT_SELECTED)
Dim DT_CHECKUSER_MODULE As DataTable = clsDatabase.Return_Datatable(sql)
Dim DT_CHECKUSER_MODULE As DataTable = Database.GetDatatable(sql)
If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True)
'ERROR_STATE = "NO USER"
@ -142,12 +162,12 @@ Public Class ClassInit
ClassLicense.Refresh_Licence(DT_CLIENT_USER.Rows(0).Item("CLIENT_ID"))
'Am System anmelden
' sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_ID)
'clsDatabase.Execute_non_Query(sql)
'Database.GetDatatable(sql)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Clipboard-Watcher'"
clsDatabase.Execute_non_Query(sql, True)
Database.ExecuteNonQuery(sql, True)
sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Clipboard-Watcher','{2}','{3}')", USER_ID, 0, My.Application.Info.Version.ToString, Environment.MachineName)
clsDatabase.Execute_non_Query(sql)
Database.ExecuteNonQuery(sql)
If USER_IS_ADMIN = True Then
If ESC_Hidden = True Then
@ -162,8 +182,8 @@ Public Class ClassInit
' pageAdmin.Visible = True
End If
WD_UNICODE = clsDatabase.Execute_Scalar("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WHERE GUID = 1")
GDPICTURE_LICENSE = clsDatabase.Execute_Scalar("SELECT GDPICTURE_LICENSE FROM TBCW_CONFIGURATION WHERE GUID = 1")
WD_UNICODE = Database.NewExecuteScalar("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WHERE GUID = 1")
GDPICTURE_LICENSE = Database.NewExecuteScalar("SELECT GDPICTURE_LICENSE FROM TBCW_CONFIGURATION WHERE GUID = 1")
Logger.Debug(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False)
If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then
@ -178,7 +198,7 @@ Public Class ClassInit
If USER_IS_ADMIN = False Then
'Anmeldung wieder herausnehmen
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Clipboard-Watcher'"
clsDatabase.Execute_non_Query(sql, True)
Database.ExecuteNonQuery(sql, True)
Logger.Info(" - logged out the user", False)
Return False
End If
@ -197,12 +217,12 @@ Public Class ClassInit
Public Shared Sub Refresh_Profile_Links()
Try
Dim oSql = String.Format("SELECT * FROM VWCW_USER_PROFILE WHERE USER_ID = {0} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {0}))", USER_ID)
DT_USER_PROFILES = clsDatabase.Return_Datatable(oSql)
DT_USER_PROFILES = Database.GetDatatable(oSql)
If DT_USER_PROFILES.Rows.Count = 0 Then
MsgBox("No profiles configured for this user so far!", MsgBoxStyle.Exclamation)
Else
oSql = $"SELECT * FROM VWCW_PROFILE_REL_WINDOW WHERE USER_ID = {USER_ID}"
DTPROFILE_REL_WINDOW = clsDatabase.Return_Datatable(oSql)
DTPROFILE_REL_WINDOW = Database.GetDatatable(oSql)
End If
Catch ex As Exception
MsgBox("Unexpected Error in Refresh_Profile_Links: " & ex.Message, MsgBoxStyle.Critical)

View File

@ -4,7 +4,7 @@ Public Class ClassLicense
Private Shared Sub Get_License(CLIENT_ID As Integer)
Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID)
lic_string = clsDatabase.Execute_Scalar(sql)
lic_string = Database.NewExecuteScalar(sql)
End Sub
Public Shared Sub Refresh_Licence(CLIENT_ID As Integer)
Try

View File

@ -70,6 +70,9 @@
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Filesystem, Version=0.0.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDMonorepo\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
@ -127,7 +130,6 @@
<Compile Include="ClassWindow.vb" />
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassDatabase.vb" />
<Compile Include="ClassInit.vb" />
<Compile Include="ClassLayout.vb" />
<Compile Include="ClassProfileFilter.vb" />

View File

@ -40,11 +40,11 @@ Public Class ctrlApplicationAssignment
If oProcessName <> "" Then
Dim oSQL = String.Format("INSERT INTO TBCW_PROFILE_PROCESS (PROFILE_ID,PROC_NAME,ADDED_WHO) VALUES ({0},'{1}','{2}')", ProfileId, oProcessName, Environment.UserName)
If clsDatabase.Execute_non_Query(oSQL) = False Then
If Database.ExecuteNonQuery(oSQL) = False Then
Return False
Else
oSQL = String.Format("INSERT INTO TBCW_PROF_REL_WINDOW (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$','{4}')", ProfileId, oProcessName, oProcessName, oWindowTitle, Environment.UserName)
If clsDatabase.Execute_non_Query(oSQL) = False Then
If Database.ExecuteNonQuery(oSQL) = False Then
Return False
End If
End If
@ -63,7 +63,7 @@ Public Class ctrlApplicationAssignment
Try
Dim oProcessId = GridViewProcessProfile.GetFocusedRowCellValue(GridViewProcessProfile.Columns("GUID"))
Dim oSQL = String.Format("EXEC PRCW_DELETE_PROCESS {0}", oProcessId)
If clsDatabase.Execute_non_Query(oSQL) Then
If Database.ExecuteNonQuery(oSQL) Then
Process_Load(Current_ProfileId)
Return True
End If
@ -110,7 +110,7 @@ Public Class ctrlApplicationAssignment
If oWindowTitle <> "" Then
Dim insert = String.Format("INSERT INTO TBCW_PROF_REL_WINDOW (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$','{4}')", ProfileId, oProcessName, oProcessName, oWindowTitle, Environment.UserName)
If clsDatabase.Execute_non_Query(insert) = False Then
If Database.ExecuteNonQuery(insert) = False Then
Return False
End If
End If
@ -128,7 +128,7 @@ Public Class ctrlApplicationAssignment
Try
Dim oGuid = GridView_Window.GetFocusedRowCellValue(GridView_Window.Columns("GUID"))
Dim oSQL = String.Format("DELETE FROM TBCW_PROF_REL_WINDOW WHERE GUID = {0}", oGuid)
If clsDatabase.Execute_non_Query(oSQL) Then
If Database.ExecuteNonQuery(oSQL) Then
Process_Load(Current_ProfileId)
Return True
End If

View File

@ -135,7 +135,7 @@ Public Class frmAdministration
For Each row As DataRow In MyDataset.TBWH_User.Rows
If row.Item(0) = CBool(True) Then
Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, row.Item(5))
If clsDatabase.Execute_non_Query(insert) = False Then
If Database.ExecuteNonQuery(insert) = False Then
MsgBox("Could not insert the User-Definition....Check the logfile!", MsgBoxStyle.Exclamation)
End If
End If
@ -157,7 +157,7 @@ Public Class frmAdministration
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 DT_USER = clsDatabase.Return_Datatable(Sql)
Dim DT_USER = Database.GetDatatable(Sql)
Try
MyDataset.TBWH_User.Clear()
@ -185,7 +185,7 @@ Public Class frmAdministration
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 oDataTable = clsDatabase.Return_Datatable(Sql)
Dim oDataTable = Database.GetDatatable(Sql)
Try
MyDataset.TBWH_GROUP.Clear()
@ -211,7 +211,7 @@ Public Class frmAdministration
Exit Sub
End Try
Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", ID)
If clsDatabase.Execute_non_Query(del) = True Then
If Database.ExecuteNonQuery(del) = True Then
Refresh_ProfileData()
If GUIDTextBox.Text <> "" Then
Refresh_Free_Users(GUIDTextBox.Text)
@ -294,7 +294,7 @@ Public Class frmAdministration
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie das Profil löschen wollen?", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
' wenn Speichern ja
If result = MsgBoxResult.Yes Then
If clsDatabase.Execute_non_Query(swl) = True Then
If Database.ExecuteNonQuery(swl) = True Then
Load_Profiles()
End If
End If
@ -364,7 +364,7 @@ Public Class frmAdministration
Dim oRow As DataRow = GridViewUserNotInProfile.GetDataRow(oRowHandle)
Dim oGuid As Integer = oRow.Item("ID")
Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, oGuid)
If clsDatabase.Execute_non_Query(insert) = False Then
If Database.ExecuteNonQuery(insert) = False Then
MsgBox("Error while adding user!", MsgBoxStyle.Exclamation)
End If
Next
@ -393,7 +393,7 @@ Public Class frmAdministration
Dim oRow As DataRow = GridViewUserInProfile.GetDataRow(oRowHandle)
Dim oGuid As Integer = oRow.Item("GUID")
Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", oGuid)
If clsDatabase.Execute_non_Query(del) = False Then
If Database.ExecuteNonQuery(del) = False Then
MsgBox("Error while adding user!", MsgBoxStyle.Exclamation)
End If
Next
@ -419,7 +419,7 @@ Public Class frmAdministration
Dim oGroupId As Integer = oRow.ID
Dim oSQL As String = $"INSERT INTO TBCW_GROUP_PROFILE (PROFILE_ID,GROUP_ID) VALUES ({GUIDTextBox.Text},{oGroupId})"
If clsDatabase.Execute_non_Query(oSQL) = False Then
If Database.ExecuteNonQuery(oSQL) = False Then
MsgBox("Could not insert the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation)
End If
Next
@ -444,7 +444,7 @@ Public Class frmAdministration
Dim oGroupId As Integer = oRow.GUID
Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WHERE GUID = ({oGroupId})"
If clsDatabase.Execute_non_Query(oSQL) = False Then
If Database.ExecuteNonQuery(oSQL) = False Then
MsgBox("Could not delete the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation)
End If
Next

View File

@ -62,11 +62,13 @@ Partial Class frmConnection
Me.BarButtonAdd = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonDelete = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonSave = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.ODBCServerTextBox = New System.Windows.Forms.ComboBox()
Me.Label1 = New System.Windows.Forms.Label()
BEZEICHNUNGLabel = New System.Windows.Forms.Label()
SQL_PROVIDERLabel = New System.Windows.Forms.Label()
SERVERLabel = New System.Windows.Forms.Label()
@ -129,9 +131,9 @@ Partial Class frmConnection
USERNAMELabel.AutoSize = True
USERNAMELabel.Location = New System.Drawing.Point(14, 123)
USERNAMELabel.Name = "USERNAMELabel"
USERNAMELabel.Size = New System.Drawing.Size(65, 13)
USERNAMELabel.Size = New System.Drawing.Size(76, 13)
USERNAMELabel.TabIndex = 10
USERNAMELabel.Text = "USERNAME:"
USERNAMELabel.Text = "Benutzername"
'
'PASSWORDLabel
'
@ -200,10 +202,12 @@ Partial Class frmConnection
'
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.IsSplitterFixed = True
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 122)
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 125)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridControl1)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
Me.SplitContainerControl1.Panel2.Controls.Add(Me.Label1)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.ODBCServerTextBox)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.chkWinAuth)
Me.SplitContainerControl1.Panel2.Controls.Add(GUIDLabel)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.GUIDTextBox)
@ -230,7 +234,7 @@ Partial Class frmConnection
Me.SplitContainerControl1.Panel2.Controls.Add(GEAENDERTWANNLabel)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.GEAENDERTWANNDateTimePicker)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(714, 376)
Me.SplitContainerControl1.Size = New System.Drawing.Size(714, 383)
Me.SplitContainerControl1.SplitterPosition = 241
Me.SplitContainerControl1.TabIndex = 0
Me.SplitContainerControl1.Text = "SplitContainerControl1"
@ -242,7 +246,7 @@ Partial Class frmConnection
Me.GridControl1.Location = New System.Drawing.Point(0, 0)
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(241, 376)
Me.GridControl1.Size = New System.Drawing.Size(241, 383)
Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
@ -282,7 +286,7 @@ Partial Class frmConnection
'chkWinAuth
'
Me.chkWinAuth.AutoSize = True
Me.chkWinAuth.Location = New System.Drawing.Point(223, 181)
Me.chkWinAuth.Location = New System.Drawing.Point(223, 179)
Me.chkWinAuth.Name = "chkWinAuth"
Me.chkWinAuth.Size = New System.Drawing.Size(154, 17)
Me.chkWinAuth.TabIndex = 31
@ -295,6 +299,7 @@ Partial Class frmConnection
Me.GUIDTextBox.Enabled = False
Me.GUIDTextBox.Location = New System.Drawing.Point(17, 19)
Me.GUIDTextBox.Name = "GUIDTextBox"
Me.GUIDTextBox.ReadOnly = True
Me.GUIDTextBox.Size = New System.Drawing.Size(200, 21)
Me.GUIDTextBox.TabIndex = 29
'
@ -312,7 +317,7 @@ Partial Class frmConnection
Me.SQL_PROVIDERComboBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_CONNECTIONBindingSource, "SQL_PROVIDER", True))
Me.SQL_PROVIDERComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.SQL_PROVIDERComboBox.FormattingEnabled = True
Me.SQL_PROVIDERComboBox.Items.AddRange(New Object() {"MS-SQL", "ORACLE"})
Me.SQL_PROVIDERComboBox.Items.AddRange(New Object() {"MS-SQL", "ORACLE", "ODBC"})
Me.SQL_PROVIDERComboBox.Location = New System.Drawing.Point(17, 59)
Me.SQL_PROVIDERComboBox.Name = "SQL_PROVIDERComboBox"
Me.SQL_PROVIDERComboBox.Size = New System.Drawing.Size(200, 21)
@ -425,7 +430,7 @@ Partial Class frmConnection
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
Me.RibbonControl1.Size = New System.Drawing.Size(714, 122)
Me.RibbonControl1.Size = New System.Drawing.Size(714, 125)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonAdd
@ -452,6 +457,14 @@ Partial Class frmConnection
Me.BarButtonSave.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonSave.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonSave.Name = "BarButtonSave"
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Verbindungstest"
Me.BarButtonItem1.Id = 4
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
@ -469,23 +482,32 @@ Partial Class frmConnection
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 498)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 508)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(714, 31)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(714, 21)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'BarButtonItem1
'ODBCServerTextBox
'
Me.BarButtonItem1.Caption = "Verbindungstest"
Me.BarButtonItem1.Id = 4
Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
Me.ODBCServerTextBox.FormattingEnabled = True
Me.ODBCServerTextBox.Location = New System.Drawing.Point(223, 19)
Me.ODBCServerTextBox.Name = "ODBCServerTextBox"
Me.ODBCServerTextBox.Size = New System.Drawing.Size(200, 21)
Me.ODBCServerTextBox.TabIndex = 32
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(220, 3)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(101, 13)
Me.Label1.TabIndex = 33
Me.Label1.Text = "ODBC Verbindung *"
'
'frmConnection
'
@ -495,7 +517,7 @@ Partial Class frmConnection
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.MinimumSize = New System.Drawing.Size(724, 451)
Me.MinimumSize = New System.Drawing.Size(716, 451)
Me.Name = "frmConnection"
Me.Ribbon = Me.RibbonControl1
Me.ShowIcon = False
@ -544,4 +566,6 @@ Partial Class frmConnection
Friend WithEvents BarButtonSave As DevExpress.XtraBars.BarButtonItem
Friend WithEvents GUIDTextBox As TextBox
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents ODBCServerTextBox As ComboBox
Friend WithEvents Label1 As Label
End Class

View File

@ -238,33 +238,33 @@
</data>
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAFXRFWHRUaXRsZQBHYXVnZTtD
aXJjdWxhcjvZ1LzUAAABIUlEQVQ4T6WRsUoDQRRF5xvyA+sPWNkbCCFgIXb+gLJEUFgI2AbigrBoYxWw
TJVuu9iFVGJp5zekyh9M7lneSHYcwcXiLG/fu/fuzFvnvf8XyWYXks0uuLIsY0biWbyLnUFNj1lLf/hy
JJ7ERkxFX/QManrM0KBtBdBYiPntw+vgfPZWiJXYGtQFMzSmbUJCAKnzy1k9lLAW/hceP24uTtGapwng
Xhv7cjCvRS4yg/rl8/rs7utqWC/vx5yE64wIYDlTCTh2MJ/E25bxWKyFFwUevASw4b5M3JOAPDYHZMwt
YIUHLwH8pp6MLIuArKoqL1KnyCxgiwed42EBLoDZQiZxSKAVkID+JLxjCHUMSQ2H6Wb4NsUzCL4fg64k
m3/Huz2jOnVRTFWrbAAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAVdEVYdFRpdGxlAEdhdWdlO0NpcmN1bGFyO9nUvNQA
AAEhSURBVDhPpZGxSgNBFEXnG/ID6w9Y2RsIIWAhdv6AskRQWAjYBuKCsGhjFbBMlW672IVUYmnnN6TK
H0zuWd5IdhzBxeIsb9+79+7MW+e9/xfJZheSzS64sixjRuJZvIudQU2PWUt/+HIknsRGTEVf9AxqeszQ
oG0F0FiI+e3D6+B89laIldga1AUzNKZtQkIAqfPLWT2UsBb+Fx4/bi5O0ZqnCeBeG/tyMK9FLjKD+uXz
+uzu62pYL+/HnITrjAhgOVMJOHYwn8TblvFYrIUXBR68BLDhvkzck4A8NgdkzC1ghQcvAfymnowsi4Cs
qiovUqfILGCLB53jYQEugNlCJnFIoBWQgP4kvGMIdQxJDYfpZvg2xTMIvh+DriSbf8e7PaM6dVFMVats
AAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAFXRFWHRUaXRsZQBHYXVnZTtD
aXJjdWxhcjvZ1LzUAAACwUlEQVRYR8WVP0hWURiHlRocbAhyFgRXEUdpCHRpKBrCVSHCNRFcCpSQRocQ
BBGCIBzEycXRtTmkwEnENmmTbwhvz/Nx3su5t+OfltvwwLm/8573995zzn3vQFVV/5Wi2CVFsUuKYpcU
xS4pil1SFLtkYH19/a6MwwJswhGcQi/hWM05Y4wt5fiLotjiCXyEr7ALSzADozCUcKzmnDHGusa1pZw1
RTExBh/AN1uFidIWljA2rXGtOczVzt+n8fDs/WEfxr7NAWzBVNIHYRbW4ABO4DLhWM05Y4w1z1TKYS5z
Nvyk8ZAWPYdDWPY5MQf7UN2RNzCY7chyymnuhmfjAazSwEUSaDwGG9CDklGJL3Dvx6vZt7ABY6mIxZS7
sRP1ADwntyrefBL2IE9+BjswDxMwnHCs9ho0fwdVYg8ms53Qo74TeQFeli0SxJvn5lewDdOxrdeB2RRs
wxXkRcROeCf0ahTg5+KNjQvntof5Bay0jW4DwxW4SAXIhroeyav/iUYBfrOrGMWFizP3zVeYewmPUmyR
dgGSioid6MGcOvF+onr2C7Br2Tg8Rz+f/LZvpwUP4Aws5j7UxkFunIOpxxG7sA+DxNsn9Bx3sa1z12AM
/YbD3AvXP3Pm5QVU8A0eJ60mN83BcBrOUgEyq84aO+aCA/v3kiKGNpIoYCeSaJD4DBZxBZ+gPpaILYHp
TlbAmhprbNubDrwQM4qY2s2igPlIoEHiIZyDRchv+AlrMBLxbTCdzwo4UCPefnDkwD/ZqCKmttQooO79
zOc8hSggp/9mJTCdyAo4USPeH9ipA3+nQ4qY2tejgOFIwHybX6BpPDs+jvg2mA5nBVyqEe9ftOegLuA6
mG/zHe5cQAni6wJc/C+4xjNv63G52vqNFKu7DRaOgEUcJ268hDdRFLukKHZJUeySotglRbFLimJ3VAN/
AAb7J20pr6P2AAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAVdEVYdFRpdGxlAEdhdWdlO0NpcmN1bGFyO9nUvNQA
AALBSURBVFhHxZU/SFZRGIeVGhxsCHIWBFcRR2kIdGkoGsJVIcI1EVwKlJBGhxAEEYIgHMTJxdG1OaTA
ScQ2aZNvCG/P83Hey7m345+W2/DAub/znvf33nPOfe9AVVX/laLYJUWxS4pilxTFLimKXVIUu2RgfX39
rozDAmzCEZxCL+FYzTljjC3l+Iui2OIJfISvsAtLMAOjMJRwrOacMca6xrWlnDVFMTEGH8A3W4WJ0haW
MDatca05zNXO36fx8Oz9YR/Gvs0BbMFU0gdhFtbgAE7gMuFYzTljjDXPVMphLnM2/KTxkBY9h0NY9jkx
B/tQ3ZE3MJjtyHLKae6GZ+MBrNLARRJoPAYb0IOSUYkvcO/Hq9m3sAFjqYjFlLuxE/UAPCe3Kt58EvYg
T34GOzAPEzCccKz2GjR/B1ViDyazndCjvhN5AV6WLRLEm+fmV7AN07Gt14HZFGzDFeRFxE54J/RqFODn
4o2NC+e2h/kFrLSNbgPDFbhIBciGuh7Jq/+JRgF+s6sYxYWLM/fNV5h7CY9SbJF2AZKKiJ3owZw68X6i
evYLsGvZODxHP5/8tm+nBQ/gDCzmPtTGQW6cg6nHEbuwD4PE2yf0HHexrXPXYAz9hsPcC9c/c+blBVTw
DR4nrSY3zcFwGs5SATKrzho75oID+/eSIoY2kihgJ5JokPgMFnEFn6A+logtgelOVsCaGmts25sOvBAz
ipjazaKA+UigQeIhnINFyG/4CWswEvFtMJ3PCjhQI95+cOTAP9moIqa21Cig7v3M5zyFKCCn/2YlMJ3I
CjhRI94f2KkDf6dDipja16OA4UjAfJtfoGk8Oz6O+DaYDmcFXKoR71+056Au4DqYb/Md7lxACeLrAlz8
L7jGM2/rcbna+o0Uq7sNFo6ARRwnbryEN1EUu6QodklR7JKi2CVFsUuKYndUA38ABvsnbSmvo/YAAAAA
SUVORK5CYII=
</value>
</data>
</root>

View File

@ -1,9 +1,12 @@
Imports System.Data.SqlClient
Imports System.Data.Odbc
Imports Oracle.ManagedDataAccess.Client
Imports Microsoft.Win32
Public Class frmConnection
Private Const PROVIDER_ORACLE = "ORACLE"
Private Const PROVIDER_MSSQL = "MS-SQL"
Private Const PROVIDER_ODBC = "ODBC"
Private Sub TBDD_CONNECTIONBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
Validate()
@ -13,6 +16,17 @@ Public Class frmConnection
Private Sub frmConnection_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Load_Connections()
Dim oSystemConnections = LoadOdbcConnections(Registry.LocalMachine)
Dim oUserConnections = LoadOdbcConnections(Registry.CurrentUser)
For Each oDSN In oSystemConnections
ODBCServerTextBox.Items.Add(oDSN)
Next
For Each oDSN In oUserConnections
ODBCServerTextBox.Items.Add(oDSN)
Next
End Sub
Private Sub Load_Connections()
@ -25,6 +39,30 @@ Public Class frmConnection
End Try
End Sub
Private Function LoadOdbcConnections(Root As RegistryKey) As List(Of String)
Dim oConnections As New List(Of String)
Try
Dim oPath As String = "SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources"
Dim oKey As RegistryKey = Root.OpenSubKey(oPath, False)
If oKey Is Nothing Then
Return oConnections
End If
For Each oName In oKey.GetValueNames
oConnections.Add(oName)
Next
Return oConnections
Catch ex As Exception
Logger.Error(ex)
Return oConnections
End Try
End Function
Private Sub TBDD_CONNECTIONBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBDD_CONNECTIONBindingSource.AddingNew
MyDataset.TBDD_CONNECTION.AKTIVColumn.DefaultValue = True
MyDataset.TBDD_CONNECTION.ERSTELLTWERColumn.DefaultValue = Environment.UserName
@ -45,42 +83,43 @@ Public Class frmConnection
oConnectionString = $"Server={Server};Database={Database};User Id={UserId};Password={Password};"
End If
Cursor = Cursors.WaitCursor
Using oConnection As New SqlConnection(oConnectionString)
Try
oConnection.Open()
MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text)
Catch ex As Exception
Logger.Error(ex)
MsgBox("Fehler beim Verbindungsaufbau: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text)
Finally
Cursor = Cursors.Default
MsgBox("Fehler beim Verbindungsaufbau (MSSQL): " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text)
End Try
End Using
Case PROVIDER_ORACLE
Try
Dim conn As New OracleConnectionStringBuilder
oConnectionString = $"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={Server})(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={Database})));User Id={UserId};Password={Password};"
'conn.DataSource = DATENBANKComboBox.Text
'conn.UserID = txtUserId.Text
'conn.Password = txtPassword.Text
'conn.PersistSecurityInfo = True
'conn.ConnectionTimeout = 120
'oConnectionString = conn.ConnectionString
Using connection As New OracleConnection(oConnectionString)
connection.Open()
End Using
MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text)
End Using
Catch ex As Exception
Logger.Error(ex)
MsgBox(ex.Message & vbNewLine & vbNewLine & oConnectionString, MsgBoxStyle.Critical, "Fehler bei Verbindungsaufbau Oracle:")
MsgBox("Fehler beim Verbindungsaufbau (ORACLE): " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
End Try
Case PROVIDER_ODBC
Try
oConnectionString = $"DSN={Server};UID={UserId};PWD={Password}"
Using oConnection As New OdbcConnection(oConnectionString)
oConnection.Open()
MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text)
End Using
Catch ex As Exception
Logger.Error(ex)
MsgBox("Fehler beim Verbindungsaufbau (ODBC): " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
End Try
End Select
End Sub
Private Sub DATENBANKComboBox_Click(sender As Object, e As EventArgs) Handles DATENBANKComboBox.Click
@ -178,4 +217,23 @@ Public Class frmConnection
Private Sub BarButtonItem1_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
ConnectionTest(SQL_PROVIDERComboBox.Text, chkWinAuth.Checked, SERVERTextBox.Text, USERNAMETextBox.Text, PASSWORDTextBox.Text, DATENBANKComboBox.Text)
End Sub
Private Sub SQL_PROVIDERComboBox_SelectedValueChanged(sender As Object, e As EventArgs) Handles SQL_PROVIDERComboBox.SelectedValueChanged
If SQL_PROVIDERComboBox.Text = PROVIDER_ODBC Then
DATENBANKComboBox.Enabled = False
ODBCServerTextBox.Enabled = True
chkWinAuth.Enabled = False
Else
DATENBANKComboBox.Enabled = True
ODBCServerTextBox.Enabled = False
chkWinAuth.Enabled = True
End If
End Sub
Private Sub ODBCServerTextBox_SelectedValueChanged(sender As Object, e As EventArgs) Handles ODBCServerTextBox.SelectedValueChanged
If ODBCServerTextBox.Text <> String.Empty Then
SERVERTextBox.Text = ODBCServerTextBox.Text
BEZEICHNUNGTextBox.Text = ODBCServerTextBox.Text
End If
End Sub
End Class

View File

@ -46,7 +46,7 @@ Public Class frmLicense
Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text, "#DigitalData35452!#")
Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_DDCBSEARCHER = '" & result & "' WHERE GUID = {0}", CLIENT_ID)
If clsDatabase.Execute_non_Query(sql) = True Then
If Database.ExecuteNonQuery(sql) = True Then
Refresh_Licence(True)
End If

View File

@ -93,7 +93,7 @@ Public Class frmResultDoc
Private Function DoLoadSearches() As List(Of DocSearch)
Dim oMatchingIds = String.Join(",", Current_MatchingProfiles.Select(Function(p) p.Guid).ToArray())
Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX"
Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL)
Dim oSearchesDataTable = Database.GetDatatable(oSQL)
Dim oDocSearches As New List(Of DocSearch)
Dim oCounter As Integer = 0
@ -106,7 +106,7 @@ Public Class frmResultDoc
oSQL = oRow.Item("SQL_COMMAND")
oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId)
Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = Database.GetDatatable(oSQL)
oDocSearches.Add(New DocSearch() With {
.DataTable = oDatatable,
.ProfileId = oProfileId,
@ -515,7 +515,7 @@ Public Class frmResultDoc
Dim oDatatable As DataTable
oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID)
oDatatable = clsDatabase.Return_Datatable(oCommand)
oDatatable = Database.GetDatatable(oCommand)
RefreshTabDoc(oProfID, oDatatable, oTabIndex, oTabTitle)
Catch ex As Exception
@ -539,7 +539,7 @@ Public Class frmResultDoc
Dim oDatatable As DataTable
oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID)
oDatatable = clsDatabase.Return_Datatable(oCommand)
oDatatable = Database.GetDatatable(oCommand)
RefreshTabDoc(oProfileID, oDatatable, oTabIndex, oTabCaption)
Catch ex As Exception

View File

@ -152,7 +152,7 @@ Public Class frmResultSQL
Private Function DoLoadSearches() As List(Of SQLSearch)
Dim oMatchingIds = String.Join(",", Current_MatchingProfiles.Select(Function(p) p.Guid).ToArray())
Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX"
Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL)
Dim oSearchesDataTable = Database.GetDatatable(oSQL)
Dim oSearches As New List(Of SQLSearch)
Dim oCounter As Integer = 0
@ -165,7 +165,7 @@ Public Class frmResultSQL
oSQL = oRow.Item("SQL_COMMAND")
oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId)
Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = Database.GetDatatable(oSQL)
oSearches.Add(New SQLSearch() With {
.DataTable = oDatatable,
.ProfileId = oProfileId,
@ -211,7 +211,7 @@ Public Class frmResultSQL
Dim oDatatable As DataTable
oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID)
oDatatable = clsDatabase.Return_Datatable(oCommand)
oDatatable = Database.GetDatatable(oCommand)
RefreshTabData(oProfID, oDatatable, oTabIndex, oTabTitle)

View File

@ -43,7 +43,7 @@ Public NotInheritable Class frmSplash
Worker.ReportProgress(CalcProgress(2), "Initializing Database")
Init.InitBasics()
If Init.InitDatabase() = True Then
If Init.InitDatabase_New() = True Then
Thread.Sleep(500)

View File

@ -30,7 +30,7 @@ Public Class frmStart
frmConfig_Basic.ShowDialog()
End If
If clsDatabase.DB_DEFAULT_INITIALIZED = True Then
If Database.DBInitialized = True Then
If ERROR_INIT <> "" Then
If ERROR_INIT = "NO CLIENT" Then
MsgBox("You are not related to a client!" & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
@ -66,7 +66,7 @@ Public Class frmStart
End If
Try
Dim sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Clipboard-Watcher')"
clsDatabase.Execute_non_Query(sql, True)
Database.ExecuteNonQuery(sql, True)
ClassWindowLocation.SaveFormLocationSize(Me, "")
My.Settings.Save()
Catch ex As Exception
@ -150,8 +150,8 @@ Public Class frmStart
Dim oResultDocs As Integer = 0
Dim oResultData As Integer = 0
Dim oDataSearches As DataTable = clsDatabase.Return_Datatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = {oProfile.Guid}")
Dim oDocSearches As DataTable = clsDatabase.Return_Datatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = {oProfile.Guid}")
Dim oDataSearches As DataTable = Database.GetDatatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = {oProfile.Guid}")
Dim oDocSearches As DataTable = Database.GetDatatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = {oProfile.Guid}")
For Each oRow As DataRow In oDataSearches.Rows
Try
@ -162,7 +162,7 @@ Public Class frmStart
End If
oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid)
oResultData += ClassDatabase.Execute_Scalar(oDataSQL, MyConnectionString)
oResultData += Database.NewExecuteScalar(oDataSQL)
Catch ex As Exception
Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL)
oInvalidDataSQL = True
@ -178,7 +178,7 @@ Public Class frmStart
End If
oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid)
oResultDocs += ClassDatabase.Execute_Scalar(oDataSQL, MyConnectionString)
oResultDocs += Database.NewExecuteScalar(oDataSQL)
Catch ex As Exception
oInvalidDocumentSQL = True
Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL)

View File

@ -1,9 +1,11 @@
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Module modCurrent
Public LogConfig As LogConfig
Public Logger As Logger
Public Database As MSSQLServer
Public ConfigManager As ConfigManager(Of ClassConfig)