我正在尝试将文件放入本地计算机上的目录(运行SQL实例的同一台计算机)。我试图删除的表的内容是xml格式。
即。 table = xmlOutFiles,fieldName = xmlContent; fieldName基本上包含varchar(max)数据,这些数据将成为我们需要的xml文件。
当执行bcp命令时,似乎在@dest位置创建文件,size = 0字节,然后从SMSS中运行的进程就在那里等待某事!
我无法对该空文件执行任何操作,例如删除它,除非我使用任务管理器来终止进程“bcp.exe”。
我尝试了多种bcp标志组合等。
从系统提示符运行bcp命令,替换“@vars”似乎有效,但我真的需要它成为我的SQL Trigger脚本和函数的一部分。
协助赞赏!!!!
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>