237 lines
12 KiB
VB.net
237 lines
12 KiB
VB.net
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 = ClassDatabase.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 SqlClient.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 SqlClient.SqlConnection
|
|
Dim SQLcommand As SqlClient.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 SqlClient.SqlDataAdapter = New SqlClient.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 SqlClient.SqlConnection
|
|
Dim oSQLcommand As SqlClient.SqlCommand
|
|
oSQLconnect.ConnectionString = oConString
|
|
oSQLconnect.Open()
|
|
oSQLcommand = oSQLconnect.CreateCommand
|
|
oSQLcommand.CommandText = SQLCommand
|
|
|
|
Dim oSQLAdapter As SqlClient.SqlDataAdapter = New SqlClient.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 SqlClient.SqlConnection
|
|
Dim SQLcommand As SqlClient.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 SqlClient.SqlConnection
|
|
Dim SQLcommand As SqlClient.SqlCommand
|
|
SQLconnect.ConnectionString = ConString
|
|
LOGGER.Debug(">>> Execute_non_Query: " & cmdscalar)
|
|
SQLconnect.Open()
|
|
SQLcommand = SQLconnect.CreateCommand
|
|
'Update Last Created Record in Foo
|
|
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
|
|
'Update Last Created Record in Foo
|
|
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
|
|
'Update Last Created Record in Foo
|
|
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
|