我沒有得到成功使用此命令命令「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