1

我正在尝试将文件放入本地计算机(运行 SQL 实例的同一台计算机)上的目录中。我要删除的表的内容是 xml 格式。

IE。表 = xmlOutFiles,字段名 = xmlContent;fieldName 本质上包含 varchar(max) 数据,这些数据将成为我们需要的 xml 文件。

当执行 bcp 命令时,它似乎在@dest 位置创建文件,大小 = 0 字节,然后从 SMSS 中运行的进程就坐在那里等待某些东西!

我不能对那个空文件做任何事情,比如删除它,除非我使用任务管理器来终止进程“bcp.exe”。

我尝试了 bcp 标志等的多种组合。

从系统提示符运行 bcp 命令,替换“@vars”似乎可行,但我真的需要它成为我的 SQL 触发器脚本和函数的一部分。

协助表示赞赏!!!!

Select @dest = (Select filename from xmlOutfiles)
Select @cmd = 'bcp "Select xmlContent from ProcureToPay.dbo.XmlOutFiles" queryout '+@dest+' -x -w -T -S' + @@servername

Exec xp_cmdshell @cmd       

我尝试使用 -T 和 -Uusername -Ppassword 参数等执行。

此命令在 DOS 提示符下工作:

bcp "Select xmlContent from Procure.To.Pay.dbo.XmlOutFiles" queryout c:\temp\test.xml -x -w -T S<myservernameHere>
4

0 回答 0