所以,我正在玩BCP来更好地了解它,并遇到了一个我无法搞清楚的问题。我收到一个错误,“命令的语法不正确”。
我已经测试了正确构建的完整文件路径,以及正确完成的select查询。有什么想法吗?
我使用的代码是:
DECLARE @fileName varchar(128)
DECLARE @filePath varchar(128)
DECLARE @completeFilePath varchar(128)
DECLARE @sqlCmd varchar(4000)
DECLARE @BCPSwitches VARCHAR(64)
SET @filePath = 'xxxxxx'
SELECT TOP 5 [EMP]
,[SSNO]
,[NAME]
,[STREET]
INTO #ParticipantIdentifiers
FROM xxxxxxxxx
SET @BCPSwitches = '-w -T -t |'
SET @fileName = 'xxxxx.txt'
SET @completeFilePath = @filePath + @fileName
SET @sqlCmd = 'bcp "SELECT * FROM #ParticipantIdentifiers" queryout "'+ @completeFilePath + '" ' + @BCPSwitches
EXEC DemoDB..xp_cmdshell @sqlCmd
答案 0 :(得分:1)
我认为终结者“|”之后-t(在@BCPSwitches中)也需要用引号括起来,因为shell可能会将其解释为输出管道。