当前位置: 代码迷 >> Sql Server >> bcp Proc错误求解
  详细解决方案

bcp Proc错误求解

热度:47   发布时间:2016-04-24 09:02:23.0
bcp Proc异常求解
请教大神.
我用下面这段执行是成功的,数据可以正常写入
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 调用外部命令了。