2009-04-15 10 views
0

Le code suivant fonctionne très bien lorsqu'il est exécuté directement dans le serveur Sql:SQL Server 2005 xp_cmdshell

DECLARE @cmd sysname 
set @cmd = 'dir "C:\A_Projects"' 
EXEC master..xp_cmdshell @cmd 

mais lorsque je tente de créer une procédure stockée comme suit:

create procedure zz 
(@cmdin varchar(255)) 
EXEC master..xp_cmdshell @cmdin 

Je reçois un message

'Syntaxe incorrecte près du mot clé' EXEC '.

Pourquoi?

Répondre

1
create procedure zz (@cmdin varchar(255)) 
AS --missed this 
EXEC master..xp_cmdshell @cmdin