Imports Oracle.ManagedDataAccess.Client Public Class frmConnection Dim formloaded As Boolean = False Private Sub cmbDbArt_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbDbArt.SelectedIndexChanged If Me.cmbDbArt.SelectedIndex <> -1 And formloaded = True Then Chckwin_aut.Visible = False chkOR_ohne_TNS.Visible = False Select Case Me.cmbDbArt.SelectedItem Case "MS-SQL" Me.txtDatasource1.Visible = True Me.txtUserId.Visible = True Me.txtPassword.Visible = True Me.lblDataSource.Text = "SQL-Server (IP oder Name):" Me.lblDataSource.Visible = True Me.txtDatasource1.ReadOnly = False Me.txtDatasource1.Text = "" Me.btnMdbLocation.Visible = False Me.btnMdbLöschen.Visible = False Me.lblUserId.Visible = True Me.lblUserId.Text = "UserId:" Me.lblPassword.Visible = True Me.lblPassword.Text = "Passwort:" Me.lblDatasource2.Visible = True Me.lblDatasource2.Text = "Datenbank:" Me.txtDatasource2.Visible = True Chckwin_aut.Visible = True Me.btnCheck_Con.Visible = True Case "ORACLE" Me.txtDatasource1.Visible = True Me.txtUserId.Visible = True Me.txtPassword.Visible = True Me.lblDataSource.Text = "Host (IP-Adresse):" Me.txtDatasource1.ReadOnly = False Me.txtDatasource1.BackColor = System.Drawing.SystemColors.Window Me.txtDatasource1.Text = "" Me.btnMdbLocation.Visible = False Me.btnMdbLöschen.Visible = False Me.lblUserId.Text = "UserId:" Me.lblPassword.Text = "Passwort:" Me.lblDatasource2.Text = "SID:" Me.lblDatasource2.Visible = True Me.txtDatasource2.Visible = True chkOR_ohne_TNS.Visible = True Me.btnCheck_Con.Visible = True MsgBox("Bitte beachten Sie das Auswahllisten aktuell nur mit MS-SQl möglich sind", MsgBoxStyle.Information) Case "ODBC" Me.lblDataSource.Text = "DSN*:" Me.txtDatasource1.ReadOnly = False Me.txtDataSource1.BackColor = System.Drawing.SystemColors.Window Me.txtDataSource1.Text = "" Me.btnMdbLocation.Visible = False Me.btnMdbLöschen.Visible = False Me.lblUserId.Text = "UserId:" Me.lblPassword.Text = "Passwort:" Me.lblDatasource2.Visible = False Me.txtDatasource2.Visible = False MsgBox("Bitte beachten Sie das Auswahllisten aktuell nur mit MS-SQl möglich sind", MsgBoxStyle.Information) Case "Ole (Access)" Me.lblDataSource.Text = ".mdb Datei*:" Me.txtDatasource1.ReadOnly = True Me.txtDatasource1.BackColor = System.Drawing.SystemColors.Info Me.txtDatasource1.Text = "" Me.btnMdbLocation.Visible = True Me.btnMdbLöschen.Visible = True Me.lblUserId.Text = "UserId:" Me.lblPassword.Text = "Passwort:" Me.lblDatasource2.Visible = False Me.txtDatasource2.Visible = False End Select Else Me.txtDatasource1.Visible = False Me.txtUserId.Visible = False Me.txtPassword.Visible = False End If End Sub Private Sub btnCheck_Con_Click(sender As System.Object, e As System.EventArgs) Handles btnCheck_Con.Click Try If Me.cmbDbArt.SelectedIndex <> -1 Then Dim connstr As String Select Case Me.cmbDbArt.SelectedItem Case "MS-SQL" Dim con As String If Chckwin_aut.Checked Then con = "Data Source=" & Me.txtDataSource1.Text & ";Initial Catalog=" & Me.txtDatasource2.Text & ";Trusted_Connection=True;" Else con = "Server=" & Me.txtDataSource1.Text & ";Database=" & Me.txtDatasource2.Text & ";User Id=" & Me.txtUserId.Text & ";Password=" & Me.txtPassword.Text & ";" End If Dim connection As New SqlClient.SqlConnection(con) connstr = con connection.Open() Cursor = Cursors.Default MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, "Erfolg:") My.Settings.Save() Case "ORACLE" Try Dim conn As New OracleConnectionStringBuilder If chkOR_ohne_TNS.Checked Then connstr = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & txtDatasource1.Text & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & _ txtDatasource2.Text & ")));User Id=" & txtUserId.Text & ";Password=" & txtPassword.Text & ";" Else conn.DataSource = txtDatasource2.Text conn.UserID = txtUserId.Text conn.Password = txtPassword.Text conn.PersistSecurityInfo = True conn.ConnectionTimeout = 120 connstr = conn.ConnectionString End If Dim connection As New OracleConnection(connstr) connection.Open() MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, "Erfolg:") Catch ex As Exception MsgBox(ex.Message & vbNewLine & vbNewLine & connstr, MsgBoxStyle.Critical, "Fehler bei Verbindungsaufbau Oracle:") End Try Case Else MsgBox("Test zur Zeit nicht möglich", MsgBoxStyle.Information, "Achtung:") End Select Me.TBPM_CONNECTIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_CONNECTION) End If Catch ex As Exception Cursor = Cursors.Default Dim template As String = ex.Message MsgBox("Fehler beim Verbindungsaufbau: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation) End Try End Sub Private Sub TBPM_CONNECTIONBindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) Handles TBPM_CONNECTIONBindingNavigatorSaveItem.Click Try Me.TBPM_CONNECTIONBindingSource.EndEdit() If DD_DMSLiteDataSet.TBPM_CONNECTION.GetChanges Is Nothing = False Then Me.GEANDERTWERTextBox.Text = Environment.UserName Me.TBPM_CONNECTIONBindingSource.EndEdit() Me.TBPM_CONNECTIONTableAdapter.Update(DD_DMSLiteDataSet.TBPM_CONNECTION) MsgBox("Änderungen wurden erfolgreich gespeichert!", MsgBoxStyle.Information) End If Catch ex As Exception MsgBox("Fehler beim Speichern: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation) End Try End Sub Private Sub frmConnection_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Try Me.TBPM_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString load_connections() Catch ex As Exception MsgBox("Fehler bei Laden der Grunddaten: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub load_connections() Try Me.TBPM_CONNECTIONTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_CONNECTION) TBPM_CONNECTIONDataGridView.AutoResizeColumns() Catch ex As Exception MsgBox("Fehler bei Connections laden: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub Chckwin_aut_CheckedChanged(sender As Object, e As EventArgs) Handles Chckwin_aut.CheckedChanged If Chckwin_aut.Checked Then Me.txtUserId.Enabled = False Me.txtPassword.Enabled = False Me.txtUserId.Text = "WINAUTH" Me.txtPassword.Text = "" Else Me.txtUserId.Enabled = True Me.txtPassword.Enabled = True Me.txtUserId.Text = "" Me.txtPassword.Text = "" End If End Sub Private Sub frmConnection_Shown(sender As Object, e As EventArgs) Handles Me.Shown formloaded = True End Sub Private Sub TBPM_CONNECTIONBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBPM_CONNECTIONBindingSource.AddingNew DD_DMSLiteDataSet.TBPM_CONNECTION.ERSTELLTWERColumn.DefaultValue = Environment.UserName End Sub Private Sub TBPM_CONNECTIONBindingSource_PositionChanged(sender As Object, e As EventArgs) Handles TBPM_CONNECTIONBindingSource.PositionChanged End Sub Private Sub chkOR_ohne_TNS_CheckedChanged(sender As Object, e As EventArgs) Handles chkOR_ohne_TNS.CheckedChanged If chkOR_ohne_TNS.Checked Then Me.lblDatasource2.Visible = True Me.txtDatasource2.Visible = True Else Me.lblDatasource2.Visible = False Me.txtDatasource2.Visible = False Me.txtDatasource2.Text = "" End If End Sub Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click TBPM_CONNECTIONBindingSource.AddNew() Me.grpbx_ConnAdd.Visible = True End Sub Private Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click Try Select Case cmbDbArt.Text Case "ORACLE" Case "MS-SQL" If Me.txtUserId.Text = "WINAUTH" Then TBPM_CONNECTIONTableAdapter.CmdInsert(txtBezeichnung.Text, cmbDbArt.Text, txtDatasource1.Text, txtDatasource2.Text, "WINAUTH", "", "", True, Environment.UserName) Else TBPM_CONNECTIONTableAdapter.CmdInsert(txtBezeichnung.Text, cmbDbArt.Text, txtDatasource1.Text, txtDatasource2.Text, txtUserId.Text, txtPassword.Text, "", True, Environment.UserName) End If End Select Catch ex As Exception MsgBox("Fehler bei Insert Connection: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try load_connections() End Sub Private Sub TBPM_CONNECTIONDataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles TBPM_CONNECTIONDataGridView.SelectionChanged grpbx_ConnAdd.Visible = False End Sub Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click Try Dim i, ID As Integer i = TBPM_CONNECTIONDataGridView.CurrentRow.Index ID = TBPM_CONNECTIONDataGridView.Item(0, i).Value If ID > 0 Then Dim result As MsgBoxResult = MsgBox("Wollen Sie die Connection wirklich löschen?", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") ' wenn Löschen ja If result = MsgBoxResult.Yes Then TBPM_CONNECTIONTableAdapter.Delete(ID) load_connections() End If End If Catch ex As Exception MsgBox("Fehler bei Löschen Connection: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub End Class