我正在尝试运行下面的脚本,但它返回null。当我运行DOS命令时,它会正常生成文件。
DECLARE @str VARCHAR(1000)
SET @str = 'bcp "Select * FROM WDG.dbo.Facilidade" queryout "w:\xyzTable.txt" -S "WDG-NOTE24\MSSQLWDG" -T -c -t ; '
EXEC xp_cmdshell @str
GO
我需要为';'返回一个单独的txt文件查询数据
罐
答案 0 :(得分:0)
鉴于您在评论中的错误,我将按照此链接进行操作,正如我之前所描述的那样,您的文件夹存在访问问题。
请记住,它应该提供给您的Sql服务帐户用户,而不是您的自己
答案 1 :(得分:0)
我设法让它工作,我发现下面的命令测试它是否可以访问该目录。
由于某些原因,我不接受旧的路径,所以我在另一个磁盘上创建了另一个并且它有效。
EXEC master..xp_cmdshell 'DIR C:\sql'
非常感谢您的帮助。
答案 2 :(得分:0)
我有一个问题,在我的导入文件的末尾,它带有文本'--END--',当批量插入将要呈现时,它会显示意外的结束消息。
我可以输入一些参数,以便在找到文本时完成导入。
declare @sql varchar(max)
set @sql = 'BULK INSERT Temp_Facilite FROM ''' + @@FullPath + '''WITH (FIRSTROW = 2,CODEPAGE = ''RAW'',FIELDTERMINATOR = '';'',ROWTERMINATOR = ''0x0A'',MAXERRORS = 3, KEEPNULLS );'
exec (@sql)