请教大神.
我用下面这段执行是成功的,数据可以正常写入
exec master..xp_cmdshell 'bcp AppStoreAnalysis.dbo.ActionLog in D:\Log\log.txt -f D:\Log\fmt\myLogFormatFiles.Xml -T'
可是改成proc,运行就挂了.
错误提示:未提供用户名,请使用 -U 提供用户名,或者使用 -T 指定可信连接
proc:
ALTER PROCEDURE [dbo].[sp_bcp_tb_log]
@filePath varchar(50),
@fmtPath varchar(50)
AS
BEGIN
declare @temp varchar(400);
set @temp = 'bcp AppStoreAnalysis.dbo.ActionLog in '+@filePath+' -f '+ @fmtPath +'-T';
exec master..xp_cmdshell @temp;
END
exec sp_bcp_tb_log 'D:\Log\log.txt','D:\Log\fmt\myLogFormatFiles.Xml'
大神帮看下
------解决思路----------------------
那你就试试带用户名密码的方式
EXEC master..xp_cmdshell 'bcp AppStoreAnalysis.dbo.ActionLog in "'+@filePath+'" -f '+ @fmtPath +' -c -S"服务器" -U"用户名" -P"密码" -t"," -T'
------解决思路----------------------
导入数据可以用 bluk insert 代替 bcp 这样你就不用通过 master..xp_cmdshell 调用外部命令了。