Sql server - supprimer un fichier dont le nom est stocké dans une base de données

Contenu du snippet

Dans certains cas, on peut avoir besoin de pouvoir par exemple effacer un fichier (imaginons une photographie dont le nom du fichier est stocké dans la base de données).
Voila donc comment pouvoir faire ceci, via une procédure stockée.

Source / Exemple :


DECLARE @NomFichierImage as NVarChar(250)

SELECT @ID = Pers.ID, @NomFichierImage= ISNULL(Pers.NomImage, '') FROM TABLEPersonne Pers WHERE Pers.Login LIKE '%' + @LoginCollab + '%'
IF (@NomFichierImage<>'')
BEGIN
 SET @NomFichierImage = 'DEL "\\NomDuServeur\CheminDuRepertoireDesPhotos\'+ @NomFichierImage +'"'
 PRINT @NomFichierImage
 EXEC master.dbo.xp_cmdshell @NomFichierImage;
END
.....

-- Suite de la procédure de suppression du compte dans la table

Conclusion :


Afin que ceci fonctionne, il faut bien sur que le compte faisant fonctionner SQL Server ait les droits d'écriture sur le répertoire de stockage (SQL Server fonctionnant avec un compte du domaine de préférence).

Bon Coding

Romelard Fabrice

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.