2016-09-09 2 views
0

Je développe un logiciel utilisant une base de données MSSQL pour stocker les données. Dans le programme j'ai implémenté une fonction pour créer une sauvegarde avec SMO.Utiliser SMO pour localiser le chemin de sauvegarde correct

Maintenant j'essaye d'implémenter une fonction de restauration. Cela fonctionne sans aucun problème lorsque l'utilisateur doit insérer le chemin manuellement. Mais je veux implémenter un dialogue de sélection de fichier comme celui que SQL Server Management Studio (SSMS) ouvre lors de la sélection d'un support personnalisé (voir sur la capture d'écran). SSMS Select dialog

je l'ai déjà trouvé la classe Microsoft.SqlServer.Management.Smo.Server avec la méthode EnumDirectories, mais il ne retourne que les noms de répertoire et aucun fichier. Quand je confirme la sélection j'ai besoin du chemin dans le format C: \ Directory \ FileName.bak.

Est-il possible de répondre à mes besoins en utilisant SMO?

Répondre

0

Il y a plusieurs mois, j'ai trouvé une solution. Je viens développé un SelectFileDialog personnalisé qui est capable de Connecto au serveur SQL et travailler avec les fonctions SQL suivantes:

Pour la recherche des lecteurs disponibles:

exec xp_fixeddrives 

Pour lire les dossiers et fichiers:

exec xp_dirtree 'PATH', 1, 1 

La variable PATH est remplacée de façon dynamique en fonction du dossier développé par l'utilisateur. Cela fonctionne sans problèmes.