我没有得到成功使用此命令命令“EXEC master..xp_cmdshell”不创建文件
DECLARE @cmd sysname, @var sysname
SET @var = 'Hello world'
SET @cmd = 'echo ' + @var + ' > C:\var_out.txt'
EXEC master..xp_cmdshell @cmd
已经尝试过了几个例子,但没有奏效。 该命令运行但文件根本不会创建
我没有得到成功使用此命令命令“EXEC master..xp_cmdshell”不创建文件
DECLARE @cmd sysname, @var sysname
SET @var = 'Hello world'
SET @cmd = 'echo ' + @var + ' > C:\var_out.txt'
EXEC master..xp_cmdshell @cmd
已经尝试过了几个例子,但没有奏效。 该命令运行但文件根本不会创建
您的SQL Server在哪个帐户下运行?也许它没有足够的权限。如果这是真的,则可以改为使用sp_xp_cmdshell_proxy_account。
但是,我相信你正试图找到你的机器上的文件而不是服务器。而你正在做的是将文件存储到服务器。尝试在本地SQL Server上执行此操作。
这是一个测试,sql是本地的 – msantiago
你在虚拟机上运行它吗?也许链接服务器?你可以检查以下TSQL命令的输出:'EXEC master..xp_cmdshell'hostname''和'EXEC master..xp_cmdshell'dir c:\'' – OzrenTkalcecKrznaric
你必须之前启用一些设置与sp_xp_cmdshell
USE [master]
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
呃......什么?什么设置?另请参阅格式化提示。 – bjb568
执行这个脚本你在找你的机器上或者在SQL框中的文件吗? –
用于xp_cmdshell的帐户(通常是SQL Server服务帐户)是否有权写入该帐户?我猜不是。 – jpw
你期望这个文件可以创建在哪里?它将在SQL SERVER本地驱动器c:\上创建,而不是在客户端PC上。 – valex