7
votes

Utilisation de T-SQL pour interroger un dossier système de fichiers

est-il possible d'interroger un dossier dans TSQL, de SQL Management Studio et de renvoyer une liste de noms de fichiers? Si oui, comment?


0 commentaires

3 Réponses :


13
votes

Vous pouvez utiliser xp_cmdshell.

Exemple: P>

EXECUTE master.dbo.xp_cmdshell 'DIR "C:\YourDirectory\" /A-D /B'


2 commentaires

Je serais en désaccord. Ceci est comme si vous utilisez la ligne de commande pour apporter des informations mais ne pas interroger NTFS. Et vous ne pouvez utiliser aucune clause où indiquer uniquement les derniers fichiers (filtre de date modifié). Bonne tentative si ...


@FAIZ La requête ci-dessus fait exactement ce que OP a demandé cependant.



6
votes

L'intégration CLR est également une option, si vous n'êtes pas à l'aise avec l'exécution de XP_CMDSHELL.

Voir MSDN .


1 commentaires

+1 Parce que j'aime personnellement les fonctionnalités offertes par ce mécanisme - elles m'ont été très utiles pour tous les types de tâches obtus dans TSQL. Et +10 à Microsoft pour créer cette fonctionnalité d'intégration .NET dans SQL Server.



0
votes

ans plus tard, il existe un DMF appelé dm_os_enumérer_filesystem qui peut le faire. Ceci a été ajouté avec SQL 2017.

select * from sys.dm_os_enumerate_filesystem('c:\','*.*')


0 commentaires