vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück
Rubrik: Datenbanken · ADO.NET Allgemein   |   VB-Versionen: VB202206.10.25
Status einer SQL-Datenbank überprüfen

Es wird eine übergeordnete Funktion ProofTableState gezeigt, die unter Verwendung einiger Hilfsfunktionen den Status einer Datenbank ermittelt und entsprechend darauf reagiert.

Autor:   Dietrich HerrmannBewertung:     [ Jetzt bewerten ]Views:  48 
ohne HomepageSystem:  Win7, Win8, Win10, Win11kein Beispielprojekt 

Es wird eine übergeordnete Funktion ProofTableState gezeigt, die unter Verwendung einiger Hilfsfunktionen den Status einer Datenbank ermittelt und entsprechend darauf reagiert.

Die Hauptfunktion (Server- und Datenbankname müssen bekannt sein):

''' <summary>
''' 	 Prüfen des Datenbank-Status am SQL-Server
''' </summary>
''' <param name="conn">die SQL-Connection</param>
''' <param name="DBName">der Datenbankname</param>
''' <returns>Rückgabe des Status als String</returns>
Public Function ProofTableState(conn As SqlConnection, DBName As String) As String
  Dim sqlStr As String = "SELECT state_desc FROM sys.databases WHERE name='" + DBName + "'"
  Dim st As String
  Dim cmd As New SqlCommand
 
  With conn
    .Open()
    cmd = New SqlCommand(sqlStr, conn)
    st = cmd.ExecuteScalar.ToString
    cmd.Dispose()
    .Close()
  End With
 
  Return st
End Function

Hilfsfunktionen zur Prüfung, Ermittlung des Datanbank-Status:

''' <summary>
''' 	Setzen des Datenbank-Status auf ONLINE
''' </summary>
''' <param name="oConn">die SQL-Connection</param>
''' <param name="DBName">der Datenbankname</param>
''' <returns></returns>
Public Function DB_SetOnline(ByRef oConn As SqlConnection, DBName As String) As Boolean
  Dim sqlStr As String = "ALTER DATABASE [" + DBName + "] SET ONLINE"
  Return ActionWithTable(oConn, DBName, sqlStr, False)
End Function
''' <summary>
''' 	Setzen des Datenbank-Status auf OFFLINE
''' </summary>
''' <param name="oConn">die SQL-Connection</param>
''' <param name="DBName">der Datenbankname</param>
''' <returns></returns>
Public Function DB_SetOffline(ByRef oConn As SqlConnection, DBName As String) As Boolean
  Dim sqlStr As String = "ALTER DATABASE [" + DBName + "] SET OFFLINE WITH ROLLBACK IMMEDIATE"
  Return ActionWithTable(oConn, DBName, sqlStr, False)
End Function
''' <summary>
''' Aktion mit Datentabelle ausführen, bspw. DELETE, TRUNCATE o.a.
''' </summary>
''' <param name="conn">SQL-Verbindung</param>
''' <param name="tblName">Tabellenname</param>
''' <param name="query">Query-String für die Aktion</param>
''' <param name="flag">Message zeigen ja|nein</param>
Public Function ActionWithTable(conn As SqlConnection, tblName As String,
  query As String, Optional flag As Boolean = True) As Boolean
 
  Try
    Dim cmd As New SqlCommand
    With cmd
      .Connection = conn
      .CommandType = CommandType.Text
      .CommandText = query
      If conn.State <> ConnectionState.Open Then conn.Open()
      .ExecuteNonQuery()
      conn.Close()
    End With
 
  Catch ex As System.Exception
    MessageBox.Show(ex.Message.ToString, "FEHLER",
      MessageBoxButtons.OK, MessageBoxIcon.Error)
    Clipboard.SetText(ex.Message.ToString)
    conn.Close()
 
  Finally
    If flag Then
      Dim t As String = "Aktion mit " + tblName + " erfolgreich!"
      MessageBox.Show(t, "ACTION",
        MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    End If
  End Try
 
  Return flag
End Function

Dieser Tipp wurde bereits 48 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel