Mit diesem Tipp lässt sich der physische name einer SQL-Datenbank schnell ermitteln. Hier die Funktion: Servername und Datenbankname als Parameter: ''' <summary> ''' SQL-Abfrage, um den physischen Dateinamen zu erhalten ''' </summary> ''' <param name="serverName">der ServerName</param> ''' <param name="DatabaseName">der DataBase-Name</param> ''' <returns>Tuple: Item1= Pfad, Item2=Datenbank-Name (mdf)</returns> Public Function GetDatabaseFilePath(serverName As String, DatabaseName As String) _ As Tuple(Of String, String) Dim temp As Tuple(Of String, String) Dim connectionString As String _ = "Data Source=" + serverName + ";Initial Catalog=master;Integrated Security=True" Dim filePath As String = "" ' sys.master_files enthält Informationen zu allen Datenbankdateien Dim query As String = "SELECT physical_name FROM sys.master_files" _ + " WHERE database_id = DB_ID('" & DatabaseName & "') AND type_desc = 'ROWS'" Using connection As New SqlConnection(connectionString) Using command As New SqlCommand(query, connection) Try connection.Open() ' Die Abfrage gibt den Dateipfad als Zeichenfolge zurück Dim result As Object = command.ExecuteScalar() If result IsNot Nothing Then filePath = result.ToString() End If Catch ex As Exception ' Fehlerbehandlung Debug.Print("Fehler beim Ermitteln des Dateipfads: " & ex.Message) End Try End Using End Using temp = New Tuple(Of String, String)(GetPath(filePath), GetName(filePath)) Return temp End Function Beispielaufruf: Dim dbPath As String = GetDatabaseFilePath("DeinServerName", "DeinDatabaseName").Item1 Dim dbName As String= GetDatabaseFilePath("DeinServerName", "DeinDatabaseName").Item2 Und jetzt noch die beiden Hilfsfunktionen: Public Function GetPath(Full As String) As String For i As Integer = Full.Length - 1 To 0 Step -1 ' Find the rightmost or /, which should be cut off the file part If Full.Substring(i, 1) = "" OrElse Full.Substring(i, 1) = "/" Then Return Full.Substring(0, i) + "" End If Next Return "" End Function Public Function GetName(Full As String) As String ' If it's has path it gets how long it only the path is Dim Start As Integer = GetPath(Full).Length ' take of the path and the extension Return RemoveExtension(Full.Substring(Start)) End Function Dieser Tipp wurde bereits 893 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv 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. |
Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats Microsys Kramer Datum und Uhrzeit der letzten Anmeldung eines Benutzers ermitteln Dieser Tipp zeigt das Datum und die Uhrzeit der letzten Anmeldung an Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
|
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. |
|||||||||||||||||


Physischen Namen einer SQL-Datenbank ermitteln


