找不到bcp outfile

时间:2017-11-28 13:37:58

标签: sql sql-server bcp

我正在尝试运行下面的脚本,但它返回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文件查询数据

3 个答案:

答案 0 :(得分:0)

鉴于您在评论中的错误,我将按照此链接进行操作,正如我之前所描述的那样,您的文件夹存在访问问题。

请记住,它应该提供给您的Sql服务帐户用户,而不是您的自己

BCP unable to open BCP host access

答案 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)