Sql server - supprimer un fichier

4/5 (2 avis)

Snippet vu 11 020 fois - Téléchargée 28 fois

Contenu du snippet

A partir de la source déjà postée :
- http://www.sqlfr.com/code.aspx?ID=32406

J'ai ajouté une partie supplémentaire permettant de supprimer n'importe quel fichier où qu'il soit.
En effet, la précédente source fonctionne bien si le fichier est bien présent sur le disque sinon, il renvoi une erreur.
J'ai donc ajouté dans cette nouvelle variante le test de présence (utilisant une SP système : master.dbo.xp_fileexist).

Source / Exemple :


declare @result int
declare @fichier as varchar(500)

SET @fichier = '\\MonServeurDistant\MonPartage\MonFichier.ext'

exec master.dbo.xp_fileexist @fichier , @result OUTPUT
IF (@result=1)
BEGIN
 SET @fichier = 'DEL "'+ @fichier +'"'
 PRINT @fichier
 EXEC master.dbo.xp_cmdshell @fichier;
END

Conclusion :


De la même façon que la source précédente, 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

Ajouter un commentaire Commentaires
cs_fabrice69
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
11 décembre 2013
5
21 sept. 2005 à 13:22
Merci pour cette remarque.
Ca me confirme dans mon intention de continuer.
Romelard Fabrice.
cs_jimmy69
Messages postés
778
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
1
21 sept. 2005 à 12:38
Salut salut Fab69,

Sympa ton code ...

A chaque portion de code, script que tu déposes...j'en apprends beaucoup ...!Merci

Bonne semaine

Christophe

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.